From 56a7e539628f35d350532e8afcb51e39d9cd0cf9 Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期五, 11 十月 2024 11:31:10 +0800
Subject: [PATCH] fix:补充花农报表

---
 src/main/java/com/mzl/flower/web/v2/report/OrderReportController.java             |    2 
 src/main/java/com/mzl/flower/dto/response/report/OrderSupplierReportResultVO.java |    2 
 src/main/resources/mapper/report/OrderReportMapper.xml                            |   34 ++++++++++++++--
 src/main/java/com/mzl/flower/service/impl/report/OrderReportServiceImpl.java      |   35 +++++++++--------
 4 files changed, 50 insertions(+), 23 deletions(-)

diff --git a/src/main/java/com/mzl/flower/dto/response/report/OrderSupplierReportResultVO.java b/src/main/java/com/mzl/flower/dto/response/report/OrderSupplierReportResultVO.java
index baf5129..2414d2a 100644
--- a/src/main/java/com/mzl/flower/dto/response/report/OrderSupplierReportResultVO.java
+++ b/src/main/java/com/mzl/flower/dto/response/report/OrderSupplierReportResultVO.java
@@ -15,7 +15,7 @@
     @ApiModelProperty("日期")
     @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     @DateTimeFormat(pattern = "yyyy-MM-dd")
-    private LocalDateTime orderDate;
+    private LocalDateTime dateinfo;
 
     @ApiModelProperty("供应商ID")
     private String supplierId;
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 6b30c09..3d6bcd6 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
@@ -18,6 +18,7 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
 import org.springframework.util.StringUtils;
 
 import javax.servlet.http.HttpServletResponse;
@@ -292,25 +293,27 @@
         List<OrderSupplierReportResultVO> list = orderReportMapper.getOrderSupplierReport(supplierReportCalendarBO);
 
         String[] rowsName = new String[]{"序号","日期", "供应商ID", "供应商","花农底价"
-                , "降级扣款",  "缺货扣款(缺货+补货)","售后扣花农款","售后扣合伙人款","实际销售扎数","结算费用","订单状态"};
+                , "降级扣款",  "缺货扣款(缺货+补货)","售后扣花农款","实际销售扎数","结算费用","订单状态"};
         List<Object[]> dataList = new ArrayList<>();
         int sn = 1;
         for (OrderSupplierReportResultVO o : list) {
-            Object[] objs = new Object[rowsName.length];
-            int a = 0;
-            objs[a++] = sn; // 序号
-            objs[a++] = format(o.getOrderDate(), "yyyy-MM-dd"); // 日期
-            objs[a++] = o.getSupplierId(); // 供应商ID
-            objs[a++] = o.getSupplierName(); // 供应商
-            objs[a++] = o.getOrderSupplierPriceAmount(); // 花农底价
-            objs[a++] = o.getOrderCheckFee(); //降级扣款
-            objs[a++] = o.getOrderLackFeeSupplier();//缺货扣款
-            objs[a++] = o.getSalesFeeSupplier(); // 售后扣花农款
-            objs[a++] = o.getRealSaleNum(); // 实际销售扎数
-            objs[a++] = o.getProfitFeeAmount(); // 结算费用
-            objs[a++] = o.getSettleStatus(); // 订单状态
-            dataList.add(objs);
-            sn++;
+            if(!ObjectUtils.isEmpty(o)) {
+                Object[] objs = new Object[rowsName.length];
+                int a = 0;
+                objs[a++] = sn; // 序号
+                objs[a++] = format(o.getDateinfo(), "yyyy-MM-dd"); // 日期
+                objs[a++] = o.getSupplierId(); // 供应商ID
+                objs[a++] = o.getSupplierName(); // 供应商
+                objs[a++] = o.getOrderSupplierPriceAmount(); // 花农底价
+                objs[a++] = o.getOrderCheckFee(); //降级扣款
+                objs[a++] = o.getOrderLackFeeSupplier();//缺货扣款
+                objs[a++] = o.getSalesFeeSupplier(); // 售后扣花农款
+                objs[a++] = o.getRealSaleNum(); // 实际销售扎数
+                objs[a++] = o.getProfitFeeAmount(); // 结算费用
+                objs[a++] = o.getSettleStatus(); // 订单状态
+                dataList.add(objs);
+                sn++;
+            }
         }
 
         ExcelExportUtil excelExportUtil = new ExcelExportUtil("花农结算报表", rowsName, dataList, response);
