吉安感知网项目-后端
xiebin
2026-01-06 d207a86cdf1ab52ef8cb7cd83bad8fceab8038cf
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
package org.sxkj.resource.dto;
 
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.beans.BeanUtils;
import org.sxkj.common.enums.DateEnum;
import org.sxkj.common.model.TimeRange;
import org.sxkj.common.utils.HeaderUtils;
import org.sxkj.common.utils.TimeRangeUtils;
 
import java.time.temporal.ChronoUnit;
import java.util.List;
import java.util.Objects;
 
@Data
public class WaylineJobInfoQueryParam extends WaylineJobInfoQueryDto {
 
    @ApiModelProperty("开始时间")
    private Long startTime;
 
    @ApiModelProperty("结束时间")
    private Long endTime;
 
    @ApiModelProperty("日期格式化字符串")
    private String formatTime;
 
    @ApiModelProperty("设备sn")
    private String deviceSn;
 
    @ApiModelProperty("设备sn")
    private List<String> deviceSns;
 
    @ApiModelProperty("关键字设备sn")
    private List<String> keyWordSns;
 
    @ApiModelProperty("业务id")
    private List<Integer> jobInfoIds;
 
    @ApiModelProperty("范围查询最小id")
    private Integer minId;
 
    @ApiModelProperty("批处理号")
    private Integer batchNo;
 
    @ApiModelProperty("是否周期任务  1=true 0=非周期任务")
    private Integer isCircleJob;
 
    @ApiModelProperty("是否ai 类型")
    private List<Integer> resultTypes;
 
 
    public WaylineJobInfoQueryParam(TimeStatisticsDto dto) {
        BeanUtils.copyProperties(dto, this);
        settingParam(dto.getAreaCode());
    }
 
    public WaylineJobInfoQueryParam() {
    }
 
    /**
     * 设置参数
     */
    public void settingParam(String areaCode) {
        DateEnum nativeDateEnum = this.getDateEnum();
        //未设置固定日期
 
        //有日期传递
        if (Objects.nonNull(this.getStartDate()) && Objects.nonNull(this.getEndDate())) {
            // 计算查询开始时间和结束时间天数
            long betweenDay = ChronoUnit.DAYS.between(this.getStartDate(), this.getEndDate());
            if (betweenDay < 0) {
                throw new RuntimeException("参数异常");
            }
//            ValidUtil.assertIf(betweenDay>31,"时间选择范围不能超过31天!");
            DateEnum dateEnum = DateEnum.INTERVAL_TIME;
            if (betweenDay <= 31) {
                dateEnum = DateEnum.DAYS;
            } else if (betweenDay > 31 && betweenDay <= 365) {
                dateEnum = DateEnum.MONTHS;
            } else if (betweenDay > 365){
                dateEnum = DateEnum.YEARS;
            }
            dateEnum.setStartDate(this.getStartDate());
            dateEnum.setEndDate(this.getEndDate());
            this.setDateEnum(dateEnum);
            this.setStartTime(TimeRangeUtils.getEpochMilli(this.getStartDate()));
            this.setEndTime(TimeRangeUtils.getEpochMilli(this.getEndDate()));
            this.setStartDate(this.getStartDate());
            this.setEndDate(this.getEndDate());
        }
        //年月日
        if (Objects.nonNull(nativeDateEnum)) {
            TimeRange timeRange = TimeRangeUtils.getTimeRange(nativeDateEnum);
            this.setStartTime(TimeRangeUtils.getEpochMilli(timeRange.getStartTime()));
            this.setStartDate(timeRange.getStartTime());
            this.setEndTime(TimeRangeUtils.getEpochMilli(timeRange.getEndTime()));
            this.setEndDate(timeRange.getEndTime());
            nativeDateEnum.setEndDate(timeRange.getEndTime());
            nativeDateEnum.setStartDate(timeRange.getStartTime());
        }
        String areaCodes = HeaderUtils.getAreaCode(areaCode);
        this.setAreaCode(areaCodes);
    }
 
 
 
}