コード例 #1
0
        public void SetSummaryGrid(models.query.ShikinSyuushi shikinSyuushi)
        {
            summaryGrid.Rows.Clear();

            summaryGrid.Rows.Add(Properties.Resources.CaptionJigyouSyuushi, "", "", "", "");
            BoldLastRow(summaryGrid);
            AddRowToSummaryGrid(" " + Properties.Resources.CaptionJigyouSyuunyuuKei, shikinSyuushi.SummaryRows[(int)models.query.ShikinSyuushi.SummaryItem.JigyouSyuunyuu]);
            AddRowToSummaryGrid(" " + Properties.Resources.CaptionJigyouShisyutsuKei, shikinSyuushi.SummaryRows[(int)models.query.ShikinSyuushi.SummaryItem.JigyouShisyutsu]);
            AddRowToSummaryGrid(" " + Properties.Resources.CaptionJigyouSyuushiSagaku, shikinSyuushi.SummaryRows[(int)models.query.ShikinSyuushi.SummaryItem.JigyouSyuushi]);

            summaryGrid.Rows.Add(Properties.Resources.CaptionShisetsuSyuushi, "", "", "", "");
            BoldLastRow(summaryGrid);
            AddRowToSummaryGrid(" " + Properties.Resources.CaptionShisetsuSyuunyuuKei, shikinSyuushi.SummaryRows[(int)models.query.ShikinSyuushi.SummaryItem.ShisetsuSyuunyuu]);
            AddRowToSummaryGrid(" " + Properties.Resources.CaptionShisetsuShisyutsuKei, shikinSyuushi.SummaryRows[(int)models.query.ShikinSyuushi.SummaryItem.ShisetsuShisyutsu]);
            AddRowToSummaryGrid(" " + Properties.Resources.CaptionShisetsuSyuushiSagaku, shikinSyuushi.SummaryRows[(int)models.query.ShikinSyuushi.SummaryItem.ShisetsuSyuushi]);

            summaryGrid.Rows.Add(Properties.Resources.CaptionSonotaSyuushi, "", "", "", "");
            BoldLastRow(summaryGrid);
            AddRowToSummaryGrid(" " + Properties.Resources.CaptionSonotaSyuunyuuKei, shikinSyuushi.SummaryRows[(int)models.query.ShikinSyuushi.SummaryItem.SonotaSyuunyuu]);
            AddRowToSummaryGrid(" " + Properties.Resources.CaptionSonotaShisyutsuKei, shikinSyuushi.SummaryRows[(int)models.query.ShikinSyuushi.SummaryItem.SonotaShisyutsu]);
            AddRowToSummaryGrid(" " + Properties.Resources.CaptionSonotaSyuushiSagaku, shikinSyuushi.SummaryRows[(int)models.query.ShikinSyuushi.SummaryItem.SonotaSyuushi]);

            AddRowToSummaryGrid(Properties.Resources.CaptionYobihiShisyutsu, shikinSyuushi.SummaryRows[(int)models.query.ShikinSyuushi.SummaryItem.Yobihi]);
            BoldLastRow(summaryGrid);
            AddRowToSummaryGrid(Properties.Resources.CaptionToukiShikinSyuushiSagakuGoukei, shikinSyuushi.SummaryRows[(int)models.query.ShikinSyuushi.SummaryItem.ToukiShikin]);
            BoldLastRow(summaryGrid);
            AddRowToSummaryGrid(Properties.Resources.CaptionZenkimatsuShiharaiShikinZandaka, shikinSyuushi.SummaryRows[(int)models.query.ShikinSyuushi.SummaryItem.ZenkiZandaka]);
            BoldLastRow(summaryGrid);
            AddRowToSummaryGrid(Properties.Resources.CaptionToukimatsuShiharaiShikinZandaka, shikinSyuushi.SummaryRows[(int)models.query.ShikinSyuushi.SummaryItem.ToukiZandaka]);
            BoldLastRow(summaryGrid);
        }
コード例 #2
0
        private void CalcButtonClicked()
        {
            if (form.StartDate == null || form.EndDate == null)
            {
                helper.MsgBox.Err(KaikeiSystemBody.Properties.Resources.MsgInvalidDate);
                return;
            }

            shikinSyuushi = new models.query.ShikinSyuushi(Context.KaikeiDatabase);
            shikinSyuushi.Calc(form.StartDate.Value, form.EndDate.Value, form.KaikeiKubun, hoseiKaisuu: -1, hideInnerKaikeiKubunKamoku: true, targetKamokuKubunHierarchy: models.constants.MTKamokuKubunHierarchy.ChuuKubun, omitZeroRow: false);

            form.ClearDaikubunGrid();
            form.ClearKamokuGrid();

            foreach (var row in shikinSyuushi.DaikubunRows)
            {
                int           daikubunId  = row.Id;
                models.db.Row daikubunRow = Context.KaikeiDatabase.MTKamokuKubun.GetRowById(daikubunId);
                if (daikubunRow == null)
                {
                    continue;
                }
                int           shikinSyuushiId = (int)daikubunRow.GetLong("parent_id", 0);
                models.db.Row shikinRow       = Context.KaikeiDatabase.MTKamokuKubun.GetRowById(shikinSyuushiId);
                if (shikinRow == null)
                {
                    continue;
                }

                form.AddDaikubunGridRow(
                    daikubunId,
                    shikinRow.GetStr("name"),
                    daikubunRow.GetStr("name"),
                    row.Yosan,
                    row.Taisyaku,
                    row.Sai
                    );
            }

            form.SetSummaryGrid(shikinSyuushi);
            form.FireDaikubunGridSelectionChanged();

            helper.MsgBox.Info(KaikeiSystemBody.Properties.Resources.MsgSucceeded);
        }
