作者 张晓杰

合规审查

  1 +package com.ruoyi.compliancemanagement.controller;
  2 +
  3 +import java.util.HashMap;
  4 +import java.util.List;
  5 +import java.util.Arrays;
  6 +import java.util.Map;
  7 +import java.util.concurrent.TimeUnit;
  8 +
  9 +import com.baomidou.mybatisplus.annotation.TableName;
  10 +import com.ruoyi.compliancemanagement.domain.TblContract;
  11 +import com.ruoyi.compliancemanagement.domain.bo.TblBusinessWorkflowBo;
  12 +import com.ruoyi.compliancemanagement.domain.bo.TblContractBo;
  13 +import com.ruoyi.compliancemanagement.service.ITblBusinessWorkflowService;
  14 +import com.ruoyi.workflow.service.IWfProcessService;
  15 +import lombok.RequiredArgsConstructor;
  16 +import javax.servlet.http.HttpServletResponse;
  17 +import javax.validation.constraints.*;
  18 +import cn.dev33.satoken.annotation.SaCheckPermission;
  19 +import org.flowable.engine.runtime.ProcessInstance;
  20 +import org.springframework.transaction.annotation.Transactional;
  21 +import org.springframework.web.bind.annotation.*;
  22 +import org.springframework.validation.annotation.Validated;
  23 +import com.ruoyi.common.annotation.RepeatSubmit;
  24 +import com.ruoyi.common.annotation.Log;
  25 +import com.ruoyi.common.core.controller.BaseController;
  26 +import com.ruoyi.common.core.domain.PageQuery;
  27 +import com.ruoyi.common.core.domain.R;
  28 +import com.ruoyi.common.core.validate.AddGroup;
  29 +import com.ruoyi.common.core.validate.EditGroup;
  30 +import com.ruoyi.common.core.validate.QueryGroup;
  31 +import com.ruoyi.common.enums.BusinessType;
  32 +import com.ruoyi.common.utils.poi.ExcelUtil;
  33 +import com.ruoyi.compliancemanagement.domain.vo.TblComplianceReviewVo;
  34 +import com.ruoyi.compliancemanagement.domain.bo.TblComplianceReviewBo;
  35 +import com.ruoyi.compliancemanagement.service.ITblComplianceReviewService;
  36 +import com.ruoyi.common.core.page.TableDataInfo;
  37 +
  38 +/**
  39 + * 合规审查
  40 + *
  41 + * @author ruoyi
  42 + * @date 2024-07-22
  43 + */
  44 +@Validated
  45 +@RequiredArgsConstructor
  46 +@RestController
  47 +@RequestMapping("/compliancemanagement/complianceReview")
  48 +public class TblComplianceReviewController extends BaseController {
  49 +
  50 + private final ITblComplianceReviewService iTblComplianceReviewService;
  51 + private final IWfProcessService iWfProcessService;
  52 + private final ITblBusinessWorkflowService iTblBusinessWorkflowService;
  53 +
  54 + /**
  55 + * 查询合规审查列表
  56 + */
  57 + @SaCheckPermission("compliancemanagement:complianceReview:list")
  58 + @GetMapping("/list")
  59 + public TableDataInfo<TblComplianceReviewVo> list(TblComplianceReviewBo bo, PageQuery pageQuery) {
  60 + return iTblComplianceReviewService.queryPageList(bo, pageQuery);
  61 + }
  62 +
  63 + /**
  64 + * 导出合规审查列表
  65 + */
  66 + @SaCheckPermission("compliancemanagement:complianceReview:export")
  67 + @Log(title = "合规审查", businessType = BusinessType.EXPORT)
  68 + @PostMapping("/export")
  69 + public void export(TblComplianceReviewBo bo, HttpServletResponse response) {
  70 + List<TblComplianceReviewVo> list = iTblComplianceReviewService.queryList(bo);
  71 + ExcelUtil.exportExcel(list, "合规审查", TblComplianceReviewVo.class, response);
  72 + }
  73 +
  74 + /**
  75 + * 获取合规审查详细信息
  76 + *
  77 + * @param id 主键
  78 + */
  79 + @SaCheckPermission("compliancemanagement:complianceReview:query")
  80 + @GetMapping("/{id}")
  81 + public R<TblComplianceReviewVo> getInfo(@NotNull(message = "主键不能为空")
  82 + @PathVariable Long id) {
  83 + return R.ok(iTblComplianceReviewService.queryById(id));
  84 + }
  85 +
  86 + /**
  87 + * 新增合规审查
  88 + */
  89 +// @SaCheckPermission("compliancemanagement:complianceReview:add")
  90 +// @Log(title = "合规审查", businessType = BusinessType.INSERT)
  91 +// @RepeatSubmit()
  92 +// @PostMapping()
  93 +// public R<Void> add(@Validated(AddGroup.class) @RequestBody TblComplianceReviewBo bo) {
  94 +// return toAjax(iTblComplianceReviewService.insertByBo(bo));
  95 +// }
  96 + @Transactional(rollbackFor = Exception.class)
  97 + @SaCheckPermission("compliancemanagement:complianceReview:addAndStart")
  98 + @Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT)
  99 + @RepeatSubmit()
  100 + @PostMapping()
  101 + public R<Void> addAndStart(
  102 + @Validated(AddGroup.class) @RequestBody TblComplianceReviewBo bo) {
  103 + String procDefId = "Process_1721285503125:1:c39932d2-4808-11ef-bb1d-421c839c76ba";
  104 + iTblComplianceReviewService.insertByBo(bo);
  105 + Long id = bo.getId();
  106 + if (id > 0 || id != null){
  107 + Map<String, Object> variables = new HashMap<>();
  108 + // fromSource用来标识此事项是提交来源是客户端还是移动端
  109 + //合同编号
  110 + variables.put("contractno", bo.getContractno());
  111 + // 合同名称
  112 + variables.put("contractName",bo.getContractName());
  113 + // 合同类型
  114 + variables.put("contractType",Long.valueOf(bo.getContractType()));
  115 + // 生效日期
  116 + variables.put("effectiveDate", bo.getEffectiveDate());
  117 + // 到期日期
  118 + variables.put("expirationDate", bo.getExpirationDate());
  119 + // 甲方
  120 + variables.put("partyA", bo.getPartyA());
  121 + // 甲方链接地址
  122 + variables.put("partyAAddress", bo.getPartyAAddress());
  123 + // 乙方
  124 + variables.put("partyB", bo.getPartyB());
  125 + // 乙方链接地址
  126 + variables.put("partyBAddress", bo.getPartyBAddress());
  127 + // 签订日期
  128 + variables.put("signingDate", bo.getSigningDate());
  129 + // 标的物信息
  130 + variables.put("subjectInformation", bo.getSubjectInformation());
  131 + // 附件
  132 + variables.put("attachments", bo.getAttachments());
  133 + // 启动流程
  134 + ProcessInstance processInstance = iWfProcessService.startProcessByDefId(procDefId, variables);
  135 +
  136 + if(null != processInstance){
  137 + TblBusinessWorkflowBo tblBusinessWorkflowBo = new TblBusinessWorkflowBo();
  138 + tblBusinessWorkflowBo.setBusinessId(id);
  139 + tblBusinessWorkflowBo.setProcInsId(processInstance.getProcessInstanceId());
  140 + tblBusinessWorkflowBo.setProcDefId(procDefId);
  141 + tblBusinessWorkflowBo.setDeployId(processInstance.getDeploymentId());
  142 + TableName table = TblContract.class.getAnnotation(TableName.class);
  143 + tblBusinessWorkflowBo.setTableName(table.value());
  144 + iTblBusinessWorkflowService.insertByBo(tblBusinessWorkflowBo);
  145 + }
  146 + return R.ok("成功");
  147 + }else{
  148 + return R.fail("系统故障!");
  149 + }
  150 +
  151 + }
  152 +
  153 + /**
  154 + * 修改合规审查
  155 + */
  156 + @SaCheckPermission("compliancemanagement:complianceReview:edit")
  157 + @Log(title = "合规审查", businessType = BusinessType.UPDATE)
  158 + @RepeatSubmit()
  159 + @PutMapping()
  160 + public R<Void> edit(@Validated(EditGroup.class) @RequestBody TblComplianceReviewBo bo) {
  161 + return toAjax(iTblComplianceReviewService.updateByBo(bo));
  162 + }
  163 +
  164 + /**
  165 + * 删除合规审查
  166 + *
  167 + * @param ids 主键串
  168 + */
  169 + @SaCheckPermission("compliancemanagement:complianceReview:remove")
  170 + @Log(title = "合规审查", businessType = BusinessType.DELETE)
  171 + @DeleteMapping("/{ids}")
  172 + public R<Void> remove(@NotEmpty(message = "主键不能为空")
  173 + @PathVariable Long[] ids) {
  174 + return toAjax(iTblComplianceReviewService.deleteWithValidByIds(Arrays.asList(ids), true));
  175 + }
  176 +}
  1 +package com.ruoyi.compliancemanagement.domain;
  2 +
  3 +import com.baomidou.mybatisplus.annotation.*;
  4 +import lombok.Data;
  5 +import lombok.EqualsAndHashCode;
  6 +import java.io.Serializable;
  7 +import java.util.Date;
  8 +import java.math.BigDecimal;
  9 +
  10 +import java.util.Date;
  11 +import com.fasterxml.jackson.annotation.JsonFormat;
  12 +import com.ruoyi.common.core.domain.BaseEntity;
  13 +import org.springframework.format.annotation.DateTimeFormat;
  14 +
  15 +/**
  16 + * 合规审查对象 tbl_compliance_review
  17 + *
  18 + * @author ruoyi
  19 + * @date 2024-07-22
  20 + */
  21 +@Data
  22 +@EqualsAndHashCode(callSuper = true)
  23 +@TableName("tbl_compliance_review")
  24 +public class TblComplianceReview extends BaseEntity {
  25 +
  26 + private static final long serialVersionUID=1L;
  27 +
  28 + /**
  29 + *
  30 + */
  31 + @TableId(value = "id")
  32 + private Long id;
  33 + /**
  34 + * 合同编号
  35 + */
  36 + private String contractno;
  37 + /**
  38 + * 合同名称
  39 + */
  40 + private String contractName;
  41 + /**
  42 + * 合同类型
  43 + */
  44 + private String contractType;
  45 + /**
  46 + * 生效日期
  47 + */
  48 + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
  49 + @DateTimeFormat(pattern="yyyy-MM-dd")
  50 + private Date effectiveDate;
  51 + /**
  52 + * 到期日期
  53 + */
  54 + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
  55 + @DateTimeFormat(pattern="yyyy-MM-dd")
  56 + private Date expirationDate;
  57 + /**
  58 + * 甲方
  59 + */
  60 + private String partyA;
  61 + /**
  62 + * 甲方链接地址
  63 + */
  64 + private String partyAAddress;
  65 + /**
  66 + * 乙方
  67 + */
  68 + private String partyB;
  69 + /**
  70 + * 乙方链接地址
  71 + */
  72 + private String partyBAddress;
  73 + /**
  74 + * 签订日期
  75 + */
  76 + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
  77 + @DateTimeFormat(pattern="yyyy-MM-dd")
  78 + private Date signingDate;
  79 + /**
  80 + * 标的物信息
  81 + */
  82 + private String subjectInformation;
  83 + /**
  84 + * 附件
  85 + */
  86 + private String attachments;
  87 + /**
  88 + * 合同状态:0已完成;1进行中;2已终止;3已解除
  89 + */
  90 + private String status;
  91 +
  92 +}
  1 +package com.ruoyi.compliancemanagement.domain.bo;
  2 +
  3 +import com.ruoyi.common.core.validate.AddGroup;
  4 +import com.ruoyi.common.core.validate.EditGroup;
  5 +import lombok.Data;
  6 +import lombok.EqualsAndHashCode;
  7 +import javax.validation.constraints.*;
  8 +
  9 +import java.util.Date;
  10 +
  11 +import java.util.Date;
  12 +import com.fasterxml.jackson.annotation.JsonFormat;
  13 +import com.ruoyi.common.core.domain.BaseEntity;
  14 +import org.springframework.format.annotation.DateTimeFormat;
  15 +
  16 +/**
  17 + * 合规审查业务对象 tbl_compliance_review
  18 + *
  19 + * @author ruoyi
  20 + * @date 2024-07-22
  21 + */
  22 +
  23 +@Data
  24 +@EqualsAndHashCode(callSuper = true)
  25 +public class TblComplianceReviewBo extends BaseEntity {
  26 +
  27 + /**
  28 + *
  29 + */
  30 + @NotNull(message = "不能为空", groups = { EditGroup.class })
  31 + private Long id;
  32 +
  33 + /**
  34 + * 合同编号
  35 + */
  36 + @NotBlank(message = "合同编号不能为空", groups = { AddGroup.class, EditGroup.class })
  37 + private String contractno;
  38 +
  39 + /**
  40 + * 合同名称
  41 + */
  42 + @NotBlank(message = "合同名称不能为空", groups = { AddGroup.class, EditGroup.class })
  43 + private String contractName;
  44 +
  45 + /**
  46 + * 合同类型
  47 + */
  48 + @NotBlank(message = "合同类型不能为空", groups = { AddGroup.class, EditGroup.class })
  49 + private String contractType;
  50 +
  51 + /**
  52 + * 生效日期
  53 + */
  54 + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
  55 + @DateTimeFormat(pattern="yyyy-MM-dd")
  56 + @NotNull(message = "生效日期不能为空", groups = { AddGroup.class, EditGroup.class })
  57 + private Date effectiveDate;
  58 +
  59 + /**
  60 + * 到期日期
  61 + */
  62 + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
  63 + @DateTimeFormat(pattern="yyyy-MM-dd")
  64 + @NotNull(message = "到期日期不能为空", groups = { AddGroup.class, EditGroup.class })
  65 + private Date expirationDate;
  66 +
  67 + /**
  68 + * 甲方
  69 + */
  70 + @NotBlank(message = "甲方不能为空", groups = { AddGroup.class, EditGroup.class })
  71 + private String partyA;
  72 +
  73 + /**
  74 + * 甲方链接地址
  75 + */
  76 + @NotBlank(message = "甲方链接地址不能为空", groups = { AddGroup.class, EditGroup.class })
  77 + private String partyAAddress;
  78 +
  79 + /**
  80 + * 乙方
  81 + */
  82 + @NotBlank(message = "乙方不能为空", groups = { AddGroup.class, EditGroup.class })
  83 + private String partyB;
  84 +
  85 + /**
  86 + * 乙方链接地址
  87 + */
  88 + @NotBlank(message = "乙方链接地址不能为空", groups = { AddGroup.class, EditGroup.class })
  89 + private String partyBAddress;
  90 +
  91 + /**
  92 + * 签订日期
  93 + */
  94 + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
  95 + @DateTimeFormat(pattern="yyyy-MM-dd")
  96 + @NotNull(message = "签订日期不能为空", groups = { AddGroup.class, EditGroup.class })
  97 + private Date signingDate;
  98 +
  99 + /**
  100 + * 标的物信息
  101 + */
  102 + @NotBlank(message = "标的物信息不能为空", groups = { AddGroup.class, EditGroup.class })
  103 + private String subjectInformation;
  104 +
  105 + /**
  106 + * 附件
  107 + */
  108 + @NotBlank(message = "附件不能为空", groups = { AddGroup.class, EditGroup.class })
  109 + private String attachments;
  110 +
  111 + /**
  112 + * 合同状态:0已完成;1进行中;2已终止;3已解除
  113 + */
  114 +// @NotBlank(message = "合同状态:0已完成;1进行中;2已终止;3已解除不能为空", groups = { AddGroup.class, EditGroup.class })
  115 + private String status;
  116 +
  117 +
  118 +}
  1 +package com.ruoyi.compliancemanagement.domain.vo;
  2 +
  3 +import java.util.Date;
  4 +import com.fasterxml.jackson.annotation.JsonFormat;
  5 +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
  6 +import com.alibaba.excel.annotation.ExcelProperty;
  7 +import com.ruoyi.common.annotation.ExcelDictFormat;
  8 +import com.ruoyi.common.convert.ExcelDictConvert;
  9 +import lombok.Data;
  10 +import java.util.Date;
  11 +
  12 +
  13 +
  14 +/**
  15 + * 合规审查视图对象 tbl_compliance_review
  16 + *
  17 + * @author ruoyi
  18 + * @date 2024-07-22
  19 + */
  20 +@Data
  21 +@ExcelIgnoreUnannotated
  22 +public class TblComplianceReviewVo {
  23 +
  24 + private static final long serialVersionUID = 1L;
  25 +
  26 + /**
  27 + *
  28 + */
  29 + @ExcelProperty(value = "")
  30 + private Long id;
  31 +
  32 + /**
  33 + * 合同编号
  34 + */
  35 + @ExcelProperty(value = "合同编号")
  36 + private String contractno;
  37 +
  38 + /**
  39 + * 合同名称
  40 + */
  41 + @ExcelProperty(value = "合同名称")
  42 + private String contractName;
  43 +
  44 + /**
  45 + * 合同类型
  46 + */
  47 + @ExcelProperty(value = "合同类型")
  48 + private String contractType;
  49 +
  50 + /**
  51 + * 生效日期
  52 + */
  53 + @ExcelProperty(value = "生效日期")
  54 + private Date effectiveDate;
  55 +
  56 + /**
  57 + * 到期日期
  58 + */
  59 + @ExcelProperty(value = "到期日期")
  60 + private Date expirationDate;
  61 +
  62 + /**
  63 + * 甲方
  64 + */
  65 + @ExcelProperty(value = "甲方")
  66 + private String partyA;
  67 +
  68 + /**
  69 + * 甲方链接地址
  70 + */
  71 + @ExcelProperty(value = "甲方链接地址")
  72 + private String partyAAddress;
  73 +
  74 + /**
  75 + * 乙方
  76 + */
  77 + @ExcelProperty(value = "乙方")
  78 + private String partyB;
  79 +
  80 + /**
  81 + * 乙方链接地址
  82 + */
  83 + @ExcelProperty(value = "乙方链接地址")
  84 + private String partyBAddress;
  85 +
  86 + /**
  87 + * 签订日期
  88 + */
  89 + @ExcelProperty(value = "签订日期")
  90 + private Date signingDate;
  91 +
  92 + /**
  93 + * 标的物信息
  94 + */
  95 + @ExcelProperty(value = "标的物信息")
  96 + private String subjectInformation;
  97 +
  98 + /**
  99 + * 附件
  100 + */
  101 + @ExcelProperty(value = "附件")
  102 + private String attachments;
  103 +
  104 + /**
  105 + * 合同状态:0已完成;1进行中;2已终止;3已解除
  106 + */
  107 + @ExcelProperty(value = "合同状态:0已完成;1进行中;2已终止;3已解除")
  108 + private String status;
  109 +
  110 +
  111 +}
  1 +package com.ruoyi.compliancemanagement.mapper;
  2 +
  3 +import com.ruoyi.compliancemanagement.domain.TblComplianceReview;
  4 +import com.ruoyi.compliancemanagement.domain.vo.TblComplianceReviewVo;
  5 +import com.ruoyi.common.core.mapper.BaseMapperPlus;
  6 +
  7 +/**
  8 + * 合规审查Mapper接口
  9 + *
  10 + * @author ruoyi
  11 + * @date 2024-07-22
  12 + */
  13 +public interface TblComplianceReviewMapper extends BaseMapperPlus<TblComplianceReviewMapper, TblComplianceReview, TblComplianceReviewVo> {
  14 +
  15 +}
  1 +package com.ruoyi.compliancemanagement.service;
  2 +
  3 +import com.ruoyi.compliancemanagement.domain.TblComplianceReview;
  4 +import com.ruoyi.compliancemanagement.domain.vo.TblComplianceReviewVo;
  5 +import com.ruoyi.compliancemanagement.domain.bo.TblComplianceReviewBo;
  6 +import com.ruoyi.common.core.page.TableDataInfo;
  7 +import com.ruoyi.common.core.domain.PageQuery;
  8 +
  9 +import java.util.Collection;
  10 +import java.util.List;
  11 +
  12 +/**
  13 + * 合规审查Service接口
  14 + *
  15 + * @author ruoyi
  16 + * @date 2024-07-22
  17 + */
  18 +public interface ITblComplianceReviewService {
  19 +
  20 + /**
  21 + * 查询合规审查
  22 + */
  23 + TblComplianceReviewVo queryById(Long id);
  24 +
  25 + /**
  26 + * 查询合规审查列表
  27 + */
  28 + TableDataInfo<TblComplianceReviewVo> queryPageList(TblComplianceReviewBo bo, PageQuery pageQuery);
  29 +
  30 + /**
  31 + * 查询合规审查列表
  32 + */
  33 + List<TblComplianceReviewVo> queryList(TblComplianceReviewBo bo);
  34 +
  35 + /**
  36 + * 新增合规审查
  37 + */
  38 + Boolean insertByBo(TblComplianceReviewBo bo);
  39 +
  40 + /**
  41 + * 修改合规审查
  42 + */
  43 + Boolean updateByBo(TblComplianceReviewBo bo);
  44 +
  45 + /**
  46 + * 校验并批量删除合规审查信息
  47 + */
  48 + Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
  49 +}
  1 +package com.ruoyi.compliancemanagement.service.impl;
  2 +
  3 +import cn.hutool.core.bean.BeanUtil;
  4 +import com.ruoyi.common.utils.StringUtils;
  5 +import com.ruoyi.common.core.page.TableDataInfo;
  6 +import com.ruoyi.common.core.domain.PageQuery;
  7 +import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  8 +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  9 +import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  10 +import lombok.RequiredArgsConstructor;
  11 +import org.springframework.stereotype.Service;
  12 +import com.ruoyi.compliancemanagement.domain.bo.TblComplianceReviewBo;
  13 +import com.ruoyi.compliancemanagement.domain.vo.TblComplianceReviewVo;
  14 +import com.ruoyi.compliancemanagement.domain.TblComplianceReview;
  15 +import com.ruoyi.compliancemanagement.mapper.TblComplianceReviewMapper;
  16 +import com.ruoyi.compliancemanagement.service.ITblComplianceReviewService;
  17 +
  18 +import java.util.List;
  19 +import java.util.Map;
  20 +import java.util.Collection;
  21 +
  22 +/**
  23 + * 合规审查Service业务层处理
  24 + *
  25 + * @author ruoyi
  26 + * @date 2024-07-22
  27 + */
  28 +@RequiredArgsConstructor
  29 +@Service
  30 +public class TblComplianceReviewServiceImpl implements ITblComplianceReviewService {
  31 +
  32 + private final TblComplianceReviewMapper baseMapper;
  33 +
  34 + /**
  35 + * 查询合规审查
  36 + */
  37 + @Override
  38 + public TblComplianceReviewVo queryById(Long id){
  39 + return baseMapper.selectVoById(id);
  40 + }
  41 +
  42 + /**
  43 + * 查询合规审查列表
  44 + */
  45 + @Override
  46 + public TableDataInfo<TblComplianceReviewVo> queryPageList(TblComplianceReviewBo bo, PageQuery pageQuery) {
  47 + LambdaQueryWrapper<TblComplianceReview> lqw = buildQueryWrapper(bo);
  48 + Page<TblComplianceReviewVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
  49 + return TableDataInfo.build(result);
  50 + }
  51 +
  52 + /**
  53 + * 查询合规审查列表
  54 + */
  55 + @Override
  56 + public List<TblComplianceReviewVo> queryList(TblComplianceReviewBo bo) {
  57 + LambdaQueryWrapper<TblComplianceReview> lqw = buildQueryWrapper(bo);
  58 + return baseMapper.selectVoList(lqw);
  59 + }
  60 +
  61 + private LambdaQueryWrapper<TblComplianceReview> buildQueryWrapper(TblComplianceReviewBo bo) {
  62 + Map<String, Object> params = bo.getParams();
  63 + LambdaQueryWrapper<TblComplianceReview> lqw = Wrappers.lambdaQuery();
  64 + lqw.eq(StringUtils.isNotBlank(bo.getContractno()), TblComplianceReview::getContractno, bo.getContractno());
  65 + lqw.like(StringUtils.isNotBlank(bo.getContractName()), TblComplianceReview::getContractName, bo.getContractName());
  66 + lqw.eq(StringUtils.isNotBlank(bo.getContractType()), TblComplianceReview::getContractType, bo.getContractType());
  67 + lqw.eq(bo.getEffectiveDate() != null, TblComplianceReview::getEffectiveDate, bo.getEffectiveDate());
  68 + lqw.eq(bo.getExpirationDate() != null, TblComplianceReview::getExpirationDate, bo.getExpirationDate());
  69 + lqw.eq(StringUtils.isNotBlank(bo.getPartyA()), TblComplianceReview::getPartyA, bo.getPartyA());
  70 + lqw.eq(StringUtils.isNotBlank(bo.getPartyAAddress()), TblComplianceReview::getPartyAAddress, bo.getPartyAAddress());
  71 + lqw.eq(StringUtils.isNotBlank(bo.getPartyB()), TblComplianceReview::getPartyB, bo.getPartyB());
  72 + lqw.eq(StringUtils.isNotBlank(bo.getPartyBAddress()), TblComplianceReview::getPartyBAddress, bo.getPartyBAddress());
  73 + lqw.eq(bo.getSigningDate() != null, TblComplianceReview::getSigningDate, bo.getSigningDate());
  74 + lqw.eq(StringUtils.isNotBlank(bo.getSubjectInformation()), TblComplianceReview::getSubjectInformation, bo.getSubjectInformation());
  75 + lqw.eq(StringUtils.isNotBlank(bo.getAttachments()), TblComplianceReview::getAttachments, bo.getAttachments());
  76 + lqw.eq(StringUtils.isNotBlank(bo.getStatus()), TblComplianceReview::getStatus, bo.getStatus());
  77 + return lqw;
  78 + }
  79 +
  80 + /**
  81 + * 新增合规审查
  82 + */
  83 + @Override
  84 + public Boolean insertByBo(TblComplianceReviewBo bo) {
  85 + TblComplianceReview add = BeanUtil.toBean(bo, TblComplianceReview.class);
  86 + validEntityBeforeSave(add);
  87 + boolean flag = baseMapper.insert(add) > 0;
  88 + if (flag) {
  89 + bo.setId(add.getId());
  90 + }
  91 + return flag;
  92 + }
  93 +
  94 + /**
  95 + * 修改合规审查
  96 + */
  97 + @Override
  98 + public Boolean updateByBo(TblComplianceReviewBo bo) {
  99 + TblComplianceReview update = BeanUtil.toBean(bo, TblComplianceReview.class);
  100 + validEntityBeforeSave(update);
  101 + return baseMapper.updateById(update) > 0;
  102 + }
  103 +
  104 + /**
  105 + * 保存前的数据校验
  106 + */
  107 + private void validEntityBeforeSave(TblComplianceReview entity){
  108 + //TODO 做一些数据校验,如唯一约束
  109 + }
  110 +
  111 + /**
  112 + * 批量删除合规审查
  113 + */
  114 + @Override
  115 + public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
  116 + if(isValid){
  117 + //TODO 做一些业务上的校验,判断是否需要校验
  118 + }
  119 + return baseMapper.deleteBatchIds(ids) > 0;
  120 + }
  121 +}
  1 +<?xml version="1.0" encoding="UTF-8" ?>
  2 +<!DOCTYPE mapper
  3 +PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4 +"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5 +<mapper namespace="com.ruoyi.compliancemanagement.mapper.TblComplianceReviewMapper">
  6 +
  7 + <resultMap type="com.ruoyi.compliancemanagement.domain.TblComplianceReview" id="TblComplianceReviewResult">
  8 + <result property="id" column="id"/>
  9 + <result property="contractno" column="contractno"/>
  10 + <result property="contractName" column="contract_name"/>
  11 + <result property="contractType" column="contract_type"/>
  12 + <result property="effectiveDate" column="effective_date"/>
  13 + <result property="expirationDate" column="expiration_date"/>
  14 + <result property="partyA" column="party_a"/>
  15 + <result property="partyAAddress" column="party_a_address"/>
  16 + <result property="partyB" column="party_b"/>
  17 + <result property="partyBAddress" column="party_b_address"/>
  18 + <result property="signingDate" column="signing_date"/>
  19 + <result property="subjectInformation" column="subject_information"/>
  20 + <result property="attachments" column="attachments"/>
  21 + <result property="status" column="status"/>
  22 + <result property="createBy" column="create_by"/>
  23 + <result property="createTime" column="create_time"/>
  24 + <result property="updateBy" column="update_by"/>
  25 + <result property="updateTime" column="update_time"/>
  26 + </resultMap>
  27 +
  28 +
  29 +</mapper>