From 1f949f70139037cf6d7459e0552d356b4ffedc32 Mon Sep 17 00:00:00 2001 From: guojunyun Date: Tue, 11 Nov 2025 17:26:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=90=8C=E5=8A=A8=E6=80=81=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E5=8F=8A=E6=9D=A1=E6=AC=BE=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/vo/contract/ContractRespVO.java | 10 +- .../api/vo/contract/ContractSaveReqVO.java | 10 +- .../service/contract/ContractServiceImpl.java | 106 +++++++++--------- 3 files changed, 66 insertions(+), 60 deletions(-) diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/ContractRespVO.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/ContractRespVO.java index aefbcaa..23fda3e 100644 --- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/ContractRespVO.java +++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/ContractRespVO.java @@ -1,8 +1,8 @@ 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.TemplateInstanceItemRespVO; +import com.zt.plat.module.base.controller.admin.templtp.vo.TmplInscDatBsnRespVO; +import com.zt.plat.module.base.controller.admin.templtp.vo.TmplInscItmBsnRespVO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -251,11 +251,11 @@ public class ContractRespVO { // 物料信息 private List detail; - // 合同动态表单 - private List dynamicsFields; + // 合同动态字段 + private List dynamicsFields; // 合同动态条款 - private List dynamicsItems; + private List dynamicsItems; // 价款结算条款 private List formulas; diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/ContractSaveReqVO.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/ContractSaveReqVO.java index b098237..484e95a 100644 --- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/ContractSaveReqVO.java +++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/vo/contract/ContractSaveReqVO.java @@ -1,7 +1,8 @@ package com.zt.plat.module.contractorder.api.vo.contract; 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 jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; @@ -220,8 +221,11 @@ public class ContractSaveReqVO { // 物料信息 private List detail; - // 合同动态表单 - private List dynamicsFields; + // 合同动态字段 + private List dynamicsFields; + + // 合同动态条款 + private List dynamicsItems; // 价款结算条款 private List formulas; diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractServiceImpl.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractServiceImpl.java index f99d1c6..3a50cce 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractServiceImpl.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/service/contract/ContractServiceImpl.java @@ -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.security.core.util.SecurityFrameworkUtils; 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.TemplateInstanceItemRespVO; -import com.zt.plat.module.base.dal.dataobject.tmpltp.TemplateInstanceDataDO; -import com.zt.plat.module.base.dal.dataobject.tmpltp.TemplateInstanceItemDO; +import com.zt.plat.module.base.controller.admin.templtp.vo.TmplInscBsnRelRespVO; +import com.zt.plat.module.base.controller.admin.templtp.vo.TmplInscBsnRelSaveReqVO; +import com.zt.plat.module.base.controller.admin.templtp.vo.TmplInscDatBsnSaveReqVO; +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.mysql.tmpltp.TemplateInstanceDataMapper; 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.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.BpmTaskApi; import com.zt.plat.module.bpm.api.task.dto.*; @@ -120,6 +123,12 @@ public class ContractServiceImpl implements ContractService { private FileApi fileApi; @Resource private TmplInscBsnRelMapper tmplInscBsnRelMapper; + @Resource + private TmplInscBsnRelService tmplInscBsnRelService; + @Resource + private TmplInscDatBsnService tmplInscDatBsnService; + @Resource + private TmplInscItmBsnService tmplInscItmBsnService; @Override public PageResult getContractPage(ContractPageReqVO pageReqVO) { @@ -276,22 +285,31 @@ public class ContractServiceImpl implements ContractService { }); } - // 合同动态表单 - List 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); + // 合同动态表单及条款 + // 更新关联主表 + TmplInscBsnRelSaveReqVO tmplInscBsnRelSaveReqVO = new TmplInscBsnRelSaveReqVO(); + tmplInscBsnRelSaveReqVO.setId(reqVO.getBusinessId()); + tmplInscBsnRelSaveReqVO.setBsnId(contractId); + tmplInscBsnRelService.updateTmplInscBsnRel(tmplInscBsnRelSaveReqVO); + // 保存动态字段 + List dynamicsFields = reqVO.getDynamicsFields(); + if (dynamicsFields != null && !dynamicsFields.isEmpty()) { + dynamicsFields.forEach(dynamicsField -> { + dynamicsField.setBsnId(reqVO.getBusinessId().toString()); + tmplInscDatBsnService.createTmplInscDatBsn(dynamicsField); }); } - // 更新合同动态表单值 - if (!templateInstanceDataDOS.isEmpty()) { - templateInstanceDataService.setTemplateInstanceData(templateInstanceDataDOS); + // 保存动态条款 + List dynamicsItems = reqVO.getDynamicsItems(); + if (dynamicsItems != null && !dynamicsItems.isEmpty()) { + dynamicsItems.forEach(dynamicsItem -> { + dynamicsItem.setBsnId(reqVO.getBusinessId().toString()); + tmplInscItmBsnService.createTmplInscItmBsn(dynamicsItem); + }); } - return contractMainDO.getId(); + + return contractId; } @Override @@ -372,19 +390,12 @@ public class ContractServiceImpl implements ContractService { respVO.setNots(BeanUtils.toBean(notDOS, NotRespVO.class)); } - // 查询并设置合同动态表单 - List templateInstanceDataDOS = templateInstanceDataMapper - .selectList(TableFieldConstants.BSE_TMPL_INSC_DAT_INSC_ID, contractMainDO.getInstanceId()); - if (templateInstanceDataDOS != null && !templateInstanceDataDOS.isEmpty()) { - respVO.setDynamicsFields(BeanUtils.toBean(templateInstanceDataDOS, TemplateInstanceDataRespVO.class)); - } - - // 查询并设置合同动态条款 - List templateInstanceItemDOS = templateInstanceItemMapper - .selectList(TableFieldConstants.BSE_TMPL_INSC_ITM_INSC_ID, contractMainDO.getInstanceId()); - if (templateInstanceItemDOS != null && !templateInstanceItemDOS.isEmpty()) { - respVO.setDynamicsItems(BeanUtils.toBean(templateInstanceItemDOS, TemplateInstanceItemRespVO.class)); - } + // 查询合同动态字段及条款 + TmplInscBsnRelRespVO tmplInscBsnRel = tmplInscBsnRelService.getTmplInscBsnRel(contractMainDO.getBusinessId()); + // 设置合同动态字段 + respVO.setDynamicsFields(tmplInscBsnRel.getTmplInscDatBsnRespVOS()); + // 设置合同动态条款 + respVO.setDynamicsItems(tmplInscBsnRel.getTmplInscItmBsnRespVOS()); return respVO; } @@ -466,19 +477,12 @@ public class ContractServiceImpl implements ContractService { respVO.setNots(BeanUtils.toBean(notDOS, NotRespVO.class)); } - // 查询并设置合同动态表单 - List templateInstanceDataDOS = templateInstanceDataMapper - .selectList(TableFieldConstants.BSE_TMPL_INSC_DAT_INSC_ID, contractMainDO.getInstanceId()); - if (templateInstanceDataDOS != null && !templateInstanceDataDOS.isEmpty()) { - respVO.setDynamicsFields(BeanUtils.toBean(templateInstanceDataDOS, TemplateInstanceDataRespVO.class)); - } - - // 查询并设置合同动态条款 - List templateInstanceItemDOS = templateInstanceItemMapper - .selectList(TableFieldConstants.BSE_TMPL_INSC_ITM_INSC_ID, contractMainDO.getInstanceId()); - if (templateInstanceItemDOS != null && !templateInstanceItemDOS.isEmpty()) { - respVO.setDynamicsItems(BeanUtils.toBean(templateInstanceItemDOS, TemplateInstanceItemRespVO.class)); - } + // 查询合同动态字段及条款 + TmplInscBsnRelRespVO tmplInscBsnRel = tmplInscBsnRelService.getTmplInscBsnRel(contractMainDO.getBusinessId()); + // 设置合同动态字段 + respVO.setDynamicsFields(tmplInscBsnRel.getTmplInscDatBsnRespVOS()); + // 设置合同动态条款 + respVO.setDynamicsItems(tmplInscBsnRel.getTmplInscItmBsnRespVOS()); return respVO; } @@ -900,19 +904,17 @@ public class ContractServiceImpl implements ContractService { }); } - // 合同动态表单 - List 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); + reqVO.getDynamicsFields().forEach(field -> { + tmplInscDatBsnService.updateTmplInscDatBsn(field); }); } - // 更新合同动态表单值 - if (!templateInstanceDataDOS.isEmpty()) { - templateInstanceDataService.setTemplateInstanceData(templateInstanceDataDOS); + // 更新合同动态表单 + if (reqVO.getDynamicsItems() != null && !reqVO.getDynamicsItems().isEmpty()) { + reqVO.getDynamicsItems().forEach(item -> { + tmplInscItmBsnService.updateTmplInscItmBsn(item); + }); } // 合同状态更新