private void btn_barcode_Click(object sender, EventArgs e) { DataTable w_dt = new DataTable(); string w_bcr_moji; //戻り値のバーコード文字列 frm_bcr frm_bcr = new frm_bcr(); //バーコード読込画面への受け渡しデータ frm_bcr.pub_form_text = "生産指示日報 バーコード読み込み"; frm_bcr.pub_msg1 = "生産指示日報のバーコードをスキャンしてください。"; frm_bcr.pub_msg2 = ""; frm_bcr.pub_msg3 = ""; frm_bcr.pub_msg4 = ""; frm_bcr.pub_bcr_identification = "SJ1"; frm_bcr.pub_length = 64; //バーコード読込画面表示 frm_bcr.ShowDialog(this); //バーコード読込画面が閉じられた後の処理 w_bcr_moji = frm_bcr.pub_bcr_moji; frm_bcr.Dispose(); if(w_bcr_moji == "CANCEL") { //バーコード読込画面でキャンセルされた return; } if (w_bcr_moji == null) { //バーコード読込画面でエラーが発生した return; } //読み込んだバーコード文字列を分解し画面に表示 tb_bcr.Text = w_bcr_moji; tb_seisanbi.Text = tss.StringMidByte(w_bcr_moji, 3,10).TrimEnd(); tb_busyo_cd.Text = tss.StringMidByte(w_bcr_moji, 13, 4).TrimEnd(); tb_koutei_cd.Text = tss.StringMidByte(w_bcr_moji, 17, 3).TrimEnd(); tb_line_cd.Text = tss.StringMidByte(w_bcr_moji, 20, 3).TrimEnd(); tb_schedule_seq.Text = tss.StringMidByte(w_bcr_moji, 23, 3).TrimEnd(); tb_torihikisaki_cd.Text = tss.StringMidByte(w_bcr_moji, 26, 6).TrimEnd(); tb_juchu_cd1.Text = tss.StringMidByte(w_bcr_moji, 32, 16).TrimEnd(); tb_juchu_cd2.Text = tss.StringMidByte(w_bcr_moji, 48, 16).TrimEnd(); //同一バーコードの生産実績があるか確認 w_dt = tss.OracleSelect("select * from tss_seisan_jisseki_f where barcode = '" + w_bcr_moji + "'"); if (w_dt.Rows.Count >= 1) { //同一のバーコードが生産実績に存在する場合 MessageBox.Show("既に読み込み済です。"); return; } //表示させるスケジュールの読み込み w_dt = tss.OracleSelect("select * from tss_seisan_schedule_f where seisan_yotei_date = '" + tb_seisanbi.Text + "' and busyo_cd = '" + tb_busyo_cd.Text + "' and koutei_cd = '" + tb_koutei_cd.Text + "' and line_cd = '" + tb_line_cd.Text + "' and seq = '" + tb_schedule_seq.Text + "'"); if(w_dt == null || w_dt.Rows.Count <= 0) { MessageBox.Show("読み込んだバーコードと一致する生産スケジュールがありません。"); return; } disp_schedule(w_dt); //その他必要な項目を表示 tb_koutei_name.Text = tss.get_koutei_name(tb_koutei_cd.Text); tb_torihikisaki_name.Text = tss.get_torihikisaki_name(tb_torihikisaki_cd.Text); }
private void btn_barcode_Click(object sender, EventArgs e) { DataTable w_dt = new DataTable(); string w_bcr_moji; //戻り値のバーコード文字列 frm_bcr frm_bcr = new frm_bcr(); //バーコード読込画面への受け渡しデータ frm_bcr.pub_form_text = "生産指示日報 バーコード読み込み"; frm_bcr.pub_msg1 = "生産指示日報のバーコードをスキャンしてください。"; frm_bcr.pub_msg2 = ""; frm_bcr.pub_msg3 = ""; frm_bcr.pub_msg4 = ""; frm_bcr.pub_bcr_identification = "SJ1"; frm_bcr.pub_length = 64; //バーコード読込画面表示 frm_bcr.ShowDialog(this); //バーコード読込画面が閉じられた後の処理 w_bcr_moji = frm_bcr.pub_bcr_moji; frm_bcr.Dispose(); if (w_bcr_moji == "CANCEL") { //バーコード読込画面でキャンセルされた return; } if (w_bcr_moji == null) { //バーコード読込画面でエラーが発生した return; } //読み込んだバーコード文字列を分解し画面に表示 tb_bcr.Text = w_bcr_moji; tb_seisanbi.Text = tss.StringMidByte(w_bcr_moji, 3, 10).TrimEnd(); tb_busyo_cd.Text = tss.StringMidByte(w_bcr_moji, 13, 4).TrimEnd(); tb_busyo_name.Text = tss.get_busyo_name(tb_busyo_cd.Text); tb_koutei_cd.Text = tss.StringMidByte(w_bcr_moji, 17, 3).TrimEnd(); tb_koutei_name.Text = tss.get_koutei_name(tb_koutei_cd.Text); tb_line_cd.Text = tss.StringMidByte(w_bcr_moji, 20, 3).TrimEnd(); tb_line_name.Text = tss.get_line_name(tb_line_cd.Text); tb_schedule_seq.Text = tss.StringMidByte(w_bcr_moji, 23, 3).TrimEnd(); tb_torihikisaki_cd.Text = tss.StringMidByte(w_bcr_moji, 26, 6).TrimEnd(); tb_torihikisaki_name.Text = tss.get_torihikisaki_name(tb_torihikisaki_cd.Text); tb_juchu_cd1.Text = tss.StringMidByte(w_bcr_moji, 32, 16).TrimEnd(); tb_juchu_cd2.Text = tss.StringMidByte(w_bcr_moji, 48, 16).TrimEnd(); tb_juchu_su.Text = tss.get_juchu_juchu_su(tb_torihikisaki_cd.Text, tb_juchu_cd1.Text, tb_juchu_cd2.Text); tb_seisan_zumi_su.Text = tss.get_seisan_su(tb_torihikisaki_cd.Text, tb_juchu_cd1.Text, tb_juchu_cd2.Text); tb_seisankisyu.Text = tss.get_seisankisyu(tb_seihin_cd.Text, tb_koutei_cd.Text); //同一バーコードの生産実績があるか確認 w_dt = read_seisan_jisseki(); if (w_dt.Rows.Count >= 1) { //同一のバーコードが生産実績に存在する場合 //「既に入力済み」であることを表示し、選択画面で選択させる(選択=修正、選択しない=新規(別の行として)入力、戻る=キャンセル) //選択画面へ jisseki_select(w_dt); } else { //同一バーコードが生産実績に存在しない場合 //新規に入力 tb_seihin_cd.Text = tss.get_juchu_to_seihin_cd(tb_torihikisaki_cd.Text, tb_juchu_cd1.Text, tb_juchu_cd2.Text); tb_seihin_name.Text = tss.get_seihin_name(tb_seihin_cd.Text); tb_seisankisyu.Text = tss.get_seisankisyu(tb_seihin_cd.Text, tb_koutei_cd.Text); disp_schedule(); clear_seisan_jisseki(); tb_busyo_cd.Focus(); } }