package com.ygtx.gxt.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ygtx.common.annotation.Excel;
import com.ygtx.common.core.domain.BaseEntity;

/**
 * 维修工单对象 gxt_repair_order
 * 
 * @author ouyj
 * @date 2025-10-30
 */
public class GxtRepairOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 工单ID */
    private Long id;

    /** 工单编码 */
    @Excel(name = "工单编码")
    private String workOrderProjectNo;

    /** 工单状态：draft-草稿,to_assign-待派单,assigned-已派单,accepted-已接单,processing-处理中,paused-暂停中,to_approve-待审批,suspended-已挂起,completed-已完成 */
    @Excel(name = "工单状态：draft-草稿,to_assign-待派单,assigned-已派单,accepted-已接单,processing-处理中,paused-暂停中,to_approve-待审批,suspended-已挂起,completed-已完成")
    private String workOrderStatus;

    /** 维保中心ID */
    @Excel(name = "维保中心ID")
    private Long gxtCenterId;

    /** 维保中心 */
    @Excel(name = "维保中心")
    private String gxtCenter;

    /** 风电场ID */
    @Excel(name = "风电场ID")
    private Long pcsStationId;

    /** 风电场 */
    @Excel(name = "风电场")
    private String pcsStationName;

    /** 风机设备ID */
    @Excel(name = "风机设备ID")
    private Long pcsDeviceId;

    /** 风机编号 */
    @Excel(name = "风机编号")
    private String pcsDeviceName;

    /** 风机品牌 */
    @Excel(name = "风机品牌")
    private String brand;

    /** 风机型号 */
    @Excel(name = "风机型号")
    private String model;

    /** 故障代码 */
    @Excel(name = "故障代码")
    private String faultCode;

    /** 故障描述 */
    @Excel(name = "故障描述")
    private String faultDesc;

    /** 派单时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "派单时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date assignTime;

    /** 派单人ID */
    @Excel(name = "派单人ID")
    private Long assignUserId;

    /** 派单人姓名 */
    @Excel(name = "派单人姓名")
    private String assignUserName;

    /** 接单时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "接单时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date acceptTime;

    /** 接单人ID */
    @Excel(name = "接单人ID")
    private Long acceptUserId;

    /** 接单人姓名 */
    @Excel(name = "接单人姓名")
    private String acceptUserName;

    /** 实际开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实际开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date realStartTime;

    /** 实际结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实际结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date realEndTime;

    /** 班组组长ID */
    @Excel(name = "班组组长ID")
    private Long teamLeaderId;

    /** 班组组长姓名 */
    @Excel(name = "班组组长姓名")
    private String teamLeaderName;

    /** 工作组成员ID */
    @Excel(name = "工作组成员ID")
    private Long workGroupMemberId;

    /** 工作组成员姓名 */
    @Excel(name = "工作组成员姓名")
    private String workGroupMemberName;

    /** 维保内容 */
    @Excel(name = "维保内容")
    private String content;

    /** 预计工时（小时） */
    @Excel(name = "预计工时", readConverterExp = "小=时")
    private BigDecimal planHour;

    /** 优先级 */
    @Excel(name = "优先级")
    private Long priorityType;

    /** 评分 */
    @Excel(name = "评分")
    private BigDecimal score;

    /** 点评 */
    @Excel(name = "点评")
    private String reviewContent;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setWorkOrderProjectNo(String workOrderProjectNo) 
    {
        this.workOrderProjectNo = workOrderProjectNo;
    }

    public String getWorkOrderProjectNo() 
    {
        return workOrderProjectNo;
    }

    public void setWorkOrderStatus(String workOrderStatus) 
    {
        this.workOrderStatus = workOrderStatus;
    }

    public String getWorkOrderStatus() 
    {
        return workOrderStatus;
    }

    public void setGxtCenterId(Long gxtCenterId) 
    {
        this.gxtCenterId = gxtCenterId;
    }

    public Long getGxtCenterId() 
    {
        return gxtCenterId;
    }

    public void setGxtCenter(String gxtCenter) 
    {
        this.gxtCenter = gxtCenter;
    }

    public String getGxtCenter() 
    {
        return gxtCenter;
    }

    public void setPcsStationId(Long pcsStationId) 
    {
        this.pcsStationId = pcsStationId;
    }

    public Long getPcsStationId() 
    {
        return pcsStationId;
    }

    public void setPcsStationName(String pcsStationName) 
    {
        this.pcsStationName = pcsStationName;
    }

    public String getPcsStationName() 
    {
        return pcsStationName;
    }

    public void setPcsDeviceId(Long pcsDeviceId) 
    {
        this.pcsDeviceId = pcsDeviceId;
    }

    public Long getPcsDeviceId() 
    {
        return pcsDeviceId;
    }

    public void setPcsDeviceName(String pcsDeviceName) 
    {
        this.pcsDeviceName = pcsDeviceName;
    }

    public String getPcsDeviceName() 
    {
        return pcsDeviceName;
    }

    public void setBrand(String brand) 
    {
        this.brand = brand;
    }

    public String getBrand() 
    {
        return brand;
    }

    public void setModel(String model) 
    {
        this.model = model;
    }

    public String getModel() 
    {
        return model;
    }

    public void setFaultCode(String faultCode) 
    {
        this.faultCode = faultCode;
    }

    public String getFaultCode() 
    {
        return faultCode;
    }

    public void setFaultDesc(String faultDesc) 
    {
        this.faultDesc = faultDesc;
    }

    public String getFaultDesc() 
    {
        return faultDesc;
    }

    public void setAssignTime(Date assignTime) 
    {
        this.assignTime = assignTime;
    }

    public Date getAssignTime() 
    {
        return assignTime;
    }

    public void setAssignUserId(Long assignUserId) 
    {
        this.assignUserId = assignUserId;
    }

    public Long getAssignUserId() 
    {
        return assignUserId;
    }

    public void setAssignUserName(String assignUserName) 
    {
        this.assignUserName = assignUserName;
    }

    public String getAssignUserName() 
    {
        return assignUserName;
    }

    public void setAcceptTime(Date acceptTime) 
    {
        this.acceptTime = acceptTime;
    }

    public Date getAcceptTime() 
    {
        return acceptTime;
    }

    public void setAcceptUserId(Long acceptUserId) 
    {
        this.acceptUserId = acceptUserId;
    }

    public Long getAcceptUserId() 
    {
        return acceptUserId;
    }

    public void setAcceptUserName(String acceptUserName) 
    {
        this.acceptUserName = acceptUserName;
    }

    public String getAcceptUserName() 
    {
        return acceptUserName;
    }

    public void setRealStartTime(Date realStartTime) 
    {
        this.realStartTime = realStartTime;
    }

    public Date getRealStartTime() 
    {
        return realStartTime;
    }

    public void setRealEndTime(Date realEndTime) 
    {
        this.realEndTime = realEndTime;
    }

    public Date getRealEndTime() 
    {
        return realEndTime;
    }

    public void setTeamLeaderId(Long teamLeaderId) 
    {
        this.teamLeaderId = teamLeaderId;
    }

    public Long getTeamLeaderId() 
    {
        return teamLeaderId;
    }

    public void setTeamLeaderName(String teamLeaderName) 
    {
        this.teamLeaderName = teamLeaderName;
    }

    public String getTeamLeaderName() 
    {
        return teamLeaderName;
    }

    public void setWorkGroupMemberId(Long workGroupMemberId) 
    {
        this.workGroupMemberId = workGroupMemberId;
    }

    public Long getWorkGroupMemberId() 
    {
        return workGroupMemberId;
    }

    public void setWorkGroupMemberName(String workGroupMemberName) 
    {
        this.workGroupMemberName = workGroupMemberName;
    }

    public String getWorkGroupMemberName() 
    {
        return workGroupMemberName;
    }

    public void setContent(String content) 
    {
        this.content = content;
    }

    public String getContent() 
    {
        return content;
    }

    public void setPlanHour(BigDecimal planHour) 
    {
        this.planHour = planHour;
    }

    public BigDecimal getPlanHour() 
    {
        return planHour;
    }

    public void setPriorityType(Long priorityType) 
    {
        this.priorityType = priorityType;
    }

    public Long getPriorityType() 
    {
        return priorityType;
    }

    public void setScore(BigDecimal score) 
    {
        this.score = score;
    }

    public BigDecimal getScore() 
    {
        return score;
    }

    public void setReviewContent(String reviewContent) 
    {
        this.reviewContent = reviewContent;
    }

    public String getReviewContent() 
    {
        return reviewContent;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("workOrderProjectNo", getWorkOrderProjectNo())
            .append("workOrderStatus", getWorkOrderStatus())
            .append("gxtCenterId", getGxtCenterId())
            .append("gxtCenter", getGxtCenter())
            .append("pcsStationId", getPcsStationId())
            .append("pcsStationName", getPcsStationName())
            .append("pcsDeviceId", getPcsDeviceId())
            .append("pcsDeviceName", getPcsDeviceName())
            .append("brand", getBrand())
            .append("model", getModel())
            .append("faultCode", getFaultCode())
            .append("faultDesc", getFaultDesc())
            .append("assignTime", getAssignTime())
            .append("assignUserId", getAssignUserId())
            .append("assignUserName", getAssignUserName())
            .append("acceptTime", getAcceptTime())
            .append("acceptUserId", getAcceptUserId())
            .append("acceptUserName", getAcceptUserName())
            .append("realStartTime", getRealStartTime())
            .append("realEndTime", getRealEndTime())
            .append("teamLeaderId", getTeamLeaderId())
            .append("teamLeaderName", getTeamLeaderName())
            .append("workGroupMemberId", getWorkGroupMemberId())
            .append("workGroupMemberName", getWorkGroupMemberName())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("content", getContent())
            .append("planHour", getPlanHour())
            .append("priorityType", getPriorityType())
            .append("score", getScore())
            .append("reviewContent", getReviewContent())
            .toString();
    }
}
