package cn.estsh.i3plus.pojo.mes.model;

import io.swagger.annotations.ApiParam;
import lombok.Data;

import java.io.Serializable;

@Data
public class StepModel implements Serializable {

    private static final long serialVersionUID = -5772746720347236465L;

    @ApiParam("工步代码")
    private String stepCode;

    @ApiParam("工步名称")
    private String stepName;

    @ApiParam("工步描述")
    private String stepText;

    @ApiParam("工步类型")
    private String stepType;

    @ApiParam("工步对象")
    private String stepObject;

    /**
     * 工位扫描业务所需使用字段
     */
    @ApiParam("流程代码")
    private String routeCode;

    /**
     * 工位扫描业务所需使用字段
     */
    @ApiParam("工序代码")
    private String processCode;

    /**
     * 工位扫描业务所需使用字段
     */
    @ApiParam("工步顺序")
    private Integer stepSeq;

    /**
     * 工位扫描业务所需使用字段
     */
    @ApiParam("工步执行完毕")
    private boolean isComplete;

    /**
     * 工步颜色
     */
    @ApiParam
    private String color;

    /**
     * 异常信息
     */
    @ApiParam
    private String exMsg;

    /**
     * 工位扫描业务所需使用字段
     */
    @ApiParam("工步是否跳过")
    private boolean isJump;

    /**
     * 参数代码
     */
    @ApiParam("参数代码")
    private String paramCode;

    @ApiParam("工步展示名称")
    private String stepDisplayName;

    /**
     * 工作单元代码
     */
    @ApiParam("工作单元代码")
    private String workCellCode;

    @ApiParam("触发类型")
    private Integer triggerType;

    public StepModel() {
    }

    public StepModel(String stepCode, String stepName, String stepText, String stepType, String stepObject,
                     String routeCode, String processCode, Integer stepSeq, String paramCode, String stepDisplayName,
                     String workCellCode, Integer triggerType) {
        this.stepCode = stepCode;
        this.stepName = stepName;
        this.stepText = stepText;
        this.stepType = stepType;
        this.stepObject = stepObject;
        this.routeCode = routeCode;
        this.processCode = processCode;
        this.stepSeq = stepSeq;
        this.paramCode = paramCode;
        this.stepDisplayName = stepDisplayName;
        this.workCellCode = workCellCode;
        this.triggerType = triggerType;
    }
}
