Example #1
0
        //サイト一覧テーブルをExcelファイルで出力
        private void create_site_info_book()
        {
            Task.Run(() =>
            {
                //共通デリゲートインスタンス
                d_status_messenger message   = w_status_messenger;
                d_ldr_activate ldr_activate  = w_ldr_activate;
                d_task_cancel canceler       = w_task_cancel;
                d_get_workDir _d_get_workDir = w_get_workDir;

                if (ldr_activated == false)
                {
                    //Libraドライバ起動しエラーの場合早期退出
                    if (!(Boolean)this.Invoke(ldr_activate))
                    {
                        return;
                    }
                }

                ldr.home();
                this.Invoke(message, "Libraにログインします。(" + DateUtil.get_logtime() + ")");
                ldr.login();
                DateUtil.app_sleep(shortWait);

                List <List <string> > data = ldr.get_site_info_data();
                List <string> head_row     = new List <string>()
                {
                    "ID", "サイト名", "備考", "検査期間"
                };
                data.Insert(0, head_row);

                //タスクのキャンセル判定
                if ((Boolean)this.Invoke(canceler))
                {
                    return;
                }

                string save_dir      = (string)this.Invoke(_d_get_workDir);
                string save_filename = save_dir + "Libra検査サイト一覧_" + DateUtil.fetch_filename_logtime() + ".xlsx";
                ExcelUtil eu         = new ExcelUtil();
                eu.save_xlsx_as(data, save_filename);

                ldr.logout();
                this.Invoke(message, "処理が完了しました。(" + DateUtil.get_logtime() + ")");
            });
        }
Example #2
0
        //Excel出力
        private void save_as_excel()
        {
            List <List <string> > data = new List <List <string> >();
            Func <DataGridView, List <string> > _head_row = delegate(DataGridView gr)
            {
                List <string> arr = new List <string>();
                for (int i = 0; i < gr.Columns.Count; i++)
                {
                    string col_name = gr.Columns[i].HeaderText;
                    arr.Add(col_name);
                }
                return(arr);
            };
            List <string> head_row = _head_row(reportGridTable);

            for (int i = 0; i < reportGridTable.RowCount; i++)
            {
                DataGridViewRow cols     = reportGridTable.Rows[i];
                List <string>   row_data = new List <string>();
                for (int j = 0; j < cols.Cells.Count; j++)
                {
                    string col_val = "";
                    if (cols.Cells[j].Value != null)
                    {
                        col_val = (string)cols.Cells[j].Value;
                    }
                    row_data.Add(col_val);
                }
                data.Add(row_data);
            }

            string save_path     = main_form.w_get_workDir();
            string projectID     = main_form.w_get_projectID();
            string save_filename = save_path + projectID + "_data_grid_repo_" + DateUtil.fetch_filename_from_datetime("xlsx");

            data.Insert(0, head_row);
            ExcelUtil eu = new ExcelUtil();

            eu.save_xlsx_as(data, save_filename);
        }
