Esempio n. 1
0
        // 帳票で使用
        public List <YosanJissekiRow> GetYosanJissekiRowList()
        {
            List <YosanJissekiRow> list = new List <YosanJissekiRow>();

            YosanJissekiRow kubunStartRow    = null;
            YosanJissekiRow daikubunStartRow = null;

            foreach (var yosanRow in yosanTable.GetYosanList(KaikeiKubun))
            {
                YosanJissekiRow row = GetYosanJissekiRow((int)yosanRow.DetailKubunId);
                row.KubunId    = (int)yosanRow.KubunId;
                row.DaikubunId = (int)yosanRow.DaikubunId;

                if (kubunStartRow == null || kubunStartRow.KubunId != yosanRow.KubunId)
                {
                    kubunStartRow = row;
                }
                if (daikubunStartRow == null || daikubunStartRow.DaikubunId != yosanRow.DaikubunId)
                {
                    daikubunStartRow = row;
                }
                if (yosanRow.DisplayOnly == false)
                {
                    kubunStartRow.YosanKubun         += row.Yosan;
                    kubunStartRow.JissekiKubun       += row.Jisseki;
                    daikubunStartRow.YosanDaikubun   += row.Yosan;
                    daikubunStartRow.JissekiDaikubun += row.Jisseki;
                }

                list.Add(row);
            }

            return(list);
        }
Esempio n. 2
0
        private void CalcSummaryRows()
        {
            int rootId = (int)models.constants.MTKamokuKubun.ShikinRoot;
            Dictionary <int, int> kubunId2summaryRowsIndex = new Dictionary <int, int>();

            foreach (var kubunRow in db.MTKamokuKubun.SelectChildren(rootId, order:"order by display_order"))
            {
                int kubunId = kubunRow.GetId();
                summaryRows.Add(new YosanJissekiRow(kubunId, null, 0, 0, db));
                kubunId2summaryRowsIndex[kubunId] = summaryRows.Count - 1;
            }

            SyuunyuuGoukeiRow = new YosanJissekiRow(SummaryKubunIdSyuunyuuGoukei, "収入合計", 0, 0, db);
            summaryRows.Add(SyuunyuuGoukeiRow);

            ShisyutsuGoukeiRow = new YosanJissekiRow(SummaryKubunIdShisyutsuGoukei, "支出合計", 0, 0, db);
            summaryRows.Add(ShisyutsuGoukeiRow);

            SyuushiGoukeiRow = new YosanJissekiRow(SummaryKubunIdSyuushiGoukei, "収支合計", 0, 0, db);
            summaryRows.Add(SyuushiGoukeiRow);

            foreach (var yosanRow in yosanTable.GetYosanList(KaikeiKubun))
            {
                int  kubunId  = (int)yosanRow.KubunId;
                int  kamokuId = (int)yosanRow.DetailKubunId;
                int  index    = kubunId2summaryRowsIndex[kubunId];
                long yosan    = yosanRow.YosanHonnenDisplay;
                long jisseki  = kamokuKubunSummary.SummaryItem(kamokuId).GetTaisyaku(db);;

                if (yosanRow.DisplayOnly)
                {
                    continue;
                }

                if (db.MTKamokuKubun.IsSyuunyuuKamoku(kubunId))
                {
                    SyuunyuuGoukeiRow.AddYosan(yosan);
                    SyuunyuuGoukeiRow.AddJisseki(jisseki);
                    SyuushiGoukeiRow.AddYosan(yosan);
                    SyuushiGoukeiRow.AddJisseki(jisseki);
                }
                else
                {
                    ShisyutsuGoukeiRow.AddYosan(yosan);
                    ShisyutsuGoukeiRow.AddJisseki(jisseki);
                    SyuushiGoukeiRow.AddYosan(-yosan);
                    SyuushiGoukeiRow.AddJisseki(-jisseki);
                }

                summaryRows[index].AddYosan(yosan);
                summaryRows[index].AddJisseki(jisseki);
            }
        }