From 5f0bb044b603a335954b11bf3880f4ad6824e98f Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期五, 20 十二月 2024 17:37:47 +0800
Subject: [PATCH] add: 花材销售统计

---
 src/main/java/com/mzl/flower/dto/request/statisticAnalysis/FlowerSaleDTO.java                  |   74 ++++++++++
 src/main/java/com/mzl/flower/dto/response/statisticAnalysis/FlowerSaleVO.java                  |   77 +++++++++++
 src/main/resources/mapper/statisticsAnalysis/SalesStatisticsAnalysisMapper.xml                 |   94 +++++++++++++
 src/main/java/com/mzl/flower/mapper/statisticsAnalysis/SalesStatisticsAnalysisMapper.java      |   20 ++
 src/main/java/com/mzl/flower/service/impl/statisticsAnalysis/StatisticAnalysisServiceImpl.java |   79 +++++++++++
 src/main/java/com/mzl/flower/dto/response/statisticAnalysis/FlowerSaleStatisticVO.java         |   30 ++++
 src/main/java/com/mzl/flower/web/v2/statisticsAnalysis/StatisticAnalysisController.java        |   31 +++-
 src/main/java/com/mzl/flower/service/statisticsAnalysis/StatisticAnalysisService.java          |   10 +
 8 files changed, 407 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/mzl/flower/dto/request/statisticAnalysis/FlowerSaleDTO.java b/src/main/java/com/mzl/flower/dto/request/statisticAnalysis/FlowerSaleDTO.java