Example #3
0
        //レポートを生成
        private void create_survey_report()
        {
            Task.Run(() =>
            {
                //共通デリゲートインスタンス
                d_status_messenger message  = w_status_messenger;
                d_ldr_activate ldr_activate = w_ldr_activate;
                d_task_cancel canceler      = w_task_cancel;

                //専用デリゲートインスタンス(条件系)
                d_get_basic_auth_cond _d_get_basic_auth_cond   = w_get_basic_auth_cond;
                d_get_source_flag _d_get_source_flag           = w_get_source_flag;
                d_is_pageID_selected _is_pageID_selected       = w_is_pageID_selected;
                d_is_guideline_selected _is_guideline_selected = w_is_guideline_selected;

                //専用デリゲートインスタンス(取得系)
                d_get_workDir _get_workDir                = w_get_workDir;
                d_get_projectID _get_projectID            = w_get_projectID;
                d_pageID_data get_page_rows               = w_pageID_data;
                d_guideline_data get_guideline_rows       = w_guideline_data;
                d_get_pageID_sufix get_pageID_sufix       = w_get_pageID_sufix;
                d_get_guideline_sufix get_guideline_sufix = w_get_guideline_sufix;


                //ファイル名サフィックス取得
                string guideline_sufix = (string)this.Invoke(get_guideline_sufix);
                string pageID_sufix    = (string)this.Invoke(get_pageID_sufix);

                Boolean is_pageID_selected    = (Boolean)this.Invoke(_is_pageID_selected);
                Boolean is_guideline_selected = (Boolean)this.Invoke(_is_guideline_selected);

                if (is_pageID_selected == false)
                {
                    this.Invoke(message, "【エラー】ページIDが選択されていません!処理を停止します。");
                    return;
                }
                if (is_guideline_selected == false)
                {
                    this.Invoke(message, "【エラー】達成基準が選択されていません!処理を停止します。");
                    return;
                }

                if (ldr_activated == false)
                {
                    //Libraドライバ起動しエラーの場合早期退出
                    if (!(Boolean)this.Invoke(ldr_activate))
                    {
                        return;
                    }
                }

                ldr.home();
                this.Invoke(message, "Libraにログインします。(" + DateUtil.get_logtime() + ")");
                ldr.login();
                DateUtil.app_sleep(shortWait);

                string projectID = (string)this.Invoke(_get_projectID);
                ldr.projectID    = projectID;

                //サイト名取得
                this.Invoke(message, "レポートインデックスページに移動します。(" + DateUtil.get_logtime() + ")");
                ldr.browse_repo();
                DateUtil.app_sleep(shortWait);
                string site_name = ldr.get_site_name();

                //タスクのキャンセル判定
                if ((Boolean)this.Invoke(canceler))
                {
                    return;
                }

                //pageIDコンボから選択値を取得
                List <string> guideline_rows = (List <string>) this.Invoke(get_guideline_rows);

                //guidelineコンボから選択値を取得
                List <List <string> > page_rows = (List <List <string> >) this.Invoke(get_page_rows);

                this.Invoke(message, "レポート詳細ページに順次アクセスしていきます。(" + DateUtil.get_logtime() + ")");

                //タスクのキャンセル判定
                if ((Boolean)this.Invoke(canceler))
                {
                    return;
                }

                //レポートデータ初期化
                List <List <string> > rep_data = new List <List <string> >();

                //guidelineのループ
                for (int i = 0; i < guideline_rows.Count; i++)
                {
                    string guideline      = guideline_rows[i];
                    string guideline_disp = guideline;
                    guideline             = "7." + guideline;

                    //タスクのキャンセル判定
                    if ((Boolean)this.Invoke(canceler))
                    {
                        return;
                    }

                    //pageのループ
                    for (int j = 0; j < page_rows.Count; j++)
                    {
                        List <string> page_row = page_rows[j];
                        string pageID          = page_row[0];
                        string pageURL         = page_row[1];
                        this.Invoke(message, pageID + ", " + guideline_disp + " を処理しています。 (" + DateUtil.get_logtime() + ")");
                        string path = ldr.fetch_report_detail_path(pageID, guideline);
                        ldr.wd.Navigate().GoToUrl(path);
                        DateUtil.app_sleep(shortWait);
                        List <List <string> > tbl_data = ldr.get_detail_table_data(pageID, pageURL, guideline);
                        rep_data.AddRange(tbl_data);
                    }
                }

                //Excelレポート処理
                this.Invoke(message, "Excelファイルへの書き出しを開始します。(" + DateUtil.get_logtime() + ")");
                List <string> head_row = TextUtil.get_header();
                rep_data.Insert(0, head_row);
                string save_dir      = (string)this.Invoke(_get_workDir);
                string save_filename = save_dir + projectID + "_" + site_name + "_" + guideline_sufix + "_" + pageID_sufix + " " + " 検査結果 " + DateUtil.fetch_filename_logtime() + ".xlsx";

                //タスクのキャンセル判定
                if ((Boolean)this.Invoke(canceler))
                {
                    return;
                }

                ExcelUtil eu = new ExcelUtil();
                eu.repo_task_save_xlsx(rep_data, save_filename);
                ldr.logout();
                this.Invoke(message, "処理が完了しました。(" + DateUtil.get_logtime() + ")");
            });
        }
