package cn.iocoder.yudao.module.mes.controller.admin.energy.vo;
|
|
import jakarta.validation.constraints.AssertTrue;
|
import jakarta.validation.constraints.NotNull;
|
import jakarta.validation.constraints.Pattern;
|
import lombok.Data;
|
import org.springframework.format.annotation.DateTimeFormat;
|
import java.time.LocalDate;
|
|
@Data
|
public class EnergyAnalysisReqVO {
|
@NotNull
|
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
|
private LocalDate startDate;
|
@NotNull
|
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
|
private LocalDate endDate;
|
@Pattern(regexp = "WATER|ELECTRICITY|STEAM")
|
private String energyType;
|
private String usageArea;
|
private String productCategory;
|
@NotNull
|
@Pattern(regexp = "DAY|MONTH")
|
private String groupBy = "DAY";
|
|
@AssertTrue(message = "统计日期范围必须在两年以内,且开始日期不能晚于结束日期")
|
public boolean isDateRangeValid() {
|
return startDate == null || endDate == null
|
|| (!startDate.isAfter(endDate) && !endDate.isAfter(startDate.plusYears(2)));
|
}
|
}
|