You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
647 lines
26 KiB
647 lines
26 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Web;
|
|
|
|
namespace FangYar.WebUI.ashx
|
|
{
|
|
/// <summary>
|
|
/// TblCameraGroupHandler 的摘要说明
|
|
/// </summary>
|
|
public class TblCameraGroupHandler : IHttpHandler
|
|
{
|
|
|
|
public void ProcessRequest(HttpContext context)
|
|
{
|
|
|
|
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Other, "摄像头分组操作请求", "");
|
|
|
|
context.Response.ContentType = "text/plain";
|
|
string action = context.Request.Params["Action"];
|
|
string returnstr = "";
|
|
|
|
|
|
switch (action)
|
|
{
|
|
// 获取分组信息
|
|
case "getCameraGroupList":
|
|
returnstr = getCameraGroupList(context);
|
|
break;
|
|
// 获取分组信息
|
|
case "getCameraGroupByID":
|
|
returnstr = getCameraGroupByID(context);
|
|
break;
|
|
// 保存分组信息
|
|
case "SaveCameraGroup":
|
|
returnstr = SaveCameraGroup(context);
|
|
break;
|
|
// 加载所有下级单位名称分组
|
|
case "AddNexOrgGroup":
|
|
returnstr = AddNexOrgGroup(context);
|
|
break;
|
|
// 删除分组信息
|
|
case "DeleteCameraGroup":
|
|
returnstr = DeleteCameraGroup(context);
|
|
break;
|
|
// 获取分组内摄像头详情信息
|
|
case "getCameraGroupLinkList":
|
|
returnstr = getCameraGroupLinkList(context);
|
|
break;
|
|
// 获取分组内摄像头详情信息
|
|
case "SaveCameraGroupLinkList":
|
|
returnstr = SaveCameraGroupLinkList(context);
|
|
break;
|
|
|
|
}
|
|
|
|
context.Response.Write(returnstr);
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 获取摄像头分组信息
|
|
/// </summary>
|
|
/// <param name="context"></param>
|
|
/// <returns></returns>
|
|
private string getCameraGroupList(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
try
|
|
{
|
|
//组织机构ID
|
|
string OrgId = context.Request.Params["OrgId"];
|
|
|
|
|
|
|
|
string sqlQuery = @" SELECT *
|
|
,(SELECT count(1) from tbl_camera_group_link WHERE camera_group_id in
|
|
(SELECT id from tbl_camera_group cg2 WHERE cg2.group_route like CONCAT(cg1.group_route,'%') and cg2.ORG_ID = cg1.ORG_ID )) GROUP_SUB_COUNT
|
|
,(SELECT count(1) from tbl_camera_group_link WHERE camera_group_id = cg1.id) GROUP_CAMPERA_COUNT
|
|
from tbl_camera_group cg1 WHERE ORG_ID ='" + OrgId + "' and GROUP_STATE='0' ORDER BY group_sort,GROUP_ROUTE ";
|
|
|
|
|
|
var dt1 = FangYar.Common.MySqlHelper.QueryTable(sqlQuery);
|
|
|
|
|
|
|
|
|
|
returnstr = "{\"code\":0,\"msg\":\"\",";
|
|
returnstr += "\"count\":" + dt1.Rows.Count + ",\"data\":";
|
|
|
|
returnstr += FangYar.Common.JsonHelper.ToJson(dt1);
|
|
returnstr += "}";
|
|
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}";
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "摄像头分组操作请求", "获取摄像头分组信息异常:" + e);
|
|
}
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "摄像头分组操作请求", "获取摄像头分组信息");
|
|
return returnstr;
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 根据信息ID获取摄像头分组信息
|
|
/// </summary>
|
|
/// <param name="context"></param>
|
|
/// <returns></returns>
|
|
private string getCameraGroupByID(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
try
|
|
{
|
|
//组织机构ID
|
|
string cgid = context.Request.Params["cgid"];
|
|
|
|
string sqlQuery = @" SELECT * from tbl_camera_group WHERE id ='" + cgid + "' ";
|
|
|
|
|
|
var dt1 = FangYar.Common.MySqlHelper.QueryTable(sqlQuery);
|
|
|
|
|
|
|
|
|
|
returnstr = "{\"code\":0,\"msg\":\"\",";
|
|
returnstr += "\"count\":" + dt1.Rows.Count + ",\"data\":";
|
|
|
|
returnstr += FangYar.Common.JsonHelper.ToJson(dt1);
|
|
returnstr += "}";
|
|
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}";
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "摄像头分组操作请求", "获取摄像头分组信息异常:" + e);
|
|
}
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "摄像头分组操作请求", "获取摄像头分组信息");
|
|
return returnstr;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 保存摄像头分组信息
|
|
/// </summary>
|
|
/// <param name="context"></param>
|
|
/// <returns></returns>
|
|
private string SaveCameraGroup(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
int code = -1;
|
|
string msg = "";
|
|
try
|
|
{
|
|
//分组信息ID
|
|
string cgid = context.Request.Params["cgid"];
|
|
|
|
//组织机构ID
|
|
string OrgId = context.Request.Params["OrgId"];
|
|
//分组名称
|
|
string GROUP_NAME = context.Request.Params["GROUP_NAME"];
|
|
//上级信息ID
|
|
string GROPU_PID = context.Request.Params["GROPU_PID"];
|
|
//排序字段
|
|
string GROUP_SORT = context.Request.Params["GROUP_SORT"];
|
|
//备注信息
|
|
string GROUP_REMARK = context.Request.Params["GROUP_REMARK"];
|
|
//分组级别
|
|
string GROUP_LEVEL = "1";
|
|
//分组信息路由
|
|
string GROUP_ROUTE = "100";
|
|
//实例化信息ID
|
|
string ID = Guid.NewGuid().ToString("N");
|
|
|
|
//判断是是否传入上级ID信息编码
|
|
if (string.IsNullOrWhiteSpace(GROPU_PID))
|
|
{
|
|
//没有传入上级信息ID,则上级ID信息置为0
|
|
GROPU_PID = "0";
|
|
}
|
|
else
|
|
{
|
|
//查询上级摄像头分组信息
|
|
var sqlQuery = " SELECT *,(SELECT group_route from tbl_camera_group WHERE gropu_pid='" + GROPU_PID
|
|
+ "' ORDER BY group_route DESC LIMIT 1 ) NEX_GROUP_ROUTE from tbl_camera_group WHERE id='" + GROPU_PID + "' ";
|
|
var dtQuery = FangYar.Common.MySqlHelper.QueryTable(sqlQuery);
|
|
// 判断是否存在上级ID信息
|
|
if (dtQuery.Rows.Count > 0)
|
|
{
|
|
var GROUP_LEVEL_DT = dtQuery.Rows[0]["GROUP_LEVEL"] + "";
|
|
int.TryParse(GROUP_LEVEL_DT, out int GROUP_LEVEL_Num);
|
|
GROUP_LEVEL = (GROUP_LEVEL_Num + 1) + "";
|
|
//判断是否存在下级信息
|
|
string NexGroupRoute = dtQuery.Rows[0]["NEX_GROUP_ROUTE"] + "";
|
|
//判读下级路由信息查询是否为空
|
|
if (string.IsNullOrWhiteSpace(NexGroupRoute))
|
|
{
|
|
GROUP_ROUTE = dtQuery.Rows[0]["GROUP_ROUTE"] + "_100";
|
|
}
|
|
else
|
|
{
|
|
//截取最后一段数字
|
|
string str1 = NexGroupRoute.Substring(NexGroupRoute.LastIndexOf("_") > 0 ? NexGroupRoute.LastIndexOf("_") : NexGroupRoute.Length);
|
|
//截取不包含最后一段数字的信息
|
|
string str2 = NexGroupRoute.Substring(0, NexGroupRoute.LastIndexOf("_") > 0 ? NexGroupRoute.LastIndexOf("_") : NexGroupRoute.Length);
|
|
//字符替换
|
|
string str3 = str1.Replace("_", "");
|
|
//最后一段数字类型转换
|
|
int.TryParse(str3, out int num1);
|
|
//计算新路由最后一段数字内容
|
|
num1 = num1 < 100 ? 100 : num1 + 1;
|
|
//拼接新路由字符串信息
|
|
GROUP_ROUTE = str2 + "_" + num1;
|
|
}
|
|
}
|
|
}
|
|
//判断分组如果是100,则验证是否存在同级根目录分组
|
|
if (GROUP_ROUTE.Trim().Equals("100"))
|
|
{
|
|
//没有上级信息,判断同级信息数量
|
|
string sqlCount = " SELECT COUNT(1) from tbl_camera_group WHERE ORG_ID='" + OrgId + "' and gropu_pid='0' ";
|
|
var dtCount = FangYar.Common.MySqlHelper.QueryTable(sqlCount);
|
|
int.TryParse(dtCount.Rows[0][0] + "", out int countNum);
|
|
|
|
GROUP_ROUTE = (100 + countNum) + "";
|
|
}
|
|
|
|
// 插入摄像头分组信息
|
|
string sql = @" insert into tbl_camera_group
|
|
(ID,GROUP_NAME,GROUP_STATE,CREATETIME,GROUP_LEVEL,GROPU_PID,GROUP_ROUTE,ORG_ID,GROUP_SORT,GROUP_REMARK) values
|
|
('" + ID + "','" + GROUP_NAME + "','0',now(),'" + GROUP_LEVEL + "','" + GROPU_PID + "','" + GROUP_ROUTE + "','" + OrgId + "','" + GROUP_SORT + "','" + GROUP_REMARK + "') ";
|
|
//判断是否更新数据
|
|
if (!string.IsNullOrWhiteSpace(cgid))
|
|
{
|
|
//拼接更新数据Sql
|
|
sql = " update tbl_camera_group set GROUP_NAME='" + GROUP_NAME + "',GROUP_SORT='" + GROUP_SORT + "',GROUP_REMARK='" + GROUP_REMARK + "' where id='" + cgid + "' ";
|
|
}
|
|
|
|
var num = FangYar.Common.MySqlHelper.Execute(sql);
|
|
if (num > 0)
|
|
{
|
|
msg = "保存成功!";
|
|
code = 1;
|
|
}
|
|
else
|
|
{
|
|
msg = "保存失败!";
|
|
}
|
|
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "摄像头分组操作请求", "保存摄像头分组信息异常:" + e);
|
|
}
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "摄像头分组操作请求", "保存摄像头分组信息");
|
|
returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\"}";
|
|
return returnstr;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 加载所有下级单位名称分组
|
|
/// </summary>
|
|
/// <param name="context"></param>
|
|
/// <returns></returns>
|
|
private string AddNexOrgGroup(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
int code = -1;
|
|
string msg = "";
|
|
try
|
|
{
|
|
//分组信息ID
|
|
string cgid = context.Request.Params["cgid"];
|
|
|
|
//组织机构ID
|
|
string OrgId = context.Request.Params["OrgId"];
|
|
|
|
dicCacheGroupLinkOrgID = new Dictionary<string, string>();
|
|
dicCacheGroupLinkOrgID.Add(OrgId, cgid);
|
|
|
|
|
|
//查询所有下级单位
|
|
string sqlStr = " SELECT ORG_ID,PID,ORG_NAME,EXTENDCODE4,EXTENDCODE3 from fire_org ,(select get_Org_child_list('" + OrgId +
|
|
"') cids ) s WHERE find_in_set(org_id,cids) and TYPE='0' ORDER BY EXTENDCODE4 ";
|
|
|
|
var dt = FangYar.Common.MySqlHelper.QueryTable(sqlStr);
|
|
List<ItemOrgMo> lis1 = new List<ItemOrgMo>();
|
|
for (int i = 0; i < dt.Rows.Count; i++)
|
|
{
|
|
try
|
|
{
|
|
lis1.Add(new ItemOrgMo()
|
|
{
|
|
PID = dt.Rows[i]["PID"] + "",
|
|
ORG_ID = dt.Rows[i]["ORG_ID"] + "",
|
|
ORG_NAME = dt.Rows[i]["ORG_NAME"] + "",
|
|
EXTENDCODE4 = dt.Rows[i]["EXTENDCODE4"] + "",
|
|
});
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
|
|
}
|
|
}
|
|
LoopAddGroup(lis1, OrgId, OrgId);
|
|
msg = "保存成功!";
|
|
code = 1;
|
|
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "摄像头分组操作请求", "保存摄像头分组信息异常:" + e);
|
|
}
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "摄像头分组操作请求", "保存摄像头分组信息");
|
|
returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\"}";
|
|
return returnstr;
|
|
}
|
|
/// <summary>
|
|
/// 缓存机构ID和分组ID对应信息
|
|
/// </summary>
|
|
private Dictionary<string, string> dicCacheGroupLinkOrgID = new Dictionary<string, string>();
|
|
|
|
private void LoopAddGroup(List<ItemOrgMo> lis, string pid, string OrgId)
|
|
{
|
|
|
|
var list1 = lis.Where(p => p.PID == pid).ToList();
|
|
|
|
for (int i = 0; i < list1.Count(); i++)
|
|
{
|
|
var orgName = string.IsNullOrWhiteSpace(list1[i].EXTENDCODE3) ? list1[i].ORG_NAME : list1[i].EXTENDCODE3;
|
|
var gPid = "0";
|
|
if (dicCacheGroupLinkOrgID.ContainsKey(pid))
|
|
{
|
|
gPid = dicCacheGroupLinkOrgID[pid];
|
|
}
|
|
var goid = list1[i].ORG_ID;
|
|
var gid = AddGroupFun(OrgId, orgName, gPid, (i + 1) + "");
|
|
if (!dicCacheGroupLinkOrgID.ContainsKey(goid))
|
|
{
|
|
dicCacheGroupLinkOrgID.Add(goid, gid);
|
|
}
|
|
if (lis.Where(p => p.PID == goid).Any())
|
|
{
|
|
LoopAddGroup(lis, goid, OrgId);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
public class ItemOrgMo
|
|
{
|
|
public string ORG_ID { get; set; }
|
|
|
|
public string PID { get; set; }
|
|
public string ORG_NAME { get; set; }
|
|
public string EXTENDCODE4 { get; set; }
|
|
|
|
public string EXTENDCODE3 { get; set; }
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="OrgId">组织机构ID</param>
|
|
/// <param name="GROUP_NAME">分组名称</param>
|
|
/// <param name="GROPU_PID">上级信息ID</param>
|
|
/// <param name="GROUP_SORT">排序字段</param>
|
|
/// <returns></returns>
|
|
private string AddGroupFun(string OrgId, string GROUP_NAME, string GROPU_PID, string GROUP_SORT)
|
|
{
|
|
try
|
|
{
|
|
//备注信息
|
|
string GROUP_REMARK = GROUP_NAME + "——自动创建";
|
|
//分组级别
|
|
string GROUP_LEVEL = "1";
|
|
//分组信息路由
|
|
string GROUP_ROUTE = "100";
|
|
//实例化信息ID
|
|
string ID = Guid.NewGuid().ToString("N");
|
|
|
|
//判断是是否传入上级ID信息编码
|
|
if (string.IsNullOrWhiteSpace(GROPU_PID))
|
|
{
|
|
//没有传入上级信息ID,则上级ID信息置为0
|
|
GROPU_PID = "0";
|
|
}
|
|
else
|
|
{
|
|
//查询上级摄像头分组信息
|
|
var sqlQuery = " SELECT *,(SELECT group_route from tbl_camera_group WHERE gropu_pid='" + GROPU_PID
|
|
+ "' ORDER BY group_route DESC LIMIT 1 ) NEX_GROUP_ROUTE from tbl_camera_group WHERE id='" + GROPU_PID + "' ";
|
|
var dtQuery = FangYar.Common.MySqlHelper.QueryTable(sqlQuery);
|
|
// 判断是否存在上级ID信息
|
|
if (dtQuery.Rows.Count > 0)
|
|
{
|
|
var GROUP_LEVEL_DT = dtQuery.Rows[0]["GROUP_LEVEL"] + "";
|
|
int.TryParse(GROUP_LEVEL_DT, out int GROUP_LEVEL_Num);
|
|
GROUP_LEVEL = (GROUP_LEVEL_Num + 1) + "";
|
|
//判断是否存在下级信息
|
|
string NexGroupRoute = dtQuery.Rows[0]["NEX_GROUP_ROUTE"] + "";
|
|
//判读下级路由信息查询是否为空
|
|
if (string.IsNullOrWhiteSpace(NexGroupRoute))
|
|
{
|
|
GROUP_ROUTE = dtQuery.Rows[0]["GROUP_ROUTE"] + "_100";
|
|
}
|
|
else
|
|
{
|
|
//截取最后一段数字
|
|
string str1 = NexGroupRoute.Substring(NexGroupRoute.LastIndexOf("_") > 0 ? NexGroupRoute.LastIndexOf("_") : NexGroupRoute.Length);
|
|
//截取不包含最后一段数字的信息
|
|
string str2 = NexGroupRoute.Substring(0, NexGroupRoute.LastIndexOf("_") > 0 ? NexGroupRoute.LastIndexOf("_") : NexGroupRoute.Length);
|
|
//字符替换
|
|
string str3 = str1.Replace("_", "");
|
|
//最后一段数字类型转换
|
|
int.TryParse(str3, out int num1);
|
|
//计算新路由最后一段数字内容
|
|
num1 = num1 < 100 ? 100 : num1 + 1;
|
|
//拼接新路由字符串信息
|
|
GROUP_ROUTE = str2 + "_" + num1;
|
|
}
|
|
}
|
|
}
|
|
//判断分组如果是100,则验证是否存在同级根目录分组
|
|
if (GROUP_ROUTE.Trim().Equals("100"))
|
|
{
|
|
//没有上级信息,判断同级信息数量
|
|
string sqlCount = " SELECT COUNT(1) from tbl_camera_group WHERE ORG_ID='" + OrgId + "' and gropu_pid='0' ";
|
|
var dtCount = FangYar.Common.MySqlHelper.QueryTable(sqlCount);
|
|
int.TryParse(dtCount.Rows[0][0] + "", out int countNum);
|
|
|
|
GROUP_ROUTE = (100 + countNum) + "";
|
|
}
|
|
|
|
// 插入摄像头分组信息
|
|
string sql = @" insert into tbl_camera_group
|
|
(ID,GROUP_NAME,GROUP_STATE,CREATETIME,GROUP_LEVEL,GROPU_PID,GROUP_ROUTE,ORG_ID,GROUP_SORT,GROUP_REMARK) values
|
|
('" + ID + "','" + GROUP_NAME + "','0',now(),'" + GROUP_LEVEL + "','" + GROPU_PID + "','" + GROUP_ROUTE + "','" + OrgId + "','" + GROUP_SORT + "','" + GROUP_REMARK + "') ";
|
|
|
|
|
|
var num = FangYar.Common.MySqlHelper.Execute(sql);
|
|
|
|
return ID;
|
|
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
}
|
|
|
|
return "";
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 删除摄像头分组信息
|
|
/// </summary>
|
|
/// <param name="context"></param>
|
|
/// <returns></returns>
|
|
private string DeleteCameraGroup(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
int code = -1;
|
|
string msg = "";
|
|
try
|
|
{
|
|
//分组信息ID
|
|
string cgid = context.Request.Params["cgid"];
|
|
|
|
// 更新信息状态为删除
|
|
string sql = " update tbl_camera_group set GROUP_STATE='-1' where id='" + cgid + "' ";
|
|
|
|
var num = FangYar.Common.MySqlHelper.Execute(sql);
|
|
if (num > 0)
|
|
{
|
|
msg = "保存成功!";
|
|
code = 1;
|
|
}
|
|
else
|
|
{
|
|
msg = "保存失败!";
|
|
}
|
|
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "摄像头分组操作请求", "保存摄像头分组信息异常:" + e);
|
|
}
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "摄像头分组操作请求", "保存摄像头分组信息");
|
|
returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\"}";
|
|
return returnstr;
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 获取分组内摄像头详情信息
|
|
/// </summary>
|
|
/// <param name="context"></param>
|
|
/// <returns></returns>
|
|
private string getCameraGroupLinkList(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
try
|
|
{
|
|
//分组信息ID
|
|
string cgid = context.Request.Params["cgid"];
|
|
//是否包含下级
|
|
string is_content = context.Request.Params["is_content"];
|
|
|
|
|
|
|
|
string sqlQuery = @"
|
|
WITH t1 as(
|
|
SELECT ID,C_NAME,ORG_ID,EXTEND2 from tbl_camera WHERE ORG_ID in ( SELECT ORG_ID from tbl_camera_group WHERE id='" + cgid + @"')
|
|
)
|
|
,t2 as(
|
|
SELECT * from tbl_camera_group_link WHERE camera_group_id='" + cgid + @"' and CAMERA_ID not in (SELECT id from t1)
|
|
)
|
|
,t3 as(
|
|
SELECT * from t1
|
|
|
|
UNION
|
|
SELECT ID,CONCAT( C_NAME,'(',IFNULL(o.ORG_NAME,''),')') C_NAME,c.ORG_ID,c.EXTEND2 from tbl_camera c LEFT JOIN fire_org o on c.ORG_ID=o.ORG_ID
|
|
WHERE id in (SELECT CAMERA_ID from t2)
|
|
";
|
|
|
|
if (is_content == "1")
|
|
{
|
|
sqlQuery += @" UNION
|
|
SELECT * from (
|
|
SELECT ID,CONCAT( C_NAME,'(',IFNULL(o.ORG_NAME,''),')') C_NAME,c.ORG_ID,c.EXTEND2 from tbl_camera c LEFT JOIN fire_org o on c.ORG_ID=o.ORG_ID
|
|
,(select get_Org_child_list( (SELECT ORG_ID from tbl_camera_group WHERE id='" + cgid + @"')) cids ) s
|
|
WHERE find_in_set(c.org_id,cids) and id not in (SELECT id from t1) and id not in (SELECT id from t2)
|
|
ORDER BY o.EXTENDCODE4,c.EXTEND2
|
|
) t ";
|
|
}
|
|
sqlQuery += @" ) SELECT * from t3 ";
|
|
|
|
|
|
var dt1 = FangYar.Common.MySqlHelper.QueryTable(sqlQuery);
|
|
|
|
//查询已经信息集合
|
|
string sqlVal = " SELECT group_concat(CAMERA_ID) from tbl_camera_group_link WHERE camera_group_id = '" + cgid + "' ";
|
|
var dt2 = FangYar.Common.MySqlHelper.QueryTable(sqlVal);
|
|
string str1 = dt2.Rows[0][0] + "";
|
|
|
|
var arr = str1.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
|
|
|
|
|
|
|
|
returnstr = "{\"code\":1,\"msg\":\"\",";
|
|
returnstr += "\"data1\":" + FangYar.Common.JsonHelper.ToJSON1(arr) + ",\"data\":";
|
|
|
|
returnstr += FangYar.Common.JsonHelper.ToJson(dt1);
|
|
returnstr += "}";
|
|
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
returnstr = "{\"code\":0,\"msg\":\"error\",\"count\":0,\"data\":[]}";
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "摄像头分组操作请求", "获取摄像头分组信息异常:" + e);
|
|
}
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "摄像头分组操作请求", "获取摄像头分组信息");
|
|
return returnstr;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 摄像头内包含的摄像头信息
|
|
/// </summary>
|
|
/// <param name="context"></param>
|
|
/// <returns></returns>
|
|
private string SaveCameraGroupLinkList(HttpContext context)
|
|
{
|
|
string returnstr = "";
|
|
int code = -1;
|
|
string msg = "";
|
|
try
|
|
{
|
|
//分组信息ID
|
|
string cgid = context.Request.Params["cgid"];
|
|
// 摄像头信息
|
|
string arrStr = context.Request.Params["arrStr"];
|
|
var arr = arrStr.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).ToList();
|
|
//执行Sql集合
|
|
List<string> listSql = new List<string>();
|
|
// 添加删除语句
|
|
listSql.Add(" DELETE FROM tbl_camera_group_link WHERE CAMERA_GROUP_ID='" + cgid + "' ; ");
|
|
|
|
if (arr.Count > 0)
|
|
{
|
|
for (int i = 0; i < arr.Count; i++)
|
|
{
|
|
listSql.Add(" INSERT into tbl_camera_group_link (ID,CAMERA_ID,CAMERA_GROUP_ID) VALUES ('" + Guid.NewGuid().ToString("N") + "','" + arr[i] + "','" + cgid + "') ");
|
|
}
|
|
}
|
|
|
|
|
|
var bol = FangYar.Common.MySqlHelper.ExecuteSqlTran(listSql);
|
|
if (bol)
|
|
{
|
|
msg = "保存成功!";
|
|
code = 1;
|
|
}
|
|
else
|
|
{
|
|
msg = "保存失败!";
|
|
}
|
|
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "摄像头分组操作请求", "保存摄像头分组信息异常:" + e);
|
|
}
|
|
// 记录操作日志
|
|
BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Query, "摄像头分组操作请求", "保存摄像头分组信息");
|
|
returnstr = "{\"code\":" + code + ",\"msg\":\"" + msg + "\"}";
|
|
return returnstr;
|
|
}
|
|
|
|
public bool IsReusable
|
|
{
|
|
get
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|