|
@@ -192,212 +192,144 @@ namespace TimedUpload.QuartzJobs
|
|
|
for (int k = lastYear; k <= nowYear; k++)
|
|
for (int k = lastYear; k <= nowYear; k++)
|
|
|
{
|
|
{
|
|
|
string tablename = "历史记录_" + ("000000" + meterId).Substring(meterId.Length, 6) + "_" + k;
|
|
string tablename = "历史记录_" + ("000000" + meterId).Substring(meterId.Length, 6) + "_" + k;
|
|
|
-
|
|
|
|
|
- // 判断历史记录表是否存在
|
|
|
|
|
- if (!CheckTableExist(tablename))
|
|
|
|
|
|
|
+ try
|
|
|
{
|
|
{
|
|
|
- continue;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ // 判断历史记录表是否存在
|
|
|
|
|
+ if (!CheckTableExist(tablename))
|
|
|
|
|
+ {
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- String sqlMeterHis = "select 记录时间,采集时间,正累计流量,负累计流量,净累计流量,瞬时流量,电池电压,压力,设备状态,通讯状态";
|
|
|
|
|
- if (isValve == 1) {// 阀控的情况
|
|
|
|
|
- sqlMeterHis += ",开度,运行模式,手动开度设定值,压力量程设定,常用压力设定上限,步进间隔,常用压力设定下限,步进刻度";
|
|
|
|
|
- }
|
|
|
|
|
- if(isValve == 2) { // 控阀控泵的情况
|
|
|
|
|
- sqlMeterHis += ",[运行模式],[阀1开到位延时],[阀2开到位延时],[阀3开到位延时],[真空泵开启时间],[排气间隔],[控制方式],[真空泵故障],[阀1状态],[阀2状态],[阀3状态]";
|
|
|
|
|
- }
|
|
|
|
|
- if (isValve == 3) {
|
|
|
|
|
- sqlMeterHis += ",阀门状态";
|
|
|
|
|
- }
|
|
|
|
|
- sqlMeterHis +=" from " + tablename;
|
|
|
|
|
- if (uploadHis.ContainsKey(meterCode)) // 添加是否在线的判断
|
|
|
|
|
- {
|
|
|
|
|
- sqlMeterHis += " where 设备状态 = '全部正常' AND 通讯状态 = '全部正常' AND 采集时间 > '" + uploadHis[meterCode] + "'";
|
|
|
|
|
- // sqlMeterHis += " where 采集时间 > '" + uploadHis[meterCode] + "'";
|
|
|
|
|
- }
|
|
|
|
|
- else { // 添加是否在线的判断
|
|
|
|
|
- sqlMeterHis += " WHERE 设备状态 = '全部正常' AND 通讯状态 = '全部正常'";
|
|
|
|
|
- }
|
|
|
|
|
- sqlMeterHis += " order by 采集时间";
|
|
|
|
|
- DataTable dtMeterHis = dbHelper.Fill(sqlMeterHis);
|
|
|
|
|
|
|
+ String sqlMeterHis = "select 记录时间,采集时间,正累计流量,负累计流量,净累计流量,瞬时流量,电池电压,压力,设备状态,通讯状态";
|
|
|
|
|
+ if (isValve == 1)
|
|
|
|
|
+ {// 阀控的情况
|
|
|
|
|
+ sqlMeterHis += ",开度,运行模式,手动开度设定值,压力量程设定,常用压力设定上限,步进间隔,常用压力设定下限,步进刻度";
|
|
|
|
|
+ }
|
|
|
|
|
+ if (isValve == 2)
|
|
|
|
|
+ { // 控阀控泵的情况
|
|
|
|
|
+ sqlMeterHis += ",[运行模式],[阀1开到位延时],[阀2开到位延时],[阀3开到位延时],[真空泵开启时间],[排气间隔],[控制方式],[真空泵故障],[阀1状态],[阀2状态],[阀3状态]";
|
|
|
|
|
+ }
|
|
|
|
|
+ if (isValve == 3)
|
|
|
|
|
+ {
|
|
|
|
|
+ sqlMeterHis += ",阀门状态";
|
|
|
|
|
+ }
|
|
|
|
|
+ sqlMeterHis += " from " + tablename;
|
|
|
|
|
+ if (uploadHis.ContainsKey(meterCode)) // 添加是否在线的判断
|
|
|
|
|
+ {
|
|
|
|
|
+ sqlMeterHis += " where 设备状态 = '全部正常' AND 通讯状态 = '全部正常' AND 采集时间 > '" + uploadHis[meterCode] + "'";
|
|
|
|
|
+ // sqlMeterHis += " where 采集时间 > '" + uploadHis[meterCode] + "'";
|
|
|
|
|
+ }
|
|
|
|
|
+ else
|
|
|
|
|
+ { // 添加是否在线的判断
|
|
|
|
|
+ sqlMeterHis += " WHERE 设备状态 = '全部正常' AND 通讯状态 = '全部正常'";
|
|
|
|
|
+ }
|
|
|
|
|
+ sqlMeterHis += " order by 采集时间";
|
|
|
|
|
+ DataTable dtMeterHis = dbHelper.Fill(sqlMeterHis);
|
|
|
|
|
|
|
|
- StringBuilder message = new StringBuilder();
|
|
|
|
|
- for (int j = 0; j < dtMeterHis.Rows.Count; j++)
|
|
|
|
|
- {
|
|
|
|
|
- message.Clear();
|
|
|
|
|
- try
|
|
|
|
|
|
|
+ StringBuilder message = new StringBuilder();
|
|
|
|
|
+ for (int j = 0; j < dtMeterHis.Rows.Count; j++)
|
|
|
{
|
|
{
|
|
|
- DataRow drMeterHis = dtMeterHis.Rows[j];
|
|
|
|
|
- String getDateTime = Convert.ToDateTime(drMeterHis["采集时间"]).ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
- 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)
|
|
|
|
|
- {
|
|
|
|
|
- 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(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 (isValve == 3)// 带阀控的大表
|
|
|
|
|
- {
|
|
|
|
|
- if (Convert.DBNull != drMeterHis["阀门状态"])
|
|
|
|
|
- {
|
|
|
|
|
- message.Append("\"valveOneState\": \"").Append(drMeterHis["阀门状态"]).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("\"pressure\": ").Append(Convert.ToDecimal(drMeterHis["压力"])).Append(",");
|
|
|
|
|
- }
|
|
|
|
|
- if (Convert.DBNull != drMeterHis["电池电压"])
|
|
|
|
|
|
|
+ message.Clear();
|
|
|
|
|
+ try
|
|
|
|
|
+ {
|
|
|
|
|
+ DataRow drMeterHis = dtMeterHis.Rows[j];
|
|
|
|
|
+ String getDateTime = Convert.ToDateTime(drMeterHis["采集时间"]).ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
+ if (!(meterId == "625" || meterId == "633"))
|
|
|
{
|
|
{
|
|
|
- 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("}");
|
|
|
|
|
- }
|
|
|
|
|
- else {
|
|
|
|
|
- if(meterId == "625") {
|
|
|
|
|
message.Append("{");
|
|
message.Append("{");
|
|
|
message.Append("\"meterAssessmentCode\": \"").Append(meterCode).Append("\",");
|
|
message.Append("\"meterAssessmentCode\": \"").Append(meterCode).Append("\",");
|
|
|
message.Append("\"manufacturerCode\": ").Append(Constants.ManufacturerCode).Append(",");
|
|
message.Append("\"manufacturerCode\": ").Append(Constants.ManufacturerCode).Append(",");
|
|
|
message.Append("\"getDateTime\": \"").Append(getDateTime).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)
|
|
|
|
|
|
|
+ if (isValve == 1)
|
|
|
{
|
|
{
|
|
|
- string key = item.Key;
|
|
|
|
|
- IModel channel = item.Value;
|
|
|
|
|
- IBasicProperties property = properties[key];
|
|
|
|
|
- channel.BasicPublish("zone.deviceHis", "", property, Encoding.UTF8.GetBytes(str)); //生产消息
|
|
|
|
|
|
|
+ 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(",");
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- message.Clear();
|
|
|
|
|
- if(meterId == "625") {
|
|
|
|
|
- meterCode = "jingshan015";
|
|
|
|
|
|
|
+ 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("\"");
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- else {
|
|
|
|
|
- continue;
|
|
|
|
|
|
|
+ if (isValve == 3)// 带阀控的大表
|
|
|
|
|
+ {
|
|
|
|
|
+ if (Convert.DBNull != drMeterHis["阀门状态"])
|
|
|
|
|
+ {
|
|
|
|
|
+ message.Append("\"valveOneState\": \"").Append(drMeterHis["阀门状态"]).Append("\",");
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- 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["净累计流量"])
|
|
if (Convert.DBNull != drMeterHis["净累计流量"])
|
|
|
{
|
|
{
|
|
|
message.Append("\"netCumulativeFlow\": ").Append(Convert.ToDecimal(drMeterHis["净累计流量"])).Append(",");
|
|
message.Append("\"netCumulativeFlow\": ").Append(Convert.ToDecimal(drMeterHis["净累计流量"])).Append(",");
|
|
@@ -414,37 +346,121 @@ namespace TimedUpload.QuartzJobs
|
|
|
{
|
|
{
|
|
|
message.Append("\"instantaneousFlow\": ").Append(Convert.ToDecimal(drMeterHis["瞬时流量"])).Append(",");
|
|
message.Append("\"instantaneousFlow\": ").Append(Convert.ToDecimal(drMeterHis["瞬时流量"])).Append(",");
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+ if (Convert.DBNull != drMeterHis["压力"])
|
|
|
|
|
+ {
|
|
|
|
|
+ message.Append("\"pressure\": ").Append(Convert.ToDecimal(drMeterHis["压力"])).Append(",");
|
|
|
|
|
+ }
|
|
|
if (Convert.DBNull != drMeterHis["电池电压"])
|
|
if (Convert.DBNull != drMeterHis["电池电压"])
|
|
|
{
|
|
{
|
|
|
message.Append("\"batteryVoltageValue\": ").Append(Convert.ToDecimal(drMeterHis["电池电压"]));
|
|
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("}");
|
|
message.Append("}");
|
|
|
}
|
|
}
|
|
|
- else if(meterId == "633") {
|
|
|
|
|
- continue;
|
|
|
|
|
|
|
+ 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("}");
|
|
|
|
|
+ }
|
|
|
|
|
+ else if (meterId == "633")
|
|
|
|
|
+ {
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
- foreach (KeyValuePair<string, IModel> item in channels)
|
|
|
|
|
|
|
+ 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(message.ToString())); //生产消息
|
|
|
|
|
+ }
|
|
|
|
|
+ lastTime = getDateTime;
|
|
|
|
|
+ meterCode = meterCodeTemp;
|
|
|
|
|
+ }
|
|
|
|
|
+ catch (Exception ex)
|
|
|
{
|
|
{
|
|
|
- string key = item.Key;
|
|
|
|
|
- IModel channel = item.Value;
|
|
|
|
|
- IBasicProperties property = properties[key];
|
|
|
|
|
- channel.BasicPublish("zone.deviceHis", "", property, Encoding.UTF8.GetBytes(message.ToString())); //生产消息
|
|
|
|
|
|
|
+ log.Info("大表设备历史记录同步任务数据推送失败:" + message.ToString() + "\r\n");
|
|
|
|
|
+ log.Error(ex.Message + "===========" + ex.StackTrace + "\r\n");
|
|
|
}
|
|
}
|
|
|
- lastTime = getDateTime;
|
|
|
|
|
- meterCode = meterCodeTemp;
|
|
|
|
|
- }
|
|
|
|
|
- catch (Exception ex)
|
|
|
|
|
- {
|
|
|
|
|
- log.Info("大表设备历史记录同步任务数据推送失败:" + message.ToString() + "\r\n");
|
|
|
|
|
- log.Error(ex.Message + "===========" + ex.StackTrace + "\r\n");
|
|
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ catch (Exception ex)
|
|
|
|
|
+ {
|
|
|
|
|
+ log.Error("大表设备历史记录同步任务数据查询失败:" + tablename + "===" + ex.Message + "===========" + ex.StackTrace + "\r\n");
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
if (!"".Equals(lastTime))
|
|
if (!"".Equals(lastTime))
|
|
|
{
|
|
{
|