private void btnExcelExport_Click(object sender, EventArgs e) { /**************************************************** * Comment : Excel Export Button을 클릭하면 * * Created By : bee-jae jung(2010-05-11-화요일) * * Modified By : bee-jae jung(2010-05-11-화요일) ****************************************************/ try { Cursor.Current = Cursors.WaitCursor; SS01.ExportExcel(); } catch (Exception ex) { CmnFunction.ShowMsgBox(ex.Message); return; } finally { Cursor.Current = Cursors.Default; } }
private Boolean fnDataFind() { /**************************************************** * Comment : DataBase에 저장된 데이터를 조회한다. * * Created By : bee-jae jung(2016-06-15-수요일) * * Modified By : bee-jae jung(2016-06-16-목요일) ****************************************************/ String sPackage = "", sParameter = ""; try { Cursor.Current = Cursors.WaitCursor; LoadingPopUp.LoadIngPopUpShow(this); if (fnBusinessRule() == false) { return(false); } // 2016-06-16-정비재 : Sheet / Listview를 초기화 한다. CmnInitFunction.ClearList(SS01, true); // 2016-06-16-정비재 : oracle package(procedure)를 이용하여 데이터를 조회한다. sPackage = "PACKAGE_TRN090106.PROC_TRN090106"; sParameter = "P_WORK_MONTH:" + cdvFromToDate.FromYearMonth.Value.ToString("yyyyMM") + "│ P_CUSTOMER:" + (cdvCustomer.Text == "ALL" ? "%" : cdvCustomer.Text) + "%" + "│ P_PACKAGE:" + (cdvPackage.Text == "ALL" ? "%" : cdvPackage.Text) + "%"; DataTable dt = CmnFunction.oComm.fnExecutePackage("DYNAMIC", sPackage, sParameter); if (dt.Rows.Count <= 0) { dt.Dispose(); LoadingPopUp.LoadingPopUpHidden(); CmnFunction.ShowMsgBox(RptMessages.GetMessage("STD010", GlobalVariable.gcLanguage)); return(false); } SS01.DataSource = dt; SS01.RPT_AutoFit(false); return(true); } catch (Exception ex) { LoadingPopUp.LoadingPopUpHidden(); MessageBox.Show(ex.Message); return(false); } finally { LoadingPopUp.LoadingPopUpHidden(); Cursor.Current = Cursors.Default; } }
private void btnView_Click(object sender, EventArgs e) { /**************************************************** * Comment : View Button을 클릭하면 * * Created By : bee-jae jung(2010-05-11-화요일) * * Modified By : bee-jae jung(2010-05-11-화요일) ****************************************************/ DataTable dtData = null; string strQuery = ""; try { Cursor.Current = Cursors.WaitCursor; LoadingPopUp.LoadIngPopUpShow(this); // 검색중 화면 표시 fnSSInitial(SS01); fnSSInitial(SS02); // Query문으로 데이터를 검색한다. strQuery = fnMakeQuery(0); if (strQuery.Trim() == "") { return; } dtData = CmnFunction.oComm.GetFuncDataTable("DYNAMIC", strQuery); if (dtData.Rows.Count <= 0) { dtData.Dispose(); cfUser.RPT_1_ChartInit(); cfUser.RPT_2_ClearData(); CmnFunction.ShowMsgBox(RptMessages.GetMessage("STD010", GlobalVariable.gcLanguage)); return; } SS01.DataSource = dtData; SS01.RPT_AutoFit(false); dtData.Dispose(); // 2010-05-12-정비재 : DataTable을 Chart에 표시한다. fnMakeChart(cfUser, 0); } catch (Exception ex) { CmnFunction.ShowMsgBox(ex.Message); return; } finally { LoadingPopUp.LoadingPopUpHidden(); Cursor.Current = Cursors.Default; } }
private void fnSSInitial() { /**************************************************** * comment : Spread의 초기값을 설정한다. * * created by : bee-jae jung(2011-01-17-월요일) * * modified by : bee-jae jung(2011-01-17-월요일) ****************************************************/ int iIdx = 0; try { Cursor.Current = Cursors.WaitCursor; SS01.RPT_ColumnInit(); SS01.RPT_AddBasicColumn("MAT_ID", 0, iIdx, Visibles.True, Frozen.False, Align.Center, Merge.True, Formatter.String, 160); SS01.RPT_AddBasicColumn("OPER", 0, iIdx + 1, Visibles.True, Frozen.False, Align.Center, Merge.True, Formatter.String, 60); SS01.RPT_AddBasicColumn("BOH", 0, iIdx + 2, Visibles.True, Frozen.False, Align.Right, Merge.False, Formatter.Number, 80); SS01.RPT_AddBasicColumn("OPER_IN", 0, iIdx + 3, Visibles.True, Frozen.False, Align.Right, Merge.False, Formatter.Number, 80); SS01.RPT_AddBasicColumn("START", 0, iIdx + 4, Visibles.True, Frozen.False, Align.Right, Merge.False, Formatter.Number, 80); SS01.RPT_AddBasicColumn("END", 0, iIdx + 5, Visibles.True, Frozen.False, Align.Right, Merge.False, Formatter.Number, 80); SS01.RPT_AddBasicColumn("HOLD", 0, iIdx + 6, Visibles.True, Frozen.False, Align.Right, Merge.False, Formatter.Number, 80); SS01.RPT_AddBasicColumn("LOSS", 0, iIdx + 7, Visibles.True, Frozen.False, Align.Right, Merge.False, Formatter.Number, 80); SS01.RPT_AddBasicColumn("BONUS", 0, iIdx + 8, Visibles.True, Frozen.False, Align.Right, Merge.False, Formatter.Number, 80); SS01.RPT_AddBasicColumn("EOH", 0, iIdx + 9, Visibles.True, Frozen.False, Align.Right, Merge.False, Formatter.Number, 80); } catch (Exception ex) { CmnFunction.ShowMsgBox(ex.Message); LoadingPopUp.LoadingPopUpHidden(); } finally { Cursor.Current = Cursors.Default; } }
private void btnExcelExport_Click(object sender, EventArgs e) { /**************************************************** * comment : excel로 내보내기를 선택하면 * * created by : bee-jae jung(2011-01-17-월요일) * * modified by : bee-jae jung(2011-01-17-월요일) ****************************************************/ try { Cursor.Current = Cursors.WaitCursor; SS01.ExportExcel(); } catch (Exception ex) { CmnFunction.ShowMsgBox(ex.Message); } finally { Cursor.Current = Cursors.Default; } }
/// <summary> /// 4. 쿼리 생성 /// </summary> /// <returns></returns> /// private Boolean fnDataFind() { /**************************************************** * comment : 검색조건에 맞는 데이터를 조회한다. * * created by : bee-jae jung(2011-01-17-월요일) * * modified by : bee-jae jung(2011-01-17-월요일) ****************************************************/ DataTable DT = null; String QRY = "", sBoh_Date = "", sEoh_Date = ""; try { Cursor.Current = Cursors.WaitCursor; LoadingPopUp.LoadIngPopUpShow(this); // 2010-07-20-정비재 : Sheet / Listview를 초기화 한다. CmnInitFunction.ClearList(SS01, true); // 2011-01-17-정비재 : BOH, EOH 일자를 조회한다. if (rbBaseTime06.Checked == true) { // 2011-01-17-정비재 : 06시 기준의 일자 sBoh_Date = cdvToDate.SelectedValue() + "06"; sEoh_Date = DateTime.Parse(cdvToDate.Value.ToString("yyyy-MM-dd")).AddDays(+1).ToString("yyyyMMdd") + "06"; } else if (rbBaseTime22.Checked == true) { // 2011-01-17-정비재 : 22시 기준의 일자 sBoh_Date = DateTime.Parse(cdvFromDate.Value.ToString("yyyy-MM-dd")).AddDays(-1).ToString("yyyyMMdd") + "22"; sEoh_Date = cdvToDate.SelectedValue() + "22"; } QRY = "SELECT A.MAT_ID AS MAT_ID" + " , A.OPER AS OPER" + " , SUM(A.BOH_QTY) AS BOH_QTY" + " , SUM(A.OPER_IN_QTY) AS OPER_IN_QTY" + " , SUM(A.START_QTY) AS START_QTY" + " , SUM(A.END_QTY) AS END_QTY" + " , SUM(A.HOLD_QTY) AS HOLD_QTY" + " , SUM(A.LOSS_QTY) AS LOSS_QTY" + " , SUM(A.BONUS_QTY) AS BONUS_QTY" + " , SUM(A.EOH_QTY) AS EOH_QTY" + " FROM (SELECT MAT_ID AS MAT_ID" + " , OPER AS OPER" + " , 0 AS BOH_QTY" + " , SUM(S1_OPER_IN_QTY_1 + S2_OPER_IN_QTY_1 + S3_OPER_IN_QTY_1) AS OPER_IN_QTY" + " , SUM(S1_START_QTY_1 + S2_START_QTY_1 + S3_START_QTY_1) AS START_QTY" + " , SUM(S1_END_QTY_1 + S2_END_QTY_1 + S3_END_QTY_1) AS END_QTY" + " , SUM(S1_TO_HOLD_QTY_1 + S2_TO_HOLD_QTY_1 + S3_TO_HOLD_QTY_1) AS HOLD_QTY" + " , SUM(S1_LOSS_QTY_1 + S2_LOSS_QTY_1 + S3_LOSS_QTY_1) AS LOSS_QTY" + " , SUM(S1_BONUS_QTY_1 + S2_BONUS_QTY_1 + S3_BONUS_QTY_1) AS BONUS_QTY" + " , 0 AS EOH_QTY"; if (rbBaseTime06.Checked == true) { QRY += " FROM CSUMWIPMOV"; // 2011-01-17-정비재 : 06시 기준 } else if (rbBaseTime22.Checked == true) { QRY += " FROM RSUMWIPMOV"; // 2011-01-17-정비재 : 22시 기준 } QRY += " WHERE FACTORY IN ('" + GlobalVariable.gsAssyDefaultFactory + "', '" + GlobalVariable.gsTestDefaultFactory + "')" + " AND WORK_DATE >= '" + cdvFromDate.SelectedValue() + "'" + " AND WORK_DATE <= '" + cdvToDate.SelectedValue() + "'" + " AND LOT_TYPE = 'W'" + " AND MAT_ID LIKE '" + txtMatID.Text + "%'" + " AND CM_KEY_3 LIKE '" + txtLotType.Text + "%'" + " GROUP BY MAT_ID, OPER" + " UNION ALL" + " SELECT MAT_ID AS MAT_ID" + " , OPER AS OPER" + " , SUM(QTY_1) AS BOH_QTY" + " , 0 AS OPER_IN_QTY" + " , 0 AS START_QTY" + " , 0 AS END_QTY" + " , 0 AS HOLD_QTY" + " , 0 AS LOSS_QTY" + " , 0 AS BONUS_QTY" + " , 0 AS EOH_QTY" + " FROM RWIPLOTSTS_BOH" + " WHERE FACTORY IN ('" + GlobalVariable.gsAssyDefaultFactory + "', '" + GlobalVariable.gsTestDefaultFactory + "')" + " AND LOT_TYPE = 'W'" + " AND MAT_ID LIKE '" + txtMatID.Text + "%'" + " AND LOT_CMF_5 LIKE '" + txtLotType.Text + "%'" + " AND CUTOFF_DT = '" + sBoh_Date + "'" + " GROUP BY MAT_ID, OPER" + " UNION ALL" + " SELECT MAT_ID AS MAT_ID" + " , OPER AS OPER" + " , 0 AS BOH_QTY" + " , 0 AS OPER_IN_QTY" + " , 0 AS START_QTY" + " , 0 AS END_QTY" + " , 0 AS HOLD_QTY" + " , 0 AS LOSS_QTY" + " , 0 AS BONUS_QTY" + " , SUM(QTY_1) AS EOH_QTY" + " FROM RWIPLOTSTS_BOH" + " WHERE FACTORY IN ('" + GlobalVariable.gsAssyDefaultFactory + "', '" + GlobalVariable.gsTestDefaultFactory + "')" + " AND LOT_TYPE = 'W'" + " AND MAT_ID LIKE '" + txtMatID.Text + "%'" + " AND LOT_CMF_5 LIKE '" + txtLotType.Text + "%'" + " AND CUTOFF_DT = '" + sEoh_Date + "'" + " GROUP BY MAT_ID, OPER) A" + " GROUP BY A.MAT_ID, A.OPER" + " ORDER BY A.MAT_ID ASC, A.OPER ASC"; if (GlobalVariable.gsUserGroup == "ADMIN_GROUP" || GlobalVariable.gsUserGroup == "HANA_ADMIN_GROUP") { System.Windows.Forms.Clipboard.SetText(QRY.Replace((char)Keys.Tab, ' ')); } DT = CmnFunction.oComm.GetFuncDataTable("DYNAMIC", QRY.Replace((char)Keys.Tab, ' ')); if (DT.Rows.Count == 0) { DT.Dispose(); LoadingPopUp.LoadingPopUpHidden(); CmnFunction.ShowMsgBox(RptMessages.GetMessage("STD010", GlobalVariable.gcLanguage)); return(false); } SS01.DataSource = DT; SS01.RPT_AutoFit(false); return(true); } catch (Exception ex) { LoadingPopUp.LoadingPopUpHidden(); MessageBox.Show(ex.Message); return(false); } finally { LoadingPopUp.LoadingPopUpHidden(); Cursor.Current = Cursors.Default; } }
private Boolean fnDataFind() { /**************************************************** * Comment : DataBase에 저장된 데이터를 조회한다. * * Created By : bee-jae jung(2010-08-30-월요일) * * Modified By : bee-jae jung(2010-11-29-월요일) ****************************************************/ String Qry = ""; try { Cursor.Current = Cursors.WaitCursor; LoadingPopUp.LoadIngPopUpShow(this); if (fnBusinessRule() == false) { return(false); } if (rbSearch01.Checked == true || rbSearch02.Checked == true) { if (rbSearch01.Checked == true) { // 2010-11-29-정비재 : 일자별 데이터를 검색한다. Qry = "SELECT CUSTOMER AS CUSTOMER" + " , PACKAGE AS PACKAGE" + " , TO_CHAR(TO_DATE(WORK_DATE, 'YYYYMMDDHH24'), 'YYYY-MM-DD') AS WORK_DATE"; } else if (rbSearch02.Checked == true) { // 2010-11-29-정비재 : 월별 데이터를 검색한다. Qry = "SELECT CUSTOMER AS CUSTOMER" + " , PACKAGE AS PACKAGE" + " , TO_CHAR(TO_DATE(WORK_MONTH, 'YYYYMM'), 'YYYY-MM') AS WORK_MONTH"; } if (chkKpcs.Checked == true) { Qry += " , SUM(RETURN_LOT) AS RETURN_LOT" + " , SUM(RETURN_QTY_1) / 1000 AS RETURN_QTY" + " , SUM(RECEIVE_LOT) AS RECEIVE_LOT" + " , SUM(RECEIVE_QTY_1) / 1000 AS RECEIVE_QTY" + " , SUM(ISSUE_LOT) AS ISSUE_LOT" + " , SUM(ISSUE_QTY_1) / 1000 AS ISSUE_QTY" + " , SUM(WIP_LOT) AS WIP_LOT" + " , SUM(WIP_QTY_1) / 1000 AS WIP_QTY" + " , SUM(SHIP_LOT) AS SHIP_LOT" + " , SUM(SHIP_QTY_1) / 1000 AS SHIP_QTY" + " FROM REISWIPMOV" + " WHERE FACTORY = '" + cdvFactory.Text + "'" + " AND CUSTOMER LIKE '" + cdvCustomer.Text + "%'" + " AND PACKAGE LIKE '" + cdvPackage.Text + "%'"; } else { Qry += " , SUM(RETURN_LOT) AS RETURN_LOT" + " , SUM(RETURN_QTY_1) AS RETURN_QTY" + " , SUM(RECEIVE_LOT) AS RECEIVE_LOT" + " , SUM(RECEIVE_QTY_1) AS RECEIVE_QTY" + " , SUM(ISSUE_LOT) AS ISSUE_LOT" + " , SUM(ISSUE_QTY_1) AS ISSUE_QTY" + " , SUM(WIP_LOT) AS WIP_LOT" + " , SUM(WIP_QTY_1) AS WIP_QTY" + " , SUM(SHIP_LOT) AS SHIP_LOT" + " , SUM(SHIP_QTY_1) AS SHIP_QTY" + " FROM REISWIPMOV" + " WHERE FACTORY = '" + cdvFactory.Text + "'" + " AND CUSTOMER LIKE '" + cdvCustomer.Text + "%'" + " AND PACKAGE LIKE '" + cdvPackage.Text + "%'"; } if (rbSearch01.Checked == true) { // 2010-11-29-정비재 : 일자별 데이터를 검색한다. Qry += " AND WORK_DATE >= '" + cdvFromToDate.FromDate.Text.Replace("-", "") + "' || '22'" + " AND WORK_DATE <= '" + cdvFromToDate.ToDate.Text.Replace("-", "") + "' || '22'" + " GROUP BY CUSTOMER, PACKAGE, WORK_DATE" + " ORDER BY CUSTOMER ASC, PACKAGE ASC, WORK_DATE DESC"; } else if (rbSearch02.Checked == true) { // 2010-11-29-정비재 : 월별 데이터를 검색한다. Qry += " AND WORK_DATE >= '" + cdvFromToDate.FromYearMonth.Text.Replace("-", "") + "01' || '22'" + " AND WORK_DATE <= '" + cdvFromToDate.ToYearMonth.Text.Replace("-", "") + "31' || '22'" + " GROUP BY CUSTOMER, PACKAGE, WORK_MONTH" + " ORDER BY CUSTOMER ASC, PACKAGE ASC, WORK_MONTH DESC"; } } else if (rbSearch03.Checked == true || rbSearch04.Checked == true) { if (rbSearch03.Checked == true) { // 2010-11-29-정비재 : 일자별 데이터를 검색한다. Qry = "SELECT TO_CHAR(TO_DATE(WORK_DATE, 'YYYYMMDDHH24'), 'YYYY-MM-DD') AS WORK_DATE"; } else if (rbSearch04.Checked == true) { // 2010-11-29-정비재 : 월별 데이터를 검색한다. Qry = "SELECT TO_CHAR(TO_DATE(WORK_MONTH, 'YYYYMM'), 'YYYY-MM') AS WORK_MONTH"; } if (chkKpcs.Checked == true) { Qry += " , SUM(RETURN_LOT) AS RETURN_LOT" + " , SUM(RETURN_QTY_1) / 1000 AS RETURN_QTY" + " , SUM(RECEIVE_LOT) AS RECEIVE_LOT" + " , SUM(RECEIVE_QTY_1) / 1000 AS RECEIVE_QTY" + " , SUM(ISSUE_LOT) AS ISSUE_LOT" + " , SUM(ISSUE_QTY_1) / 1000 AS ISSUE_QTY" + " , SUM(WIP_LOT) AS WIP_LOT" + " , SUM(WIP_QTY_1) / 1000 AS WIP_QTY" + " , SUM(SHIP_LOT) AS SHIP_LOT" + " , SUM(SHIP_QTY_1) / 1000 AS SHIP_QTY" + " FROM REISWIPMOV" + " WHERE FACTORY = '" + cdvFactory.Text + "'" + " AND CUSTOMER LIKE '" + cdvCustomer.Text + "%'" + " AND PACKAGE LIKE '" + cdvPackage.Text + "%'"; } else { Qry += " , SUM(RETURN_LOT) AS RETURN_LOT" + " , SUM(RETURN_QTY_1) AS RETURN_QTY" + " , SUM(RECEIVE_LOT) AS RECEIVE_LOT" + " , SUM(RECEIVE_QTY_1) AS RECEIVE_QTY" + " , SUM(ISSUE_LOT) AS ISSUE_LOT" + " , SUM(ISSUE_QTY_1) AS ISSUE_QTY" + " , SUM(WIP_LOT) AS WIP_LOT" + " , SUM(WIP_QTY_1) AS WIP_QTY" + " , SUM(SHIP_LOT) AS SHIP_LOT" + " , SUM(SHIP_QTY_1) AS SHIP_QTY" + " FROM REISWIPMOV" + " WHERE FACTORY = '" + cdvFactory.Text + "'" + " AND CUSTOMER LIKE '" + cdvCustomer.Text + "%'" + " AND PACKAGE LIKE '" + cdvPackage.Text + "%'"; } if (rbSearch03.Checked == true) { // 2010-11-29-정비재 : 일자별 데이터를 검색한다. Qry += " AND WORK_DATE >= '" + cdvFromToDate.FromDate.Text.Replace("-", "") + "' || '22'" + " AND WORK_DATE <= '" + cdvFromToDate.ToDate.Text.Replace("-", "") + "' || '22'" + " GROUP BY WORK_DATE" + " ORDER BY WORK_DATE DESC"; } else if (rbSearch04.Checked == true) { // 2010-11-29-정비재 : 월별 데이터를 검색한다. Qry += " AND WORK_DATE >= '" + cdvFromToDate.FromYearMonth.Text.Replace("-", "") + "01' || '22'" + " AND WORK_DATE <= '" + cdvFromToDate.ToYearMonth.Text.Replace("-", "") + "31' || '22'" + " GROUP BY WORK_MONTH" + " ORDER BY WORK_MONTH DESC"; } } DataTable dt = CmnFunction.oComm.GetFuncDataTable("DYNAMIC", Qry); if (dt.Rows.Count <= 0) { dt.Dispose(); LoadingPopUp.LoadingPopUpHidden(); CmnFunction.ShowMsgBox(RptMessages.GetMessage("STD010", GlobalVariable.gcLanguage)); return(false); } SS01.DataSource = dt; SS01.RPT_AutoFit(false); // 2010-11-29-정비재 : 검색된 내용을 chart에 Display한다. fnMakeChart(SS01); return(true); } catch (Exception ex) { LoadingPopUp.LoadingPopUpHidden(); MessageBox.Show(ex.Message); return(false); } finally { LoadingPopUp.LoadingPopUpHidden(); Cursor.Current = Cursors.Default; } }
private bool fnDataFind() { /**************************************************** * comment : database에 저장된 데이터를 조회한다. * * created by : bee-jae jung(2010-07-20-화요일) * * modified by : bee-jae jung(2010-07-20-화요일) ****************************************************/ DataTable dt = null; //String sPackage = "", sParameter = ""; String sQuery = ""; try { Cursor.Current = Cursors.WaitCursor; LoadingPopUp.LoadIngPopUpShow(this); // 2010-07-20-정비재 : Sheet / Listview를 초기화 한다. CmnInitFunction.ClearList(SS01, true); // 2011-07-12-정비재 : Queyr문의 실행시간이 오래 걸려서 1시간 Batch job으로 RWIPLOTGCT Table에 입력하고 // : RWIPLOTGCT Table에 데이터를 검색한다. // 2011-07-12-정비재 : 기존 Source Backup /* * // 2010-07-20-정비재 : gct wip report를 검색한다. * sPackage = "PACKAGE_PRD010103.PROC_PRD010103"; * sParameter = "P_MAT_ID:" + txtMatID.Text + "│ P_LOT_TYPE:" + txtLotType.Text; + + dt = CmnFunction.oComm.fnExecutePackage("DYNAMIC", sPackage, sParameter); */ // 2017-07-03-mgkim : MES GCT WIP Manual 수정본과 JOIN하여 VIEW sQuery = "SELECT NVL(C.GCT_PROJECT_NO, A.GCT_PROJECT_NO) AS GCT_PROJECT_NO, B.MAT_CMF_8 AS GCT_DEVICE, NVL(C.PACKAGE, A.PACKAGE) AS PACKAGE, \n" + " NVL(C.LD_COUNT, A.LD_COUNT) AS LD_COUNT, NVL(C.DIMENSION, A.DIMENSION) AS DIMENSION, B.MAT_CMF_7 AS VENDOR_PART_NO, \n" + " NVL(C.WFR_LOT_ID, A.WFR_LOT_ID) AS WFR_LOT_ID, NVL(C.GCT_ASSY_LOT_ID, A.GCT_ASSY_LOT_ID) AS GCT_ASSY_LOT_ID, NVL(C.GCT_TEST_LOT_ID, A.GCT_TEST_LOT_ID) AS GCT_TEST_LOT_ID, \n" + " NVL(C.VENDOR_LOT_ID, A.VENDOR_LOT_ID) AS VENDOR_LOT_ID, NVL(C.PROD_RLSESCHED_NO, A.PROD_RLSESCHED_NO) AS PROD_RLSESCHED_NO, NVL(C.VENDOR_ORDER_NO, A.VENDOR_ORDER_NO) AS VENDOR_ORDER_NO, \n" + " NVL(C.TEST_RCVD_QTY, A.TEST_RCVD_QTY) AS TEST_RCVD_QTY, NVL(C.TEST_RCVD_DATE, A.TEST_RCVD_DATE) AS TEST_RCVD_DATE, NVL(C.TEST_QUE, A.TEST_QUE) AS TEST_QUE,\n" + " NVL(C.TEST_START_DATE, A.TEST_START_DATE) AS TEST_START_DATE, NVL(C.FINAL_TEST_CAS_OS, A.FINAL_TEST_CAS_OS) AS FINAL_TEST_CAS_OS, NVL(C.QA_EL_TEST, A.QA_EL_TEST) AS QA_EL_TEST, \n" + " NVL(C.TEST_HOLD, A.TEST_HOLD) AS TEST_HOLD, NVL(C.LOT_HOLD_DATE, A.LOT_HOLD_DATE) AS LOT_HOLD_DATE, NVL(C.LOT_HOLD_REL_DATE, A.LOT_HOLD_REL_DATE) AS LOT_HOLD_REL_DATE, \n" + " NVL(C.TEST_OUT_QTY, A.TEST_OUT_QTY) AS TEST_OUT_QTY, NVL(C.TEST_OUT_FCST_DATE, A.TEST_OUT_FCST_DATE) AS TEST_OUT_FCST_DATE, NVL(C.TEST_OUT_DATE, A.TEST_OUT_DATE) AS TEST_OUT_DATE, \n" + " NVL(C.VM, A.VM) AS VM, NVL(C.BAKE, A.BAKE) AS BAKE, NVL(C.TNR, A.TNR) AS TNR, \n" + " NVL(C.PACK, A.PACK) AS PACK, NVL(C.PACK_OUT_QTY, A.PACK_OUT_QTY) AS PACK_OUT_QTY, NVL(C.PACK_OUT_DATE, A.PACK_OUT_DATE) AS PACK_OUT_DATE, \n" + " NVL(C.FGS_QTY, A.FGS_QTY) AS FGS_QTY, NVL(C.SHIP_OUT_QTY, A.SHIP_OUT_QTY) AS SHIP_OUT_QTY, NVL(C.FCST_SHIP_DATE, A.FCST_SHIP_DATE) AS FCST_SHIP_DATE, \n" + " NVL(C.ACT_SHIP_TIME, A.ACT_SHIP_TIME) AS ACT_SHIP_TIME, NVL(C.CUST_REQ_DATE, A.CUST_REQ_DATE) AS CUST_REQ_DATE, NVL(C.PR_NO, A.PR_NO) AS PR_NO,\n" + " NVL(C.TEST_PO, A.TEST_PO) AS TEST_PO, NVL(C.HOLD_CODE, A.HOLD_CODE) AS HOLD_CODE, NVL(C.REJECT, A.REJECT) AS REJECT, \n" + " NVL(C.REMARK, A.REMARK) AS REMARK, \n" + " C.UPDATE_TIME \n" + " FROM RWIPLOTGCT A \n" + " , (SELECT DISTINCT MAT_ID AS MAT_ID \n" + " , MAT_CMF_7 AS MAT_CMF_7 \n" + " , MAT_CMF_8 AS MAT_CMF_8 \n" + " FROM MWIPMATDEF \n" + " WHERE MAT_GRP_1 = 'GC') B, \n" + " CWIPLOTGCT@RPTTOMES C \n" + " WHERE A.VENDOR_PART_NO = B.MAT_ID \n" + " AND A.GCT_TEST_LOT_ID = C.GCT_TEST_LOT_ID(+) \n" + " ORDER BY A.GCT_TEST_LOT_ID ASC"; if (GlobalVariable.gsUserGroup == "ADMIN_GROUP" || GlobalVariable.gsUserGroup == "HANA_ADMIN_GROUP") { System.Windows.Forms.Clipboard.SetText(sQuery); } dt = CmnFunction.oComm.GetFuncDataTable("DYNAMIC", sQuery.Replace((char)Keys.Tab, ' ')); if (dt.Rows.Count <= 0) { dt.Dispose(); LoadingPopUp.LoadingPopUpHidden(); CmnFunction.ShowMsgBox(RptMessages.GetMessage("STD010", GlobalVariable.gcLanguage)); return(false); } int[] rowType = SS01.RPT_DataBindingWithSubTotal(dt, 0, 0, 1, null, null); int iColPos = 0; for (int iCol = 0; iCol < SS01.ActiveSheet.Columns.Count; iCol++) { if (SS01.ActiveSheet.GetColumnLabel(0, iCol).ToString() == "UPDATE_TIME") { iColPos = iCol; break; } } for (int i = 0; i < SS01.ActiveSheet.RowCount; i++) { if (SS01.ActiveSheet.Cells[i, iColPos].Value != null && SS01.ActiveSheet.Cells[i, iColPos].Value.ToString().Trim() != "") { SS01.ActiveSheet.Rows[i].BackColor = Color.Pink; } } return(true); } catch (Exception ex) { LoadingPopUp.LoadingPopUpHidden(); MessageBox.Show(ex.Message); return(false); } finally { LoadingPopUp.LoadingPopUpHidden(); Cursor.Current = Cursors.Default; } }