package cc.iotkit.manager.dto.vo.worder;


import cc.iotkit.model.iccid.DIccidRecordDO;
import cc.iotkit.model.worder.WorderDO;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;

import com.fasterxml.jackson.annotation.JsonFormat;

import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

//@Schema(description = "管理后台 - 工单 Response VO")
@Data
@AutoMapper(target = WorderDO.class)
public class WorderRespVO {

  //  @Schema(description = "工单编号")
    @ExcelProperty("工单编号")
    private String worderNum;

   // @Schema(description = "工单内容")
    @ExcelProperty("工单内容")
    private String worderContent;

  //  @Schema(description = "上报时间")
    @ExcelProperty("上报时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date reportTime;

    //@Schema(description = "指派人id")
    @ExcelProperty("指派人id")
    private Long assignUserid;

    //@Schema(description = "指派人姓名")
    @ExcelProperty("指派人姓名")
    private String assignName;

   // @Schema(description = "指派时间")
    @ExcelProperty("指派时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date assignTime;

   // @Schema(description = "问题截图")
    @ExcelProperty("问题截图")
    private String problemScreenshot;

    //@Schema(description = "消息")
    @ExcelProperty("消息")
    private String message;

   // @Schema(description = "预约时间")
    @ExcelProperty("预约时间")
    private String reservationTime;

   // @Schema(description = "客户id")
    @ExcelProperty("客户id")
    private Long customerId;

   // @Schema(description = "客户姓名")
    @ExcelProperty("客户姓名")
    private String customerName;

   // @Schema(description = "联系方式")
    @ExcelProperty("联系方式")
    private String customerPhone;

   // @Schema(description = "客户服务地址编码")
    private Integer customerAreaId;

    //@Schema(description = "服务地址(客户详细地址)")
    @ExcelProperty("服务地址")
    private String customerAddress;

   // @Schema(description = "退单时间")
    @ExcelProperty("退单时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date worderBackTime;

   // @Schema(description = "退单原因")
    @ExcelProperty("退单原因")
    private String worderBackReason;

   // @Schema(description = "工单完成时间")
    @ExcelProperty("工单完成时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date finishTime;

   // @Schema(description = "完成后图片")
    @ExcelProperty("完成后图片")
    private String finishPicture;

   // @Schema(description = "反馈信息")
    @ExcelProperty("反馈信息")
    private String feedback;

    //@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    //@Schema(description = "工单id", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("工单id")
    private Long id;

    //@Schema(description = "工单类型")
   // @ExcelProperty(value = "工单类型", converter = DictConvert.class)
   // @DictFormat(DictTypeConstants.WORDER_TYPE)
    private Integer worderType;

   // @Schema(description = "设备id")
    private String productId;




   // @Schema(description = "订单id")
    @ExcelProperty("订单id")
    private String orderId;

  //  @Schema(description = "订单状态")
   // @ExcelProperty(value = "订单状态", converter = DictConvert.class)
   // @DictFormat(DictTypeConstants.IS_STATE)
    private Integer orderStatus;

    //@Schema(description = "工单状态")
   // @ExcelProperty(value = "工单状态", converter = DictConvert.class)
  //  @DictFormat(DictTypeConstants.WORDER_STATUS)
    private Integer worderStatus;
   // @Schema(description = "服务商id")
    private Long fwId;

    private Long tenantId;
    /**
     * 指派人电话
     */
    private String assignPhone;
}