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); } } }
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); } }