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/StandardTreeServiceImpl.java | 412 ++++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 281 insertions(+), 131 deletions(-) diff --git a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardTreeServiceImpl.java b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardTreeServiceImpl.java index b64ab41..ffab8ea 100644 --- a/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardTreeServiceImpl.java +++ b/basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardTreeServiceImpl.java @@ -3,36 +3,32 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.poi.excel.ExcelUtil; import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.basic.dto.*; +import com.ruoyi.basic.enums.BasicTreeEnums; +import com.ruoyi.basic.enums.TestPorjectTypeEnums; +import com.ruoyi.basic.mapper.*; +import com.ruoyi.basic.pojo.*; import com.ruoyi.common.exception.base.BaseException; -import com.ruoyi.basic.dto.FactoryDto; -import com.ruoyi.basic.dto.LaboratoryDto; -import com.ruoyi.basic.dto.SampleTypeDto; -import com.ruoyi.basic.mapper.StandardProductListMapper; -import com.ruoyi.basic.mapper.StandardTreeMapper; -import com.ruoyi.basic.pojo.StandardProductList; -import com.ruoyi.basic.pojo.StandardTemplate; -import com.ruoyi.basic.pojo.StandardTree; -import com.ruoyi.basic.pojo.StructureTestObject; import com.ruoyi.basic.service.*; +import com.ruoyi.common.utils.StringUtils; import lombok.AllArgsConstructor; import org.apache.commons.lang3.ObjectUtils; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.atomic.AtomicReference; +import java.util.stream.Collectors; /** * @author Administrator @@ -57,106 +53,263 @@ private StructureTestObjectService structureTestObjectService; + private StructureTestObjectMapper structureTestObjectMapper; - @Override - public List<FactoryDto> selectStandardTreeList() { - List<FactoryDto> factoryDtos = standardTreeMapper.selectStandardTreeList(); - for (FactoryDto factoryDto : factoryDtos) { - for (LaboratoryDto laboratoryDto : factoryDto.getChildren()) { - laboratoryDto.getChildren().sort((o1, o2) -> (o1.getSort() == null ? 0 : o1.getSort()) - - (o2.getSort() == null ? 0 : o2.getSort())); - for (SampleTypeDto sampleTypeDto : laboratoryDto.getChildren()) { -// if (sampleTypeDto.getChildren().size() == 0) { - sampleTypeDto.getChildren().addAll(standardTreeMapper.getStandardTree3(sampleTypeDto.getValue())); -// } - } - } - } - return factoryDtos; - } + private ProductMapper productMapper; + private ModelMapper modelMapper; + + private LaboratoryMapper laboratoryMapper; + + private WorkShopMapper workShopMapper; @Override - @Transactional(rollbackFor = Exception.class) - public int addStandardTree(StandardTree standardTree) { - LambdaQueryWrapper<StandardTree> wrapper = Wrappers.<StandardTree>lambdaQuery() - .eq(StandardTree::getFactory, standardTree.getFactory()) - .eq(StandardTree::getLaboratory, standardTree.getLaboratory()) - .eq(StandardTree::getSampleType, standardTree.getSampleType()) - .eq(StandardTree::getSample, standardTree.getSample()) - .eq(StandardTree::getModel, standardTree.getModel()); - if (StringUtils.isNotBlank(standardTree.getSample())) { - wrapper.eq(StandardTree::getSample, standardTree.getSample()); - } - - StandardTree tree = standardTreeMapper.selectOne(wrapper); - if (tree != null) { - throw new BaseException("璇ュ瀷鍙峰凡瀛樺湪"); - } - return standardTreeMapper.insert(standardTree); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public int delStandardTree(String tree) { - String[] trees = tree.split(" - "); - switch (trees.length) { - case 5: - if (trees[3].equals("null")) { - standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0]).eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]).isNull(StandardTree::getSample).eq(StandardTree::getModel, trees[4])); + public List<BasicTreeDto> selectStandardTreeList() { + // 鏌ヨ鎵�鏈夋鏌ュ璞� + List<StructureTestObject> structureTestObjectList = structureTestObjectMapper.selectList(new QueryWrapper<StructureTestObject>()); + // 鏌ヨ鎵�鏈変骇鍝� + List<Product> productList = productMapper.selectList(new LambdaQueryWrapper<Product>()); + // 鏌ヨ鎵�鏈夊瀷鍙� + List<Model> modelList = modelMapper.selectList(new QueryWrapper<Model>()); + // 鎸夌収褰掑睘浜у搧id杩樻槸褰掑睘妫�娴嬪璞d灏嗗瀷鍙峰垎缁勫苟缁勮鎴怋asicTreeDto + Map<Integer, List<BasicTreeDto>> productModelMap = new HashMap<>(); + Map<Integer, List<BasicTreeDto>> testObjectModelMap = new HashMap<>(); + for (Model model : modelList) { + BasicTreeDto basicTreeDto = new BasicTreeDto(); + basicTreeDto.setLevel(BasicTreeEnums.MODEL_TYPE.getCode()); + basicTreeDto.setValue(String.valueOf(model.getId())); + basicTreeDto.setLabel(model.getModelName()); + basicTreeDto.setChildren(null); + if (model.getProductId() != null) { + if (CollectionUtils.isEmpty(productModelMap.get(model.getProductId()))) { + List<BasicTreeDto> basicTreeDtoList = new ArrayList<>(); + basicTreeDtoList.add(basicTreeDto); + productModelMap.put(model.getProductId(), basicTreeDtoList); } else { - standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0]).eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]).eq(StandardTree::getSample, trees[3]).eq(StandardTree::getModel, trees[4])); + productModelMap.get(model.getProductId()).add(basicTreeDto); } - break; - /*case 4: - standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0]).eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2]).eq(StandardTree::getSample, trees[3])); - break; - case 3: - standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0]).eq(StandardTree::getLaboratory, trees[1]).eq(StandardTree::getSampleType, trees[2])); - break; - case 2: - standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0]).eq(StandardTree::getLaboratory, trees[1])); - break; - case 1: - standardTreeMapper.delete(Wrappers.<StandardTree>lambdaUpdate().eq(StandardTree::getFactory, trees[0])); - break;*/ + } + if (model.getStructureTestObjectId() != null) { + if (CollectionUtils.isEmpty(testObjectModelMap.get(model.getStructureTestObjectId()))) { + List<BasicTreeDto> basicTreeDtoList = new ArrayList<>(); + basicTreeDtoList.add(basicTreeDto); + testObjectModelMap.put(model.getStructureTestObjectId(), basicTreeDtoList); + } else { + testObjectModelMap.get(model.getStructureTestObjectId()).add(basicTreeDto); + } + } } - return 1; + // 鎸夌収妫�娴嬪璞d灏嗕骇鍝佸垎缁勫苟缁勮鎴怋asicTreeDto + Map<Integer, List<BasicTreeDto>> productMap = productList.stream().collect(Collectors.groupingBy( + Product::getObjectId, + Collectors.mapping(product -> { + BasicTreeDto basicTreeDto = new BasicTreeDto(); + basicTreeDto.setValue(String.valueOf(product.getId())); + basicTreeDto.setLabel(product.getName()); + basicTreeDto.setLevel(BasicTreeEnums.PRODUCT_TYPE.getCode()); + basicTreeDto.setChildren(productModelMap.get(product.getId())); + return basicTreeDto; + }, Collectors.toList()) + )); + // 瀵规娴嬪璞″厛鎸夌収瀹為獙瀹ゅ湪鎸夌収妫�鏌ュ璞$被鍒垎绫� + Map<Integer, Map<String, List<StructureTestObjectDto>>> laboratoryObjectTypeMap = structureTestObjectList.stream().collect( + Collectors.groupingBy( + StructureTestObject::getLaboratoryId, + Collectors.groupingBy( + StructureTestObject::getObjectType, + Collectors.mapping(structureTestObject -> { + StructureTestObjectDto structureTestObjectDto = new StructureTestObjectDto(); + BeanUtils.copyProperties(structureTestObject, structureTestObjectDto); + List<BasicTreeDto> children = new ArrayList<>(); + if (!CollectionUtils.isEmpty(productMap.get(structureTestObject.getId()))) { + children.addAll(productMap.get(structureTestObject.getId())); + } + if (!CollectionUtils.isEmpty(testObjectModelMap.get(structureTestObject.getId()))) { + children.addAll(testObjectModelMap.get(structureTestObject.getId())); + } + structureTestObjectDto.setChildren(children); + return structureTestObjectDto; + }, Collectors.toList()) + ) + ) + ); + // 鏌ヨ杞﹂棿 + List<WorkShop> workShopList = workShopMapper.selectList(new LambdaQueryWrapper<WorkShop>()); + // 鏌ヨ瀹為獙瀹� + List<Laboratory> laboratoryList = laboratoryMapper.selectList(new QueryWrapper<Laboratory>()); + // 灏佽瀹為獙瀹ゆ爲 + List<BasicTreeDto> laboratoryTreeDtoList = laboratoryList.stream().map(laboratory -> { + BasicTreeDto laboratoryTreeDto = new BasicTreeDto(); + laboratoryTreeDto.setValue(String.valueOf(laboratory.getId())); + laboratoryTreeDto.setLevel(BasicTreeEnums.LABORATORY_TYPE.getCode()); + laboratoryTreeDto.setLabel(laboratory.getLaboratoryName()); + // 灏佽妫�娴嬪璞℃潗鏂欑被鍨嬫爲 + List<BasicTreeDto> objectTypeChildren = new ArrayList<>(); + Map<String, List<StructureTestObjectDto>> objectTypeMap = laboratoryObjectTypeMap.get(laboratory.getId()); + if (!CollectionUtils.isEmpty(objectTypeMap)) { + for (String objectType : objectTypeMap.keySet()) { + BasicTreeDto objectTypeBasicTreeDto = new BasicTreeDto(); + objectTypeBasicTreeDto.setValue(objectType); + objectTypeBasicTreeDto.setLevel(BasicTreeEnums.MATERIAL_TYPE.getCode()); + objectTypeBasicTreeDto.setLabel(objectType); + List<StructureTestObjectDto> structureTestObjectTypeList = objectTypeMap.get(objectType); + if (CollectionUtils.isEmpty(structureTestObjectTypeList)) { + continue; + } + // 灏佽杞﹂棿鏍� + if (objectType.equals(TestPorjectTypeEnums.RAW_MATERIALS.getName()) || objectType.equals(TestPorjectTypeEnums.PACKAGING_MATERIALS.getName())) { + List<BasicTreeDto> workShopTreeDtoList = new ArrayList<>(); + for (WorkShop workShop : workShopList) { + BasicTreeDto workShopTreeDto = new BasicTreeDto(); + workShopTreeDto.setLevel(BasicTreeEnums.WORK_SHOP_TYPE.getCode()); + workShopTreeDto.setValue(String.valueOf(workShop.getId())); + workShopTreeDto.setLabel(workShop.getName()); + List<BasicTreeDto> testObjectChildren = new ArrayList<>(); + // 灏佽妫�娴嬪璞℃爲 + for (StructureTestObjectDto structureTestObjectDto : structureTestObjectTypeList) { + if (workShop.getId().equals(structureTestObjectDto.getWorkShopId())) { + BasicTreeDto testObjectTreeDto = new BasicTreeDto(); + testObjectTreeDto.setLevel(BasicTreeEnums.STRUCTURE_TEST_OBJECT_TYPE.getCode()); + testObjectTreeDto.setValue(String.valueOf(structureTestObjectDto.getId())); + testObjectTreeDto.setLabel(structureTestObjectDto.getSpecimenName()); + testObjectTreeDto.setChildren(structureTestObjectDto.getChildren()); + testObjectChildren.add(testObjectTreeDto); + } + } + workShopTreeDto.setChildren(testObjectChildren); + if (!CollectionUtils.isEmpty(testObjectChildren)) { + workShopTreeDtoList.add(workShopTreeDto); + } + } + objectTypeBasicTreeDto.setChildren(workShopTreeDtoList); + } + // 灏佽妫�娴嬪璞℃爲 + if (objectType.equals(TestPorjectTypeEnums.FINISHED_PRODUCT.getName()) || objectType.equals(TestPorjectTypeEnums.SEMI_FINISHED_PRODUCT.getName()) || objectType.equals(TestPorjectTypeEnums.PURCHASED_PART.getName())) { + objectTypeBasicTreeDto.setChildren(structureTestObjectTypeList.stream().map(structureTestObjectDto -> { + BasicTreeDto testObjectBasicTreeDto = new BasicTreeDto(BasicTreeEnums.STRUCTURE_TEST_OBJECT_TYPE.getCode(), + structureTestObjectDto.getSpecimenName(), + String.valueOf(structureTestObjectDto.getId()), + structureTestObjectDto.getChildren()); + return testObjectBasicTreeDto; + }).collect(Collectors.toList())); + } + objectTypeChildren.add(objectTypeBasicTreeDto); + } + } + laboratoryTreeDto.setChildren(objectTypeChildren); + return laboratoryTreeDto; + }).collect(Collectors.toList()); + List<BasicTreeDto> factoryList = new ArrayList<>(); + factoryList.add(new BasicTreeDto(BasicTreeEnums.FACTORY_TYPE.getCode(), "涓ぉ绉戞妧", "1", laboratoryTreeDtoList)); + return factoryList; + } + + + @Override + @Transactional(rollbackFor = Exception.class) + public int addStandardTree(ModelAddDto modelAddDto) { + // 鏍¢獙 + if (StringUtils.isEmpty(modelAddDto.getParentId())) { + throw new RuntimeException("缂哄皯鐖跺眰绾х粦瀹氬叧绯�"); + } + Model model = new Model(); + String parentLevel = modelAddDto.getParentLevel(); + // 鍚嶇О閲嶅鎬ф�ф牎楠� + QueryWrapper<Model> modelQueryWrapper = new QueryWrapper<>(); + if (BasicTreeEnums.PRODUCT_TYPE.getCode().equals(parentLevel)) { + model.setProductId(Integer.valueOf(modelAddDto.getParentId())); + modelQueryWrapper.eq("product_id", model.getProductId()); + } else if (BasicTreeEnums.STRUCTURE_TEST_OBJECT_TYPE.getCode().equals(parentLevel)) { + model.setStructureTestObjectId(Integer.valueOf(modelAddDto.getParentId())); + modelQueryWrapper.eq("structure_test_object_id", model.getStructureTestObjectId()); + } else { + throw new RuntimeException("鍨嬪彿鍙兘缁戝畾瀵硅薄鍜屼骇鍝�"); + } + model.setModelName(modelAddDto.getModelName()); + modelQueryWrapper.eq("model_name", model.getModelName()); + Model modelResult = modelMapper.selectOne(modelQueryWrapper); + + if (ObjectUtils.isNotEmpty(modelResult)) { + throw new RuntimeException("璇峰嬁娣诲姞閲嶅鍨嬪彿"); + } + return modelMapper.insert(model); } @Override @Transactional(rollbackFor = Exception.class) - public int addStandardProduct(String ids, String tree) { - String[] trees = tree.split(" - "); - JSONArray jsonArray = JSON.parseArray(ids); - for (Object o : jsonArray) { - StandardProductList standardProductList = standardTreeMapper.selectStandardProductById(Integer.parseInt("" + o)); - standardProductList.setFactory(trees[0]); - try { - standardProductList.setLaboratory(trees[1]); - } catch (Exception e) { - } - try { - standardProductList.setSampleType(trees[2]); - } catch (Exception e) { - } - try { - standardProductList.setSample(trees[3]); - } catch (Exception e) { - } - try { - standardProductList.setModel(trees[4]); - } catch (Exception e) { - } - standardProductListMapper.insert(standardProductList); + public int delStandardTree(String level, String id) { + if (BasicTreeEnums.MODEL_TYPE.getCode().equals(level)) { + modelMapper.deleteById(id); } return 1; } @Override - public List<SampleTypeDto> getStandardTree2() { - return standardTreeMapper.getStandardTree2(); + public List<BasicTreeDto> getStandardTree2() { + // 鏌ヨ鎵�鏈夋鏌ュ璞� + List<StructureTestObject> structureTestObjectList = structureTestObjectMapper.selectList(new QueryWrapper<StructureTestObject>()); + // 鏌ヨ鎵�鏈変骇鍝� + List<Product> productList = productMapper.selectList(new LambdaQueryWrapper<Product>()); + // 鏌ヨ鎵�鏈夊瀷鍙� + List<Model> modelList = modelMapper.selectList(new QueryWrapper<Model>()); + // 鎸夌収褰掑睘浜у搧id杩樻槸褰掑睘妫�娴嬪璞d灏嗗瀷鍙峰垎缁勫苟缁勮鎴怋asicTreeDto + Map<Integer, List<BasicTreeDto>> productModelMap = new HashMap<>(); + Map<Integer, List<BasicTreeDto>> testObjectModelMap = new HashMap<>(); + for (Model model : modelList) { + BasicTreeDto basicTreeDto = new BasicTreeDto(); + basicTreeDto.setLevel(BasicTreeEnums.MODEL_TYPE.getCode()); + basicTreeDto.setValue(model.getModelName()); + basicTreeDto.setLabel(model.getModelName()); + basicTreeDto.setChildren(null); + if (model.getProductId() != null) { + if (CollectionUtils.isEmpty(productModelMap.get(model.getProductId()))) { + List<BasicTreeDto> basicTreeDtoList = new ArrayList<>(); + basicTreeDtoList.add(basicTreeDto); + productModelMap.put(model.getProductId(), basicTreeDtoList); + } else { + productModelMap.get(model.getProductId()).add(basicTreeDto); + } + } + if (model.getStructureTestObjectId() != null) { + if (CollectionUtils.isEmpty(testObjectModelMap.get(model.getStructureTestObjectId()))) { + List<BasicTreeDto> basicTreeDtoList = new ArrayList<>(); + basicTreeDtoList.add(basicTreeDto); + testObjectModelMap.put(model.getStructureTestObjectId(), basicTreeDtoList); + } else { + testObjectModelMap.get(model.getStructureTestObjectId()).add(basicTreeDto); + } + } + } + // 鎸夌収妫�娴嬪璞d灏嗕骇鍝佸垎缁勫苟缁勮鎴怋asicTreeDto + Map<Integer, List<BasicTreeDto>> productMap = productList.stream().collect(Collectors.groupingBy( + Product::getObjectId, + Collectors.mapping(product -> { + BasicTreeDto basicTreeDto = new BasicTreeDto(); + basicTreeDto.setValue(product.getName()); + basicTreeDto.setLabel(product.getName()); + basicTreeDto.setLevel(BasicTreeEnums.PRODUCT_TYPE.getCode()); + basicTreeDto.setChildren(productModelMap.get(product.getId())); + return basicTreeDto; + }, Collectors.toList()) + )); + // 瀵规娴嬪璞″厛鎸夌収瀹為獙瀹ゅ湪鎸夌収妫�鏌ュ璞$被鍒垎绫� + List<BasicTreeDto> testProjectBasicTreeList = structureTestObjectList.stream().map(structureTestObject -> { + BasicTreeDto basicTreeDto = new BasicTreeDto(); + basicTreeDto.setValue(structureTestObject.getSpecimenName() + "(" + structureTestObject.getObjectType() + ")"); + basicTreeDto.setLabel(structureTestObject.getSpecimenName() + "(" + structureTestObject.getObjectType() + ")"); + basicTreeDto.setLevel(BasicTreeEnums.STRUCTURE_TEST_OBJECT_TYPE.getCode()); + List<BasicTreeDto> children = new ArrayList<>(); + if (!CollectionUtils.isEmpty(productMap.get(structureTestObject.getId()))) { + children.addAll(productMap.get(structureTestObject.getId())); + } + if (!CollectionUtils.isEmpty(testObjectModelMap.get(structureTestObject.getId()))) { + children.addAll(testObjectModelMap.get(structureTestObject.getId())); + } + basicTreeDto.setChildren(children); + return basicTreeDto; + }).collect(Collectors.toList()); + return testProjectBasicTreeList; } @Override @@ -186,6 +339,7 @@ /** * 娌冲彛妫�娴嬩腑蹇冨鍏� + * * @param file */ @Override @@ -465,44 +619,40 @@ /** * 淇敼鏍囧噯鏁� - * @param standardTree + * + * @param modelAddDto * @return */ @Override - public int updateStandardTree(StandardTree standardTree) { - // 淇敼鍚嶇О鍖归厤鐨勬爣鍑嗘爲涓嬬殑妫�楠岄」鐩� - // 鏌ヨ鎵�鏈夊璞�+鍚嶇О鐨勬爲 - - List<StandardProductList> standardProductLists = standardProductListService.list(Wrappers.<StandardProductList>lambdaUpdate() - .eq(StandardProductList::getSample, standardTree.getSample()) - .eq(StandardProductList::getSampleType, standardTree.getSampleType()) - .eq(StandardProductList::getModel, standardTree.getOldModel())); - if (CollectionUtils.isNotEmpty(standardProductLists)) { - for (StandardProductList standardProductList : standardProductLists) { - // 淇敼鏍峰搧鍚嶇О - standardProductList.setModel(standardTree.getModel()); - // 淇敼鏍戝悕绉� - // 闇�瑕佹埅鍙栫鍥涚骇, 閬垮厤涓夊洓绾у悕绉颁竴鏍蜂慨鏀归敊璇� - String[] trees = standardProductList.getTree().split(" - "); - trees[4] = standardTree.getModel(); - List<String> list = CollUtil.newArrayList(trees); - String newName = CollUtil.join(list, " - "); - standardProductList.setTree(newName); + public int updateStandardTree(ModelAddDto modelAddDto) { + if (modelAddDto.getId() == null) { + throw new RuntimeException("缂哄皯鍨嬪彿涓婚敭"); + } + Model model = modelMapper.selectById(modelAddDto.getId()); + if (ObjectUtils.isEmpty(model)) { + throw new RuntimeException("鍨嬪彿鏌ユ壘澶辫触"); + } + QueryWrapper<Model> modelQueryWrapper = new QueryWrapper<>(); + if (model.getStructureTestObjectId() != null) { + modelQueryWrapper.eq("structure_test_object_id", model.getStructureTestObjectId()); + } + if (model.getProductId() != null) { + modelQueryWrapper.eq("product_id", model.getProductId()); + } + modelQueryWrapper.eq("model_name", modelAddDto.getModelName()); + model.setModelName(modelAddDto.getModelName()); + List<Model> modelList = modelMapper.selectList(modelQueryWrapper); + if (CollectionUtils.isEmpty(modelList)) { + return modelMapper.updateById(model); + } else if (modelList.size() == 1) { + if (!model.getId().equals(modelList.get(0).getId())) { + throw new RuntimeException("鍨嬪彿鍚嶇О閲嶅"); + } else { + return modelMapper.updateById(model); } - standardProductListService.updateBatchById(standardProductLists); + } else { + throw new RuntimeException("鍨嬪彿鍚嶇О閲嶅"); } - - // 淇敼鏍囧噯鏁版楠岄」鐩� - LambdaUpdateWrapper<StandardTree> wrapper = Wrappers.<StandardTree>lambdaUpdate() - .eq(StandardTree::getFactory, standardTree.getFactory()) - .eq(StandardTree::getLaboratory, standardTree.getLaboratory()) - .eq(StandardTree::getSampleType, standardTree.getSampleType()) - .eq(StandardTree::getModel, standardTree.getOldModel()) - .set(StandardTree::getModel, standardTree.getModel()); - if (StringUtils.isNotBlank(standardTree.getSample())) { - wrapper.eq(StandardTree::getSample, standardTree.getSample()); - } - return standardTreeMapper.update(null, wrapper); } @Override -- Gitblit v1.9.3