ソースを参照

发起人撤回

zxz 2 年 前
コミット
b80b775376

+ 97 - 12
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/ContractManagementInfoServiceImpl.java

@@ -280,8 +280,8 @@ public class ContractManagementInfoServiceImpl extends ServiceImpl<ContractManag
                 // 退回的单子 再启用
                 else {
 
-                    this.updateById(contractManagementInfo);
-                    workflowService.activateInstance(contractManagementInfo.getWorkflowId(), contractManagementInfo.getId());
+                        this.updateById(contractManagementInfo);
+                        workflowService.activateInstance(contractManagementInfo.getWorkflowId(), contractManagementInfo.getId());
                 }
 
 
@@ -532,8 +532,25 @@ public class ContractManagementInfoServiceImpl extends ServiceImpl<ContractManag
                     // 退回的单子 再启用
                     else {
 
-                        this.updateById(contractManagementInfo1);
-                        workflowService.activateInstance(contractManagementInfo1.getWorkflowId(), contractManagementInfo1.getId());
+                        if("发起人撤回".equals(contractManagementInfo1.getApproveStatus())){
+                            Workflow workflow = workflowService
+                                    .findLatestWorkflowByBusinessCodeByApp(contractManagementInfo1.getCompId(), "SALE-CONTRACT-APPROVE");
+                            // 没配置审核流程,直接结束并处理信息
+                            if (workflow == null) {
+                                throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
+                            }
+                            // 开启审核流
+                            else {
+                                // 设置状态 已提交审核
+                                contractManagementInfo1.setWorkflowId(workflow.getId());
+                                this.updateById(contractManagementInfo1);
+                                workflowService.startInstance(workflow.getId(), contractManagementInfo1.getId());
+                            }
+                        }
+                        else {
+                            this.updateById(contractManagementInfo1);
+                            workflowService.activateInstance(contractManagementInfo1.getWorkflowId(), contractManagementInfo1.getId());
+                        }
                     }
 
                     //  添加提交历史
@@ -570,8 +587,25 @@ public class ContractManagementInfoServiceImpl extends ServiceImpl<ContractManag
                     // 退回的单子 再启用
                     else {
 
-                        this.updateById(contractManagementInfo1);
-                        workflowService.activateInstance(contractManagementInfo1.getWorkflowId(), contractManagementInfo1.getId());
+                        if("发起人撤回".equals(contractManagementInfo1.getApproveStatus())){
+                            Workflow workflow = workflowService
+                                    .findLatestWorkflowByBusinessCodeByApp(contractManagementInfo1.getCompId(), "DAICHU-CONTRACT-APPROVE");
+                            // 没配置审核流程,直接结束并处理信息
+                            if (workflow == null) {
+                                throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
+                            }
+                            // 开启审核流
+                            else {
+                                // 设置状态 已提交审核
+                                contractManagementInfo1.setWorkflowId(workflow.getId());
+                                this.updateById(contractManagementInfo1);
+                                workflowService.startInstance(workflow.getId(), contractManagementInfo1.getId());
+                            }
+                        }
+                        else {
+                            this.updateById(contractManagementInfo1);
+                            workflowService.activateInstance(contractManagementInfo1.getWorkflowId(), contractManagementInfo1.getId());
+                        }
                     }
 
 
@@ -609,8 +643,25 @@ public class ContractManagementInfoServiceImpl extends ServiceImpl<ContractManag
                     // 退回的单子 再启用
                     else {
 
-                        this.updateById(contractManagementInfo1);
-                        workflowService.activateInstance(contractManagementInfo1.getWorkflowId(), contractManagementInfo1.getId());
+                        if("发起人撤回".equals(contractManagementInfo1.getApproveStatus())){
+                            Workflow workflow = workflowService
+                                    .findLatestWorkflowByBusinessCodeByApp(contractManagementInfo1.getCompId(), "BUY-CONTRACT-APPROVE");
+                            // 没配置审核流程,直接结束并处理信息
+                            if (workflow == null) {
+                                throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
+                            }
+                            // 开启审核流
+                            else {
+                                // 设置状态 已提交审核
+                                contractManagementInfo1.setWorkflowId(workflow.getId());
+                                this.updateById(contractManagementInfo1);
+                                workflowService.startInstance(workflow.getId(), contractManagementInfo1.getId());
+                            }
+                        }
+                        else {
+                            this.updateById(contractManagementInfo1);
+                            workflowService.activateInstance(contractManagementInfo1.getWorkflowId(), contractManagementInfo1.getId());
+                        }
                     }
 
                     //  添加提交历史
