From ab0682fb16c1cd1d1f1b054184296bbaae158d2b Mon Sep 17 00:00:00 2001
From: “djh” <“3298565835@qq.com”>
Date: Mon, 22 Dec 2025 16:45:44 +0800
Subject: [PATCH] 修改合同评审

---
 multi-system/src/main/resources/mapper/system/ContractReviewMessMapper.xml                  |   64 ++++++----
 multi-system/src/main/java/com/gkhy/exam/system/domain/ContractReview.java                  |   10 +
 multi-system/src/main/resources/mapper/system/ContractReviewMapper.xml                      |   48 +++++++
 multi-system/src/main/java/com/gkhy/exam/system/domain/ContractReviewMess.java              |   27 +++
 multi-system/src/main/java/com/gkhy/exam/system/mapper/ContractReviewMessMapper.java        |    7 
 multi-system/src/main/resources/mapper/system/ItemReviewUserMapper.xml                      |    1 
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/ContractReviewServiceImpl.java |   88 +++++++++-----
 multi-system/src/main/java/com/gkhy/exam/system/service/ContractReviewService.java          |    5 
 multi-system/src/main/java/com/gkhy/exam/system/mapper/ContractReviewMapper.java            |    7 +
 multi-admin/src/main/java/com/gkhy/exam/admin/controller/app/AppItemReviewController.java   |   30 +++++
 multi-system/src/main/java/com/gkhy/exam/system/domain/vo/ContractReviewVo.java             |   14 ++
 multi-system/src/main/resources/mapper/system/MemoMapper.xml                                |   17 ++
 multi-system/src/main/java/com/gkhy/exam/system/domain/req/ContractReviewReq.java           |   11 +
 13 files changed, 264 insertions(+), 65 deletions(-)

diff --git a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/app/AppItemReviewController.java b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/app/AppItemReviewController.java
index 4022a72..2d1a8ae 100644
--- a/multi-admin/src/main/java/com/gkhy/exam/admin/controller/app/AppItemReviewController.java
+++ b/multi-admin/src/main/java/com/gkhy/exam/admin/controller/app/AppItemReviewController.java
@@ -1,9 +1,12 @@
 package com.gkhy.exam.admin.controller.app;
 
 import com.gkhy.exam.common.api.CommonResult;
+import com.gkhy.exam.system.domain.ContractReviewMess;
 import com.gkhy.exam.system.domain.ItemReviewUser;
 import com.gkhy.exam.system.domain.Proclaim;
 import com.gkhy.exam.system.domain.UseSealApplyFlow;
+import com.gkhy.exam.system.domain.req.ContractReviewReq;
+import com.gkhy.exam.system.service.ContractReviewService;
 import com.gkhy.exam.system.service.ItemReviewService;
 import com.gkhy.exam.system.service.ProclaimService;
 import com.gkhy.exam.system.service.useSealApply.UseSealApplyService;
@@ -25,6 +28,9 @@
 
     @Autowired
     private ProclaimService proclaimService;
+
+    @Autowired
+    private ContractReviewService contractReviewService;
 
 
 
@@ -98,5 +104,29 @@
         return proclaimService.approveProclaim(proclaim);
     }
 
+    /**
+     * 合同评审待审批
+     * @param userId
+     * @return
+     */
+    @ApiOperation(value = "待审批列表")
+    @GetMapping("contract/List")
+    public CommonResult contractList(@RequestParam("userId") Integer userId){
+        return contractReviewService.contractList(userId);
+    }
+
+
+    /**
+     * 合同评审审批
+     * @param contractReviewReq
+     * @return
+     */
+    @ApiOperation(value = "审批")
+    @PostMapping("contract/check")
+    public CommonResult contractcheck(@RequestBody ContractReviewReq contractReviewReq){
+        return contractReviewService.contractcheck(contractReviewReq);
+    }
+
+
 
 }
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/ContractReview.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/ContractReview.java
index 8fe4a4c..cc43f75 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/domain/ContractReview.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/ContractReview.java
@@ -128,6 +128,16 @@
     @TableField("update_time")
     private LocalDateTime updateTime;
 
