コード例 #1
0
ファイル: SHR02010.cs プロジェクト: ToshiyukiArinobu/MRSN
        /// <summary>
        /// 買掛テーブル更新処理
        /// </summary>
        /// <param name="context"></param>
        /// <param name="hdData"></param>
        private void S09_KAIKAKE_Update(TRAC3Entities context, S09_KAIKAKE_Extension srData, int userId)
        {
            //INSERTで登録する

            S09_KAIKAKE data = new S09_KAIKAKE();

            data.自社コード   = srData.自社コード;
            data.得意先コード  = srData.得意先コード;
            data.得意先枝番   = srData.得意先枝番;
            data.日付      = srData.日付;
            data.伝票番号    = srData.伝票番号;
            data.行番号     = srData.行番号;
            data.品番コード   = srData.品番コード;
            data.自社品名    = srData.自社品名;             // No.390 Add
            data.金種コード   = srData.金種コード;
            data.数量      = srData.数量;
            data.単価      = srData.単価;
            data.金額      = srData.金額;
            data.通常税率消費税 = srData.通常税率消費税;
            data.軽減税率消費税 = srData.軽減税率消費税;
            data.出金額     = srData.出金額;
            data.前月繰越    = srData.前月繰越;
            data.残高      = srData.残高;
            data.登録者     = userId;
            data.作成機能ID  = srData.作成機能ID;
            data.登録日時    = DateTime.Now;
            data.期日      = srData.期日 == null ? string.Empty : "   期日:" + ((DateTime)srData.期日).ToString("yyyy/MM/dd");

            context.S09_KAIKAKE.ApplyChanges(data);
        }
コード例 #2
0
ファイル: SHR02010.cs プロジェクト: ToshiyukiArinobu/MRSN
        /// <summary>
        /// 前月情報取得
        /// Accounts Payable:買掛金
        /// </summary>
        /// <param name="context"></param>
        /// <param name="company">会社名コード</param>
        /// <param name="targetStDate">集計開始年月</param>
        /// <param name="code">得意先コード</param>
        /// <param name="eda">枝番</param>
        /// <returns></returns>
        public S09_KAIKAKE_Extension getLastAccountsPay(TRAC3Entities context, int company, DateTime targetStDate, int?code, int?eda)
        {
            // 前月開始日
            DateTime befTargetStDate = targetStDate.AddMonths(-1);

            var befAccountsPay =
                context.S09_KAIKAKE
                .Where(w => w.自社コード == company &&
                       w.日付 >= befTargetStDate && w.日付 < targetStDate &&
                       w.得意先コード == code &&
                       w.得意先枝番 == eda)
                .OrderByDescending(o => o.日付)
                .FirstOrDefault();

            // 前月繰越行に整形
            S09_KAIKAKE_Extension ret = new S09_KAIKAKE_Extension();

            ret.自社コード  = company;
            ret.日付     = new DateTime(targetStDate.Year, targetStDate.Month, 1);
            ret.得意先コード = code ?? 0;
            ret.得意先枝番  = eda ?? 0;
            ret.伝票番号   = 0;
            ret.行番号    = 0;
            ret.前月繰越   = befAccountsPay == null ? 0 : befAccountsPay.残高;
            ret.残高     = befAccountsPay == null ? 0 : befAccountsPay.残高;

            return(ret);
        }
