From d0191ea7bc8c25aed57168de6ceffa284c072f36 Mon Sep 17 00:00:00 2001
From: heheng <475597332@qq.com>
Date: Tue, 10 Feb 2026 09:09:40 +0800
Subject: [PATCH] 条款区分公司

---
 multi-system/src/main/java/com/gkhy/exam/system/service/impl/ContractReviewServiceImpl.java |   95 +++++++++++++++++++++++++++++------------------
 1 files changed, 59 insertions(+), 36 deletions(-)

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 8e8f6a4..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,6 +10,8 @@
 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;
@@ -20,9 +22,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Service
@@ -59,9 +59,11 @@
     @Override
     @Transactional
     public CommonResult insertContractReview(ContractReview contractReview) {
-        Integer i = contractReviewMapper.selectByContractId(contractReview.getContractId());
-        if (i>0){
-           return CommonResult.failed("请勿重复添加数据");
+        if(contractReview.getType().equals(1)){
+            Integer i = contractReviewMapper.selectByContractId(contractReview.getContractId());
+            if (i>0){
+                return CommonResult.failed("请勿重复添加数据");
+            }
         }
         List<ContractReviewMess> reviewMesses = contractReview.getReviewMesses();
         List<ContractReviewRequire> contractReviewRequires = contractReview.getContractReviewRequires();
@@ -77,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) {
@@ -124,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()) {
@@ -169,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();
+    }
 }

--
Gitblit v1.9.2