修改销量和台桌导出 -- 合并

This commit is contained in:
GYJ
2024-08-15 17:33:03 +08:00
parent fa566a7057
commit a183d2bfec
2 changed files with 1 additions and 48 deletions

View File

@@ -38,20 +38,6 @@ public interface TbOrderDetailRepository extends JpaRepository<TbOrderDetail, In
@Query("SELECT cart FROM TbOrderDetail cart WHERE cart.orderId in :ids") @Query("SELECT cart FROM TbOrderDetail cart WHERE cart.orderId in :ids")
List<TbOrderDetail> searchDetailByOrderIds(@Param("ids")List<Integer> ids); List<TbOrderDetail> searchDetailByOrderIds(@Param("ids")List<Integer> ids);
@Query(value = "SELECT " +
"new cn.ysk.cashier.vo.TbOrderSaleVO(oi.orderNo, od.num, od.price, od.status, 0)\n" +
"FROM\n" +
"TbOrderInfo oi\n" +
"LEFT JOIN TbOrderDetail od ON oi.id = od.orderId \n" +
"WHERE\n" +
"od.shopId = :shopId \n" +
"AND ( od.status = 'closed' OR od.status = 'refund' ) \n" +
"AND od.createTime > :startTime \n" +
"AND od.createTime < :endTime \n" +
"AND (:productId is null or od.productId = :productId)\n" +
"AND (:productId is null or od.productSkuId = :productSkuId)")
List<TbOrderSaleVO> querySaleOrderInfo(@Param("startTime") Timestamp startTime, @Param("endTime") Timestamp endTime, @Param("productId") Integer productId, @Param("productSkuId") Integer productSkuId, @Param("shopId") Integer shopId);
@Query("SELECT new cn.ysk.cashier.vo.TbOrderSalesCountByDayVo(" + @Query("SELECT new cn.ysk.cashier.vo.TbOrderSalesCountByDayVo(" +
"info.productName, info.productSkuName, cate.name, unit.name,info.price," + "info.productName, info.productSkuName, cate.name, unit.name,info.price," +

View File

@@ -1,20 +1,15 @@
package cn.ysk.cashier.service.impl; package cn.ysk.cashier.service.impl;
import cn.hutool.core.util.StrUtil;
import cn.ysk.cashier.dto.ShopSummaryDto; import cn.ysk.cashier.dto.ShopSummaryDto;
import cn.ysk.cashier.dto.shop.ShopTableSeleInfoDto; import cn.ysk.cashier.dto.shop.ShopTableSeleInfoDto;
import cn.ysk.cashier.enums.PayTypeEnum; import cn.ysk.cashier.enums.PayTypeEnum;
import cn.ysk.cashier.exception.BadRequestException; import cn.ysk.cashier.exception.BadRequestException;
import cn.ysk.cashier.mybatis.mapper.TbOrderInfoMapper;
import cn.ysk.cashier.mybatis.service.TbShopUserFlowService; import cn.ysk.cashier.mybatis.service.TbShopUserFlowService;
import cn.ysk.cashier.pojo.shop.TbShopTable;
import cn.ysk.cashier.repository.ShopUserDutyDetailRepository; import cn.ysk.cashier.repository.ShopUserDutyDetailRepository;
import cn.ysk.cashier.repository.ShopUserDutyRepository; import cn.ysk.cashier.repository.ShopUserDutyRepository;
import cn.ysk.cashier.repository.TbTokenRepository; import cn.ysk.cashier.repository.TbTokenRepository;
import cn.ysk.cashier.repository.order.TbOrderDetailRepository; import cn.ysk.cashier.repository.order.TbOrderDetailRepository;
import cn.ysk.cashier.repository.order.TbOrderInfoRepository; import cn.ysk.cashier.repository.order.TbOrderInfoRepository;
import cn.ysk.cashier.repository.shop.TbShopAreaRepository;
import cn.ysk.cashier.repository.shop.TbShopTableRepository;
import cn.ysk.cashier.repository.shop.TbShopUserRepository; import cn.ysk.cashier.repository.shop.TbShopUserRepository;
import cn.ysk.cashier.service.SummaryService; import cn.ysk.cashier.service.SummaryService;
import cn.ysk.cashier.utils.DateUtil; import cn.ysk.cashier.utils.DateUtil;
@@ -36,13 +31,11 @@ import java.io.IOException;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.BigInteger; import java.math.BigInteger;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.sql.Timestamp;
import java.time.Instant; import java.time.Instant;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.CopyOnWriteArraySet;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -66,15 +59,8 @@ public class SummaryServiceImpl implements SummaryService {
@Resource @Resource
private TbShopUserFlowService tbShopUserFlowService; private TbShopUserFlowService tbShopUserFlowService;
@Resource
private TbShopTableRepository shopTableRepository;
@Resource
TbShopAreaRepository tbShopAreaRepository;
@Autowired @Autowired
private TbOrderDetailRepository tbOrderDetailRepository; private TbOrderDetailRepository tbOrderDetailRepository;
private final TbOrderInfoMapper orderInfoMapper;
@Override @Override
@@ -559,7 +545,7 @@ public class SummaryServiceImpl implements SummaryService {
Map<String, List<TbOrderSalesCountByTable>> countByTableMap = countByTables.stream() Map<String, List<TbOrderSalesCountByTable>> countByTableMap = countByTables.stream()
.collect(Collectors.groupingBy(TbOrderSalesCountByTable::getTableId)); .collect(Collectors.groupingBy(TbOrderSalesCountByTable::getTableId));
List<Map<String, Object>> list = new ArrayList<>(); ConcurrentLinkedQueue<Map<String, Object>> list = new ConcurrentLinkedQueue<>();
ArrayList<Integer> mergeRowIndex = new ArrayList<>(); ArrayList<Integer> mergeRowIndex = new ArrayList<>();
for (ShopTableSaleInfoVo all : infoVos) { for (ShopTableSaleInfoVo all : infoVos) {
@@ -580,27 +566,9 @@ public class SummaryServiceImpl implements SummaryService {
map.put("商品规格", table.getProductSkuName()); map.put("商品规格", table.getProductSkuName());
map.put("销量", table.getSalesNum()); map.put("销量", table.getSalesNum());
map.put("销售额", table.getSalesAmount()); map.put("销售额", table.getSalesAmount());
// map.put("订单数量", all.getOrderCount());
// map.put("销售额", all.getOrderAmount());
// map.put("商品名称", table.getProductName());
// map.put("销售数量", table.getSalesNum());
list.add(map); list.add(map);
} }
// Map<String, Object> map = new LinkedHashMap<>();
//
// map.put("开始时间", shopTableSeleInfoDto.getStartTime());
// map.put("结束时间", shopTableSeleInfoDto.getEndTime());
// map.put("区域名称", all.getAreaName());
// map.put("桌台名称", all.getTableName());
// map.put("订单数量", all.getOrderCount());
// map.put("销售额", all.getOrderAmount());
//
// list.add(map);
if (!tables.isEmpty()) { if (!tables.isEmpty()) {
if (mergeRowIndex.isEmpty()) { if (mergeRowIndex.isEmpty()) {
mergeRowIndex.add(tables.size()); mergeRowIndex.add(tables.size());
@@ -609,7 +577,6 @@ public class SummaryServiceImpl implements SummaryService {
} }
} }
} }
// FileUtil.downloadExcel(list, response);
FileUtil.downloadExcelAndMerge(list, 4, response, mergeRowIndex); FileUtil.downloadExcelAndMerge(list, 4, response, mergeRowIndex);
} }
} }