Browse Source

优化合同审核

ai_300
zhouhaibin 2 weeks ago
parent
commit
deedb7b4be
  1. 57
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/ContractualTaskChecklistController.java
  2. 105
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/controller/ContractualTaskTypeController.java
  3. 25
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/ContractualTaskChecklist.java
  4. 63
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/ContractualTaskType.java
  5. 37
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/ContractualTaskChecklistBo.java
  6. 50
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/ContractualTaskTypeBo.java
  7. 49
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/ContractualTaskChecklistVo.java
  8. 72
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/vo/ContractualTaskTypeVo.java
  9. 24
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/ContractualTaskChecklistMapper.java
  10. 15
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/mapper/ContractualTaskTypeMapper.java
  11. 34
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IContractualTaskChecklistService.java
  12. 68
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IContractualTaskTypeService.java
  13. 180
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/ContractualTaskChecklistServiceImpl.java
  14. 150
      zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/ContractualTaskTypeServiceImpl.java
  15. 49
      zaojiaManagement/zaojia-productManagement/src/main/resources/mapper/productManagement/ContractualTaskChecklistMapper.xml
  16. 23
      zaojiaManagement/zaojia-productManagement/src/main/resources/mapper/productManagement/ContractualTaskTypeMapper.xml

57
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; import org.dromara.common.mybatis.core.page.TableDataInfo;
/** /**
* 合同任务审查清单 * 合同任务审查要点表
* *
* @author Lion Li * @author Lion Li
* @date 2025-05-16 * @date 2025-05-23
*/ */
@Validated @Validated
@RequiredArgsConstructor @RequiredArgsConstructor
@ -37,34 +37,27 @@ public class ContractualTaskChecklistController extends BaseController {
private final IContractualTaskChecklistService contractualTaskChecklistService; private final IContractualTaskChecklistService contractualTaskChecklistService;
/** /**
* 查询合同任务审查清单列表 * 查询合同任务审查要点表列表
*/ */
@SaCheckPermission("productManagement:ContractualTaskChecklist:list") @SaCheckPermission("productManagement:ContractualTaskChecklist:list")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo<ContractualTaskChecklistVo> list(ContractualTaskChecklistBo bo, PageQuery pageQuery) {
return contractualTaskChecklistService.queryPageList(bo, pageQuery);
}
/**
* 查询合同任务审查清单列表
*/
@SaCheckPermission("productManagement:ContractualTaskChecklist:list")
@GetMapping("/queryList")
public R<List<ContractualTaskChecklistVo>> list(ContractualTaskChecklistBo bo) { public R<List<ContractualTaskChecklistVo>> list(ContractualTaskChecklistBo bo) {
return R.ok(contractualTaskChecklistService.queryList(bo)); return R.ok(contractualTaskChecklistService.queryList(bo));
} }
/** /**
* 导出合同任务审查清单列表 * 导出合同任务审查要点表列表
*/ */
@SaCheckPermission("productManagement:ContractualTaskChecklist:export") @SaCheckPermission("productManagement:ContractualTaskChecklist:export")
@Log(title = "合同任务审查清单", businessType = BusinessType.EXPORT) @Log(title = "合同任务审查要点表", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
public void export(ContractualTaskChecklistBo bo, HttpServletResponse response) { public void export(ContractualTaskChecklistBo bo, HttpServletResponse response) {
List<ContractualTaskChecklistVo> list = contractualTaskChecklistService.queryList(bo); List<ContractualTaskChecklistVo> list = contractualTaskChecklistService.queryList(bo);
ExcelUtil.exportExcel(list, "合同任务审查清单", ContractualTaskChecklistVo.class, response); ExcelUtil.exportExcel(list, "合同任务审查要点表", ContractualTaskChecklistVo.class, response);
} }
/** /**
* 获取合同任务审查清单详细信息 * 获取合同任务审查要点表详细信息
* *
* @param id 主键 * @param id 主键
*/ */
@ -74,49 +67,39 @@ public class ContractualTaskChecklistController extends BaseController {
@PathVariable Long id) { @PathVariable Long id) {
return R.ok(contractualTaskChecklistService.queryById(id)); return R.ok(contractualTaskChecklistService.queryById(id));
} }
/** /**
* 获取合同任务审查清单详细信息 * 新增合同任务审查要点表
*
* @param id 主键
*/
@SaCheckPermission("productManagement:ContractualTaskChecklist:query")
@GetMapping("/queryByGroupId/{id}")
public R<List<ContractualTaskChecklistVo>> queryByGroupId(@NotNull(message = "主键不能为空")
@PathVariable String id) {
return R.ok(contractualTaskChecklistService.queryByGroupId(id));
}
/**
* 新增合同任务审查清单
*/ */
@SaCheckPermission("productManagement:ContractualTaskChecklist:add") @SaCheckPermission("productManagement:ContractualTaskChecklist:add")
@Log(title = "合同任务审查清单", businessType = BusinessType.INSERT) @Log(title = "合同任务审查要点表", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody List<ContractualTaskChecklistBo> boList) { public R<Void> add(@Validated(AddGroup.class) @RequestBody ContractualTaskChecklistBo bo) {
return toAjax(contractualTaskChecklistService.insertByBoList(boList)); return toAjax(contractualTaskChecklistService.insertByBo(bo));
} }
/** /**
* 修改合同任务审查清单 * 修改合同任务审查要点表
*/ */
@SaCheckPermission("productManagement:ContractualTaskChecklist:edit") @SaCheckPermission("productManagement:ContractualTaskChecklist:edit")
@Log(title = "合同任务审查清单", businessType = BusinessType.UPDATE) @Log(title = "合同任务审查要点表", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping() @PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody List<ContractualTaskChecklistBo> boList) { public R<Void> edit(@Validated(EditGroup.class) @RequestBody ContractualTaskChecklistBo bo) {
return toAjax(contractualTaskChecklistService.updateByBoList(boList)); return toAjax(contractualTaskChecklistService.updateByBo(bo));
} }
/** /**
* 删除合同任务审查清单 * 删除合同任务审查要点表
* *
* @param ids 主键串 * @param ids 主键串
*/ */
@SaCheckPermission("productManagement:ContractualTaskChecklist:remove") @SaCheckPermission("productManagement:ContractualTaskChecklist:remove")
@Log(title = "合同任务审查清单", businessType = BusinessType.DELETE) @Log(title = "合同任务审查要点表", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}") @DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空") public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable String[] ids) { @PathVariable Long[] ids) {
return toAjax(contractualTaskChecklistService.deleteWithValidByIds(List.of(ids), true)); return toAjax(contractualTaskChecklistService.deleteWithValidByIds(List.of(ids), true));
} }
} }

