From a303cd042ed27bdf2b8daaf3d3bc23f1ef9956af Mon Sep 17 00:00:00 2001 From: Fixiaobai <fixiaobai@163.com> Date: 星期二, 15 八月 2023 17:59:23 +0800 Subject: [PATCH] 设备台账 --- standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ProductServiceImpl.java | 92 +++++++++++++++------------------------------ 1 files changed, 31 insertions(+), 61 deletions(-) diff --git a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ProductServiceImpl.java b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ProductServiceImpl.java index 93d4b27..b82da28 100644 --- a/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ProductServiceImpl.java +++ b/standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ProductServiceImpl.java @@ -2,10 +2,13 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.limslaboratory.pojo.Product; import com.yuanchu.limslaboratory.mapper.ProductMapper; import com.yuanchu.limslaboratory.service.ProductService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.limslaboratory.utils.MyUtil; import org.springframework.beans.factory.annotation.Autowired; import com.yuanchu.limslaboratory.service.UserService; import org.springframework.stereotype.Service; @@ -15,6 +18,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Objects; /** * <p> @@ -31,74 +35,40 @@ private ProductMapper productMapper; @Override - public List<Product> selectProductByMaterialId(String materialId) { - return productMapper.selectProductByMaterialId(materialId); - } - - @Autowired - private UserService userService; - - @Override - public Integer addProductInformation(Product product) { - return productMapper.insert(product); - } - - @Override - public List<Map<String, Object>> getListProductInformation(String materialId) { - LambdaQueryWrapper<Product> wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(Product::getMaterialId, materialId); - wrapper.select(Product::getId, Product::getName, Product::getFather); - wrapper.groupBy(Product::getFather); - List<Map<String, Object>> products = productMapper.selectMaps(wrapper); - for (Map<String, Object> product : products) { - if (!ObjectUtils.isEmpty(product.get("father"))) { - product.remove("name"); - product.remove("id"); - LambdaQueryWrapper<Product> wrapper1 = new LambdaQueryWrapper<>(); - wrapper1.eq(Product::getFather, product.get("father")); - wrapper1.select(Product::getId, Product::getName); - List<Map<String, Object>> maps = productMapper.selectMaps(wrapper1); - product.put("sonProduct", maps); - } - } - for (Map<String, Object> product : products) { - System.out.println(product); - } - return products; - } - - @Override - public Map<String, Object> getProductInformation(Integer productId) { - Map<String, Object> productMap = productMapper.getProductInformation(productId); - String userName = userService.selectByUserId((Integer) productMap.get("user_id")); - productMap.remove("user_id"); - productMap.put("userName", userName); - return productMap; - } - - @Override - public Integer deleteProductInformation(Integer productId) { - LambdaUpdateWrapper<Product> wrapper = new LambdaUpdateWrapper<>(); - wrapper.eq(Product::getId, productId); - wrapper.set(Product::getState, 0); - return productMapper.update(new Product(), wrapper); - } - - @Override - public void MaterialIdDeleteProduct(List<String> deleteMaterialId) { - for (String materialId : deleteMaterialId) { + public void deleteProductInformation(List<Integer> SpecificationsId) { + for (Integer materialId : SpecificationsId){ LambdaUpdateWrapper<Product> wrapper = new LambdaUpdateWrapper<>(); - wrapper.eq(Product::getMaterialId, materialId); + wrapper.eq(Product::getSpecifications_id, materialId); wrapper.set(Product::getState, 0); productMapper.update(new Product(), wrapper); } } @Override - public Integer updateMaterialInformation(Product product) { - LambdaUpdateWrapper<Product> updateWrapper = new LambdaUpdateWrapper<>(); - updateWrapper.eq(Product::getId, product.getId()); - return productMapper.update(product, updateWrapper); + public IPage<Map<String, Object>> pageProductInformation(String productCodeOrName, Integer specificationsId, Page<Objects> page) { + IPage<Map<String, Object>> iPage = productMapper.pageProductInformation(productCodeOrName, specificationsId, page); + List<Map<String, Object>> maps = iPage.getRecords(); + maps.forEach(map -> { + int num = Integer.parseInt(map.get("num").toString()); + boolean children = false; + if (num > 1){ + children = true; + } else { + Map<String, Object> product = productMapper.selectOneChildren(map.get("father")); + map.putAll(product); + } + map.put("children", children); + map.remove("num"); + }); + return iPage; + } + + @Override + public List<Map<String, Object>> pageFatherNameProductInformation(String fatherName) { + LambdaQueryWrapper<Product> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Product::getFather, fatherName); + wrapper.select(Product::getId, Product::getName, Product::getUnit, Product::getRequired, Product::getInternal); + return productMapper.selectMaps(wrapper); } //閫氳繃椤圭洰鍚嶆煡璇㈤」鐩殑璇曢獙鏂规硶 -- Gitblit v1.9.3