package com.zg.project.wisdom.domain;

import com.zg.framework.aspectj.lang.annotation.Excel;
import com.zg.framework.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * AGV任务执行结果实体类
 *
 * 表名：agv_task_result
 * 用于记录AGV回调的执行结果
 *
 * @author zg
 */
public class AgvTaskResult extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 请求ID（唯一标识任务请求） */
    @Excel(name = "请求ID")
    private String requestId;

    /** 任务编号（可关联调度任务） */
    @Excel(name = "任务编号")
    private String taskNo;

    /** 任务ID（AGV侧） */
    @Excel(name = "任务ID")
    private String jobId;

    /** 所属系统 */
    @Excel(name = "所属系统")
    private String owner;

    /** 任务类型 */
    @Excel(name = "任务类型")
    private String type;

    /** 优先级 */
    @Excel(name = "优先级")
    private String priority;

    /** 起点位置 */
    @Excel(name = "起点位置")
    private String sourceName;

    /** 终点位置 */
    @Excel(name = "终点位置")
    private String targetName;

    /** AGV任务创建时间 */
    @Excel(name = "AGV创建时间")
    private String createdAt;

    /** AGV任务更新时间 */
    @Excel(name = "AGV更新时间")
    private String updatedAt;

    /** 执行状态 */
    @Excel(name = "执行状态")
    private String status;

    /** 执行信息说明 */
    @Excel(name = "执行信息")
    private String msg;

    /** 是否删除（0正常 1删除） */
    private String isDelete;

    /** 物料状态（0空托，1有货） */
    private Integer midStatus;

    /** 物料编码 */
    @Excel(name = "物料编码")
    private String mid;

    /** 物料数量 */
    @Excel(name = "物料数量")
    private Integer num;

    /** 物料状态类型 */
    @Excel(name = "物料状态类型")
    private String midType;

    /** 执行次数 */
    @Excel(name = "执行次数")
    private Integer doCount;

    /** 绑定单据ID */
    @Excel(name = "绑定单据ID")
    private String rid;

    /** 封签/派工单号 */
    @Excel(name = "封签/派工单号")
    private String prf;

    // getter/setter

    public Long getId() {
        return id;
    }

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

    public String getRequestId() {
        return requestId;
    }

    public void setRequestId(String requestId) {
        this.requestId = requestId;
    }

    public String getTaskNo() {
        return taskNo;
    }

    public void setTaskNo(String taskNo) {
        this.taskNo = taskNo;
    }

    public String getJobId() {
        return jobId;
    }

    public void setJobId(String jobId) {
        this.jobId = jobId;
    }

    public String getOwner() {
        return owner;
    }

    public void setOwner(String owner) {
        this.owner = owner;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getPriority() {
        return priority;
    }

    public void setPriority(String priority) {
        this.priority = priority;
    }

    public String getSourceName() {
        return sourceName;
    }

    public void setSourceName(String sourceName) {
        this.sourceName = sourceName;
    }

    public String getTargetName() {
        return targetName;
    }

    public void setTargetName(String targetName) {
        this.targetName = targetName;
    }

    public String getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(String createdAt) {
        this.createdAt = createdAt;
    }

    public String getUpdatedAt() {
        return updatedAt;
    }

    public void setUpdatedAt(String updatedAt) {
        this.updatedAt = updatedAt;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public String getIsDelete() {
        return isDelete;
    }

    public void setIsDelete(String isDelete) {
        this.isDelete = isDelete;
    }

    public Integer getMidStatus() {
        return midStatus;
    }

    public void setMidStatus(Integer midStatus) {
        this.midStatus = midStatus;
    }

    public String getMid() {
        return mid;
    }

    public void setMid(String mid) {
        this.mid = mid;
    }

    public Integer getNum() {
        return num;
    }

    public void setNum(Integer num) {
        this.num = num;
    }

    public String getMidType() {
        return midType;
    }

    public void setMidType(String midType) {
        this.midType = midType;
    }

    public Integer getDoCount() {
        return doCount;
    }

    public void setDoCount(Integer doCount) {
        this.doCount = doCount;
    }

    public String getRid() {
        return rid;
    }

    public void setRid(String rid) {
        this.rid = rid;
    }

    public String getPrf() {
        return prf;
    }

    public void setPrf(String prf) {
        this.prf = prf;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("requestId", getRequestId())
                .append("taskNo", getTaskNo())
                .append("jobId", getJobId())
                .append("owner", getOwner())
                .append("type", getType())
                .append("priority", getPriority())
                .append("sourceName", getSourceName())
                .append("targetName", getTargetName())
                .append("createdAt", getCreatedAt())
                .append("updatedAt", getUpdatedAt())
                .append("status", getStatus())
                .append("msg", getMsg())
                .append("midStatus", getMidStatus())
                .append("mid", getMid())
                .append("num", getNum())
                .append("midType", getMidType())
                .append("doCount", getDoCount())
                .append("rid", getRid())
                .append("prf", getPrf())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("isDelete", getIsDelete())
                .toString();
    }
}
