public List <T11_YoteiData> GetYoteiData(DateTime p入金日, int p得意先コード, int p得意先枝番, int p自社コード) { int i入金日To = p入金日.Year * 10000 + p入金日.Month * 100 + 31; using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString())) { context.Connection.Open(); var yotei = (from s01 in context.S01_SEIHD where s01.自社コード == p自社コード && s01.入金日 <= i入金日To && s01.請求先コード == p得意先コード && s01.請求先枝番 == p得意先枝番 orderby s01.入金日 descending select new T11_YoteiData { i請求月 = s01.請求年月, i入金予定日 = s01.入金日, 入金予定額 = s01.売上額, 消費税 = s01.消費税, 売上合計 = s01.売上額 + s01.消費税 }).Take(5).ToList(); foreach (var row in yotei) { row.請求月 = new DateTime(row.i請求月 / 100, row.i請求月 % 100, 1); row.入金予定日 = new DateTime(row.i入金予定日 / 10000, (row.i入金予定日 % 10000) / 100, row.i入金予定日 % 100); } return(yotei); } }
/// <summary> /// S14_CARSBの新規追加 /// </summary> /// <param name="s14SBdrvs">S14_CARSB_Member</param> public void Insert(S14_CARSB_Member s14SBdrvs) { using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString())) { context.Connection.Open(); S14_CARSB s14SB = new S14_CARSB(); s14SB.車輌KEY = s14SBdrvs.車輌KEY; s14SB.集計年月 = s14SBdrvs.集計年月; s14SB.経費項目ID = s14SBdrvs.経費項目ID; s14SB.登録日時 = s14SBdrvs.登録日時; s14SB.更新日時 = s14SBdrvs.更新日時; s14SB.経費項目名 = s14SBdrvs.経費項目名; s14SB.固定変動区分 = s14SBdrvs.固定変動区分; s14SB.金額 = s14SBdrvs.金額; try { // newのエンティティに対してはAcceptChangesで新規追加となる context.S14_CARSB.ApplyChanges(s14SB); context.SaveChanges(); } catch (UpdateException ex) { // PKey違反等 Console.WriteLine(ex); } } }
/// <summary> /// S14_CARSBのデータ取得 人件費データ取得 /// </summary> /// <param name="p取引先ID">取引先ID</param> /// <param name="p発地ID">発地ID</param> /// <param name="p着地ID">着地ID</param> /// <param name="p商品ID">商品ID</param> /// <returns>S14_CARSB_Member</returns> public List <S14_CARSB_Member> GetData_Jinken(int p車輌ID, int p集計年月) { using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString())) { context.Connection.Open(); var ret = (from s14SB in context.S14_CARSB from m05 in context.M05_CAR.Where(m05 => m05.車輌KEY == s14SB.車輌KEY) join m07 in context.M07_KEI.Where(c => c.削除日付 == null) on s14SB.経費項目ID equals m07.経費項目ID into m07Group from m07g in m07Group.DefaultIfEmpty() orderby m07g.経費区分, s14SB.経費項目ID where (s14SB.車輌KEY == (from drv in context.M05_CAR where drv.車輌ID == p車輌ID select drv.車輌KEY).FirstOrDefault() && s14SB.集計年月 == p集計年月 && m07g.経費区分 == 3) select new S14_CARSB_Member { 車輌KEY = m05.車輌KEY, 集計年月 = s14SB.集計年月, 経費項目ID = s14SB.経費項目ID, 登録日時 = s14SB.登録日時, 更新日時 = s14SB.更新日時, 経費項目名 = s14SB.経費項目名, 固定変動区分 = s14SB.固定変動区分, 金額 = s14SB.金額, 経費区分 = m07g.経費区分, }).AsQueryable();; return(ret.ToList()); } }
/// <summary> /// 入金予定実績表の基本情報を取得する /// </summary> /// <param name="context"></param> /// <param name="dt集計開始日"></param> /// <param name="dt集計終了日"></param> /// <param name="myCompany"></param> /// <param name="i得意先コード"></param> /// <param name="i枝番"></param> /// <returns></returns> private long getDeposit(TRAC3Entities context, DateTime?dt集計開始日, DateTime dt集計終了日, int myCompany, int i得意先コード, int i枝番) { int startYearMonth = dt集計開始日 == null ? 0 : (((DateTime)dt集計開始日).Year * 100) + ((DateTime)dt集計開始日).Month; int endYearMonth = (dt集計終了日.Year * 100) + dt集計終了日.Month; // 請求情報から入金滞留額を取得 var 予定実績Row = context.M01_TOK .Where(w => w.削除日時 == null && w.担当会社コード == myCompany && w.取引先コード == i得意先コード && w.枝番 == i枝番) .Join(context.M70_JIS.Where(w => w.削除日時 == null), x => x.担当会社コード, y => y.自社コード, (x, y) => new { x, y }) .GroupJoin(context.S01_SEIHD.Where(w => w.自社コード == myCompany && w.請求年月 >= startYearMonth && w.請求年月 <= endYearMonth), x => new { code = x.x.取引先コード, eda = x.x.枝番 }, y => new { code = y.請求先コード, eda = y.請求先枝番 }, (x, y) => new { x, y }) .SelectMany(s => s.y.DefaultIfEmpty(), (a, b) => new { TOK = a.x, SHD = b }) .GroupBy(g => new { g.TOK.x.担当会社コード, g.TOK.x.取引先コード, g.TOK.x.枝番 }) .Select(s => new { 自社コード = s.Key.担当会社コード, 得意先コード = s.Key.取引先コード, 得意先枝番 = s.Key.枝番, 対象開始年月 = startYearMonth, 対象終了年月 = endYearMonth, 入金予定額 = s.FirstOrDefault().SHD == null ? 0 : s.Sum(m => m.SHD.売上額) + s.Sum(m => m.SHD.消費税), 入金額 = s.FirstOrDefault().SHD == null ? 0 : s.Sum(m => m.SHD.入金額), 入金滞留額 = s.FirstOrDefault().SHD == null ? 0 : s.Sum(m => m.SHD.売上額) + s.Sum(m => m.SHD.消費税) - s.Sum(m => m.SHD.入金額) }).FirstOrDefault(); return(予定実績Row == null ? 0 : 予定実績Row.入金滞留額); }
/// <summary> /// M11_TEKの検索データ取得 /// </summary> /// <param name="p摘要ID">摘要ID</param> /// <returns>M11_TEK_Member</returns> public List <M11_TEK_Search_Member> GetSearchData(int?p摘要ID, int pOptiion) { using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString())) { context.Connection.Open(); var ret = (from m11 in context.M11_TEK where m11.削除日時 == null select new M11_TEK_Search_Member { 摘要ID = m11.摘要ID, 摘要名 = m11.摘要名, かな読み = m11.かな読み, }).AsQueryable(); if (p摘要ID != null) { if (pOptiion == 0) { if (-1 != p摘要ID) { ret = ret.Where(c => c.摘要ID == p摘要ID); } } } return(ret.ToList()); } }
/// <summary> /// 確定情報を取得する /// </summary> /// <param name="companyCode"></param> /// <param name="urhdList"></param> /// <returns></returns> private List <DLY03010.S11_KAKUTEI_INFO> getS11_KAKUTEI_Extension(List <T03.T03_SRHD_Extension> hdList) { if (!hdList.Any()) { return(new List <DLY03010.S11_KAKUTEI_INFO>()); } using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString())) { context.Connection.Open(); int val; int company = int.TryParse(hdList[0].会社名コード, out val) ? val : -1; int code = int.TryParse(hdList[0].仕入先コード, out val) ? val : -1; int eda = int.TryParse(hdList[0].仕入先枝番, out val) ? val : -1; List <int> kbnList = new List <int>() { (int)CommonConstants.取引区分.仕入先, (int)CommonConstants.取引区分.相殺 }; // 取引先情報 var tokData = context.M01_TOK.Where(w => w.取引先コード == code && w.枝番 == eda && w.削除日時 == null); // 仕入先確定データ var shiFix = tokData .GroupJoin(context.S11_KAKUTEI.Where(w => w.確定区分 == (int)CommonConstants.確定区分.支払), x => new { jis = x.担当会社コード, tKbn = x.取引区分, closeDay = (int)x.S締日 }, y => new { jis = y.自社コード, tKbn = y.取引区分, closeDay = y.締日 }, (x, y) => new { x, y }) .SelectMany(z => z.y.DefaultIfEmpty(), (a, b) => new { TOK_S = a.x, FIX_S = b }) .Select(s => new DLY03010.S11_KAKUTEI_INFO { 取引先コード = s.TOK_S.取引先コード, 枝番 = s.TOK_S.枝番, 取引区分 = s.TOK_S.取引区分, 確定区分 = s.FIX_S.確定区分, 確定日 = s.FIX_S.確定日 }) .Union (tokData.Where(w => w.取引区分 == (int)CommonConstants.取引区分.相殺) .GroupJoin(context.S11_KAKUTEI.Where(w => w.確定区分 == (int)CommonConstants.確定区分.請求), x => new { jis = x.担当会社コード, tKbn = x.取引区分, closeDay = (int)x.T締日 }, y => new { jis = y.自社コード, tKbn = y.取引区分, closeDay = y.締日 }, (x, y) => new { x, y }) .SelectMany(z => z.y.DefaultIfEmpty(), (c, d) => new { TOK_SO = c.x, FIX_SO = d }) .Select(s => new DLY03010.S11_KAKUTEI_INFO { 取引先コード = s.TOK_SO.取引先コード, 枝番 = s.TOK_SO.枝番, 取引区分 = s.TOK_SO.取引区分, 確定区分 = s.FIX_SO.確定区分, 確定日 = s.FIX_SO.確定日 })); return(shiFix.ToList()); } }
/// <summary> /// M50_RTBLの重量の指定削除 /// </summary> /// <param name="m50RTBL">M50_RTBL_Member</param> public void Jyuryou_Delete(int iタリフID, int i重量) { using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString())) { context.Connection.Open(); var query = from x in context.M50_RTBL.Distinct() where (x.タリフコード == iタリフID && x.重量 == i重量) orderby x.タリフコード select x; int query_count = query.Count(); int cnt = 0; for (int i = 0; i < query_count; i++) { var m50 = query.FirstOrDefault(); cnt = cnt + 1; if (cnt == 1) { context.DeleteObject(m50); } cnt = 0; context.SaveChanges(); } } }
/// <summary> /// データ取得 /// </summary> /// <param name="p明細番号"></param> /// <param name="p得意先ID"></param> /// <param name="p入金日付"></param> /// <returns></returns> public List <DLY08010_Member> DLY08010_GetData(int?p明細番号) { using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString())) { context.Connection.Open(); DLY08010_Member result = new DLY08010_Member(); var NKubun = (from cmb in context.M99_COMBOLIST where cmb.分類 == "日次" && cmb.機能 == "入金伝票入力" && cmb.カテゴリ == "入金区分" select cmb); var query = (from t04 in context.T04_NYUK from m01 in context.M01_TOK.Where(c => c.得意先KEY == t04.取引先KEY) where t04.明細区分 == 2 && t04.明細番号 == p明細番号 select new DLY08010_Member { 得意先ID = m01.得意先ID, 得意先KEY = m01.得意先KEY, 入出金日付 = t04.入出金日付, 入金区分 = t04.入出金区分, 入金金額 = t04.入出金金額 == null ? 0 : t04.入出金金額, d入金金額 = t04.入出金金額 == null ? 0 : t04.入出金金額, 摘要ID = t04.摘要ID, 摘要 = t04.摘要名, 手形期日 = t04.手形日付, 明細番号 = t04.明細番号, 明細行 = t04.明細行, 入力者ID = t04.入力者ID, 明細区分 = t04.明細区分, }).ToList(); foreach (var rec in query) { rec.Str手形期日 = rec.手形期日 == null ? "" : ((DateTime)(rec.手形期日)).ToString("yyyy/MM/dd"); } return(query); } }
/// <summary> /// データ取得実処理部 /// </summary> /// <returns></returns> private List <M06_IRO> getColorList(SEARCH_LIST_M06 condition) { List <M06_IRO> list = new List <M06_IRO>(); using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString())) { context.Connection.Open(); var m16 = context.M06_IRO .Where(w => w.削除日時 == null) .Select(c => c).AsQueryable(); if (!string.IsNullOrEmpty(condition.コードFROM)) { m16 = m16.Where(x => x.色コード.CompareTo(condition.コードFROM) >= 0); } if (!string.IsNullOrEmpty(condition.コードTO)) { m16 = m16.Where(x => x.色コード.CompareTo(condition.コードTO) <= 0); } if (condition.色名.Length > 0) { m16 = m16.Where(w => condition.色名.Any(names => w.色名称.Contains(names))); } // リスト取得 list = m16.ToList(); } return(list); }
/// <summary> /// 自社マスタのデータ削除(論理)をおこなう /// </summary> /// <param name="p自社ID"></param> /// <param name="pLoginUserCode"></param> public void Delete(string p自社ID, int pLoginUserCode) { // パラメータの型変換 int?ret = convertCompanyCode(p自社ID); if (ret == null) { return; } int iCompany = ret.Value; using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString())) { context.Connection.Open(); // 削除行を特定 var m70 = context.M70_JIS .Where(w => w.自社コード == iCompany) .FirstOrDefault(); if (m70 != null) { m70.削除者 = pLoginUserCode; m70.削除日時 = DateTime.Now; // 削除更新実行 m70.AcceptChanges(); } // データベースをコミット context.SaveChanges(); } }
/// <summary> /// M70_JISのデータ取得 /// </summary> /// <param name="p自社ID">自社ID</param> /// <returns>M70_JIS_Member</returns> public List <M70_JIS> GetImageData() { using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString())) { context.Connection.Open(); var query = context.M70_JIS.Where(x => x.自社コード == 1); //var query = (from m70 in context.M70_JIS // where m70.自社ID == 1 // select new M70_JIS_Member // { // 自社ID = m70.自社ID, // 登録日時 = m70.登録日時, // 更新日時 = m70.更新日時, // 自社名 = m70.自社名, // 代表者名 = m70.代表者名, // 郵便番号 = m70.郵便番号, // 住所1 = m70.住所1, // 住所2 = m70.住所2, // 電話番号 = m70.電話番号, // FAX = m70.FAX, // 振込銀行1 = m70.振込銀行1, // 振込銀行2 = m70.振込銀行2, // 振込銀行3 = m70.振込銀行3, // 法人ナンバー = m70.法人ナンバー, // 削除日付 = m70.削除日付, // 画像 = m70.ロゴ画像, // }).AsQueryable(); return(query.ToList()); } }
// 課題No329 Del start ///// <summary> ///// 入出庫履歴テーブル更新チェック ///// </summary> ///// <param name="context">TRAC3Entities</param> ///// <param name="pRow">StocktakingDataMember</param> //private bool CheckS04_HISTORYUpdate(TRAC3Entities context, StocktakingDataMember pRow) //{ // bool bolResult = true; // // 在庫数と実在庫数のチェック // if (pRow.在庫数 == pRow.実在庫数) // { // bolResult = false; // } // return bolResult; //} // 課題No329 end /// <summary> /// 入出庫履歴テーブル 更新 /// </summary> /// <param name="context">TRAC3Entities</param> /// <param name="pRow">StocktakingDataMember</param> private void Update_S04_HISTORY(TRAC3Entities context, StocktakingDataMember pRow) { // 入出庫履歴テーブル 編集 decimal dcmStockQtyhist = 0; dcmStockQtyhist = pRow.実在庫数 - pRow.在庫数; int intInOutKbn = 0; if (dcmStockQtyhist > 0) { intInOutKbn = (int)CommonConstants.入出庫区分.ID01_入庫; } else { intInOutKbn = (int)CommonConstants.入出庫区分.ID02_出庫; } S04_HISTORY history = new S04_HISTORY(); history.入出庫日 = pRow.棚卸日; history.入出庫時刻 = com.GetDbDateTime().TimeOfDay; history.庫コード = pRow.庫コード; history.入出庫区分 = intInOutKbn; history.品番コード = pRow.品番コード; history.賞味期限 = pRow.賞味期限; history.数量 = decimal.ToInt32(Math.Abs(dcmStockQtyhist)); history.伝票番号 = null; // --------------------------- // 入出庫履歴テーブル 登録 // --------------------------- S04Service.CreateProductHistory(history); }
/// <summary> /// 仕入一覧ヘッダデータ取得 /// </summary> /// <param name="context"></param> /// <param name="company"></param> /// <param name="yearMonth"></param> /// <param name="tokList"></param> /// <returns></returns> private List <S07_SRIHD> getHeaderData(TRAC3Entities context, int company, int yearMonth, List <M01_TOK> tokList) { List <S07_SRIHD> shdList = new List <S07_SRIHD>(); foreach (M01_TOK tok in tokList) { DateTime paymentDate; // 入金日の算出 try { paymentDate = AppCommon.GetClosingDate(yearMonth / 100, yearMonth % 100, tok.S入金日1 ?? CommonConstants.DEFAULT_CLOSING_DAY, tok.Sサイト1 ?? 0); } catch { // 基本的にあり得ないがこの場合は当月末日を指定 paymentDate = new DateTime(yearMonth / 100, yearMonth % 100, DateTime.DaysInMonth(yearMonth / 100, yearMonth % 100)); } int paymentDay = paymentDate.Year * 10000 + paymentDate.Month * 100 + paymentDate.Day; List <S07_SRIHD> wk = context.S07_SRIHD.Where(w => w.自社コード == company && w.支払年月 == yearMonth && w.支払先コード == tok.取引先コード && w.支払先枝番 == tok.枝番 && w.支払日 == paymentDay && (w.当月支払額 != 0 || w.前月残高 != 0 || w.支払額 != 0)).ToList(); shdList = shdList.Concat(wk).ToList(); } return(shdList); }
/// <summary> /// 仕入一覧ヘッダ登録処理(販社) /// </summary> /// <param name="context"></param> /// <param name="company"></param> /// <param name="yearMonth"></param> /// <param name="salesCompanyCode"></param> /// <param name="targetStDate"></param> /// <param name="targetEdDate"></param> /// <param name="code"></param> /// <param name="eda"></param> /// <param name="paymentDate"></param> /// <param name="userId"></param> private void setHeaderInfoHan(TRAC3Entities context, int myCompanyCode, int yearMonth, int salesCompanyCode, DateTime targetStDate, DateTime targetEdDate, int code, int eda, DateTime paymentDate, int userId) { int cnt = 1; SHR03010 shr03010 = new SHR03010(); // ヘッダ情報取得(販社) S02_SHRHD shrHd = shr03010.getHeaderInfoHan(context, myCompanyCode, yearMonth, salesCompanyCode, cnt, targetStDate, targetEdDate, paymentDate, userId); // 都度請求の場合はヘッダデータを作成しない if (shrHd == null) { return; } // 前月残高の再設定 S07_SRIHD befData = getLastChargeInfo(context, myCompanyCode, yearMonth, code, eda, cnt); shrHd.前月残高 = befData == null ? 0 : befData.当月支払額; // 繰越金額、当月残高の再計算 shrHd.繰越残高 = shrHd.前月残高 - shrHd.出金額; shrHd.当月支払額 = shrHd.繰越残高 + shrHd.支払額 + shrHd.消費税; // ヘッダ情報の整形 S07_SRIHD s07data = ConvertToS07_SRIHD_Entity(shrHd); // ヘッダ情報登録 S07_SRIHD_Update(context, s07data); }
/// <summary> /// 新製品情報取得 /// </summary> /// <param name="pSetId"></param> /// <returns></returns> public DataSet GetNewShin(int pSetId) { DataSet dsM10NewShin = new DataSet(); using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString())) { context.Connection.Open(); List <M10_NEWSHINHD> hdList = context.M10_NEWSHINHD.Where(c => c.SETID == pSetId).ToList(); List <M10_NEWSHINDTL> dtlList = context.M10_NEWSHINDTL.Where(c => c.SETID == pSetId).OrderBy(o => o.構成行).ToList(); List <M10_NEWSHIZAI> shizaiList = context.M10_NEWSHIZAI.Where(c => c.SETID == pSetId).OrderBy(o => o.行番号).ToList(); List <M10_NEWETC> etcList = context.M10_NEWETC.Where(c => c.SETID == pSetId).OrderBy(o => o.行番号).ToList(); // Datatable変換 DataTable dthd = KESSVCEntry.ConvertListToDataTable(hdList); DataTable dtdtl = KESSVCEntry.ConvertListToDataTable(dtlList); DataTable dtshizai = KESSVCEntry.ConvertListToDataTable(shizaiList); DataTable dtetc = KESSVCEntry.ConvertListToDataTable(etcList); dthd.TableName = M10_HEADER_TABLE_NAME; dsM10NewShin.Tables.Add(dthd); dtdtl.TableName = M10_DETAIL_TABLE_NAME; dsM10NewShin.Tables.Add(dtdtl); dtshizai.TableName = M10_ZHIZAI_TABLE_NAME; dsM10NewShin.Tables.Add(dtshizai); dtetc.TableName = M10_ETC_TABLE_NAME; dsM10NewShin.Tables.Add(dtetc); return(dsM10NewShin); } }
/// <summary> /// 前月情報取得 /// Accounts Receivable:売掛金 /// </summary> /// <param name="context"></param> /// <param name="company">会社名コード</param> /// <param name="yearMonth">集計開始年月</param> /// <param name="code">得意先コード</param> /// <param name="eda">得意先枝番</param> /// <param name="cnt">回数</param> public S08_URIKAKE_Extension getLastAccountsRec(TRAC3Entities context, int company, DateTime targetStDate, int?code, int?eda) { // 前月開始日 DateTime befTargetStDate = targetStDate.AddMonths(-1); var befAccountsRec = context.S08_URIKAKE .Where(w => w.自社コード == company && w.日付 >= befTargetStDate && w.日付 < targetStDate && w.得意先コード == code && w.得意先枝番 == eda) .OrderByDescending(o => o.日付) .FirstOrDefault(); // 前月繰越行に整形 S08_URIKAKE_Extension ret = new S08_URIKAKE_Extension(); ret.自社コード = company; ret.日付 = new DateTime(targetStDate.Year, targetStDate.Month, 1); ret.得意先コード = code ?? 0; ret.得意先枝番 = eda ?? 0; ret.伝票番号 = 0; ret.行番号 = 0; ret.前月繰越 = befAccountsRec == null ? 0 : befAccountsRec.残高; ret.残高 = befAccountsRec == null ? 0 : befAccountsRec.残高; return(ret); }
/// <summary> /// 削除 /// </summary> /// <param name="data"></param> /// <param name="loginUserId"></param> public bool Delete(int pSETID, int loginUserId) { using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString())) { context.Connection.Open(); //構成品・資材・その他のテーブルはDelete-Insert var delDtl = context.M10_NEWSHINDTL.Where(w => w.SETID == pSETID); foreach (var dtl in delDtl) { context.M10_NEWSHINDTL.DeleteObject(dtl); } var delShizai = context.M10_NEWSHIZAI.Where(w => w.SETID == pSETID); foreach (var dtl in delShizai) { context.M10_NEWSHIZAI.DeleteObject(dtl); } var delETC = context.M10_NEWETC.Where(w => w.SETID == pSETID); foreach (var dtl in delETC) { context.M10_NEWETC.DeleteObject(dtl); } var SHIN = context.M10_NEWSHINHD.Where(w => w.SETID == pSETID).FirstOrDefault(); context.M10_NEWSHINHD.DeleteObject(SHIN); context.SaveChanges(); } return(true); }
/// <summary> /// 売掛テーブル更新処理 /// </summary> /// <param name="context"></param> /// <param name="hdData"></param> private void S08_URIKAKE_Update(TRAC3Entities context, S08_URIKAKE_Extension urData, int userId) { //INSERTで登録する S08_URIKAKE data = new S08_URIKAKE(); data.自社コード = urData.自社コード; data.得意先コード = urData.得意先コード; data.得意先枝番 = urData.得意先枝番; data.日付 = urData.日付; data.伝票番号 = urData.伝票番号; data.行番号 = urData.行番号; data.品番コード = urData.品番コード; data.自社品名 = urData.自社品名; data.金種コード = urData.金種コード; data.数量 = urData.数量; data.単価 = urData.単価; data.金額 = urData.金額; data.通常税率消費税 = urData.通常税率消費税; data.軽減税率消費税 = urData.軽減税率消費税; data.入金額 = urData.入金額; data.前月繰越 = urData.前月繰越; data.残高 = urData.残高; data.登録者 = userId; data.登録日時 = DateTime.Now; context.S08_URIKAKE.ApplyChanges(data); }
/// <summary> /// /// </summary> /// <returns></returns> public MST03011_DATASET GetMasterDataSet() { MST03011_DATASET retDataSet = new MST03011_DATASET(); using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString())) { context.Connection.Open(); var m06 = context.M06_IRO .Where(w => w.削除日時 == null) .ToList(); retDataSet.M06List = m06; var m09 = context.M09_HIN .Where(w => w.削除日時 == null && w.商品形態分類 == (int)CommonConstants.商品形態分類.SET品) .ToList(); retDataSet.M09List = m09; var m10 = context.M10_SHIN .Where(w => w.削除日時 == null) .ToList(); retDataSet.M10List = m10; } return(retDataSet); }
/// <summary> /// 入金情報取得 /// </summary> /// <param name="context"></param> /// <param name="company">会社名コード</param> /// <param name="code">得意先コード</param> /// <param name="eda">得意先枝番</param> /// <param name="targetStDate">集計開始日</param> /// <param name="targetEdDate">集計終了日</param> public List <S08_URIKAKE_Extension> getPaymentInfo(TRAC3Entities context, int company, int?code, int?eda, DateTime?targetStDate, DateTime?targetEdDate) { // 入金額取得 var nyukinList = context.T11_NYKNHD .Where(w => w.削除日時 == null && w.入金先自社コード == company && (w.入金日 >= targetStDate && w.入金日 <= targetEdDate)) .Join(context.T11_NYKNDTL.Where(w => w.削除日時 == null), x => x.伝票番号, y => y.伝票番号, (x, y) => new { NYKNHD = x, NYKNDTL = y }) .GroupJoin(context.M70_JIS.Where(c => c.削除日時 == null), x => x.NYKNHD.入金元販社コード, y => y.自社コード, (x, y) => new { x, y }) .SelectMany(m => m.y.DefaultIfEmpty(), (c, d) => new { c.x.NYKNHD, c.x.NYKNDTL, TOKJIS = d }) .Select(s => new S08_URIKAKE_Extension { 自社コード = s.NYKNHD.入金先自社コード, 日付 = s.NYKNHD.入金日, 伝票番号 = s.NYKNDTL.伝票番号, 行番号 = s.NYKNDTL.行番号, 品番コード = 0, 金種コード = s.NYKNDTL.金種コード, 得意先コード = s.NYKNHD.得意先コード != null ? (int)s.NYKNHD.得意先コード : (int)s.TOKJIS.取引先コード, 得意先枝番 = s.NYKNHD.得意先枝番 != null ? (int)s.NYKNHD.得意先枝番 : (int)s.TOKJIS.枝番, 入金額 = s.NYKNDTL.金額 }) .ToList(); nyukinList = nyukinList.Where(c => c.得意先コード == code && c.得意先枝番 == eda).ToList(); return(nyukinList); }
/// <summary> /// M50_RTBLの更新 /// </summary> /// <param name="m50rtbl">M50_RTBL_Member</param> public void Update(int iタリフID, int i重量, int i距離, int i運賃) { using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString())) { context.Connection.Open(); //更新行を特定 var ret = from x in context.M50_RTBL where (x.タリフコード == iタリフID && x.距離 == i距離 && x.重量 == i重量) orderby x.距離, x.重量 select x; var m50 = ret.FirstOrDefault(); if (m50 != null) { m50.運賃 = i運賃; m50.更新日時 = DateTime.Now; m50.AcceptChanges(); } else { M50_RTBL m50r = new M50_RTBL(); m50r.タリフコード = iタリフID; m50r.距離 = i距離; m50r.重量 = i重量; m50r.運賃 = i運賃; m50r.登録日時 = DateTime.Now; context.M50_RTBL.ApplyChanges(m50r); } context.SaveChanges(); } }
/// <summary> /// M50_RTBLの物理削除 /// </summary> /// <param name="m50RTBL">M50_RTBL_Member</param> public void Delete(int iタリフID) { using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString())) { context.Connection.Open(); DateTime d削除日付 = DateTime.Now; //削除行を特定 var query = (from x in context.M50_RTBL where (x.タリフコード == iタリフID) orderby x.タリフコード select new M50_RTBL_Member { タリフID = x.タリフコード, 距離 = x.距離, 重量 = x.重量, 運賃 = x.運賃, }).ToList(); using (var tran = new TransactionScope()) { foreach (var data in query) { string sql = string.Empty; sql = string.Format("UPDATE M50_RTBL SET M50_RTBL.削除日付 = '{3}' WHERE M50_RTBL.タリフコード = '{0}' AND M50_RTBL.距離 = '{1}' AND M50_RTBL.重量 = '{2}'" , data.タリフID, data.距離, data.重量, d削除日付); int count = context.ExecuteStoreCommand(sql); } tran.Complete(); } } }
/// <summary> /// 自社マスタ情報を取得する /// </summary> /// <param name="p自社ID"></param> /// <returns></returns> public List <M70_JIS> GetJisData(string p自社ID) { // パラメータの型変換 int iCompany; List <M70_JIS> retList = new List <M70_JIS>(); using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString())) { context.Connection.Open(); if (int.TryParse(p自社ID, out iCompany)) { var jisRow = context.M70_JIS .Where(c => c.自社コード == iCompany) .OrderBy(o => o.自社コード) .FirstOrDefault(); if (jisRow != null) { retList.Add(jisRow); } } return(retList); } #endregion }
/// <summary> /// M50の前データ取得 /// </summary> /// <param name="p距離">距離</param> /// <param name="p重量">重量</param> /// <returns>M50_RTBL_Member</returns> public List <M50_RTBL_Member> M50_BEFORE(int iタリフコード) { using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString())) { context.Connection.Open(); var ret = (from x in context.M50_RTBL.Distinct() where (iタリフコード == 0 || x.タリフコード < iタリフコード) orderby x.タリフコード select new M50_RTBL_Member { タリフID = x.タリフコード, }).Distinct().ToList(); if (iタリフコード == 0) { ret = ret.OrderBy(c => c.タリフID).Take(1).ToList(); } else { ret = ret.OrderByDescending(c => c.タリフID).Take(1).ToList(); } return(ret); } }
/// <summary> /// 対象の支払明細情報を取得する /// </summary> /// <param name="condition"></param> /// <returns></returns> private List <S02_SHRDTL> getDetailData(Dictionary <string, string> condition) { // 検索パラメータを展開 int myCompany, createYearMonth, createType; int? closingDay, customerCode, customerEda; bool isAllDays; getFormParams(condition, out myCompany, out createYearMonth, out closingDay, out isAllDays, out customerCode, out customerEda, out createType); using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString())) { var sdtl = context.S02_SHRDTL.Where(w => w.自社コード == myCompany && w.支払年月 == createYearMonth); if (!isAllDays) { sdtl = sdtl.Where(w => w.支払締日 == closingDay); } if (customerCode != null && customerEda != null) { sdtl = sdtl.Where(w => w.支払先コード == customerCode && w.支払先枝番 == customerEda); } return(sdtl.ToList()); } }
/// <summary> /// M78_SYKのリストデータ取得 /// </summary> /// <param name="p出勤区分ID">出勤区分ID</param> /// <returns>M78_SYK_Member</returns> public List <M78_SYK_All> GetAllData() { using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString())) { context.Connection.Open(); var ret = (from syk in context.M78_SYK where syk.削除日付 == null orderby syk.出勤区分ID select new M78_SYK_All() { 出勤区分ID = syk.出勤区分ID, 出勤区分名 = syk.出勤区分名, 登録日時 = syk.登録日時, 更新日時 = syk.更新日時, 削除日付 = syk.削除日付, } ).ToList(); for (int cnt = ret.Count(); cnt < 15; cnt++) { ret.Add(new M78_SYK_All() { 出勤区分ID = cnt, 出勤区分名 = "" }); } return(ret); } }
/// <summary> /// S14_CARSBの物理削除 /// </summary> /// <param name="s14SBdrvs">S14_CARSB_Member</param> public void Delete_Hendo(int?p車輌ID, int?p集計年月) { using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString())) { context.Connection.Open(); try { //削除行を特定 var ret = from x in context.S14_CARSB where (x.車輌KEY == (from drv in context.M05_CAR where drv.車輌ID == p車輌ID select drv.車輌KEY).FirstOrDefault() && x.集計年月 == p集計年月) orderby x.車輌KEY, x.集計年月 select x; foreach (var row in ret) { context.DeleteObject(row); } context.SaveChanges(); } catch (Exception e) { } } }
/// <summary> /// 品番コードより仕入先売価情報を取得する /// </summary> /// <param name="pHinCd"></param> /// <param name="p区分">1:構成品、2:資材</param> /// <returns></returns> public List <M03_BAIKA_Extension> GetBaikaData(int?pHinCd, int p明細区分) { using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString())) { context.Connection.Open(); // 仕入先売価情報取得 var resultRow = context.M03_BAIKA.Where(w => w.削除日時 == null && w.品番コード == pHinCd) .GroupJoin(context.M01_TOK.Where(w => w.削除日時 == null), x => new { コード = x.仕入先コード, 枝番 = x.枝番 }, y => new { コード = y.取引先コード, 枝番 = y.枝番 }, (a, b) => new { a, b }) .SelectMany(z => z.b.DefaultIfEmpty(), (x, y) => new { BAIKA = x.a, TOK = y }) .OrderBy(c => c.BAIKA.単価).ThenBy(c => c.BAIKA.仕入先コード) .Select(x => new M03_BAIKA_Extension { 単価 = x.BAIKA.単価 ?? 0, 仕入先コード = x.BAIKA.仕入先コード, 枝番 = x.BAIKA.枝番, 仕入先名称 = x.TOK.略称名, 明細区分 = p明細区分, }).FirstOrDefault(); List <M03_BAIKA_Extension> BaikaList = new List <M03_BAIKA_Extension>(); if (resultRow != null) { BaikaList.Add(resultRow); } return(BaikaList); } }
/// <summary> /// Spread情報変更 【UPDATE】 /// </summary> /// <param name="p明細番号"></param> /// <param name="p明細行"></param> /// <param name="colname"></param> /// <param name="val"></param> public void Update(int p明細番号, int p明細行, string colname, object val) { using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString())) { // トランザクションのインスタンス化(開始) using (var tran = new TransactionScope()) { DateTime updtime = DateTime.Now; string sql = string.Empty; sql = string.Format("UPDATE T04_NYUK SET {0} = '{1}' WHERE 明細番号 = {2} AND 明細行 = {3}" , colname, val.ToString(), p明細番号, p明細行); context.Connection.Open(); int count = context.ExecuteStoreCommand(sql); // トリガが定義されていると、更新結果は複数行になる if (count > 0) { tran.Complete(); } else { // 更新行なし throw new Framework.Common.DBDataNotFoundException(); } } } }
/// <summary> /// 入金明細情報を取得する /// </summary> /// <param name="slipNumber">伝票番号</param> /// <returns></returns> private List <T11_NYKNDTL_Extension> getT11_NYKNDTL_Extension(string slipNumber) { using (TRAC3Entities context = new TRAC3Entities(CommonData.TRAC3_GetConnectionString())) { context.Connection.Open(); int num; if (int.TryParse(slipNumber, out num)) { var result = context.T11_NYKNDTL.Where(w => w.削除日時 == null && w.伝票番号 == num) .ToList() .Select(x => new T11_NYKNDTL_Extension { 伝票番号 = x.伝票番号, 行番号 = x.行番号, 金種コード = x.金種コード.ToString(), 金額 = x.金額, 期日 = x.期日, 摘要 = x.摘要 }) .OrderBy(o => o.伝票番号) .ThenBy(t => t.行番号); return(result.ToList()); } else { return(new List <T11_NYKNDTL_Extension>()); } } }