new file mode 100644
index 0000000..18ea733
--- /dev/null
+++ b/src/main/java/com/mzl/flower/dto/request/statisticAnalysis/FlowerSaleDTO.java
@@ -0,0 +1,74 @@
+package com.mzl.flower.dto.request.statisticAnalysis;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.time.LocalDateTime;
+
+@Data
+public class FlowerSaleDTO {
+
+    @ApiModelProperty(value = "供应商id")
+    private Long supplierId;
+
+    @ApiModelProperty(value = "供应商名称")
+    private String supplierName;
+
+    @ApiModelProperty("注册手机号")
+    private String registerTel;
+
+    @ApiModelProperty("联系方式")
+    private String contactTel;
+
+    @ApiModelProperty(value = "集货站id")
+    private Long stationId;
+
+    @ApiModelProperty(value = "商品分类")
+    private String flowerCategory;
+
+    @ApiModelProperty(value = "商品等级")
+    private String flowerLevel;
+
+    @ApiModelProperty("销售地区-省")
+    private String customerProvince;
+
+    @ApiModelProperty("销售地区-市")
+    private String customerCity;
+
+    @ApiModelProperty("销售地区-区")
+    private String customerRegion;
+
+    @ApiModelProperty(value = "订单号")
+    private String orderNo;
+
+    @ApiModelProperty(value = "订单开始日期")
+    private LocalDateTime orderStartDate;
+
+    @ApiModelProperty(value = "订单结束日期")
+    private LocalDateTime orderEndDate;
+
+    @ApiModelProperty(hidden = true)
+    private LocalDateTime startDate;
+
+    @ApiModelProperty(hidden = true)
+    private LocalDateTime endDate;
+
+    @ApiModelProperty(value = "支付时间-开始;yyyy-MM-dd")
+    private String startDateStr;
+
+    @ApiModelProperty(value = "支付时间-结束;yyyy-MM-dd")
+    private String endDateStr;
+
+    @ApiModelProperty(value = "创建时间-开始;yyyy-MM-dd")
+    private String createStartDateStr;
+
+    @ApiModelProperty(value = "创建时间-结束;yyyy-MM-dd")
+    private String createEndDateStr;
+
+    @ApiModelProperty(hidden = true)
+    private LocalDateTime createStartDate;
+
+    @ApiModelProperty(hidden = true)
+    private LocalDateTime createEndDate;
+}
diff --git a/src/main/java/com/mzl/flower/dto/response/statisticAnalysis/FlowerSaleStatisticVO.java b/src/main/java/com/mzl/flower/dto/response/statisticAnalysis/FlowerSaleStatisticVO.java
new file mode 100644
index 0000000..8b982c1
--- /dev/null
+++ b/src/main/java/com/mzl/flower/dto/response/statisticAnalysis/FlowerSaleStatisticVO.java
@@ -0,0 +1,30 @@
+package com.mzl.flower.dto.response.statisticAnalysis;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class FlowerSaleStatisticVO {
+
+    @ApiModelProperty("销售金额")
+    private BigDecimal saleAmount;
+
+    @ApiModelProperty("销售扎数")
+    private BigDecimal saleNum;
+
+    @ApiModelProperty("商品总数")
+    private Integer goodsNum;
+
+    @ApiModelProperty("缺货扎数")
+    private BigDecimal lackNum;
+
+    @ApiModelProperty("补货扎数")
+    private BigDecimal replaceNum;
+
+    @ApiModelProperty("降级扎数")
+    private BigDecimal reduceNum;
+
+
+}
diff --git a/src/main/java/com/mzl/flower/dto/response/statisticAnalysis/FlowerSaleVO.java b/src/main/java/com/mzl/flower/dto/response/statisticAnalysis/FlowerSaleVO.java
new file mode 100644
index 0000000..be2bb17
--- /dev/null
+++ b/src/main/java/com/mzl/flower/dto/response/statisticAnalysis/FlowerSaleVO.java
@@ -0,0 +1,77 @@
+package com.mzl.flower.dto.response.statisticAnalysis;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@Data
+public class FlowerSaleVO {
+
+    @ApiModelProperty(value = "供应商id")
+    private Long supplierId;
+
+    @ApiModelProperty(value = "供应商名称")
+    private String supplierName;
+
+    @ApiModelProperty("注册手机号")
+    private String registerTel;
+
+    @ApiModelProperty("联系方式")
+    private String customerTel;
+
+    @ApiModelProperty("集货站id")
+    private Long stationId;
+
+    @ApiModelProperty("集货站名称")
+    private String stationName;
+
+    @ApiModelProperty(value = "品类")
+    private String flowerCategory;
+
+    @ApiModelProperty(value = "商品名称")
+    private String flowerName;
+
+    @ApiModelProperty(value = "等级")
+    private String flowerLevel;
+
+    @ApiModelProperty(value = "规格")
+    private String flowerUnit;
+
+    @ApiModelProperty(value = "底价")
+    private BigDecimal supplierPrice;
+
+    @ApiModelProperty(value = "售价")
+    private BigDecimal price;
+
+    @ApiModelProperty(value = "销售扎数")
+    private Integer num;
+
+    @ApiModelProperty(value = "销售地址")
+    private String address;
+
+    @ApiModelProperty(value = "支付时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @DateTimeFormat
+    private LocalDateTime paymentTime;
+
+    @ApiModelProperty(value = "订单ID号")
+    private String orderId;
+
+    @ApiModelProperty(value = "订单号")
+    private String orderNo;
+
+    @ApiModelProperty(value = "缺货扎数")
+    private Integer lackNum;
+
+    @ApiModelProperty(value = "补货扎数")
+    private Integer replaceNum;
+
+    @ApiModelProperty(value = "降级扎数")
+    private Integer reduceNum;
+
+
+}
diff --git a/src/main/java/com/mzl/flower/mapper/statisticsAnalysis/SalesStatisticsAnalysisMapper.java b/src/main/java/com/mzl/flower/mapper/statisticsAnalysis/SalesStatisticsAnalysisMapper.java
new file mode 100644
index 0000000..456cf24
--- /dev/null
+++ b/src/main/java/com/mzl/flower/mapper/statisticsAnalysis/SalesStatisticsAnalysisMapper.java
@@ -0,0 +1,20 @@
+package com.mzl.flower.mapper.statisticsAnalysis;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.mzl.flower.dto.request.statisticAnalysis.FlowerSaleDTO;
+import com.mzl.flower.dto.response.statisticAnalysis.FlowerSaleStatisticVO;
+import com.mzl.flower.dto.response.statisticAnalysis.FlowerSaleVO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface SalesStatisticsAnalysisMapper {
+
+    Page<FlowerSaleVO> getFlowerSalePage(Page page, @Param("dto") FlowerSaleDTO dto);
+
+    FlowerSaleStatisticVO getFlowerSaleStatistics(@Param("dto") FlowerSaleDTO dto);
+
+    List<FlowerSaleVO> getFlowerSaleSList(@Param("dto") FlowerSaleDTO dto);
+
+}
+
diff --git a/src/main/java/com/mzl/flower/service/impl/statisticsAnalysis/StatisticAnalysisServiceImpl.java b/src/main/java/com/mzl/flower/service/impl/statisticsAnalysis/StatisticAnalysisServiceImpl.java
index 9cc8f69..68430ff 100644
--- a/src/main/java/com/mzl/flower/service/impl/statisticsAnalysis/StatisticAnalysisServiceImpl.java
+++ b/src/main/java/com/mzl/flower/service/impl/statisticsAnalysis/StatisticAnalysisServiceImpl.java
@@ -3,20 +3,29 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.mzl.flower.base.cache.DictCacheClient;
 import com.mzl.flower.dto.request.statisticAnalysis.FlowerMaterialDTO;
+import com.mzl.flower.dto.request.statisticAnalysis.FlowerSaleDTO;
 import com.mzl.flower.dto.response.report.OrderReportResultVO;
 import com.mzl.flower.dto.response.statisticAnalysis.FlowerMaterialStaticVO;
 import com.mzl.flower.dto.response.statisticAnalysis.FlowerMaterialVO;
+import com.mzl.flower.dto.response.statisticAnalysis.FlowerSaleStatisticVO;
+import com.mzl.flower.dto.response.statisticAnalysis.FlowerSaleVO;
 import com.mzl.flower.mapper.statisticsAnalysis.FlowerMaterialMapper;
+import com.mzl.flower.mapper.statisticsAnalysis.SalesStatisticsAnalysisMapper;
 import com.mzl.flower.service.BaseService;
 import com.mzl.flower.service.statisticsAnalysis.StatisticAnalysisService;
 import com.mzl.flower.utils.ExcelExportUtil;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 import java.net.URLEncoder;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -29,6 +38,8 @@
 
     @Autowired
     private FlowerMaterialMapper flowerMaterialMapper;
+    @Resource
+    SalesStatisticsAnalysisMapper salesStatisticAnalysisMapper;
 
     @Override
     public Page<FlowerMaterialVO> getFlowerMaterialPage(Page page, FlowerMaterialDTO dto) {
@@ -98,4 +109,72 @@
             log.error(e.getMessage(), e);
         }
     }
