コード例 #1
0
ファイル: GanttMaster.cs プロジェクト: yichunbong/CSOT
        public bool TryGetValidEqp(string eqpId, out EqpMaster.Eqp eqp)
        {
            if (this.ValidEqps.TryGetValue(eqpId, out eqp))
            {
                return(true);
            }

            return(false);
        }
コード例 #2
0
ファイル: GanttMaster.cs プロジェクト: yichunbong/CSOT
 public DownItemInfo(string eqpID, string eqpGroup, DateTime loadTime, DateTime endTime, DateTime stateEndTime, EqpState state, DateTime toTime, EqpMaster.Eqp eqp)
 {
     this.EqpID        = eqpID;
     this.EqpGroup     = eqpGroup;
     this.LoadTime     = loadTime;
     this.EndTime      = endTime;
     this.StateEndTime = stateEndTime;
     this.State        = state;
     this.ToTime       = toTime;
     this.Eqp          = eqp;
 }
コード例 #3
0
        public GanttBar(
            string eqpGroup,
            string eqpID,
            string subEqpID,
            string layer,
            string lotID,
            string origLotID,
            string wipInitRun,
            string productID,
            string productVersion,
            string ownerID,
            string processID,
            string stepID,
            string toolID,
            DateTime startTime,
            DateTime endTime,
            int inQty,
            EqpState state,
            EqpMaster.Eqp info,
            DataRow dispatchingInfo,
            int lotPriority,
            string eqpRecipe,
            string stateInfo,
            bool isGhostBar = false)
            : base(startTime, endTime, inQty, 0, state)
        {
            this.EqpGroup = eqpGroup;
            this.EqpID    = eqpID;
            this.SubEqpID = subEqpID;
            this.Layer    = layer;

            this.LotID      = lotID;
            this.OrigLotID  = origLotID;
            this.WipInitRun = wipInitRun;

            this.ProductID      = productID;
            this.ProductVersion = productVersion;
            this.OwnerType      = ownerID;

            this.ProcessID = processID;
            this.StepID    = stepID;

            this.ToolID  = toolID;
            this.EqpInfo = info;

            this.DispatchingInfo = dispatchingInfo;

            this.LotPriority = lotPriority;
            this.EqpRecipe   = eqpRecipe;
            this.StateInfo   = stateInfo;

            this.IsGhostBar = isGhostBar;
        }
コード例 #4
0
        private void AddItem(
            string key,
            EqpMaster.Eqp eqpInfo,
            string subEqpID,
            int?subEqpCount,
            string layer,
            string lotID,
            string origLotID,
            string wipInitRun,
            string productID,
            string productVersion,
            string ownerID,
            string processID,
            string stepID,
            string toolID,
            DateTime startTime,
            DateTime endTime,
            int inQty,
            EqpState state,
            DataRow dispInfo,
            int lotPriority,
            string eqpRecipe,
            string stateInfo,
            bool isGhostBar = false)
        {
            string shopID   = eqpInfo.ShopID;
            string eqpGroup = eqpInfo.EqpGroup;
            string eqpID    = eqpInfo.EqpID;

            GanttInfo info;

            if (this.GanttInfos.TryGetValue(key, out info) == false)
            {
                this.GanttInfos.Add(key, info = new GanttInfo(eqpGroup, eqpID, subEqpID, subEqpCount, layer));
            }

            int sortSeq = GetSortSeq(shopID, stepID);

            //SortSeq MIN 기준으로 변경
            info.SortSeq = Math.Min(info.SortSeq, sortSeq);

            GanttBar bar = new GanttBar(eqpGroup,
                                        eqpID,
                                        subEqpID,
                                        layer,
                                        lotID,
                                        origLotID,
                                        wipInitRun,
                                        productID,
                                        productVersion,
                                        ownerID,
                                        processID,
                                        stepID,
                                        toolID,
                                        startTime,
                                        endTime,
                                        inQty,
                                        state,
                                        eqpInfo,
                                        dispInfo,
                                        lotPriority,
                                        eqpRecipe,
                                        stateInfo,
                                        isGhostBar);

            var barKey = state != EqpState.DOWN ? bar.BarKey : "DOWN";

            if (barKey != string.Empty)
            {
                //SETUP 다음 BUSY로 이어진 BUSY Bar는 SETUP과 동일한 값 설정 하도록 함.
                if (bar.DispatchingInfo == null && bar.State == EqpState.BUSY)
                {
                    bar.DispatchingInfo = GetDispInfoBySetup(info, barKey);
                }

                info.AddItem(barKey, bar, this.IsProductInBarTitle);
            }

            //collect job change
            if (state == EqpState.SETUP)
            {
                AddJobChange(startTime);
            }
        }