Пример #1
0
        /// <summary>
        /// setUriageSuiiHyo
        /// データグリッドビューにデータを表示
        /// </summary>
        private void setTokuisakimotocho()
        {
            //年月日の日付フォーマット後を入れる用
            string strYMDformat = "";

            //記入項目の空白削除
            labelSet_TokuisakiStart.CodeTxtText.Trim();
            labelSet_TokuisakiEnd.CodeTxtText.Trim();
            txtStartYM.Text.Trim();
            txtEndYM.Text.Trim();
            txtZenZan.Text.Trim();
            txtNyukin.Text.Trim();
            txtUriage.Text.Trim();
            txtZei.Text.Trim();
            txtZandaka.Text.Trim();

            //得意先コードの検索開始項目
            if (labelSet_TokuisakiStart.codeTxt.blIsEmpty() == false ||
                StringUtl.blIsEmpty(labelSet_TokuisakiStart.ValueLabelText) == false ||
                labelSet_TokuisakiStart.chkTxtTorihikisaki() == true)
            {
                labelSet_TokuisakiStart.Focus();
                return;
            }

            //得意先コードの終了開始項目
            if (labelSet_TokuisakiEnd.codeTxt.blIsEmpty() == true)
            {
                //得意先コードの範囲指定は出来ないメッセージ(OK)
                BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_VIEW, "複数の得意先コードは指定できません。", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR);
                basemessagebox.ShowDialog();
                labelSet_TokuisakiEnd.Focus();
                return;
            }

            //年月日の検索開始項目
            if (txtStartYM.blIsEmpty() == false)
            {
                txtStartYM.Focus();
                return;
            }

            //年月日の検索終了項目
            if (txtEndYM.blIsEmpty() == false)
            {
                txtEndYM.Focus();
                return;
            }

            //得意先コードの検索開始項目
            if (labelSet_TokuisakiStart.chkTxtTorihikisaki())
            {
                labelSet_TokuisakiStart.Focus();
                return;
            }

            //日付フォーマット生成、およびチェック
            strYMDformat = txtStartYM.chkDateYMDataFormat(txtStartYM.Text);

            //開始年月日の日付チェック
            if (strYMDformat == "")
            {
                // メッセージボックスの処理、項目が日付でない場合のウィンドウ(OK)
                BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_INPUT, "入力された日付が正しくありません。", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR);
                basemessagebox.ShowDialog();

                txtStartYM.Focus();

                return;
            }
            else
            {
                txtStartYM.Text = strYMDformat;
            }

            //日付フォーマット生成、およびチェック
            strYMDformat = txtEndYM.chkDateYMDataFormat(txtEndYM.Text);

            //終了年月日の日付チェック
            if (strYMDformat == "")
            {
                // メッセージボックスの処理、項目が日付でない場合のウィンドウ(OK)
                BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_INPUT, "入力された日付が正しくありません。", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR);
                basemessagebox.ShowDialog();

                txtEndYM.Focus();

                return;
            }
            else
            {
                txtEndYM.Text = strYMDformat;
            }

            //データ検索用
            List <string> lstUriageSuiiLoad = new List <string>();

            //検索時のデータ取り出し先
            DataTable dtSetView;
            // 得意先情報取得用
            DataTable dtTokuisakiInfo;
            // 消費税区分
            string kbnZei = "";
            // 消費税計算区分
            string kbnZeiKeisan = "";

            string  StartYMD;
            string  EndYMD;
            decimal wkin1;
            decimal wkin2;
            decimal wkin3;
            decimal wkin4;
            decimal wkin5;
            decimal wkin6;
            decimal wkin7;
            decimal decZengetsuZandaka;
            decimal decSiireKingaku;
            decimal decShiharaiKingaku;



            StartYMD = txtStartYM.Text + "/01";
            EndYMD   = txtEndYM.Text + "/01";
            //入力値の月末を取得
            EndYMD = DateTime.Parse(EndYMD).AddMonths(1).ToString();
            EndYMD = DateTime.Parse(EndYMD).AddDays(-1).ToString("yyyy/MM/dd");

            //データの存在確認を検索する情報を入れる
            /*[0]得意先コード*/
            lstUriageSuiiLoad.Add(labelSet_TokuisakiStart.CodeTxtText);
            /*[1]スタート日付(yyyy/MM/dd)*/
            lstUriageSuiiLoad.Add(StartYMD);
            /*[2]スタート日付(yyyy/MM/dd)*/
            lstUriageSuiiLoad.Add(EndYMD);

            //ビジネス層のインスタンス生成
            E0330_TokuisakiMotocyoKakunin_B tokuisakimotocyokakuninB = new E0330_TokuisakiMotocyoKakunin_B();

            try
            {
                // 得意先情報取得
                dtTokuisakiInfo = tokuisakimotocyokakuninB.getTokuisakiInfo(this.labelSet_TokuisakiStart.CodeTxtText);
                if (dtTokuisakiInfo.Rows.Count > 0)
                {
                    kbnZei       = dtTokuisakiInfo.Rows[0]["消費税区分"].ToString();
                    kbnZeiKeisan = dtTokuisakiInfo.Rows[0]["消費税計算区分"].ToString();
                }

                //ビジネス層、前月残高取得ロジックに移動
                dtSetView = tokuisakimotocyokakuninB.getZenzan(lstUriageSuiiLoad);

                if (dtSetView.Rows.Count > 0)
                {
                    txtZenZan.Text = decimal.Parse(dtSetView.Rows[0]["前月残高"].ToString()).ToString("");
                }
                else
                {
                    txtZenZan.Text = "0";
                }

                //ビジネス層、売上金額取得ロジックに移動
                dtSetView = tokuisakimotocyokakuninB.getUriage(lstUriageSuiiLoad);

                if (dtSetView.Rows.Count > 0)
                {
                    wkin1 = decimal.Parse(dtSetView.Rows[0]["売上金額"].ToString());
                }
                else
                {
                    wkin1 = 0;
                }

                // テキストボックス売上金額に値を入れる
                txtUriage.Text = wkin1.ToString();

                /*[3]売上金額 */
                lstUriageSuiiLoad.Add(txtUriage.Text);

                //ビジネス層、消費税額取得ロジックに移動
                dtSetView = tokuisakimotocyokakuninB.getZei(lstUriageSuiiLoad);

                if (dtSetView.Rows.Count > 0)
                {
                    wkin1 = decimal.Parse(dtSetView.Rows[0]["消費税額"].ToString());
                }
                else
                {
                    wkin1 = 0;
                }

                txtZei.Text = wkin1.ToString();


                //ビジネス層、請求消費税取得ロジックに移動
                dtSetView = tokuisakimotocyokakuninB.getSotozei(lstUriageSuiiLoad);

                if (dtSetView.Rows.Count > 0)
                {
                    if (kbnZei.Equals("0") && kbnZeiKeisan.Equals("2"))
                    {
                        wkin1 = decimal.Parse(dtSetView.Rows[0]["請求消費税"].ToString());
                    }
                    //内税の場合売上金額から内税を減算
                    if (kbnZei.Equals("1"))
                    {
                        txtUriage.Text = (decimal.Parse(txtUriage.Text) - wkin1).ToString();
                    }
                }
                else
                {
                    wkin1 = 0;
                }

                txtZei.Text = wkin1.ToString();

                //ビジネス層、入金現金取得ロジックに移動
                dtSetView = tokuisakimotocyokakuninB.getNyukinGenkin(lstUriageSuiiLoad);

                if (dtSetView.Rows.Count > 0)
                {
                    wkin1 = decimal.Parse(dtSetView.Rows[0]["入金現金"].ToString());
                }
                else
                {
                    wkin1 = 0;
                }

                //ビジネス層、入金小切手取得ロジックに移動
                dtSetView = tokuisakimotocyokakuninB.getNyukinKogitte(lstUriageSuiiLoad);

                if (dtSetView.Rows.Count > 0)
                {
                    wkin2 = decimal.Parse(dtSetView.Rows[0]["入金小切手"].ToString());
                }
                else
                {
                    wkin2 = 0;
                }


                //ビジネス層、入金振込取得ロジックに移動
                dtSetView = tokuisakimotocyokakuninB.getNyukinHurikomi(lstUriageSuiiLoad);

                if (dtSetView.Rows.Count > 0)
                {
                    wkin3 = decimal.Parse(dtSetView.Rows[0]["入金振込"].ToString());
                }
                else
                {
                    wkin3 = 0;
                }

                //ビジネス層、入金手形取得ロジックに移動
                dtSetView = tokuisakimotocyokakuninB.getNyukinTegata(lstUriageSuiiLoad);

                if (dtSetView.Rows.Count > 0)
                {
                    wkin4 = decimal.Parse(dtSetView.Rows[0]["入金手形"].ToString());
                }
                else
                {
                    wkin4 = 0;
                }


                //ビジネス層、入金相殺取得ロジックに移動
                dtSetView = tokuisakimotocyokakuninB.getNyukinSousatu(lstUriageSuiiLoad);

                if (dtSetView.Rows.Count > 0)
                {
                    wkin5 = decimal.Parse(dtSetView.Rows[0]["入金相殺"].ToString());
                }
                else
                {
                    wkin5 = 0;
                }

                //ビジネス層、入金手数料取得ロジックに移動
                dtSetView = tokuisakimotocyokakuninB.getNyukinTesuryou(lstUriageSuiiLoad);

                if (dtSetView.Rows.Count > 0)
                {
                    wkin6 = decimal.Parse(dtSetView.Rows[0]["入金手数料"].ToString());
                }
                else
                {
                    wkin6 = 0;
                }


                //ビジネス層、入金_その他取得ロジックに移動
                dtSetView = tokuisakimotocyokakuninB.getNyukinSonota(lstUriageSuiiLoad);

                if (dtSetView.Rows.Count > 0)
                {
                    wkin7 = decimal.Parse(dtSetView.Rows[0]["入金その他"].ToString());
                }
                else
                {
                    wkin7 = 0;
                }

                //Wkin1~7の合計を入金金額に設定
                txtNyukin.Text = (wkin1 + wkin2 + wkin3 + wkin4 + wkin5 + wkin6 + wkin7).ToString();
                //当月残高を求める
                txtZandaka.Text = (decimal.Parse(txtZenZan.Text) - decimal.Parse(txtNyukin.Text) + decimal.Parse(txtUriage.Text) + decimal.Parse(txtZei.Text)).ToString();

                //ビジネス層、グリッドビュー表示情報取得に移動
                dtSetView = tokuisakimotocyokakuninB.getTokuisakiMotocyo(lstUriageSuiiLoad);

                gridTorihiki.DataSource = dtSetView;

                if (dtSetView != null && dtSetView.Rows.Count > 0)
                {
                    string strDate     = "";
                    string strDenpyoNo = "";
                    for (int cnt = 0; cnt < gridTorihiki.RowCount; cnt++)
                    {
                        // 伝票年月日と伝票番号が同じ場合、伝票年月日と伝票番号を表示しない
                        if (gridTorihiki.Rows[cnt].Cells["伝票年月日"].Value.ToString().Equals(strDate) &&
                            gridTorihiki.Rows[cnt].Cells["伝票番号"].Value.ToString().Equals(strDenpyoNo))
                        {
                            // 仕入の場合、区分を表示しない
                            if (gridTorihiki.Rows[cnt].Cells["取引区分"].Value.ToString().Equals("11"))
                            {
                                gridTorihiki.Rows[cnt].Cells["取引区分名"].Value = DBNull.Value;
                            }

                            gridTorihiki.Rows[cnt].Cells["伝票年月日"].Value = DBNull.Value;
                            gridTorihiki.Rows[cnt].Cells["伝票番号"].Value  = DBNull.Value;
                        }
                        else
                        {
                            strDate     = gridTorihiki.Rows[cnt].Cells["伝票年月日"].Value.ToString();
                            strDenpyoNo = gridTorihiki.Rows[cnt].Cells["伝票番号"].Value.ToString();
                        }

                        // 入金の場合はフォントカラーを変更
                        int intKubun = int.Parse(gridTorihiki.Rows[cnt].Cells["取引区分"].Value.ToString());
                        if (intKubun >= 31 && intKubun <= 37)
                        {
                            gridTorihiki.Rows[cnt].DefaultCellStyle.ForeColor = Color.Blue;
                        }

                        // 数量又は金額の空白チェック用フラグ
                        bool blnBlankFlg = false;

                        // 数量
                        decimal decSuuryo = 0;
                        if (!decimal.TryParse(gridTorihiki.Rows[cnt].Cells["数量"].Value.ToString(), out decSuuryo))
                        {
                            blnBlankFlg = true;
                        }

                        // 金額
                        decimal decKingaku = 0;
                        if (!decimal.TryParse(gridTorihiki.Rows[cnt].Cells["売上金額"].Value.ToString(), out decKingaku))
                        {
                            blnBlankFlg = true;
                        }

                        // 数量又は金額が空白ではなく、かつ、マイナスの場合はフォントカラーを変更
                        if (!blnBlankFlg && (decSuuryo < 0 || decKingaku < 0))
                        {
                            gridTorihiki.Rows[cnt].DefaultCellStyle.ForeColor = Color.Red;
                        }

                        // 1行目の場合
                        if (cnt == 0)
                        {
                            decZengetsuZandaka = decimal.Parse(txtZenZan.Text);
                        }
                        else
                        {
                            decZengetsuZandaka = decimal.Parse(gridTorihiki.Rows[cnt - 1].Cells["差引残高"].Value.ToString());
                        }

                        // 売上金額がなかった場合
                        if (!decimal.TryParse(gridTorihiki.Rows[cnt].Cells["売上金額"].Value.ToString(), out decSiireKingaku))
                        {
                            decSiireKingaku = 0;
                        }

                        // 入金金額がなかった場合
                        if (!decimal.TryParse(gridTorihiki.Rows[cnt].Cells["入金額"].Value.ToString(), out decShiharaiKingaku))
                        {
                            decShiharaiKingaku = 0;
                        }

                        // 差引残高
                        decimal decSashihikiZandaka = decZengetsuZandaka + decSiireKingaku - decShiharaiKingaku;
                        gridTorihiki.Rows[cnt].Cells["差引残高"].Value = decSashihikiZandaka.ToString("#,0");
                    }

                    Control cNow = this.ActiveControl;
                    cNow.Focus();

                    //整数になるようにフォーマット
                    txtZenZan.Text  = decimal.Parse(txtZenZan.Text.ToString()).ToString("#,0");
                    txtNyukin.Text  = decimal.Parse(txtNyukin.Text.ToString()).ToString("#,0");
                    txtUriage.Text  = decimal.Parse(txtUriage.Text.ToString()).ToString("#,0");
                    txtZei.Text     = decimal.Parse(txtZei.Text.ToString()).ToString("#,0");
                    txtZandaka.Text = decimal.Parse(txtZandaka.Text.ToString()).ToString("#,0");
                }

                // DataTableのレコード数取得
                int dtCnt = dtSetView.Rows.Count;
                if (dtCnt > 0)
                {
                    // ステータスバーに検索結果表示
                    this.lblStatusMessage.Text = "検索終了(該当件数" + dtCnt + "件)";
                }
                else
                {
                    // ステータスバーに検索結果表示
                    this.lblStatusMessage.Text = "検索終了(該当なし)";
                }
            }
            catch (Exception ex)
            {
                //データロギング
                new CommonException(ex);
                //例外発生メッセージ(OK)
                BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_ERROR, CommonTeisu.LABEL_ERROR_MESSAGE, CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR);
                basemessagebox.ShowDialog();
                return;
            }
            return;
        }
