From 5c1a58d067512df6099f9cc95f577c9991128163 Mon Sep 17 00:00:00 2001 From: lishenao <3065849776@qq.com> Date: 星期一, 30 六月 2025 15:16:09 +0800 Subject: [PATCH] 入库管理,出库管理,库存管理后端接口 --- src/main/java/com/ruoyi/inventory/service/impl/StockInServiceImpl.java | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 100 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/ruoyi/inventory/service/impl/StockInServiceImpl.java b/src/main/java/com/ruoyi/inventory/service/impl/StockInServiceImpl.java index c215d2a..8c035f8 100644 --- a/src/main/java/com/ruoyi/inventory/service/impl/StockInServiceImpl.java +++ b/src/main/java/com/ruoyi/inventory/service/impl/StockInServiceImpl.java @@ -1,45 +1,128 @@ 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(); +// 杩涜鍒ゆ柇鏄惁瀛樺湪鐩稿悓鐨勪骇鍝乮d鍜屼緵搴斿晢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()); +// 杩涜鍒ゆ柇鏄惁瀛樺湪鐩稿悓鐨勪骇鍝乮d鍜屼緵搴斿晢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, "渚涘簲鍟嗗鍑�"); + } } -- Gitblit v1.9.3