From f9f8da270fcf2758e874972297a0b8dcac22f993 Mon Sep 17 00:00:00 2001 From: guojunyun Date: Thu, 23 Oct 2025 09:42:29 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4erp=E5=90=88=E5=90=8C?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E5=88=A4=E6=96=AD=E9=80=BB=E8=BE=91=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=EF=BC=9A=E4=BD=9C=E5=BA=9F=E3=80=81=E5=B7=B2=E5=AE=8C?= =?UTF-8?q?=E7=BB=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/contract/ContractServiceImpl.java | 33 +++++++++++++++---- 1 file changed, 26 insertions(+), 7 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 873e7fb..9cc0d78 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 @@ -2,7 +2,6 @@ package com.zt.plat.module.contractorder.service.contract; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.framework.common.pojo.PageResult; @@ -25,7 +24,6 @@ import com.zt.plat.module.bpm.api.task.dto.*; import com.zt.plat.module.bpm.enums.task.BpmProcessInstanceStatusEnum; import com.zt.plat.module.contractorder.api.dto.contract.*; import com.zt.plat.module.contractorder.controller.admin.contract.vo.contract.*; -import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.LinkOrderReqVO; import com.zt.plat.module.contractorder.dal.dataobject.contract.*; import com.zt.plat.module.contractorder.dal.mysql.contract.*; import com.zt.plat.module.contractorder.enums.*; @@ -57,7 +55,10 @@ import java.io.ByteArrayOutputStream; import java.math.BigDecimal; import java.time.LocalDate; import java.time.format.DateTimeFormatter; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.LinkedHashSet; +import java.util.List; import java.util.stream.Collectors; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; @@ -1348,13 +1349,23 @@ public class ContractServiceImpl implements ContractService { // 更新合同状态 if (erpResult.getBool("success")) { - contractMainDO.setStatus(DictEnum.BSE_CTRT_STS_IN_PROGRESS.getCode()); + if (DictEnum.BSE_CTRT_STS_WAIT_PUSH.getCode().equals(contractMainDO.getStatus())) { + // 待推送的合同设置为执行中 + contractMainDO.setStatus(DictEnum.BSE_CTRT_STS_IN_PROGRESS.getCode()); + } contractMainDO.setErpStatus(DictEnum.ERP_REQ_STS_FIND.getCode()); contractMainMapper.updateById(contractMainDO); result.putOnce("data", erpResult.getStr("data")); } else { - contractMainDO.setStatus(DictEnum.BSE_CTRT_STS_PUSH_ERROR.getCode()); + if (DictEnum.BSE_CTRT_STS_VOID.getCode().equals(contractMainDO.getStatus()) + || DictEnum.BSE_CTRT_STS_TERMINATED.getCode().equals(contractMainDO.getStatus())) { + // 作废和已完结订单退回执行中 + contractMainDO.setStatus(DictEnum.BSE_CTRT_STS_TERMINATED.getCode()); + } else { + // 待推送的合同设置为推送失败 + contractMainDO.setStatus(DictEnum.BSE_CTRT_STS_PUSH_ERROR.getCode()); + } contractMainDO.setErpStatus(DictEnum.ERP_REQ_STS_RLBK.getCode()); contractMainDO.setCause(erpResult.getStr("errMsg")); contractMainMapper.updateById(contractMainDO); @@ -1682,9 +1693,17 @@ public class ContractServiceImpl implements ContractService { // 变更后合同总金额(本位币-含税):CHG_BSC_AMT erpContractVO.setChangeBasicAmount(contractMainDO.getChangeBasicAmount()); // 合同状态编号:STS_NUM 参照060接口 - erpContractVO.setStatusNumber(DictEnum.SUBMIT_ERP_CTRT_STS_EF.getCode()); // 合同状态名称:STS_NAME 参照060接口 - erpContractVO.setStatusName(DictEnum.SUBMIT_ERP_CTRT_STS_EF.getLabel()); + if (DictEnum.BSE_CTRT_STS_VOID.getCode().equals(contractMainDO.getStatus())) { // 作废 + erpContractVO.setStatusNumber(DictEnum.SUBMIT_ERP_CTRT_STS_CA.getCode()); + erpContractVO.setStatusName(DictEnum.SUBMIT_ERP_CTRT_STS_CA.getLabel()); + } else if (DictEnum.BSE_CTRT_STS_TERMINATED.getCode().equals(contractMainDO.getStatus())) { // 完结 + erpContractVO.setStatusNumber(DictEnum.SUBMIT_ERP_CTRT_STS_ZXWB.getCode()); + erpContractVO.setStatusName(DictEnum.SUBMIT_ERP_CTRT_STS_ZXWB.getLabel()); + } else { // 其它所有状态 + erpContractVO.setStatusNumber(DictEnum.SUBMIT_ERP_CTRT_STS_EF.getCode()); + erpContractVO.setStatusName(DictEnum.SUBMIT_ERP_CTRT_STS_EF.getLabel()); + } // 是否有预付款:IS_PPYM erpContractVO.setIsPrepayment(contractMainDO.getHasPrepayment()); // 预付款比例:PPYM_RTIO