模版新增修改关联的相关实现
This commit is contained in:
@@ -12,7 +12,9 @@ public interface ErrorCodeConstants {
|
|||||||
ErrorCode TEMPLATE_INSTANCE_NOT_EXISTS = new ErrorCode(1_027_000_504, "模板实例不存在");
|
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_SATUS_ERROR = new ErrorCode(1_027_000_506, "状态变更失败");
|
||||||
ErrorCode TMPL_TP_DEl_ERROR = new ErrorCode(1_027_000_507, "模版分类删除失败");
|
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, "参数为空");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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<TemplateInstanceDataRespVO> createTemplateInstanceData(@Valid @RequestBody TemplateInstanceDataSaveReqVO createReqVO) {
|
||||||
|
return success(templateInstanceDataService.createTemplateInstanceData(createReqVO));
|
||||||
|
}
|
||||||
|
|
||||||
|
@PutMapping("/update")
|
||||||
|
@Operation(summary = "更新实例字段值")
|
||||||
|
@PreAuthorize("@ss.hasPermission('base:template-instance-data:update')")
|
||||||
|
public CommonResult<Boolean> 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<Boolean> 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<Boolean> 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<TemplateInstanceDataRespVO> 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<PageResult<TemplateInstanceDataRespVO>> getTemplateInstanceDataPage(@Valid TemplateInstanceDataPageReqVO pageReqVO) {
|
||||||
|
PageResult<TemplateInstanceDataDO> 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<TemplateInstanceDataDO> list = templateInstanceDataService.getTemplateInstanceDataPage(pageReqVO).getList();
|
||||||
|
// 导出 Excel
|
||||||
|
ExcelUtils.write(response, "实例字段值.xls", "数据", TemplateInstanceDataRespVO.class,
|
||||||
|
BeanUtils.toBean(list, TemplateInstanceDataRespVO.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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<TemplateInstanceItemRespVO> createTemplateInstanceItem(@Valid @RequestBody TemplateInstanceItemSaveReqVO createReqVO) {
|
||||||
|
return success(templateInstanceItemService.createTemplateInstanceItem(createReqVO));
|
||||||
|
}
|
||||||
|
|
||||||
|
@PutMapping("/update")
|
||||||
|
@Operation(summary = "更新实例条款值")
|
||||||
|
@PreAuthorize("@ss.hasPermission('base:template-instance-item:update')")
|
||||||
|
public CommonResult<Boolean> 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<Boolean> 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<Boolean> deleteTemplateInstanceItemList(@RequestBody BatchDeleteReqVO req) {
|
||||||
|
List<String> 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<TemplateInstanceItemRespVO> 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<PageResult<TemplateInstanceItemRespVO>> getTemplateInstanceItemPage(@Valid TemplateInstanceItemPageReqVO pageReqVO) {
|
||||||
|
PageResult<TemplateInstanceItemDO> 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<TemplateInstanceItemDO> list = templateInstanceItemService.getTemplateInstanceItemPage(pageReqVO).getList();
|
||||||
|
// 导出 Excel
|
||||||
|
ExcelUtils.write(response, "实例条款值.xls", "数据", TemplateInstanceItemRespVO.class,
|
||||||
|
BeanUtils.toBean(list, TemplateInstanceItemRespVO.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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.PageResult;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
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 static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||||
|
|
||||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
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 cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
|
||||||
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
|
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 = "管理后台 - 模板分类")
|
@Tag(name = "管理后台 - 模板分类")
|
||||||
@@ -127,16 +130,16 @@ public class TmplTpController extends AbstractFileUploadController implements Bu
|
|||||||
|
|
||||||
//更新类型状态
|
//更新类型状态
|
||||||
@PutMapping("/updateStatus")
|
@PutMapping("/updateStatus")
|
||||||
@Operation(summary = "更新模板字段状态")
|
@Operation(summary = "更新模板类型状态")
|
||||||
@PreAuthorize("@ss.hasPermission('bse:tmpl-tp:update')")
|
@PreAuthorize("@ss.hasPermission('bse:tmpl-tp:update')")
|
||||||
public CommonResult<Boolean> updateStatus(@RequestBody Map<String,Object> params) {
|
public CommonResult<Boolean> updateStatus(@RequestBody Map<String,Object> params) {
|
||||||
if (params == null){
|
if (params == null){
|
||||||
throw new RuntimeException("参数不能为空");
|
throw exception(PARAMS_IS_NULL_OR_ERR);
|
||||||
}
|
}
|
||||||
if (!params.containsKey("id") || !params.containsKey("status")){
|
if (!params.containsKey("id") || !params.containsKey("sts")){
|
||||||
throw new RuntimeException("参数id或者状态不能为空");
|
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);
|
return success(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -10,7 +10,7 @@ import lombok.Data;
|
|||||||
@Data
|
@Data
|
||||||
public class TmplItmSaveReqVO {
|
public class TmplItmSaveReqVO {
|
||||||
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "")
|
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "")
|
||||||
private long id;
|
private Long id;
|
||||||
|
|
||||||
@Schema(description = "条款编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "")
|
@Schema(description = "条款编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "")
|
||||||
private String itmNum;
|
private String itmNum;
|
||||||
|
|||||||
@@ -28,11 +28,10 @@ public class TmplTpSaveReqVO {
|
|||||||
private Long srt;
|
private Long srt;
|
||||||
|
|
||||||
@Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@NotEmpty(message = "状态不能为空")
|
|
||||||
private String sts;
|
private String sts;
|
||||||
@NotEmpty(message = "条款能为空")
|
|
||||||
private List<String> tmplItmIds ;
|
private List<String> tmplItmIds ;
|
||||||
@NotEmpty(message = "字段不能为空")
|
|
||||||
private List<TmplTpFldSaveReqVO> tmplTpFldIds;
|
private List<String> tmplTpFldIds;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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<TemplateInstanceDataDO> {
|
||||||
|
|
||||||
|
default PageResult<TemplateInstanceDataDO> selectPage(TemplateInstanceDataPageReqVO reqVO) {
|
||||||
|
return selectPage(reqVO, new LambdaQueryWrapperX<TemplateInstanceDataDO>()
|
||||||
|
.eqIfPresent(TemplateInstanceDataDO::getInstanceId, reqVO.getInstanceId())
|
||||||
|
.eqIfPresent(TemplateInstanceDataDO::getFieldKey, reqVO.getFieldKey())
|
||||||
|
.eqIfPresent(TemplateInstanceDataDO::getFieldValue, reqVO.getFieldValue())
|
||||||
|
.betweenIfPresent(TemplateInstanceDataDO::getCreateTime, reqVO.getCreateTime())
|
||||||
|
.orderByDesc(TemplateInstanceDataDO::getId));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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<TemplateInstanceItemDO> {
|
||||||
|
|
||||||
|
default PageResult<TemplateInstanceItemDO> selectPage(TemplateInstanceItemPageReqVO reqVO) {
|
||||||
|
return selectPage(reqVO, new LambdaQueryWrapperX<TemplateInstanceItemDO>()
|
||||||
|
.eqIfPresent(TemplateInstanceItemDO::getInscId, reqVO.getInscId())
|
||||||
|
.eqIfPresent(TemplateInstanceItemDO::getItmId, reqVO.getItmId())
|
||||||
|
.eqIfPresent(TemplateInstanceItemDO::getVal, reqVO.getVal())
|
||||||
|
.betweenIfPresent(TemplateInstanceItemDO::getCreateTime, reqVO.getCreateTime())
|
||||||
|
.orderByDesc(TemplateInstanceItemDO::getId));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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.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.controller.admin.templtp.vo.TmplTpPageReqVO;
|
||||||
import cn.iocoder.yudao.module.base.dal.dataobject.tmpltp.TmplTpDO;
|
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.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.apache.ibatis.annotations.Select;
|
import org.apache.ibatis.annotations.Select;
|
||||||
@@ -34,26 +37,11 @@ public interface TmplTpMapper extends BaseMapperX<TmplTpDO> {
|
|||||||
.orderByDesc(TmplTpDO::getId));
|
.orderByDesc(TmplTpDO::getId));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Select("select bt.*\n" +
|
@MapKey("id")
|
||||||
"from bse_tmpl_tp btt\n" +
|
List<TmplFldRespVO> getField(@Param("id") Long id);
|
||||||
" 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<Map<String, Object>> getField(@Param("id") Long id);
|
|
||||||
|
|
||||||
@Select("select bti.*\n" +
|
@MapKey("id")
|
||||||
"from bse_tmpl_tp btt\n" +
|
List<TmplItmRespVO> getClause(@Param("id") Long id);
|
||||||
" 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<Map<String, Object>>getClause(@Param("id") Long id);
|
|
||||||
|
|
||||||
@Select("select * from bse_tmpl_tp where id= #{id}")
|
|
||||||
TmplTpDO getTmplTpById(@Param("id") Long id);
|
TmplTpDO getTmplTpById(@Param("id") Long id);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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<Long> ids);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得实例字段值
|
||||||
|
*
|
||||||
|
* @param id 编号
|
||||||
|
* @return 实例字段值
|
||||||
|
*/
|
||||||
|
TemplateInstanceDataDO getTemplateInstanceData(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得实例字段值分页
|
||||||
|
*
|
||||||
|
* @param pageReqVO 分页查询
|
||||||
|
* @return 实例字段值分页
|
||||||
|
*/
|
||||||
|
PageResult<TemplateInstanceDataDO> getTemplateInstanceDataPage(TemplateInstanceDataPageReqVO pageReqVO);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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<Long> ids) {
|
||||||
|
// 校验存在
|
||||||
|
validateTemplateInstanceDataExists(ids);
|
||||||
|
// 删除
|
||||||
|
templateInstanceDataMapper.deleteByIds(ids);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void validateTemplateInstanceDataExists(List<Long> ids) {
|
||||||
|
List<TemplateInstanceDataDO> 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<TemplateInstanceDataDO> getTemplateInstanceDataPage(TemplateInstanceDataPageReqVO pageReqVO) {
|
||||||
|
return templateInstanceDataMapper.selectPage(pageReqVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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<String> ids);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得实例条款值
|
||||||
|
*
|
||||||
|
* @param id 编号
|
||||||
|
* @return 实例条款值
|
||||||
|
*/
|
||||||
|
TemplateInstanceItemDO getTemplateInstanceItem(String id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得实例条款值分页
|
||||||
|
*
|
||||||
|
* @param pageReqVO 分页查询
|
||||||
|
* @return 实例条款值分页
|
||||||
|
*/
|
||||||
|
PageResult<TemplateInstanceItemDO> getTemplateInstanceItemPage(TemplateInstanceItemPageReqVO pageReqVO);
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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<String> ids) {
|
||||||
|
// 校验存在
|
||||||
|
validateTemplateInstanceItemExists(ids);
|
||||||
|
// 删除
|
||||||
|
templateInstanceItemMapper.deleteByIds(ids);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void validateTemplateInstanceItemExists(List<String> ids) {
|
||||||
|
List<TemplateInstanceItemDO> 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<TemplateInstanceItemDO> getTemplateInstanceItemPage(TemplateInstanceItemPageReqVO pageReqVO) {
|
||||||
|
return templateInstanceItemMapper.selectPage(pageReqVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -23,8 +23,9 @@ import static cn.iocoder.yudao.module.tmpltp.enums.ErrorCodeConstants.TMPL_ITM_N
|
|||||||
public class TmplItmServiceImpl extends ServiceImpl<TmplItmMapper, TmplItmDO> implements TmplItmService{
|
public class TmplItmServiceImpl extends ServiceImpl<TmplItmMapper, TmplItmDO> implements TmplItmService{
|
||||||
@Override
|
@Override
|
||||||
public TmplItmRespVO createTmplItm(TmplItmSaveReqVO tmplItmSaveReqVO) {
|
public TmplItmRespVO createTmplItm(TmplItmSaveReqVO tmplItmSaveReqVO) {
|
||||||
|
tmplItmSaveReqVO.setId(null);
|
||||||
TmplItmDO bean = BeanUtils.toBean(tmplItmSaveReqVO, TmplItmDO.class);
|
TmplItmDO bean = BeanUtils.toBean(tmplItmSaveReqVO, TmplItmDO.class);
|
||||||
this.save(bean);
|
baseMapper.insert(bean);
|
||||||
return BeanUtils.toBean(bean, TmplItmRespVO.class);
|
return BeanUtils.toBean(bean, TmplItmRespVO.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -46,7 +47,7 @@ public class TmplItmServiceImpl extends ServiceImpl<TmplItmMapper, TmplItmDO> im
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void validateTmplLtmExists(Long id) {
|
private void validateTmplLtmExists(Long id) {
|
||||||
if (this.getById(id) == null) {
|
if (baseMapper.selectById(id) == null) {
|
||||||
throw exception(TMPL_ITM_NOT_EXISTS);
|
throw exception(TMPL_ITM_NOT_EXISTS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ public class TmplTpFldServiceImpl extends ServiceImpl<TmplTpFldMapper, TmplTpFld
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void validateTmplFldExists(Long id) {
|
private void validateTmplFldExists(Long id) {
|
||||||
if (this.getById(id) == null) {
|
if (baseMapper.selectById(id) == null) {
|
||||||
throw exception(TMPL_FLD_NOT_EXISTS);
|
throw exception(TMPL_FLD_NOT_EXISTS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,10 +3,7 @@ package cn.iocoder.yudao.module.base.service.tmpltp;
|
|||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
|
||||||
import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.TmplTpPageReqVO;
|
import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.*;
|
||||||
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.TmplTpTreeVO;
|
|
||||||
import cn.iocoder.yudao.module.base.dal.dataobject.tmpltp.TmplTpDO;
|
import cn.iocoder.yudao.module.base.dal.dataobject.tmpltp.TmplTpDO;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import jakarta.validation.*;
|
import jakarta.validation.*;
|
||||||
@@ -66,8 +63,8 @@ public interface TmplTpService extends IService<TmplTpDO> {
|
|||||||
PageResult<TmplTpDO> getTmplTpPage(TmplTpPageReqVO pageReqVO);
|
PageResult<TmplTpDO> getTmplTpPage(TmplTpPageReqVO pageReqVO);
|
||||||
|
|
||||||
|
|
||||||
List<Map<String, Object>> getField(Long id);
|
List<TmplFldRespVO> getField(Long id);
|
||||||
List<Map<String, Object>> getClause(Long id);
|
List<TmplItmRespVO> getClause(Long id);
|
||||||
List<TmplTpTreeVO> buildTree();
|
List<TmplTpTreeVO> buildTree();
|
||||||
void updateStatus(Long id, String status);
|
void updateStatus(Long id, String status);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,11 +2,8 @@ package cn.iocoder.yudao.module.base.service.tmpltp;
|
|||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
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.*;
|
||||||
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.TmplTpTreeVO;
|
|
||||||
import cn.iocoder.yudao.module.base.dal.dataobject.tmpltp.TmplFldRelDO;
|
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.TmplItmRelDO;
|
||||||
import cn.iocoder.yudao.module.base.dal.dataobject.tmpltp.TmplTpDO;
|
import cn.iocoder.yudao.module.base.dal.dataobject.tmpltp.TmplTpDO;
|
||||||
@@ -50,8 +47,11 @@ public class TmplTpServiceImpl extends ServiceImpl<TmplTpMapper, TmplTpDO> imple
|
|||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public TmplTpRespVO createTmplTp(TmplTpSaveReqVO createReqVO) {
|
public TmplTpRespVO createTmplTp(TmplTpSaveReqVO createReqVO) {
|
||||||
|
//置空id
|
||||||
|
createReqVO.setId(null);
|
||||||
// 插入
|
// 插入
|
||||||
TmplTpDO tmplTp = BeanUtils.toBean(createReqVO, TmplTpDO.class);
|
TmplTpDO tmplTp = BeanUtils.toBean(createReqVO, TmplTpDO.class);
|
||||||
|
tmplTp.setSts("Y");
|
||||||
baseMapper.insert(tmplTp);
|
baseMapper.insert(tmplTp);
|
||||||
// 返回
|
// 返回
|
||||||
List<TmplFldRelDO> tmplFldRelDOS = new ArrayList<>();
|
List<TmplFldRelDO> tmplFldRelDOS = new ArrayList<>();
|
||||||
@@ -62,7 +62,7 @@ public class TmplTpServiceImpl extends ServiceImpl<TmplTpMapper, TmplTpDO> imple
|
|||||||
tmplFldRelDO.setTpFldId(String.valueOf(tmplItmId));
|
tmplFldRelDO.setTpFldId(String.valueOf(tmplItmId));
|
||||||
tmplFldRelDOS.add(tmplFldRelDO);
|
tmplFldRelDOS.add(tmplFldRelDO);
|
||||||
});
|
});
|
||||||
createReqVO.getTmplTpFldIds().forEach(tmplFldId -> {
|
createReqVO.getTmplItmIds().forEach(tmplFldId -> {
|
||||||
TmplItmRelDO tmplItmRelDO = new TmplItmRelDO();
|
TmplItmRelDO tmplItmRelDO = new TmplItmRelDO();
|
||||||
tmplItmRelDO.setTmplTpId(String.valueOf(tmplTp.getId()));
|
tmplItmRelDO.setTmplTpId(String.valueOf(tmplTp.getId()));
|
||||||
tmplItmRelDO.setItmFldId(String.valueOf(tmplFldId));
|
tmplItmRelDO.setItmFldId(String.valueOf(tmplFldId));
|
||||||
@@ -88,9 +88,9 @@ public class TmplTpServiceImpl extends ServiceImpl<TmplTpMapper, TmplTpDO> imple
|
|||||||
// 校验存在
|
// 校验存在
|
||||||
validateTmplTpExists(ids);
|
validateTmplTpExists(ids);
|
||||||
//校验能否进行删除
|
//校验能否进行删除
|
||||||
if (!validateStatusCanDelete(ids)){
|
// if (!validateStatusCanDelete(ids)){
|
||||||
throw exception(TMPL_TP_DEl_ERROR);
|
// throw exception(TMPL_TP_DEl_ERROR);
|
||||||
}
|
// }
|
||||||
// 删除
|
// 删除
|
||||||
baseMapper.deleteByIds(ids);
|
baseMapper.deleteByIds(ids);
|
||||||
}
|
}
|
||||||
@@ -111,7 +111,7 @@ public class TmplTpServiceImpl extends ServiceImpl<TmplTpMapper, TmplTpDO> imple
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void validateTmplTpExists(Long id) {
|
private void validateTmplTpExists(Long id) {
|
||||||
if (this.getById(id) == null) {
|
if (baseMapper.selectById(id) == null) {
|
||||||
throw exception(TMPL_TP_NOT_EXISTS);
|
throw exception(TMPL_TP_NOT_EXISTS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -127,12 +127,12 @@ public class TmplTpServiceImpl extends ServiceImpl<TmplTpMapper, TmplTpDO> imple
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Map<String, Object>> getField(Long id) {
|
public List<TmplFldRespVO> getField(Long id) {
|
||||||
return baseMapper.getField(id);
|
return baseMapper.getField(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Map<String, Object>> getClause(Long id) {
|
public List<TmplItmRespVO> getClause(Long id) {
|
||||||
return baseMapper.getClause(id);
|
return baseMapper.getClause(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -183,9 +183,9 @@ public class TmplTpServiceImpl extends ServiceImpl<TmplTpMapper, TmplTpDO> imple
|
|||||||
@Override
|
@Override
|
||||||
public void updateStatus(Long id, String status) {
|
public void updateStatus(Long id, String status) {
|
||||||
//验证当前的能否变更为之后的状态
|
//验证当前的能否变更为之后的状态
|
||||||
if (!validateStatusUpdate(id, status)) {
|
// if (!validateStatusUpdate(id, status)) {
|
||||||
throw exception(TMPL_TP_SATUS_ERROR);
|
// throw exception(TMPL_TP_SATUS_ERROR);
|
||||||
}
|
// }
|
||||||
baseMapper.update(Wrappers.<TmplTpDO>lambdaUpdate().set(TmplTpDO::getSts, status).eq(TmplTpDO::getId, id));
|
baseMapper.update(Wrappers.<TmplTpDO>lambdaUpdate().set(TmplTpDO::getSts, status).eq(TmplTpDO::getId, id));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -207,13 +207,13 @@ public class TmplTpServiceImpl extends ServiceImpl<TmplTpMapper, TmplTpDO> imple
|
|||||||
|
|
||||||
private boolean validateStatusCanDelete(List<Long> ids) {
|
private boolean validateStatusCanDelete(List<Long> ids) {
|
||||||
Set<String> sts = listByIds(ids).stream().map(TmplTpDO::getSts).collect(Collectors.toSet());
|
Set<String> sts = listByIds(ids).stream().map(TmplTpDO::getSts).collect(Collectors.toSet());
|
||||||
List<Boolean> result=new ArrayList<>();
|
List<Boolean> result = new ArrayList<>();
|
||||||
sts.forEach(status -> {
|
sts.forEach(status -> {
|
||||||
StatusEnum currentStatus = StatusEnum.fromCode(status);
|
StatusEnum currentStatus = StatusEnum.fromCode(status);
|
||||||
boolean transitionAllowed = false;
|
boolean transitionAllowed = false;
|
||||||
if (currentStatus != null) {
|
if (currentStatus != null) {
|
||||||
transitionAllowed = currentStatus.isTransitionAllowed(status);
|
transitionAllowed = currentStatus.isTransitionAllowed(status);
|
||||||
}else {
|
} else {
|
||||||
result.add(false);
|
result.add(false);
|
||||||
}
|
}
|
||||||
result.add(transitionAllowed);
|
result.add(transitionAllowed);
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="cn.iocoder.yudao.module.base.dal.mysql.tmpltp.TemplateInstanceDataMapper">
|
||||||
|
|
||||||
|
<!--
|
||||||
|
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
|
||||||
|
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
|
||||||
|
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
|
||||||
|
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||||
|
-->
|
||||||
|
|
||||||
|
</mapper>
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="cn.iocoder.yudao.module.base.dal.mysql.tmpltp.TemplateInstanceItemMapper">
|
||||||
|
|
||||||
|
<!--
|
||||||
|
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
|
||||||
|
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
|
||||||
|
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
|
||||||
|
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||||
|
-->
|
||||||
|
|
||||||
|
</mapper>
|
||||||
@@ -9,4 +9,34 @@
|
|||||||
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
<select id="getClause" resultType="cn.iocoder.yudao.module.base.controller.admin.templtp.vo.TmplItmRespVO">
|
||||||
|
SELECT itm.*
|
||||||
|
FROM BSE_TMPL_ITM itm
|
||||||
|
INNER JOIN BSE_TMPL_ITM_REL rel ON itm.ID = rel.ITM_FLD_ID
|
||||||
|
AND itm.tenant_id = 1
|
||||||
|
AND rel.tenant_id = 1
|
||||||
|
INNER JOIN BSE_TMPL_TP tp ON rel.TMPL_TP_ID = tp.ID
|
||||||
|
AND tp.tenant_id = 1
|
||||||
|
WHERE itm.DELETED = 0
|
||||||
|
AND tp.id = #{id}
|
||||||
|
|
||||||
|
</select>
|
||||||
|
<select id="getField" resultType="cn.iocoder.yudao.module.base.controller.admin.templtp.vo.TmplFldRespVO">
|
||||||
|
|
||||||
|
SELECT f.*
|
||||||
|
FROM BIZ_TMPL_TP_FLD f
|
||||||
|
INNER JOIN BSE_TMPL_FLD_REL r ON f.ID = r.TP_FLD_ID
|
||||||
|
INNER JOIN BSE_TMPL_TP t ON r.TMPL_TP_ID = t.ID
|
||||||
|
WHERE f.DELETED = '0'
|
||||||
|
AND r.DELETED = '0'
|
||||||
|
AND t.DELETED = '0'
|
||||||
|
AND t.id = #{id}
|
||||||
|
ORDER BY t.SRT, f.FLD_KY
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getTmplTpById" resultType="cn.iocoder.yudao.module.base.dal.dataobject.tmpltp.TmplTpDO">
|
||||||
|
select *
|
||||||
|
from bse_tmpl_tp
|
||||||
|
where id = #{id}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
Reference in New Issue
Block a user