Example #1
0
        protected override ResultStatus Export()
        {
            if (!StartExport())
            {
                return(ResultStatus.Fail);
            }
            try {
                string    lsYM = emMonth.Text.Replace("/", "").SubStr(0, 6);
                DataTable dt   = dao70030.ListAll(lsYM);
                if (dt.Rows.Count <= 0)
                {
                    MessageDisplay.Info(MessageDisplay.MSG_NO_DATA);
                    return(ResultStatus.Fail);
                }

                /*******************
                *  點選儲存檔案之目錄
                *******************/
                //檔名	= 報表型態(起-迄).xls
                saveFilePath = PbFunc.wf_GetFileSaveName($"dgbas({emMonth.Text.Replace("/", "").SubStr(0, 6)}).xls");
                if (string.IsNullOrEmpty(saveFilePath))
                {
                    return(ResultStatus.Fail);
                }

                /*******************
                *  轉統計資料RAM1
                *******************/
                string reResult = dao70030.Sp_H_stt_RAM1(lsYM);
                if (reResult == "0")
                {
                    SaveExcel(dt, saveFilePath, DocumentFormat.Xls);
                }
                else
                {
                    throw new Exception("執行SP(sp_H_stt_RAM1)錯誤!");
                }
            }
            catch (Exception ex) {
                File.Delete(saveFilePath);
                WriteLog(ex);
                return(ResultStatus.Fail);
            }
            finally {
                EndExport();
            }

            return(ResultStatus.Success);
        }
Example #2
0
        protected override ResultStatus Export()
        {
            ExportShow.Text = "轉檔中...";
            ExportShow.Show();
            FooterMemo = "";

            string    destinationFilePath = PbFunc.wf_GetFileSaveName(_ProgramID + "_" + DateTime.Now.ToString("yyyy.MM.dd-HH.mm.ss"));
            string    txtFilePath         = Path.Combine(GlobalInfo.DEFAULT_EXCEL_TEMPLATE_DIRECTORY_PATH, _ProgramID + ".txt");
            DataTable dtSource            = (DataTable)gcExport.DataSource;

            try {
                gvExport.Columns["PROD_ID"].SortOrder = DevExpress.Data.ColumnSortOrder.Ascending;
                gcExport.ExportToXlsx(destinationFilePath);

                Workbook workbook = new Workbook();
                workbook.LoadDocument(destinationFilePath);
                Worksheet worksheet = workbook.Worksheets[0];
                worksheet.ScrollTo(0, 0);
                worksheet.Rows.Insert(0);
                worksheet.Cells[0, 7].Value = labTime.Text;

                using (TextReader tr = new StreamReader(txtFilePath, System.Text.Encoding.Default)) {
                    string line     = "";
                    int    startRow = dtSource.Rows.Count + 3;
                    while ((line = tr.ReadLine()) != null)
                    {
                        worksheet.Cells[startRow, 0].Value = line;
                        FooterMemo += line + Environment.NewLine;
                        startRow++;
                    }
                }

                workbook.SaveDocument(destinationFilePath);
            } catch (Exception ex) {
                ExportShow.Text = "轉檔失敗";
                WriteLog(ex);
            }
            ExportShow.Text = "轉檔成功!";
            return(ResultStatus.Success);
        }
Example #3
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);
        }
