From 4c6f1804eca212ecece25cefbb8b6d4504039a16 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: Thu, 18 Sep 2025 17:17:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A8=A1=E7=89=88=E6=96=B0=E5=A2=9E=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=85=B3=E8=81=94=E7=9A=84=E7=9B=B8=E5=85=B3=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tmpltp/enums/ErrorCodeConstants.java | 4 +- .../TemplateInstanceDataController.java | 111 ++++++++++++++++++ .../TemplateInstanceItemController.java | 111 ++++++++++++++++++ .../admin/templtp/TmplTpController.java | 13 +- .../vo/TemplateInstanceDataPageReqVO.java | 29 +++++ .../vo/TemplateInstanceDataRespVO.java | 35 ++++++ .../vo/TemplateInstanceDataSaveReqVO.java | 27 +++++ .../vo/TemplateInstanceItemPageReqVO.java | 30 +++++ .../vo/TemplateInstanceItemRespVO.java | 35 ++++++ .../vo/TemplateInstanceItemSaveReqVO.java | 27 +++++ .../admin/templtp/vo/TmplItmSaveReqVO.java | 2 +- .../admin/templtp/vo/TmplTpSaveReqVO.java | 7 +- .../tmpltp/TemplateInstanceDataDO.java | 50 ++++++++ .../tmpltp/TemplateInstanceItemDO.java | 48 ++++++++ .../tmpltp/TemplateInstanceDataMapper.java | 31 +++++ .../tmpltp/TemplateInstanceItemMapper.java | 31 +++++ .../base/dal/mysql/tmpltp/TmplTpMapper.java | 26 ++-- .../tmpltp/TemplateInstanceDataService.java | 66 +++++++++++ .../TemplateInstanceDataServiceImpl.java | 97 +++++++++++++++ .../tmpltp/TemplateInstanceItemService.java | 66 +++++++++++ .../TemplateInstanceItemServiceImpl.java | 97 +++++++++++++++ .../service/tmpltp/TmplItmServiceImpl.java | 5 +- .../service/tmpltp/TmplTpFldServiceImpl.java | 2 +- .../base/service/tmpltp/TmplTpService.java | 9 +- .../service/tmpltp/TmplTpServiceImpl.java | 32 ++--- .../tmpltp/TemplateInstanceDataMapper.xml | 12 ++ .../tmpltp/TemplateInstanceItemMapper.xml | 12 ++ .../resources/mapper/tmpltp/TmplTpMapper.xml | 30 +++++ 28 files changed, 990 insertions(+), 55 deletions(-) create mode 100644 yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/TemplateInstanceDataController.java create mode 100644 yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/TemplateInstanceItemController.java create mode 100644 yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TemplateInstanceDataPageReqVO.java create mode 100644 yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TemplateInstanceDataRespVO.java create mode 100644 yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TemplateInstanceDataSaveReqVO.java create mode 100644 yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TemplateInstanceItemPageReqVO.java create mode 100644 yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TemplateInstanceItemRespVO.java create mode 100644 yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/controller/admin/templtp/vo/TemplateInstanceItemSaveReqVO.java create mode 100644 yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/dal/dataobject/tmpltp/TemplateInstanceDataDO.java create mode 100644 yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/dal/dataobject/tmpltp/TemplateInstanceItemDO.java create mode 100644 yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/dal/mysql/tmpltp/TemplateInstanceDataMapper.java create mode 100644 yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/dal/mysql/tmpltp/TemplateInstanceItemMapper.java create mode 100644 yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TemplateInstanceDataService.java create mode 100644 yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TemplateInstanceDataServiceImpl.java create mode 100644 yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TemplateInstanceItemService.java create mode 100644 yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TemplateInstanceItemServiceImpl.java create mode 100644 yudao-module-base/yudao-module-base-server/src/main/resources/mapper/tmpltp/TemplateInstanceDataMapper.xml create mode 100644 yudao-module-base/yudao-module-base-server/src/main/resources/mapper/tmpltp/TemplateInstanceItemMapper.xml 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> getField(@Param("id") Long id); + @MapKey("id") + List getField(@Param("id") Long id); - @Select("select bti.*\n" + - "from bse_tmpl_tp btt\n" + - " inner join BSE_TMPL_ITM_REL btir on btt.id = btir.itm_fld_id\n" + - " inner join BSE_TMPL_ITM bti on btir.itm_fld_id = bti.id\n" + - "where btt.deleted = 0\n" + - " and btfr.deleted = 0\n" + - " and bti.deleted = 0\n" + - "and btt.id = #{id}") - List>getClause(@Param("id") Long id); + @MapKey("id") + List getClause(@Param("id") Long id); - @Select("select * from bse_tmpl_tp where id= #{id}") TmplTpDO getTmplTpById(@Param("id") Long id); } diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TemplateInstanceDataService.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TemplateInstanceDataService.java new file mode 100644 index 0000000..164689c --- /dev/null +++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TemplateInstanceDataService.java @@ -0,0 +1,66 @@ +package cn.iocoder.yudao.module.base.service.tmpltp; + +import java.util.*; + +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 jakarta.validation.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 实例字段值 Service 接口 + * + * @author 后台管理 + */ +public interface TemplateInstanceDataService { + + /** + * 创建实例字段值 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + TemplateInstanceDataRespVO createTemplateInstanceData(@Valid TemplateInstanceDataSaveReqVO createReqVO); + + /** + * 更新实例字段值 + * + * @param updateReqVO 更新信息 + */ + void updateTemplateInstanceData(@Valid TemplateInstanceDataSaveReqVO updateReqVO); + + /** + * 删除实例字段值 + * + * @param id 编号 + */ + void deleteTemplateInstanceData(Long id); + + /** + * 批量删除实例字段值 + * + * @param ids 编号 + */ + void deleteTemplateInstanceDataListByIds(List ids); + + /** + * 获得实例字段值 + * + * @param id 编号 + * @return 实例字段值 + */ + TemplateInstanceDataDO getTemplateInstanceData(Long id); + + /** + * 获得实例字段值分页 + * + * @param pageReqVO 分页查询 + * @return 实例字段值分页 + */ + PageResult getTemplateInstanceDataPage(TemplateInstanceDataPageReqVO pageReqVO); + +} diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TemplateInstanceDataServiceImpl.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TemplateInstanceDataServiceImpl.java new file mode 100644 index 0000000..b9dff96 --- /dev/null +++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TemplateInstanceDataServiceImpl.java @@ -0,0 +1,97 @@ +package cn.iocoder.yudao.module.base.service.tmpltp; + +import cn.hutool.core.collection.CollUtil; +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.dal.mysql.tmpltp.TemplateInstanceDataMapper; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +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.util.collection.CollectionUtils.convertList; +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.diffList; +import static cn.iocoder.yudao.module.base.enums.ErrorCodeConstants.*; +import static cn.iocoder.yudao.module.tmpltp.enums.ErrorCodeConstants.TEMPLATE_INSTANCE_DATA_NOT_EXISTS; + +/** + * 实例字段值 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +public class TemplateInstanceDataServiceImpl implements TemplateInstanceDataService { + + @Resource + private TemplateInstanceDataMapper templateInstanceDataMapper; + + @Override + public TemplateInstanceDataRespVO createTemplateInstanceData(TemplateInstanceDataSaveReqVO createReqVO) { + // 插入 + TemplateInstanceDataDO templateInstanceData = BeanUtils.toBean(createReqVO, TemplateInstanceDataDO.class); + templateInstanceDataMapper.insert(templateInstanceData); + // 返回 + return BeanUtils.toBean(templateInstanceData, TemplateInstanceDataRespVO.class); + } + + @Override + public void updateTemplateInstanceData(TemplateInstanceDataSaveReqVO updateReqVO) { + // 校验存在 + validateTemplateInstanceDataExists(updateReqVO.getId()); + // 更新 + TemplateInstanceDataDO updateObj = BeanUtils.toBean(updateReqVO, TemplateInstanceDataDO.class); + templateInstanceDataMapper.updateById(updateObj); + } + + @Override + public void deleteTemplateInstanceData(Long id) { + // 校验存在 + validateTemplateInstanceDataExists(id); + // 删除 + templateInstanceDataMapper.deleteById(id); + } + + @Override + public void deleteTemplateInstanceDataListByIds(List ids) { + // 校验存在 + validateTemplateInstanceDataExists(ids); + // 删除 + templateInstanceDataMapper.deleteByIds(ids); + } + + private void validateTemplateInstanceDataExists(List ids) { + List list = templateInstanceDataMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(TEMPLATE_INSTANCE_DATA_NOT_EXISTS); + } + } + + private void validateTemplateInstanceDataExists(Long id) { + if (templateInstanceDataMapper.selectById(id) == null) { + throw exception(TEMPLATE_INSTANCE_DATA_NOT_EXISTS); + } + } + + @Override + public TemplateInstanceDataDO getTemplateInstanceData(Long id) { + return templateInstanceDataMapper.selectById(id); + } + + @Override + public PageResult getTemplateInstanceDataPage(TemplateInstanceDataPageReqVO pageReqVO) { + return templateInstanceDataMapper.selectPage(pageReqVO); + } + +} diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TemplateInstanceItemService.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TemplateInstanceItemService.java new file mode 100644 index 0000000..e20f7ba --- /dev/null +++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TemplateInstanceItemService.java @@ -0,0 +1,66 @@ +package cn.iocoder.yudao.module.base.service.tmpltp; + +import java.util.*; + +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 jakarta.validation.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * 实例条款值 Service 接口 + * + * @author 后台管理 + */ +public interface TemplateInstanceItemService { + + /** + * 创建实例条款值 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + TemplateInstanceItemRespVO createTemplateInstanceItem(@Valid TemplateInstanceItemSaveReqVO createReqVO); + + /** + * 更新实例条款值 + * + * @param updateReqVO 更新信息 + */ + void updateTemplateInstanceItem(@Valid TemplateInstanceItemSaveReqVO updateReqVO); + + /** + * 删除实例条款值 + * + * @param id 编号 + */ + void deleteTemplateInstanceItem(String id); + + /** + * 批量删除实例条款值 + * + * @param ids 编号 + */ + void deleteTemplateInstanceItemListByIds(List ids); + + /** + * 获得实例条款值 + * + * @param id 编号 + * @return 实例条款值 + */ + TemplateInstanceItemDO getTemplateInstanceItem(String id); + + /** + * 获得实例条款值分页 + * + * @param pageReqVO 分页查询 + * @return 实例条款值分页 + */ + PageResult getTemplateInstanceItemPage(TemplateInstanceItemPageReqVO pageReqVO); + +} diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TemplateInstanceItemServiceImpl.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TemplateInstanceItemServiceImpl.java new file mode 100644 index 0000000..91d2b1e --- /dev/null +++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TemplateInstanceItemServiceImpl.java @@ -0,0 +1,97 @@ +package cn.iocoder.yudao.module.base.service.tmpltp; + +import cn.hutool.core.collection.CollUtil; +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.dal.mysql.tmpltp.TemplateInstanceItemMapper; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +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.util.collection.CollectionUtils.convertList; +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.diffList; +import static cn.iocoder.yudao.module.base.enums.ErrorCodeConstants.*; +import static cn.iocoder.yudao.module.tmpltp.enums.ErrorCodeConstants.TEMPLATE_INSTANCE_ITEM_NOT_EXISTS; + +/** + * 实例条款值 Service 实现类 + * + * @author 后台管理 + */ +@Service +@Validated +public class TemplateInstanceItemServiceImpl implements TemplateInstanceItemService { + + @Resource + private TemplateInstanceItemMapper templateInstanceItemMapper; + + @Override + public TemplateInstanceItemRespVO createTemplateInstanceItem(TemplateInstanceItemSaveReqVO createReqVO) { + // 插入 + TemplateInstanceItemDO templateInstanceItem = BeanUtils.toBean(createReqVO, TemplateInstanceItemDO.class); + templateInstanceItemMapper.insert(templateInstanceItem); + // 返回 + return BeanUtils.toBean(templateInstanceItem, TemplateInstanceItemRespVO.class); + } + + @Override + public void updateTemplateInstanceItem(TemplateInstanceItemSaveReqVO updateReqVO) { + // 校验存在 + validateTemplateInstanceItemExists(updateReqVO.getId()); + // 更新 + TemplateInstanceItemDO updateObj = BeanUtils.toBean(updateReqVO, TemplateInstanceItemDO.class); + templateInstanceItemMapper.updateById(updateObj); + } + + @Override + public void deleteTemplateInstanceItem(String id) { + // 校验存在 + validateTemplateInstanceItemExists(id); + // 删除 + templateInstanceItemMapper.deleteById(id); + } + + @Override + public void deleteTemplateInstanceItemListByIds(List ids) { + // 校验存在 + validateTemplateInstanceItemExists(ids); + // 删除 + templateInstanceItemMapper.deleteByIds(ids); + } + + private void validateTemplateInstanceItemExists(List ids) { + List list = templateInstanceItemMapper.selectByIds(ids); + if (CollUtil.isEmpty(list) || list.size() != ids.size()) { + throw exception(TEMPLATE_INSTANCE_ITEM_NOT_EXISTS); + } + } + + private void validateTemplateInstanceItemExists(String id) { + if (templateInstanceItemMapper.selectById(id) == null) { + throw exception(TEMPLATE_INSTANCE_ITEM_NOT_EXISTS); + } + } + + @Override + public TemplateInstanceItemDO getTemplateInstanceItem(String id) { + return templateInstanceItemMapper.selectById(id); + } + + @Override + public PageResult getTemplateInstanceItemPage(TemplateInstanceItemPageReqVO pageReqVO) { + return templateInstanceItemMapper.selectPage(pageReqVO); + } + +} diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TmplItmServiceImpl.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TmplItmServiceImpl.java index 951353e..7526af5 100644 --- a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TmplItmServiceImpl.java +++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TmplItmServiceImpl.java @@ -23,8 +23,9 @@ import static cn.iocoder.yudao.module.tmpltp.enums.ErrorCodeConstants.TMPL_ITM_N public class TmplItmServiceImpl extends ServiceImpl implements TmplItmService{ @Override public TmplItmRespVO createTmplItm(TmplItmSaveReqVO tmplItmSaveReqVO) { + tmplItmSaveReqVO.setId(null); TmplItmDO bean = BeanUtils.toBean(tmplItmSaveReqVO, TmplItmDO.class); - this.save(bean); + baseMapper.insert(bean); return BeanUtils.toBean(bean, TmplItmRespVO.class); } @@ -46,7 +47,7 @@ public class TmplItmServiceImpl extends ServiceImpl im } private void validateTmplLtmExists(Long id) { - if (this.getById(id) == null) { + if (baseMapper.selectById(id) == null) { throw exception(TMPL_ITM_NOT_EXISTS); } } diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TmplTpFldServiceImpl.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TmplTpFldServiceImpl.java index 071ad8d..ecd3309 100644 --- a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TmplTpFldServiceImpl.java +++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TmplTpFldServiceImpl.java @@ -58,7 +58,7 @@ public class TmplTpFldServiceImpl extends ServiceImpl { PageResult getTmplTpPage(TmplTpPageReqVO pageReqVO); - List> getField(Long id); - List> getClause(Long id); + List getField(Long id); + List getClause(Long id); List buildTree(); void updateStatus(Long id, String status); } diff --git a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TmplTpServiceImpl.java b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TmplTpServiceImpl.java index f71c772..dba563f 100644 --- a/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TmplTpServiceImpl.java +++ b/yudao-module-base/yudao-module-base-server/src/main/java/cn/iocoder/yudao/module/base/service/tmpltp/TmplTpServiceImpl.java @@ -2,11 +2,8 @@ package cn.iocoder.yudao.module.base.service.tmpltp; import cn.hutool.core.collection.CollUtil; -import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.TmplTpPageReqVO; -import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.TmplTpRespVO; -import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.TmplTpSaveReqVO; +import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.*; -import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.TmplTpTreeVO; import cn.iocoder.yudao.module.base.dal.dataobject.tmpltp.TmplFldRelDO; import cn.iocoder.yudao.module.base.dal.dataobject.tmpltp.TmplItmRelDO; import cn.iocoder.yudao.module.base.dal.dataobject.tmpltp.TmplTpDO; @@ -50,8 +47,11 @@ public class TmplTpServiceImpl extends ServiceImpl imple @Override @Transactional public TmplTpRespVO createTmplTp(TmplTpSaveReqVO createReqVO) { + //置空id + createReqVO.setId(null); // 插入 TmplTpDO tmplTp = BeanUtils.toBean(createReqVO, TmplTpDO.class); + tmplTp.setSts("Y"); baseMapper.insert(tmplTp); // 返回 List tmplFldRelDOS = new ArrayList<>(); @@ -62,7 +62,7 @@ public class TmplTpServiceImpl extends ServiceImpl imple tmplFldRelDO.setTpFldId(String.valueOf(tmplItmId)); tmplFldRelDOS.add(tmplFldRelDO); }); - createReqVO.getTmplTpFldIds().forEach(tmplFldId -> { + createReqVO.getTmplItmIds().forEach(tmplFldId -> { TmplItmRelDO tmplItmRelDO = new TmplItmRelDO(); tmplItmRelDO.setTmplTpId(String.valueOf(tmplTp.getId())); tmplItmRelDO.setItmFldId(String.valueOf(tmplFldId)); @@ -88,9 +88,9 @@ public class TmplTpServiceImpl extends ServiceImpl imple // 校验存在 validateTmplTpExists(ids); //校验能否进行删除 - if (!validateStatusCanDelete(ids)){ - throw exception(TMPL_TP_DEl_ERROR); - } +// if (!validateStatusCanDelete(ids)){ +// throw exception(TMPL_TP_DEl_ERROR); +// } // 删除 baseMapper.deleteByIds(ids); } @@ -111,7 +111,7 @@ public class TmplTpServiceImpl extends ServiceImpl imple } private void validateTmplTpExists(Long id) { - if (this.getById(id) == null) { + if (baseMapper.selectById(id) == null) { throw exception(TMPL_TP_NOT_EXISTS); } } @@ -127,12 +127,12 @@ public class TmplTpServiceImpl extends ServiceImpl imple } @Override - public List> getField(Long id) { + public List getField(Long id) { return baseMapper.getField(id); } @Override - public List> getClause(Long id) { + public List getClause(Long id) { return baseMapper.getClause(id); } @@ -183,9 +183,9 @@ public class TmplTpServiceImpl extends ServiceImpl imple @Override public void updateStatus(Long id, String status) { //验证当前的能否变更为之后的状态 - if (!validateStatusUpdate(id, status)) { - throw exception(TMPL_TP_SATUS_ERROR); - } +// if (!validateStatusUpdate(id, status)) { +// throw exception(TMPL_TP_SATUS_ERROR); +// } baseMapper.update(Wrappers.lambdaUpdate().set(TmplTpDO::getSts, status).eq(TmplTpDO::getId, id)); } @@ -207,13 +207,13 @@ public class TmplTpServiceImpl extends ServiceImpl imple private boolean validateStatusCanDelete(List ids) { Set sts = listByIds(ids).stream().map(TmplTpDO::getSts).collect(Collectors.toSet()); - List result=new ArrayList<>(); + List result = new ArrayList<>(); sts.forEach(status -> { StatusEnum currentStatus = StatusEnum.fromCode(status); boolean transitionAllowed = false; if (currentStatus != null) { transitionAllowed = currentStatus.isTransitionAllowed(status); - }else { + } else { result.add(false); } result.add(transitionAllowed); diff --git a/yudao-module-base/yudao-module-base-server/src/main/resources/mapper/tmpltp/TemplateInstanceDataMapper.xml b/yudao-module-base/yudao-module-base-server/src/main/resources/mapper/tmpltp/TemplateInstanceDataMapper.xml new file mode 100644 index 0000000..50f2447 --- /dev/null +++ b/yudao-module-base/yudao-module-base-server/src/main/resources/mapper/tmpltp/TemplateInstanceDataMapper.xml @@ -0,0 +1,12 @@ + + + + + + + diff --git a/yudao-module-base/yudao-module-base-server/src/main/resources/mapper/tmpltp/TemplateInstanceItemMapper.xml b/yudao-module-base/yudao-module-base-server/src/main/resources/mapper/tmpltp/TemplateInstanceItemMapper.xml new file mode 100644 index 0000000..5addfc8 --- /dev/null +++ b/yudao-module-base/yudao-module-base-server/src/main/resources/mapper/tmpltp/TemplateInstanceItemMapper.xml @@ -0,0 +1,12 @@ + + + + + + + diff --git a/yudao-module-base/yudao-module-base-server/src/main/resources/mapper/tmpltp/TmplTpMapper.xml b/yudao-module-base/yudao-module-base-server/src/main/resources/mapper/tmpltp/TmplTpMapper.xml index 05ee80d..b5b4b19 100644 --- a/yudao-module-base/yudao-module-base-server/src/main/resources/mapper/tmpltp/TmplTpMapper.xml +++ b/yudao-module-base/yudao-module-base-server/src/main/resources/mapper/tmpltp/TmplTpMapper.xml @@ -9,4 +9,34 @@ 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ --> + + + +