+    @TableField("file_name")
+    private String fileName;
+
+    @TableField("file_path")
+    private String filePath;
+
+    @ApiModelProperty(value = "状态0评审中  1已评审")
+    @TableField("status")
+    private Integer status;
+
     @TableField(exist = false)
     private List<ContractReviewRequire> contractReviewRequires;
 
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/ContractReviewMess.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/ContractReviewMess.java
index c005ce0..060e7e5 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/domain/ContractReviewMess.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/ContractReviewMess.java
@@ -25,12 +25,31 @@
     private Integer reviewId;
 
     @ApiModelProperty(value = "评审变更部门")
-    @TableField("dept_name")
-    private String deptName;
-
+    @TableField("dept_id")
+    private Integer deptId;
 
     @TableField(exist = false)
-    private List<ContractReviewMessb> contractReviewMessbs;
+    private String deptName;
+
+    @ApiModelProperty(value = "评审变更内容")
+    @TableField("review_mess")
+    private String reviewMess;
+
+    @ApiModelProperty(value = "评审变更意见")
+    @TableField("review_opinion")
+    private String reviewOpinion;
+
+    @ApiModelProperty(value = "人员")
+    @TableField("review_user")
+    private Integer reviewUser;
+
+    @TableField(exist = false)
+    private String reviewName;
+
+    @ApiModelProperty(value = "状态 0待审批  1已审批")
+    @TableField("status")
+    private Integer status;
+
 
 
 
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/req/ContractReviewReq.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/req/ContractReviewReq.java
new file mode 100644
index 0000000..a2e0959
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/req/ContractReviewReq.java
@@ -0,0 +1,11 @@
+package com.gkhy.exam.system.domain.req;
+
+import lombok.Data;
+
+@Data
+public class ContractReviewReq {
+    private Integer id;
+    private Integer userId;
+    private String reviewOpinion;
+    private Integer type;
+}
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/ContractReviewVo.java b/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/ContractReviewVo.java
new file mode 100644
index 0000000..1081d68
--- /dev/null
+++ b/multi-system/src/main/java/com/gkhy/exam/system/domain/vo/ContractReviewVo.java
@@ -0,0 +1,14 @@
+package com.gkhy.exam.system.domain.vo;
+
+import com.gkhy.exam.system.domain.ContractReview;
+import com.gkhy.exam.system.domain.ContractReviewMess;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.List;
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class ContractReviewVo extends ContractReview {
+    private Integer signType;
+ }
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/ContractReviewMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/ContractReviewMapper.java
index 47c4b47..dbfdadd 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/mapper/ContractReviewMapper.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/ContractReviewMapper.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.gkhy.exam.system.domain.ContractReview;
+import com.gkhy.exam.system.domain.vo.ContractReviewVo;
 import org.apache.ibatis.annotations.Param;
 import org.mapstruct.Mapper;
 
@@ -12,4 +13,10 @@
     List<ContractReview> selectReviewList(ContractReview contractReview);
 
     Integer selectByContractId(@Param("contractId") Integer contractId);
+
+    List<ContractReviewVo> selectByUserId(@Param("userId") Integer userId);
+
+    List<ContractReviewVo> selectByUserIdMain(@Param("userId") Integer userId);
+
+    void updateByUserid(ContractReview contractReview);
 }
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/mapper/ContractReviewMessMapper.java b/multi-system/src/main/java/com/gkhy/exam/system/mapper/ContractReviewMessMapper.java
index 157ef67..02857e9 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/mapper/ContractReviewMessMapper.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/mapper/ContractReviewMessMapper.java
@@ -16,7 +16,10 @@
 
     void deleteByReviewId(@Param("id") Integer id);
 
-    List<ContractReviewMessb> selectByMessId(@Param("id") Integer id);
+    void updateByUserId(ContractReviewMess contractReviewMess);
 
