package com.yuchen.saas.park.api.dto.work;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

@Data
public class SaasWorkOrderDeviceRepairDto {

    /**
     * 主键ID
     */
    @ApiModelProperty(name = "id", value = "主键ID")
    private Long id;
    /**
     * 项目ID
     */
    @ApiModelProperty(name = "projectId", value = "项目ID")
    private Long projectId;
    /**
     * 报修类型ID
     */
    @ApiModelProperty(name = "repairTypeId", value = "报修类型ID")
    private Long repairTypeId;
    /**
     * 报修时间
     */
    @ApiModelProperty(name = "repairTime", value = "报修时间")
    private Date repairTime;
    /**
     * 报修人
     */
    @ApiModelProperty(name = "repairUserId", value = "报修人")
    private Long repairUserId;
    /**
     * 报修人
     */
    @ApiModelProperty(name = "repairUserName", value = "报修人")
    private String repairUserName;
    /**
     * 联系电话
     */
    @ApiModelProperty(name = "linkPhone", value = "联系电话")
    private String linkPhone;
    /**
     * 送修地点
     */
    @ApiModelProperty(name = "repairAddr", value = "报修地点")
    private String repairAddr;
    /**
     * 报修说明
     */
    @ApiModelProperty(name = "repairDesc", value = "报修说明")
    private String repairDesc;
    /**
     * 报修图片
     */
    @ApiModelProperty(name = "repairImage", value = "报修图片")
    private String repairImage;
    /**
     * 设备明细列表
     */
    @ApiModelProperty(name = "deviceDetailList", value = "设备明细列表")
    private List<DeviceDetail> deviceDetailList;

    @Data
    public static class DeviceDetail {
        /**
         * 设备编码
         */
        @ApiModelProperty(name = "deviceNo", value = "设备编码")
        private String deviceNo;
        /**
         * 设备类型
         */
        @ApiModelProperty(name = "deviceType", value = "设备类型")
        private Integer deviceType;
        /**
         * 设备类型名称
         */
        @ApiModelProperty(name = "deviceTypeName", value = "设备类型名称")
        private String deviceTypeName;
        /**
         * 故障类型
         */
        @ApiModelProperty(name = "faultType", value = "故障类型")
        private Integer faultType;
        /**
         * 故障等级
         */
        @ApiModelProperty(name = "faultLevel", value = "故障等级")
        private Integer faultLevel;
        /**
         * 是否联机(0:否 1:是)
         */
        @ApiModelProperty(name = "isOnline", value = "是否联机(0:否 1:是)")
        private Integer isOnline;
        /**
         * 是否联网(0:否 1:是)
         */
        @ApiModelProperty(name = "isNetwork", value = "是否联网(0:否 1:是)")
        private Integer isNetwork;
        /**
         * 资产名称
         */
        @ApiModelProperty(name = "assetName", value = "资产名称")
        private String assetName;
        /**
         * 资产编码
         */
        @ApiModelProperty(name = "assetCode", value = "资产编码")
        private String assetCode;
        /**
         * 资产分类
         */
        @ApiModelProperty(name = "assetCategory", value = "资产分类")
        private String assetCategory;
        /**
         * 品牌型号
         */
        @ApiModelProperty(name = "brandModel", value = "品牌型号")
        private String brandModel;
        /**
         * 设备序列号
         */
        @ApiModelProperty(name = "deviceSerialNo", value = "设备序列号")
        private String deviceSerialNo;
        /**
         * 设备位置
         */
        @ApiModelProperty(name = "deviceLocation", value = "设备位置")
        private String deviceLocation;
    }

    /**
     * 工单时限ID
     */
    @ApiModelProperty(name = "timeLimitId", value = "工单时限ID")
    private Long timeLimitId;
    /**
     * 工单处理时限(单位:小时)
     */
    @ApiModelProperty(name = "timeLimitCount", value = "工单处理时限(单位:小时)")
    private Integer timeLimitCount;
    /**
     * 工单大类(1:报事报修 2:设备报修 3:告警运维)
     */
    @ApiModelProperty(name = "workOrderCategory", value = "工单大类(1:报事报修 2:设备报修 3:告警运维)")
    private Integer workOrderCategory;
    /**
     * 工单类型ID
     */
    @ApiModelProperty(name = "workOrderTypeId", value = "工单类型ID")
    private Long workOrderTypeId;
    /**
     * 派工类型(1:有偿服务 2:无偿服务)
     */
    @ApiModelProperty(name = "dispatchType", value = "派工类型(1:有偿服务 2:无偿服务)")
    private Integer dispatchType;
    /**
     * 指派人
     */
    @ApiModelProperty(name = "dispatchUserIds", value = "指派人")
    private String dispatchUserIds;
    /**
     * 指派人
     */
    @ApiModelProperty(name = "dispatchUserNames", value = "指派人")
    private String dispatchUserNames;
    /**
     * 派工单号
     */
    @ApiModelProperty(name = "dispatchNo", value = "派工单号")
    private String dispatchNo;
    /**
     * 派工时间
     */
    @ApiModelProperty(name = "dispatchTime", value = "派工时间")
    private Date dispatchTime;
    /**
     * 派工备注
     */
    @ApiModelProperty(name = "dispatchRemark", value = "派工备注")
    private String dispatchRemark;

}
