package com.yuanchu.mom.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.protobuf.ServiceException; import com.yuanchu.mom.common.GetLook; import com.yuanchu.mom.dto.ProcurementSuppliesExpendDto; import com.yuanchu.mom.mapper.ProcurementSuppliesExpendsMapper; import com.yuanchu.mom.mapper.ProcurementSuppliesListMapper; import com.yuanchu.mom.mapper.UserMapper; import com.yuanchu.mom.pojo.ProcurementSuppliesExpends; import com.yuanchu.mom.pojo.ProcurementSuppliesList; import com.yuanchu.mom.pojo.User; import com.yuanchu.mom.service.ProcurementSuppliesExpendsService; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; import java.util.Map; /** *

* 服务实现类 *

* * @author * @since 2024-11-15 03:47:19 */ @Service public class ProcurementSuppliesExpendsServiceImpl extends ServiceImpl implements ProcurementSuppliesExpendsService { @Autowired private ProcurementSuppliesExpendsMapper expendsMapper; @Autowired private UserMapper userMapper; @Autowired private ProcurementSuppliesListMapper listMapper; @Autowired private GetLook getLook; @Override public List selectAll(Long procurementSuppliesListId) { List res = new ArrayList<>(); List list = expendsMapper.selectList(new QueryWrapper().lambda().eq(ProcurementSuppliesExpends::getListId, procurementSuppliesListId)); for (ProcurementSuppliesExpends procurementSuppliesExpend : list) { ProcurementSuppliesExpendDto dto = new ProcurementSuppliesExpendDto(); BeanUtils.copyProperties(procurementSuppliesExpend, dto); User enterUser = userMapper.selectById(procurementSuppliesExpend.getEnterUserId()); User updateUser = userMapper.selectById(procurementSuppliesExpend.getUpdateUserId()); dto.setEnterUserName(enterUser.getName()); dto.setUpdateUserName(updateUser.getName()); res.add(dto); } return res; } @Override @Transactional public Integer addExpends(ProcurementSuppliesExpendDto expendDto) throws ServiceException { ProcurementSuppliesList list = listMapper.selectProcurementSuppliesListForUpdate(expendDto.getListId()); ProcurementSuppliesExpends expends = new ProcurementSuppliesExpends(); BeanUtils.copyProperties(expendDto, expends); Map map1 = getLook.selectPowerByMethodAndUserId(null); expends.setEnterUserId(map1.get("userId")); expends.setUpdateUserId(map1.get("userId")); 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()); Map map1 = getLook.selectPowerByMethodAndUserId(null); list.setUpdateUser(map1.get("userId")); listMapper.updateById(list); return expendsMapper.deleteById(id); } }