Beispiel #1
0
        private bool StartExport()
        {
            /* 條件值檢核*/
            string       lsRtn;
            DialogResult liRtn;

            if (rgTime.EditValue.Equals("rb_market1"))
            {
                lsRtn = "1";
            }
            else
            {
                lsRtn = "0";
            }
            //檢查批次作業是否完成
            lsRtn = PbFunc.f_get_jsw_seq(_ProgramID, "E", 0, emEndDate.Text.AsDateTime(), "0");//f_get_jsw_seq(is_txn_id,'E',0,datetime(date(em_edate.text)),'0')
            if (lsRtn != "")
            {
                liRtn = MessageBox.Show(emEndDate.Text + " 統計資料未轉入完畢,是否要繼續?\r\n" + lsRtn, GlobalInfo.QuestionText, MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (liRtn == DialogResult.No)
                {
                    stMsgTxt.Visible = false;
                    this.Cursor      = Cursors.Arrow;
                    return(false);
                }
            }
            //檢查日期是否符合DateTime型別
            if (!emStartDate.IsDate(emStartDate.Text, CheckDate.Start) ||
                !emEndDate.IsDate(emEndDate.Text, CheckDate.End))
            {
                return(false);
            }
            if (string.Compare(emStartDate.Text, emEndDate.Text) > 0)
            {
                MessageDisplay.Error(GlobalInfo.ErrorText, CheckDate.Datedif);
                return(false);
            }
            //TextBox轉DateTime
            DateTime ldStart = Convert.ToDateTime(emStartDate.Text);
            DateTime ldEnd   = Convert.ToDateTime(emEndDate.Text);
            //資料來源選取
            string lsType;

            if (rgData.EditValue.Equals("rb_mmk"))
            {
                lsType = "_M";
            }
            else
            {
                lsType = "";
            }

            /*點選儲存檔案之目錄*/
            switch (rgTime.EditValue)
            {
            case "rb_market0":
                lsRtn = "_ 一般";
                break;

            case "rb_market1":
                lsRtn = "_ 盤後";
                break;

            default:
                lsRtn = "_ 全部";
                break;
            }
            //選取儲存路徑
            saveFilePath = PbFunc.wf_GetFileSaveName($@"MarketMaker{lsType}_{lsRtn}-{ldStart.ToString("yyyyMMdd")}-{ldEnd.ToString("yyyyMMdd")}.xlsx");
            if (string.IsNullOrEmpty(saveFilePath))
            {
                return(false);
            }

            /*******************
            *  Messagebox
            *******************/
            stMsgTxt.Visible = true;
            stMsgTxt.Text    = "開始轉檔...";
            this.Cursor      = Cursors.WaitCursor;
            this.Refresh();
            Thread.Sleep(5);
            return(true);
        }
        protected override ResultStatus Retrieve()
        {
            if (gbReportType.EditValue.Equals("rb_date"))
            {
                string lsRtn = PbFunc.f_get_jsw_seq(_ProgramID, "E", 0, emEndDate.DateTimeValue, gbMarket.EditValue.Equals("rb_market_1") ? "1" : "0");
                if (lsRtn != "")
                {
                    DialogResult ChooseResult = MessageDisplay.Choose(emEndDate.Text + " 統計資料未轉入完畢,是否要繼續?" + Environment.NewLine + lsRtn);
                    if (ChooseResult == DialogResult.No)
                    {
                        stMsgTxt.Visible = false;
                        return(ResultStatus.Fail);
                    }
                }
            }

            if (!StartRetrieve())
            {
                return(ResultStatus.Fail);
            }

            if (!GetData())
            {
                return(ResultStatus.Fail);
            }

            if (gbDetial.EditValue.Equals("rb_gdate"))
            {
                decimal TotR = 0, TotM = 0, llR = 0, llM = 0;
                string  lsProdId = "", lsYMD = "";
                foreach (DataRow dr in _Data.Rows)
                {
                    if (lsProdId != dr["AMM0_PROD_ID"].AsString() || lsYMD != dr["AMM0_YMD"].AsString())
                    {
                        llR      = dr["AMM0_MARKET_R_CNT"].AsDecimal();
                        llM      = dr["AMM0_MARKET_M_QNTY"].AsDecimal();
                        TotR     = TotR + llR;
                        TotM     = TotM + llM;
                        lsProdId = dr["AMM0_PROD_ID"].AsString();
                        lsYMD    = dr["AMM0_YMD"].AsString();
                    }
                    else
                    {
                        //當遇到造市者沒有足月時,造成總計不同
                        //皆以最大值為全市場值
                        if (llR < dr["AMM0_MARKET_R_CNT"].AsDecimal() || llM < dr["AMM0_MARKET_M_QNTY"].AsDecimal())
                        {
                            TotR = TotR - llR;
                            TotM = TotM - llM;
                            llR  = dr["AMM0_MARKET_R_CNT"].AsDecimal();
                            llM  = dr["AMM0_MARKET_M_QNTY"].AsDecimal();
                            TotR = TotR + llR;
                            TotM = TotM + llM;
                        }
                    }
                }//foreach (DataRow dr in dt.Rows)
                _Data.Rows[0]["TOT_R"] = TotR;
                _Data.Rows[0]["TOT_M"] = TotM;
            }

            documentViewer1.DocumentSource = null;

            //報表內容選擇分日期
            if (gbDetial.EditValue.Equals("rb_gdate"))
            {
                _RW50030            = new RW50030();
                _RW50030.DataSource = _Data;
                _RW50030.SetSortType(_D500Xx.SortType);
                _Report = _RW50030;
            }
            else
            {
                List <ReportProp> caption = new List <ReportProp> {
                    new ReportProp {
                        DataColumn = "CP_ROW", Caption = "筆數", CellWidth = 45, Expression = new DevExpress.XtraReports.UI.ExpressionBinding[] {
                            new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[DataSource.CurrentRowIndex]+1")
                        }
                    },
                    new ReportProp {
                        DataColumn = "AMM0_YMD", Caption = "日期", CellWidth = gbDetial.EditValue.Equals("rb_gnodate")?110:50, DetailRowFontSize = 8.25f
                    },
                    new ReportProp {
                        DataColumn = "AMM0_BRK_NO", Caption = "期貨商代號", CellWidth = 57
                    },
                    new ReportProp {
                        DataColumn = "BRK_ABBR_NAME", Caption = "期貨商名稱", CellWidth = 150, Expression = new DevExpress.XtraReports.UI.ExpressionBinding[] {
                            new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Text", "[BRK_ABBR_NAME]"),
                            new DevExpress.XtraReports.UI.ExpressionBinding("BeforePrint", "Font.Size", "Iif ( len(trim([BRK_ABBR_NAME]) ) >8.25 , 9, 9.75)")
                        }
                    },
                    new ReportProp {
                        DataColumn = "AMM0_ACC_NO", Caption = "投資人帳號", CellWidth = 53
                    },
                    new ReportProp {
                        DataColumn = "AMM0_OM_QNTY", Caption = "一般委託成交量", CellWidth = 65, textAlignment = TextAlignment.MiddleRight, TextFormatString = "{0:#,##0}", HeaderFontSize = 9
                    },
                    new ReportProp {
                        DataColumn = "AMM0_QM_QNTY", Caption = "報價成交量", CellWidth = 65, textAlignment = TextAlignment.MiddleRight, TextFormatString = "{0:#,##0}"
                    },
                    new ReportProp {
                        DataColumn = "AMM0_BTRADE_M_QNTY", Caption = "鉅額交易成交量", CellWidth = 70, textAlignment = TextAlignment.MiddleRight, TextFormatString = "{0:#,##0}", HeaderFontSize = 9
                    },
                    new ReportProp {
                        DataColumn = "CP_M_QNTY", Caption = "造市者總成交量", CellWidth = 70, textAlignment = TextAlignment.MiddleRight, TextFormatString = "{0:#,##0}"
                    },
                    new ReportProp {
                        DataColumn = "CP_RATE_M", Caption = "總成交量市佔率(%)", CellWidth = 55, textAlignment = TextAlignment.MiddleRight, TextFormatString = "{0:##0.0#}", HeaderFontSize = 8f
                    },
                    new ReportProp {
                        DataColumn = "AMM0_VALID_CNT", Caption = "有效報價筆數", CellWidth = 60, textAlignment = TextAlignment.MiddleRight, TextFormatString = "{0:#,##0}", HeaderFontSize = 8f
                    },
                    new ReportProp {
                        DataColumn = "AMM0_MARKET_R_CNT", Caption = "全市場詢價筆數", CellWidth = 70, textAlignment = TextAlignment.MiddleRight, TextFormatString = "{0:#,##0}"
                    },
                    new ReportProp {
                        DataColumn = "AMM0_MARKET_M_QNTY", Caption = "全市場總成交量", CellWidth = 70, textAlignment = TextAlignment.MiddleRight, TextFormatString = "{0:#,##0}"
                    },
                    new ReportProp {
                        DataColumn = "CP_KEEP_TIME", Caption = "累計維持時間(分)", CellWidth = 65, textAlignment = TextAlignment.MiddleRight
                    }
                };

                //商品名稱會根據列印順序有所不同
                ReportProp productName = new ReportProp {
                    DataColumn = "AMM0_PROD_ID", Caption = "商品名稱", CellWidth = 100
                };
                if (_D500Xx.SortType == "P")
                {
                    caption.Insert(2, productName);//選擇商品,商品名稱會位於第三欄
                }
                else
                {
                    caption.Insert(5, productName);//選擇造勢者,商品名稱會位於第六欄
                }
                _Report = new defReport(_Data, caption);
            }

            ShowReport(_Report);

            _ToolBtnPrintAll.Enabled = true;
            _ToolBtnExport.Enabled   = true;
            return(ResultStatus.Success);
        }
Beispiel #3
0
        protected override ResultStatus Export()
        {
            dao30070 = new D30070();
            #region ue_export_before
            string lsRtn;

            lsRtn = PbFunc.f_get_jsw_seq(_ProgramID, "E", 0, txtEDate.DateTimeValue, "0");
            if (lsRtn != "")
            {
                DialogResult liRtn = MessageDisplay.Choose(txtEDate.Text + " 統計資料未轉入完畢,是否要繼續?" + Environment.NewLine + lsRtn);
                if (liRtn == DialogResult.No)
                {
                    lblProcessing.Visible = false;
                    this.Cursor           = Cursors.Arrow;
                    return(ResultStatus.Fail);
                }
            }
            #endregion

            int    rowNum;
            string rptId, lsFile;
            rptId = "30070";
            //複製檔案
            lsFile = PbFunc.wf_copy_file(rptId, rptId);
            if (lsFile == "")
            {
                return(ResultStatus.Fail);
            }
            logTxt = lsFile;

            //開啟檔案
            Workbook workbook = new Workbook();
            workbook.LoadDocument(lsFile);

            rowNum = 0;
            #region wf_30070
            string rptName, lsYmd;
            rptName = "期貨各商品成交值";
            rptId   = "30070";

            //切換Sheet
            Worksheet ws30070 = workbook.Worksheets[0];

            //讀取資料 (每日)
            DataTable dt30070 = dao30070.d_30070(txtSDate.Text.Replace("/", ""), txtEDate.Text.Replace("/", ""));
            if (dt30070.Rows.Count == 0)
            {
                //nothing happens
            }

            lsYmd = "";
            foreach (DataRow dr in dt30070.Rows)
            {
                rowNum += 1;
                ws30070.Cells[rowNum, 0].Value = dr["AA2_YMD"].AsString();
                ws30070.Cells[rowNum, 1].Value = dr["AA2_PARAM_KEY"].AsString();
                ws30070.Cells[rowNum, 2].SetValue(dr["AA2_AMT"]);
            }
            #endregion

            rowNum = 0;
            #region wf_30071
            rptName = "期貨各商品成交值(現貨價格計算)";
            rptId   = "30070_stk";

            //切換Sheet
            Worksheet ws30070stk = workbook.Worksheets[1];

            //讀取資料 (每日)
            DataTable dt30070stk = dao30070.d_30070_stk(txtSDate.Text.Replace("/", ""), txtEDate.Text.Replace("/", ""));
            if (dt30070stk.Rows.Count == 0)
            {
                //nothing happens
            }

            lsYmd = "";
            foreach (DataRow dr in dt30070stk.Rows)
            {
                rowNum += 1;
                ws30070stk.Cells[rowNum, 0].Value = dr["AA2_YMD"].AsString();
                ws30070stk.Cells[rowNum, 1].Value = dr["AA2_PARAM_KEY"].AsString();
                ws30070stk.Cells[rowNum, 2].SetValue(dr["AA2_AMT"]);
            }
            #endregion

            //存檔
            //ws30070.ScrollToRow(0);
            workbook.SaveDocument(lsFile);
            return(ResultStatus.Success);
        }
Beispiel #4
0
        protected override ResultStatus Export()
        {
            try {
                //ready
                panFilter.Enabled = false;
                labMsg.Visible    = true;
                labMsg.Text       = "開始轉檔...";
                this.Cursor       = Cursors.WaitCursor;
                this.Refresh();
                Thread.Sleep(5);

                string rptId, file, rptName = "",
                       cpYmd = txtSDate.DateTimeValue.ToString("yyyyMMdd");


                #region ue_export_before
                //判斷盤別
                int    rtnInt, seq;
                string rtnStr, grp;
                if (ddlType.Text == "16:15收盤")
                {
                    grp = "1";
                    DialogResult result = MessageDisplay.Choose("盤別為「16:15收盤」,請問是否繼續轉出報表?", MessageBoxDefaultButton.Button2, GlobalInfo.QuestionText);
                    if (result == DialogResult.No)
                    {
                        ShowMsg("已取消轉檔...");
                        return(ResultStatus.Fail);
                    }
                }
                else
                {
                    grp = "2";
                }

                //判斷統計資料轉檔已完成
                for (int f = 1; f <= 2; f++)
                {
                    if (grp == "1")
                    {
                        if (f == 1)
                        {
                            seq = 13;
                        }
                        else
                        {
                            seq = 23;
                        }
                    }
                    else
                    {
                        seq = 17;
                        f   = 2;
                    }
                    //check JSW
                    rtnStr = PbFunc.f_get_jsw_seq(_ProgramID, "E", seq, txtSDate.DateTimeValue, "0");
                    if (rtnStr != "")
                    {
                        DialogResult result = MessageDisplay.Choose(" 統計資料未轉入完畢,是否要繼續?", MessageBoxDefaultButton.Button2, GlobalInfo.QuestionText);
                        if (result == DialogResult.No)
                        {
                            return(ResultStatus.Fail);
                        }
                    }
                }

                //判斷20110作業已完成
                rtnInt = dao30010.check20110(txtSDate.Text);
                if (rtnInt == 0)
                {
                    DialogResult result = MessageDisplay.Choose("無 " + txtSDate.Text + " 現貨資料 (資料來自20110作業)," +
                                                                Environment.NewLine + "請問是否繼續轉出報表?", MessageBoxDefaultButton.Button2, GlobalInfo.QuestionText);
                    if (result == DialogResult.No)
                    {
                        ShowMsg("已取消轉檔...");
                        return(ResultStatus.Fail);
                    }
                }
                #endregion

                rptId = "30010_";

                //複製檔案
                file = wfCopy30010(rptId + grp, grp);
                if (file == "")
                {
                    return(ResultStatus.Fail);
                }

                //開啟檔案
                Workbook workbook = new Workbook();
                workbook.LoadDocument(file);
                flag = 0;

                //切換Sheet
                Worksheet ws30011 = workbook.Worksheets["30011"];

                /* Sheet:30011 */
                wf_30012(rptId, rptName, ws30011);
                wf_30011(rptId, rptName, ws30011);

                /* Sheet:30013 */
                //切換Sheet
                Worksheet ws30013 = workbook.Worksheets["30013"];

                DataTable dtRowCount = dao30010.getRowIndexandCount();
                if (dtRowCount.Rows.Count == 0)
                {
                    MessageDisplay.Error("無法取得30013總列數");
                    return(ResultStatus.Fail);
                }
                int totalRowcount = dtRowCount.Rows[0]["LI_TOT_ROWCOUNT"].AsInt();

                //上市股票
                int rowIndex = dtRowCount.Rows[0]["II_OLE_ROW"].AsInt() - 1;
                if (rowIndex > 0)
                {
                    rowIndex = wf_30013("STF", "F", totalRowcount, "1", rowIndex, ws30013);
                }
                //上櫃股票
                rowIndex = rowIndex + 2;
                if (rowIndex > 0)
                {
                    rowIndex = wf_30013("STF", "F", totalRowcount, "2", rowIndex, ws30013);
                }
                //ETF股票
                rowIndex = rowIndex + 2;
                if (rowIndex > 0)
                {
                    rowIndex = wf_30013("ETF", "F", totalRowcount, "%", rowIndex, ws30013);
                }
                //上市選擇權
                rowIndex = rowIndex + 2;
                if (rowIndex > 0)
                {
                    rowIndex = wf_30013("STC", "O", totalRowcount, "1", rowIndex, ws30013);
                }
                //上櫃選擇權
                rowIndex = rowIndex + 2;
                if (rowIndex > 0)
                {
                    rowIndex = wf_30013("STC", "O", totalRowcount, "2", rowIndex, ws30013);
                }
                //ETF選擇權
                rowIndex = rowIndex + 2;
                if (rowIndex > 0)
                {
                    rowIndex = wf_30013("ETC", "O", totalRowcount, "%", rowIndex, ws30013);
                }

                /* Sheet:30014 */
                Worksheet ws30014 = workbook.Worksheets["30014"];

                wf_30014(ws30014);

                wf_30015(ws30014);

                //Eurex
                wf_30016(ws30014);

                if (flag <= 0)
                {
                    File.Delete(file);
                    return(ResultStatus.Fail);
                }

                //存檔
                ws30014.ScrollToRow(0);
                ws30013.ScrollToRow(0);
                ws30011.ScrollToRow(0);
                workbook.SaveDocument(file);
                ShowMsg("轉檔完成");
                return(ResultStatus.Success);
            } catch (Exception ex) {
                MessageDisplay.Error("輸出錯誤");
                WriteLog(ex);
            } finally {
                panFilter.Enabled = true;
                labMsg.Text       = "";
                labMsg.Visible    = false;
                this.Cursor       = Cursors.Arrow;
            }
            return(ResultStatus.Fail);
        }
Beispiel #5
0
        protected override ResultStatus Export()
        {
            try {
                this.Cursor = Cursors.WaitCursor;
                this.Refresh();
                Thread.Sleep(5);
                lblProcessing.Visible = true;
                ShowMsg("開始轉檔...");
                string rptId, file, rptName = "";
                date = txtSDate.DateTimeValue.Year + "年" + txtSDate.DateTimeValue.Month + "月" + txtSDate.DateTimeValue.Day + "日";

                #region ue_export_before
                //判斷盤別
                int    rtnInt, seq;
                string rtnStr, grp;
                if (ddlType.Text == "16:15收盤")
                {
                    grp = "1";
                }
                else
                {
                    grp = "2";
                }

                //判斷統計資料轉檔已完成
                for (int f = 1; f <= 2; f++)
                {
                    if (grp == "1")
                    {
                        if (f == 1)
                        {
                            seq = 13;
                        }
                        else
                        {
                            seq = 23;
                        }
                    }
                    else
                    {
                        seq = 17;
                        f   = 2;
                    }
                    //check JSW
                    rtnStr = PbFunc.f_get_jsw_seq(_ProgramID, "E", seq, txtSDate.DateTimeValue, "0");
                    if (rtnStr != "")
                    {
                        DialogResult result = MessageDisplay.Choose(txtSDate.Text +
                                                                    "統計資料未轉入完畢,請確認監視批次「AIG5402」執行完成,再按「是」繼續,若選「否」則會跳過作業不執行。",
                                                                    MessageBoxDefaultButton.Button2, GlobalInfo.QuestionText);

                        if (result == DialogResult.No)
                        {
                            lblProcessing.Visible = false;
                            return(ResultStatus.Fail);
                        }
                    }
                }
                #endregion

                rptId = "30053";

                //複製檔案
                file = wfCopy30053(rptId, grp);
                if (file == "")
                {
                    return(ResultStatus.Fail);
                }

                //開啟檔案
                Workbook workbook = new Workbook();
                workbook.LoadDocument(file);

                //切換Sheet
                Worksheet ws = workbook.Worksheets["期貨"];

                #region 11張報表

                int rowIndex = 1;
                //1.期貨
                if (!wf30053f(grp, rowIndex, ws))
                {
                    return(showEmailMsg(cbxNews.Checked));
                }

                //2.選擇權
                rowIndex = rowIndex + 3;
                ws       = workbook.Worksheets["選擇權"];
                if (!wf30053o(rowIndex, ws))
                {
                    return(showEmailMsg(cbxNews.Checked));
                }

                //3.股票選擇權
                rowIndex = rowIndex + 3;
                ws       = workbook.Worksheets["股票選擇權"];
                if (!wf30053stc(rowIndex, ws))
                {
                    return(showEmailMsg(cbxNews.Checked));
                }

                //4.股票期貨(For工商時報)
                //5.股票期貨(For工商時報)50
                rowIndex = rowIndex + 3;
                ws       = workbook.Worksheets["股票期貨(For工商時報)"];
                if (!wf30053stfNear(ws))
                {
                    return(showEmailMsg(cbxNews.Checked));
                }
                ws = workbook.Worksheets["股票期貨(For工商時報) 50大"];
                if (!wfCtee50(ws))
                {
                    return(showEmailMsg(cbxNews.Checked));
                }

                //6.股票期貨Top10檔(For聯合晚報)
                ws = workbook.Worksheets["股票期貨Top10檔(For經濟日報)"];
                if (!wf30053stfTop10(ws))
                {
                    return(showEmailMsg(cbxNews.Checked));
                }

                //7.ETF期貨Top10檔
                ws = workbook.Worksheets["ETF期貨Top10檔"];
                if (!wf30053etfTop10(ws))
                {
                    return(showEmailMsg(cbxNews.Checked));
                }

                //8.股票選擇權TOP10檔(For聯合晚報)
                ws = workbook.Worksheets["股票選擇權TOP10檔(For聯合晚報)"];
                if (!wf30053stcTop10(ws))
                {
                    return(showEmailMsg(cbxNews.Checked));
                }

                //9.ETF選擇權前20大行情表
                ws = workbook.Worksheets["ETF選擇權TOP20檔"];
                if (!wf30053etcTop20(ws))
                {
                    return(showEmailMsg(cbxNews.Checked));
                }

                //10.美元兌人民幣選擇權前20大行情表
                ws = workbook.Worksheets["美元兌人民幣選擇權(RHO)TOP20檔"];
                if (!wf30053rhoTop20(ws))
                {
                    return(showEmailMsg(cbxNews.Checked));
                }

                //11.小型美元兌人民幣選擇權前20大行情表
                ws = workbook.Worksheets["小型美元兌人民幣選擇權(RTO)TOP20檔"];
                if (!wf30053rtoTop20(ws))
                {
                    return(showEmailMsg(cbxNews.Checked));
                }

                #endregion

                //存檔
                workbook.SaveDocument(file);
                ShowMsg("轉檔完成");

                //email
                rptId = "30053_" + grp;
                if (cbxNews.Checked)
                {
                    DataTable dtTxemail = new TXEMAIL().ListData(rptId, 1);

                    if (dtTxemail.Rows.Count != 0)
                    {
                        string TXEMAIL_SENDER     = dtTxemail.Rows[0]["TXEMAIL_SENDER"].AsString();
                        string TXEMAIL_RECIPIENTS = dtTxemail.Rows[0]["TXEMAIL_RECIPIENTS"].AsString();
                        string TXEMAIL_CC         = dtTxemail.Rows[0]["TXEMAIL_CC"].AsString();
                        string TXEMAIL_TITLE      = dtTxemail.Rows[0]["TXEMAIL_TITLE"].AsString();
                        string TXEMAIL_TEXT       = dtTxemail.Rows[0]["TXEMAIL_TEXT"].AsString();

                        TXEMAIL_TITLE = txtSDate.DateTimeValue.ToString("yyyyMMdd") + TXEMAIL_TITLE;
                        MailHelper.SendEmail(TXEMAIL_SENDER, TXEMAIL_RECIPIENTS, TXEMAIL_CC, TXEMAIL_TITLE, TXEMAIL_TEXT, file);
                    }
                }
            } catch (Exception ex) {
                MessageDisplay.Error("輸出錯誤");
                throw ex;
            } finally {
                this.Cursor = Cursors.Arrow;
                this.Refresh();
                Thread.Sleep(5);
            }
            return(ResultStatus.Success);
        }
Beispiel #6
0
        protected override ResultData ExecuteForm(PokeBall args)
        {
            DateTime   ocfDate    = txtOcfDate.DateTimeValue;
            ResultData resultData = new ResultData();
            int        oswGrp     = 5;

            switch (args.TXF_TID)
            {
            case "w_30053":
                int seq;
                //判斷統計資料轉檔已完成
                for (int f = 1; f <= 2; f++)
                {
                    if (f == 1)
                    {
                        seq = 13;
                    }
                    else
                    {
                        seq = 23;
                    }
                    string rtnStr = PbFunc.f_get_jsw_seq("30053", "E", seq, ocfDate, "0");
                    if (rtnStr != "")
                    {
                        resultData.returnString = $"{txtOcfDate.Text}統計資料未轉入完畢,請確認監視批次「AIG5402」執行完成。";
                        resultData.Status       = ResultStatus.Fail;
                        return(resultData);
                    }
                }
                break;

            case "w_30055":
                //檢查期貨三大法人資料已轉入
                if (dao30055.GetBTINOIVL3FCount(ocfDate) == 0)
                {
                    resultData.returnString = "「期貨三大法人」資料還未轉入\n★★★請確認「監視 AI402 」作業已完成";
                    resultData.Status       = ResultStatus.Fail;
                    return(resultData);
                }

                //檢查選擇權三大法人資料已轉入
                if (dao30055.GetBTINOIVL4Count(ocfDate) == 0)
                {
                    resultData.returnString = "「選擇權三大法人」資料還未轉入\n★★★請確認「監視 AI402 」作業已完成";
                    resultData.Status       = ResultStatus.Fail;
                    return(resultData);
                }

                //檢查大額交易人資料已轉入
                if (dao30055.GetTOI1Count(ocfDate) == 0)
                {
                    resultData.returnString = "「大額交易人」資料還未轉入!\n★★★請確認「10052-監視轉檔」 作業已完成";
                    resultData.Status       = ResultStatus.Fail;
                    return(resultData);
                }

                //期貨行情
                if (dao30055.GetAMIFCount(ocfDate, "F", oswGrp) == 0)
                {
                    resultData.returnString = $"期貨Group:{oswGrp}行情資料(ci.AMIF)還未轉入!\n★★★請確認「10013-期貨轉檔-sp_F_gen_H_AMIF」 作業已完成";
                    resultData.Status       = ResultStatus.Fail;
                    return(resultData);
                }

                //選擇權行情
                if (dao30055.GetAMIFCount(ocfDate, "O", oswGrp) == 0)
                {
                    resultData.returnString = $"選擇權Group:{oswGrp}行情資料(ci.AMIF)還未轉入!\n★★★請確認「10023-期貨轉檔-sp_O_gen_H_AMIF」 作業已完成";
                    resultData.Status       = ResultStatus.Fail;
                    return(resultData);
                }

                //期貨未平倉量
                if (dao30055.GetAI2Count(ocfDate, "F", oswGrp) == 0)
                {
                    resultData.returnString = $"期貨Group:{oswGrp}行情統計檔(ci.AI2)還未轉入!\n★★★請確認「10013-期貨轉檔-sp_F_stt_H_AI2_day」 作業已完成";
                    resultData.Status       = ResultStatus.Fail;
                    return(resultData);
                }

                //選擇權未平倉量
                if (dao30055.GetAI2Count(ocfDate, "O", oswGrp) == 0)
                {
                    resultData.returnString = $"選擇權Group:{oswGrp} 行情統計檔(ci.AI2)還未轉入!\n★★★請確認「10023-選擇權轉檔-sp_F_stt_H_AI2_day」 作業已完成";
                    resultData.Status       = ResultStatus.Fail;
                    return(resultData);
                }
                break;
            }
            resultData = base.ExecuteForm(args);


            return(resultData);
        }