Merge branch 'dev' into 'test'
修改bug See merge request jygk/dsc-base!13
This commit is contained in:
@@ -32,4 +32,7 @@ public class TmpItmPageReqVO extends PageParam {
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDate[] createTime;
|
||||
|
||||
@Schema(description = "状态")
|
||||
private String sts;
|
||||
}
|
||||
|
||||
@@ -28,6 +28,10 @@ public class TmplFldPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String rmk;
|
||||
|
||||
@Schema(description = "状态")
|
||||
private String sts;
|
||||
|
||||
@Schema(description = "是否必填")
|
||||
private String isMust;
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ public interface TmplItmMapper extends BaseMapperX<TmplItmDO> {
|
||||
.likeIfPresent(TmplItmDO::getItmName, reqVO.getItmName())
|
||||
.likeIfPresent(TmplItmDO::getItmNum, reqVO.getItmNum())
|
||||
.eqIfPresent(TmplItmDO::getRmk, reqVO.getRmk())
|
||||
.eqIfPresent(TmplItmDO::getSts, reqVO.getSts())
|
||||
.betweenIfPresent(TmplItmDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(TmplItmDO::getId));
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@ public interface TmplTpFldMapper extends BaseMapperX<TmplTpFldDO> {
|
||||
.eqIfPresent(TmplTpFldDO::getFldDoc, reqVO.getFldDoc())
|
||||
.eqIfPresent(TmplTpFldDO::getIsMust, reqVO.getIsMust())
|
||||
.eqIfPresent(TmplTpFldDO::getDatTp, reqVO.getDatTp())
|
||||
.eqIfPresent(TmplTpFldDO::getSts, reqVO.getSts())
|
||||
.betweenIfPresent(TmplTpFldDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(TmplTpFldDO::getId));
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@ public interface TmplTpMapper extends BaseMapperX<TmplTpDO> {
|
||||
.eqIfPresent(TmplTpDO::getPrnId, reqVO.getPrnId())
|
||||
.eqIfPresent(TmplTpDO::getSrt, reqVO.getSrt())
|
||||
.eqIfPresent(TmplTpDO::getSts, reqVO.getSts())
|
||||
.eqIfPresent(TmplTpDO::getSts, reqVO.getSts())
|
||||
.betweenIfPresent(TmplTpDO::getCreateTime, reqVO.getCreateTime())
|
||||
.orderByDesc(TmplTpDO::getId));
|
||||
}
|
||||
|
||||
@@ -252,8 +252,8 @@ public class TmplTpServiceImpl extends ServiceImpl<TmplTpMapper, TmplTpDO> imple
|
||||
|
||||
// 1. 根据条件查询匹配的节点
|
||||
List<TmplTpDO> matchedNodes = baseMapper.selectList(new LambdaQueryWrapper<TmplTpDO>()
|
||||
.eq(name != null && !name.isEmpty(), TmplTpDO::getName, name)
|
||||
.eq(num != null && !num.isEmpty(), TmplTpDO::getNum, num));
|
||||
.like(name != null && !name.isEmpty(), TmplTpDO::getName, name)
|
||||
.like(num != null && !num.isEmpty(), TmplTpDO::getNum, num));
|
||||
|
||||
if (matchedNodes.isEmpty()) {
|
||||
return new ArrayList<>();
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
AND rel.DELETED = 0
|
||||
AND tp.DELETED = 0
|
||||
AND tp.id = #{id}
|
||||
and itm.sts=1
|
||||
|
||||
</select>
|
||||
<select id="getField" resultType="com.zt.plat.module.base.controller.admin.templtp.vo.TmplFldRespVO">
|
||||
@@ -33,6 +34,7 @@
|
||||
AND r.DELETED = '0'
|
||||
AND t.DELETED = '0'
|
||||
AND t.id = #{id}
|
||||
AND f.sts=1
|
||||
ORDER BY t.SRT, f.FLD_KY
|
||||
</select>
|
||||
|
||||
|
||||
@@ -30,4 +30,7 @@ public class Partner {
|
||||
private String partnerType; // 客商类型
|
||||
@Schema(description = "境内/外")
|
||||
private String domesticOrOverseas; // 境内/外
|
||||
|
||||
@Schema(description = "erp合同编号")
|
||||
private String erpContractPaperNumber; // erp合同编号
|
||||
}
|
||||
@@ -28,5 +28,6 @@ public interface ErrorCodeConstants {
|
||||
ErrorCode CONTRACT_STATUS_NOT_SUBMIT_ERP = new ErrorCode(1_027_000_013, "{}状态合同不允许提交ERP");
|
||||
ErrorCode CONTRACT_ORDER_EXISTS = new ErrorCode(1_027_000_014, "关联订单已存在");
|
||||
ErrorCode CONTRACT_SUBMIT_ERP_FAIL = new ErrorCode(1_027_000_015, "合同提交erp失败:{}");
|
||||
ErrorCode CONTRACT_UNKNOWN_OPERATE = new ErrorCode(1_027_000_015, "未知的操作");
|
||||
ErrorCode CONTRACT_UNKNOWN_OPERATE = new ErrorCode(1_027_000_016, "未知的操作");
|
||||
ErrorCode CONTRACT_PARTNER_NOT_EXISTS = new ErrorCode(1_027_000_017, "客商信息不存在");
|
||||
}
|
||||
|
||||
@@ -8,6 +8,14 @@ import lombok.Getter;
|
||||
@Getter
|
||||
public enum DictEnum {
|
||||
|
||||
/** 业务类型 */
|
||||
BSN_TP_3("物流合同","3",null),
|
||||
/** ERP合同类型编码 */
|
||||
ERP_CTRT_HTLXBH_SAP02NCOZC("SAP铜非施工合同支出类","SAP02NCOZC",null),
|
||||
/** 交易方式 */
|
||||
HS_PYBL_TP_PRE_PAY("先款后货","PRE_PAY",null),
|
||||
/** ERP合同类别 */
|
||||
ERP_CTRT_HTLB_1("购销合同","1",null),
|
||||
/** ERP请求状态 */
|
||||
ERP_REQ_STS_RLBK("失败","RLBK",null),
|
||||
ERP_REQ_STS_RCVG("执行中","RCVG",null),
|
||||
|
||||
@@ -182,21 +182,55 @@ public class ContractApiImpl implements ContractApi {
|
||||
if (systemRelativityDO == null || systemRelativityDO.getDownId() == null) throw exception(CONTRACT_NOT_EXISTS);
|
||||
contractId = systemRelativityDO.getDownId();
|
||||
contractMainMapper.deleteById(contractId);
|
||||
// 删除动态条款信息
|
||||
contractOtherFormMapper.delete("CTRT_MAIN_ID", contractId.toString());
|
||||
contractOtherFieldMapper.delete("CTRT_MAIN_ID", contractId.toString());
|
||||
return success(true);
|
||||
} else {
|
||||
throw exception(CONTRACT_UNKNOWN_OPERATE);
|
||||
}
|
||||
|
||||
// 提交合同到erp
|
||||
// 生成ERP合同映射表
|
||||
ErpContractSaveReqVO erpContractVO = contractService.getErpContract(contractMainDO);
|
||||
// 根据客商信息列表提交多个合同映射到erp
|
||||
if (reqVO.getPartnerList() == null || reqVO.getPartnerList().isEmpty()) {
|
||||
throw exception(CONTRACT_PARTNER_NOT_EXISTS);
|
||||
}
|
||||
|
||||
// 调用ERP模块
|
||||
JSONObject erpResult = contractService.sendToErp(erpContractVO);
|
||||
log.info("合同提交ERP结果:{}", erpResult);
|
||||
// 合同主信息-合同编号
|
||||
String contractPaperNumber = contractMainDO.getContractPaperNumber();
|
||||
// 合同主信息-合同名称
|
||||
String contractName = contractMainDO.getContractName();
|
||||
for (int i = 0; i < reqVO.getPartnerList().size(); i++) {
|
||||
Partner partner = reqVO.getPartnerList().get(i);
|
||||
|
||||
// 调用ERP失败
|
||||
if (!erpResult.getBool("success")) {
|
||||
throw exception(CONTRACT_SUBMIT_ERP_FAIL, erpResult.getStr("errMsg"));
|
||||
// 根据客商信息设置合同信息
|
||||
// 合同编号
|
||||
contractMainDO.setContractPaperNumber(contractPaperNumber + "_" + String.format("%03d", (i+1)));
|
||||
reqVO.getPartnerList().get(i)
|
||||
.setErpContractPaperNumber(contractPaperNumber + "_" + String.format("%03d", (i+1)));
|
||||
// 合同名称
|
||||
contractMainDO.setContractName(contractName + "_" + String.format("%03d", (i+1)));
|
||||
// 境内/境外 -> 客商信息:境内/外
|
||||
contractMainDO.setIsDomestic(partner.getDomesticOrOverseas());
|
||||
// 乙方公司编号(销售方) -> 客商信息:供应商代码
|
||||
contractMainDO.setSalesCompanyNumber(partner.getPartnerCode());
|
||||
// ERP乙方公司编码
|
||||
contractMainDO.setErpSalesCompanyNumber(partner.getPartnerCode());
|
||||
// 乙方公司名称 -> 客商信息:供应商名称
|
||||
contractMainDO.setSalesCompanyName(partner.getPartnerName());
|
||||
// ERP乙方公司名称
|
||||
contractMainDO.setErpSalesCompanyName(partner.getPartnerName());
|
||||
|
||||
// 生成ERP合同映射表
|
||||
ErpContractSaveReqVO erpContractVO = contractService.getErpContract(contractMainDO);
|
||||
|
||||
// 调用ERP模块
|
||||
JSONObject erpResult = contractService.sendToErp(erpContractVO);
|
||||
log.info("合同提交ERP结果:{}", erpResult);
|
||||
|
||||
// 调用ERP失败
|
||||
if (!erpResult.getBool("success")) {
|
||||
throw exception(CONTRACT_SUBMIT_ERP_FAIL, erpResult.getStr("errMsg"));
|
||||
}
|
||||
}
|
||||
|
||||
// 删除动态条款信息
|
||||
@@ -335,22 +369,25 @@ public class ContractApiImpl implements ContractApi {
|
||||
}
|
||||
return CommonResult.success(purchaseOrderDetails);
|
||||
}
|
||||
|
||||
private ContractMainDO getcontractMainDO(ContractRequest reqVO) {
|
||||
|
||||
// 合同主信息表映射
|
||||
ContractMainDO contractMainDO = new ContractMainDO();
|
||||
// 系统合同编号
|
||||
contractMainDO.setSystemContractNumber(contractService.generateSystemContractNumber(DictEnum.ERP_CTRT_HTLXBH_SAP02NCOZC.getCode()));
|
||||
// 合同编号
|
||||
contractMainDO.setContractPaperNumber(reqVO.getContractCode());
|
||||
// 合同名称
|
||||
contractMainDO.setContractName(reqVO.getContractName());
|
||||
// 施工类型编号 默认值:SAP02NCOZC
|
||||
contractMainDO.setConstructionTypeNumber("SAP02NCOZC");
|
||||
contractMainDO.setConstructionTypeNumber(DictEnum.ERP_CTRT_HTLXBH_SAP02NCOZC.getCode());
|
||||
// 施工类型名称 默认值:铜非施工合同支出类
|
||||
contractMainDO.setConstructionTypeName("SAP铜非施工合同支出类");
|
||||
contractMainDO.setConstructionTypeName(DictEnum.ERP_CTRT_HTLXBH_SAP02NCOZC.getLabel());
|
||||
// 类别 默认值:购销合同(1)
|
||||
contractMainDO.setCategory("1");
|
||||
contractMainDO.setCategory(DictEnum.ERP_CTRT_HTLB_1.getCode());
|
||||
// 是否虚拟合同 默认值:否(0)
|
||||
contractMainDO.setContractVirtual("0");
|
||||
contractMainDO.setContractVirtual(DictEnum.ERP_CTRT_YN_NO.getCode());
|
||||
// 代理方 默认值:NULL
|
||||
// 签署日期 -> 签约日期 (40-签约必填, 格式: yyyyMMdd)
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
|
||||
@@ -372,11 +409,11 @@ public class ContractApiImpl implements ContractApi {
|
||||
// 状态 默认值:正在执行(EF) 执行中
|
||||
contractMainDO.setStatus(DictEnum.BSE_CTRT_STS_IN_PROGRESS.getCode());
|
||||
// 是否有预付款 默认值:否
|
||||
contractMainDO.setHasPrepayment("0");
|
||||
contractMainDO.setHasPrepayment(DictEnum.ERP_CTRT_YN_NO.getCode());
|
||||
// 预付款比例 默认值:NULL
|
||||
// 预付款金额 默认值:NULL
|
||||
// 是否有质保金 默认值:否
|
||||
contractMainDO.setHasQualityAmount("0");
|
||||
contractMainDO.setHasQualityAmount(DictEnum.ERP_CTRT_YN_NO.getCode());
|
||||
// 质保金比例 默认值:NULL
|
||||
// 质保金金额 默认值:NULL
|
||||
// 是否内部企业
|
||||
@@ -385,20 +422,16 @@ public class ContractApiImpl implements ContractApi {
|
||||
contractMainDO.setDirection(DictEnum.ERP_RCV_DLVY_EXPENSES.getCode());
|
||||
// 是否框架合同
|
||||
contractMainDO.setIsFramework(reqVO.getIsFramework());
|
||||
// 境内/境外 -> 客商信息:境内/外
|
||||
if (reqVO.getPartnerList() != null && !reqVO.getPartnerList().isEmpty()) {
|
||||
contractMainDO.setIsDomestic(reqVO.getPartnerList().get(0).getDomesticOrOverseas());
|
||||
}
|
||||
// 建筑服务发生地 默认值:NULL
|
||||
// 达到收款条件金额 默认值:NULL
|
||||
// 是否有履约保证金 默认值:否
|
||||
contractMainDO.setHasDeposit("0");
|
||||
contractMainDO.setHasDeposit(DictEnum.ERP_CTRT_YN_NO.getCode());
|
||||
// 原币履约保证金 默认值:NULL
|
||||
// 本币履约保证金 默认值:NULL
|
||||
// 交易方式 默认值:先款后货
|
||||
contractMainDO.setHasPayable("PRE_PAY");
|
||||
contractMainDO.setHasPayable(DictEnum.HS_PYBL_TP_PRE_PAY.getCode());
|
||||
// 合同类型 默认值:物流合同
|
||||
contractMainDO.setContractType("3");
|
||||
contractMainDO.setContractType(DictEnum.BSN_TP_3.getCode());
|
||||
// 签署地 -> 签约地 (40-签约必填)
|
||||
contractMainDO.setSignPlace(reqVO.getSignSite());
|
||||
// 甲方公司编号(采购方) -> 账套代码
|
||||
@@ -410,18 +443,6 @@ public class ContractApiImpl implements ContractApi {
|
||||
contractMainDO.setErpPurchaseCompanyName("");
|
||||
// 甲方地址 默认值:NULL
|
||||
// 甲方法定代表人 默认值:NULL
|
||||
// 乙方公司编号(销售方) -> 客商信息:供应商代码
|
||||
if (reqVO.getPartnerList() != null && !reqVO.getPartnerList().isEmpty()) {
|
||||
contractMainDO.setSalesCompanyNumber(reqVO.getPartnerList().get(0).getPartnerCode());
|
||||
// ERP乙方公司编码
|
||||
contractMainDO.setErpSalesCompanyNumber(reqVO.getPartnerList().get(0).getPartnerCode());
|
||||
}
|
||||
// 乙方公司名称 -> 客商信息:供应商名称
|
||||
if (reqVO.getPartnerList() != null && !reqVO.getPartnerList().isEmpty()) {
|
||||
contractMainDO.setSalesCompanyName(reqVO.getPartnerList().get(0).getPartnerName());
|
||||
// ERP乙方公司名称
|
||||
contractMainDO.setErpSalesCompanyName(reqVO.getPartnerList().get(0).getPartnerName());
|
||||
}
|
||||
// 乙方地址 默认值:NULL
|
||||
// 乙方企业负责人 默认值:NULL
|
||||
|
||||
|
||||
@@ -150,7 +150,7 @@ public class PrchOrdDtlSaveReqVO {
|
||||
private String isEnb;
|
||||
|
||||
@Schema(description = "科目分配详情;科目分配类别为K或P时使用(JSON)")
|
||||
private JSONObject actsCtgrDtl;
|
||||
private String actsCtgrDtl;
|
||||
|
||||
@Schema(description = "委托加工详情;委托加工订单使用(JSON)")
|
||||
private String enttDtl;
|
||||
|
||||
@@ -30,7 +30,7 @@ public class PurchaseOrderSaveReqVO {
|
||||
|
||||
@Schema(description = "公司编码;推送ERP(必须)", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "公司编码;推送ERP(必须)不能为空")
|
||||
private String companyNumber;
|
||||
private String cpNum;
|
||||
|
||||
@Schema(description = "客商编码;推送ERP(必须)", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "客商编码;推送ERP(必须)不能为空")
|
||||
|
||||
@@ -19,7 +19,7 @@ public class SalesOrderDetailSaveReqVO {
|
||||
|
||||
@Schema(description = "行项目;推送ERP(必须)", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "行项目;推送ERP(必须)不能为空")
|
||||
private Long lineNumber;
|
||||
private Long lineNumber;
|
||||
|
||||
@Schema(description = "物料名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
|
||||
@NotEmpty(message = "物料名称不能为空")
|
||||
@@ -47,7 +47,7 @@ public class SalesOrderDetailSaveReqVO {
|
||||
|
||||
@Schema(description = "计量单位;推送ERP(必须)", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "计量单位;推送ERP(必须)不能为空")
|
||||
private String unit;
|
||||
private String unt;
|
||||
|
||||
@Schema(description = "开票类型;推送ERP(必须)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||
@NotEmpty(message = "开票类型;推送ERP(必须)不能为空")
|
||||
|
||||
@@ -207,4 +207,6 @@ public interface ContractService {
|
||||
JSONObject sendToErp(ErpContractSaveReqVO erpContractVO);
|
||||
|
||||
ErpContractSaveReqVO getErpContract(ContractMainDO contractMainDO);
|
||||
|
||||
String generateSystemContractNumber(String category);
|
||||
}
|
||||
|
||||
@@ -26,11 +26,13 @@ import com.zt.plat.module.contractorder.api.dto.contract.*;
|
||||
import com.zt.plat.module.contractorder.api.vo.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.enums.*;
|
||||
import com.zt.plat.module.contractorder.enums.DateConstants;
|
||||
import com.zt.plat.module.contractorder.enums.DictTypeConstants;
|
||||
import com.zt.plat.module.contractorder.enums.ProcessConstants;
|
||||
import com.zt.plat.module.contractorder.enums.TableFieldConstants;
|
||||
import com.zt.plat.module.contractorder.enums.contract.DictEnum;
|
||||
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpContractPageReqVO;
|
||||
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpContractSaveReqVO;
|
||||
import com.zt.plat.module.erp.dal.dataobject.erp.ErpCompanyDO;
|
||||
import com.zt.plat.module.erp.dal.dataobject.erp.ErpContractDO;
|
||||
import com.zt.plat.module.erp.service.erp.ErpCompanyService;
|
||||
import com.zt.plat.module.erp.service.erp.ErpContractService;
|
||||
@@ -145,30 +147,14 @@ public class ContractServiceImpl implements ContractService {
|
||||
// 合同主信息
|
||||
ContractMainDO contractMainDO = BeanUtils.toBean(reqVO, ContractMainDO.class);
|
||||
|
||||
// 校验ERP的公司
|
||||
if (StringUtils.isNotEmpty(reqVO.getPurchaseCompanyNumber())
|
||||
|| StringUtils.isNotEmpty(reqVO.getSalesCompanyNumber())) {
|
||||
if (StringUtils.isNotEmpty(reqVO.getPurchaseCompanyNumber())) {
|
||||
ErpCompanyDO erpCompany = erpCompanyService.getErpCompanyByNumber(reqVO.getPurchaseCompanyNumber());
|
||||
if (erpCompany == null) {
|
||||
throw exception(CONTRACT_ERP_COMPANY_PLEASE_BIND, ApiConstants.PURCHASE);
|
||||
} else {
|
||||
contractMainDO.setErpPurchaseCompanyNumber(erpCompany.getNumber());
|
||||
contractMainDO.setErpPurchaseCompanyName(erpCompany.getName());
|
||||
}
|
||||
}
|
||||
if (StringUtils.isNotEmpty(reqVO.getSalesCompanyNumber())) {
|
||||
ErpCompanyDO erpCompany = erpCompanyService.getErpCompanyByNumber(reqVO.getSalesCompanyNumber());
|
||||
if (erpCompany == null) {
|
||||
throw exception(CONTRACT_ERP_COMPANY_PLEASE_BIND, ApiConstants.SALES);
|
||||
} else {
|
||||
contractMainDO.setErpSalesCompanyNumber(erpCompany.getNumber());
|
||||
contractMainDO.setErpSalesCompanyName(erpCompany.getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ERP甲方公司编号
|
||||
contractMainDO.setErpPurchaseCompanyNumber(reqVO.getPurchaseCompanyNumber());
|
||||
// ERP甲方公司名称
|
||||
contractMainDO.setErpPurchaseCompanyName(reqVO.getPurchaseCompanyName());
|
||||
// ERP乙方公司编码
|
||||
contractMainDO.setErpSalesCompanyNumber(reqVO.getSalesCompanyNumber());
|
||||
// ERP乙方公司名称
|
||||
contractMainDO.setErpSalesCompanyName(reqVO.getSalesCompanyName());
|
||||
// 合同状态保存为草稿
|
||||
contractMainDO.setStatus(DictEnum.BSE_CTRT_STS_DRAFT.getCode());
|
||||
// 生成系统合同编号
|
||||
@@ -731,28 +717,14 @@ public class ContractServiceImpl implements ContractService {
|
||||
// 请求更新的合同信息
|
||||
ContractMainDO newContractMainDO = BeanUtils.toBean(reqVO, ContractMainDO.class);
|
||||
|
||||
// 校验ERP的公司
|
||||
if (StringUtils.isNotEmpty(reqVO.getPurchaseCompanyNumber())
|
||||
|| StringUtils.isNotEmpty(reqVO.getSalesCompanyNumber())) {
|
||||
if (StringUtils.isNotEmpty(reqVO.getPurchaseCompanyNumber())) {
|
||||
ErpCompanyDO erpCompany = erpCompanyService.getErpCompanyByNumber(reqVO.getPurchaseCompanyNumber());
|
||||
if (erpCompany == null) {
|
||||
throw exception(CONTRACT_ERP_COMPANY_PLEASE_BIND, ApiConstants.PURCHASE);
|
||||
} else {
|
||||
newContractMainDO.setErpPurchaseCompanyNumber(erpCompany.getNumber());
|
||||
newContractMainDO.setErpPurchaseCompanyName(erpCompany.getName());
|
||||
}
|
||||
}
|
||||
if (StringUtils.isNotEmpty(reqVO.getSalesCompanyNumber())) {
|
||||
ErpCompanyDO erpCompany = erpCompanyService.getErpCompanyByNumber(reqVO.getSalesCompanyNumber());
|
||||
if (erpCompany == null) {
|
||||
throw exception(CONTRACT_ERP_COMPANY_PLEASE_BIND, ApiConstants.SALES);
|
||||
} else {
|
||||
newContractMainDO.setErpSalesCompanyNumber(erpCompany.getNumber());
|
||||
newContractMainDO.setErpSalesCompanyName(erpCompany.getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
// ERP甲方公司编号
|
||||
newContractMainDO.setErpPurchaseCompanyNumber(reqVO.getPurchaseCompanyNumber());
|
||||
// ERP甲方公司名称
|
||||
newContractMainDO.setErpPurchaseCompanyName(reqVO.getPurchaseCompanyName());
|
||||
// ERP乙方公司编码
|
||||
newContractMainDO.setErpSalesCompanyNumber(reqVO.getSalesCompanyNumber());
|
||||
// ERP乙方公司名称
|
||||
newContractMainDO.setErpSalesCompanyName(reqVO.getSalesCompanyName());
|
||||
|
||||
// 删除关联信息
|
||||
// 查询合同明细
|
||||
@@ -1635,7 +1607,7 @@ public class ContractServiceImpl implements ContractService {
|
||||
operationId = "1";
|
||||
} else {
|
||||
// 3、如果009接口返回值中“合同编号”字段不存在值,根据合同主键查询映射表中是否存在没有删除的数据,如果有,值为“1”,如果没有,值为“0”
|
||||
ErpContractDO erpContract = erpContractService.getErpContractByMainId(contractMainDO.getId());
|
||||
ErpContractDO erpContract = erpContractService.getErpContractByPaperNumber(contractMainDO.getContractPaperNumber());
|
||||
if (erpContract != null) {
|
||||
operationId = "1";
|
||||
} else {
|
||||
@@ -1971,7 +1943,8 @@ public class ContractServiceImpl implements ContractService {
|
||||
*
|
||||
* @return 系统合同编号
|
||||
*/
|
||||
private String generateSystemContractNumber(String category) {
|
||||
@Override
|
||||
public String generateSystemContractNumber(String category) {
|
||||
|
||||
// 单据名称(拼音)
|
||||
String documentName = "XTHT";
|
||||
|
||||
@@ -555,6 +555,7 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor=Exception.class)
|
||||
public boolean orderPassReject(PurchaseorderReqVO purchaseorderReqVO) {
|
||||
PurchaseOrderDO purchaseOrderDO = purchaseOrderMapper.selectById(purchaseorderReqVO.getId());
|
||||
if (ObjectUtils.isEmpty(purchaseOrderDO)) {
|
||||
@@ -570,9 +571,9 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
||||
badrDto.setTaskId(undoTask.getId()); // 当前审核任务节点id
|
||||
BpmApprovalDetailRespDTO approvalDetail = bpmProcessInstanceApi.getApprovalDetail(SecurityFrameworkUtils.getLoginUserId(), badrDto).getData();
|
||||
//如果审核通过
|
||||
if (BpmProcessInstanceStatusEnum.APPROVE.getStatus().equals(approvalDetail.getStatus())) {
|
||||
if ("WAIT_PUSH".equals(purchaseorderReqVO.getStatus())) {
|
||||
purchaseOrderDO.setStatus(OrderStatusEnum.TO_SUBMIT_ERP.getCode());
|
||||
} else if (BpmProcessInstanceStatusEnum.REJECT.getStatus().equals(approvalDetail.getStatus())) {
|
||||
} else {
|
||||
//如果审核不通过
|
||||
purchaseOrderDO.setStatus(OrderStatusEnum.DRAFT.getCode());
|
||||
}
|
||||
@@ -582,7 +583,6 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
||||
purchaseOrderDO.setTaskId(undoTask.getId());
|
||||
}
|
||||
purchaseOrderMapper.updateById(purchaseOrderDO); //更新状态
|
||||
|
||||
// 需要调用bpm 审核接口更新审批中的状态
|
||||
if (DictEnum.BSE_CTRT_STS_WAIT_PUSH.getCode().equals(purchaseorderReqVO.getStatus()) && ObjectUtils.isNotEmpty(undoTask)) {
|
||||
if (approvalDetail.getStatus().equals(BpmProcessInstanceStatusEnum.RUNNING.getStatus())) {
|
||||
@@ -599,7 +599,7 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
||||
bpmProcessInstanceApi.rejectTask(btrrDto);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -328,9 +328,9 @@ public class SalesOrderServiceImpl implements SalesOrderService {
|
||||
badrDto.setTaskId(undoTask.getId()); // 当前审核任务节点id
|
||||
BpmApprovalDetailRespDTO approvalDetail = bpmProcessInstanceApi.getApprovalDetail(SecurityFrameworkUtils.getLoginUserId(), badrDto).getData();
|
||||
//如果审核通过
|
||||
if (BpmProcessInstanceStatusEnum.APPROVE.getStatus().equals(approvalDetail.getStatus())) {
|
||||
if ("WAIT_PUSH".equals(salesOrderReviewReqVO.getStatus())) {
|
||||
salesOrderDO.setStatus(OrderStatusEnum.TO_SUBMIT_ERP.getCode());
|
||||
} else if (BpmProcessInstanceStatusEnum.REJECT.getStatus().equals(approvalDetail.getStatus())) {
|
||||
} else {
|
||||
//如果审核不通过
|
||||
salesOrderDO.setStatus(OrderStatusEnum.DRAFT.getCode());
|
||||
}
|
||||
@@ -357,7 +357,7 @@ public class SalesOrderServiceImpl implements SalesOrderService {
|
||||
bpmProcessInstanceApi.rejectTask(btrrDto);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -55,12 +55,12 @@ public interface ErpContractService {
|
||||
ErpContractDO getErpContract(Long id);
|
||||
|
||||
/**
|
||||
* 获得ERP合同映射通过合同主信息主键
|
||||
* 获得ERP合同映射通过合同编号
|
||||
*
|
||||
* @param contractMainId 合同主信息主键
|
||||
* @param paperNumber 合同编号
|
||||
* @return ERP合同映射
|
||||
*/
|
||||
ErpContractDO getErpContractByMainId(Long contractMainId);
|
||||
ErpContractDO getErpContractByPaperNumber(String paperNumber);
|
||||
|
||||
/**
|
||||
* 获得ERP合同映射分页
|
||||
|
||||
@@ -104,8 +104,8 @@ public class ErpContractServiceImpl implements ErpContractService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ErpContractDO getErpContractByMainId(Long contractMainId) {
|
||||
return erpContractMapper.selectOne("CTRT_MAIN_ID", contractMainId);
|
||||
public ErpContractDO getErpContractByPaperNumber(String paperNumber) {
|
||||
return erpContractMapper.selectOne("CTRT_PPR_NUM", paperNumber);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -231,8 +231,8 @@ public class ErpContractServiceImpl implements ErpContractService {
|
||||
// 转换为DO
|
||||
ErpContractDO erpContract = BeanUtils.toBean(erpContractVO, ErpContractDO.class);
|
||||
|
||||
// 根据合同主信息ID查询合同映射
|
||||
ErpContractDO erpContractDO = getErpContractByMainId(erpContract.getContractMainId());
|
||||
// 根据合同编号查询合同映射
|
||||
ErpContractDO erpContractDO = getErpContractByPaperNumber(erpContract.getContractPaperNumber());
|
||||
if (erpContractDO == null) {
|
||||
// 不存在映射表则新增
|
||||
erpContract.setDeleted(false);
|
||||
|
||||
Reference in New Issue
Block a user