Пример #2
0
        ///<summary>
        /// excelTokuisakiMotocyoKakunin
        ///     F10:Excel出力
        ///</summary>
        private void excelTokuisakiMotocyoKakunin()
        {
            //SQL実行時に取り出したデータを入れる用
            DataTable dtPrintData = new DataTable();

            //PDF作成後の入れ物
            string strFile = "";

            //印刷対象の選択用
            string strInsatsuSelect = "";

            //年月日の日付フォーマット後を入れる用
            string strYMDformat = "";

            //得意先コードの検索開始項目のチェック
            if (labelSet_TokuisakiStart.codeTxt.blIsEmpty() == false ||
                StringUtl.blIsEmpty(labelSet_TokuisakiStart.ValueLabelText) == false ||
                labelSet_TokuisakiStart.chkTxtTorihikisaki() == true)
            {
                labelSet_TokuisakiStart.Focus();
                return;
            }

            //得意先コードの終了開始項目のチェック
            if (labelSet_TokuisakiEnd.codeTxt.blIsEmpty() == false ||
                StringUtl.blIsEmpty(labelSet_TokuisakiEnd.ValueLabelText) == false ||
                labelSet_TokuisakiEnd.chkTxtTorihikisaki() == true)
            {
                //例外発生メッセージ(OK)
                BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_ERROR, "得意先コードを範囲で指定してください。", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR);
                basemessagebox.ShowDialog();

                labelSet_TokuisakiEnd.Focus();
                return;
            }

            //空文字判定(検索開始年月)
            if (txtStartYM.blIsEmpty() == false)
            {
                // メッセージボックスの処理、項目が空の場合のウィンドウ(OK)
                BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_INPUT, "項目が空です。\r\n条件を指定してください。 ", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR);
                basemessagebox.ShowDialog();

                txtStartYM.Focus();

                return;
            }

            //空文字判定(検索終了年月)
            if (txtEndYM.blIsEmpty() == false)
            {
                // メッセージボックスの処理、項目が空の場合のウィンドウ(OK)
                BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_INPUT, "項目が空です。\r\n条件を指定してください。 ", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR);
                basemessagebox.ShowDialog();

                txtEndYM.Focus();

                return;
            }

            //得意先開始チェック
            if (labelSet_TokuisakiStart.chkTxtTorihikisaki())
            {
                labelSet_TokuisakiStart.Focus();

                return;
            }

            //得意先終了チェック
            if (labelSet_TokuisakiEnd.chkTxtTorihikisaki())
            {
                labelSet_TokuisakiEnd.Focus();

                return;
            }

            //日付フォーマット生成、およびチェック
            strYMDformat = txtStartYM.chkDateYMDataFormat(txtStartYM.Text);

            //開始年月日の日付チェック
            if (strYMDformat == "")
            {
                // メッセージボックスの処理、項目が日付でない場合のウィンドウ(OK)
                BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_INPUT, "入力された日付が正しくありません。", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR);
                basemessagebox.ShowDialog();

                txtStartYM.Focus();

                return;
            }
            else
            {
                txtStartYM.Text = strYMDformat;
            }

            //初期化
            strYMDformat = "";

            //日付フォーマット生成、およびチェック
            strYMDformat = txtEndYM.chkDateYMDataFormat(txtEndYM.Text);

            //終了年月日の日付チェック
            if (strYMDformat == "")
            {
                // メッセージボックスの処理、項目が日付でない場合のウィンドウ(OK)
                BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_INPUT, "入力された日付が正しくありません。", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR);
                basemessagebox.ShowDialog();

                txtEndYM.Focus();

                return;
            }
            else
            {
                txtEndYM.Text = strYMDformat;
            }

            //印刷対象の範囲指定をする場合
            if (radSet_Insatsu.radbtn1.Checked == true)
            {
                strInsatsuSelect = "0";
            }
            else
            {
                strInsatsuSelect = "1";
            }

            //その月の最終日を求める(年月日検索終了項目用)
            int intDay = DateTime.DaysInMonth(DateTime.Parse(txtEndYM.Text).Year, DateTime.Parse(txtEndYM.Text).Month);

            //印刷用データを入れる用
            List <string> lstPrintData = new List <string>();

            //印刷用データを入れる
            lstPrintData.Add(labelSet_TokuisakiStart.CodeTxtText);
            lstPrintData.Add(labelSet_TokuisakiEnd.CodeTxtText);
            lstPrintData.Add(DateTime.Parse(txtStartYM.Text).ToString("yyyy/MM/dd"));
            lstPrintData.Add(DateTime.Parse(txtEndYM.Text).ToString("yyyy/MM/") + intDay.ToString());
            lstPrintData.Add(strInsatsuSelect);

            //得意先コード範囲内の取引先を取得
            E0330_TokuisakiMotocyoKakunin_B tokuisakimotocyokakuninB = new E0330_TokuisakiMotocyoKakunin_B();

            try
            {
                //待機状態
                Cursor.Current = Cursors.WaitCursor;

                dtPrintData = tokuisakimotocyokakuninB.getPrintData(lstPrintData);

                //元に戻す
                Cursor.Current = Cursors.Default;

                BaseMessageBox basemessagebox;
                //取得したデータがない場合
                if (dtPrintData == null || dtPrintData.Rows.Count == 0)
                {
                    //例外発生メッセージ(OK)
                    basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_ERROR, "対象のデータはありません", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR);
                    basemessagebox.ShowDialog();
                    return;
                }

                // SaveFileDialogクラスのインスタンスを作成
                SaveFileDialog sfd = new SaveFileDialog();
                // ファイル名の指定
                sfd.FileName = "得意先元帳_" + DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss") + ".xlsx";
                // デフォルトパス取得(デスクトップ)
                string Init_dir = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
                //はじめに表示されるフォルダを指定する
                sfd.InitialDirectory = Init_dir;
                // ファイルフィルタの設定
                sfd.Filter = "すべてのファイル(*.*)|*.*";

                //ダイアログを表示する
                if (sfd.ShowDialog() == DialogResult.OK)
                {
                    CreatePdf cpdf = new CreatePdf();

                    // 出力するヘッダを設定
                    // Linqで必要なデータをselect
                    var outDataAll = dtPrintData.AsEnumerable()
                                     .Select(dat => new
                    {
                        TokuiCd          = dat["得意先コード"],        //[0]ヘッダー表示のみ使用
                        TokuiName        = dat["得意先名"],          //[1]ヘッダー表示のみ使用
                        TokuiYMD         = dat["年月日"],           //[2]
                        Tokuikbn         = dat["取引区分名"],         //[3]
                        TokuiShohinName  = dat["商品名"],           //[4]
                        TokuiSu          = dat["数量"],            //[5]
                        TokuiTan         = dat["売上単価"],          //[6]
                        TokuiUrikin      = (decimal)dat["売上金額"], //[7]
                        TokuiNyukin      = (decimal)dat["入金金額"], //[8]
                        TokuiSashiZankin = (decimal)dat["差引残高"], //[9]
                        TokuiBiko        = dat["備考"],            //[11]
                    }).ToList();

                    // リストをデータテーブルに変換
                    DataTable dtChkList = cpdf.ConvertToDataTable(outDataAll);

                    string[] header =
                    {
                        "コード",
                        "得意先名",
                        "年月日",
                        "取引区分名",
                        "商品名",
                        "数量",
                        "売上単価",
                        "売上金額",
                        "入金金額",
                        "差引残高",
                        "備考",
                    };

                    string outFile = sfd.FileName;

                    // Excel作成処理
                    cpdf.DtToXls(dtChkList, "得 意 先 元 帳", outFile, 3, 1, header);

                    // メッセージボックスの処理、Excel作成完了の場合のウィンドウ(OK)
                    basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_VIEW, "Excelファイルを作成しました。", CommonTeisu.BTN_OK, CommonTeisu.DIAG_INFOMATION);
                    basemessagebox.ShowDialog();
                }
            }
            catch (Exception ex)
            {
                //データロギング
                new CommonException(ex);
                //例外発生メッセージ(OK)
                BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_ERROR, CommonTeisu.LABEL_ERROR_MESSAGE, CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR);
                basemessagebox.ShowDialog();
                return;
            }
        }
