package cn.iocoder.yudao.module.pms.dal.dataobject.maintain;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 维修工单 DO
 *
 * @author phli
 */
@TableName("rq_iot_maintain")
@KeySequence("rq_iot_maintain_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class IotMaintainDO extends BaseDO {

    /**
     * 主键id
     */
    @TableId
    private Long id;
    /**
     * 故障id
     */
    private Long failureId;
    /**
     * 故障编码
     */
    private String failureCode;
    /**
     * 故障名称
     */
    private String failureName;
    /**
     * 设备id
     */
    private Long deviceId;
    /**
     * 状态
     */
    private String status;
    /**
     * 维修类型
     */
    private String type;
    /**
     * 是否停机
     */
    private Boolean ifStop;
    /**
     * 故障时间
     */
    private LocalDateTime failureTime;
    /**
     * 故障影响
     */
    private String failureInfluence;
    /**
     * 故障系统
     */
    private String failureSystem;
    /**
     * 故障描述
     */
    private String description;
    /**
     * 图片
     */
    private String pic;
    /**
     * 解决办法
     */
    private String solution;
    /**
     * 维修开始时间
     */
    private LocalDateTime maintainStartTime;
    /**
     * 维修结束时间
     */
    private LocalDateTime maintainEndTime;
    /**
     * 备注
     */
    private String remark;
    /**
     * 设备名称
     */
    private String deviceName;
    /**
     * 流程实例id
     */
    private String processInstanceId;
    /**
     * 审核状态
     */
    private Integer auditStatus;
    /**
     * 部门id
     */
    private Long deptId;

    /**
     * 维修描述
     */
    private String maintainDescription;
    /**
     * 维修负责人
     */
    private Long maintainPerson;
    /**
     * 维修费用
     */
    private BigDecimal maintainFee;
    /**
     * 供应商
     */
    private String supplier;
    /**
     * 委外附件
     */
    private String outFile;

    /**
     * 维修工单类型
     */
    private String maintainType;

    private String deviceCode;

    private String maintainPersonName;

    private LocalDateTime executeDate;
    /**申请人id*/
    private String applyPersonId;
    /**申请部门id*/
    private String applyDeptId;
    /**规格型号*/
    private String model;
    /**启用日期*/
    private String enableDate;
    /**维修类别*/
    private String maintainClassify;

    /**运转公里/小时*/
    private String kmHour;
    /**维修地点*/
    private String address;
    /**项目经理*/
    private String projectManager;
    /**oa流程单号*/
    private String oaFlowNo;
    /**维修项目*/
    private String maintainItem;
    /**oa返回的请求id*/
    private String requestId;
    /**请求意见*/
    private String suggestionJson;
    /**维修方式*/
    private String maintainMethod;
    /**维修方式说明*/
    private String methodDescription;
}
