From 8554fda91bebc06dfece04f2f3990d046007a0e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AD=A3=E5=9C=A3=E5=8D=8E?= <752718920@qq.com> Date: Sun, 20 Dec 2020 22:23:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=BA=93=E5=AD=98=E7=9A=84?= =?UTF-8?q?=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/depotItem/DepotItemService.java | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java b/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java index d8547685..0490a4e7 100644 --- a/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java +++ b/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java @@ -532,14 +532,27 @@ public class DepotItemService { */ @Transactional(value = "transactionManager", rollbackFor = Exception.class) public void updateCurrentStock(DepotItem depotItem, Long tenantId){ + updateCurrentStockFun(depotItem.getMaterialId(), depotItem.getDepotId(),tenantId); + if(depotItem.getAnotherDepotId()!=null){ + updateCurrentStockFun(depotItem.getMaterialId(), depotItem.getAnotherDepotId(),tenantId); + } + } + + /** + * 根据商品和仓库来更新当前库存 + * @param mId + * @param dId + * @param tenantId + */ + public void updateCurrentStockFun(Long mId, Long dId, Long tenantId) { MaterialCurrentStockExample example = new MaterialCurrentStockExample(); - example.createCriteria().andMaterialIdEqualTo(depotItem.getMaterialId()).andDepotIdEqualTo(depotItem.getDepotId()) + example.createCriteria().andMaterialIdEqualTo(mId).andDepotIdEqualTo(dId) .andDeleteFlagNotEqualTo(BusinessConstants.DELETE_FLAG_DELETED); List list = materialCurrentStockMapper.selectByExample(example); MaterialCurrentStock materialCurrentStock = new MaterialCurrentStock(); - materialCurrentStock.setMaterialId(depotItem.getMaterialId()); - materialCurrentStock.setDepotId(depotItem.getDepotId()); - materialCurrentStock.setCurrentNumber(getStockByParam(depotItem.getDepotId(),depotItem.getMaterialId(),null,null,tenantId)); + materialCurrentStock.setMaterialId(mId); + materialCurrentStock.setDepotId(dId); + materialCurrentStock.setCurrentNumber(getStockByParam(dId,mId,null,null,tenantId)); if(list!=null && list.size()>0) { Long mcsId = list.get(0).getId(); materialCurrentStock.setId(mcsId);