-    void insertMessbs(@Param("contractReviewMessbs") List<ContractReviewMessb> contractReviewMessbs);
+    int CountByReviewId(@Param("id") Integer id);
+
+    List<ContractReviewMess> selectByReviewIdAndUserId(@Param("id") Integer id, @Param("userId") Integer userId);
+
 }
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/ContractReviewService.java b/multi-system/src/main/java/com/gkhy/exam/system/service/ContractReviewService.java
index 137016f..6e1cb5d 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/ContractReviewService.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/ContractReviewService.java
@@ -4,6 +4,7 @@
 import com.gkhy.exam.common.api.CommonPage;
 import com.gkhy.exam.common.api.CommonResult;
 import com.gkhy.exam.system.domain.ContractReview;
+import com.gkhy.exam.system.domain.req.ContractReviewReq;
 
 public interface ContractReviewService extends IService<ContractReview> {
     CommonPage selectContractReviewList(ContractReview contractReview);
@@ -13,4 +14,8 @@
     CommonResult updateContractReview(ContractReview contractReview);
 
     CommonResult deletedContractReview(Integer reviewId);
+
+    CommonResult contractList(Integer userId);
+
+    CommonResult contractcheck(ContractReviewReq contractReviewReq);
 }
diff --git a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ContractReviewServiceImpl.java b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ContractReviewServiceImpl.java
index 5cac4fe..5ab54e0 100644
--- a/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ContractReviewServiceImpl.java
+++ b/multi-system/src/main/java/com/gkhy/exam/system/service/impl/ContractReviewServiceImpl.java
@@ -10,17 +10,20 @@
 import com.gkhy.exam.system.domain.ContractReviewMess;
 import com.gkhy.exam.system.domain.ContractReviewMessb;
 import com.gkhy.exam.system.domain.ContractReviewRequire;
+import com.gkhy.exam.system.domain.req.ContractReviewReq;
+import com.gkhy.exam.system.domain.vo.ContractReviewVo;
 import com.gkhy.exam.system.mapper.ContractReviewMapper;
 import com.gkhy.exam.system.mapper.ContractReviewMessMapper;
 import com.gkhy.exam.system.mapper.ContractReviewRequireMapper;
 import com.gkhy.exam.system.service.ContractReviewService;
+import org.apache.tomcat.websocket.AuthenticationException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
 
 @Service
 public class ContractReviewServiceImpl extends ServiceImpl<ContractReviewMapper, ContractReview> implements ContractReviewService {
@@ -76,21 +79,6 @@
             }
             contractReviewMessMapper.insertMesses(reviewMesses);
 
-            // 收集所有ContractReviewMessb
-            List<ContractReviewMessb> allMessbs = new ArrayList<>();
-            for (ContractReviewMess reviewMess : reviewMesses) {
-                List<ContractReviewMessb> contractReviewMessbs = reviewMess.getContractReviewMessbs();
-                if (contractReviewMessbs != null && !contractReviewMessbs.isEmpty()) {
-                    for (ContractReviewMessb contractReviewMessb : contractReviewMessbs) {
-                        contractReviewMessb.setMessId(reviewMess.getId());
-                    }
-                    allMessbs.addAll(contractReviewMessbs);
-                }
-            }
-            // 批量插入ContractReviewMessb
-            if (!allMessbs.isEmpty()) {
-                contractReviewMessMapper.insertMessbs(allMessbs);
-            }
 
             // 批量插入ContractReviewRequire
             for (ContractReviewRequire contractReviewRequire : contractReviewRequires) {
@@ -123,21 +111,6 @@
                         reviewMess.setReviewId(reviewId);
                     }
                     contractReviewMessMapper.insertMesses(reviewMesses);
-                    // 处理ContractReviewMessb子项
-                    List<ContractReviewMessb> allMessbs = new ArrayList<>();
-                    for (ContractReviewMess reviewMess : reviewMesses) {
-                        List<ContractReviewMessb> contractReviewMessbs = reviewMess.getContractReviewMessbs();
-                        if (contractReviewMessbs != null && !contractReviewMessbs.isEmpty()) {
-                            for (ContractReviewMessb contractReviewMessb : contractReviewMessbs) {
-                                contractReviewMessb.setMessId(reviewMess.getId());
-                            }
-                            allMessbs.addAll(contractReviewMessbs);
-                        }
-                    }
-                    // 批量插入ContractReviewMessb
-                    if (!allMessbs.isEmpty()) {
-                        contractReviewMessMapper.insertMessbs(allMessbs);
-                    }
                 }
                 // 插入新的ContractReviewRequire数据
                 if (contractReviewRequires != null && !contractReviewRequires.isEmpty()) {
@@ -168,4 +141,55 @@
         }
         return CommonResult.failed();
     }
