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; }