예제 #1
0
        public static DataTable GetReportSqlWithTemplate(string sql, int PR = 0)
        {
            string[] sqls = sql.Split(new string[] { "|-|" }, StringSplitOptions.None);
            if (sqls.Length == 1)
            {
                sql = sqls[0];
            }
            else if (sqls.Length == 2)
            {
                sql = sqls[1];

                var db      = CRMTreeDatabase.DBCRMTree.GetInstance();
                var procSql = sqls[0];
                var pr      = new CRMTreeDatabase.EX_Param();
                pr.EX_DataType = "int";
                pr.EX_Name     = "PR";
                pr.EX_Value    = PR.ToString();
                List <CRMTreeDatabase.EX_Param> ps = new List <CRMTreeDatabase.EX_Param>();
                ps.Add(pr);
                var pSql = SetReportSql(procSql, ps);
                var tags = db.Query <CRMTreeDatabase.EX_Tag>(pSql);
                foreach (var tag in tags)
                {
                    sql = sql.Replace(tag.PL_Tag, tag.PV_Val);
                }
            }
            return(DL_Reports.QueryExecution(sql));
        }
예제 #2
0
 public BL_Report_Service()
 {
     _d_report = new DL_Reports();
 }
예제 #3
0
 /// <summary>
 /// 根据报表的RP_Query来执行SQl,返回表格形式
 /// </summary>
 /// <param name="RP_Query"></param>
 /// <returns></returns>
 public static DataTable QueryExecution(string RP_Query)
 {
     return(DL_Reports.QueryExecution(RP_Query));
 }