699 lines
34 KiB
C#
699 lines
34 KiB
C#
using Newtonsoft.Json;
|
||
using System;
|
||
using System.Linq;
|
||
using System.ServiceProcess;
|
||
using System.Text;
|
||
using HslCommunication.MQTT;
|
||
using HslCommunication;
|
||
using DataServer.api;
|
||
using System.Collections.Generic;
|
||
using System.Runtime.Remoting.Channels;
|
||
|
||
namespace Security
|
||
{
|
||
partial class ServiceSecurity : ServiceBase
|
||
{
|
||
static log4net.ILog log;
|
||
|
||
//static DataService.BLL.vis_fire_ip bll_ip=new DataService.BLL.vis_fire_ip();
|
||
|
||
static MqttClient mqtt_client;
|
||
static MqttClient mqtt_client2;
|
||
//static DataServer.BLL.device_data bll = new DataServer.BLL.device_data();
|
||
static DataServer.BLL.electricity_data bll = new DataServer.BLL.electricity_data();
|
||
public ServiceSecurity()
|
||
{
|
||
InitializeComponent();
|
||
}
|
||
|
||
public void DebugOnStart(string[] args)
|
||
{
|
||
OnStart(args);
|
||
}
|
||
|
||
protected override void OnStart(string[] args)
|
||
{
|
||
|
||
// TODO: 在此处添加代码以启动服务。
|
||
log4net.Config.XmlConfigurator.Configure();
|
||
log = log4net.LogManager.GetLogger("loginfo");
|
||
log.Info("服务开始");
|
||
// 授权示例 调用一次即可 call only once
|
||
if (!HslCommunication.Authorization.SetAuthorizationCode("4772a1a2-72cf-4fcb-9a8e-9cbdd5984253"))
|
||
{
|
||
return;
|
||
}
|
||
|
||
MqttConnectionOptions options = new MqttConnectionOptions()
|
||
{
|
||
//IpAddress = "192.168.9.20",
|
||
IpAddress = "111.229.30.246",
|
||
Port = 1883,
|
||
ClientId = "Service-" + Guid.NewGuid().ToString("N"),
|
||
};
|
||
options.Credentials = new MqttCredential("dev", "12345");
|
||
mqtt_client = new MqttClient(options);
|
||
log.Info("开始");
|
||
// 接收到数据的时候进行触发
|
||
mqtt_client.OnMqttMessageReceived += Client_OnMqttMessageReceived;
|
||
// 订阅服务器的主题,在连接成功后就去订阅
|
||
mqtt_client.OnClientConnected += m =>
|
||
{
|
||
Console.WriteLine("连接成功");
|
||
//m.SubscribeMessage("/sys/iot/#");
|
||
m.SubscribeMessage("data");
|
||
};
|
||
mqtt_client.OnNetworkError += MqttClient_OnNetworkError; // 自己来控制异常及重连的操作
|
||
OperateResult result3 = mqtt_client.ConnectServer();
|
||
if (result3.IsSuccess)
|
||
{
|
||
log.Info("连接成功");
|
||
}
|
||
else
|
||
{
|
||
log.Info("连接失败");
|
||
}
|
||
// TODO: 在此处添加代码以启动服务。
|
||
log4net.Config.XmlConfigurator.Configure();
|
||
log = log4net.LogManager.GetLogger("loginfo");
|
||
log.Info("服务开始");
|
||
// 授权示例 调用一次即可 call only once
|
||
if (!HslCommunication.Authorization.SetAuthorizationCode("4772a1a2-72cf-4fcb-9a8e-9cbdd5984253"))
|
||
{
|
||
return;
|
||
}
|
||
MqttConnectionOptions options2 = new MqttConnectionOptions()
|
||
{
|
||
IpAddress = "127.0.0.1",
|
||
Port = 1883,
|
||
ClientId = "Service-" + Guid.NewGuid().ToString("N"),
|
||
};
|
||
options.Credentials = new MqttCredential("admin", "123456");
|
||
mqtt_client2 = new MqttClient(options2);
|
||
// 接收到数据的时候进行触发
|
||
mqtt_client2.OnMqttMessageReceived += Client_OnMqttMessageReceived;
|
||
// 订阅服务器的主题,在连接成功后就去订阅
|
||
mqtt_client2.OnClientConnected += m =>
|
||
{
|
||
Console.WriteLine("连接成功");
|
||
m.SubscribeMessage("data");
|
||
};
|
||
mqtt_client2.OnNetworkError += MqttClient2_OnNetworkError; // 自己来控制异常及重连的操作
|
||
OperateResult result = mqtt_client2.ConnectServer();
|
||
if (result.IsSuccess)
|
||
{
|
||
log.Info("发布连接成功");
|
||
}
|
||
else
|
||
{
|
||
log.Info("发布连接失败");
|
||
}
|
||
}
|
||
|
||
private static void MqttClient_OnNetworkError(object sender, EventArgs e)
|
||
{
|
||
try
|
||
{
|
||
// 当网络异常的时候触发,可以在此处重连服务器
|
||
if (sender is MqttClient client)
|
||
{
|
||
// 开始重连服务器,直到连接成功为止
|
||
log.Info("网络异常,准备10秒后重新连接。");
|
||
while (true)
|
||
{
|
||
// 每隔10秒重连
|
||
System.Threading.Thread.Sleep(10_000);
|
||
log.Info("准备重新连接服务器...");
|
||
|
||
// 重连之前需要判断是否关闭了Client,自己重写的异常需要自己手动处理
|
||
OperateResult connect = client.ConnectServer();
|
||
if (connect.IsSuccess)
|
||
{
|
||
// 连接成功后,可以在下方break之前进行订阅,或是数据初始化操作
|
||
log.Info("连接服务器成功!");
|
||
client.SubscribeMessage("/sys/iot/#");
|
||
break;
|
||
}
|
||
log.Info("连接失败,准备10秒后重新连接。");
|
||
}
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
log.Info("重连MQTT失败,失败原因:" + ex.Message);
|
||
}
|
||
}
|
||
|
||
private static void MqttClient2_OnNetworkError(object sender, EventArgs e)
|
||
{
|
||
try
|
||
{
|
||
// 当网络异常的时候触发,可以在此处重连服务器
|
||
if (sender is MqttClient client)
|
||
{
|
||
// 开始重连服务器,直到连接成功为止
|
||
log.Info("网络异常,准备10秒后重新连接。");
|
||
while (true)
|
||
{
|
||
// 每隔10秒重连
|
||
System.Threading.Thread.Sleep(10_000);
|
||
log.Info("准备重新连接服务器...");
|
||
|
||
// 重连之前需要判断是否关闭了Client,自己重写的异常需要自己手动处理
|
||
OperateResult connect = client.ConnectServer();
|
||
if (connect.IsSuccess)
|
||
{
|
||
// 连接成功后,可以在下方break之前进行订阅,或是数据初始化操作
|
||
log.Info("连接服务器成功!");
|
||
break;
|
||
}
|
||
log.Info("连接失败,准备10秒后重新连接。");
|
||
}
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
log.Info("重连MQTT失败,失败原因:" + ex.Message);
|
||
}
|
||
}
|
||
|
||
private static void Client_OnMqttMessageReceived(MqttClient client, string topic, byte[] payload)
|
||
{
|
||
log.Info("进入方法");
|
||
|
||
var msg = Encoding.UTF8.GetString(payload);
|
||
try
|
||
{
|
||
|
||
if (topic.Contains("data"))
|
||
{
|
||
var date = DateTime.Now.ToString("yyyyMM");
|
||
var a = bll.IsExistsTable("dongying", "electricity_data_"+date);
|
||
if (a == false)
|
||
{
|
||
bll.CreateTable(date);
|
||
}
|
||
var data = JsonConvert.DeserializeObject<DataServer.api.get_abutment>(msg);
|
||
log.Info("数据1data" + msg);
|
||
if (data.devs != null)
|
||
{
|
||
var model = new DataServer.Model.electricity_data();
|
||
foreach (var item in data.devs)
|
||
{
|
||
model.ElectricityId=Guid.NewGuid().ToString("N");
|
||
model.DeviceId =item.dev;
|
||
//var name=GetDeviceName(item.dev);
|
||
//var name1=GetFloorName(item.dev);
|
||
//model.DeviceName = name;
|
||
//model.FloorName = name1;
|
||
foreach (var aitem in item.d)
|
||
{
|
||
#region 数据添加
|
||
if (aitem.m == "01040005")
|
||
{
|
||
model.EH = aitem.v;
|
||
}
|
||
if (aitem.m == "01010001")
|
||
{
|
||
model.Ua = aitem.v;
|
||
}
|
||
if (aitem.m == "01010002")
|
||
{
|
||
model.Ub = aitem.v;
|
||
}
|
||
if (aitem.m == "01010003")
|
||
{
|
||
model.Uc = aitem.v;
|
||
}
|
||
if (aitem.m == "01020001")
|
||
{
|
||
model.Ia = aitem.v;
|
||
}
|
||
if (aitem.m == "01020002")
|
||
{
|
||
model.Ib = aitem.v;
|
||
}
|
||
if (aitem.m == "01020003")
|
||
{
|
||
model.Ic = aitem.v;
|
||
}
|
||
if (aitem.m == "01030004")
|
||
{
|
||
model.P = aitem.v;
|
||
}
|
||
if (aitem.m == "01030012")
|
||
{
|
||
model.Kvar = aitem.v;
|
||
}
|
||
#endregion
|
||
|
||
}
|
||
model.CreateTime= DateTime.Now;
|
||
model.EntireTime =Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:00:00"));
|
||
bll.AddDate(model,date);
|
||
}
|
||
}
|
||
|
||
|
||
}
|
||
else if (topic.Contains("/a16cf30SpyL/device_VyCe/user/update/cmd/set"))
|
||
{
|
||
var data = JsonConvert.DeserializeObject<DataServer.api.get_information>(msg);
|
||
log.Info("数据2data" + msg);
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
log.Info("处理失败,数据:" + msg + ",原因:" + ex.Message);
|
||
}
|
||
}
|
||
|
||
protected override void OnStop()
|
||
{
|
||
// TODO: 在此处添加代码以执行停止服务所需的关闭操作。
|
||
}
|
||
|
||
/// <summary>
|
||
/// 时间戳转换为DATETIME格式
|
||
/// </summary>
|
||
/// <param name="timeStamp">时间戳字符串</param>
|
||
/// <returns></returns>
|
||
public static DateTime GetDateTime(string timeStamp)
|
||
{
|
||
DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
|
||
string ts = timeStamp + "0000000";
|
||
if (timeStamp.Length == 13)
|
||
{
|
||
ts = timeStamp + "0000";
|
||
}
|
||
long lTime = long.Parse(ts);
|
||
TimeSpan toNow = new TimeSpan(lTime);
|
||
return dtStart.Add(toNow);
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取设备名称
|
||
/// </summary>
|
||
/// <param name="code"></param>
|
||
/// <returns></returns>
|
||
public static string GetDeviceName(string code)
|
||
{
|
||
var list = new Dictionary<string, string>();
|
||
list.Add("370510043001", "3#总进线");
|
||
list.Add("370510043002", "B1照明");
|
||
list.Add("370510043003", "A-(1-4)AL1 科技馆一楼北配电照明");
|
||
list.Add("370510043004", "A-(1-4)AL2 科技馆一楼南配电照明");
|
||
list.Add("370510043005", "A-1/4AL1-LM 科技馆一楼1#北楼顶莲花");
|
||
list.Add("370510043006", "A-1/4AL2-LM 科技馆一楼楼顶莲花");
|
||
list.Add("370510043007", "A-2AL1-Z2");
|
||
list.Add("370510043008", "A-2AL1-Z1");
|
||
list.Add("370510043009", "A-4AL1-Z1");
|
||
list.Add("370510043010", "A-3AL1-Z2");
|
||
list.Add("370510043011", "A-3AL1-Z1");
|
||
list.Add("370510043012", "2#临展厅预留电源1F");
|
||
list.Add("370510043013", "B区1F照明");
|
||
list.Add("370510043014", "A-1AP1-1 特效");
|
||
list.Add("370510043015", "A-B1AC2 负一楼风机");
|
||
list.Add("370510043016", "4F-1#展厅 禁毒展厅");
|
||
list.Add("370510043017", "A-4AP1-1");
|
||
list.Add("370510043018", "A-1APE1-1 变电所");
|
||
list.Add("370510043019", "A-B1ALE2");
|
||
list.Add("370510043020", "A-B1ALE1-1");
|
||
list.Add("370510043021", "A-(1-4)ALE1 应急照明");
|
||
list.Add("370510043022", "A-3AL1-Z2");
|
||
list.Add("370510043023", "A-1APE5");
|
||
list.Add("370510043024", "A-1APE3");
|
||
list.Add("370510043025", "A-1APE1 风机");
|
||
list.Add("370510043026", "A-1APE4");
|
||
list.Add("370510043027", "A-1APE2");
|
||
list.Add("370510043028", "A-1APE2、A-2APE2、A-3APE2");
|
||
list.Add("370510043029", "A单体LM(巨)");
|
||
list.Add("370510043030", "A-5DT1");
|
||
list.Add("370510043031", "A-5DT2");
|
||
list.Add("370510043032", "中水电源");
|
||
list.Add("370510043033", "S-B1APE1、S-B1APE2 A区");
|
||
list.Add("370510043034", "S-(XF)B1APE1");
|
||
list.Add("370510043035", "A区1F2#电房");
|
||
list.Add("370510043036", "A-(1F-4F) 科技馆热水器1-4");
|
||
list.Add("370510043037", "A-N(XF)-5APE3 备用");
|
||
list.Add("370510043038", "A-S(XF)-BAPE1");
|
||
list.Add("370510043039", "应急照明");
|
||
list.Add("370510043040", "A-1ALE3-2 巨幕");
|
||
list.Add("370510043041", "A-N(XF)-2APE3、A-N(XF)-1APE3 巨幕");
|
||
list.Add("370510043042", "A-N(XF)B1APE 1、2、3");
|
||
list.Add("370510043043", "B-(XF)-AP 儿童剧场消防备电");
|
||
list.Add("370510043044", "A-S(XF)-5APE1 常用");
|
||
list.Add("370510043045", "B-N(XF)-6APE2");
|
||
list.Add("370510043046", "A-N(XF)-5APE1 常用");
|
||
list.Add("370510043047", "B-N(XF)6APE1 ");
|
||
list.Add("370510043048", "B-S(XF)1APE1 5*10");
|
||
list.Add("370510043049", "货梯6F");
|
||
list.Add("370510043050", "A-(1-4)ALE2 2号大厅");
|
||
list.Add("370510043051", "A-(1-4)ALE1");
|
||
list.Add("370510043052", "A-B1ALE2");
|
||
list.Add("370510043053", "A-B1ALE2");
|
||
list.Add("370510043054", "A-1APE-1变电柜");
|
||
list.Add("370510043055", "A-1APE2");
|
||
list.Add("370510043056", "手机覆盖机有线电视机房预留电源B1");
|
||
list.Add("370510043057", "A-1APE1");
|
||
list.Add("370510043058", "A-1APE3");
|
||
list.Add("370510043059", "电话机房预留电源B1");
|
||
list.Add("370510043060", "1#5F货梯");
|
||
list.Add("370510043061", "A-5DT2");
|
||
list.Add("370510043062", "A-ZS中水电源");
|
||
list.Add("370510043063", "S-B1APE1 S-B1APE2 A区污电源");
|
||
list.Add("370510043064", "2#排水泵房(消防)");
|
||
list.Add("370510043065", "A-N(XF)-5APE3常用(楼顶东南角)");
|
||
list.Add("370510043066", "A-S(XF)-BAPE1");
|
||
list.Add("370510043067", "1##排烟及加压风机5F");
|
||
list.Add("370510043068", "A-N(XF)-B1APE (1.2.3)");
|
||
list.Add("370510043069", "A-N(XF)-5APE2 常用");
|
||
list.Add("370510043070", "A-N(XF)-5APE4 常用");
|
||
list.Add("370510043071", "B-1AL2-1");
|
||
list.Add("370510043072", "B-1AL2-2 儿童剧场");
|
||
list.Add("370510043073", "B-1AL2-3");
|
||
list.Add("370510043074", "B-1AL2-5");
|
||
list.Add("370510043075", "B-2AL2-1 B-2AL2-2 儿童剧场舞台设备灯");
|
||
list.Add("370510043076", "A-1AL-ZS");
|
||
list.Add("370510043077", "B-1AL2");
|
||
list.Add("370510043078", "B-1AC2");
|
||
list.Add("370510043079", "B-1ALE2 常用");
|
||
list.Add("370510043080", "B-N(XF)-6APE2");
|
||
list.Add("370510043081", "B-N(XF)-AL 儿童剧场落地箱");
|
||
list.Add("370510043082", "立面照明");
|
||
list.Add("370510043083", "B-5DT1");
|
||
list.Add("370510043084", "B-6AT1");
|
||
list.Add("370510043085", "B-S(XF)1APE1");
|
||
list.Add("370510043086", "B-N(XF)6APE1");
|
||
list.Add("370510043087", "B-1AT1-1");
|
||
list.Add("370510043088", "B-(1-6)AC1-1 少年宫2F风机");
|
||
list.Add("370510043089", "B-1/5AL1-LM 少年宫");
|
||
list.Add("370510043090", "B-(1-5)AL1 B2层");
|
||
list.Add("370510043091", "B-(1-5)ALE1");
|
||
list.Add("370510043092", "A-1AC3 巨幕影院");
|
||
list.Add("370510043093", "A-1AL3 A-2AL3 巨幕");
|
||
list.Add("370510043094", "A-1ALE3-LM巨幕");
|
||
list.Add("370510043095", "A-1ALE3-2 巨幕");
|
||
list.Add("370510043096", "区域报警控制器 预留电源");
|
||
list.Add("370510043097", "A-N(XF)1APE3 巨幕");
|
||
list.Add("370510043098", "A-1AL3-1 巨幕");
|
||
list.Add("370510043099", "A-(1-5)AC1 1号井科一北 空调及通风机(北)");
|
||
list.Add("370510043100", "空调及通风机(南)");
|
||
list.Add("370510043101", "AH1-14 及应急屏显");
|
||
list.Add("370510043102", "4#总进线");
|
||
list.Add("370510043103", "1#变配电所电源2至1#变电室进线柜AH4");
|
||
list.Add("370510043104", "2#总变配电所电源2科技馆一层4#变压器");
|
||
list.Add("370510043105", "3#变配电所电源2至3#变电室进线柜AH4");
|
||
list.Add("370510043106", "3#变配电所电源1至3#变电室进线柜AH1");
|
||
list.Add("370510043107", "2#总变配电所电源1科技馆一层3#变压器");
|
||
list.Add("370510043108", "1#变配电所电源1至1#变电室进线柜AH1");
|
||
list.Add("370510043109", "一号主机控制柜");
|
||
list.Add("370510043110", "二号主机控制柜");
|
||
list.Add("370510043111", "b1-地源侧循环泵1");
|
||
list.Add("370510043112", "b1-地源侧循环泵2");
|
||
list.Add("370510043113", "b1-地源侧循环泵3");
|
||
list.Add("370510043114", "b1-地源侧循环泵4");
|
||
list.Add("370510043115", "B1一次循环3号泵");
|
||
list.Add("370510043116", "B1一次循环1号泵");
|
||
list.Add("370510043117", "B1一次循环4号泵");
|
||
list.Add("370510043118", "B1一次循环2号泵");
|
||
list.Add("370510043119", "B5二次循环9号泵");
|
||
list.Add("370510043120", "B5二次循环10号泵");
|
||
list.Add("370510043121", "B5二次循环5号泵");
|
||
list.Add("370510043122", "B5二次循环8号泵");
|
||
list.Add("370510043123", "B5二次循环7号泵");
|
||
list.Add("370510043124", "B5二次循环6号泵");
|
||
list.Add("370510043125", "四号主机控制柜");
|
||
list.Add("370510043126", "三号主机控制柜");
|
||
list.Add("370510043127", "5#总进线");
|
||
list.Add("370510043128", "正常照明及其他2F-5F");
|
||
list.Add("370510043129", "1#1AL.1-2AL.正常照明及其他1F-2F");
|
||
list.Add("370510043130", "正常照明及其他3F-5F");
|
||
list.Add("370510043131", "2#正常照明及其他1F-2F");
|
||
list.Add("370510043132", "1#立面照明1F-5F");
|
||
list.Add("370510043133", "变配电所照明");
|
||
list.Add("370510043134", "应急照明1F-5楼下");
|
||
list.Add("370510043135", "2#应急照明1F5F");
|
||
list.Add("370510043136", "排烟机及加压风机6F");
|
||
list.Add("370510043137", "1#排烟机6F");
|
||
list.Add("370510043138", "1#排烟机及加压风机6F");
|
||
list.Add("370510043139", "排烟机及加压风机6F");
|
||
list.Add("370510043140", "2#补风机");
|
||
list.Add("370510043141", "2#事故排风机1F");
|
||
list.Add("370510043142", "C-N(XF)-2APE1单体二层备用");
|
||
list.Add("370510043143", "应急照明1F");
|
||
list.Add("370510043144", "2#应急照明1F");
|
||
list.Add("370510043145", "1#电梯(消防)6F");
|
||
list.Add("370510043146", "网络机房预留电源");
|
||
list.Add("370510043147", "消防控制中心1F");
|
||
list.Add("370510043148", "手机覆盖机有线电视预留电源1F");
|
||
list.Add("370510043149", "安装预留电源");
|
||
list.Add("370510043150", "1号货梯6F");
|
||
list.Add("370510043151", "电话机房预留电源1F");
|
||
list.Add("370510043152", "1#排水泵(消防)1F");
|
||
list.Add("370510043153", "6#总进线");
|
||
list.Add("370510043154", "1#空调及通风机");
|
||
list.Add("370510043155", "2#空调及通风机B1 5F");
|
||
list.Add("370510043156", "变配电所通风机");
|
||
list.Add("370510043157", "电话机房预留电源1F");
|
||
list.Add("370510043158", "网络机房预留电源1F");
|
||
list.Add("370510043159", "消防控制中心1F");
|
||
list.Add("370510043160", "手机覆盖机有线电视预留电源1F");
|
||
list.Add("370510043161", "安防预留电源1F");
|
||
list.Add("370510043162", "1#货梯 6F");
|
||
list.Add("370510043163", "1#电梯(兼消防) 6F");
|
||
list.Add("370510043164", "1#排水泵(消防) 1F");
|
||
list.Add("370510043165", "2#排烟风机及加压风机6F");
|
||
list.Add("370510043166", "2#排烟风机及加压风机6F");
|
||
list.Add("370510043167", "2#补风机1F");
|
||
list.Add("370510043168", "2#事故排风机1F");
|
||
list.Add("370510043169", "学术报告厅电源");
|
||
list.Add("370510043170", "应急照明");
|
||
list.Add("370510043171", "外围高杆灯亭");
|
||
list.Add("370510043172", "2#正常照明及其他");
|
||
list.Add("370510043173", "2#正常照明及其他");
|
||
list.Add("370510043174", "D-1AC1 1#空调及通风机1F");
|
||
list.Add("370510043175", "2#井空调及通风机1F");
|
||
list.Add("370510043176", "学术报告厅2楼空调风机房");
|
||
list.Add("370510043177", "青少年宫118消防");
|
||
list.Add("370510043178", "D-1ALE2 2#应急照明1F");
|
||
list.Add("370510043179", "变电所应急照明1F");
|
||
list.Add("370510043180", "1#应急照明1F-5F");
|
||
list.Add("370510043181", "2#应急照明1F-5F");
|
||
list.Add("370510043182", "1#排烟机及加压风机6F");
|
||
list.Add("370510043183", "C-N(XF)-6APE2 1#排烟机6F");
|
||
if (!list.ContainsKey(code))
|
||
{
|
||
return "未知";
|
||
}
|
||
return list[code];
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取设备名称
|
||
/// </summary>
|
||
/// <param name="code"></param>
|
||
/// <returns></returns>
|
||
public static string GetFloorName(string code)
|
||
{
|
||
Dictionary<string, string> list = new Dictionary<string, string>();
|
||
list.Add("370510043001", "科技馆一楼");
|
||
list.Add("370510043002", "科技馆一楼");
|
||
list.Add("370510043003", "科技馆一楼");
|
||
list.Add("370510043004", "科技馆一楼");
|
||
list.Add("370510043005", "科技馆一楼");
|
||
list.Add("370510043006", "科技馆一楼");
|
||
list.Add("370510043007", "科技馆一楼");
|
||
list.Add("370510043008", "科技馆一楼");
|
||
list.Add("370510043009", "科技馆一楼");
|
||
list.Add("370510043010", "科技馆一楼");
|
||
list.Add("370510043011", "科技馆一楼");
|
||
list.Add("370510043012", "科技馆一楼");
|
||
list.Add("370510043013", "科技馆一楼");
|
||
list.Add("370510043014", "科技馆一楼");
|
||
list.Add("370510043015", "科技馆一楼");
|
||
list.Add("370510043016", "科技馆一楼");
|
||
list.Add("370510043017", "科技馆一楼");
|
||
list.Add("370510043018", "科技馆一楼");
|
||
list.Add("370510043019", "科技馆一楼");
|
||
list.Add("370510043020", "科技馆一楼");
|
||
list.Add("370510043021", "科技馆一楼");
|
||
list.Add("370510043022", "科技馆一楼");
|
||
list.Add("370510043023", "科技馆一楼");
|
||
list.Add("370510043024", "科技馆一楼");
|
||
list.Add("370510043025", "科技馆一楼");
|
||
list.Add("370510043026", "科技馆一楼");
|
||
list.Add("370510043027", "科技馆一楼");
|
||
list.Add("370510043028", "科技馆一楼");
|
||
list.Add("370510043029", "科技馆一楼");
|
||
list.Add("370510043030", "科技馆一楼");
|
||
list.Add("370510043031", "科技馆一楼");
|
||
list.Add("370510043032", "科技馆一楼");
|
||
list.Add("370510043033", "科技馆一楼");
|
||
list.Add("370510043034", "科技馆一楼");
|
||
list.Add("370510043035", "科技馆一楼");
|
||
list.Add("370510043036", "科技馆一楼");
|
||
list.Add("370510043037", "科技馆一楼");
|
||
list.Add("370510043038", "科技馆一楼");
|
||
list.Add("370510043039", "科技馆一楼");
|
||
list.Add("370510043040", "科技馆一楼");
|
||
list.Add("370510043041", "科技馆一楼");
|
||
list.Add("370510043042", "科技馆一楼");
|
||
list.Add("370510043043", "科技馆一楼");
|
||
list.Add("370510043044", "科技馆一楼");
|
||
list.Add("370510043045", "科技馆一楼");
|
||
list.Add("370510043046", "科技馆一楼");
|
||
list.Add("370510043047", "科技馆一楼");
|
||
list.Add("370510043048", "科技馆一楼");
|
||
list.Add("370510043049", "科技馆一楼");
|
||
list.Add("370510043050", "科技馆一楼");
|
||
list.Add("370510043051", "科技馆一楼");
|
||
list.Add("370510043052", "科技馆一楼");
|
||
list.Add("370510043053", "科技馆一楼");
|
||
list.Add("370510043054", "科技馆一楼");
|
||
list.Add("370510043055", "科技馆一楼");
|
||
list.Add("370510043056", "科技馆一楼");
|
||
list.Add("370510043057", "科技馆一楼");
|
||
list.Add("370510043058", "科技馆一楼");
|
||
list.Add("370510043059", "科技馆一楼");
|
||
list.Add("370510043060", "科技馆一楼");
|
||
list.Add("370510043061", "科技馆一楼");
|
||
list.Add("370510043062", "科技馆一楼");
|
||
list.Add("370510043063", "科技馆一楼");
|
||
list.Add("370510043064", "科技馆一楼");
|
||
list.Add("370510043065", "科技馆一楼");
|
||
list.Add("370510043066", "科技馆一楼");
|
||
list.Add("370510043067", "科技馆一楼");
|
||
list.Add("370510043068", "科技馆一楼");
|
||
list.Add("370510043069", "科技馆一楼");
|
||
list.Add("370510043070", "科技馆一楼");
|
||
list.Add("370510043071", "科技馆一楼");
|
||
list.Add("370510043072", "科技馆一楼");
|
||
list.Add("370510043073", "科技馆一楼");
|
||
list.Add("370510043074", "科技馆一楼");
|
||
list.Add("370510043075", "科技馆一楼");
|
||
list.Add("370510043076", "科技馆一楼");
|
||
list.Add("370510043077", "科技馆一楼");
|
||
list.Add("370510043078", "科技馆一楼");
|
||
list.Add("370510043079", "科技馆一楼");
|
||
list.Add("370510043080", "科技馆一楼");
|
||
list.Add("370510043081", "科技馆一楼");
|
||
list.Add("370510043082", "科技馆一楼");
|
||
list.Add("370510043083", "科技馆一楼");
|
||
list.Add("370510043084", "科技馆一楼");
|
||
list.Add("370510043085", "科技馆一楼");
|
||
list.Add("370510043086", "科技馆一楼");
|
||
list.Add("370510043087", "科技馆一楼");
|
||
list.Add("370510043088", "科技馆一楼");
|
||
list.Add("370510043089", "科技馆一楼");
|
||
list.Add("370510043090", "科技馆一楼");
|
||
list.Add("370510043091", "科技馆一楼");
|
||
list.Add("370510043092", "科技馆一楼");
|
||
list.Add("370510043093", "科技馆一楼");
|
||
list.Add("370510043094", "科技馆一楼");
|
||
list.Add("370510043095", "科技馆一楼");
|
||
list.Add("370510043096", "科技馆一楼");
|
||
list.Add("370510043097", "科技馆一楼");
|
||
list.Add("370510043098", "科技馆一楼");
|
||
list.Add("370510043099", "科技馆一楼");
|
||
list.Add("370510043100", "科技馆一楼");
|
||
list.Add("370510043101", "科技馆一楼");
|
||
list.Add("370510043102", "科技馆一楼");
|
||
list.Add("370510043103", "科技馆一楼");
|
||
list.Add("370510043104", "科技馆一楼");
|
||
list.Add("370510043105", "科技馆一楼");
|
||
list.Add("370510043106", "科技馆一楼");
|
||
list.Add("370510043107", "科技馆一楼");
|
||
list.Add("370510043108", "科技馆一楼");
|
||
list.Add("370510043109", "科技馆负一楼地源热泵");
|
||
list.Add("370510043110", "科技馆负一楼地源热泵");
|
||
list.Add("370510043111", "科技馆负一楼地源热泵");
|
||
list.Add("370510043112", "科技馆负一楼地源热泵");
|
||
list.Add("370510043113", "科技馆负一楼地源热泵");
|
||
list.Add("370510043114", "科技馆负一楼地源热泵");
|
||
list.Add("370510043115", "科技馆负一楼地源热泵");
|
||
list.Add("370510043116", "科技馆负一楼地源热泵");
|
||
list.Add("370510043117", "科技馆负一楼地源热泵");
|
||
list.Add("370510043118", "科技馆负一楼地源热泵");
|
||
list.Add("370510043119", "科技馆负一楼地源热泵");
|
||
list.Add("370510043120", "科技馆负一楼地源热泵");
|
||
list.Add("370510043121", "科技馆负一楼地源热泵");
|
||
list.Add("370510043122", "科技馆负一楼地源热泵");
|
||
list.Add("370510043123", "科技馆负一楼地源热泵");
|
||
list.Add("370510043124", "科技馆负一楼地源热泵");
|
||
list.Add("370510043125", "科技馆负一楼地源热泵");
|
||
list.Add("370510043126", "科技馆负一楼地源热泵");
|
||
list.Add("370510043127", "图书馆一楼");
|
||
list.Add("370510043128", "图书馆一楼");
|
||
list.Add("370510043129", "图书馆一楼");
|
||
list.Add("370510043130", "图书馆一楼");
|
||
list.Add("370510043131", "图书馆一楼");
|
||
list.Add("370510043132", "图书馆一楼");
|
||
list.Add("370510043133", "图书馆一楼");
|
||
list.Add("370510043134", "图书馆一楼");
|
||
list.Add("370510043135", "图书馆一楼");
|
||
list.Add("370510043136", "图书馆一楼");
|
||
list.Add("370510043137", "图书馆一楼");
|
||
list.Add("370510043138", "图书馆一楼");
|
||
list.Add("370510043139", "图书馆一楼");
|
||
list.Add("370510043140", "图书馆一楼");
|
||
list.Add("370510043141", "图书馆一楼");
|
||
list.Add("370510043142", "图书馆一楼");
|
||
list.Add("370510043143", "图书馆一楼");
|
||
list.Add("370510043144", "图书馆一楼");
|
||
list.Add("370510043145", "图书馆一楼");
|
||
list.Add("370510043146", "图书馆一楼");
|
||
list.Add("370510043147", "图书馆一楼");
|
||
list.Add("370510043148", "图书馆一楼");
|
||
list.Add("370510043149", "图书馆一楼");
|
||
list.Add("370510043150", "图书馆一楼");
|
||
list.Add("370510043151", "图书馆一楼");
|
||
list.Add("370510043152", "图书馆一楼");
|
||
list.Add("370510043153", "图书馆一楼");
|
||
list.Add("370510043154", "图书馆一楼");
|
||
list.Add("370510043155", "图书馆一楼");
|
||
list.Add("370510043156", "图书馆一楼");
|
||
list.Add("370510043157", "图书馆一楼");
|
||
list.Add("370510043158", "图书馆一楼");
|
||
list.Add("370510043159", "图书馆一楼");
|
||
list.Add("370510043160", "图书馆一楼");
|
||
list.Add("370510043161", "图书馆一楼");
|
||
list.Add("370510043162", "图书馆一楼");
|
||
list.Add("370510043163", "图书馆一楼");
|
||
list.Add("370510043164", "图书馆一楼");
|
||
list.Add("370510043165", "图书馆一楼");
|
||
list.Add("370510043166", "图书馆一楼");
|
||
list.Add("370510043167", "图书馆一楼");
|
||
list.Add("370510043168", "图书馆一楼");
|
||
list.Add("370510043169", "图书馆一楼");
|
||
list.Add("370510043170", "图书馆一楼");
|
||
list.Add("370510043171", "图书馆一楼");
|
||
list.Add("370510043172", "图书馆一楼");
|
||
list.Add("370510043173", "图书馆一楼");
|
||
list.Add("370510043174", "图书馆一楼");
|
||
list.Add("370510043175", "图书馆一楼");
|
||
list.Add("370510043176", "图书馆一楼");
|
||
list.Add("370510043177", "图书馆一楼");
|
||
list.Add("370510043178", "图书馆一楼");
|
||
list.Add("370510043179", "图书馆一楼");
|
||
list.Add("370510043180", "图书馆一楼");
|
||
list.Add("370510043181", "图书馆一楼");
|
||
list.Add("370510043182", "图书馆一楼");
|
||
list.Add("370510043183", "图书馆一楼");
|
||
if (!list.ContainsKey(code))
|
||
{
|
||
return "未知";
|
||
}
|
||
return list[code];
|
||
}
|
||
|
||
|
||
|
||
}
|
||
public class IdName
|
||
{
|
||
public string Id { get; set; }
|
||
public string Name { get; set; }
|
||
}
|
||
}
|