| | |
| | | package com.ruoyi.inventory.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.ruoyi.inventory.dto.StockinDto; |
| | | import com.ruoyi.inventory.excel.StockInExcelDto; |
| | | import com.ruoyi.inventory.mapper.StockManagementMapper; |
| | | import com.ruoyi.inventory.pojo.StockIn; |
| | | import com.ruoyi.inventory.mapper.StockInMapper; |
| | | import com.ruoyi.inventory.pojo.StockManagement; |
| | | import com.ruoyi.inventory.service.StockInService; |
| | | import com.ruoyi.purchase.dto.PurchaseLedgerDto; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.Arrays; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | @Service |
| | | public class StockInServiceImpl implements StockInService { |
| | | public class StockInServiceImpl extends ServiceImpl<StockInMapper,StockIn> implements StockInService { |
| | | @Autowired |
| | | private StockInMapper stockInMapper; |
| | | @Autowired |
| | | private StockManagementMapper stockManagementMapper; |
| | | |
| | | @Override//添加库存入库信息 |
| | | public int addStockIn(StockIn stockIn) { |
| | | int i = stockInMapper.insertSelective(stockIn); |
| | | return i; |
| | | |
| | | // 新增方法 |
| | | /** |
| | | * 新增库存入库信息 |
| | | * @param stockIn |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void saveStockin(StockIn stockIn) { |
| | | stockInMapper.insert(stockIn); |
| | | StockManagement stockManagement = new StockManagement(); |
| | | // 进行判断是否存在相同的产品id和供应商id |
| | | LambdaQueryWrapper<StockManagement> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(StockManagement::getProductId, stockIn.getProductId()); |
| | | queryWrapper.eq(StockManagement::getSupplierId, stockIn.getSupplierId()); |
| | | StockManagement stockManagement1 = stockManagementMapper.selectOne(queryWrapper); |
| | | if (stockManagement1!= null) { |
| | | stockManagement1.setStockQuantity(stockManagement1.getStockQuantity() + stockIn.getInboundQuantity()); |
| | | stockManagement1.setInboundTime(stockIn.getInboundTime()); |
| | | stockManagement1.setBoundTime(new Date()); |
| | | stockManagement1.setInboundPerson(stockIn.getInboundPerson()); |
| | | System.out.println(stockManagement1+"22"); |
| | | stockManagementMapper.updateById(stockManagement1); |
| | | } |
| | | |
| | | @Override//列出所有库存入库信息 |
| | | public List<StockIn> listStockIns() { |
| | | List<StockIn> stockIns = stockInMapper.selectList(); |
| | | return stockIns; |
| | | else { |
| | | stockManagement.setProductId(stockIn.getProductId()); |
| | | stockManagement.setStockQuantity(stockIn.getInboundQuantity()); |
| | | stockManagement.setBoundTime(stockIn.getInboundTime()); |
| | | stockManagement.setStockQuantity(stockIn.getInboundQuantity()); |
| | | stockManagement.setInboundPerson(stockIn.getInboundPerson()); |
| | | stockManagement.setSupplierId(stockIn.getSupplierId()); |
| | | stockManagement.setTenantId(stockIn.getTenantId()); |
| | | stockManagement.setBoundTime(new Date()); |
| | | stockManagementMapper.insert(stockManagement); |
| | | } |
| | | } |
| | | |
| | | @Override//根据id获取库存入库信息 |
| | | public StockIn getStockInById(Long id) { |
| | | StockIn stockIn = stockInMapper.selectByPrimaryKey(id); |
| | | StockIn stockIn = stockInMapper.selectById(id); |
| | | return stockIn; |
| | | } |
| | | |
| | | @Override//更新库存入库信息 |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public int updateStockIn(StockIn stockIn) { |
| | | int i = stockInMapper.updateByPrimaryKeySelective(stockIn); |
| | | return i; |
| | | StockIn stockIn1 = stockInMapper.selectById(stockIn.getId()); |
| | | // 进行判断是否存在相同的产品id和供应商id |
| | | LambdaQueryWrapper<StockManagement> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(StockManagement::getProductId, stockIn.getProductId()); |
| | | queryWrapper.eq(StockManagement::getSupplierId, stockIn.getSupplierId()); |
| | | StockManagement stockManagement1 = stockManagementMapper.selectOne(queryWrapper); |
| | | if (stockManagement1!= null) { |
| | | stockManagement1.setStockQuantity(stockManagement1.getStockQuantity() - stockIn1.getInboundQuantity() + stockIn.getInboundQuantity()); |
| | | stockManagement1.setInboundTime(stockIn.getInboundTime()); |
| | | stockManagement1.setBoundTime(new Date()); |
| | | stockManagement1.setInboundPerson(stockIn.getInboundPerson()); |
| | | System.out.println(stockManagement1 + "22"); |
| | | stockManagementMapper.updateById(stockManagement1); |
| | | } else { |
| | | StockManagement stockManagement = new StockManagement(); |
| | | stockManagement.setProductId(stockIn.getProductId()); |
| | | stockManagement.setStockQuantity(stockIn.getInboundQuantity()); |
| | | stockManagement.setBoundTime(stockIn.getInboundTime()); |
| | | stockManagement.setStockQuantity(stockIn.getInboundQuantity()); |
| | | stockManagement.setInboundPerson(stockIn.getInboundPerson()); |
| | | stockManagement.setSupplierId(stockIn.getSupplierId()); |
| | | stockManagement.setTenantId(stockIn.getTenantId()); |
| | | stockManagement.setBoundTime(new Date()); |
| | | System.out.println(stockManagement + "33"); |
| | | stockManagementMapper.insert(stockManagement); |
| | | } |
| | | return stockInMapper.updateById(stockIn); |
| | | } |
| | | |
| | | @Override//删除库存入库信息 |
| | | public int deleteStockIn(Long id) { |
| | | int i = stockInMapper.deleteByPrimaryKey(id); |
| | | return i; |
| | | @Override |
| | | public int delStockin(List<Integer> ids) { |
| | | LambdaQueryWrapper<StockIn> delWrapper = new LambdaQueryWrapper<>(); |
| | | delWrapper.in(StockIn::getId, ids); |
| | | return stockInMapper.delete(delWrapper); |
| | | } |
| | | |
| | | @Override |
| | | public IPage<StockIn> selectStockInPage(Page page, StockinDto stockinDto) { |
| | | System.out.println(stockinDto); |
| | | IPage<StockIn> stockinDtoIPage = stockInMapper.selectStockInWithProductInfo(page, stockinDto); |
| | | System.out.println(stockinDtoIPage.getRecords()); |
| | | return stockInMapper.selectStockInWithProductInfo(page, stockinDto); |
| | | } |
| | | |
| | | @Override |
| | | public void stockinExport(HttpServletResponse response, StockinDto stockinDto) { |
| | | List<StockInExcelDto> stockInExcelDtoList = stockInMapper.stockinExportList(stockinDto); |
| | | ExcelUtil<StockInExcelDto> util = new ExcelUtil<StockInExcelDto>(StockInExcelDto.class); |
| | | util.exportExcel(response, stockInExcelDtoList, "供应商导出"); |
| | | } |
| | | } |