Example #4
0
        //PID+URLのExcelファイル出力
        private void do_create_pid_url_list_xlsx()
        {
            Task.Run(() =>
            {
                //共通デリゲートインスタンス
                d_status_messenger message  = w_status_messenger;
                d_ldr_activate ldr_activate = w_ldr_activate;
                d_task_cancel canceler      = w_task_cancel;

                //専用デリゲートインスタンス(条件系)
                d_get_UrlTask_source_flag _get_UrlTask_source_flag = w_get_UrlTask_source_flag;
                d_is_pageID_selected _is_pageID_selected           = w_is_pageID_selected;

                //専用デリゲートインスタンス(取得系)
                d_get_workDir _get_workDir     = w_get_workDir;
                d_get_projectID _get_projectID = w_get_projectID;
                d_pageID_data get_page_rows    = w_pageID_data;

                if (ldr_activated == false)
                {
                    //Libraドライバ起動しエラーの場合早期退出
                    if (!(Boolean)this.Invoke(ldr_activate))
                    {
                        return;
                    }
                }

                ldr.home();
                this.Invoke(message, "Libraにログインします。(" + DateUtil.get_logtime() + ")");
                ldr.login();
                DateUtil.app_sleep(shortWait);

                string projectID = (string)this.Invoke(_get_projectID);
                ldr.projectID    = projectID;

                string flag = (string)this.Invoke(_get_UrlTask_source_flag);
                List <List <string> > data = new List <List <string> >();
                string site_name           = "";

                if (flag == "report")
                {
                    this.Invoke(message, "レポートインデックスページに移動します。(" + DateUtil.get_logtime() + ")");
                    ldr.browse_repo();
                    DateUtil.app_sleep(shortWait);

                    //タスクのキャンセル判定
                    if ((Boolean)this.Invoke(canceler))
                    {
                        return;
                    }

                    site_name = ldr.get_site_name();
                    data      = ldr.get_page_list_data();
                }
                else if (flag == "combo")
                {
                    if (!(Boolean)this.Invoke(_is_pageID_selected))
                    {
                        this.Invoke(message, "ページIDが選択されていません。処理を停止します。");
                        ldr.logout();
                        this.Invoke(message, "処理を停止しました。(" + DateUtil.get_logtime() + ")");
                        return;
                    }
                    this.Invoke(message, "レポートインデックスページに移動します。(" + DateUtil.get_logtime() + ")");
                    ldr.browse_repo();
                    DateUtil.app_sleep(shortWait);

                    //タスクのキャンセル判定
                    if ((Boolean)this.Invoke(canceler))
                    {
                        return;
                    }

                    site_name = ldr.get_site_name();
                    data      = (List <List <string> >) this.Invoke(get_page_rows);
                }
                else if (flag == "svpage")
                {
                    this.Invoke(message, "検査メイン画面に移動します。(" + DateUtil.get_logtime() + ")");
                    ldr.browse_sv_mainpage();
                    DateUtil.app_sleep(longWait);
                    data = ldr.get_page_list_data_from_svpage();

                    //タスクのキャンセル判定
                    if ((Boolean)this.Invoke(canceler))
                    {
                        return;
                    }

                    this.Invoke(message, "レポートインデックスページに移動します。(" + DateUtil.get_logtime() + ")");
                    ldr.browse_repo();
                    DateUtil.app_sleep(shortWait);
                    site_name = ldr.get_site_name();

                    //タスクのキャンセル判定
                    if ((Boolean)this.Invoke(canceler))
                    {
                        return;
                    }
                }

                //ヘッダー行の処理
                List <string> head_row = new List <string>()
                {
                    "PID", "URL"
                };
                data.Insert(0, head_row);

                string save_dir      = (string)this.Invoke(_get_workDir);
                string save_filename = save_dir + projectID + "_" + site_name + " URL.xlsx";

                //タスクのキャンセル判定
                if ((Boolean)this.Invoke(canceler))
                {
                    return;
                }

                ExcelUtil eu = new ExcelUtil();
                eu.save_xlsx_as(data, save_filename);

                ldr.logout();
                this.Invoke(message, "処理が完了しました。(" + DateUtil.get_logtime() + ")");
            });
        }