zhangyuewww 3 лет назад
Родитель
Сommit
cbf3359e9d

+ 122 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/TranProcessInfoServiceImpl.java

@@ -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) {

+ 1 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/ContractManagementInfoMapper.xml

@@ -66,6 +66,7 @@
         p.mildew_grain as mildewGrain,
         m.address_url as addressUrl,
         m.point_price as pointPrice,
+        m.approve_status as approveStatus,
         m.basis_price as basisPrice
         FROM contract_management_info m
         left join contract_goods_info g on m.id=g.contract_id

+ 3 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/TranSettlementReportMapper.xml

@@ -49,6 +49,9 @@
         comp_id as compId,
         contract_no as contractNo,
         process_no as processNo,
+        box_no as boxNo,
+        task_no as taskNo,
+        ship_type as shipType,
         phone,
         name as name,
         tran_car_no as tranCarNo,