/// <summary> /// 在庫情報の更新をおこなう /// </summary> /// <param name="srhd">仕入ヘッダデータ</param> /// <param name="dt">仕入明細データテーブル</param> private void setS03_STOK_Update(T03_SRHD srhd, DataTable dt) { // 会社名から対象の倉庫を取得 int souk = T03Service.get倉庫コード(srhd.入荷先コード); foreach (DataRow row in dt.Rows) { T03_SRDTL srdtl = convertDataRowToT03_SRDTL_Entity(row); // 未入力レコードはスキップ if (srdtl.品番コード <= 0) { continue; } // 元伝票からの返品対象外商品なので処理しない if (row.RowState == DataRowState.Deleted) { continue; } decimal stockQty = 0; // 在庫調整数計算 if (srhd.仕入区分 == (int)CommonConstants.仕入区分.返品) { // No-108 Add Start stockQty = srdtl.数量 * -1; // オリジナル(変更前数量)と比較して差分数量を加減算 if (row.HasVersion(DataRowVersion.Original)) { decimal orgQty = ParseNumeric <decimal>(row["数量", DataRowVersion.Original]); stockQty = srdtl.数量 * -1 + orgQty; } // No-108 Add End } else { // 上記以外の場合は処理なし continue; } // 在庫作成・更新 S03_STOK stok = new S03_STOK(); stok.庫コード = souk; stok.品番コード = srdtl.品番コード; stok.賞味期限 = AppCommon.DateTimeToDate(srdtl.賞味期限, DateTime.MaxValue); stok.在庫数 = stockQty; S03Service.S03_STOK_Update(stok); } }
/// <summary> /// 在庫テーブル 更新 /// </summary> /// <param name="context">TRAC3Entities</param> /// <param name="pRow">StocktakingDataMember</param> private void Update_S03_STOK(TRAC3Entities context, StocktakingDataMember pRow) { // 在庫テーブル 編集 S03_STOK stok = new S03_STOK(); stok.庫コード = pRow.庫コード; stok.品番コード = pRow.品番コード; stok.賞味期限 = AppCommon.DateTimeToDate(pRow.賞味期限, DateTime.MaxValue); stok.在庫数 = pRow.実在庫数; // --------------------------- // 在庫テーブル 更新 // --------------------------- S03_STOK_Update_For_Stocktaking(context, stok); }
/// <summary> /// S10_STOCKTAKINGに変換する /// </summary> /// <param name="drow"></param> /// <returns></returns> protected S10_STOCKTAKING ConvertS10_STOCKTAKING_Entity(DataRow drow, int pUserId, DateTime pUpdateDate) { S10_STOCKTAKING retRow = new S10_STOCKTAKING(); retRow.棚卸日 = (DateTime)DateParse(drow["棚卸日"]); retRow.庫コード = ParseNumeric <int>(drow["倉庫コード"]); retRow.品番コード = ParseNumeric <int>(drow["品番コード"]); retRow.賞味期限 = AppCommon.DateTimeToDate(DateParse(drow["賞味期限"]), DateTime.MaxValue); retRow.実在庫数 = ParseNumeric <decimal>(drow["実在庫数"]); retRow.品番追加FLG = ParseNumeric <int>(drow["品番追加FLG"]); retRow.更新済みFLG = 0; retRow.登録者 = pUserId; retRow.登録日時 = pUpdateDate; retRow.最終更新者 = pUserId; retRow.最終更新日時 = pUpdateDate; return(retRow); }
/// <summary> /// 追加行情報取得 /// </summary> /// <param name="pMyCompany">会社コード</param> /// <param name="pStocktakingDate">棚卸日</param> /// <param name="pParamDic">パラメータ辞書</param> /// <returns></returns> public string CheckAddRowData(string pStocktakingDate, int?SoukCd, int?HinCd, string s賞味期限, int?会社コード, int?指定倉庫) { using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString())) { // 棚卸在庫テーブルにデータが存在するかチェック DateTime dteStocktaking = DateTime.Parse(pStocktakingDate); DateTime dt賞味期限 = string.IsNullOrEmpty(s賞味期限) ? AppCommon.DateTimeToDate(null, DateTime.MaxValue) : DateTime.Parse(s賞味期限); string retMsg = string.Empty; // 棚卸在庫データ取得 var stocktakingExist = context.S10_STOCKTAKING.Where(w => w.削除日時 == null && w.棚卸日 == dteStocktaking && w.庫コード == SoukCd && w.品番コード == HinCd && w.賞味期限 == dt賞味期限); // 更新対象倉庫 var ret = context.M22_SOUK .Where(x => x.庫コード == (指定倉庫 == null ? x.庫コード : 指定倉庫) && x.場所会社コード == 会社コード && x.削除日時 == null ).Select(c => c.庫コード).ToArray(); if (stocktakingExist.Any(c => c.更新済みFLG == 1)) { retMsg = "棚卸更新済みです。追加できません。"; } else if (stocktakingExist.Any(c => c.更新済みFLG == 0 && !ret.Contains(c.庫コード))) { retMsg = "入力済みです。追加できません。"; } return(retMsg); } }
/// <summary> /// 在庫情報の更新をおこなう /// </summary> /// <param name="context"></param> /// <param name="srhd">仕入ヘッダデータ</param> /// <param name="dt">仕入明細データテーブル</param> private void setS03_STOK_Update(TRAC3Entities context, T03_SRHD srhd, DataTable dt) // No-258 Mod { // 会社名から対象の倉庫を取得 int souk = T03Service.get倉庫コード(srhd.入荷先コード); foreach (DataRow row in dt.Rows) { T03_SRDTL srdtl = convertDataRowToT03_SRDTL_Entity(row); // 未入力レコードはスキップ if (srdtl.品番コード <= 0) { continue; } decimal stockQty = 0; decimal oldstockQty = 0; // 変更前数量 No-258 Add bool iskigenChangeFlg = false; // 賞味期限変更フラグ No-258 Add // 在庫調整数計算 if (srhd.仕入区分 == (int)CommonConstants.仕入区分.通常) { #region 通常仕入 if (row.RowState == DataRowState.Deleted) { // 数量分在庫数を減算 if (row.HasVersion(DataRowVersion.Original)) { // オリジナルが存在する場合はその数量を優先する stockQty = ParseNumeric <decimal>(row["数量", DataRowVersion.Original]); } else { stockQty = srdtl.数量; } // 仕入減算なので反転させる stockQty = stockQty * -1; } else if (row.RowState == DataRowState.Added) { // 数量分在庫数を加算 stockQty = srdtl.数量; } else if (row.RowState == DataRowState.Modified) { // No-258 Mod Start if (!row["賞味期限"].Equals(row["賞味期限", DataRowVersion.Original])) { // 賞味期限が変更された場合 // 減算フラグ(True:減算)の場合:旧賞味期限の在庫を加算、新賞味期限の在庫を減算する // 減算フラグ(True:False)の場合:旧賞味期限の在庫を減算、新賞味期限の在庫を加算する iskigenChangeFlg = true; // 旧賞味期限の在庫数 oldstockQty = ParseNumeric <decimal>(row["数量", DataRowVersion.Original]) * -1; // 新賞味期限の在庫数 stockQty = srdtl.数量; } else { // 数量が変更された場合 decimal orgQty = ParseNumeric <decimal>(row["数量", DataRowVersion.Original]); stockQty = srdtl.数量 - orgQty; } // No-258 Mod End } else { // 対象なし(DataRowState.Unchanged) continue; } #endregion } else { // 上記以外の場合は処理なし continue; } // No-258 Add Start // 賞味期限が変更された場合 if (iskigenChangeFlg == true) { DateTime dtKigen; S03_STOK oldStok = new S03_STOK(); oldStok.庫コード = souk; oldStok.品番コード = srdtl.品番コード; oldStok.賞味期限 = row["賞味期限", DataRowVersion.Original] == DBNull.Value ? AppCommon.DateTimeToDate(null, DateTime.MaxValue) : DateTime.TryParse(row["賞味期限", DataRowVersion.Original].ToString(), out dtKigen) ? dtKigen : AppCommon.DateTimeToDate(null, DateTime.MaxValue); oldStok.在庫数 = oldstockQty; // 旧賞味期限の在庫を更新 S03Service.S03_STOK_Update(oldStok); } // No-258 Add End // 在庫作成・更新 S03_STOK stok = new S03_STOK(); stok.庫コード = souk; stok.品番コード = srdtl.品番コード; stok.賞味期限 = AppCommon.DateTimeToDate(srdtl.賞味期限, DateTime.MaxValue); stok.在庫数 = stockQty; S03Service.S03_STOK_Update(stok); // 変更状態を確定 context.SaveChanges(); // No-258 Add } }
/// <summary> /// 仕入入力情報の削除をおこなう /// </summary> /// <param name="slipNumber">伝票番号</param> /// <param name="userId">ユーザID</param> /// <returns></returns> public int Delete(string slipNumber, int userId) { using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString())) { context.Connection.Open(); using (var tran = context.Connection.BeginTransaction(System.Data.IsolationLevel.Serializable)) { int number = 0; if (int.TryParse(slipNumber, out number)) { T03Service = new T03(context, userId); // No.156-1 Add S03Service = new S03(context, userId); S04Service = new S04(context, userId, S04.機能ID.仕入入力); try { // ①仕入ヘッダ論理削除 T03_SRHD hdData = T03Service.T03_SRHD_Delete(number); // ②仕入明細論理削除 List <T03_SRDTL> dtlList = T03Service.T03_SRDTL_Delete(number); // ③在庫更新 foreach (T03_SRDTL row in dtlList) { S03_STOK stok = new S03_STOK(); stok.庫コード = T03Service.get倉庫コード(hdData.会社名コード); stok.品番コード = row.品番コード; stok.賞味期限 = AppCommon.DateTimeToDate(row.賞味期限, DateTime.MaxValue); stok.在庫数 = row.数量 * -1; S03Service.S03_STOK_Update(stok); } // ④入出庫履歴作成 DataTable wkTbl = KESSVCEntry.ConvertListToDataTable <T03_SRDTL>(dtlList); wkTbl.AcceptChanges(); // No.156-1 Add foreach (DataRow row in wkTbl.Rows) { // 削除分を判定させる為、RowStateを変更する row.Delete(); } setS04_HISTORY_Create(context, hdData, wkTbl, null); // No.156-1 Mod,No-258 Mod // 変更状態を確定 context.SaveChanges(); // No.156-1 Add } catch { tran.Rollback(); throw new Exception("削除処理実行中にエラーが発生しました。"); } } else { throw new KeyNotFoundException("伝票番号が正しくありません"); } tran.Commit(); } } return(1); }
/// <summary> /// 在庫情報の更新をおこなう /// </summary> /// <param name="context"></param> /// <param name="idohd">移動ヘッダデータ</param> /// <param name="dtlTbl">移動明細データテーブル</param> /// <param name="isSubtract">減算フラグ(True:減算,False:減算しない)</param> private void setS03_STOK_Update(TRAC3Entities context, T05_IDOHD idohd, DataTable dtlTbl, bool isSubtract, bool isDeleteFlg = false) // No-258 Mod { foreach (DataRow row in dtlTbl.Rows) { T05_IDODTL dtlRow = convertDataRowToT05_IDODTL_Entity(row); if (dtlRow.品番コード <= 0) { continue; } int souko = isSubtract ? (int)idohd.出荷元倉庫コード : (int)idohd.出荷先倉庫コード; #region 在庫数計算 decimal stockQty = 0; decimal oldstockQty = 0; bool iskigenChangeFlg = false; // 賞味期限変更フラグ No-258 Add if (isDeleteFlg) { stockQty = dtlRow.数量 * (isSubtract ? 1 : -1); } else if (row.RowState == DataRowState.Deleted) { // 数量分在庫数を加減算 stockQty = dtlRow.数量 * (isSubtract ? -1 : 1); } else if (row.RowState == DataRowState.Added) { // 数量分在庫数を加減算 stockQty = dtlRow.数量 * (isSubtract ? -1 : 1); } else if (row.RowState == DataRowState.Modified) { // No-258 Mod Start if (!row["賞味期限"].Equals(row["賞味期限", DataRowVersion.Original])) { // 賞味期限が変更された場合 // 減算フラグ(True:減算)の場合:旧賞味期限の在庫を加算、新賞味期限の在庫を減算する // 減算フラグ(True:False)の場合:旧賞味期限の在庫を減算、新賞味期限の在庫を加算する iskigenChangeFlg = true; // 旧賞味期限の在庫数 oldstockQty = ParseNumeric <decimal>(row["数量", DataRowVersion.Original]) * (isSubtract ? 1 : -1); // 新賞味期限の在庫数 stockQty = dtlRow.数量 * (isSubtract ? -1 : 1); } else { // 数量が変更された場合 decimal orgQty = ParseNumeric <decimal>(row["数量", DataRowVersion.Original]); stockQty = (dtlRow.数量 - orgQty) * (isSubtract ? -1 : 1); } // No-258 Mod End } else { // 対象なし(DataRowState.Unchanged) continue; } #endregion // No-258 Add Start // 賞味期限が変更された場合 if (iskigenChangeFlg == true) { DateTime dt; S03_STOK oldStok = new S03_STOK(); oldStok.庫コード = souko; oldStok.品番コード = dtlRow.品番コード; oldStok.賞味期限 = row["賞味期限", DataRowVersion.Original] == DBNull.Value ? AppCommon.DateTimeToDate(null, DateTime.MaxValue) : DateTime.TryParse(row["賞味期限", DataRowVersion.Original].ToString(), out dt) ? dt : AppCommon.DateTimeToDate(null, DateTime.MaxValue); oldStok.在庫数 = oldstockQty; // 旧賞味期限の在庫を更新 S03Service.S03_STOK_Update(oldStok); } // No-258 Add End // 対象データ設定 S03_STOK stok = new S03_STOK(); stok.庫コード = souko; stok.品番コード = dtlRow.品番コード; stok.賞味期限 = AppCommon.DateTimeToDate(dtlRow.賞味期限, DateTime.MaxValue); stok.在庫数 = stockQty; // 新賞味期限の在庫を更新 S03Service.S03_STOK_Update(stok); // 変更状態を確定 context.SaveChanges(); // No-258 Add } }
/// <summary> /// 在庫情報の更新をおこなう /// </summary> /// <param name="context"></param> /// <param name="idohd">移動ヘッダデータ</param> /// <param name="dtlTbl">移動明細データテーブル</param> /// <param name="isSubtract">減算フラグ(True:減算,False:減算しない)</param> private void setS03_STOK_Update(TRAC3Entities context, DataRow hdTbl, DataTable dtlTbl, bool isSubtract) { T05_IDOHD idohd = convertDataRowToT05_IDOHD_Entity(hdTbl); foreach (DataRow row in dtlTbl.Rows) { T05_IDODTL dtlRow = convertDataRowToT05_IDODTL_Entity(row); if (dtlRow.品番コード <= 0) { continue; } int souko = isSubtract ? (int)idohd.出荷元倉庫コード : (int)idohd.出荷先倉庫コード; #region 在庫数計算 decimal stockQty = 0; decimal oldstockQty = 0; bool isSamekigenFlg = false; // 賞味期限同一フラグ bool isSameSoukFlg = false; // 倉庫同一フラグ bool isSameSyohinFlg = false; // 商品同一フラグ if (hdTbl.RowState == DataRowState.Modified) { isSameSoukFlg = isSubtract ? CheckSameValue(hdTbl, "出荷元倉庫コード") : CheckSameValue(hdTbl, "出荷先倉庫コード"); } if (row.RowState == DataRowState.Added) { // 数量分在庫数を加減算 stockQty = dtlRow.数量 * (isSubtract ? -1 : 1); } else if (row.RowState == DataRowState.Modified || (hdTbl.RowState == DataRowState.Modified && !isSameSoukFlg)) { // 明細を変更または前回と倉庫が異なる場合 isSamekigenFlg = CheckSameValue(row, "賞味期限"); isSameSyohinFlg = CheckSameValue(row, "品番コード"); // 賞味期限、倉庫、商品が変更された場合、過去在庫を取得 if (!isSamekigenFlg || !isSameSoukFlg || !isSameSyohinFlg) { // 減算フラグ(True:減算)の場合:旧賞味期限の在庫を加算、新賞味期限の在庫を減算する // 減算フラグ(True:False)の場合:旧賞味期限の在庫を減算、新賞味期限の在庫を加算する // 旧賞味期限の在庫数 oldstockQty = ParseNumeric <decimal>(row["数量", DataRowVersion.Original]) * (isSubtract ? 1 : -1); // 新賞味期限の在庫数 stockQty = dtlRow.数量 * (isSubtract ? -1 : 1); } else { // 数量が変更された場合 decimal orgQty = ParseNumeric <decimal>(row["数量", DataRowVersion.Original]); stockQty = (dtlRow.数量 - orgQty) * (isSubtract ? -1 : 1); } } else { // 明細対象なし(DataRowState.Unchanged) continue; } #endregion // 賞味期限、倉庫、商品が変更された場合 if ((row.RowState == DataRowState.Modified && (!isSamekigenFlg || !isSameSoukFlg)) || (hdTbl.RowState == DataRowState.Modified && !isSameSyohinFlg)) { DateTime dt; S03_STOK oldStok = new S03_STOK(); oldStok.庫コード = isSubtract ? int.Parse(hdTbl["出荷元倉庫コード", DataRowVersion.Original].ToString()) : int.Parse(hdTbl["出荷先倉庫コード", DataRowVersion.Original].ToString()); oldStok.品番コード = int.Parse(row["品番コード", DataRowVersion.Original].ToString()); oldStok.賞味期限 = row["賞味期限", DataRowVersion.Original] == DBNull.Value ? AppCommon.DateTimeToDate(null, DateTime.MaxValue) : DateTime.TryParse(row["賞味期限", DataRowVersion.Original].ToString(), out dt) ? dt : AppCommon.DateTimeToDate(null, DateTime.MaxValue); oldStok.在庫数 = oldstockQty; // 旧賞味期限の在庫を更新 S03Service.S03_STOK_Update(oldStok); } // 対象データ設定 S03_STOK stok = new S03_STOK(); stok.庫コード = souko; stok.品番コード = dtlRow.品番コード; stok.賞味期限 = AppCommon.DateTimeToDate(dtlRow.賞味期限, DateTime.MaxValue); stok.在庫数 = stockQty; // 新賞味期限の在庫を更新 S03Service.S03_STOK_Update(stok); // 変更状態を確定 context.SaveChanges(); } }
/// <summary> /// 移動入力情報を削除する /// </summary> /// <param name="ds"> /// 移動データセット /// [0:T05_IDOHD、1:T05_IDODTL] /// </param> /// <param name="userId">ログインユーザID</param> /// <returns></returns> public void Delete(string slipNumber, int userId) { using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString())) { context.Connection.Open(); using (var tran = context.Connection.BeginTransaction(System.Data.IsolationLevel.Serializable)) { T05Service = new T05(context, userId); S03Service = new S03(context, userId); S04Service = new S04(context, userId, S04.機能ID.振替入力); int number = 0; if (int.TryParse(slipNumber, out number)) { try { var idohd = context.T05_IDOHD .Where(x => x.削除日時 == null && x.伝票番号 == number) .FirstOrDefault(); var idodtl = context.T05_IDODTL .Where(x => x.削除日時 == null && x.伝票番号 == number) .ToList(); // 伝票データが存在しない場合は処理しない。 if (idodtl == null || idodtl.Count == 0) { return; } // 1>> ヘッダ情報削除 T05Service.T05_IDOHD_Delete(number); // 2>> 明細情報削除 T05Service.T05_IDODTL_Delete(number); // 3>> 在庫情報削除 #region 在庫調整 foreach (T05_IDODTL row in idodtl) { int souko = row.行番号 == 2 ? (int)idohd.出荷元倉庫コード : (int)idohd.出荷先倉庫コード; // 対象データ設定 S03_STOK stok = new S03_STOK(); stok.庫コード = souko; stok.品番コード = row.品番コード; stok.賞味期限 = AppCommon.DateTimeToDate(row.賞味期限, DateTime.MaxValue); stok.在庫数 = row.行番号 == 2 ? row.数量 : row.数量 * (-1); // 旧賞味期限の在庫を更新 S03Service.S03_STOK_Update(stok); // 変更状態を確定 context.SaveChanges(); } #endregion // 4>> 入出庫データの物理削除 S04Service.PhysicalDeletionProductHistory(context, number, (int)S04.機能ID.振替入力); // 変更状態を確定 context.SaveChanges(); tran.Commit(); } catch (Exception ex) { tran.Rollback(); throw ex; } } else { throw new KeyNotFoundException("伝票番号が正しくありません"); } } } }
/// <summary> /// 仕入ヘッダ情報を取得する /// </summary> /// <param name="companyCode">会社名コード</param> /// <param name="slipNumber">伝票番号</param> /// <param name="userId">ログインユーザID</param> /// <returns></returns> private List <T03.T03_SRHD_RT_Extension> getM03_SRHD_RT_Extension(string companyCode, string slipNumber, int userId) { using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString())) { context.Connection.Open(); int code, num; if (int.TryParse(companyCode, out code) && int.TryParse(slipNumber, out num)) { var result = context.T03_SRHD.Where(w => w.削除日時 == null && w.会社名コード == code && w.伝票番号 == num) .GroupJoin(context.T03_SRHD.Where(w => w.削除日時 == null), x => x.元伝票番号, y => y.伝票番号, (x, y) => new { x, y }) .SelectMany(s => s.y.DefaultIfEmpty(), (a, b) => new { SRTHD = a.x, SRHD = b }) .ToList(); if (result.Select(s => s.SRTHD.仕入区分).FirstOrDefault() == CommonConstants.仕入区分.返品.GetHashCode()) { // 返品レコードとしてデータを作成 var resultRthd = result.Select(x => new T03.T03_SRHD_RT_Extension { 伝票番号 = x.SRTHD.伝票番号.ToString(), 会社名コード = x.SRTHD.会社名コード.ToString(), 仕入日 = x.SRTHD.仕入日, 入力区分 = x.SRTHD.入力区分, 仕入区分 = x.SRTHD.仕入区分, 仕入先コード = x.SRTHD.仕入先コード.ToString(), 仕入先枝番 = x.SRTHD.仕入先枝番.ToString(), 入荷先コード = x.SRTHD.入荷先コード.ToString(), 発注番号 = x.SRTHD.発注番号.ToString(), 備考 = x.SRTHD.備考, // No-94 Add Start 通常税率対象金額 = x.SRTHD.通常税率対象金額 ?? 0, 軽減税率対象金額 = x.SRTHD.軽減税率対象金額 ?? 0, 通常税率消費税 = x.SRTHD.通常税率消費税 ?? 0, 軽減税率消費税 = x.SRTHD.軽減税率消費税 ?? 0, // No-94 Add End // No-95 Add Start 小計 = x.SRTHD.小計 ?? 0, 総合計 = x.SRTHD.総合計 ?? 0, // No-95 Add End 消費税 = x.SRTHD.消費税, 元伝票番号 = x.SRHD == null ? "" : x.SRHD.伝票番号.ToString(), 元仕入日 = x.SRHD == null ? (DateTime?)null : x.SRHD.仕入日, データ状態 = false }) .ToList(); return(resultRthd); } else { // 仕入レコードとしてデータを作成 // ①新規伝票番号を取得 M88 seqSv = new M88(); int newSeqNum = seqSv.getNextNumber(CommonConstants.明細番号ID.ID01_売上_仕入_移動, userId); DateTime retDate = (DateTime)AppCommon.DateTimeToDate(DateTime.Now); var resultSrhd = result.Select(x => new T03.T03_SRHD_RT_Extension { 伝票番号 = newSeqNum.ToString(), 会社名コード = x.SRTHD.会社名コード.ToString(), 仕入日 = retDate, 入力区分 = x.SRTHD.入力区分, 仕入区分 = CommonConstants.仕入区分.返品.GetHashCode(), 仕入先コード = x.SRTHD.仕入先コード.ToString(), 仕入先枝番 = x.SRTHD.仕入先枝番.ToString(), 入荷先コード = x.SRTHD.入荷先コード.ToString(), 発注番号 = x.SRTHD.発注番号.ToString(), 備考 = x.SRTHD.備考, // No-94 Add Start 通常税率対象金額 = x.SRTHD.通常税率対象金額 ?? 0, 軽減税率対象金額 = x.SRTHD.軽減税率対象金額 ?? 0, 通常税率消費税 = x.SRTHD.通常税率消費税 ?? 0, 軽減税率消費税 = x.SRTHD.軽減税率消費税 ?? 0, // No-94 Add End // No-95 Add Start 小計 = x.SRTHD.小計 ?? 0, 総合計 = x.SRTHD.総合計 ?? 0, // No-95 Add End 消費税 = x.SRTHD.消費税, 元伝票番号 = x.SRTHD.伝票番号.ToString(), 元仕入日 = x.SRTHD.仕入日, データ状態 = true }) .ToList(); return(resultSrhd); } } else { return(new List <T03.T03_SRHD_RT_Extension>()); } } }