@@ -648,8 +699,25 @@ public class ContractManagementInfoServiceImpl extends ServiceImpl<ContractManag
                     // 退回的单子 再启用
                     else {
 
-                        this.updateById(contractManagementInfo1);
-                        workflowService.activateInstance(contractManagementInfo1.getWorkflowId(), contractManagementInfo1.getId());
+                        if("发起人撤回".equals(contractManagementInfo1.getApproveStatus())){
+                            Workflow workflow = workflowService
+                                    .findLatestWorkflowByBusinessCodeByApp(contractManagementInfo1.getCompId(), "SHOU-CONTRACT-APPROVE");
+                            // 没配置审核流程,直接结束并处理信息
+                            if (workflow == null) {
+                                throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
+                            }
+                            // 开启审核流
+                            else {
+                                // 设置状态 已提交审核
+                                contractManagementInfo1.setWorkflowId(workflow.getId());
+                                this.updateById(contractManagementInfo1);
+                                workflowService.startInstance(workflow.getId(), contractManagementInfo1.getId());
+                            }
+                        }
+                        else {
+                            this.updateById(contractManagementInfo1);
+                            workflowService.activateInstance(contractManagementInfo1.getWorkflowId(), contractManagementInfo1.getId());
+                        }
                     }
 
                     //  添加提交历史
@@ -687,8 +755,25 @@ public class ContractManagementInfoServiceImpl extends ServiceImpl<ContractManag
                     // 退回的单子 再启用
                     else {
 
-                        this.updateById(contractManagementInfo1);
-                        workflowService.activateInstance(contractManagementInfo1.getWorkflowId(), contractManagementInfo1.getId());
+                        if("发起人撤回".equals(contractManagementInfo1.getApproveStatus())){
+                            Workflow workflow = workflowService
+                                    .findLatestWorkflowByBusinessCodeByApp(contractManagementInfo1.getCompId(), "DAISHOU-CONTRACT-APPROVE");
+                            // 没配置审核流程,直接结束并处理信息
+                            if (workflow == null) {
+                                throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
+                            }
+                            // 开启审核流
+                            else {
+                                // 设置状态 已提交审核
+                                contractManagementInfo1.setWorkflowId(workflow.getId());
+                                this.updateById(contractManagementInfo1);
+                                workflowService.startInstance(workflow.getId(), contractManagementInfo1.getId());
+                            }
+                        }
+                        else {
+                            this.updateById(contractManagementInfo1);
+                            workflowService.activateInstance(contractManagementInfo1.getWorkflowId(), contractManagementInfo1.getId());
+                        }
                     }
                     this.updateById(contractManagementInfo1);
 

+ 19 - 2
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/InOutWarehouseTaskServiceImpl.java

@@ -265,8 +265,25 @@ public class InOutWarehouseTaskServiceImpl extends ServiceImpl<InOutWarehouseTas
             // 退回的单子 再启用
             else {
 
-                this.updateById(inOutWarehouseTask);
-                workflowService.activateInstance(inOutWarehouseTask.getWorkflowId(), inOutWarehouseTask.getId());
+                if("发起人撤回".equals(inOutWarehouseTask.getApproveStatus())){
+                    Workflow workflow = workflowService
+                            .findLatestWorkflowByBusinessCodeByApp(inOutWarehouseTask.getCompId(), "INOUTTASK-TASK-APPROVE");
+                    // 没配置审核流程,直接结束并处理信息
+                    if (workflow == null) {
+                        throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
+                    }
+                    // 开启审核流
+                    else {
+                        // 设置状态 已提交审核
+                        inOutWarehouseTask.setWorkflowId(workflow.getId());
+                        this.updateById(inOutWarehouseTask);
+                        workflowService.startInstance(workflow.getId(), inOutWarehouseTask.getId());
+                    }
+                }
+                else {
+                    this.updateById(inOutWarehouseTask);
+                    workflowService.activateInstance(inOutWarehouseTask.getWorkflowId(), inOutWarehouseTask.getId());
+                }
             }
 
             //  添加提交历史

