From 6bbac4845106ca8648900b1d9af758c84275ffee Mon Sep 17 00:00:00 2001 From: lishenao <3065849776@qq.com> Date: 星期五, 04 七月 2025 18:09:49 +0800 Subject: [PATCH] 批量添加入库的方法 --- src/main/java/com/ruoyi/inventory/service/impl/StockInServiceImpl.java | 43 +++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/ruoyi/inventory/service/impl/StockManagementServiceImpl.java | 2 ++ src/main/java/com/ruoyi/inventory/controller/StockInController.java | 10 ++++++++++ src/main/java/com/ruoyi/inventory/service/StockInService.java | 2 ++ 4 files changed, 57 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/ruoyi/inventory/controller/StockInController.java b/src/main/java/com/ruoyi/inventory/controller/StockInController.java index 57e1baa..5af7315 100644 --- a/src/main/java/com/ruoyi/inventory/controller/StockInController.java +++ b/src/main/java/com/ruoyi/inventory/controller/StockInController.java @@ -46,6 +46,11 @@ stockInService.saveStockin(stockIn); return AjaxResult.success(); } + @PostMapping("/addstockinList") + public AjaxResult addstockinList(@RequestBody List<StockIn> stockInList) { + stockInService.addstockin(stockInList); + return AjaxResult.success(); + } @GetMapping("/{id}")// 鏍规嵁ID鑾峰彇鍏ュ簱璁板綍 public AjaxResult getStockInById(@PathVariable Long id) { @@ -72,4 +77,9 @@ public void export(HttpServletResponse response, StockinDto stockinDto) { stockInService.stockinExport(response, stockinDto); } + @PostMapping("/batchSave") + public AjaxResult batchSaveStockin(@RequestBody List<StockIn> stockInList) { + stockInService.batchSaveStockin(stockInList); + return AjaxResult.success(); + } } diff --git a/src/main/java/com/ruoyi/inventory/service/StockInService.java b/src/main/java/com/ruoyi/inventory/service/StockInService.java index cb6312e..93a595a 100644 --- a/src/main/java/com/ruoyi/inventory/service/StockInService.java +++ b/src/main/java/com/ruoyi/inventory/service/StockInService.java @@ -25,4 +25,6 @@ // PageInfo<StockinProcuct> getStockInPage(Integer pageNum, Integer pageSize, StockInQueryDTO query); IPage<StockIn> selectStockInPage(Page page, StockinDto stockinDto); void stockinExport(HttpServletResponse response, StockinDto stockinDto); + int addstockin (List<StockIn> stockIns); + void batchSaveStockin(List<StockIn> stockInList); } 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 6ad5d02..2dd9605 100644 --- a/src/main/java/com/ruoyi/inventory/service/impl/StockInServiceImpl.java +++ b/src/main/java/com/ruoyi/inventory/service/impl/StockInServiceImpl.java @@ -46,6 +46,7 @@ */ @Override @Transactional(rollbackFor = Exception.class) +// public void saveStockin(StockIn stockIn) { //闇�瑕佸厛鍒ゆ柇閲囪喘璁板綍琛ㄤ腑鏄惁鏈夎浜у搧鐨勯噰璐褰� // 鏍规嵁浜у搧id鏌ヨ閲囪喘璁板綍琛� @@ -57,6 +58,7 @@ String batchCode = "RK" + System.currentTimeMillis(); stockIn.setInboundBatch(batchCode); stockIn.setSupplierId(productRecordDto.getSupplierId()); + stockInMapper.insert(stockIn); // 鍦ㄥ簱瀛樼鐞嗚〃涓坊鍔犲簱瀛樼鐞嗚褰� StockManagement stockManagement = new StockManagement(); @@ -70,6 +72,39 @@ stockManagementMapper.insert(stockManagement); }else { throw new RuntimeException("閲囪喘璁板綍琛ㄤ腑娌℃湁璇ヤ骇鍝佺殑閲囪喘璁板綍"); + } + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void batchSaveStockin(List<StockIn> stockInList) { + if (stockInList == null || stockInList.isEmpty()) { + throw new RuntimeException("鍏ュ簱鍒楄〃涓嶈兘涓虹┖"); + } + Date currentTime = new Date(); + for (StockIn stockIn : stockInList) { + // 鏍规嵁浜у搧id鏌ヨ閲囪喘璁板綍琛� + ProductRecordDto productRecordDto = productRecordMapper.selectProductRecordById(stockIn.getProductrecordId()); + if (productRecordDto == null) { + throw new RuntimeException("閲囪喘璁板綍琛ㄤ腑娌℃湁浜у搧ID涓�" + stockIn.getProductrecordId() + "鐨勯噰璐褰�"); + } + // 璁剧疆鍏ュ簱鏃堕棿鍜屾壒娆$爜 + stockIn.setInboundTime(currentTime); + String batchCode = "RK" + System.currentTimeMillis() + "-" + stockIn.getProductrecordId(); + stockIn.setInboundBatch(batchCode); + stockIn.setSupplierId(productRecordDto.getSupplierId()); + // 娣诲姞鍏ュ簱璁板綍 + stockInMapper.insert(stockIn); + // 鍦ㄥ簱瀛樼鐞嗚〃涓坊鍔犲簱瀛樼鐞嗚褰� + StockManagement stockManagement = new StockManagement(); + stockManagement.setProductrecordId(productRecordDto.getId()); + stockManagement.setStockQuantity(stockIn.getInboundQuantity()); + stockManagement.setInboundTime(stockIn.getInboundTime()); + stockManagement.setInboundBatch(stockIn.getInboundBatch()); + stockManagement.setUserId(stockIn.getUserId()); + stockManagement.setSupplierId(productRecordDto.getSupplierId()); + stockManagement.setBoundTime(stockIn.getInboundTime()); + stockManagementMapper.insert(stockManagement); } } @@ -116,4 +151,12 @@ ExcelUtil<StockInExcelDto> util = new ExcelUtil<StockInExcelDto>(StockInExcelDto.class); util.exportExcel(response, stockInExcelDtoList, "渚涘簲鍟嗗鍑�"); } + + @Override + public int addstockin(List<StockIn> stockIns) { + for (StockIn stockIn : stockIns) { + saveStockin(stockIn); + } + return 1; + } } diff --git a/src/main/java/com/ruoyi/inventory/service/impl/StockManagementServiceImpl.java b/src/main/java/com/ruoyi/inventory/service/impl/StockManagementServiceImpl.java index b5dc014..8f4c462 100644 --- a/src/main/java/com/ruoyi/inventory/service/impl/StockManagementServiceImpl.java +++ b/src/main/java/com/ruoyi/inventory/service/impl/StockManagementServiceImpl.java @@ -19,6 +19,7 @@ import com.ruoyi.purchase.pojo.ProductRecord; 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.Date; @@ -61,6 +62,7 @@ } @Override + @Transactional(rollbackFor = Exception.class) public int stockout(StockManagement stockManagement) { // 鍦ㄥ墠绔叾瀹炲氨绌夸簡3涓暟锛屾暟閲忥紝鍑哄簱浜猴紝鏃堕棿锛屽彧闇�瑕佽繘琛屽垽鏂紝搴撳瓨鏁伴噺鏄惁瓒冲鍗冲彲,鏈変笁绉嶆儏鍐� StockOut stockOut = new StockOut(); -- Gitblit v1.9.3