package com.ygtx.gxt.domain;

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_flow
 * 
 * @author ouyj
 * @date 2025-10-30
 */
public class GxtRepairOrderFlow extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 流转记录ID */
    private Long id;

    /** 工单ID */
    @Excel(name = "工单ID")
    private Long orderId;

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

    /** 操作类型：create-创建,assign-派单,accept-接单,process-处理,pause-暂停,suspend-挂起,restart-重启,approve-审批,complete-完成 */
    @Excel(name = "操作类型：create-创建,assign-派单,accept-接单,process-处理,pause-暂停,suspend-挂起,restart-重启,approve-审批,complete-完成")
    private String actionType;

    /** 原状态 */
    @Excel(name = "原状态")
    private String fromStatus;

    /** 目标状态 */
    @Excel(name = "目标状态")
    private String toStatus;

    /** 操作人ID */
    @Excel(name = "操作人ID")
    private Long operatorId;

    /** 操作人姓名 */
    @Excel(name = "操作人姓名")
    private String operatorName;

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

    /** 操作备注 */
    @Excel(name = "操作备注")
    private String actionRemark;

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

    public Long getId() 
    {
        return id;
    }

    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }

    public void setOrderCode(String orderCode) 
    {
        this.orderCode = orderCode;
    }

    public String getOrderCode() 
    {
        return orderCode;
    }

    public void setActionType(String actionType) 
    {
        this.actionType = actionType;
    }

    public String getActionType() 
    {
        return actionType;
    }

    public void setFromStatus(String fromStatus) 
    {
        this.fromStatus = fromStatus;
    }

    public String getFromStatus() 
    {
        return fromStatus;
    }

    public void setToStatus(String toStatus) 
    {
        this.toStatus = toStatus;
    }

    public String getToStatus() 
    {
        return toStatus;
    }

    public void setOperatorId(Long operatorId) 
    {
        this.operatorId = operatorId;
    }

    public Long getOperatorId() 
    {
        return operatorId;
    }

    public void setOperatorName(String operatorName) 
    {
        this.operatorName = operatorName;
    }

    public String getOperatorName() 
    {
        return operatorName;
    }

    public void setActionTime(Date actionTime) 
    {
        this.actionTime = actionTime;
    }

    public Date getActionTime() 
    {
        return actionTime;
    }

    public void setActionRemark(String actionRemark) 
    {
        this.actionRemark = actionRemark;
    }

    public String getActionRemark() 
    {
        return actionRemark;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("orderId", getOrderId())
            .append("orderCode", getOrderCode())
            .append("actionType", getActionType())
            .append("fromStatus", getFromStatus())
            .append("toStatus", getToStatus())
            .append("operatorId", getOperatorId())
            .append("operatorName", getOperatorName())
            .append("actionTime", getActionTime())
            .append("actionRemark", getActionRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .toString();
    }
}
