package cn.iocoder.yudao.module.pms.controller.admin.iotdevicemaxrunlog.vo;

import cn.iocoder.yudao.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 设备运行数据记录最大值分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class IotDeviceMaxRunLogPageReqVO extends PageParam {

    @Schema(description = "部门id 所属小队", example = "20503")
    private Long deptId;

    @Schema(description = "设备id", example = "14276")
    private Long deviceId;

    @Schema(description = "设备编码")
    private String deviceCode;

    @Schema(description = "设备部件")
    private String deviceComp;

    @Schema(description = "采集点位 信息 code")
    private String pointCode;

    @Schema(description = "采集点位信息 名称", example = "张三")
    private String pointName;

    @Schema(description = "数据类型 1手动填报 2自动采集", example = "2")
    private Integer type;

    @Schema(description = "设备运行记录值 运行公里数km 运行公里数H")
    private BigDecimal value;

    @Schema(description = "填报时间 or 采集时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] time;

    @Schema(description = "当日运行时间 H")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private BigDecimal[] dailyRunTime;

    @Schema(description = "累计运行时间 H")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private BigDecimal[] totalRunTime;

    @Schema(description = "当日运行里程 H")
    private BigDecimal dailyMileage;

    @Schema(description = "累计运行里程 H")
    private BigDecimal totalMileage;

    @Schema(description = "备注", example = "你说的对")
    private String remark;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

    @Schema(description = "填写内容")
    private String fillContent;

    @Schema(description = "累计属性id", example = "25336")
    private Long sumId;

    @Schema(description = "是否累计值")
    private Integer isSum;

}