+
+    @Override
+    public CommonResult contractList(Integer userId) {
+        List<ContractReviewVo> result = new ArrayList<>();
+        List<ContractReviewVo> contractReviewVos = contractReviewMapper.selectByUserId(userId);
+        List<ContractReviewVo> contractReviewVos1 = contractReviewMapper.selectByUserIdMain(userId);
+        Set<Integer> existIdSet = new HashSet<>();
+
+        // 处理signType=1并缓存id
+        for (ContractReviewVo contractReviewVo : contractReviewVos) {
+            List<ContractReviewMess> contractReviewMesses = contractReviewMessMapper.selectByReviewIdAndUserId(contractReviewVo.getId(),userId);
+            contractReviewVo.setReviewMesses(contractReviewMesses);
+            contractReviewVo.setSignType(1);
+            result.add(contractReviewVo);
+            existIdSet.add(contractReviewVo.getId()); // 存入已存在的id
+        }
+
+        // 处理signType=2,通过Set快速判断id是否存在
+        for (ContractReviewVo contractReviewVo : contractReviewVos1) {
+            int update = contractReviewMessMapper.CountByReviewId(contractReviewVo.getId());
+            if (update==0){
+                if (!existIdSet.contains(contractReviewVo.getId())) {
+                    List<ContractReviewMess> contractReviewMesses = contractReviewMessMapper.selectByReviewIdAndUserId(contractReviewVo.getId(),userId);
+                    contractReviewVo.setReviewMesses(contractReviewMesses);
+                    contractReviewVo.setSignType(2);
+                    result.add(contractReviewVo);
+                    existIdSet.add(contractReviewVo.getId()); // 同步更新Set
+                }
+            }
+        }
+        return CommonResult.success(result);
+    }
+
+    @Override
+    public CommonResult contractcheck(ContractReviewReq contractReviewReq) {
+        if (contractReviewReq.getType()==2){
+            ContractReview contractReview = new ContractReview();
+            contractReview.setId(contractReviewReq.getId());
+            contractReview.setLegalPerson(contractReviewReq.getUserId());
+            contractReview.setSuggest(contractReviewReq.getReviewOpinion());
+            contractReviewMapper.updateByUserid(contractReview);
+        }
+        if (contractReviewReq.getType()==1){
+            ContractReviewMess contractReviewMess = new ContractReviewMess();
+            contractReviewMess.setId(contractReviewReq.getId());
+            contractReviewMess.setReviewOpinion(contractReviewReq.getReviewOpinion());
+            contractReviewMess.setReviewUser(contractReviewReq.getUserId());
+            contractReviewMessMapper.updateByUserId(contractReviewMess);
+        }
+        return CommonResult.success();
+    }
 }
diff --git a/multi-system/src/main/resources/mapper/system/ContractReviewMapper.xml b/multi-system/src/main/resources/mapper/system/ContractReviewMapper.xml
index af92fcc..4a87b73 100644
--- a/multi-system/src/main/resources/mapper/system/ContractReviewMapper.xml
+++ b/multi-system/src/main/resources/mapper/system/ContractReviewMapper.xml
@@ -1,6 +1,9 @@
 <?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="com.gkhy.exam.system.mapper.ContractReviewMapper">
+    <update id="updateByUserid">
+        update contract_review set status = 1 ,suggest=#{suggest} where id = #{id} and legal_person = #{legalPerson}
+    </update>
 
     <select id="selectReviewList" resultType="com.gkhy.exam.system.domain.ContractReview">
         SELECT
@@ -31,7 +34,10 @@
             cr.`create_by`,
             cr.`create_time`,
             cr.`update_by`,
