From 7df0337148d9d6d6158ad93564aa2a3c827265cc Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期三, 22 十月 2025 15:17:15 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/haizhentong

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysOrderServiceImpl.java |   46 +++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 43 insertions(+), 3 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 72a7925..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
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.common.core.domain.BaseModel;
 import com.ruoyi.system.dto.TSysOrderDto;
 import com.ruoyi.system.dto.TSysOrderNextDto;
 import com.ruoyi.system.mapper.*;
@@ -12,6 +13,8 @@
 import com.ruoyi.system.service.TCrmClinicService;
 import com.ruoyi.system.service.TErpClinicOutboundService;
 import com.ruoyi.system.service.TSysOrderService;
+import com.ruoyi.system.vo.ClinicSalesStatisticsGoodsCountVO;
+import com.ruoyi.system.vo.ClinicSalesStatisticsGoodsTypeVO;
 import com.ruoyi.system.vo.TSysOrderPageVo;
 import com.ruoyi.system.vo.TSysOrderVO;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -22,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;
 
@@ -69,7 +73,7 @@
         for (TSysOrderVO sysOrderVO : sysOrderVOS) {
             sysOrderVO.setSysOrderGoods(sysOrderGoodsList.stream().filter(sysOrderGoods -> sysOrderGoods.getOrderId().equals(sysOrderVO.getId())).collect(Collectors.toList()));
         }
-        return this.baseMapper.queryListByAppUserId(id);
+        return sysOrderVOS;
     }
 
     @Override
@@ -89,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());
@@ -116,6 +122,7 @@
             tSysOrderGoods1.setBatchId(tErpClinicWarehousingBatch.getId());
             tSysOrderGoods1.setBatchNumber(tErpClinicWarehousingBatch.getBatchNumber());
             tSysOrderGoods1.setRemainingQuantity(sysOrderNextDto.getRemainingQuantity());
+            tSysOrderGoods1.setGoodsId(goods.getId());
             tSysOrderGoods.add(tSysOrderGoods1);
 
 
@@ -148,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) {
@@ -156,4 +166,34 @@
         }
 
     }
+
+    @Override
+    public Integer clinicSalesStatisticsCount(List<String> clinicIds) {
+        return this.baseMapper.clinicSalesStatisticsCount(clinicIds);
+    }
+
+    @Override
+    public Integer clinicSalesStatisticsTypeCount(List<String> clinicIds) {
+        return this.baseMapper.clinicSalesStatisticsTypeCount(clinicIds);
+    }
+
+    @Override
+    public BigDecimal clinicSalesStatisticsMoney(String clinicId, String startTime, String endTime) {
+        return this.baseMapper.clinicSalesStatisticsMoney(clinicId,startTime,endTime);
+    }
+
+    @Override
+    public List<ClinicSalesStatisticsGoodsTypeVO> clinicSalesStatisticsGoodsType(String clinicId, String startTime, String endTime) {
+        return this.baseMapper.clinicSalesStatisticsGoodsType(clinicId,startTime,endTime);
+    }
+
+    @Override
+    public List<ClinicSalesStatisticsGoodsCountVO> clinicSalesStatisticsGoodsCount(String clinicId, String startTime, String endTime, String goodsName) {
+        return this.baseMapper.clinicSalesStatisticsGoodsCount(clinicId,startTime,endTime,goodsName);
+    }
+
+    @Override
+    public List<ClinicSalesStatisticsGoodsCountVO> clinicSalesStatisticsGoodsCountMonth(String clinicId, String startTime, String endTime, String goodsName) {
+        return this.baseMapper.clinicSalesStatisticsGoodsCountMonth(clinicId,startTime,endTime,goodsName);
+    }
 }

--
Gitblit v1.7.1