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

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.*;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

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

@Schema(description = "管理后台 - 运行记录填报新增/修改 Request VO")
@Data
public class IotOpeationFillSaveReqVO {

    @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "19263")
    private Long id;

    private Long modelId;

    private Long deviceId;

    @Schema(description = "资产编号", requiredMode = Schema.RequiredMode.REQUIRED)
    private String deviceCode;

    @Schema(description = "设备名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
    private String deviceName;

    @Schema(description = "填写内容", requiredMode = Schema.RequiredMode.REQUIRED)
    private String fillContent;

    @Schema(description = "设备类别", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private String deviceType;

    @Schema(description = "设备部件", requiredMode = Schema.RequiredMode.REQUIRED)
    private String deviceComponent;

    @Schema(description = "公司id", example = "17048")
    private Long deptId;

    @Schema(description = "所属组织", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
    private String orgName;

    @Schema(description = "项目部id", example = "2565")
    private Long proId;

    @Schema(description = "所属项目部", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
    private String proName;

    @Schema(description = "小队id", example = "26084")
    private Long teamId;

    @Schema(description = "所属小队", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    private String teamName;

    @Schema(description = "设备负责人", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
    private String dutyName;

    @Schema(description = "填写日期", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDateTime creDate;

    private List<IotOpeationFillSaveReqVO> voList;

    private String modelAttr;

    private String pointName;

    private String pointCode;

    private String isFill;

    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
    private LocalDate createTime;

    private Integer userId;

    private Integer isCollection;

    private BigDecimal totalRunTime;

    private Long orderId;

    private String defaultValue;

    private Integer isSum;

    private Long sumId;

    private String reason;
    private int isReport;
}