diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/DepotItemService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/DepotItemService.java index b9f9dfd0..096182ee 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/DepotItemService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/DepotItemService.java @@ -1049,9 +1049,10 @@ public class DepotItemService { */ @Transactional(value = "transactionManager", rollbackFor = Exception.class) public void updateCurrentStock(DepotItem depotItem) throws Exception { - updateCurrentStockFun(depotItem.getMaterialId(), depotItem.getDepotId()); + BigDecimal currentUnitPrice = materialCurrentStockMapperEx.getCurrentUnitPriceByMId(depotItem.getMaterialId()); + updateCurrentStockFun(depotItem.getMaterialId(), depotItem.getDepotId(), currentUnitPrice); if(depotItem.getAnotherDepotId()!=null){ - updateCurrentStockFun(depotItem.getMaterialId(), depotItem.getAnotherDepotId()); + updateCurrentStockFun(depotItem.getMaterialId(), depotItem.getAnotherDepotId(), currentUnitPrice); } } @@ -1136,7 +1137,7 @@ public class DepotItemService { * @param mId * @param dId */ - public void updateCurrentStockFun(Long mId, Long dId) throws Exception { + public void updateCurrentStockFun(Long mId, Long dId, BigDecimal currentUnitPrice) throws Exception { if(mId!=null && dId!=null) { MaterialCurrentStockExample example = new MaterialCurrentStockExample(); example.createCriteria().andMaterialIdEqualTo(mId).andDepotIdEqualTo(dId) @@ -1146,6 +1147,7 @@ public class DepotItemService { materialCurrentStock.setMaterialId(mId); materialCurrentStock.setDepotId(dId); materialCurrentStock.setCurrentNumber(getStockByParam(dId,mId,null,null)); + materialCurrentStock.setCurrentUnitPrice(currentUnitPrice); if(list!=null && list.size()>0) { Long mcsId = list.get(0).getId(); materialCurrentStock.setId(mcsId); diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/MaterialService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/MaterialService.java index 34ed6105..c7fca0db 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/MaterialService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/MaterialService.java @@ -209,6 +209,7 @@ public class MaterialService { materialMapperEx.setExpiryNumToNull(material.getId()); } materialExtendService.saveDetials(obj, obj.getString("sortList"),material.getId(), "update"); + BigDecimal currentUnitPrice = materialCurrentStockMapperEx.getCurrentUnitPriceByMId(material.getId()); if(obj.get("stock")!=null) { JSONArray stockArr = obj.getJSONArray("stock"); for (int i = 0; i < stockArr.size(); i++) { @@ -232,7 +233,7 @@ public class MaterialService { insertInitialStockByMaterialAndDepot(depotId, material.getId(), parseBigDecimalEx(number), lowSafeStock, highSafeStock); } //更新当前库存 - depotItemService.updateCurrentStockFun(material.getId(), depotId); + depotItemService.updateCurrentStockFun(material.getId(), depotId, currentUnitPrice); } } } @@ -1432,8 +1433,9 @@ public class MaterialService { List idList = StringUtil.strToLongList(ids); List depotList = depotService.getAllList(); for(Long mId: idList) { + BigDecimal currentUnitPrice = materialCurrentStockMapperEx.getCurrentUnitPriceByMId(mId); for(Depot depot: depotList) { - depotItemService.updateCurrentStockFun(mId, depot.getId()); + depotItemService.updateCurrentStockFun(mId, depot.getId(), currentUnitPrice); res = 1; } } diff --git a/jshERP-boot/src/main/resources/mapper_xml/MaterialCurrentStockMapperEx.xml b/jshERP-boot/src/main/resources/mapper_xml/MaterialCurrentStockMapperEx.xml index dce71636..986b5619 100644 --- a/jshERP-boot/src/main/resources/mapper_xml/MaterialCurrentStockMapperEx.xml +++ b/jshERP-boot/src/main/resources/mapper_xml/MaterialCurrentStockMapperEx.xml @@ -28,7 +28,10 @@