105
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<ContractualTaskTypeVo>> 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<ContractualTaskTypeVo> list = contractualTaskTypeService.queryList(bo);
ExcelUtil.exportExcel(list, "合同类型", ContractualTaskTypeVo.class, response);
}
/**
* 获取合同类型详细信息
*
* @param id 主键
*/
@SaCheckPermission("productManagement:ContractualTaskType:query")
@GetMapping("/{id}")
public R<ContractualTaskTypeVo> 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<Void> 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<Void> 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<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(contractualTaskTypeService.deleteWithValidByIds(List.of(ids), true));
}
}

25
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/ContractualTaskChecklist.java

@ -8,10 +8,10 @@ import lombok.EqualsAndHashCode;
import java.io.Serial; import java.io.Serial;
/** /**
* 合同任务审查清单对象 contractual_task_checklist * 合同任务审查要点表对象 contractual_task_checklist
* *
* @author Lion Li * @author Lion Li
* @date 2025-05-16 * @date 2025-05-23
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ -28,20 +28,19 @@ public class ContractualTaskChecklist extends TenantEntity {
private Long id; private Long id;
/** /**
* 清单名称 * 风险等级
*/ */
private String name; private String riskLevel;
/** /**
* 清单项内容 * 要点名称
*/ */
private String checklistItem; private String title;
/** /**
* 排序 * 排序
*/ */
private Long sortOrder; private Long sortOrder;
private String checklistItemDesc;
/** /**
* *
@ -55,5 +54,15 @@ public class ContractualTaskChecklist extends TenantEntity {
@Version @Version
private Long version; private Long version;
private String groupId; /**
* 合同类型id
*/
private String typeId;
/**
* 要点描述
*/
private String description;
} }

63
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;
}

37
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/domain/bo/ContractualTaskChecklistBo.java

