예제 #1
0
        private void ReleaseChartData()
        {
            if (pnlChart.Controls.Count > 0)
            {
                if (this.spcControlChart != null)
                {
                    spcControlChart.linkTraceDataViewEvent -= new Report.SPCChartUC.LinkTraceDataViewEventHandler(spcControlChart_linkTraceDataViewEvent);
                    spcControlChart.GetDirtyStatus();
                }
            }

            if (this._dsOcapComment != null)
            {
                BISTel.PeakPerformance.Client.CommonLibrary.MemoryTool.DataSetRelease(ref this._dsOcapComment);
            }

            if (this._ChartVariable != null)
            {
                this._ChartVariable.ReleaseChartData();
                this._ChartVariable = null;
            }
        }
예제 #2
0
        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();
        }
예제 #3
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();
                }
            }
        }
예제 #4
0
        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;
            }
        }