From deedb7b4be9ef55972b54a49a204ba7b15147d53 Mon Sep 17 00:00:00 2001 From: zhouhaibin Date: Fri, 23 May 2025 18:19:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=90=88=E5=90=8C=E5=AE=A1?= =?UTF-8?q?=E6=A0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ContractualTaskChecklistController.java | 57 ++---- .../ContractualTaskTypeController.java | 105 ++++++++++ .../domain/ContractualTaskChecklist.java | 29 ++- .../domain/ContractualTaskType.java | 63 ++++++ .../domain/bo/ContractualTaskChecklistBo.java | 37 ++-- .../domain/bo/ContractualTaskTypeBo.java | 50 +++++ .../domain/vo/ContractualTaskChecklistVo.java | 49 +++-- .../domain/vo/ContractualTaskTypeVo.java | 72 +++++++ .../ContractualTaskChecklistMapper.java | 24 +-- .../mapper/ContractualTaskTypeMapper.java | 15 ++ .../IContractualTaskChecklistService.java | 34 ++-- .../service/IContractualTaskTypeService.java | 68 +++++++ .../ContractualTaskChecklistServiceImpl.java | 180 +++++++----------- .../impl/ContractualTaskTypeServiceImpl.java | 150 +++++++++++++++ .../ContractualTaskChecklistMapper.xml | 49 ++--- .../ContractualTaskTypeMapper.xml | 23 +++ 16 files changed, 763 insertions(+), 242 deletions(-) create mode 100644 zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/ContractualTaskTypeController.java create mode 100644 zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/ContractualTaskType.java create mode 100644 zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/ContractualTaskTypeBo.java create mode 100644 zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/ContractualTaskTypeVo.java create mode 100644 zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/ContractualTaskTypeMapper.java create mode 100644 zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IContractualTaskTypeService.java create mode 100644 zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/ContractualTaskTypeServiceImpl.java create mode 100644 zaojiaManagement/zaojia-productManagement/src/main/resources/mapper/productManagement/ContractualTaskTypeMapper.xml diff --git a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/ContractualTaskChecklistController.java b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/ContractualTaskChecklistController.java index c5f032d..8ff6dce 100644 --- a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/ContractualTaskChecklistController.java +++ b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/ContractualTaskChecklistController.java @@ -23,10 +23,10 @@ import org.dromara.productManagement.service.IContractualTaskChecklistService; import org.dromara.common.mybatis.core.page.TableDataInfo; /** - * 合同任务审查清单 + * 合同任务审查要点表 * * @author Lion Li - * @date 2025-05-16 + * @date 2025-05-23 */ @Validated @RequiredArgsConstructor @@ -37,34 +37,27 @@ public class ContractualTaskChecklistController extends BaseController { private final IContractualTaskChecklistService contractualTaskChecklistService; /** - * 查询合同任务审查清单列表 + * 查询合同任务审查要点表列表 */ @SaCheckPermission("productManagement:ContractualTaskChecklist:list") @GetMapping("/list") - public TableDataInfo list(ContractualTaskChecklistBo bo, PageQuery pageQuery) { - return contractualTaskChecklistService.queryPageList(bo, pageQuery); - } - /** - * 查询合同任务审查清单列表 - */ - @SaCheckPermission("productManagement:ContractualTaskChecklist:list") - @GetMapping("/queryList") public R> list(ContractualTaskChecklistBo bo) { return R.ok(contractualTaskChecklistService.queryList(bo)); } + /** - * 导出合同任务审查清单列表 + * 导出合同任务审查要点表列表 */ @SaCheckPermission("productManagement:ContractualTaskChecklist:export") - @Log(title = "合同任务审查清单", businessType = BusinessType.EXPORT) + @Log(title = "合同任务审查要点表", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(ContractualTaskChecklistBo bo, HttpServletResponse response) { List list = contractualTaskChecklistService.queryList(bo); - ExcelUtil.exportExcel(list, "合同任务审查清单", ContractualTaskChecklistVo.class, response); + ExcelUtil.exportExcel(list, "合同任务审查要点表", ContractualTaskChecklistVo.class, response); } /** - * 获取合同任务审查清单详细信息 + * 获取合同任务审查要点表详细信息 * * @param id 主键 */ @@ -74,49 +67,39 @@ public class ContractualTaskChecklistController extends BaseController { @PathVariable Long id) { return R.ok(contractualTaskChecklistService.queryById(id)); } + /** - * 获取合同任务审查清单详细信息 - * - * @param id 主键 - */ - @SaCheckPermission("productManagement:ContractualTaskChecklist:query") - @GetMapping("/queryByGroupId/{id}") - public R> queryByGroupId(@NotNull(message = "主键不能为空") - @PathVariable String id) { - return R.ok(contractualTaskChecklistService.queryByGroupId(id)); - } - /** - * 新增合同任务审查清单 + * 新增合同任务审查要点表 */ @SaCheckPermission("productManagement:ContractualTaskChecklist:add") - @Log(title = "合同任务审查清单", businessType = BusinessType.INSERT) + @Log(title = "合同任务审查要点表", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() - public R add(@Validated(AddGroup.class) @RequestBody List boList) { - return toAjax(contractualTaskChecklistService.insertByBoList(boList)); + public R add(@Validated(AddGroup.class) @RequestBody ContractualTaskChecklistBo bo) { + return toAjax(contractualTaskChecklistService.insertByBo(bo)); } /** - * 修改合同任务审查清单 + * 修改合同任务审查要点表 */ @SaCheckPermission("productManagement:ContractualTaskChecklist:edit") - @Log(title = "合同任务审查清单", businessType = BusinessType.UPDATE) + @Log(title = "合同任务审查要点表", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping() - public R edit(@Validated(EditGroup.class) @RequestBody List boList) { - return toAjax(contractualTaskChecklistService.updateByBoList(boList)); + public R edit(@Validated(EditGroup.class) @RequestBody ContractualTaskChecklistBo bo) { + return toAjax(contractualTaskChecklistService.updateByBo(bo)); } /** - * 删除合同任务审查清单 + * 删除合同任务审查要点表 * * @param ids 主键串 */ @SaCheckPermission("productManagement:ContractualTaskChecklist:remove") - @Log(title = "合同任务审查清单", businessType = BusinessType.DELETE) + @Log(title = "合同任务审查要点表", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") public R remove(@NotEmpty(message = "主键不能为空") - @PathVariable String[] ids) { + @PathVariable Long[] ids) { return toAjax(contractualTaskChecklistService.deleteWithValidByIds(List.of(ids), true)); } } diff --git a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/ContractualTaskTypeController.java b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/ContractualTaskTypeController.java new file mode 100644 index 0000000..06c2a24 --- /dev/null +++ b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/ContractualTaskTypeController.java @@ -0,0 +1,105 @@ +package org.dromara.productManagement.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.productManagement.domain.vo.ContractualTaskTypeVo; +import org.dromara.productManagement.domain.bo.ContractualTaskTypeBo; +import org.dromara.productManagement.service.IContractualTaskTypeService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 合同类型 + * + * @author Lion Li + * @date 2025-05-23 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/productManagement/ContractualTaskType") +public class ContractualTaskTypeController extends BaseController { + + private final IContractualTaskTypeService contractualTaskTypeService; + + /** + * 查询合同类型列表 + */ + @SaCheckPermission("productManagement:ContractualTaskType:list") + @GetMapping("/list") + public R> list(ContractualTaskTypeBo bo) { + return R.ok(contractualTaskTypeService.queryList(bo)); + } + + /** + * 导出合同类型列表 + */ + @SaCheckPermission("productManagement:ContractualTaskType:export") + @Log(title = "合同类型", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(ContractualTaskTypeBo bo, HttpServletResponse response) { + List list = contractualTaskTypeService.queryList(bo); + ExcelUtil.exportExcel(list, "合同类型", ContractualTaskTypeVo.class, response); + } + + /** + * 获取合同类型详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("productManagement:ContractualTaskType:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(contractualTaskTypeService.queryById(id)); + } + + /** + * 新增合同类型 + */ + @SaCheckPermission("productManagement:ContractualTaskType:add") + @Log(title = "合同类型", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody ContractualTaskTypeBo bo) { + return toAjax(contractualTaskTypeService.insertByBo(bo)); + } + + /** + * 修改合同类型 + */ + @SaCheckPermission("productManagement:ContractualTaskType:edit") + @Log(title = "合同类型", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody ContractualTaskTypeBo bo) { + return toAjax(contractualTaskTypeService.updateByBo(bo)); + } + + /** + * 删除合同类型 + * + * @param ids 主键串 + */ + @SaCheckPermission("productManagement:ContractualTaskType:remove") + @Log(title = "合同类型", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(contractualTaskTypeService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/ContractualTaskChecklist.java b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/ContractualTaskChecklist.java index 9875859..2ad002d 100644 --- a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/ContractualTaskChecklist.java +++ b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/ContractualTaskChecklist.java @@ -8,10 +8,10 @@ import lombok.EqualsAndHashCode; import java.io.Serial; /** - * 合同任务审查清单对象 contractual_task_checklist + * 合同任务审查要点表对象 contractual_task_checklist * * @author Lion Li - * @date 2025-05-16 + * @date 2025-05-23 */ @Data @EqualsAndHashCode(callSuper = true) @@ -28,32 +28,41 @@ public class ContractualTaskChecklist extends TenantEntity { private Long id; /** - * 清单名称 + * 风险等级 */ - private String name; + private String riskLevel; /** - * 清单项内容 + * 要点名称 */ - private String checklistItem; + private String title; /** * 排序 */ private Long sortOrder; - private String checklistItemDesc; /** - * + * */ @TableLogic private String delFlag; /** - * + * */ @Version private Long version; - private String groupId; + /** + * 合同类型id + */ + private String typeId; + + /** + * 要点描述 + */ + private String description; + + } diff --git a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/ContractualTaskType.java b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/ContractualTaskType.java new file mode 100644 index 0000000..f09a82a --- /dev/null +++ b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/ContractualTaskType.java @@ -0,0 +1,63 @@ +package org.dromara.productManagement.domain; + +import org.dromara.common.tenant.core.TenantEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 合同类型对象 contractual_task_type + * + * @author Lion Li + * @date 2025-05-23 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("contractual_task_type") +public class ContractualTaskType extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 类型ID + */ + @TableId(value = "id") + private Long id; + + /** + * 类型名称 + */ + private String contractName; + + /** + * 显示顺序 + */ + private Long sort; + + /** + * 状态(0正常 1停用) + */ + private String status; + + /** + * 删除标志(0代表存在 1代表删除) + */ + @TableLogic + private String delFlag; + + /** + * 版本号 + */ + @Version + private Long version; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/ContractualTaskChecklistBo.java b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/ContractualTaskChecklistBo.java index 2653762..23c1436 100644 --- a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/ContractualTaskChecklistBo.java +++ b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/ContractualTaskChecklistBo.java @@ -1,6 +1,5 @@ package org.dromara.productManagement.domain.bo; -import org.dromara.productManagement.domain.ContractualTaskChecklist; import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.EditGroup; @@ -8,12 +7,13 @@ import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; +import org.dromara.productManagement.domain.ContractualTaskChecklist; /** - * 合同任务审查清单业务对象 contractual_task_checklist + * 合同任务审查要点表业务对象 * * @author Lion Li - * @date 2025-05-16 + * @date 2025-05-23 */ @Data @EqualsAndHashCode(callSuper = true) @@ -23,21 +23,36 @@ public class ContractualTaskChecklistBo extends BaseEntity { /** * id */ + @NotNull(message = "id不能为空", groups = { EditGroup.class }) private Long id; /** - * 清单名称 + * 风险等级 + */ + @NotBlank(message = "风险等级不能为空", groups = { AddGroup.class, EditGroup.class }) + private String riskLevel; + + /** + * 要点名称 */ - @NotBlank(message = "清单名称不能为空", groups = { AddGroup.class, EditGroup.class }) - private String name; + @NotBlank(message = "要点名称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String title; /** - * 清单项内容 + * 排序 */ - @NotBlank(message = "清单项内容不能为空", groups = { AddGroup.class, EditGroup.class }) - private String checklistItem; + private Long sortOrder; - private String checklistItemDesc; - private String groupId; + /** + * 合同类型id + */ + @NotBlank(message = "合同类型id不能为空", groups = { AddGroup.class, EditGroup.class }) + private String typeId; + + /** + * 要点描述 + */ + @NotBlank(message = "要点描述不能为空", groups = { AddGroup.class, EditGroup.class }) + private String description; } diff --git a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/ContractualTaskTypeBo.java b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/ContractualTaskTypeBo.java new file mode 100644 index 0000000..b31c129 --- /dev/null +++ b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/ContractualTaskTypeBo.java @@ -0,0 +1,50 @@ +package org.dromara.productManagement.domain.bo; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; +import org.dromara.productManagement.domain.ContractualTaskType; + +/** + * 合同类型业务对象 + * + * @author Lion Li + * @date 2025-05-23 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = ContractualTaskType.class, reverseConvertGenerate = false) +public class ContractualTaskTypeBo extends BaseEntity { + + /** + * 类型ID + */ + @NotNull(message = "类型ID不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 类型名称 + */ + @NotBlank(message = "类型名称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String contractName; + + /** + * 显示顺序 + */ + private Long sort; + + /** + * 状态(0正常 1停用) + */ + private String status; + + /** + * 备注 + */ + private String remark; + +} diff --git a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/ContractualTaskChecklistVo.java b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/ContractualTaskChecklistVo.java index 1a0719e..283cc14 100644 --- a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/ContractualTaskChecklistVo.java +++ b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/ContractualTaskChecklistVo.java @@ -15,10 +15,10 @@ import java.util.Date; /** - * 合同任务审查清单视图对象 contractual_task_checklist + * 合同任务审查要点表视图对象 contractual_task_checklist * * @author Lion Li - * @date 2025-05-16 + * @date 2025-05-23 */ @Data @ExcelIgnoreUnannotated @@ -35,18 +35,45 @@ public class ContractualTaskChecklistVo implements Serializable { private Long id; /** - * 清单名称 + * 风险等级 */ - @ExcelProperty(value = "清单名称") - private String name; + @ExcelProperty(value = "风险等级") + private String riskLevel; /** - * 清单项内容 + * 要点名称 */ - @ExcelProperty(value = "清单项内容") - private String checklistItem; - private String checklistItemDesc; - private int checklistItemNum; - private String groupId; + @ExcelProperty(value = "要点名称") + private String title; + + /** + * 排序 + */ + @ExcelProperty(value = "排序") + private Long sortOrder; + + /** + * 合同类型id + */ + @ExcelProperty(value = "合同类型id") + private String typeId; + + /** + * 要点描述 + */ + @ExcelProperty(value = "要点描述") + private String description; + + /** + * 创建时间 + */ + @ExcelProperty(value = "创建时间") + private Date createTime; + + /** + * 更新时间 + */ + @ExcelProperty(value = "更新时间") + private Date updateTime; } diff --git a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/ContractualTaskTypeVo.java b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/ContractualTaskTypeVo.java new file mode 100644 index 0000000..6607eb8 --- /dev/null +++ b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/ContractualTaskTypeVo.java @@ -0,0 +1,72 @@ +package org.dromara.productManagement.domain.vo; + +import org.dromara.productManagement.domain.ContractualTaskType; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 合同类型视图对象 contractual_task_type + * + * @author Lion Li + * @date 2025-05-23 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = ContractualTaskType.class) +public class ContractualTaskTypeVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 类型ID + */ + @ExcelProperty(value = "类型ID") + private Long id; + + /** + * 类型名称 + */ + @ExcelProperty(value = "类型名称") + private String contractName; + + /** + * 显示顺序 + */ + @ExcelProperty(value = "显示顺序") + private Long sort; + + /** + * 状态(0正常 1停用) + */ + @ExcelProperty(value = "状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "0=正常,1=停用") + private String status; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新时间 + */ + private Date updateTime; + +} diff --git a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/ContractualTaskChecklistMapper.java b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/ContractualTaskChecklistMapper.java index 11b8286..d636a32 100644 --- a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/ContractualTaskChecklistMapper.java +++ b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/ContractualTaskChecklistMapper.java @@ -3,29 +3,21 @@ package org.dromara.productManagement.mapper; import org.dromara.productManagement.domain.ContractualTaskChecklist; import org.dromara.productManagement.domain.vo.ContractualTaskChecklistVo; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import java.util.List; +import org.apache.ibatis.annotations.Param; /** - * 合同任务审查清单Mapper接口 + * 合同任务审查要点表Mapper接口 * * @author Lion Li - * @date 2025-05-16 + * @date 2025-05-23 */ public interface ContractualTaskChecklistMapper extends BaseMapperPlus { /** - * 按name和groupId分组查询 + * 根据合同类型ID查询审查要点数量 + * + * @param typeId 合同类型ID + * @return 审查要点数量 */ - Page selectGroupPage(Page page, String name); - - /** - * 真实删除数据 - */ - int realDelete(String groupId); - - /** - * 按name和groupId分组查询列表 - */ - List selectGroupList(String name); + long selectCountByTypeId(@Param("typeId") Long typeId); } diff --git a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/ContractualTaskTypeMapper.java b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/ContractualTaskTypeMapper.java new file mode 100644 index 0000000..9186d8a --- /dev/null +++ b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/ContractualTaskTypeMapper.java @@ -0,0 +1,15 @@ +package org.dromara.productManagement.mapper; + +import org.dromara.productManagement.domain.ContractualTaskType; +import org.dromara.productManagement.domain.vo.ContractualTaskTypeVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 合同类型Mapper接口 + * + * @author Lion Li + * @date 2025-05-23 + */ +public interface ContractualTaskTypeMapper extends BaseMapperPlus { + +} diff --git a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IContractualTaskChecklistService.java b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IContractualTaskChecklistService.java index 05b48c0..0d30194 100644 --- a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IContractualTaskChecklistService.java +++ b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IContractualTaskChecklistService.java @@ -9,62 +9,60 @@ import java.util.Collection; import java.util.List; /** - * 合同任务审查清单Service接口 + * 合同任务审查要点表Service接口 * * @author Lion Li - * @date 2025-05-16 + * @date 2025-05-23 */ public interface IContractualTaskChecklistService { /** - * 查询合同任务审查清单 + * 查询合同任务审查要点表 * * @param id 主键 - * @return 合同任务审查清单 + * @return 合同任务审查要点表 */ ContractualTaskChecklistVo queryById(Long id); /** - * 分页查询合同任务审查清单列表 + * 分页查询合同任务审查要点表列表 * * @param bo 查询条件 * @param pageQuery 分页参数 - * @return 合同任务审查清单分页列表 + * @return 合同任务审查要点表分页列表 */ TableDataInfo queryPageList(ContractualTaskChecklistBo bo, PageQuery pageQuery); /** - * 查询符合条件的合同任务审查清单列表 + * 查询符合条件的合同任务审查要点表列表 * * @param bo 查询条件 - * @return 合同任务审查清单列表 + * @return 合同任务审查要点表列表 */ List queryList(ContractualTaskChecklistBo bo); /** - * 批量新增合同任务审查清单 + * 新增合同任务审查要点表 * - * @param boList 合同任务审查清单列表 + * @param bo 合同任务审查要点表 * @return 是否新增成功 */ - Boolean insertByBoList(List boList); + Boolean insertByBo(ContractualTaskChecklistBo bo); /** - * 批量修改合同任务审查清单 + * 修改合同任务审查要点表 * - * @param boList 合同任务审查清单列表 + * @param bo 合同任务审查要点表 * @return 是否修改成功 */ - Boolean updateByBoList(List boList); + Boolean updateByBo(ContractualTaskChecklistBo bo); /** - * 校验并批量删除合同任务审查清单信息 + * 校验并批量删除合同任务审查要点表信息 * * @param ids 待删除的主键集合 * @param isValid 是否进行有效性校验 * @return 是否删除成功 */ - Boolean deleteWithValidByIds(Collection ids, Boolean isValid); - - List queryByGroupId(String id); + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); } diff --git a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IContractualTaskTypeService.java b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IContractualTaskTypeService.java new file mode 100644 index 0000000..cc473a8 --- /dev/null +++ b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IContractualTaskTypeService.java @@ -0,0 +1,68 @@ +package org.dromara.productManagement.service; + +import org.dromara.productManagement.domain.vo.ContractualTaskTypeVo; +import org.dromara.productManagement.domain.bo.ContractualTaskTypeBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 合同类型Service接口 + * + * @author Lion Li + * @date 2025-05-23 + */ +public interface IContractualTaskTypeService { + + /** + * 查询合同类型 + * + * @param id 主键 + * @return 合同类型 + */ + ContractualTaskTypeVo queryById(Long id); + + /** + * 分页查询合同类型列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 合同类型分页列表 + */ + TableDataInfo queryPageList(ContractualTaskTypeBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的合同类型列表 + * + * @param bo 查询条件 + * @return 合同类型列表 + */ + List queryList(ContractualTaskTypeBo bo); + + /** + * 新增合同类型 + * + * @param bo 合同类型 + * @return 是否新增成功 + */ + Boolean insertByBo(ContractualTaskTypeBo bo); + + /** + * 修改合同类型 + * + * @param bo 合同类型 + * @return 是否修改成功 + */ + Boolean updateByBo(ContractualTaskTypeBo bo); + + /** + * 校验并批量删除合同类型信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/ContractualTaskChecklistServiceImpl.java b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/ContractualTaskChecklistServiceImpl.java index 3c63968..456dcfa 100644 --- a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/ContractualTaskChecklistServiceImpl.java +++ b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/ContractualTaskChecklistServiceImpl.java @@ -1,34 +1,29 @@ package org.dromara.productManagement.service.impl; +import java.util.List; +import java.util.Map; +import java.util.Collection; -import cn.dev33.satoken.stp.StpUtil; -import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; +import org.springframework.stereotype.Service; +import lombok.RequiredArgsConstructor; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.PageQuery; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import lombok.RequiredArgsConstructor; -import org.dromara.common.satoken.utils.LoginHelper; -import org.springframework.stereotype.Service; import org.dromara.productManagement.domain.bo.ContractualTaskChecklistBo; import org.dromara.productManagement.domain.vo.ContractualTaskChecklistVo; import org.dromara.productManagement.domain.ContractualTaskChecklist; import org.dromara.productManagement.mapper.ContractualTaskChecklistMapper; import org.dromara.productManagement.service.IContractualTaskChecklistService; -import java.util.List; -import java.util.Map; -import java.util.Collection; -import java.util.UUID; - /** - * 合同任务审查清单Service业务层处理 + * 合同任务审查要点表Service业务层处理 * * @author Lion Li - * @date 2025-05-16 + * @date 2025-05-23 */ @RequiredArgsConstructor @Service @@ -37,146 +32,111 @@ public class ContractualTaskChecklistServiceImpl implements IContractualTaskChec private final ContractualTaskChecklistMapper baseMapper; /** - * 查询合同任务审查清单 + * 查询合同任务审查要点表 * - * @param id 主键 - * @return 合同任务审查清单 + * @param id 合同任务审查要点表主键 + * @return 合同任务审查要点表 */ @Override - public ContractualTaskChecklistVo queryById(Long id){ + public ContractualTaskChecklistVo queryById(Long id) { return baseMapper.selectVoById(id); } /** - * 分页查询合同任务审查清单列表 + * 查询合同任务审查要点表列表 * - * @param bo 查询条件 - * @param pageQuery 分页参数 - * @return 合同任务审查清单分页列表 + * @param bo 合同任务审查要点表 + * @return 合同任务审查要点表 */ @Override public TableDataInfo queryPageList(ContractualTaskChecklistBo bo, PageQuery pageQuery) { - Page page = baseMapper.selectGroupPage(pageQuery.build(), bo.getName()); - return TableDataInfo.build(page); + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); } /** - * 查询符合条件的合同任务审查清单列表 + * 查询合同任务审查要点表列表 * - * @param bo 查询条件 - * @return 合同任务审查清单列表 + * @param bo 合同任务审查要点表 + * @return 合同任务审查要点表 */ @Override public List queryList(ContractualTaskChecklistBo bo) { - return baseMapper.selectGroupList(bo.getName()); + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); } private LambdaQueryWrapper buildQueryWrapper(ContractualTaskChecklistBo bo) { + Map params = bo.getParams(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); - lqw.like(StringUtils.isNotBlank(bo.getName()), ContractualTaskChecklist::getName, bo.getName()); - Long userId = LoginHelper.getUserId(); - if(!StpUtil.hasRole("superadmin")){ - lqw.eq(userId != null, ContractualTaskChecklist::getCreateBy, userId); - } + lqw.eq(StringUtils.isNotBlank(bo.getRiskLevel()), ContractualTaskChecklist::getRiskLevel, bo.getRiskLevel()); + lqw.like(StringUtils.isNotBlank(bo.getTitle()), ContractualTaskChecklist::getTitle, bo.getTitle()); + lqw.eq(bo.getSortOrder() != null, ContractualTaskChecklist::getSortOrder, bo.getSortOrder()); + lqw.eq(StringUtils.isNotBlank(bo.getTypeId()), ContractualTaskChecklist::getTypeId, bo.getTypeId()); + lqw.like(StringUtils.isNotBlank(bo.getDescription()), ContractualTaskChecklist::getDescription, bo.getDescription()); + lqw.orderByAsc(ContractualTaskChecklist::getSortOrder); return lqw; } - // /** - // * 新增合同任务审查清单 - // * - // * @param bo 合同任务审查清单 - // * @return 是否新增成功 - // */ - // @Override - // public Boolean insertByBo(ContractualTaskChecklistBo bo) { - // ContractualTaskChecklist add = MapstructUtils.convert(bo, ContractualTaskChecklist.class); - // validEntityBeforeSave(add); - // boolean flag = baseMapper.insert(add) > 0; - // if (flag) { - // bo.setId(add.getId()); - // } - // return flag; - // } - - // /** - // * 修改合同任务审查清单 - // * - // * @param bo 合同任务审查清单 - // * @return 是否修改成功 - // */ - // @Override - // public Boolean updateByBo(ContractualTaskChecklistBo bo) { - // ContractualTaskChecklist update = MapstructUtils.convert(bo, ContractualTaskChecklist.class); - // validEntityBeforeSave(update); - // return baseMapper.updateById(update) > 0; - // } - - /** - * 保存前的数据校验 - */ - private void validEntityBeforeSave(ContractualTaskChecklist entity){ - //TODO 做一些数据校验,如唯一约束 - if(StringUtils.isBlank(entity.getName())){ - throw new ServiceException("清单名称不能为空"); - } - if(StringUtils.isBlank(entity.getChecklistItem())){ - throw new ServiceException("清单项不能为空"); - } - //name 不能重复 - LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); - lqw.eq(ContractualTaskChecklist::getName, entity.getName()); - List list = baseMapper.selectList(lqw); - if(list.size() > 0){ - throw new ServiceException("清单名称不能重复"); - } - - } - /** - * 批量新增合同任务审查清单 + * 新增合同任务审查要点表 + * + * @param bo 合同任务审查要点表 + * @return 结果 */ @Override - public Boolean insertByBoList(List boList) { - List list = MapstructUtils.convert(boList, ContractualTaskChecklist.class); - String uuid = UUID.randomUUID().toString().replaceAll("-", ""); - validEntityBeforeSave(list.get(0)); - for (ContractualTaskChecklist contractualTaskChecklist : list) { - contractualTaskChecklist.setGroupId(uuid); - baseMapper.insert(contractualTaskChecklist); + public Boolean insertByBo(ContractualTaskChecklistBo bo) { + ContractualTaskChecklist add = MapstructUtils.convert(bo, ContractualTaskChecklist.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); } - return true; + return flag; } /** - * 批量修改合同任务审查清单 + * 修改合同任务审查要点表 + * + * @param bo 合同任务审查要点表 + * @return 结果 */ @Override - public Boolean updateByBoList(List boList) { - baseMapper.realDelete(boList.get(0).getGroupId()); - insertByBoList(boList); - return true; + public Boolean updateByBo(ContractualTaskChecklistBo bo) { + ContractualTaskChecklist update = MapstructUtils.convert(bo, ContractualTaskChecklist.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; } /** - * 校验并批量删除合同任务审查清单信息 + * 保存前的数据校验 * - * @param ids 待删除的主键集合 - * @param isValid 是否进行有效性校验 - * @return 是否删除成功 + * @param entity 实体类数据 */ - @Override - public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { - if(isValid){ - //TODO 做一些业务上的校验,判断是否需要校验 + private void validEntityBeforeSave(ContractualTaskChecklist entity) { + // 校验审查要点名称是否重复 + if (StringUtils.isNotEmpty(entity.getTitle()) && StringUtils.isNotEmpty(entity.getTypeId())) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(ContractualTaskChecklist::getTitle, entity.getTitle()) + .eq(ContractualTaskChecklist::getTypeId, entity.getTypeId()); + if (entity.getId() != null) { + queryWrapper.ne(ContractualTaskChecklist::getId, entity.getId()); + } + if (baseMapper.selectCount(queryWrapper) > 0) { + throw new RuntimeException("该合同类型下已存在相同名称的审查要点"); + } } - baseMapper.realDelete(ids.iterator().next()); - return true; } + /** + * 批量删除合同任务审查要点表 + * + * @param ids 需要删除的合同任务审查要点表主键 + * @return 结果 + */ @Override - public List queryByGroupId(String id) { - LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); - lqw.eq(ContractualTaskChecklist::getGroupId, id); - return baseMapper.selectVoList(lqw); + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + return baseMapper.deleteBatchIds(ids) > 0; } } diff --git a/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/ContractualTaskTypeServiceImpl.java b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/ContractualTaskTypeServiceImpl.java new file mode 100644 index 0000000..d403cbe --- /dev/null +++ b/zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/ContractualTaskTypeServiceImpl.java @@ -0,0 +1,150 @@ +package org.dromara.productManagement.service.impl; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.springframework.stereotype.Service; +import lombok.RequiredArgsConstructor; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import org.dromara.productManagement.domain.bo.ContractualTaskTypeBo; +import org.dromara.productManagement.domain.vo.ContractualTaskTypeVo; +import org.dromara.productManagement.domain.ContractualTaskType; +import org.dromara.productManagement.mapper.ContractualTaskTypeMapper; +import org.dromara.productManagement.service.IContractualTaskTypeService; +import org.dromara.productManagement.mapper.ContractualTaskChecklistMapper; + +/** + * 合同类型Service业务层处理 + * + * @author Lion Li + * @date 2025-05-23 + */ +@RequiredArgsConstructor +@Service +public class ContractualTaskTypeServiceImpl implements IContractualTaskTypeService { + + private final ContractualTaskTypeMapper baseMapper; + private final ContractualTaskChecklistMapper checklistMapper; + + /** + * 查询合同类型 + * + * @param id 合同类型主键 + * @return 合同类型 + */ + @Override + public ContractualTaskTypeVo queryById(Long id) { + return baseMapper.selectVoById(id); + } + + /** + * 查询合同类型列表 + * + * @param bo 合同类型 + * @return 合同类型 + */ + @Override + public TableDataInfo queryPageList(ContractualTaskTypeBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询合同类型列表 + * + * @param bo 合同类型 + * @return 合同类型 + */ + @Override + public List queryList(ContractualTaskTypeBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(ContractualTaskTypeBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.like(StringUtils.isNotBlank(bo.getContractName()), ContractualTaskType::getContractName, bo.getContractName()); + lqw.eq(bo.getSort() != null, ContractualTaskType::getSort, bo.getSort()); + lqw.eq(StringUtils.isNotBlank(bo.getStatus()), ContractualTaskType::getStatus, bo.getStatus()); + return lqw; + } + + /** + * 新增合同类型 + * + * @param bo 合同类型 + * @return 结果 + */ + @Override + public Boolean insertByBo(ContractualTaskTypeBo bo) { + ContractualTaskType add = MapstructUtils.convert(bo, ContractualTaskType.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改合同类型 + * + * @param bo 合同类型 + * @return 结果 + */ + @Override + public Boolean updateByBo(ContractualTaskTypeBo bo) { + ContractualTaskType update = MapstructUtils.convert(bo, ContractualTaskType.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + * + * @param entity 实体类数据 + */ + private void validEntityBeforeSave(ContractualTaskType entity) { + // 校验合同类型名称是否重复 + if (StringUtils.isNotEmpty(entity.getContractName())) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(ContractualTaskType::getContractName, entity.getContractName()); + if (entity.getId() != null) { + queryWrapper.ne(ContractualTaskType::getId, entity.getId()); + } + if (baseMapper.selectCount(queryWrapper) > 0) { + throw new RuntimeException("合同类型名称已存在"); + } + } + } + + /** + * 批量删除合同类型 + * + * @param ids 需要删除的合同类型主键 + * @return 结果 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if (isValid) { + // 校验是否存在关联的合同审查要点 + for (Long id : ids) { + long count = checklistMapper.selectCountByTypeId(id); + if (count > 0) { + ContractualTaskTypeVo vo = baseMapper.selectVoById(id); + throw new RuntimeException("合同类型[" + vo.getContractName() + "]下存在审查要点,不能删除"); + } + } + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/zaojiaManagement/zaojia-productManagement/src/main/resources/mapper/productManagement/ContractualTaskChecklistMapper.xml b/zaojiaManagement/zaojia-productManagement/src/main/resources/mapper/productManagement/ContractualTaskChecklistMapper.xml index 4ca1bef..fd13bcd 100644 --- a/zaojiaManagement/zaojia-productManagement/src/main/resources/mapper/productManagement/ContractualTaskChecklistMapper.xml +++ b/zaojiaManagement/zaojia-productManagement/src/main/resources/mapper/productManagement/ContractualTaskChecklistMapper.xml @@ -4,36 +4,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + + + + + + + + + + + + + + + + - + select count(1) from contractual_task_checklist + where del_flag = '0' and type_id = #{typeId} - - DELETE FROM contractual_task_checklist WHERE group_id = #{groupId} - - diff --git a/zaojiaManagement/zaojia-productManagement/src/main/resources/mapper/productManagement/ContractualTaskTypeMapper.xml b/zaojiaManagement/zaojia-productManagement/src/main/resources/mapper/productManagement/ContractualTaskTypeMapper.xml new file mode 100644 index 0000000..54c2abe --- /dev/null +++ b/zaojiaManagement/zaojia-productManagement/src/main/resources/mapper/productManagement/ContractualTaskTypeMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + +