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