Lot.java

/*
 *        @ Copyright 2001 FA Software;
 *        All right reserved. No part of this program may be reproduced or
 *        transmitted in any form or by any means, electronic or
 *        mechanical, including photocopying, recording, or by any
 *        information storage or retrieval system without written
 *        permission from FA Software, except for inclusion of brief
 *        quotations in a review.
 */
package com.mycim.valueobject.wip;

import com.mycim.framework.utils.MiscUtils;
import com.mycim.framework.utils.lang.math.NumberUtils;
import com.mycim.utils.WipUtils;
import com.mycim.valueobject.LotConstants;

import java.io.Serializable;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Objects;

public class Lot implements Serializable, Cloneable {

    private static final long serialVersionUID = -7904173793336264103L;

    // --------------------------------------------------------- Instance Variables
    private long lotRrn;

    private Long facilityRrn;

    private String lotId;

    private Long basedLotRrn;

    private Long createdPlanLotRrn;

    private String hotFlag;

    private Integer priority;

    private String startedFlag;

    private Timestamp startedTimestamp;

    private String createCategory;

    private Timestamp createdTimestamp;

    private Timestamp endTimestamp;

    private Timestamp dueDate;

    private Timestamp scheduleDueDate;

    private String lastScheduleFlag;

    private String dummyFlag;

    private String lotType;

    private String lotOwner;

    private String wflStepPath;

    private Long subcontractorRrn;

    private String lotComments;

    private Long stepSequence;

    private Long stepNumberInProcess;

    // add by frankylee in 2007/11-19
    private String market_order_Id;

    private String runing_qty;

    private String outerOrderType;

    /*
     * private Long totalSteps; private String alarmTriggeredFlag; private String futureActionFlag; private
     *  String
     * inReworkFlag;
     */
    private Timestamp holdTimestamp;

    private String reworkFlag;

    private Long reworkTransRrn;

    private Long estimatedRemainTime;

    private Long borRrn;

    private String recipeString;

    private String nextRecipeString1;

    private String nextRecipeString2;

    private String reworkCategory;

    private Long carrierRrn;

    private String carrierId;

    private String beforeStatus;

    private String lotStatus;

    private String processingStatus;

    private Timestamp queueTimestamp;

    private Long productRrn;

    private Integer productVersion;

    private String productId;

    private String productType;

    private Long processRrn;

    private String processId;

    private Integer processVersion;

    private String processStepVersion;

    private String processStepIdVersion;

    private String routeId;

    private Long routeRrn;

    private String routeDesc;

    private Long prevOperationRrn;

    private Long operationRrn;

    private String operationId;

    private Integer prevOperationVersion;

    private Integer operationVersion;

    private String nextStepVersion1;

    private String nextStepIdVersion1;

    private Long nextOperationRrn1;

    private String nextOperationId1;

    private String nextStepVersion2;

    private String nextStepIdVersion2;

    private Long nextOperationRrn2;

    private String nextOperationId2;

    private String stageId;

    private String layerId;

    private String shippingProductName;

    /**
     * 是否下线hold
     */
    private String isOfflineHold;

    // running hold
    private String runningHoldFlag;

    private String isStep;

    private String isSlotRecipe = "0";

    private String storage;

    private String completedssType;                         // 完成品入库类型 die or wafer

    private String completedssLevel;                        // 品质等级

    private Integer isDivideBox;                             // 是否已经分盒 0未分 1已分

    private String previousStationOperationId;

    private String lotPlanCreateTime;

    private String prevOperation;

    private String prevFlowSeq;

    private String prevOperationDesc;

    private String lotStatusReferenceData;

    private String location;

    private String pLocation;

    private Long locationRrn;

    private Long pLocationRrn;

    private String locationType;

    private String pLocationType;

    private String qTime;

    private int qTimeBufferTime;

    private String qTimeBgc;                                // qtime 页面背景色

    private Timestamp planStartDate;

    private String startHold;

    /*
     * private Long bomRrn; private Long boeRrn;
     */
    private Long eqptRrn;

    private String eqptID;

    /* For show in list */
    private Long recipeRrn;

    private String reticleId;

    private Long reticleRrn;

    private String recipeId;

    private Integer recipeVersion;

    private String recipeParameter;

    private Long jobRrn;

    private Long nextJobRrn1;

    private Long nextJobRrn2;

    private Long executionRrn;

    private Long carrierMapRrn;

    private String trackUnitFlag;

    private String keepUnitHistoryFlag;

    private String transPerformedby;

    private List unitsInfo = new ArrayList();

    private String transId;

    private Double inputQty1;

    private Double inputQty2;

    private Double qty1;

    private Double qty2;

    private Integer int_qty1;

    private Integer int_qty2;

    private Integer dummyQty1;

    private Double outputQty1;

    private Double outputQty2;

    // added for UOM1,2
    private String UOM1;

    private String UOM2;

    // added for sisc
    private Double shippedQty1;

    private Double shippedQty2;

    private String operationDesc;

    private String waitTime;

    private String order_id_actul;

    // ****************Add by frankylee 2007/12/12
    private String order_Id;

    private String order_Remain_Qty;

    // -----------------Add by holly 2008/03/06
    private String custProductId;

    // *****************Add by Frankylee 2008/06/23
    private String productor_type;

    private String productor_type_key;

    /**
     * 污染等级
     */
    private String pollutionLevel;

    private String pollutionLevelAfter;

    /**
     * 片号
     */
    private String wiferId;

    /**
     * 硅片型号
     */
    private String waferType;

    /**
     * 优先流通等级
     */
    private String flowLevel;

    /**
     * 客户代码
     */
    private String customerId;

    /**
     * 客户批号
     */
    private String customerLotId;

    /**
     * 客户片号
     */
    private String customerWaferId;

    /**
     * 下线时间
     */
    private String fabOutTime;

    /**
     * 上线时间
     */
    private String waferStartTime;

    /**
     * 外部订单编号
     */
    private String outerOrderNO;

    /**
     * 内部订单编号
     */
    private String innerOrderNO;

    /**
     * 发货代码
     */
    private String shippingCode;

    /**
     * 是否外包
     */
    private String isOutSource;

    /**
     * 是否补投
     */
    private String isReCreateLot;

    /**
     * 项目类别
     */
    private String projectCategory;

    private String routeSeq;