@ -1,6 +1,5 @@
package org.dromara.productManagement.domain.bo; package org.dromara.productManagement.domain.bo;
import org.dromara.productManagement.domain.ContractualTaskChecklist;
import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup; import org.dromara.common.core.validate.EditGroup;
@ -8,12 +7,13 @@ import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*; import jakarta.validation.constraints.*;
import org.dromara.productManagement.domain.ContractualTaskChecklist;
/** /**
* 合同任务审查清单业务对象 contractual_task_checklist * 合同任务审查要点表业务对象
* *
* @author Lion Li * @author Lion Li
* @date 2025-05-16 * @date 2025-05-23
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@ -23,21 +23,36 @@ public class ContractualTaskChecklistBo extends BaseEntity {
/** /**
* id * id
*/ */
@NotNull(message = "id不能为空", groups = { EditGroup.class })
private Long id; private Long id;
/** /**
* 清单名称 * 风险等级
*/
@NotBlank(message = "风险等级不能为空", groups = { AddGroup.class, EditGroup.class })
private String riskLevel;
/**
* 要点名称
*/ */
@NotBlank(message = "清单名称不能为空", groups = { AddGroup.class, EditGroup.class }) @NotBlank(message = "要点名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String name; private String title;
/** /**
* 清单项内容 * 排序
*/ */
@NotBlank(message = "清单项内容不能为空", groups = { AddGroup.class, EditGroup.class }) private Long sortOrder;
private String checklistItem;
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;
} }

50
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;
}

49
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 * @author Lion Li
* @date 2025-05-16 * @date 2025-05-23
*/ */
@Data @Data
@ExcelIgnoreUnannotated @ExcelIgnoreUnannotated
@ -35,18 +35,45 @@ public class ContractualTaskChecklistVo implements Serializable {
private Long id; private Long id;
/** /**
* 清单名称 * 风险等级
*/ */
@ExcelProperty(value = "清单名称") @ExcelProperty(value = "风险等级")
private String name; private String riskLevel;
/** /**
* 清单项内容 * 要点名称
*/ */
@ExcelProperty(value = "清单项内容") @ExcelProperty(value = "要点名称")
private String checklistItem; private String title;
private String checklistItemDesc;
private int checklistItemNum; /**
private String groupId; * 排序
*/
@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;
} }

72
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;
}

24
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.ContractualTaskChecklist;
import org.dromara.productManagement.domain.vo.ContractualTaskChecklistVo; import org.dromara.productManagement.domain.vo.ContractualTaskChecklistVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* 合同任务审查清单Mapper接口 * 合同任务审查要点表Mapper接口
* *
* @author Lion Li * @author Lion Li
* @date 2025-05-16 * @date 2025-05-23
*/ */
public interface ContractualTaskChecklistMapper extends BaseMapperPlus<ContractualTaskChecklist, ContractualTaskChecklistVo> { public interface ContractualTaskChecklistMapper extends BaseMapperPlus<ContractualTaskChecklist, ContractualTaskChecklistVo> {
/** /**
* 按name和groupId分组查询 * 根据合同类型ID查询审查要点数量
*
* @param typeId 合同类型ID
* @return 审查要点数量
*/ */
Page<ContractualTaskChecklistVo> selectGroupPage(Page<ContractualTaskChecklistVo> page, String name); long selectCountByTypeId(@Param("typeId") Long typeId);
/**
* 真实删除数据
*/
int realDelete(String groupId);
/**
* 按name和groupId分组查询列表
*/
List<ContractualTaskChecklistVo> selectGroupList(String name);
} }

15
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<ContractualTaskType, ContractualTaskTypeVo> {
}

34
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/IContractualTaskChecklistService.java