+ 19 - 2
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/PurchasePriceServiceImpl.java

@@ -269,8 +269,25 @@ public class PurchasePriceServiceImpl extends ServiceImpl<PurchasePriceMapper, P
             }
             // 退回的单子 再启用
             else {
-                this.updateById(purchasePrice);
-                workflowService.activateInstance(purchasePrice.getWorkflowId(), purchasePrice.getId());
+                if("发起人撤回".equals(purchasePrice.getApproveStatus())){
+                    Workflow workflow = workflowService
+                            .findLatestWorkflowByBusinessCodeByApp(purchasePrice.getCompId(), "PROCUREMENT-PRICE-APPROVE");
+                    // 没配置审核流程,直接结束并处理信息
+                    if (workflow == null) {
+                        throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
+                    }
+                    // 开启审核流
+                    else {
+                        // 设置状态 已提交审核
+                        purchasePrice.setWorkflowId(workflow.getId());
+                        this.updateById(purchasePrice);
+                        workflowService.startInstance(workflow.getId(), purchasePrice.getId());
+                    }
+                }
+                else {
+                    this.updateById(purchasePrice);
+                    workflowService.activateInstance(purchasePrice.getWorkflowId(), purchasePrice.getId());
+                }
             }
         //  添加提交历史
         CommonBillOperateHis commonBillOperateHis = new CommonBillOperateHis();

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

@@ -975,6 +975,29 @@ public class TranProcessInfoServiceImpl extends ServiceImpl<TranProcessInfoMappe
                     workflowService.startInstance(workflow.getId(), tranProcessInfo1.getId());
                 }
             }
+            // 退回的单子 再启用
+            else {
+
+                if("发起人撤回".equals(tranProcessInfo1.getApproveStatus())){
+                    Workflow workflow = workflowService
+                            .findLatestWorkflowByBusinessCodeByApp(tranTaskInfo.getCompId(), "YUNJIA-TRAN-APPROVE");
+                    // 没配置审核流程,直接结束并处理信息
+                    if (workflow == null) {
+                        throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
+                    }
+                    // 开启审核流
+                    else {
+                        // 设置状态 已提交审核
+                        tranProcessInfo1.setWorkflowId(workflow.getId());
+                        this.updateById(tranProcessInfo1);
+                        workflowService.startInstance(workflow.getId(), tranProcessInfo1.getId());
+                    }
+                }
+                else {
+                    this.updateById(tranProcessInfo1);
+                    workflowService.activateInstance(tranProcessInfo1.getWorkflowId(), tranProcessInfo1.getId());
+                }
+            }
 
             //  添加提交历史
             CommonBillOperateHis commonBillOperateHis = new CommonBillOperateHis();
@@ -1018,19 +1041,40 @@ public class TranProcessInfoServiceImpl extends ServiceImpl<TranProcessInfoMappe
                     this.updateById(tranProcessInfo1);
                     workflowService.startInstance(workflow.getId(), tranProcessInfo1.getId());
                 }
