合同内容校验

This commit is contained in:
guojunyun
2025-09-29 17:57:59 +08:00
parent a596b6f320
commit 1d9521b0d1
2 changed files with 17 additions and 16 deletions

View File

@@ -192,6 +192,7 @@ public class ContractSaveReqVO {
@Schema(description = "代理方;与ERP(ZLIFNR)对应,拓展信息", example = "代理方")
private String agent;
@NotBlank(message = "合同类别不能为空")
@Schema(description = "类别;与ERP(HTLB)对应,拓展信息", example = "PROCESSING")
private String category;

View File

@@ -112,7 +112,7 @@ public class ContractServiceImpl implements ContractService {
// 合同状态保存为草稿
contractMainDO.setStatus(ContractStatusEnum.DRAFT.getCode());
// 生成系统合同编号
contractMainDO.setSystemContractNumber(generateSystemContractNumber(reqVO.getContractType()));
contractMainDO.setSystemContractNumber(generateSystemContractNumber(reqVO.getCategory()));
// 保存合同主信息
contractMainMapper.insert(contractMainDO);
@@ -639,15 +639,15 @@ public class ContractServiceImpl implements ContractService {
throw exception(CONTRACT_DATA_NOT_EXISTS, TableFieldConstants.BSE_CTRT_MAIN_DRCT_LABEL);
}
// 签署日期不能为空
if (contract.getSignDate() != null) {
if (contract.getSignDate() == null) {
throw exception(CONTRACT_DATA_NOT_EXISTS, TableFieldConstants.BSE_CTRT_MAIN_SGN_DT_LABEL);
}
// 开始日期不能为空
if (contract.getStartDate() != null) {
if (contract.getStartDate() == null) {
throw exception(CONTRACT_DATA_NOT_EXISTS, TableFieldConstants.BSE_CTRT_MAIN_STRT_DT_LABEL);
}
// 结束日期不能为空
if (contract.getEndDate() != null) {
if (contract.getEndDate() == null) {
throw exception(CONTRACT_DATA_NOT_EXISTS, TableFieldConstants.BSE_CTRT_MAIN_END_DT_LABEL);
}
// 签署地不能为空
@@ -661,11 +661,11 @@ public class ContractServiceImpl implements ContractService {
throw exception(CONTRACT_DATA_NOT_EXISTS, TableFieldConstants.BSE_CTRT_MAIN_CUR_LABEL);
}
// 本币金额不能为空
if (contract.getBasicAmount() != null) {
if (contract.getBasicAmount() == null) {
throw exception(CONTRACT_DATA_NOT_EXISTS, TableFieldConstants.BSE_CTRT_MAIN_BSC_AMT_LABEL);
}
// 原币金额不能为空
if (contract.getCooAmount() != null) {
if (contract.getCooAmount() == null) {
throw exception(CONTRACT_DATA_NOT_EXISTS, TableFieldConstants.BSE_CTRT_MAIN_COO_AMT_LABEL);
}
// 是否有履约保证金不能为空
@@ -675,11 +675,11 @@ public class ContractServiceImpl implements ContractService {
// 是否有履约保证金为是的情况
if (ErpCtrtYesNoEnum.YES.getCode().equals(contract.getHasDeposit())) {
// 原币履约保证金不能为空
if (contract.getCooAmountDeposit() != null) {
if (contract.getCooAmountDeposit() == null) {
throw exception(CONTRACT_DATA_NOT_EXISTS, TableFieldConstants.BSE_CTRT_MAIN_COO_AMT_DPST_LABEL);
}
// 本币履约保证金不能为空
if (contract.getBasicAmountDeposit() != null) {
if (contract.getBasicAmountDeposit() == null) {
throw exception(CONTRACT_DATA_NOT_EXISTS, TableFieldConstants.BSE_CTRT_MAIN_BSC_AMT_DPST_LABEL);
}
}
@@ -690,11 +690,11 @@ public class ContractServiceImpl implements ContractService {
// 是否有预付款为是的情况
if (ErpCtrtYesNoEnum.YES.getCode().equals(contract.getHasPrepayment())) {
// 预付款比例不能为空
if (contract.getPrepaymentRatio() != null) {
if (contract.getPrepaymentRatio() == null) {
throw exception(CONTRACT_DATA_NOT_EXISTS, TableFieldConstants.BSE_CTRT_MAIN_PPYM_RTIO_LABEL);
}
// 预付款金额不能为空
if (contract.getPrepaymentAmount() != null) {
if (contract.getPrepaymentAmount() == null) {
throw exception(CONTRACT_DATA_NOT_EXISTS, TableFieldConstants.BSE_CTRT_MAIN_PPYM_AMT_LABEL);
}
}
@@ -705,11 +705,11 @@ public class ContractServiceImpl implements ContractService {
// 是否有质保金为是的情况
if (ErpCtrtYesNoEnum.YES.getCode().equals(contract.getHasPrepayment())) {
// 质保金比例不能为空
if (contract.getQualityRatio() != null) {
if (contract.getQualityRatio() == null) {
throw exception(CONTRACT_DATA_NOT_EXISTS, TableFieldConstants.BSE_CTRT_MAIN_QLT_RTIO_LABEL);
}
// 质保金金额不能为空
if (contract.getQualityAmount() != null) {
if (contract.getQualityAmount() == null) {
throw exception(CONTRACT_DATA_NOT_EXISTS, TableFieldConstants.BSE_CTRT_MAIN_QLT_AMT_LABEL);
}
}
@@ -726,7 +726,7 @@ public class ContractServiceImpl implements ContractService {
throw exception(CONTRACT_DATA_NOT_EXISTS, TableFieldConstants.BSE_CTRT_DTL_MTRL_NAME_LABEL);
}
// 数量不能为空
if (detail.getQuantity() != null) {
if (detail.getQuantity() == null) {
throw exception(CONTRACT_DATA_NOT_EXISTS, TableFieldConstants.BSE_CTRT_DTL_QTY_LABEL);
}
// 计量单位不能为空
@@ -770,11 +770,11 @@ public class ContractServiceImpl implements ContractService {
* 单据名称(拼音)-类型-公司编码-年月日-六位编号
* 如请款单: QKD-ZGQK-3000-20250915-00001
*
* @param contractType 合同类
* @param category 合同类
*
* @return 系统合同编号
*/
private String generateSystemContractNumber(String contractType) {
private String generateSystemContractNumber(String category) {
// 单据名称(拼音)
String documentName = "XTHT";
@@ -784,7 +784,7 @@ public class ContractServiceImpl implements ContractService {
String yearMounth8Bit = LocalDate.now()
.format(DateTimeFormatter.ofPattern(DateConstants.DATE_FORMAT_YEAR_MONTH_DAY_8_BIT));
// 查询最大编号
String numPrefix = documentName+"-"+contractType+"-"+companyId+"-"+yearMounth8Bit;
String numPrefix = documentName+"-"+category+"-"+companyId+"-"+yearMounth8Bit;
QueryWrapper<ContractMainDO> queryWrapper = new QueryWrapper<>();
queryWrapper.likeRight("SYS_CTRT_NUM", numPrefix);
queryWrapper.orderByDesc("SYS_CTRT_NUM");