From 2086b1f359f4a59c1f6de67b38dd29be88f2c7bf Mon Sep 17 00:00:00 2001 From: XiaoRuby <3114200645@qq.com> Date: 星期五, 21 七月 2023 09:19:19 +0800 Subject: [PATCH] LIMS管理系统框架-开发7-21早上 --- standard-server/src/main/java/com/yuanchu/limslaboratory/service/impl/MaterialServiceImpl.java | 92 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 92 insertions(+), 0 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 9279599..ce8ba0b 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,10 +1,23 @@ package com.yuanchu.limslaboratory.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.yuanchu.limslaboratory.pojo.Material; import com.yuanchu.limslaboratory.mapper.MaterialMapper; +import com.yuanchu.limslaboratory.pojo.Specifications; import com.yuanchu.limslaboratory.service.MaterialService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.yuanchu.limslaboratory.service.ProductService; +import com.yuanchu.limslaboratory.utils.MyUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.ObjectUtils; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; /** * <p> @@ -17,4 +30,83 @@ @Service public class MaterialServiceImpl extends ServiceImpl<MaterialMapper, Material> implements MaterialService { + @Resource + MaterialMapper materialMapper; + + @Override + public List<Material> selectMaterialLimit(int pageSize, int countSize) { + return materialMapper.selectMaterialLimit((pageSize - 1) * countSize,pageSize * countSize); + } + + @Override + public Map selectMaterialById(String materialId) { + return materialMapper.selectMaterialById(materialId); + } + + @Override + public Material ListIdMaterialInformation(String materialId) { + LambdaQueryWrapper<Material> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Material::getId, materialId); + wrapper.select(Material::getId, Material::getName, Material::getSupplier, Material::getLocation, Material::getNum, Material::getBatch, + Material::getReelNumber); + return materialMapper.selectOne(wrapper); + } + + @Autowired + private ProductService productService; + + @Override + public Integer addMaterialInformation(Material material) { + return materialMapper.insert(material); + } + + @Override + public List<Map<String, Object>> getListMaterialInformation(String specificationsId) { + LambdaQueryWrapper<Material> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Material::getSpecificationsId, specificationsId); + wrapper.select(Material::getId, Material::getName); + return materialMapper.selectMaps(wrapper); + } + + @Override + public Integer deleteMaterialInformation(String materialId) { + LambdaUpdateWrapper<Material> updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(Material::getId, materialId); + updateWrapper.set(Material::getState, 0); + List<String> list = new ArrayList<>(); + list.add(materialId); + int isDeleteSuccess = materialMapper.update(new Material(), updateWrapper); + if (isDeleteSuccess == 1){ + productService.MaterialIdDeleteProduct(list); + return 1; + } + return 0; + } + + @Override + public Integer updateMaterialInformation(Material material) { + LambdaUpdateWrapper<Material> updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(Material::getId, material.getId()); + materialMapper.updateById(material); + return materialMapper.update(material, updateWrapper); + } + + @Override + public List<String> specificationsIdDeleteMaterial(List<Integer> deleteSpecificationsId) { + List<String> list = new ArrayList<>(); + for (Integer serialNumberId:deleteSpecificationsId){ + LambdaQueryWrapper<Material> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(Material::getSpecificationsId, serialNumberId); + wrapper.select(Material::getId); + List<Material> maps1 = materialMapper.selectList(wrapper); + for (Material material:maps1){ + LambdaUpdateWrapper<Material> updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(Material::getId, material.getId()); + updateWrapper.set(Material::getState, 0); + materialMapper.update(new Material(), updateWrapper); + list.add(material.getId()); + } + } + return list; + } } -- Gitblit v1.9.3