コード例 #1
0
ファイル: StepMovePopUp.cs プロジェクト: yichunbong/CSOT
        private void LoadWipData()
        {
            //Dictionary<string, SmcvData.WipDetail>
            var wipCurStepDic = _wipCurStepDic.ToDictionary(x => x.Key, y => y.Value);

            if (this.SelectedShopID == Consts.ALL && this.IsSelectedInputWip)
            {
                foreach (string shopID in this.shopIdComboBoxEdit.Properties.Items)
                {
                    if (shopID == Consts.ALL)
                    {
                        continue;
                    }

                    wipCurStepDic.Clear();

                    foreach (string key in _wipCurStepDic.Keys)
                    {
                        if (key.StartsWith(shopID) == false)
                        {
                            continue;
                        }

                        if (wipCurStepDic.ContainsKey(key) == false)
                        {
                            wipCurStepDic.Add(key, _wipCurStepDic[key]);
                        }
                    }
                }
            }
            else if (this.SelectedShopID == Consts.ALL && this.IsSelectedInputWip == false)
            {
                wipCurStepDic.Clear();

                string sFromTime = this.FromTime != ShopCalendar.ShiftStartTimeOfDayT(this.FromTime) ?
                                   ShopCalendar.ShiftStartTimeOfDayT(this.FromTime).AddHours((double)ShopCalendar.ShiftHours).DbToString()
                            : this.FromTime.DbToString();

                wipCurStepDic = _wipCurStepDic.Where(x => x.Key.StartsWith(sFromTime))
                                .ToDictionary(x => x.Key, y => y.Value);
            }
            else if (this.SelectedShopID != Consts.ALL && this.IsSelectedInputWip)
            {
                wipCurStepDic.Clear();

                wipCurStepDic = _wipCurStepDic.Where(x => x.Key.StartsWith(this.SelectedShopID))
                                .ToDictionary(x => x.Key, y => y.Value);
            }
            else
            {
                wipCurStepDic.Clear();

                string sFromTime = this.FromTime != ShopCalendar.ShiftStartTimeOfDayT(this.FromTime) ?
                                   ShopCalendar.ShiftStartTimeOfDayT(this.FromTime).AddHours((double)ShopCalendar.ShiftHours).DbToString()
                            : this.FromTime.DbToString();

                wipCurStepDic = _wipCurStepDic
                                .Where(x => x.Key.StartsWith(sFromTime + this.SelectedShopID))
                                .ToDictionary(x => x.Key, y => y.Value);
            }


            foreach (var wipCur in wipCurStepDic)
            {
                foreach (DateTime date in _dateRangeList)
                {
                    SmcvData.ResultItem padding;

                    string dateString = this.IsTimeConditionHour ? ShopCalendar.StartTimeOfDayT(date).ToString("yyyyMMdd") : date.DbToTimeString();

                    string k = wipCur.Value.ShopID + wipCur.Value.ProductID + wipCur.Value.ProductVersion + wipCur.Value.OwnerType + wipCur.Value.StepID
                               + Consts.NULL_ID + dateString;
                    string k2 = wipCur.Value.ShopID + wipCur.Value.ProductID + wipCur.Value.ProductVersion + wipCur.Value.OwnerType + wipCur.Value.StepID;
                    if (this.IsSelectedInputWip == false)
                    {
                        k2 = this.FromTime.DbToString() + k2;
                    }

                    int wipCurStep = 0;
                    SmcvData.WipDetail wipDetail;
                    _wipCurStepDic.TryGetValue(k2, out wipDetail);
                    wipCurStep = wipDetail == null ? 0 : wipDetail.GlassQty;

                    if (_dict.TryGetValue(k, out padding) == false)
                    {
                        SmcvData.StepInfo stepInfo;
                        _stepInfoDic.TryGetValue(wipCur.Value.ShopID + wipCur.Value.StepID, out stepInfo);

                        padding = new SmcvData.ResultItem(wipCur.Value.ShopID, wipCur.Value.ProductID, wipCur.Value.ProductVersion, wipCur.Value.OwnerType,
                                                          wipCur.Value.StepID, Consts.NULL_ID, date);//, 0, 0);
                        padding.SetStepInfo(stepInfo);

                        _dict.Add(k, padding);
                    }

                    padding.UpdateWipQty(wipCurStep, 0);
                }
            }

            var wipMainStepDic = _wipMainStepDic.ToDictionary(x => x.Key, y => y.Value);

            if (this.SelectedShopID == Consts.ALL && this.IsSelectedInputWip)
            {
                foreach (string shopID in this.shopIdComboBoxEdit.Properties.Items)
                {
                    if (shopID == Consts.ALL)
                    {
                        continue;
                    }

                    wipMainStepDic.Clear();

                    foreach (string key in _wipMainStepDic.Keys)
                    {
                        if (key.StartsWith(shopID) == false)
                        {
                            continue;
                        }

                        if (wipMainStepDic.ContainsKey(key) == false)
                        {
                            wipMainStepDic.Add(key, _wipMainStepDic[key]);
                        }
                    }
                }
            }
            else if (this.SelectedShopID == Consts.ALL && this.IsSelectedInputWip == false)
            {
                wipMainStepDic.Clear();

                wipMainStepDic = _wipMainStepDic.Where(x => x.Key.StartsWith(this.FromTime.DbToString()))
                                 .ToDictionary(x => x.Key, y => y.Value);
            }
            else if (this.SelectedShopID != Consts.ALL && this.IsSelectedInputWip)
            {
                wipMainStepDic.Clear();

                wipMainStepDic = _wipMainStepDic.Where(x => x.Key.StartsWith(this.SelectedShopID))
                                 .ToDictionary(x => x.Key, y => y.Value);
            }
            else
            {
                wipMainStepDic.Clear();

                wipMainStepDic = _wipMainStepDic
                                 .Where(x => x.Key.StartsWith(this.FromTime.DbToString() + this.SelectedShopID))
                                 .ToDictionary(x => x.Key, y => y.Value);
            }

            foreach (var wipMain in wipMainStepDic)
            {
                foreach (DateTime date in _dateRangeList)
                {
                    SmcvData.ResultItem padding;

                    string dateString = this.IsTimeConditionHour ? ShopCalendar.StartTimeOfDayT(date).ToString("yyyyMMdd") : date.DbToTimeString();

                    string k = wipMain.Value.ShopID + wipMain.Value.ProductID + wipMain.Value.ProductVersion + wipMain.Value.OwnerType + wipMain.Value.StepID
                               + Consts.NULL_ID + dateString;
                    string k2 = wipMain.Value.ShopID + wipMain.Value.ProductID + wipMain.Value.ProductVersion + wipMain.Value.OwnerType + wipMain.Value.StepID;
                    if (this.IsSelectedInputWip == false)
                    {
                        k2 = this.FromTime.DbToString() + k2;
                    }

                    if (k2 == "ARRAYB8A550QU5V501AASMP041500-00")
                    {
                    }

                    int wipMainStep = 0;
                    SmcvData.WipDetail wipDetail;
                    _wipMainStepDic.TryGetValue(k2, out wipDetail);
                    wipMainStep = wipDetail == null ? 0 : wipDetail.GlassQty;

                    if (_dict.TryGetValue(k, out padding) == false)
                    {
                        SmcvData.StepInfo stepInfo;
                        _stepInfoDic.TryGetValue(wipMain.Value.ShopID + wipMain.Value.StepID, out stepInfo);

                        padding = new SmcvData.ResultItem(wipMain.Value.ShopID, wipMain.Value.ProductID, wipMain.Value.ProductVersion, wipMain.Value.OwnerType,
                                                          wipMain.Value.StepID, Consts.NULL_ID, date);//, 0, 0);
                        padding.SetStepInfo(stepInfo);

                        _dict.Add(k, padding);
                    }

                    padding.UpdateWipQty(0, wipMainStep);
                }
            }
        }
