package com.ruoyi.requier.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; 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.common.utils.SecurityUtils; import com.ruoyi.requier.dto.ProcurementSuppliesExpendDto; import com.ruoyi.requier.mapper.ProcurementSuppliesExpendsMapper; import com.ruoyi.requier.mapper.ProcurementSuppliesListMapper; import com.ruoyi.requier.pojo.ProcurementSuppliesExpends; import com.ruoyi.requier.pojo.ProcurementSuppliesList; import com.ruoyi.requier.service.ProcurementSuppliesExpendsService; import com.ruoyi.system.mapper.UserMapper; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.Map; /** *

* 服务实现类 *

* * @author 芯导软件(江苏)有限公司 * @since 2024-11-15 03:47:19 */ @Service public class ProcurementSuppliesExpendsServiceImpl extends ServiceImpl implements ProcurementSuppliesExpendsService { @Resource private ProcurementSuppliesExpendsMapper expendsMapper; @Resource private ProcurementSuppliesListMapper listMapper; @Override public IPage selectAll(Page page, Long procurementSuppliesListId) { IPage list = expendsMapper.pageList(page, Wrappers.lambdaQuery().eq(ProcurementSuppliesExpendDto::getListId, procurementSuppliesListId)); return list; } @Override @Transactional public Integer addExpends(ProcurementSuppliesExpendDto expendDto) { ProcurementSuppliesList list = listMapper.selectProcurementSuppliesListForUpdate(expendDto.getListId()); ProcurementSuppliesExpends expends = new ProcurementSuppliesExpends(); BeanUtils.copyProperties(expendDto, expends); int userId = SecurityUtils.getUserId().intValue(); expends.setEnterUserId(userId); expends.setUpdateUserId(userId); expends.setSpecimenName(expendDto.getSpecimenName()); if (list.getCurrentAmount() < expendDto.getAmount()) { return 0; } list.setCurrentAmount(list.getCurrentAmount() - expendDto.getAmount()); listMapper.updateById(list); return expendsMapper.insert(expends); } @Override @Transactional public Integer deleteExpends(Long id) { ProcurementSuppliesExpends expend = expendsMapper.selectById(id); ProcurementSuppliesList list = listMapper.selectProcurementSuppliesListForUpdate(expend.getListId()); list.setCurrentAmount(list.getCurrentAmount() + expend.getAmount()); int userId = SecurityUtils.getUserId().intValue(); list.setUpdateUser(userId); listMapper.updateById(list); return expendsMapper.deleteById(id); } }