package com.zksy.property.domain;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 维修管理表
 * @TableName a_maintenance
 */
@TableName(value ="a_maintenance")
@Data
public class AMaintenance implements Serializable {
    /**
     * 主键
     */
    @TableId(type = IdType.ASSIGN_UUID)
    @ApiModelProperty(value = "主键")
    @ExcelIgnore
    private String id;

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

    /**
     * 资产名称
     */
    @ApiModelProperty(value = "资产名称")
    @ExcelProperty(value = "资产名称")
    private String assetName;

    /**
     * 设备名称
     */
    @ApiModelProperty(value = "设备名称")
    @ExcelProperty(value = "设备名称")
    private String equipmentName;

    /**
     * 设备序列号
     */
    @ApiModelProperty(value = "设备序列号")
    @ExcelProperty(value = "设备序列号")
    private String serialNumber;

    /**
     * 维修类型
     */
    @ApiModelProperty(value = "维修类型")
    @ExcelProperty(value = "维修类型")
    private String taskType;

    /**
     * 报修来源
     */
    @ApiModelProperty(value = "报修来源")
    @ExcelProperty(value = "报修来源")
    private String taskSource;

    /**
     * 维修标题
     */
    @ApiModelProperty(value = "维修标题")
    @ExcelProperty(value = "维修标题")
    private String taskTitle;

    /**
     * 故障详情或维修需求描述
     */
    @ApiModelProperty(value = "故障详情或维修需求描述")
    @ExcelProperty(value = "故障详情或维修需求描述")
    private String taskDesc;

    /**
     * 提交报修的人员
     */
    @ApiModelProperty(value = "提交报修的人员")
    @ExcelProperty(value = "提交报修的人员")
    private String submitUser;

    /**
     * 报修提交时间
     */
    @ApiModelProperty(value = "报修提交时间")
    @ExcelProperty(value = "报修提交时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDate submitTime;

    /**
     * 维修人员
     */
    @ApiModelProperty(value = "维修人员")
    @ExcelProperty(value = "维修人员")
    private String assignUser;

    /**
     * 维修开始时间
     */
    @ApiModelProperty(value = "维修开始时间")
    @ExcelProperty(value = "维修开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDate startTime;

    /**
     * 维修完成时间
     */
    @ApiModelProperty(value = "维修完成时间")
    @ExcelProperty(value = "维修完成时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDate finishTime;

    /**
     * 任务状态
     */
    @ApiModelProperty(value = "状态")
    @ExcelProperty(value = "状态")
    private String taskStatus;

    /**
     * 用户评价描述
     */
    @ApiModelProperty(value = "用户评价描述")
    @ExcelProperty(value = "用户评价描述")
    private String evaluationDesc;

    /**
     * 维修总费用
     */
    @ApiModelProperty(value = "维修总费用")
    @ExcelProperty(value = "维修总费用")
    private BigDecimal totalCost;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @ExcelIgnore
    private LocalDateTime createTime;

    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    @ExcelIgnore
    private String createBy;

    /**
     * 最后更新时间
     */
    @ApiModelProperty(value = "最后更新时间")
    @ExcelIgnore
    private LocalDateTime updateTime;

    /**
     * 修改人
     */
    @ApiModelProperty(value = "修改人")
    @ExcelIgnore
    private String updateBy;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}