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)); } }
public void DoExport(LedgerQuery query) { // BuildTitle(); QueryData(query); //查询数据 // BuildHeader(); FillBody(); // BuildFooter(); }
/// <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); }
protected void QueryData(LedgerQuery query) { _ledgerTems = _assetsOptionService.LedgerData(query);//.q(DoAssetsId); }