package com.njcn.supervision.pojo.param.device;

import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * <p>
 *
 * </p>
 *
 * @author hongawen
 * @since 2024-05-13
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class QuitRunningDeviceParam  implements Serializable {

    private static final long serialVersionUID = 1L;

    private String id;
    @ApiModelProperty(value = "保存1,提交审批2")
    private String saveOrCheckflag;
    /**
     * 设备编号
     */
    @ApiModelProperty(value = "设备编号")
//    @NotBlank(message = "设备编号不能为空")
    private String deviceId;

    /**
     * 设备类型 1:装置；2:监测点
     */
    @ApiModelProperty(value = "设备类型")
//    @NotNull(message = "设备类型不能为空")
    private Integer deviceType;

    /**
     * 资产编号
     */
    @ApiModelProperty(value = "资产编号")
    private String propertyNo;

    /**
     * 报告文件地址
     */
    @ApiModelProperty(value = "报告文件地址")
    private String reportPath;

    /**
     * 1:审批中；2：审批通过；3：审批不通过；4：已取消
     */
    @ApiModelProperty(value = "审批状态")
    private Integer status;

    /**
     * 流程实例的编号
     */
    @ApiModelProperty(value = "流程实例的编号")
    private String processInstanceId;

    /**
     * 历史流程实例编号
     */
    @ApiModelProperty(value = "历史流程实例编号")
    private String historyInstanceId;

    @ApiModelProperty("发起人自选审批人 Map")
    private Map<String, List<String>> startUserSelectAssignees;

    /**
     * 设备目标状态（0：运行；1：检修；2：停运；3：调试；4：退运）
     */
    @ApiModelProperty(value = "设备目标状态")
    private Integer devStatus;

    /**
     * 设备当前状态（0：运行；1：检修；2：停运；3：调试；4：退运）
     */
    @ApiModelProperty(value = "设备当前状态")
    private Integer devOriginalStatus;



    @Data
    @EqualsAndHashCode(callSuper = true)
    public static class QuitRunningDeviceUpdateParam extends QuitRunningDeviceParam {

        @ApiModelProperty("id")
        @NotBlank(message = "索引不能为空")
        private String Id;

    }


    /**
     * 分页查询实体
     */
    @Data
    @EqualsAndHashCode(callSuper = true)
    public static class QuitRunningDeviceQueryParam extends BaseParam {

        /**
         * 设备类型 1:装置；2:监测点
         */
        @ApiModelProperty(value = "设备类型")
        private Integer deviceType;

        /**
         * 设备编号
         */
        @ApiModelProperty(value = "设备编号")
        private String deviceId;

        /**
         * 1:审批中；2：审批通过；3：审批不通过；4：已取消
         */
        @ApiModelProperty(value = "审批状态")
        private Integer status;

    }


}
