package com.ruoyi.requier.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.framework.exception.ErrorException; import com.ruoyi.requier.mapper.FeStandardSubstanceMapper; import com.ruoyi.requier.mapper.FeStandardSubstanceRecordMapper; import com.ruoyi.requier.pojo.FeStandardSubstance; import com.ruoyi.requier.pojo.FeStandardSubstanceRecord; import com.ruoyi.requier.service.FeStandardSubstanceRecordService; import com.ruoyi.requier.vo.SubstanceRecordVo; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.List; /** *

* 标准物质清单借用归还记录表 服务实现类 *

* * @author 芯导软件(江苏)有限公司 * @since 2024-11-14 01:49:11 */ @Transactional(rollbackFor = Exception.class) @Service public class FeStandardSubstanceRecordServiceImpl extends ServiceImpl implements FeStandardSubstanceRecordService { @Resource private FeStandardSubstanceMapper feStandardSubstanceMapper; @Override public void borrowSubstance(FeStandardSubstanceRecord feStandardSubstanceRecord) { FeStandardSubstance standardSubstance = feStandardSubstanceMapper.selectOne(Wrappers.lambdaQuery() .eq(FeStandardSubstance::getId, feStandardSubstanceRecord.getSubstanceId()) .eq(FeStandardSubstance::getState, 0) .last("limit 1")); if (ObjectUtils.isEmpty(standardSubstance)){ throw new ErrorException("该物质已被借出!"); } this.baseMapper.insert(feStandardSubstanceRecord); standardSubstance.setState(1); feStandardSubstanceMapper.updateById(standardSubstance); } @Override public void returnSubstance(FeStandardSubstanceRecord feStandardSubstanceRecord) { FeStandardSubstance standardSubstance = feStandardSubstanceMapper.selectOne(Wrappers.lambdaQuery() .eq(FeStandardSubstance::getId, feStandardSubstanceRecord.getSubstanceId()) .eq(FeStandardSubstance::getState, 1)); if (ObjectUtils.isEmpty(standardSubstance)){ throw new ErrorException("该物质未被领用,无需归还!"); } standardSubstance.setState(0); feStandardSubstanceMapper.updateById(standardSubstance); System.out.println(feStandardSubstanceRecord); baseMapper.update(feStandardSubstanceRecord, Wrappers.lambdaUpdate() .eq(FeStandardSubstanceRecord::getSubstanceId, feStandardSubstanceRecord.getSubstanceId()) .eq(FeStandardSubstanceRecord::getStatus, 0)); } @Override public List getSubstanceRecord(Integer id) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("substance_id",id); List list = this.baseMapper.selectList(queryWrapper); return list; } @Override public IPage getPage(Page page, SubstanceRecordVo vo) { return this.baseMapper.getPage(page,vo); } }