    private String operationSeq;

    private String productLayer;

    // ****************Add by frankylee 2007/12/05
    private String lotTypeBonded;

    private long reticleGroupRrn;

    private String reticleGroupId;

    private String splitMergeFlag;

    private String chamberType;

    private String isChamber;

    // *****************Add by andy for CSEC
    private String isBaseRecipe;

    private Long recipeLogicalRrn;

    private String recipeLogicalId;

    private String recipePhysicalId;

    private Collection childRecipes = new ArrayList();

    private List recipes = new ArrayList();

    private String ppid;

    /**
     * 原材料信息
     */
    private String materialinfo = "";

    private String isSapphire;

    private Collection selectedUnitsInfo = new ArrayList();

    private Collection removeUnitsInfo = new ArrayList();

    private Collection slotUnit = new ArrayList();

    private Collection slots = new ArrayList();

    private Collection existingSlots = new ArrayList();

    private String monitorcarrId;

    private Integer monitorqty;

    private String hasmonitor;

    private String flowSeq;

    private String lotPlanType;

    private String targetCSTType;                      // A-B 返回B,A 返回A,

    private String outOrderType;

    private String processLocation;

    private String processLocationAfter;

    private String mergeSelectFlag;

    private String carrierSharedFlag;

    private String batchId;

    private int autoSplitMergFlag = 0;//自动分合批批次标志

    private byte[] currentStepTimeStruct;

    private String eqptGroupIds;

    private String stepType;

    private String workArea;

    private String flipType;

    // 用于判断当前Lot 是否sorter 操作,默认false
    private Boolean sorterFlag = false;

    private Boolean isDummyLot = false;

    private String sysType;

    // --------------------------------------------------------- Consturctors
    public Lot() {
    }

    /**
     * @param lotRrn
     */
    public Lot(long lotRrn) {
        super();
        this.lotRrn = lotRrn;
    }

    public Lot(Long facilityRrn, String lotId) {
        this.facilityRrn = facilityRrn;
        this.lotId = lotId;
    }

    public Boolean getSorterFlag() {
        return sorterFlag;
    }

    public void setSorterFlag(Boolean sorterFlag) {
        this.sorterFlag = sorterFlag;
    }

    public String getMergeSelectFlag() {
        return mergeSelectFlag;
    }

    public void setMergeSelectFlag(String mergeSelectFlag) {
        this.mergeSelectFlag = mergeSelectFlag;
    }

    public String getProcessLocation() {
        return processLocation;
    }

    public void setProcessLocation(String processLocation) {
        this.processLocation = processLocation;
    }

    public String getProcessLocationAfter() {
        return processLocationAfter;
    }

    public void setProcessLocationAfter(String processLocationAfter) {
        this.processLocationAfter = processLocationAfter;
    }

    public Long getLocationRrn() {
        return locationRrn;
    }

    public void setLocationRrn(Long locationRrn) {
        this.locationRrn = locationRrn;
    }

    public Long getpLocationRrn() {
        return pLocationRrn;
    }