+
+
+    @Override
+    public Page<FlowerSaleVO> getFlowerSalePage(Page page, FlowerSaleDTO dto) {
+        dto.setCreateStartDate(parseLocalDateTime(dto.getCreateStartDateStr(), 17, 0, 0, -1));
+        dto.setCreateEndDate(parseLocalDateTime(dto.getCreateEndDateStr(), 17, 0, 0, 0));
+        return salesStatisticAnalysisMapper.getFlowerSalePage(page, dto);
+    }
+
+    @Override
+    public FlowerSaleStatisticVO getFlowerSaleStatistics(FlowerSaleDTO dto) {
+        return salesStatisticAnalysisMapper.getFlowerSaleStatistics(dto);
+    }
+
+    @Override
+    public void exportFlowerSales(HttpServletResponse response, FlowerSaleDTO dto) {
+        dto.setCreateStartDate(parseLocalDateTime(dto.getCreateStartDateStr(), 17, 0, 0, -1));
+        dto.setCreateEndDate(parseLocalDateTime(dto.getCreateEndDateStr(), 17, 0, 0, 0));
+        List<FlowerSaleVO> list=salesStatisticAnalysisMapper.getFlowerSaleSList(dto);
+        String[] rowsName = new String[]{"序号", "供应商id", "供应商名称", "注册手机号", "联系方式", "集货站", "品类", "商品名称", "等级", "规格", "底价", "售价",
+                "销售扎数", "销售地址", "支付时间", "订单号", "缺货扎数", "补货扎数", "降级扎数"};
+        List<Object[]> dataList = new ArrayList<>();
+        int sn = 1;
+        for (FlowerSaleVO o : list) {
+            Object[] objs = new Object[rowsName.length];
+            int a = 0;
+            objs[a++] = sn; // 序号
+            objs[a++] = o.getSupplierId(); // 供应商id
+            objs[a++] = o.getSupplierName(); // 供应商名称
+            objs[a++] = o.getRegisterTel(); // 注册手机号
+            objs[a++] = o.getCustomerTel(); // 联系方式"
+            objs[a++] = o.getStationName(); // 集货站
+            objs[a++] = o.getFlowerCategory(); // 品类
+            objs[a++] = o.getFlowerName(); //商品名称
+            objs[a++] = o.getFlowerLevel(); //等级
+            objs[a++] = o.getFlowerUnit(); //规格
+            objs[a++] = o.getSupplierPrice();//底价
+            objs[a++] = o.getPrice(); //售价
+            objs[a++] = o.getNum(); //销售扎数
+            objs[a++] = o.getAddress(); //销售地址
+            objs[a++] = o.getPaymentTime(); //支付时间
+            objs[a++] = o.getOrderNo(); //订单号
+            objs[a++] = o.getLackNum(); //缺货扎数
+            objs[a++] = o.getReduceNum(); //补货扎数
+            objs[a++] = o.getReduceNum(); //降级扎数
+            dataList.add(objs);
+            sn++;
+        }
+        ExcelExportUtil excelExportUtil = new ExcelExportUtil("花材销售统计", rowsName, dataList, response);
+        try {
+            response.addHeader("filename", URLEncoder.encode("花材销售统计.xls", "UTF-8"));
+            response.addHeader("Access-Control-Expose-Headers", "filename");
+            excelExportUtil.export();
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+        }
+    }
+
+    protected LocalDateTime parseLocalDateTime(final String dateStr, int hour, int minute, int second, long plusDays) {
+        LocalDateTime dateTime = null;
+        if (StringUtils.isNotBlank(dateStr)) {
+            DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+            LocalDate date = LocalDate.parse(dateStr, dateTimeFormatter).plusDays(plusDays);
+            dateTime = date.atTime(hour, minute, second);
+        }
+
+        return dateTime;
+    }
 }
