From 59099ec96f7a2da11df4b0b1593092b0aff38e90 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期四, 23 十月 2025 13:45:52 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpClinicWarehousingServiceImpl.java |   25 ++++++++++++++++++++++---
 1 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpClinicWarehousingServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpClinicWarehousingServiceImpl.java
index 31b6874..c43fcec 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpClinicWarehousingServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpClinicWarehousingServiceImpl.java
@@ -46,6 +46,7 @@
     @Resource
     private TCrmClinicMapper crmClinicMapper;
 
+
     @Resource
     private TErpClinicInventoryGoodsMapper erpClinicInventoryGoodsMapper;
 
@@ -297,6 +298,20 @@
                 tErpGoodsVO.setTypeName(tErpGoodsVO.getTypeName());
             }
         }
+        List<String> unitIds = list.stream().map(TErpGoods::getPackingUnitId).collect(Collectors.toList());
+        if (!unitIds.isEmpty()) {
+            List<TErpGoodsUnit> unitList = erpGoodsUnitMapper.selectBatchIds(unitIds);
+            for (TErpGoodsVO tErpGoodsVO : list) {
+                unitList.stream().filter(t -> t.getId().equals(tErpGoodsVO.getPackingUnitId())).findFirst().ifPresent(t -> tErpGoodsVO.setPackingUnitName(t.getUnitName()));
+            }
+        }
+        List<String> supplierIds = list.stream().map(TErpGoods::getSupplierClinicId).collect(Collectors.toList());
+        if (!supplierIds.isEmpty()) {
+            List<TCrmSupplier> supplierClinicList = crmSupplierMapper.selectBatchIds(supplierIds);
+            for (TErpGoodsVO tErpGoodsVO : list) {
+                supplierClinicList.stream().filter(t -> tErpGoodsVO.getGoodsSource()==1 && t.getId().equals(tErpGoodsVO.getSupplierClinicId())).findFirst().ifPresent(t -> tErpGoodsVO.setSupplierName(t.getSupplierName()));
+            }
+        }
         pageInfo.setRecords(list);
         return pageInfo;
     }
@@ -380,7 +395,7 @@
         tErpClinicWarehousing.setClinicId(supplierClinicId);
         tErpClinicWarehousing.setCreateId(user.getUserId().toString());
 
-        TErpClinicWarehousing last = this.getOne(new LambdaQueryWrapper<TErpClinicWarehousing>().orderByDesc(BaseModel::getCreateTime).last("LIMIT 1"));
+        TErpClinicWarehousing last = this.getOne(new LambdaQueryWrapper<TErpClinicWarehousing>().orderByDesc(BaseModel::getCreateTime).orderByDesc(TErpClinicWarehousing::getWarehouseNo).last("LIMIT 1"));
         if(last==null){
             tErpClinicWarehousing.setWarehouseNo("G" + DateUtils.dateTimeNow()+"00001");
         }else{
@@ -468,7 +483,7 @@
         TErpClinicOutbound tErpClinicOutbound = new TErpClinicOutbound();
         tErpClinicOutbound.setClinicId(supplierClinicId);
         tErpClinicOutbound.setCreateId(user.getUserId().toString());
-        TErpClinicOutbound last = erpClinicOutboundMapper.selectOne(new LambdaQueryWrapper<TErpClinicOutbound>().orderByDesc(BaseModel::getCreateTime).last("limit 1"));
+        TErpClinicOutbound last = erpClinicOutboundMapper.selectOne(new LambdaQueryWrapper<TErpClinicOutbound>().orderByDesc(BaseModel::getCreateTime).orderByDesc(TErpClinicOutbound::getOutboundNumber).last("limit 1"));
         if(last==null){
             tErpClinicOutbound.setOutboundNumber("G" + DateUtils.dateTimeNow()+"00001");
         }else{
@@ -512,7 +527,11 @@
             tErpClinicOutboundGoods1.setWarehousingId(tErpClinicWarehousingBatch.getWarehousingId());
             tErpClinicOutboundGoods1.setWarehousingBatchId(batchId);
             tErpClinicOutboundGoods1.setOutboundCount(outboundGoodsNextDto.getNum());
-            tErpClinicOutboundGoods1.setTotalPrice(tErpClinicWarehousingBatch.getUnitAmount().multiply(BigDecimal.valueOf(outboundGoodsNextDto.getNum())));
+            if(tErpClinicWarehousingBatch.getUnitAmount()==null){
+                tErpClinicOutboundGoods1.setTotalPrice(tErpClinicWarehousingBatch.getSalesAmount().multiply(BigDecimal.valueOf(outboundGoodsNextDto.getNum())));
+            }else {
+                tErpClinicOutboundGoods1.setTotalPrice(tErpClinicWarehousingBatch.getUnitAmount().multiply(BigDecimal.valueOf(outboundGoodsNextDto.getNum())));
+            }
             tErpClinicOutboundGoods1.setGoodsId(tErpClinicWarehousingBatch.getGoodsId());
             tErpClinicOutboundGoods.add(tErpClinicOutboundGoods1);
             erpClinicOutboundGoodsMapper.insert(tErpClinicOutboundGoods1);

--
Gitblit v1.7.1