    public void setpLocationRrn(Long pLocationRrn) {
        this.pLocationRrn = pLocationRrn;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public String getpLocation() {
        return pLocation;
    }

    public void setpLocation(String pLocation) {
        this.pLocation = pLocation;
    }

    public String getLocationType() {
        return locationType;
    }

    public void setLocationType(String locationType) {
        this.locationType = locationType;
    }

    public String getpLocationType() {
        return pLocationType;
    }

    public void setpLocationType(String pLocationType) {
        this.pLocationType = pLocationType;
    }

    public String getLotStatusReferenceData() {
        return lotStatusReferenceData;
    }

    public void setLotStatusReferenceData(String lotStatusReferenceData) {
        this.lotStatusReferenceData = lotStatusReferenceData;
    }

    public String getStorage() {
        return storage;
    }

    public void setStorage(String storage) {
        this.storage = storage;
    }

    public String getCompletedssType() {
        return completedssType;
    }

    public void setCompletedssType(String completedssType) {
        this.completedssType = completedssType;
    }

    public String getOuterOrderType() {
        return outerOrderType;
    }

    public void setOuterOrderType(String outerOrderType) {
        this.outerOrderType = outerOrderType;
    }

    public String getCompletedssLevel() {
        return completedssLevel;
    }

    public void setCompletedssLevel(String completedssLevel) {
        this.completedssLevel = completedssLevel;
    }

    public Integer getIsDivideBox() {
        return isDivideBox;
    }

    public void setIsDivideBox(Integer isDivideBox) {
        this.isDivideBox = isDivideBox;
    }

    public String getIsOfflineHold() {
        return isOfflineHold;
    }

    public void setIsOfflineHold(String isOfflineHold) {
        this.isOfflineHold = isOfflineHold;
    }

    public String getShippingProductName() {
        return shippingProductName;
    }

    public void setShippingProductName(String shippingProductName) {
        this.shippingProductName = shippingProductName;
    }

    public String getLotPlanType() {
        return lotPlanType;
    }

    public void setLotPlanType(String lotPlanType) {
        this.lotPlanType = lotPlanType;
    }

    public String getFlowSeq() {
        return flowSeq;
    }

    public void setFlowSeq(String flowSeq) {
        this.flowSeq = flowSeq;
    }

    public String getChamberType() {
        return chamberType;
    }

    public void setChamberType(String chamberType) {
        this.chamberType = chamberType;
    }

    public Long getRecipeLogicalRrn() {
        return recipeLogicalRrn;
    }

    public void setRecipeLogicalRrn(Long recipeLogicalRrn) {
        this.recipeLogicalRrn = recipeLogicalRrn;
    }

    public String getRecipeLogicalId() {
        return recipeLogicalId;
    }

    public void setRecipeLogicalId(String recipeLogicalId) {
        this.recipeLogicalId = recipeLogicalId;
    }

    public String getRecipePhysicalId() {
        return recipePhysicalId;
    }

    public void setRecipePhysicalId(String recipePhysicalId) {
        this.recipePhysicalId = recipePhysicalId;
    }

    public String getSplitMergeFlag() {
        return splitMergeFlag;
    }

    public void setSplitMergeFlag(String splitMergeFlag) {
        this.splitMergeFlag = splitMergeFlag;
    }

    // --------------------------------------------------------- Properties
    public String getCustProdid() {
        return this.custProductId;
    }

    public void setCustProdid(String custProductId) {
        this.custProductId = custProductId;
    }

    // ----------------------------------------------------------- Add by holly 2008/03/06
    public String getOperationDesc() {
        return this.operationDesc;
    }

    public void setOperationDesc(String operationDesc) {
        this.operationDesc = operationDesc;
    }

    public long getLotRrn() {
        return this.lotRrn;
    }

    public void setLotRrn(long lotRrn) {
        this.lotRrn = lotRrn;
    }

    public Long getFacilityRrn() {
        return this.facilityRrn;
    }

    public void setFacilityRrn(Long facilityRrn) {
        this.facilityRrn = facilityRrn;
    }

    public String getLotId() {
        return this.lotId;
    }

    public void setLotId(String lotId) {
        this.lotId = lotId;
    }

    public Long getBasedLotRrn() {
        return this.basedLotRrn;
    }

    public void setBasedLotRrn(Long basedLotRrn) {
        this.basedLotRrn = basedLotRrn;
    }

    public Long getCreatedPlanLotRrn() {
        return this.createdPlanLotRrn;
    }

    public void setCreatedPlanLotRrn(Long createdPlanLotRrn) {
        this.createdPlanLotRrn = createdPlanLotRrn;
    }

    public String getHotFlag() {
        return this.hotFlag;
    }

    public void setHotFlag(String hotFlag) {
        this.hotFlag = hotFlag;
    }

    public Integer getPriority() {
        return this.priority;
    }

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

    public String getStartedFlag() {
        return this.startedFlag;
    }

    public void setStartedFlag(String startedFlag) {
        this.startedFlag = startedFlag;
    }

    public Timestamp getStartedTimestamp() {
        return this.startedTimestamp;
    }

    public void setStartedTimestamp(Timestamp startedTimestamp) {
        this.startedTimestamp = startedTimestamp;
    }

    public String getCreateCategory() {
        return this.createCategory;
    }

    public void setCreateCategory(String createCategory) {
        this.createCategory = createCategory;
    }

    public Timestamp getCreatedTimestamp() {
        return this.createdTimestamp;
    }

    public void setCreatedTimestamp(Timestamp createdTimestamp) {
        this.createdTimestamp = createdTimestamp;
    }

    public Timestamp getEndTimestamp() {
        return this.endTimestamp;
    }

    public void setEndTimestamp(Timestamp endTimestamp) {
        this.endTimestamp = endTimestamp;
    }

    public Timestamp getDueDate() {
        return this.dueDate;
    }

    public void setDueDate(Timestamp dueDate) {
        this.dueDate = dueDate;
    }

    public Timestamp getScheduleDueDate() {
        return this.scheduleDueDate;
    }

    public void setScheduleDueDate(Timestamp scheduleDueDate) {
        this.scheduleDueDate = scheduleDueDate;
    }

    public String getLastScheduleFlag() {
        return this.lastScheduleFlag;
    }

    public void setLastScheduleFlag(String lastScheduleFlag) {
        this.lastScheduleFlag = lastScheduleFlag;
    }

    public Long getEstimatedRemainTime() {
        return this.estimatedRemainTime;
    }

    public void setEstimatedRemainTime(Long estimatedRemainTime) {
        this.estimatedRemainTime = estimatedRemainTime;
    }

    public String getDummyFlag() {
        return this.dummyFlag;
    }

    public void setDummyFlag(String dummyFlag) {
        this.dummyFlag = dummyFlag;
    }

    public String getLotType() {
        return this.lotType;
    }

    public void setLotType(String lotType) {
        this.lotType = lotType;
    }

    public String getLotOwner() {
        return this.lotOwner;
    }

    public void setLotOwner(String lotOwner) {
        this.lotOwner = lotOwner;
    }

    @Deprecated
    public Double getQty1() {
        return this.qty1;
    }

    public void setQty1(Double qty1) {
        this.qty1 = qty1;
        if (qty1 != null) {
            this.int_qty1 = new Integer(qty1.intValue());
        }
    }

    public Integer getInt_qty1() {
        return this.int_qty1;
    }

    public Integer getInt_qty2() {
        return this.int_qty2;
    }

    public Double getQty2() {
        return this.qty2;

    }

    public void setQty2(Double qty2) {

        this.qty2 = qty2;

        if (qty2 != null) {
            this.int_qty2 = new Integer(qty2.intValue());
        }
    }

    public Integer getDummyQty1() {
        return this.dummyQty1;
    }

    public void setDummyQty1(Integer dummyQty1) {
        this.dummyQty1 = dummyQty1;
    }

    public Double getInputQty1() {
        return this.inputQty1;
    }

    public void setInputQty1(Double inputQty1) {
        this.inputQty1 = inputQty1;
    }

    public Double getInputQty2() {
        return this.inputQty2;
    }

    public void setInputQty2(Double inputQty2) {
        this.inputQty2 = inputQty2;
    }

    public Double getOutputQty1() {
        return this.outputQty1;
    }

    public void setOutputQty1(Double outputQty1) {
        this.outputQty1 = outputQty1;
    }

    public Double getOutputQty2() {
        return this.outputQty2;
    }

    public void setOutputQty2(Double outputQty2) {
        this.outputQty2 = outputQty2;
    }

    public Long getSubcontractorRrn() {
        return this.subcontractorRrn;
    }

    public void setSubcontractorRrn(Long subcontractorRrn) {
        this.subcontractorRrn = subcontractorRrn;
    }

    public String getLotComments() {
        return this.lotComments;
    }

    public void setLotComments(String lotComments) {
        this.lotComments = lotComments;
    }

    public Long getStepSequence() {
        return this.stepSequence;
    }

    public void setStepSequence(Long stepSequence) {
        this.stepSequence = stepSequence;
    }

    public Long getStepNumberInProcess() {
        return this.stepNumberInProcess;
    }

    public void setStepNumberInProcess(Long stepNumberInProcess) {
        this.stepNumberInProcess = stepNumberInProcess;
    }

    /*
     * public Long getTotalSteps(){ return this.totalSteps; } public void setTotalSteps(Long totalSteps){
     * this.totalSteps = totalSteps; } public String getAlarmTriggeredFlag(){ return this
     * .alarmTriggeredFlag; } public
     * void setAlarmTriggeredFlag(String alarmTriggeredFlag){ this.alarmTriggeredFlag = alarmTriggeredFlag;
     *  } public
     * String getFutureActionFlag(){ return this.futureActionFlag; } public void setFutureActionFlag(String
     * futureActionFlag){ this.futureActionFlag = futureActionFlag; }
     */
    public Timestamp getHoldTimestamp() {
        return this.holdTimestamp;
    }

    public void setHoldTimestamp(Timestamp holdTimestamp) {
        this.holdTimestamp = holdTimestamp;
    }

    public String getReworkFlag() {
        return reworkFlag;
    }

    public void setReworkFlag(String reworkFlag) {
        this.reworkFlag = reworkFlag;
    }

    public Long getReworkTransRrn() {
        return this.reworkTransRrn;
    }

    public void setReworkTransRrn(Long reworkTransRrn) {
        this.reworkTransRrn = reworkTransRrn;
    }

    /*
     * public String getInReworkFlag(){ return this.inReworkFlag; } public void setInReworkFlag(String
     * inReworkFlag){
     * this.inReworkFlag = inReworkFlag; }
     */
    public String getReworkCategory() {
        return this.reworkCategory;
    }

    public void setReworkCategory(String reworkCategory) {
        this.reworkCategory = reworkCategory;
    }

    public Long getCarrierRrn() {
        return this.carrierRrn;
    }

    public void setCarrierRrn(Long carrierRrn) {
        this.carrierRrn = carrierRrn;
    }

    public String getCarrierId() {
        return this.carrierId;
    }

    public void setCarrierId(String carrierId) {
        this.carrierId = carrierId;
    }

    public String getBeforeStatus() {
        return this.beforeStatus;
    }

    public void setBeforeStatus(String beforeStatus) {
        this.beforeStatus = beforeStatus;
    }

    public String getLotStatus() {
        return this.lotStatus;
    }

    public void setLotStatus(String lotStatus) {
        this.lotStatus = lotStatus;
    }

    public String getProcessingStatus() {
        return this.processingStatus;
    }

    public void setProcessingStatus(String processingStatus) {
        this.processingStatus = processingStatus;
    }

    public Timestamp getQueueTimestamp() {
        return this.queueTimestamp;
    }

    public void setQueueTimestamp(Timestamp queueTimestamp) {
        this.queueTimestamp = queueTimestamp;
    }

    public Long getProductRrn() {
        return this.productRrn;
    }

    public void setProductRrn(Long productRrn) {
        this.productRrn = productRrn;
    }

    public String getProductId() {
        return this.productId;
    }

    public void setProductId(String productId) {
        this.productId = productId;
    }

    public Long getProcessRrn() {
        return this.processRrn;
    }

    public void setProcessRrn(Long processRrn) {
        this.processRrn = processRrn;
    }

    public String getProcessId() {
        return this.processId;
    }

    public void setProcessId(String processId) {
        this.processId = processId;
    }

    public Integer getProcessVersion() {
        return this.processVersion;
    }

    public void setProcessVersion(Integer processVersion) {
        this.processVersion = processVersion;
    }

    public String getProcessStepVersion() {
        return this.processStepVersion;
    }

    public void setProcessStepVersion(String processStepVersion) {
        this.processStepVersion = processStepVersion;
    }

    public String getProcessStepIdVersion() {
        return this.processStepIdVersion;
    }

    public void setProcessStepIdVersion(String processStepIdVersion) {
        this.processStepIdVersion = processStepIdVersion;
    }

    /**
     * @return the routeRrn
     */
    public Long getRouteRrn() {
        if (this.routeRrn == null || this.routeRrn <= 0) {
            this.routeRrn = WipUtils.getRouteRrnByProcessStep(processStepVersion);
        }
        return this.routeRrn;
    }

    public void setRouteRrn(Long routeRrn) {
        this.routeRrn = routeRrn;
    }

    // 获取流程route版本
    public Integer getRouteVersion() {
        return WipUtils.getRouteVersionByProcessStep(processStepVersion);

    }

    /**
     * @return the routeId
     */
    public String getRouteId() {

        return WipUtils.getRouteIdByProcessStep(processStepIdVersion);
    }

    public void setRouteId(String routeId) {
        this.routeId = routeId;
    }

    public Long getOperationRrn() {
        return this.operationRrn;
    }

    public void setOperationRrn(Long operationRrn) {
        this.operationRrn = operationRrn;
    }

    public Long getPrevOperationRrn() {
        return this.prevOperationRrn;
    }

    public void setPrevOperationRrn(Long prevOperationRrn) {
        this.prevOperationRrn = prevOperationRrn;
    }

    public String getOperationId() {
        return this.operationId;
    }

    public void setOperationId(String operationId) {
        this.operationId = operationId;
    }

    public Integer getPrevOperationVersion() {
        return this.prevOperationVersion;
    }

    public void setPrevOperationVersion(Integer prevOperationVersion) {
        this.prevOperationVersion = prevOperationVersion;
    }

    public Integer getOperationVersion() {
        return this.operationVersion;
    }

    public void setOperationVersion(Integer operationVersion) {
        this.operationVersion = operationVersion;
    }

    public String getNextStepVersion1() {
        return this.nextStepVersion1;
    }

    public void setNextStepVersion1(String nextStepVersion1) {
        this.nextStepVersion1 = nextStepVersion1;
    }

    public String getNextStepIdVersion1() {
        return this.nextStepIdVersion1;
    }

    public void setNextStepIdVersion1(String nextStepIdVersion1) {
        this.nextStepIdVersion1 = nextStepIdVersion1;
    }

    public Long getNextOperationRrn1() {
        return this.nextOperationRrn1;
    }

    public void setNextOperationRrn1(Long nextOperationRrn1) {
        this.nextOperationRrn1 = nextOperationRrn1;
    }

    public String getNextStepVersion2() {
        return this.nextStepVersion2;
    }

    public void setNextStepVersion2(String nextStepVersion2) {
        this.nextStepVersion2 = nextStepVersion2;
    }

    public String getNextStepIdVersion2() {
        return this.nextStepIdVersion2;
    }

    public void setNextStepIdVersion2(String nextStepIdVersion2) {
        this.nextStepIdVersion2 = nextStepIdVersion2;
    }

    public Long getNextOperationRrn2() {
        return this.nextOperationRrn2;
    }

    public void setNextOperationRrn2(Long nextOperationRrn2) {
        this.nextOperationRrn2 = nextOperationRrn2;
    }

    public String getStageId() {
        return this.stageId;
    }

    public void setStageId(String stageId) {
        this.stageId = stageId;
    }

    public String getLayerId() {
        return this.layerId;
    }

    public void setLayerId(String layerId) {
        this.layerId = layerId;
    }

    public Long getBorRrn() {
        return this.borRrn;
    }

    public void setBorRrn(Long borRrn) {
        this.borRrn = borRrn;
    }

    /*
     * public Long getBomRrn(){ return this.bomRrn; } public void setBomRrn(Long bomRrn){ this.bomRrn =
     * bomRrn; } public
     * Long getBoeRrn(){ return this.boeRrn; } public void setBoeRrn(Long boeRrn){ this.boeRrn = boeRrn; }
     */
    public Long getEqptRrn() {
        return this.eqptRrn;
    }

    public void setEqptRrn(Long eqptRrn) {
        this.eqptRrn = eqptRrn;
    }

    public Long getReticleRrn() {
        return this.reticleRrn;
    }

    public void setReticleRrn(Long reticleRrn) {
        this.reticleRrn = reticleRrn;
    }

    public String getReticleId() {
        return this.reticleId;
    }

    public void setReticleId(String reticleId) {
        this.reticleId = reticleId;
    }

    public String getRecipeString() {
        return this.recipeString;
    }

    public void setRecipeString(String recipeString) {
        this.recipeString = recipeString;
    }

    public String getNextRecipeString1() {
        return this.nextRecipeString1;
    }

    public void setNextRecipeString1(String nextRecipeString1) {
        this.nextRecipeString1 = nextRecipeString1;
    }

    public String getNextRecipeString2() {
        return this.nextRecipeString2;
    }

    public void setNextRecipeString2(String nextRecipeString2) {
        this.nextRecipeString2 = nextRecipeString2;
    }

    /**
     * @return the recipeRrn
     */
    public Long getRecipeRrn() {
        return MiscUtils.parseRecipeRrn(this.getRecipeString());
    }

    /**
     * @param recipeRrn the recipeRrn to set
     */
    public void setRecipeRrn(Long recipeRrn) {
        this.recipeRrn = recipeRrn;
    }

    public String getRecipeId() {
        return this.recipeId;
    }

    public void setRecipeId(String recipeId) {
        this.recipeId = recipeId;
    }

    public Integer getRecipeVersion() {
        if (Objects.nonNull(this.recipeVersion)) {
            return this.recipeVersion;
        } else {
            return NumberUtils.INTEGER_ZERO;
        }
    }

    public void setRecipeVersion(Integer recipeVersion) {
        this.recipeVersion = recipeVersion;
    }

    public String getRecipeParameter() {
        return this.recipeParameter;
    }

    public void setRecipeParameter(String recipeParameter) {
        this.recipeParameter = recipeParameter;
    }

    public Long getJobRrn() {
        return this.jobRrn;
    }

    public void setJobRrn(Long jobRrn) {
        this.jobRrn = jobRrn;
    }

    public Long getNextJobRrn1() {
        return this.nextJobRrn1;
    }

    public void setNextJobRrn1(Long nextJobRrn1) {
        this.nextJobRrn1 = nextJobRrn1;
    }

    public Long getNextJobRrn2() {
        return this.nextJobRrn2;
    }

    public void setNextJobRrn2(Long nextJobRrn2) {
        this.nextJobRrn2 = nextJobRrn2;
    }

    public Long getExecutionRrn() {
        return this.executionRrn;
    }

    public void setExecutionRrn(Long executionRrn) {
        this.executionRrn = executionRrn;
    }

    /*
     * Return WflStepPath.
     */
    public String getWflStepPath() {
        return this.wflStepPath;
    }

    public void setWflStepPath(String wflStepPath) {
        this.wflStepPath = wflStepPath;
    }

    public Long getCarrierMapRrn() {
        return this.carrierMapRrn;
    }

    public void setCarrierMapRrn(Long carrierMapRrn) {
        this.carrierMapRrn = carrierMapRrn;
    }

    public String getTrackUnitFlag() {
        return this.trackUnitFlag;
    }

    public void setTrackUnitFlag(String trackUnitFlag) {
        this.trackUnitFlag = trackUnitFlag;
    }

    public String getKeepUnitHistoryFlag() {
        return this.keepUnitHistoryFlag;
    }

    public void setKeepUnitHistoryFlag(String keepUnitHistoryFlag) {
        this.keepUnitHistoryFlag = keepUnitHistoryFlag;
    }

    public String getTransPerformedby() {
        return this.transPerformedby;
    }

    public void setTransPerformedby(String transPerformedby) {
        this.transPerformedby = transPerformedby;
    }

    public List getUnitsInfo() {
        return this.unitsInfo;
    }

    public void setUnitsInfo(List unitsInfo) {
        this.unitsInfo = unitsInfo;
    }

    public String getTransId() {
        return transId;
    }

    public void setTransId(String transId) {
        this.transId = transId;
    }

    public String getNextOperationId1() {
        return this.nextOperationId1;
    }

    public void setNextOperationId1(String nextOperationId1) {
        this.nextOperationId1 = nextOperationId1;
    }

    public String getNextOperationId2() {
        return this.nextOperationId2;
    }

    public void setNextOperationId2(String nextOperationId2) {
        this.nextOperationId2 = nextOperationId2;
    }

    public String getEqptID() {
        return eqptID;
    }

    public void setEqptID(String eqptID) {
        this.eqptID = eqptID;
    }

    public String getUOM1() {
        return this.UOM1;
    }

    public void setUOM1(String UOM1) {
        this.UOM1 = UOM1;
    }

    public String getUOM2() {
        return this.UOM2;
    }

    public void setUOM2(String UOM2) {
        this.UOM2 = UOM2;
    }

    public Double getShippedQty1() {
        return this.shippedQty1;
    }

    public void setShippedQty1(Double shippedQty1) {
        this.shippedQty1 = shippedQty1;
    }

    public Double getShippedQty2() {
        return this.shippedQty2;
    }

    // --add by cleo

    public void setShippedQty2(Double shippedQty2) {
        this.shippedQty2 = shippedQty2;
    }

    public String getwaitTime() {
        return this.waitTime;
    }

    public void setwaitTime(String waitTime) {
        this.waitTime = waitTime;
    }

    public String getMarket_order_Id() {
        return market_order_Id;
    }

    public void setMarket_order_Id(String market_order_Id) {
        this.market_order_Id = market_order_Id;
    }

    public String getRuning_qty() {
        return runing_qty;
    }

    public void setRuning_qty(String runing_qty) {
        this.runing_qty = runing_qty;
    }

    public String getOrder_id_actul() {
        return order_id_actul;
    }

    public void setOrder_id_actul(String order_id_actul) {
        this.order_id_actul = order_id_actul;
    }

    public String getOrder_Id() {
        return order_Id;
    }

    public void setOrder_Id(String order_Id) {
        this.order_Id = order_Id;
    }

    public String getOrder_Remain_Qty() {
        return order_Remain_Qty;
    }

    public void setOrder_Remain_Qty(String order_Remain_Qty) {
        this.order_Remain_Qty = order_Remain_Qty;
    }

    public String getProductor_type() {
        return productor_type;
    }

    public void setProductor_type(String productor_type) {
        this.productor_type = productor_type;
    }

    public String getProductor_type_key() {
        return productor_type_key;
    }

    public void setProductor_type_key(String productor_type_key) {
        this.productor_type_key = productor_type_key;
    }

    public String getPollutionLevel() {
        return pollutionLevel;
    }

    public void setPollutionLevel(String pollutionLevel) {
        this.pollutionLevel = pollutionLevel;
    }

    public String getPollutionLevelAfter() {
        return pollutionLevelAfter;
    }

    public void setPollutionLevelAfter(String pollutionLevelAfter) {
        this.pollutionLevelAfter = pollutionLevelAfter;
    }

    public void setWaitTime(String waitTime) {
        this.waitTime = waitTime;
    }

    public String getWiferId() {
        return wiferId;
    }

    public void setWiferId(String wiferId) {
        this.wiferId = wiferId;
    }

    public String getWaferType() {
        return waferType;
    }

    public void setWaferType(String waferType) {
        this.waferType = waferType;
    }

    public String getFlowLevel() {
        return flowLevel;
    }

    public void setFlowLevel(String flowLevel) {
        this.flowLevel = flowLevel;
    }

    public String getCustomerId() {
        return customerId;
    }

    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }

