public int AddReport(AVGD.Rpt.Areas.Admin.Models.FormValue value)
        {
            rpt_categorydetail rpt = new rpt_categorydetail();

            rpt.Id           = value.report;
            rpt.Detailedname = value.reportname;
            rpt.Order        = value.sorttype;
            rpt.Cateoryid    = value.categoryId;
            rpt.Sort         = value.sortcolumn;
            rpt.Sqlvalue     = value.sqlvalue;
            rpt.Total        = value.totalcolumn;
            _db.rpt_categorydetail.Add(rpt);
            return(_db.SaveChanges());
        }
        public int RemoveReport(string report)
        {
            if (report.IsEmpty())
            {
                return(0);
            }
            rpt_categorydetail rpt = _db.rpt_categorydetail.Where(r => r.Id == report).FirstOrDefault();

            if (rpt != null)
            {
                _db.rpt_categorydetail.Remove(rpt);
                return(_db.SaveChanges());
            }
            return(0);
        }
        public int UpdateCategoryMessage(AVGD.Rpt.Areas.Admin.Models.FormValue detail)
        {
            rpt_categorydetail rpt_categorydetail = _db.rpt_categorydetail.Where(category => category.Id == detail.report).FirstOrDefault();

            if (rpt_categorydetail != null)
            {
                _db.rpt_categorydetail.Attach(rpt_categorydetail);
                rpt_categorydetail.Order    = detail.sorttype;
                rpt_categorydetail.Sqlvalue = detail.sqlvalue;
                rpt_categorydetail.Sort     = detail.sortcolumn;
                rpt_categorydetail.Total    = detail.totalcolumn;
                return(_db.SaveChanges());
            }
            return(0);
        }
Beispiel #4
0
 /// <summary>
 /// 获取报表对应的Sql语句
 /// </summary>
 /// <param name="report">报表Id</param>
 /// <param name="isFillter">是否筛选  是(获取保存当前的sql的session  导出数据需要) 否 (从数据库中找默认选出所有的sql语句)</param>
 /// <returns>Sql语句</returns>
 public string GetSqlValue(string report, bool isFillter = false /*如果是高级查询  顶部查询 应该为true*/)
 {
     if (SessionHelper.GetSqlValue().IsNotEmpty() && isFillter)
     {
         return(SessionHelper.GetSqlValue());
     }
     if (report.IsNotEmpty())
     {
         rpt_categorydetail categoryDetail = GetCategoryDetail(report);
         if (categoryDetail != null && categoryDetail.Sqlvalue.IsNotEmpty())
         {
             return(categoryDetail.Sqlvalue);
         }
     }
     return("");
 }
Beispiel #5
0
        //[GZipOrDeflate]
        public ActionResult Category(string report, string title)
        {
            if (report.IsEmpty())
            {
                return(Redirect("/Report/Index"));
            }
            CommondController  commond        = new CommondController(_db);
            rpt_categorydetail categoryDetail = commond.GetCategoryDetail(report);
            string             sqlValue       = null;

            if (HttpContext.Request.QueryString["CustomQuery"] != null)
            {
                sqlValue = SessionHelper.GetSqlValue().IsEmpty() ? categoryDetail.Sqlvalue : SessionHelper.GetSqlValue();
            }
            if (HttpContext.Request.QueryString["RestSetUp"] == null && HttpContext.Request.QueryString["CustomQuery"] == null)
            {
                SessionHelper.RestSqlValue();
                SessionHelper.RestTotalName();
            }

            if (categoryDetail == null)
            {
                BugLog.Write("report=------" + report);
                throw new ArgumentException("报表类别为空  请联系管理员;");
            }
            DataTable T = commond.GetDataTableOneRow(sqlValue ?? categoryDetail.Sqlvalue);

            #region T 不为空的时候
            if (T != null && T.Rows.Count > 0)
            {
                var CName = T.Columns.Cast <DataColumn>().Select(x => x.ColumnName).ToArray();
                var CType = T.Columns.Cast <DataColumn>().Select(x => x.DataType.FullName).ToArray();

                ViewBag.ColumnName = CName;
                ViewBag.ColumnType = CType;
                ViewBag.Total      = categoryDetail.Total.IsEmpty() ? "" : categoryDetail.Total;
                ViewBag.zdString   = string.Join(",", CName);
                ViewBag.lxString   = string.Join(",", CType);
                ViewBag.排序字段       = categoryDetail.Sort.IsEmpty() ? CName[0] : CName.Contains(categoryDetail.Sort) ? categoryDetail.Sort : CName[0];
                ViewBag.排序方式       = categoryDetail.Order.IsEmpty() ? "desc" : categoryDetail.Order;
                ViewBag.显示的类型      = "System.TimeSpan,System.Byte[]";
                ViewBag.Title      = categoryDetail.Detailedname ?? title;
                ViewBag.report     = categoryDetail.Id;
            }
            #endregion
            return(View());
        }
