コード例 #1
0
        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());
        }
コード例 #2
0
        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());
        }
コード例 #3
0
        /// <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));
        }