From cf396d3076a064998fbac84f76861f5ed918c5e5 Mon Sep 17 00:00:00 2001 From: chenrui <1187576398@qq.com> Date: 星期四, 03 四月 2025 15:18:34 +0800 Subject: [PATCH] minio修改 --- basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardTreeServiceImpl.java | 191 +++++++++++++++++++++++++++++++---------------- 1 files changed, 125 insertions(+), 66 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 4b99a25..3f60b21 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 @@ -6,7 +6,6 @@ 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.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.basic.dto.*; @@ -16,6 +15,7 @@ import com.ruoyi.basic.pojo.*; import com.ruoyi.common.exception.base.BaseException; 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; @@ -91,7 +91,7 @@ } } if(model.getStructureTestObjectId() != null) { - if(CollectionUtils.isEmpty(productModelMap.get(model.getStructureTestObjectId()))){ + if(CollectionUtils.isEmpty(testObjectModelMap.get(model.getStructureTestObjectId()))){ List<BasicTreeDto> basicTreeDtoList = new ArrayList<>(); basicTreeDtoList.add(basicTreeDto); testObjectModelMap.put(model.getStructureTestObjectId(),basicTreeDtoList); @@ -152,13 +152,13 @@ BasicTreeDto objectTypeBasicTreeDto = new BasicTreeDto(); objectTypeBasicTreeDto.setValue(objectType); objectTypeBasicTreeDto.setLevel(BasicTreeEnums.MATERIAL_TYPE.getCode()); - objectTypeBasicTreeDto.setLabel(TestPorjectTypeEnums.getNameByCode(objectType)); + objectTypeBasicTreeDto.setLabel(objectType); List<StructureTestObjectDto> structureTestObjectTypeList = objectTypeMap.get(objectType); if (CollectionUtils.isEmpty(structureTestObjectTypeList)) { continue; } // 灏佽杞﹂棿鏍� - if (objectType.equals("1") || objectType.equals("5")) { + 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(); @@ -185,7 +185,7 @@ objectTypeBasicTreeDto.setChildren(workShopTreeDtoList); } // 灏佽妫�娴嬪璞℃爲 - if (objectType.equals("2") || objectType.equals("3") || objectType.equals("4")) { + 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(), @@ -202,50 +202,114 @@ }).collect(Collectors.toList()); List<BasicTreeDto> factoryList = new ArrayList<>(); factoryList.add(new BasicTreeDto(BasicTreeEnums.FACTORY_TYPE.getCode(),"涓ぉ绉戞妧","1",laboratoryTreeDtoList)); - return laboratoryTreeDtoList; + return factoryList; } @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()); + public int addStandardTree(ModelAddDto modelAddDto) { + // 鏍¢獙 + if(StringUtils.isEmpty(modelAddDto.getParentId())){ + throw new RuntimeException("缂哄皯鐖跺眰绾х粦瀹氬叧绯�"); } - - StandardTree tree = standardTreeMapper.selectOne(wrapper); - if (tree != null) { - throw new BaseException("璇ュ瀷鍙峰凡瀛樺湪"); + 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("鍨嬪彿鍙兘缁戝畾瀵硅薄鍜屼骇鍝�"); } - return standardTreeMapper.insert(standardTree); + 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 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])); - } 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])); - } - break; + 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()); + basicTreeDto.setLabel(structureTestObject.getSpecimenName()); + 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 @@ -554,44 +618,39 @@ /** * 淇敼鏍囧噯鏁� - * @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.isEmpty(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