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