From 3d998953d34afa6c72ca5d292f49c1349461aeda Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期五, 20 十二月 2024 17:46:45 +0800
Subject: [PATCH] 导出

---
 ruoyi-system/src/main/java/com/ruoyi/system/export/SumGeneratorDetailClient.java      |   10 +-
 ruoyi-system/src/main/java/com/ruoyi/system/service/TOrderMealService.java            |    8 ++
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/TOrderMealMapper.java              |    7 ++
 ruoyi-system/src/main/resources/mapper/system/TOrderSaleMapper.xml                    |   15 -----
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderMealServiceImpl.java   |   29 +++++++++
 ruoyi-system/src/main/java/com/ruoyi/system/service/TOrderSaleService.java            |    6 --
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TDataStatisticsController.java |    4 
 ruoyi-system/src/main/resources/mapper/system/TOrderMealMapper.xml                    |   16 +++++
 ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java          |    4 +
 ruoyi-system/src/main/resources/template/营业统计报表.xls                                   |    0 
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderSaleServiceImpl.java   |   24 --------
 11 files changed, 69 insertions(+), 54 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TDataStatisticsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TDataStatisticsController.java
index 465a773..b9f7a2e 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TDataStatisticsController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TDataStatisticsController.java
@@ -401,12 +401,12 @@
             }
         }
 
-        sumGeneratorClient.setGeneratorTime(DateUtils.stringToLocalDate(query.getStartTime()) + " ~ " + DateUtils.stringToLocalDate(query.getEndTime()));
+        sumGeneratorClient = orderMealService.sumExport(query);
+        sumGeneratorClient.setGeneratorTime(DateUtils.stringToLocalDateTime(query.getStartTime()).toLocalDate() + " ~ " + DateUtils.stringToLocalDateTime(query.getEndTime()).toLocalDate());
         TShop shop = shopService.getById(objectId);
         if(Objects.nonNull(shop)){
             sumGeneratorClient.setShopName(shop.getShopName());
         }
-        sumGeneratorClient = orderSaleService.sumExport(query);
         result.put("sumGeneratorClient",sumGeneratorClient);
         //1.获取excel模板
         ClassPathResource classPathResource = new ClassPathResource("template/营业统计报表.xls");
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
index 2066915..20276e0 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
@@ -111,7 +111,9 @@
                 // 过滤请求
                 .authorizeRequests()
                 // 对于登录login 注册register 验证码captchaImage 允许匿名访问
-                .antMatchers("/getPrivacyAgreement/{agreementType}","/applet/queryProtocolConfigByType","/applet/login","/reLogin","/platformLogin","/login","/applet/queryProtocolConfigByType", "/register","/applet/getCode","/applet/loginCode","/applet/changepwd", "/captchaImage","/getCode","/loginCode","/operations/getBySingleNum/**",
+                .antMatchers("/getPrivacyAgreement/{agreementType}","/applet/queryProtocolConfigByType","/applet/login","/reLogin",
+                        "/platformLogin","/login","/applet/queryProtocolConfigByType", "/register","/applet/getCode","/applet/loginCode","/applet/changepwd",
+                        "/captchaImage","/getCode","/loginCode","/operations/getBySingleNum/**",
                         "/user/getUserInfoByNumber/**").permitAll()
                 // 静态资源,可匿名访问
                 .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/export/SumGeneratorDetailClient.java b/ruoyi-system/src/main/java/com/ruoyi/system/export/SumGeneratorDetailClient.java
index 8d8de5b..d8d0791 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/export/SumGeneratorDetailClient.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/export/SumGeneratorDetailClient.java
@@ -12,14 +12,14 @@
     @Excel(name = "日期")
     private String dayTime;
     @Excel(name = "实收金额")
-    private BigDecimal actualAmount;
+    private BigDecimal actualAmount = BigDecimal.ZERO;
     @Excel(name = "帐单数")
-    private Integer orderCount;
+    private Integer orderCount = 0;
     @Excel(name = "单均消费")
-    private BigDecimal singleAmount;
+    private BigDecimal singleAmount = BigDecimal.ZERO;
     @Excel(name = "消费人数")
-    private Integer perCount;
+    private Integer perCount = 0;
     @Excel(name = "人均消费")
-    private BigDecimal perAmount;
+    private BigDecimal perAmount = BigDecimal.ZERO;
 
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TOrderMealMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TOrderMealMapper.java
index 3ec056f..2399ce4 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TOrderMealMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TOrderMealMapper.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ruoyi.common.basic.PageInfo;
 import com.ruoyi.system.domain.TOrderMeal;
+import com.ruoyi.system.export.SumGeneratorDetailClient;
 import com.ruoyi.system.query.*;
 import com.ruoyi.system.vo.*;
 import org.apache.ibatis.annotations.Param;
@@ -124,4 +125,10 @@
 
     Map<String, Double> getDataGeneratorMealDetailOrderMoney(@Param("query")TDataGeneratorMealQuery query);
 
+    /**
+     * 导出汇总
+     * @param query
+     * @return
+     */
+    List<SumGeneratorDetailClient> sumExport(@Param("query") ProfitDetailsQuery query);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TOrderMealService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TOrderMealService.java
index 05f9fc3..b759de0 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TOrderMealService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TOrderMealService.java
@@ -7,6 +7,7 @@
 import com.ruoyi.system.dto.CheckoutDTO;
 import com.ruoyi.system.dto.OrderMealGeneratorDTO;
 import com.ruoyi.system.dto.TOrderMealDTO;
+import com.ruoyi.system.export.SumGeneratorClient;
 import com.ruoyi.system.query.*;
 import com.ruoyi.system.vo.*;
 
@@ -147,4 +148,11 @@
     void deleteByShopId(Long shopId);
 
     Map<String, Double> getDataGeneratorMealDetailOrderMoney(TDataGeneratorMealQuery query);
+
+    /**
+     * 汇总导出
+     * @param query
+     * @return
+     */
+    SumGeneratorClient sumExport(ProfitDetailsQuery query);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TOrderSaleService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TOrderSaleService.java
index 9a1613d..fc09cf0 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TOrderSaleService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TOrderSaleService.java
@@ -126,10 +126,4 @@
 
     Map<String, Double> getDataGeneratorSaleDetailOrderMoney(TDataGeneratorSaleQuery query);
 
-    /**
-     * 汇总导出
-     * @param query
-     * @return
-     */
-    SumGeneratorClient sumExport(ProfitDetailsQuery query);
 }
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 e995d1d..6c95673 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.*;
@@ -503,4 +505,31 @@
         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.getPerCountSum()),2,BigDecimal.ROUND_DOWN));
