From f73e9c5419c82b9ff685b8e67d839fd942100073 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期三, 22 十月 2025 18:05:10 +0800
Subject: [PATCH] 修改bug
---
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