From 26e6eefcf5f897a5ed01a36c853d8948e0d9b48d Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期一, 22 九月 2025 10:57:19 +0800
Subject: [PATCH] 添加删除日志

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderMealServiceImpl.java |   91 ++++++++++++++++++++++++++++++++-------------
 1 files changed, 64 insertions(+), 27 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderMealServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderMealServiceImpl.java
index 41e151a..5a7e0c1 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderMealServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderMealServiceImpl.java
@@ -11,6 +11,8 @@
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.system.domain.*;
 import com.ruoyi.system.dto.*;
+import com.ruoyi.system.export.SumGeneratorClient;
+import com.ruoyi.system.export.SumGeneratorDetailClient;
 import com.ruoyi.system.mapper.TOrderMealGoodsMapper;
 import com.ruoyi.system.mapper.TOrderMealMapper;
 import com.ruoyi.system.query.*;
@@ -281,6 +283,7 @@
                 .eq(TOrderMeal::getShopId, query.getShopId())
                 .ge(TOrderMeal::getMealTime, query.getStartTime())
                 .le(TOrderMeal::getMealTime, query.getEndTime())
+                .eq(TOrderMeal::getIsCover,1)
                 .eq(TOrderMeal::getStatus,2));
         List<Long> ids = list.stream().map(TOrderMeal::getId).collect(Collectors.toList());
         if(!CollectionUtils.isEmpty(ids)){
@@ -308,33 +311,35 @@
 
     @Override
     public List<TOrderMealVO> exportOrderMeal(TOrderMealQuery query) {
-        if(Objects.nonNull(query.getTimeType())){
-            LocalDateTime startTime = null;
-            LocalDateTime endTime = null;
-            switch (query.getTimeType()){
-                case 1:
-                    // 今日
-                    startTime = DateUtils.getDayStart(LocalDateTime.now());
-                    endTime = DateUtils.getDayEnd(LocalDateTime.now());
-                    break;
-                case 2:
-                    // 昨日
-                    startTime = DateUtils.getDayStart(LocalDateTime.now().minusDays(1));
-                    endTime = DateUtils.getDayEnd(LocalDateTime.now().minusDays(1));
-                    break;
-                case 3:
-                    // 近7天
-                    startTime = DateUtils.getDayStart(LocalDateTime.now().minusDays(7));
-                    endTime = DateUtils.getDayEnd(LocalDateTime.now());
-                    break;
-                case 4:
-                    // 近30天
-                    startTime = DateUtils.getDayStart(LocalDateTime.now().minusDays(30));
-                    endTime = DateUtils.getDayEnd(LocalDateTime.now());
-                    break;
+        if(StringUtils.isEmpty(query.getStartTime()) && StringUtils.isEmpty(query.getEndTime())){
+            if(Objects.nonNull(query.getTimeType())){
+                LocalDateTime startTime = null;
+                LocalDateTime endTime = null;
+                switch (query.getTimeType()){
+                    case 1:
+                        // 今日
+                        startTime = DateUtils.getDayStart(LocalDateTime.now());
+                        endTime = DateUtils.getDayEnd(LocalDateTime.now());
+                        break;
+                    case 2:
+                        // 昨日
+                        startTime = DateUtils.getDayStart(LocalDateTime.now().minusDays(1));
+                        endTime = DateUtils.getDayEnd(LocalDateTime.now().minusDays(1));
+                        break;
+                    case 3:
+                        // 近7天
+                        startTime = DateUtils.getDayStart(LocalDateTime.now().minusDays(7));
+                        endTime = DateUtils.getDayEnd(LocalDateTime.now());
+                        break;
+                    case 4:
+                        // 近30天
+                        startTime = DateUtils.getDayStart(LocalDateTime.now().minusDays(30));
+                        endTime = DateUtils.getDayEnd(LocalDateTime.now());
+                        break;
+                }
+                query.setStartTime(DateUtils.localDateTimeToDate(startTime));
+                query.setEndTime(DateUtils.localDateTimeToDate(endTime));
             }
-            query.setStartTime(DateUtils.localDateTimeToDate(startTime));
-            query.setEndTime(DateUtils.localDateTimeToDate(endTime));
         }
         List<TOrderMealVO> list = this.baseMapper.exportOrderMeal(query);
         List<Long> ids = list.stream().map(TOrderMealVO::getId).collect(Collectors.toList());
@@ -442,7 +447,7 @@
         // 开台
         board.setStatus(BoardEnum.WAITING_ORDER.getCode());
         boardService.updateById(board);
-        dto.setMealTime(LocalDate.now());
+        dto.setMealTime(dto.getMealTime());
         dto.setOrderNum(OrderNumConstants.MEAL + CodeGenerateUtils.generateVolumeSn());
         this.save(dto);
     }
@@ -498,4 +503,36 @@
         this.baseMapper.deleteByShopId(shopId);
     }
 
+    @Override
+    public Map<String, Double> getDataGeneratorMealDetailOrderMoney(TDataGeneratorMealQuery query) {
+        return this.baseMapper.getDataGeneratorMealDetailOrderMoney(query);
+    }
+
+    @Override
+    public SumGeneratorClient sumExport(ProfitDetailsQuery query) {
+        List<SumGeneratorDetailClient> sumGeneratorDetailClient = this.baseMapper.sumExport(query);
+
+        for (SumGeneratorDetailClient generatorDetailClient : sumGeneratorDetailClient) {
+            generatorDetailClient.setSingleAmount(generatorDetailClient.getActualAmount().divide(new BigDecimal(generatorDetailClient.getOrderCount()),2,BigDecimal.ROUND_DOWN));
+            generatorDetailClient.setPerAmount(generatorDetailClient.getActualAmount().divide(new BigDecimal(generatorDetailClient.getPerCount()),2,BigDecimal.ROUND_DOWN));
+        }
+
+        SumGeneratorClient sumGeneratorClient = new SumGeneratorClient();
+        if(!CollectionUtils.isEmpty(sumGeneratorDetailClient)){
+            sumGeneratorClient.setActualAmountSum(sumGeneratorDetailClient.stream().map(SumGeneratorDetailClient::getActualAmount).reduce(BigDecimal::add).get());
+            sumGeneratorClient.setOrderCountSum(sumGeneratorDetailClient.stream().map(SumGeneratorDetailClient::getOrderCount).reduce(Integer::sum).get());
+            sumGeneratorClient.setSingleAmountSum(sumGeneratorDetailClient.stream().map(SumGeneratorDetailClient::getSingleAmount).reduce(BigDecimal::add).get());
+            sumGeneratorClient.setPerCountSum(sumGeneratorDetailClient.stream().map(SumGeneratorDetailClient::getPerCount).reduce(Integer::sum).get());
+            sumGeneratorClient.setPerAmountSum(sumGeneratorDetailClient.stream().map(SumGeneratorDetailClient::getPerAmount).reduce(BigDecimal::add).get());
+
+            sumGeneratorClient.setAllMoney(sumGeneratorDetailClient.stream().map(SumGeneratorDetailClient::getActualAmount).reduce(BigDecimal::add).get());
+            sumGeneratorClient.setSingleAvgAmount(sumGeneratorClient.getAllMoney().divide(new BigDecimal(sumGeneratorClient.getOrderCountSum()),2,BigDecimal.ROUND_DOWN));
+            sumGeneratorClient.setPerCapitaAmount(sumGeneratorClient.getAllMoney().divide(new BigDecimal(sumGeneratorClient.getPerCountSum()),2,BigDecimal.ROUND_DOWN));
+        }
+        sumGeneratorClient.setOrderStatistics(sumGeneratorDetailClient);
+
+
+        return sumGeneratorClient;
+    }
+
 }

--
Gitblit v1.7.1