private void PROC_DataBinding() { ////초기화 StringBuilder sb = null; StringBuilder sbSort = null; CreateChartDataTable _chartData = null; DataTableGroupBy dtGroupBy = null; DataTable dtGB = null; DataTable dtSearch = null; DataSet _ds = null; CommonSPCStat comSPCStat = null; List <double> listRawData = null; DataRow nRow = null; string sField = string.Empty; string sGroupBy = string.Empty; string sRowFilter = string.Empty; string sWhere = string.Empty; StringBuilder sbField = new StringBuilder(); StringBuilder sbGroup = new StringBuilder(); try { dtGB = new DataTable(); dtSearch = new DataTable(); dtGroupBy = new DataTableGroupBy(); _chartData = new CreateChartDataTable(); sb = new StringBuilder(); sbSort = new StringBuilder(); comSPCStat = new CommonSPCStat(); this.bsprData.ActiveSheet.ColumnCount = 0; this.bsprData.ActiveSheet.RowCount = 0; SpreadHeader(); this.bsprData.ActiveSheet.RowCount = 0; this.bsprData.DataSource = null; this.MsgShow(COMMON_MSG.Query_Data); _llstSearchCondition.Add(Definition.CONDITION_KEY_CONTEXT_KEY_LIST, GetSelectString()); _ds = _wsSPC.GetPpkReport(_llstSearchCondition.GetSerialData()); if (!DataUtil.IsNullOrEmptyDataSet(_ds)) { dtSearch = CommonPageUtil.CLOBnBLOBParsing(_ds, _llstSearchCondition, false); if (_ds != null) { _ds.Dispose(); } if (DataUtil.IsNullOrEmptyDataTable(dtSearch)) { this.MsgClose(); MSGHandler.DisplayMessage(MSGType.Warning, MSGHandler.GetMessage("INFORMATION_NODATA")); return; } _chartData.COMPLEX_YN = "N"; if (dtSearch.Rows.Count > 0) { _chartData.COMPLEX_YN = dtSearch.Rows[0]["COMPLEX_YN"].ToString(); } _dtResult = _chartData.GetPpkMakeDataTable(dtSearch); _lstRawColumn = _chartData.lstRawColumn; if (_chartData != null) { _chartData = null; } sbField.AppendFormat("MODEL_CONFIG_RAWID,COMPLEX_YN,MAIN_YN,DEFAULT_CHART_LIST,AREA,{0} ,PARAM_ALIAS", _OperationColumnName); sbGroup.AppendFormat("MODEL_CONFIG_RAWID,COMPLEX_YN,MAIN_YN,DEFAULT_CHART_LIST,AREA,{0},PARAM_ALIAS", _OperationColumnName); sbSort.AppendFormat("{0},PARAM_ALIAS", _OperationColumnName); for (int i = 0; i < this.arrSortingKey.Count; i++) { string sCol = this.arrSortingKey[i].ToString(); if (_dtResult.Columns.Contains(sCol)) { sbField.AppendFormat(",{0}", sCol); sbGroup.AppendFormat(",{0}", sCol); sbSort.AppendFormat(",{0}", sCol); } } sbSort.Append(",PERIOD,USL,LSL ASC"); sbField.Append(",PERIOD,MEAN_LSL LSL,MEAN_USL USL "); sbGroup.Append(",PERIOD,MEAN_LSL,MEAN_USL "); sRowFilter = string.Empty; dtGB = dtGroupBy.SelectGroupByInto("PPK", _dtResult, sbField.ToString(), sRowFilter, sbGroup.ToString()); dtGB = DataUtil.DataTableImportRow(dtGB.Select(null, sbSort.ToString())); } else { this.MsgClose(); MSGHandler.DisplayMessage(MSGType.Warning, MSGHandler.GetMessage("INFORMATION_NODATA")); return; } _llstSearchCondition.Clear(); _llstSearchCondition.Add(Definition.DynamicCondition_Condition_key.OPERATION_TYPE, this._sParamTypeCD == "MET" ? "METROLOGY" : "PROCESSING"); DataSet dsOperation = _wsSPC.GetOperationID(_llstSearchCondition.GetSerialData()); _dtMain = dtGB.Copy(); _dtMain.Columns.Add(Definition.CHART_COLUMN.OPERATION_DESC, typeof(string)); _dtMain.Columns.Add(Definition.CHART_COLUMN.SPEC, typeof(string)); _dtMain.Columns.Add(Definition.CHART_COLUMN.MIN, typeof(double)); _dtMain.Columns.Add(Definition.CHART_COLUMN.MAX, typeof(double)); _dtMain.Columns.Add(Definition.CHART_COLUMN.SUM, typeof(double)); _dtMain.Columns.Add(Definition.CHART_COLUMN.SUM_SQUARED, typeof(double)); _dtMain.Columns.Add(Definition.CHART_COLUMN.STDDEV, typeof(double)); _dtMain.Columns.Add(Definition.CHART_COLUMN.AVG, typeof(double)); _dtMain.Columns.Add(Definition.CHART_COLUMN.PPK, typeof(double)); _dtMain.Columns.Add(Definition.CHART_COLUMN.PP, typeof(double)); _dtMain.Columns.Add(Definition.CHART_COLUMN.PPU, typeof(double)); _dtMain.Columns.Add(Definition.CHART_COLUMN.PPL, typeof(double)); _dtMain.Columns.Add(Definition.CHART_COLUMN.LOT_QTY, typeof(int)); _dtMain.Columns.Add(Definition.CHART_COLUMN.SAMPLE_QTY, typeof(int)); sField = "count(LOT_ID) count "; sGroupBy = "LOT_ID"; sRowFilter = string.Empty; StringBuilder sbSelect = null; for (int i = 0; i < dtGB.Rows.Count; i++) { string param_alias = dtGB.Rows[i][Definition.CHART_COLUMN.PARAM_ALIAS].ToString(); string operation = dtGB.Rows[i][_OperationColumnName].ToString(); string sUsl = dtGB.Rows[i][Definition.CHART_COLUMN.USL].ToString(); string sLsl = dtGB.Rows[i][Definition.CHART_COLUMN.LSL].ToString(); double usl = double.NaN; double lsl = double.NaN; if (!string.IsNullOrEmpty(sUsl)) { usl = double.Parse(sUsl); } if (!string.IsNullOrEmpty(sLsl)) { lsl = double.Parse(sLsl); } sbSelect = new StringBuilder(); if (double.IsNaN(usl) && double.IsNaN(lsl)) { sbSelect.AppendFormat("PARAM_ALIAS = '{0}' AND {1} = '{2}' AND MEAN_USL IS NULL AND MEAN_LSL IS NULL AND PERIOD = '{3}' " , param_alias , this._OperationColumnName , operation , dtGB.Rows[i]["PERIOD"].ToString() ); } else if (double.IsNaN(usl) && !double.IsNaN(lsl)) { sbSelect.AppendFormat("PARAM_ALIAS = '{0}' AND {1} = '{2}' AND MEAN_USL IS NULL AND MEAN_LSL = '{3}' AND PERIOD = '{4}' " , param_alias , this._OperationColumnName , operation , sLsl , dtGB.Rows[i]["PERIOD"].ToString() ); } else if (!double.IsNaN(usl) && double.IsNaN(lsl)) { sbSelect.AppendFormat("PARAM_ALIAS = '{0}' AND {1} = '{2}' AND MEAN_USL = '{3}' AND MEAN_LSL IS NULL AND PERIOD = '{4}' " , param_alias , this._OperationColumnName , operation , sUsl , dtGB.Rows[i]["PERIOD"].ToString() ); } else { sbSelect.AppendFormat("PARAM_ALIAS = '{0}' AND {1} = '{2}' AND MEAN_USL = '{3}' AND MEAN_LSL = '{4}' AND PERIOD = '{5}' " , param_alias , this._OperationColumnName , operation , sUsl , sLsl , dtGB.Rows[i]["PERIOD"].ToString() ); } for (int k = 0; k < this.arrSortingKey.Count; k++) { string sCol = this.arrSortingKey[k].ToString(); if (_dtResult.Columns.Contains(sCol)) { sbSelect.AppendFormat(" AND {0} = '{1}'", sCol, dtGB.Rows[i][sCol].ToString()); } } DataTable dt = DataUtil.DataTableImportRow(_dtResult.Select(sbSelect.ToString())); listRawData = comSPCStat.AddDataList(dt); if (listRawData.Count == 0) { continue; } DataRow[] drSelectOperation = dsOperation.Tables[0].Select(string.Format("OPERATION_ID='{0}'", operation)); comSPCStat.CalcPpk(listRawData.ToArray(), usl, lsl); nRow = _dtMain.Rows[i]; nRow[Definition.CHART_COLUMN.OPERATION_DESC] = drSelectOperation.Length > 0 ? drSelectOperation[0]["DESCRIPTION"].ToString() : null; nRow[Definition.CHART_COLUMN.SPEC] = sLsl + "~" + sUsl; nRow[Definition.CHART_COLUMN.SAMPLE_QTY] = listRawData.Count; nRow[Definition.CHART_COLUMN.MIN] = comSPCStat.min; nRow[Definition.CHART_COLUMN.MAX] = comSPCStat.max; nRow[Definition.CHART_COLUMN.AVG] = comSPCStat.mean; nRow[Definition.CHART_COLUMN.SUM] = comSPCStat.sum; nRow[Definition.CHART_COLUMN.STDDEV] = comSPCStat.stddev; nRow[Definition.CHART_COLUMN.SUM_SQUARED] = comSPCStat.sum2; if (double.IsNaN(comSPCStat.ppk)) { nRow[Definition.CHART_COLUMN.PPK] = DBNull.Value; } else { nRow[Definition.CHART_COLUMN.PPK] = comSPCStat.ppk; } if (double.IsNaN(comSPCStat.pp)) { nRow[Definition.CHART_COLUMN.PP] = DBNull.Value; } else { nRow[Definition.CHART_COLUMN.PP] = comSPCStat.pp; } if (double.IsNaN(comSPCStat.ppu)) { nRow[Definition.CHART_COLUMN.PPU] = DBNull.Value; } else { nRow[Definition.CHART_COLUMN.PPU] = comSPCStat.ppu; } if (double.IsNaN(comSPCStat.ppl)) { nRow[Definition.CHART_COLUMN.PPL] = DBNull.Value; } else { nRow[Definition.CHART_COLUMN.PPL] = comSPCStat.ppl; } nRow[Definition.CHART_COLUMN.LOT_QTY] = dtGroupBy.SelectGroupByInto("LOT", dt, sField, sRowFilter, sGroupBy).Rows.Count; } _dtMain.AcceptChanges(); this.bsprData.UseSpreadEdit = false; this.bsprData.AutoGenerateColumns = false; this.bsprData.ActiveSheet.DefaultStyle.ResetLocked(); this.bsprData.ClearHead(); this.bsprData.UseEdit = true; this.bsprData.Locked = true; //this.bsprData.ActiveSheet.FrozenColumnCount = 1; this.bsprData.ColFronzen = 1; this._Initialization.InitializePpkColumnHeader(ref this.bsprData, _sortHeader, this._sortHeaderLabel); this.bsprData.DataSource = _dtMain; if (dsOperation != null) { dsOperation.Dispose(); } } catch (Exception ex) { LogHandler.ExceptionLogWrite(Definition.APPLICATION_NAME, ex); } finally { this.MsgClose(); if (dtGB != null) { dtGB.Dispose(); } if (_dtMain != null) { _dtMain.Dispose(); } } }
private void ClickButtonChartView() { ArrayList alCheckRowIndex = _bSpreadUtil.GetCheckedRowIndex(this.bsprData, (int)enum_ProcessCapability.SPC_V_SELECT); if (alCheckRowIndex.Count < 1 || alCheckRowIndex.Count > 1) { MSGHandler.DisplayMessage(MSGType.Information, MSGHandler.GetMessage("FDC_ALLOW_SINGLE_SELECTED_ROW")); return; } int iRowIndex = (int)alCheckRowIndex[0]; string strSPCModeName = this.bsprData.ActiveSheet.Cells[iRowIndex, (int)enum_PpkUC.PARAM_ALIAS].Text; string strModelConfigRawID = this.bsprData.ActiveSheet.Cells[iRowIndex, (int)enum_PpkUC.MODEL_CONFIG_RAWID].Text; string strDefaultChart = this.bsprData.ActiveSheet.Cells[iRowIndex, (int)enum_PpkUC.DEFAULT_CHART_LIST].Text; string strComplex_yn = this.bsprData.ActiveSheet.Cells[iRowIndex, (int)enum_PpkUC.COMPLEX_YN].Text; string strParamAlias = this.bsprData.ActiveSheet.Cells[iRowIndex, (int)enum_PpkUC.PARAM_ALIAS].Text; string strArea = this.bsprData.ActiveSheet.Cells[iRowIndex, (int)enum_PpkUC.AREA].Text; string strOperation = this.bsprData.ActiveSheet.Cells[iRowIndex, (int)enum_PpkUC.OPERATION_ID].Text; if (string.IsNullOrEmpty(strDefaultChart)) { MSGHandler.DisplayMessage(MSGType.Information, string.Format(MSGHandler.GetMessage("GENERAL_NO_ITEM"), "Default Charts")); return; } StringBuilder sb = new StringBuilder(); sb.AppendFormat(" ({0} ={1} OR {2} ={1})", Definition.DynamicCondition_Condition_key.OPERATION_ID, CommonPageUtil.GetConCatString(strOperation), Definition.DynamicCondition_Condition_key.MEASURE_OPERATION_ID); sb.AppendFormat(" AND {0} = {1}", Definition.DynamicCondition_Condition_key.PARAM_ALIAS, CommonPageUtil.GetConCatString(strParamAlias)); for (int i = 1; i < this._sortHeader.Count; i++) { string sColumn = this._sortHeader[i].ToString(); string sValue = this.bsprData.ActiveSheet.Cells[iRowIndex, i].Text; if (sColumn == Definition.CHART_COLUMN.USL) { if (string.IsNullOrEmpty(sValue)) { sb.AppendFormat(" AND {0} IS NULL", Definition.CHART_COLUMN.MEAN_USL); } else { sb.AppendFormat(" AND {0} = {1}", Definition.CHART_COLUMN.MEAN_USL, CommonPageUtil.GetConCatString(sValue)); } } else if (sColumn == Definition.CHART_COLUMN.LSL) { if (string.IsNullOrEmpty(sValue)) { sb.AppendFormat(" AND {0} IS NULL", Definition.CHART_COLUMN.MEAN_LSL); } else { sb.AppendFormat(" AND {0} = {1}", Definition.CHART_COLUMN.MEAN_LSL, CommonPageUtil.GetConCatString(sValue)); } } else if (sColumn == Definition.CHART_COLUMN.PERIOD) { sb.AppendFormat(" AND {0} = {1}", Definition.CHART_COLUMN.PERIOD, CommonPageUtil.GetConCatString(sValue)); } if (this.arrSortingKey.Contains(sColumn)) { if (!string.IsNullOrEmpty(sValue)) { sb.AppendFormat(" AND {0} = {1}", sColumn, CommonPageUtil.GetConCatString(sValue)); } } } DataTable dtParamData = DataUtil.DataTableImportRow(_dtResult.Select(sb.ToString())); if (DataUtil.IsNullOrEmptyDataTable(dtParamData)) { MSGHandler.DisplayMessage(MSGType.Information, MSGHandler.GetMessage("INFORMATION_NODATA")); return; } CreateChartDataTable _chartData = new CreateChartDataTable(); _chartData.COMPLEX_YN = strComplex_yn; dtParamData = _chartData.GetPpkChkartMakeDataTable(dtParamData); ChartViewPopup chartViewPop = new ChartViewPopup(); chartViewPop.ChartVariable.LINE = _Line; chartViewPop.ChartVariable.AREA = strArea; chartViewPop.ChartVariable.DEFAULT_CHART = strDefaultChart; chartViewPop.ChartVariable.SPC_MODEL = strSPCModeName; chartViewPop.ChartVariable.PARAM_ALIAS = strSPCModeName; chartViewPop.ChartVariable.OPERATION_ID = strOperation; chartViewPop.ChartVariable.PRODUCT_ID = null; chartViewPop.ChartVariable.lstRawColumn = _chartData.lstRawColumn; chartViewPop.ChartVariable.dtParamData = dtParamData; chartViewPop.ChartVariable.complex_yn = strComplex_yn; chartViewPop.ChartVariable.dateTimeStart = DateTime.Parse(sStartTime); chartViewPop.ChartVariable.dateTimeEnd = DateTime.Parse(sEndTime); chartViewPop.ChartVariable.MODEL_CONFIG_RAWID = strModelConfigRawID; chartViewPop.ChartVariable.MAIN_YN = this.bsprData.ActiveSheet.Cells[iRowIndex, (int)enum_PpkUC.MAIN_YN].Text; chartViewPop.ChartVariable.CONTEXT_LIST = sb.ToString(); chartViewPop.ChartVariable.CHART_PARENT_MODE = CHART_PARENT_MODE.PPK_REPORT; chartViewPop.URL = this.URL; chartViewPop.SessionData = this.sessionData; chartViewPop.InitializePopup(); DialogResult result = chartViewPop.ShowDialog(this); if (result == DialogResult.OK) { dtParamData = null; chartViewPop = null; } _chartData = null; }
private DataSet GetResultDataSet(bool _pProb, string _pParamItem, string _pOperationID, ArrayList _arrInfo, ArrayList _arrSubData) { DataSet _dsResult = null; if (_pProb) { LinkedList _llstCol = new LinkedList(); string sCol = string.Empty; string sGroup = string.Empty; for (int i = 0; i < this._arrSortingKey.Count; i++) { if (this._arrSortingKey[i].ToString().Equals("SAMPLE")) { continue; } else if (this._arrSortingKey[i].ToString().Equals("WORKDATE")) { sCol += "TO_CHAR(EVENT_DTTS,'yyyy-MM-dd') AS WORKDATE,"; sGroup += "TO_CHAR(EVENT_DTTS,'yyyy-MM-dd'),"; } else { sCol += this._arrSortingKey[i].ToString() + ","; sGroup += this._arrSortingKey[i].ToString() + ","; } } for (int i = 0; i < _arrInfo.Count; i++) { sCol += _arrInfo[i].ToString() + ","; sGroup += _arrInfo[i].ToString() + ","; } for (int i = 0; i < _arrSubData.Count; i++) { if (_arrSubData[i].ToString().Equals(Definition.CHART_COLUMN.USL) || _arrSubData[i].ToString().Equals(Definition.CHART_COLUMN.LSL)) { sCol += _arrSubData[i].ToString() + ","; sGroup += _arrSubData[i].ToString() + ","; } } if (!string.IsNullOrEmpty(sCol)) { sCol = sCol.Substring(0, sCol.Length - 1); sGroup = sGroup.Substring(0, sGroup.Length - 1); } this._llstData.Clear(); this._llstData.Add(Definition.DynamicCondition_Condition_key.FAB, this._sFab); this._llstData.Add(Definition.DynamicCondition_Condition_key.START_DTTS, this._sStartTime); this._llstData.Add(Definition.DynamicCondition_Condition_key.END_DTTS, this._sEndTime); this._llstData.Add(Definition.DynamicCondition_Condition_key.PARAM, _pParamItem); this._llstData.Add(Definition.DynamicCondition_Condition_key.OPERATION_ID, _pOperationID); this._llstData.Add(Definition.DynamicCondition_Condition_key.COLUMN_LIST, sCol); this._llstData.Add(Definition.DynamicCondition_Condition_key.GROUP, sGroup); _dsResult = this._wsSPC.GetMultiData(this._llstData.GetSerialData()); } else { string sModelConfigRawID = string.Empty; this._llstData.Clear(); this._llstData.Add(Definition.DynamicCondition_Condition_key.LINE_RAWID, this._LineRawID); if (!string.IsNullOrEmpty(this._AreaRawID)) { this._llstData.Add(Definition.DynamicCondition_Condition_key.AREA_RAWID, this._AreaRawID); } if (!string.IsNullOrEmpty(this._EQPModel)) { this._llstData.Add(Definition.DynamicCondition_Condition_key.EQP_MODEL, this._EQPModel); } this._llstData.Add(Definition.DynamicCondition_Condition_key.PARAM_TYPE_CD, this._ParamType); this._llstData.Add(Definition.DynamicCondition_Condition_key.PARAM_ALIAS, _pParamItem); this._llstData.Add(Definition.DynamicCondition_Condition_key.OPERATION_ID, CommonPageUtil.GetConCatString(_pOperationID)); DataSet ds = _wsSPC.GetSPCModelConfigSearch(_llstData.GetSerialData()); if (!DataUtil.IsNullOrEmptyDataSet(ds)) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { sModelConfigRawID += ds.Tables[0].Rows[i][COLUMN.MODEL_CONFIG_RAWID].ToString() + ","; } if (ds != null) { ds.Dispose(); } if (!string.IsNullOrEmpty(sModelConfigRawID)) { sModelConfigRawID = sModelConfigRawID.Substring(0, sModelConfigRawID.Length - 1); } } if (ds != null) { ds.Dispose(); } this._llstData.Clear(); this._llstData.Add(Definition.DynamicCondition_Condition_key.START_DTTS, this._sStartTime); this._llstData.Add(Definition.DynamicCondition_Condition_key.END_DTTS, this._sEndTime); this._llstData.Add(Definition.DynamicCondition_Condition_key.MODEL_CONFIG_RAWID, sModelConfigRawID); _dsResult = this._wsSPC.GetSPCControlChartData(this._llstData.GetSerialData()); } return(_dsResult); }
public override void PageSearch(LinkedList llstCondition) { this._llstSearchCondition.Clear(); DataTable dt = null; DataSet _ds = null; if (llstCondition[Definition.DynamicCondition_Search_key.DATETIME_FROM] != null) { dt = (DataTable)llstCondition[Definition.DynamicCondition_Search_key.DATETIME_FROM]; sStartTime = CommonPageUtil.StartDate(dt.Rows[0][Definition.DynamicCondition_Condition_key.VALUEDATA].ToString()); } if (llstCondition[Definition.DynamicCondition_Search_key.DATETIME_TO] != null) { dt = (DataTable)llstCondition[Definition.DynamicCondition_Search_key.DATETIME_TO]; sEndTime = CommonPageUtil.EndDate(dt.Rows[0][Definition.DynamicCondition_Condition_key.VALUEDATA].ToString()); } if (llstCondition[Definition.DynamicCondition_Search_key.LINE] != null) { dt = (DataTable)llstCondition[Definition.DynamicCondition_Search_key.LINE]; _Line = DataUtil.GetDisplayData(dt); _LineRawID = DCUtil.GetValueData(dt); } if (llstCondition[Definition.DynamicCondition_Search_key.AREA] != null) { dt = (DataTable)llstCondition[Definition.DynamicCondition_Search_key.AREA]; _AreaRawID = DataUtil.GetConditionKeyDataList(dt, Definition.DynamicCondition_Condition_key.VALUEDATA); } if (llstCondition[Definition.DynamicCondition_Search_key.EQPMODEL] != null) { dt = (DataTable)llstCondition[Definition.DynamicCondition_Search_key.EQPMODEL]; _EQPModel = DataUtil.GetConditionKeyDataList(dt, Definition.DynamicCondition_Condition_key.VALUEDATA, true); } DataTable dtParameter = (DataTable)llstCondition[Definition.DynamicCondition_Search_key.PARAM]; this._sParamTypeCD = DCUtil.GetValueData((DataTable)llstCondition[Definition.DynamicCondition_Search_key.PARAM_TYPE]); this._sOperationID = DataUtil.GetConditionKeyDataList((DataTable)llstCondition[Definition.DynamicCondition_Search_key.OPERATION], Definition.DynamicCondition_Condition_key.VALUEDATA, true); this._sEQPID = DataUtil.GetConditionKeyDataList((DataTable)llstCondition[Definition.DynamicCondition_Search_key.EQP_ID], Definition.DynamicCondition_Condition_key.VALUEDATA, true); this._sProductID = DataUtil.GetConditionKeyDataList((DataTable)llstCondition[Definition.DynamicCondition_Search_key.PRODUCT], Definition.DynamicCondition_Condition_key.VALUEDATA, true); this._sPeriodPpk = DCUtil.GetValueData((DataTable)llstCondition[Definition.DynamicCondition_Search_key.PERIOD_PPK]); this.arrSortingKey = CommonPageUtil.GetConditionKeyDataListArr((DataTable)llstCondition[Definition.DynamicCondition_Search_key.SORTING_KEY], Definition.DynamicCondition_Condition_key.VALUEDATA); LinkedList _llstModelConfigRawID = new LinkedList(); arrModelCongifRawID.Clear(); string sParameter = DataUtil.GetConditionKeyDataList(dtParameter, Definition.DynamicCondition_Condition_key.VALUEDATA, true); _llstModelConfigRawID.Clear(); _llstModelConfigRawID.Add(Definition.DynamicCondition_Condition_key.LINE_RAWID, _LineRawID); if (!string.IsNullOrEmpty(_AreaRawID)) { _llstModelConfigRawID.Add(Definition.DynamicCondition_Condition_key.AREA_RAWID, _AreaRawID); } if (!string.IsNullOrEmpty(_EQPModel)) { _llstModelConfigRawID.Add(Definition.DynamicCondition_Condition_key.EQP_MODEL, _EQPModel); } _llstModelConfigRawID.Add(Definition.DynamicCondition_Condition_key.PARAM_TYPE_CD, _sParamTypeCD); if (!string.IsNullOrEmpty(sParameter) && sParameter.IndexOf(Definition.VARIABLE.STAR) < 0) { _llstModelConfigRawID.Add(Definition.DynamicCondition_Condition_key.PARAM_ALIAS, sParameter); } _llstModelConfigRawID.Add(Definition.DynamicCondition_Condition_key.MAIN_YN, "Y"); if (!string.IsNullOrEmpty(_sOperationID) && _sOperationID != "*") { _llstModelConfigRawID.Add(Definition.DynamicCondition_Condition_key.OPERATION_ID, _sOperationID); } //sub modeling 존재여부 확인 _ds = _wsSPC.GetSPCModelConfigSearch(_llstModelConfigRawID.GetSerialData()); if (!DataUtil.IsNullOrEmptyDataSet(_ds)) { for (int i = 0; i < _ds.Tables[0].Rows.Count; i++) { string strModelCongifRawID = _ds.Tables[0].Rows[i][Definition.DynamicCondition_Condition_key.MODEL_CONFIG_RAWID].ToString(); if (!arrModelCongifRawID.Contains(strModelCongifRawID)) { arrModelCongifRawID.Add(strModelCongifRawID); } } } if (arrModelCongifRawID.Count == 0) { MSGHandler.DisplayMessage(MSGType.Warning, MSGHandler.GetMessage("INFORMATION_NODATA")); return; } string sModelCongifRawid = CommonPageUtil.GetConditionKeyArrayList(arrModelCongifRawID); this._llstSearchCondition.Clear(); this._llstSearchCondition.Add(Definition.DynamicCondition_Condition_key.START_DTTS, sStartTime); this._llstSearchCondition.Add(Definition.DynamicCondition_Condition_key.END_DTTS, sEndTime); this._llstSearchCondition.Add(Definition.DynamicCondition_Condition_key.PERIOD_PPK, this._sPeriodPpk); this._llstSearchCondition.Add(Definition.DynamicCondition_Condition_key.MODEL_CONFIG_RAWID, sModelCongifRawid); if (this._sParamTypeCD.Equals("MET")) { _OperationColumnName = Definition.CHART_COLUMN.MEASURE_OPERATION_ID; } else { _OperationColumnName = Definition.CHART_COLUMN.OPERATION_ID; } PROC_DataBinding(); }
public override void PageSearch(LinkedList llstCondition) { this._llstData.Clear(); DataTable dt = null; if (llstCondition[Definition.DynamicCondition_Search_key.LINE] != null) { dt = (DataTable)llstCondition[Definition.DynamicCondition_Search_key.LINE]; _Line = DataUtil.GetDisplayData(dt); _LineRawID = DCUtil.GetValueData(dt); } if (llstCondition[Definition.DynamicCondition_Search_key.FAB] != null) { _sFab = DCUtil.GetValueData((DataTable)llstCondition[Definition.DynamicCondition_Search_key.FAB]); } if (llstCondition[Definition.DynamicCondition_Search_key.AREA] != null) { dt = (DataTable)llstCondition[Definition.DynamicCondition_Search_key.AREA]; _AreaRawID = DataUtil.GetConditionKeyDataList(dt, Definition.DynamicCondition_Condition_key.VALUEDATA); } if (llstCondition[Definition.DynamicCondition_Search_key.EQPMODEL] != null) { dt = (DataTable)llstCondition[Definition.DynamicCondition_Search_key.EQPMODEL]; _EQPModel = DataUtil.GetConditionKeyDataList(dt, Definition.DynamicCondition_Condition_key.VALUEDATA, true); } if (llstCondition[Definition.DynamicCondition_Search_key.DATETIME_FROM] != null) { dt = (DataTable)llstCondition[Definition.DynamicCondition_Search_key.DATETIME_FROM]; this._sStartTime = CommonPageUtil.StartDate(dt.Rows[0][Definition.DynamicCondition_Condition_key.VALUEDATA].ToString()); } if (llstCondition[Definition.DynamicCondition_Search_key.DATETIME_TO] != null) { dt = (DataTable)llstCondition[Definition.DynamicCondition_Search_key.DATETIME_TO]; this._sEndTime = CommonPageUtil.EndDate(dt.Rows[0][Definition.DynamicCondition_Condition_key.VALUEDATA].ToString()); } if (llstCondition[Definition.DynamicCondition_Search_key.PARAM_TYPE] != null) { this._ParamType = DCUtil.GetValueData((DataTable)llstCondition[Definition.DynamicCondition_Search_key.PARAM_TYPE]); } if (llstCondition[Definition.DynamicCondition_Search_key.TYPE] != null) { string _sType = DCUtil.GetValueData((DataTable)llstCondition[Definition.DynamicCondition_Search_key.TYPE]); if (_sType.Equals("1")) { _bProb = true; } } else { MSGHandler.DisplayMessage(MSGType.Warning, "선택된 Step별 Data Mapping 정보가 없습니다."); return; } if (llstCondition[Definition.DynamicCondition_Search_key.OPERATION] != null) { this._sOperation = DCUtil.GetValueData((DataTable)llstCondition[Definition.DynamicCondition_Search_key.OPERATION]); this._sOperationDesc = DataUtil.GetDisplayData((DataTable)llstCondition[Definition.DynamicCondition_Search_key.OPERATION]); } if (string.IsNullOrEmpty(this._sOperation)) { MSGHandler.DisplayMessage(MSGType.Warning, "기준 Step이 없습니다."); return; } if (llstCondition[Definition.DynamicCondition_Search_key.PROBE] != null) { string _sProb = DCUtil.GetValueData((DataTable)llstCondition[Definition.DynamicCondition_Search_key.PROBE]); this._bProb = !string.IsNullOrEmpty(_sProb) ? (_sProb == "1" ?true :false) : false; } if (llstCondition[Definition.DynamicCondition_Search_key.INFORMATION] != null) { this._arrInfo = CommonPageUtil.GetConditionKeyDataListArr((DataTable)llstCondition[Definition.DynamicCondition_Search_key.INFORMATION], Definition.DynamicCondition_Condition_key.VALUEDATA); } if (llstCondition[Definition.DynamicCondition_Search_key.ITEM] != null) { this._arrItem = CommonPageUtil.GetConditionKeyDataListArr((DataTable)llstCondition[Definition.DynamicCondition_Search_key.ITEM], Definition.DynamicCondition_Condition_key.VALUEDATA); } if (llstCondition[Definition.DynamicCondition_Search_key.SUBDATA] != null) { this._arrSubData = CommonPageUtil.GetConditionKeyDataListArr((DataTable)llstCondition[Definition.DynamicCondition_Search_key.SUBDATA], Definition.DynamicCondition_Condition_key.VALUEDATA); } if (llstCondition[Definition.DynamicCondition_Search_key.TARGET] != null) { this._sTargetOperation = DCUtil.GetValueData((DataTable)llstCondition[Definition.DynamicCondition_Search_key.TARGET]); this._sTargetOperationDesc = DataUtil.GetDisplayData((DataTable)llstCondition[Definition.DynamicCondition_Search_key.TARGET]); } if (llstCondition[Definition.DynamicCondition_Search_key.TARGET_PROBE] != null) { string _sTartProb = DCUtil.GetValueData((DataTable)llstCondition[Definition.DynamicCondition_Search_key.TARGET_PROBE]); this._bTartProb = !string.IsNullOrEmpty(_sTartProb) ? (_sTartProb == "1" ? true : false) : false; } if (llstCondition[Definition.DynamicCondition_Search_key.TARGET_INFORMATION] != null) { this._arrTargetInfo = CommonPageUtil.GetConditionKeyDataListArr((DataTable)llstCondition[Definition.DynamicCondition_Search_key.TARGET_INFORMATION], Definition.DynamicCondition_Condition_key.VALUEDATA); } if (llstCondition[Definition.DynamicCondition_Search_key.TARGET_ITEM] != null) { this._arrTargetItem = CommonPageUtil.GetConditionKeyDataListArr((DataTable)llstCondition[Definition.DynamicCondition_Search_key.TARGET_ITEM], Definition.DynamicCondition_Condition_key.VALUEDATA); } if (llstCondition[Definition.DynamicCondition_Search_key.TARGET_SUBDATA] != null) { this._arrTargetSubData = CommonPageUtil.GetConditionKeyDataListArr((DataTable)llstCondition[Definition.DynamicCondition_Search_key.TARGET_SUBDATA], Definition.DynamicCondition_Condition_key.VALUEDATA); } if (llstCondition[Definition.DynamicCondition_Search_key.SORTING_KEY] != null) { this._arrSortingKey = CommonPageUtil.GetConditionKeyDataListArr((DataTable)llstCondition[Definition.DynamicCondition_Search_key.SORTING_KEY], Definition.DynamicCondition_Condition_key.VALUEDATA); } if (this._arrSortingKey.Count == 0) { MSGHandler.DisplayMessage(MSGType.Warning, string.Format(MSGHandler.GetMessage("GENERAL_SELECT_OBJECT"), "Sorting Key")); return; } PROC_DataBinding(); }
private void PROC_DataBinding() { DataSet ds = null; DataTableGroupBy dtGroupBy = null; string sFieldList = string.Empty; string sGroupBy = string.Empty; string sFilter = string.Empty; LinkedList _llstCol = new LinkedList(); DataRow nRow = null; DataTable dtResult = null; DataTable dtBasis = null; DataTable dtTarget = null; try { this.MsgShow(_lang.GetVariable("RMS_PROGRESS_SEARCH")); dtGroupBy = new DataTableGroupBy(); CreateChartDataTable _chartData = new CreateChartDataTable(); LinkedList _llstWhere = new LinkedList(); //Table 생성 dtResult = new DataTable(); CreateTable(dtResult); //기준Step string sParam = "'" + CommonPageUtil.GetConditionKeyArrayList(this._arrItem).Replace(",", "','") + "'"; DataSet dsBasis = GetResultDataSet(this._bProb, sParam, this._sOperation, this._arrInfo, this._arrSubData); if (!DataUtil.IsNullOrEmptyDataSet(dsBasis)) { if (!this._bProb) { _llstCol = GetQueryColumn(_bProb); if (this._arrSortingKey.Contains(Definition.CHART_COLUMN.MOCVDNAME)) { dtBasis = CommonPageUtil.CLOBnBLOBParsing(dsBasis, _llstWhere, false, true); } else { dtBasis = CommonPageUtil.CLOBnBLOBParsing(dsBasis, _llstWhere, false, false); } _llstCol.Clear(); for (int i = 0; i < this._arrSubData.Count; i++) { _llstCol.Add(this._arrSubData[i].ToString(), "1"); } dtBasis = _chartData.GetMakeDataTable(dtBasis, _llstCol); } else { dtBasis = dsBasis.Tables[0]; } } //Target if (!string.IsNullOrEmpty(_sTargetOperation)) { string sParamTarget = "'" + CommonPageUtil.GetConditionKeyArrayList(this._arrTargetItem).Replace(",", "','") + "'"; DataSet dsTarget = GetResultDataSet(this._bTartProb, sParamTarget, this._sTargetOperation, this._arrTargetInfo, this._arrTargetSubData); if (!DataUtil.IsNullOrEmptyDataSet(dsTarget)) { if (!this._bTartProb) { if (this._arrSortingKey.Contains(Definition.CHART_COLUMN.MOCVDNAME)) { dtTarget = CommonPageUtil.CLOBnBLOBParsing(dsTarget, _llstWhere, false, true); } else { dtTarget = CommonPageUtil.CLOBnBLOBParsing(dsTarget, _llstWhere, false, false); } _llstCol.Clear(); for (int i = 0; i < this._arrTargetSubData.Count; i++) { _llstCol.Add(this._arrTargetSubData[i].ToString(), "1"); } dtTarget = _chartData.GetMakeDataTable(dtTarget, _llstCol); } else { dtTarget = dsTarget.Tables[0]; } } } this.bSpread1.DataSource = null; if (!DataUtil.IsNullOrEmptyDataTable(dtBasis)) { this.MakeCrateTable(dtBasis, dtTarget, this._bProb, this._bTartProb, dtResult); } else { this.MsgClose(); MSGHandler.DisplayMessage(MSGType.Warning, MSGHandler.GetMessage("INFORMATION_NODATA")); } this.bSpread1.DataSource = dtResult; this.bSpread1.ActiveSheet.ColumnHeader.Cells[0, this._arrSortingKey.Count].Text = this._sOperationDesc; if (!string.IsNullOrEmpty(this._sTargetOperation)) { this.bSpread1.ActiveSheet.ColumnHeader.Cells[0, this.bSpread1.ActiveSheet.ColumnCount - (this._arrTargetItem.Count * this._arrTargetSubData.Count) - this._arrTargetInfo.Count].Text = this._sTargetOperationDesc; } } catch (Exception ex) { this.MsgClose(); LogHandler.ExceptionLogWrite(Definition.APPLICATION_NAME, ex); } finally { if (ds != null) { ds.Dispose(); } this.MsgClose(); } }
public override void PageSearch(LinkedList llstCondition) { _chartVariable = new ChartInterface(); this._llstSearchCondition.Clear(); if (!llstCondition.Contains(Definition.DynamicCondition_Search_key.AREA)) { MSGHandler.DisplayMessage(MSGType.Information, MSGHandler.GetMessage(Definition.MSG_KEY_SELECT_CONDITION_DATA)); return; } DataTable dt = null; if (llstCondition[Definition.DynamicCondition_Search_key.FROMDATE] != null) { dt = (DataTable)llstCondition[Definition.DynamicCondition_Search_key.FROMDATE]; DateTime dtFrom = (DateTime)dt.Rows[0][Definition.DynamicCondition_Condition_key.DATETIME_VALUEDATA]; sStartTime = CommonPageUtil.StartDate(dtFrom.ToString(Definition.DATETIME_FORMAT)); } if (llstCondition[Definition.DynamicCondition_Search_key.TODATE] != null) { dt = (DataTable)llstCondition[Definition.DynamicCondition_Search_key.TODATE]; DateTime dtTo = (DateTime)dt.Rows[0][Definition.DynamicCondition_Condition_key.DATETIME_VALUEDATA]; sEndTime = CommonPageUtil.EndDate(dtTo.ToString(Definition.DATETIME_FORMAT)); } this._llstSearchCondition.Add(Definition.DynamicCondition_Condition_key.START_DTTS, sStartTime); this._llstSearchCondition.Add(Definition.DynamicCondition_Condition_key.END_DTTS, sEndTime); if (llstCondition[Definition.DynamicCondition_Search_key.LINE] != null) { dt = (DataTable)llstCondition[Definition.DynamicCondition_Search_key.LINE]; _line = dt.Rows[0][Definition.DynamicCondition_Condition_key.DISPLAYDATA].ToString(); _chartVariable.LINE = _line; this._llstSearchCondition.Add(Definition.DynamicCondition_Condition_key.LINE_RAWID, dt.Rows[0][Definition.DynamicCondition_Condition_key.VALUEDATA].ToString()); } string strArea = _ComUtil.GetConditionString((DataTable)llstCondition[Definition.DynamicCondition_Search_key.AREA], Definition.DynamicCondition_Condition_key.AREA); if (!string.IsNullOrEmpty(strArea)) { this._llstSearchCondition.Add(Definition.DynamicCondition_Condition_key.AREA, strArea); } string strParamType = _ComUtil.GetConditionData((DataTable)llstCondition[Definition.DynamicCondition_Search_key.PARAM_TYPE], Definition.DynamicCondition_Condition_key.VALUEDATA); if (!string.IsNullOrEmpty(strParamType)) { this._llstSearchCondition.Add(Definition.DynamicCondition_Condition_key.PARAM_TYPE_CD, strParamType); } if (!llstCondition.Contains(Definition.DynamicCondition_Search_key.SPC_MODEL_CONFIG_RAWID)) { MSGHandler.DisplayMessage(MSGType.Information, "Please Select SPC Model."); return; } string strModelConfigRawID = ((DataTable)llstCondition[Definition.DynamicCondition_Search_key.SPC_MODEL_CONFIG_RAWID]).Rows[0][Definition.DynamicCondition_Condition_key.VALUEDATA].ToString(); if (!string.IsNullOrEmpty(strModelConfigRawID)) { this._llstSearchCondition.Add(Definition.DynamicCondition_Condition_key.MODEL_CONFIG_RAWID, strModelConfigRawID); } PROC_DataBinding(); }
private void PROC_DataBinding() { DataSet _ds = null; CreateChartDataTable _createChartDT = null; try { _dtChartData = new DataTable(); _createChartDT = new CreateChartDataTable(); this.MsgShow(this._lang.GetVariable("RMS_PROGRESS_SEARCH")); _ds = _wsSPC.GetSPCControlChartData(_llstSearchCondition.GetSerialData()); if (DataUtil.IsNullOrEmptyDataSet(_ds)) { this.MsgClose(); MSGHandler.DisplayMessage(MSGType.Warning, MSGHandler.GetMessage("INFORMATION_NODATA")); } else { this._dtChartData = CommonPageUtil.CLOBnBLOBParsing(_ds, _llstSearchCondition, false); if (_ds != null) { _ds.Dispose(); } //초기설정된 값만큼만 조회 if (iSearch == 0) { if (_dtChartData.Rows.Count > this.restrict_sample_count) { DataTable dtCopy = new DataTable(); DataRow[] drSelect = _dtChartData.Select(null, Definition.CHART_COLUMN.TIME + " desc"); if (drSelect.Length > 0) { dtCopy = drSelect[0].Table.Clone(); } for (int i = 0; i <= this.restrict_sample_count; i++) { dtCopy.ImportRow(drSelect[i]); } _dtChartData = DataUtil.DataTableImportRow(dtCopy.Select(null, "TIME")); dtCopy.Dispose(); } } else { _dtChartData = DataUtil.DataTableImportRow(_dtChartData.Select(null, Definition.CHART_COLUMN.TIME)); } if (string.IsNullOrEmpty(_dtChartData.Rows[0]["default_chart_list"].ToString())) { this.MsgClose(); MSGHandler.DisplayMessage(MSGType.Warning, string.Format(MSGHandler.GetMessage("GENERAL_NO_ITEM"), "Default Charts")); } else { _chartVariable.lstDefaultChart.Clear(); _chartVariable.DEFAULT_CHART = _dtChartData.Rows[0]["default_chart_list"].ToString(); _chartVariable.complex_yn = _dtChartData.Rows[0]["COMPLEX_YN"].ToString(); _chartVariable.MAIN_YN = _dtChartData.Rows[0]["MAIN_YN"].ToString(); _chartVariable.MODEL_CONFIG_RAWID = _dtChartData.Rows[0]["MODEL_CONFIG_RAWID"].ToString(); _chartVariable.SPC_MODEL = _dtChartData.Rows[0]["SPC_MODEL_NAME"].ToString(); //_chartVariable.PARAM_ALIAS = sParameter; _chartVariable.PARAM_ALIAS = _dtChartData.Rows[0]["PARAM_ALIAS"].ToString(); _chartVariable.OPERATION_ID = _dtChartData.Rows[0][Definition.CHART_COLUMN.OPERATION_ID].ToString(); _chartVariable.PRODUCT_ID = _dtChartData.Rows[0][Definition.CHART_COLUMN.PRODUCT_ID].ToString(); _chartVariable.RESTRICT_SAMPLE_DAYS = _dtChartData.Rows[0]["RESTRICT_SAMPLE_DAYS"].ToString(); _chartVariable.AREA = _dtChartData.Rows[0]["AREA"].ToString(); _createChartDT.COMPLEX_YN = _chartVariable.complex_yn; _chartVariable.lstDefaultChart = CommonPageUtil.DefaultChartSplit(_chartVariable.DEFAULT_CHART); _chartVariable.CHART_PARENT_MODE = CHART_PARENT_MODE.SPC_CONTROL_CHART; _chartVariable.lstRawColumn = _createChartDT.lstRawColumn; //_createChartDT.CallRefCol(_dtChartData); Console.WriteLine(DateTime.Now.ToString()); _chartVariable.dtParamData = _createChartDT.GetMakeDataTable(_dtChartData); Console.WriteLine(DateTime.Now.ToString()); if (_createChartDT != null) { _createChartDT = null; } } } AddContrChart(); } catch (Exception ex) { LogHandler.ExceptionLogWrite(Definition.APPLICATION_NAME, ex); } finally { this.MsgClose(); if (_createChartDT != null) { _createChartDT = null; } if (_chartVariable != null) { _chartVariable = null; } if (_dtChartData != null) { _dtChartData.Dispose(); } } }
/// <summary> /// Create Chart DataSet /// </summary> /// <param name="_llstPopup"></param> /// <param name="strModelConfigRawID"></param> /// <returns></returns> private DataTable GetChartData(LinkedList _llstPopup, string strModelConfigRawID, int iRowIndex) { DataSet _ds = null; DataTable _dtChartData = new DataTable(); LinkedList _llstSearch = new LinkedList(); try { _llstDTSelectCondition.Clear(); _llstDTSelectCondition.Add(Definition.CHART_COLUMN.OPERATION_ID, CommonPageUtil.GetConCatString(this.bsprData.ActiveSheet.Cells[iRowIndex, (int)BISTel.eSPC.Common.enum_OCAPLIST.OPERATION_ID].Text)); _llstDTSelectCondition.Add(Definition.CHART_COLUMN.PRODUCT_ID, CommonPageUtil.GetConCatString(this.bsprData.ActiveSheet.Cells[iRowIndex, (int)BISTel.eSPC.Common.enum_OCAPLIST.PRODUCT_ID].Text)); _llstDTSelectCondition.Add(Definition.CHART_COLUMN.PARAM_ALIAS, CommonPageUtil.GetConCatString(this.bsprData.ActiveSheet.Cells[iRowIndex, (int)BISTel.eSPC.Common.enum_OCAPLIST.PARAM_ALIAS].Text)); _llstDTSelectCondition.Add(Definition.CHART_COLUMN.EQP_ID, CommonPageUtil.GetConCatString(this.bsprData.ActiveSheet.Cells[iRowIndex, (int)BISTel.eSPC.Common.enum_OCAPLIST.EQP_ID].Text)); _llstSearch.Add(Definition.CONDITION_KEY_START_DTTS, _ComUtil.NVL(this._llstSearchCondition[Definition.CONDITION_KEY_START_DTTS])); _llstSearch.Add(Definition.CONDITION_KEY_END_DTTS, _ComUtil.NVL(this._llstSearchCondition[Definition.CONDITION_KEY_END_DTTS])); _llstSearch.Add(Definition.CONDITION_KEY_MODEL_CONFIG_RAWID, strModelConfigRawID); EESProgressBar.ShowProgress(this, this._lang.GetMessage(Definition.LOADING_DATA), true); AsyncCallHandler ach = new AsyncCallHandler(EESProgressBar.AsyncCallManager); object objDataSet = ach.SendWait(_wsSPC, "GetATTSPCControlChartData", new object[] { _llstSearch.GetSerialData() }); EESProgressBar.CloseProgress(this); if (objDataSet != null) { _ds = (DataSet)objDataSet; } else { MSGHandler.DisplayMessage(MSGType.Warning, MSGHandler.GetMessage("INFORMATION_NODATA")); return(_dtChartData); } if (!DataUtil.IsNullOrEmptyDataSet(_ds)) { this.MsgShow("Drawing Chart... Can't Cancel!!!"); _llstSearch.Clear(); _dtChartData = CommonPageUtil.CLOBnBLOBParsing(_ds, _llstSearch, false, false, false); } } 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 (_ds != null) { _ds.Dispose(); } } return(_dtChartData); }
private void bbtnList_ButtonClick(string name) { LinkedList _llstPopup = null; DataTable dtResource = null; try { if (!(this.bsprData.ActiveSheet.RowCount > 0)) { MSGHandler.DisplayMessage(MSGType.Information, MSGHandler.GetMessage(Definition.MSG_KEY_NO_SEARCH_DATA)); return; } if (name.ToUpper() == Definition.ButtonKey.EXPORT) { BSpreadUtility bsprUtil = new BSpreadUtility(); bsprUtil.Export(this.bsprData, true); } else if (name.ToUpper().Equals("SELECT")) { if (this.bsprData.ActiveSheet.SelectionCount > 0) { FarPoint.Win.Spread.Model.CellRange[] selections = this.bsprData.ActiveSheet.GetSelections(); for (int i = 0; i < selections[0].RowCount; i++) { this.bsprData.ActiveSheet.SetText(selections[0].Row + i, (int)BISTel.eSPC.Common.enum_OCAPLIST.SPC_V_SELECT, "True"); } } } else if (name.ToUpper().Equals("UNSELECT")) { if (this.bsprData.ActiveSheet.SelectionCount > 0) { FarPoint.Win.Spread.Model.CellRange[] selections = this.bsprData.ActiveSheet.GetSelections(); for (int i = 0; i < selections[0].RowCount; i++) { this.bsprData.ActiveSheet.SetText(selections[0].Row + i, (int)BISTel.eSPC.Common.enum_OCAPLIST.SPC_V_SELECT, "False"); } } } else if (name.ToUpper() == Definition.ButtonKey.VIEW || name.ToUpper() == Definition.ButtonKey.OCAP_MODIFY) { ArrayList alCheckRowIndex = _bSpreadUtil.GetCheckedRowIndex(this.bsprData, (int)BISTel.eSPC.Common.enum_OCAPLIST.SPC_V_SELECT); if (alCheckRowIndex.Count == 0) { MSGHandler.DisplayMessage(MSGType.Information, "SPC_INFO_SELECT_ROW", null, null); return; } if (name.ToUpper() == Definition.ButtonKey.VIEW) { this.ClickButtonOCAP(BISTel.eSPC.Common.enum_PopupType.View, alCheckRowIndex); } else if (name.ToUpper() == Definition.ButtonKey.OCAP_MODIFY) { this.ClickButtonOCAP(BISTel.eSPC.Common.enum_PopupType.Modify, alCheckRowIndex); } } else if (name.ToUpper() == "SPC_REMOVE_DUPLICATE") { if (this._bRemovedDuplicatedRow) { this.bsprData.ActiveSheet.Rows[0, this.bsprData.ActiveSheet.RowCount - 1].Visible = true; this._bRemovedDuplicatedRow = false; } else { ArrayList arrDuplicatedRow = new ArrayList(); for (int i = 0; i < this.bsprData.ActiveSheet.RowCount; i++) { string strModelConfigRawID = this.bsprData.ActiveSheet.Cells[i, (int)BISTel.eSPC.Common.enum_OCAPLIST.MODEL_CONFIG_RAWID].Text; if (arrDuplicatedRow.Contains(strModelConfigRawID)) { this.bsprData.ActiveSheet.Rows[i].Visible = false; if (this.bsprData.ActiveSheet.Cells[i, (int)BISTel.eSPC.Common.enum_OCAPLIST.SPC_V_SELECT].Text == "True") { this.bsprData.ActiveSheet.Cells[i, (int)BISTel.eSPC.Common.enum_OCAPLIST.SPC_V_SELECT].Text = "False"; } } else { arrDuplicatedRow.Add(strModelConfigRawID); } } this._bRemovedDuplicatedRow = true; } } else { ArrayList alCheckRowIndex = _bSpreadUtil.GetCheckedRowIndex(this.bsprData, (int)BISTel.eSPC.Common.enum_OCAPLIST.SPC_V_SELECT); if (alCheckRowIndex.Count < 1 || alCheckRowIndex.Count > 1) { MSGHandler.DisplayMessage(MSGType.Information, MSGHandler.GetMessage("FDC_ALLOW_SINGLE_SELECTED_ROW")); return; } _ChartVariable = new ChartInterface(); int iRowIndex = (int)alCheckRowIndex[0]; if (iRowIndex < 0) { return; } string strModelConfigRawID = this.bsprData.ActiveSheet.Cells[iRowIndex, (int)BISTel.eSPC.Common.enum_OCAPLIST.MODEL_CONFIG_RAWID].Text; string strTime = this.bsprData.ActiveSheet.Cells[iRowIndex, (int)BISTel.eSPC.Common.enum_OCAPLIST.TIME].Text; string strocaprawid = this.bsprData.ActiveSheet.Cells[iRowIndex, (int)BISTel.eSPC.Common.enum_OCAPLIST.OCAP_RAWID].Text; //SPC-1292, KBLEE, START if (this._llstSearchCondition.Contains(Definition.DynamicCondition_Condition_key.PARAM_TYPE_CD)) { this._llstSearchCondition.Remove(Definition.DynamicCondition_Condition_key.PARAM_TYPE_CD); this._llstSearchCondition.Add(Definition.DynamicCondition_Condition_key.PARAM_TYPE_CD, this.bsprData.ActiveSheet.Cells[iRowIndex, (int)BISTel.eSPC.Common.enum_OCAPLIST.PARAM_TYPE_CD].Text); } else { this._llstSearchCondition.Add(Definition.DynamicCondition_Condition_key.PARAM_TYPE_CD, this.bsprData.ActiveSheet.Cells[iRowIndex, (int)BISTel.eSPC.Common.enum_OCAPLIST.PARAM_TYPE_CD].Text); } //SPC-1292, KBLEE, END DataRow drCurrent = this._dsOCAPList.Tables[0].Rows[iRowIndex]; _llstPopup = CommonPageUtil.GetOCAPParameter(this._dsOCAPList.Tables[0], iRowIndex); dtResource = GetChartData(_llstPopup, strModelConfigRawID, iRowIndex); List <string> rawIDs = new List <string>(); if (dtResource.Columns.Contains(Definition.CHART_COLUMN.OCAP_RAWID)) { bool bPOcap = dtResource.Columns.Contains(Definition.CHART_COLUMN.P_OCAP_LIST); bool bPNOcap = dtResource.Columns.Contains(Definition.CHART_COLUMN.PN_OCAP_LIST); bool bCOcap = dtResource.Columns.Contains(Definition.CHART_COLUMN.C_OCAP_LIST); bool bUOcap = dtResource.Columns.Contains(Definition.CHART_COLUMN.U_OCAP_LIST); foreach (DataRow dr in dtResource.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()); if (this._llstSearchCondition[Definition.DynamicCondition_Condition_key.START_DTTS] != null) { llstTmpOcapComment.Add(Definition.CONDITION_KEY_START_DTTS, (DateTime.Parse(this._llstSearchCondition[Definition.DynamicCondition_Condition_key.START_DTTS].ToString())).ToString(Definition.DATETIME_FORMAT_MS)); } if (this._llstSearchCondition[Definition.DynamicCondition_Condition_key.END_DTTS] != null) { llstTmpOcapComment.Add(Definition.CONDITION_KEY_END_DTTS, (DateTime.Parse(this._llstSearchCondition[Definition.DynamicCondition_Condition_key.END_DTTS].ToString())).ToString(Definition.DATETIME_FORMAT_MS)); } byte[] baData = llstTmpOcapComment.GetSerialData(); _dsOcapComment = _wsSPC.GetOCAPCommentList_New(baData); } if (DataUtil.IsNullOrEmptyDataTable(dtResource)) { this.MsgClose(); MSGHandler.DisplayMessage(MSGType.Warning, MSGHandler.GetMessage("INFORMATION_NODATA")); return; } if (lineName.ContainsKey(this.bsprData.ActiveSheet.Cells[iRowIndex, (int)BISTel.eSPC.Common.enum_OCAPLIST.LINE].Text)) { _ChartVariable.LINE = lineName[this.bsprData.ActiveSheet.Cells[iRowIndex, (int)BISTel.eSPC.Common.enum_OCAPLIST.LINE].Text]; } _ChartVariable.AREA = this.bsprData.ActiveSheet.Cells[iRowIndex, (int)BISTel.eSPC.Common.enum_OCAPLIST.AREA].Text; _ChartVariable.SPC_MODEL = this.bsprData.ActiveSheet.Cells[iRowIndex, (int)BISTel.eSPC.Common.enum_OCAPLIST.SPC_MODEL_NAME].Text; _ChartVariable.PARAM_ALIAS = this.bsprData.ActiveSheet.Cells[iRowIndex, (int)BISTel.eSPC.Common.enum_OCAPLIST.PARAM_ALIAS].Text; _ChartVariable.OPERATION_ID = this.bsprData.ActiveSheet.Cells[iRowIndex, (int)BISTel.eSPC.Common.enum_OCAPLIST.OPERATION_ID].Text; _ChartVariable.PRODUCT_ID = this.bsprData.ActiveSheet.Cells[iRowIndex, (int)BISTel.eSPC.Common.enum_OCAPLIST.PRODUCT_ID].Text; _ChartVariable.llstInfoCondition = _llstPopup; _ChartVariable.DEFAULT_CHART = this.bsprData.ActiveSheet.Cells[iRowIndex, (int)BISTel.eSPC.Common.enum_OCAPLIST.DEFAULT_CHART_LIST].Text; _ChartVariable.complex_yn = Definition.VARIABLE_Y; _ChartVariable.MODEL_CONFIG_RAWID = strModelConfigRawID; _ChartVariable.MAIN_YN = this.bsprData.ActiveSheet.Cells[iRowIndex, (int)BISTel.eSPC.Common.enum_OCAPLIST.MAIN_YN].Text; _ChartVariable.dtResource = dtResource; _ChartVariable.CHART_PARENT_MODE = BISTel.eSPC.Common.CHART_PARENT_MODE.OCAP; _ChartVariable.dateTimeStart = DateTime.Parse(this._llstSearchCondition[Definition.DynamicCondition_Condition_key.START_DTTS].ToString()); _ChartVariable.dateTimeEnd = DateTime.Parse(this._llstSearchCondition[Definition.DynamicCondition_Condition_key.END_DTTS].ToString()); _ChartVariable.llstDTSelectCondition = this._llstDTSelectCondition; _ChartVariable.OCAPRawID = strocaprawid; this._lineRawid = this.bsprData.ActiveSheet.Cells[iRowIndex, (int)BISTel.eSPC.Common.enum_OCAPLIST.LINE].Text; this._areaRawid = this.bsprData.ActiveSheet.Cells[iRowIndex, (int)BISTel.eSPC.Common.enum_OCAPLIST.AREA_RAWID].Text; if (name.ToUpper() == Definition.ButtonKey.VIEW_CHART) { this.ClickButtonChartView(); } } } catch (Exception ex) { MSGHandler.DisplayMessage(MSGType.Error, ex.Message); } finally { if (dtResource != null) { dtResource.Dispose(); } _llstPopup = null; _ChartVariable = null; } }
private void PROC_DataBinding() { this._bRemovedDuplicatedRow = false; ParseCLOB pclob = null; try { _dsOCAPList = new DataSet(); EESProgressBar.ShowProgress(this, this._lang.GetMessage(Definition.LOADING_DATA), true); AsyncCallHandler ach = new AsyncCallHandler(EESProgressBar.AsyncCallManager); object objDataSet = ach.SendWait(_wsSPC, "GetATTOCAPList", new object[] { _llstSearchCondition.GetSerialData() }); EESProgressBar.CloseProgress(this); this.bsprData.ActiveSheet.RowCount = 0; this.bsprData.DataSource = null; //this.bsprData.ActiveSheet.FrozenColumnCount = 1; this.bsprData.ColFronzen = 1; if (objDataSet != null) { _dsOCAPList = (DataSet)objDataSet; } else { MSGHandler.DisplayMessage(MSGType.Warning, MSGHandler.GetMessage("INFORMATION_NODATA")); return; } if (DataUtil.IsNullOrEmptyDataSet(_dsOCAPList)) { MSGHandler.DisplayMessage(MSGType.Warning, MSGHandler.GetMessage("INFORMATION_NODATA")); return; } EESProgressBar.ShowProgress(this, MSGHandler.GetMessage("PROCESS_LOADING_PAGE_DATA"), false); pclob = new ParseCLOB(); LinkedList _llstData = new LinkedList(); _llstData.Add(Definition.DynamicCondition_Condition_key.USE_YN, "Y"); DataSet dsContextType = _wsSPC.GetContextType(_llstData.GetSerialData()); LinkedList mllstContextType = CommonPageUtil.SetContextType(dsContextType); _dsOCAPList = pclob.DecompressOCAPDataTRXData(_dsOCAPList.Tables[0], mllstContextType, false); string strTempWhere = ""; if (this._sFilterEQPID.Length > 0) { strTempWhere += string.Format(" EQP_ID = '{0}'", this._sFilterEQPID); } if (this._sFilterModuleID.Length > 0) { if (strTempWhere.Length > 0) { strTempWhere += string.Format(" AND MODULE_ID = '{0}'", this._sFilterModuleID); } else { strTempWhere += string.Format(" MODULE_ID = '{0}'", this._sFilterModuleID); } } if (this._sFilterLot.Length > 0) { if (strTempWhere.Length > 0) { strTempWhere += string.Format(" AND LOT_ID = '{0}'", this._sFilterLot); } else { strTempWhere += string.Format(" LOT_ID = '{0}'", this._sFilterLot); } } if (this._sFilterSubStrate.Length > 0) { if (strTempWhere.Length > 0) { strTempWhere += string.Format(" AND SUBSTRATE_ID = '{0}'", this._sFilterSubStrate); } else { strTempWhere += string.Format(" SUBSTRATE_ID = '{0}'", this._sFilterSubStrate); } } if (this._sFilterRecipe.Length > 0) { if (strTempWhere.Length > 0) { strTempWhere += string.Format(" AND RECIPE_ID = '{0}'", this._sFilterRecipe); } else { strTempWhere += string.Format(" RECIPE_ID = '{0}'", this._sFilterRecipe); } } if (strTempWhere.Length > 0) { DataRow[] drs = _dsOCAPList.Tables[0].Select(strTempWhere); DataSet _dsOCAPList_Filter = _dsOCAPList.Clone(); foreach (DataRow drTemp in drs) { _dsOCAPList_Filter.Tables[0].ImportRow(drTemp); } if (DataUtil.IsNullOrEmptyDataSet(_dsOCAPList_Filter)) { this.MsgClose(); MSGHandler.DisplayMessage(MSGType.Warning, MSGHandler.GetMessage("INFORMATION_NODATA")); return; } this.bsprData.DataSource = _dsOCAPList_Filter; } else { this.bsprData.DataSource = _dsOCAPList; } } 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 { EESProgressBar.CloseProgress(this); this._dsOCAPList.Dispose(); } }