///------------------------------------------------------------------------ /// <summary> /// 商品マスターデータテーブルから情報を取得する : 2020/04/09 </summary> /// <param name="syohins"> /// ClsCsvData.ClsCsvSyohin_Newクラス配列</param> /// <param name="sSyohinCD"> /// 商品コード </param> /// <returns> /// 商品マスタークラス</returns> ///------------------------------------------------------------------------ public static ClsCsvData.ClsCsvSyohin GetSyohinsFromDataTable(string sSyohinCD, System.Data.DataTable data) { ClsCsvData.ClsCsvSyohin cls = new ClsCsvData.ClsCsvSyohin { SyohinCode = "", SyohinName = "", Kikaku = "" }; DataRow[] row = data.AsEnumerable().Where(a => a["商品コード"].ToString() == sSyohinCD).ToArray(); foreach (var t in row) { cls.SyohinCode = t["商品コード"].ToString(); cls.SyohinName = t["商品名"].ToString(); //cls.Kikaku = t["規格"].ToString(); break; } return(cls); }
///------------------------------------------------------- /// <summary> /// 売上原価Pro仕入データ作成 </summary> /// /// 2020/09/28 : 仕入伝票は売上仕入区分で判断 ///------------------------------------------------------- public void CreateShiireCsv() { DateTime dt; string[] ProArray = null; int iX = 0; int _DEN_SHIIRE = Utility.StrtoInt(global.DEN_SHIIRE); // 2020/09/28 try { // 2020/09/28 コメント化 //var s = tblDeliv.Where(a => a.DenKbn == Utility.StrtoInt(global.DEN_NOUHINKARI) || // a.DenKbn == Utility.StrtoInt(global.DEN_GENPIN)); // 仕入伝票は売上仕入区分で判断:2020/09/28 var s = tblDeliv.Where(a => a.UriShiire == _DEN_SHIIRE); // 仕入伝票があれば実行:2020/09/28 if (s.Count() > 0) { foreach (var t in s) { if (!DateTime.TryParse(t.NounyuDate, out dt)) { continue; } for (int i = 0; i < 5; i++) { string BCode = ""; string BSuu = ""; if (i == 0) { BCode = t.BuhinCode_1; BSuu = t.Suu_1; } else if (i == 1) { BCode = t.BuhinCode_2; BSuu = t.Suu_2; } else if (i == 2) { BCode = t.BuhinCode_3; BSuu = t.Suu_3; } else if (i == 3) { BCode = t.BuhinCode_4; BSuu = t.Suu_4; } else if (i == 4) { BCode = t.BuhinCode_5; BSuu = t.Suu_5; } if (BCode == string.Empty) { continue; } StringBuilder sb = new StringBuilder(); if (iX == 0) { sb.Append("H1,"); sb.Append("H2,"); sb.Append("H3,"); sb.Append("H4,"); sb.Append("H5,"); sb.Append("H6,"); sb.Append("H7,"); sb.Append("H8,"); sb.Append("H9,"); sb.Append("H10,"); sb.Append("H11,"); sb.Append("H12,"); sb.Append("H13").Append(Environment.NewLine); } sb.Append(dt.Year + dt.Month.ToString("D2") + dt.Day.ToString("D2")).Append(","); // 仕入日 sb.Append(t.KakeGenkin.ToString()).Append(","); // 仕入区分 sb.Append(t.NonyuCode.ToString()).Append(","); // 仕入先コード sb.Append(string.Empty).Append(","); // 受注番号:値なし 2020/07/24 // 2020/08/20 間違えてコメント外したがこれで売上原価Pro側を定義したためそのままとする sb.Append(t.BumonCode.ToString()).Append(","); // 部門コード // 2020/08/17 コメント化 sb.Append(string.Empty).Append(","); // 部門コード : 値なし 2020/08/17 sb.Append(BCode.Replace(",", " ")).Append(","); // 部品コード // 商品マスターより名称・規格を取得 ClsCsvData.ClsCsvSyohin cls = Utility.GetSyohinsFromDataTable(BCode, global.dtSyohin); sb.Append(cls.SyohinName.Replace(",", " ")).Append(","); // 品名 sb.Append(cls.Kikaku.Replace(",", " ")).Append(","); // 規格 sb.Append(BSuu).Append(","); // 数量 sb.Append(string.Empty).Append(","); // 単位 sb.Append(string.Empty).Append(","); // 仕入単価 sb.Append(string.Empty).Append(","); // 備考1 sb.Append(string.Empty); // 備考2 Array.Resize(ref ProArray, iX + 1); ProArray[iX] = sb.ToString(); iX++; } } // 売上原価Proデータ CSVファイル出力 if (ProArray != null) { txtFileWrite(CsvOutPath, ProArray, "仕入"); } // データ削除 DeleteShiireData(_DEN_SHIIRE); } } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { } }