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);
|
}
|
|
|
|
}
|