diff --git a/src/main/java/com/mzl/flower/service/statisticsAnalysis/StatisticAnalysisService.java b/src/main/java/com/mzl/flower/service/statisticsAnalysis/StatisticAnalysisService.java
index dc6dfe6..0ead561 100644
--- a/src/main/java/com/mzl/flower/service/statisticsAnalysis/StatisticAnalysisService.java
+++ b/src/main/java/com/mzl/flower/service/statisticsAnalysis/StatisticAnalysisService.java
@@ -2,8 +2,11 @@
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.mzl.flower.dto.request.statisticAnalysis.FlowerMaterialDTO;
+import com.mzl.flower.dto.request.statisticAnalysis.FlowerSaleDTO;
 import com.mzl.flower.dto.response.statisticAnalysis.FlowerMaterialStaticVO;
+import com.mzl.flower.dto.response.statisticAnalysis.FlowerSaleStatisticVO;
 import com.mzl.flower.dto.response.statisticAnalysis.FlowerMaterialVO;
+import com.mzl.flower.dto.response.statisticAnalysis.FlowerSaleVO;
 
 import javax.servlet.http.HttpServletResponse;
 
@@ -15,4 +18,11 @@
     FlowerMaterialStaticVO getFlowerMaterialStatis(FlowerMaterialDTO dto);
 
     void exportFlowerMaterialSales(HttpServletResponse response, FlowerMaterialDTO dto);
+
+
+    Page<FlowerSaleVO> getFlowerSalePage(Page page, FlowerSaleDTO dto);
+
+    FlowerSaleStatisticVO getFlowerSaleStatistics(FlowerSaleDTO dto);
+
+    void exportFlowerSales(HttpServletResponse response, FlowerSaleDTO dto);
 }
diff --git a/src/main/java/com/mzl/flower/web/v2/statisticsAnalysis/StatisticAnalysisController.java b/src/main/java/com/mzl/flower/web/v2/statisticsAnalysis/StatisticAnalysisController.java
index 42f410d..c8eb798 100644
--- a/src/main/java/com/mzl/flower/web/v2/statisticsAnalysis/StatisticAnalysisController.java
+++ b/src/main/java/com/mzl/flower/web/v2/statisticsAnalysis/StatisticAnalysisController.java
@@ -5,16 +5,12 @@
 import com.mzl.flower.base.BaseController;
 import com.mzl.flower.base.R;
 import com.mzl.flower.base.ReturnDataDTO;
