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

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.poi.ss.usermodel.HorizontalAlignment;

import java.util.Date;

@Data
@HeadStyle(horizontalAlignment = HorizontalAlignment.CENTER)
@HeadRowHeight(25)
@ContentStyle(horizontalAlignment = HorizontalAlignment.CENTER)
@ColumnWidth(12)
@ContentRowHeight(15)
@HeadFontStyle(fontHeightInPoints = 9)
@ExcelIgnoreUnannotated
public class SaasWorkOrderMatterRepairExcelVo {

    @ApiModelProperty(name = "id", value = "主键ID")
    private Long id;
    @ApiModelProperty(name = "dispatchNo", value = "派工单号")
    @ExcelProperty(value = {"报事报修工单表", "派工单号"}, index = 1)
    private String dispatchNo;

    @ApiModelProperty(name = "dispatchTime", value = "派工时间")
    @ExcelProperty(value = {"报事报修工单表", "派工时间"}, index = 2)
    private Date dispatchTime;

    @ApiModelProperty(name = "workOrderStatus", value = "工单状态(1:待开始 2:处理中 3:待确认 4:已关闭)")
    private Integer workOrderStatus;
    @ApiModelProperty(name = "workOrderStatusStr", value = "工单状态(1:待开始 2:处理中 3:待确认 4:已关闭)")
    @ExcelProperty(value = {"报事报修工单表", "工单状态"}, index = 3)
    private String workOrderStatusStr;

    @ApiModelProperty(name = "linkNo", value = "关联单据")
    @ExcelProperty(value = {"报事报修工单表", "关联单据"}, index = 4)
    private Long linkNo;

    @ApiModelProperty(name = "repairUserName", value = "报修人")
    @ExcelProperty(value = {"报事报修工单表", "报修人"}, index = 5)
    private String repairUserName;

    @ApiModelProperty(name = "linkPhone", value = "联系电话")
    @ExcelProperty(value = {"报事报修工单表", "联系电话"}, index = 6)
    private String linkPhone;

    @ApiModelProperty(name = "repairArea", value = "报修区域(1:户内 2:公区)")
    private Integer repairArea;

    @ApiModelProperty(name = "repairAreaStr", value = "报修区域(1:户内 2:公区)")
    @ExcelProperty(value = {"报事报修工单表", "报修区域"}, index = 7)
    private String repairAreaStr;

    @ApiModelProperty(name = "repairAddrName", value = "报修地点名称")
    @ExcelProperty(value = {"报事报修工单表", "报修地址"}, index = 8)
    private String repairAddrName;

    @ApiModelProperty(name = "repairDetail", value = "报修详情")
    @ExcelProperty(value = {"报事报修工单表", "报修说明"}, index = 9)
    private String repairDetail;

    @ApiModelProperty(name = "dispatchUserNames", value = "指派人")
    @ExcelProperty(value = {"报事报修工单表", "维修人"}, index = 10)
    private String dispatchUserNames;

    @ApiModelProperty(name = "dispatchRemark", value = "派工备注")
    @ExcelProperty(value = {"报事报修工单表", "派工备注"}, index = 11)
    private String dispatchRemark;

    @ApiModelProperty(name = "timeLimitId", value = "工单时限ID")
    private Long timeLimitId;

    @ApiModelProperty(name = "timeLimitName", value = "工单时限名称")
    @ExcelProperty(value = {"报事报修工单表", "工单时限"}, index = 12)
    private String timeLimitName;

    @ApiModelProperty(name = "workOrderTypeId", value = "工单类型ID")
    private Long workOrderTypeId;

    @ApiModelProperty(name = "workOrderTypeName", value = "工单类型名称")
    @ExcelProperty(value = {"报事报修工单表", "工单类型"}, index = 13)
    private String workOrderTypeName;

    @ApiModelProperty(name = "workOrderCategory", value = "工单大类(1:报事报修 2:设备报修 3:告警运维)")
    private Integer workOrderCategory;

    @ApiModelProperty(name = "workOrderCategoryStr", value = "工单大类(1:报事报修 2:设备报修 3:告警运维)")
    @ExcelProperty(value = {"报事报修工单表", "工单大类"}, index = 14)
    private String workOrderCategoryStr;

    @ApiModelProperty(name = "startTime", value = "开始时间")
    @ExcelProperty(value = {"报事报修工单表", "开始时间"}, index = 15)
    private Date startTime;

    @ApiModelProperty(name = "finishTime", value = "完成时间")
    @ExcelProperty(value = {"报事报修工单表", "完成时间"}, index = 16)
    private Date finishTime;

    @ApiModelProperty(name = "handleResult", value = "处理结果(1:问题已解决 2:问题未解决 3:无需处理)")
    private Integer handleResult;
    @ApiModelProperty(name = "handleResultStr", value = "处理结果(1:问题已解决 2:问题未解决 3:无需处理)")
    @ExcelProperty(value = {"报事报修工单表", "处理结果"}, index = 17)
    private String handleResultStr;

    @ApiModelProperty(name = "confirmResult", value = "确认结果(1:驳回再处理 2:确认已完成并关闭工单 3:确认未完成并关闭工单)")
    private Integer confirmResult;
    @ApiModelProperty(name = "confirmResultStr", value = "确认结果(1:驳回再处理 2:确认已完成并关闭工单 3:确认未完成并关闭工单)")
    @ExcelProperty(value = {"报事报修工单表", "确认结果"}, index = 18)
    private String confirmResultStr;

    @ApiModelProperty(name = "closeTime", value = "关闭时间")
    @ExcelProperty(value = {"报事报修工单表", "关闭时间"}, index = 19)
    private Date closeTime;

    @ApiModelProperty(name = "closeReason", value = "关闭原因(1:工单重复 2:无需处理 3:其他)")
    private Integer closeReason;
    @ApiModelProperty(name = "closeReasonStr", value = "关闭原因(1:工单重复 2:无需处理 3:其他)")
    @ExcelProperty(value = {"报事报修工单表", "关闭原因"}, index = 20)
    private String closeReasonStr;

    @ApiModelProperty(name = "projectId", value = "项目ID")
    private Long projectId;

    @ApiModelProperty(name = "projectName", value = "项目名称")
    @ExcelProperty(value = {"报事报修工单表", "项目名称"}, index = 21)
    private String projectName;

}