    public String getCustomerLotId() {
        return customerLotId;
    }

    public void setCustomerLotId(String customerLotId) {
        this.customerLotId = customerLotId;
    }

    public String getCustomerWaferId() {
        return customerWaferId;
    }

    public void setCustomerWaferId(String customerWaferId) {
        this.customerWaferId = customerWaferId;
    }

    public String getFabOutTime() {
        return fabOutTime;
    }

    public void setFabOutTime(String fabOutTime) {
        this.fabOutTime = fabOutTime;
    }

    public String getWaferStartTime() {
        return waferStartTime;
    }

    public void setWaferStartTime(String waferStartTime) {
        this.waferStartTime = waferStartTime;
    }

    public String getOuterOrderNO() {
        return outerOrderNO;
    }

    public void setOuterOrderNO(String outerOrderNO) {
        this.outerOrderNO = outerOrderNO;
    }

    public String getInnerOrderNO() {
        return innerOrderNO;
    }

    public void setInnerOrderNO(String innerOrderNO) {
        this.innerOrderNO = innerOrderNO;
    }

    public String getShippingCode() {
        return shippingCode;
    }

    public void setShippingCode(String shippingCode) {
        this.shippingCode = shippingCode;
    }

    public String getIsOutSource() {
        return isOutSource;
    }