Example #4
0
        private bool StartExport()
        {
            /* 條件值檢核*/
            DateTime ldStart, ldEnd;
            string   lsType = "";

            switch (rgDate.EditValue)
            {
            case "rb_day":
                //週
                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);
                }
                ldStart = Convert.ToDateTime(emStartDate.Text);
                ldEnd   = Convert.ToDateTime(emEndDate.Text);

                startYMD = emStartDate.Text.Replace("/", "").SubStr(0, 8);
                endYMD   = emEndDate.Text.Replace("/", "").SubStr(0, 8);
                lsType   = "Day";
                sumType  = "D";

                logText = ldStart.ToString("yyyy.MM.dd") + "至" + ldEnd.ToString("yyyy.MM.dd") + " 交易量";
                break;

            case "rb_week":
                //週
                if (!emStartDate1.IsDate(emStartDate1.Text, CheckDate.Start) ||
                    !emEndDate1.IsDate(emEndDate1.Text, CheckDate.End))
                {
                    return(false);
                }
                if (string.Compare(emStartDate1.Text, emEndDate1.Text) > 0)
                {
                    MessageDisplay.Error(GlobalInfo.ErrorText, CheckDate.Datedif);
                    return(false);
                }
                ldStart = Convert.ToDateTime(emStartDate1.Text);
                ldEnd   = Convert.ToDateTime(emEndDate1.Text);

                startYMD = emStartDate1.Text.Replace("/", "").SubStr(0, 8);
                endYMD   = emEndDate1.Text.Replace("/", "").SubStr(0, 8);
                lsType   = "Week";
                sumType  = "D";

                logText = ldStart.ToString("yyyy.MM.dd") + "至" + ldEnd.ToString("yyyy.MM.dd") + " 交易量";
                break;

            case "rb_month":
                //月
                string emSmth = emStartMth.Text + "/01";
                string emEmth = emEndMth.Text + "/01";
                if (!emStartMth.IsDate(emSmth, CheckDate.Start) ||
                    !emEndMth.IsDate(emEmth, CheckDate.End))
                {
                    return(false);
                }
                ldStart = Convert.ToDateTime(emSmth);
                ldEnd   = PbFunc.relativedate(Convert.ToDateTime(emEmth), 31);
                if (ldEnd.Month != PbFunc.Right(emStartMth.Text, 2).AsInt())
                {
                    ldEnd = PbFunc.relativedate(ldEnd, -ldEnd.Day);
                }
                startYMD = emStartMth.Text.Replace("/", "").SubStr(0, 6);
                endYMD   = emEndMth.Text.Replace("/", "").SubStr(0, 6);
                lsType   = "Month";
                sumType  = "M";

                logText = startYMD + "至" + endYMD + " 交易量";
                break;

            case "rb_year":
                //年
                startYMD = emStartYear.Text;
                endYMD   = emEndYear.Text;
                lsType   = "Year";
                sumType  = "Y";
                logText  = startYMD + "至" + endYMD + " 交易量";
                break;

            default:
                break;
            }

            saveFilePath = _ProgramID + "_" + lsType + "(" + startYMD + "-" + endYMD + ")";
            //期別
            switch (rgPeriod.EditValue)
            {
            case "rb_txw"://一週到期契約
                lsKindId2    = "TXW%";
                saveFilePath = saveFilePath + "W";
                break;

            case "rb_txo"://一般天期契約
                lsKindId2    = "TXO%";
                saveFilePath = saveFilePath + "S";
                break;

            default://所有天期契約
                lsKindId2 = "%";
                break;
            }

            /*點選儲存檔案之目錄*/
            saveFilePath = PbFunc.wf_GetFileSaveName(saveFilePath + ".csv");
            if (string.IsNullOrEmpty(saveFilePath))
            {
                return(false);
            }

            /*******************
            *  Messagebox
            *******************/
            st_msg_txt.Visible = true;
            st_msg_txt.Text    = "開始轉檔...";
            st_msg_txt.Text    = logText + " 轉檔中...";
            this.Cursor        = Cursors.WaitCursor;
            this.Refresh();
            Thread.Sleep(5);
            return(true);
        }