+            }
+            // 退回的单子 再启用
+            else {
 
-                //  添加提交历史
-                CommonBillOperateHis commonBillOperateHis = new CommonBillOperateHis();
-                commonBillOperateHis.setBillId(tranProcessInfo1.getId());
-                commonBillOperateHis.setId(IdGenerator.generateUUID());
-                commonBillOperateHis.setBillType("YUNJIA-TRAN-APPROVE");
-                commonBillOperateHis.setOperateDate(new Date());
-                commonBillOperateHis.setOperateUser(tranProcessInfo1.getCreateUserId());
-                JSONObject jsonObject = (JSONObject) JSONObject.toJSON(tranProcessInfo1);
-                commonBillOperateHis.setBusinessHistory(jsonObject.toJSONString());
-                commonBillOperateHisService.create(commonBillOperateHis);
-
+                if("发起人撤回".equals(tranProcessInfo1.getApproveStatus())){
+                    Workflow workflow = workflowService
+                            .findLatestWorkflowByBusinessCodeByApp(tranTaskInfo.getCompId(), "YUNJIA-TRAN-APPROVE");
+                    // 没配置审核流程,直接结束并处理信息
+                    if (workflow == null) {
+                        throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
+                    }
+                    // 开启审核流
+                    else {
+                        // 设置状态 已提交审核
+                        tranProcessInfo1.setWorkflowId(workflow.getId());
+                        this.updateById(tranProcessInfo1);
+                        workflowService.startInstance(workflow.getId(), tranProcessInfo1.getId());
+                    }
+                }
+                else {
+                    this.updateById(tranProcessInfo1);
+                    workflowService.activateInstance(tranProcessInfo1.getWorkflowId(), tranProcessInfo1.getId());
+                }
             }
+            //  添加提交历史
+            CommonBillOperateHis commonBillOperateHis = new CommonBillOperateHis();
+            commonBillOperateHis.setBillId(tranProcessInfo1.getId());
+            commonBillOperateHis.setId(IdGenerator.generateUUID());
+            commonBillOperateHis.setBillType("YUNJIA-TRAN-APPROVE");
+            commonBillOperateHis.setOperateDate(new Date());
+            commonBillOperateHis.setOperateUser(tranProcessInfo1.getCreateUserId());
+            JSONObject jsonObject = (JSONObject) JSONObject.toJSON(tranProcessInfo1);
+            commonBillOperateHis.setBusinessHistory(jsonObject.toJSONString());
+            commonBillOperateHisService.create(commonBillOperateHis);
         }
         this.updateById(tranProcessInfo);
         return "ok";

+ 53 - 17
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehousingOrderServiceImpl.java