    public void setIsOutSource(String isOutSource) {
        this.isOutSource = isOutSource;
    }

    public String getIsReCreateLot() {
        return isReCreateLot;
    }

    public void setIsReCreateLot(String isReCreateLot) {
        this.isReCreateLot = isReCreateLot;
    }

    public String getProjectCategory() {
        return projectCategory;
    }

    public void setProjectCategory(String projectCategory) {
        this.projectCategory = projectCategory;
    }

    public String getRouteSeq() {
        return routeSeq;
    }

    public void setRouteSeq(String routeSeq) {
        this.routeSeq = routeSeq;
    }

    public String getOperationSeq() {
        return operationSeq;
    }

    public void setOperationSeq(String operationSeq) {
        this.operationSeq = operationSeq;
    }

    public String getProductLayer() {
        return productLayer;
    }

    public void setProductLayer(String productLayer) {
        this.productLayer = productLayer;
    }

    public String getFlipType() {
        return flipType;
    }

    public void setFlipType(String flipType) {
        this.flipType = flipType;
    }

    /*
     * (non-Javadoc)
     * @see java.lang.Object#hashCode()
     */
    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + (int) (lotRrn ^ (lotRrn >>> 32));
        return result;
    }

    /*
     * (non-Javadoc)
     * @see java.lang.Object#equals(java.lang.Object)
     */
    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        Lot other = (Lot) obj;
        if (lotRrn != other.lotRrn) {
            return false;
        }
        return true;
    }

    @Override
    public Object clone() throws CloneNotSupportedException {
        return super.clone();
    }

    // --add by cleo
    @Override
    public String toString() {
        String s = super.toString() + "[";
        s = s + " lotRrn:" + lotRrn;
        s = s + " facilityRrn:" + facilityRrn;
        s = s + " lotId:" + lotId;
        s = s + " basedLotRrn:" + basedLotRrn;
        s = s + " createdPlanLotRrn:" + createdPlanLotRrn;
        s = s + " hotFlag:" + hotFlag;
        s = s + " priority:" + priority;
        s = s + " startedFlag:" + startedFlag;
        s = s + " startedTimestamp:" + startedTimestamp;
        s = s + " createCategory:" + createCategory;
        s = s + " createdTimestamp:" + createdTimestamp;
        s = s + " endTimestamp:" + endTimestamp;
        s = s + " dueDate:" + dueDate;
        s = s + " scheduleDueDate:" + scheduleDueDate;
        s = s + " lastScheduleFlag:" + lastScheduleFlag;
        s = s + " dummyFlag:" + dummyFlag;
        s = s + " lotType:" + lotType;
        s = s + " lotOwner:" + lotOwner;
        s = s + " wflStepPath:" + wflStepPath;
        s = s + " subcontractorRrn:" + subcontractorRrn;
        s = s + " lotComments:" + lotComments;
        s = s + " stepSequence:" + stepSequence;
        s = s + " stepNumberInProcess:" + stepNumberInProcess;
        s = s + " holdTimestamp:" + holdTimestamp;
        s = s + " reworkTransRrn:" + reworkTransRrn;
        s = s + " estimatedRemainTime:" + estimatedRemainTime;
        s = s + " borRrn:" + borRrn;
        s = s + " recipeString:" + recipeString;
        s = s + " nextRecipeString1:" + nextRecipeString1;
        s = s + " nextRecipeString2:" + nextRecipeString2;
        s = s + " reworkCategory:" + reworkCategory;
        s = s + " carrierRrn:" + carrierRrn;
        s = s + " carrierId:" + carrierId;
        s = s + " beforeStatus:" + beforeStatus;
        s = s + " lotStatus:" + lotStatus;
        s = s + " processingStatus:" + processingStatus;
        s = s + " queueTimestamp:" + queueTimestamp;
        s = s + " productRrn:" + productRrn;
        s = s + " productId:" + productId;
        s = s + " processRrn:" + processRrn;
        s = s + " processId:" + processId;
        s = s + " processVersion:" + processVersion;
        s = s + " processStepVersion:" + processStepVersion;
        s = s + " processStepIdVersion:" + processStepIdVersion;
        s = s + " routeId:" + routeId;
        s = s + " prevOperationRrn:" + prevOperationRrn;
        s = s + " operationRrn:" + operationRrn;
        s = s + " operationId:" + operationId;
        s = s + " prevOperationVersion:" + prevOperationVersion;
        s = s + " operationVersion:" + operationVersion;
        s = s + " nextStepVersion1:" + nextStepVersion1;
        s = s + " nextStepIdVersion1:" + nextStepIdVersion1;
        s = s + " nextOperationRrn1:" + nextOperationRrn1;
        s = s + " nextOperationId1:" + nextOperationId1;
        s = s + " nextStepVersion2:" + nextStepVersion2;
        s = s + " nextStepIdVersion2:" + nextStepIdVersion2;
        s = s + " nextOperationRrn2:" + nextOperationRrn2;
        s = s + " nextOperationId2:" + nextOperationId2;
        s = s + " stageId:" + stageId;
        s = s + " layerId:" + layerId;
        s = s + " eqptRrn:" + eqptRrn;
        s = s + " eqptID:" + eqptID;
        s = s + " reticleId:" + reticleId;
        s = s + " reticleRrn:" + reticleRrn;
        s = s + " recipeId:" + recipeId;
        s = s + " recipeVersion:" + recipeVersion;
        s = s + " recipeParameter:" + recipeParameter;
        s = s + " jobRrn" + jobRrn;
        s = s + " nextJobRrn1:" + nextJobRrn1;
        s = s + " nextJobRrn2:" + nextJobRrn2;
        s = s + " executionRrn:" + executionRrn;
        s = s + " carrierMapRrn:" + carrierMapRrn;
        s = s + " trackUnitFlag:" + trackUnitFlag;
        s = s + " keepUnitHistoryFlag:" + keepUnitHistoryFlag;
        s = s + " transPerformedby:" + transPerformedby;
        s = s + " materialinfo:" + materialinfo;
        s = s + " unitsInfo:" + unitsInfo;
        s = s + " transId:" + transId;
        s = s + " inputQty1:" + inputQty1;
        s = s + " inputQty2:" + inputQty2;
        s = s + " qty1:" + qty1;
        s = s + " qty2:" + qty2;
        s = s + " outputQty1:" + outputQty1;
        s = s + " outputQty2:" + outputQty2;
        s = s + " UOM1:" + UOM1;
        s = s + " UOM2:" + UOM2;
        s = s + " shippedQty1:" + shippedQty1;
        s = s + " shippedQty2:" + shippedQty2;
        s = s + " pollutionLevel:" + pollutionLevel;
        s = s + "]";

        return s;
    }

    public String getLotTypeBonded() {
        return lotTypeBonded;
    }

    public void setLotTypeBonded(String lotTypeBonded) {
        this.lotTypeBonded = lotTypeBonded;
    }

    public long getReticleGroupRrn() {
        return reticleGroupRrn;
    }

    public void setReticleGroupRrn(long reticleGroupRrn) {
        this.reticleGroupRrn = reticleGroupRrn;
    }

    public String getReticleGroupId() {
        return reticleGroupId;
    }

    public void setReticleGroupId(String reticleGroupId) {
        this.reticleGroupId = reticleGroupId;
    }

    public String getBuildRouteId() {
        return routeId;
    }

    /**
     * @return the routeDesc
     */
    public String getRouteDesc() {
        return routeDesc;
    }

    /**
     * @param routeDesc the routeDesc to set
     */
    public void setRouteDesc(String routeDesc) {
        this.routeDesc = routeDesc;
    }

    public String getRunningHoldFlag() {
        return runningHoldFlag;
    }

    public void setRunningHoldFlag(String runningHoldFlag) {
        this.runningHoldFlag = runningHoldFlag;
    }

    public String getqTime() {
        try {
            double d = Double.parseDouble(this.qTime);
            if (d == LotConstants.QTIME_DEFUALT_VALUE) {
                return "";
            }
        } catch (Exception e) {
            return "";
        }
        return qTime;
    }

    public void setqTime(String qTime) {
        this.qTime = qTime;
    }

    public int getqTimeBufferTime() {
        return qTimeBufferTime;
    }

    public void setqTimeBufferTime(int qTimeBufferTime) {
        this.qTimeBufferTime = qTimeBufferTime;
    }

    public String getqTimeBgc() {
        try {
            double qtimeD = Double.parseDouble(qTime);
            if (LotConstants.QTIME_DEFUALT_VALUE == qtimeD) {
                return "";
            }
            if (qtimeD > 0 && qtimeD < qTimeBufferTime) {
                return "red";
            } else if (qtimeD < 0) {
                return "violet";
            }
        } catch (Exception e) {
        }
        return "";
    }

    public void setqTimeBgc(String qTimeBgc) {
        this.qTimeBgc = qTimeBgc;
    }

    public Collection getChildRecipes() {
        return childRecipes;
    }

    public void setChildRecipes(Collection childRecipes) {
        this.childRecipes = childRecipes;
    }

    public List getRecipes() {
        return recipes;
    }

    public void setRecipes(List recipes) {
        this.recipes = recipes;
    }

    public String getPpid() {
        return ppid;
    }

    public void setPpid(String ppid) {
        this.ppid = ppid;
    }

    public String getIsChamber() {
        return isChamber;
    }

    public void setIsChamber(String isChamber) {
        this.isChamber = isChamber;
    }

    public String getIsBaseRecipe() {
        return isBaseRecipe;
    }

    public void setIsBaseRecipe(String isBaseRecipe) {
        this.isBaseRecipe = isBaseRecipe;
    }

    public String getIsSapphire() {
        return isSapphire;
    }

    public void setIsSapphire(String isSapphire) {
        this.isSapphire = isSapphire;
    }

    public Collection getSelectedUnitsInfo() {
        return selectedUnitsInfo;
    }

    public void setSelectedUnitsInfo(Collection selectedUnitsInfo) {
        this.selectedUnitsInfo = selectedUnitsInfo;
    }

    public Collection getRemoveUnitsInfo() {
        return removeUnitsInfo;
    }

    public void setRemoveUnitsInfo(Collection removeUnitsInfo) {
        this.removeUnitsInfo = removeUnitsInfo;
    }

    public Collection getSlotUnit() {
        return slotUnit;
    }

    public void setSlotUnit(Collection slotUnit) {
        this.slotUnit = slotUnit;
    }

    public Collection getSlots() {
        return slots;
    }

    public void setSlots(Collection slots) {
        this.slots = slots;
    }

    public Collection getExistingSlots() {
        return existingSlots;
    }

    public void setExistingSlots(Collection existingSlots) {
        this.existingSlots = existingSlots;
    }

    public String getIsStep() {
        return isStep;
    }

    public void setIsStep(String isStep) {
        this.isStep = isStep;
    }

    public String getIsSlotRecipe() {
        return isSlotRecipe;
    }

    public void setIsSlotRecipe(String isSlotRecipe) {
        this.isSlotRecipe = isSlotRecipe;
    }

    public String getMonitorcarrId() {
        return monitorcarrId;
    }

    public void setMonitorcarrId(String monitorcarrId) {
        this.monitorcarrId = monitorcarrId;
    }

    public Integer getMonitorqty() {
        return monitorqty;
    }

    public void setMonitorqty(Integer monitorqty) {
        this.monitorqty = monitorqty;
    }

    public String getHasmonitor() {
        return hasmonitor;
    }

    public void setHasmonitor(String hasmonitor) {
        this.hasmonitor = hasmonitor;
    }

    public String getPreviousStationOperationId() {
        return previousStationOperationId;
    }

    public void setPreviousStationOperationId(String previousStationOperationId) {
        this.previousStationOperationId = previousStationOperationId;
    }

    public String getLotPlanCreateTime() {
        return lotPlanCreateTime;
    }

    public void setLotPlanCreateTime(String lotPlanCreateTime) {
        this.lotPlanCreateTime = lotPlanCreateTime;
    }

    public String getTargetCSTType() {
        return targetCSTType;
    }

    public void setTargetCSTType(String targetCSTType) {
        this.targetCSTType = targetCSTType;
    }

    public String getPrevOperation() {
        return prevOperation;
    }

    public void setPrevOperation(String prevOperation) {
        this.prevOperation = prevOperation;
    }

    public String getPrevFlowSeq() {
        return prevFlowSeq;
    }

    public void setPrevFlowSeq(String prevFlowSeq) {
        this.prevFlowSeq = prevFlowSeq;
    }

    public String getPrevOperationDesc() {
        return prevOperationDesc;
    }

    public void setPrevOperationDesc(String prevOperationDesc) {
        this.prevOperationDesc = prevOperationDesc;
    }

    public String getOutOrderType() {
        return outOrderType;
    }

    public void setOutOrderType(String outOrderType) {
        this.outOrderType = outOrderType;
    }

    public Timestamp getPlanStartDate() {
        return planStartDate;
    }

    public void setPlanStartDate(Timestamp planStartDate) {
        this.planStartDate = planStartDate;
    }

    public String getMaterialinfo() {
        return materialinfo;
    }

    public void setMaterialinfo(String materialinfo) {
        this.materialinfo = materialinfo;
    }

    public String getStartHold() {
        return startHold;
    }

    public void setStartHold(String startHold) {
        this.startHold = startHold;
    }

    public String getProductType() {
        return productType;
    }

    public void setProductType(String productType) {
        this.productType = productType;
    }

    public int getAutoSplitMergFlag() {
        return autoSplitMergFlag;
    }

    public void setAutoSplitMergFlag(int autoSplitMergFlag) {
        this.autoSplitMergFlag = autoSplitMergFlag;
    }

    public String getCarrierSharedFlag() {
        return carrierSharedFlag;
    }

    public void setCarrierSharedFlag(String carrierSharedFlag) {
        this.carrierSharedFlag = carrierSharedFlag;
    }

    public Integer getProductVersion() {
        return productVersion;
    }

    public void setProductVersion(Integer productVersion) {
        this.productVersion = productVersion;
    }

    public byte[] getCurrentStepTimeStruct() {
        return currentStepTimeStruct;
    }

    public void setCurrentStepTimeStruct(byte[] currentStepTimeStruct) {
        this.currentStepTimeStruct = currentStepTimeStruct;
    }

    public String getEqptGroupIds() {
        return eqptGroupIds;
    }

    public void setEqptGroupIds(String eqptGroupIds) {
        this.eqptGroupIds = eqptGroupIds;
    }

    public String getBatchId() {
        return batchId;
    }

    public void setBatchId(String batchId) {
        this.batchId = batchId;
    }

    public String getStepType() {
        return stepType;
    }

    public void setStepType(String stepType) {
        this.stepType = stepType;
    }

    public String getWorkArea() {
        return workArea;
    }

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

    public Boolean getIsDummyLot() {
        return isDummyLot;
    }

    public void setIsDummyLot(Boolean dummyLot) {
        isDummyLot = dummyLot;
    }

    public String getSysType() {
        return sysType;
    }

    public void setSysType(String sysType) {
        this.sysType = sysType;
    }

}