|
@@ -3485,37 +3485,83 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
|
// }
|
|
|
}
|
|
|
}
|
|
|
- //常用库之间移库
|
|
|
-// else{
|
|
|
-// //查收货库
|
|
|
-// InOutWarehouseTask inOutWarehouseTask1 = inOutWarehouseTaskService.selectOne(new EntityWrapper<InOutWarehouseTask>()
|
|
|
-// .eq("relevance_id", inOutWarehouseTask.getRelevanceId())
|
|
|
-// .eq("in_out_flag", "2")
|
|
|
-// .eq("delete_flag", "0"));
|
|
|
-// //更新所在仓库收购库存
|
|
|
-// ContractInventoryDistribution contractInventoryDistribution1=contractInventoryDistributionService.selectOne(new EntityWrapper<ContractInventoryDistribution>()
|
|
|
-// .eq("comp_id",inOutWarehouseTask1.getCompId()).eq("inventory_type","3").eq("warehouse",inOutWarehouseTask.getWarehouseName())
|
|
|
-// .eq("locus_warehouse",inOutWarehouseTask1.getWarehouseName())
|
|
|
-// .eq("goods_name",warehouseInOutInfo.getGoodsName()));
|
|
|
-// if (contractInventoryDistribution1!=null){
|
|
|
-// contractInventoryDistribution1.setInventory(contractInventoryDistribution1.getInventory()+warehouseInOutInfo.getNetWeight());
|
|
|
-// contractInventoryDistributionService.updateById(contractInventoryDistribution1);
|
|
|
-// }
|
|
|
-// else {
|
|
|
-// ContractInventoryDistribution contractInventoryDistribution2=new ContractInventoryDistribution();
|
|
|
-// contractInventoryDistribution2.setId(IdGenerator.generateUUID());
|
|
|
-// contractInventoryDistribution2.setCompId(inOutWarehouseTask.getCompId());
|
|
|
-// //所属仓库 发货库
|
|
|
-// contractInventoryDistribution2.setWarehouse(inOutWarehouseTask.getWarehouseName());
|
|
|
-// contractInventoryDistribution2.setInventory(warehouseInOutInfo.getNetWeight());
|
|
|
-// //所在仓库 收货
|
|
|
-// contractInventoryDistribution2.setLocusWarehouse(inOutWarehouseTask1.getWarehouseName());
|
|
|
-// contractInventoryDistribution2.setGoodsName(warehouseInOutInfo.getGoodsName());
|
|
|
-// contractInventoryDistribution2.setInventoryType("3");
|
|
|
-// contractInventoryDistributionService.insert(contractInventoryDistribution2);
|
|
|
-//
|
|
|
-// }
|
|
|
-// }
|
|
|
+ //船运移库入库生成汽运报表
|
|
|
+ if ("散船".equals(warehouseInOutInfo.getOutType())||"集装箱船".equals(warehouseInOutInfo.getOutType())) {
|
|
|
+ TranTaskInfo tranTaskInfo = tranTaskInfoService.selectOne(new EntityWrapper<TranTaskInfo>()
|
|
|
+ .eq("contract_no", warehouseInOutInfo.getContractNo())
|
|
|
+ .eq("comp_id", warehouseBaseInfo.getCompId()));
|
|
|
+ if (tranTaskInfo != null) {
|
|
|
+ TranProcessInfo tranProcessInfo = tranProcessInfoService.selectOne(new EntityWrapper<TranProcessInfo>()
|
|
|
+ .eq("info_id", tranTaskInfo.getId()));
|
|
|
+ if (tranProcessInfo != null) {
|
|
|
+ //自运出库时手动加的车
|
|
|
+ if ("1".equals(warehouseInOutInfo.getSelfLoading()) || warehouseInOutInfo.getCarId() == null) {
|
|
|
+ List<TranCarInfo> tranCarInfoList = tranCarInfoService.selectList(new EntityWrapper<TranCarInfo>()
|
|
|
+ .eq("contract_no", warehouseInOutInfo.getContractNo()).eq("fleet_flag", "0").eq("tran_type", "1"));
|
|
|
+ TranCarInfo tranCarInfo = new TranCarInfo();
|
|
|
+ tranCarInfo.setProcessId(tranProcessInfo.getId());
|
|
|
+ tranCarInfo.setTranPrice(String.valueOf(tranProcessInfo.getTranPrice() != null ? tranProcessInfo.getTranPrice() : 0f));
|
|
|
+ tranCarInfo.setInfoId(tranTaskInfo.getId());
|
|
|
+ tranCarInfo.setCompId(warehouseBaseInfo.getCompId());
|
|
|
+ tranCarInfo.setTranType("1");
|
|
|
+ tranCarInfo.setCarNo(warehouseInOutInfo.getCarNo());
|
|
|
+ String tranCarNo = "";
|
|
|
+ if ((tranCarInfoList.size() + 1) < 10) {
|
|
|
+ tranCarNo = "C00" + (tranCarInfoList.size() + 1);
|
|
|
+ } else if (tranCarInfoList.size() + 1 < 100) {
|
|
|
+ tranCarNo = "C0" + (tranCarInfoList.size() + 1);
|
|
|
+ } else {
|
|
|
+ tranCarNo = "C" + (tranCarInfoList.size() + 1);
|
|
|
+ }
|
|
|
+ tranCarInfo.setTranCarNo(tranCarNo);
|
|
|
+ tranCarInfo.setId(IdGenerator.generateUUID());
|
|
|
+ tranCarInfo.setContractNo(warehouseInOutInfo.getContractNo());
|
|
|
+ tranCarInfo.setStatusFlag(StatusEnum.DELIVERED.getFlag());
|
|
|
+ tranCarInfo.setStatus(StatusEnum.DELIVERED.getName());
|
|
|
+ if ("散船".equals(warehouseInOutInfo.getOutType())) {
|
|
|
+ tranCarInfo.setShipName(warehouseInOutInfo.getShipName());
|
|
|
+ tranCarInfo.setShipNo(warehouseInOutInfo.getShipNumber());
|
|
|
+ } else if ("集装箱船".equals(warehouseInOutInfo.getOutType())) {
|
|
|
+ tranCarInfo.setCaseNo(warehouseInOutInfo.getBoxNo());
|
|
|
+ tranCarInfo.setTitleNo(warehouseInOutInfo.getTitleNo());
|
|
|
+ }
|
|
|
+ warehouseInOutInfo.setCarId(tranCarInfo.getId());
|
|
|
+ warehouseInOutInfo.setTranCarNo(tranCarNo);
|
|
|
+ warehouseInOutInfoService.updateById(warehouseInOutInfo);
|
|
|
+ tranCarInfoService.insert(tranCarInfo);
|
|
|
+ }
|
|
|
+ //生成汽运报表
|
|
|
+ TranSettlementReport tranSettlementReport = new TranSettlementReport();
|
|
|
+ tranSettlementReport.setCompId(warehouseBaseInfo.getCompId());
|
|
|
+ tranSettlementReport.setCarId(warehouseInOutInfo.getCarId());
|
|
|
+ tranSettlementReport.setId(IdGenerator.generateUUID());
|
|
|
+ tranSettlementReport.setTranType("船运");
|
|
|
+ tranSettlementReport.setTranTypeKey("3");
|
|
|
+ tranSettlementReport.setShipType(warehouseInOutInfo.getOutType());
|
|
|
+ tranSettlementReport.setTaskNo(tranTaskInfo.getTaskNo());
|
|
|
+ tranSettlementReport.setContractNo(warehouseInOutInfo.getContractNo());
|
|
|
+ tranSettlementReport.setCarNo(warehouseInOutInfo.getCarNo());
|
|
|
+ tranSettlementReport.setTranCarNo(warehouseInOutInfo.getTranCarNo());
|
|
|
+ tranSettlementReport.setStartAddress(inOutWarehouseTask.getWarehouseName());
|
|
|
+ tranSettlementReport.setSettlementWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
+ //运输单价不为空
|
|
|
+ if (tranProcessInfo.getTranPrice() != null) {
|
|
|
+ //应付
|
|
|
+ tranSettlementReport.setAmountIngPayable(Float.valueOf(tranProcessInfo.getTranPrice()) * tranSettlementReport.getSettlementWeight());
|
|
|
+ //未付
|
|
|
+ tranSettlementReport.setAmountNotPayable(Float.valueOf(tranProcessInfo.getTranPrice()) * tranSettlementReport.getSettlementWeight());
|
|
|
+ tranSettlementReport.setTransportPrice(Float.valueOf(tranProcessInfo.getTranPrice()));
|
|
|
+ }
|
|
|
+ tranSettlementReport.setUnloadingImg(warehouseInOutInfo.getAddressUrl());
|
|
|
+ tranSettlementReport.setUnloadingWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
+ tranSettlementReport.setStatusFlag(StatusEnum.PENDING_PAY.getFlag());
|
|
|
+ tranSettlementReport.setStatus(StatusEnum.PENDING_PAY.getName());
|
|
|
+ tranSettlementReportService.insert(tranSettlementReport);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ throw new YException(YExceptionEnum.TRANTASK_NOT_CREATED_ERROR);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
//入库时更新汽运报表卸车数据
|
|
|
TranSettlementReport tranSettlementReport = tranSettlementReportService.selectOne(new EntityWrapper<TranSettlementReport>()
|
|
@@ -3523,8 +3569,9 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
|
if (tranSettlementReport!=null) {
|
|
|
tranSettlementReport.setUnloadingWeight(Float.valueOf(String.valueOf(warehouseInOutInfo.getNetWeight())));
|
|
|
tranSettlementReport.setUnloadingImg(warehouseInOutInfo.getAddressUrl());
|
|
|
+ if (tranSettlementReport.getLoadingWeight()!=null) {
|
|
|
//损耗
|
|
|
- tranSettlementReport.setLossWeight(tranSettlementReport.getLoadingWeight() - tranSettlementReport.getUnloadingWeight());
|
|
|
+ tranSettlementReport.setLossWeight(tranSettlementReport.getLoadingWeight() - tranSettlementReport.getUnloadingWeight());
|
|
|
//汽运类型
|
|
|
if (tranSettlementReport.getTranTypeKey().equals(NumberConstant.CONSTANT1)) {
|
|
|
//结算重量
|
|
@@ -3532,7 +3579,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
|
//卸车不为空时,结算重量=装卸取小
|
|
|
tranSettlementReport.setSettlementWeight(tranSettlementReport.getLoadingWeight() > tranSettlementReport.getUnloadingWeight() ? tranSettlementReport.getUnloadingWeight() : tranSettlementReport.getLoadingWeight());
|
|
|
}
|
|
|
- if (tranSettlementReport.getTransportPrice()!=null) {
|
|
|
+ if (tranSettlementReport.getTransportPrice() != null) {
|
|
|
//扣款
|
|
|
if (tranSettlementReport.getLossWeight() <= (tranSettlementReport.getLoadingWeight() / 1000)) {
|
|
|
tranSettlementReport.setDeductionAmount("0");
|
|
@@ -3545,7 +3592,8 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- tranSettlementReportService.updateById(tranSettlementReport);
|
|
|
+ }
|
|
|
+ tranSettlementReportService.updateById(tranSettlementReport);
|
|
|
}
|
|
|
}
|
|
|
|