@@ -1082,25 +1082,61 @@ public class WarehousingOrderServiceImpl extends ServiceImpl<WarehousingOrderMap
                     }
                     // 退回的单子 再启用
                     else {
-                        batchId = warehousingOrder1.getBatchId();
-                        for (WarehousingOrder warehousingOrder2 : warehousingOrderList) {
-                            warehousingOrder2.setStatusFlag(StatusEnum.PENDING_PAYMENT.getFlag());
-                            warehousingOrder2.setStatus(StatusEnum.PENDING_PAYMENT.getName());
-                            warehousingOrder2.setRequestPerson(AuthSecurityUtils.getStaffById(AuthSecurityUtils.getCurrentUserId()).getStaffName());
-                            warehousingOrder2.setRequestDate(new Date());
+
+                        if("发起人撤回".equals(warehousingOrder1.getApproveStatus())){
+                            Workflow workflow = workflowService
+                                    .findLatestWorkflowByBusinessCodeByApp(warehousingOrder1.getCompId(), "WAREHOUSING-ORDER-APPROVE");
+                            // 没配置审核流程,直接结束并处理信息
+                            if (workflow == null) {
+                                throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
+                            }
+                            // 开启审核流
+                            else {
+                                workflowId = workflow.getId();
+                                for (WarehousingOrder warehousingOrder2 : warehousingOrderList) {
+                                    warehousingOrder2.setStatusFlag(StatusEnum.PENDING_PAYMENT.getFlag());
+                                    warehousingOrder2.setStatus(StatusEnum.PENDING_PAYMENT.getName());
+                                    warehousingOrder2.setRequestPerson(AuthSecurityUtils.getStaffById(AuthSecurityUtils.getCurrentUserId()).getStaffName());
+                                    warehousingOrder2.setRequestDate(new Date());
+                                    warehousingOrder2.setWorkflowId(workflowId);
+                                    warehousingOrder2.setBatchId(batchId);
+                                    this.updateById(warehousingOrder2);
+                                    //更新入库单请款记录
+                                    WarehousingOrderRecord warehousingOrderRecord = warehousingOrderRecordService.selectOne(new EntityWrapper<WarehousingOrderRecord>()
+                                            .eq("order_id", warehousingOrder2.getId()).eq("delete_flag", "0"));
+                                    warehousingOrderRecord.setOrderId(warehousingOrder2.getId());
+                                    warehousingOrderRecord.setBatchId(warehousingOrder2.getBatchId());
+                                    warehousingOrderRecord.setAveragePurchasePrice(warehousingOrder2.getGrainFund() / warehousingOrder2.getInWarehouseWeight());
+                                    warehousingOrderRecord.setPaymentRequestAmount(warehousingOrder2.getRequestFunds());
+                                    warehousingOrderRecordService.updateById(warehousingOrderRecord);
+                                }
+                                // 设置状态 已提交审核
+//                                warehousingOrder1.setWorkflowId(workflow.getId());
+//                                this.updateById(warehousingOrder1);
+                                workflowService.startInstance(workflow.getId(),batchId);
+                            }
+                        }
+                        else {
+                            batchId = warehousingOrder1.getBatchId();
+                            for (WarehousingOrder warehousingOrder2 : warehousingOrderList) {
+                                warehousingOrder2.setStatusFlag(StatusEnum.PENDING_PAYMENT.getFlag());
+                                warehousingOrder2.setStatus(StatusEnum.PENDING_PAYMENT.getName());
+                                warehousingOrder2.setRequestPerson(AuthSecurityUtils.getStaffById(AuthSecurityUtils.getCurrentUserId()).getStaffName());
+                                warehousingOrder2.setRequestDate(new Date());
 //                            warehousingOrder2.setWorkflowId(workflowId);
-                            warehousingOrder2.setBatchId(batchId);
-                            this.updateById(warehousingOrder2);
-                            //更新入库单请款记录
-                            WarehousingOrderRecord warehousingOrderRecord = warehousingOrderRecordService.selectOne(new EntityWrapper<WarehousingOrderRecord>()
-                                    .eq("order_id", warehousingOrder2.getId()).eq("delete_flag", "0"));
-                            warehousingOrderRecord.setOrderId(warehousingOrder2.getId());
-                            warehousingOrderRecord.setBatchId(warehousingOrder2.getBatchId());
-                            warehousingOrderRecord.setAveragePurchasePrice(warehousingOrder2.getGrainFund() / warehousingOrder2.getInWarehouseWeight());
-                            warehousingOrderRecord.setPaymentRequestAmount(warehousingOrder2.getRequestFunds());
-                            warehousingOrderRecordService.updateById(warehousingOrderRecord);
+                                warehousingOrder2.setBatchId(batchId);
+                                this.updateById(warehousingOrder2);
+                                //更新入库单请款记录
+                                WarehousingOrderRecord warehousingOrderRecord = warehousingOrderRecordService.selectOne(new EntityWrapper<WarehousingOrderRecord>()
+                                        .eq("order_id", warehousingOrder2.getId()).eq("delete_flag", "0"));
+                                warehousingOrderRecord.setOrderId(warehousingOrder2.getId());
+                                warehousingOrderRecord.setBatchId(warehousingOrder2.getBatchId());
+                                warehousingOrderRecord.setAveragePurchasePrice(warehousingOrder2.getGrainFund() / warehousingOrder2.getInWarehouseWeight());
+                                warehousingOrderRecord.setPaymentRequestAmount(warehousingOrder2.getRequestFunds());
+                                warehousingOrderRecordService.updateById(warehousingOrderRecord);
+                            }
+                            workflowService.activateInstance(warehousingOrder1.getWorkflowId(), warehousingOrder1.getBatchId());
                         }
-                        workflowService.activateInstance(warehousingOrder1.getWorkflowId(), warehousingOrder1.getBatchId());
                     }
 
                     //  添加提交历史

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

@@ -58,6 +58,7 @@
             resultType="com.yh.saas.plugin.yiliangyiyun.entity.ContractManagementInfo">
         SELECT
         m.id,
+        m.workflow_id as workflowId,
         m.comp_id as compId,
         m.contract_no as contractNo,
         g.goods_name as goodsName,