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 &gt; #{dto.startDate}
+            </if>
+            <if test="dto.endDate != null">
+                and o.payment_time &lt;= #{dto.endDate}
+            </if>
         )t1
         where 1=1
         <if test="dto.paymentDateStart != null">

--
Gitblit v1.9.3