Beispiel #6
0
        private ActionResult TotalMethod(PageList pageList, TotalType totalTypes)
        {
            if (pageList.report.IsEmpty())
            {
                return(Content("参数不能为空"));
            }

            CommondController  commond        = new CommondController(_db);
            rpt_categorydetail categoryDetail = commond.GetCategoryDetail(pageList.report);

            if (categoryDetail == null)
            {
                return(Content("参数出错"));
            }
            string sqlValue = string.Empty;

            if (totalTypes == TotalType.PageTotal)
            {
                sqlValue = Session["LimitSqlValue"].ToString() ?? "";
            }
            else if (totalTypes == TotalType.TableTotal)
            {
                sqlValue = commond.GetSqlValue(pageList.report, isFillter: true); /*TODO: isFillter:true TotalMethod*/
            }
            else
            {
                return(Content("错误的请求类型"));
            }

            if (sqlValue.IsNotEmpty())
            {
                string orderCountSql = commond.GetOrderCountSqlValue(sqlValue);

                pageList.total = categoryDetail.Total;
                string[] totalList = categoryDetail.Total.Split(',');
                ViewBag.columnname = totalList;
                string sum = totalList.sumField();
                sqlValue = string.Format("select {0} from ({1}) xiaoji", sum, sqlValue);

                DataSet ds = commond.GetDataSet(orderCountSql + ";" + sqlValue);

                return(PartialView("_PartialTotal", ds));
            }

            return(Content("sql语句为空"));
        }
Beispiel #7
0
 public ActionResult Index([Bind(Include = "report,title")] PageList pagelist)
 {
     if (!string.IsNullOrWhiteSpace(pagelist.report))
     {
         AdminDALController adminDAL       = new AdminDALController(_db);
         rpt_categorydetail categoryDetail = adminDAL.GetCategoryDetail(pagelist.report);
         if (categoryDetail != null)
         {
             ViewBag.报表类型    = categoryDetail.Id;
             ViewBag.报表名称    = categoryDetail.Detailedname;
             ViewBag.报表sql语句 = categoryDetail.Sqlvalue;
             ViewBag.统计字段    = categoryDetail.Total;
             ViewBag.排序字段    = categoryDetail.Sort;
             ViewBag.排序方式    = categoryDetail.Order;
         }
     }
     ViewBag.report = pagelist.report;
     ViewBag.Title  = pagelist.title;
     return(View());
 }
        public int EditReport(AVGD.Rpt.Areas.Admin.Models.FormValue value)
        {
            if (value.report.IsEmpty())
            {
                return(0);
            }
            rpt_categorydetail rpt = _db.rpt_categorydetail.Where(r => r.Id == value.report).FirstOrDefault();

            if (rpt != null)
            {
                _db.rpt_categorydetail.Attach(rpt);
                rpt.Detailedname = value.reportname;
                rpt.Cateoryid    = value.categoryId;
                rpt.Order        = value.sorttype;
                rpt.Sort         = value.sortcolumn;
                rpt.Sqlvalue     = value.sqlvalue;
                rpt.Total        = value.totalcolumn;
                return(_db.SaveChanges());
            }
            return(0);
        }