// 伝票名から伝票番号を取得
        public string getDenpyoNo()
        {
            List <string> lstTableName = new List <string>();

            lstTableName.Add("@テーブル名");

            List <string> lstDataName = new List <string>();

            lstDataName.Add("支払伝票");

            string strRet;

            DBConnective dbconnective = new DBConnective();

            try
            {
                // get伝票番号_PROC"を実行
                strRet = dbconnective.RunSqlRe("get伝票番号_PROC", CommandType.StoredProcedure, lstDataName, lstTableName, "@番号");
            }
            catch
            {
                throw;
            }
            finally
            {
                dbconnective.DB_Disconnect();
            }

            return(strRet);
        }
        ///<summary>
        ///updMOdataKakutei
        ///MOデータ確定処理
        ///</summary>
        public void updMOdataKakutei(List <string> lstStringMOKakutei)
        {
            List <string> lstTableName = new List <string>();

            lstTableName.Add("@年月度");
            lstTableName.Add("@商品コード");
            lstTableName.Add("@ユーザー名");

            DBConnective dbconnective = new DBConnective();

            //トランザクション開始
            dbconnective.BeginTrans();
            try
            {
                //MOデータ削除_PROCを実行
                dbconnective.RunSqlRe("MOデータ確定_PROC", CommandType.StoredProcedure, lstStringMOKakutei, lstTableName);

                //コミット
                dbconnective.Commit();
            }
            catch (Exception ex)
            {
                //ロールバック開始
                dbconnective.Rollback();
                throw (ex);
            }
            finally
            {
                //トランザクション終了
                dbconnective.DB_Disconnect();
            }
        }
        ///<summary>
        ///updMOMasterCheck
        ///MOデータ商品マスタチェック_PROC実行処理
        ///</summary>
        public void updMOMasterCheck(List <string> lstString)
        {
            List <string> lstTableName = new List <string>();

            lstTableName.Add("@年月");
            lstTableName.Add("@メーカーコード");
            lstTableName.Add("@大分類コード");
            lstTableName.Add("@中分類コード");
            lstTableName.Add("@ユーザー名");

            DBConnective dbconnective = new DBConnective();

            //トランザクション開始
            dbconnective.BeginTrans();
            try
            {
                //中分類が空の場合
                if (lstString[3].Trim() == "")
                {
                    string strSQL = "MOデータ商品マスタチェック_PROC '" + lstString[0] +
                                    "','" + lstString[1] +
                                    "','" + lstString[2] +
                                    "', NULL" +
                                    ",'" + lstString[4] + "'";

                    dbconnective.RunSql(strSQL);
                }
                else
                {
                    //MOデータ商品マスタチェック_PROCを実行
                    dbconnective.RunSqlRe("MOデータ商品マスタチェック_PROC", CommandType.StoredProcedure, lstString, lstTableName);
                }

                //コミット
                dbconnective.Commit();
            }
            catch (Exception ex)
            {
                //ロールバック開始
                dbconnective.Rollback();
                throw (ex);
            }
            finally
            {
                //トランザクション終了
                dbconnective.DB_Disconnect();
            }
        }
        ///<summary>
        ///delMO
        ///削除処理
        ///</summary>
        public void delMO(string strYM, string strShohinCd)
        {
            List <string> lstTableName = new List <string>();

            lstTableName.Add("@年月度");
            lstTableName.Add("@商品コード");

            List <string> lstDataName = new List <string>();

            lstDataName.Add(strYM);
            lstDataName.Add(strShohinCd);

            DBConnective dbconnective = new DBConnective();

            //トランザクション開始
            dbconnective.BeginTrans();
            try
            {
                //MOデータ削除_PROCを実行
                dbconnective.RunSqlRe("MOデータ削除_PROC", CommandType.StoredProcedure, lstDataName, lstTableName);

                //コミット
                dbconnective.Commit();
            }
            catch (Exception ex)
            {
                //ロールバック開始
                dbconnective.Rollback();
                throw;
            }
            finally
            {
                //トランザクション終了
                dbconnective.DB_Disconnect();
            }
        }
        ///<summary>
        ///updHachukoshin
        ///発注更新処理
        ///</summary>
        public void updHachukoshin(List <string> lstStringHachukoshin, List <string> lstStringMOkakuteiChubun)
        {
            List <string> lstTableName = new List <string>();

            lstTableName.Add("@仕入先コード");
            lstTableName.Add("@発注年月日");
            lstTableName.Add("@発注番号");
            lstTableName.Add("@発注者コード");
            lstTableName.Add("@営業所コード");
            lstTableName.Add("@担当者コード");
            lstTableName.Add("@受注番号");
            lstTableName.Add("@出庫番号");
            lstTableName.Add("@行番号");
            lstTableName.Add("@商品コード");
            lstTableName.Add("@メーカーコード");
            lstTableName.Add("@大分類コード");
            lstTableName.Add("@中分類コード");
            lstTableName.Add("@C1");
            lstTableName.Add("@C2");
            lstTableName.Add("@C3");
            lstTableName.Add("@C4");
            lstTableName.Add("@C5");
            lstTableName.Add("@C6");
            lstTableName.Add("@発注数量");
            lstTableName.Add("@発注単価");
            lstTableName.Add("@発注金額");
            lstTableName.Add("@納期");
            lstTableName.Add("@発注フラグ");
            lstTableName.Add("@注番");
            lstTableName.Add("@加工区分");
            lstTableName.Add("@仕入先名称");
            lstTableName.Add("@ユーザー名");

            DBConnective dbconnective = new DBConnective();

            //トランザクション開始
            dbconnective.BeginTrans();
            try
            {
                for (int intCntRow = 0; intCntRow < lstStringMOkakuteiChubun.Count; intCntRow++)
                {
                    lstStringHachukoshin[12] = lstStringMOkakuteiChubun[intCntRow];

                    //MOデータの確定処理
                    dbconnective.RunSqlRe("発注更新_PROC", CommandType.StoredProcedure, lstStringHachukoshin, lstTableName);
                }

                //コミット
                dbconnective.Commit();
            }
            catch (Exception ex)
            {
                //ロールバック開始
                dbconnective.Rollback();
                throw (ex);
            }
            finally
            {
                //トランザクション終了
                dbconnective.DB_Disconnect();
            }
        }
        /////<summary>
        /////getViewGrid
        /////code入力箇所からフォーカスが外れた時
        /////</summary>
        //public DataTable getViewGrid(string strDaibunCD)
        //{
        //    //SQLファイルのパスとファイル名を入れる用
        //    List<string> lstSQL = new List<string>();

        //    //SQLファイルのパス用(フォーマット後)
        //    string strSQLInput = "";

        //    //SQLファイルのパスとファイル名を追加
        //    lstSQL.Add("B0250_MOnyuryoku");
        //    lstSQL.Add("MOnyuryoku_SELECT_GetDataGridView_NOTALL");

        //    //SQL実行時に取り出したデータを入れる用
        //    DataTable dtSetCd_B = new DataTable();

        //    //SQL接続
        //    OpenSQL opensql = new OpenSQL();

        //    //接続用クラスのインスタンス作成
        //    DBConnective dbconnective = new DBConnective();
        //    try
        //    {
        //        //SQLファイルのパス取得
        //        strSQLInput = opensql.setOpenSQL(lstSQL);

        //        //パスがなければ返す
        //        if (strSQLInput == "")
        //        {
        //            return (dtSetCd_B);
        //        }

        //        //SQLファイルと該当コードでフォーマット
        //        strSQLInput = string.Format(strSQLInput, strDaibunCD);

        //        //SQL接続後、該当データを取得
        //        dtSetCd_B = dbconnective.ReadSql(strSQLInput);

        //        return (dtSetCd_B);
        //    }
        //    catch (Exception ex)
        //    {
        //        throw (ex);
        //    }
        //    finally
        //    {
        //        //トランザクション終了
        //        dbconnective.DB_Disconnect();
        //    }
        //}

        ///<summary>
        ///updMO
        ///MOデータ変更の処理(戻り値は現行の名残)
        ///</summary>
        public void updMO(string strYMD,
                          string strCode,
                          string strSijisU,
                          decimal decSu,
                          decimal decTanka,
                          string strNouki,
                          string strTorihiki,
                          int intDenNo,
                          string strUserID,
                          string strHachutantoCd
                          )
        {
            List <string> lstTableName = new List <string>();

            lstTableName.Add("@年月度");
            lstTableName.Add("@商品コード");
            lstTableName.Add("@MO発注指示数");
            lstTableName.Add("@MO発注数");
            lstTableName.Add("@MO発注単価");
            lstTableName.Add("@納期");
            lstTableName.Add("@取引先コード");
            lstTableName.Add("@発注番号");
            lstTableName.Add("@ユーザー名");
            lstTableName.Add("@発注担当者コード");

            List <string> lstDataName = new List <string>();

            lstDataName.Add(strYMD);
            lstDataName.Add(strCode);
            lstDataName.Add(strSijisU.ToString());
            lstDataName.Add(decSu.ToString());
            lstDataName.Add(decTanka.ToString());
            lstDataName.Add(strNouki.ToString());
            lstDataName.Add(strTorihiki.ToString());
            lstDataName.Add(intDenNo.ToString());
            lstDataName.Add(strUserID);
            lstDataName.Add(strHachutantoCd);

            DBConnective dbconnective = new DBConnective();

            //トランザクション開始
            dbconnective.BeginTrans();
            try
            {
                //MOデータ変更_PROCを実行
                dbconnective.RunSqlRe("MOデータ変更_PROC", CommandType.StoredProcedure, lstDataName, lstTableName);

                //コミット
                dbconnective.Commit();
            }
            catch (Exception ex)
            {
                //ロールバック開始
                dbconnective.Rollback();
                throw;
            }
            finally
            {
                //トランザクション終了
                dbconnective.DB_Disconnect();
            }
            return;
        }
        ///<summary>
        ///setMOshoki
        ///データの数確認とMOデータの初期更新
        ///</summary>
        public void setMOshoki(List <string> lstString)
        {
            //SQLファイルのパスとファイル名を入れる用
            List <string> lstSQL = new List <string>();

            //SQLファイルのパス用(フォーマット後)
            string strSQLInput = "";

            //SQLファイルのパスとファイル名を追加
            lstSQL.Add("B0250_MOnyuryoku");
            lstSQL.Add("MOnyuryoku_SELECT_GetDataCnt");

            //SQL実行時に取り出したデータを入れる用
            DataTable dtSetCd_B = new DataTable();

            //SQL接続
            OpenSQL opensql = new OpenSQL();

            //接続用クラスのインスタンス作成
            DBConnective dbconnective = new DBConnective();

            try
            {
                //SQLファイルのパス取得
                strSQLInput = opensql.setOpenSQL(lstSQL);

                //パスがなければ返す
                if (strSQLInput == "")
                {
                    return;
                }

                //SQLファイルと該当コードでフォーマット
                strSQLInput = string.Format(strSQLInput, lstString[1], lstString[3], lstString[4], lstString[5]);

                //SQL接続後、該当データを取得
                dtSetCd_B = dbconnective.ReadSql(strSQLInput);

                //既にデータがある場合
                if (dtSetCd_B.Rows[0][0].ToString() == "0")
                {
                    return;
                }

                List <string> lstTableName = new List <string>();
                lstTableName.Add("@在庫年月日");
                lstTableName.Add("@年月");
                lstTableName.Add("@月数");
                lstTableName.Add("@メーカーコード");
                lstTableName.Add("@大分類コード");
                lstTableName.Add("@中分類コード");
                lstTableName.Add("@仕入先コード");
                lstTableName.Add("@ユーザー名");

                List <string> lstDataName = new List <string>();
                lstDataName.Add(lstString[0]);
                lstDataName.Add(lstString[1]);
                lstDataName.Add(lstString[2]);
                lstDataName.Add(lstString[3]);
                lstDataName.Add(lstString[4]);
                lstDataName.Add(lstString[5]);
                lstDataName.Add(lstString[6]);
                lstDataName.Add(lstString[7]);

                //中分類が空の場合
                if (lstDataName[5].Trim() == "")
                {
                    string strSQL = "MOデータ初期更新_PROC '" + lstDataName[0] +
                                    "','" + lstDataName[1] +
                                    "','" + lstDataName[2] +
                                    "','" + lstDataName[3] +
                                    "','" + lstDataName[4] +
                                    "', NULL" +
                                    ",'" + lstDataName[6] +
                                    "','" + lstDataName[7] + "'";
                    dbconnective.RunSql(strSQL);
                }
                else
                {
                    //MOデータ初期更新_PROCを実行
                    dbconnective.RunSqlRe("MOデータ初期更新_PROC", CommandType.StoredProcedure, lstDataName, lstTableName);
                }


                //コミット
                dbconnective.Commit();
            }
            catch
            {
                //ロールバック開始
                dbconnective.Rollback();
                throw;
            }
            finally
            {
                //トランザクション終了
                dbconnective.DB_Disconnect();
            }
        }
