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

import cn.iocoder.yudao.module.pms.controller.admin.iotoperationplandev.vo.IotOperationPlanDevSaveReqVO;
import cn.iocoder.yudao.module.pms.dal.dataobject.iotoperationplandev.IotOperationPlanDevDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

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

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

    @Schema(description = "巡检计划标题", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "巡检计划标题不能为空")
    private String planTitle;

    @Schema(description = "巡检计划编号")
    private String planCode;

    @Schema(description = "周期", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "周期不能为空")
    private BigDecimal planCycle;

    @Schema(description = "单位", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "单位不能为空")
    private String planUnit;

    @Schema(description = "负责人")
    private String charge;

    @Schema(description = "设备", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "设备不能为空")
    private String deviceIds;

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

    @Schema(description = "部门id", example = "28824")
    private Long deptId;

    @Schema(description = "状态", example = "1")
    private Integer status;

    @Schema(description = "负责人名称", example = "芋艿")
    private String chargeName;

    @Schema(description = "上次执行时间")
    private LocalDateTime lastCreateTime;

    @Schema(description = "首次执行时间")
    private LocalDateTime beginCreateTime;

    List<IotOperationPlanDevDO> planDevList;

    private int isReport;

}