From 51d7b5b62db52c8c80d0bac9d42c37e33ce48a5d Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 29 七月 2026 17:20:45 +0800
Subject: [PATCH] 1.手动下单:修复选择样品后查询的检测项缺失问题 2.人员考勤:修复同步ICC考勤数据报错问题

---
 basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java |   57 +++++++++++++++++++++++++++++++--------------------------
 1 files changed, 31 insertions(+), 26 deletions(-)

diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java
index 51dd916..97b846d 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java
@@ -6,6 +6,7 @@
 import com.baomidou.mybatisplus.core.toolkit.*;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.vo.StandardProductListVO;
 import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.basic.dto.CopyStandardProductListDto;
@@ -62,8 +63,8 @@
 //        String[] models = insSample.getModel().split("-(?=[^-]*$)");//鎷嗗垎鏈�鍚庝竴涓��-銆�
         String model = insSample.getModel();
         String modelNum = insSample.getModelNum();
-        List<StandardProductList> list = standardProductListMapper.selectDetail(insSample.getStandardMethodListId(), 1, model, insSample.getIsCableTag());
-        if (list.size() == 0) {
+        List<StandardProductList> list = standardProductListMapper.selectDetail(insSample.getStandardMethodListId(), 1, model,insSample.getFactory(), insSample.getIsCableTag());
+        if (list.isEmpty()) {
             if (Objects.equals(insSample.getFactory(), "") || insSample.getFactory() == null) {
                 return null;
             }
@@ -71,12 +72,12 @@
             split[3] = split[3].replace("- ", "");
             String tree = split[0] + " - " + split[1] + " - " + split[2] + " - " + split[3] + " - null";
             list = standardProductListMapper.selectDetail2(insSample.getStandardMethodListId(), 1, tree, insSample.getIsCableTag());
-            if (list.size() == 0) {
+            if (list.isEmpty()) {
                 String tree1 = split[0] + " - " + split[1] + " - " + split[2] + " - null - " + split[3];
                 list = standardProductListMapper.selectDetail2(insSample.getStandardMethodListId(), 1, tree1, insSample.getIsCableTag());
 
                 // 鍙湁瀵硅薄鐨勪竴灞�
-                if (list.size() == 0) {
+                if (list.isEmpty()) {
                     String tree2 = split[0] + " - " + split[1] + " - " + split[2] + " - null - null";
                     list = standardProductListMapper.selectDetail2(insSample.getStandardMethodListId(), 1, tree2, insSample.getIsCableTag());
                     // 鏍峰搧鐩存帴璧嬪�兼牱鍝佸垎绫�
@@ -86,12 +87,15 @@
             }
         }
         String[] split1 = insSample.getFactory().split(" - ");
+        if(split1[3].equals("null")){
+            split1[3] = "";
+        }
         if (!isNoSample) {
             //鍒ゆ柇闀垮害
             if (split1.length > 4) {
                 if (ObjectUtils.isNotEmpty(split1[3])) {
                     list = list.stream().filter(list1 -> Objects.nonNull(list1.getSample()) && Objects.equals(list1.getSample(), split1[3])).collect(Collectors.toList());
-                } else if (split1[3].equals("")) {
+                } else if (split1[3].isEmpty()) {
                     list = list.stream().filter(list1 -> Objects.nonNull(list1.getSampleType()) && Objects.equals(list1.getSampleType(), split1[2])).collect(Collectors.toList());
                 }
             }
@@ -259,7 +263,7 @@
         String[] trees = tree.split(" - ");
         // 鍒ゆ柇鏄惁鎷栨嫿
         boolean isDrag = false;
-        List<StandardProductList> list = new ArrayList<>();
+        List<StandardProductListVO> list = new ArrayList<>();
         if (trees.length == 3) {
             List<StandardTree> treeList = new ArrayList<>();
             StandardTree standardTree = new StandardTree();
@@ -296,10 +300,6 @@
                     .eq(StandardProductList::getStandardMethodListId, id)
                     .isNull(StandardProductList::getModel)
                     .like(StandardProductList::getTree, tree));
-            if (count == 0) {
-                isDrag = true;
-            }
-
             isDrag = true;
             List<StandardTree> treeList = standardTreeMapper.selectList(Wrappers.<StandardTree>lambdaQuery().eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]).eq(StandardTree::getSample, trees[3]));
             if (treeList.size() == 0) {
@@ -323,23 +323,22 @@
         for (StandardProductList productList : list) {
             productList.setId(IdWorker.getId());
         }
-        List<StandardProductList> standardProductLists;
+        List<StandardProductListVO> standardProductLists;
 
-        if (isDrag) {
-            standardProductLists = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery()
-                    .eq(StandardProductList::getStandardMethodListId, id)
-                    .like(StandardProductList::getTree, tree)
-                    .orderByAsc(StandardProductList::getSort));
-            // 鍒ゆ柇鏄惁鏈夋病鏈夊簭鍙风殑, 娌℃湁搴忓彿閲嶇疆
-            boolean b = standardProductLists.stream().anyMatch(standardProductList -> standardProductList.getSort() == null);
-        } else {
-            standardProductLists = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery()
-                    .eq(StandardProductList::getStandardMethodListId, id)
-                    .like(StandardProductList::getTree, tree));
-        }
+//        if (isDrag) {
+//            standardProductLists = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery()
+//                    .eq(StandardProductList::getStandardMethodListId, id)
+//                    .like(StandardProductList::getTree, tree)
+//                    .orderByAsc(StandardProductList::getSort));
+//        } else {
+//            standardProductLists = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery()
+//                    .eq(StandardProductList::getStandardMethodListId, id)
+//                    .like(StandardProductList::getTree, tree));
+//        }
+        standardProductLists = standardProductListMapper.selectStandardProductList(id,tree,isDrag);
 
-        for (StandardProductList sp : standardProductLists) {
-            for (StandardProductList pl : list) {
+        for (StandardProductListVO sp : standardProductLists) {
+            for (StandardProductListVO pl : list) {
                 // 鍒ゆ柇鏉′欢鏄惁鍙湁涓�涓�, 鏈変竴涓殑璇濋粯璁ょ涓�涓�
                 String radiusList = pl.getRadiusList();
                 if (StringUtils.isNotBlank(radiusList) && !radiusList.equals("null") && !radiusList.equals("\"\"")) {
@@ -358,6 +357,12 @@
                     pl.setId(sp.getId());
                     // 娣诲姞鎺掑簭瀛楁
                     pl.setSort(sp.getSort());
+                    pl.setCreateUserName(sp.getCreateUserName());
+                    pl.setCreateTime(sp.getCreateTime());
+                    pl.setCreateUser(sp.getCreateUser());
+                    pl.setUpdateUserName(sp.getUpdateUserName());
+                    pl.setUpdateTime(sp.getUpdateTime());
+                    pl.setUpdateUser(sp.getUpdateUser());
                     if (sp.getState() != null && !sp.getState().equals("")) {
                         pl.setState(sp.getState());
                     } else {
@@ -428,7 +433,7 @@
 //            this.saveBatch(productLists);
         // 鎵归噺娣诲姞鏍囧噯
         if (CollectionUtils.isNotEmpty(productLists)) {
-            baseMapper.saveBatchProductLists(productLists);
+            this.saveOrUpdateBatch(productLists);
         }
 
 

--
Gitblit v1.9.3