From 09892cb8b391914c7c78a61c79503456d9958137 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期二, 21 十月 2025 14:31:57 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysOrderServiceImpl.java |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysOrderServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysOrderServiceImpl.java
index e6a00cd..ba77560 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysOrderServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysOrderServiceImpl.java
@@ -25,6 +25,7 @@
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -92,21 +93,23 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void add(TSysOrderDto dto, TCrmClinic crmClinic) {
+    public void add(TSysOrderDto dto, TCrmClinic crmClinic,String name,String userId) {
         // 判断库存够不够  添加订单 添加订单二级  出库记录
         List<TSysOrderNextDto> dtoList = dto.getDtoList();
         ArrayList<TSysOrderGoods> tSysOrderGoods = new ArrayList<>();
         ArrayList<TErpClinicOutboundGoods> erpClinicOutboundGoods = new ArrayList<>();
 
+        HashSet<String> goodsIds = new HashSet<>();
         for (TSysOrderNextDto sysOrderNextDto : dtoList) {
             TErpClinicWarehousingBatch tErpClinicWarehousingBatch = erpClinicWarehousingBatchMapper.selectById(sysOrderNextDto.getBatchId());
             // 找出这个批次出库多少
             List<TErpClinicOutboundGoods> tErpClinicOutboundGoods = erpClinicOutboundGoodsMapper.selectList(new LambdaQueryWrapper<TErpClinicOutboundGoods>().eq(TErpClinicOutboundGoods::getWarehousingBatchId, sysOrderNextDto.getBatchId()));
             int count = tErpClinicOutboundGoods.stream().mapToInt(TErpClinicOutboundGoods::getOutboundCount).sum();
-            if(tErpClinicWarehousingBatch.getPurchaseCount() < count + sysOrderNextDto.getNum()){
+            if(tErpClinicWarehousingBatch.getWarehousingNumber() < count + sysOrderNextDto.getNum()){
                 throw new RuntimeException("库存不足");
             }
             TErpGoods goods = erpGoodsMapper.selectById(tErpClinicWarehousingBatch.getGoodsId());
+            goodsIds.add(goods.getId());
             TSysOrderGoods tSysOrderGoods1 = new TSysOrderGoods();
             tSysOrderGoods1.setGoodsName(goods.getGoodsName());
             TErpGoodsType tErpGoodsType = erpGoodsTypeMapper.selectById(goods.getTypeId());
@@ -152,6 +155,9 @@
         tErpClinicOutbound.setOrderNumber(tSysOrder.getOrderNumber());
         tErpClinicOutbound.setTotalMoney(dto.getTotalMoney());
         tErpClinicOutbound.setOutboundNumber("G"+System.currentTimeMillis());
+        tErpClinicOutbound.setCreateBy(name);
+        tErpClinicOutbound.setCreateId(userId);
+        tErpClinicOutbound.setTypeNum(goodsIds.size());
         erpClinicOutboundMapper.insert(tErpClinicOutbound);
 
         for (TErpClinicOutboundGoods erpClinicOutboundGood : erpClinicOutboundGoods) {

--
Gitblit v1.7.1