package com.ruoyi.require.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.require.dto.ProcurementSuppliesExpendDto;
|
import com.ruoyi.require.mapper.ProcurementSuppliesExpendsMapper;
|
import com.ruoyi.require.mapper.ProcurementSuppliesListMapper;
|
import com.ruoyi.require.pojo.ProcurementSuppliesExpends;
|
import com.ruoyi.require.pojo.ProcurementSuppliesList;
|
import com.ruoyi.require.service.ProcurementSuppliesExpendsService;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import javax.annotation.Resource;
|
|
/**
|
* <p>
|
* 服务实现类
|
* </p>
|
*
|
* @author 芯导软件(江苏)有限公司
|
* @since 2024-11-15 03:47:19
|
*/
|
@Service
|
public class ProcurementSuppliesExpendsServiceImpl extends ServiceImpl<ProcurementSuppliesExpendsMapper, ProcurementSuppliesExpends> implements ProcurementSuppliesExpendsService {
|
@Resource
|
private ProcurementSuppliesExpendsMapper expendsMapper;
|
|
@Resource
|
private ProcurementSuppliesListMapper listMapper;
|
|
@Override
|
public IPage<ProcurementSuppliesExpendDto> selectAll(Page page, Long procurementSuppliesListId) {
|
IPage<ProcurementSuppliesExpendDto> list = expendsMapper.pageList(page, Wrappers.<ProcurementSuppliesExpendDto>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);
|
}
|
}
|