SeasonEntity.java

package com.mycim.valueobject.ems;

import com.mycim.framework.utils.lang.StringUtils;
import com.mycim.framework.utils.lang.time.DateUtils;
import com.mycim.valueobject.bas.NamedObject;

import java.math.BigDecimal;

public class SeasonEntity extends NamedObject {

    public static final String SEASON_STATUS_OFF = "OFF";

    public static final String SEASON_STATUS_ON = "ON";

    public static final String SEASON_STATUS_TRUE = "T";

    public static final String SEASON_STATUS_FALSE = "F";

    private static final long serialVersionUID = -1564728492816686481L;

    private static final String SEPARATOR_CHARS = "_";

    private String seasonId;

    private String eqptId;

    private String chamberId;

    private String fullEqptId;

    private long fullEqptRrn;

    private double idleTimeH;

    private double idleTimeMi;

    private double idleTimeS;

    private int waferCount;

    private String seasonRecipe;

    private String createUser;

    private String createDate;

    private String lastModifyDate;

    private String lastModifyUser;

    private String status;

    private boolean isChamber;

    private String workArea;

    private String seasonStatus;

    private String lastRunTime;

    private int completeSeasonWaferCount;

    private String prodRecipe;

    public String getLastModifyUser() {
        return lastModifyUser;
    }

    public void setLastModifyUser(String lastModifyUser) {
        this.lastModifyUser = lastModifyUser;
    }

    public String getSeasonStatus() {
        return seasonStatus;
    }

    public void setSeasonStatus(String seasonStatus) {
        this.seasonStatus = seasonStatus;
    }

    public long getLastRunTimeToMS() {
        if (StringUtils.isNotBlank(lastRunTime)) {
            return DateUtils.parse(lastRunTime, DateUtils.DATE_FORMAT4DATE).getTime();
        }
        return 0;
    }

    public String getLastRunTime() {
        return lastRunTime;
    }

    public void setLastRunTime(String lastRunTime) {
        this.lastRunTime = lastRunTime;
    }

    public int getCompleteSeasonWaferCount() {
        return completeSeasonWaferCount;
    }

    public void setCompleteSeasonWaferCount(int completeSeasonWaferCount) {
        this.completeSeasonWaferCount = completeSeasonWaferCount;
    }

    public boolean isChamber() {
        return isChamber;
    }

    public void setChamber(boolean isChamber) {
        this.isChamber = isChamber;
    }

    public long getFullEqptRrn() {
        return fullEqptRrn;
    }

    public void setFullEqptRrn(long fullEqptRrn) {
        this.fullEqptRrn = fullEqptRrn;
    }

    public String getSeasonId() {
        return seasonId;
    }

    public void setSeasonId(String seasonId) {
        this.seasonId = seasonId;
    }

    public String getEqptId() {
        if (StringUtils.isNotBlank(this.eqptId)) {
            return eqptId;
        }
        if (StringUtils.isNotBlank(this.fullEqptId)) {
            // 判断是否是 chamber 设备
            if (this.isChamber) {
                int lastSplitIndex = StringUtils.lastIndexOf(fullEqptId, SEPARATOR_CHARS);
                if (lastSplitIndex > 0) {
                    return StringUtils.substring(fullEqptId, 0, lastSplitIndex);
                }
            }
            return fullEqptId;
        }
        return StringUtils.EMPTY;
    }

    public void setEqptId(String eqptId) {
        this.eqptId = eqptId;
    }

    public String getChamberId() {
        if (StringUtils.isNotBlank(this.chamberId)) {
            return chamberId;
        }
        if (StringUtils.isNotBlank(this.fullEqptId)) {
            // 判断是否是 chamber 设备
            if (this.isChamber) {
                int lastSplitIndex = StringUtils.lastIndexOf(fullEqptId, SEPARATOR_CHARS);
                if (lastSplitIndex > 0) {
                    return StringUtils.substring(fullEqptId, lastSplitIndex + 1, fullEqptId.length());
                }
            }
        }
        return StringUtils.EMPTY;
    }

    public void setChamberId(String chamberId) {
        this.chamberId = chamberId;
    }

    public String getFullEqptId() {
        if (StringUtils.isNotBlank(this.fullEqptId)) {
            return fullEqptId;
        }
        if (StringUtils.isNotBlank(this.chamberId)) {
            return this.eqptId + SEPARATOR_CHARS + this.chamberId;
        }
        return this.eqptId;
    }

    public void setFullEqptId(String fullEqptId) {
        this.fullEqptId = fullEqptId;
    }

    public double getIdleTimeH() {
        if (idleTimeH != 0) {
            BigDecimal bd = new BigDecimal(idleTimeH);
            idleTimeH = bd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
        }
        return idleTimeH;
    }

    public void setIdleTimeH(double idleTimeH) {
        this.idleTimeH = idleTimeH;
    }

    public String getIdleTimeHStr() {
        if (idleTimeH > 0) {
            return idleTimeH + "";
        }
        return StringUtils.EMPTY;
    }

    public double getIdleTimeMi() {
        return idleTimeMi;
    }

    public void setIdleTimeMi(double idleTimeMi) {
        this.idleTimeMi = idleTimeMi;
    }

    public String getIdleTimeMiStr() {
        if (idleTimeMi > 0) {
            return idleTimeMi + "";
        }
        return StringUtils.EMPTY;
    }

    public double getIdleTimeS() {
        return idleTimeS;
    }

    public void setIdleTimeS(double idleTimeS) {
        this.idleTimeS = idleTimeS;
    }

    public String getIdleTimeSStr() {
        if (idleTimeS > 0) {
            return idleTimeS + "";
        }
        return StringUtils.EMPTY;
    }

    public long getFullIdleTimeToMS() {
        if (idleTimeH > 0 || idleTimeMi > 0 || idleTimeS > 0) {
            return (long) (((idleTimeH * 3600) + (idleTimeMi * 60) + idleTimeS) * 1000);
        }
        return 0;
    }

    public int getWaferCount() {
        return waferCount;
    }

    public void setWaferCount(int waferCount) {
        this.waferCount = waferCount;
    }

    public String getWaferCountStr() {
        if (waferCount > 0) {
            return waferCount + "";
        }
        return StringUtils.EMPTY;
    }

    public String getSeasonRecipe() {
        return seasonRecipe;
    }

    public void setSeasonRecipe(String seasonRecipe) {
        this.seasonRecipe = seasonRecipe;
    }

    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    public String getCreateDate() {
        return createDate;
    }

    public void setCreateDate(String createDate) {
        this.createDate = createDate;
    }

    public String getLastModifyDate() {
        return lastModifyDate;
    }

    public void setLastModifyDate(String lastModifyDate) {
        this.lastModifyDate = lastModifyDate;
    }

    public String getStatus() {
        return status;
    }

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

    public String getWorkArea() {
        return workArea;
    }

    public void setWorkArea(String workArea) {
        this.workArea = workArea;
    }

    public String getProdRecipe() {
        return prodRecipe;
    }

    public void setProdRecipe(String prodRecipe) {
        this.prodRecipe = prodRecipe;
    }

}