修改合同接口
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
package com.zt.plat.module.contractorder.enums.contract;
|
||||
package com.zt.plat.module.contractorder.enums;
|
||||
|
||||
public class DateConstants {
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package com.zt.plat.module.contractorder.enums.contract;
|
||||
package com.zt.plat.module.contractorder.enums;
|
||||
|
||||
/**
|
||||
* 合同字典类型常量
|
||||
*
|
||||
* @author ZT
|
||||
*/
|
||||
public class ContractDictTypeConstants {
|
||||
public class DictTypeConstants {
|
||||
|
||||
// 合同状态
|
||||
public static String BSE_CTRT_STS = "BSE_CTRT_STS";
|
||||
@@ -16,4 +16,6 @@ public interface ErrorCodeConstants {
|
||||
ErrorCode CONTRACT_NAME_EXISTS = new ErrorCode(1_027_000_001, "合同名已存在");
|
||||
ErrorCode CONTRACT_PAPER_NUMBER_EXISTS = new ErrorCode(1_027_000_002, "合同编号已存在");
|
||||
ErrorCode CONTRACT_NOT_EXISTS = new ErrorCode(1_027_000_003, "合同不存在");
|
||||
ErrorCode CONTRACT_ID_NOT_EXISTS = new ErrorCode(1_027_000_004, "合同主键为空");
|
||||
ErrorCode CONTRACT_STATUS_NOT_UPDATE = new ErrorCode(1_027_000_004, "{}合同不允许修改");
|
||||
}
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
package com.zt.plat.module.contractorder.enums;
|
||||
|
||||
/**
|
||||
* 表字段常量
|
||||
*
|
||||
* @author ZT
|
||||
*/
|
||||
public class TableFieldConstants {
|
||||
|
||||
// 表主键
|
||||
public static final String ID = "ID";
|
||||
|
||||
/* 合同主信息表 */
|
||||
// 合同名称;与ERP(HTMC)对应,校验唯一
|
||||
public static final String BSE_CTRT_MAIN_CTRT_NAME = "CTRT_NAME";
|
||||
// 合同编号;与ERP(HTBH)对应,校验唯一
|
||||
public static final String BSE_CTRT_MAIN_CTRT_PPR_NUM = "CTRT_PPR_NUM";
|
||||
|
||||
/* 合同明细表 */
|
||||
// 合同主信息主键
|
||||
public static final String BSE_CTRT_DTL_CTRT_MAIN_ID = "CTRT_MAIN_ID";
|
||||
|
||||
/* 交货计划条款表 */
|
||||
// 合同明细主键
|
||||
public static final String BSE_CTRT_PLN_CTRT_DTL_ID = "CTRT_DTL_ID";
|
||||
|
||||
/* 价款结算条款表 */
|
||||
// 合同明细主键
|
||||
public static final String BSE_CTRT_FMU_CTRT_DTL_ID = "CTRT_DTL_ID";
|
||||
|
||||
/* 基础系数配置表 */
|
||||
// 条款主键
|
||||
public static final String BSE_CTRT_COEF_FMU_ID = "FMU_ID";
|
||||
|
||||
/* 品位等级价配置表 */
|
||||
// 条款主键
|
||||
public static final String BSE_CTRT_GRD_FMU_ID = "FMU_ID";
|
||||
|
||||
/* 调整价配置表 */
|
||||
// 条款主键
|
||||
public static final String BSE_CTRT_DDCT_FMU_ID = "FMU_ID";
|
||||
|
||||
/* 市场价配置表 */
|
||||
// 条款主键
|
||||
public static final String BSE_CTRT_PRC_FMU_ID = "FMU_ID";
|
||||
|
||||
/* 品位不计价配置表 */
|
||||
// 条款主键
|
||||
public static final String BSE_CTRT_NT_FMU_ID = "FMU_ID";
|
||||
|
||||
/* 实例字段值表 */
|
||||
// 关联实例主键
|
||||
public static final String BSE_TMPL_INSC_DAT_INSC_ID = "INSC_ID";
|
||||
|
||||
/* 实例条款值表 */
|
||||
// 关联实例主键
|
||||
public static final String BSE_TMPL_INSC_ITM_INSC_ID = "INSC_ID";
|
||||
}
|
||||
@@ -57,12 +57,11 @@ public class ContractController implements BusinessControllerMarker {
|
||||
return success(contractViewRespVO);
|
||||
}
|
||||
|
||||
// TODO
|
||||
@PutMapping("update")
|
||||
@Operation(summary = "修改合同")
|
||||
@PreAuthorize("@ss.hasPermission('system:contract:update')")
|
||||
public CommonResult<Boolean> update(@Valid @RequestBody ContractSaveReqVO reqVO) {
|
||||
return success(true);
|
||||
return success(contractService.update(reqVO));
|
||||
}
|
||||
|
||||
// TODO
|
||||
|
||||
@@ -33,7 +33,7 @@ public class ContractFormulaSaveReqVO {
|
||||
private String materialNumber;
|
||||
|
||||
@Schema(description = "计算小数位")
|
||||
private Long decimalBit;
|
||||
private Long decimalPoint;
|
||||
|
||||
@Schema(description = "金属元素编码")
|
||||
private String elementNumber;
|
||||
@@ -44,6 +44,9 @@ public class ContractFormulaSaveReqVO {
|
||||
@Schema(description = "金属元素名称", example = "金属元素名称")
|
||||
private String elementName;
|
||||
|
||||
@Schema(description = "结算类型,多条使用逗号分隔(字典:PRCH_STLM_TP)", example = "LST")
|
||||
private String settlementType;
|
||||
|
||||
// 基础系数配置
|
||||
private List<ContractCoefficientSaveReqVO> coefficients;
|
||||
// 品位等级价配置
|
||||
|
||||
@@ -49,5 +49,5 @@ public class ContractPriceSaveReqVO {
|
||||
private String averageType;
|
||||
|
||||
@Schema(description = "网价小数位")
|
||||
private BigDecimal decimalBit;
|
||||
private BigDecimal decimalPoint;
|
||||
}
|
||||
@@ -15,7 +15,7 @@ import java.util.List;
|
||||
@Data
|
||||
public class ContractSaveReqVO {
|
||||
|
||||
@Schema(description = "主键")
|
||||
@Schema(description = "主键,新增时为空,修改时需要有值")
|
||||
@ExcelProperty("主键")
|
||||
private Long id;
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ public class ContractViewFormulaRespVO {
|
||||
private String materialNumber;
|
||||
|
||||
@Schema(description = "计算小数位")
|
||||
private Long decimalBit;
|
||||
private Long decimalPoint;
|
||||
|
||||
@Schema(description = "金属元素编码")
|
||||
private String elementNumber;
|
||||
|
||||
@@ -49,5 +49,5 @@ public class ContractViewPriceRespVO {
|
||||
private String averageType;
|
||||
|
||||
@Schema(description = "网价小数位")
|
||||
private BigDecimal decimalBit;
|
||||
private BigDecimal decimalPoint;
|
||||
}
|
||||
|
||||
@@ -60,8 +60,8 @@ public class ContractFormulaDO extends BusinessBaseDO {
|
||||
/**
|
||||
* 计算小数位
|
||||
*/
|
||||
@TableField("DEC")
|
||||
private Long decimalBit;
|
||||
@TableField("DEC_PNT")
|
||||
private Long decimalPoint;
|
||||
/**
|
||||
* 金属元素编码
|
||||
*/
|
||||
@@ -77,4 +77,9 @@ public class ContractFormulaDO extends BusinessBaseDO {
|
||||
*/
|
||||
@TableField("ELEM_NAME")
|
||||
private String elementName;
|
||||
/**
|
||||
* 结算类型,多条使用逗号分隔(字典:PRCH_STLM_TP)
|
||||
*/
|
||||
@TableField("STLM_TP")
|
||||
private String settlementType;
|
||||
}
|
||||
@@ -93,6 +93,6 @@ public class ContractPriceDO extends BusinessBaseDO {
|
||||
/**
|
||||
* 网价小数位
|
||||
*/
|
||||
@TableField("DEC")
|
||||
private BigDecimal decimalBit;
|
||||
@TableField("DEC_PNT")
|
||||
private BigDecimal decimalPoint;
|
||||
}
|
||||
@@ -25,7 +25,7 @@ public interface ContractService {
|
||||
/**
|
||||
* 新增合同
|
||||
*
|
||||
* @param reqVO 用户信息
|
||||
* @param reqVO 合同信息
|
||||
* @return 合同ID
|
||||
*/
|
||||
Long createContract(@Valid ContractSaveReqVO reqVO);
|
||||
@@ -37,4 +37,12 @@ public interface ContractService {
|
||||
* @return 合同信息
|
||||
*/
|
||||
ContractViewRespVO get(Long id);
|
||||
|
||||
/**
|
||||
* 修改合同
|
||||
*
|
||||
* @param reqVO 合同信息
|
||||
* @return 修改结果
|
||||
*/
|
||||
Boolean update(@Valid ContractSaveReqVO reqVO);
|
||||
}
|
||||
|
||||
@@ -14,8 +14,9 @@ import com.zt.plat.module.base.service.tmpltp.TemplateInstanceDataService;
|
||||
import com.zt.plat.module.contractorder.controller.admin.contract.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.TableFieldConstants;
|
||||
import com.zt.plat.module.contractorder.enums.contract.ContractStatusEnum;
|
||||
import com.zt.plat.module.contractorder.enums.contract.DateConstants;
|
||||
import com.zt.plat.module.contractorder.enums.DateConstants;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -74,14 +75,16 @@ public class ContractServiceImpl implements ContractService {
|
||||
public Long createContract(ContractSaveReqVO reqVO) {
|
||||
|
||||
// 校验合同名称是否存在
|
||||
ContractMainDO contract = contractMainMapper.selectOne("CTRT_NAME", reqVO.getContractName());
|
||||
ContractMainDO contract = contractMainMapper
|
||||
.selectOne(TableFieldConstants.BSE_CTRT_MAIN_CTRT_NAME, reqVO.getContractName());
|
||||
if (contract != null) {
|
||||
throw exception(CONTRACT_NAME_EXISTS);
|
||||
}
|
||||
|
||||
if (StringUtils.isNotEmpty(reqVO.getContractPaperNumber())) {
|
||||
// 校验合同编号是否存在
|
||||
contract = contractMainMapper.selectOne("CTRT_PPR_NUM", reqVO.getContractPaperNumber());
|
||||
contract = contractMainMapper
|
||||
.selectOne(TableFieldConstants.BSE_CTRT_MAIN_CTRT_PPR_NUM, reqVO.getContractPaperNumber());
|
||||
if (contract != null) {
|
||||
throw exception(CONTRACT_PAPER_NUMBER_EXISTS);
|
||||
}
|
||||
@@ -228,20 +231,21 @@ public class ContractServiceImpl implements ContractService {
|
||||
|
||||
// 查询并设置物料信息
|
||||
List<ContractDetailDO> detailDOS = contractDetailMapper
|
||||
.selectList("CTRT_MAIN_ID", contractMainDO.getId());
|
||||
.selectList(TableFieldConstants.BSE_CTRT_DTL_CTRT_MAIN_ID, contractMainDO.getId());
|
||||
if (detailDOS != null && !detailDOS.isEmpty()) {
|
||||
respVO.setDetail(BeanUtils.toBean(detailDOS, ContractViewDetailRespVO.class));
|
||||
respVO.getDetail().forEach(detail -> {
|
||||
|
||||
// 查询并设置交货计划
|
||||
List<ContractPlanDO> planDOS = contractPlanMapper.selectList("CTRT_DTL_ID", detail.getId());
|
||||
List<ContractPlanDO> planDOS = contractPlanMapper
|
||||
.selectList(TableFieldConstants.BSE_CTRT_PLN_CTRT_DTL_ID, detail.getId());
|
||||
if (planDOS != null && !planDOS.isEmpty()) {
|
||||
detail.setPlans(BeanUtils.toBean(planDOS, ContractViewPlanRespVO.class));
|
||||
}
|
||||
|
||||
// 查询并设置价款结算条款
|
||||
List<ContractFormulaDO> formulaDOS = contractFormulaMapper
|
||||
.selectList("CTRT_DTL_ID", detail.getId());
|
||||
.selectList(TableFieldConstants.BSE_CTRT_FMU_CTRT_DTL_ID, detail.getId());
|
||||
if (formulaDOS != null && !formulaDOS.isEmpty()) {
|
||||
detail.setFormulas(BeanUtils.toBean(formulaDOS, ContractViewFormulaRespVO.class));
|
||||
|
||||
@@ -249,27 +253,31 @@ public class ContractServiceImpl implements ContractService {
|
||||
|
||||
// 查询并设置基础系数配置
|
||||
List<ContractCoefficientDO> coefficientDOS = contractCoefficientMapper
|
||||
.selectList("FMU_ID", formula.getId());
|
||||
.selectList(TableFieldConstants.BSE_CTRT_COEF_FMU_ID, formula.getId());
|
||||
if (coefficientDOS != null && !coefficientDOS.isEmpty()) {
|
||||
formula.setCoefficients(BeanUtils.toBean(coefficientDOS, ContractViewCoefficientRespVO.class));
|
||||
}
|
||||
// 查询并设置品位等级价配置
|
||||
List<ContractGradeDO> gradeDOS = contractGradeMapper.selectList("FMU_ID", formula.getId());
|
||||
List<ContractGradeDO> gradeDOS = contractGradeMapper
|
||||
.selectList(TableFieldConstants.BSE_CTRT_GRD_FMU_ID, formula.getId());
|
||||
if (gradeDOS != null && !gradeDOS.isEmpty()) {
|
||||
formula.setGrades(BeanUtils.toBean(gradeDOS, ContractViewGradeRespVO.class));
|
||||
}
|
||||
// 查询并设置调整价配置
|
||||
List<ContractDeductDO> deductDOS = contractDeductMapper.selectList("FMU_ID", formula.getId());
|
||||
List<ContractDeductDO> deductDOS = contractDeductMapper
|
||||
.selectList(TableFieldConstants.BSE_CTRT_DDCT_FMU_ID, formula.getId());
|
||||
if (deductDOS != null && !deductDOS.isEmpty()) {
|
||||
formula.setDeducts(BeanUtils.toBean(deductDOS, ContractViewDeductRespVO.class));
|
||||
}
|
||||
// 查询并设置市场价配置
|
||||
List<ContractPriceDO> priceDOS = contractPriceMapper.selectList("FMU_ID", formula.getId());
|
||||
List<ContractPriceDO> priceDOS = contractPriceMapper
|
||||
.selectList(TableFieldConstants.BSE_CTRT_PRC_FMU_ID, formula.getId());
|
||||
if (priceDOS != null && !priceDOS.isEmpty()) {
|
||||
formula.setPrices(BeanUtils.toBean(priceDOS, ContractViewPriceRespVO.class));
|
||||
}
|
||||
// 查询并设置品位不计价配置
|
||||
List<ContractNotDO> notDOS = contractNotMapper.selectList("FMU_ID", formula.getId());
|
||||
List<ContractNotDO> notDOS = contractNotMapper
|
||||
.selectList(TableFieldConstants.BSE_CTRT_NT_FMU_ID, formula.getId());
|
||||
if (notDOS != null && !notDOS.isEmpty()) {
|
||||
formula.setNots(BeanUtils.toBean(notDOS, ContractViewNotRespVO.class));
|
||||
}
|
||||
@@ -280,14 +288,14 @@ public class ContractServiceImpl implements ContractService {
|
||||
|
||||
// 查询并设置合同动态表单
|
||||
List<TemplateInstanceDataDO> templateInstanceDataDOS = templateInstanceDataMapper
|
||||
.selectList("INSC_ID", contractMainDO.getInstanceId());
|
||||
.selectList(TableFieldConstants.BSE_TMPL_INSC_DAT_INSC_ID, contractMainDO.getInstanceId());
|
||||
if (templateInstanceDataDOS != null && !templateInstanceDataDOS.isEmpty()) {
|
||||
respVO.setDynamicsFields(BeanUtils.toBean(templateInstanceDataDOS, TemplateInstanceDataRespVO.class));
|
||||
}
|
||||
|
||||
// 查询并设置合同动态条款
|
||||
List<TemplateInstanceItemDO> templateInstanceItemDOS = templateInstanceItemMapper
|
||||
.selectList("INSC_ID", contractMainDO.getInstanceId());
|
||||
.selectList(TableFieldConstants.BSE_TMPL_INSC_ITM_INSC_ID, contractMainDO.getInstanceId());
|
||||
if (templateInstanceItemDOS != null && !templateInstanceItemDOS.isEmpty()) {
|
||||
respVO.setDynamicsItems(BeanUtils.toBean(templateInstanceItemDOS, TemplateInstanceItemRespVO.class));
|
||||
}
|
||||
@@ -295,6 +303,215 @@ public class ContractServiceImpl implements ContractService {
|
||||
return respVO;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
public Boolean update(ContractSaveReqVO reqVO) {
|
||||
|
||||
// 校验合同主键是否存在
|
||||
Long id = reqVO.getId();
|
||||
if (id == null) {
|
||||
throw exception(CONTRACT_ID_NOT_EXISTS);
|
||||
}
|
||||
|
||||
// 查询合同是否存在
|
||||
ContractMainDO oldContractMainDO = contractMainMapper.selectById(id);
|
||||
if (contractMainMapper.selectById(id) == null) {
|
||||
throw exception(CONTRACT_NOT_EXISTS);
|
||||
}
|
||||
|
||||
// 校验合同名称是否重复
|
||||
ContractMainDO contract = contractMainMapper.selectOne(new QueryWrapper<ContractMainDO>()
|
||||
.eq(TableFieldConstants.BSE_CTRT_MAIN_CTRT_NAME, reqVO.getContractName())
|
||||
.ne(TableFieldConstants.ID, id));
|
||||
if (contract != null) {
|
||||
throw exception(CONTRACT_NAME_EXISTS);
|
||||
}
|
||||
|
||||
if (StringUtils.isNotEmpty(reqVO.getContractPaperNumber())) {
|
||||
// 校验合同编号是否存在
|
||||
contract = contractMainMapper.selectOne(new QueryWrapper<ContractMainDO>()
|
||||
.eq(TableFieldConstants.BSE_CTRT_MAIN_CTRT_PPR_NUM, reqVO.getContractPaperNumber())
|
||||
.ne(TableFieldConstants.ID, id));
|
||||
if (contract != null) {
|
||||
throw exception(CONTRACT_PAPER_NUMBER_EXISTS);
|
||||
}
|
||||
}
|
||||
|
||||
// 合同状态校验
|
||||
if (ContractStatusEnum.DELETED.getCode().equals(oldContractMainDO.getStatus())
|
||||
|| ContractStatusEnum.ARCHIVED.getCode().equals(oldContractMainDO.getStatus())
|
||||
|| ContractStatusEnum.TERMINATED.getCode().equals(oldContractMainDO.getStatus())
|
||||
|| ContractStatusEnum.IN_PROGRESS.getCode().equals(oldContractMainDO.getStatus())
|
||||
|| ContractStatusEnum.UNDER_REVIEW.getCode().equals(oldContractMainDO.getStatus())) {
|
||||
|
||||
throw exception(CONTRACT_STATUS_NOT_UPDATE,
|
||||
ContractStatusEnum.valueOf(oldContractMainDO.getStatus()).getLabel());
|
||||
}
|
||||
|
||||
// 请求更新的合同信息
|
||||
ContractMainDO newContractMainDO = BeanUtils.toBean(reqVO, ContractMainDO.class);
|
||||
|
||||
// 删除关联信息
|
||||
// 查询合同明细
|
||||
List<ContractDetailDO> detailDOS = contractDetailMapper
|
||||
.selectList(TableFieldConstants.BSE_CTRT_DTL_CTRT_MAIN_ID, id);
|
||||
if (detailDOS != null && !detailDOS.isEmpty()) {
|
||||
detailDOS.forEach(detailDO -> {
|
||||
Long detailDOId = detailDO.getId();
|
||||
|
||||
// 删除交货计划
|
||||
contractPlanMapper.delete(TableFieldConstants.BSE_CTRT_PLN_CTRT_DTL_ID, detailDOId.toString());
|
||||
|
||||
// 查询价款结算条款
|
||||
List<ContractFormulaDO> formulaDOS = contractFormulaMapper
|
||||
.selectList(TableFieldConstants.BSE_CTRT_FMU_CTRT_DTL_ID, detailDOId.toString());
|
||||
if (formulaDOS != null && !formulaDOS.isEmpty()) {
|
||||
formulaDOS.forEach(formulaDO -> {
|
||||
|
||||
// 价款结算条款ID
|
||||
Long formulaDOId = formulaDO.getId();
|
||||
|
||||
// 删除基础系数配置
|
||||
contractCoefficientMapper.delete(TableFieldConstants.BSE_CTRT_COEF_FMU_ID, formulaDOId.toString());
|
||||
// 删除品位等级价配置
|
||||
contractGradeMapper.delete(TableFieldConstants.BSE_CTRT_GRD_FMU_ID, formulaDOId.toString());
|
||||
// 删除调整价配置
|
||||
contractDeductMapper.delete(TableFieldConstants.BSE_CTRT_DDCT_FMU_ID, formulaDOId.toString());
|
||||
// 删除市场价配置
|
||||
contractPriceMapper.delete(TableFieldConstants.BSE_CTRT_PRC_FMU_ID, formulaDOId.toString());
|
||||
// 删除品位不计价配置
|
||||
contractNotMapper.delete(TableFieldConstants.BSE_CTRT_NT_FMU_ID, formulaDOId.toString());
|
||||
});
|
||||
}
|
||||
|
||||
// 删除价款结算条款
|
||||
contractFormulaMapper.delete(TableFieldConstants.BSE_CTRT_FMU_CTRT_DTL_ID, detailDOId.toString());
|
||||
});
|
||||
|
||||
// 删除合同明细
|
||||
contractDetailMapper.delete(TableFieldConstants.BSE_CTRT_DTL_CTRT_MAIN_ID, id.toString());
|
||||
}
|
||||
|
||||
// 重新插入关联信息
|
||||
if (reqVO.getDetail() != null && !reqVO.getDetail().isEmpty()) {
|
||||
reqVO.getDetail().forEach(detail -> {
|
||||
// 合同明细DO
|
||||
ContractDetailDO detailDO = BeanUtils.toBean(detail, ContractDetailDO.class);
|
||||
// 设置合同主信息ID
|
||||
detailDO.setContractMainId(id);
|
||||
// 保存合同明细
|
||||
contractDetailMapper.insert(detailDO);
|
||||
|
||||
// 合同明细ID
|
||||
Long detailDOId = detailDO.getId();
|
||||
// 交货计划
|
||||
if (detail.getPlans() != null && !detail.getPlans().isEmpty()) {
|
||||
detail.getPlans().forEach(plan -> {
|
||||
// 交货计划DO
|
||||
ContractPlanDO planDO = BeanUtils.toBean(plan, ContractPlanDO.class);
|
||||
// 合同明细主键
|
||||
planDO.setContractDetailId(detailDOId);
|
||||
// 保存交货计划
|
||||
contractPlanMapper.insert(planDO);
|
||||
});
|
||||
}
|
||||
|
||||
// 价款结算条款
|
||||
if (detail.getFormulas() != null && !detail.getFormulas().isEmpty()) {
|
||||
detail.getFormulas().forEach(formula -> {
|
||||
// 价款结算条款DO
|
||||
ContractFormulaDO formulaDO = BeanUtils.toBean(formula, ContractFormulaDO.class);
|
||||
// 合同明细主键
|
||||
formulaDO.setContractDetailId(detailDOId);
|
||||
// 保存价款结算条款
|
||||
contractFormulaMapper.insert(formulaDO);
|
||||
|
||||
// 价款结算条款ID
|
||||
Long formulaDOId = formulaDO.getId();
|
||||
// 基础系数配置
|
||||
if (formula.getCoefficients() != null && !formula.getCoefficients().isEmpty()) {
|
||||
formula.getCoefficients().forEach(coefficient -> {
|
||||
// 基础系数配置DO
|
||||
ContractCoefficientDO coefficientDO = BeanUtils.toBean(coefficient, ContractCoefficientDO.class);
|
||||
// 条款主键
|
||||
coefficientDO.setFormulaId(formulaDOId);
|
||||
// 保存基础系数配置
|
||||
contractCoefficientMapper.insert(coefficientDO);
|
||||
});
|
||||
}
|
||||
// 品位等级价配置
|
||||
if (formula.getGrades() != null && !formula.getGrades().isEmpty()) {
|
||||
formula.getGrades().forEach(grade -> {
|
||||
// 品位等级价配置DO
|
||||
ContractGradeDO gradeDO = BeanUtils.toBean(grade, ContractGradeDO.class);
|
||||
// 条款主键
|
||||
gradeDO.setFormulaId(formulaDOId);
|
||||
// 保存品位等级价配置
|
||||
contractGradeMapper.insert(gradeDO);
|
||||
});
|
||||
}
|
||||
// 调整价配置
|
||||
if (formula.getDeducts() != null && !formula.getDeducts().isEmpty()) {
|
||||
formula.getDeducts().forEach(deduct -> {
|
||||
// 调整价配置DO
|
||||
ContractDeductDO deductDO = BeanUtils.toBean(deduct, ContractDeductDO.class);
|
||||
// 条款主键
|
||||
deductDO.setFormulaId(formulaDOId);
|
||||
// 保存品位等级价配置
|
||||
contractDeductMapper.insert(deductDO);
|
||||
});
|
||||
}
|
||||
// 市场价配置
|
||||
if (formula.getPrices()!= null && !formula.getPrices().isEmpty()) {
|
||||
formula.getPrices().forEach(price -> {
|
||||
// 市场价配置DO
|
||||
ContractPriceDO priceDO = BeanUtils.toBean(price, ContractPriceDO.class);
|
||||
// 条款主键
|
||||
priceDO.setFormulaId(formulaDOId);
|
||||
// 保存市场价配置
|
||||
contractPriceMapper.insert(priceDO);
|
||||
});
|
||||
}
|
||||
// 品位不计价配置
|
||||
if (formula.getNots() != null && !formula.getNots().isEmpty()) {
|
||||
formula.getNots().forEach(not -> {
|
||||
// 品位不计价配置DO
|
||||
ContractNotDO notDO = BeanUtils.toBean(not, ContractNotDO.class);
|
||||
// 条款主键
|
||||
notDO.setFormulaId(formulaDOId);
|
||||
// 保存品位不计价配置
|
||||
contractNotMapper.insert(notDO);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 合同动态表单
|
||||
List<TemplateInstanceDataDO> templateInstanceDataDOS = new ArrayList<>();
|
||||
if (reqVO.getDynamicsFields() != null && !reqVO.getDynamicsFields().isEmpty()) {
|
||||
reqVO.getDynamicsFields().forEach(dynamicsField -> {
|
||||
TemplateInstanceDataDO templateInstanceDataDO = new TemplateInstanceDataDO();
|
||||
BeanUtils.copyProperties(dynamicsField, templateInstanceDataDO);
|
||||
templateInstanceDataDO.setInscId(reqVO.getInstanceId().toString());
|
||||
templateInstanceDataDOS.add(templateInstanceDataDO);
|
||||
});
|
||||
}
|
||||
// 更新合同动态表单值
|
||||
if (!templateInstanceDataDOS.isEmpty()) {
|
||||
templateInstanceDataService.setTemplateInstanceData(templateInstanceDataDOS);
|
||||
}
|
||||
|
||||
// 更新合同主信息
|
||||
int updateNum = contractMainMapper.updateById(newContractMainDO);
|
||||
if (updateNum > 0) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成系统合同编号
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user