private decimal get_kurikosi(string in_cd) { decimal out_decimal; //戻り値用 DataTable w_dt = new DataTable(); //画面の仕入締日から1か月前の締日を求め、1カ月前の締めレコードがあったらその残高を繰越額に、なかったら画面の請求日以前の未入金(未完了)分を繰越額にする DateTime w_datetime; DataTable w_dt_simebi = new DataTable(); tss.try_string_to_date(tb_siire_simebi.Text.ToString()); w_datetime = tss.out_datetime.AddMonths(-1); //1か月前 w_dt_simebi = tss.OracleSelect("select * from tss_torihikisaki_m where torihikisaki_cd = '" + in_cd + "'"); if (w_dt_simebi.Rows[0]["siharai_sime_date"].ToString() == "99") { w_datetime = new DateTime(w_datetime.Year, w_datetime.Month, DateTime.DaysInMonth(w_datetime.Year, w_datetime.Month)); //末日を求める } w_dt = tss.OracleSelect("select * from tss_kaikake_m where torihikisaki_cd = '" + in_cd + "' and siire_simebi = '" + w_datetime.ToShortDateString() + "'"); if (w_dt.Rows.Count == 0) { //1カ月前のレコードが無かった場合 //画面の締日以前のレコードの入金未完了の金額を求めて繰越額にする w_dt = tss.OracleSelect("select sum(siire_kingaku) + sum(syouhizeigaku) - sum(siharaigaku) from tss_kaikake_m where torihikisaki_cd = '" + in_cd + "' and siire_simebi < '" + tb_siire_simebi.Text + "' and siharai_kanryou_flg <> '1'"); if (w_dt.Rows.Count == 0) { out_decimal = 0; } else { out_decimal = tss.try_string_to_decimal(w_dt.Rows[0][0].ToString()); //sqlのsum分の場合、必ず1レコードできてしまい、該当データなかった場合の値がnullの為double型に変換できないので、その為の処理 if (out_decimal == -999999999) { out_decimal = 0; } } } else { //1か月前のレコードがあった場合 out_decimal = tss.try_string_to_decimal(w_dt.Rows[0]["kaikake_zandaka"].ToString()); } return(out_decimal); }
private void dgv_idou_CellValidated(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex == 10) { if (dgv_idou.Rows[e.RowIndex].Cells[10].Value != null && dgv_idou.Rows[e.RowIndex].Cells[10].Value.ToString() != "") { dgv_idou.Rows[e.RowIndex].Cells[10].Value = tss.try_string_to_decimal(dgv_idou.Rows[e.RowIndex].Cells[10].Value.ToString()).ToString("#,0.00"); } } }
private void rpt_seikyu_ReportStart(object sender, EventArgs e) { //w_dt_urikakeに印刷する売掛レコードが入ってくる //会社情報をヘッダーに割り当て set_kaisya(); //ヘッダー情報を割り当て if (w_dr == null) { tb_torihikisaki_cd.Text = ""; tb_hiduke.Text = ""; tb_kurikosi.Text = ""; tb_uriage.Text = ""; tb_syouhizei.Text = ""; tb_nyukin.Text = ""; tb_zandaka.Text = ""; tb_seikyu.Text = ""; tb_mm.Text = ""; tb_torihikisaki_name.Text = ""; tb_urikake_no.Text = ""; } else { tb_torihikisaki_cd.Text = w_dr["torihikisaki_cd"].ToString(); tb_hiduke.Text = w_dr["uriage_simebi"].ToString(); tb_kurikosi.Text = tss.try_string_to_decimal(w_dr["kurikosigaku"].ToString()).ToString("#,##0"); tb_uriage.Text = tss.try_string_to_decimal(w_dr["uriage_kingaku"].ToString()).ToString("#,##0"); tb_syouhizei.Text = tss.try_string_to_decimal(w_dr["syouhizeigaku"].ToString()).ToString("#,##0"); tb_nyukin.Text = tss.try_string_to_decimal(w_dr["nyukingaku2"].ToString()).ToString("#,##0"); tb_zandaka.Text = tss.try_string_to_decimal(w_dr["urikake_zandaka"].ToString()).ToString("#,##0"); tb_seikyu.Text = (tss.try_string_to_decimal(w_dr["uriage_kingaku"].ToString()) + tss.try_string_to_decimal(w_dr["syouhizeigaku"].ToString())).ToString("#,##0"); tb_mm.Text = tss.try_string_to_decimal(w_dr["uriage_simebi"].ToString().Substring(5, 2)).ToString("##"); tb_torihikisaki_name.Text = tss.get_torihikisaki_name(w_dr["torihikisaki_cd"].ToString()) + " 様"; tb_urikake_no.Text = w_dr["urikake_no"].ToString(); //フッター情報(消費税)を割り当て //w_dt_syouhizei = tss.OracleSelect("select * from tss_torihikisaki_m where torihikisaki_cd = '" + w_dr["torihikisaki_cd"].ToString() + "'"); //if (w_dt_syouhizei.Rows[0]["syouhizei_sansyutu_kbn"].ToString() == "0") //{ // //請求合計 // tb_footer_name.Text = "消費税"; // tb_footer_syouhizei.Text = tss.try_string_to_double(w_dr["syouhizeigaku"].ToString()).ToString("#,##0"); //} //if (w_dt_syouhizei.Rows[0]["syouhizei_sansyutu_kbn"].ToString() == "1") //{ // //明細毎 // tb_footer_name.Text = ""; // tb_footer_syouhizei.Text = ""; //} //if (w_dt_syouhizei.Rows[0]["syouhizei_sansyutu_kbn"].ToString() == "2") //{ // //伝票毎 // tb_footer_name.Text = "消費税は伝票毎に算出させていただいている為、合計金額のみ記載させていただきます。"; // tb_footer_syouhizei.Text = ""; //} } }
private void touroku() { bool w_bl; decimal w_suryo; //在庫履歴書込み用の番号取得 decimal w_rireki_no; int w_sign; string w_bikou; string w_nyusyukko; if (rb_nyuuko.Checked == true) { w_rireki_no = tss.GetSeq("01"); w_sign = -1; w_nyusyukko = "入庫"; } else { w_rireki_no = tss.GetSeq("02"); w_sign = 1; w_nyusyukko = "出庫"; } int w_rireki_gyou; //在庫履歴書込み用の行番号 for (int i = 0; i < dgv_m.Rows.Count; i++) { w_rireki_gyou = i + 1; w_suryo = tss.try_string_to_decimal(dgv_m.Rows[i].Cells[7].Value.ToString()) * w_sign; w_bikou = "製品構成を使用した一括" + w_nyusyukko + " 製品CD:" + tb_seihin_cd.Text.ToString() + " 製品構成NO:" + tb_seihin_kousei_no.Text.ToString() + " 処理数:" + tb_suuryo.Text.ToString() + " 使用数:" + dgv_m.Rows[i].Cells[2].Value.ToString(); w_bl = tss.zaiko_proc(dgv_m.Rows[i].Cells[0].Value.ToString(), "01", "999999", "9999999999999999", "9999999999999999", w_suryo, w_rireki_no, w_rireki_gyou, w_bikou, "03", "999999", "9999999999999999", "9999999999999999"); if (w_bl == false) { MessageBox.Show("在庫の更新中にエラーが発生しました。データの整合性が崩れた可能性があります。確認してください。"); } } MessageBox.Show("登録しました。"); gamen_clear(); tb_seihin_cd.Focus(); }
//取引先コードから、取引先マスタのデータを呼出してテキストボックスに入れる。 private void torihikisaki_disp(string in_torihikisaki_cd) { DataTable dt_work = new DataTable(); dt_work = tss.OracleSelect("select * from TSS_TORIHIKISAKI_M where torihikisaki_cd = '" + tb_torihikisaki_cd.Text + "'"); if (dt_work.Rows.Count != 0) { tb_torihikisaki_name.Text = dt_work.Rows[0]["torihikisaki_name"].ToString(); tb_torihikisaki_seisiki_name.Text = dt_work.Rows[0]["torihikisaki_seisiki_name"].ToString(); tb_torihikisaki_ryakusiki_moji.Text = dt_work.Rows[0]["torihikisaki_ryakusiki_moji"].ToString(); tb_yubin_no.Text = dt_work.Rows[0]["yubin_no"].ToString(); tb_jusyo1.Text = dt_work.Rows[0]["jusyo1"].ToString(); tb_jusyo2.Text = dt_work.Rows[0]["jusyo2"].ToString(); tb_tel_no.Text = dt_work.Rows[0]["tel_no"].ToString(); tb_fax_no.Text = dt_work.Rows[0]["fax_no"].ToString(); tb_daihyousya_name.Text = dt_work.Rows[0]["daihyousya_name"].ToString(); tb_url.Text = dt_work.Rows[0]["url"].ToString(); tb_eigyou_start_time.Text = dt_work.Rows[0]["eigyou_start_time"].ToString(); tb_eigyou_end_time.Text = dt_work.Rows[0]["eigyou_end_time"].ToString(); tb_seikyu_sime_date.Text = dt_work.Rows[0]["seikyu_sime_date"].ToString(); tb_kaisyu_tuki.Text = dt_work.Rows[0]["kaisyu_tuki"].ToString(); tb_kaisyu_hi.Text = dt_work.Rows[0]["kaisyu_hi"].ToString(); tb_siharai_sime_date.Text = dt_work.Rows[0]["siharai_sime_date"].ToString(); tb_siharai_tuki.Text = dt_work.Rows[0]["siharai_tuki"].ToString(); tb_siharai_hi.Text = dt_work.Rows[0]["siharai_hi"].ToString(); tb_kessan_start_mmdd.Text = dt_work.Rows[0]["kessan_start_mmdd"].ToString(); tb_kessan_end_mmdd.Text = dt_work.Rows[0]["kessan_end_mmdd"].ToString(); tb_syouhizei_sansyutu_kbn.Text = dt_work.Rows[0]["syouhizei_sansyutu_kbn"].ToString(); tb_hasu_kbn.Text = dt_work.Rows[0]["hasu_kbn"].ToString(); tb_hasu_syori_tani.Text = dt_work.Rows[0]["hasu_syori_tani"].ToString(); tb_jisyaden_kbn.Text = dt_work.Rows[0]["jisyaden_kbn"].ToString(); tb_misyori_nyukingaku.Text = tss.try_string_to_decimal(dt_work.Rows[0]["misyori_nyukingaku"].ToString()).ToString("#,##0"); tb_create_user_cd.Text = dt_work.Rows[0]["create_user_cd"].ToString(); tb_create_datetime.Text = dt_work.Rows[0]["create_datetime"].ToString(); tb_update_user_cd.Text = dt_work.Rows[0]["update_user_cd"].ToString(); tb_update_datetime.Text = dt_work.Rows[0]["update_datetime"].ToString(); } //マスターに既存レコードがなければnullをテキストボックスに入れる。 else { //tb_torihikisaki_cd.Text = null; tb_torihikisaki_name.Text = null; tb_torihikisaki_seisiki_name.Text = null; tb_torihikisaki_ryakusiki_moji.Text = null; tb_yubin_no.Text = null; tb_jusyo1.Text = null; tb_jusyo2.Text = null; tb_tel_no.Text = null; tb_fax_no.Text = null; tb_daihyousya_name.Text = null; tb_url.Text = null; tb_eigyou_start_time.Text = null; tb_eigyou_end_time.Text = null; tb_seikyu_sime_date.Text = null; tb_kaisyu_tuki.Text = null; tb_kaisyu_hi.Text = null; tb_siharai_sime_date.Text = null; tb_siharai_tuki.Text = null; tb_siharai_hi.Text = null; tb_kessan_start_mmdd.Text = null; tb_kessan_end_mmdd.Text = null; tb_syouhizei_sansyutu_kbn.Text = null; tb_hasu_kbn.Text = null; tb_hasu_syori_tani.Text = null; tb_jisyaden_kbn.Text = null; tb_misyori_nyukingaku.Text = null; tb_create_user_cd.Text = null; tb_create_datetime.Text = null; tb_update_user_cd.Text = null; tb_update_datetime.Text = null; } }
private void zaiko_kousin() { string w_seq = tss.GetSeq("01").ToString("0000000000"); int w_gyou = 0; //部品入出庫マスタのseq用 string w_kbn = ""; string w_torihikisaki_cd = ""; string w_juchu_cd1 = ""; string w_juchu_cd2 = ""; for (int i = 0; i < dgv_m.Rows.Count; i++) { w_gyou++; w_kbn = ""; w_torihikisaki_cd = ""; w_juchu_cd1 = ""; w_juchu_cd2 = ""; //部品在庫マスタの更新 if (dgv_m.Rows[i].Cells[5].Value.ToString().TrimEnd() == "" || dgv_m.Rows[i].Cells[5].Value.ToString() == "0000000") { //フリー在庫 w_kbn = "01"; w_torihikisaki_cd = "999999"; w_juchu_cd1 = "9999999999999999"; w_juchu_cd2 = "9999999999999999"; //レコード有無確認 DataTable w_dt = new DataTable(); w_dt = tss.OracleSelect("select * from tss_buhin_zaiko_m where buhin_cd = '" + dgv_m.Rows[i].Cells[14].Value.ToString().TrimEnd() + "' and zaiko_kbn = '01'"); if (w_dt.Rows.Count == 0) { MessageBox.Show("フリー在庫のレコードがありません。処理を中止します。(" + dgv_m.Rows[i].Cells[14].Value.ToString().TrimEnd() + ")"); return; } //フリー在庫に読み込んだ入庫数を加えて書き込む decimal w_dou1 = tss.try_string_to_decimal(w_dt.Rows[0]["zaiko_su"].ToString()); decimal w_dou2 = tss.try_string_to_decimal(dgv_m.Rows[i].Cells[11].Value.ToString().TrimEnd()); decimal w_dou3 = w_dou1 + w_dou2; tss.OracleUpdate("UPDATE TSS_BUHIN_ZAIKO_M SET ZAIKO_SU = '" + w_dou3.ToString() + "',UPDATE_DATETIME = SYSDATE,UPDATE_USER_CD = '" + tss.user_cd + "' WHERE buhin_cd = '" + dgv_m.Rows[i].Cells[14].Value.ToString().TrimEnd() + "' and zaiko_kbn = '01'"); } else { //ロット在庫 //※ロット在庫の受注番号はロット番号+"9999999999999999" w_kbn = "02"; w_torihikisaki_cd = tss.GetDainichi_cd(); w_juchu_cd1 = tss.try_string_to_decimal(dgv_m.Rows[i].Cells[5].Value.ToString().TrimEnd()).ToString("0"); w_juchu_cd2 = "9999999999999999"; //レコード有無確認 DataTable w_dt = new DataTable(); w_dt = tss.OracleSelect("select * from tss_buhin_zaiko_m where buhin_cd = '" + dgv_m.Rows[i].Cells[14].Value.ToString().TrimEnd() + "' and zaiko_kbn = '02' and torihikisaki_cd = '" + w_torihikisaki_cd + "' and juchu_cd1 = '" + w_juchu_cd1 + "' and juchu_cd2 = '" + w_juchu_cd2 + "'"); if (w_dt.Rows.Count == 0) { //新規 bool w_bl; w_bl = tss.OracleInsert("insert into tss_buhin_zaiko_m (buhin_cd, zaiko_kbn,torihikisaki_cd, juchu_cd1, juchu_cd2, zaiko_su,create_user_cd,create_datetime) values ('" + dgv_m.Rows[i].Cells[14].Value.ToString().TrimEnd() + "','02','" + w_torihikisaki_cd + "','" + w_juchu_cd1 + "','" + w_juchu_cd2 + "','" + tss.try_string_to_decimal(dgv_m.Rows[i].Cells[11].Value.ToString().TrimEnd()).ToString() + "','" + tss.user_cd + "',SYSDATE)"); if (w_bl == false) { tss.ErrorLogWrite(tss.user_cd, "部品入出庫BCRのtss_buhin_zaiko_mへのInsert", "書き込みエラー"); } } else { //既存 decimal w_dou1 = tss.try_string_to_decimal(w_dt.Rows[0]["zaiko_su"].ToString()); decimal w_dou2 = tss.try_string_to_decimal(dgv_m.Rows[i].Cells[11].Value.ToString().TrimEnd()); decimal w_dou3 = w_dou1 + w_dou2; tss.OracleUpdate("UPDATE TSS_BUHIN_ZAIKO_M SET ZAIKO_SU = '" + w_dou3.ToString() + "',UPDATE_DATETIME = SYSDATE,UPDATE_USER_CD = '" + tss.user_cd + "' WHERE buhin_cd = '" + dgv_m.Rows[i].Cells[14].Value.ToString().TrimEnd() + "' and zaiko_kbn = '02' and torihikisaki_cd = '" + w_torihikisaki_cd + "' and juchu_cd1 = '" + w_juchu_cd1 + "' and juchu_cd2 = '" + w_juchu_cd2 + "'"); } } //部品入出庫マスタの更新 bool w_bl_rireki; w_bl_rireki = tss.OracleInsert("INSERT INTO tss_buhin_nyusyukko_m (buhin_syori_kbn,buhin_syori_no,seq,buhin_syori_date,buhin_cd,zaiko_kbn,torihikisaki_cd,juchu_cd1,juchu_cd2,suryou,denpyou_no,barcode,syori_kbn,bikou,create_user_cd,create_datetime) VALUES ('" + "01" + "','" + w_seq + "','" + w_gyou.ToString() + "'," + "to_date('" + tb_syori_date.Text.ToString() + "','YYYY/MM/DD HH24:MI:SS'),'" + dgv_m.Rows[i].Cells[14].Value.ToString().TrimEnd() + "','" + w_kbn + "','" + w_torihikisaki_cd + "','" + w_juchu_cd1 + "','" + w_juchu_cd2 + "','" + tss.try_string_to_decimal(dgv_m.Rows[i].Cells[11].Value.ToString().TrimEnd()).ToString() + "','" + dgv_m.Rows[i].Cells[3].Value.ToString().TrimEnd() + "','" + tss.StringMidByte(dgv_m.Rows[i].Cells[18].Value.ToString(), 0, 254) + "','" + "01" + "','" + "" + "','" + tss.user_cd + "',SYSDATE)"); if (w_bl_rireki == false) { tss.ErrorLogWrite(tss.user_cd, "部品入庫BCRのtss_buhin_nyusyukko_mへのInsert", "行:" + i.ToString() + " 移動区分:01 移動番号:" + w_seq + " seq:" + w_gyou.ToString() + "buhin_cd:" + dgv_m.Rows[i].Cells[14].Value.ToString().TrimEnd()); } } MessageBox.Show("登録しました。(入出庫移動番号:" + w_seq + ")"); dgv_m.Rows.Clear(); tb_syori_date.Text = DateTime.Now.ToShortDateString(); lbl_message.Text = "処理日を入力してください。"; tb_syori_date.Focus(); lbl_message.ForeColor = Color.Black; }
private void btn_syuukei_Click(object sender, EventArgs e) { if (tss.User_Kengen_Check(2, 5) == false) { MessageBox.Show("権限がありません"); return; } tss.GetUser(); //集計 if (chk_seikyu_simebi() == false) { MessageBox.Show("請求締日に異常があります。"); return; } if (chk_torihikisaki_cd_hani() == false) { MessageBox.Show("取引先コードの範囲指定が正しくありません。"); return; } //売上マスタから、該当する締日のレコードを抽出し、取引先コードのリスト作成する DataTable w_dt_torihikisaki = new DataTable(); w_dt_torihikisaki = tss.OracleSelect("select torihikisaki_cd from tss_uriage_m where TO_CHAR(uriage_simebi,'YYYY/MM/DD') = '" + tb_seikyu_simebi.Text + "' and torihikisaki_cd >= '" + tb_torihikisaki_cd1.Text.ToString() + "' and torihikisaki_cd <= '" + tb_torihikisaki_cd2.Text.ToString() + "' group by torihikisaki_cd"); DataTable w_dt_torihikisaki2 = new DataTable(); //対象締日に売り上げがなかった場合 //画面の請求締日から1か月前の締日を求め、1カ月前の締めレコードがあったら対象にする DataTable w_dt = new DataTable(); DateTime w_datetime; DataTable w_dt_simebi = new DataTable(); string date; //締日 //入力された締日が、末日かどうかのチェック tss.try_string_to_date(tb_seikyu_simebi.Text.ToString()); w_datetime = tss.out_datetime; DateTime w_datetime2 = new DateTime(w_datetime.Year, w_datetime.Month, DateTime.DaysInMonth(w_datetime.Year, w_datetime.Month));; //末日を入れる変数 if (w_datetime == w_datetime2) { //末尾なら99 date = "99"; } else { //末尾でないなら、入力された日付の日 date = (tb_seikyu_simebi.Text.ToString()).Substring(8); } //当月の売り上げはないが、締日のdayを取出し、請求締日条件に一致する取引先で、売掛残高があるリストを抽出 //取引先マスタの入金未完了の金額を求めて繰越額にする w_dt_torihikisaki2 = tss.OracleSelect("select torihikisaki_cd from tss_torihikisaki_m where torihikisaki_cd >= '" + tb_torihikisaki_cd1.Text.ToString() + "' and torihikisaki_cd <= '" + tb_torihikisaki_cd2.Text.ToString() + "' and misyori_nyukingaku != 0 and seikyu_sime_date = '" + date + "'"); //tss.try_string_to_date(tb_seikyu_simebi.Text.ToString()); //w_datetime = tss.out_datetime.AddMonths(-1); //1か月前 //w_dt_simebi = tss.OracleSelect("select * from tss_torihikisaki_m where torihikisaki_cd >= '" + tb_torihikisaki_cd1.Text.ToString() + "' and torihikisaki_cd <= '" + tb_torihikisaki_cd2.Text.ToString() + "'"); //if (w_dt_simebi.Rows[0]["seikyu_sime_date"].ToString() == "99") //{ // w_datetime = new DateTime(w_datetime.Year, w_datetime.Month, DateTime.DaysInMonth(w_datetime.Year, w_datetime.Month)); //末日を求める //} //当月の売り上げはないが、1カ月前の締めレコードがあるリスト //w_dt_torihikisaki2 = tss.OracleSelect("select torihikisaki_cd from tss_urikake_m where torihikisaki_cd >= '" + tb_torihikisaki_cd1.Text.ToString() + "' and torihikisaki_cd <= '" + tb_torihikisaki_cd2.Text.ToString() + "' and uriage_simebi = '" + w_datetime.ToShortDateString() + "'"); //売上があった取引先リストと結合 w_dt_torihikisaki.Merge(w_dt_torihikisaki2); if (w_dt_torihikisaki.Rows.Count == 0) { MessageBox.Show("指定した条件に当てはまるデータがありません"); return; } //取引先コード毎に集計を行い、売掛レコードを作成する DataTable w_dt_urikake = new DataTable(); //売掛マスタの既存レコード確認用 string w_urikake_no; //売掛マスタの既存レコードの請求番号退避用 DataTable w_dt_uriage = new DataTable(); //顧客毎の売上マスタ用 foreach (DataRow dr in w_dt_torihikisaki.Rows) { //初期値リセット w_kurikosi = 0; w_uriage = 0; w_syouhizei = 0; w_nyukin = 0; w_zandaka = 0; w_seikyu = 0; //既に集計済みの場合は、その請求番号を退避させる(再利用する為) w_dt_urikake = tss.OracleSelect("select * from tss_urikake_m where torihikisaki_cd = '" + dr["torihikisaki_cd"].ToString() + "' and uriage_simebi = '" + tb_seikyu_simebi.Text + "'"); if (w_dt_urikake.Rows.Count > 0) { w_urikake_no = w_dt_urikake.Rows[0]["urikake_no"].ToString(); } else { w_urikake_no = ""; } //繰越金額 w_kurikosi = get_kurikosi(dr["torihikisaki_cd"].ToString()); //売上金額と消費税額 w_uriage = get_uriage(dr["torihikisaki_cd"].ToString()); //入金額 w_nyukin = get_nyukin(dr["torihikisaki_cd"].ToString()); //残高 w_zandaka = w_kurikosi + w_uriage + w_syouhizei - w_nyukin; //請求額 w_seikyu = w_uriage + w_syouhizei; //レコード書き込み if (w_urikake_no != "") { //既存のレコードを更新 //既存データの更新の場合、過去売上が訂正され売上額+消費税<>入金額になっている場合があるので、再度入金完了フラグを立て直す decimal w_chk_nyukingaku; //入金額 decimal w_chk_nyukingaku_sa; //入金額-売上-消費税 string w_nyukin_kanryou_flg; w_chk_nyukingaku = tss.try_string_to_decimal(w_dt_urikake.Rows[0]["nyukingaku"].ToString()); w_chk_nyukingaku_sa = w_chk_nyukingaku - w_uriage - w_syouhizei; if (w_chk_nyukingaku_sa == 0) { //入金完了 w_nyukin_kanryou_flg = "1"; } else { if (w_chk_nyukingaku_sa < 0) { //売上+消費税 > 入金額 w_nyukin_kanryou_flg = "0"; } else { //売上+消費税 < 入金額 //入金額を売上+消費税と同額にし、入金済みにして、残った入金額は取引先マスタへスプール w_nyukin_kanryou_flg = "1"; w_chk_nyukingaku = w_uriage + w_syouhizei; tss.OracleUpdate("update tss_torihikisaki_m set MISYORI_NYUKINGAKU = MISYORI_NYUKINGAKU + " + w_chk_nyukingaku.ToString() + " ,update_user_cd = '" + tss.user_cd + "',update_datetime = sysdate where torihikisaki_cd = '" + dr["torihikisaki_cd"].ToString() + "'"); } } tss.OracleUpdate("update tss_urikake_m set kurikosigaku = '" + w_kurikosi.ToString() + "',uriage_kingaku = '" + w_uriage.ToString() + "',syouhizeigaku = '" + w_syouhizei.ToString() + "',nyukingaku = '" + w_chk_nyukingaku.ToString() + "',nyukin_kanryou_flg = '" + w_nyukin_kanryou_flg + "',nyukingaku2 = '" + w_nyukin + "',urikake_zandaka = '" + w_zandaka.ToString() + "',update_user_cd = '" + tss.user_cd + "',update_datetime = sysdate where urikake_no = '" + w_urikake_no + "'"); } else { //新規 decimal w_no; w_no = tss.GetSeq("08"); w_urikake_no = w_no.ToString("0000000000"); tss.OracleInsert("insert into tss_urikake_m (torihikisaki_cd,uriage_simebi,kurikosigaku,uriage_kingaku,syouhizeigaku,nyukingaku,nyukin_kanryou_flg,nyukingaku2,urikake_zandaka,urikake_no,create_user_cd,create_datetime) values ('" + dr["torihikisaki_cd"].ToString() + "','" + tb_seikyu_simebi.Text + "','" + w_kurikosi.ToString() + "','" + w_uriage.ToString() + "','" + w_syouhizei.ToString() + "','0','0','" + w_nyukin.ToString() + "','" + w_zandaka.ToString() + "','" + w_urikake_no + "','" + tss.user_cd + "',sysdate)"); } //売上マスタの請求番号(urikake_no)を更新 tss.OracleUpdate("update tss_uriage_m set urikake_no = '" + w_urikake_no + "',update_user_cd = '" + tss.user_cd + "',update_datetime = sysdate where TO_CHAR(uriage_simebi,'YYYY/MM/DD') = '" + tb_seikyu_simebi.Text + "' and torihikisaki_cd = '" + dr["torihikisaki_cd"].ToString() + "'"); //最後に取引先マスタにスプールされた未処理入金額の消し込みを行う //入金処理の他に、なぜここでもやるのか? //この締め処理で、売上額の増減、新規レコードなどが作成される可能性があるので、全ての処理後に未処理入金額を処理する。 //そうしないと、未処理入金額を自動で処理するタイミングが他にない tss.urikake_kesikomi(dr["torihikisaki_cd"].ToString()); DialogResult result = MessageBox.Show("取引先:" + dr["torihikisaki_cd"].ToString() + " 請求番号:" + w_urikake_no.ToString() + " の請求書を発行しますか?", "確認", MessageBoxButtons.YesNo); if (result == DialogResult.Yes) { //請求書印刷 frm_seikyu_preview frm_skm = new frm_seikyu_preview(); frm_skm.in_urikake_no = w_urikake_no.ToString(); //frm_skm.in_torihikisaki_cd1 = tb_torihikisaki_cd1.Text; //frm_skm.in_torihikisaki_cd2 = tb_torihikisaki_cd2.Text; //frm_skm.in_simebi = tb_seikyu_simebi.Text; frm_skm.ShowDialog(this); frm_skm.Dispose(); } } MessageBox.Show("請求締め処理が完了しました。"); gamen_clear(); }