Example #5
0
        private bool StartExport()
        {
            /* 條件值檢核*/
            DateTime ldStart, ldEnd;
            string   lsType = "";

            switch (rgDate.EditValue)
            {
            case "rb_day":
                //週
                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);
                }
                ldStart = Convert.ToDateTime(emStartDate.Text);
                ldEnd   = Convert.ToDateTime(emEndDate.Text);

                lsSymd  = emStartDate.Text.Replace("/", "").SubStr(0, 8);
                lsEymd  = emEndDate.Text.Replace("/", "").SubStr(0, 8);
                lsType  = "Daily";
                sumType = "D";

                logText = ldStart.ToString("yyyy.MM.dd") + "至" + ldEnd.ToString("yyyy.MM.dd") + " 交易量";
                break;

            case "rb_week":
                //週
                if (!emStartDate1.IsDate(emStartDate1.Text, CheckDate.Start) ||
                    !emEndDate1.IsDate(emEndDate1.Text, CheckDate.End))
                {
                    return(false);
                }
                if (string.Compare(emStartDate1.Text, emEndDate1.Text) > 0)
                {
                    MessageDisplay.Error(GlobalInfo.ErrorText, CheckDate.Datedif);
                    return(false);
                }
                ldStart = Convert.ToDateTime(emStartDate1.Text);
                ldEnd   = Convert.ToDateTime(emEndDate1.Text);

                lsSymd  = emStartDate1.Text.Replace("/", "").SubStr(0, 8);
                lsEymd  = emEndDate1.Text.Replace("/", "").SubStr(0, 8);
                lsType  = "Weekly";
                sumType = "D";

                logText = ldStart.ToString("yyyy.MM.dd") + "至" + ldEnd.ToString("yyyy.MM.dd") + " 交易量";
                break;

            case "rb_month":
                //月
                string Smth = this.emStartMth.Text + "/01";
                string Emth = this.emEndMth.Text + "/01";
                if (!this.emStartMth.IsDate(Smth, CheckDate.Start) ||
                    !this.emEndMth.IsDate(Emth, CheckDate.End))
                {
                    return(false);
                }
                ldStart = Convert.ToDateTime(Smth);
                ldEnd   = PbFunc.relativedate(Convert.ToDateTime(Emth), 31);
                if (ldEnd.Month != PbFunc.Right(emStartMth.Text, 2).AsInt())
                {
                    ldEnd = PbFunc.relativedate(ldEnd, -ldEnd.Day);
                }
                lsSymd  = emStartMth.Text.Replace("/", "").SubStr(0, 6);
                lsEymd  = emEndMth.Text.Replace("/", "").SubStr(0, 6);
                lsType  = "Monthly";
                sumType = "M";

                logText = lsSymd + "至" + lsEymd + " 交易量";
                break;

            case "rb_year":
                //年
                lsSymd  = emStartYear.Text;
                lsEymd  = emEndYear.Text;
                lsType  = "Yearly";
                sumType = "Y";
                logText = lsSymd + "至" + lsEymd + " 交易量";
                break;

            default:
                break;
            }

            //商品別
            if (rbTMU.EditValue.Equals("rb_options"))
            {
                lsType     = lsType + "_OPT";
                lsProdType = "O";
            }
            else
            {
                lsType     = lsType + "_FUT";
                lsProdType = "F";
            }
            //ids_1.dataobject = "d_"+gs_txn_id
            if (cbxEng.Checked)
            {
                lsType = lsType + "_eng";
            }

            //交易時段
            switch (rgTime.EditValue)
            {
            case "rb_market0":
                lsMarketCode = "0";
                lsType       = lsType + "_day";
                break;

            case "rb_market1":
                lsMarketCode = "1";
                lsType       = lsType + "_night";
                break;

            default:
                lsMarketCode = "%";
                break;
            }

            /*點選儲存檔案之目錄*/
            saveFilePath = PbFunc.wf_GetFileSaveName(lsType + "(" + lsSymd + "-" + lsEymd + ").csv");
            if (string.IsNullOrEmpty(saveFilePath))
            {
                return(false);
            }

            /*******************
            *  Messagebox
            *******************/
            stMsgTxt.Visible = true;
            stMsgTxt.Text    = "開始轉檔...";
            stMsgTxt.Text    = logText + " 轉檔中...";
            this.Cursor      = Cursors.WaitCursor;
            this.Refresh();
            Thread.Sleep(5);
            return(true);
        }