From 17cbd5b9f612f3d29f02f2722357ea334ede2b41 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期四, 31 七月 2025 19:17:43 +0800
Subject: [PATCH] 提交再次试验需要将检验项目的结论重置为null

---
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java |   26 +++++++++++++++++++++++---
 1 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
index 3232b3b..bf5c26f 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -405,10 +405,11 @@
         InsSample insSample = insSampleMapper.selectOne(Wrappers.<InsSample>lambdaQuery()
                 .eq(InsSample::getSampleCode, sampleCode)
                 .eq(InsSample::getInsOrderId, insOrders.get(0).getId()));
-        List<String> collect = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+        List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
                 .eq(InsProduct::getState, 1)
-                .eq(InsProduct::getInsSampleId, insSample.getId())).stream().map(InsProduct::getSonLaboratory).collect(Collectors.toList());
-        if (!collect.contains(sonLaboratory)) {
+                .eq(InsProduct::getSonLaboratory,sonLaboratory)
+                .eq(InsProduct::getInsSampleId, insSample.getId()));
+        if (insProducts.size()<=0) {
             throw new ErrorException("璇ユ牱鍝佹病鏈�" + sonLaboratory + "绔欑偣鐨勭浉鍏抽」鐩�,璇锋煡鐪嬩笅鍗曡鎯�!");
         }
         //鍒ゆ柇璇ヨ鍗曟槸鍚︾珯鐐逛换鍔℃湁缁撴潫璇曢獙(鍙浠讳竴浠诲姟缁撴潫璇曢獙閮戒笉鑳藉啀娆¤瘯楠�)
@@ -429,6 +430,11 @@
                 orderState.setNum(orderState.getNum() + 1);//閫掑
                 orderState.setCreateTime(LocalDateTime.now());
                 insOrderStateMapper.updateById(orderState);
+                //杩欓噷闇�瑕佸皢鍘熸潵鐨勬楠岄」鐩殑鐘舵�侀噸缃负null(鏍规嵁鏍峰搧id鍜岃瘯楠屽鏉ュ垽鏂」鐩�)
+                insProducts.stream().forEach(insProduct -> {
+                    insProduct.setInsResult(null);
+                    insProductMapper.updateById(insProduct);
+                });
             }
         } else {
             InsOrderState insOrderState = new InsOrderState();
@@ -1184,6 +1190,11 @@
                             .set(InsOrderState::getVerifyUser, userId)
                             .set(InsOrderState::getNum, record.getNum() + 1)//娆℃暟鍔�1
                             .set(InsOrderState::getCreateTime, LocalDateTime.now()));
+                    //杩欓噷闇�瑕佸皢鍘熸潵鐨勬楠岄」鐩殑鐘舵�侀噸缃负null(鏍规嵁鏍峰搧id鍜岃瘯楠屽鏉ュ垽鏂」鐩�)
+                    insProducts.stream().forEach(insProduct -> {
+                        insProduct.setInsResult(null);
+                       insProductMapper.updateById(insProduct);
+                    });
                     break;
                 case 1:
                     //缁х画璇曢獙:璇ユ牱鍝佽绔欑偣浠诲姟缁撴潫(鍙互鍐嶆鎵爜妫�楠�)锛�
@@ -1228,6 +1239,10 @@
         Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
         InsSample insSample = insSampleMapper.selectById(sampleId);
         InsOrder insOrder = insOrderMapper.selectById(insSample.getInsOrderId());
+        List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery()
+                .eq(InsProduct::getInsSampleId, insSample.getId())
+                .eq(InsProduct::getSonLaboratory, laboratory)
+                .eq(InsProduct::getState, 1));
         /*type=0  鍐嶆璇曢獙; type=1 缁х画璇曢獙 ; type=2 缁撴潫璇曢獙*/
         // 鏌ヨ鏍规嵁 id 鍊掑簭鎺掑垪鐨勭涓�鏉¤褰�
         InsOrderState record = insOrderStateMapper.selectOne(Wrappers.<InsOrderState>lambdaQuery()
@@ -1248,6 +1263,11 @@
                             .set(InsOrderState::getVerifyUser, userId)
                             .set(InsOrderState::getNum, record.getNum() + 1)//娆℃暟鍔�1
                             .set(InsOrderState::getCreateTime, LocalDateTime.now()));
+                    //杩欓噷闇�瑕佸皢鍘熸潵鐨勬楠岄」鐩殑鐘舵�侀噸缃负null(鏍规嵁鏍峰搧id鍜岃瘯楠屽鏉ュ垽鏂」鐩�)
+                    insProducts.stream().forEach(insProduct -> {
+                        insProduct.setInsResult(null);
+                        insProductMapper.updateById(insProduct);
+                    });
                     break;
                 case 1:
                     //缁х画璇曢獙:璇ユ牱鍝佽绔欑偣浠诲姟缁撴潫(鍙互鍐嶆鎵爜妫�楠�)锛�

--
Gitblit v1.9.3