From e72766e5c5cceae416c0fa17ef075a01cd3fd396 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期三, 13 八月 2025 09:34:34 +0800
Subject: [PATCH] 检验任务筛选增加人员字段+检验和复核支持样品编号的修改

---
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java |   66 ++++++++++++++++++++++++---------
 1 files changed, 48 insertions(+), 18 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 5731840..d8f5c06 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
@@ -139,16 +139,21 @@
         map.put("head", PrintChina.printChina(InsOrderPlanVO.class));
         Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId(null);
         String laboratory = null;
-        String userName = null;
+        String myName = null;
         if (ObjectUtil.isNotEmpty(insOrderPlanDTO.getUserId())) {
-            userName = userMapper.selectById(map1.get("userId")).getName();
+            myName = userMapper.selectById(map1.get("userId")).getName();
             insOrderPlanDTO.setUserId(null);
+        }
+        //妫�楠屼汉
+        if (ObjectUtil.isNotEmpty(insOrderPlanDTO.getUserName())){
+            myName=(ObjectUtils.isNotNull(myName)?myName+",":"")+insOrderPlanDTO.getUserName();
+            insOrderPlanDTO.setUserName(null);
         }
         String sonLaboratory = insOrderPlanDTO.getSonLaboratory();//璇曢獙瀹�
         insOrderPlanDTO.setSonLaboratory(null);
         String sampleCode = insOrderPlanDTO.getSampleCode();
         insOrderPlanDTO.setSampleCode(null);
-        IPage<InsOrderPlanVO> insOrderPage = insSampleMapper.findInsSampleAndOrder(page, QueryWrappers.queryWrappers(insOrderPlanDTO), userName, sonLaboratory, laboratory,sampleCode);
+        IPage<InsOrderPlanVO> insOrderPage = insSampleMapper.findInsSampleAndOrder(page, QueryWrappers.queryWrappers(insOrderPlanDTO), myName, sonLaboratory, laboratory,sampleCode);
         map.put("body", insOrderPage);
         return map;
     }
@@ -405,10 +410,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 +435,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();
@@ -473,6 +484,8 @@
         if (orderStates.getInsState()!=5) {
                 throw new ErrorException("褰撳墠鏍峰搧鐨勭珯鐐逛换鍔″苟涓嶆槸澶嶆牳鐨勭粨鏉熻瘯楠�,鏃犻渶鎵嬪姩鍑哄簱!");
         }
+        orderStates.setIsOut(1);
+        insOrderStateMapper.updateById(orderStates);//澶嶆牳缁撴潫鍑哄簱涔嬪悗鍒楄〃涓嶆樉绀�
         warehouseService.outWarehouse(sampleCode, true, entrustCode);
         return 0;
     }
@@ -920,6 +933,15 @@
         return 1;
     }
 
