|
@@ -182,6 +182,7 @@ namespace TimedUpload.QuartzJobs
|
|
|
DataRow drMeter = dtMeter.Rows[i];
|
|
|
String meterId = drMeter["ID"].ToString();
|
|
|
String meterCode = drMeter["考核表编码"].ToString();
|
|
|
+ String meterCodeTemp = meterCode;
|
|
|
String lastTime = "";
|
|
|
int isValve = Convert.ToInt32(drMeter["isValve"]);
|
|
|
|
|
@@ -198,7 +199,7 @@ namespace TimedUpload.QuartzJobs
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
- String sqlMeterHis = "select 记录时间,采集时间,正累计流量,负累计流量,净累计流量,瞬时流量,电池电压,压力";
|
|
|
+ String sqlMeterHis = "select 记录时间,采集时间,正累计流量,负累计流量,净累计流量,瞬时流量,电池电压,压力,设备状态,通讯状态";
|
|
|
if (isValve == 1) {// 阀控的情况
|
|
|
sqlMeterHis += ",开度,运行模式,手动开度设定值,压力量程设定,常用压力设定上限,步进间隔,常用压力设定下限,步进刻度";
|
|
|
}
|
|
@@ -209,9 +210,10 @@ namespace TimedUpload.QuartzJobs
|
|
|
if (uploadHis.ContainsKey(meterCode)) // 添加是否在线的判断
|
|
|
{
|
|
|
sqlMeterHis += " where 设备状态 = '全部正常' AND 通讯状态 = '全部正常' AND 采集时间 > '" + uploadHis[meterCode] + "'";
|
|
|
+ // sqlMeterHis += " where 采集时间 > '" + uploadHis[meterCode] + "'";
|
|
|
}
|
|
|
else { // 添加是否在线的判断
|
|
|
- sqlMeterHis += "WHERE 设备状态 = '全部正常' AND 通讯状态 = '全部正常'";
|
|
|
+ sqlMeterHis += " WHERE 设备状态 = '全部正常' AND 通讯状态 = '全部正常'";
|
|
|
}
|
|
|
sqlMeterHis += " order by 采集时间";
|
|
|
DataTable dtMeterHis = dbHelper.Fill(sqlMeterHis);
|
|
@@ -224,119 +226,198 @@ namespace TimedUpload.QuartzJobs
|
|
|
{
|
|
|
DataRow drMeterHis = dtMeterHis.Rows[j];
|
|
|
String getDateTime = Convert.ToDateTime(drMeterHis["采集时间"]).ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
- message.Append("{");
|
|
|
- message.Append("\"meterAssessmentCode\": \"").Append(meterCode).Append("\",");
|
|
|
- message.Append("\"manufacturerCode\": ").Append(Constants.ManufacturerCode).Append(",");
|
|
|
- message.Append("\"getDateTime\": \"").Append(getDateTime).Append("\",");
|
|
|
-
|
|
|
- if (isValve == 1)
|
|
|
- {
|
|
|
- if (Convert.DBNull != drMeterHis["开度"])
|
|
|
+ if (!(meterId == "625" || meterId == "633"))
|
|
|
+ {
|
|
|
+ message.Append("{");
|
|
|
+ message.Append("\"meterAssessmentCode\": \"").Append(meterCode).Append("\",");
|
|
|
+ message.Append("\"manufacturerCode\": ").Append(Constants.ManufacturerCode).Append(",");
|
|
|
+ message.Append("\"getDateTime\": \"").Append(getDateTime).Append("\",");
|
|
|
+
|
|
|
+ if (isValve == 1)
|
|
|
{
|
|
|
- message.Append("\"valveOpening\": ").Append(Convert.ToDecimal(drMeterHis["开度"])).Append(",");
|
|
|
+ if (Convert.DBNull != drMeterHis["开度"])
|
|
|
+ {
|
|
|
+ message.Append("\"valveOpening\": ").Append(Convert.ToDecimal(drMeterHis["开度"])).Append(",");
|
|
|
+ }
|
|
|
+ if (Convert.DBNull != drMeterHis["运行模式"])
|
|
|
+ {
|
|
|
+ message.Append("\"operaOption\": ").Append(Convert.ToDecimal(drMeterHis["运行模式"])).Append(",");
|
|
|
+ }
|
|
|
+ if (Convert.DBNull != drMeterHis["手动开度设定值"])
|
|
|
+ {
|
|
|
+ message.Append("\"autoOpingVal\": ").Append(Convert.ToDecimal(drMeterHis["手动开度设定值"])).Append(",");
|
|
|
+ }
|
|
|
+ if (Convert.DBNull != drMeterHis["压力量程设定"])
|
|
|
+ {
|
|
|
+ message.Append("\"pressureRange\": ").Append(Convert.ToDecimal(drMeterHis["压力量程设定"])).Append(",");
|
|
|
+ }
|
|
|
+ if (Convert.DBNull != drMeterHis["常用压力设定上限"])
|
|
|
+ {
|
|
|
+ message.Append("\"comPressureVal\": ").Append(Convert.ToDecimal(drMeterHis["常用压力设定上限"])).Append(",");
|
|
|
+ }
|
|
|
+ if (Convert.DBNull != drMeterHis["步进间隔"])
|
|
|
+ {
|
|
|
+ message.Append("\"changeTime\": ").Append(Convert.ToDecimal(drMeterHis["步进间隔"])).Append(",");
|
|
|
+ }
|
|
|
+ if (Convert.DBNull != drMeterHis["常用压力设定下限"])
|
|
|
+ {
|
|
|
+ message.Append("\"comPressureValDown\": ").Append(Convert.ToDecimal(drMeterHis["常用压力设定下限"])).Append(",");
|
|
|
+ }
|
|
|
+ if (Convert.DBNull != drMeterHis["步进刻度"])
|
|
|
+ {
|
|
|
+ message.Append("\"stepInterval\": ").Append(Convert.ToDecimal(drMeterHis["步进刻度"])).Append(",");
|
|
|
+ }
|
|
|
}
|
|
|
- if (Convert.DBNull != drMeterHis["运行模式"])
|
|
|
- {
|
|
|
- message.Append("\"operaOption\": ").Append(Convert.ToDecimal(drMeterHis["运行模式"])).Append(",");
|
|
|
+ if(isValve == 2) { // 控阀控泵
|
|
|
+ if (Convert.DBNull != drMeterHis["运行模式"])
|
|
|
+ {
|
|
|
+ message.Append("\"OperaOption\": ").Append(drMeterHis["运行模式"]).Append(",");
|
|
|
+ }
|
|
|
+ if (Convert.DBNull != drMeterHis["阀1开到位延时"])
|
|
|
+ {
|
|
|
+ message.Append("\"valveOneOpenDelayed\": ").Append(Convert.ToDecimal(drMeterHis["阀1开到位延时"])).Append(",");
|
|
|
+ }
|
|
|
+ if (Convert.DBNull != drMeterHis["阀2开到位延时"])
|
|
|
+ {
|
|
|
+ message.Append("\"valveTwoOpenDelayed\": ").Append(Convert.ToDecimal(drMeterHis["阀2开到位延时"])).Append(",");
|
|
|
+ }
|
|
|
+ if (Convert.DBNull != drMeterHis["阀3开到位延时"])
|
|
|
+ {
|
|
|
+ message.Append("\"valveThreeOpenDelayed\": ").Append(Convert.ToDecimal(drMeterHis["阀3开到位延时"])).Append(",");
|
|
|
+ }
|
|
|
+ if (Convert.DBNull != drMeterHis["真空泵开启时间"])
|
|
|
+ {
|
|
|
+ message.Append("\"vacuumPumpOpenTime\": ").Append(Convert.ToDecimal(drMeterHis["真空泵开启时间"])).Append(",");
|
|
|
+ }
|
|
|
+ if (Convert.DBNull != drMeterHis["排气间隔"])
|
|
|
+ {
|
|
|
+ message.Append("\"exhaustTime\": ").Append(Convert.ToDecimal(drMeterHis["排气间隔"])).Append(",");
|
|
|
+ }
|
|
|
+ if (Convert.DBNull != drMeterHis["控制方式"])
|
|
|
+ {
|
|
|
+ message.Append("\"runModule\": \"").Append(drMeterHis["控制方式"]).Append("\",");
|
|
|
+ }
|
|
|
+ if (Convert.DBNull != drMeterHis["真空泵故障"])
|
|
|
+ {
|
|
|
+ message.Append("\"vacuumPumpFault\": \"").Append(drMeterHis["真空泵故障"]).Append("\",");
|
|
|
+ }
|
|
|
+ if (Convert.DBNull != drMeterHis["阀1状态"])
|
|
|
+ {
|
|
|
+ message.Append("\"valveOneState\": \"").Append(drMeterHis["阀1状态"]).Append("\",");
|
|
|
+ }
|
|
|
+ if (Convert.DBNull != drMeterHis["阀2状态"])
|
|
|
+ {
|
|
|
+ message.Append("\"valveTwoState\": \"").Append(drMeterHis["阀2状态"]).Append("\",");
|
|
|
+ }
|
|
|
+ if (Convert.DBNull != drMeterHis["阀3状态"])
|
|
|
+ {
|
|
|
+ message.Append("\"valveThreeState\": \"").Append(drMeterHis["阀3状态"]).Append("\"");
|
|
|
+ }
|
|
|
}
|
|
|
- if (Convert.DBNull != drMeterHis["手动开度设定值"])
|
|
|
+ if (Convert.DBNull != drMeterHis["净累计流量"])
|
|
|
{
|
|
|
- message.Append("\"autoOpingVal\": ").Append(Convert.ToDecimal(drMeterHis["手动开度设定值"])).Append(",");
|
|
|
+ message.Append("\"netCumulativeFlow\": ").Append(Convert.ToDecimal(drMeterHis["净累计流量"])).Append(",");
|
|
|
}
|
|
|
- if (Convert.DBNull != drMeterHis["压力量程设定"])
|
|
|
+ if (Convert.DBNull != drMeterHis["正累计流量"])
|
|
|
{
|
|
|
- message.Append("\"pressureRange\": ").Append(Convert.ToDecimal(drMeterHis["压力量程设定"])).Append(",");
|
|
|
+ message.Append("\"positiveCumulativeFlow\": ").Append(Convert.ToDecimal(drMeterHis["正累计流量"])).Append(",");
|
|
|
}
|
|
|
- if (Convert.DBNull != drMeterHis["常用压力设定上限"])
|
|
|
+ if (Convert.DBNull != drMeterHis["负累计流量"])
|
|
|
{
|
|
|
- message.Append("\"comPressureVal\": ").Append(Convert.ToDecimal(drMeterHis["常用压力设定上限"])).Append(",");
|
|
|
+ message.Append("\"negativeCumulativeFlow\": ").Append(Convert.ToDecimal(drMeterHis["负累计流量"])).Append(",");
|
|
|
}
|
|
|
- if (Convert.DBNull != drMeterHis["步进间隔"])
|
|
|
+ if (Convert.DBNull != drMeterHis["瞬时流量"])
|
|
|
{
|
|
|
- message.Append("\"changeTime\": ").Append(Convert.ToDecimal(drMeterHis["步进间隔"])).Append(",");
|
|
|
+ message.Append("\"instantaneousFlow\": ").Append(Convert.ToDecimal(drMeterHis["瞬时流量"])).Append(",");
|
|
|
}
|
|
|
- if (Convert.DBNull != drMeterHis["常用压力设定下限"])
|
|
|
+ if (Convert.DBNull != drMeterHis["压力"])
|
|
|
{
|
|
|
- message.Append("\"comPressureValDown\": ").Append(Convert.ToDecimal(drMeterHis["常用压力设定下限"])).Append(",");
|
|
|
+ message.Append("\"pressure\": ").Append(Convert.ToDecimal(drMeterHis["压力"])).Append(",");
|
|
|
}
|
|
|
- if (Convert.DBNull != drMeterHis["步进刻度"])
|
|
|
+ if (Convert.DBNull != drMeterHis["电池电压"])
|
|
|
{
|
|
|
- message.Append("\"stepInterval\": ").Append(Convert.ToDecimal(drMeterHis["步进刻度"])).Append(",");
|
|
|
+ message.Append("\"batteryVoltageValue\": ").Append(Convert.ToDecimal(drMeterHis["电池电压"]));
|
|
|
}
|
|
|
+ //int isOnline = 0; // 0 不在线 1 在线
|
|
|
+
|
|
|
+ //if(drMeterHis["设备状态"] == "全部正常" && drMeterHis["通讯状态"] == "全部正常")
|
|
|
+ //{
|
|
|
+ // isOnline = 1;
|
|
|
+ //}
|
|
|
+
|
|
|
+ //message.Append("\"isOnline\": ").Append(isOnline).Append("");
|
|
|
+
|
|
|
+
|
|
|
+ message.Append("}");
|
|
|
}
|
|
|
- if(isValve == 2) { // 控阀控泵
|
|
|
- if (Convert.DBNull != drMeterHis["运行模式"])
|
|
|
- {
|
|
|
- message.Append("\"OperaOption\": ").Append(Convert.ToDecimal(drMeterHis["运行模式"])).Append(",");
|
|
|
- }
|
|
|
- if (Convert.DBNull != drMeterHis["阀1开到位延时"])
|
|
|
- {
|
|
|
- message.Append("\"valveOneOpenDelayed\": ").Append(Convert.ToDecimal(drMeterHis["阀1开到位延时"])).Append(",");
|
|
|
- }
|
|
|
- if (Convert.DBNull != drMeterHis["阀2开到位延时"])
|
|
|
- {
|
|
|
- message.Append("\"valveTwoOpenDelayed\": ").Append(Convert.ToDecimal(drMeterHis["阀2开到位延时"])).Append(",");
|
|
|
- }
|
|
|
- if (Convert.DBNull != drMeterHis["阀3开到位延时"])
|
|
|
- {
|
|
|
- message.Append("\"valveThreeOpenDelayed\": ").Append(Convert.ToDecimal(drMeterHis["阀3开到位延时"])).Append(",");
|
|
|
- }
|
|
|
- if (Convert.DBNull != drMeterHis["真空泵开启时间"])
|
|
|
- {
|
|
|
- message.Append("\"vacuumPumpOpenTime\": ").Append(Convert.ToDecimal(drMeterHis["真空泵开启时间"])).Append(",");
|
|
|
- }
|
|
|
- if (Convert.DBNull != drMeterHis["排气间隔"])
|
|
|
- {
|
|
|
- message.Append("\"exhaustTime\": ").Append(Convert.ToDecimal(drMeterHis["排气间隔"])).Append(",");
|
|
|
- }
|
|
|
- if (Convert.DBNull != drMeterHis["控制方式"])
|
|
|
- {
|
|
|
- message.Append("\"runModule\": ").Append(Convert.ToDecimal(drMeterHis["控制方式"])).Append(",");
|
|
|
- }
|
|
|
- if (Convert.DBNull != drMeterHis["真空泵故障"])
|
|
|
- {
|
|
|
- message.Append("\"vacuumPumpFault\": ").Append(Convert.ToDecimal(drMeterHis["真空泵故障"])).Append(",");
|
|
|
- }
|
|
|
- if (Convert.DBNull != drMeterHis["阀1状态"])
|
|
|
- {
|
|
|
- message.Append("\"valveOneState\": ").Append(Convert.ToDecimal(drMeterHis["阀1状态"])).Append(",");
|
|
|
- }
|
|
|
- if (Convert.DBNull != drMeterHis["阀2状态"])
|
|
|
- {
|
|
|
- message.Append("\"valveTwoState\": ").Append(Convert.ToDecimal(drMeterHis["阀2状态"])).Append(",");
|
|
|
+ else {
|
|
|
+ if(meterId == "625") {
|
|
|
+ message.Append("{");
|
|
|
+ message.Append("\"meterAssessmentCode\": \"").Append(meterCode).Append("\",");
|
|
|
+ message.Append("\"manufacturerCode\": ").Append(Constants.ManufacturerCode).Append(",");
|
|
|
+ message.Append("\"getDateTime\": \"").Append(getDateTime).Append("\",");
|
|
|
+ if (Convert.DBNull != drMeterHis["压力"])
|
|
|
+ {
|
|
|
+ message.Append("\"pressure\": ").Append(Convert.ToDecimal(drMeterHis["压力"])).Append(",");
|
|
|
+ }
|
|
|
+ if (Convert.DBNull != drMeterHis["电池电压"])
|
|
|
+ {
|
|
|
+ message.Append("\"batteryVoltageValue\": ").Append(Convert.ToDecimal(drMeterHis["电池电压"]));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ message.Append("}");
|
|
|
+ String str = message.ToString();
|
|
|
+ foreach (KeyValuePair<string, IModel> item in channels)
|
|
|
+ {
|
|
|
+ string key = item.Key;
|
|
|
+ IModel channel = item.Value;
|
|
|
+ IBasicProperties property = properties[key];
|
|
|
+ channel.BasicPublish("zone.deviceHis", "", property, Encoding.UTF8.GetBytes(str)); //生产消息
|
|
|
+ }
|
|
|
+
|
|
|
+ message.Clear();
|
|
|
+ if(meterId == "625") {
|
|
|
+ meterCode = "jingshan015";
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ message.Append("{");
|
|
|
+ message.Append("\"meterAssessmentCode\": \"").Append(meterCode).Append("\",");
|
|
|
+ message.Append("\"manufacturerCode\": ").Append(Constants.ManufacturerCode).Append(",");
|
|
|
+ message.Append("\"getDateTime\": \"").Append(getDateTime).Append("\",");
|
|
|
+ if (Convert.DBNull != drMeterHis["净累计流量"])
|
|
|
+ {
|
|
|
+ message.Append("\"netCumulativeFlow\": ").Append(Convert.ToDecimal(drMeterHis["净累计流量"])).Append(",");
|
|
|
+ }
|
|
|
+ if (Convert.DBNull != drMeterHis["正累计流量"])
|
|
|
+ {
|
|
|
+ message.Append("\"positiveCumulativeFlow\": ").Append(Convert.ToDecimal(drMeterHis["正累计流量"])).Append(",");
|
|
|
+ }
|
|
|
+ if (Convert.DBNull != drMeterHis["负累计流量"])
|
|
|
+ {
|
|
|
+ message.Append("\"negativeCumulativeFlow\": ").Append(Convert.ToDecimal(drMeterHis["负累计流量"])).Append(",");
|
|
|
+ }
|
|
|
+ if (Convert.DBNull != drMeterHis["瞬时流量"])
|
|
|
+ {
|
|
|
+ message.Append("\"instantaneousFlow\": ").Append(Convert.ToDecimal(drMeterHis["瞬时流量"])).Append(",");
|
|
|
+ }
|
|
|
+
|
|
|
+ if (Convert.DBNull != drMeterHis["电池电压"])
|
|
|
+ {
|
|
|
+ message.Append("\"batteryVoltageValue\": ").Append(Convert.ToDecimal(drMeterHis["电池电压"]));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ message.Append("}");
|
|
|
}
|
|
|
- if (Convert.DBNull != drMeterHis["阀3状态"])
|
|
|
- {
|
|
|
- message.Append("\"valveThreeState\": ").Append(Convert.ToDecimal(drMeterHis["阀3状态"])).Append(",");
|
|
|
+ else if(meterId == "633") {
|
|
|
+ continue;
|
|
|
}
|
|
|
}
|
|
|
- if (Convert.DBNull != drMeterHis["净累计流量"])
|
|
|
- {
|
|
|
- message.Append("\"netCumulativeFlow\": ").Append(Convert.ToDecimal(drMeterHis["净累计流量"])).Append(",");
|
|
|
- }
|
|
|
- if (Convert.DBNull != drMeterHis["正累计流量"])
|
|
|
- {
|
|
|
- message.Append("\"positiveCumulativeFlow\": ").Append(Convert.ToDecimal(drMeterHis["正累计流量"])).Append(",");
|
|
|
- }
|
|
|
- if (Convert.DBNull != drMeterHis["负累计流量"])
|
|
|
- {
|
|
|
- message.Append("\"negativeCumulativeFlow\": ").Append(Convert.ToDecimal(drMeterHis["负累计流量"])).Append(",");
|
|
|
- }
|
|
|
- if (Convert.DBNull != drMeterHis["瞬时流量"])
|
|
|
- {
|
|
|
- message.Append("\"instantaneousFlow\": ").Append(Convert.ToDecimal(drMeterHis["瞬时流量"])).Append(",");
|
|
|
- }
|
|
|
- if (Convert.DBNull != drMeterHis["压力"])
|
|
|
- {
|
|
|
- message.Append("\"pressure\": ").Append(Convert.ToDecimal(drMeterHis["压力"])).Append(",");
|
|
|
- }
|
|
|
- if (Convert.DBNull != drMeterHis["电池电压"])
|
|
|
- {
|
|
|
- message.Append("\"batteryVoltageValue\": ").Append(Convert.ToDecimal(drMeterHis["电池电压"])).Append(",");
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- message.Append("}");
|
|
|
|
|
|
foreach (KeyValuePair<string, IModel> item in channels)
|
|
|
{
|
|
@@ -346,6 +427,7 @@ namespace TimedUpload.QuartzJobs
|
|
|
channel.BasicPublish("zone.deviceHis", "", property, Encoding.UTF8.GetBytes(message.ToString())); //生产消息
|
|
|
}
|
|
|
lastTime = getDateTime;
|
|
|
+ meterCode = meterCodeTemp;
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
@@ -357,6 +439,7 @@ namespace TimedUpload.QuartzJobs
|
|
|
if (!"".Equals(lastTime))
|
|
|
{
|
|
|
uploadHis[meterCode] = lastTime;
|
|
|
+ uploadHis[meterCodeTemp] = lastTime;
|
|
|
}
|
|
|
}
|
|
|
|