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

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

import java.io.Serializable;

/**
 * @author wangjie
 * @date 2020/2/12 17:41
 * @desc
 */

@Data
@ApiModel("状态点model")
public class AndonRouteStatusModel implements Serializable {

    private static final long serialVersionUID = -6258870691272170423L;

    @ApiParam("流程代码")
    private String routeCode;

    @ApiParam("状态代码")
    private String statusCode;

    @ApiParam("状态名称")
    private String statusName;

    @ApiParam("下一状态")
    private String nextStatus;

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

    @ApiParam("触发事件")
    private String triggerEvent;

    @ApiParam("触发条件（MVEL）")
    private String triggerWhere;

    @ApiParam("触发调用")
    private Long actionAmgId;

    @ApiParam("进入状态调用")
    private Long inAmgId;

    @ApiParam("离开状态调用")
    private Long outAmgId;

    @ApiParam("状态类型")
    private Integer statusType;

    @ApiParam("安灯类型代码")
    private String alarmCode;

    @ApiParam("工作中心代码")
    private String workCenterCode;

    @ApiParam("流程类型")
    private Integer routeType;

    @ApiParam("界面编号")
    private String interfaceNo;

    @ApiParam("安灯流程ID")
    private Long alarmRouteId;

    public AndonRouteStatusModel() {
    }

    public AndonRouteStatusModel(String routeCode, String statusCode, String statusName, String nextStatus, Integer triggerType,
                                 String triggerEvent, String triggerWhere, Long actionAmgId, Long inAmgId, Long outAmgId, Integer statusType,
                                 String interfaceNo, String alarmCode, String workCenterCode, Integer routeType, Long alarmRouteId) {
        this.routeCode = routeCode;
        this.statusCode = statusCode;
        this.statusName = statusName;
        this.nextStatus = nextStatus;
        this.triggerType = triggerType;
        this.triggerEvent = triggerEvent;
        this.triggerWhere = triggerWhere;
        this.actionAmgId = actionAmgId;
        this.inAmgId = inAmgId;
        this.outAmgId = outAmgId;
        this.statusType = statusType;
        this.interfaceNo = interfaceNo;
        this.alarmCode = alarmCode;
        this.workCenterCode = workCenterCode;
        this.routeType = routeType;
        this.alarmRouteId = alarmRouteId;
    }
}
