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