TimeLimitSetup.java

package com.mycim.valueobject.prp;

import com.mycim.framework.utils.lang.math.NumberUtils;
import com.mycim.valueobject.bas.NamedObject;

import java.sql.Timestamp;

/**
 * For TIMELIMIT_SETUP
 *
 * @author jiqiu.zeng
 */
public class TimeLimitSetup extends NamedObject {

    /**
     *
     */
    private static final long serialVersionUID = 1L;

    private static final String WFL_STEP_START = "S"; // Constants.java公用

    private static final String WFL_ROUTE_START = "R";

    protected Long timeLimitRrn;

    protected String timeLimitId;

    protected String timeLimitType;         // M = Multiple Steps, S = Single Step

    protected String timeLimit;             // Type: Time

    protected Long timeLimitSec;          // Unit: Seconds

    protected Long startProductRrn;       // 0: Ignore Product

    protected Long startProcessRrn;

    protected Integer startProcessVersion;

    protected Long startRouteRrn;

    protected Long startOperationRrn;

    protected Long endProductRrn;         // 0: Ignore Product

    protected Long endProcessRrn;

    protected Long endRouteRrn;

    protected Long endOperationRrn;

    protected String timeType;              // 0 = MaxTime, 1 = MinTime

    protected String limitType;             // 0 = 'TRACK OUT -> TRACK IN', 1 = 'TRACK IN -> TRACK IN'

    protected String startRouteSeq;

    protected String startOperationSeq;

    protected String endRouteSeq;

    protected String endOperationSeq;

    protected String startFlowSeq;

    protected String endFlowSeq;

    protected String module;

    protected String status;

    protected Timestamp transTimestamp;

    public TimeLimitSetup() {
        super();
    }

    public TimeLimitSetup(long instanceRrn) {
        super(instanceRrn);
    }

    public TimeLimitSetup(String instanceId, String namedSpace, String object) {
        super(instanceId, namedSpace, object);
    }

    public Long getTimeLimitRrn() {
        return timeLimitRrn;
    }

    public void setTimeLimitRrn(Long timeLimitRrn) {
        this.timeLimitRrn = timeLimitRrn;
    }

    public String getTimeLimitId() {
        return timeLimitId;
    }

    public void setTimeLimitId(String timeLimitId) {
        this.timeLimitId = timeLimitId;
    }

    public String getTimeLimitType() {
        return timeLimitType;
    }

    public void setTimeLimitType(String timeLimitType) {
        this.timeLimitType = timeLimitType;
    }

    public String getTimeLimit() {
        return timeLimit;
    }

    public void setTimeLimit(String timeLimit) {
        this.timeLimit = timeLimit;
    }

    public Long getTimeLimitSec() {
        return timeLimitSec;
    }

    public void setTimeLimitSec(Long timeLimitSec) {
        this.timeLimitSec = timeLimitSec;
    }

    public Long getStartProductRrn() {
        return startProductRrn;
    }

    public void setStartProductRrn(Long startProductRrn) {
        this.startProductRrn = startProductRrn;
    }

    public Long getStartProcessRrn() {
        return startProcessRrn;
    }

    public void setStartProcessRrn(Long startProcessRrn) {
        this.startProcessRrn = startProcessRrn;
    }

    public Integer getStartProcessVersion() {
        return startProcessVersion;
    }

    public void setStartProcessVersion(Integer startProcessVersion) {
        this.startProcessVersion = startProcessVersion;
    }

    public Long getStartRouteRrn() {
        return startRouteRrn;
    }

    public void setStartRouteRrn(Long startRouteRrn) {
        this.startRouteRrn = startRouteRrn;
    }

    public Long getStartOperationRrn() {
        return startOperationRrn;
    }

    public void setStartOperationRrn(Long startOperationRrn) {
        this.startOperationRrn = startOperationRrn;
    }

    public Long getEndProductRrn() {
        return endProductRrn;
    }

    public void setEndProductRrn(Long endProductRrn) {
        this.endProductRrn = endProductRrn;
    }

    public Long getEndProcessRrn() {
        return endProcessRrn;
    }

    public void setEndProcessRrn(Long endProcessRrn) {
        this.endProcessRrn = endProcessRrn;
    }

    public Long getEndRouteRrn() {
        return endRouteRrn;
    }

    public void setEndRouteRrn(Long endRouteRrn) {
        this.endRouteRrn = endRouteRrn;
    }

    public Long getEndOperationRrn() {
        return endOperationRrn;
    }

    public void setEndOperationRrn(Long endOperationRrn) {
        this.endOperationRrn = endOperationRrn;
    }

    public String getTimeType() {
        return timeType;
    }

    public void setTimeType(String timeType) {
        this.timeType = timeType;
    }

    public String getLimitType() {
        return limitType;
    }

    public void setLimitType(String limitType) {
        this.limitType = limitType;
    }

    public String getStartRouteSeq() {
        return startRouteSeq;
    }

    public void setStartRouteSeq(String startRouteSeq) {
        this.startRouteSeq = startRouteSeq;
    }

    public String getStartOperationSeq() {
        return startOperationSeq;
    }

    public void setStartOperationSeq(String startOperationSeq) {
        this.startOperationSeq = startOperationSeq;
    }

    public String getEndRouteSeq() {
        return endRouteSeq;
    }

    public void setEndRouteSeq(String endRouteSeq) {
        this.endRouteSeq = endRouteSeq;
    }

    public String getEndOperationSeq() {
        return endOperationSeq;
    }

    public void setEndOperationSeq(String endOperationSeq) {
        this.endOperationSeq = endOperationSeq;
    }

    public Long getStartRouteSeqByNum() {
        return this.startRouteSeq == null ? 0 : NumberUtils.toLong(this.startRouteSeq.replace(WFL_ROUTE_START, "0"));
    }

    public Long getEndRouteSeqByNum() {
        return this.endRouteSeq == null ? 0 : NumberUtils.toLong(this.endRouteSeq.replace(WFL_ROUTE_START, "0"));
    }

    public String getStatus() {
        return status;
    }

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

    public Timestamp getTransTimestamp() {
        return transTimestamp;
    }

    public void setTransTimestamp(Timestamp transTimestamp) {
        this.transTimestamp = transTimestamp;
    }

    public String getStartFlowSeq() {
        return startFlowSeq;
    }

    public void setStartFlowSeq(String startFlowSeq) {
        this.startFlowSeq = startFlowSeq;
    }

    public String getEndFlowSeq() {
        return endFlowSeq;
    }

    public void setEndFlowSeq(String endFlowSeq) {
        this.endFlowSeq = endFlowSeq;
    }

    public String getModule() {
        return module;
    }

    public void setModule(String module) {
        this.module = module;
    }

    public String getUniqueKey() {
        StringBuilder sb = new StringBuilder();
        sb.append(this.startProductRrn).append(this.startProcessRrn).append(this.startRouteRrn)
          .append(this.startOperationRrn);
        sb.append(this.endProductRrn).append(this.endProcessRrn).append(this.endRouteRrn).append(this.endOperationRrn);
        sb.append(this.timeLimitType).append(this.timeType).append(this.startProcessVersion);
        return sb.toString();
    }

}