/// <summary>
        /// 得到报表查询条件参照数据 web
        /// </summary>
        /// <param name="reportRequest"></param>
        /// <returns></returns>
        public BasicResponse <Hashtable> GetFKDataByHashTable(Sys.Safety.Request.ReportGetFKDataByHashTableRequest reportRequest)
        {
            //如果测点参照要根据开始时间和结束时间过滤已删除的数据即  activitiy=1 or (activitiy=0 && 定义的时间在查询时间范围内)
            //则sql语句的条件应该这么写  activitiy=1 or (activitiy=0 && (开始时间  between  Createtime  and  deletetime  or 结束时间  between  Createtime  and  deletetime))

            BasicResponse <Hashtable> response = new BasicResponse <Hashtable>();

            var strFKCode = reportRequest.strFKCode;

            DataTable dtfklib = _Repository.QueryTable("global_Report_GetFKDataByHashTable1", new object[] { reportRequest.strFKCode });

            if (dtfklib == null || dtfklib.Rows.Count == 0)
            {
                throw new Exception("未找到参照编码为" + strFKCode + "的记录,请查看参照表配置!");
            }
            string strsql = Convert.ToString(dtfklib.Rows[0]["strSQL"]);

            SqlRequest sqlRequest = new SqlRequest
            {
                Sql = strsql
            };
            DataTable dataSource = _SqlService.QueryTableBySql(sqlRequest).Data;

            Hashtable lookInfo = new Hashtable();

            lookInfo.Add("StrDsiplayMember", Convert.ToString(dtfklib.Rows[0]["StrDsiplayMember"]).Trim());
            lookInfo.Add("StrValueMember", Convert.ToString(dtfklib.Rows[0]["StrValueMember"]).Trim());
            lookInfo.Add("StrColumns", Convert.ToString(dtfklib.Rows[0]["StrColumns"]).Trim());
            lookInfo.Add("StrParentField", Convert.ToString(dtfklib.Rows[0]["StrParentField"]).Trim());

            lookInfo.Add("dataSource", ConvertDataTable(dataSource));
            //string strReturn = PublicClass.JsonSerializer<Hashtable>(lookInfo);

            //测试反序列化
            //Hashtable bb = PublicClass.JsonDeserialize<Hashtable>(strReturn);
            //DataTable dtaa = PublicClass.JsonDeserialize<DataTable>(bb["dataSource"].ToString());

            response.Data = lookInfo;
            return(response);
        }
Beispiel #2
0
        public BasicResponse <Hashtable> GetFKDataByHashTable(Sys.Safety.Request.ReportGetFKDataByHashTableRequest reportRequest)
        {
            var responseStr = HttpClientHelper.Post(Webapi + "/v1/Report/GetFKDataByHashTable?token=" + Token, JSONHelper.ToJSONString(reportRequest));

            return(JSONHelper.ParseJSONString <BasicResponse <Hashtable> >(responseStr));
        }
 public BasicResponse <Hashtable> GetFKDataByHashTable(Sys.Safety.Request.ReportGetFKDataByHashTableRequest reportRequest)
 {
     return(reportService.GetFKDataByHashTable(reportRequest));
 }