Пример #3
0
        ///<summary>
        ///printTokuisakiMotocyoKakunin
        ///印刷ダイアログ
        ///</summary>
        private void printTokuisakiMotocyoKakunin()
        {
            //SQL実行時に取り出したデータを入れる用
            DataTable dtPrintData = new DataTable();

            //PDF作成後の入れ物
            string strFile = "";

            //印刷対象の選択用
            string strInsatsuSelect = "";

            //年月日の日付フォーマット後を入れる用
            string strYMDformat = "";

            //得意先コードの検索開始項目のチェック
            if (labelSet_TokuisakiStart.codeTxt.blIsEmpty() == false ||
                StringUtl.blIsEmpty(labelSet_TokuisakiStart.ValueLabelText) == false ||
                labelSet_TokuisakiStart.chkTxtTorihikisaki() == true)
            {
                labelSet_TokuisakiStart.Focus();
                return;
            }

            //得意先コードの終了開始項目のチェック
            if (labelSet_TokuisakiEnd.codeTxt.blIsEmpty() == false ||
                StringUtl.blIsEmpty(labelSet_TokuisakiEnd.ValueLabelText) == false ||
                labelSet_TokuisakiEnd.chkTxtTorihikisaki() == true)
            {
                //例外発生メッセージ(OK)
                BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_ERROR, "得意先コードを範囲で指定してください。", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR);
                basemessagebox.ShowDialog();

                labelSet_TokuisakiEnd.Focus();
                return;
            }

            //空文字判定(検索開始年月)
            if (txtStartYM.blIsEmpty() == false)
            {
                // メッセージボックスの処理、項目が空の場合のウィンドウ(OK)
                BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_INPUT, "項目が空です。\r\n条件を指定してください。 ", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR);
                basemessagebox.ShowDialog();

                txtStartYM.Focus();

                return;
            }

            //空文字判定(検索終了年月)
            if (txtEndYM.blIsEmpty() == false)
            {
                // メッセージボックスの処理、項目が空の場合のウィンドウ(OK)
                BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_INPUT, "項目が空です。\r\n条件を指定してください。 ", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR);
                basemessagebox.ShowDialog();

                txtEndYM.Focus();

                return;
            }

            //得意先開始チェック
            if (labelSet_TokuisakiStart.chkTxtTorihikisaki())
            {
                labelSet_TokuisakiStart.Focus();

                return;
            }

            //得意先終了チェック
            if (labelSet_TokuisakiEnd.chkTxtTorihikisaki())
            {
                labelSet_TokuisakiEnd.Focus();

                return;
            }

            //日付フォーマット生成、およびチェック
            strYMDformat = txtStartYM.chkDateYMDataFormat(txtStartYM.Text);

            //開始年月日の日付チェック
            if (strYMDformat == "")
            {
                // メッセージボックスの処理、項目が日付でない場合のウィンドウ(OK)
                BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_INPUT, "入力された日付が正しくありません。", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR);
                basemessagebox.ShowDialog();

                txtStartYM.Focus();

                return;
            }
            else
            {
                txtStartYM.Text = strYMDformat;
            }

            //初期化
            strYMDformat = "";

            //日付フォーマット生成、およびチェック
            strYMDformat = txtEndYM.chkDateYMDataFormat(txtEndYM.Text);

            //終了年月日の日付チェック
            if (strYMDformat == "")
            {
                // メッセージボックスの処理、項目が日付でない場合のウィンドウ(OK)
                BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_INPUT, "入力された日付が正しくありません。", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR);
                basemessagebox.ShowDialog();

                txtEndYM.Focus();

                return;
            }
            else
            {
                txtEndYM.Text = strYMDformat;
            }

            //印刷対象の範囲指定をする場合
            if (radSet_Insatsu.radbtn1.Checked == true)
            {
                strInsatsuSelect = "0";
            }
            else
            {
                strInsatsuSelect = "1";
            }

            //その月の最終日を求める(年月日検索終了項目用)
            int intDay = DateTime.DaysInMonth(DateTime.Parse(txtEndYM.Text).Year, DateTime.Parse(txtEndYM.Text).Month);

            //印刷用データを入れる用
            List <string> lstPrintData = new List <string>();

            //印刷用データを入れる
            lstPrintData.Add(labelSet_TokuisakiStart.CodeTxtText);
            lstPrintData.Add(labelSet_TokuisakiEnd.CodeTxtText);
            lstPrintData.Add(DateTime.Parse(txtStartYM.Text).ToString("yyyy/MM/dd"));
            lstPrintData.Add(DateTime.Parse(txtEndYM.Text).ToString("yyyy/MM/") + intDay.ToString());
            lstPrintData.Add(strInsatsuSelect);

            //得意先コード範囲内の取引先を取得
            E0330_TokuisakiMotocyoKakunin_B tokuisakimotocyokakuninB = new E0330_TokuisakiMotocyoKakunin_B();

            try
            {
                //待機状態
                Cursor.Current = Cursors.WaitCursor;

                dtPrintData = tokuisakimotocyokakuninB.getPrintData(lstPrintData);

                //元に戻す
                Cursor.Current = Cursors.Default;

                //データが無ければ
                if (dtPrintData.Rows.Count < 1)
                {
                    //例外発生メッセージ(OK)
                    BaseMessageBox basemessagebox = new BaseMessageBox(this, "印刷", "対象のデータがありません。", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR);
                    basemessagebox.ShowDialog();
                    return;
                }

                //初期値
                Common.Form.PrintForm pf = new Common.Form.PrintForm(this, "", CommonTeisu.SIZE_A4, YOKO);

                pf.ShowDialog(this);

                //プレビューの場合
                if (this.printFlg == CommonTeisu.ACTION_PREVIEW)
                {
                    //待機状態
                    Cursor.Current = Cursors.WaitCursor;

                    //結果セットをレコードセットに
                    strFile = tokuisakimotocyokakuninB.dbToPdf(dtPrintData, lstPrintData);

                    //元に戻す
                    Cursor.Current = Cursors.Default;

                    //印刷できなかった場合
                    if (strFile == "")
                    {
                        //印刷時エラーメッセージ(OK)
                        BaseMessageBox basemessagebox = new BaseMessageBox(this, "印刷", "印刷時エラーです。", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR);
                        basemessagebox.ShowDialog();

                        return;
                    }

                    // プレビュー
                    pf.execPreview(strFile);
                }
                // 一括印刷の場合
                else if (this.printFlg == CommonTeisu.ACTION_PRINT)
                {
                    // PDF作成
                    strFile = tokuisakimotocyokakuninB.dbToPdf(dtPrintData, lstPrintData);

                    //印刷できなかった場合
                    if (strFile == "")
                    {
                        //印刷時エラーメッセージ(OK)
                        BaseMessageBox basemessagebox = new BaseMessageBox(this, "印刷", "印刷時エラーです。", CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR);
                        basemessagebox.ShowDialog();

                        return;
                    }

                    // 一括印刷
                    pf.execPrint(null, strFile, CommonTeisu.SIZE_A4, CommonTeisu.YOKO, true);
                }
            }
            catch (Exception ex)
            {
                //データロギング
                new CommonException(ex);
                //例外発生メッセージ(OK)
                BaseMessageBox basemessagebox = new BaseMessageBox(this, CommonTeisu.TEXT_ERROR, CommonTeisu.LABEL_ERROR_MESSAGE, CommonTeisu.BTN_OK, CommonTeisu.DIAG_ERROR);
                basemessagebox.ShowDialog();
                return;
            }
        }