コード例 #3
0
        private void AddKessanShikinKeisanReport(DataDynamics.ActiveReports.ActiveReport parentReport)
        {
            models.query.ShikinSyuushi shikin = new models.query.ShikinSyuushi(Context.KaikeiDatabase);
            shikin.Calc(form.StartDate.Value, form.EndDate.Value, form.KaikeiKubun, -1, hideInnerKaikeiKubunKamoku: true, targetKamokuKubunHierarchy: form.KamokuKubunHierarchy, omitZeroRow: form.OmitZeroRow);

            var report = new views.reports.ShikinSyuushiKeisansyo();

            report.SetDB(Context.KaikeiDatabase);

            int rootKaikeiKubunId = Context.KaikeiDatabase.MTKaikeiKubun.RootNodeId;

            models.db.Row rootRow         = Context.KaikeiDatabase.MTKaikeiKubun.GetRowFromCache(rootKaikeiKubunId);
            string        houjinMei       = rootRow.GetStr("name");
            string        kaikeiKubunName = Context.KaikeiDatabase.MTKaikeiKubun.GetFirst("name", "where id=" + form.KaikeiKubun) as string;
            string        title           = "拠点区分資金収支計算書";
            string        youshiki        = "第一号第四様式";

            if (form.KaikeiKubun == 1)
            {
                title    = "法人単位資金収支計算書";
                youshiki = "第一号第一様式";
            }
            else if (form.KaikeiKubun == 2)
            {
                title    = "事業区分資金収支計算書";
                youshiki = "";
            }
            report.SetHeader(form.StartDate.Value, form.EndDate.Value, houjinMei, kaikeiKubunName, title, youshiki);
            report.SetFooter(
                shikin.SummaryRows[(int)models.query.ShikinSyuushi.SummaryItem.Yobihi],
                shikin.SummaryRows[(int)models.query.ShikinSyuushi.SummaryItem.ToukiShikin],
                shikin.SummaryRows[(int)models.query.ShikinSyuushi.SummaryItem.ZenkiZandaka],
                shikin.SummaryRows[(int)models.query.ShikinSyuushi.SummaryItem.ToukiZandaka]);
            var source = shikin.GetRowsForShikinSyuushiKeisansyoReport();

            report.DataSource = source;
            report.Run();
            parentReport.Document.Pages.AddRange(report.Document.Pages.GetRange(0, report.Document.Pages.Count));
        }