コード例 #3
0
ファイル: SHR02010.cs プロジェクト: ToshiyukiArinobu/MRSN
        /// <summary>
        /// 買掛データ登録処理(販社)
        /// </summary>
        /// <param name="context"></param>
        /// <param name="myCompanyCode">自社コード</param>
        /// /// <param name="salesCompanyCode">販社コード(M70_JIS)</param>
        /// <param name="targetStDate">集計開始日</param>
        /// <param name="targetEdDate">集計終了日</param>
        /// /// <param name="code">得意先コード</param>
        /// <param name="eda">得意先枝番</param>
        /// <param name="userId">ログインユーザID</param>
        private void setAccountsPayHan(TRAC3Entities context, int myCompanyCode, int salesCompanyCode, DateTime targetStDate, DateTime targetEdDate, int?code, int?eda, int userId)
        {
            // 自社マスタ(自社情報)
            var targetJis =
                context.M70_JIS
                .Where(w => w.削除日時 == null && w.自社コード == salesCompanyCode)
                .First();

            // 仕入情報取得(販社)
            List <S09_KAIKAKE_Extension> srHanList = getHanSrInfo(context, myCompanyCode, salesCompanyCode, targetStDate, targetEdDate, userId);

            // 揚り情報取得
            List <S09_KAIKAKE_Extension> agrList = getAgrInfo(context, myCompanyCode, code, eda, targetStDate, targetEdDate, userId);

            //  出金情報取得
            List <S09_KAIKAKE_Extension> syukkinList = getWithdrawalInfo(context, myCompanyCode, targetJis.取引先コード, targetJis.枝番, targetStDate, targetEdDate);

            // 買掛情報整形
            var accountsPayHanList = srHanList.Concat(agrList).Concat(syukkinList).OrderBy(c => c.日付).ThenBy(c => c.伝票番号).ThenBy(c => c.行番号).ToList();

            // データがなくても繰越残高を作成する
            if (accountsPayHanList == null)
            {
                accountsPayHanList = new List <S09_KAIKAKE_Extension>();
            }

            // 前回買掛情報取得し結合
            S09_KAIKAKE_Extension befData = getLastAccountsPay(context, myCompanyCode, targetStDate, code, eda);

            accountsPayHanList.Insert(0, befData);

            int 残高 = befData.前月繰越;

            // 既に登録されている買掛情報を削除
            S09_KAIKAKE_Delete(context, myCompanyCode, code, eda, targetStDate, targetEdDate);

            // 買掛情報を登録
            foreach (S09_KAIKAKE_Extension row in accountsPayHanList)
            {
                // 最初の行のみ消費税を設定
                if (accountsPayHanList.Where(c => c.伝票番号 == row.伝票番号).First().行番号 != row.行番号)
                {
                    row.通常税率消費税 = 0;
                    row.軽減税率消費税 = 0;
                }

                // 残高の再計算
                if (row.前月繰越 == 0)
                {
                    残高     = 残高 + (row.金額 + row.通常税率消費税 + row.軽減税率消費税) - row.出金額;
                    row.残高 = 残高;
                }

                S09_KAIKAKE_Update(context, row, userId);
            }
        }
コード例 #4
0
ファイル: SHR02010.cs プロジェクト: ToshiyukiArinobu/MRSN
        /// <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>
        /// <param name="userId">ログインユーザID</param>
        private void setAccountsPay(TRAC3Entities context, int company, int code, int eda, DateTime targetStDate, DateTime?targetEdDate, int userId)
        {
            // 仕入情報取得
            List <S09_KAIKAKE_Extension> srList = getSrInfo(context, company, code, eda, targetStDate, targetEdDate, userId);

            // 揚り情報取得
            List <S09_KAIKAKE_Extension> agrList = getAgrInfo(context, company, code, eda, targetStDate, targetEdDate, userId);

            // 出金情報取得
            List <S09_KAIKAKE_Extension> syukkinList = getWithdrawalInfo(context, company, code, eda, targetStDate, targetEdDate);

            // 買掛情報整形
            var accountsPayList = srList.Concat(agrList).Concat(syukkinList).OrderBy(c => c.日付).ThenBy(c => c.伝票番号).ThenBy(c => c.行番号).ToList();

            // データがなくても繰越残高を作成する
            if (accountsPayList == null)
            {
                accountsPayList = new List <S09_KAIKAKE_Extension>();
            }

            // 前月残高の再設定
            S09_KAIKAKE_Extension befData = getLastAccountsPay(context, company, targetStDate, code, eda);

            accountsPayList.Insert(0, befData);

            int 残高 = befData.前月繰越;

            // 既に登録されている買掛情報を削除
            S09_KAIKAKE_Delete(context, company, code, eda, targetStDate, targetEdDate);

            // 買掛情報を登録
            foreach (S09_KAIKAKE_Extension row in accountsPayList)
            {
                // 最初の行のみ消費税を設定
                if (accountsPayList.Where(c => c.伝票番号 == row.伝票番号).First().行番号 != row.行番号)
                {
                    row.通常税率消費税 = 0;
                    row.軽減税率消費税 = 0;
                }

                // 残高の再計算
                残高     = 残高 + (row.金額 + row.通常税率消費税 + row.軽減税率消費税) - row.出金額;
                row.残高 = 残高;

                S09_KAIKAKE_Update(context, row, userId);
            }
        }