-            cr.`update_time`
+            cr.`update_time`,
+            cr.`file_name`,
+            cr.`file_path`,
+            cr.`status`
         FROM
             `contract_review` cr
                 LEFT JOIN sys_company sc ON cr.company_id = sc.id
@@ -43,10 +49,50 @@
         <if test="companyId!=null">
             and cr.company_id =#{companyId}
         </if>
+        <if test="status !=null">
+            and cr.status = #{status}
+        </if>
+        <if test="type!=null">
+            and cr.type = #{type}
+        </if>
         ORDER BY
             cr.create_time DESC
     </select>
     <select id="selectByContractId" resultType="java.lang.Integer">
         select count(*) from contract_review where contract_id =#{contractId} and type = 1
     </select>
+    <select id="selectByUserId" resultType="com.gkhy.exam.system.domain.vo.ContractReviewVo">
+        SELECT
+            cr.`id`,
+            cr.`type`,
+            cl.`contract_name`,
+            cr.`file_name`,
+            cr.`file_path`
+        FROM
+            `contract_review` cr
+                LEFT JOIN contract_ledger cl ON cr.contract_id = cl.id
+                LEFT JOIN contract_review_mess crm ON cr.id = crm.review_id
+        WHERE
+            cr.`status` = 0
+          AND cr.del_flag = 1
+          AND (
+                    crm.review_user = #{userId}
+                AND crm.`status` = 0)
+    </select>
+    <select id="selectByUserIdMain" resultType="com.gkhy.exam.system.domain.vo.ContractReviewVo">
+        SELECT
+            cr.`id`,
+            cr.`type`,
+            cl.`contract_name`,
+            cr.`file_name`,
+            cr.`file_path`
+        FROM
+            `contract_review` cr
+                LEFT JOIN contract_ledger cl ON cr.contract_id = cl.id
+                LEFT JOIN contract_review_mess crm ON cr.id = crm.review_id
+        WHERE
+            cr.`status` = 0
+          AND cr.del_flag = 1
+          and cr.legal_person = #{userId}
+    </select>
 </mapper>
diff --git a/multi-system/src/main/resources/mapper/system/ContractReviewMessMapper.xml b/multi-system/src/main/resources/mapper/system/ContractReviewMessMapper.xml
index 77f1535..b9590f9 100644
--- a/multi-system/src/main/resources/mapper/system/ContractReviewMessMapper.xml
+++ b/multi-system/src/main/resources/mapper/system/ContractReviewMessMapper.xml
@@ -4,56 +4,68 @@
 
     <insert id="insertMesses" keyProperty="id" useGeneratedKeys="true">
 
-        INSERT INTO `contract_review_mess` (`review_id`, `dept_name` )
+        INSERT INTO `contract_review_mess` (`review_id`, `dept_id`,`review_mess`,`review_opinion`,`review_user` )
         VALUES
             <foreach collection="reviewMesses" item="item" separator=",">
                 (#{item.reviewId},
-                #{item.deptName})
+                #{item.deptId},
+                 #{item.reviewMess},
+                 #{item.reviewOpinion},
+                 #{item.reviewUser}
+                )
             </foreach>
     </insert>
