227 lines
13 KiB
C#
227 lines
13 KiB
C#
using HZQR.Common;
|
|
using QRWL.Common;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using Business = SuperMap.RealEstate.ExchangeData.Business;
|
|
using HWSB = SuperMap.RealEstate.HighWay.Storage.Business;
|
|
|
|
namespace SuperMap.RealEstate.ExchangeData.Handler
|
|
{
|
|
/// <summary>
|
|
/// handler_ajax 的摘要说明
|
|
/// http://192.168.10.123:6060/ExchangeData/Handler/handler_ajax.ashx?
|
|
/// </summary>
|
|
public class handler_ajax : IHttpHandler
|
|
{
|
|
public void ProcessRequest(HttpContext context)
|
|
{
|
|
ServiceModel.Transaction _Transaction = new ServiceModel.Transaction();
|
|
string reString = string.Empty;
|
|
|
|
string action_type = HttpContext.Current.Request.Form["action_type"];
|
|
string action_data = HttpContext.Current.Request.Form["action_data"];
|
|
if (string.IsNullOrEmpty(action_type))
|
|
{
|
|
action_type = HttpContext.Current.Request.Params["action_type"];
|
|
action_data = HttpContext.Current.Request.Params["action_data"];
|
|
}
|
|
try
|
|
{
|
|
switch (action_type)
|
|
{
|
|
case "RealData":
|
|
#region 实时数据
|
|
//接口参数
|
|
//action_type=RealData&action_data=331060&service_type=1
|
|
try
|
|
{
|
|
if (!string.IsNullOrEmpty(action_data))
|
|
{
|
|
DataTable _DataTable = new Business.CONFIGURATION(_Transaction).ExecuteDataTable(string.Format(
|
|
@"SELECT E.NUMBER_PEOPLE,E.CREATE_TIME,D.SERVERPART_ID,D.SERVERPARTCODE,D.SHOPCODE,
|
|
D.HEAT_X,D.HEAT_Y,D.SERVICE_TYPE,D.VIDEO_IP,D.CAMERA_ORDER,D.SHOPVIDEO_ID
|
|
FROM
|
|
(SELECT A.SERVERPART_ID,C.SERVERPARTCODE,C.SHOPCODE,A.LOGUSERNAME, A.LOGPASSWORD,
|
|
B.VIDEOPORT,C.HEAT_X,C.HEAT_Y,C.SHOPVIDEO_ID,C.VIDEO_IP,C.SERVICE_TYPE,C.CAMERA_ORDER
|
|
FROM HIGHWAY_EXCHANGE.T_EXTRANET A,HIGHWAY_EXCHANGE.T_EXTRANETDETAIL B,HIGHWAY_EXCHANGE.T_SHOPVIDEO C
|
|
WHERE A.EXTRANET_ID = B.EXTRANET_ID AND B.EXTRANETDETAIL_ID = C.EXTRANETDETAIL_ID AND
|
|
A.SERVERPART_ID IS NOT NULL AND B.EXTRANETDETAIL_ID IS NOT NULL AND C.EXTRANETDETAIL_ID IS NOT NULL AND
|
|
B.LOGUSERNAME IS NOT NULL AND B.LOGPASSWORD IS NOT NULL AND B.VIDEOPORT IS NOT NULL AND
|
|
A.EXTRANET_IP IS NOT NULL AND C.ISMONITOR = 1) D
|
|
LEFT JOIN
|
|
(SELECT SHOPVIDEO_ID,NUMBER_PEOPLE,CREATE_TIME,
|
|
ROW_NUMBER() OVER(PARTITION BY SHOPVIDEO_ID ORDER BY CREATE_TIME DESC) AS ROW_FLG
|
|
FROM HIGHWAY_EXCHANGE.T_MAPNUMSTATISTICS
|
|
WHERE CREATE_TIME >= TO_DATE('{0}','YYYY/MM/DD HH24:MI:SS') AND
|
|
CREATE_TIME <= TO_DATE('{1}','YYYY/MM/DD HH24:MI:SS')) E
|
|
ON
|
|
D.SHOPVIDEO_ID = E.SHOPVIDEO_ID AND E.ROW_FLG = '1'
|
|
WHERE
|
|
D.SERVERPART_ID = {2} ORDER BY D.SERVICE_TYPE DESC,D.CAMERA_ORDER ASC",
|
|
DateTime.Now.AddMinutes(-6).ToString(), DateTime.Now.ToString(), action_data));
|
|
if (_DataTable != null && _DataTable.Rows.Count > 0)
|
|
{
|
|
reString = "{\"code\":1,\"msg\":\"成功\",\"data\":" + JsonHelper.DataTableToJson(_DataTable) + "}";
|
|
}
|
|
else
|
|
{
|
|
reString = "{\"code\":-1,\"msg\":\"暂无数据\",\"data\":[]}";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
reString = "{\"code\":-1,\"msg\":\"缺少action_data\",\"data\":[]}";
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
reString = "{\"code\":-1,\"msg\":\"接口错误\",\"data\":[]}";
|
|
}
|
|
#endregion
|
|
break;
|
|
case "TotalAmountData":
|
|
#region 实时数据总量
|
|
//接口参数
|
|
//action_type=TotalAmountData&action_data=331060&service_type=1&cycletime_count=10
|
|
try
|
|
{
|
|
string cycletime_count = HttpContext.Current.Request.Form["cycletime_count"];
|
|
if (string.IsNullOrEmpty(cycletime_count))
|
|
{
|
|
cycletime_count = HttpContext.Current.Request.Params["cycletime_count"];
|
|
if (string.IsNullOrEmpty(cycletime_count))
|
|
{
|
|
cycletime_count = "60";//统计时间间隔
|
|
}
|
|
}
|
|
|
|
if (!string.IsNullOrEmpty(action_data) && !string.IsNullOrEmpty(cycletime_count))
|
|
{
|
|
//半小时统计
|
|
DataTable _DataTable = new Business.CONFIGURATION(_Transaction).ExecuteDataTable(String.Format(
|
|
@"SELECT
|
|
(CASE FLOOR((TO_CHAR(A.CREATE_TIME + 1/1440*{0}, 'MI')) / {0})
|
|
WHEN 0 THEN TO_CHAR(A.CREATE_TIME + 1/1440*{0}, 'YYYY/MM/DD HH24') || ':00:00'
|
|
WHEN 1 THEN TO_CHAR(A.CREATE_TIME + 1/1440*{0}, 'YYYY/MM/DD HH24') || ':30:00' END) AS DT,
|
|
SUM(A.NUMBER_PEOPLE) AS NUMBER_PEOPLE
|
|
FROM
|
|
HIGHWAY_EXCHANGE.T_MAPNUMSTATISTICS A,
|
|
HIGHWAY_EXCHANGE.T_EXTRANET B,
|
|
HIGHWAY_EXCHANGE.T_EXTRANETDETAIL C,
|
|
HIGHWAY_EXCHANGE.T_SHOPVIDEO D
|
|
WHERE
|
|
A.SHOPVIDEO_ID = D.SHOPVIDEO_ID AND D.EXTRANETDETAIL_ID = C.EXTRANETDETAIL_ID AND
|
|
C.EXTRANET_ID = B.EXTRANET_ID AND B.SERVERPART_ID = {1} AND
|
|
A.CREATE_TIME BETWEEN TRUNC(SYSDATE) AND SYSDATE
|
|
GROUP BY
|
|
(CASE FLOOR((TO_CHAR(A.CREATE_TIME + 1/1440*{0}, 'MI')) / {0})
|
|
WHEN 0 THEN TO_CHAR(A.CREATE_TIME + 1/1440*{0}, 'YYYY/MM/DD HH24') || ':00:00'
|
|
WHEN 1 THEN TO_CHAR(A.CREATE_TIME + 1/1440*{0}, 'YYYY/MM/DD HH24') || ':30:00' END)
|
|
ORDER BY DT", int.Parse(cycletime_count), action_data));
|
|
if (_DataTable != null && _DataTable.Rows.Count > 0)
|
|
{
|
|
reString = "{\"code\":1,\"msg\":\"成功\",\"data\":" + JsonHelper.DataTableToJson(_DataTable) + "}";
|
|
}
|
|
else
|
|
{
|
|
reString = "{\"code\":-1,\"msg\":\"暂无数据\",\"data\":[]}";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
reString = "{\"code\":-1,\"msg\":\"缺少action_data/cycletime_count\",\"data\":[]}";
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
reString = "{\"code\":-1,\"msg\":\"接口错误\",\"data\":[]}";
|
|
}
|
|
#endregion
|
|
break;
|
|
case "ChannelList":
|
|
#region 获取服务区通道列表
|
|
//接口参数
|
|
//action_type=ChannelList&action_data=331060&service_type=1&vedio_type=1000
|
|
try
|
|
{
|
|
string vedio_type = HttpContext.Current.Request.Form["vedio_type"];
|
|
string service_type = HttpContext.Current.Request.Form["service_type"];
|
|
|
|
if (string.IsNullOrEmpty(vedio_type))
|
|
{
|
|
vedio_type = HttpContext.Current.Request.Params["vedio_type"];
|
|
}
|
|
if (string.IsNullOrEmpty(service_type))
|
|
{
|
|
service_type = HttpContext.Current.Request.Params["service_type"];
|
|
}
|
|
if (!string.IsNullOrEmpty(action_data) && !string.IsNullOrEmpty(service_type))
|
|
{
|
|
DataTable _DataTable = new Business.CONFIGURATION(_Transaction).ExecuteDataTable(
|
|
string.Format(@"SELECT A.SERVERPART_ID,C.SERVERPARTCODE,B.EXTRANETDETAIL_ID,A.LOGUSERNAME,
|
|
B.LOGINPORT,A.LOGPASSWORD,B.VIDEOPORT,A.EXTRANET_IP,C.SHOPVIDEO_ID,C.VIDEO_IP
|
|
FROM HIGHWAY_EXCHANGE.T_EXTRANET A,HIGHWAY_EXCHANGE.T_EXTRANETDETAIL B,HIGHWAY_EXCHANGE.T_SHOPVIDEO C
|
|
WHERE A.EXTRANET_ID = B.EXTRANET_ID AND B.EXTRANETDETAIL_ID = C.EXTRANETDETAIL_ID AND
|
|
A.SERVERPART_ID IS NOT NULL AND B.EXTRANETDETAIL_ID IS NOT NULL AND
|
|
C.EXTRANETDETAIL_ID IS NOT NULL AND B.LOGUSERNAME IS NOT NULL AND B.LOGPASSWORD IS NOT NULL AND
|
|
B.VIDEOPORT IS NOT NULL AND A.EXTRANET_IP IS NOT NULL AND A.SERVERPART_ID = '{0}' {1} {2} ",
|
|
action_data, service_type == "0" ? " " : (" AND C.SERVICE_TYPE =" + service_type),
|
|
string.IsNullOrEmpty(vedio_type) ? "" : (" AND VEDIO_TYPE = " + vedio_type)));
|
|
if (_DataTable != null && _DataTable.Rows.Count > 0)
|
|
{
|
|
reString = "{\"code\":1,\"msg\":\"成功\",\"data\":" + JsonHelper.DataTableToJson(_DataTable) + "}";
|
|
}
|
|
else
|
|
{
|
|
reString = "{\"code\":-1,\"msg\":\"暂无数据\",\"data\":[]}";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
reString = "{\"code\":-1,\"msg\":\"缺少action_data\",\"data\":[]}";
|
|
}
|
|
}
|
|
catch
|
|
{
|
|
reString = "{\"code\":-1,\"msg\":\"接口错误\",\"data\":[]}";
|
|
}
|
|
#endregion
|
|
break;
|
|
//导入商品数据
|
|
case "ImportGoods":
|
|
reString = CommonInterface.DataTransfer.ImportGoods(_Transaction);
|
|
break;
|
|
//更新数据变更日志表
|
|
case "UpdateDataVersion":
|
|
reString = CommonInterface.DataTransfer.UpdateDataVersion(_Transaction);
|
|
break;
|
|
default:
|
|
reString = "{\"code\":-1,\"msg\":\"缺少action_type/service_type\",\"data\":[]}";
|
|
break;
|
|
}
|
|
|
|
}
|
|
catch
|
|
{
|
|
reString = "{\"code\":-1,\"msg\":\"未知错误\",\"data\":[]}";
|
|
}
|
|
|
|
context.Response.Charset = "UTF-8";
|
|
context.Response.ContentType = "application/json;charset=UTF-8";
|
|
context.Response.ContentEncoding.GetBytes("UTF-8");
|
|
context.Response.Write(reString);
|
|
context.Response.End();
|
|
}
|
|
|
|
public bool IsReusable
|
|
{
|
|
get
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
} |