diff --git a/pom.xml b/pom.xml
index fe6130f..6f6b1c9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -19,7 +19,7 @@
https://github.com/YunaiV/ruoyi-vue-pro
- 3.0.31
+ 3.0.34
17
${java.version}
diff --git a/yudao-module-base/yudao-module-base-api/src/main/java/cn/iocoder/yudao/module/tmpltp/enums/ErrorCodeConstants.java b/yudao-module-base/yudao-module-base-api/src/main/java/cn/iocoder/yudao/module/tmpltp/enums/ErrorCodeConstants.java
index 07be175..3b24a8f 100644
--- a/yudao-module-base/yudao-module-base-api/src/main/java/cn/iocoder/yudao/module/tmpltp/enums/ErrorCodeConstants.java
+++ b/yudao-module-base/yudao-module-base-api/src/main/java/cn/iocoder/yudao/module/tmpltp/enums/ErrorCodeConstants.java
@@ -12,7 +12,9 @@ public interface ErrorCodeConstants {
ErrorCode TEMPLATE_INSTANCE_NOT_EXISTS = new ErrorCode(1_027_000_504, "模板实例不存在");
ErrorCode TMPL_TP_SATUS_ERROR = new ErrorCode(1_027_000_506, "状态变更失败");
ErrorCode TMPL_TP_DEl_ERROR = new ErrorCode(1_027_000_507, "模版分类删除失败");
-
+ ErrorCode TEMPLATE_INSTANCE_DATA_NOT_EXISTS = new ErrorCode(1_027_000_508, "实例字段值不存在");
+ ErrorCode TEMPLATE_INSTANCE_ITEM_NOT_EXISTS = new ErrorCode(1_027_000_509, "实例条款值不存在");
+ ErrorCode PARAMS_IS_NULL_OR_ERR = new ErrorCode(1_027_000_510, "参数为空");
}
diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/TemplateInstanceDataController.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/TemplateInstanceDataController.java
new file mode 100644
index 0000000..4bc9005
--- /dev/null
+++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/TemplateInstanceDataController.java
@@ -0,0 +1,111 @@
+package cn.iocoder.yudao.module.base.controller.admin.templtp;
+
+import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.TemplateInstanceDataPageReqVO;
+import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.TemplateInstanceDataRespVO;
+import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.TemplateInstanceDataSaveReqVO;
+import cn.iocoder.yudao.module.base.dal.dataobject.tmpltp.TemplateInstanceDataDO;
+import cn.iocoder.yudao.module.base.service.tmpltp.TemplateInstanceDataService;
+import org.springframework.web.bind.annotation.*;
+import jakarta.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.security.access.prepost.PreAuthorize;
+import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker;
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.Operation;
+
+import jakarta.validation.constraints.*;
+import jakarta.validation.*;
+import jakarta.servlet.http.*;
+import java.util.*;
+import java.io.IOException;
+
+import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+
+import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
+
+import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
+import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
+
+
+
+@Tag(name = "管理后台 - 实例字段值")
+@RestController
+@RequestMapping("/base/template-instance-data")
+@Validated
+public class TemplateInstanceDataController implements BusinessControllerMarker {
+
+
+ @Resource
+ private TemplateInstanceDataService templateInstanceDataService;
+
+ @PostMapping("/create")
+ @Operation(summary = "创建实例字段值")
+ @PreAuthorize("@ss.hasPermission('base:template-instance-data:create')")
+ public CommonResult createTemplateInstanceData(@Valid @RequestBody TemplateInstanceDataSaveReqVO createReqVO) {
+ return success(templateInstanceDataService.createTemplateInstanceData(createReqVO));
+ }
+
+ @PutMapping("/update")
+ @Operation(summary = "更新实例字段值")
+ @PreAuthorize("@ss.hasPermission('base:template-instance-data:update')")
+ public CommonResult updateTemplateInstanceData(@Valid @RequestBody TemplateInstanceDataSaveReqVO updateReqVO) {
+ templateInstanceDataService.updateTemplateInstanceData(updateReqVO);
+ return success(true);
+ }
+
+ @DeleteMapping("/delete")
+ @Operation(summary = "删除实例字段值")
+ @Parameter(name = "id", description = "编号", required = true)
+ @PreAuthorize("@ss.hasPermission('base:template-instance-data:delete')")
+ public CommonResult deleteTemplateInstanceData(@RequestParam("id") Long id) {
+ templateInstanceDataService.deleteTemplateInstanceData(id);
+ return success(true);
+ }
+
+ @DeleteMapping("/delete-list")
+ @Parameter(name = "ids", description = "编号", required = true)
+ @Operation(summary = "批量删除实例字段值")
+ @PreAuthorize("@ss.hasPermission('base:template-instance-data:delete')")
+ public CommonResult deleteTemplateInstanceDataList(@RequestBody BatchDeleteReqVO req) {
+ templateInstanceDataService.deleteTemplateInstanceDataListByIds(req.getIds());
+ return success(true);
+ }
+
+ @GetMapping("/get")
+ @Operation(summary = "获得实例字段值")
+ @Parameter(name = "id", description = "编号", required = true, example = "1024")
+ @PreAuthorize("@ss.hasPermission('base:template-instance-data:query')")
+ public CommonResult getTemplateInstanceData(@RequestParam("id") Long id) {
+ TemplateInstanceDataDO templateInstanceData = templateInstanceDataService.getTemplateInstanceData(id);
+ return success(BeanUtils.toBean(templateInstanceData, TemplateInstanceDataRespVO.class));
+ }
+
+ @GetMapping("/page")
+ @Operation(summary = "获得实例字段值分页")
+ @PreAuthorize("@ss.hasPermission('base:template-instance-data:query')")
+ public CommonResult> getTemplateInstanceDataPage(@Valid TemplateInstanceDataPageReqVO pageReqVO) {
+ PageResult pageResult = templateInstanceDataService.getTemplateInstanceDataPage(pageReqVO);
+ return success(BeanUtils.toBean(pageResult, TemplateInstanceDataRespVO.class));
+ }
+
+ @GetMapping("/export-excel")
+ @Operation(summary = "导出实例字段值 Excel")
+ @PreAuthorize("@ss.hasPermission('base:template-instance-data:export')")
+ @ApiAccessLog(operateType = EXPORT)
+ public void exportTemplateInstanceDataExcel(@Valid TemplateInstanceDataPageReqVO pageReqVO,
+ HttpServletResponse response) throws IOException {
+ pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+ List list = templateInstanceDataService.getTemplateInstanceDataPage(pageReqVO).getList();
+ // 导出 Excel
+ ExcelUtils.write(response, "实例字段值.xls", "数据", TemplateInstanceDataRespVO.class,
+ BeanUtils.toBean(list, TemplateInstanceDataRespVO.class));
+ }
+
+}
diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/TemplateInstanceItemController.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/TemplateInstanceItemController.java
new file mode 100644
index 0000000..3d1437a
--- /dev/null
+++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/TemplateInstanceItemController.java
@@ -0,0 +1,111 @@
+package cn.iocoder.yudao.module.base.controller.admin.templtp;
+
+import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.TemplateInstanceItemPageReqVO;
+import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.TemplateInstanceItemRespVO;
+import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.TemplateInstanceItemSaveReqVO;
+import cn.iocoder.yudao.module.base.dal.dataobject.tmpltp.TemplateInstanceItemDO;
+import cn.iocoder.yudao.module.base.service.tmpltp.TemplateInstanceItemService;
+import org.springframework.web.bind.annotation.*;
+import jakarta.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.security.access.prepost.PreAuthorize;
+import cn.iocoder.yudao.framework.business.interceptor.BusinessControllerMarker;
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.Operation;
+
+import jakarta.validation.constraints.*;
+import jakarta.validation.*;
+import jakarta.servlet.http.*;
+import java.util.*;
+import java.io.IOException;
+
+import cn.iocoder.yudao.framework.common.pojo.vo.BatchDeleteReqVO;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+
+import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
+
+import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
+import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
+
+
+@Tag(name = "管理后台 - 实例条款值")
+@RestController
+@RequestMapping("/base/template-instance-item")
+@Validated
+public class TemplateInstanceItemController implements BusinessControllerMarker {
+
+
+ @Resource
+ private TemplateInstanceItemService templateInstanceItemService;
+
+ @PostMapping("/create")
+ @Operation(summary = "创建实例条款值")
+ @PreAuthorize("@ss.hasPermission('base:template-instance-item:create')")
+ public CommonResult createTemplateInstanceItem(@Valid @RequestBody TemplateInstanceItemSaveReqVO createReqVO) {
+ return success(templateInstanceItemService.createTemplateInstanceItem(createReqVO));
+ }
+
+ @PutMapping("/update")
+ @Operation(summary = "更新实例条款值")
+ @PreAuthorize("@ss.hasPermission('base:template-instance-item:update')")
+ public CommonResult updateTemplateInstanceItem(@Valid @RequestBody TemplateInstanceItemSaveReqVO updateReqVO) {
+ templateInstanceItemService.updateTemplateInstanceItem(updateReqVO);
+ return success(true);
+ }
+
+ @DeleteMapping("/delete")
+ @Operation(summary = "删除实例条款值")
+ @Parameter(name = "id", description = "编号", required = true)
+ @PreAuthorize("@ss.hasPermission('base:template-instance-item:delete')")
+ public CommonResult deleteTemplateInstanceItem(@RequestParam("id") String id) {
+ templateInstanceItemService.deleteTemplateInstanceItem(id);
+ return success(true);
+ }
+
+ @DeleteMapping("/delete-list")
+ @Parameter(name = "ids", description = "编号", required = true)
+ @Operation(summary = "批量删除实例条款值")
+ @PreAuthorize("@ss.hasPermission('base:template-instance-item:delete')")
+ public CommonResult deleteTemplateInstanceItemList(@RequestBody BatchDeleteReqVO req) {
+ List ids = req.getIds().stream().map(String::valueOf).toList();
+ templateInstanceItemService.deleteTemplateInstanceItemListByIds(ids);
+ return success(true);
+ }
+
+ @GetMapping("/get")
+ @Operation(summary = "获得实例条款值")
+ @Parameter(name = "id", description = "编号", required = true, example = "1024")
+ @PreAuthorize("@ss.hasPermission('base:template-instance-item:query')")
+ public CommonResult getTemplateInstanceItem(@RequestParam("id") String id) {
+ TemplateInstanceItemDO templateInstanceItem = templateInstanceItemService.getTemplateInstanceItem(id);
+ return success(BeanUtils.toBean(templateInstanceItem, TemplateInstanceItemRespVO.class));
+ }
+
+ @GetMapping("/page")
+ @Operation(summary = "获得实例条款值分页")
+ @PreAuthorize("@ss.hasPermission('base:template-instance-item:query')")
+ public CommonResult> getTemplateInstanceItemPage(@Valid TemplateInstanceItemPageReqVO pageReqVO) {
+ PageResult pageResult = templateInstanceItemService.getTemplateInstanceItemPage(pageReqVO);
+ return success(BeanUtils.toBean(pageResult, TemplateInstanceItemRespVO.class));
+ }
+
+ @GetMapping("/export-excel")
+ @Operation(summary = "导出实例条款值 Excel")
+ @PreAuthorize("@ss.hasPermission('base:template-instance-item:export')")
+ @ApiAccessLog(operateType = EXPORT)
+ public void exportTemplateInstanceItemExcel(@Valid TemplateInstanceItemPageReqVO pageReqVO,
+ HttpServletResponse response) throws IOException {
+ pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+ List list = templateInstanceItemService.getTemplateInstanceItemPage(pageReqVO).getList();
+ // 导出 Excel
+ ExcelUtils.write(response, "实例条款值.xls", "数据", TemplateInstanceItemRespVO.class,
+ BeanUtils.toBean(list, TemplateInstanceItemRespVO.class));
+ }
+
+}
diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/TmplTpController.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/TmplTpController.java
index 8837b4d..10984af 100644
--- a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/TmplTpController.java
+++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/TmplTpController.java
@@ -26,6 +26,8 @@ import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+
+import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
@@ -33,6 +35,7 @@ import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
+import static cn.iocoder.yudao.module.tmpltp.enums.ErrorCodeConstants.PARAMS_IS_NULL_OR_ERR;
@Tag(name = "管理后台 - 模板分类")
@@ -127,16 +130,16 @@ public class TmplTpController extends AbstractFileUploadController implements Bu
//更新类型状态
@PutMapping("/updateStatus")
- @Operation(summary = "更新模板字段状态")
+ @Operation(summary = "更新模板类型状态")
@PreAuthorize("@ss.hasPermission('bse:tmpl-tp:update')")
public CommonResult updateStatus(@RequestBody Map params) {
if (params == null){
- throw new RuntimeException("参数不能为空");
+ throw exception(PARAMS_IS_NULL_OR_ERR);
}
- if (!params.containsKey("id") || !params.containsKey("status")){
- throw new RuntimeException("参数id或者状态不能为空");
+ if (!params.containsKey("id") || !params.containsKey("sts")){
+ throw exception(PARAMS_IS_NULL_OR_ERR);
}
- tmplTpService.updateStatus(Long.valueOf(params.get("id").toString()), params.get("status").toString());
+ tmplTpService.updateStatus(Long.valueOf(params.get("id").toString()), params.get("sts").toString());
return success(true);
}
diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TemplateInstanceDataPageReqVO.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TemplateInstanceDataPageReqVO.java
new file mode 100644
index 0000000..d999ec6
--- /dev/null
+++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TemplateInstanceDataPageReqVO.java
@@ -0,0 +1,29 @@
+package cn.iocoder.yudao.module.base.controller.admin.templtp.vo;
+
+import lombok.*;
+import java.util.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+
+import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 实例字段值分页 Request VO")
+@Data
+public class TemplateInstanceDataPageReqVO extends PageParam {
+
+ @Schema(description = "关联实例主键", example = "25824")
+ private String instanceId;
+
+ @Schema(description = "字段标识;关联字段库")
+ private String fieldKey;
+
+ @Schema(description = "用户填写的值")
+ private String fieldValue;
+
+ @Schema(description = "创建时间")
+ @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+ private LocalDateTime[] createTime;
+
+}
diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TemplateInstanceDataRespVO.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TemplateInstanceDataRespVO.java
new file mode 100644
index 0000000..cfb344e
--- /dev/null
+++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TemplateInstanceDataRespVO.java
@@ -0,0 +1,35 @@
+package cn.iocoder.yudao.module.base.controller.admin.templtp.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+import com.alibaba.excel.annotation.*;
+
+@Schema(description = "管理后台 - 实例字段值 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class TemplateInstanceDataRespVO {
+
+ @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "10920")
+ @ExcelProperty("主键")
+ private Long id;
+
+ @Schema(description = "关联实例主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "25824")
+ @ExcelProperty("关联实例主键")
+ private String instanceId;
+
+ @Schema(description = "字段标识;关联字段库", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("字段标识;关联字段库")
+ private String fieldKey;
+
+ @Schema(description = "用户填写的值", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("用户填写的值")
+ private String fieldValue;
+
+ @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("创建时间")
+ private LocalDateTime createTime;
+
+}
diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TemplateInstanceDataSaveReqVO.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TemplateInstanceDataSaveReqVO.java
new file mode 100644
index 0000000..ab71737
--- /dev/null
+++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TemplateInstanceDataSaveReqVO.java
@@ -0,0 +1,27 @@
+package cn.iocoder.yudao.module.base.controller.admin.templtp.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import jakarta.validation.constraints.*;
+
+@Schema(description = "管理后台 - 实例字段值新增/修改 Request VO")
+@Data
+public class TemplateInstanceDataSaveReqVO {
+
+ @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "10920")
+ private Long id;
+
+ @Schema(description = "关联实例主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "25824")
+ @NotEmpty(message = "关联实例主键不能为空")
+ private String instanceId;
+
+ @Schema(description = "字段标识;关联字段库", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotEmpty(message = "字段标识;关联字段库不能为空")
+ private String fieldKey;
+
+ @Schema(description = "用户填写的值", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotEmpty(message = "用户填写的值不能为空")
+ private String fieldValue;
+
+}
diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TemplateInstanceItemPageReqVO.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TemplateInstanceItemPageReqVO.java
new file mode 100644
index 0000000..dcc825e
--- /dev/null
+++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TemplateInstanceItemPageReqVO.java
@@ -0,0 +1,30 @@
+package cn.iocoder.yudao.module.base.controller.admin.templtp.vo;
+
+import lombok.*;
+
+import java.time.LocalDate;
+import java.util.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 实例条款值分页 Request VO")
+@Data
+public class TemplateInstanceItemPageReqVO extends PageParam {
+
+ @Schema(description = "关联实例主键", example = "28964")
+ private String inscId;
+
+ @Schema(description = "条款库主键;关联字段库", example = "11278")
+ private String itmId;
+
+ @Schema(description = "用户填写的值")
+ private String val;
+
+ @Schema(description = "创建时间")
+ @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+ private LocalDate[] createTime;
+
+}
diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TemplateInstanceItemRespVO.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TemplateInstanceItemRespVO.java
new file mode 100644
index 0000000..cedae9a
--- /dev/null
+++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TemplateInstanceItemRespVO.java
@@ -0,0 +1,35 @@
+package cn.iocoder.yudao.module.base.controller.admin.templtp.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+
+import java.time.LocalDate;
+import java.util.*;
+import com.alibaba.excel.annotation.*;
+
+@Schema(description = "管理后台 - 实例条款值 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class TemplateInstanceItemRespVO {
+
+ @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "25152")
+ @ExcelProperty("主键")
+ private String id;
+
+ @Schema(description = "关联实例主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "28964")
+ @ExcelProperty("关联实例主键")
+ private String inscId;
+
+ @Schema(description = "条款库主键;关联字段库", requiredMode = Schema.RequiredMode.REQUIRED, example = "11278")
+ @ExcelProperty("条款库主键;关联字段库")
+ private String itmId;
+
+ @Schema(description = "用户填写的值", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("用户填写的值")
+ private String val;
+
+ @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+ @ExcelProperty("创建时间")
+ private LocalDate createTime;
+
+}
diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TemplateInstanceItemSaveReqVO.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TemplateInstanceItemSaveReqVO.java
new file mode 100644
index 0000000..f63db78
--- /dev/null
+++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TemplateInstanceItemSaveReqVO.java
@@ -0,0 +1,27 @@
+package cn.iocoder.yudao.module.base.controller.admin.templtp.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import jakarta.validation.constraints.*;
+
+@Schema(description = "管理后台 - 实例条款值新增/修改 Request VO")
+@Data
+public class TemplateInstanceItemSaveReqVO {
+
+ @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "25152")
+ private String id;
+
+ @Schema(description = "关联实例主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "28964")
+ @NotEmpty(message = "关联实例主键不能为空")
+ private String inscId;
+
+ @Schema(description = "条款库主键;关联字段库", requiredMode = Schema.RequiredMode.REQUIRED, example = "11278")
+ @NotEmpty(message = "条款库主键;关联字段库不能为空")
+ private String itmId;
+
+ @Schema(description = "用户填写的值", requiredMode = Schema.RequiredMode.REQUIRED)
+ @NotEmpty(message = "用户填写的值不能为空")
+ private String val;
+
+}
diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TmplItmSaveReqVO.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TmplItmSaveReqVO.java
index ad2ca2b..7252dd7 100644
--- a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TmplItmSaveReqVO.java
+++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TmplItmSaveReqVO.java
@@ -10,7 +10,7 @@ import lombok.Data;
@Data
public class TmplItmSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "")
- private long id;
+ private Long id;
@Schema(description = "条款编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "")
private String itmNum;
diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TmplTpSaveReqVO.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TmplTpSaveReqVO.java
index b8529ca..27b2759 100644
--- a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TmplTpSaveReqVO.java
+++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TmplTpSaveReqVO.java
@@ -28,11 +28,10 @@ public class TmplTpSaveReqVO {
private Long srt;
@Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED)
- @NotEmpty(message = "状态不能为空")
private String sts;
- @NotEmpty(message = "条款能为空")
+
private List tmplItmIds ;
- @NotEmpty(message = "字段不能为空")
- private List tmplTpFldIds;
+
+ private List tmplTpFldIds;
}
diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/dal/dataobject/tmpltp/TemplateInstanceDataDO.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/dal/dataobject/tmpltp/TemplateInstanceDataDO.java
new file mode 100644
index 0000000..190ae6b
--- /dev/null
+++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/dal/dataobject/tmpltp/TemplateInstanceDataDO.java
@@ -0,0 +1,50 @@
+package cn.iocoder.yudao.module.base.dal.dataobject.tmpltp;
+
+import lombok.*;
+import java.util.*;
+ import java.time.LocalDateTime;
+ import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.*;
+import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO;
+/**
+* 实例字段值 DO
+*
+* @author 后台管理
+*/
+@TableName("bse_tmpl_insc_dat")
+@KeySequence("bse_tmpl_insc_dat_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+/**
+* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO
+*/
+public class TemplateInstanceDataDO extends BusinessBaseDO {
+
+
+
+ /**
+ * 主键
+ */
+ @TableId(type = IdType.ASSIGN_ID)
+ private Long id;
+ /**
+ * 关联实例主键
+ */
+ @TableField("INSC_ID")
+ private String instanceId;
+ /**
+ * 字段标识;关联字段库
+ */
+ @TableField("FLD_KY")
+ private String fieldKey;
+ /**
+ * 用户填写的值
+ */
+ @TableField("FLD_VAL")
+ private String fieldValue;
+
+}
diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/dal/dataobject/tmpltp/TemplateInstanceItemDO.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/dal/dataobject/tmpltp/TemplateInstanceItemDO.java
new file mode 100644
index 0000000..59ef319
--- /dev/null
+++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/dal/dataobject/tmpltp/TemplateInstanceItemDO.java
@@ -0,0 +1,48 @@
+package cn.iocoder.yudao.module.base.dal.dataobject.tmpltp;
+
+import lombok.*;
+import java.util.*;
+import com.baomidou.mybatisplus.annotation.*;
+import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO;
+/**
+* 实例条款值 DO
+*
+* @author 后台管理
+*/
+@TableName("bse_tmpl_insc_itm")
+@KeySequence("bse_tmpl_insc_itm_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+/**
+* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO
+*/
+public class TemplateInstanceItemDO extends BusinessBaseDO {
+
+
+
+ /**
+ * 主键
+ */
+ @TableId(type = IdType.INPUT)
+ private String id;
+ /**
+ * 关联实例主键
+ */
+ @TableField("INSC_ID")
+ private String inscId;
+ /**
+ * 条款库主键;关联字段库
+ */
+ @TableField("ITM_ID")
+ private String itmId;
+ /**
+ * 用户填写的值
+ */
+ @TableField("VAL")
+ private String val;
+
+}
diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/dal/mysql/tmpltp/TemplateInstanceDataMapper.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/dal/mysql/tmpltp/TemplateInstanceDataMapper.java
new file mode 100644
index 0000000..770a66a
--- /dev/null
+++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/dal/mysql/tmpltp/TemplateInstanceDataMapper.java
@@ -0,0 +1,31 @@
+package cn.iocoder.yudao.module.base.dal.mysql.tmpltp;
+
+import java.util.*;
+
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+
+import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.TemplateInstanceDataPageReqVO;
+import cn.iocoder.yudao.module.base.dal.dataobject.tmpltp.TemplateInstanceDataDO;
+import org.apache.ibatis.annotations.Mapper;
+
+
+/**
+ * 实例字段值 Mapper
+ *
+ * @author 后台管理
+ */
+@Mapper
+public interface TemplateInstanceDataMapper extends BaseMapperX {
+
+ default PageResult selectPage(TemplateInstanceDataPageReqVO reqVO) {
+ return selectPage(reqVO, new LambdaQueryWrapperX()
+ .eqIfPresent(TemplateInstanceDataDO::getInstanceId, reqVO.getInstanceId())
+ .eqIfPresent(TemplateInstanceDataDO::getFieldKey, reqVO.getFieldKey())
+ .eqIfPresent(TemplateInstanceDataDO::getFieldValue, reqVO.getFieldValue())
+ .betweenIfPresent(TemplateInstanceDataDO::getCreateTime, reqVO.getCreateTime())
+ .orderByDesc(TemplateInstanceDataDO::getId));
+ }
+
+}
diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/dal/mysql/tmpltp/TemplateInstanceItemMapper.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/dal/mysql/tmpltp/TemplateInstanceItemMapper.java
new file mode 100644
index 0000000..18a39f3
--- /dev/null
+++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/dal/mysql/tmpltp/TemplateInstanceItemMapper.java
@@ -0,0 +1,31 @@
+package cn.iocoder.yudao.module.base.dal.mysql.tmpltp;
+
+import java.util.*;
+
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+
+import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.TemplateInstanceItemPageReqVO;
+import cn.iocoder.yudao.module.base.dal.dataobject.tmpltp.TemplateInstanceItemDO;
+import org.apache.ibatis.annotations.Mapper;
+
+
+/**
+ * 实例条款值 Mapper
+ *
+ * @author 后台管理
+ */
+@Mapper
+public interface TemplateInstanceItemMapper extends BaseMapperX {
+
+ default PageResult selectPage(TemplateInstanceItemPageReqVO reqVO) {
+ return selectPage(reqVO, new LambdaQueryWrapperX()
+ .eqIfPresent(TemplateInstanceItemDO::getInscId, reqVO.getInscId())
+ .eqIfPresent(TemplateInstanceItemDO::getItmId, reqVO.getItmId())
+ .eqIfPresent(TemplateInstanceItemDO::getVal, reqVO.getVal())
+ .betweenIfPresent(TemplateInstanceItemDO::getCreateTime, reqVO.getCreateTime())
+ .orderByDesc(TemplateInstanceItemDO::getId));
+ }
+
+}
diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/dal/mysql/tmpltp/TmplTpMapper.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/dal/mysql/tmpltp/TmplTpMapper.java
index 129c356..47fdb39 100644
--- a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/dal/mysql/tmpltp/TmplTpMapper.java
+++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/dal/mysql/tmpltp/TmplTpMapper.java
@@ -5,8 +5,11 @@ import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.TmplFldRespVO;
+import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.TmplItmRespVO;
import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.TmplTpPageReqVO;
import cn.iocoder.yudao.module.base.dal.dataobject.tmpltp.TmplTpDO;
+import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@@ -34,26 +37,11 @@ public interface TmplTpMapper extends BaseMapperX {
.orderByDesc(TmplTpDO::getId));
}
- @Select("select bt.*\n" +
- "from bse_tmpl_tp btt\n" +
- " inner join bse_tmpl_fld_rel btfr on btt.id = btfr.tmpl_tp_id\n" +
- " inner join biz_tmpl_tp_fld bt on bt.id = btfr.tp_fld_id\n" +
- "where btt.deleted = 0\n" +
- " and btfr.deleted = 0\n" +
- " and bt.deleted = 0\n" +
- "and btt.id = #{id}")
- List