+    //鏍峰搧缂栧彿鏇存敼
+    @Override
+    public int changeSampleCode(Integer sampleId, String sampleCode) {
+        InsSample insSample = new InsSample();
+        insSample.setId(sampleId);
+        insSample.setSampleCode(sampleCode);
+        return  insSampleMapper.updateById(insSample);
+    }
+
     /**
      * 闇囧姩doc鏂囦欢瑙f瀽
      * @param urlString
@@ -1182,6 +1204,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:
                     //缁х画璇曢獙:璇ユ牱鍝佽绔欑偣浠诲姟缁撴潫(鍙互鍐嶆鎵爜妫�楠�)锛�
@@ -1226,6 +1253,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()
@@ -1246,6 +1277,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:
                     //缁х画璇曢獙:璇ユ牱鍝佽绔欑偣浠诲姟缁撴潫(鍙互鍐嶆鎵爜妫�楠�)锛�
@@ -1288,6 +1324,7 @@
                                 .eq(InsOrderState::getInsSampleId, sampleId)
                                 .eq(InsOrderState::getLaboratory, laboratory)
                                 .set(InsOrderState::getInsState, 5)
+                                .set(InsOrderState::getIsOut,1)//澶嶆牳缁撴潫鍑哄簱涔嬪悗鍒楄〃涓嶆樉绀�
                                 .set(InsOrderState::getNum, record.getNum() - 1)//娆℃暟-1
                                 .set(InsOrderState::getVerifyTell, tell)
                                 .set(InsOrderState::getVerifyUser, userId));
@@ -1297,6 +1334,7 @@
                                 .eq(InsOrderState::getInsSampleId, sampleId)
                                 .eq(InsOrderState::getLaboratory, laboratory)
                                 .set(InsOrderState::getInsState, 5)
+                                .set(InsOrderState::getIsOut,1)//澶嶆牳缁撴潫鍑哄簱涔嬪悗鍒楄〃涓嶆樉绀�
                                 .set(InsOrderState::getVerifyTell, tell)
                                 .set(InsOrderState::getVerifyUser, userId));
                     }
@@ -1422,11 +1460,13 @@
         info.setCreateUser(insProductMapper.selectUserById(userId).get("name"));
         info.setMessageType("2");
         info.setTheme("澶嶆牳閫氱煡");
-        info.setContent("鎮ㄦ湁涓�鏉℃楠屼换鍔″緟澶嶆牳娑堟伅,璁㈠崟鍙锋槸锛�" + insOrder.getEntrustCode() + ",鏍峰搧鍚嶇О涓猴細" + insSample.getSample());
+        info.setContent("鎮ㄦ湁涓�鏉℃楠屼换鍔″緟澶嶆牳娑堟伅,璁㈠崟鍙锋槸锛�" + insOrder.getEntrustCode()+"绔欑偣鏄細"+submitPlanDto.getLaboratory() + ",鏍峰搧鍚嶇О涓猴細" + insSample.getSample());
         info.setSenderId(userId);
         info.setConsigneeId(submitPlanDto.getVerifyUser());
         info.setViewStatus(false);
         info.setJumpPath("b1-inspect-order-plan");
+        info.setEntrustCode(insOrder.getEntrustCode());//濮旀墭缂栧彿
+        info.setLaboratory(submitPlanDto.getLaboratory());//绔欑偣
         informationNotificationService.addInformationNotification(info);
         //澶嶆牳浜�--妫�楠屽崟鐩稿叧璐熻矗浜�
         InsSampleUser insSampleUser = new InsSampleUser();
@@ -1442,16 +1482,6 @@
             } else {
                 wordUtils.generateWord2(submitPlanDto.getTerm(), orderState);
             }
-            //todo 鐢佃矾绔欑偣鎶ュ憡 姝e紡搴撻儴缃叉斁寮�
-//            try {
-//                if (!insOrder.getSampleType().equals("鏃犳簮鍣ㄤ欢")) {
-//                    wordUtils.generateWord(submitPlanDto.getTerm(), orderState);
-//                }else {
-//                    wordUtils.generateWord2(submitPlanDto.getTerm(), orderState);
-//                }
-//            } catch (Exception e) {
-//                throw new ErrorException("鐢佃矾璇曢獙鐨勭珯鐐规姤鍛婄敓鎴愭湁璇�,璇疯仈绯诲紑鍙戜汉鍛樿皟鏁�!");
-//            }
         }
         /*鐢熸垚浜ч噺宸ユ椂*/
         //鏍¢獙濡傛灉杩欎釜浜鸿繖涓娴嬮」鐩凡缁忔坊鍔犺繃浜嗗垯涓嶉渶瑕佸啀鏂板
@@ -1511,7 +1541,7 @@
         map.put("msgtype", "text");//娑堟伅绫诲瀷 text:鏂囨湰
         map.put("agentid", 1000517);//搴旂敤id
         HashMap<String, Object> hashMap = new HashMap<>();
-        hashMap.put("content", "鎮ㄦ湁涓�鏉℃楠屼换鍔″緟澶嶆牳娑堟伅,璁㈠崟鍙锋槸锛�" + insOrder.getEntrustCode() + ",鏍峰搧鍚嶇О涓猴細" + insSample.getSample() +
+        hashMap.put("content", "鎮ㄦ湁涓�鏉℃楠屼换鍔″緟澶嶆牳娑堟伅,璁㈠崟鍙锋槸锛�" + insOrder.getEntrustCode()+"绔欑偣鏄細"+submitPlanDto.getLaboratory() + ",鏍峰搧鍚嶇О涓猴細"  + ",鏍峰搧鍚嶇О涓猴細" + insSample.getSample() +
                 ",璇峰墠寰�LIMS绯荤粺鏌ョ湅銆傝鐐瑰嚮<a href=\"https://ztwxlims.ztt.cn:7443/enter\">涓ぉ閫氫俊LIMS绯荤粺 </a>");
         map.put("text", hashMap);//娑堟伅鍐呭
         map.put("safe", 0);//鏄惁淇濆瘑娑堟伅.0鍚�

--
Gitblit v1.9.3