From e76b5f099057a4dfda34e4abbdd12b0ab43ff682 Mon Sep 17 00:00:00 2001 From: guojunyun Date: Thu, 30 Oct 2025 15:10:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=90=88=E5=90=8C=EF=BC=9A?= =?UTF-8?q?=E6=89=A7=E8=A1=8C=E4=B8=AD=E5=90=88=E5=90=8C=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=90=8E=E9=87=8D=E6=96=B0=E6=8F=90=E4=BA=A4erp=EF=BC=9B?= =?UTF-8?q?=E9=A9=B3=E5=9B=9E=E7=8A=B6=E6=80=81=E5=90=88=E5=90=8C=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=90=8E=E4=B8=8D=E4=BF=AE=E6=94=B9=E5=90=88=E5=90=8C?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E4=B8=BA=E5=BE=85=E5=AE=A1=E6=A0=B8=20?= =?UTF-8?q?=E5=90=88=E5=90=8C=E6=8F=90=E4=BA=A4=E5=AE=A1=E6=A0=B8=EF=BC=9A?= =?UTF-8?q?=E9=A9=B3=E5=9B=9E=E7=8A=B6=E6=80=81=E5=90=88=E5=90=8C=E5=8F=AF?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=E5=AE=A1=E6=A0=B8=EF=BC=8C=E5=8E=BB=E9=99=A4?= =?UTF-8?q?=E5=BE=85=E5=AE=A1=E6=A0=B8=E7=8A=B6=E6=80=81=20=E5=90=88?= =?UTF-8?q?=E5=90=8C=E5=AE=A1=E6=A0=B8=EF=BC=9Abpm=E6=89=A7=E8=A1=8C?= =?UTF-8?q?=E5=AE=8C=E6=88=90=E9=87=8D=E6=96=B0=E6=9F=A5=E8=AF=A2=E5=BD=93?= =?UTF-8?q?=E5=89=8D=E5=AE=A1=E6=89=B9=E8=8A=82=E7=82=B9=E5=B9=B6=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E5=90=88=E5=90=8C=E5=AE=A1=E6=89=B9=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/contract/ContractServiceImpl.java | 59 +++++++++++-------- 1 file changed, 35 insertions(+), 24 deletions(-) diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractServiceImpl.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractServiceImpl.java index 2dfb4f8..8d8091a 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractServiceImpl.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractServiceImpl.java @@ -917,16 +917,17 @@ public class ContractServiceImpl implements ContractService { if (DictEnum.BSE_CTRT_STS_PUSH_ERROR.getCode().equals(oldContractMainDO.getStatus())) { // “推送失败”的状态编辑后状态变为“待推送” newContractMainDO.setStatus(DictEnum.BSE_CTRT_STS_WAIT_PUSH.getCode()); - } else if (DictEnum.BSE_CTRT_STS_REJECTED.getCode().equals(oldContractMainDO.getStatus()) - || DictEnum.BSE_CTRT_STS_IN_PROGRESS.getCode().equals(oldContractMainDO.getStatus())) { - // 其它状态编辑后都为“待审核” - newContractMainDO.setStatus(DictEnum.BSE_CTRT_STS_WAIT_AUDIT.getCode()); } // 更新合同主信息 - int updateNum = contractMainMapper.updateById(newContractMainDO); + contractMainMapper.updateById(newContractMainDO); - return updateNum > 0; + if (DictEnum.BSE_CTRT_STS_IN_PROGRESS.getCode().equals(newContractMainDO.getStatus())) { + // 执行中合同重新提交erp + submitErp(newContractMainDO.getId()); + } + + return true; } @Override @@ -1025,7 +1026,7 @@ public class ContractServiceImpl implements ContractService { // 合同状态校验 if (!(DictEnum.BSE_CTRT_STS_DRAFT.getCode().equals(contractMainDO.getStatus()) - || DictEnum.BSE_CTRT_STS_WAIT_AUDIT.getCode().equals(contractMainDO.getStatus()))) { + || DictEnum.BSE_CTRT_STS_REJECTED.getCode().equals(contractMainDO.getStatus()))) { throw exception(CONTRACT_STATUS_NOT_SUBMIT_APPROVAL, DictEnum.getByCodeAndType(contractMainDO.getStatus(), DictTypeConstants.BSE_CTRT_STS).getLabel()); @@ -1128,6 +1129,33 @@ public class ContractServiceImpl implements ContractService { badrDto.setTaskId(undoTask.getId()); // 当前审核任务节点id BpmApprovalDetailRespDTO approvalDetail = bpmProcessInstanceApi.getApprovalDetail(SecurityFrameworkUtils.getLoginUserId(), badrDto).getData(); + // 需要调用bpm 审核接口更新审批中的状态 + if (DictEnum.BSE_CTRT_STS_WAIT_PUSH.getCode().equals(reqVO.getStatus()) && ObjectUtils.isNotEmpty(undoTask)) { + if (approvalDetail.getStatus().equals(BpmProcessInstanceStatusEnum.RUNNING.getStatus())) { + BpmTaskApproveReqDTO btarDto = new BpmTaskApproveReqDTO(); + btarDto.setId(undoTask.getId()); + btarDto.setReason(reqVO.getReviewOpinion()); + bpmProcessInstanceApi.approveTask(btarDto); + } + } else if (DictEnum.BSE_CTRT_STS_REJECTED.getCode().equals(reqVO.getStatus()) && ObjectUtils.isNotEmpty(undoTask)) { + if (approvalDetail.getStatus().equals(BpmProcessInstanceStatusEnum.RUNNING.getStatus())) { + BpmTaskRejectReqDTO btrrDto = new BpmTaskRejectReqDTO(); + btrrDto.setId(undoTask.getId()); + btrrDto.setReason(reqVO.getReviewOpinion()); + bpmProcessInstanceApi.rejectTask(btrrDto); + } + } + + // 获取当前流程正在审批的任务节点 + taskList = bpmTaskApi.getTaskListByProcessInstanceId(contractMainDO.getProcessInstanceId()).getData(); + undoTask = taskList.get(taskList.size() - 1); + + // 判断是否流程已经通过、驳回 + badrDto = new BpmApprovalDetailReqDTO(); + badrDto.setProcessInstanceId(contractMainDO.getProcessInstanceId()); // 流程实例id + badrDto.setTaskId(undoTask.getId()); // 当前审核任务节点id + approvalDetail = bpmProcessInstanceApi.getApprovalDetail(SecurityFrameworkUtils.getLoginUserId(), badrDto).getData(); + // 更新合同状态,状态需要根据流程的状态进行判断 contractMainDO.setReviewOpinion(reqVO.getReviewOpinion()); if (approvalDetail.getStatus().equals(BpmProcessInstanceStatusEnum.NOT_START.getStatus())) { @@ -1147,23 +1175,6 @@ public class ContractServiceImpl implements ContractService { } contractMainMapper.updateById(contractMainDO); - // 需要调用bpm 审核接口更新审批中的状态 - if (DictEnum.BSE_CTRT_STS_WAIT_PUSH.getCode().equals(reqVO.getStatus()) && ObjectUtils.isNotEmpty(undoTask)) { - if (approvalDetail.getStatus().equals(BpmProcessInstanceStatusEnum.RUNNING.getStatus())) { - BpmTaskApproveReqDTO btarDto = new BpmTaskApproveReqDTO(); - btarDto.setId(undoTask.getId()); - btarDto.setReason(reqVO.getReviewOpinion()); - bpmProcessInstanceApi.approveTask(btarDto); - } - } else if (DictEnum.BSE_CTRT_STS_REJECTED.getCode().equals(reqVO.getStatus()) && ObjectUtils.isNotEmpty(undoTask)) { - if (approvalDetail.getStatus().equals(BpmProcessInstanceStatusEnum.RUNNING.getStatus())) { - BpmTaskRejectReqDTO btrrDto = new BpmTaskRejectReqDTO(); - btrrDto.setId(undoTask.getId()); - btrrDto.setReason(reqVO.getReviewOpinion()); - bpmProcessInstanceApi.rejectTask(btrrDto); - } - } - return true; }