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.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.limslaboratory.pojo.SerialNumber; import com.yuanchu.limslaboratory.mapper.SerialNumberMapper; import com.yuanchu.limslaboratory.pojo.Standards; import com.yuanchu.limslaboratory.service.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yuanchu.limslaboratory.utils.MyUtil; 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-11 */ @Service public class SerialNumberServiceImpl extends ServiceImpl implements SerialNumberService { @Resource private SerialNumberMapper serialNumberMapper; @Autowired private UserService userService; @Autowired private StandardsService standardsService; @Autowired private SpecificationsService specificationsService; @Autowired private MaterialService materialService; @Autowired private ProductService productService; @Override public Integer addSerialNumberInformation(SerialNumber serialNumber) { Boolean userIsNull = userService.userIsNull(serialNumber.getUserId()); if (userIsNull){ Boolean standardsIsNull = standardsService.standardsIsNull(serialNumber.getStandardsId()); if (!ObjectUtils.isEmpty(standardsIsNull)){ return serialNumberMapper.insert(serialNumber); } } return 0; } @Override public IPage> listSerialNumberInformation(String idOrNameOfSerialNumber, String standardsId, Page page) { return serialNumberMapper.listSerialNumberInformation(idOrNameOfSerialNumber, standardsId, page); } @Override public List> selectIdSerialNumberInformation(String id) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(SerialNumber::getStandardsId, id); wrapper.select(SerialNumber::getId,SerialNumber::getName); return serialNumberMapper.selectMaps(wrapper); } @Override public Integer updateSerialNumberInformation(SerialNumber serialNumber) { return serialNumberMapper.updateById(serialNumber); } @Override public List StandardsIdDeleteSerialNumber(String standardsId) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(SerialNumber::getStandardsId, standardsId); wrapper.select(SerialNumber::getId); List serialNumberId = new ArrayList<>(); List maps = serialNumberMapper.selectList(wrapper); for (SerialNumber map:maps){ LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.eq(SerialNumber::getStandardsId, standardsId); updateWrapper.set(SerialNumber::getState, 0); serialNumberMapper.update(new SerialNumber(), updateWrapper); serialNumberId.add(map.getId()); } return serialNumberId; } @Override public Integer deleteSerialNumberInformation(String serialNumberId) { LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.eq(SerialNumber::getId, serialNumberId); updateWrapper.set(SerialNumber::getState, 0); List list = new ArrayList<>(); list.add(serialNumberId); int isDeleteSuccess = serialNumberMapper.update(new SerialNumber(), updateWrapper); if (isDeleteSuccess == 1){ List deleteSpecificationsId = specificationsService.SerialNumberIdDeleteSpecifications(list); if (!ObjectUtils.isEmpty(deleteSpecificationsId)){ List deleteMaterialId = materialService.specificationsIdDeleteMaterial(deleteSpecificationsId); if (!ObjectUtils.isEmpty(deleteMaterialId)){ productService.MaterialIdDeleteProduct(deleteMaterialId); } } return 1; } return 0; } }