-import com.mzl.flower.dto.request.report.QueryOrderDTO;
-import com.mzl.flower.dto.request.report.QueryPartnerOrderDTO;
-import com.mzl.flower.dto.request.report.QuerySupplierDTO;
 import com.mzl.flower.dto.request.statisticAnalysis.FlowerMaterialDTO;
-import com.mzl.flower.dto.response.report.OrderDetailReportResultVO;
-import com.mzl.flower.dto.response.report.OrderReportResultVO;
-import com.mzl.flower.dto.response.report.OrderSupplierReportResultVO;
+import com.mzl.flower.dto.request.statisticAnalysis.FlowerSaleDTO;
 import com.mzl.flower.dto.response.statisticAnalysis.FlowerMaterialStaticVO;
+import com.mzl.flower.dto.response.statisticAnalysis.FlowerSaleStatisticVO;
 import com.mzl.flower.dto.response.statisticAnalysis.FlowerMaterialVO;
-import com.mzl.flower.service.report.OrderReportService;
+import com.mzl.flower.dto.response.statisticAnalysis.FlowerSaleVO;
 import com.mzl.flower.service.statisticsAnalysis.StatisticAnalysisService;
 import com.mzl.flower.utils.ConverterUtil;
 import io.swagger.annotations.Api;
@@ -55,7 +51,7 @@
     @ApiOperation(value = "花材统计-统计", notes = "花材统计统计")
     public ResponseEntity<ReturnDataDTO<FlowerMaterialStaticVO>> getFlowerMaterialStatis(@Validated FlowerMaterialDTO dto
     ) {
-        return returnData(R.SUCCESS.getCode(), ConverterUtil.transObject(statisticAnalysisService.getFlowerMaterialStatis(dto), FlowerMaterialStaticVO.class));
+        return returnData(R.SUCCESS.getCode(), ConverterUtil.transObject(statisticAnalysisService.getFlowerMaterialStatis(dto), FlowerSaleStatisticVO.class));
     }
 
 
@@ -66,4 +62,23 @@
     }
 
 
+    @GetMapping("/flower-sale/page")
+    @ApiOperation(value = "花材销售统计-分页", notes = "花材销售统计-分页")
+    public ResponseEntity<ReturnDataDTO<Page<FlowerSaleVO>>> getFlowerSalePage(Page page, @Validated FlowerSaleDTO dto) {
+        return returnData(R.SUCCESS.getCode(), ConverterUtil.transPage(statisticAnalysisService.getFlowerSalePage(page, dto), FlowerSaleVO.class));
+    }
+
+    @GetMapping("/flower-sale/statistics")
+    @ApiOperation(value = "花材销售统计-统计", notes = "花材销售统计")
+    public ResponseEntity<ReturnDataDTO<FlowerSaleStatisticVO>> getFlowerSaleStatistics(@Validated FlowerSaleDTO dto) {
+        return returnData(R.SUCCESS.getCode(), ConverterUtil.transObject(statisticAnalysisService.getFlowerSaleStatistics(dto), FlowerSaleStatisticVO.class));
+    }
+
+
+    @GetMapping({"/flower-sale/export"})
+    @ApiOperation(value = "花材销售统计-导出")
+    public void exportFlowerSales(HttpServletResponse response, @Validated FlowerSaleDTO dto) {
+        statisticAnalysisService.exportFlowerSales(response, dto);
+    }
+
 }
