cloudroam
2024-10-11 56a7e539628f35d350532e8afcb51e39d9cd0cf9
fix:补充花农报表
已修改4个文件
73 ■■■■■ 文件已修改
src/main/java/com/mzl/flower/dto/response/report/OrderSupplierReportResultVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mzl/flower/service/impl/report/OrderReportServiceImpl.java 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/mzl/flower/web/v2/report/OrderReportController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/report/OrderReportMapper.xml 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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>