diff --git a/src/main/java/com/mzl/flower/web/v2/report/OrderReportController.java b/src/main/java/com/mzl/flower/web/v2/report/OrderReportController.java
index 939ebe0..6e1aeea 100644
--- a/src/main/java/com/mzl/flower/web/v2/report/OrderReportController.java
+++ b/src/main/java/com/mzl/flower/web/v2/report/OrderReportController.java
@@ -110,7 +110,7 @@
 
     @GetMapping({"/supplier/export"})
     @ApiOperation(value = "花农结算报表导出")
-    public void supplierExports(HttpServletResponse response, @Validated QuerySupplierDTO dto) {
+    public void supplierExports(HttpServletResponse response, QuerySupplierDTO dto) {
         orderReportService.exportSupplierList(response, dto);
     }
 
diff --git a/src/main/resources/mapper/report/OrderReportMapper.xml b/src/main/resources/mapper/report/OrderReportMapper.xml
index e72d449..f9dc45c 100644
--- a/src/main/resources/mapper/report/OrderReportMapper.xml
+++ b/src/main/resources/mapper/report/OrderReportMapper.xml
@@ -523,6 +523,31 @@
         )  s group by dateinfo,supplier_id
     </select>
 
+    <select id="getOrderSupplierReport" resultType="com.mzl.flower.dto.response.report.OrderSupplierReportResultVO">
+        select
+        dateinfo,
+        supplier_id,
+        supplierName,
+        sum(order_supplier_price_amount) order_supplier_price_amount,
+        sum(order_check_fee) order_check_fee,
+        sum(order_replace_fee) + sum(order_lack_fee_supplier) order_lack_fee_supplier,
+        sum(order_num)-sum(order_lack_num) as real_sale_num,
+        sum(sales_fee_supplier) sales_fee_supplier,
+        sum(order_supplier_price_amount) -   sum(order_check_fee) - sum(order_replace_fee) -  sum(order_lack_fee_supplier) -  sum(sales_fee_supplier) profitFeeAmount
+        from(
+        SELECT
+        oi.id,vor.*,p.name as supplierName
+        FROM   t_order_item oi
+        left join (<include refid="baseSupplierSql"></include>) vor
+        on oi.id =vor.order_item_id
+        left join t_supplier_info p
+        on vor.supplier_id=p.id
+        left join t_order o
+        on vor.order_id= o.id
+        and o.status_backend not in ('PENDING','CANCEL','REFUND')
+        )  s group by dateinfo,supplier_id
+    </select>
+
     <select id="getOrderSupplierCountReport" resultType="com.mzl.flower.dto.response.report.OrderSupplierReportResultVO">
         Select
         sum(order_supplier_price_amount) order_supplier_price_amount,
@@ -541,12 +566,11 @@
         sum(order_replace_fee) + sum(order_lack_fee_supplier) order_lack_fee_supplier,
         sum(order_num)-sum(order_lack_num) as real_sale_num,
         sum(sales_fee_supplier) sales_fee_supplier,
-        sum(order_supplier_price_amount) - sum(order_check_fee) - sum(order_replace_fee) - sum(order_lack_fee_supplier)
-        - sum(sales_fee_supplier) profitFeeAmount
+        sum(order_supplier_price_amount) -   sum(order_check_fee) - sum(order_replace_fee) -  sum(order_lack_fee_supplier) -  sum(sales_fee_supplier) profitFeeAmount
         from(
         SELECT
         oi.id,vor.*,p.name as supplierName
-        FROM t_order_item oi
+        FROM   t_order_item oi
         left join (<include refid="baseSupplierSql"></include>) vor
         on oi.id =vor.order_item_id
         left join t_supplier_info p
@@ -554,7 +578,7 @@
         left join t_order o
         on vor.order_id= o.id
         and o.status_backend not in ('PENDING','CANCEL','REFUND')
-        )
-        ) s
+        )  s group by dateinfo,supplier_id
+        ) s2
     </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3