合同内容校验
This commit is contained in:
@@ -192,6 +192,7 @@ public class ContractSaveReqVO {
|
|||||||
@Schema(description = "代理方;与ERP(ZLIFNR)对应,拓展信息", example = "代理方")
|
@Schema(description = "代理方;与ERP(ZLIFNR)对应,拓展信息", example = "代理方")
|
||||||
private String agent;
|
private String agent;
|
||||||
|
|
||||||
|
@NotBlank(message = "合同类别不能为空")
|
||||||
@Schema(description = "类别;与ERP(HTLB)对应,拓展信息", example = "PROCESSING")
|
@Schema(description = "类别;与ERP(HTLB)对应,拓展信息", example = "PROCESSING")
|
||||||
private String category;
|
private String category;
|
||||||
|
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ public class ContractServiceImpl implements ContractService {
|
|||||||
// 合同状态保存为草稿
|
// 合同状态保存为草稿
|
||||||
contractMainDO.setStatus(ContractStatusEnum.DRAFT.getCode());
|
contractMainDO.setStatus(ContractStatusEnum.DRAFT.getCode());
|
||||||
// 生成系统合同编号
|
// 生成系统合同编号
|
||||||
contractMainDO.setSystemContractNumber(generateSystemContractNumber(reqVO.getContractType()));
|
contractMainDO.setSystemContractNumber(generateSystemContractNumber(reqVO.getCategory()));
|
||||||
|
|
||||||
// 保存合同主信息
|
// 保存合同主信息
|
||||||
contractMainMapper.insert(contractMainDO);
|
contractMainMapper.insert(contractMainDO);
|
||||||
@@ -639,15 +639,15 @@ public class ContractServiceImpl implements ContractService {
|
|||||||
throw exception(CONTRACT_DATA_NOT_EXISTS, TableFieldConstants.BSE_CTRT_MAIN_DRCT_LABEL);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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 (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);
|
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);
|
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 (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);
|
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);
|
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 (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);
|
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);
|
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);
|
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);
|
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
|
* 如请款单: QKD-ZGQK-3000-20250915-00001
|
||||||
*
|
*
|
||||||
* @param contractType 合同类型
|
* @param category 合同类别
|
||||||
*
|
*
|
||||||
* @return 系统合同编号
|
* @return 系统合同编号
|
||||||
*/
|
*/
|
||||||
private String generateSystemContractNumber(String contractType) {
|
private String generateSystemContractNumber(String category) {
|
||||||
|
|
||||||
// 单据名称(拼音)
|
// 单据名称(拼音)
|
||||||
String documentName = "XTHT";
|
String documentName = "XTHT";
|
||||||
@@ -784,7 +784,7 @@ public class ContractServiceImpl implements ContractService {
|
|||||||
String yearMounth8Bit = LocalDate.now()
|
String yearMounth8Bit = LocalDate.now()
|
||||||
.format(DateTimeFormatter.ofPattern(DateConstants.DATE_FORMAT_YEAR_MONTH_DAY_8_BIT));
|
.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<ContractMainDO> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.likeRight("SYS_CTRT_NUM", numPrefix);
|
queryWrapper.likeRight("SYS_CTRT_NUM", numPrefix);
|
||||||
queryWrapper.orderByDesc("SYS_CTRT_NUM");
|
queryWrapper.orderByDesc("SYS_CTRT_NUM");
|
||||||
|
|||||||
Reference in New Issue
Block a user