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

import com.yuchen.saas.park.api.entity.work.SaasWorkOrderTimeLimit;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

@Data
public class SaasWorkOrderMatterRepairDto {

    /**
     * 主键ID
     */
    @ApiModelProperty(name = "id", value = "主键ID")
    private Long id;
    /**
     * 项目ID
     */
    @ApiModelProperty(name = "projectId", value = "项目ID")
    private Long projectId;
    /**
     * 关联单据
     */
    @ApiModelProperty(name = "linkNo", value = "关联单据")
    private Long linkNo;
    /**
     * 报修来源(1:上门 2:电话 3:线上登记 4:现场 5:其他)
     */
    @ApiModelProperty(name = "repairSource", value = "报修来源(1:上门 2:电话 3:线上登记 4:现场 5:其他)")
    @NotNull(message = "报修来源不能为空")
    private Integer repairSource;
    /**
     * 报修类型ID
     */
    @ApiModelProperty(name = "repairTypeId", value = "报修类型ID")
    @NotNull(message = "报修类型不能为空")
    private Long repairTypeId;
    /**
     * 报修人
     */
    @ApiModelProperty(name = "repairUserId", value = "报修人")
    private Long repairUserId;
    /**
     * 报修人
     */
    @ApiModelProperty(name = "repairUserName", value = "报修人")
    @NotBlank(message = "报修人不能为空")
    private String repairUserName;
    /**
     * 联系电话
     */
    @ApiModelProperty(name = "linkPhone", value = "联系电话")
    @NotBlank(message = "联系电话不能为空")
    private String linkPhone;
    /**
     * 报修时间
     */
    @ApiModelProperty(name = "repairTime", value = "报修时间")
    @NotNull(message = "报修时间不能为空")
    private Date repairTime;
    /**
     * 预约时间
     */
    @ApiModelProperty(name = "appointTime", value = "预约时间")
    private Date appointTime;
    /**
     * 报修详情
     */
    @ApiModelProperty(name = "repairDetail", value = "报修详情")
    private String repairDetail;
    /**
     * 报修图片
     */
    @ApiModelProperty(name = "repairImage", value = "报修图片")
    private String repairImage;
    /**
     * 报修区域(1:户内 2:公区)
     */
    @ApiModelProperty(name = "repairArea", value = "报修区域(1:户内 2:公区)")
    @NotNull(message = "报修区域不能为空")
    private Integer repairArea;
    /**
     * 报修地点ID
     */
    @ApiModelProperty(name = "repairAddrIds", value = "报修地点ID")
    private String repairAddrIds;
    /**
     * 报修地点名称
     */
    @ApiModelProperty(name = "repairAddrNames", value = "报修地点名称")
    @NotBlank(message = "报修地点不能为空")
    private String repairAddrNames;
    /**
     * 工单时限ID
     */
    @ApiModelProperty(name = "timeLimitId", value = "工单时限ID")
    @NotNull(message = "工单时限ID不能为空")
    private Long timeLimitId;
    /**
     * 工单处理时限(单位:小时)
     */
    @ApiModelProperty(name = "timeLimitCount", value = "工单处理时限(单位:小时)")
    private Integer timeLimitCount;
    /**
     * 工单大类(1:报事报修 2:设备报修 3:告警运维)
     */
    @ApiModelProperty(name = "workOrderCategory", value = "工单大类(1:报事报修 2:设备报修 3:告警运维)")
    @NotNull(message = "工单大类不能为空")
    private Integer workOrderCategory;
    /**
     * 工单类型ID
     */
    @ApiModelProperty(name = "workOrderTypeId", value = "工单类型ID")
    @NotNull(message = "工单类型不能为空")
    private Long workOrderTypeId;
    /**
     * 派工类型(1:有偿服务 2:无偿服务)
     */
    @ApiModelProperty(name = "dispatchType", value = "派工类型(1:有偿服务 2:无偿服务)")
    @NotNull(message = "派工类型不能为空")
    private Integer dispatchType;
    /**
     * 指派人
     */
    @ApiModelProperty(name = "dispatchUserIds", value = "指派人")
    @NotBlank(message = "指派人不能为空")
    private String dispatchUserIds;
    /**
     * 指派人
     */
    @ApiModelProperty(name = "dispatchUserNames", value = "指派人")
    @NotBlank(message = "指派人不能为空")
    private String dispatchUserNames;
    /**
     * 派工时间
     */
    @ApiModelProperty(name = "dispatchTime", value = "派工时间")
    @NotNull(message = "派工时间不能为空")
    private Date dispatchTime;
    /**
     * 派工备注
     */
    @ApiModelProperty(name = "dispatchRemark", value = "派工备注")
    private String dispatchRemark;

}
