예제 #1
0
        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;
        }