예제 #1
0
        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);
            }
        }
예제 #2
0
        /// <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);
                }
            }
        }
예제 #3
0
        /// <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());
            }
        }
예제 #4
0
        /// <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.入金滞留額);
        }
예제 #5
0
        /// <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());
            }
        }
예제 #6
0
        /// <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());
            }
        }
예제 #7
0
        /// <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();
                }
            }
        }
예제 #8
0
 /// <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);
     }
 }
예제 #9
0
        /// <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);
        }
예제 #10
0
        /// <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();
            }
        }
예제 #11
0
        /// <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());
            }
        }
예제 #12
0
        // 課題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);
        }
예제 #13
0
        /// <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);
        }
예제 #14
0
        /// <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);
        }
예제 #15
0
        /// <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);
            }
        }
예제 #16
0
        /// <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);
        }
예제 #17
0
        /// <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);
        }
예제 #18
0
        /// <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);
        }
예제 #19
0
        /// <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);
        }
예제 #20
0
        /// <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);
        }
예제 #21
0
 /// <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();
     }
 }
예제 #22
0
        /// <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();
                }
            }
        }
예제 #23
0
        /// <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
        }
예제 #24
0
        /// <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);
            }
        }
예제 #25
0
        /// <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());
            }
        }
예제 #26
0
        /// <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);
            }
        }
예제 #27
0
        /// <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)
                {
                }
            }
        }
예제 #28
0
        /// <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);
            }
        }
예제 #29
0
        /// <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();
                    }
                }
            }
        }
예제 #30
0
        /// <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>());
                }
            }
        }