///<summary> ///getData ///データの取得 ///</summary> public DataTable getData(string strDenpyoOpen, string strDenpyoClose, string strTantoshaCdOpen, string strTantoshaCdClose) { string strSql = ""; strSql += "SELECT 担当者名"; strSql += ", TBL.受注計"; strSql += ", TBL.発注計"; strSql += ", TBL.仕入計"; strSql += ", TBL.売上計"; strSql += ", TBL.入庫計"; strSql += ", TBL.出庫計"; strSql += ", (TBL.受注計 + TBL.発注計 + TBL.仕入計 + TBL.売上計 + TBL.入庫計 + TBL.出庫計) AS 担当計"; strSql += " FROM ("; strSql += " SELECT 担当者コード,"; strSql += " dbo.f_get担当者名(担当者コード) AS 担当者名,"; strSql += " dbo.f_担当者別伝票カウント_受注(ログインID, '" + strDenpyoOpen + "', '" + strDenpyoClose + "') AS 受注計,"; strSql += " dbo.f_担当者別伝票カウント_発注(ログインID, '" + strDenpyoOpen + "', '" + strDenpyoClose + "') AS 発注計,"; strSql += " dbo.f_担当者別伝票カウント_仕入(ログインID, '" + strDenpyoOpen + "', '" + strDenpyoClose + "') AS 仕入計,"; strSql += " dbo.f_担当者別伝票カウント_売上(ログインID, '" + strDenpyoOpen + "', '" + strDenpyoClose + "') AS 売上計,"; strSql += " dbo.f_担当者別伝票カウント_入庫(ログインID, '" + strDenpyoOpen + "', '" + strDenpyoClose + "') AS 入庫計,"; strSql += " dbo.f_担当者別伝票カウント_出庫(ログインID, '" + strDenpyoOpen + "', '" + strDenpyoClose + "') AS 出庫計"; strSql += " FROM 担当者"; strSql += " WHERE 削除 = 'N'"; strSql += " AND 担当者コード >='" + strTantoshaCdOpen + "'"; strSql += " AND 担当者コード <='" + strTantoshaCdClose + "'"; strSql += " ) AS TBL"; strSql += " ORDER BY TBL.担当者コード"; //SQL実行時に取り出したデータを入れる用 DataTable dtSetCd_B = new DataTable(); //SQL発行 OpenSQL opensql = new OpenSQL(); //接続用クラスのインスタンス作成 DBConnective dbconnective = new DBConnective(); try { //SQL接続後、該当データを取得 //dtSetCd_B = dbconnective.ReadSql(strSql); dtSetCd_B = dbconnective.ReadSqlDelay(strSql, 3000); // 1セルずつ空チェック for (int intRcnt = 0; intRcnt < dtSetCd_B.Rows.Count; intRcnt++) { // 担当者名カラムを除くため、カウントは1からスタート for (int intCcnt = 1; intCcnt < dtSetCd_B.Columns.Count; intCcnt++) { string value = dtSetCd_B.Rows[intRcnt][intCcnt].ToString(); // 空の場合"0"を入れる(Form側で合計を計算するため) if (value.Equals("")) { dtSetCd_B.Rows[intRcnt][intCcnt] = "0"; } } } return(dtSetCd_B); } catch (Exception ex) { throw (ex); } finally { //トランザクション終了 dbconnective.DB_Disconnect(); } }
/// <summary> /// getZaikoIchiran /// 在庫一覧を取得 /// </summary> public DataTable getZaikoIchiran(List <string> lstItem, bool b) { string strSql; DataTable dtZaikoIchiran = new DataTable(); DateTime dtYmd = DateTime.Parse(lstItem[0]); dtYmd = dtYmd.AddDays(-1); // 営業所コードが本社の場合 if (lstItem[2].Equals("0001")) { strSql = "SELECT 棚番本社 AS 棚番,"; } else { strSql = "SELECT 棚番岐阜 AS 棚番,"; } strSql += "dbo.f_getメーカー名(メーカーコード) AS メーカー名 ,"; strSql += "RTRIM(dbo.f_get中分類名(大分類コード,中分類コード)) + ' ' +"; strSql += "RTRIM(ISNULL(商品.C1,'')) + ' ' +"; strSql += "RTRIM(ISNULL(商品.C2,'')) + ' ' +"; strSql += "RTRIM(ISNULL(商品.C3,'')) + ' ' +"; strSql += "RTRIM(ISNULL(商品.C4,'')) + ' ' +"; strSql += "RTRIM(ISNULL(商品.C5,'')) + ' ' +"; strSql += "RTRIM(ISNULL(商品.C6,'')) AS 品名,"; strSql += "仕入単価,評価単価,建値仕入単価,"; // 前月在庫 strSql += "dbo.f_get指定日の在庫数_棚卸専用('" + lstItem[2] + "', 商品コード, '" + dtYmd + "') AS 前月在庫,"; // 入庫数 strSql += "dbo.f_get指定期間_仕入数量_仕入明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_入庫数量_出庫明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_移動入数_倉庫間移動_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_棚卸調整数_棚卸調整_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') AS 入庫数,"; // 出庫数 strSql += "dbo.f_get指定期間_売上数量_売上明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_出庫数量_出庫明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_移動出数_倉庫間移動_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') AS 出庫数,"; // 現在庫数 strSql += "(dbo.f_get指定日の在庫数_棚卸専用('" + lstItem[2] + "', 商品コード, '" + dtYmd + "') ) +"; strSql += "(dbo.f_get指定期間_仕入数量_仕入明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_入庫数量_出庫明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_移動入数_倉庫間移動_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_棚卸調整数_棚卸調整_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "')) - "; strSql += "(dbo.f_get指定期間_売上数量_売上明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_出庫数量_出庫明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_移動出数_倉庫間移動_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "')) AS 現在庫数,"; // 在庫金額(仕入金額) strSql += " CASE WHEN "; strSql += "(dbo.f_get指定日の在庫数_棚卸専用('" + lstItem[2] + "', 商品コード, '" + dtYmd + "') ) +"; strSql += "(dbo.f_get指定期間_仕入数量_仕入明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_入庫数量_出庫明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_移動入数_倉庫間移動_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_棚卸調整数_棚卸調整_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "')) - "; strSql += "(dbo.f_get指定期間_売上数量_売上明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_出庫数量_出庫明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_移動出数_倉庫間移動_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "')) <= 0 "; strSql += " THEN 0 ELSE "; strSql += "ROUND(((dbo.f_get指定日の在庫数_棚卸専用('" + lstItem[2] + "', 商品コード, '" + dtYmd + "') ) +"; strSql += "(dbo.f_get指定期間_仕入数量_仕入明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_入庫数量_出庫明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_移動入数_倉庫間移動_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_棚卸調整数_棚卸調整_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "')) - "; strSql += "(dbo.f_get指定期間_売上数量_売上明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_出庫数量_出庫明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_移動出数_倉庫間移動_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "'))) "; strSql += " * 仕入単価,0,1) END AS 在庫仕入金額,"; // 在庫金額(評価金額) strSql += " CASE WHEN "; strSql += "(dbo.f_get指定日の在庫数_棚卸専用('" + lstItem[2] + "', 商品コード, '" + dtYmd + "') ) +"; strSql += "(dbo.f_get指定期間_仕入数量_仕入明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_入庫数量_出庫明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_移動入数_倉庫間移動_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_棚卸調整数_棚卸調整_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "')) - "; strSql += "(dbo.f_get指定期間_売上数量_売上明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_出庫数量_出庫明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_移動出数_倉庫間移動_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "')) <= 0 "; strSql += " THEN 0 ELSE "; strSql += "ROUND(((dbo.f_get指定日の在庫数_棚卸専用('" + lstItem[2] + "', 商品コード, '" + dtYmd + "') ) +"; strSql += "(dbo.f_get指定期間_仕入数量_仕入明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_入庫数量_出庫明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_移動入数_倉庫間移動_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_棚卸調整数_棚卸調整_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "')) - "; strSql += "(dbo.f_get指定期間_売上数量_売上明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_出庫数量_出庫明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_移動出数_倉庫間移動_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "'))) "; strSql += " * 評価単価,0,1) END AS 在庫評価金額,"; // 在庫金額(建値金額) strSql += " CASE WHEN "; strSql += "(dbo.f_get指定日の在庫数_棚卸専用('" + lstItem[2] + "', 商品コード, '" + dtYmd + "') ) +"; strSql += "(dbo.f_get指定期間_仕入数量_仕入明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_入庫数量_出庫明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_移動入数_倉庫間移動_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_棚卸調整数_棚卸調整_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "')) - "; strSql += "(dbo.f_get指定期間_売上数量_売上明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_出庫数量_出庫明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_移動出数_倉庫間移動_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "')) <= 0 "; strSql += " THEN 0 ELSE "; strSql += "ROUND(((dbo.f_get指定日の在庫数_棚卸専用('" + lstItem[2] + "', 商品コード, '" + dtYmd + "') ) +"; strSql += "(dbo.f_get指定期間_仕入数量_仕入明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_入庫数量_出庫明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_移動入数_倉庫間移動_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_棚卸調整数_棚卸調整_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "')) - "; strSql += "(dbo.f_get指定期間_売上数量_売上明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_出庫数量_出庫明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_移動出数_倉庫間移動_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "'))) "; strSql += " * 建値仕入単価,0,1) END AS 在庫建値金額,"; strSql += " 大分類コード,"; strSql += "dbo.f_get大分類名(大分類コード) AS 大分類名,"; strSql += "dbo.f_get営業所名('" + lstItem[2] + "') AS 営業所名"; strSql += " FROM 商品"; strSql += " WHERE 削除 = 'N'"; if (b) { strSql += " AND 評価単価 >= 0"; } // 大分類コードがある場合 if (!lstItem[3].Equals("")) { strSql += " AND 大分類コード = '" + lstItem[3] + "'"; } // 中分類コードがある場合 if (!lstItem[4].Equals("")) { strSql += " AND 中分類コード='" + lstItem[4] + "'"; } // メーカーコードがある場合 if (!lstItem[5].Equals("")) { strSql += " AND メーカーコード='" + lstItem[5] + "'"; } //前月在庫<>0 入庫数<>0 出庫数<>0 strSql += " AND ( (dbo.f_get指定日の在庫数_棚卸専用('" + lstItem[2] + "', 商品コード, '" + dtYmd + "') <>0 ) "; strSql += " OR ((dbo.f_get指定期間_仕入数量_仕入明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += " dbo.f_get指定期間_入庫数量_出庫明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += " dbo.f_get指定期間_移動入数_倉庫間移動_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += " dbo.f_get指定期間_棚卸調整数_棚卸調整_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "')) <> 0 ) "; strSql += " OR ((dbo.f_get指定期間_売上数量_売上明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += " dbo.f_get指定期間_出庫数量_出庫明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += " dbo.f_get指定期間_移動出数_倉庫間移動_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "')) <> 0) ) "; if (b) { strSql += "AND (dbo.f_get指定日の在庫数_棚卸専用('" + lstItem[2] + "', 商品コード, '" + dtYmd + "') ) +"; strSql += "(dbo.f_get指定期間_仕入数量_仕入明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_入庫数量_出庫明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_移動入数_倉庫間移動_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_棚卸調整数_棚卸調整_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "')) - "; strSql += "(dbo.f_get指定期間_売上数量_売上明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_出庫数量_出庫明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') +"; strSql += "dbo.f_get指定期間_移動出数_倉庫間移動_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "')) > 0"; } // 期間中に仕入がある場合 if (lstItem[7].Equals("0")) { strSql += " AND dbo.f_get指定期間_仕入数量_仕入明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') <> 0 "; } // 期間中に仕入がない場合 else if (lstItem[7].Equals("1")) { strSql += " AND dbo.f_get指定期間_仕入数量_仕入明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') =0 "; } // 期間中に売上がある場合 if (lstItem[8].Equals("0")) { strSql += " AND dbo.f_get指定期間_売上数量_売上明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') <> 0 "; } // 期間中に売上がない場合 else if (lstItem[8].Equals("1")) { strSql += " AND dbo.f_get指定期間_売上数量_売上明細_在庫一覧専用('" + lstItem[2] + "',商品コード, '" + lstItem[0] + "', '" + lstItem[1] + "') =0 "; } // 棚番がある場合 if (!lstItem[6].Equals("")) { strSql += " AND ((棚番本社 LIKE '" + lstItem[6] + "%') OR (棚番岐阜 LIKE '" + lstItem[6] + "%'))"; } // 営業所コードが空でない場合、SQL文で並び替え if (lstItem[10].Equals("1")) { // 並び順の指定 if (lstItem[9].Equals("0")) { strSql += " ORDER BY 大分類コード, 品名"; } else if (lstItem[9].Equals("1")) { strSql += " ORDER BY 大分類コード, メーカー名, 品名"; } else if (lstItem[9].Equals("2")) { strSql += " ORDER BY 大分類コード, 棚番, メーカー名, 品名"; } else if (lstItem[9].Equals("3")) { strSql += " ORDER BY 大分類コード, 棚番, 品名"; } } DBConnective dbconnective = new DBConnective(); try { // 検索データをテーブルへ格納 //dtZaikoIchiran = dbconnective.ReadSql(strSql); dtZaikoIchiran = dbconnective.ReadSqlDelay(strSql, 3000); return(dtZaikoIchiran); } catch { throw; } finally { dbconnective.DB_Disconnect(); } }
/// <summary> /// addTanaorosi /// 棚卸記入表データ作成_PROCを実行 /// </summary> public void addTanaorosi(List <string> lstItem) { DBConnective dbconnective = new DBConnective(); try { // トランザクション開始 dbconnective.BeginTrans(); string strProc = "棚卸記入表データ作成_PROC '" + lstItem[0] + "', '" + lstItem[1] + "', "; // 大分類コードが空の場合 if (lstItem[2].Equals("")) { strProc += "NULL, "; } else { strProc += "'" + lstItem[2] + "', "; } strProc += "'" + Environment.UserName + "', "; // 中分類コードが空の場合 if (lstItem[3].Equals("")) { strProc += "NULL, "; } else { strProc += "'" + lstItem[3] + "', "; } // メーカーコードが空の場合 if (lstItem[4].Equals("")) { strProc += "NULL, "; } else { strProc += "'" + lstItem[4] + "', "; } // 棚番(開始)が空の場合 if (lstItem[5].Equals("")) { strProc += "NULL, "; } else { strProc += "'" + lstItem[5] + "', "; } // 棚番(終了)が空の場合 if (lstItem[6].Equals("")) { strProc += "NULL"; } else { strProc += "'" + lstItem[6] + "'"; } // 棚卸記入表データ作成_PROCを実行 dbconnective.ReadSqlDelay(strProc, 1800); // コミット dbconnective.Commit(); } catch { // ロールバック処理 dbconnective.Rollback(); throw; } finally { dbconnective.DB_Disconnect(); } return; }
/// <summary> /// getUriageJisseki /// 売上実績のグリッドビューを表示する。 /// </summary> /// <param name="lstItem"> /// 検索条件List /// lstItem[0] 伝票年月日Start, /// lstItem[1] 伝票年月日End, /// lstItem[2] 入力者コード, /// lstItem[3] 受注者コード, /// lstItem[4] 営業担当者コード, /// lstItem[5] 仕入先コード, /// lstItem[6] 大分類, /// lstItem[7] 中分類, /// lstItem[8] 品名・型番, /// lstItem[9] 備考, /// lstItem[10] 得意先, /// lstItem[11] メーカー, /// lstItem[12] 受注番号, /// lstItem[13] 発注番号 /// </param> /// <param name="lstItem2"> /// 検索条件(ラジオボタン・チェックボックス)List /// 各要素の詳細は"param"タグに記載 /// lstItem[0] 営業所ラジオボタン, /// lstItem[1] グループコードラジオボタン, /// lstItem[2] 出力順, /// lstItem[3] 出力順(A-Z, Z-A), /// lstItem[4] チェックボックス, /// lstItem[5] 受注タイプ(加工区分) /// </param> /// <param name="arrDispEigyo"> /// 表示条件(営業所) /// arrDispEigyo[0] すべて, /// arrDispEigyo[0] 本社, /// arrDispEigyo[0] 岐阜 /// </param> /// <param name="arrDispGroup"> /// 表示条件(グループコード) /// arrDispGroup[0] すべて, /// arrDispGroup[1] 共通, /// arrDispGroup[2] 1, /// arrDispGroup[3] 2, /// arrDispGroup[4] 3 /// </param> /// <param name="arrOrder"> /// 並び順 /// arrOrder[0] 売上日, /// arrOrder[1] 仕入日 /// </param> /// <param name="arrOrderAtoZ"> /// 並び順(A-Z, Z-A) /// arrOrderAtoZ[0] A-Z, /// arrOrderAtoZ[1] Z-A /// </param> /// <param name="arrCheckBox"> /// arrCheckBox[0] 逆鞘分のみ /// </param> /// <param name="arrJuchuType"> /// 加工区分 /// arrJuchuType[0] 両方, /// arrJuchuType[1] 通常受注, /// arrJuchuType[2] 加工受注 /// </param> public DataTable getUriageJisseki(List <string> lstItem, List <Array> lstItem2) { // 表示条件取得用(営業所) string[] arrDispEigyo = (string[])lstItem2[0]; // 表示条件取得用(グループコード) string[] arrDispGroup = (string[])lstItem2[1]; // 出力順条件取得用 string[] arrOrder = (string[])lstItem2[2]; // 出力順条件取得用(A-Z,Z-A) string[] arrOrderAtoZ = (string[])lstItem2[3]; // チェックボックス用 string[] arrCheckBox = (string[])lstItem2[4]; // 受注タイプ string[] arrJuchuType = (string[])lstItem2[5]; string andSql = ""; string orderbySql = ""; DataTable dtGetTableGrid = new DataTable(); // 伝票年月日のStartとEnd取得 string startYmd = lstItem[0]; string endYmd = lstItem[1]; // SQLのパス指定用List List <string> listSqlPath = new List <string>(); listSqlPath.Add("D0310_UriageJissekiKakunin"); listSqlPath.Add("D0310_UriageJissekiKakunin_SELECT"); // 受注者コードがある場合 if (!lstItem[2].Equals("")) { andSql += " AND dbo.f_get受注番号_受注者コードFROM受注(um.受注番号) = '" + lstItem[2] + "'"; } // 営業担当者コードがある場合 if (!lstItem[3].Equals("")) { andSql += " AND t.担当者コード = '" + lstItem[3] + "'"; } // 入力者コードがある場合 if (!lstItem[4].Equals("")) { andSql += " AND uh.担当者コード = '" + lstItem[4] + "'"; } // 仕入先コードがある場合 if (!lstItem[5].Equals("")) { andSql += " AND dbo.f_get受注番号_発注先コードFROM発注(um.受注番号) = '" + lstItem[5] + "' "; } // 大分類コードがある場合 if (!lstItem[6].Equals("")) { andSql += " AND um.大分類コード = '" + lstItem[6] + "' "; } // 中分類コードがある場合 if (!lstItem[7].Equals("")) { andSql += " AND um.中分類コード = '" + lstItem[7] + "' "; } // 品名・型番がある場合 if (!lstItem[8].Equals("")) { andSql += " AND ( (REPLACE(ISNULL(cb.中分類名,''), ' ', '') + REPLACE(ISNULL(um.C1, ''), ' ', '' ) "; andSql += " + REPLACE(ISNULL(um.C2, ''), ' ', '' )"; andSql += " + REPLACE(ISNULL(um.C3, ''), ' ', '' )"; andSql += " + REPLACE(ISNULL(um.C4, ''), ' ', '' )"; andSql += " + REPLACE(ISNULL(um.C5, ''), ' ', '' )"; andSql += " + REPLACE(ISNULL(um.C6, ''), ' ', '' ) ) LIKE '%" + lstItem[8].Replace(" ", "") + "%' )"; } // 備考がある場合 if (!lstItem[9].Equals("")) { andSql += " AND um.備考 LIKE '%" + lstItem[9] + "%' "; } // 得意先コードがある場合 if (!lstItem[10].Equals("")) { andSql += " AND uh.得意先コード = '" + lstItem[10] + "'"; } // メーカーコードがある場合 if (!lstItem[11].Equals("")) { andSql += " AND um.メーカーコード = '" + lstItem[11] + "'"; } // 受注番号がある場合 if (!lstItem[12].Equals("")) { andSql += " AND um.受注番号 = '" + lstItem[12] + "'"; } // 発注番号がある場合 if (!lstItem[13].Equals("")) { andSql += " AND dbo.f_get受注番号から発注番号FROM発注(um.受注番号) = '" + lstItem[13] + "'"; } // 逆鞘分のみをチェックした場合 if (arrCheckBox[0].Equals("TRUE")) { andSql += " AND (um.売上金額 - um.数量 * dbo.f_get受注番号_仕入単価FROM受注(um.受注番号)) < 0 "; } // 営業所が本社の場合 if (arrDispEigyo[1].Equals("TRUE")) { andSql += " AND uh.営業所コード = '0001' "; } // 営業所が岐阜の場合 else if (arrDispEigyo[2].Equals("TRUE")) { andSql += " AND uh.営業所コード = '0002' "; } // グループコードが共通の場合 if (arrDispGroup[1].Equals("TRUE")) { andSql += " AND dbo.f_getグループコード(dbo.f_get受注番号_受注者コードFROM受注(um.受注番号)) = '0000' "; } // グループコードが1の場合 else if (arrDispGroup[2].Equals("TRUE")) { andSql += " AND dbo.f_getグループコード(dbo.f_get受注番号_受注者コードFROM受注(um.受注番号)) = '0001' "; } // グループコードが2の場合 else if (arrDispGroup[3].Equals("TRUE")) { andSql += " AND dbo.f_getグループコード(dbo.f_get受注番号_受注者コードFROM受注(um.受注番号)) = '0002' "; } // グループコードが3の場合 else if (arrDispGroup[4].Equals("TRUE")) { andSql += " AND dbo.f_getグループコード(dbo.f_get受注番号_受注者コードFROM受注(um.受注番号)) = '0003' "; } // ラジオボタンで通常受注を選択した場合 if (arrJuchuType[1].Equals("TRUE")) { andSql += " AND dbo.f_get受注番号から加工区分(um.受注番号)='0' "; } // ラジオボタンで加工品受注を選択した場合 else if (arrJuchuType[2].Equals("TRUE")) { andSql += " AND dbo.f_get受注番号から加工区分(um.受注番号)='1' "; } //ラジオボタン並び順の指定(上段は名前を取得、下段:[0]A-Z、[1]Z-A) // 並び順(売上日) if (arrOrder[0].Equals("TRUE")) { // 並び順(A-Z)の場合 if (arrOrderAtoZ[0].Equals("TRUE")) { orderbySql += " ORDER BY TBL.伝票年月日, TBL.メーカーコード, TBL.品名型式"; } else { orderbySql += " ORDER BY TBL.伝票年月日 DESC, TBL.メーカーコード, TBL.品名型式"; } } // 並び順(仕入日) else if (arrOrder[1].Equals("TRUE")) { // 並び順(A-Z)の場合 if (arrOrderAtoZ[0].Equals("TRUE")) { orderbySql += " ORDER BY TBL.仕入日, TBL.メーカーコード, TBL.品名型式"; } else { orderbySql += " ORDER BY TBL.仕入日 DESC, TBL.メーカーコード, TBL.品名型式"; } } DBConnective dbconnective = new DBConnective(); try { OpenSQL opensql = new OpenSQL(); // sqlファイルからSQL文を取得 string strSqltxt = opensql.setOpenSQL(listSqlPath); string sql = string.Format(strSqltxt, startYmd, endYmd, andSql, orderbySql); dtGetTableGrid = dbconnective.ReadSqlDelay(sql, 1800); } catch (Exception ex) { new CommonException(ex); throw (ex); } finally { dbconnective.DB_Disconnect(); } return(dtGetTableGrid); }
/// <summary> /// getSyohingunUriageSiireItiran /// 商品群売上仕入一覧を取得 /// </summary> public DataTable getSyohingunUriageSiireItiran(List <string> lstString) { DataTable DtRet = new DataTable(); //DataTable DtRetAfter = new DataTable(); //string strDaibun = "軸受"; string strSQL = ""; strSQL = strSQL + "SELECT distinct "; strSQL = strSQL + " C.大分類コード,"; strSQL = strSQL + " dbo.f_get大分類名(C.大分類コード) AS 大分類名,"; strSQL = strSQL + " C.中分類コード,"; strSQL = strSQL + " C.中分類名,"; strSQL = strSQL + " IsNull(urikami.売上金額,'0') AS 上期売上額, "; strSQL = strSQL + " IsNull(siikami.仕入金額,'0') AS 上期仕入額, "; strSQL = strSQL + " IsNull(urisimo.売上金額,'0') AS 下期売上額,"; strSQL = strSQL + " IsNull(siisimo.仕入金額,'0') AS 下期仕入額,"; strSQL = strSQL + " IsNull(urikami.売上金額,'0') + IsNull(urisimo.売上金額,'0') AS 合計売上額,"; strSQL = strSQL + " IsNull(siikami.仕入金額,'0') + IsNull(siisimo.仕入金額,'0') AS 合計仕入額"; strSQL = strSQL + " FROM 中分類 C"; strSQL = strSQL + " left join ("; strSQL = strSQL + " SELECT SUM(売上明細.売上金額) as 売上金額,"; strSQL = strSQL + " 売上明細.大分類コード,"; strSQL = strSQL + " 売上明細.中分類コード"; strSQL = strSQL + " FROM 売上明細,売上ヘッダ"; strSQL = strSQL + " WHERE 売上明細.削除 = 'N'"; //大分類コードがある場合 if (StringUtl.blIsEmpty(lstString[6])) { strSQL = strSQL + " AND 売上明細.大分類コード = '" + lstString[6] + "'"; } //中分類コードがある場合 if (StringUtl.blIsEmpty(lstString[7])) { strSQL = strSQL + " AND 売上明細.中分類コード = '" + lstString[7] + "'"; } strSQL = strSQL + " AND 売上ヘッダ.伝票番号 = 売上明細.伝票番号"; strSQL = strSQL + " AND 売上ヘッダ.伝票年月日 >= '" + lstString[0] + "'"; strSQL = strSQL + " AND 売上ヘッダ.伝票年月日 <= '" + lstString[1] + "'"; strSQL = strSQL + " AND 売上ヘッダ.削除 = 'N'"; strSQL = strSQL + " group by 大分類コード,中分類コード"; strSQL = strSQL + " ) urikami"; strSQL = strSQL + " on C.大分類コード = urikami.大分類コード"; strSQL = strSQL + " and C.中分類コード = urikami.中分類コード"; strSQL = strSQL + " and urikami.売上金額 is not null"; strSQL = strSQL + " left join ("; strSQL = strSQL + " SELECT SUM(仕入明細.仕入金額) as 仕入金額,"; strSQL = strSQL + " 仕入明細.大分類コード,"; strSQL = strSQL + " 仕入明細.中分類コード"; strSQL = strSQL + " FROM 仕入明細,仕入ヘッダ"; strSQL = strSQL + " WHERE 仕入明細.削除 = 'N'"; //大分類コードがある場合 if (StringUtl.blIsEmpty(lstString[6])) { strSQL = strSQL + " AND 仕入明細.大分類コード = '" + lstString[6] + "'"; } //中分類コードがある場合 if (StringUtl.blIsEmpty(lstString[7])) { strSQL = strSQL + " AND 仕入明細.中分類コード = '" + lstString[7] + "'"; } strSQL = strSQL + " AND 仕入ヘッダ.伝票番号 = 仕入明細.伝票番号"; strSQL = strSQL + " AND 仕入ヘッダ.伝票年月日 >= '" + lstString[0] + "'"; strSQL = strSQL + " AND 仕入ヘッダ.伝票年月日 <= '" + lstString[1] + "'"; strSQL = strSQL + " AND 仕入ヘッダ.削除 = 'N'"; strSQL = strSQL + " group by 仕入明細.大分類コード, 仕入明細.中分類コード"; strSQL = strSQL + " ) siikami"; strSQL = strSQL + " on C.大分類コード = siikami.大分類コード"; strSQL = strSQL + " and C.中分類コード = siikami.中分類コード"; strSQL = strSQL + " and siikami.仕入金額 is not null"; strSQL = strSQL + " left join ("; strSQL = strSQL + " SELECT SUM(売上明細.売上金額) as 売上金額,"; strSQL = strSQL + " 売上明細.大分類コード,"; strSQL = strSQL + " 売上明細.中分類コード"; strSQL = strSQL + " FROM 売上明細,売上ヘッダ"; strSQL = strSQL + " WHERE 売上明細.削除 = 'N'"; //大分類コードがある場合 if (StringUtl.blIsEmpty(lstString[6])) { strSQL = strSQL + " AND 売上明細.大分類コード = '" + lstString[6] + "'"; } //中分類コードがある場合 if (StringUtl.blIsEmpty(lstString[7])) { strSQL = strSQL + " AND 売上明細.中分類コード = '" + lstString[7] + "'"; } strSQL = strSQL + " AND 売上ヘッダ.伝票番号 = 売上明細.伝票番号"; strSQL = strSQL + " AND 売上ヘッダ.伝票年月日 >= '" + lstString[2] + "'"; strSQL = strSQL + " AND 売上ヘッダ.伝票年月日 <= '" + lstString[3] + "'"; strSQL = strSQL + " AND 売上ヘッダ.削除 = 'N'"; strSQL = strSQL + " group by 大分類コード, 中分類コード"; strSQL = strSQL + " ) urisimo"; strSQL = strSQL + " on C.大分類コード = urisimo.大分類コード"; strSQL = strSQL + " and C.中分類コード = urisimo.中分類コード"; strSQL = strSQL + " and urisimo.売上金額 is not null"; strSQL = strSQL + " left join ("; strSQL = strSQL + " SELECT SUM(仕入明細.仕入金額) as 仕入金額,"; strSQL = strSQL + " 仕入明細.大分類コード,"; strSQL = strSQL + " 仕入明細.中分類コード"; strSQL = strSQL + " FROM 仕入明細,仕入ヘッダ"; strSQL = strSQL + " WHERE 仕入明細.削除 = 'N'"; //大分類コードがある場合 if (StringUtl.blIsEmpty(lstString[6])) { strSQL = strSQL + " AND 仕入明細.大分類コード = '" + lstString[6] + "'"; } //中分類コードがある場合 if (StringUtl.blIsEmpty(lstString[7])) { strSQL = strSQL + "AND 仕入明細.中分類コード = '" + lstString[7] + "'"; } strSQL = strSQL + " AND 仕入ヘッダ.伝票番号 = 仕入明細.伝票番号"; strSQL = strSQL + " AND 仕入ヘッダ.伝票年月日 >= '" + lstString[2] + "'"; strSQL = strSQL + " AND 仕入ヘッダ.伝票年月日 <= '" + lstString[3] + "'"; strSQL = strSQL + " AND 仕入ヘッダ.削除 = 'N'"; strSQL = strSQL + " group by 仕入明細.大分類コード, 仕入明細.中分類コード"; strSQL = strSQL + " ) siisimo"; strSQL = strSQL + " on C.大分類コード = siisimo.大分類コード"; strSQL = strSQL + " and C.中分類コード = siisimo.中分類コード"; strSQL = strSQL + " and siisimo.仕入金額 is not null,"; strSQL = strSQL + " 売上明細 M,"; strSQL = strSQL + " 売上ヘッダ H"; strSQL = strSQL + " WHERE C.削除 = 'N'"; strSQL = strSQL + " AND M.削除 = 'N'"; strSQL = strSQL + " AND H.削除 = 'N'"; strSQL = strSQL + " AND C.中分類コード = M.中分類コード"; strSQL = strSQL + " AND C.大分類コード = M.大分類コード"; strSQL = strSQL + " AND M.伝票番号 = H.伝票番号"; //得意先コードがある場合 if (StringUtl.blIsEmpty(lstString[4])) { strSQL = strSQL + " AND H.得意先コード = '" + lstString[4] + "'"; } //担当者コードがある場合 if (StringUtl.blIsEmpty(lstString[5])) { strSQL = strSQL + " AND H.担当者コード = '" + lstString[5] + "'"; } //大分類コードがある場合 if (StringUtl.blIsEmpty(lstString[6])) { strSQL = strSQL + " AND C.大分類コード = '" + lstString[6] + "'"; } //中分類コードがある場合 if (StringUtl.blIsEmpty(lstString[7])) { strSQL = strSQL + " AND C.中分類コード = '" + lstString[7] + "'"; } //メーカーコードがある場合 if (StringUtl.blIsEmpty(lstString[8])) { strSQL = strSQL + " AND M.メーカーコード = '" + lstString[8] + "'"; } strSQL = strSQL + " AND (urikami.売上金額 is not null "; strSQL = strSQL + " or siikami.仕入金額 is not null"; strSQL = strSQL + " or urisimo.売上金額 is not null"; strSQL = strSQL + " or siisimo.仕入金額 is not null)"; strSQL = strSQL + " ORDER BY 大分類コード,中分類コード"; //List<string> lstTableName = new List<string>(); //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]); DBConnective dbconnective = new DBConnective(); try { // トランザクション開始 dbconnective.BeginTrans(); DtRet = dbconnective.ReadSqlDelay(strSQL, 1800); // for (int intRow = 0; intRow < DtRet.Rows.Count; intRow++) { // for (int intCol = 0; intCol < DtRet.Columns.Count; intCol++) { if (DtRet.Rows[intRow][intCol].ToString().Trim() == "") { DtRet.Rows[intRow][intCol] = "0"; } } } ////請求一覧表_PROCを実行 //DtRet = dbconnective.RunSqlReDT("商品群別売上仕入管理表_PROC", CommandType.StoredProcedure, lstDataName, lstTableName, null); //DataRow[] dataRows = DataSet.Tables[DtRet].Select("大分類名 ''"); //DataRow[] dtRow = DtRet.Select("大分類名 = '" + strDaibun + "'"); //DtRetAfter.Columns.Add("大分類コード"); //DtRetAfter.Columns.Add("大分類コード"); //DtRetAfter.Columns.Add("大分類コード"); //DtRetAfter.Columns.Add("大分類コード"); //DtRetAfter.Columns.Add("大分類コード"); //DtRetAfter.Columns.Add("大分類コード"); //int intRowCnt = 0; //intRowCnt = DtRet.Rows.Count; //for (int intCnt = 0; intCnt < intRowCnt; intCnt++) //{ //} // コミット dbconnective.Commit(); } catch (Exception ex) { new CommonException(ex); // ロールバック処理 dbconnective.Rollback(); throw; } finally { dbconnective.DB_Disconnect(); } return(DtRet); }
///<summary> ///setTxtBox ///検索データを記入 ///</summary> public DataTable setViewGrid(List <string> lstString) { DataTable dtGetTableGrid = new DataTable(); System.DateTime dateStartYMD; System.DateTime dateEndYMD; dateStartYMD = DateTime.Parse(lstString[2] + "/01"); dateEndYMD = DateTime.Parse(lstString[3] + "/01"); dateEndYMD = dateEndYMD.AddMonths(1); dateEndYMD = dateEndYMD.AddDays(-1); //SQL用に移動 DBConnective dbconnective = new DBConnective(); try { //データ渡し用 List <string> lstStringSQL = new List <string>(); string strSQLName = ""; if (lstString[1] == "0001" || lstString[1] == "0002") { strSQLName = "C_LIST_ShohinMotochoKakunin_SELECT_VIEW_EigyoTrue"; } else { strSQLName = "C_LIST_ShohinMotochoKakunin_SELECT_VIEW_EigyoFalse"; } //データ渡し用 lstStringSQL.Add("Common"); lstStringSQL.Add(strSQLName); OpenSQL opensql = new OpenSQL(); string strSQLInput = opensql.setOpenSQL(lstStringSQL); //配列設定 string[] aryStr = { lstString[0], lstString[1], dateStartYMD.ToString(), dateEndYMD.ToString() }; strSQLInput = string.Format(strSQLInput, aryStr); //検索データをデータテーブルに入れる dtGetTableGrid = dbconnective.ReadSqlDelay(strSQLInput, 1800); for (int intCnt = 0; intCnt < dtGetTableGrid.Rows.Count; intCnt++) { if (StringUtl.blIsEmpty(dtGetTableGrid.Rows[intCnt]["在庫数"].ToString()) == false) { dtGetTableGrid.Rows[intCnt]["在庫数"] = 0; } if (StringUtl.blIsEmpty(dtGetTableGrid.Rows[intCnt]["入庫数"].ToString()) == false) { dtGetTableGrid.Rows[intCnt]["入庫数"] = 0; } if (StringUtl.blIsEmpty(dtGetTableGrid.Rows[intCnt]["出庫数"].ToString()) == false) { dtGetTableGrid.Rows[intCnt]["出庫数"] = 0; } if (StringUtl.blIsEmpty(dtGetTableGrid.Rows[intCnt]["単価"].ToString()) == false) { dtGetTableGrid.Rows[intCnt]["単価"] = 0; } if (StringUtl.blIsEmpty(dtGetTableGrid.Rows[intCnt]["定価"].ToString()) == false) { dtGetTableGrid.Rows[intCnt]["定価"] = 0; } if (StringUtl.blIsEmpty(dtGetTableGrid.Rows[intCnt]["仕入単価"].ToString()) == false) { dtGetTableGrid.Rows[intCnt]["仕入単価"] = 0; } if (StringUtl.blIsEmpty(dtGetTableGrid.Rows[intCnt]["建値仕入単価"].ToString()) == false) { dtGetTableGrid.Rows[intCnt]["建値仕入単価"] = 0; } if (dtGetTableGrid.Rows[intCnt]["受注番号"].ToString().Trim() == "0") { dtGetTableGrid.Rows[intCnt]["受注番号"] = DBNull.Value; } if (intCnt == 0) { if (lstString[1] == "0001") { //本社前月在庫数が0の場合 if (lstString[4].ToString().Trim() == "") { lstString[4] = "0"; } dtGetTableGrid.Rows[intCnt]["在庫数"] = double.Parse(lstString[4]) + double.Parse(dtGetTableGrid.Rows[intCnt]["入庫数"].ToString()) - double.Parse(dtGetTableGrid.Rows[intCnt]["出庫数"].ToString()); } else { //岐阜前月在庫数が0の場合 if (lstString[5].ToString().Trim() == "") { lstString[5] = "0"; } dtGetTableGrid.Rows[intCnt]["在庫数"] = double.Parse(lstString[5]) + double.Parse(dtGetTableGrid.Rows[intCnt]["入庫数"].ToString()) - double.Parse(dtGetTableGrid.Rows[intCnt]["出庫数"].ToString()); } } else { //一行前の在庫数がNULLの場合 if (dtGetTableGrid.Rows[intCnt - 1]["在庫数"].ToString().Trim() == "") { dtGetTableGrid.Rows[intCnt - 1]["在庫数"] = "0"; dtGetTableGrid.Rows[intCnt]["在庫数"] = double.Parse(dtGetTableGrid.Rows[intCnt - 1]["在庫数"].ToString()) + double.Parse(dtGetTableGrid.Rows[intCnt]["入庫数"].ToString()) - double.Parse(dtGetTableGrid.Rows[intCnt]["出庫数"].ToString()); dtGetTableGrid.Rows[intCnt - 1]["在庫数"] = DBNull.Value; } else { dtGetTableGrid.Rows[intCnt]["在庫数"] = double.Parse(dtGetTableGrid.Rows[intCnt - 1]["在庫数"].ToString()) + double.Parse(dtGetTableGrid.Rows[intCnt]["入庫数"].ToString()) - double.Parse(dtGetTableGrid.Rows[intCnt]["出庫数"].ToString()); } } //入庫数が0の場合 if (dtGetTableGrid.Rows[intCnt]["入庫数"].ToString() == "0") { dtGetTableGrid.Rows[intCnt]["入庫数"] = DBNull.Value; } //出庫数が0の場合 if (dtGetTableGrid.Rows[intCnt]["出庫数"].ToString() == "0") { dtGetTableGrid.Rows[intCnt]["出庫数"] = DBNull.Value; } //在庫数が0の場合 if (dtGetTableGrid.Rows[intCnt]["在庫数"].ToString() == "0") { dtGetTableGrid.Rows[intCnt]["在庫数"] = DBNull.Value; } } return(dtGetTableGrid); } catch (Exception ex) { new CommonException(ex); throw (ex); } finally { dbconnective.DB_Disconnect(); } }