From cd54fe846c969fad9109adc53b93e8671f010d35 Mon Sep 17 00:00:00 2001 From: 陶杰 <1378534974@qq.com> Date: 星期六, 12 十月 2024 16:30:58 +0800 Subject: [PATCH] 1.合伙人报表优化 --- src/main/java/com/mzl/flower/dto/request/report/QueryPartnerOrderDTO.java | 11 +++++++++++ src/main/resources/mapper/report/OrderReportMapper.xml | 6 ++++++ src/main/java/com/mzl/flower/service/impl/report/OrderReportServiceImpl.java | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 49 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/mzl/flower/dto/request/report/QueryPartnerOrderDTO.java b/src/main/java/com/mzl/flower/dto/request/report/QueryPartnerOrderDTO.java index 4dd1de4..79540e4 100644 --- a/src/main/java/com/mzl/flower/dto/request/report/QueryPartnerOrderDTO.java +++ b/src/main/java/com/mzl/flower/dto/request/report/QueryPartnerOrderDTO.java @@ -27,4 +27,15 @@ @NotNull(message = "结束日期不能为空") private LocalDate paymentDateEnd; + + @ApiModelProperty(value = "开始时间",hidden = true) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss" ,timezone="GMT+8") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private LocalDateTime startDate; + + @ApiModelProperty(value = "结束时间",hidden = true) + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss" ,timezone="GMT+8") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private LocalDateTime endDate; + } diff --git a/src/main/java/com/mzl/flower/service/impl/report/OrderReportServiceImpl.java b/src/main/java/com/mzl/flower/service/impl/report/OrderReportServiceImpl.java index 9a28008..c5d1640 100644 --- a/src/main/java/com/mzl/flower/service/impl/report/OrderReportServiceImpl.java +++ b/src/main/java/com/mzl/flower/service/impl/report/OrderReportServiceImpl.java @@ -23,6 +23,7 @@ import javax.servlet.http.HttpServletResponse; import java.net.URLEncoder; +import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.util.ArrayList; @@ -206,18 +207,33 @@ @Override public Page<OrderPartnerReportResultVO> getPartnerSalePage(Page page, QueryPartnerOrderDTO dto) { + + if(null!=dto.getPaymentDateStart()) + dto.setStartDate(calculateStartTime(dto.getPaymentDateStart())); + if(null!=dto.getPaymentDateEnd()) + dto.setEndDate(calculateEndTime(dto.getPaymentDateEnd())); Page<OrderPartnerReportResultVO> result=orderReportMapper.getPartnerOrderDateReportPage(page,dto); return result; } @Override public OrderPartnerReportResultVO getPartnerSaleStatis(QueryPartnerOrderDTO dto) { + if(null!=dto.getPaymentDateStart()) + dto.setStartDate(calculateStartTime(dto.getPaymentDateStart())); + if(null!=dto.getPaymentDateEnd()) + dto.setEndDate(calculateEndTime(dto.getPaymentDateEnd())); OrderPartnerReportResultVO vo2=orderReportMapper.getPartnerOrderDateReportStatis(dto); return vo2; } @Override public void exportPartnerSalesList(HttpServletResponse response, QueryPartnerOrderDTO dto) { + + if(null!=dto.getPaymentDateStart()) + dto.setStartDate(calculateStartTime(dto.getPaymentDateStart())); + if(null!=dto.getPaymentDateEnd()) + dto.setEndDate(calculateEndTime(dto.getPaymentDateEnd())); + List<OrderPartnerReportResultVO> list = orderReportMapper.getPartnerOrderDateReportList(dto); @@ -338,5 +354,21 @@ LocalDateTime endOfDay = endDateTime.with(LocalTime.of(17, 0, 0)); return endOfDay; } + + + // 计算 startDate 前一天的 17:00:00 + public static LocalDateTime calculateStartTime(LocalDate startDate) { + // 获取前一天的日期,并将时间设为 17:00:00 + LocalDateTime previousDay = startDate.minusDays(1).atTime(LocalTime.of(17, 0, 0)); + return previousDay; + } + + // 计算 endDate 当天的 17:00:00 + public static LocalDateTime calculateEndTime(LocalDate endDate) { + // 将时间部分固定为 17:00:00 + LocalDateTime endOfDay = endDate.atTime(LocalTime.of(17, 0, 0)); + return endOfDay; + } + } \ No newline at end of file diff --git a/src/main/resources/mapper/report/OrderReportMapper.xml b/src/main/resources/mapper/report/OrderReportMapper.xml index 03e9ca8..b629cdb 100644 --- a/src/main/resources/mapper/report/OrderReportMapper.xml +++ b/src/main/resources/mapper/report/OrderReportMapper.xml @@ -411,6 +411,12 @@ left join t_supplier_info si on si.id = oi.supplier_id left join t_order_item_settlement ois on ois.order_item_id = oi.id WHERE oi.deleted = 0 + <if test="dto.startDate != null"> + and o.payment_time > #{dto.startDate} + </if> + <if test="dto.endDate != null"> + and o.payment_time <= #{dto.endDate} + </if> )t1 where 1=1 <if test="dto.paymentDateStart != null"> -- Gitblit v1.9.3