From ecef4e046635a6eb78c92cd72dd96a84401164d9 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期一, 07 四月 2025 16:40:59 +0800
Subject: [PATCH] 1.检验项查询拼接类型 2,设备检验项优化

---
 basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java |   51 +++++++++++++++++++++++++++++++++------------------
 1 files changed, 33 insertions(+), 18 deletions(-)

diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java
index d59f70f..3490bf4 100644
--- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java
+++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java
@@ -7,12 +7,11 @@
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.dto.*;
 import com.ruoyi.basic.excel.StructureTestObjectData;
 import com.ruoyi.basic.service.*;
 import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.QueryWrappers;
-import com.ruoyi.basic.dto.PageTestObjectDto;
-import com.ruoyi.basic.dto.TestItemDto;
 import com.ruoyi.basic.mapper.*;
 import com.ruoyi.basic.pojo.*;
 import com.ruoyi.common.utils.StringUtils;
@@ -56,7 +55,9 @@
     private StructureItemParameterService structureItemParameterService;
 
     private WorkShopMapper workShopMapper;
-    
+
+    private ModelMapper modelMapper;
+
     @Override
     public IPage<StructureItemParameter> selectItemParameterList(Page page, StructureItemParameter itemParameter) {
         return structureItemParameterMapper.selectItemParameterList(page, QueryWrappers.queryWrappers(itemParameter));
@@ -67,8 +68,7 @@
         if (itemParameter.getBsm().equals("") || itemParameter.getBsm() == null) {
             itemParameter.setBsm("0");
         }
-        int insert = structureItemParameterMapper.insert(itemParameter);
-        return insert;
+        return structureItemParameterMapper.insert(itemParameter);
     }
 
     @Override
@@ -189,25 +189,35 @@
     public List<TestItemDto> getItemTree() {
         return structureItemParameterMapper.getItemTree();
     }
-    
+
+    @Override
+    public List<TestItemDto> getItemTreeProduct(StructureTestObjectDto structureTestObjectDto) {
+        return structureItemParameterMapper.getItemTreeProduct(structureTestObjectDto.getObjectType());
+    }
+
+    @Override
+    public List<Model> getProductTypes(ModelDto modelDto) {
+        return modelMapper.selectList(Wrappers.<Model>lambdaQuery().eq(Model::getProductId, modelDto.getProductId()));
+    }
+
+    @Override
+    public List<ProductPart> getPartNoList(ProductPartDto productPartDto) {
+        return productPartMapper.selectList(Wrappers.<ProductPart>lambdaQuery().eq(ProductPart::getProductId, productPartDto.getProductId()));
+    }
+
     @Transactional(rollbackFor = Exception.class)
     @Override
     public void importPartExcel(List<StructureTestObjectData> list) {
-        // 闃舵1: 鏁版嵁棰勫鐞�
-        // 鏀堕泦鎵�鏈夐渶瑕佹煡璇㈢殑鏍囨湰淇℃伅
-        Set<String> specimenKeys = list.stream()
-                .map(i -> i.getSpecimenName() + "|" + i.getSpecimenNameEn())
-                .collect(Collectors.toSet());
-
         // 闃舵2: 鎵归噺鏌ヨ鐜版湁缁撴瀯娴嬭瘯瀵硅薄
         Map<String, StructureTestObject> existStructureTestObjects = structureTestObjectMapper.selectList(
                 Wrappers.<StructureTestObject>lambdaQuery()
                         .in(StructureTestObject::getSpecimenName, list.stream().map(StructureTestObjectData::getSpecimenName).collect(Collectors.toSet()))
                         .in(StructureTestObject::getSpecimenNameEn, list.stream().map(StructureTestObjectData::getSpecimenNameEn).collect(Collectors.toSet()))
+                        .in(StructureTestObject::getObjectType, list.stream().map(StructureTestObjectData::getObjectType).collect(Collectors.toSet()))
         ).stream().collect(Collectors.toMap(
-                obj -> obj.getSpecimenName() + "|" + obj.getSpecimenNameEn(),
+                obj -> generateStructureKey(obj.getSpecimenName(), obj.getSpecimenNameEn(), obj.getObjectType()), // 缁熶竴閿敓鎴�
                 Function.identity(),
-                (existing, replacement) -> existing  // 澶勭悊閲嶅閿�
+                (existing, replacement) -> existing
         ));
 
         // 闃舵3: 棰勫鐞嗚溅闂翠俊鎭�
@@ -234,7 +244,7 @@
 
         for (StructureTestObjectData i : list) {
             // 澶勭悊缁撴瀯娴嬭瘯瀵硅薄锛堥�昏緫涓嶅彉锛�
-            String specimenKey = i.getSpecimenName() + "|" + i.getSpecimenNameEn();
+            String specimenKey = i.getSpecimenName() + "|" + i.getSpecimenNameEn() + "|" + i.getObjectType();
             StructureTestObject structureTestObject = existStructureTestObjects.get(specimenKey);
 
             if (structureTestObject == null) {
@@ -270,6 +280,11 @@
         obj.setLaboratoryId(9);
     }
 
+    // 缁熶竴閿敓鎴愭柟娉�
+    private String generateStructureKey(String name, String nameEn, String objectType) {
+        return name + "|" + nameEn + "|" + objectType;
+    }
+
     // 澶勭悊浜у搧鏁版嵁
     private void processProductData(StructureTestObjectData data,
                                     Integer objectId,
@@ -277,7 +292,7 @@
                                     List<Product> insertList,
                                     List<Product> updateList) {
         // 鏋勫缓浜у搧鍞竴鏍囪瘑
-        String productKey = data.getName() + "|" + data.getNameEn();
+        String productKey = data.getName() + "|" + data.getNameEn() + "|" + data.getObjectType();
 
         // 妫�鏌ュ唴瀛樹腑鏄惁宸插鐞嗚繃璇ヤ骇鍝�
         Optional<Product> existingProduct = findProductInBatchLists(productKey, insertList, updateList);
@@ -364,7 +379,7 @@
             List<StructureTestObject> insertedObjects) {
 
         insertedObjects.forEach(obj -> {
-            String key = obj.getSpecimenName() + "|" + obj.getSpecimenNameEn();
+            String key = obj.getSpecimenName() + "|" + obj.getSpecimenNameEn() + "|" + obj.getObjectType();
             existStructureTestObjects.get(key).setId(obj.getId()); // 鏇存柊缂撳瓨涓殑ID
         });
     }
@@ -378,7 +393,7 @@
 
         // 闃舵5鍘熸湁浜у搧澶勭悊閫昏緫杩佺Щ鑷虫
         pendingProducts.forEach(i -> {
-            String specimenKey = i.getSpecimenName() + "|" + i.getSpecimenNameEn();
+            String specimenKey = i.getSpecimenName() + "|" + i.getSpecimenNameEn() + "|" + i.getObjectType();
             StructureTestObject sto = structureTestObjectCache.get(specimenKey);
 
             processProductData(

--
Gitblit v1.9.3