zxl
2026-03-25 963a8c24874c2e10a329a6ea39774bc5eda0f762
jyz-base-start/src/main/java/com/tievd/jyz/entity/vo/DataStatisReqVo.java
@@ -28,6 +28,18 @@
    @Schema(description = "结束时间")
    private String endTime;
    @Schema(description = "活动前开始时间")
    private String beforeStartTime;
    @Schema(description = "活动前结束时间")
    private String beforeEndTime;
    @Schema(description = "活动后开始时间")
    private String afterStartTime;
    @Schema(description = "活动后结束时间")
    private String afterEndTime;
    
    public void setOrgCodeIfnull(String orgCode) {
        if (this.orgCode == null || this.orgCode.equals("")){
@@ -46,6 +58,12 @@
    
    @Schema(description = "HOURS, DAYS, MONTHS")
    private StatUnit timeUnit = StatUnit.HOURS;
    @Schema(description = "趋势图点位时间")
    private String statTime;
    @Schema(description = "趋势图系列名称")
    private String seriesName;
    
    private DataStatisReqVo setTimeUnit(String timeUnit){
        this.timeUnit = StatUnit.valueOf(timeUnit);
@@ -90,12 +108,20 @@
    }
    
    public enum TrendType {
        TRAFFIC(1, StatDataTableVo::getCarCount, StatDataTableVo::getEntryRate, "车流量", "拐入率"),
        OIL(2, StatDataTableVo::getOilCount, StatDataTableVo::getOilVolume, "加油数", "油品销量"),
        OIL_vOLUME(3, StatDataTableVo::getOilVolume, t -> 100 * (t.getOilVolume() - t.getPreStatVo().getOilVolume()) / (t.getPreStatVo().getOilVolume() + 1), "油品销量", "环比"),
        SPAND_AVG(4, StatDataTableVo::getSpandAvg, t -> 100 * (t.getSpandAvg() - t.getPreStatVo().getSpandAvg()) / (t.getPreStatVo().getSpandAvg() + 1), "通过率", "环比"),
        CLIENT(5, null),
        LOSE_CLIENT(6, null);
        TRAFFIC(0, StatDataTableVo::getCarCount, StatDataTableVo::getEntryRate, "车流量", "拐入率"),
        OIL(1, StatDataTableVo::getOilCount, StatDataTableVo::getOilVolume, "加油数", "油品销量"),
        OIL_vOLUME(2, StatDataTableVo::getOilVolume, t -> 100 * (t.getOilVolume() - t.getPreStatVo().getOilVolume()) / (t.getPreStatVo().getOilVolume() + 1), "油品销量", "环比"),
        SPAND_AVG(3, StatDataTableVo::getSpandAvg, t -> 100 * (t.getSpandAvg() - t.getPreStatVo().getSpandAvg()) / (t.getPreStatVo().getSpandAvg() + 1), "通过率", "环比"),
        CLIENT(4, null),
        LOSE_CLIENT(5, null),
        SALES_AMOUNT(6, StatDataTableVo::getTotalAmount, t -> {
            java.math.BigDecimal current = t.getTotalAmount();
            java.math.BigDecimal previous = t.getPreStatVo().getTotalAmount();
            if (previous.compareTo(java.math.BigDecimal.ZERO) == 0) {
                return java.math.BigDecimal.ZERO;
            }
            return current.subtract(previous).multiply(new java.math.BigDecimal(100)).divide(previous, 2, java.math.RoundingMode.HALF_UP);
        }, "销售金额", "环比");
        
        int val;