+            sumGeneratorClient.setPerCapitaAmount(sumGeneratorClient.getAllMoney().divide(new BigDecimal(sumGeneratorClient.getOrderCountSum()),2,BigDecimal.ROUND_DOWN));
+        }
+        sumGeneratorClient.setOrderStatistics(sumGeneratorDetailClient);
+
+
+        return sumGeneratorClient;
+    }
+
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderSaleServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderSaleServiceImpl.java
index fa441c3..8c0cfa0 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderSaleServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderSaleServiceImpl.java
@@ -491,28 +491,4 @@
         return this.baseMapper.getDataGeneratorSaleDetailOrderMoney(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();
-        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.getPerCountSum())));
-        sumGeneratorClient.setPerCapitaAmount(sumGeneratorClient.getAllMoney().divide(new BigDecimal(sumGeneratorClient.getOrderCountSum())));
-
-        sumGeneratorClient.setOrderStatistics(sumGeneratorDetailClient);
-
-        return sumGeneratorClient;
-    }
 }
diff --git a/ruoyi-system/src/main/resources/mapper/system/TOrderMealMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TOrderMealMapper.xml
index 959aab2..b5f428b 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TOrderMealMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TOrderMealMapper.xml
@@ -392,5 +392,19 @@
             AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
         </where>
     </select>
-
+    <select id="sumExport" resultType="com.ruoyi.system.export.SumGeneratorDetailClient">
+        select
+        DATE_FORMAT(mealTime, '%Y-%m-%d') AS dayTime,
+        IFNULL(SUM(payMoney),0) AS actualAmount,
+        IFNULL(COUNT(id),0) AS orderCount,
+        IFNULL(SUM(mealPerson),0) AS perCount
+        from t_order_meal
+        <where>
+            <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
+                AND (mealTime BETWEEN #{query.startTime} AND #{query.endTime})
+            </if>
+            AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
+        </where>
+        GROUP BY DATE_FORMAT(mealTime, '%Y-%m-%d')
+    </select>
 </mapper>
diff --git a/ruoyi-system/src/main/resources/mapper/system/TOrderSaleMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TOrderSaleMapper.xml
index 26a32dc..cd91c05 100644
--- a/ruoyi-system/src/main/resources/mapper/system/TOrderSaleMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/TOrderSaleMapper.xml
@@ -339,20 +339,5 @@
             AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
         </where>
     </select>
-    <select id="sumExport" resultType="com.ruoyi.system.export.SumGeneratorDetailClient">
-        select
-            DATE_FORMAT(mealTime, '%Y-%m-%d') AS dayTime,
-            IFNULL(SUM(payMoney),0) AS actualAmount,
-            IFNULL(COUNT(id),0) AS orderCount,
-            IFNULL(SUM(mealPerson),0) AS perCount
-        from t_order_sale
-        <where>
-            <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
-                AND (orderTime BETWEEN #{query.startTime} AND #{query.endTime})
-            </if>
-            AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
-        </where>
-        GROUP BY DATE_FORMAT(mealTime, '%Y-%m-%d')
-    </select>
 
 </mapper>
diff --git "a/ruoyi-system/src/main/resources/template/\350\220\245\344\270\232\347\273\237\350\256\241\346\212\245\350\241\250.xls" "b/ruoyi-system/src/main/resources/template/\350\220\245\344\270\232\347\273\237\350\256\241\346\212\245\350\241\250.xls"
index ccdbc30..1267f70 100644
--- "a/ruoyi-system/src/main/resources/template/\350\220\245\344\270\232\347\273\237\350\256\241\346\212\245\350\241\250.xls"
+++ "b/ruoyi-system/src/main/resources/template/\350\220\245\344\270\232\347\273\237\350\256\241\346\212\245\350\241\250.xls"
Binary files differ

--
Gitblit v1.7.1