using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Collections;
using RemoteObjects;
using UPPLibs;
using EMS.Lib;
using System.Threading;
using System.Globalization;
using Entity;
namespace CommService
{
/*
*结构名称:struAutoTrans
*创建人:韩荣伟
*创建时间:2010-10-30
*功能描述:保存电力对象的解析数据
*/
struct struAutoTrans
{
//A相电流
public string IA;
//B相电流
public string IB;
//C相电流
public string IC;
//A相电压
public string UA;
//B相电压
public string UB;
//C相电压
public string UC;
//功率因数
public string GP;
//正向有功总
public string YGZ;
//采集时间
public string TTime;
//终端编号
public string TID;
//仪表编号
public int MID;
//尖峰
public string JF;
//峰
public string F;
//平
public string P;
//谷
public string G;
//正向无功
public string ZXWG;
public string monitorID;
}
/*
*结构名称: struTempTrans
*创建人:姜志浩
*创建时间:2018-04-16
*功能描述:保存温湿度对象的解析数据
*/
struct struTempTrans
{
public string monitorID;
public string illuminance;
public string noise;
public string concentration;
///
/// 温度
///
public string TEM;
///
/// 湿度
///
public string HUM;
///
/// 采集时间
///
public string TTime;
///
/// 终端编号
///
public string TID;
///
/// 仪表编号
///
public int MID;
}
/*
*结构名称:struAlarmDataTrans
*创建人:韩荣伟
*创建时间:2010-10-30
*功能描述:保存告警消息的解析数据
*/
struct struAlarmDataTrans
{
public object objUserdata;
//采集时间
public string TTime;
//终端编号
public string TID;
//仪表编号
public int MID;
}
/*
*类名称:E_MeterParams
*创建人:韩荣伟
*创建时间:2010-10-30
*功能描述:保存电表PT,CT
*/
class E_MeterParams
{
public int nPT;
public int nCT;
}
/*
*结构名称:struSDataTrans
*创建人:韩荣伟
*创建时间:2010-10-30
*功能描述:保存蒸汽消息的解析数据
*/
struct struSDataTrans
{
public string monitorID;
//蒸汽仪表压力值
public string YL;
//蒸汽仪表温度值
public string WD;
//蒸汽仪表瞬时流量值
public string SSLL;
//蒸汽仪表累积流量值
public string LJLL;
//蒸汽仪表瞬时热量
public string SSRL;
//蒸汽仪表累积热量
public string LJRL;
//采集时间
public string TTime;
//终端编号
public string TID;
//仪表编号
public int MID;
//密度
public string MIDU;
//差压
public string CHAYA;
//频率
public string PL;
//停电次数
public string Num;
//听了多长时间电
public string Time;
}
/*
*类名称:MessageHandler
*创建人:韩荣伟
*创建时间:2010-10-30
*功能描述:消息分类处理类
*/
class MessageHandler
{
private TCPHandler tcpHandler = null;
private Hashtable htCollectPoint = null;
public static Hashtable htEParams;
private string connectString = Common.configReader.sConnectString;
private string SYEMS_ZDSqlMaskString = " INSERT INTO dbo.T_VibrationSensor_Data ( sensor_id ,collectTime ,speed,displacement,acceleration,temperature) values ( '{0}',{1},{2} ,{3},{4},{5}) ";
private string SYEMS_HWSqlMaskString = " INSERT INTO dbo.T_ArrayTemperatureData ( monitorId ,probeAddress ,collectTime ,maxTemperature,minTemperature,avgTemperature,Site1, Site2, Site3, Site4, Site5, Site6, Site7, Site8, Site9, Site10, Site11, Site12, Site13, Site14, Site15, Site16, Site17, Site18, Site19, Site20, Site21, Site22, Site23, Site24, Site25, Site26, Site27, Site28, Site29, Site30, Site31, Site32, Site33, Site34, Site35, Site36, Site37, Site38, Site39, Site40, Site41, Site42, Site43, Site44, Site45, Site46, Site47, Site48, Site49, Site50, Site51, Site52, Site53, Site54, Site55, Site56, Site57, Site58, Site59, Site60, Site61, Site62, Site63, Site64, Site65, Site66, Site67, Site68, Site69, Site70, Site71, Site72, Site73, Site74, Site75, Site76, Site77, Site78, Site79, Site80, Site81, Site82, Site83, Site84, Site85, Site86, Site87, Site88, Site89, Site90, Site91, Site92, Site93, Site94, Site95, Site96, Site97, Site98, Site99, Site100, Site101, Site102, Site103, Site104, Site105, Site106, Site107, Site108, Site109, Site110, Site111, Site112, Site113, Site114, Site115, Site116, Site117, Site118, Site119, Site120, Site121, Site122, Site123, Site124, Site125, Site126, Site127, Site128, Site129, Site130, Site131, Site132, Site133, Site134, Site135, Site136, Site137, Site138, Site139, Site140, Site141, Site142, Site143, Site144, Site145, Site146, Site147, Site148, Site149, Site150, Site151, Site152, Site153, Site154, Site155, Site156, Site157, Site158, Site159, Site160, Site161, Site162, Site163, Site164, Site165, Site166, Site167, Site168, Site169, Site170, Site171, Site172, Site173, Site174, Site175, Site176, Site177, Site178, Site179, Site180, Site181, Site182, Site183, Site184, Site185, Site186, Site187, Site188, Site189, Site190, Site191, Site192, Site193, Site194, Site195, Site196, Site197, Site198, Site199, Site200, Site201, Site202, Site203, Site204, Site205, Site206, Site207, Site208, Site209, Site210, Site211, Site212, Site213, Site214, Site215, Site216, Site217, Site218, Site219, Site220, Site221, Site222, Site223, Site224, Site225, Site226, Site227, Site228, Site229, Site230, Site231, Site232, Site233, Site234, Site235, Site236, Site237, Site238, Site239, Site240, Site241, Site242, Site243, Site244, Site245, Site246, Site247, Site248, Site249, Site250, Site251, Site252, Site253, Site254, Site255, Site256, Site257, Site258, Site259, Site260, Site261, Site262, Site263, Site264, Site265, Site266, Site267, Site268, Site269, Site270, Site271, Site272, Site273, Site274, Site275, Site276, Site277, Site278, Site279, Site280, Site281, Site282, Site283, Site284, Site285, Site286, Site287, Site288, Site289, Site290, Site291, Site292, Site293, Site294, Site295, Site296, Site297, Site298, Site299, Site300, Site301, Site302, Site303, Site304, Site305, Site306, Site307, Site308, Site309, Site310, Site311, Site312, Site313, Site314, Site315, Site316, Site317, Site318, Site319, Site320, Site321, Site322, Site323, Site324, Site325, Site326, Site327, Site328, Site329, Site330, Site331, Site332, Site333, Site334, Site335, Site336, Site337, Site338, Site339, Site340, Site341, Site342, Site343, Site344, Site345, Site346, Site347, Site348, Site349, Site350, Site351, Site352, Site353, Site354, Site355, Site356, Site357, Site358, Site359, Site360, Site361, Site362, Site363, Site364, Site365, Site366, Site367, Site368, Site369, Site370, Site371, Site372, Site373, Site374, Site375, Site376, Site377, Site378, Site379, Site380, Site381, Site382, Site383, Site384, Site385, Site386, Site387, Site388, Site389, Site390, Site391, Site392, Site393, Site394, Site395, Site396, Site397, Site398, Site399, Site400, Site401, Site402, Site403, Site404, Site405, Site406, Site407, Site408, Site409, Site410, Site411, Site412, Site413, Site414, Site415, Site416, Site417, Site418, Site419, Site420, Site421, Site422, Site423, Site424, Site425, Site426, Site427, Site428, Site429, Site430, Site431, Site432, Site433, Site434, Site435, Site436, Site437, Site438, Site439, Site440, Site441, Site442, Site443, Site444, Site445, Site446, Site447, Site448, Site449, Site450, Site451, Site452, Site453, Site454, Site455, Site456, Site457, Site458, Site459, Site460, Site461, Site462, Site463, Site464, Site465, Site466, Site467, Site468, Site469, Site470, Site471, Site472, Site473, Site474, Site475, Site476, Site477, Site478, Site479, Site480, Site481, Site482, Site483, Site484, Site485, Site486, Site487, Site488, Site489, Site490, Site491, Site492, Site493, Site494, Site495, Site496, Site497, Site498, Site499, Site500, Site501, Site502, Site503, Site504, Site505, Site506, Site507, Site508, Site509, Site510, Site511, Site512, Site513, Site514, Site515, Site516, Site517, Site518, Site519, Site520, Site521, Site522, Site523, Site524, Site525, Site526, Site527, Site528, Site529, Site530, Site531, Site532, Site533, Site534, Site535, Site536, Site537, Site538, Site539, Site540, Site541, Site542, Site543, Site544, Site545, Site546, Site547, Site548, Site549, Site550, Site551, Site552, Site553, Site554, Site555, Site556, Site557, Site558, Site559, Site560, Site561, Site562, Site563, Site564, Site565, Site566, Site567, Site568, Site569, Site570, Site571, Site572, Site573, Site574, Site575, Site576, Site577, Site578, Site579, Site580, Site581, Site582, Site583, Site584, Site585, Site586, Site587, Site588, Site589, Site590, Site591, Site592, Site593, Site594, Site595, Site596, Site597, Site598, Site599, Site600, Site601, Site602, Site603, Site604, Site605, Site606, Site607, Site608, Site609, Site610, Site611, Site612, Site613, Site614, Site615, Site616, Site617, Site618, Site619, Site620, Site621, Site622, Site623, Site624, Site625, Site626, Site627, Site628, Site629, Site630, Site631, Site632, Site633, Site634, Site635, Site636, Site637, Site638, Site639, Site640, Site641, Site642, Site643, Site644, Site645, Site646, Site647, Site648, Site649, Site650, Site651, Site652, Site653, Site654, Site655, Site656, Site657, Site658, Site659, Site660, Site661, Site662, Site663, Site664, Site665, Site666, Site667, Site668, Site669, Site670, Site671, Site672, Site673, Site674, Site675, Site676, Site677, Site678, Site679, Site680, Site681, Site682, Site683, Site684, Site685, Site686, Site687, Site688, Site689, Site690, Site691, Site692, Site693, Site694, Site695, Site696, Site697, Site698, Site699, Site700, Site701, Site702, Site703, Site704, Site705, Site706, Site707, Site708, Site709, Site710, Site711, Site712, Site713, Site714, Site715, Site716, Site717, Site718, Site719, Site720, Site721, Site722, Site723, Site724, Site725, Site726, Site727, Site728, Site729, Site730, Site731, Site732, Site733, Site734, Site735, Site736, Site737, Site738, Site739, Site740, Site741, Site742, Site743, Site744, Site745, Site746, Site747, Site748, Site749, Site750, Site751, Site752, Site753, Site754, Site755, Site756, Site757, Site758, Site759, Site760, Site761, Site762, Site763, Site764, Site765, Site766, Site767, Site768 ) values ( '{0}',{1},{2} ,{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15},{16},{17},{18},{19},{20},{21},{22},{23},{24},{25},{26},{27},{28},{29},{30},{31},{32},{33},{34},{35},{36},{37},{38},{39},{40},{41},{42},{43},{44},{45},{46},{47},{48},{49},{50},{51},{52},{53},{54},{55},{56},{57},{58},{59},{60},{61},{62},{63},{64},{65},{66},{67},{68},{69},{70},{71},{72},{73},{74},{75},{76},{77},{78},{79},{80},{81},{82},{83},{84},{85},{86},{87},{88},{89},{90},{91},{92},{93},{94},{95},{96},{97},{98},{99},{100},{101},{102},{103},{104},{105},{106},{107},{108},{109},{110},{111},{112},{113},{114},{115},{116},{117},{118},{119},{120},{121},{122},{123},{124},{125},{126},{127},{128},{129},{130},{131},{132},{133},{134},{135},{136},{137},{138},{139},{140},{141},{142},{143},{144},{145},{146},{147},{148},{149},{150},{151},{152},{153},{154},{155},{156},{157},{158},{159},{160},{161},{162},{163},{164},{165},{166},{167},{168},{169},{170},{171},{172},{173},{174},{175},{176},{177},{178},{179},{180},{181},{182},{183},{184},{185},{186},{187},{188},{189},{190},{191},{192},{193},{194},{195},{196},{197},{198},{199},{200},{201},{202},{203},{204},{205},{206},{207},{208},{209},{210},{211},{212},{213},{214},{215},{216},{217},{218},{219},{220},{221},{222},{223},{224},{225},{226},{227},{228},{229},{230},{231},{232},{233},{234},{235},{236},{237},{238},{239},{240},{241},{242},{243},{244},{245},{246},{247},{248},{249},{250},{251},{252},{253},{254},{255},{256},{257},{258},{259},{260},{261},{262},{263},{264},{265},{266},{267},{268},{269},{270},{271},{272},{273},{274},{275},{276},{277},{278},{279},{280},{281},{282},{283},{284},{285},{286},{287},{288},{289},{290},{291},{292},{293},{294},{295},{296},{297},{298},{299},{300},{301},{302},{303},{304},{305},{306},{307},{308},{309},{310},{311},{312},{313},{314},{315},{316},{317},{318},{319},{320},{321},{322},{323},{324},{325},{326},{327},{328},{329},{330},{331},{332},{333},{334},{335},{336},{337},{338},{339},{340},{341},{342},{343},{344},{345},{346},{347},{348},{349},{350},{351},{352},{353},{354},{355},{356},{357},{358},{359},{360},{361},{362},{363},{364},{365},{366},{367},{368},{369},{370},{371},{372},{373},{374},{375},{376},{377},{378},{379},{380},{381},{382},{383},{384},{385},{386},{387},{388},{389},{390},{391},{392},{393},{394},{395},{396},{397},{398},{399},{400},{401},{402},{403},{404},{405},{406},{407},{408},{409},{410},{411},{412},{413},{414},{415},{416},{417},{418},{419},{420},{421},{422},{423},{424},{425},{426},{427},{428},{429},{430},{431},{432},{433},{434},{435},{436},{437},{438},{439},{440},{441},{442},{443},{444},{445},{446},{447},{448},{449},{450},{451},{452},{453},{454},{455},{456},{457},{458},{459},{460},{461},{462},{463},{464},{465},{466},{467},{468},{469},{470},{471},{472},{473},{474},{475},{476},{477},{478},{479},{480},{481},{482},{483},{484},{485},{486},{487},{488},{489},{490},{491},{492},{493},{494},{495},{496},{497},{498},{499},{500},{501},{502},{503},{504},{505},{506},{507},{508},{509},{510},{511},{512},{513},{514},{515},{516},{517},{518},{519},{520},{521},{522},{523},{524},{525},{526},{527},{528},{529},{530},{531},{532},{533},{534},{535},{536},{537},{538},{539},{540},{541},{542},{543},{544},{545},{546},{547},{548},{549},{550},{551},{552},{553},{554},{555},{556},{557},{558},{559},{560},{561},{562},{563},{564},{565},{566},{567},{568},{569},{570},{571},{572},{573},{574},{575},{576},{577},{578},{579},{580},{581},{582},{583},{584},{585},{586},{587},{588},{589},{590},{591},{592},{593},{594},{595},{596},{597},{598},{599},{600},{601},{602},{603},{604},{605},{606},{607},{608},{609},{610},{611},{612},{613},{614},{615},{616},{617},{618},{619},{620},{621},{622},{623},{624},{625},{626},{627},{628},{629},{630},{631},{632},{633},{634},{635},{636},{637},{638},{639},{640},{641},{642},{643},{644},{645},{646},{647},{648},{649},{650},{651},{652},{653},{654},{655},{656},{657},{658},{659},{660},{661},{662},{663},{664},{665},{666},{667},{668},{669},{670},{671},{672},{673},{674},{675},{676},{677},{678},{679},{680},{681},{682},{683},{684},{685},{686},{687},{688},{689},{690},{691},{692},{693},{694},{695},{696},{697},{698},{699},{700},{701},{702},{703},{704},{705},{706},{707},{708},{709},{710},{711},{712},{713},{714},{715},{716},{717},{718},{719},{720},{721},{722},{723},{724},{725},{726},{727},{728},{729},{730},{731},{732},{733},{734},{735},{736},{737},{738},{739},{740},{741},{742},{743},{744},{745},{746},{747},{748},{749},{750},{751},{752},{753},{754},{755},{756},{757},{758},{759},{760},{761},{762},{763},{764},{765},{766},{767},{768},{769},{770},{771},{772},{773}) ";
private string XJEMS_THSqlMaskString = " INSERT INTO dbo.T_W_TempertureData ( monitorId ,collectTime ,tempreture,humidity,illuminance,noise,concentration ) values ( '{0}',{1},{2} ,{3},{4},{5},{6}) ";
private string sT_SQLMaskString = " exec dbo.P_Uploadterminal {0},{1},{2} ";
private string XJEMS_ESqlMaskString = " INSERT INTO dbo.T_DNB_Instant ( monitorId ,collectTime ,VA ,VB ,VC ,IA ,IB ,IC ,ZXYG ,GLYS ) VALUES ( '{0}',{1},{2} ,{3},{4},{5},{6},{7},{8} ,{9} )";
private string sE_SQLMaskString = " INSERT INTO dbo.T_DNB_Instant ( DnbID ,CJSJ ,VA ,VB ,VC ,IA ,IB ,IC ,ZXYG ,GLYS )SELECT MonitorID ,{0},{1},{2} ,{3},{4},{5},{6},{7},{8} FROM dbo.T_Monitor WHERE CollectDeviceID='{9}' AND MeterCommunicationID ='{10}';DELETE FROM dbo.T_E_Monitor_Instant WHERE DnbID=(SELECT TOP 1 MonitorID FROM dbo.T_Monitor WHERE CollectDeviceID='{9}' AND MeterCommunicationID='{10}') ;INSERT INTO dbo.T_E_Monitor_Instant ( DnbID ,CJSJ ,VA ,VB ,VC ,IA ,IB ,IC ,ZXYG ,GLYS )SELECT MonitorID ,{0},{1},{2} ,{3},{4},{5},{6},{7},{8} FROM dbo.T_Monitor WHERE CollectDeviceID='{9}' AND MeterCommunicationID ='{10}'";
private string sE_SQLMaskStringForPoint = " INSERT INTO dbo.T_E_PointData ( MonitorID ,CJSJ ,VA ,VB ,VC ,IA ,IB ,IC ,ZXYG ,GLYS )SELECT MonitorID ,{0},{1},{2} ,{3},{4},{5},{6},{7},{8} FROM dbo.T_Monitor WHERE CollectDeviceID='{9}' AND MeterCommunicationID ='{10}'";
private string sInsertAlarmDataSQLMask = " INSERT INTO dbo.T_Sys_AlarmData ( MonitorID ,AlarmType ,AlarmValue ,AlarmTime)SELECT MonitorID ,'{0}','{1}', '{2}' FROM dbo.T_Monitor WHERE CollectDeviceID='{3}' AND MeterCommunicationID ='{4}'";
private string XJEMS_SSqlMasjString = "INSERT INTO T_Steam_Data ( MonitorID ,collectTime ,FluxInstantValue ,FluxEyeableTotalValue ,HeatInstantValue ,HeatToftalValue ,Temperature,Press,Density,Frequency,PowerCutNum,PowerCutTime) VALUES ( '{0}','{1}',{2} ,{3},{4},{5},{6},{7},{8} ,{9},{10},{11})";
private string sS_SQLMaskString = " INSERT INTO dbo.T_Steam_Data ( MonitorID ,CollectDatetime ,FluxInstantValue ,FluxEyeableTotalValue ,HeatInstantValue ,HeatToftalValue ,Temperature,Press,Density,DifferencePress,Frequency,PowerCutNum,PowerCutTime)SELECT MonitorID ,'{0}','{1}','{2}' ,'{3}','{4}','{5}','{6}','{7}','{8}' ,{9},{10},{11}FROM dbo.T_Monitor WHERE CollectDeviceID='{12}' AND MeterCommunicationID ='{13}'";
private string sE_InsertSQLMaskString = " INSERT INTO dbo.T_E_AlarmValueSetting ([MonitorID] ,[ILL_Value] ,[IL_Value] ,[IH_Value] ,[IHH_Value] ,[VLL_Value] ,[VL_Value] ,[VH_Value] ,[VHH_Value]) SELECT MonitorID ,'{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}' FROM dbo.T_Monitor WHERE CollectDeviceID='{8}' AND MeterCommunicationID ='{9}'";
private string sE_UpdateSQLMaskString = "UPDATE [dbo].[T_E_AlarmValueSetting]SET [ILL_Value] = '{0}',[IL_Value] = '{1}',[IH_Value] = '{2}',[IHH_Value] = '{3}',[VLL_Value] = '{4}',[VL_Value] = '{5}',[VH_Value] = '{6}',[VHH_Value] = '{7}' FROM (SELECT MonitorID FROM dbo.T_Monitor WHERE CollectDeviceID='{8}' AND MeterCommunicationID ='{9}') AS t1 WHERE dbo.T_E_AlarmValueSetting.MonitorID = t1.MonitorID ";
private string sS_InsertSQLMaskString = " INSERT INTO dbo.T_Steam_AlarmSettings ( MonitorID ,AlarmType ,AlarmLimitValue)SELECT MonitorID ,'{0}','{1}' FROM dbo.T_Monitor WHERE CollectDeviceID='{2}' AND MeterCommunicationID ='{3}'";
private string sS_UpdateSQLMaskString = " UPDATE dbo.T_Steam_AlarmSettings set AlarmLimitValue = '{0}' FROM (SELECT MonitorID FROM dbo.T_Monitor WHERE CollectDeviceID='{1}' AND MeterCommunicationID ='{2}') AS t1 WHERE dbo.T_Steam_AlarmSettings.MonitorID = t1.MonitorID and dbo.T_Steam_AlarmSettings.AlarmType = '{3}'";
private string sS_InsertDataSQLMaskString = " INSERT INTO dbo.T_Steam_AlarmData ( MonitorID ,AlarmType ,AlarmValue ,AlarmTime)SELECT MonitorID ,'{0}','{1}', '{2}' FROM dbo.T_Monitor WHERE CollectDeviceID='{3}' AND MeterCommunicationID ='{4}'";
private int nFlagDataStore;
private List