コード例 #2
0
ファイル: StepMovePopUp.cs プロジェクト: yichunbong/CSOT
        private void LoadActData()
        {
            string shopID = this.SelectedShopID;

            if (shopID == Consts.ALL)
            {
                shopID = string.Empty;
            }

            foreach (DataRow row in _dtStepMoveAct.Rows)
            {
                SimInputData.StepMoveAct item = new SimInputData.StepMoveAct(row);

                if (shopID != "" && item.ShopID != shopID)
                {
                    continue;
                }

                if (item.TargetDate < this.FromTime || item.TargetDate >= this.ToTime)
                {
                    continue;
                }

                string eqpGrpID = string.Empty;
                _eqpGrpDic.TryGetValue(item.ShopID + item.EqpID, out eqpGrpID);

                if (this.IsAllAreaSelected == false)
                {
                    if (this.SelectedEqpGrpInAreaList.Count <= 0)
                    {
                        continue;
                    }

                    if (string.IsNullOrEmpty(eqpGrpID))
                    {
                        continue;
                    }

                    if (this.SelectedEqpGrpInAreaList.Contains(eqpGrpID) == false)
                    {
                        continue;
                    }
                }

                foreach (DateTime date in _dateRangeList)
                {
                    SmcvData.ResultItem padding;

                    string dateString = this.IsTimeConditionHour ? ShopCalendar.StartTimeOfDayT(date).ToString("yyyyMMdd") : date.DbToTimeString();

                    string k  = item.ShopID + item.ProductID + Consts.NULL_ID + item.OwnerType + item.StepID + item.EqpID + dateString;
                    string k2 = item.ShopID + item.ProductID + Consts.NULL_ID + item.OwnerType + item.StepID;

                    int wipCurStep  = 0;
                    int wipMainStep = 0;
                    if (_dict.TryGetValue(k, out padding) == false)
                    {
                        if (k2 == "ARRAYB8A550QU5V501AASMP041500-00")
                        {
                        }

                        SmcvData.WipDetail wipDetail;
                        _wipCurStepDic.TryGetValue(k2, out wipDetail);
                        wipCurStep = wipDetail == null ? 0 : wipDetail.GlassQty;
                        wipDetail  = null;
                        _wipMainStepDic.TryGetValue(k2, out wipDetail);
                        wipMainStep = wipDetail == null ? 0 : wipDetail.GlassQty;

                        SmcvData.StepInfo stepInfo;
                        _stepInfoDic.TryGetValue(item.ShopID + item.StepID, out stepInfo);

                        padding = new SmcvData.ResultItem(item.ShopID, item.ProductID, Consts.NULL_ID, item.OwnerType, item.StepID, item.EqpID, date);//, 0, 0);
                        padding.SetStepInfo(stepInfo);

                        _dict.Add(k, padding);
                    }
                }

                SmcvData.ResultItem ri;

                DateTime modTargetDate = this.IsTimeConditionHour ? ShopCalendar.StartTimeOfDayT(item.TargetDate)
                    : ShopCalendar.ShiftStartTimeOfDayT(item.TargetDate);
                string curShopID      = item.ShopID;
                string productID      = item.ProductID;
                string productVersion = Consts.NULL_ID;
                string ownerType      = item.OwnerType;
                string stepID         = item.StepID;
                string eqpID          = item.EqpID;

                //DateTime shift = ShopCalendar.ShiftStartTimeOfDayT(modTargetDate);

                string dateString2 = this.IsTimeConditionHour ? modTargetDate.ToString("yyyyMMdd") : modTargetDate.DbToTimeString();

                string key = curShopID + productID + ownerType + stepID + eqpID + dateString2;

                if (_dict.TryGetValue(key, out ri) == false)
                {
                    continue;   // 있을 수 없음

                    //ri = new SmcvData.ResultItem(curShopID, productID, productVersion, ownerType, stepID, eqpID, modTargetDate);

                    //_dict.Add(key, ri);
                }

                ri.UpdateActQty((int)item.InQty, (int)item.OutQty);
            }
        }