From ca2b1c0b63087ba015a1cd6c4c0a1b8677ac7e39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BD=98=E8=8D=A3=E6=99=9F?= <9691125+pan-rongsheng@user.noreply.gitee.com> Date: Sun, 28 Sep 2025 16:06:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A8=A1=E7=89=88=E7=BC=96=E5=88=B6=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../templtp/TemplateInstanceController.java | 7 +++++ .../TemplateInstanceDataController.java | 2 -- .../templtp/vo/FieldAndClauseRespVO.java | 16 +++++++++++ .../tmpltp/TemplateInstanceService.java | 2 ++ .../tmpltp/TemplateInstanceServiceImpl.java | 28 ++++++++++++++++++- .../base/service/tmpltp/TmplItmService.java | 3 ++ .../service/tmpltp/TmplItmServiceImpl.java | 5 ++++ .../base/service/tmpltp/TmplTpFldService.java | 3 ++ .../service/tmpltp/TmplTpFldServiceImpl.java | 6 ++++ 9 files changed, 69 insertions(+), 3 deletions(-) create mode 100644 zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/vo/FieldAndClauseRespVO.java diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/TemplateInstanceController.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/TemplateInstanceController.java index 1107a12..f04f860 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/TemplateInstanceController.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/TemplateInstanceController.java @@ -199,4 +199,11 @@ public class TemplateInstanceController extends AbstractFileUploadController { public CommonResult> listByTemplateCode(@RequestParam("cdg") @Valid @NotEmpty(message = "模版编号不能为空") String templateCode) { return success(templateInstanceService.listByCdg(templateCode)); } + + //通过实例id获取字段和条款详情 + @GetMapping("/field-and-clause-detail") + @Operation(summary = "通过实例id获取字段和条款详情") + public CommonResult getFieldAndClauseDetail(@Valid @NotEmpty(message = "模版实例id不能为空") @RequestParam("id") String id) { + return success(templateInstanceService.getFieldAndClauseDetail(id)); + } } diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/TemplateInstanceDataController.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/TemplateInstanceDataController.java index b4de6de..e5d4252 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/TemplateInstanceDataController.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/TemplateInstanceDataController.java @@ -115,6 +115,4 @@ public class TemplateInstanceDataController implements BusinessControllerMarker ExcelUtils.write(response, "实例字段值.xls", "数据", TemplateInstanceDataRespVO.class, BeanUtils.toBean(list, TemplateInstanceDataRespVO.class)); } - - } diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/vo/FieldAndClauseRespVO.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/vo/FieldAndClauseRespVO.java new file mode 100644 index 0000000..ab8984a --- /dev/null +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/controller/admin/templtp/vo/FieldAndClauseRespVO.java @@ -0,0 +1,16 @@ +package com.zt.plat.module.base.controller.admin.templtp.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +@Schema(description = "管理后台 - 合同动态表单 响应 VO") +@Data +public class FieldAndClauseRespVO { + @Schema(description = "模板分类") + List tmplFldRespVOS; + @Schema(description = "条款") + List tmplItmRespVOS; + +} diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TemplateInstanceService.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TemplateInstanceService.java index 10586bc..bc4395b 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TemplateInstanceService.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TemplateInstanceService.java @@ -85,4 +85,6 @@ public interface TemplateInstanceService { // Map saveFile(MultipartFile file, String id); void updateTemplateInstanceFileUrlByInstanceId(@Valid @NotEmpty(message = "模版实例id不能为空") String id, @Valid @NotEmpty(message = "文件参数不能为空") String params); + + FieldAndClauseRespVO getFieldAndClauseDetail(@Valid @NotEmpty(message = "模版实例id不能为空") String id); } diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TemplateInstanceServiceImpl.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TemplateInstanceServiceImpl.java index 66be7df..c7f9d2f 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TemplateInstanceServiceImpl.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TemplateInstanceServiceImpl.java @@ -55,7 +55,10 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService { private TemplateInstanceDataMapper templateInstanceDataMapper; @Resource private TemplateInstanceItemMapper templateInstanceItemMapper; - + @Resource + private TmplItmService tmplItmService; + @Resource + private TmplTpFldService tmplTpFldService; @Resource private TmplTpService tmplTpService; @@ -444,4 +447,27 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService { log.info("==================模板实例编号生成成功,模板实例编号为【{}】==================", cdg); return cdg; } + + @Override + public FieldAndClauseRespVO getFieldAndClauseDetail(String id) { + FieldAndClauseRespVO fieldAndClauseRespVO = new FieldAndClauseRespVO(); + //查询关联的实例模版字段 + List valKeys = templateInstanceDataMapper.selectList(new LambdaQueryWrapper().eq(TemplateInstanceDataDO::getInscId, id)).stream().map(TemplateInstanceDataDO::getFldKy).distinct().toList(); + //查询关联的实例模版条款 + List itmIds = templateInstanceItemMapper.selectList(new LambdaQueryWrapper().eq(TemplateInstanceItemDO::getInscId, id)).stream().map(TemplateInstanceItemDO::getItmId).toList(); + + // 例模版条款去条款库查询条款信息 + if (!itmIds.isEmpty()){ + List tmplItmRespVOS = BeanUtils.toBean(tmplItmService.listTmplItmByIds(itmIds), TmplItmRespVO.class); + fieldAndClauseRespVO.setTmplItmRespVOS(BeanUtils.toBean(tmplItmRespVOS, TmplItmRespVO.class)); + } + if (!valKeys.isEmpty()){ + //例模版字段去字段库查询字段信息 + List tmplTpListByValKeys = tmplTpFldService.getTmplTpListByValKeys(valKeys); + fieldAndClauseRespVO.setTmplFldRespVOS(BeanUtils.toBean(tmplTpListByValKeys, TmplFldRespVO.class)); + } + + return fieldAndClauseRespVO; + } + } diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TmplItmService.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TmplItmService.java index f150466..7ac4db7 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TmplItmService.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TmplItmService.java @@ -7,6 +7,8 @@ import com.zt.plat.module.base.controller.admin.templtp.vo.TmplItmRespVO; import com.zt.plat.module.base.controller.admin.templtp.vo.TmplItmSaveReqVO; import com.zt.plat.module.base.dal.dataobject.tmpltp.TmplItmDO; import com.baomidou.mybatisplus.extension.service.IService; +import jakarta.validation.Valid; +import jakarta.validation.constraints.NotEmpty; import java.util.List; @@ -17,4 +19,5 @@ public interface TmplItmService extends IService { boolean deleteTmplItm(List ids); PageResult pageTmplItm(TmpItmPageReqVO pageReqVO); + List listTmplItmByIds(@Valid @NotEmpty(message = "ids不能为空") List ids); } diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TmplItmServiceImpl.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TmplItmServiceImpl.java index 7a9e62b..2b4020c 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TmplItmServiceImpl.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TmplItmServiceImpl.java @@ -71,4 +71,9 @@ public class TmplItmServiceImpl extends ServiceImpl im public PageResult pageTmplItm(TmpItmPageReqVO pageReqVO) { return baseMapper.selectPage(pageReqVO); } + + @Override + public List listTmplItmByIds(List ids) { + return baseMapper.selectByIds(ids); + } } diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TmplTpFldService.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TmplTpFldService.java index 617b7d9..d36d8f9 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TmplTpFldService.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TmplTpFldService.java @@ -19,4 +19,7 @@ public interface TmplTpFldService extends IService { void deleteTmplTpByIds(List< Long> ids); List>getTmplTpListByClass(String clazz); + List getTmplTpListByValKeys(List< String> valNames); + + } diff --git a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TmplTpFldServiceImpl.java b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TmplTpFldServiceImpl.java index f274210..6475e32 100644 --- a/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TmplTpFldServiceImpl.java +++ b/zt-module-base/zt-module-base-server/src/main/java/com/zt/plat/module/base/service/tmpltp/TmplTpFldServiceImpl.java @@ -1,6 +1,7 @@ package com.zt.plat.module.base.service.tmpltp; import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.util.object.BeanUtils; import com.zt.plat.framework.security.core.LoginUser; @@ -90,4 +91,9 @@ public class TmplTpFldServiceImpl extends ServiceImpl getTmplTpListByValKeys(List valNames) { + return baseMapper.selectList(new LambdaQueryWrapper().in(TmplTpFldDO::getFldKy, valNames)); + } }