提交erp合同状态判断逻辑修改:作废、已完结

This commit is contained in:
guojunyun
2025-10-23 09:42:29 +08:00
parent daefd6c316
commit f9f8da270f

View File

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