From 2917cb5d06bcdf78327ce84ba5b9b36076adb4af Mon Sep 17 00:00:00 2001 From: chenrui <1187576398@qq.com> Date: 星期二, 01 四月 2025 15:06:44 +0800 Subject: [PATCH] Merge branch 'radio_frequency' of http://114.132.189.42:9002/r/lims-ruoyi-after into radio_frequency --- basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java | 30 ++++++++++++++++++------------ 1 files changed, 18 insertions(+), 12 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..4f790a1 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,6 +7,7 @@ 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.StructureTestObjectDto; import com.ruoyi.basic.excel.StructureTestObjectData; import com.ruoyi.basic.service.*; import com.ruoyi.common.exception.base.BaseException; @@ -189,25 +190,25 @@ public List<TestItemDto> getItemTree() { return structureItemParameterMapper.getItemTree(); } + + @Override + public List<TestItemDto> getItemTreeProduct(StructureTestObjectDto structureTestObjectDto) { + return structureItemParameterMapper.getItemTreeProduct(structureTestObjectDto.getObjectType()); + } @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 +235,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 +271,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 +283,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 +370,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 +384,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