Ejemplo n.º 1
0
        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();
            }
        }
Ejemplo n.º 2
0
        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();
                }
            }
        }