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.pojo.dto.UpdateMaterialInformation; 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.JackSonUtil; 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; /** *

* 服务实现类 *

* * @author 江苏鵷雏网络科技有限公司 * @since 2023-07-17 */ @Service public class MaterialServiceImpl extends ServiceImpl implements MaterialService { @Resource MaterialMapper materialMapper; //查询物料信息 @Override public List selectMaterialLimit(int pageSize, int countSize) { return materialMapper.selectMaterialLimit((pageSize - 1) * countSize,pageSize * countSize); } //根据物料id查询物料信息 @Override public Map selectMaterialById(String materialId) { return materialMapper.selectMaterialById(materialId); } @Override public Material ListIdMaterialInformation(String materialId) { LambdaQueryWrapper 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> getListMaterialInformation(String specificationsId) { LambdaQueryWrapper 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 updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.eq(Material::getId, materialId); updateWrapper.set(Material::getState, 0); List 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 updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.eq(Material::getId, material.getId()); materialMapper.updateById(material); return materialMapper.update(material, updateWrapper); } @Override public List specificationsIdDeleteMaterial(List deleteSpecificationsId) { List list = new ArrayList<>(); for (Integer serialNumberId:deleteSpecificationsId){ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(Material::getSpecificationsId, serialNumberId); wrapper.select(Material::getId); List maps1 = materialMapper.selectList(wrapper); for (Material material:maps1){ LambdaUpdateWrapper 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; } }