From c56a04603ed50269e5e339c6abe0759af31fde9c Mon Sep 17 00:00:00 2001 From: x_z Date: Wed, 22 Mar 2023 10:04:43 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9=E5=8D=95=E6=8D=AE=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E7=9A=84=E5=AE=9E=E9=99=85=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inout/StockOrderDetailController.java | 22 ++++++++++++++++++- .../service/basic/UdiRelevanceService.java | 9 +++++++- .../basic/impl/UdiRelevanceServiceImpl.java | 17 ++++++++++++++ 3 files changed, 46 insertions(+), 2 deletions(-) diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderDetailController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderDetailController.java index 3cec627..699e850 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderDetailController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderDetailController.java @@ -97,6 +97,23 @@ public class StockOrderDetailController { List stockOrderDetailEntityList = stockOrderDetailService.filterStockOrderDetail(stockOrderDetailFilterRequest); + //计算实际数量 + if (CollUtil.isNotEmpty(stockOrderDetailEntityList)) { + List codeList = codesService.findByReceiptId(stockOrderEntity.getOrderIdFk()); + if (CollUtil.isNotEmpty(codeList)) { + stockOrderDetailEntityList.forEach(stockOrderDetailEntity -> { + codeList.forEach(codeEntity -> { + if (StrUtil.trimToEmpty(codeEntity.getRelId()).equals(StrUtil.trimToEmpty(stockOrderDetailEntity.getRelId())) && (StrUtil.trimToEmpty(codeEntity.getBatchNo()).equals(StrUtil.trimToEmpty(stockOrderDetailEntity.getBatchNo())))) { + int actCount = udiRelevanceService.getActCountByRelIdAndNameCode(stockOrderDetailEntity.getRelId(), codeEntity.getNameCode()); + stockOrderDetailEntity.setReCount(String.valueOf(actCount)); + } + }); + + }); + } + + } + BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.findBTByAction(stockOrderEntity.getBillType()); @@ -129,7 +146,10 @@ public class StockOrderDetailController { item.setCodeId(codeDetaiEntity.getId().intValue()); item.setSerialNo(codeDetaiEntity.getSerialNo()); item.setCount(codeDetaiEntity.getCount() + ""); - item.setReCount(codeDetaiEntity.getCount() + ""); + //item.setReCount(codeDetaiEntity.getCount() + ""); + //计算实际数量 + int actCount = udiRelevanceService.getActCountByRelIdAndNameCode(codeDetaiEntity.getRelId(), codeDetaiEntity.getNameCode()); + item.setReCount(String.valueOf(actCount)); resultList.add(item); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/UdiRelevanceService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/UdiRelevanceService.java index a63c0d0..06a0833 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/UdiRelevanceService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/UdiRelevanceService.java @@ -5,7 +5,6 @@ import com.glxp.sale.admin.entity.basic.UdiRelevanceEntity; import com.glxp.sale.admin.req.basic.FilterUdiInfoRequest; import com.glxp.sale.admin.req.basic.UdiRelevanceRequest; import com.glxp.sale.admin.res.basic.UdiRelevanceResponse; -import org.apache.ibatis.annotations.Param; import java.util.List; @@ -64,4 +63,12 @@ public interface UdiRelevanceService { boolean deleteByUuid(String uuid); + /** + * 根据耗材字典ID和DI计算实际数量 + * + * @param relId + * @return + */ + int getActCountByRelIdAndNameCode(String relId, String nameCode); + } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/UdiRelevanceServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/UdiRelevanceServiceImpl.java index 0dd5d8e..6296ce2 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/UdiRelevanceServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/basic/impl/UdiRelevanceServiceImpl.java @@ -305,4 +305,21 @@ public class UdiRelevanceServiceImpl implements UdiRelevanceService { public boolean deleteByUuid(String uuid) { return udiRelevanceDao.deleteByUuid(uuid); } + + @Override + public int getActCountByRelIdAndNameCode(String relId, String nameCode) { + UdiRelevanceEntity udiRelevanceEntity = selectById(relId); + UdiRelevanceResponse udiRelevanceResponse = selectByNameCode(nameCode); + if (null != udiRelevanceResponse) { + if ((udiRelevanceEntity.getIsUseDy() != null && udiRelevanceEntity.getIsUseDy()) && udiRelevanceResponse.getDiType() != 2) { + if (udiRelevanceResponse.getBhzxxsbzsl() == 0) + return udiRelevanceResponse.getZxxsbzbhsydysl(); + else + return udiRelevanceResponse.getZxxsbzbhsydysl() * udiRelevanceResponse.getBhzxxsbzsl(); + } else { + return udiRelevanceResponse.getBhzxxsbzsl(); + } + } + return 1; + } }