From 8c2128317af3e5a2df32150f3684167925ee4508 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期四, 05 九月 2024 14:07:32 +0800 Subject: [PATCH] 生成数据详情和导出 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderStockServiceImpl.java | 89 ++++++++++++++++++++++++++++++++++++++------ 1 files changed, 76 insertions(+), 13 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderStockServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderStockServiceImpl.java index a2d8b03..97887c2 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderStockServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TOrderStockServiceImpl.java @@ -11,6 +11,7 @@ import com.ruoyi.system.dto.TOrderSaleDTO; import com.ruoyi.system.dto.TOrderStockDTO; import com.ruoyi.system.mapper.TOrderStockMapper; +import com.ruoyi.system.query.TDataGeneratorStockQuery; import com.ruoyi.system.query.TOrderStockQuery; import com.ruoyi.system.service.TOrderStockGoodsService; import com.ruoyi.system.service.TOrderStockService; @@ -21,6 +22,8 @@ import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.List; +import java.util.Map; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -67,20 +70,33 @@ public PageInfo<TOrderStockVO> pageList(TOrderStockQuery query) { // 判断时间 - if (query.getType() != null) { - if (query.getType() == 1) { - query.setStartTime(LocalDateTime.now()); - query.setEndTime(LocalDateTime.now()); - } else if (query.getType() == 2) { - query.setStartTime(LocalDateTime.now().minusDays(1)); - query.setEndTime(LocalDateTime.now().minusDays(1)); - } else if (query.getType() == 3) { - query.setStartTime(LocalDateTime.now().minusDays(7)); - query.setEndTime(LocalDateTime.now()); - }else { - query.setStartTime(LocalDateTime.now().minusDays(30)); - query.setEndTime(LocalDateTime.now()); + if(Objects.nonNull(query.getTimeType())){ + LocalDateTime startTime = null; + LocalDateTime endTime = null; + switch (query.getTimeType()){ + case 1: + // 今日 + startTime = LocalDateTime.MIN; + endTime = LocalDateTime.MAX; + break; + case 2: + // 昨日 + startTime = LocalDateTime.now().minusDays(1); + endTime = LocalDateTime.now().minusDays(1); + break; + case 3: + // 近7天 + startTime = LocalDateTime.now().minusDays(7); + endTime = LocalDateTime.now(); + break; + case 4: + // 近30天 + startTime = LocalDateTime.now().minusDays(30); + endTime = LocalDateTime.now(); + break; } + query.setStartTime(startTime); + query.setEndTime(endTime); } PageInfo<TOrderStockVO> pageInfo = new PageInfo<>(query.getPageNum(),query.getPageSize()); List<TOrderStockVO> list = this.baseMapper.pageList(query,pageInfo); @@ -95,4 +111,51 @@ pageInfo.setRecords(list); return pageInfo; } + + @Override + public Map<String, Object> getDataGeneratorStockDetail(TDataGeneratorStockQuery query) { + return this.baseMapper.getDataGeneratorStockDetail(query); + } + + @Override + public List<TOrderStockVO> stockGeneratorExport(TDataGeneratorStockQuery query) { + if(Objects.nonNull(query.getTimeType())){ + LocalDateTime startTime = null; + LocalDateTime endTime = null; + switch (query.getTimeType()){ + case 1: + // 今日 + startTime = LocalDateTime.MIN; + endTime = LocalDateTime.MAX; + break; + case 2: + // 昨日 + startTime = LocalDateTime.now().minusDays(1); + endTime = LocalDateTime.now().minusDays(1); + break; + case 3: + // 近7天 + startTime = LocalDateTime.now().minusDays(7); + endTime = LocalDateTime.now(); + break; + case 4: + // 近30天 + startTime = LocalDateTime.now().minusDays(30); + endTime = LocalDateTime.now(); + break; + } + query.setStartTime(startTime); + query.setEndTime(endTime); + } + List<TOrderStockVO> list = this.baseMapper.stockGeneratorExport(query); + // 查询商品 + List<Long> orderIds = list.stream().map(TOrderStockVO::getId).collect(Collectors.toList()); + List<TOrderStockGoods> orderStockGoods = tOrderStockGoodsService.list(Wrappers.lambdaQuery(TOrderStockGoods.class) + .in(TOrderStockGoods::getOrderId, orderIds)); + list.forEach(orderSale -> { + List<TOrderStockGoods> collect = orderStockGoods.stream().filter(orderSaleGoods -> orderSaleGoods.getOrderId().equals(orderSale.getId())).collect(Collectors.toList()); + orderSale.setOrderStockGoods(collect); + }); + return list; + } } -- Gitblit v1.7.1