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