Esempio n. 1
0
        public IActionResult LedgerList(LedgerQuery lquery)
        {
            //name = "湘湖小学";
            var response = ResponseModelFactory.CreateResultInstance;

            using (_dbITMContext)
            {
                var school = _dbITMContext.Orgs.FirstOrDefault(x => x.SchoolName == lquery.Kw);
                if (school != null)
                {
                    var query = _dbITMContext.Logs.Where(x => x.OrganizationId == school.OrganizationId).OrderByDescending(x => x.CreatedAt).Select(x => new
                    {
                        x.Id,
                        x.Name,
                        x.ObjectId,
                        x.ObjectType,
                        CreatedAt = x.CreatedAt.Value.ToString("yyyy-MM-dd"),
                    });

                    var list = query.Paged(lquery.CurrentPage, lquery.PageSize).ToList();;
                    response.SetData(list);
                    return(Ok(response));
                }


                return(Ok(response));
            }
        }
Esempio n. 2
0
 public void DoExport(LedgerQuery query)
 {
     // BuildTitle();
     QueryData(query); //查询数据
     // BuildHeader();
     FillBody();
     // BuildFooter();
 }
Esempio n. 3
0
        /// <summary>
        /// 查询台账数据
        /// </summary>
        /// <param name="query"></param>
        /// <returns></returns>
        public List <LedgerItem> LedgerData(LedgerQuery query)
        {
            List <LedgerItem> items = _assetsMainRep.LedgerData(query.QuerySql);

            Console.WriteLine(items);
            if (items == null || items.Count == 0)
            {
                return(new List <LedgerItem>());
            }
            /*保存需要插入结余/合计的位置*/
            Dictionary <int, LedgerItem> insertItems = new Dictionary <int, LedgerItem>();
            int year = items[0].Year;
            /*临时保存年份数据*/
            var tempList = new List <LedgerItem>();

            for (int index = 0; index < items.Count; index++)
            {
                if (year != items[index].Year /*|| index == items.Count - 1*/)/*如果是新的年份,记录结余合计的位置并计算数量和金额*/
                {
                    var iItem = new LedgerItem
                    {
                        GoodsName = "上年结余",
                        InCount   = tempList.Sum(x => x.InCount),
                        InMoney   = tempList.Sum(x => x.InMoney),
                        Count     = tempList.Sum(x => x.Count),
                        Money     = tempList.Sum(x => x.Money)
                    };
                    insertItems.Add(index, iItem);
                    tempList.Clear();/*清空上一年分数据*/
                    year = items[index].Year;
                }
                /*保存当前年份数据*/
                tempList.Add(items[index]);
            }
            var last = new LedgerItem
            {
                GoodsName = "上年结余",
                InCount   = tempList.Sum(x => x.InCount),
                InMoney   = tempList.Sum(x => x.InMoney),
                Count     = tempList.Sum(x => x.Count),
                Money     = tempList.Sum(x => x.Money)
            };

            insertItems.Add(items.Count, last);

            /*将插入结余/合计的位置倒序*/
            var keys = insertItems.Keys.ToArray();

            Array.Reverse(keys);
            for (int i = 0; i < keys.Length; i++)
            {
                var key = keys[i];
                /*生成结余/合计数据插入结果集*/
                var row  = insertItems[key];
                var row2 = new LedgerItem {
                    GoodsName = "本年合计", InCount = row.InCount, InMoney = row.InMoney
                };
                row.InCount = 0;
                row.InMoney = 0;
                if (i != 0)
                {
                    items.Insert(key, row);
                }
                items.Insert(key, row2);
            }
            return(items);
        }
Esempio n. 4
0
 protected void QueryData(LedgerQuery query)
 {
     _ledgerTems = _assetsOptionService.LedgerData(query);//.q(DoAssetsId);
 }