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; 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); 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); } 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>