Example #8
0
        ///<summary>
        ///getNewShohinNo
        ///商品番号の取得
        ///</summary>
        public string getNewShohinNo(Boolean blnKanri)
        {
            //出力する伝票番号
            string strGetDenpyo = "";

            //伝票番号取得用のPROC用
            object objDummy     = 0;
            object objReturnval = "";

            //新規商品コードを入れる用
            string strCdHEAD  = "";
            string strCdHEAD2 = "";
            //新規伝票番号を入れる用
            string strDenNo  = "";
            string strDenNo2 = "";

            //伝票番号PROCより確保した頭文字以外の伝票番号
            int intGetNo = 0;

            //SQLファイルのパスとファイル名を入れる用
            List <string> lstSQL = new List <string>();

            //SQLファイルのパス用(フォーマット後)
            string strSQLInput = "";

            //SQL実行時に取り出したデータを入れる用
            DataTable dtSetCd_B = new DataTable();

            //SQL接続
            OpenSQL opensql = new OpenSQL();

            //商品マスターの場合
            if (blnKanri == true)
            {
                //SQLファイルのパスとファイル名を追加
                lstSQL.Add("M1030_Shohin");
                lstSQL.Add("Shohin_CdMAX_SELECT");


                //伝票番号取得用(名前)
                List <String> lstGetDenpyoNoName = new List <string>();

                //伝票番号取得用(データ)
                List <string> lstSearchData = new List <string>();

                lstGetDenpyoNoName.Add("@テーブル名");

                //SQL用に移動
                DBConnective dbconnective = new DBConnective();
                try
                {
                    //SQLファイルのパス取得
                    strSQLInput = opensql.setOpenSQL(lstSQL);

                    //パスがなければ返す
                    if (strSQLInput == "")
                    {
                        return(strGetDenpyo);
                    }

                    //SQL接続後、該当データを取得
                    dtSetCd_B = dbconnective.ReadSql(strSQLInput);

                    //データの中身がない場合
                    if (dtSetCd_B.Rows[0][0].ToString() == "")
                    {
                        return(strGetDenpyo);
                    }

                    strCdHEAD = dtSetCd_B.Rows[0][0].ToString().Substring(0, 1);

                    //頭文字によって動作を変える
                    switch (strCdHEAD)
                    {
                    case "A":
                        strCdHEAD2 = "B";
                        strDenNo   = "商品コード2";
                        strDenNo2  = "商品コード3";
                        break;

                    case "B":
                        strCdHEAD2 = "C";
                        strDenNo   = "商品コード3";
                        strDenNo2  = "商品コード4";
                        break;

                    case "C":
                        strCdHEAD2 = "D";
                        strDenNo   = "商品コード4";
                        strDenNo2  = "商品コード5";
                        break;

                    case "D":
                        strCdHEAD2 = "E";
                        strDenNo   = "商品コード5";
                        strDenNo2  = "商品コード6";
                        break;

                    case "E":
                        strCdHEAD2 = "F";
                        strDenNo   = "商品コード6";
                        strDenNo2  = "商品コード7";
                        break;

                    case "F":
                        strCdHEAD2 = "G";
                        strDenNo   = "商品コード7";
                        strDenNo2  = "商品コード8";
                        break;

                    case "G":
                        strCdHEAD2 = "H";
                        strDenNo   = "商品コード8";
                        strDenNo2  = "商品コード9";
                        break;

                    case "H":
                        strCdHEAD2 = "I";
                        strDenNo   = "商品コード9";
                        strDenNo2  = "商品コード10";
                        break;

                    case "I":
                        strCdHEAD2 = "J";
                        strDenNo   = "商品コード10";
                        strDenNo2  = "商品コード11";
                        break;

                    case "J":
                        strCdHEAD2 = "K";
                        strDenNo   = "商品コード11";
                        strDenNo2  = "商品コード12";
                        break;

                    case "K":
                        strCdHEAD2 = "L";
                        strDenNo   = "商品コード12";
                        strDenNo2  = "商品コード13";
                        break;

                    case "L":
                        strCdHEAD2 = "M";
                        strDenNo   = "商品コード13";
                        strDenNo2  = "商品コード14";
                        break;

                    case "M":
                        strCdHEAD2 = "N";
                        strDenNo   = "商品コード14";
                        strDenNo2  = "商品コード15";
                        break;

                    case "N":
                        strCdHEAD2 = "O";
                        strDenNo   = "商品コード15";
                        strDenNo2  = "商品コード16";
                        break;

                    case "O":
                        strCdHEAD2 = "P";
                        strDenNo   = "商品コード16";
                        strDenNo2  = "商品コード17";
                        break;

                    case "P":
                        strCdHEAD2 = "Q";
                        strDenNo   = "商品コード17";
                        strDenNo2  = "商品コード18";
                        break;

                    case "Q":
                        strCdHEAD2 = "R";
                        strDenNo   = "商品コード18";
                        strDenNo2  = "商品コード19";
                        break;

                    case "R":
                        strCdHEAD2 = "S";
                        strDenNo   = "商品コード19";
                        strDenNo2  = "商品コード20";
                        break;

                    case "S":
                        strCdHEAD2 = "T";
                        strDenNo   = "商品コード20";
                        strDenNo2  = "商品コード21";
                        break;

                    case "T":
                        strCdHEAD2 = "U";
                        strDenNo   = "商品コード21";
                        strDenNo2  = "商品コード22";
                        break;

                    case "U":
                        strCdHEAD2 = "V";
                        strDenNo   = "商品コード22";
                        strDenNo2  = "商品コード23";
                        break;

                    case "V":
                        strCdHEAD2 = "W";
                        strDenNo   = "商品コード23";
                        strDenNo2  = "商品コード24";
                        break;

                    case "W":
                        strCdHEAD2 = "X";
                        strDenNo   = "商品コード24";
                        strDenNo2  = "商品コード25";
                        break;

                    case "X":
                        strCdHEAD2 = "B";
                        strDenNo   = "商品コード25";
                        strDenNo2  = "商品コード26";
                        break;

                    case "Y":
                        strCdHEAD2 = "B";
                        strDenNo   = "商品コード26";
                        strDenNo2  = "商品コード27";
                        break;

                    case "Z":
                        strGetDenpyo = "0";
                        break;
                    }

                    //頭文字がZの場合
                    if (strGetDenpyo == "0")
                    {
                        return(strGetDenpyo);
                    }

                    DataTable dt = dbconnective.ReadSql("select 最終番号 FROM 伝票番号 where テーブル名 = '" + strDenNo + "'");

                    if (dt == null || dt.Rows.Count == 0)
                    {
                        return(strGetDenpyo);
                    }
                    int num = int.Parse(dtSetCd_B.Rows[0][0].ToString().Substring(1));
                    num = int.Parse(dt.Rows[0][0].ToString());

                    //頭文字以降の数値が9999以上の場合
                    //if (int.Parse(dtSetCd_B.Rows[0][0].ToString().Substring(1)) >= 9999)
                    if (num >= 9999)
                    {
                        strCdHEAD = strCdHEAD2;
                        strDenNo  = strDenNo2;
                    }

                    lstSearchData.Add(strDenNo);

                    //伝票番号の最新を取得
                    intGetNo = int.Parse(dbconnective.RunSqlRe("get伝票番号_PROC", CommandType.StoredProcedure, lstSearchData, lstGetDenpyoNoName, "@番号"));

                    //0パディングと頭文字を追加
                    strGetDenpyo = strCdHEAD + string.Format("{0:0000}", intGetNo);
                }
                catch (Exception ex)
                {
                    new CommonException(ex);
                    throw (ex);
                }
                finally
                {
                    dbconnective.DB_Disconnect();
                }
            }
            //商品マスタではない場合
            else
            {
                //伝票番号取得用(名前)
                List <String> lstGetDenpyoNoName = new List <string>();

                //伝票番号取得用(データ)
                List <string> lstSearchData = new List <string>();

                lstGetDenpyoNoName.Add("@テーブル名");

                //SQL用に移動
                DBConnective dbconnective = new DBConnective();
                try
                {
                    lstSearchData.Add("仮商品コード");

                    //伝票番号の最新を取得
                    intGetNo = int.Parse(dbconnective.RunSqlRe("get伝票番号_PROC", CommandType.StoredProcedure, lstSearchData, lstGetDenpyoNoName, "@番号"));

                    //0パディングと頭文字を追加
                    strGetDenpyo = string.Format("{0:00000000}", intGetNo);
                }
                catch (Exception ex)
                {
                    new CommonException(ex);
                    throw (ex);
                }
                finally
                {
                    dbconnective.DB_Disconnect();
                }
            }

            return(strGetDenpyo);
        }