From b0b77110b22827d453e9a1580906b3f53add19f9 Mon Sep 17 00:00:00 2001 From: XiaoRuby <3114200645@qq.com> Date: 星期五, 25 八月 2023 17:50:48 +0800 Subject: [PATCH] 开发8-25人员管理剩余编辑功能 --- standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MaterialServiceImpl.java | 104 ++++++++++++++++++++++----------------------------- 1 files changed, 45 insertions(+), 59 deletions(-) diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MaterialServiceImpl.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MaterialServiceImpl.java index feb1a9e..6650cf6 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MaterialServiceImpl.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MaterialServiceImpl.java @@ -1,11 +1,13 @@ package com.yuanchu.limslaboratory.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; + import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.yuanchu.limslaboratory.mapper.ProductModelMapper; import com.yuanchu.limslaboratory.pojo.Material; import com.yuanchu.limslaboratory.mapper.MaterialMapper; +import com.yuanchu.limslaboratory.pojo.Product; import com.yuanchu.limslaboratory.pojo.Specifications; import com.yuanchu.limslaboratory.pojo.Standard; import com.yuanchu.limslaboratory.pojo.dto.AddMaterialDto; @@ -14,17 +16,18 @@ import com.yuanchu.limslaboratory.service.ProductService; import com.yuanchu.limslaboratory.service.SpecificationsService; import com.yuanchu.limslaboratory.service.StandardService; -import com.yuanchu.limslaboratory.utils.MyUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * <p> - * 鏈嶅姟瀹炵幇绫� + * 鏈嶅姟瀹炵幇绫� * </p> * * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 @@ -45,17 +48,15 @@ @Autowired private ProductService productService; + @Resource + ProductModelMapper productModelMapper; + //鏌ヨ鐗╂枡淇℃伅 @Override - public List<Material> selectMaterialLimit(int pageSize, int countSize, int type) { - return materialMapper.selectMaterialLimit((pageSize - 1) * countSize,pageSize * countSize, type); + public List<Map> selectMaterialLimit(int pageSize, int countSize, int type) { + return materialMapper.selectMaterialLimit((pageSize - 1) * countSize, pageSize * countSize, type); } - //鏍规嵁鐗╂枡id鏌ヨ鐗╂枡淇℃伅 - @Override - public Map selectMaterialById(String materialId) { - return materialMapper.selectMaterialById(materialId); - } @Override public Integer deleteMaterialInformation(Integer materialId) { @@ -63,11 +64,11 @@ updateWrapper.eq(Material::getId, materialId); updateWrapper.set(Material::getState, 0); int isDeleteSuccess = materialMapper.update(new Material(), updateWrapper); - if (isDeleteSuccess == 1){ + if (isDeleteSuccess == 1) { List<Integer> isDeleteStandard = standardService.deleteStandardsInformation(materialId); - if (!ObjectUtils.isEmpty(isDeleteStandard)){ + if (!ObjectUtils.isEmpty(isDeleteStandard)) { List<Integer> idDeleteSpecifications = specificationsService.StandardIdDeleteSpecifications(isDeleteStandard); - if (!ObjectUtils.isEmpty(idDeleteSpecifications)){ + if (!ObjectUtils.isEmpty(idDeleteSpecifications)) { productService.deleteProductInformation(idDeleteSpecifications); } } @@ -76,73 +77,58 @@ return 0; } + //涓夌骇鏂板 @Override + @Transactional(rollbackFor = Exception.class) public Integer addMaterialInformation(AddMaterialDto addMaterialDto) { Material material = new Material() .setCode("BZ" + IdWorker.getIdStr()) .setName(addMaterialDto.getMaterialName()) .setType(addMaterialDto.getType()); int isInsertSuccess = materialMapper.insert(material); - if (isInsertSuccess > 0){ + if (isInsertSuccess > 0) { Standard standard = new Standard() .setMaterialId(material.getId()) .setName(addMaterialDto.getStandardName()); boolean save = standardService.save(standard); - if (save){ + if (save) { Specifications specifications = new Specifications() .setName(addMaterialDto.getSpecificationsName()) .setStandardId(standard.getId()); boolean save1 = specificationsService.save(specifications); - if (save1) + if (save1) { + //娣诲姞鍨嬪彿涔嬪悗娣诲姞椤圭洰 + List<Map<String, Object>> productModel = productModelMapper.seleMode(addMaterialDto.getMaterialName()); + List<Product> productList = productModel.stream().map(stringObjectMap -> { + Product product = new Product(); + product.setName(stringObjectMap.get("name").toString()); + if (ObjectUtils.isNotEmpty(stringObjectMap.get("father"))) { + product.setFather(stringObjectMap.get("father").toString()); + } + if (ObjectUtils.isNotEmpty(stringObjectMap.get("unit"))) { + product.setUnit(stringObjectMap.get("unit").toString()); + } + product.setSpecifications_id(specifications.getId()); + return product; + }).collect(Collectors.toList()); + productService.saveBatch(productList); return 1; + } } } return 0; } @Override - public List<Map<String, Object>> getFourLevelInformation(String specificationName) { - LambdaQueryWrapper<Material> typeWrapper = new LambdaQueryWrapper<>(); - typeWrapper.groupBy(Material::getType); - typeWrapper.select(Material::getType); - List<Map<String, Object>> typeMaps = materialMapper.selectMaps(typeWrapper); - for (Map<String, Object> typeMap : typeMaps){ - LambdaQueryWrapper<Material> materialWrapper = new LambdaQueryWrapper<>(); - materialWrapper.eq(Material::getType, typeMap.get("type")); - materialWrapper.select(Material::getId, Material::getName); - List<Map<String, Object>> materialMaps = materialMapper.selectMaps(materialWrapper); - if (!ObjectUtils.isEmpty(materialMaps)){ - for (Map<String, Object> materialMap : materialMaps){ - LambdaQueryWrapper<Standard> wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(Standard::getMaterialId, materialMap.get("id")); - wrapper.select(Standard::getId, Standard::getName); - List<Map<String, Object>> standardMaps = standardService.listMaps(wrapper); - if (!ObjectUtils.isEmpty(standardMaps)){ - for (Map<String, Object> standardMap : standardMaps){ - LambdaQueryWrapper<Specifications> specificationWrapper = new LambdaQueryWrapper<>(); - MyUtil.PrintLog(standardMap.get("id").toString()); - specificationWrapper.eq(Specifications::getStandardId, standardMap.get("id")); - if (!ObjectUtils.isEmpty(specificationName)){ - specificationWrapper.eq(Specifications::getName, specificationName); - } - specificationWrapper.select(Specifications::getId, Specifications::getName); - List<Map<String, Object>> specificationsMaps = specificationsService.listMaps(specificationWrapper); - if (!ObjectUtils.isEmpty(specificationsMaps)){ - standardMap.put("children", specificationsMaps); - } else { - standardMap.put("children", null); - } - } - materialMap.put("children", standardMaps); - } else { - materialMap.put("children", null); - } - } - typeMap.put("children", materialMaps); - } else { - typeMap.put("children", null); - } - } - return typeMaps; + public List<Map<String, Object>> getFourLevelInformation() { + return materialMapper.FourTree(); } + + //娣诲姞鎸囨爣-->閫夋嫨鏍峰搧鍚嶇О + @Override + public List<String> selectmater() { + return productModelMapper.selectmater(); + } + + } -- Gitblit v1.9.3