using Newtonsoft.Json.Linq;
|
using System;
|
using System.Collections.Generic;
|
using System.Data;
|
using System.Linq;
|
using System.Reflection;
|
using System.Web;
|
using Terra.YaoGan.Common;
|
using Terra.YaoGan.Service;
|
|
namespace Terra.YaoGan.Web.Ashx
|
{
|
/// <summary>
|
/// Secondcommon 的摘要说明
|
/// </summary>
|
public class Secondcommon : IHttpHandler
|
{
|
|
public void ProcessRequest(HttpContext context)
|
{
|
string Action = context.Request["Action"];
|
|
MethodInfo mif = this.GetType().GetMethod(Action);
|
if (mif != null)
|
{
|
mif.Invoke(this, new object[] { context });
|
}
|
|
}
|
|
//获取数据
|
public void GetAllSumData(HttpContext context)
|
{
|
try
|
{
|
string dtTable = context.Request["dataTable"];
|
string clTable = context.Request["colorTable"];
|
|
|
string sql =string.Format(@"select cr.Name,cr.R,cr.G,cr.B,lv.* FROM {0} cr RIGHT JOIN ( SELECT SUM(CAST (Area as FLOAT)) Area,FirstLevel fr,[Year] from {1} where FirstLevel<>''
|
GROUP BY FirstLevel,[Year]) lv ON lv.fr=cr.Code UNION
|
select cr.Name,cr.R,cr.G,cr.B,lv.* from {0} cr RIGHT JOIN (select SUM(CAST(Area as FLOAT)) Area, SecondLevel fr,[Year] from
|
{1} WHERE SecondLevel<>'' GROUP BY [Year],SecondLevel) lv ON cr.Code=lv.fr ORDER BY lv.fr,lv.[Year];",clTable,dtTable);
|
//string sql = string.Format(@"select cr.Name,cr.R,cr.G,cr.B,lv.* FROM ColorRoad cr RIGHT JOIN ( SELECT SUM(CAST (Area as FLOAT)) Area,FirstLevel fr,[Year] from DLTD where FirstLevel<>'' AND [Year]=(SELECT MAX([Year]) from DLTD )
|
// GROUP BY FirstLevel,[Year]) lv ON lv.fr=cr.Code UNION
|
// select cr.Name,cr.R,cr.G,cr.B,lv.* from ColorRoad cr RIGHT JOIN (select SUM(CAST(Area as FLOAT)) Area, SecondLevel fr,[Year] from
|
// DLTD WHERE FirstLevel='01' AND [Year]=(SELECT MAX([Year]) from DLTD ) GROUP BY [Year],SecondLevel) lv ON cr.Code=lv.fr ORDER BY lv.fr,lv.[Year]");
|
GetTableCommon gt = new GetTableCommon();
|
DataTable dt = gt.GetTable(sql);
|
string jsonStr = DataTableToJson.DtToJson(dt);
|
context.Response.Write(jsonStr);
|
}
|
catch
|
{
|
context.Response.Write("");
|
}
|
|
}
|
|
//获取选择的数据
|
public void GetAllChooseData(HttpContext context)
|
{
|
try
|
{
|
string first = context.Request["firstLeverl"];
|
string second = context.Request["secondLevel"];
|
string time = context.Request["timeL"];
|
string dtTable = context.Request["dataTable"];
|
string clTable = context.Request["colorTable"];
|
string[] firstArr =null ;
|
string[] secondArr = null;
|
string[] timeArr = null;
|
string sqlF = "", sqlS = "", sqlT = "";
|
if (first != "")
|
{
|
firstArr = first.Split('*');
|
for(int i = 0; i < firstArr.Length; i++)
|
{
|
sqlF += "'" + firstArr[i] + "',";
|
}
|
}
|
|
if (second != "")
|
{
|
secondArr = second.Split('*');
|
for (int i = 0; i < secondArr.Length; i++)
|
{
|
sqlS += "'" + secondArr[i] + "',";
|
}
|
}
|
|
if (time != "")
|
{
|
timeArr = time.Split('*');
|
|
for (int i = 0; i < timeArr.Length; i++)
|
{
|
sqlT += "'" + timeArr[i] + "',";
|
}
|
}
|
string sql = "";
|
string sql1 = "";
|
string sql2 = "";
|
if (sqlF != "")
|
{
|
sql1 = string.Format(@"SELECT cr.*,SUM(cast(Area as FLOAT)) Area,[Year] FROM ( select Code,Name,R,G,B,Type
|
from {0} where Name in ({1})) cr
|
INNER JOIN (SELECT FirstLevel,[Year],Area from {2} WHERE [Year] in ({3})) dt ON cr.Code=dt.FirstLevel
|
GROUP BY cr.Code,cr.Name,cr.R,cr.G,cr.B,cr.Type,dt.[Year] ",clTable ,sqlF.Substring(0,sqlF.Length-1),dtTable,sqlT.Substring(0, sqlT.Length - 1));
|
}
|
|
|
if (sqlS != "")
|
{
|
sql2= string.Format(@"SELECT cr.*,SUM(cast(Area as FLOAT)) Area,[Year] FROM ( select Code,Name,R,G,B,Type
|
from {0} where Name in ({1})) cr
|
INNER JOIN (SELECT SecondLevel,[Year],Area from {2} WHERE [Year] in ({3})) dt ON cr.Code=dt.SecondLevel
|
GROUP BY cr.Code,cr.Name,cr.R,cr.G,cr.B,cr.Type,dt.[Year] ", clTable,sqlS.Substring(0, sqlS.Length - 1),dtTable ,sqlT.Substring(0, sqlT.Length - 1));
|
}
|
if (sql1 != "" & sql2 != "")
|
{
|
sql = sql1 + " UNION ALL " + sql2 + " ORDER BY Code, Name,YEAR";
|
}else
|
{
|
sql = sql1 + sql2 + " ORDER BY Name,YEAR";
|
}
|
|
|
|
GetTableCommon gt = new GetTableCommon();
|
DataTable dt = gt.GetTable(sql);
|
string jsonStr = DataTableToJson.DtToJson(dt);
|
context.Response.Write(jsonStr);
|
}
|
catch
|
{
|
context.Response.Write("");
|
}
|
|
}
|
|
/// <summary>
|
/// 获取选择的二级色块数据
|
/// </summary>
|
|
public void GetSkuai(HttpContext context)
|
{
|
string name = context.Request["parm"];
|
string table= context.Request["table"];
|
string[] arr = name.Split('*');
|
string sql = " ";
|
if (arr.Length > 0)
|
{
|
for (int i = 0; i < arr.Length; i++) {
|
sql += "'"+arr[i]+"' ,";
|
}
|
}else
|
{
|
context.Response.Write("");
|
}
|
sql = " SELECT DISTINCT Name,R,G,B from " + table+" where Name IN( " + sql.Substring(0,sql.Length-1) + ")";
|
GetTableCommon gt = new GetTableCommon();
|
DataTable dt = gt.GetTable(sql);
|
string jsonStr = DataTableToJson.DtToJson(dt);
|
context.Response.Write(jsonStr);
|
}
|
|
public void GetTime(HttpContext context)
|
{
|
string tableName= context.Request["Table"];
|
string sql = "select [Year] from "+tableName+" GROUP BY [Year] ORDER BY [Year];";
|
GetTableCommon gt = new GetTableCommon();
|
DataTable dt = gt.GetTable(sql);
|
string jsonStr = DataTableToJson.DtToJson(dt);
|
context.Response.Write(jsonStr);
|
}
|
//获取筛选的数据
|
public void GetChooseData(HttpContext context)
|
{
|
string name = context.Request["parm"];
|
string[] arr = name.Split('*');
|
string sql = " ";
|
if (arr.Length > 0)
|
{
|
for (int i = 0; i < arr.Length; i++)
|
{
|
sql += "'" + arr[i] + "' ,";
|
}
|
}
|
else
|
{
|
context.Response.Write("");
|
}
|
sql = " SELECT Name,R,G,B from ColorRoad where Name IN( " + sql.Substring(0, sql.Length - 1) + ")";
|
GetTableCommon gt = new GetTableCommon();
|
DataTable dt = gt.GetTable(sql);
|
string jsonStr = DataTableToJson.DtToJson(dt);
|
context.Response.Write(jsonStr);
|
}
|
|
|
//获取都栏土地
|
public void GetThird(HttpContext context)
|
{
|
string pid = context.Request["id"];
|
string CharName = context.Request["year"];
|
string sql = "";
|
if (CharName == "")
|
{
|
sql= "select name from ThirdCatlog where SecondPid='" + pid + "' ORDER BY name DESC";
|
}else
|
{
|
sql = "select name from ThirdCatlog where SecondPid='" + pid + "' And CHARINDEX('"+CharName+"', name)>0 ORDER BY name DESC";
|
}
|
|
GetTableCommon gt = new GetTableCommon();
|
DataTable dt = gt.GetTable(sql);
|
string jsonStr = DataTableToJson.DtToJson(dt);
|
context.Response.Write(jsonStr);
|
}
|
|
|
|
public void GetDLColor(HttpContext context)
|
{
|
string clTable = context.Request["colorTable"];
|
string colorYJ = context.Request["colorYJ"];
|
string colorEJ = context.Request["colorEJ"];
|
string sql = string.Format(@"select Name from {0} where Code in ('{1}','{2}') ORDER BY Code;", clTable, colorYJ, colorEJ);
|
GetTableCommon gt = new GetTableCommon();
|
DataTable dt = gt.GetTable(sql);
|
string jsonStr = DataTableToJson.DtToJson(dt);
|
context.Response.Write(jsonStr);
|
}
|
|
|
//获取数据年份
|
public void GetYear(HttpContext context)
|
{
|
string tableName = context.Request["TableName"];
|
string sql = "select [Year] from "+tableName+" GROUP BY [Year] ORDER BY [Year] ASC";
|
GetTableCommon gt = new GetTableCommon();
|
DataTable dt = gt.GetTable(sql);
|
string jsonStr = DataTableToJson.DtToJson(dt);
|
context.Response.Write(jsonStr);
|
}
|
|
|
public void GetQLLegend(HttpContext context)
|
{
|
string str = context.Request["parm"];
|
string text = "select qll.name,qll.uname from QLCenterLegend qlc LEFT JOIN QLLegend qll ON qlc.sid=qll.id where qlc.pid='" + str + "'";
|
string s = DataTableToJson.DtToJson(new GetTableCommon().GetTable(text));
|
context.Response.Write(s);
|
}
|
|
|
|
public bool IsReusable
|
{
|
get
|
{
|
return false;
|
}
|
}
|
}
|
}
|