package com.tievd.jyz.entity.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.experimental.Accessors; import java.io.Serializable; import java.time.LocalDateTime; @Data @Accessors(chain = true) @Schema(name = "数据报表统计") public class StatDataTableVo implements Serializable { private static final long serialVersionUID = 1L; @Schema(description = "车流量") private int carCount; @Schema(description = "进站数") private int appearCount; @Schema(description = "加油数") private int oilCount; @Schema(description = "加油数、销量") private int oilVolume; @Schema(description = "时长") private int sumSpand; @Schema(description = "通过率") private Integer spandAvg; @Schema(description = "进入率") private String entryRate; @Schema(description = "加油率") private String oilRate; @Schema(description = "回头率") private String rebackRate; @Schema(description = "加油位") private String oilPosition; @Schema(description = "车型") private String modelName; @Schema(description = "时间轴") private LocalDateTime statTime; public void addCarCount(int carCount) { this.carCount += carCount; } public void addAppearCount(int appearCount) { this.appearCount += appearCount; } public void addOilCount(int oilCount) { this.oilCount += oilCount; } public void addOilVolume(int oilVolume) { this.oilVolume += oilVolume; } public void addSumSpand(int sumSpand) { this.sumSpand += sumSpand; } public int getSpandAvg() { if (spandAvg == null) { spandAvg = appearCount == 0 ? 0 : sumSpand / appearCount; } return spandAvg; } public String getEntryRate() { if (entryRate == null) { if (carCount == 0) { entryRate = "0"; } else { entryRate = String.valueOf(appearCount * 100 / carCount); } } return entryRate; } public String getOilRate() { if (oilRate == null) { if (appearCount == 0) { oilRate = "0"; } else { oilRate = String.valueOf(oilCount * 100 / appearCount); } } return oilRate; } private StatDataTableVo preStatVo = null; }