合同动态字段及条款修改
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
package com.zt.plat.module.contractorder.api.vo.contract;
|
package com.zt.plat.module.contractorder.api.vo.contract;
|
||||||
|
|
||||||
|
|
||||||
import com.zt.plat.module.base.controller.admin.templtp.vo.TemplateInstanceDataRespVO;
|
import com.zt.plat.module.base.controller.admin.templtp.vo.TmplInscDatBsnRespVO;
|
||||||
import com.zt.plat.module.base.controller.admin.templtp.vo.TemplateInstanceItemRespVO;
|
import com.zt.plat.module.base.controller.admin.templtp.vo.TmplInscItmBsnRespVO;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
@@ -251,11 +251,11 @@ public class ContractRespVO {
|
|||||||
// 物料信息
|
// 物料信息
|
||||||
private List<DetailRespVO> detail;
|
private List<DetailRespVO> detail;
|
||||||
|
|
||||||
// 合同动态表单
|
// 合同动态字段
|
||||||
private List<TemplateInstanceDataRespVO> dynamicsFields;
|
private List<TmplInscDatBsnRespVO> dynamicsFields;
|
||||||
|
|
||||||
// 合同动态条款
|
// 合同动态条款
|
||||||
private List<TemplateInstanceItemRespVO> dynamicsItems;
|
private List<TmplInscItmBsnRespVO> dynamicsItems;
|
||||||
|
|
||||||
// 价款结算条款
|
// 价款结算条款
|
||||||
private List<FormulaRespVO> formulas;
|
private List<FormulaRespVO> formulas;
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
package com.zt.plat.module.contractorder.api.vo.contract;
|
package com.zt.plat.module.contractorder.api.vo.contract;
|
||||||
|
|
||||||
import cn.hutool.json.JSONArray;
|
import cn.hutool.json.JSONArray;
|
||||||
import com.zt.plat.module.base.controller.admin.templtp.vo.TemplateInstanceDataSaveReqVO;
|
import com.zt.plat.module.base.controller.admin.templtp.vo.TmplInscDatBsnSaveReqVO;
|
||||||
|
import com.zt.plat.module.base.controller.admin.templtp.vo.TmplInscItmBsnSaveReqVO;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.NotNull;
|
||||||
@@ -220,8 +221,11 @@ public class ContractSaveReqVO {
|
|||||||
// 物料信息
|
// 物料信息
|
||||||
private List<DetailSaveReqVO> detail;
|
private List<DetailSaveReqVO> detail;
|
||||||
|
|
||||||
// 合同动态表单
|
// 合同动态字段
|
||||||
private List<TemplateInstanceDataSaveReqVO> dynamicsFields;
|
private List<TmplInscDatBsnSaveReqVO> dynamicsFields;
|
||||||
|
|
||||||
|
// 合同动态条款
|
||||||
|
private List<TmplInscItmBsnSaveReqVO> dynamicsItems;
|
||||||
|
|
||||||
// 价款结算条款
|
// 价款结算条款
|
||||||
private List<FormulaSaveReqVO> formulas;
|
private List<FormulaSaveReqVO> formulas;
|
||||||
|
|||||||
@@ -12,15 +12,18 @@ import com.zt.plat.framework.common.util.object.BeanUtils;
|
|||||||
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
|
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
|
||||||
import com.zt.plat.framework.tenant.core.context.CompanyContextHolder;
|
import com.zt.plat.framework.tenant.core.context.CompanyContextHolder;
|
||||||
import com.zt.plat.module.base.controller.admin.templtp.vo.TemplateInstanceDataRespVO;
|
import com.zt.plat.module.base.controller.admin.templtp.vo.TmplInscBsnRelRespVO;
|
||||||
import com.zt.plat.module.base.controller.admin.templtp.vo.TemplateInstanceItemRespVO;
|
import com.zt.plat.module.base.controller.admin.templtp.vo.TmplInscBsnRelSaveReqVO;
|
||||||
import com.zt.plat.module.base.dal.dataobject.tmpltp.TemplateInstanceDataDO;
|
import com.zt.plat.module.base.controller.admin.templtp.vo.TmplInscDatBsnSaveReqVO;
|
||||||
import com.zt.plat.module.base.dal.dataobject.tmpltp.TemplateInstanceItemDO;
|
import com.zt.plat.module.base.controller.admin.templtp.vo.TmplInscItmBsnSaveReqVO;
|
||||||
import com.zt.plat.module.base.dal.dataobject.tmpltp.TmplInscBsnRelDO;
|
import com.zt.plat.module.base.dal.dataobject.tmpltp.TmplInscBsnRelDO;
|
||||||
import com.zt.plat.module.base.dal.mysql.tmpltp.TemplateInstanceDataMapper;
|
import com.zt.plat.module.base.dal.mysql.tmpltp.TemplateInstanceDataMapper;
|
||||||
import com.zt.plat.module.base.dal.mysql.tmpltp.TemplateInstanceItemMapper;
|
import com.zt.plat.module.base.dal.mysql.tmpltp.TemplateInstanceItemMapper;
|
||||||
import com.zt.plat.module.base.dal.mysql.tmpltp.TmplInscBsnRelMapper;
|
import com.zt.plat.module.base.dal.mysql.tmpltp.TmplInscBsnRelMapper;
|
||||||
import com.zt.plat.module.base.service.tmpltp.TemplateInstanceDataService;
|
import com.zt.plat.module.base.service.tmpltp.TemplateInstanceDataService;
|
||||||
|
import com.zt.plat.module.base.service.tmpltp.TmplInscBsnRelService;
|
||||||
|
import com.zt.plat.module.base.service.tmpltp.TmplInscDatBsnService;
|
||||||
|
import com.zt.plat.module.base.service.tmpltp.TmplInscItmBsnService;
|
||||||
import com.zt.plat.module.bpm.api.task.BpmProcessInstanceApi;
|
import com.zt.plat.module.bpm.api.task.BpmProcessInstanceApi;
|
||||||
import com.zt.plat.module.bpm.api.task.BpmTaskApi;
|
import com.zt.plat.module.bpm.api.task.BpmTaskApi;
|
||||||
import com.zt.plat.module.bpm.api.task.dto.*;
|
import com.zt.plat.module.bpm.api.task.dto.*;
|
||||||
@@ -120,6 +123,12 @@ public class ContractServiceImpl implements ContractService {
|
|||||||
private FileApi fileApi;
|
private FileApi fileApi;
|
||||||
@Resource
|
@Resource
|
||||||
private TmplInscBsnRelMapper tmplInscBsnRelMapper;
|
private TmplInscBsnRelMapper tmplInscBsnRelMapper;
|
||||||
|
@Resource
|
||||||
|
private TmplInscBsnRelService tmplInscBsnRelService;
|
||||||
|
@Resource
|
||||||
|
private TmplInscDatBsnService tmplInscDatBsnService;
|
||||||
|
@Resource
|
||||||
|
private TmplInscItmBsnService tmplInscItmBsnService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResult<ContractMainDO> getContractPage(ContractPageReqVO pageReqVO) {
|
public PageResult<ContractMainDO> getContractPage(ContractPageReqVO pageReqVO) {
|
||||||
@@ -276,22 +285,31 @@ public class ContractServiceImpl implements ContractService {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 合同动态表单
|
// 合同动态表单及条款
|
||||||
List<TemplateInstanceDataDO> templateInstanceDataDOS = new ArrayList<>();
|
// 更新关联主表
|
||||||
if (reqVO.getDynamicsFields() != null && !reqVO.getDynamicsFields().isEmpty()) {
|
TmplInscBsnRelSaveReqVO tmplInscBsnRelSaveReqVO = new TmplInscBsnRelSaveReqVO();
|
||||||
reqVO.getDynamicsFields().forEach(dynamicsField -> {
|
tmplInscBsnRelSaveReqVO.setId(reqVO.getBusinessId());
|
||||||
TemplateInstanceDataDO templateInstanceDataDO = new TemplateInstanceDataDO();
|
tmplInscBsnRelSaveReqVO.setBsnId(contractId);
|
||||||
BeanUtils.copyProperties(dynamicsField, templateInstanceDataDO);
|
tmplInscBsnRelService.updateTmplInscBsnRel(tmplInscBsnRelSaveReqVO);
|
||||||
templateInstanceDataDO.setInscId(reqVO.getInstanceId().toString());
|
// 保存动态字段
|
||||||
templateInstanceDataDOS.add(templateInstanceDataDO);
|
List<TmplInscDatBsnSaveReqVO> dynamicsFields = reqVO.getDynamicsFields();
|
||||||
|
if (dynamicsFields != null && !dynamicsFields.isEmpty()) {
|
||||||
|
dynamicsFields.forEach(dynamicsField -> {
|
||||||
|
dynamicsField.setBsnId(reqVO.getBusinessId().toString());
|
||||||
|
tmplInscDatBsnService.createTmplInscDatBsn(dynamicsField);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
// 更新合同动态表单值
|
// 保存动态条款
|
||||||
if (!templateInstanceDataDOS.isEmpty()) {
|
List<TmplInscItmBsnSaveReqVO> dynamicsItems = reqVO.getDynamicsItems();
|
||||||
templateInstanceDataService.setTemplateInstanceData(templateInstanceDataDOS);
|
if (dynamicsItems != null && !dynamicsItems.isEmpty()) {
|
||||||
|
dynamicsItems.forEach(dynamicsItem -> {
|
||||||
|
dynamicsItem.setBsnId(reqVO.getBusinessId().toString());
|
||||||
|
tmplInscItmBsnService.createTmplInscItmBsn(dynamicsItem);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return contractMainDO.getId();
|
|
||||||
|
return contractId;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -372,19 +390,12 @@ public class ContractServiceImpl implements ContractService {
|
|||||||
respVO.setNots(BeanUtils.toBean(notDOS, NotRespVO.class));
|
respVO.setNots(BeanUtils.toBean(notDOS, NotRespVO.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询并设置合同动态表单
|
// 查询合同动态字段及条款
|
||||||
List<TemplateInstanceDataDO> templateInstanceDataDOS = templateInstanceDataMapper
|
TmplInscBsnRelRespVO tmplInscBsnRel = tmplInscBsnRelService.getTmplInscBsnRel(contractMainDO.getBusinessId());
|
||||||
.selectList(TableFieldConstants.BSE_TMPL_INSC_DAT_INSC_ID, contractMainDO.getInstanceId());
|
// 设置合同动态字段
|
||||||
if (templateInstanceDataDOS != null && !templateInstanceDataDOS.isEmpty()) {
|
respVO.setDynamicsFields(tmplInscBsnRel.getTmplInscDatBsnRespVOS());
|
||||||
respVO.setDynamicsFields(BeanUtils.toBean(templateInstanceDataDOS, TemplateInstanceDataRespVO.class));
|
// 设置合同动态条款
|
||||||
}
|
respVO.setDynamicsItems(tmplInscBsnRel.getTmplInscItmBsnRespVOS());
|
||||||
|
|
||||||
// 查询并设置合同动态条款
|
|
||||||
List<TemplateInstanceItemDO> templateInstanceItemDOS = templateInstanceItemMapper
|
|
||||||
.selectList(TableFieldConstants.BSE_TMPL_INSC_ITM_INSC_ID, contractMainDO.getInstanceId());
|
|
||||||
if (templateInstanceItemDOS != null && !templateInstanceItemDOS.isEmpty()) {
|
|
||||||
respVO.setDynamicsItems(BeanUtils.toBean(templateInstanceItemDOS, TemplateInstanceItemRespVO.class));
|
|
||||||
}
|
|
||||||
|
|
||||||
return respVO;
|
return respVO;
|
||||||
}
|
}
|
||||||
@@ -466,19 +477,12 @@ public class ContractServiceImpl implements ContractService {
|
|||||||
respVO.setNots(BeanUtils.toBean(notDOS, NotRespVO.class));
|
respVO.setNots(BeanUtils.toBean(notDOS, NotRespVO.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询并设置合同动态表单
|
// 查询合同动态字段及条款
|
||||||
List<TemplateInstanceDataDO> templateInstanceDataDOS = templateInstanceDataMapper
|
TmplInscBsnRelRespVO tmplInscBsnRel = tmplInscBsnRelService.getTmplInscBsnRel(contractMainDO.getBusinessId());
|
||||||
.selectList(TableFieldConstants.BSE_TMPL_INSC_DAT_INSC_ID, contractMainDO.getInstanceId());
|
// 设置合同动态字段
|
||||||
if (templateInstanceDataDOS != null && !templateInstanceDataDOS.isEmpty()) {
|
respVO.setDynamicsFields(tmplInscBsnRel.getTmplInscDatBsnRespVOS());
|
||||||
respVO.setDynamicsFields(BeanUtils.toBean(templateInstanceDataDOS, TemplateInstanceDataRespVO.class));
|
// 设置合同动态条款
|
||||||
}
|
respVO.setDynamicsItems(tmplInscBsnRel.getTmplInscItmBsnRespVOS());
|
||||||
|
|
||||||
// 查询并设置合同动态条款
|
|
||||||
List<TemplateInstanceItemDO> templateInstanceItemDOS = templateInstanceItemMapper
|
|
||||||
.selectList(TableFieldConstants.BSE_TMPL_INSC_ITM_INSC_ID, contractMainDO.getInstanceId());
|
|
||||||
if (templateInstanceItemDOS != null && !templateInstanceItemDOS.isEmpty()) {
|
|
||||||
respVO.setDynamicsItems(BeanUtils.toBean(templateInstanceItemDOS, TemplateInstanceItemRespVO.class));
|
|
||||||
}
|
|
||||||
|
|
||||||
return respVO;
|
return respVO;
|
||||||
}
|
}
|
||||||
@@ -900,19 +904,17 @@ public class ContractServiceImpl implements ContractService {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 合同动态表单
|
// 更新合同动态字段
|
||||||
List<TemplateInstanceDataDO> templateInstanceDataDOS = new ArrayList<>();
|
|
||||||
if (reqVO.getDynamicsFields() != null && !reqVO.getDynamicsFields().isEmpty()) {
|
if (reqVO.getDynamicsFields() != null && !reqVO.getDynamicsFields().isEmpty()) {
|
||||||
reqVO.getDynamicsFields().forEach(dynamicsField -> {
|
reqVO.getDynamicsFields().forEach(field -> {
|
||||||
TemplateInstanceDataDO templateInstanceDataDO = new TemplateInstanceDataDO();
|
tmplInscDatBsnService.updateTmplInscDatBsn(field);
|
||||||
BeanUtils.copyProperties(dynamicsField, templateInstanceDataDO);
|
|
||||||
templateInstanceDataDO.setInscId(reqVO.getInstanceId().toString());
|
|
||||||
templateInstanceDataDOS.add(templateInstanceDataDO);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
// 更新合同动态表单值
|
// 更新合同动态表单
|
||||||
if (!templateInstanceDataDOS.isEmpty()) {
|
if (reqVO.getDynamicsItems() != null && !reqVO.getDynamicsItems().isEmpty()) {
|
||||||
templateInstanceDataService.setTemplateInstanceData(templateInstanceDataDOS);
|
reqVO.getDynamicsItems().forEach(item -> {
|
||||||
|
tmplInscItmBsnService.updateTmplInscItmBsn(item);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 合同状态更新
|
// 合同状态更新
|
||||||
|
|||||||
Reference in New Issue
Block a user