コード例 #4
0
        private void Execute()
        {
            if (form.NextYear == null)
            {
                helper.MsgBox.Err(KaikeiSystemBody.Properties.Resources.MsgInvalidYear);
                return;
            }

            int      nextYear            = form.NextYear.Value.Year;
            DateTime lastNenndoKisanbi   = helper.Helper.GetNenndoKisanbi(nextYear - 1);
            DateTime lastNenndoKimatsubi = helper.Helper.GetNenndoKimatsubi(lastNenndoKisanbi);

            misc.WaitCursorController.Begin();

            // DBバックアップ作成
            {
                helper.DBBackup.MakeDBBackup(
                    Context.KaikeiDatabase.DBFilePath,
                    "kurikoshi_" +
                    helper.Converter.DateTimeToWarekiGengou(lastNenndoKisanbi) +
                    helper.Converter.DateTimeToWarekiYear(lastNenndoKisanbi));
            }

            // 繰越処理
            foreach (var kaikeiKubunRow in Context.KaikeiDatabase.MTKaikeiKubun.Select(""))
            {
                int kaikeiKubunId = kaikeiKubunRow.GetId();
                if (Context.KaikeiDatabase.MTKaikeiKubun.SelectChildren(kaikeiKubunId).Count() > 0)
                {
                    continue;
                }

                Context.KaikeiDatabase.ZenkiKurikoshiKamokuKubun.ConstructZenkiKurikoshi(kaikeiKubunId, nextYear);

                models.query.BalanceSheet balance = new models.query.BalanceSheet(Context.KaikeiDatabase);
                balance.Calc(lastNenndoKisanbi, lastNenndoKimatsubi, kaikeiKubunId, hideInnerKaikeiKubunKamoku: false);

                models.query.ShikinSyuushi shikinSyuushi = new models.query.ShikinSyuushi(Context.KaikeiDatabase);
                shikinSyuushi.Calc(lastNenndoKisanbi, lastNenndoKimatsubi, kaikeiKubunId, 0, hideInnerKaikeiKubunKamoku: true, targetKamokuKubunHierarchy: models.constants.MTKamokuKubunHierarchy.ChuuKubun, omitZeroRow: false);

                models.query.KamokuKubunSummary summary = new models.query.KamokuKubunSummary(Context.KaikeiDatabase);
                summary.Calc(lastNenndoKisanbi, lastNenndoKimatsubi, kaikeiKubunId, addKurikoshi: true, addPairedShikinDenpyou: false);

                string sql = string.Format("where kaikei_kubun_id={0} and nenndo={1}", kaikeiKubunId, nextYear);
                foreach (var kurikoshiRow in Context.KaikeiDatabase.ZenkiKurikoshiKamokuKubun.Select(sql))
                {
                    kurikoshiRow.Set("zenki_kurikoshi_gaku", 0);
                    Context.KaikeiDatabase.ZenkiKurikoshiKamokuKubun.Update(kurikoshiRow);

                    long taisyaku      = 0;
                    int  kamokuKubunId = (int)kurikoshiRow.GetLong("kamoku_kubun_id", -1);

                    if (kamokuKubunId == (int)models.constants.MTKamokuKubun.JikiKurikoshikatsudouZougenSagakuChukubun)
                    {
                        taisyaku = balance.GetSummaryItem(models.query.BalanceSheet.SummaryItem.JikiKurikoshiSagaku).CurrentSumAmount;
                    }
                    else if (kamokuKubunId == (int)models.constants.MTKamokuKubun.ZenkimatsuShiharaiShikinZandaka)
                    {
                        taisyaku = shikinSyuushi.SummaryRows[(int)models.query.ShikinSyuushi.SummaryItem.ToukiZandaka].Taisyaku;
                    }
                    else
                    {
                        var row = summary.SummaryItem(kamokuKubunId);
                        if (row != null)
                        {
                            taisyaku = row.GetTaisyaku(Context.KaikeiDatabase);
                        }
                    }

                    if (taisyaku == 0)
                    {
                        continue;
                    }
                    kurikoshiRow.Set("zenki_kurikoshi_gaku", taisyaku);
                    Context.KaikeiDatabase.ZenkiKurikoshiKamokuKubun.Update(kurikoshiRow);

                    var kamokuKubunRow = Context.KaikeiDatabase.MTKamokuKubun.GetRowById(kamokuKubunId);
                    if ((int)kamokuKubunRow.GetLong("hierarchy", -1) == (int)models.constants.MTKamokuKubunHierarchy.ChuuKubun)
                    {
                        var daikubunRow = Context.KaikeiDatabase.MTKamokuKubun.GetRowById((int)kamokuKubunRow.GetLong("parent_id", -1));
                        if (daikubunRow != null)
                        {
                            string sql2 = string.Format("{0} and kamoku_kubun_id={1}", sql, daikubunRow.GetId());
                            var    daikubunKurikoshiRow = Context.KaikeiDatabase.ZenkiKurikoshiKamokuKubun.GetFirstRow(sql2);
                            daikubunKurikoshiRow.Set("zenki_kurikoshi_gaku", taisyaku + daikubunKurikoshiRow.GetLong("zenki_kurikoshi_gaku", 0));
                            Context.KaikeiDatabase.ZenkiKurikoshiKamokuKubun.Update(daikubunKurikoshiRow);
                        }
                    }
                }
            }

            //過去のデータの削除
            {
                string sql = string.Format(
                    "delete from {0} where kihyoubi < {1} ",
                    Context.KaikeiDatabase.KaikeiDenpyouMeisai.TableName,
                    helper.Converter.DateTimeToInt(lastNenndoKisanbi));
                Context.KaikeiDatabase.ExecuteNonQuery(sql);

                sql = string.Format(
                    "delete from {0} where nenndo < {1}",
                    Context.KaikeiDatabase.ZenkiKurikoshiKamokuKubun.TableName,
                    lastNenndoKisanbi.Year - 1);
                Context.KaikeiDatabase.ExecuteNonQuery(sql);
            }

            //起算日を変更
            {
                DateTime nextKisanbi = helper.Helper.GetNenndoKisanbi(nextYear);
                Context.Setting.SetDateTime("nenndo_kisanbi", nextKisanbi);
                Context.Setting.SetStr("before_gengou", helper.Converter.DateTimeToWarekiGengou(nextKisanbi));
                Context.Setting.SetStr("before_year", helper.Converter.DateTimeToWarekiYear(nextKisanbi).ToString());
                Context.Setting.SetStr("before_month", nextKisanbi.Month.ToString());
                Context.Setting.SetStr("before_day", nextKisanbi.Day.ToString());
            }
            misc.WaitCursorController.EndWithSuccessMsg();
        }