-    <insert id="insertMessbs">
-        INSERT INTO `contract_review_mess_b` (`mess_id`, `review_mess`,`review_opinion`,`review_sign` )
-        VALUES
-        <foreach collection="contractReviewMessbs" item="item" separator=",">
-            (#{item.messId},
-            #{item.reviewMess},
-            #{item.reviewOpinion},
-            #{item.reviewSign})
-        </foreach>
-    </insert>
+    <update id="updateByUserId">
+        update contract_review_mess set status = 1 ,review_opinion = #{reviewOpinion} where id = #{id} and review_user = #{reviewUser}
+    </update>
     <delete id="deleteByReviewId">
         delete from contract_review_mess where review_id = #{id}
     </delete>
     <resultMap id="ContractReviewMessResult" type="com.gkhy.exam.system.domain.ContractReviewMess">
         <id property="id" column="id"/>
         <result property="reviewId" column="review_id"/>
+        <result property="deptId" column="dept_id"/>
         <result property="deptName" column="dept_name"/>
-        <collection property="contractReviewMessbs" column="id" select="selectByMessId" fetchType="lazy"/>
+        <result property="reviewMess" column="review_mess"/>
+        <result property="reviewOpinion" column="review_opinion"/>
+        <result property="reviewUser" column="review_user"/>
+        <result property="reviewName" column="review_name"/>
+        <result property="status" column="status"/>
     </resultMap>
 
 
 
     <select id="selectByReviewId" resultMap="ContractReviewMessResult">
         SELECT
-            `id`,
-            `review_id`,
-            `dept_name`
+            crm.`id`,
+            crm.`review_id`,
+            crm.`dept_id`,
+            sd.`dept_name`,
+            crm.`review_mess`,
+            crm.`review_opinion`,
+            crm.`review_user`,
+            su.`name` as review_name,
+            crm.`status`
         FROM
-            `contract_review_mess`
+            `contract_review_mess` crm
+        left join sys_user su on crm.review_user = su.id
+        left join  sys_dept sd on crm.dept_id = sd.dept_id
         where review_id = #{id}
     </select>
 
-
-    <select id="selectByMessId" resultType="com.gkhy.exam.system.domain.ContractReviewMessb">
+    <select id="CountByReviewId" resultType="java.lang.Integer">
         SELECT
-            `id`,
-            `mess_id`,
-            `review_mess`,
-            `review_opinion`,
-            `review_sign`
+            COUNT(*)
         FROM
-            `contract_review_mess_b`
-        where mess_id = #{id}
+            contract_review cr
+                LEFT JOIN contract_review_mess crm ON cr.id = crm.review_id
+        WHERE
+            crm.STATUS = 0
+          AND cr.del_flag = 1
+          and cr.id = #{id}
+    </select>
+    <select id="selectByReviewIdAndUserId" resultType="com.gkhy.exam.system.domain.ContractReviewMess">
+        select * from contract_review_mess where review_user=#{userId} and review_id = #{id}
     </select>
 
 </mapper>
diff --git a/multi-system/src/main/resources/mapper/system/ItemReviewUserMapper.xml b/multi-system/src/main/resources/mapper/system/ItemReviewUserMapper.xml
index 599a620..1137185 100644
--- a/multi-system/src/main/resources/mapper/system/ItemReviewUserMapper.xml
+++ b/multi-system/src/main/resources/mapper/system/ItemReviewUserMapper.xml
@@ -51,6 +51,7 @@
             iru.`user_dept`,
             iru.`user_duty`,
             iru.`sign`,
+            iru.`review_opinion`,
             iru.`del_flag`,
             iru.`status`,
             ir.`stage`,
diff --git a/multi-system/src/main/resources/mapper/system/MemoMapper.xml b/multi-system/src/main/resources/mapper/system/MemoMapper.xml
index 2fed3ca..4c2f091 100644
--- a/multi-system/src/main/resources/mapper/system/MemoMapper.xml
+++ b/multi-system/src/main/resources/mapper/system/MemoMapper.xml
@@ -71,5 +71,22 @@
         WHERE a.del_flag = 0
         AND a.check_id = #{userId}
         AND a.`status` = 0 and a.company_id = #{companyId}
+        UNION ALL
+        SELECT
+        cl.contract_name AS title,
+        '8' AS type,
+        cr.id AS dataId
+        FROM
+        contract_review cr
+        LEFT JOIN contract_ledger cl ON cr.contract_id = cl.id
+        WHERE
+        cr.del_flag = 1 and cr.status = 0
+        AND (
+        EXISTS ( SELECT 1 FROM contract_review_mess crm WHERE crm.review_id = cr.id AND crm.STATUS = 0 AND crm.review_user = #{userId} )
+        OR (
+        NOT EXISTS ( SELECT 1 FROM contract_review_mess crm WHERE crm.review_id = cr.id AND crm.STATUS = 0 )
+        AND cr.legal_person = #{userId}
+        )
+        )
     </select>
 </mapper>

--
Gitblit v1.9.2