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