package org.jeecg.modules.device.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: 设备故障报修
 * @Author: jeecg-boot
 * @Date:   2025-03-03
 * @Version: V1.0
 */
@Data
@TableName("bu_device_breakdown_report")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="bu_device_breakdown_report对象", description="设备故障报修")
public class DeviceBreakdownReport implements Serializable {
    private static final long serialVersionUID = 1L;

    /**主键*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private java.lang.String id;
    /**创建日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @Excel(name = "发现时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private java.util.Date createTime;
    /**创建人*/
    @Excel(name = "责任人", width = 15)
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
    /**更新人*/
    @ApiModelProperty(value = "更新人")
    private java.lang.String updateBy;
    /**更新日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private java.util.Date updateTime;
    /**所属部门*/
    @ApiModelProperty(value = "所属部门")
    private java.lang.String sysOrgCode;
    /**设备*/
    @Excel(name = "设备名称", width = 15, dictTable = "bu_device", dicText = "device_name", dicCode = "id")
    @Dict(dictTable = "bu_device", dicText = "device_name", dicCode = "id")
    @ApiModelProperty(value = "设备")
    private java.lang.String deviceId;
    /**设备*/
    @Excel(name = "设备编号", width = 15, dictTable = "bu_device", dicText = "device_code", dicCode = "id",type = 10)
    @Dict(dictTable = "bu_device", dicText = "device_code", dicCode = "id")
    @ApiModelProperty(value = "设备")
    @TableField(exist = false)
    private java.lang.String device1Id;
    @Excel(name="地点",width=15)
    @TableField(exist = false)
    private String place="大丰车辆段";
    /**故障描述*/
    @Excel(name = "问题描述", width = 15)
    @ApiModelProperty(value = "故障描述")
    private java.lang.String description;
    /**故障来源*/
    @Excel(name = "故障来源", width = 15,dicCode = "breakdown_origin")
    @ApiModelProperty(value = "故障来源")
    @Dict(dicCode = "breakdown_origin")
    private java.lang.String breakOrigin;
    /**故障类型*/
    @Excel(name = "归属系统", width = 15,dicCode = "breakdown_type")
    @ApiModelProperty(value = "故障类型")
    @Dict(dicCode = "breakdown_type")
    private java.lang.Integer breakdownType;
    /**故障原因*/
    @Excel(name = "故障原因", width = 15)
    @ApiModelProperty(value = "故障原因")
    private java.lang.String reason;
    /**处理方法*/
    @Excel(name = "处理办法", width = 15)
    @ApiModelProperty(value = "处理方法")
    private java.lang.String aduitRemark;
    /**状态*/
    @Excel(name = "状态", width = 15)
    @ApiModelProperty(value = "状态")
    @Dict(dicCode = "breakdown_status")
    private java.lang.Integer status;
    /**处理时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @Excel(name = "处理日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "处理时间")
    private java.util.Date aduitTime;
    /**故障影响*/
    @Excel(name = "影响范围及结果", width = 15)
    @ApiModelProperty(value = "故障影响")
    private java.lang.String breakImpact;
    /**部件*/
    @Dict(dictTable = "bu_part", dicText = "name", dicCode = "id")
    @ApiModelProperty(value = "部件")
    private java.lang.String departId;
    /**故障图片*/
    @ApiModelProperty(value = "故障图片")
    private java.lang.String picture;
    /**处理人*/
    @ApiModelProperty(value = "处理人")
    @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "id")
    private java.lang.String aduitBy;

    /**故障代码*/
    @Excel(name = "PMS工单号", width = 15)
    @ApiModelProperty(value = "故障代码")
    private java.lang.String breakdownId;

    private Integer deleteFlag;
}
