模版实例的相关实现
This commit is contained in:
@@ -15,6 +15,10 @@ public interface ErrorCodeConstants {
|
|||||||
ErrorCode TEMPLATE_INSTANCE_DATA_NOT_EXISTS = new ErrorCode(1_027_000_508, "实例字段值不存在");
|
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 TEMPLATE_INSTANCE_ITEM_NOT_EXISTS = new ErrorCode(1_027_000_509, "实例条款值不存在");
|
||||||
ErrorCode PARAMS_IS_NULL_OR_ERR = new ErrorCode(1_027_000_510, "参数为空");
|
ErrorCode PARAMS_IS_NULL_OR_ERR = new ErrorCode(1_027_000_510, "参数为空");
|
||||||
|
ErrorCode DEPARTMENT_INSTANCE_RELATIVITY_NOT_EXISTS = new ErrorCode(1_027_000_511, "部门与实例关联不存在");
|
||||||
|
ErrorCode ILLEGAL_OPERATION_TYPE = new ErrorCode(1_027_000_511, "非法操作类型");
|
||||||
|
ErrorCode OPERATION_FAIL= new ErrorCode(1_027_000_512, "操作失败");
|
||||||
|
|
||||||
|
//Illegal operation type
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,120 @@
|
|||||||
|
package cn.iocoder.yudao.module.base.controller.admin.templtp;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.DepartmentInstanceRelativityPageReqVO;
|
||||||
|
import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.DepartmentInstanceRelativityRespVO;
|
||||||
|
import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.DepartmentInstanceRelativitySaveReqVO;
|
||||||
|
import cn.iocoder.yudao.module.base.dal.dataobject.tmpltp.DepartmentInstanceRelativityDO;
|
||||||
|
import cn.iocoder.yudao.module.base.service.tmpltp.DepartmentInstanceRelativityService;
|
||||||
|
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 cn.iocoder.yudao.framework.business.annotation.FileUploadController;
|
||||||
|
import cn.iocoder.yudao.framework.business.controller.AbstractFileUploadController;
|
||||||
|
|
||||||
|
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("/bse/department-instance-relativity")
|
||||||
|
@Validated
|
||||||
|
@FileUploadController(source = "bse.departmentinstancerelativity")
|
||||||
|
public class DepartmentInstanceRelativityController extends AbstractFileUploadController implements BusinessControllerMarker{
|
||||||
|
|
||||||
|
static {
|
||||||
|
FileUploadController annotation = DepartmentInstanceRelativityController.class.getAnnotation(FileUploadController.class);
|
||||||
|
if (annotation != null) {
|
||||||
|
setFileUploadInfo(annotation);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private DepartmentInstanceRelativityService departmentInstanceRelativityService;
|
||||||
|
|
||||||
|
@PostMapping("/create")
|
||||||
|
@Operation(summary = "创建部门与实例关联")
|
||||||
|
@PreAuthorize("@ss.hasPermission('bse:department-instance-relativity:create')")
|
||||||
|
public CommonResult<DepartmentInstanceRelativityRespVO> createDepartmentInstanceRelativity(@Valid @RequestBody DepartmentInstanceRelativitySaveReqVO createReqVO) {
|
||||||
|
return success(departmentInstanceRelativityService.createDepartmentInstanceRelativity(createReqVO));
|
||||||
|
}
|
||||||
|
|
||||||
|
@PutMapping("/update")
|
||||||
|
@Operation(summary = "更新部门与实例关联")
|
||||||
|
@PreAuthorize("@ss.hasPermission('bse:department-instance-relativity:update')")
|
||||||
|
public CommonResult<Boolean> updateDepartmentInstanceRelativity(@Valid @RequestBody DepartmentInstanceRelativitySaveReqVO updateReqVO) {
|
||||||
|
departmentInstanceRelativityService.updateDepartmentInstanceRelativity(updateReqVO);
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@DeleteMapping("/delete")
|
||||||
|
@Operation(summary = "删除部门与实例关联")
|
||||||
|
@Parameter(name = "id", description = "编号", required = true)
|
||||||
|
@PreAuthorize("@ss.hasPermission('bse:department-instance-relativity:delete')")
|
||||||
|
public CommonResult<Boolean> deleteDepartmentInstanceRelativity(@RequestParam("id") String id) {
|
||||||
|
departmentInstanceRelativityService.deleteDepartmentInstanceRelativity(id);
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@DeleteMapping("/delete-list")
|
||||||
|
@Parameter(name = "ids", description = "编号", required = true)
|
||||||
|
@Operation(summary = "批量删除部门与实例关联")
|
||||||
|
@PreAuthorize("@ss.hasPermission('bse:department-instance-relativity:delete')")
|
||||||
|
public CommonResult<Boolean> deleteDepartmentInstanceRelativityList(@RequestBody BatchDeleteReqVO req) {
|
||||||
|
departmentInstanceRelativityService.deleteDepartmentInstanceRelativityListByIds(req.getIds());
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/get")
|
||||||
|
@Operation(summary = "获得部门与实例关联")
|
||||||
|
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||||
|
@PreAuthorize("@ss.hasPermission('bse:department-instance-relativity:query')")
|
||||||
|
public CommonResult<DepartmentInstanceRelativityRespVO> getDepartmentInstanceRelativity(@RequestParam("id") String id) {
|
||||||
|
DepartmentInstanceRelativityDO departmentInstanceRelativity = departmentInstanceRelativityService.getDepartmentInstanceRelativity(id);
|
||||||
|
return success(BeanUtils.toBean(departmentInstanceRelativity, DepartmentInstanceRelativityRespVO.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/page")
|
||||||
|
@Operation(summary = "获得部门与实例关联分页")
|
||||||
|
@PreAuthorize("@ss.hasPermission('bse:department-instance-relativity:query')")
|
||||||
|
public CommonResult<PageResult<DepartmentInstanceRelativityRespVO>> getDepartmentInstanceRelativityPage(@Valid DepartmentInstanceRelativityPageReqVO pageReqVO) {
|
||||||
|
PageResult<DepartmentInstanceRelativityDO> pageResult = departmentInstanceRelativityService.getDepartmentInstanceRelativityPage(pageReqVO);
|
||||||
|
return success(BeanUtils.toBean(pageResult, DepartmentInstanceRelativityRespVO.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/export-excel")
|
||||||
|
@Operation(summary = "导出部门与实例关联 Excel")
|
||||||
|
@PreAuthorize("@ss.hasPermission('bse:department-instance-relativity:export')")
|
||||||
|
@ApiAccessLog(operateType = EXPORT)
|
||||||
|
public void exportDepartmentInstanceRelativityExcel(@Valid DepartmentInstanceRelativityPageReqVO pageReqVO,
|
||||||
|
HttpServletResponse response) throws IOException {
|
||||||
|
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||||
|
List<DepartmentInstanceRelativityDO> list = departmentInstanceRelativityService.getDepartmentInstanceRelativityPage(pageReqVO).getList();
|
||||||
|
// 导出 Excel
|
||||||
|
ExcelUtils.write(response, "部门与实例关联.xls", "数据", DepartmentInstanceRelativityRespVO.class,
|
||||||
|
BeanUtils.toBean(list, DepartmentInstanceRelativityRespVO.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -108,4 +108,5 @@ public class TemplateInstanceDataController implements BusinessControllerMarker
|
|||||||
BeanUtils.toBean(list, TemplateInstanceDataRespVO.class));
|
BeanUtils.toBean(list, TemplateInstanceDataRespVO.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -143,4 +143,29 @@ public class TmplTpController extends AbstractFileUploadController implements Bu
|
|||||||
return success(true);
|
return success(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//表单预览
|
||||||
|
// @GetMapping("/preview")
|
||||||
|
// @Operation(summary = "表单预览",description = "传入模版分类的id")
|
||||||
|
// @PreAuthorize("@ss.hasPermission('bse:tmpl-tp:query')")
|
||||||
|
// public CommonResult< List<TmplFldRespVO>> preview(@Valid @RequestParam("id") Long id) {
|
||||||
|
// List<TmplFldRespVO> field = tmplTpService.getField(id);
|
||||||
|
// return success(field);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// 字段编辑新增或者删除
|
||||||
|
@PostMapping("/field-edit")
|
||||||
|
@Operation(summary = "字段编辑新增或者删除")
|
||||||
|
@PreAuthorize("@ss.hasPermission('bse:tmpl-tp:update')")
|
||||||
|
public CommonResult<Boolean> fieldEdit(@Valid @RequestBody TmplTpEditOrDeleteReqVO reqVO) {
|
||||||
|
tmplTpService.fieldEdit(reqVO);
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/ltm-edit")
|
||||||
|
@Operation(summary = "条款编辑新增或者删除")
|
||||||
|
@PreAuthorize("@ss.hasPermission('bse:tmpl-tp:update')")
|
||||||
|
public CommonResult<Boolean> ltmEdit(@Valid @RequestBody TmplTpEditOrDeleteReqVO reqVO) {
|
||||||
|
tmplTpService.ltmEdit(reqVO);
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,27 @@
|
|||||||
|
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 DepartmentInstanceRelativityPageReqVO extends PageParam {
|
||||||
|
|
||||||
|
@Schema(description = "部门主键", example = "2450")
|
||||||
|
private String companyDepartmentId;
|
||||||
|
|
||||||
|
@Schema(description = "模板实例主键", example = "17846")
|
||||||
|
private String templateInstanceId;
|
||||||
|
|
||||||
|
@Schema(description = "创建时间")
|
||||||
|
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||||
|
private LocalDate[] createTime;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
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 DepartmentInstanceRelativityRespVO {
|
||||||
|
|
||||||
|
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "4864")
|
||||||
|
@ExcelProperty("主键")
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
@Schema(description = "部门主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "2450")
|
||||||
|
@ExcelProperty("部门主键")
|
||||||
|
private String companyDepartmentId;
|
||||||
|
|
||||||
|
@Schema(description = "模板实例主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "17846")
|
||||||
|
@ExcelProperty("模板实例主键")
|
||||||
|
private String templateInstanceId;
|
||||||
|
|
||||||
|
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
|
@ExcelProperty("创建时间")
|
||||||
|
private LocalDate createTime;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
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 DepartmentInstanceRelativitySaveReqVO {
|
||||||
|
|
||||||
|
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "4864")
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
@Schema(description = "部门主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "2450")
|
||||||
|
@NotEmpty(message = "部门主键不能为空")
|
||||||
|
private String companyDepartmentId;
|
||||||
|
|
||||||
|
@Schema(description = "模板实例主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "17846")
|
||||||
|
@NotEmpty(message = "模板实例主键不能为空")
|
||||||
|
private String templateInstanceId;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -14,13 +14,13 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
|
|||||||
public class TemplateInstanceDataPageReqVO extends PageParam {
|
public class TemplateInstanceDataPageReqVO extends PageParam {
|
||||||
|
|
||||||
@Schema(description = "关联实例主键", example = "25824")
|
@Schema(description = "关联实例主键", example = "25824")
|
||||||
private String instanceId;
|
private String inscId;
|
||||||
|
|
||||||
@Schema(description = "字段标识;关联字段库")
|
@Schema(description = "字段标识;关联字段库")
|
||||||
private String fieldKey;
|
private String fldKy;
|
||||||
|
|
||||||
@Schema(description = "用户填写的值")
|
@Schema(description = "用户填写的值")
|
||||||
private String fieldValue;
|
private String fldVal;
|
||||||
|
|
||||||
@Schema(description = "创建时间")
|
@Schema(description = "创建时间")
|
||||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||||
|
|||||||
@@ -18,15 +18,15 @@ public class TemplateInstanceDataRespVO {
|
|||||||
|
|
||||||
@Schema(description = "关联实例主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "25824")
|
@Schema(description = "关联实例主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "25824")
|
||||||
@ExcelProperty("关联实例主键")
|
@ExcelProperty("关联实例主键")
|
||||||
private String instanceId;
|
private String inscId;
|
||||||
|
|
||||||
@Schema(description = "字段标识;关联字段库", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "字段标识;关联字段库", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@ExcelProperty("字段标识;关联字段库")
|
@ExcelProperty("字段标识;关联字段库")
|
||||||
private String fieldKey;
|
private String fldKy;
|
||||||
|
|
||||||
@Schema(description = "用户填写的值", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "用户填写的值", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@ExcelProperty("用户填写的值")
|
@ExcelProperty("用户填写的值")
|
||||||
private String fieldValue;
|
private String fldVal;
|
||||||
|
|
||||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@ExcelProperty("创建时间")
|
@ExcelProperty("创建时间")
|
||||||
|
|||||||
@@ -14,14 +14,14 @@ public class TemplateInstanceDataSaveReqVO {
|
|||||||
|
|
||||||
@Schema(description = "关联实例主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "25824")
|
@Schema(description = "关联实例主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "25824")
|
||||||
@NotEmpty(message = "关联实例主键不能为空")
|
@NotEmpty(message = "关联实例主键不能为空")
|
||||||
private String instanceId;
|
private String inscId;
|
||||||
|
|
||||||
@Schema(description = "字段标识;关联字段库", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "字段标识;关联字段库", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@NotEmpty(message = "字段标识;关联字段库不能为空")
|
@NotEmpty(message = "字段标识;关联字段库不能为空")
|
||||||
private String fieldKey;
|
private String fldKy;
|
||||||
|
|
||||||
@Schema(description = "用户填写的值", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "用户填写的值", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@NotEmpty(message = "用户填写的值不能为空")
|
@NotEmpty(message = "用户填写的值不能为空")
|
||||||
private String fieldValue;
|
private String fldVal;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,31 +14,31 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
|
|||||||
public class TemplateInstancePageReqVO extends PageParam {
|
public class TemplateInstancePageReqVO extends PageParam {
|
||||||
|
|
||||||
@Schema(description = "分类树主键", example = "7804")
|
@Schema(description = "分类树主键", example = "7804")
|
||||||
private Long typeId;
|
private Long tpId;
|
||||||
|
|
||||||
@Schema(description = "模板名称", example = "王五")
|
@Schema(description = "模板名称", example = "王五")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@Schema(description = "模板编码")
|
@Schema(description = "模板编码")
|
||||||
private String coding;
|
private String cdg;
|
||||||
|
|
||||||
@Schema(description = "模板描述")
|
@Schema(description = "模板描述")
|
||||||
private String description;
|
private String dsp;
|
||||||
|
|
||||||
@Schema(description = "实例文件内容")
|
@Schema(description = "实例文件内容")
|
||||||
private String content;
|
private String cntt;
|
||||||
|
|
||||||
@Schema(description = "原始文件内容")
|
@Schema(description = "原始文件内容")
|
||||||
private String originalContent;
|
private String origCntt;
|
||||||
|
|
||||||
@Schema(description = "文件类型", example = "1")
|
@Schema(description = "文件类型", example = "1")
|
||||||
private String fileType;
|
private String fileTp;
|
||||||
|
|
||||||
@Schema(description = "版本号;如v1.0")
|
@Schema(description = "版本号;如v1.0")
|
||||||
private String version;
|
private String ver;
|
||||||
|
|
||||||
@Schema(description = "状态", example = "2")
|
@Schema(description = "状态", example = "2")
|
||||||
private String status;
|
private String sts;
|
||||||
|
|
||||||
@Schema(description = "创建时间")
|
@Schema(description = "创建时间")
|
||||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ public class TemplateInstanceRespVO {
|
|||||||
|
|
||||||
@Schema(description = "分类树主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "7804")
|
@Schema(description = "分类树主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "7804")
|
||||||
@ExcelProperty("分类树主键")
|
@ExcelProperty("分类树主键")
|
||||||
private Long typeId;
|
private Long tpId;
|
||||||
|
|
||||||
@Schema(description = "模板名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
|
@Schema(description = "模板名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
|
||||||
@ExcelProperty("模板名称")
|
@ExcelProperty("模板名称")
|
||||||
@@ -26,31 +26,31 @@ public class TemplateInstanceRespVO {
|
|||||||
|
|
||||||
@Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@ExcelProperty("模板编码")
|
@ExcelProperty("模板编码")
|
||||||
private String coding;
|
private String cdg;
|
||||||
|
|
||||||
@Schema(description = "模板描述")
|
@Schema(description = "模板描述")
|
||||||
@ExcelProperty("模板描述")
|
@ExcelProperty("模板描述")
|
||||||
private String description;
|
private String dsp;
|
||||||
|
|
||||||
@Schema(description = "实例文件内容")
|
@Schema(description = "实例文件内容")
|
||||||
@ExcelProperty("实例文件内容")
|
@ExcelProperty("实例文件内容")
|
||||||
private String content;
|
private String cntt;
|
||||||
|
|
||||||
@Schema(description = "原始文件内容", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "原始文件内容", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@ExcelProperty("原始文件内容")
|
@ExcelProperty("原始文件内容")
|
||||||
private String originalContent;
|
private String origCntt;
|
||||||
|
|
||||||
@Schema(description = "文件类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
@Schema(description = "文件类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||||
@ExcelProperty("文件类型")
|
@ExcelProperty("文件类型")
|
||||||
private String fileType;
|
private String fileTp;
|
||||||
|
|
||||||
@Schema(description = "版本号;如v1.0", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "版本号;如v1.0", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@ExcelProperty("版本号;如v1.0")
|
@ExcelProperty("版本号;如v1.0")
|
||||||
private String version;
|
private String ver;
|
||||||
|
|
||||||
@Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
@Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||||
@ExcelProperty("状态")
|
@ExcelProperty("状态")
|
||||||
private String status;
|
private String sts;
|
||||||
|
|
||||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@ExcelProperty("创建时间")
|
@ExcelProperty("创建时间")
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ public class TemplateInstanceSaveReqVO {
|
|||||||
|
|
||||||
@Schema(description = "分类树主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "7804")
|
@Schema(description = "分类树主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "7804")
|
||||||
@NotNull(message = "分类树主键不能为空")
|
@NotNull(message = "分类树主键不能为空")
|
||||||
private Long typeId;
|
private Long tpId;
|
||||||
|
|
||||||
@Schema(description = "模板名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
|
@Schema(description = "模板名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
|
||||||
@NotEmpty(message = "模板名称不能为空")
|
@NotEmpty(message = "模板名称不能为空")
|
||||||
@@ -22,28 +22,33 @@ public class TemplateInstanceSaveReqVO {
|
|||||||
|
|
||||||
@Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "模板编码", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@NotEmpty(message = "模板编码不能为空")
|
@NotEmpty(message = "模板编码不能为空")
|
||||||
private String coding;
|
private String cdg;
|
||||||
|
|
||||||
@Schema(description = "模板描述")
|
@Schema(description = "模板描述")
|
||||||
private String description;
|
private String dsp;
|
||||||
|
|
||||||
@Schema(description = "实例文件内容")
|
@Schema(description = "实例文件内容")
|
||||||
private String content;
|
private String cntt;
|
||||||
|
|
||||||
@Schema(description = "原始文件内容", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "原始文件内容", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
// @NotEmpty(message = "原始文件内容不能为空")
|
// @NotEmpty(message = "原始文件内容不能为空")
|
||||||
private String originalContent;
|
private String origCntt;
|
||||||
|
|
||||||
@Schema(description = "文件类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
@Schema(description = "文件类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||||
@NotEmpty(message = "文件类型不能为空")
|
@NotEmpty(message = "文件类型不能为空")
|
||||||
private String fileType;
|
private String fileTp;
|
||||||
|
|
||||||
@Schema(description = "版本号;如v1.0", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "版本号;如v1.0", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@NotEmpty(message = "版本号;如v1.0不能为空")
|
@NotEmpty(message = "版本号;如v1.0不能为空")
|
||||||
private String version;
|
private String ver;
|
||||||
|
|
||||||
@Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
@Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||||
@NotEmpty(message = "状态不能为空")
|
@NotEmpty(message = "状态不能为空")
|
||||||
private String status;
|
private String sts;
|
||||||
|
|
||||||
|
|
||||||
|
@Schema(description = "使用部门编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
|
||||||
|
@NotEmpty(message = "使用部门编号不能为空")
|
||||||
|
private List<Long> deptIds;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
package cn.iocoder.yudao.module.base.controller.admin.templtp.vo;
|
||||||
|
|
||||||
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import groovyjarjarantlr4.v4.runtime.misc.NotNull;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import jakarta.validation.constraints.NotEmpty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NonNull;
|
||||||
|
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Schema(description = "管理后台 - 模板编辑字段新增/删除 Request VO")
|
||||||
|
@Data
|
||||||
|
public class TmplTpEditOrDeleteReqVO {
|
||||||
|
|
||||||
|
@Schema(description = "模版ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "20895")
|
||||||
|
@NotEmpty(message = "模版id不能为空")
|
||||||
|
private String tpId;
|
||||||
|
|
||||||
|
@Schema(description = "操作类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "create or delete")
|
||||||
|
@NotEmpty(message = "操作类型不能为空")
|
||||||
|
private String type;
|
||||||
|
|
||||||
|
@Schema(description = "变更的ids", requiredMode = Schema.RequiredMode.REQUIRED, example = "[20895,23231]")
|
||||||
|
@NotEmpty(message = "变更的ids不能为空")
|
||||||
|
private List<String> ids;
|
||||||
|
}
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
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_dept_insc_rel")
|
||||||
|
@KeySequence("bse_dept_insc_rel_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
|
||||||
|
@Data
|
||||||
|
@EqualsAndHashCode(callSuper = true)
|
||||||
|
@ToString(callSuper = true)
|
||||||
|
@Builder
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
/**
|
||||||
|
* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO
|
||||||
|
*/
|
||||||
|
public class DepartmentInstanceRelativityDO extends BusinessBaseDO {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键
|
||||||
|
*/
|
||||||
|
@TableId(type = IdType.INPUT)
|
||||||
|
private String id;
|
||||||
|
/**
|
||||||
|
* 部门主键
|
||||||
|
*/
|
||||||
|
@TableField("CPN_DEPT_ID")
|
||||||
|
private String companyDepartmentId;
|
||||||
|
/**
|
||||||
|
* 模板实例主键
|
||||||
|
*/
|
||||||
|
@TableField("TMPL_INSC_ID")
|
||||||
|
private String templateInstanceId;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
package cn.iocoder.yudao.module.base.dal.dataobject.tmpltp;
|
package cn.iocoder.yudao.module.base.dal.dataobject.tmpltp;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
@@ -22,7 +23,7 @@ import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
|||||||
/**
|
/**
|
||||||
* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO
|
* 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO
|
||||||
*/
|
*/
|
||||||
public class TemplateInstanceDO extends BaseDO {
|
public class TemplateInstanceDO extends BusinessBaseDO {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -34,7 +35,7 @@ public class TemplateInstanceDO extends BaseDO {
|
|||||||
/**
|
/**
|
||||||
* 分类树主键
|
* 分类树主键
|
||||||
*/
|
*/
|
||||||
private Long typeId;
|
private Long tpId;
|
||||||
/**
|
/**
|
||||||
* 模板名称
|
* 模板名称
|
||||||
*/
|
*/
|
||||||
@@ -42,50 +43,50 @@ public class TemplateInstanceDO extends BaseDO {
|
|||||||
/**
|
/**
|
||||||
* 模板编码
|
* 模板编码
|
||||||
*/
|
*/
|
||||||
private String coding;
|
private String cdg;
|
||||||
/**
|
/**
|
||||||
* 模板描述
|
* 模板描述
|
||||||
*/
|
*/
|
||||||
private String description;
|
private String dsp;
|
||||||
/**
|
/**
|
||||||
* 实例文件内容
|
* 实例文件内容
|
||||||
*/
|
*/
|
||||||
private String content;
|
private String cntt;
|
||||||
/**
|
/**
|
||||||
* 原始文件内容
|
* 原始文件内容
|
||||||
*/
|
*/
|
||||||
private String originalContent;
|
private String origCntt;
|
||||||
/**
|
/**
|
||||||
* 文件类型
|
* 文件类型
|
||||||
*/
|
*/
|
||||||
private String fileType;
|
private String fileTp;
|
||||||
/**
|
/**
|
||||||
* 版本号;如v1.0
|
* 版本号;如v1.0
|
||||||
*/
|
*/
|
||||||
private String version;
|
private String ver;
|
||||||
/**
|
/**
|
||||||
* 状态
|
* 状态
|
||||||
*/
|
*/
|
||||||
private String status;
|
private String sts;
|
||||||
/**
|
// /**
|
||||||
* 公司编号
|
// * 公司编号
|
||||||
*/
|
// */
|
||||||
private Long companyId;
|
// private Long companyId;
|
||||||
/**
|
// /**
|
||||||
* 公司名称
|
// * 公司名称
|
||||||
*/
|
// */
|
||||||
private String companyName;
|
// private String companyName;
|
||||||
/**
|
// /**
|
||||||
* 部门编号
|
// * 部门编号
|
||||||
*/
|
// */
|
||||||
private Long deptId;
|
// private Long deptId;
|
||||||
/**
|
// /**
|
||||||
* 部门名称
|
// * 部门名称
|
||||||
*/
|
// */
|
||||||
private String deptName;
|
// private String deptName;
|
||||||
/**
|
// /**
|
||||||
* 岗位编号
|
// * 岗位编号
|
||||||
*/
|
// */
|
||||||
private Long postId;
|
// private Long postId;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,16 +35,16 @@ public class TemplateInstanceDataDO extends BusinessBaseDO {
|
|||||||
* 关联实例主键
|
* 关联实例主键
|
||||||
*/
|
*/
|
||||||
@TableField("INSC_ID")
|
@TableField("INSC_ID")
|
||||||
private String instanceId;
|
private String inscId;
|
||||||
/**
|
/**
|
||||||
* 字段标识;关联字段库
|
* 字段标识;关联字段库
|
||||||
*/
|
*/
|
||||||
@TableField("FLD_KY")
|
@TableField("FLD_KY")
|
||||||
private String fieldKey;
|
private String fldKy;
|
||||||
/**
|
/**
|
||||||
* 用户填写的值
|
* 用户填写的值
|
||||||
*/
|
*/
|
||||||
@TableField("FLD_VAL")
|
@TableField("FLD_VAL")
|
||||||
private String fieldValue;
|
private String fldVal;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
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.DepartmentInstanceRelativityPageReqVO;
|
||||||
|
import cn.iocoder.yudao.module.base.dal.dataobject.tmpltp.DepartmentInstanceRelativityDO;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 部门与实例关联 Mapper
|
||||||
|
*
|
||||||
|
* @author 后台管理
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface DepartmentInstanceRelativityMapper extends BaseMapperX<DepartmentInstanceRelativityDO> {
|
||||||
|
|
||||||
|
default PageResult<DepartmentInstanceRelativityDO> selectPage(DepartmentInstanceRelativityPageReqVO reqVO) {
|
||||||
|
return selectPage(reqVO, new LambdaQueryWrapperX<DepartmentInstanceRelativityDO>()
|
||||||
|
.eqIfPresent(DepartmentInstanceRelativityDO::getCompanyDepartmentId, reqVO.getCompanyDepartmentId())
|
||||||
|
.eqIfPresent(DepartmentInstanceRelativityDO::getTemplateInstanceId, reqVO.getTemplateInstanceId())
|
||||||
|
.betweenIfPresent(DepartmentInstanceRelativityDO::getCreateTime, reqVO.getCreateTime())
|
||||||
|
.orderByDesc(DepartmentInstanceRelativityDO::getId));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -21,9 +21,9 @@ public interface TemplateInstanceDataMapper extends BaseMapperX<TemplateInstance
|
|||||||
|
|
||||||
default PageResult<TemplateInstanceDataDO> selectPage(TemplateInstanceDataPageReqVO reqVO) {
|
default PageResult<TemplateInstanceDataDO> selectPage(TemplateInstanceDataPageReqVO reqVO) {
|
||||||
return selectPage(reqVO, new LambdaQueryWrapperX<TemplateInstanceDataDO>()
|
return selectPage(reqVO, new LambdaQueryWrapperX<TemplateInstanceDataDO>()
|
||||||
.eqIfPresent(TemplateInstanceDataDO::getInstanceId, reqVO.getInstanceId())
|
.eqIfPresent(TemplateInstanceDataDO::getInscId, reqVO.getInscId())
|
||||||
.eqIfPresent(TemplateInstanceDataDO::getFieldKey, reqVO.getFieldKey())
|
.eqIfPresent(TemplateInstanceDataDO::getFldKy, reqVO.getFldKy())
|
||||||
.eqIfPresent(TemplateInstanceDataDO::getFieldValue, reqVO.getFieldValue())
|
.eqIfPresent(TemplateInstanceDataDO::getFldVal, reqVO.getFldVal())
|
||||||
.betweenIfPresent(TemplateInstanceDataDO::getCreateTime, reqVO.getCreateTime())
|
.betweenIfPresent(TemplateInstanceDataDO::getCreateTime, reqVO.getCreateTime())
|
||||||
.orderByDesc(TemplateInstanceDataDO::getId));
|
.orderByDesc(TemplateInstanceDataDO::getId));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,15 +21,15 @@ public interface TemplateInstanceMapper extends BaseMapperX<TemplateInstanceDO>
|
|||||||
|
|
||||||
default PageResult<TemplateInstanceDO> selectPage(TemplateInstancePageReqVO reqVO) {
|
default PageResult<TemplateInstanceDO> selectPage(TemplateInstancePageReqVO reqVO) {
|
||||||
return selectPage(reqVO, new LambdaQueryWrapperX<TemplateInstanceDO>()
|
return selectPage(reqVO, new LambdaQueryWrapperX<TemplateInstanceDO>()
|
||||||
.eqIfPresent(TemplateInstanceDO::getTypeId, reqVO.getTypeId())
|
.eqIfPresent(TemplateInstanceDO::getTpId, reqVO.getTpId())
|
||||||
.likeIfPresent(TemplateInstanceDO::getName, reqVO.getName())
|
.likeIfPresent(TemplateInstanceDO::getName, reqVO.getName())
|
||||||
.eqIfPresent(TemplateInstanceDO::getCoding, reqVO.getCoding())
|
.eqIfPresent(TemplateInstanceDO::getCdg, reqVO.getCdg())
|
||||||
.eqIfPresent(TemplateInstanceDO::getDescription, reqVO.getDescription())
|
.eqIfPresent(TemplateInstanceDO::getDsp, reqVO.getDsp())
|
||||||
.eqIfPresent(TemplateInstanceDO::getContent, reqVO.getContent())
|
.eqIfPresent(TemplateInstanceDO::getCntt, reqVO.getCntt())
|
||||||
.eqIfPresent(TemplateInstanceDO::getOriginalContent, reqVO.getOriginalContent())
|
.eqIfPresent(TemplateInstanceDO::getOrigCntt, reqVO.getOrigCntt())
|
||||||
.eqIfPresent(TemplateInstanceDO::getFileType, reqVO.getFileType())
|
.eqIfPresent(TemplateInstanceDO::getFileTp, reqVO.getFileTp())
|
||||||
.eqIfPresent(TemplateInstanceDO::getVersion, reqVO.getVersion())
|
.eqIfPresent(TemplateInstanceDO::getVer, reqVO.getVer())
|
||||||
.eqIfPresent(TemplateInstanceDO::getStatus, reqVO.getStatus())
|
.eqIfPresent(TemplateInstanceDO::getSts, reqVO.getSts())
|
||||||
.betweenIfPresent(TemplateInstanceDO::getCreateTime, reqVO.getCreateTime())
|
.betweenIfPresent(TemplateInstanceDO::getCreateTime, reqVO.getCreateTime())
|
||||||
.orderByDesc(TemplateInstanceDO::getId));
|
.orderByDesc(TemplateInstanceDO::getId));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,65 @@
|
|||||||
|
package cn.iocoder.yudao.module.base.service.tmpltp;
|
||||||
|
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.DepartmentInstanceRelativityPageReqVO;
|
||||||
|
import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.DepartmentInstanceRelativityRespVO;
|
||||||
|
import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.DepartmentInstanceRelativitySaveReqVO;
|
||||||
|
import cn.iocoder.yudao.module.base.dal.dataobject.tmpltp.DepartmentInstanceRelativityDO;
|
||||||
|
import jakarta.validation.*;
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 部门与实例关联 Service 接口
|
||||||
|
*
|
||||||
|
* @author 后台管理
|
||||||
|
*/
|
||||||
|
public interface DepartmentInstanceRelativityService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建部门与实例关联
|
||||||
|
*
|
||||||
|
* @param createReqVO 创建信息
|
||||||
|
* @return 编号
|
||||||
|
*/
|
||||||
|
DepartmentInstanceRelativityRespVO createDepartmentInstanceRelativity(@Valid DepartmentInstanceRelativitySaveReqVO createReqVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新部门与实例关联
|
||||||
|
*
|
||||||
|
* @param updateReqVO 更新信息
|
||||||
|
*/
|
||||||
|
void updateDepartmentInstanceRelativity(@Valid DepartmentInstanceRelativitySaveReqVO updateReqVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除部门与实例关联
|
||||||
|
*
|
||||||
|
* @param id 编号
|
||||||
|
*/
|
||||||
|
void deleteDepartmentInstanceRelativity(String id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除部门与实例关联
|
||||||
|
*
|
||||||
|
* @param ids 编号
|
||||||
|
*/
|
||||||
|
void deleteDepartmentInstanceRelativityListByIds(List<Long> ids);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得部门与实例关联
|
||||||
|
*
|
||||||
|
* @param id 编号
|
||||||
|
* @return 部门与实例关联
|
||||||
|
*/
|
||||||
|
DepartmentInstanceRelativityDO getDepartmentInstanceRelativity(String id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得部门与实例关联分页
|
||||||
|
*
|
||||||
|
* @param pageReqVO 分页查询
|
||||||
|
* @return 部门与实例关联分页
|
||||||
|
*/
|
||||||
|
PageResult<DepartmentInstanceRelativityDO> getDepartmentInstanceRelativityPage(DepartmentInstanceRelativityPageReqVO 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.DepartmentInstanceRelativityPageReqVO;
|
||||||
|
import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.DepartmentInstanceRelativityRespVO;
|
||||||
|
import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.DepartmentInstanceRelativitySaveReqVO;
|
||||||
|
import cn.iocoder.yudao.module.base.dal.dataobject.tmpltp.DepartmentInstanceRelativityDO;
|
||||||
|
import cn.iocoder.yudao.module.base.dal.mysql.tmpltp.DepartmentInstanceRelativityMapper;
|
||||||
|
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.tmpltp.enums.ErrorCodeConstants.DEPARTMENT_INSTANCE_RELATIVITY_NOT_EXISTS;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 部门与实例关联 Service 实现类
|
||||||
|
*
|
||||||
|
* @author 后台管理
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@Validated
|
||||||
|
public class DepartmentInstanceRelativityServiceImpl implements DepartmentInstanceRelativityService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private DepartmentInstanceRelativityMapper departmentInstanceRelativityMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DepartmentInstanceRelativityRespVO createDepartmentInstanceRelativity(DepartmentInstanceRelativitySaveReqVO createReqVO) {
|
||||||
|
// 插入
|
||||||
|
DepartmentInstanceRelativityDO departmentInstanceRelativity = BeanUtils.toBean(createReqVO, DepartmentInstanceRelativityDO.class);
|
||||||
|
departmentInstanceRelativityMapper.insert(departmentInstanceRelativity);
|
||||||
|
// 返回
|
||||||
|
return BeanUtils.toBean(departmentInstanceRelativity, DepartmentInstanceRelativityRespVO.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateDepartmentInstanceRelativity(DepartmentInstanceRelativitySaveReqVO updateReqVO) {
|
||||||
|
// 校验存在
|
||||||
|
validateDepartmentInstanceRelativityExists(updateReqVO.getId());
|
||||||
|
// 更新
|
||||||
|
DepartmentInstanceRelativityDO updateObj = BeanUtils.toBean(updateReqVO, DepartmentInstanceRelativityDO.class);
|
||||||
|
departmentInstanceRelativityMapper.updateById(updateObj);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void deleteDepartmentInstanceRelativity(String id) {
|
||||||
|
// 校验存在
|
||||||
|
validateDepartmentInstanceRelativityExists(id);
|
||||||
|
// 删除
|
||||||
|
departmentInstanceRelativityMapper.deleteById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void deleteDepartmentInstanceRelativityListByIds(List<Long> ids) {
|
||||||
|
// 校验存在
|
||||||
|
validateDepartmentInstanceRelativityExists(ids);
|
||||||
|
// 删除
|
||||||
|
departmentInstanceRelativityMapper.deleteByIds(ids);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void validateDepartmentInstanceRelativityExists(List<Long> ids) {
|
||||||
|
List<DepartmentInstanceRelativityDO> list = departmentInstanceRelativityMapper.selectByIds(ids);
|
||||||
|
if (CollUtil.isEmpty(list) || list.size() != ids.size()) {
|
||||||
|
throw exception(DEPARTMENT_INSTANCE_RELATIVITY_NOT_EXISTS);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void validateDepartmentInstanceRelativityExists(String id) {
|
||||||
|
if (departmentInstanceRelativityMapper.selectById(id) == null) {
|
||||||
|
throw exception(DEPARTMENT_INSTANCE_RELATIVITY_NOT_EXISTS);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DepartmentInstanceRelativityDO getDepartmentInstanceRelativity(String id) {
|
||||||
|
return departmentInstanceRelativityMapper.selectById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageResult<DepartmentInstanceRelativityDO> getDepartmentInstanceRelativityPage(DepartmentInstanceRelativityPageReqVO pageReqVO) {
|
||||||
|
return departmentInstanceRelativityMapper.selectPage(pageReqVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -63,4 +63,21 @@ public interface TemplateInstanceDataService {
|
|||||||
*/
|
*/
|
||||||
PageResult<TemplateInstanceDataDO> getTemplateInstanceDataPage(TemplateInstanceDataPageReqVO pageReqVO);
|
PageResult<TemplateInstanceDataDO> getTemplateInstanceDataPage(TemplateInstanceDataPageReqVO pageReqVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置实例字段值
|
||||||
|
*
|
||||||
|
* @param pageReqVOS 保存参数
|
||||||
|
* @return 布尔类型
|
||||||
|
*/
|
||||||
|
boolean setTemplateInstanceData(List<TemplateInstanceDataDO> pageReqVOS);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 清空实例字段值
|
||||||
|
*
|
||||||
|
* @param instanceId ids
|
||||||
|
* @return 布尔类型
|
||||||
|
*/
|
||||||
|
boolean clearTemplateInstanceData(String instanceId,List<Long> valIds);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,8 +6,12 @@ import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.TemplateInstance
|
|||||||
import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.TemplateInstanceDataSaveReqVO;
|
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.dataobject.tmpltp.TemplateInstanceDataDO;
|
||||||
import cn.iocoder.yudao.module.base.dal.mysql.tmpltp.TemplateInstanceDataMapper;
|
import cn.iocoder.yudao.module.base.dal.mysql.tmpltp.TemplateInstanceDataMapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@@ -18,6 +22,10 @@ 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.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.*;
|
||||||
import static cn.iocoder.yudao.module.tmpltp.enums.ErrorCodeConstants.TEMPLATE_INSTANCE_DATA_NOT_EXISTS;
|
import static cn.iocoder.yudao.module.tmpltp.enums.ErrorCodeConstants.TEMPLATE_INSTANCE_DATA_NOT_EXISTS;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -89,4 +97,27 @@ public class TemplateInstanceDataServiceImpl implements TemplateInstanceDataServ
|
|||||||
return templateInstanceDataMapper.selectPage(pageReqVO);
|
return templateInstanceDataMapper.selectPage(pageReqVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional
|
||||||
|
public boolean setTemplateInstanceData(List<TemplateInstanceDataDO> pageReqVOS) {
|
||||||
|
if (CollUtil.isEmpty(pageReqVOS)) {
|
||||||
|
throw exception(PARAMS_IS_NULL_OR_ERR);
|
||||||
|
}
|
||||||
|
return templateInstanceDataMapper.insertBatch(pageReqVOS);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional
|
||||||
|
public boolean clearTemplateInstanceData(String instanceId, List<Long> valIds) {
|
||||||
|
if (CollUtil.isEmpty(valIds)|| instanceId.isEmpty()) {
|
||||||
|
throw exception(PARAMS_IS_NULL_OR_ERR);
|
||||||
|
}
|
||||||
|
int update = templateInstanceDataMapper.update(new LambdaUpdateWrapper<TemplateInstanceDataDO>().eq(TemplateInstanceDataDO::getInscId, instanceId).in(TemplateInstanceDataDO::getFldKy).set(TemplateInstanceDataDO::getFldVal, ""));
|
||||||
|
if (valIds.size()!= update){
|
||||||
|
throw exception(OPERATION_FAIL);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,12 +6,15 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|||||||
import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.TemplateInstancePageReqVO;
|
import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.TemplateInstancePageReqVO;
|
||||||
import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.TemplateInstanceRespVO;
|
import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.TemplateInstanceRespVO;
|
||||||
import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.TemplateInstanceSaveReqVO;
|
import cn.iocoder.yudao.module.base.controller.admin.templtp.vo.TemplateInstanceSaveReqVO;
|
||||||
|
import cn.iocoder.yudao.module.base.dal.dataobject.tmpltp.DepartmentInstanceRelativityDO;
|
||||||
import cn.iocoder.yudao.module.base.dal.dataobject.tmpltp.TemplateInstanceDO;
|
import cn.iocoder.yudao.module.base.dal.dataobject.tmpltp.TemplateInstanceDO;
|
||||||
|
import cn.iocoder.yudao.module.base.dal.mysql.tmpltp.DepartmentInstanceRelativityMapper;
|
||||||
import cn.iocoder.yudao.module.base.dal.mysql.tmpltp.TemplateInstanceMapper;
|
import cn.iocoder.yudao.module.base.dal.mysql.tmpltp.TemplateInstanceMapper;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||||
@@ -29,13 +32,25 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService {
|
|||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private TemplateInstanceMapper templateInstanceMapper;
|
private TemplateInstanceMapper templateInstanceMapper;
|
||||||
|
@Resource
|
||||||
|
private DepartmentInstanceRelativityMapper departmentInstanceRelativityMapper;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TemplateInstanceRespVO createTemplateInstance(TemplateInstanceSaveReqVO createReqVO) {
|
public TemplateInstanceRespVO createTemplateInstance(TemplateInstanceSaveReqVO createReqVO) {
|
||||||
// 插入
|
// 插入
|
||||||
TemplateInstanceDO templateInstance = BeanUtils.toBean(createReqVO, TemplateInstanceDO.class);
|
TemplateInstanceDO templateInstance = BeanUtils.toBean(createReqVO, TemplateInstanceDO.class);
|
||||||
templateInstanceMapper.insert(templateInstance);
|
templateInstanceMapper.insert(templateInstance);
|
||||||
// 返回
|
|
||||||
|
//构建使用部门
|
||||||
|
List<DepartmentInstanceRelativityDO> departmentInstanceRelativityDOS = new ArrayList<>();
|
||||||
|
createReqVO.getDeptIds().forEach(deptId ->{
|
||||||
|
DepartmentInstanceRelativityDO departmentInstanceRelativityDO = new DepartmentInstanceRelativityDO();
|
||||||
|
departmentInstanceRelativityDO.setTemplateInstanceId(String.valueOf(templateInstance.getId()));
|
||||||
|
departmentInstanceRelativityDO.setCompanyId(deptId);
|
||||||
|
departmentInstanceRelativityDOS.add(departmentInstanceRelativityDO);
|
||||||
|
});
|
||||||
|
departmentInstanceRelativityMapper.insertBatch(departmentInstanceRelativityDOS);
|
||||||
|
// 插入使用范围
|
||||||
return BeanUtils.toBean(templateInstance, TemplateInstanceRespVO.class);
|
return BeanUtils.toBean(templateInstance, TemplateInstanceRespVO.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -48,7 +63,7 @@ public class TemplateInstanceServiceImpl implements TemplateInstanceService {
|
|||||||
// String originalContent = templateInstanceDO.getOriginalContent();
|
// String originalContent = templateInstanceDO.getOriginalContent();
|
||||||
// 更新
|
// 更新
|
||||||
TemplateInstanceDO updateObj = BeanUtils.toBean(updateReqVO, TemplateInstanceDO.class);
|
TemplateInstanceDO updateObj = BeanUtils.toBean(updateReqVO, TemplateInstanceDO.class);
|
||||||
updateObj.setOriginalContent(null); //重新赋值,防止原始文件被更改
|
updateObj.setOrigCntt(null); //重新赋值,防止原始文件被更改
|
||||||
templateInstanceMapper.updateById(updateObj);
|
templateInstanceMapper.updateById(updateObj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -62,9 +62,48 @@ public interface TmplTpService extends IService<TmplTpDO> {
|
|||||||
*/
|
*/
|
||||||
PageResult<TmplTpDO> getTmplTpPage(TmplTpPageReqVO pageReqVO);
|
PageResult<TmplTpDO> getTmplTpPage(TmplTpPageReqVO pageReqVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得字段回显
|
||||||
|
*
|
||||||
|
* @param id 编号
|
||||||
|
* @return 模板分类
|
||||||
|
*/
|
||||||
List<TmplFldRespVO> getField(Long id);
|
List<TmplFldRespVO> getField(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获得条款回显
|
||||||
|
*
|
||||||
|
* @param id 编号
|
||||||
|
* @return 模板分类
|
||||||
|
*/
|
||||||
List<TmplItmRespVO> getClause(Long id);
|
List<TmplItmRespVO> getClause(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 树结构
|
||||||
|
*
|
||||||
|
* @return 模板分类
|
||||||
|
*/
|
||||||
List<TmplTpTreeVO> buildTree();
|
List<TmplTpTreeVO> buildTree();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新模板分类状态
|
||||||
|
*
|
||||||
|
* @param id 编号
|
||||||
|
* @param status 状态
|
||||||
|
*/
|
||||||
void updateStatus(Long id, String status);
|
void updateStatus(Long id, String status);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 字段编辑
|
||||||
|
*
|
||||||
|
* @param reqVO 状态
|
||||||
|
*/
|
||||||
|
void fieldEdit(TmplTpEditOrDeleteReqVO reqVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 条款编辑
|
||||||
|
*
|
||||||
|
* @param reqVO 状态
|
||||||
|
*/
|
||||||
|
void ltmEdit(TmplTpEditOrDeleteReqVO reqVO);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -192,6 +192,7 @@ public class TmplTpServiceImpl extends ServiceImpl<TmplTpMapper, TmplTpDO> imple
|
|||||||
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));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private boolean validateStatusUpdate(Long id, String status) {
|
private boolean validateStatusUpdate(Long id, String status) {
|
||||||
TmplTpDO tmplTpDO = baseMapper.getTmplTpById(id);
|
TmplTpDO tmplTpDO = baseMapper.getTmplTpById(id);
|
||||||
String currentSts = tmplTpDO.getSts();
|
String currentSts = tmplTpDO.getSts();
|
||||||
@@ -208,19 +209,60 @@ public class TmplTpServiceImpl extends ServiceImpl<TmplTpMapper, TmplTpDO> imple
|
|||||||
return currentStatus.isTransitionAllowed(status);
|
return currentStatus.isTransitionAllowed(status);
|
||||||
}
|
}
|
||||||
|
|
||||||
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);
|
||||||
|
// });
|
||||||
|
// return !result.contains(false);
|
||||||
|
// }
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void fieldEdit(TmplTpEditOrDeleteReqVO reqVO) {
|
||||||
|
if ("create".equals(reqVO.getType())) {
|
||||||
|
List<TmplFldRelDO> tmplFldRelDOS = new ArrayList<>();
|
||||||
|
reqVO.getIds().forEach(id -> {
|
||||||
|
TmplFldRelDO tmplFldRelDO = new TmplFldRelDO();
|
||||||
|
tmplFldRelDO.setTmplTpId(reqVO.getTpId());
|
||||||
|
tmplFldRelDO.setTpFldId(id);
|
||||||
|
tmplFldRelDOS.add(tmplFldRelDO);
|
||||||
});
|
});
|
||||||
return !result.contains(false);
|
tmplFldRelMapper.insertBatch(tmplFldRelDOS);
|
||||||
|
}else if ("delete".equals(reqVO.getType())) {
|
||||||
|
tmplFldRelMapper.delete(Wrappers.<TmplFldRelDO>lambdaQuery()
|
||||||
|
.eq(TmplFldRelDO::getTmplTpId, reqVO.getTpId())
|
||||||
|
.in(TmplFldRelDO::getTpFldId, reqVO.getIds()));
|
||||||
|
}else {
|
||||||
|
throw exception(ILLEGAL_OPERATION_TYPE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void ltmEdit(TmplTpEditOrDeleteReqVO reqVO) {
|
||||||
|
if ("create".equals(reqVO.getType())) {
|
||||||
|
List<TmplItmRelDO> tmplItmRelDOS = new ArrayList<>();
|
||||||
|
reqVO.getIds().forEach(id -> {
|
||||||
|
TmplItmRelDO tmplItmRelDO = new TmplItmRelDO();
|
||||||
|
tmplItmRelDO.setTmplTpId(reqVO.getTpId());
|
||||||
|
tmplItmRelDO.setItmFldId(id);
|
||||||
|
tmplItmRelDOS.add(tmplItmRelDO);
|
||||||
|
});
|
||||||
|
tmplItmRelMapper.insertBatch(tmplItmRelDOS);
|
||||||
|
}else if ("delete".equals(reqVO.getType())) {
|
||||||
|
tmplItmRelMapper.delete(Wrappers.<TmplItmRelDO>lambdaQuery()
|
||||||
|
.eq(TmplItmRelDO::getTmplTpId, reqVO.getTpId())
|
||||||
|
.in(TmplItmRelDO::getItmFldId, reqVO.getIds()));
|
||||||
|
}else {
|
||||||
|
throw exception(ILLEGAL_OPERATION_TYPE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
@@ -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.DepartmentInstanceRelativityMapper">
|
||||||
|
|
||||||
|
<!--
|
||||||
|
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
|
||||||
|
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
|
||||||
|
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
|
||||||
|
文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
|
||||||
|
-->
|
||||||
|
|
||||||
|
</mapper>
|
||||||
@@ -18,6 +18,8 @@
|
|||||||
INNER JOIN BSE_TMPL_TP tp ON rel.TMPL_TP_ID = tp.ID
|
INNER JOIN BSE_TMPL_TP tp ON rel.TMPL_TP_ID = tp.ID
|
||||||
AND tp.tenant_id = 1
|
AND tp.tenant_id = 1
|
||||||
WHERE itm.DELETED = 0
|
WHERE itm.DELETED = 0
|
||||||
|
AND rel.DELETED = 0
|
||||||
|
AND tp.DELETED = 0
|
||||||
AND tp.id = #{id}
|
AND tp.id = #{id}
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
Reference in New Issue
Block a user