@ -9,62 +9,60 @@ import java.util.Collection;
import java.util.List; import java.util.List;
/** /**
* 合同任务审查清单Service接口 * 合同任务审查要点表Service接口
* *
* @author Lion Li * @author Lion Li
* @date 2025-05-16 * @date 2025-05-23
*/ */
public interface IContractualTaskChecklistService { public interface IContractualTaskChecklistService {
/** /**
* 查询合同任务审查清单 * 查询合同任务审查要点表
* *
* @param id 主键 * @param id 主键
* @return 合同任务审查清单 * @return 合同任务审查要点表
*/ */
ContractualTaskChecklistVo queryById(Long id); ContractualTaskChecklistVo queryById(Long id);
/** /**
* 分页查询合同任务审查清单列表 * 分页查询合同任务审查要点表列表
* *
* @param bo 查询条件 * @param bo 查询条件
* @param pageQuery 分页参数 * @param pageQuery 分页参数
* @return 合同任务审查清单分页列表 * @return 合同任务审查要点表分页列表
*/ */
TableDataInfo<ContractualTaskChecklistVo> queryPageList(ContractualTaskChecklistBo bo, PageQuery pageQuery); TableDataInfo<ContractualTaskChecklistVo> queryPageList(ContractualTaskChecklistBo bo, PageQuery pageQuery);
/** /**
* 查询符合条件的合同任务审查清单列表 * 查询符合条件的合同任务审查要点表列表
* *
* @param bo 查询条件 * @param bo 查询条件
* @return 合同任务审查清单列表 * @return 合同任务审查要点表列表
*/ */
List<ContractualTaskChecklistVo> queryList(ContractualTaskChecklistBo bo); List<ContractualTaskChecklistVo> queryList(ContractualTaskChecklistBo bo);
/** /**
* 批量新增合同任务审查清单 * 新增合同任务审查要点表
* *
* @param boList 合同任务审查清单列 * @param bo 合同任务审查要点
* @return 是否新增成功 * @return 是否新增成功
*/ */
Boolean insertByBoList(List<ContractualTaskChecklistBo> boList); Boolean insertByBo(ContractualTaskChecklistBo bo);
/** /**
* 批量修改合同任务审查清单 * 修改合同任务审查要点表
* *
* @param boList 合同任务审查清单列 * @param bo 合同任务审查要点
* @return 是否修改成功 * @return 是否修改成功
*/ */
Boolean updateByBoList(List<ContractualTaskChecklistBo> boList); Boolean updateByBo(ContractualTaskChecklistBo bo);
/** /**
* 校验并批量删除合同任务审查清单信息 * 校验并批量删除合同任务审查要点表信息
* *
* @param ids 待删除的主键集合 * @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验 * @param isValid 是否进行有效性校验
* @return 是否删除成功 * @return 是否删除成功
*/ */
Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid); Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
List<ContractualTaskChecklistVo> queryByGroupId(String id);
} }

68
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<ContractualTaskTypeVo> queryPageList(ContractualTaskTypeBo bo, PageQuery pageQuery);
/**
* 查询符合条件的合同类型列表
*
* @param bo 查询条件
* @return 合同类型列表
*/
List<ContractualTaskTypeVo> 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<Long> ids, Boolean isValid);
}

180
zaojiaManagement/zaojia-productManagement/src/main/java/org/dromara/productManagement/service/impl/ContractualTaskChecklistServiceImpl.java

