private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e) { //指定文字数になるまで読み込む(指定文字数以上になった場合はエラー) while (tss.StringByte(str_buff) < pub_length) { if (serialPort1.IsOpen == false) { break; } //BCRからのデータ受信 str_buff += serialPort1.ReadExisting(); //今現在の読み込み可能な文字列を読み取る } //終了ボタン等でシリアルポートをクローズされた場合の対処 if (serialPort1.IsOpen == false) { return; } //読み込み文字数が指定文字数を超えている if (tss.StringByte(str_buff) > pub_length) { str_buff = ""; return; } //読み込んだ文字列を項目毎に分解 BeginInvoke(new bcr_syori_Delegate(bcr_syori), new object[] { str_buff }); str_buff = ""; return; }
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e) { //256バイトになるまで読み込む(257以上になった場合はエラー) while (tss.StringByte(str_buff) < 256) { if (serialPort1.IsOpen == false) { break; } //BCRからのデータ受信 str_buff += serialPort1.ReadExisting(); //今現在の読み込み可能な文字列を読み取る } //終了ボタン等でシリアルポートをクローズされた場合の対処 if (serialPort1.IsOpen == false) { return; } //読み込み文字数が256を超えている if (tss.StringByte(str_buff) > 256) { //メッセージ表示 str_buff = ""; return; } //読み込んだ文字列を分解しdgvに表示 BeginInvoke(new dgv_add_Delegate(dgv_add), new object[] { str_buff }); str_buff = ""; return; }
private bool chk_bank_name() { bool bl = true; //戻り値用 if (tb_bank_name.Text == null || tb_bank_name.Text.Length == 0 || tss.StringByte(tb_bank_name.Text) > 128) { bl = false; } return(bl); }
private bool chk_koutei_cd2() { bool bl = true; //戻り値用 if (tb_koutei_cd.Text == null || tb_koutei_cd.Text.Length == 0 || tss.StringByte(tb_koutei_cd.Text) > 4) { bl = false; } return(bl); }
private bool chk_juchu_cd1() { //受注コード1は空白を許可しない bool bl = true; //戻り値用 if (tb_juchu_cd1.Text.Length == 0 || tss.StringByte(tb_juchu_cd1.Text) > 16) { bl = false; } //受注コードのオール9はシステムで使用しているため使用不可 if (tb_juchu_cd1.Text == "9999999999999999") { bl = false; } return(bl); }
//伝票番号チェック用 private bool chk_denpyou_no() { bool bl = true; //戻り値用 if (tss.StringByte(tb_denpyou_no.Text) > 16) { bl = false; } return(bl); }
private bool chk_torihikisaki_name() { bool bl = true; //戻り値用 if (tb_torihikisaki_name.Text == null || tb_torihikisaki_name.Text.Length == 0 || tss.StringByte(tb_torihikisaki_name.Text) > 40) { bl = false; } return(bl); }
private void btn_touroku_Click(object sender, EventArgs e) { DataTable dt_work = new DataTable(); //登録前に全ての項目をチェック //仕入番号 if (chk_siire_no() == false) { MessageBox.Show("仕入番号は10バイト以内で入力してください"); tb_siire_no.Focus(); return; } //仕入伝票番号 if (chk_siire_denpyou_no() == false) { MessageBox.Show("仕入伝票番号は16バイト以内で入力してください"); tb_siire_denpyou_no.Focus(); return; } //取引先コードのチェック if (chk_torihikisaki_cd() == false) { MessageBox.Show("取引先コードは6文字で入力してください。"); tb_torihikisaki_cd.Focus(); return; } //データグリッドビューの中を1行ずつループしてチェック int dgvrc = dgv_siire.Rows.Count; if (dgvrc == 1) { MessageBox.Show("表の中に何も入力されていません"); return; } tss.GetUser(); //ユーザー情報の取得 //テキストボックスとデータグリッドビューの入力内容チェック for (int i = 0; i < dgvrc - 1; i++) { if (dgv_siire.Rows[i].Cells[0].Value == null || tss.StringByte(dgv_siire.Rows[i].Cells[0].Value.ToString()) > 16) { MessageBox.Show("部品コードの値が異常です"); return; } if (dgv_siire.Rows[i].Cells[1].Value == null) { MessageBox.Show("部品名を入力してください"); return; } if (dgv_siire.Rows[i].Cells[2].Value == null || tss.StringByte(dgv_siire.Rows[i].Cells[2].Value.ToString()) > 12) { MessageBox.Show("仕入数量の値が異常です"); return; } if (dgv_siire.Rows[i].Cells[3].Value == null || tss.StringByte(dgv_siire.Rows[i].Cells[3].Value.ToString()) > 12) { MessageBox.Show("仕入単価を入力してください"); return; } if (dgv_siire.Rows[i].Cells[4].Value == null) { MessageBox.Show("仕入締日を入力してください"); return; } //支払計上日が空白の場合、""を代入 空欄だとnull扱いされ、SQエラー回避 if (dgv_siire.Rows[i].Cells[6].Value == null) { dgv_siire.Rows[i].Cells[6].Value = ""; } //備考が空白の場合、""を代入 空欄だとnull扱いされ、SQエラー回避 if (dgv_siire.Rows[i].Cells[7].Value == null) { dgv_siire.Rows[i].Cells[7].Value = ""; } } dt_work = tss.OracleSelect("select * from tss_siire_m where siire_no = '" + tb_siire_no.Text.ToString() + "'"); int rc = dt_work.Rows.Count; int rc2 = dgv_siire.Rows.Count; tss.GetUser(); if (rc == 0) { for (int i = 0; i < rc2 - 1; i++) { bool bl = tss.OracleInsert("insert into tss_siire_m (siire_no, seq,torihikisaki_cd, siire_date,buhin_cd,buhin_name,siire_su,siire_tanka,siire_kingaku,siire_denpyo_no,siire_simebi,bikou,create_user_cd,create_datetime) values ('" + tb_siire_no.Text.ToString() + "','" + (i + 1) + "','" + tb_torihikisaki_cd.Text.ToString() + "','" + dtp_siire_date.Value.ToShortDateString() + "','" + dgv_siire.Rows[i].Cells[0].Value.ToString() + "','" + dgv_siire.Rows[i].Cells[1].Value.ToString() + "','" + dgv_siire.Rows[i].Cells[2].Value.ToString() + "','" + dgv_siire.Rows[i].Cells[3].Value.ToString() + "','" + dgv_siire.Rows[i].Cells[4].Value.ToString() + "','" + tb_siire_denpyou_no.Text.ToString() + "','" + dgv_siire.Rows[i].Cells[5].Value.ToString() + "','" //+ "to_date('" + dgv_siire.Rows[i].Cells[5].Value.ToString() + "','YYYY/MM/DD HH24:MI:SS'),'" //+ "to_date('" + dgv_siire.Rows[i].Cells[6].Value.ToString() + "','YYYY/MM/DD HH24:MI:SS'),'" + dgv_siire.Rows[i].Cells[7].Value.ToString() + "','" + tss.user_cd + "',SYSDATE)"); if (bl != true) { tss.ErrorLogWrite(tss.user_cd, "仕入登録", "登録ボタン押下時のOracleInsert"); MessageBox.Show("仕入処理でエラーが発生しました。" + Environment.NewLine + "処理を中止します。"); this.Close(); } else { } } tb_create_user_cd.Text = tss.user_cd; tb_create_datetime.Text = DateTime.Now.ToString(); MessageBox.Show("仕入登録しました。"); w_siire_no = tss.GetSeq("06"); dgv_siire.Rows.Clear(); tb_torihikisaki_cd.Clear(); tb_torihikisaki_name.Clear(); dtp_siire_date.Value = DateTime.Today; tb_siire_denpyou_no.Clear(); tb_create_user_cd.Clear(); tb_create_datetime.Clear(); tb_update_user_cd.Clear(); tb_update_datetime.Clear(); tb_siire_no.Text = w_siire_no.ToString("0000000000"); return; } else { DialogResult result = MessageBox.Show("既存の仕入データを上書きしますか?", "仕入データの上書き確認", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2); if (result == DialogResult.OK) { //仕入マスタから削除してインサート tss.OracleDelete("delete from tss_siire_m WHERE siire_no = '" + tb_siire_no.Text.ToString() + "'"); for (int i = 0; i < rc2 - 1; i++) { bool bl = tss.OracleInsert("insert into tss_siire_m (siire_no, seq,torihikisaki_cd, siire_date,buhin_cd,buhin_name,siire_su,siire_tanka,siire_kingaku,siire_denpyo_no,siire_simebi,bikou,create_user_cd,create_datetime,update_user_cd,update_datetime) values ('" + tb_siire_no.Text.ToString() + "','" + (i + 1) + "','" + tb_torihikisaki_cd.Text.ToString() + "','" + dtp_siire_date.Value.ToShortDateString() + "','" + dgv_siire.Rows[i].Cells[0].Value.ToString() + "','" + dgv_siire.Rows[i].Cells[1].Value.ToString() + "','" + dgv_siire.Rows[i].Cells[2].Value.ToString() + "','" + dgv_siire.Rows[i].Cells[3].Value.ToString() + "','" + dgv_siire.Rows[i].Cells[4].Value.ToString() + "','" + tb_siire_denpyou_no.Text.ToString() + "','" + dgv_siire.Rows[i].Cells[5].Value.ToString() + "','" + dgv_siire.Rows[i].Cells[7].Value.ToString() + "','" + tb_create_user_cd.Text.ToString() + "',"//←カンマがあると、日付をインサートする際にエラーになるので注意する + "to_date('" + tb_create_datetime.Text.ToString() + "','YYYY/MM/DD HH24:MI:SS'),'" + tss.user_cd + "',SYSDATE)"); if (bl != true) { tss.ErrorLogWrite(tss.user_cd, "仕入登録", "登録ボタン押下時のOracleInsert"); MessageBox.Show("仕入処理でエラーが発生しました。" + Environment.NewLine + "処理を中止します。"); this.Close(); } else { } } tb_update_user_cd.Text = tss.user_cd.ToString(); tb_update_datetime.Text = DateTime.Now.ToString(); MessageBox.Show("仕入登録しました。"); w_siire_no = tss.GetSeq("06"); dgv_siire.Rows.Clear(); tb_torihikisaki_cd.Clear(); tb_torihikisaki_name.Clear(); dtp_siire_date.Value = DateTime.Today; tb_siire_denpyou_no.Clear(); tb_create_user_cd.Clear(); tb_create_datetime.Clear(); tb_update_user_cd.Clear(); tb_update_datetime.Clear(); tb_siire_no.Text = w_siire_no.ToString("0000000000"); return; } //「いいえ」が選択された時 else if (result == DialogResult.Cancel) { return; } } }
private void btn_touroku_Click(object sender, EventArgs e) { //入力項目のチェック if (chk_seihin_kousei_name() == false) { MessageBox.Show("製品構成名称が正しく入力されていません。"); tb_seihin_kousei_name.Focus(); return; } //データグリッドビューの中を1行ずつループしてチェック int dgvrc = dgv_seihin_kousei.Rows.Count; if (dgvrc == 1) { MessageBox.Show("表の中に何も入力されていません"); return; } tss.GetUser(); //ユーザー情報の取得 //テキストボックスとデータグリッドビューの入力内容チェック for (int i = 0; i < dgvrc - 1; i++) { if (dgv_seihin_kousei.Rows[i].Cells[0].Value == null || dgv_seihin_kousei.Rows[i].Cells[0].Value.ToString() == "" || int.Parse(dgv_seihin_kousei.Rows[i].Cells[0].Value.ToString()) <= 0 || tss.StringByte(dgv_seihin_kousei.Rows[i].Cells[0].Value.ToString()) > 1) { MessageBox.Show("部品レベルの値が異常です。(1~9の範囲で入力)"); dgv_seihin_kousei.Focus(); dgv_seihin_kousei.CurrentCell = dgv_seihin_kousei[0, i]; return; } if (dgv_seihin_kousei.Rows[i].Cells[1].Value == null || dgv_seihin_kousei.Rows[i].Cells[1].Value.ToString() == "" || tss.StringByte(dgv_seihin_kousei.Rows[i].Cells[1].Value.ToString()) > 16) { MessageBox.Show("部品コードの値が異常です。(1バイト以上、16バイト以内の文字で入力)"); dgv_seihin_kousei.Focus(); dgv_seihin_kousei.CurrentCell = dgv_seihin_kousei[1, i]; return; } if (dgv_seihin_kousei.Rows[i].Cells[2].Value == null || dgv_seihin_kousei.Rows[i].Cells[2].Value.ToString() == "" || tss.StringByte(dgv_seihin_kousei.Rows[i].Cells[2].Value.ToString()) > 40) { MessageBox.Show("部品名の値が異常です。(1バイト以上、40バイト以内の文字で入力)"); dgv_seihin_kousei.Focus(); dgv_seihin_kousei.CurrentCell = dgv_seihin_kousei[2, i]; return; } if (dgv_seihin_kousei.Rows[i].Cells[3].Value == null || dgv_seihin_kousei.Rows[i].Cells[3].Value.ToString() == "" || double.Parse(dgv_seihin_kousei.Rows[i].Cells[3].Value.ToString()) > 9999999999.99 || double.Parse(dgv_seihin_kousei.Rows[i].Cells[3].Value.ToString()) < -9999999999.99 || tss.StringByte(dgv_seihin_kousei.Rows[i].Cells[3].Value.ToString()) > 16) { MessageBox.Show("使用数量の値が異常です。(10桁以内。小数点以下2桁以内で入力)"); dgv_seihin_kousei.Focus(); dgv_seihin_kousei.CurrentCell = dgv_seihin_kousei[3, i]; return; } if (tss.StringByte(dgv_seihin_kousei.Rows[i].Cells[4].Value.ToString()) > 16) { MessageBox.Show("互換部品コードの値が異常です。(1バイト以上、16バイト以内の文字で入力)"); dgv_seihin_kousei.Focus(); dgv_seihin_kousei.CurrentCell = dgv_seihin_kousei[4, i]; return; } //互換部品コードが入力されているのに、互換部品名がない場合 if (dgv_seihin_kousei.Rows[i].Cells[4].Value.ToString() != "" && dgv_seihin_kousei.Rows[i].Cells[5].Value.ToString() == "") { MessageBox.Show("互換部品名の値が異常です。(1バイト以上、40バイト以内の文字で入力)"); dgv_seihin_kousei.Focus(); dgv_seihin_kousei.CurrentCell = dgv_seihin_kousei[5, i]; return; } //互換部品コードが入力されていないのに、互換部品名がある場合 if (dgv_seihin_kousei.Rows[i].Cells[4].Value.ToString() == "" && dgv_seihin_kousei.Rows[i].Cells[5].Value.ToString() != "") { MessageBox.Show("互換部品コードの値が異常です。(1バイト以上、16バイト以内の文字で入力)"); dgv_seihin_kousei.Focus(); dgv_seihin_kousei.CurrentCell = dgv_seihin_kousei[4, i]; return; } } tss.GetUser(); int rc = dgv_seihin_kousei.Rows.Count; DataTable dt_work = new DataTable(); dt_work = tss.OracleSelect("select * from TSS_SEIHIN_KOUSEI_M WHERE seihin_cd = '" + tb_seihin_cd.Text.ToString() + "' and seihin_kousei_no = '" + tb_seihin_kousei_no.Text.ToString() + "'"); //新規の製品構成を登録する if (dt_work.Rows.Count == 0) { // dt_work.Rows.Clear(); for (int i = 0; i < rc - 1; i++) { dt_work.Rows.Add(); dt_work.Rows[i][0] = tb_seihin_cd.Text.ToString(); dt_work.Rows[i][1] = tb_seihin_kousei_no.Text.ToString(); dt_work.Rows[i][2] = i + 1; //SEQ dt_work.Rows[i][3] = dgv_seihin_kousei.Rows[i].Cells[0].Value.ToString(); //部品レベル dt_work.Rows[i][4] = dgv_seihin_kousei.Rows[i].Cells[1].Value.ToString(); //部品コード if (dgv_seihin_kousei.Rows[i].Cells[0].Value.ToString() == "1") { dt_work.Rows[i][5] = 999; //親行番号 dt_work.Rows[i][6] = ""; //親部品コード } if (int.Parse(dgv_seihin_kousei.Rows[i].Cells[0].Value.ToString()) > 1) { for (int j = 1; j < rc - 1; j++) { int a = int.Parse(dgv_seihin_kousei.Rows[i].Cells[0].Value.ToString()) - int.Parse(dgv_seihin_kousei.Rows[i - j].Cells[0].Value.ToString()); if (a == 0) { dt_work.Rows[i][5] = dt_work.Rows[i - 1][5]; //親行番号 dt_work.Rows[i][6] = dt_work.Rows[i - 1][6]; //親部品コード break; } if (a == 1) { dt_work.Rows[i][5] = dt_work.Rows[i - 1][2]; //親行番号 dt_work.Rows[i][6] = dt_work.Rows[i - 1][4]; //親部品コード break; } } } dt_work.Rows[i][7] = dgv_seihin_kousei.Rows[i].Cells[3].Value.ToString(); //使用数 dt_work.Rows[i][8] = dgv_seihin_kousei.Rows[i].Cells[4].Value.ToString(); //互換部品コード dt_work.Rows[i][9] = dgv_seihin_kousei.Rows[i].Cells[6].Value.ToString(); //備考 if (dt_work.Rows[i][10].ToString() == "") { dt_work.Rows[i][10] = tss.user_cd;//クリエイトユーザーコード } if (dt_work.Rows[i][11].ToString() == "") { dt_work.Rows[i][11] = DateTime.Now;//クリエイトデートタイム } } tss.OracleDelete("delete from TSS_SEIHIN_KOUSEI_M WHERE seihin_cd = '" + tb_seihin_cd.Text.ToString() + "' and seihin_kousei_no = '" + tb_seihin_kousei_no.Text.ToString() + "'"); for (int i = 0; i < rc - 1; i++) { tss.OracleInsert("INSERT INTO tss_seihin_kousei_m (seihin_cd,seihin_kousei_no,seq,buhin_level,buhin_cd,oya_seq,oya_buhin_cd,siyou_su,gokan_buhin_cd,bikou,create_user_cd,create_datetime)" + " VALUES ('" + dt_work.Rows[i][0].ToString() + "','" + dt_work.Rows[i][1].ToString() + "','" + dt_work.Rows[i][2].ToString() + "','" + dt_work.Rows[i][3].ToString() + "','" + dt_work.Rows[i][4].ToString() + "','" + dt_work.Rows[i][5].ToString() + "','" + dt_work.Rows[i][6].ToString() + "','" + dt_work.Rows[i][7].ToString() + "','" + dt_work.Rows[i][8].ToString() + "','" + dt_work.Rows[i][9].ToString() + "','" + dt_work.Rows[i][10].ToString() + "',SYSDATE)"); } tb_create_user_cd.Text = dt_work.Rows[0][10].ToString(); tb_create_datetime.Text = DateTime.Now.ToString(); MessageBox.Show("製品構成マスタに登録しました"); //製品構成名称マスタの更新 DataTable dt_work4 = new DataTable(); dt_work4 = tss.OracleSelect("select * from TSS_SEIHIN_KOUSEI_NAME_M WHERE seihin_cd = '" + tb_seihin_cd.Text.ToString() + "' and seihin_kousei_no = '" + tb_seihin_kousei_no.Text.ToString() + "'"); if (dt_work4.Rows.Count == 0) { tss.OracleInsert("INSERT INTO tss_seihin_kousei_name_m (seihin_cd,seihin_kousei_no,seihin_kousei_name,create_user_cd,create_datetime)" + " VALUES ('" + tb_seihin_cd.Text.ToString() + "','" + tb_seihin_kousei_no.Text.ToString() + "','" + tb_seihin_kousei_name.Text.ToString() + "','" + tss.user_cd + "',SYSDATE)"); } else { tss.OracleUpdate("UPDATE TSS_seihin_kousei_name_m SET seihin_cd = '" + tb_seihin_cd.Text.ToString() + "',seihin_kousei_name = '" + tb_seihin_kousei_name.Text.ToString() + "',UPDATE_USER_CD = '" + tss.user_cd + "',UPDATE_DATETIME = SYSDATE WHERE seihin_cd = '" + tb_seihin_cd.Text.ToString() + "'and seihin_kousei_no = '" + tb_seihin_kousei_no.Text.ToString() + "'"); } MessageBox.Show("製品構成名称マスタに登録しました"); seihin_kousei_name_disp(tb_seihin_cd.Text); } else { //既にある製品構成を更新する処理 //dt_work.Rows.Clear(); //dt_work2 = this.dgv_seihin_kousei.DataSource(); DataTable dtTmp = (DataTable)this.dgv_seihin_kousei.DataSource; dtTmp.AcceptChanges(); int rc2 = dtTmp.Rows.Count; dt_work.Rows.Clear(); for (int i = 0; i < rc2; i++) { dt_work.Rows.Add(); dt_work.Rows[i][0] = tb_seihin_cd.Text.ToString(); dt_work.Rows[i][1] = tb_seihin_kousei_no.Text.ToString(); dt_work.Rows[i][2] = i + 1; //SEQ dt_work.Rows[i][3] = dtTmp.Rows[i][0].ToString(); //部品レベル dt_work.Rows[i][4] = dtTmp.Rows[i][1].ToString(); //部品コード if (dtTmp.Rows[i][0].ToString() == "1") { dt_work.Rows[i][5] = 999; //親行番号 dt_work.Rows[i][6] = ""; //親部品コード } if (int.Parse(dtTmp.Rows[i][0].ToString()) > 1) { for (int j = 1; j < rc2 - 1; j++) { int a = int.Parse(dtTmp.Rows[i][0].ToString()) - int.Parse(dtTmp.Rows[i - j][0].ToString()); if (a == 0) { dt_work.Rows[i][5] = dt_work.Rows[i - 1][5]; //親行番号 dt_work.Rows[i][6] = dt_work.Rows[i - 1][6]; //親部品コード break; } if (a == 1) { dt_work.Rows[i][5] = dt_work.Rows[i - 1][2]; //親行番号 dt_work.Rows[i][6] = dt_work.Rows[i - 1][4]; //親部品コード break; } } } dt_work.Rows[i][7] = dtTmp.Rows[i][3].ToString(); //使用数 dt_work.Rows[i][8] = dtTmp.Rows[i][4].ToString(); //互換部品コード dt_work.Rows[i][9] = dtTmp.Rows[i][6].ToString(); //備考 if (dt_work.Rows[i][10].ToString() == "") { dt_work.Rows[i][10] = tb_create_user_cd.Text;//クリエイトユーザーコード } if (dt_work.Rows[i][11].ToString() == "") { dt_work.Rows[i][11] = tb_create_datetime.Text;//クリエイトデートタイム } } tss.OracleDelete("delete from TSS_SEIHIN_KOUSEI_M WHERE seihin_cd = '" + tb_seihin_cd.Text.ToString() + "' and seihin_kousei_no = '" + tb_seihin_kousei_no.Text.ToString() + "'"); for (int i = 0; i < rc - 1; i++) { tss.OracleInsert("INSERT INTO tss_seihin_kousei_m (seihin_cd,seihin_kousei_no,seq,buhin_level,buhin_cd,oya_seq,oya_buhin_cd,siyou_su,gokan_buhin_cd,bikou,create_user_cd,create_datetime,update_user_cd,update_datetime)" + " VALUES ('" + dt_work.Rows[i][0].ToString() + "','" + dt_work.Rows[i][1].ToString() + "','" + dt_work.Rows[i][2].ToString() + "','" + dt_work.Rows[i][3].ToString() + "','" + dt_work.Rows[i][4].ToString() + "','" + dt_work.Rows[i][5].ToString() + "','" + dt_work.Rows[i][6].ToString() + "','" + dt_work.Rows[i][7].ToString() + "','" + dt_work.Rows[i][8].ToString() + "','" + dt_work.Rows[i][9].ToString() + "','" + dt_work.Rows[i][10].ToString() + "'," + "to_date('" + dt_work.Rows[i][11].ToString() + "','YYYY/MM/DD HH24:MI:SS'),'" + tss.user_cd + "',SYSDATE)"); } MessageBox.Show("製品構成マスタに登録しました"); //製品構成名称マスタの更新 DataTable dt_work4 = new DataTable(); dt_work4 = tss.OracleSelect("select * from TSS_SEIHIN_KOUSEI_NAME_M WHERE seihin_cd = '" + tb_seihin_cd.Text.ToString() + "' and seihin_kousei_no = '" + tb_seihin_kousei_no.Text.ToString() + "'"); if (dt_work4.Rows.Count == 0) { tss.OracleInsert("INSERT INTO tss_seihin_kousei_name_m (seihin_cd,seihin_kousei_no,seihin_kousei_name,create_user_cd,create_datetime)" + " VALUES ('" + tb_seihin_cd.Text.ToString() + "','" + tb_seihin_kousei_no.Text.ToString() + "','" + tb_seihin_kousei_name.Text.ToString() + "','" + tss.user_cd + "',SYSDATE)"); } else { tss.OracleUpdate("UPDATE TSS_seihin_kousei_name_m SET seihin_cd = '" + tb_seihin_cd.Text.ToString() + "',seihin_kousei_name = '" + tb_seihin_kousei_name.Text.ToString() + "',UPDATE_USER_CD = '" + tss.user_cd + "',UPDATE_DATETIME = SYSDATE WHERE seihin_cd = '" + tb_seihin_cd.Text.ToString() + "'and seihin_kousei_no = '" + tb_seihin_kousei_no.Text.ToString() + "'"); } tb_update_user_cd.Text = tss.user_cd.ToString(); tb_update_datetime.Text = DateTime.Now.ToString(); MessageBox.Show("製品構成名称マスタに登録しました"); seihin_kousei_name_disp(tb_seihin_cd.Text); } }
private void btn_touroku_Click(object sender, EventArgs e) { tss.GetUser(); //ユーザー情報の取得 int int_insert = 0; //新規レコード数 int int_update = 0; //更新レコード数 //登録前にデータのチェック //※削除はできない仕様なので、削除レコード等の考慮はしない foreach (DataRow dr in dt_kubun_m.Rows) { //区分コード文字数チェック if (tss.StringByte(dr["KUBUN_CD"].ToString()) == 0 || tss.StringByte(dr["KUBUN_CD"].ToString()) > 2) { dgv_kubun_m.Focus(); MessageBox.Show("区分コードの文字数に異常があります。 [" + dr["KUBUN_CD"].ToString() + "]" + Environment.NewLine + "区分コードは00から99までです。"); break; //foreachを抜ける } //区分名文字数チェック if (tss.StringByte(dr["KUBUN_NAME"].ToString()) == 0 || tss.StringByte(dr["KUBUN_NAME"].ToString()) > 20) { dgv_kubun_m.Focus(); MessageBox.Show("区分名の文字数に異常があります。 [" + dr["KUBUN_NAME"].ToString() + "]" + Environment.NewLine + "区分名は半角20文字(全角10文字)までです。"); break; //foreachを抜ける } //備考文字数チェック if (tss.StringByte(dr["BIKOU"].ToString()) > 128) { dgv_kubun_m.Focus(); MessageBox.Show("備考の文字数に異常があります。 [" + dr["BIKOU"].ToString() + "]" + Environment.NewLine + "備考は半角128文字(全角64文字)までです。"); break; //foreachを抜ける } //区分コードを00形式にする int i; if (int.TryParse(dr["KUBUN_CD"].ToString(), out i)) { //変換出来たら、iにその数値が入る dr["KUBUN_CD"] = i.ToString("00"); } else { dgv_kubun_m.Focus(); MessageBox.Show("区分コードに数字以外の文字があります。 [" + dr["KUBUN_CD"].ToString() + "]"); break; //foreachを抜ける } //空白項目に適切な値を入れる if (dr["KUBUN_MEISYOU_CD"].ToString() == null || dr["KUBUN_MEISYOU_CD"].ToString() == "") { dr["KUBUN_MEISYOU_CD"] = str_kubun_cd; dr["CREATE_USER_CD"] = tss.user_cd; } //重複したキーが無いかチェック if (dt_kubun_m.Select("KUBUN_CD = " + dr["KUBUN_CD"].ToString()).Length >= 2) { dgv_kubun_m.Focus(); MessageBox.Show("区分コード [" + dr["KUBUN_CD"].ToString() + "] が重複しています。"); break; //foreachを抜ける } //区分名が空白はNGとする if (dr["KUBUN_NAME"].ToString() == "") { dgv_kubun_m.Focus(); MessageBox.Show("区分名が空白です。"); break; //foreachを抜ける } //同一キーを読み込み、あったら比較しUpdate又は何もしない、無かったらInsert DataTable dt_check = new DataTable(); dt_check = tss.OracleSelect("select * from tss_kubun_m where kubun_meisyou_cd = '" + dr["KUBUN_MEISYOU_CD"].ToString() + "' and kubun_cd = '" + dr["KUBUN_CD"].ToString() + "'"); if (dt_check.Rows.Count >= 1) { //同一キーがある場合 //変更があるかチェック if (dt_check.Rows[0]["KUBUN_NAME"].ToString() != dr["KUBUN_NAME"].ToString() || dt_check.Rows[0]["BIKOU"].ToString() != dr["BIKOU"].ToString()) { //違いがある場合はUpdate bool bl = tss.OracleUpdate("UPDATE TSS_KUBUN_M SET KUBUN_NAME = '" + dr["KUBUN_NAME"].ToString() + "',BIKOU = '" + dr["BIKOU"].ToString() + "',UPDATE_USER_CD = '" + tss.user_cd + "',UPDATE_DATETIME = SYSDATE WHERE KUBUN_MEISYOU_CD = '" + dr["KUBUN_MEISYOU_CD"].ToString() + "' and KUBUN_CD = '" + dr["KUBUN_CD"].ToString() + "'"); if (bl != true) { tss.ErrorLogWrite(tss.user_cd, "区分マスタ/登録", "登録ボタン押下時のOracleUpdate"); MessageBox.Show("書込みでエラーが発生しました。" + Environment.NewLine + "処理を中止します。"); this.Close(); } else { int_update++; } } } else { //同一キーが無い場合はInsert bool bl = tss.OracleInsert("INSERT INTO tss_kubun_m (kubun_meisyou_cd,kubun_cd,kubun_name,bikou,create_user_cd,create_datetime) VALUES ('" + dr["kubun_meisyou_cd"].ToString() + "','" + dr["kubun_cd"].ToString() + "','" + dr["kubun_name"].ToString() + "','" + dr["bikou"].ToString() + "','" + tss.user_cd + "',SYSDATE)"); if (bl != true) { tss.ErrorLogWrite(tss.user_cd, "区分名称マスタ/登録", "登録ボタン押下時のOracleInsert"); MessageBox.Show("書込みでエラーが発生しました。" + Environment.NewLine + "処理を中止します。"); this.Close(); } else { int_insert++; } } } if (int_insert != 0 || int_update != 0) { MessageBox.Show("登録しました。" + Environment.NewLine + "追加=" + int_insert.ToString() + Environment.NewLine + "更新=" + int_update.ToString()); } else { MessageBox.Show("追加・更新するデータはありません。"); } }
//登録ボタン押下イベント private void btn_touroku_Click(object sender, EventArgs e) { if (tss.User_Kengen_Check(3, 5) == false) { MessageBox.Show("権限がありません"); return; } DataTable dt_work = new DataTable(); //取引先コードのチェック if (chk_torihikisaki_cd() == false) { MessageBox.Show("取引先コードを入力してください。"); tb_torihikisaki_cd.Focus(); return; } //仕入締日のチェック if (chk_siire_simebi() == false) { MessageBox.Show("仕入締日を20バイト以内で入力してください。"); tb_torihikisaki_cd.Focus(); return; } //データグリッドビューの中を1行ずつループしてチェック int dgvrc = dgv_siire_simebi.Rows.Count; if (dgvrc == 0) { MessageBox.Show("表の中に何も入力されていません"); return; } tss.GetUser(); //ユーザー情報の取得 //テキストボックスとデータグリッドビューの入力内容チェック for (int i = 0; i < dgvrc; i++) { if (dgv_siire_simebi.Rows[i].Cells[0].Value == null || tss.StringByte(dgv_siire_simebi.Rows[i].Cells[0].Value.ToString()) > 20) { MessageBox.Show("仕入締日の値が異常です"); return; } if (dgv_siire_simebi.Rows[i].Cells[1].Value == null || decimal.Parse(dgv_siire_simebi.Rows[i].Cells[1].Value.ToString()) > decimal.Parse("9999999999.99") || decimal.Parse(dgv_siire_simebi.Rows[i].Cells[1].Value.ToString()) < decimal.Parse("-9999999999.99")) { MessageBox.Show("仕入金額(税抜)の値が異常です"); return; } if (dgv_siire_simebi.Rows[i].Cells[2].Value == null || decimal.Parse(dgv_siire_simebi.Rows[i].Cells[2].Value.ToString()) > decimal.Parse("9999999999.99") || decimal.Parse(dgv_siire_simebi.Rows[i].Cells[2].Value.ToString()) < decimal.Parse("-9999999999.99")) { MessageBox.Show("消費税額の値が異常です"); return; } if (dgv_siire_simebi.Rows[i].Cells[3].Value == null || decimal.Parse(dgv_siire_simebi.Rows[i].Cells[3].Value.ToString()) > decimal.Parse("9999999999.99") || decimal.Parse(dgv_siire_simebi.Rows[i].Cells[3].Value.ToString()) < decimal.Parse("-9999999999.99")) { MessageBox.Show("仕入金額合計の値が異常です"); return; } } //買掛マスタへの登録処理 //買掛マスタにレコードが存在するか確認 tss.GetUser(); dt_work = tss.OracleSelect("select * from tss_kaikake_m where torihikisaki_cd = '" + tb_torihikisaki_cd.Text + "' and siire_simebi = '" + tb_siire_simebi.Text.ToString() + "'"); int rc = dt_work.Rows.Count; int rc2 = dgv_siire_simebi.Rows.Count; //買掛マスタにレコードがない場合 if (rc == 0) { decimal siirekingaku = decimal.Parse(dgv_siire_simebi.Rows[0].Cells[1].Value.ToString()); decimal syouhizeigaku = decimal.Parse(dgv_siire_simebi.Rows[0].Cells[2].Value.ToString()); decimal kaikake_zandaka = siirekingaku + syouhizeigaku; bool bl = tss.OracleInsert("insert into tss_kaikake_m (torihikisaki_cd,siire_simebi,kurikosigaku,siharaigaku,siire_kingaku,syouhizeigaku,kaikake_zandaka,siharai_kanryou_flg,create_user_cd,create_datetime) values ('" + tb_torihikisaki_cd.Text.ToString() + "','" + tb_siire_simebi.Text.ToString() + "','" + 0 + "','" + 0 + "','" + siirekingaku.ToString() + "','" + syouhizeigaku.ToString() + "','" + kaikake_zandaka.ToString() + "','" + 0 + "','" + tss.user_cd + "',SYSDATE)"); if (bl != true) { tss.ErrorLogWrite(tss.user_cd, "仕入締日処理", "登録ボタン押下時のOracleInsert"); MessageBox.Show("仕入締日処理でエラーが発生しました。" + Environment.NewLine + "処理を中止します。"); this.Close(); } else { tb_create_user_cd.Text = tss.user_cd; tb_create_datetime.Text = DateTime.Now.ToString(); MessageBox.Show("仕入締日処理登録しました。"); tb_torihikisaki_cd.Clear(); tb_torihikisaki_name.Clear(); tb_siire_simebi.Clear(); dgv_siire_simebi.Rows.Clear(); tb_create_user_cd.Clear(); tb_create_datetime.Clear(); tb_update_user_cd.Clear(); tb_update_datetime.Clear(); } } //買掛マスタにレコードが存在している場合 else { DialogResult result = MessageBox.Show("既存の買掛データを上書きしますか?", "買掛データの上書き確認", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2); //直近の仕入締日の買掛残高を繰越額に入れる decimal siirekingaku = decimal.Parse(dgv_siire_simebi.Rows[0].Cells[1].Value.ToString()); decimal syouhizeigaku = decimal.Parse(dgv_siire_simebi.Rows[0].Cells[2].Value.ToString()); decimal kurikosigaku = get_kurikosi(tb_torihikisaki_cd.Text.ToString()); decimal siharai_gaku = decimal.Parse(dt_work.Rows[0][3].ToString()); decimal kaikake_zandaka = kurikosigaku - siharai_gaku + siirekingaku + syouhizeigaku; if (result == DialogResult.OK) { bool bl = tss.OracleUpdate("UPDATE TSS_kaikake_m SET kurikosigaku = '" + kurikosigaku + "',siire_kingaku = '" + siirekingaku + "',syouhizeigaku = '" + syouhizeigaku + "',kaikake_zandaka = '" + kaikake_zandaka + "',UPDATE_USER_CD = '" + tss.user_cd + "',UPDATE_DATETIME = SYSDATE WHERE torihikisaki_cd = '" + tb_torihikisaki_cd.Text.ToString() + "'and siire_simebi = '" + tb_siire_simebi.Text.ToString() + "'"); if (bl != true) { tss.ErrorLogWrite(tss.user_cd, "仕入締日処理", "登録ボタン押下時のOracleInsert"); MessageBox.Show("仕入締日処理でエラーが発生しました。" + Environment.NewLine + "処理を中止します。"); this.Close(); } else { tb_update_user_cd.Text = tss.user_cd; tb_update_datetime.Text = DateTime.Now.ToString(); MessageBox.Show("仕入締日処理登録しました。"); } //買掛マスタの支払完了フラグ更新 string str = dgv_siire_simebi.Rows[0].Cells[0].Value.ToString(); string str2 = str.Substring(0, 10); dt_work = tss.OracleSelect("select * from tss_kaikake_m where torihikisaki_cd = '" + tb_torihikisaki_cd.Text + "'and siire_simebi = '" + str2.ToString() + "'"); string siharaigaku = dt_work.Rows[0]["siharaigaku"].ToString(); string siiregaku = dt_work.Rows[0]["siire_kingaku"].ToString(); string syouhizei_gaku = dt_work.Rows[0]["syouhizeigaku"].ToString(); if (siharaigaku == "") { siharaigaku = "0"; } if (siiregaku == "") { siiregaku = "0"; } if (syouhizei_gaku == "") { syouhizei_gaku = "0"; } decimal keisan = decimal.Parse(siiregaku) + decimal.Parse(syouhizei_gaku) - decimal.Parse(siharaigaku); if (keisan == 0) { tss.OracleUpdate("UPDATE TSS_kaikake_m SET siharai_kanryou_flg = '1',UPDATE_USER_CD = '" + tss.user_cd + "',UPDATE_DATETIME = SYSDATE WHERE torihikisaki_cd = '" + tb_torihikisaki_cd.Text.ToString() + "'and siire_simebi = '" + str2.ToString() + "'"); } else { tss.OracleUpdate("UPDATE TSS_kaikake_m SET siharai_kanryou_flg = '0',UPDATE_USER_CD = '" + tss.user_cd + "',UPDATE_DATETIME = SYSDATE WHERE torihikisaki_cd = '" + tb_torihikisaki_cd.Text.ToString() + "'and siire_simebi = '" + str2.ToString() + "'"); } //MessageBox.Show("買掛マスタの支払完了フラグ処理しました。"); tb_torihikisaki_cd.Clear(); tb_torihikisaki_name.Clear(); tb_siire_simebi.Clear(); dgv_siire_simebi.Rows.Clear(); tb_create_user_cd.Clear(); tb_create_datetime.Clear(); tb_update_user_cd.Clear(); tb_update_datetime.Clear(); } //「いいえ」が選択された時 else if (result == DialogResult.Cancel) { return; } } }
//登録ボタンクリック private void btn_turoku_Click(object sender, EventArgs e) { if (tss.User_Kengen_Check(3, 5) == false) { MessageBox.Show("権限がありません"); return; } DataTable dt_work = new DataTable(); //取引先コードのチェック if (chk_torihikisaki_cd() == false) { MessageBox.Show("取引先コードを入力してください。"); tb_torihikisaki_cd.Focus(); return; } //登録前に全ての項目をチェック //支払番号 if (chk_siharai_no() == false) { MessageBox.Show("支払は10バイト以内で入力してください"); tb_siharai_no.Focus(); return; } //支払日のチェック if (chk_siharai_date() == false) { MessageBox.Show("支払計上日を20バイト以内で入力してください。"); tb_torihikisaki_cd.Focus(); return; } //データグリッドビューの中を1行ずつループしてチェック int dgvrc = dgv_siharai.Rows.Count; if (dgvrc == 0) { MessageBox.Show("表の中に何も入力されていません"); return; } tss.GetUser(); //ユーザー情報の取得 //テキストボックスとデータグリッドビューの入力内容チェック for (int i = 0; i < dgvrc; i++) { if (dgv_siharai.Rows[i].Cells[0].Value == null || tss.StringByte(dgv_siharai.Rows[i].Cells[0].Value.ToString()) > 20) { MessageBox.Show("仕入締日の値が異常です"); return; } if (dgv_siharai.Rows[i].Cells[2].Value == null) { MessageBox.Show("支払区分を入力してください"); return; } if (dgv_siharai.Rows[i].Cells[2].Value.ToString() != "1" && dgv_siharai.Rows[i].Cells[2].Value.ToString() != "2" && dgv_siharai.Rows[i].Cells[2].Value.ToString() != "3") { MessageBox.Show("支払区分は1~3の値を入力してください"); return; } if (dgv_siharai.Rows[i].Cells[3].Value == null || decimal.Parse(dgv_siharai.Rows[i].Cells[3].Value.ToString()) > decimal.Parse("9999999999.99") || decimal.Parse(dgv_siharai.Rows[i].Cells[3].Value.ToString()) < decimal.Parse("-9999999999.99")) { MessageBox.Show("支払金額の値が異常です"); return; } if (dgv_siharai.Rows[i].Cells[4].Value == null || decimal.Parse(dgv_siharai.Rows[i].Cells[4].Value.ToString()) > decimal.Parse("9999999999.99") || decimal.Parse(dgv_siharai.Rows[i].Cells[4].Value.ToString()) < decimal.Parse("-9999999999.99")) { MessageBox.Show("手数料の値が異常です"); return; } if (dgv_siharai.Rows[i].Cells[5].Value == null || decimal.Parse(dgv_siharai.Rows[i].Cells[5].Value.ToString()) > decimal.Parse("9999999999.99") || decimal.Parse(dgv_siharai.Rows[i].Cells[5].Value.ToString()) < decimal.Parse("-9999999999.99")) { MessageBox.Show("相殺の値が異常です"); return; } if (dgv_siharai.Rows[i].Cells[6].Value == null || decimal.Parse(dgv_siharai.Rows[i].Cells[6].Value.ToString()) > decimal.Parse("9999999999.99") || decimal.Parse(dgv_siharai.Rows[i].Cells[6].Value.ToString()) < decimal.Parse("-9999999999.99")) { MessageBox.Show("支払額合計の値が異常です"); return; } if (dgv_siharai.Rows[i].Cells[7].Value != null && tss.StringByte(dgv_siharai.Rows[i].Cells[7].Value.ToString()) > 128) { MessageBox.Show("備考は128バイト以内で入力してください。"); return; } //支払計上日が空白の場合、""を代入 空欄だとnull扱いされ、SQエラー回避 if (dgv_siharai.Rows[i].Cells[1].Value == null) { dgv_siharai.Rows[i].Cells[1].Value = ""; } //備考が空白の場合、""を代入 空欄だとnull扱いされ、SQエラー回避 if (dgv_siharai.Rows[i].Cells[7].Value == null) { dgv_siharai.Rows[i].Cells[7].Value = ""; } } //チェックが済んだら、データベースに登録 //支払マスタ更新処理 siharai_kousin(); btn_tuika.Enabled = false; }
//private void splitContainer6_Panel2_Paint(object sender, PaintEventArgs e) //{ //} //登録ボタンクリック private void btn_turoku_Click(object sender, EventArgs e) { DataTable dt_work = new DataTable(); //登録前に全ての項目をチェック //支払番号 if (chk_siharai_no() == false) { MessageBox.Show("支払は10バイト以内で入力してください"); tb_siharai_no.Focus(); return; } //支払日のチェック if (chk_siharai_date() == false) { MessageBox.Show("支払計上日を20バイト以内で入力してください。"); tb_torihikisaki_cd.Focus(); return; } //データグリッドビューの中を1行ずつループしてチェック int dgvrc = dgv_siharai.Rows.Count; if (dgvrc == 0) { MessageBox.Show("表の中に何も入力されていません"); return; } tss.GetUser(); //ユーザー情報の取得 //テキストボックスとデータグリッドビューの入力内容チェック for (int i = 0; i < dgvrc ; i++) { if (dgv_siharai.Rows[i].Cells[0].Value == null || tss.StringByte(dgv_siharai.Rows[i].Cells[0].Value.ToString()) > 20) { MessageBox.Show("仕入締日の値が異常です"); return; } if (dgv_siharai.Rows[i].Cells[2].Value == null) { MessageBox.Show("支払区分を入力してください"); return; } if (dgv_siharai.Rows[i].Cells[2].Value.ToString() != "1" && dgv_siharai.Rows[i].Cells[2].Value.ToString() != "2" && dgv_siharai.Rows[i].Cells[2].Value.ToString() != "3") { MessageBox.Show("支払区分は1~3の値を入力してください"); return; } if (dgv_siharai.Rows[i].Cells[3].Value == null || double.Parse(dgv_siharai.Rows[i].Cells[3].Value.ToString()) > 9999999999.99 || double.Parse(dgv_siharai.Rows[i].Cells[3].Value.ToString()) < -999999999.99) { MessageBox.Show("支払金額の値が異常です"); return; } if (dgv_siharai.Rows[i].Cells[4].Value == null || double.Parse(dgv_siharai.Rows[i].Cells[4].Value.ToString()) > 9999999999.99 || double.Parse(dgv_siharai.Rows[i].Cells[4].Value.ToString()) < -999999999.99) { MessageBox.Show("手数料の値が異常です"); return; } if (dgv_siharai.Rows[i].Cells[5].Value == null || double.Parse(dgv_siharai.Rows[i].Cells[5].Value.ToString()) > 9999999999.99 || double.Parse(dgv_siharai.Rows[i].Cells[5].Value.ToString()) < -999999999.99) { MessageBox.Show("相殺の値が異常です"); return; } if (dgv_siharai.Rows[i].Cells[6].Value == null || double.Parse(dgv_siharai.Rows[i].Cells[6].Value.ToString()) > 9999999999.99 || double.Parse(dgv_siharai.Rows[i].Cells[6].Value.ToString()) < -999999999.99) { MessageBox.Show("支払額合計の値が異常です"); return; } if (dgv_siharai.Rows[i].Cells[7].Value != null && tss.StringByte(dgv_siharai.Rows[i].Cells[7].Value.ToString()) > 128) { MessageBox.Show("備考は128バイト以内で入力してください。"); return; } //支払計上日が空白の場合、""を代入 空欄だとnull扱いされ、SQエラー回避 if (dgv_siharai.Rows[i].Cells[1].Value == null) { dgv_siharai.Rows[i].Cells[1].Value = ""; } //備考が空白の場合、""を代入 空欄だとnull扱いされ、SQエラー回避 if (dgv_siharai.Rows[i].Cells[7].Value == null) { dgv_siharai.Rows[i].Cells[7].Value = ""; } } //チェックが済んだら、データベースに登録 //支払マスタに同じ支払ナンバーのレコードが存在するか確認 tss.GetUser(); dt_work = tss.OracleSelect("select * from tss_siharai_m where siharai_no = '" + tb_siharai_no.Text + "'"); int rc = dt_work.Rows.Count; int rc2 = dgv_siharai.Rows.Count; double siharai = double.Parse(tb_siharai_goukei.Text.ToString()); double sisan = double.Parse(w_mibarai) - siharai; if (sisan != 0) { DialogResult result = MessageBox.Show("未払額と支払額が一致しませんが、よろしいですか?", "支払登録", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2); if (result == DialogResult.OK) { siharai_kousin(); } else if (result == DialogResult.Cancel) { //「キャンセル」が選択された時 Console.WriteLine("「キャンセル」しました"); return; } } else { siharai_kousin(); } }
private void btn_touroku_Click(object sender, EventArgs e) { //全ての入力内容のチェック int w_mode; //新規か既存かの判定 if (tb_uriage_no.Text.ToString() == w_uriage_no.ToString("0000000000")) { //新規 w_mode = 0; } else { //既存 w_mode = 1; } //取引先コード if (chk_torihikisaki_cd() == false) { MessageBox.Show("取引先コードに異常があります。"); tb_torihikisaki_cd.Focus(); return; } //売上計上日 if (chk_uriage_date() == false) { MessageBox.Show("売上計上日に異常があります。"); tb_uriage_date.Focus(); return; } //明細行のチェック if (dgv_m.Rows.Count - 1 < 1) { MessageBox.Show("売上の明細が入力されていません。"); dgv_m.Focus(); return; } //明細行の各行のチェック for (int i = 0; i < dgv_m.Rows.Count - 1; i++) { //受注コード int w_juchu_cd1_flg = 0; //0:未入力 1:入力済 int w_juchu_cd2_flg = 0; //0:未入力 1:入力済 string w_seihin_cd; if (dgv_m.Rows[i].Cells[4].Value.ToString() != null && dgv_m.Rows[i].Cells[4].Value.ToString() != "") { w_juchu_cd1_flg = 1; } if (dgv_m.Rows[i].Cells[5].Value.ToString() != null && dgv_m.Rows[i].Cells[5].Value.ToString() != "") { w_juchu_cd2_flg = 1; } //受注コード1または受注コード2のどちらかが入力されていたら、受注マスタを確認 if (w_juchu_cd1_flg == 1 || w_juchu_cd2_flg == 1) { w_seihin_cd = tss.get_juchu_to_seihin_cd(tb_torihikisaki_cd.Text.ToString(), dgv_m.Rows[i].Cells[4].Value.ToString(), dgv_m.Rows[i].Cells[5].Value.ToString()); if (w_seihin_cd == null) { MessageBox.Show("入力された受注コード1、または受注コード2は存在しません。"); dgv_m.CurrentCell = dgv_m[4, i]; return; } if (dgv_m.Rows[i].Cells[6].Value.ToString() != w_seihin_cd) { MessageBox.Show("受注情報に登録されている製品コードは変更できません。"); dgv_m.CurrentCell = dgv_m[6, i]; return; } } //製品コード if (chk_seihin_cd(dgv_m.Rows[i].Cells[6].Value.ToString()) == false) { MessageBox.Show("製品コードに異常があります。"); dgv_m.CurrentCell = dgv_m[6, i]; return; } //製品名 if (tss.StringByte(dgv_m.Rows[i].Cells[7].Value.ToString()) > 40) { MessageBox.Show("製品名は40バイト以内で入力してください。"); dgv_m.CurrentCell = dgv_m[7, i]; return; } //売上数 if (chk_uriage_su(dgv_m.Rows[i].Cells[8].Value.ToString()) == false) { MessageBox.Show("売上数に異常があります。"); dgv_m.CurrentCell = dgv_m[8, i]; return; } //販売単価 if (chk_hanbai_tanka(dgv_m.Rows[i].Cells[9].Value.ToString()) == false) { MessageBox.Show("販売単価に異常があります。"); dgv_m.CurrentCell = dgv_m[9, i]; return; } //製品名 if (tss.StringByte(dgv_m.Rows[i].Cells[14].Value.ToString()) > 128) { MessageBox.Show("備考は128バイト以内で入力してください。"); dgv_m.CurrentCell = dgv_m[14, i]; return; } //新規・更新チェック if (w_mode == 0) { //新規 DialogResult result = MessageBox.Show("新規に登録します。よろしいですか?", "確認", MessageBoxButtons.YesNo); if (result == DialogResult.Yes) { //「はい」が選択された時 //新しい売上を書き込み uriage_insert(); //新しい売上で受注マスタの売上数量、売上完了区分を更新 juchu_kousin(tb_uriage_no.Text, +1); //新しい売上で在庫を更新 zaiko_kousin(tb_uriage_no.Text, +1); MessageBox.Show("更新しました。"); gamen_clear(); //連番を新たに取得 w_uriage_no = tss.GetSeq("05"); uriage_no_disp(); } else { //「いいえ」が選択された時 return; } } else { //既存データ有 DialogResult result = MessageBox.Show("既存データを更新します。よろしいですか?", "確認", MessageBoxButtons.YesNo); if (result == DialogResult.Yes) { //「はい」が選択された時 //受注マスタの売上数、売上完了区分等をマイナス juchu_kousin(tb_uriage_no.Text, -1); //在庫をマイナス zaiko_kousin(tb_uriage_no.Text, -1); //売上情報を削除 uriage_delete(); //新しい売上を書き込み uriage_insert(); //新しい売上で受注マスタの売上数量、売上完了区分を更新 juchu_kousin(tb_uriage_no.Text, +1); //新しい売上で在庫を更新 zaiko_kousin(tb_uriage_no.Text, +1); MessageBox.Show("更新しました。"); gamen_clear(); //退避していた連番を表示 uriage_no_disp(); } else { //「いいえ」が選択された時 return; } } } }
//登録ボタン押下イベント private void btn_touroku_Click(object sender, EventArgs e) { DataTable dt_work = new DataTable(); //取引先コードのチェック if (chk_torihikisaki_cd() == false) { MessageBox.Show("取引先コードは6バイト以内で入力してください。"); tb_torihikisaki_cd.Focus(); return; } //仕入締日のチェック if (chk_siire_simebi() == false) { MessageBox.Show("仕入締日を20バイト以内で入力してください。"); tb_torihikisaki_cd.Focus(); return; } //データグリッドビューの中を1行ずつループしてチェック int dgvrc = dgv_siire_simebi.Rows.Count; if (dgvrc == 0) { MessageBox.Show("表の中に何も入力されていません"); return; } tss.GetUser(); //ユーザー情報の取得 //テキストボックスとデータグリッドビューの入力内容チェック for (int i = 0; i < dgvrc; i++) { if (dgv_siire_simebi.Rows[i].Cells[0].Value == null || tss.StringByte(dgv_siire_simebi.Rows[i].Cells[0].Value.ToString()) > 20) { MessageBox.Show("仕入締日の値が異常です"); return; } if (dgv_siire_simebi.Rows[i].Cells[1].Value == null || double.Parse(dgv_siire_simebi.Rows[i].Cells[1].Value.ToString()) > 9999999999.99 || double.Parse(dgv_siire_simebi.Rows[i].Cells[1].Value.ToString()) < -999999999.99) { MessageBox.Show("仕入金額(税抜)の値が異常です"); return; } if (dgv_siire_simebi.Rows[i].Cells[2].Value == null || double.Parse(dgv_siire_simebi.Rows[i].Cells[2].Value.ToString()) > 9999999999.99 || double.Parse(dgv_siire_simebi.Rows[i].Cells[2].Value.ToString()) < -999999999.99) { MessageBox.Show("消費税額の値が異常です"); return; } if (dgv_siire_simebi.Rows[i].Cells[3].Value == null || double.Parse(dgv_siire_simebi.Rows[i].Cells[3].Value.ToString()) > 9999999999.99 || double.Parse(dgv_siire_simebi.Rows[i].Cells[3].Value.ToString()) < -999999999.99) { MessageBox.Show("仕入金額合計の値が異常です"); return; } } //買掛マスタへの登録処理 //買掛マスタにレコードが存在するか確認 tss.GetUser(); dt_work = tss.OracleSelect("select * from tss_kaikake_m where torihikisaki_cd = '" + tb_torihikisaki_cd.Text + "' and siire_simebi = '" + tb_siire_simebi.Text.ToString() + "'"); int rc = dt_work.Rows.Count; int rc2 = dgv_siire_simebi.Rows.Count; //既存の買掛マスタから、繰越額があるか確認 //DataTable dt_work2 = new DataTable(); //dt_work2 = tss.OracleSelect("select siire_simebi,kurikosigaku,kaikake_zandaka from tss_kaikake_m where torihikisaki_cd = '" + tb_torihikisaki_cd.Text + "' ORDER BY siire_simebi"); //int rc3 = dt_work2.Rows.Count; //買掛マスタにレコードがない場合 if (rc == 0) { //double kurikosigaku = double.Parse(dt_work2.Rows[rc3 - 1][2].ToString()); //直近の仕入締日の買掛残高を繰越額に入れる //double siirekingaku = double.Parse(dgv_siire_simebi.Rows[0].Cells[1].Value.ToString()); //double syouhizeigaku = double.Parse(dgv_siire_simebi.Rows[0].Cells[2].Value.ToString()); //double kaikake_zandaka = kurikosigaku + siirekingaku + syouhizeigaku; //bool bl = tss.OracleInsert("insert into tss_kaikake_m (torihikisaki_cd, kurikosigaku,siire_simebi,siire_kingaku,syouhizeigaku,kaikake_zandaka,create_user_cd,create_datetime) values ('" // + tb_torihikisaki_cd.Text.ToString() + "','" // + kurikosigaku + "','" // + tb_siire_simebi.Text.ToString() + "','" // + dgv_siire_simebi.Rows[0].Cells[1].Value.ToString() + "','" // + dgv_siire_simebi.Rows[0].Cells[2].Value.ToString() + "','" // + kaikake_zandaka + "','" // + tss.user_cd + "',SYSDATE)"); double siirekingaku = double.Parse(dgv_siire_simebi.Rows[0].Cells[1].Value.ToString()); double syouhizeigaku = double.Parse(dgv_siire_simebi.Rows[0].Cells[2].Value.ToString()); bool bl = tss.OracleInsert("insert into tss_kaikake_m (torihikisaki_cd,siire_simebi,siire_kingaku,syouhizeigaku,siharai_kanryou_flg,create_user_cd,create_datetime) values ('" + tb_torihikisaki_cd.Text.ToString() + "','" + tb_siire_simebi.Text.ToString() + "','" + dgv_siire_simebi.Rows[0].Cells[1].Value.ToString() + "','" + dgv_siire_simebi.Rows[0].Cells[2].Value.ToString() + "','" + 0 + "','" + tss.user_cd + "',SYSDATE)"); if (bl != true) { tss.ErrorLogWrite(tss.user_cd, "仕入締日処理", "登録ボタン押下時のOracleInsert"); MessageBox.Show("仕入締日処理でエラーが発生しました。" + Environment.NewLine + "処理を中止します。"); this.Close(); } else { tb_create_user_cd.Text = tss.user_cd; tb_create_datetime.Text = DateTime.Now.ToString(); MessageBox.Show("仕入締日処理登録しました。"); } } //買掛マスタにレコードが存在している場合 else { DialogResult result = MessageBox.Show("既存の買掛データを上書きしますか?", "買掛データの上書き確認", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2); //double kurikosigaku = double.Parse(dt_work2.Rows[rc3 - 2][2].ToString()); //直近の仕入締日の買掛残高を繰越額に入れる double siirekingaku = double.Parse(dgv_siire_simebi.Rows[0].Cells[1].Value.ToString()); double syouhizeigaku = double.Parse(dgv_siire_simebi.Rows[0].Cells[2].Value.ToString()); //double kaikake_zandaka = kurikosigaku + siirekingaku + syouhizeigaku; if (result == DialogResult.OK) { bool bl = tss.OracleUpdate("UPDATE TSS_kaikake_m SET siharaigaku = '" + siirekingaku + "',syouhizeigaku = '" + syouhizeigaku + "',UPDATE_USER_CD = '" + tss.user_cd + "',UPDATE_DATETIME = SYSDATE WHERE torihikisaki_cd = '" + tb_torihikisaki_cd.Text.ToString() + "'and siire_simebi = '" + tb_siire_simebi.Text.ToString() + "'"); //bool bl = tss.OracleUpdate("UPDATE TSS_kaikake_m SET kurikosigaku = '" // + kurikosigaku + "',siharaigaku = '" + siirekingaku + "',syouhizeigaku = '" + syouhizeigaku + "',kaikake_zandaka = '" + kaikake_zandaka // + "',UPDATE_USER_CD = '" + tss.user_cd + "',UPDATE_DATETIME = SYSDATE WHERE torihikisaki_cd = '" + tb_torihikisaki_cd.Text.ToString() + "'and siire_simebi = '" + tb_siire_simebi.Text.ToString() + "'"); ////仕入マスタから削除してインサート //tss.OracleDelete("delete from kaikake_m where torihikisaki_cd = '" + tb_torihikisaki_cd.Text + "' and siire_simebi = '" + tb_siire_simebi.Text.ToString() + "'"); //bool bl = tss.OracleInsert("insert into tss_kaikake_m (torihikisaki_cd, kurikosigaku,siire_simebi,siire_kingaku,syouhizeigaku,kaikake_zandaka,create_user_cd,create_datetime,update_user_cd,update_datetime) values ('" // + tb_torihikisaki_cd.Text.ToString() + "','" // + kurikosigaku + "','" // + tb_siire_simebi.Text.ToString() + "','" // + dgv_siire_simebi.Rows[0].Cells[1].Value.ToString() + "','" // + dgv_siire_simebi.Rows[0].Cells[2].Value.ToString() + "','" // + kaikake_zandaka + "','" // + tb_create_user_cd.Text.ToString() + "',"//←カンマがあると、日付をインサートする際にエラーになるので注意する // + "to_date('" + tb_create_datetime.Text.ToString() + "','YYYY/MM/DD HH24:MI:SS'),'" // + tss.user_cd + "',SYSDATE)"); if (bl != true) { tss.ErrorLogWrite(tss.user_cd, "仕入締日処理", "登録ボタン押下時のOracleInsert"); MessageBox.Show("仕入締日処理でエラーが発生しました。" + Environment.NewLine + "処理を中止します。"); this.Close(); } else { //tb_create_user_cd.Text = tss.user_cd; //tb_create_datetime.Text = DateTime.Now.ToString(); tb_update_user_cd.Text = tss.user_cd; tb_update_datetime.Text = DateTime.Now.ToString(); MessageBox.Show("仕入締日処理登録しました。"); } } //「いいえ」が選択された時 else if (result == DialogResult.Cancel) { return; } } }