提交erp合同状态判断逻辑修改:作废、已完结
This commit is contained in:
@@ -2,7 +2,6 @@ package com.zt.plat.module.contractorder.service.contract;
|
|||||||
|
|
||||||
import cn.hutool.json.JSONArray;
|
import cn.hutool.json.JSONArray;
|
||||||
import cn.hutool.json.JSONObject;
|
import cn.hutool.json.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.zt.plat.framework.common.pojo.CommonResult;
|
import com.zt.plat.framework.common.pojo.CommonResult;
|
||||||
import com.zt.plat.framework.common.pojo.PageResult;
|
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.bpm.enums.task.BpmProcessInstanceStatusEnum;
|
||||||
import com.zt.plat.module.contractorder.api.dto.contract.*;
|
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.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.dataobject.contract.*;
|
||||||
import com.zt.plat.module.contractorder.dal.mysql.contract.*;
|
import com.zt.plat.module.contractorder.dal.mysql.contract.*;
|
||||||
import com.zt.plat.module.contractorder.enums.*;
|
import com.zt.plat.module.contractorder.enums.*;
|
||||||
@@ -57,7 +55,10 @@ import java.io.ByteArrayOutputStream;
|
|||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.format.DateTimeFormatter;
|
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.stream.Collectors;
|
||||||
import java.util.zip.ZipEntry;
|
import java.util.zip.ZipEntry;
|
||||||
import java.util.zip.ZipOutputStream;
|
import java.util.zip.ZipOutputStream;
|
||||||
@@ -1348,13 +1349,23 @@ public class ContractServiceImpl implements ContractService {
|
|||||||
|
|
||||||
// 更新合同状态
|
// 更新合同状态
|
||||||
if (erpResult.getBool("success")) {
|
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());
|
contractMainDO.setErpStatus(DictEnum.ERP_REQ_STS_FIND.getCode());
|
||||||
contractMainMapper.updateById(contractMainDO);
|
contractMainMapper.updateById(contractMainDO);
|
||||||
|
|
||||||
result.putOnce("data", erpResult.getStr("data"));
|
result.putOnce("data", erpResult.getStr("data"));
|
||||||
} else {
|
} 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.setErpStatus(DictEnum.ERP_REQ_STS_RLBK.getCode());
|
||||||
contractMainDO.setCause(erpResult.getStr("errMsg"));
|
contractMainDO.setCause(erpResult.getStr("errMsg"));
|
||||||
contractMainMapper.updateById(contractMainDO);
|
contractMainMapper.updateById(contractMainDO);
|
||||||
@@ -1682,9 +1693,17 @@ public class ContractServiceImpl implements ContractService {
|
|||||||
// 变更后合同总金额(本位币-含税):CHG_BSC_AMT
|
// 变更后合同总金额(本位币-含税):CHG_BSC_AMT
|
||||||
erpContractVO.setChangeBasicAmount(contractMainDO.getChangeBasicAmount());
|
erpContractVO.setChangeBasicAmount(contractMainDO.getChangeBasicAmount());
|
||||||
// 合同状态编号:STS_NUM 参照060接口
|
// 合同状态编号:STS_NUM 参照060接口
|
||||||
erpContractVO.setStatusNumber(DictEnum.SUBMIT_ERP_CTRT_STS_EF.getCode());
|
|
||||||
// 合同状态名称:STS_NAME 参照060接口
|
// 合同状态名称: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
|
// 是否有预付款:IS_PPYM
|
||||||
erpContractVO.setIsPrepayment(contractMainDO.getHasPrepayment());
|
erpContractVO.setIsPrepayment(contractMainDO.getHasPrepayment());
|
||||||
// 预付款比例:PPYM_RTIO
|
// 预付款比例:PPYM_RTIO
|
||||||
|
|||||||
Reference in New Issue
Block a user