using FreeSun.FS_SMISCloud.Server.CloudApi.DAL; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Text; using System.Threading.Tasks; //using Newtonsoft.Json; using System.Data; namespace 沉降 { class Program { // 定时 private static void Wait(int Seconds) { for (int i = 0; i < Seconds; i++) { for (int j = 0; j < 10; j++) { System.Threading.Thread.Sleep(100); } } } static void Main(string[] args) { bool isFirstLoad = true; while (true) { try { string sql = string.Format("SELECT B.Granularity, SENSOR_ID,SAFETY_FACTOR_TYPE_ID ,A.MODULE_NO FROM T_DIM_SENSOR AS A LEFT JOIN T_DIM_DTU AS B ON B.ID = A.DTU_ID WHERE B.Description =‘Http‘ order by Granularity;"); DataTable senserlist = SqlHelper.ExecuteDataSetText(sql, null).Tables[0]; if (!isFirstLoad) { int timeCount = int.Parse(senserlist.Rows[0]["Granularity"].ToString()); //表里取的,单位换算成秒 // Wait(timeCount * 60); Wait(10); } isFirstLoad = false; int SENSOR_ID = 0, SAFETY_FACTOR_TYPE_ID = 0; string MODULE_NO = ""; string postDataStr = "沉降_压力modbus_br"; for (int i = 0; i < senserlist.Rows.Count; i++) { SENSOR_ID = int.Parse(senserlist.Rows[i]["SENSOR_ID"].ToString()); SAFETY_FACTOR_TYPE_ID = int.Parse(senserlist.Rows[i]["SAFETY_FACTOR_TYPE_ID"].ToString()); MODULE_NO = senserlist.Rows[i]["MODULE_NO"].ToString(); string Url = "http://222.128.62.155:9666/pc.php/index/index/chaxun?table=" + postDataStr + MODULE_NO; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url); request.Method = "POST"; request.ContentType = "application/form-data"; // request.CookieContainer = cookie; Stream myRequestStream = request.GetRequestStream(); StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.GetEncoding("gb2312")); // myStreamWriter.Write(postDataStr); myStreamWriter.Close(); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); // response.Cookies = cookie.GetCookies(response.ResponseUri); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8")); string retString = myStreamReader.ReadToEnd(); JObject json1 = new JObject(); try { List<Info> jobInfoList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Info>>(retString); if (jobInfoList[0].status == "0") { Console.WriteLine("请求方式错误"); break; } if (jobInfoList[0].status == "2") { Console.WriteLine("表名错误"); break; } if (jobInfoList[0].status == "3") { Console.WriteLine("开始时间错误"); break; } if (jobInfoList[0].status == "4") { Console.WriteLine("结束时间错误"); break; } } catch (Exception ex) { json1 = (JObject)JsonConvert.DeserializeObject(retString); } var B = json1["c_time"].ToString(); var c_cz = json1["c_dqz"].ToString(); sql = string.Format("SELECT COUNT(*) from T_THEMES_DEFORMATION_SURFACE_DISPLACEMENT WHERE ACQUISITION_DATETIME =‘{0}‘", B); DataTable datcout = SqlHelper.ExecuteDataSetText(sql, null).Tables[0]; if (datcout.Rows.Count > 1) { Console.WriteLine("时间" + B +"编号"+ MODULE_NO +"值"+c_cz+ "已存在该数据"); } else { sql = string.Format("insert into T_THEMES_DEFORMATION_SURFACE_DISPLACEMENT(SENSOR_ID,SAFETY_FACTOR_TYPE_ID,SURFACE_DISPLACEMENT_X_VALUE,ACQUISITION_DATETIME) Values ({0},{1},{2},‘{3}‘) ", SENSOR_ID, SAFETY_FACTOR_TYPE_ID, c_cz, B); SqlHelper.ExecteNonQueryText(sql, null); Console.WriteLine("时间" + B + "编号" + MODULE_NO + "值" + c_cz + "数据保存成功"); } myStreamReader.Close(); myResponseStream.Close(); } } catch (Exception ex) { throw; } } //return ; } } public class Info { public string status { get; set; } public string mess { get; set; } } }