From c69506dbf1d5ba9314346ad394022a064045061d 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, 6 Oct 2022 13:28:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=80=BB=E8=BE=91=EF=BC=9A?= =?UTF-8?q?=E9=94=80=E5=94=AE=E5=87=BA=E5=BA=93=E5=8D=95=EF=BC=88=E5=A6=82?= =?UTF-8?q?=E6=9E=9C=E6=98=AF=E6=89=B9=E6=AC=A1=E5=95=86=E5=93=81=EF=BC=8C?= =?UTF-8?q?=E5=88=99=E8=A6=81=E6=A0=B9=E6=8D=AE=E6=89=B9=E5=8F=B7=E5=8E=BB?= =?UTF-8?q?=E6=89=BE=E4=B9=8B=E5=89=8D=E7=9A=84=E9=87=87=E8=B4=AD=E4=BB=B7?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/depotItem/DepotItemService.java | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) 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 b896096e..7a084d09 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 @@ -525,10 +525,13 @@ public class DepotItemService { } } } - //如果是销售出库单则给采购单价字段赋值 + //如果是销售出库单则给采购单价字段赋值(如果是批次商品,则要根据批号去找之前的采购价) if(BusinessConstants.DEPOTHEAD_TYPE_OUT.equals(depotHead.getType()) && BusinessConstants.SUB_TYPE_SALES.equals(depotHead.getSubType())) { depotItem.setPurchaseUnitPrice(materialExtend.getPurchaseDecimal()); + if(StringUtil.isNotEmpty(depotItem.getBatchNumber())) { + depotItem.setPurchaseUnitPrice(getDepotItemByBatchNumber(depotItem.getBatchNumber()).getUnitPrice()); + } } if (StringUtil.isExist(rowObj.get("taxUnitPrice"))) { depotItem.setTaxUnitPrice(rowObj.getBigDecimal("taxUnitPrice")); @@ -698,6 +701,22 @@ public class DepotItemService { } } + /** + * 根据批号查询单据明细信息 + * @param batchNumber + * @return + */ + public DepotItem getDepotItemByBatchNumber(String batchNumber) { + DepotItem depotItem = new DepotItem(); + DepotItemExample example = new DepotItemExample(); + example.createCriteria().andBatchNumberEqualTo(batchNumber).andDeleteFlagNotEqualTo(BusinessConstants.DELETE_FLAG_DELETED); + List depotItemList = depotItemMapper.selectByExample(example); + if(null != depotItemList && depotItemList.size() > 0){ + depotItem = depotItemList.get(0); + } + return depotItem; + } + @Transactional(value = "transactionManager", rollbackFor = Exception.class) public void deleteDepotItemHeadId(Long headerId)throws Exception { try{