private void CallDataTrxDataFirst(double dSearchPeriod) { DataSet _ds = null; DataTable _dtChartData = new DataTable(); CreateChartDataTable _createChartDT = new CreateChartDataTable(); try { LinkedList _llstSearchCondition = new LinkedList(); _llstSearchCondition.Add(Definition.CONDITION_KEY_START_DTTS, CommonPageUtil.StartDate(this.bDtStart.Value.ToString(Definition.DATETIME_FORMAT))); _llstSearchCondition.Add(Definition.CONDITION_KEY_END_DTTS, CommonPageUtil.EndDate(this.bDtEnd.Value.ToString(Definition.DATETIME_FORMAT))); _llstSearchCondition.Add(Definition.CONDITION_KEY_MODEL_CONFIG_RAWID, ChartVariable.MODEL_CONFIG_RAWID); if (!string.IsNullOrEmpty(ChartVariable.CONTEXT_LIST)) { _llstSearchCondition.Add(Definition.CONDITION_KEY_CONTEXT_KEY_LIST, ChartVariable.CONTEXT_LIST); } //Cancle기능 추가 EESProgressBar.ShowProgress(this, this._lang.GetMessage(Definition.LOADING_DATA), true); AsyncCallHandler ach = new AsyncCallHandler(EESProgressBar.AsyncCallManager); object objDataSet = ach.SendWait(_wsSPC, "GetATTSPCControlChartData", new object[] { _llstSearchCondition.GetSerialData() }); EESProgressBar.CloseProgress(this); if (objDataSet != null) { _ds = (DataSet)objDataSet; } else { MSGHandler.DisplayMessage(MSGType.Warning, MSGHandler.GetMessage("INFORMATION_NODATA")); return; } ChartVariable.dateTimeStart = this.bDtStart.Value; ChartVariable.dateTimeEnd = this.bDtEnd.Value; if (DataUtil.IsNullOrEmptyDataSet(_ds)) { DataSet DTTSTemp = _wsSPC.GetATTLastTRXDataDTTs(ChartVariable.MODEL_CONFIG_RAWID); string temp = ""; foreach (DataRow dr in DTTSTemp.Tables[0].Rows) { temp = dr[0].ToString(); } if (temp.Length != 0) { foreach (DataRow dr in DTTSTemp.Tables[0].Rows) { DateTime dt = (DateTime)dr[0]; this.bDtEnd.Value = dt; if (!double.IsNaN(dSearchPeriod)) { this.bDtStart.Value = dt.AddDays(dSearchPeriod); } else { this.bDtStart.Value = dt.AddDays(-7); } } this.CallDataTrxData(); } else { MSGHandler.DisplayMessage(MSGType.Warning, MSGHandler.GetMessage("INFORMATION_NODATA")); return; } } else { this.MsgShow("Drawing Chart... Can't Cancel!!!"); _dtChartData = CommonPageUtil.CLOBnBLOBParsing(_ds, _llstSearchCondition, false); if (!DataUtil.IsNullOrEmptyDataTable(_dtChartData)) { _dtChartData = DataUtil.DataTableImportRow(_dtChartData.Select(null, Definition.CHART_COLUMN.TIME)); ChartVariable.DEFAULT_CHART = _dtChartData.Rows[0][BISTel.eSPC.Common.COLUMN.DEFAULT_CHART_LIST].ToString(); ChartVariable.MAIN_YN = _dtChartData.Rows[0][BISTel.eSPC.Common.COLUMN.MAIN_YN].ToString(); ChartVariable.complex_yn = "Y"; ChartVariable.CHART_PARENT_MODE = BISTel.eSPC.Common.CHART_PARENT_MODE.SPC_CONTROL_CHART; ChartVariable.dtResource = _dtChartData; _createChartDT.COMPLEX_YN = ChartVariable.complex_yn; ChartVariable.dtParamData = _createChartDT.GetMakeDataTable(_dtChartData); ChartVariable.lstRawColumn = _createChartDT.lstRawColumn; ChartVariable.lstDefaultChart.Clear(); ChartVariable.lstDefaultChart = CommonPageUtil.DefaultChartSplit(ChartVariable.DEFAULT_CHART); List <string> rawIDs = new List <string>(); if (_dtChartData.Columns.Contains(Definition.CHART_COLUMN.OCAP_RAWID)) { bool bPOcap = _dtChartData.Columns.Contains(Definition.CHART_COLUMN.P_OCAP_LIST); bool bPNOcap = _dtChartData.Columns.Contains(Definition.CHART_COLUMN.PN_OCAP_LIST); bool bCOcap = _dtChartData.Columns.Contains(Definition.CHART_COLUMN.C_OCAP_LIST); bool bUOcap = _dtChartData.Columns.Contains(Definition.CHART_COLUMN.U_OCAP_LIST); foreach (DataRow dr in _dtChartData.Rows) { string rawid = dr[Definition.CHART_COLUMN.OCAP_RAWID].ToString(); string sTemp = rawid.Replace(";", ""); if (sTemp.Length > 0) { string[] ids = rawid.Split(';'); foreach (string id in ids) { if (string.IsNullOrEmpty(id)) { continue; } if (!rawIDs.Contains(id)) { rawIDs.Add(id); } } } if (bPOcap) { rawid = dr[Definition.CHART_COLUMN.P_OCAP_LIST].ToString(); sTemp = rawid.Replace("^", "").Replace(";", ""); if (sTemp.Length > 0) { string[] ids = rawid.Replace(";", "^").Split('^'); foreach (string id in ids) { if (string.IsNullOrEmpty(id)) { continue; } if (!rawIDs.Contains(id)) { rawIDs.Add(id); } } } } if (bPNOcap) { rawid = dr[Definition.CHART_COLUMN.PN_OCAP_LIST].ToString(); sTemp = rawid.Replace("^", ""); if (sTemp.Length > 0) { string[] ids = rawid.Split('^'); foreach (string id in ids) { if (string.IsNullOrEmpty(id)) { continue; } if (!rawIDs.Contains(id)) { rawIDs.Add(id); } } } } if (bCOcap) { rawid = dr[Definition.CHART_COLUMN.C_OCAP_LIST].ToString(); sTemp = rawid.Replace("^", ""); if (sTemp.Length > 0) { string[] ids = rawid.Split('^'); foreach (string id in ids) { if (string.IsNullOrEmpty(id)) { continue; } if (!rawIDs.Contains(id)) { rawIDs.Add(id); } } } } if (bUOcap) { rawid = dr[Definition.CHART_COLUMN.U_OCAP_LIST].ToString(); sTemp = rawid.Replace("^", ""); if (sTemp.Length > 0) { string[] ids = rawid.Split('^'); foreach (string id in ids) { if (string.IsNullOrEmpty(id)) { continue; } if (!rawIDs.Contains(id)) { rawIDs.Add(id); } } } } } if (rawIDs.Count == 0) { rawIDs.Add(""); } LinkedList llstTmpOcapComment = new LinkedList(); llstTmpOcapComment.Add(Definition.CONDITION_KEY_OOC_TRX_SPC_RAWID, rawIDs.ToArray()); llstTmpOcapComment.Add(Definition.CONDITION_KEY_START_DTTS, (this.bDtStart.Value.AddHours(-12)).ToString(Definition.DATETIME_FORMAT_MS)); llstTmpOcapComment.Add(Definition.CONDITION_KEY_END_DTTS, (this.bDtEnd.Value.AddHours(12)).ToString(Definition.DATETIME_FORMAT_MS)); byte[] baData = llstTmpOcapComment.GetSerialData(); _dsOcapComment = _wsSPC.GetOCAPCommentList_New(baData); ChartVariable.dtOCAP = _dsOcapComment.Tables[0]; } } this.pnlChart.Controls.Clear(); this.InitializeSPCChart(); this.MsgClose(); } } catch (Exception ex) { EESProgressBar.CloseProgress(this); if (ex is OperationCanceledException || ex is TimeoutException) { MSGHandler.DisplayMessage(MSGType.Error, ex.Message, null, null, true); } else { LogHandler.ExceptionLogWrite(Definition.APPLICATION_NAME, ex); MSGHandler.DisplayMessage(MSGType.Error, ex.Message, null, null, true); } } finally { if (_createChartDT != null) { _createChartDT = null; } if (_dtChartData != null) { _dtChartData.Dispose(); } if (_ds != null) { _ds.Dispose(); } } }
public void InitializeCondition() { CreateChartDataTable _createChartDT = new CreateChartDataTable(); try { double dSearchPeriod = double.NaN; this.bapSearch.Visible = true; if (this.ChartVariable.CHART_PARENT_MODE == BISTel.eSPC.Common.CHART_PARENT_MODE.MODELING) { ArrayList arrSearchCondition = this.mInitialization.GetSearchPeriod(Definition.PAGE_KEY_SPC_ATT_CONTROL_CHART_UC); if (arrSearchCondition != null && arrSearchCondition.Count == 2) { string sSearchType = arrSearchCondition[0].ToString(); string sSearchValue = arrSearchCondition[1].ToString(); bool bResult = double.TryParse(sSearchValue, out dSearchPeriod); if (bResult) { dSearchPeriod = 0 - dSearchPeriod; if (sSearchType.ToUpper() == "DAY") { this.bDtStart.Value = ChartVariable.dateTimeEnd.AddDays(dSearchPeriod); this.bDtEnd.Value = ChartVariable.dateTimeEnd; } else { this.bDtStart.Value = ChartVariable.dateTimeStart; this.bDtEnd.Value = ChartVariable.dateTimeEnd; } } else { this.bDtStart.Value = ChartVariable.dateTimeStart; this.bDtEnd.Value = ChartVariable.dateTimeEnd; } } else { this.bDtStart.Value = ChartVariable.dateTimeStart; this.bDtEnd.Value = ChartVariable.dateTimeEnd; } } else { this.bDtStart.Value = ChartVariable.dateTimeStart; this.bDtEnd.Value = ChartVariable.dateTimeEnd; } ChartVariable.dateTimeStart = this.bDtStart.Value; ChartVariable.dateTimeEnd = this.bDtEnd.Value; if (ChartVariable.CHART_PARENT_MODE == BISTel.eSPC.Common.CHART_PARENT_MODE.MODELING) { if (string.IsNullOrEmpty(ChartVariable.MODEL_CONFIG_RAWID)) { this.MsgClose(); MSGHandler.DisplayMessage(MSGType.Warning, "SPC_INFO_SELECT_MODEL", null, null); return; } CallDataTrxDataFirst(dSearchPeriod); this.MsgClose(); return; } else { if (ChartVariable.llstInfoCondition[Definition.CONDITION_KEY_EQP_ID] != null) { ChartVariable.EQP_ID = _comUtil.GetConditionString(ChartVariable.llstInfoCondition, Definition.CONDITION_KEY_EQP_ID, Definition.CONDITION_KEY_EQP_ID); } if (ChartVariable.llstInfoCondition[Definition.CONDITION_KEY_PRODUCT_ID] != null) { ChartVariable.PRODUCT_ID = _comUtil.GetConditionString(ChartVariable.llstInfoCondition, Definition.CONDITION_KEY_PRODUCT_ID, Definition.CONDITION_KEY_PRODUCT_ID); } if (ChartVariable.llstInfoCondition[Definition.CONDITION_KEY_LOT_ID] != null) { ChartVariable.LOT_ID = _comUtil.GetConditionString(ChartVariable.llstInfoCondition, Definition.CONDITION_KEY_LOT_ID, Definition.CONDITION_KEY_LOT_ID); } if (ChartVariable.llstInfoCondition[Definition.CONDITION_KEY_OPERATION_ID] != null) { ChartVariable.OPERATION_ID = _comUtil.GetConditionString(ChartVariable.llstInfoCondition, Definition.CONDITION_KEY_OPERATION_ID, Definition.CONDITION_KEY_OPERATION_ID); } if (ChartVariable.llstInfoCondition[Definition.CONDITION_KEY_SUBSTRATE_ID] != null) { ChartVariable.SUBSTRATE_ID = _comUtil.GetConditionString(ChartVariable.llstInfoCondition, Definition.CONDITION_KEY_SUBSTRATE_ID, Definition.CONDITION_KEY_SUBSTRATE_ID); } _createChartDT.COMPLEX_YN = Definition.VARIABLE_Y; if (ChartVariable.CHART_PARENT_MODE == BISTel.eSPC.Common.CHART_PARENT_MODE.PPK_REPORT) { if (DataUtil.IsNullOrEmptyDataTable(ChartVariable.dtParamData)) { this.MsgClose(); MSGHandler.DisplayMessage(MSGType.Information, MSGHandler.GetMessage("INFORMATION_NODATA")); this.Close(); return; } if (ChartVariable.lstRawColumn.Count == 0) { ChartVariable.lstRawColumn = _createChartDT.CallRefCol(ChartVariable.dtParamData); } } else { if (DataUtil.IsNullOrEmptyDataTable(ChartVariable.dtResource)) { this.MsgClose(); MSGHandler.DisplayMessage(MSGType.Information, MSGHandler.GetMessage("INFORMATION_NODATA")); return; } ChartVariable.dtParamData = _createChartDT.GetMakeDataTable(ChartVariable.dtResource); ChartVariable.lstRawColumn = _createChartDT.lstRawColumn; _createChartDT = null; } ChartVariable.lstDefaultChart.Clear(); ChartVariable.lstDefaultChart = CommonPageUtil.DefaultChartSplit(ChartVariable.DEFAULT_CHART); this.InitializeSPCChart(); } } catch (Exception ex) { this.MsgClose(); MSGHandler.DisplayMessage(MSGType.Error, ex.Message); } finally { this.MsgClose(); _createChartDT = null; } }