@ -1,34 +1,29 @@
package org.dromara.productManagement.service.impl; 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.MapstructUtils;
import org.dromara.common.core.utils.StringUtils; 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.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; 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.bo.ContractualTaskChecklistBo;
import org.dromara.productManagement.domain.vo.ContractualTaskChecklistVo; import org.dromara.productManagement.domain.vo.ContractualTaskChecklistVo;
import org.dromara.productManagement.domain.ContractualTaskChecklist; import org.dromara.productManagement.domain.ContractualTaskChecklist;
import org.dromara.productManagement.mapper.ContractualTaskChecklistMapper; import org.dromara.productManagement.mapper.ContractualTaskChecklistMapper;
import org.dromara.productManagement.service.IContractualTaskChecklistService; 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 * @author Lion Li
* @date 2025-05-16 * @date 2025-05-23
*/ */
@RequiredArgsConstructor @RequiredArgsConstructor
@Service @Service
@ -37,146 +32,111 @@ public class ContractualTaskChecklistServiceImpl implements IContractualTaskChec
private final ContractualTaskChecklistMapper baseMapper; private final ContractualTaskChecklistMapper baseMapper;
/** /**
* 查询合同任务审查清单 * 查询合同任务审查要点表
* *
* @param id 主键 * @param id 合同任务审查要点表主键
* @return 合同任务审查清单 * @return 合同任务审查要点表
*/ */
@Override @Override
public ContractualTaskChecklistVo queryById(Long id){ public ContractualTaskChecklistVo queryById(Long id) {
return baseMapper.selectVoById(id); return baseMapper.selectVoById(id);
} }
/** /**
* 分页查询合同任务审查清单列表 * 查询合同任务审查要点表列表
* *
* @param bo 查询条件 * @param bo 合同任务审查要点表
* @param pageQuery 分页参数 * @return 合同任务审查要点表
* @return 合同任务审查清单分页列表
*/ */
@Override @Override
public TableDataInfo<ContractualTaskChecklistVo> queryPageList(ContractualTaskChecklistBo bo, PageQuery pageQuery) { public TableDataInfo<ContractualTaskChecklistVo> queryPageList(ContractualTaskChecklistBo bo, PageQuery pageQuery) {
Page<ContractualTaskChecklistVo> page = baseMapper.selectGroupPage(pageQuery.build(), bo.getName()); LambdaQueryWrapper<ContractualTaskChecklist> lqw = buildQueryWrapper(bo);
return TableDataInfo.build(page); Page<ContractualTaskChecklistVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
} }
/** /**
* 查询符合条件的合同任务审查清单列表 * 查询合同任务审查要点表列表
* *
* @param bo 查询条件 * @param bo 合同任务审查要点表
* @return 合同任务审查清单列 * @return 合同任务审查要点
*/ */
@Override @Override
public List<ContractualTaskChecklistVo> queryList(ContractualTaskChecklistBo bo) { public List<ContractualTaskChecklistVo> queryList(ContractualTaskChecklistBo bo) {
return baseMapper.selectGroupList(bo.getName()); LambdaQueryWrapper<ContractualTaskChecklist> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
} }
private LambdaQueryWrapper<ContractualTaskChecklist> buildQueryWrapper(ContractualTaskChecklistBo bo) { private LambdaQueryWrapper<ContractualTaskChecklist> buildQueryWrapper(ContractualTaskChecklistBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<ContractualTaskChecklist> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<ContractualTaskChecklist> lqw = Wrappers.lambdaQuery();
lqw.like(StringUtils.isNotBlank(bo.getName()), ContractualTaskChecklist::getName, bo.getName()); lqw.eq(StringUtils.isNotBlank(bo.getRiskLevel()), ContractualTaskChecklist::getRiskLevel, bo.getRiskLevel());
Long userId = LoginHelper.getUserId(); lqw.like(StringUtils.isNotBlank(bo.getTitle()), ContractualTaskChecklist::getTitle, bo.getTitle());
if(!StpUtil.hasRole("superadmin")){ lqw.eq(bo.getSortOrder() != null, ContractualTaskChecklist::getSortOrder, bo.getSortOrder());
lqw.eq(userId != null, ContractualTaskChecklist::getCreateBy, userId); 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; 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<ContractualTaskChecklist> lqw = Wrappers.lambdaQuery();
lqw.eq(ContractualTaskChecklist::getName, entity.getName());
List<ContractualTaskChecklist> list = baseMapper.selectList(lqw);
if(list.size() > 0){
throw new ServiceException("清单名称不能重复");
}
}
/** /**
* 批量新增合同任务审查清单 * 新增合同任务审查要点表
*
* @param bo 合同任务审查要点表
* @return 结果
*/ */
@Override @Override
public Boolean insertByBoList(List<ContractualTaskChecklistBo> boList) { public Boolean insertByBo(ContractualTaskChecklistBo bo) {
List<ContractualTaskChecklist> list = MapstructUtils.convert(boList, ContractualTaskChecklist.class); ContractualTaskChecklist add = MapstructUtils.convert(bo, ContractualTaskChecklist.class);
String uuid = UUID.randomUUID().toString().replaceAll("-", ""); validEntityBeforeSave(add);
validEntityBeforeSave(list.get(0)); boolean flag = baseMapper.insert(add) > 0;
for (ContractualTaskChecklist contractualTaskChecklist : list) { if (flag) {
contractualTaskChecklist.setGroupId(uuid); bo.setId(add.getId());
baseMapper.insert(contractualTaskChecklist);
} }
return true; return flag;
} }
/** /**
* 批量修改合同任务审查清单 * 修改合同任务审查要点表
*
* @param bo 合同任务审查要点表
* @return 结果
*/ */
@Override @Override
public Boolean updateByBoList(List<ContractualTaskChecklistBo> boList) { public Boolean updateByBo(ContractualTaskChecklistBo bo) {
baseMapper.realDelete(boList.get(0).getGroupId()); ContractualTaskChecklist update = MapstructUtils.convert(bo, ContractualTaskChecklist.class);
insertByBoList(boList); validEntityBeforeSave(update);
return true; return baseMapper.updateById(update) > 0;
} }
/** /**
* 校验并批量删除合同任务审查清单信息 * 保存前的数据校验
* *
* @param ids 待删除的主键集合 * @param entity 实体类数据
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/ */
@Override private void validEntityBeforeSave(ContractualTaskChecklist entity) {
public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) { // 校验审查要点名称是否重复
if(isValid){ if (StringUtils.isNotEmpty(entity.getTitle()) && StringUtils.isNotEmpty(entity.getTypeId())) {
//TODO 做一些业务上的校验,判断是否需要校验 LambdaQueryWrapper<ContractualTaskChecklist> 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 @Override
public List<ContractualTaskChecklistVo> queryByGroupId(String id) { public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
LambdaQueryWrapper<ContractualTaskChecklist> lqw = Wrappers.lambdaQuery(); return baseMapper.deleteBatchIds(ids) > 0;
lqw.eq(ContractualTaskChecklist::getGroupId, id);
return baseMapper.selectVoList(lqw);
} }
} }

150
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<ContractualTaskTypeVo> queryPageList(ContractualTaskTypeBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<ContractualTaskType> lqw = buildQueryWrapper(bo);
Page<ContractualTaskTypeVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询合同类型列表
*
* @param bo 合同类型
* @return 合同类型
*/
@Override
public List<ContractualTaskTypeVo> queryList(ContractualTaskTypeBo bo) {
LambdaQueryWrapper<ContractualTaskType> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<ContractualTaskType> buildQueryWrapper(ContractualTaskTypeBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<ContractualTaskType> 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<ContractualTaskType> 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<Long> 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;
}
}

49
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"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.productManagement.mapper.ContractualTaskChecklistMapper"> <mapper namespace="org.dromara.productManagement.mapper.ContractualTaskChecklistMapper">
<select id="selectGroupPage" resultType="org.dromara.productManagement.domain.vo.ContractualTaskChecklistVo"> <resultMap type="org.dromara.productManagement.domain.ContractualTaskChecklist" id="ContractualTaskChecklistResult">
SELECT <id property="id" column="id" />
name, <result property="riskLevel" column="risk_level" />
group_id as groupId, <result property="title" column="title" />
COUNT(*) as checklistItemNum <result property="sortOrder" column="sort_order" />
FROM contractual_task_checklist <result property="delFlag" column="del_flag" />
<where> <result property="version" column="version" />
<if test="name != null and name != ''"> <result property="tenantId" column="tenant_id" />
AND name LIKE CONCAT('%', #{name}, '%') <result property="createDept" column="create_dept" />
</if> <result property="createBy" column="create_by" />
</where> <result property="createTime" column="create_time" />
GROUP BY name, group_id <result property="updateBy" column="update_by" />
</select> <result property="updateTime" column="update_time" />
<result property="typeId" column="type_id" />
<result property="description" column="description" />
</resultMap>
<select id="selectGroupList" resultType="org.dromara.productManagement.domain.vo.ContractualTaskChecklistVo"> <!-- 查询指定合同类型下的审查要点数量 -->
SELECT <select id="selectCountByTypeId" resultType="long">
name, select count(1) from contractual_task_checklist
group_id as groupId, where del_flag = '0' and type_id = #{typeId}
COUNT(*) as checklistItemNum
FROM contractual_task_checklist
<where>
<if test="name != null and name != ''">
AND name LIKE CONCAT('%', #{name}, '%')
</if>
</where>
GROUP BY name, group_id
</select> </select>
<delete id="realDelete">
DELETE FROM contractual_task_checklist WHERE group_id = #{groupId}
</delete>
</mapper> </mapper>

23
zaojiaManagement/zaojia-productManagement/src/main/resources/mapper/productManagement/ContractualTaskTypeMapper.xml

@ -0,0 +1,23 @@
<?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="org.dromara.productManagement.mapper.ContractualTaskTypeMapper">
<resultMap type="org.dromara.productManagement.domain.ContractualTaskType" id="ContractualTaskTypeResult">
<id property="id" column="id" />
<result property="contractName" column="contract_name" />
<result property="sort" column="sort" />
<result property="status" column="status" />
<result property="delFlag" column="del_flag" />
<result property="version" column="version" />
<result property="tenantId" column="tenant_id" />
<result property="createDept" column="create_dept" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="remark" column="remark" />
</resultMap>
</mapper>
Loading…
Cancel
Save