From 3cfadbc0315ef306b55a2ed7e213a931ad3e21f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A3=E5=9C=A3=E5=8D=8E?= <752718920@qq.com> Date: Thu, 16 Mar 2023 00:26:52 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3excel=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E5=95=86=E5=93=81=E7=9A=84bug=EF=BC=9A=E5=A6=82=E6=9E=9C?= =?UTF-8?q?=E5=8C=B9=E9=85=8D=E4=B8=8D=E5=88=B0=E4=BB=93=E5=BA=93=E4=BC=9A?= =?UTF-8?q?=E6=8A=8A=E4=B9=8B=E5=89=8D=E5=AF=BC=E5=85=A5=E7=9A=84=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=BA=93=E5=AD=98=E7=BB=99=E7=BD=AE0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsh/erp/service/material/MaterialService.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/material/MaterialService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/material/MaterialService.java index 2c34267d..2f2cfdd1 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/material/MaterialService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/material/MaterialService.java @@ -609,9 +609,10 @@ public class MaterialService { m.setStockMap(getStockMapCache(src, depotCount, depotMap, i)); mList.add(m); } - List deleteStockMaterialIdList = new ArrayList<>(); - List insertCurrentStockMaterialList = new ArrayList<>(); + List deleteInitialStockMaterialIdList = new ArrayList<>(); + List deleteCurrentStockMaterialIdList = new ArrayList<>(); List insertInitialStockMaterialList = new ArrayList<>(); + List insertCurrentStockMaterialList = new ArrayList<>(); for(MaterialWithInitStock m: mList) { Long mId = 0L; //判断该商品是否存在,如果不存在就新增,如果存在就更新 @@ -632,7 +633,6 @@ public class MaterialService { insertOrUpdateMaterialExtend(materialExObj, "basic", "1", mId, user); insertOrUpdateMaterialExtend(materialExObj, "other", "0", mId, user); //给商品更新库存 - deleteStockMaterialIdList.add(mId); Map stockMap = m.getStockMap(); for(Depot depot: depotList){ Long depotId = depot.getId(); @@ -644,6 +644,7 @@ public class MaterialService { materialInitialStock.setDepotId(depotId); materialInitialStock.setNumber(stock); insertInitialStockMaterialList.add(materialInitialStock); + deleteInitialStockMaterialIdList.add(mId); } //新增或更新当前库存 Long billCount = depotItemService.getCountByMaterialAndDepot(mId, depotId); @@ -654,6 +655,7 @@ public class MaterialService { materialCurrentStock.setDepotId(depotId); materialCurrentStock.setCurrentNumber(stock); insertCurrentStockMaterialList.add(materialCurrentStock); + deleteCurrentStockMaterialIdList.add(mId); } } else { BigDecimal initStock = getInitStock(mId, depotId); @@ -667,16 +669,17 @@ public class MaterialService { materialCurrentStock.setDepotId(depotId); materialCurrentStock.setCurrentNumber(currentNumber); insertCurrentStockMaterialList.add(materialCurrentStock); + deleteCurrentStockMaterialIdList.add(mId); } } } - //批量更新库存 - batchDeleteInitialStockByMaterialList(deleteStockMaterialIdList); + //批量更新库存,先删除后新增 if(insertInitialStockMaterialList.size()>0) { + batchDeleteInitialStockByMaterialList(deleteInitialStockMaterialIdList); materialInitialStockMapperEx.batchInsert(insertInitialStockMaterialList); } - batchDeleteCurrentStockByMaterialList(deleteStockMaterialIdList); if(insertCurrentStockMaterialList.size()>0) { + batchDeleteCurrentStockByMaterialList(deleteCurrentStockMaterialIdList); materialCurrentStockMapperEx.batchInsert(insertCurrentStockMaterialList); } logService.insertLog("商品",