From 8abe275e36823f1065300af45e1f7a9a68f549a7 Mon Sep 17 00:00:00 2001 From: Fixiaobai <fixiaobai@163.com> Date: 星期三, 06 九月 2023 16:14:40 +0800 Subject: [PATCH] 修改bug --- standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/ProductServiceImpl.java | 135 +++++++++++++++++++++++---------------------- 1 files changed, 69 insertions(+), 66 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 f7b6e3d..32a0349 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 @@ -1,24 +1,25 @@ 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.Wrappers; import com.yuanchu.limslaboratory.pojo.Product; import com.yuanchu.limslaboratory.mapper.ProductMapper; +import com.yuanchu.limslaboratory.pojo.dto.StandardProductAddDto; import com.yuanchu.limslaboratory.service.ProductService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.beans.factory.annotation.Autowired; -import com.yuanchu.limslaboratory.service.UserService; +import com.yuanchu.limslaboratory.utils.MyUtil; import org.springframework.stereotype.Service; -import org.springframework.util.ObjectUtils; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Map; + /** * <p> - * 鏈嶅姟瀹炵幇绫� + * 鏈嶅姟瀹炵幇绫� * </p> * * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 @@ -30,74 +31,76 @@ @Resource private ProductMapper productMapper; - @Override - public List<Product> selectProductByMaterialId(int 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 List<Integer> chooseVersion(Integer specificationsId) { + return productMapper.chooseVersion(specificationsId); } + + //灞曠ず璇ュ瀷鍙蜂笅鐨勬楠岄」鐩姹� + @Override + @Transactional(rollbackFor = Exception.class) + public List<Map<String, Object>> pageProductInformation(Integer specificationsId, Integer version) { + return productMapper.pageProductInformation(specificationsId, version); + } + + //濉啓鏍囧噯鍊间笌鍐呮帶鍊�,榧犳爣绉诲紑淇濆瓨 + @Override + public Integer write(Integer id, String required, String internal) { + Product product = new Product(); + product.setId(id); + product.setRequired(required); + product.setInternal(internal); + MyUtil.PrintLog(product.toString()); + return productMapper.updateById(product); + } + + @Override + public void deleteList(String ids) { + productMapper.deleteList(ids); + } + + //娣诲姞鍚屼竴涓瀷鍙风殑鍏朵粬鐗堟湰 + @Override + public Integer addVersion(Integer specificationsId, Integer version) { + List<Product> productList = productMapper.selectList(Wrappers.<Product>query() + .eq("specifications_id", specificationsId) + .eq("version", version)); + for (Product product : productList) { + product.setId(null); + product.setVersion(productMapper.chooseVersion(specificationsId).get(0) + 1); + product.setSpecifications_id(specificationsId); + } + saveBatch(productList); + return productList.get(0).getVersion(); + } + + //鏌ヨ璇ュ瀷鍙蜂笅鐨勬墍鏈夎瘯楠岄」鐩�(鐖剁被) + @Override + public List<Map<String, Object>> chooseProject(Integer modelId) { + return productMapper.chooseProject(modelId); + } + + @Override + public String addProduct(StandardProductAddDto dto) { + int i = productMapper.addProduct(new Product( + dto.getName(), dto.getFather(), + dto.getUnit(), new Date(), new Date(), + Integer.parseInt(dto.getVersion()), dto.getSpecificationId())); + if(i>0) return "娣诲姞鎴愬姛锛�"; + return "娣诲姞澶辫触"; + } + + } -- Gitblit v1.9.3