package com.yuanchu.limslaboratory.service.impl; 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 com.yuanchu.limslaboratory.utils.MyUtil; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.Date; import java.util.List; import java.util.Map; /** *

* 服务实现类 *

* * @author 江苏鵷雏网络科技有限公司 * @since 2023-07-17 */ @Service public class ProductServiceImpl extends ServiceImpl implements ProductService { @Resource private ProductMapper productMapper; @Override public void deleteProductInformation(List SpecificationsId) { for (Integer materialId : SpecificationsId) { LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); wrapper.eq(Product::getSpecifications_id, materialId); wrapper.set(Product::getState, 0); productMapper.update(new Product(), wrapper); } } //展示该型号下的检验项目要求-->选择版本 @Override public List chooseVersion(Integer specificationsId) { return productMapper.chooseVersion(specificationsId); } //展示该型号下的检验项目要求 @Override @Transactional(rollbackFor = Exception.class) public List> 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 productList = productMapper.selectList(Wrappers.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> 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 "添加失败"; } }