\ No newline at end of file
diff --git a/src/main/resources/mapper/statisticsAnalysis/SalesStatisticsAnalysisMapper.xml b/src/main/resources/mapper/statisticsAnalysis/SalesStatisticsAnalysisMapper.xml
new file mode 100644
index 0000000..757a74a
--- /dev/null
+++ b/src/main/resources/mapper/statisticsAnalysis/SalesStatisticsAnalysisMapper.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.mzl.flower.mapper.statisticsAnalysis.SalesStatisticsAnalysisMapper">
+
+    <select id="getFlowerSaleStatistics"
+            resultType="com.mzl.flower.dto.response.statisticAnalysis.FlowerSaleStatisticVO">
+        select sum(t.total) as saleAmount,
+        sum(t.num) as saleNum,
+        count(t.flower_id) as goodsNum,
+        sum(t.lackNum) as lackNum,
+        sum(t.replaceNum) as replaceNum,
+        sum(t.reduceNum) as reduceNum
+        from ( <include refid="flowerSalePageSql"></include>) t
+    </select>
+
+    <select id="getFlowerSalePage" resultType="com.mzl.flower.dto.response.statisticAnalysis.FlowerSaleVO">
+        <include refid="flowerSalePageSql"></include>
+    </select>
+
+    <select id="getFlowerSaleSList" resultType="com.mzl.flower.dto.response.statisticAnalysis.FlowerSaleVO">
+        <include refid="flowerSalePageSql"></include>
+    </select>
+    <sql id="flowerSalePageSql">
+        SELECT
+        oi.*,
+        s.NAME stationName,
+        si.contact_tel registerTel,
+        si.contact_tel customerTel,
+        si.id supplierId,
+        si.name supplierName,
+        o.id orderId,
+        o.order_no,
+        o.payment_time,
+        CONCAT(o.customer_province, ' ', o.customer_city, ' ', o.customer_region, ' ', o.customer_address) AS address,
+        COALESCE((SELECT oic.num FROM t_order_item_check oic WHERE oic.order_item_id = oi.id AND oic.type = 'replace'),
+        0) replaceNum,
+        COALESCE((SELECT oic.num FROM t_order_item_check oic WHERE oic.order_item_id = oi.id AND oic.type = 'reduce'),
+        0) reduceNum,
+        COALESCE((SELECT oic.num FROM t_order_item_check oic WHERE oic.order_item_id = oi.id AND oic.type = 'lack'), 0)
+        lackNum
+        FROM
+        t_order_item oi
+        LEFT JOIN t_station s ON s.id = oi.station_id
+        LEFT JOIN t_supplier_info si ON si.id = oi.supplier_id
+        LEFT JOIN t_order o ON oi.order_id = o.id
+        LEFT JOIN t_flower f on oi.flower_id = f.id
+        <include refid="flowerSaleWhere"></include>
+    </sql>
+
+    <sql id="flowerSaleWhere">
+        WHERE oi.deleted = 0
+        and o.payment_time is not null
+        and o.status_backend not in ('PENDING','CANCEL','REFUND')
+        <if test="dto.supplierId != null">
+            and si.id = #{dto.supplierId}
+        </if>
+        <if test="dto.supplierName != null and dto.supplierName != ''">
+            AND si.name LIKE concat('%', #{dto.supplierName},'%')
+        </if>
+        <if test="dto.registerTel!=null and dto.registerTel!=''">
+            AND si.contact_tel LIKE CONCAT('%',#{dto.registerTel}, '%')
+        </if>
+        <if test="dto.stationId != null">
+            AND oi.station_id = #{dto.stationId}
+        </if>
+        <if test="dto.flowerCategory != null">
+            AND f.category = #{dto.flowerCategory}
+        </if>
+        <if test="dto.flowerLevel != null and dto.flowerLevel != ''">
+            AND oi.flower_level = #{dto.flowerLevel}
+        </if>
+        <if test="dto.customerProvince!=null and dto.customerProvince!=''">
+            AND o.customer_province like CONCAT('%',#{dto.customerProvince}, '%')
+        </if>
+        <if test="dto.customerCity!=null and dto.customerCity!=''">
+            AND o.customer_city like CONCAT('%',#{dto.customerCity}, '%')
+        </if>
+        <if test="dto.customerRegion!=null and dto.customerRegion!=''">
+            AND o.customer_region like CONCAT('%',#{dto.customerRegion}, '%')
+        </if>
+        <if test="dto.orderNo != null and dto.orderNo != ''">
+            AND o.order_no LIKE concat('%', #{dto.orderNo},'%')
+        </if>
+        <!-- 修改查询日期对应的的创建时间为支付时间 2024-10-12-->
+        <if test="dto.createStartDate != null">
+            AND o.payment_time &gt;= #{dto.createStartDate}
+        </if>
+        <if test="dto.createEndDate != null">
+            AND o.payment_time &lt; #{dto.createEndDate}
+        </if>
+</sql>
+
+
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.3