public ActionResult Index(JobOrders JobOrders, EFPagingInfo <JobOrders> p, DateTime?STime, DateTime?ETime, int IsFirst = 0) { IPageOfItems <JobOrders> JobOrdersList = null; if (IsFirst == 0) { JobOrders.State = 99; JobOrders.AgentState = 99; JobOrdersList = new PageOfItems <JobOrders>(new List <JobOrders>(), 0, 10, 0, new Hashtable()); } else { p = this.Condition(JobOrders, p, STime, ETime); JobOrdersList = Entity.Selects <JobOrders>(p); } List <int> UId = JobOrdersList.Select(o => o.UId).Distinct().ToList(); ViewBag.UsersList = Entity.Users.Where(n => n.State == 1 && UId.Contains(n.Id)).ToList(); ViewBag.JobOrdersList = JobOrdersList; ViewBag.JobOrders = JobOrders; ViewBag.Edit = this.checkPower("Edit"); ViewBag.ETime = ETime; ViewBag.STime = STime; ViewBag.ExcelExport = this.checkPower("ExcelExport"); ViewBag.SplitMoney = this.checkPower("SplitMoney"); ViewBag.JobPayWayList = Entity.JobPayWay.ToList(); return(View()); }
public ActionResult Index(JobOrders JobOrders, EFPagingInfo <JobOrders> p, bool?IsShowSupAgent, int?LowerLevel, DateTime?STime, DateTime?ETime, int IsFirst = 0) { IPageOfItems <JobOrders> JobOrdersList = null; if (IsShowSupAgent == null) { IsShowSupAgent = false; } ViewBag.BasicAgent = BasicAgent; ViewBag.IsAll = IsAll; LowerLevel = LowerLevel == null ? 0 : LowerLevel; if (IsFirst == 0) { JobOrders.State = 99; JobOrdersList = new PageOfItems <JobOrders>(new List <JobOrders>(), 0, 10, 0, new Hashtable()); } else { p = this.Condition(JobOrders, p, STime, ETime); IList <SysAgent> SysAgentList = null; if ((bool)IsShowSupAgent) { IList <int> UID = new List <int>(); if (LowerLevel != 0) { SysAgent LowerLevelAgent = Entity.SysAgent.Where(s => s.Id == LowerLevel).FirstOrNew(); SysAgentList = LowerLevelAgent.GetSupAgent(Entity, true); } else { SysAgentList = BasicAgent.GetSupAgent(Entity, true);//获取所有下级代理商信息 } UID = SysAgentList.Select(o => o.Id).ToList(); p.SqlWhere.Add(f => UID.Contains(f.AgentId)); } else { p.SqlWhere.Add(f => f.AgentId == BasicAgent.Id);//读取全部分支机构 } JobOrdersList = Entity.Selects <JobOrders>(p); } ViewBag.JobOrdersList = JobOrdersList; ViewBag.JobOrders = JobOrders; ViewBag.Edit = this.checkPower("Edit"); ViewBag.ETime = ETime; ViewBag.STime = STime; ViewBag.IsShowSupAgent = IsShowSupAgent; ViewBag.LowerLevel = LowerLevel; List <int> UId = JobOrdersList.Select(o => o.UId).Distinct().ToList(); ViewBag.UsersList = Entity.Users.Where(n => n.State == 1 && UId.Contains(n.Id)).ToList(); return(View()); }
/// <summary> /// 导出 /// </summary> /// <returns></returns> public ActionResult ExcelExport(JobOrders JobOrders, EFPagingInfo <JobOrders> p, DateTime?STime, DateTime?ETime, int IsFirst = 0) { IPageOfItems <JobOrders> JobOrdersList = null; if (IsFirst == 0) { JobOrdersList = new PageOfItems <JobOrders>(new List <JobOrders>(), 0, 10, 0, new Hashtable()); } else { if (STime.IsNullOrEmpty()) { STime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")); } if (ETime.IsNullOrEmpty()) { ETime = DateTime.Now; } TimeSpan TS = Convert.ToDateTime(ETime) - Convert.ToDateTime(STime); int Days = TS.Days; if (Days > 10) { ViewBag.ErrorMsg = "导出时间间隔不能超过10天!"; return(View("Error")); } p = this.Condition(JobOrders, p, STime, ETime); p.PageSize = 9999999; p.SqlWhere.Add(f => f.PayState == 1); p.OrderByList.Add("PayState", "ASC"); JobOrdersList = Entity.Selects <JobOrders>(p); } List <string> TNumList = JobOrdersList.Select(o => o.TNum).Distinct().ToList(); //IList<JobItem> JobItemList = Entity.JobItem.Where(n => TNumList.Contains(n.TNum)).OrderBy(n=>n.RunTime).ToList(); DataTable table = new DataTable(); DataRow row = null; // 创建 datatable table.Columns.Add(new DataColumn("订单号", typeof(string))); table.Columns.Add(new DataColumn("订单创建时间", typeof(string))); table.Columns.Add(new DataColumn("订单支付时间", typeof(string))); table.Columns.Add(new DataColumn("订单状态", typeof(string))); table.Columns.Add(new DataColumn("交易号", typeof(string))); table.Columns.Add(new DataColumn("金额", typeof(string))); table.Columns.Add(new DataColumn("执行时间", typeof(string))); table.Columns.Add(new DataColumn("手续费", typeof(string))); table.Columns.Add(new DataColumn("利润", typeof(string))); table.Columns.Add(new DataColumn("成本", typeof(string))); table.Columns.Add(new DataColumn("分润", typeof(string))); table.Columns.Add(new DataColumn("状态", typeof(string))); table.Columns.Add(new DataColumn("类型", typeof(string))); string state = ""; //订单按照支付时间排序 foreach (var temp in JobOrdersList) { IList <JobItem> JobItemList = Entity.JobItem.Where(n => n.TNum == temp.TNum).OrderBy(n => n.RunTime).ToList(); if (JobOrders.PayState == 3) { DateTime ETime_temp = new DateTime(ETime.Value.Year, ETime.Value.Month, ETime.Value.Day, 23, 59, 59, 999); JobItemList = JobItemList.Where(o => o.RunTime >= STime && o.RunTime <= ETime_temp).ToList(); } // 填充数据 #region 明细 foreach (var item in JobItemList) { row = table.NewRow(); row[0] = item.TNum; row[1] = temp.AddTime.ToString("yyyy-MM-dd HH:mm"); row[2] = temp.PayTime.Value.ToString("yyyy-MM-dd HH:mm"); row[3] = temp.GetState(); row[4] = item.RunNum; row[5] = item.RunMoney.ToString("F2"); row[6] = item.RunTime.ToString("yyyy-MM-dd HH:mm"); row[7] = item.Poundage.ToString("F2"); row[8] = item.HFGet.ToString("F2"); row[9] = item.RunGet.ToString("F2"); row[10] = item.AgentGet.ToString("F2"); switch (item.State) { case 0: state = "取消"; break; case 1: state = "待执行"; break; case 2: state = "执行中"; break; case 3: state = "执行完成"; break; case 4: state = "执行失败"; break; } row[11] = state; row[12] = item.RunType == 1 ? "消费" : "还款"; table.Rows.Add(row); } #endregion } string Time = DateTime.Now.ToString("yyyyMMddHHmmss") + new Random().Next(10, 99); return(this.ExportExcelBase(table, "任务订单明细-" + Time)); }