From 0292446e1531500b07ae0da35535c94f7f4714ec Mon Sep 17 00:00:00 2001 From: jishenghua <752718920@qq.com> Date: Thu, 23 May 2024 23:29:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=8D=95=E6=8D=AE=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E4=B8=AD=E5=A2=9E=E5=8A=A0=E6=9B=B4=E6=96=B0=E6=88=90?= =?UTF-8?q?=E6=9C=AC=E4=BB=B7=E7=9A=84=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/depotItem/DepotItemService.java | 31 ++++++++++++++----- .../mapper_xml/DepotItemMapperEx.xml | 7 +++-- 2 files changed, 28 insertions(+), 10 deletions(-) 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 dfc9278b..198a6466 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 @@ -1065,16 +1065,33 @@ public class DepotItemService { for(DepotItemVo4DetailByTypeAndMId item: itemList) { //入库 if(BusinessConstants.DEPOTHEAD_TYPE_IN.equals(item.getType())) { - currentAllPrice = currentAllPrice.add(item.getAllPrice()); - currentNumber = currentNumber.add(item.getBnum()); - currentUnitPrice = currentAllPrice.divide(currentNumber, 2, BigDecimal.ROUND_HALF_UP); + //零售退货、销售退货 + if(BusinessConstants.SUB_TYPE_RETAIL_RETURN.equals(item.getSubType())||BusinessConstants.SUB_TYPE_SALES_RETURN.equals(item.getSubType())) { + //数量*当前的成本单价 + currentNumber = currentNumber.add(item.getBnum()); + BigDecimal inNum = item.getBnum()!=null?item.getBnum():BigDecimal.ZERO; + currentAllPrice = currentAllPrice.add(inNum.multiply(currentUnitPrice)); + } else { + //数量*单价 另外计算新的成本价 + currentAllPrice = currentAllPrice.add(item.getAllPrice()); + currentNumber = currentNumber.add(item.getBnum()); + currentUnitPrice = currentAllPrice.divide(currentNumber, 2, BigDecimal.ROUND_HALF_UP); + } } //出库 if(BusinessConstants.DEPOTHEAD_TYPE_OUT.equals(item.getType())) { - currentNumber = currentNumber.add(item.getBnum()); - BigDecimal outNum = item.getBnum()!=null?item.getBnum():BigDecimal.ZERO; - //出库的数量*当前的成本单价 - currentAllPrice = currentAllPrice.add(outNum.multiply(currentUnitPrice)); + //采购退货 + if(BusinessConstants.SUB_TYPE_PURCHASE_RETURN.equals(item.getSubType())) { + //数量*单价 另外计算新的成本价 + currentAllPrice = currentAllPrice.add(item.getAllPrice()); + currentNumber = currentNumber.add(item.getBnum()); + currentUnitPrice = currentAllPrice.divide(currentNumber, 2, BigDecimal.ROUND_HALF_UP); + } else { + currentNumber = currentNumber.add(item.getBnum()); + BigDecimal outNum = item.getBnum()!=null?item.getBnum():BigDecimal.ZERO; + //数量*当前的成本单价 + currentAllPrice = currentAllPrice.add(outNum.multiply(currentUnitPrice)); + } } } //更新实时库存中的当前单价 diff --git a/jshERP-boot/src/main/resources/mapper_xml/DepotItemMapperEx.xml b/jshERP-boot/src/main/resources/mapper_xml/DepotItemMapperEx.xml index 82420f18..fc5f4f04 100644 --- a/jshERP-boot/src/main/resources/mapper_xml/DepotItemMapperEx.xml +++ b/jshERP-boot/src/main/resources/mapper_xml/DepotItemMapperEx.xml @@ -145,7 +145,8 @@