jochu_liu 1 år sedan
förälder
incheckning
8e94754f68
2 ändrade filer med 180 tillägg och 97 borttagningar
  1. 179 96
      TimedUpload/QuartzJobs/jingshanDataUploadDataJob.cs
  2. 1 1
      TimedUpload/app.config

+ 179 - 96
TimedUpload/QuartzJobs/jingshanDataUploadDataJob.cs

@@ -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;
                     }
                 }
 

+ 1 - 1
TimedUpload/app.config

@@ -8,7 +8,7 @@
     <add key="changleWaterFactoryDb" value=""/>
     <add key="ChangLeWaterQualityDb" value="Data Source=47.105.90.108;Initial Catalog=舜水水质;uid=sa;password=wwkj@2136807" />
     <!-- 智慧水务系统RabbitMQ信息 start -->
-    <add key="UploadUrl" value="127.0.0.1" />
+    <add key="UploadUrl" value="47.92.134.169" />
     <add key="UploadPort" value="5678" />
     <add key="UploadUserName" value="wwkj" />
     <add key="UploadPassword" value="wwkj123!" />