|
@@ -307,6 +307,128 @@ public class TranProcessInfoServiceImpl extends ServiceImpl<TranProcessInfoMappe
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ //火运类型
|
|
|
|
+ else if (tranCarInfo.getTranType().equals(NumberConstant.CONSTANT2)) {
|
|
|
|
+ List<TranSettlementReport> tranSettlementReportList = tranSettlementReportService.selectList(new EntityWrapper<TranSettlementReport>()
|
|
|
|
+ .eq("car_id", tranCarInfo.getId()));
|
|
|
|
+ if (!CollectionUtils.isEmpty(tranSettlementReportList)) {
|
|
|
|
+ if (tranCarInfo.getUnloadNetWeight() > 0) {
|
|
|
|
+ for (TranSettlementReport tranSettlementReport : tranSettlementReportList) {
|
|
|
|
+ tranSettlementReport.setLoadingImg(tranCarInfo.getLoadPoundImg());
|
|
|
|
+ tranSettlementReport.setUnloadingWeight(tranCarInfo.getUnloadNetWeight());
|
|
|
|
+ tranSettlementReport.setUnloadingImg(tranCarInfo.getUnloadPoundImg());
|
|
|
|
+ //损耗
|
|
|
|
+ tranSettlementReport.setLossWeight(tranCarInfo.getLoadNetWeight() - tranCarInfo.getUnloadNetWeight());
|
|
|
|
+ tranSettlementReportService.updateById(tranSettlementReport);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ //生成火运报表
|
|
|
|
+ TranSettlementReport tranSettlementReport = new TranSettlementReport();
|
|
|
|
+ tranSettlementReport.setCompId(tranTaskInfo.getCompId());
|
|
|
|
+ tranSettlementReport.setCarId(tranCarInfo.getId());
|
|
|
|
+ tranSettlementReport.setId(IdGenerator.generateUUID());
|
|
|
|
+ tranSettlementReport.setTranType("火运");
|
|
|
|
+ tranSettlementReport.setTranTypeKey("2");
|
|
|
|
+ tranSettlementReport.setContractNo(tranTaskInfo.getContractNo());
|
|
|
|
+ tranSettlementReport.setTaskNo(tranTaskInfo.getTaskNo());
|
|
|
|
+ tranSettlementReport.setProcessNo(tranProcessInfo.getProcessNo());
|
|
|
|
+ tranSettlementReport.setBoxNo(tranCarInfo.getBoxNo());
|
|
|
|
+ tranSettlementReport.setSettlementWeight(tranCarInfo.getLoadNetWeight());
|
|
|
|
+ tranSettlementReport.setLoadingWeight(tranCarInfo.getLoadNetWeight());
|
|
|
|
+ tranSettlementReport.setLoadingImg(tranCarInfo.getLoadPoundImg());
|
|
|
|
+ tranSettlementReportService.insert(tranSettlementReport);
|
|
|
|
+ boolean isStartWorkflow = org.apache.commons.lang3.StringUtils.isBlank(tranSettlementReport.getWorkflowId());
|
|
|
|
+ // 不是退回的单子
|
|
|
|
+ if (isStartWorkflow) {
|
|
|
|
+ Workflow workflow = workflowService
|
|
|
|
+ .findLatestWorkflowByBusinessCodeByApp(tranSettlementReport.getCompId(), "TRANSPORTATION-SETTLEMENT-REPORT");
|
|
|
|
+ // 没配置审核流程,直接结束并处理信息
|
|
|
|
+ if (workflow == null) {
|
|
|
|
+ throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
|
|
|
|
+ }
|
|
|
|
+ // 开启审核流
|
|
|
|
+ else {
|
|
|
|
+
|
|
|
|
+ // 设置状态 已提交审核
|
|
|
|
+ tranSettlementReport.setWorkflowId(workflow.getId());
|
|
|
|
+ tranSettlementReportService.updateById(tranSettlementReport);
|
|
|
|
+ workflowService.startInstance(workflow.getId(), tranSettlementReport.getId());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ // 退回的单子 再启用
|
|
|
|
+ else {
|
|
|
|
+
|
|
|
|
+ tranSettlementReportService.updateById(tranSettlementReport);
|
|
|
|
+ workflowService.activateInstance(tranSettlementReport.getWorkflowId(), tranSettlementReport.getId());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ //船运类型
|
|
|
|
+ else if (tranCarInfo.getTranType().equals(NumberConstant.CONSTANT3)) {
|
|
|
|
+ List<TranSettlementReport> tranSettlementReportList = tranSettlementReportService.selectList(new EntityWrapper<TranSettlementReport>()
|
|
|
|
+ .eq("car_id", tranCarInfo.getId()));
|
|
|
|
+ if (!CollectionUtils.isEmpty(tranSettlementReportList)) {
|
|
|
|
+ if (tranCarInfo.getUnloadNetWeight() > 0) {
|
|
|
|
+ for (TranSettlementReport tranSettlementReport : tranSettlementReportList) {
|
|
|
|
+ tranSettlementReport.setLoadingImg(tranCarInfo.getLoadPoundImg());
|
|
|
|
+ tranSettlementReport.setUnloadingWeight(tranCarInfo.getUnloadNetWeight());
|
|
|
|
+ tranSettlementReport.setUnloadingImg(tranCarInfo.getUnloadPoundImg());
|
|
|
|
+ //损耗
|
|
|
|
+ tranSettlementReport.setLossWeight(tranCarInfo.getLoadNetWeight() - tranCarInfo.getUnloadNetWeight());
|
|
|
|
+ tranSettlementReportService.updateById(tranSettlementReport);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ //生成船运报表
|
|
|
|
+ TranSettlementReport tranSettlementReport = new TranSettlementReport();
|
|
|
|
+ tranSettlementReport.setCompId(tranTaskInfo.getCompId());
|
|
|
|
+ tranSettlementReport.setCarId(tranCarInfo.getId());
|
|
|
|
+ tranSettlementReport.setId(IdGenerator.generateUUID());
|
|
|
|
+ tranSettlementReport.setTranType("船运");
|
|
|
|
+ tranSettlementReport.setTranTypeKey("3");
|
|
|
|
+ tranSettlementReport.setTaskNo(tranTaskInfo.getTaskNo());
|
|
|
|
+ tranSettlementReport.setProcessNo(tranProcessInfo.getProcessNo());
|
|
|
|
+ if ("集装箱".equals(tranCarInfo.getShipType())){
|
|
|
|
+ tranSettlementReport.setBoxNo(tranCarInfo.getCaseNo());
|
|
|
|
+ }
|
|
|
|
+ else{
|
|
|
|
+ tranSettlementReport.setBoxNo(tranCarInfo.getBinNumber());
|
|
|
|
+ }
|
|
|
|
+ tranSettlementReport.setShipType(tranCarInfo.getShipType());
|
|
|
|
+ tranSettlementReport.setContractNo(tranTaskInfo.getContractNo());
|
|
|
|
+ tranSettlementReport.setSettlementWeight(tranCarInfo.getLoadNetWeight());
|
|
|
|
+ tranSettlementReport.setTranCarNo(tranCarInfo.getTranCarNo());
|
|
|
|
+ tranSettlementReport.setLoadingWeight(tranCarInfo.getLoadNetWeight());
|
|
|
|
+ tranSettlementReport.setLoadingImg(tranCarInfo.getLoadPoundImg());
|
|
|
|
+ tranSettlementReport.setTransportPrice(tranProcessInfo.getTranPrice());
|
|
|
|
+ tranSettlementReportService.insert(tranSettlementReport);
|
|
|
|
+ boolean isStartWorkflow = org.apache.commons.lang3.StringUtils.isBlank(tranSettlementReport.getWorkflowId());
|
|
|
|
+ // 不是退回的单子
|
|
|
|
+ if (isStartWorkflow) {
|
|
|
|
+ Workflow workflow = workflowService
|
|
|
|
+ .findLatestWorkflowByBusinessCodeByApp(tranSettlementReport.getCompId(), "TRANSPORTATION-SETTLEMENT-REPORT");
|
|
|
|
+ // 没配置审核流程,直接结束并处理信息
|
|
|
|
+ if (workflow == null) {
|
|
|
|
+ throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
|
|
|
|
+ }
|
|
|
|
+ // 开启审核流
|
|
|
|
+ else {
|
|
|
|
+
|
|
|
|
+ // 设置状态 已提交审核
|
|
|
|
+ tranSettlementReport.setWorkflowId(workflow.getId());
|
|
|
|
+ tranSettlementReportService.updateById(tranSettlementReport);
|
|
|
|
+ workflowService.startInstance(workflow.getId(), tranSettlementReport.getId());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ // 退回的单子 再启用
|
|
|
|
+ else {
|
|
|
|
+
|
|
|
|
+ tranSettlementReportService.updateById(tranSettlementReport);
|
|
|
|
+ workflowService.activateInstance(tranSettlementReport.getWorkflowId(), tranSettlementReport.getId());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
//卸车反馈时状态改为已送达
|
|
//卸车反馈时状态改为已送达
|
|
if (tranCarInfo.getUnloadNetWeight() > 0) {
|
|
if (tranCarInfo.getUnloadNetWeight() > 0) {
|