云
15 小时以前 d6b144421f86bcaaef5f21ddda193ab6f58b0d57
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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)));
    }
}