From 2df1e02080cba2bd5411ad0c4c085dfe4f7813bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A5=9E=E8=AF=9D?= <752718920@qq.com> Date: Wed, 27 Apr 2022 23:48:42 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=A4=9A=E5=8D=95=E4=BD=8D?= =?UTF-8?q?=E5=95=86=E5=93=81=EF=BC=8C=E5=A4=A7=E5=8D=95=E4=BD=8D=E6=97=B6?= =?UTF-8?q?=E5=88=86=E6=89=B9=E5=87=BA=E5=BA=93=E7=9A=84=E6=97=B6=E5=80=99?= =?UTF-8?q?=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jsh/erp/controller/DepotItemController.java | 6 +++--- .../jsh/erp/service/depotItem/DepotItemService.java | 12 +++++++++++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotItemController.java b/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotItemController.java index 92fd981b..568553fa 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotItemController.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/controller/DepotItemController.java @@ -191,13 +191,13 @@ public class DepotItemController { item.put("color", diEx.getMColor()); item.put("materialOther", getOtherInfo(mpArr, diEx)); BigDecimal stock; + Unit unitInfo = materialService.findUnit(diEx.getMaterialId()); //查询计量单位信息 + String materialUnit = diEx.getMaterialUnit(); if(StringUtil.isNotEmpty(diEx.getSku())){ stock = depotItemService.getSkuStockByParam(diEx.getDepotId(),diEx.getMaterialExtendId(),null,null); } else { stock = depotItemService.getStockByParam(diEx.getDepotId(),diEx.getMaterialId(),null,null); - Unit unitInfo = materialService.findUnit(diEx.getMaterialId()); //查询计量单位信息 if (StringUtil.isNotEmpty(unitInfo.getName())) { - String materialUnit = diEx.getMaterialUnit(); stock = unitService.parseStockByUnit(stock, unitInfo, materialUnit); } } @@ -212,7 +212,7 @@ public class DepotItemController { item.put("operNumber", diEx.getOperNumber()); item.put("basicNumber", diEx.getBasicNumber()); item.put("preNumber", diEx.getOperNumber()); //原数量 - item.put("finishNumber", depotItemService.getFinishNumber(diEx.getMaterialId(), diEx.getHeaderId())); //已入库|已出库 + item.put("finishNumber", depotItemService.getFinishNumber(diEx.getMaterialId(), diEx.getHeaderId(), unitInfo, materialUnit)); //已入库|已出库 item.put("unitPrice", diEx.getUnitPrice()); item.put("taxUnitPrice", diEx.getTaxUnitPrice()); item.put("allPrice", diEx.getAllPrice()); diff --git a/jshERP-boot/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java b/jshERP-boot/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java index fe706066..183c672b 100644 --- a/jshERP-boot/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java +++ b/jshERP-boot/src/main/java/com/jsh/erp/service/depotItem/DepotItemService.java @@ -701,7 +701,7 @@ public class DepotItemService { } @Transactional(value = "transactionManager", rollbackFor = Exception.class) - public BigDecimal getFinishNumber(Long mId, Long headerId) { + public BigDecimal getFinishNumber(Long mId, Long headerId, Unit unitInfo, String materialUnit) { String goToType = ""; DepotHead depotHead =depotHeadMapper.selectByPrimaryKey(headerId); String linkNumber = depotHead.getNumber(); //订单号 @@ -712,6 +712,16 @@ public class DepotItemService { goToType = BusinessConstants.SUB_TYPE_SALES; } BigDecimal count = depotItemMapperEx.getFinishNumber(mId, linkNumber, goToType); + //根据多单位情况进行数量的转换 + if(materialUnit.equals(unitInfo.getOtherUnit()) && unitInfo.getRatio() != 0) { + count = count.divide(BigDecimal.valueOf(unitInfo.getRatio()),2,BigDecimal.ROUND_HALF_UP); + } + if(materialUnit.equals(unitInfo.getOtherUnitTwo()) && unitInfo.getRatioTwo() != 0) { + count = count.divide(BigDecimal.valueOf(unitInfo.getRatioTwo()),2,BigDecimal.ROUND_HALF_UP); + } + if(materialUnit.equals(unitInfo.getOtherUnitThree()) && unitInfo.getRatioThree() != 0) { + count = count.divide(BigDecimal.valueOf(unitInfo.getRatioThree()),2,BigDecimal.ROUND_HALF_UP); + } return count; }