debug 後台同步 niagara 資料
This commit is contained in:
		
							parent
							
								
									b146283d13
								
							
						
					
					
						commit
						e3700b63b8
					
				@ -820,11 +820,10 @@ namespace Backend.Controllers
 | 
			
		||||
                        //更新device資料表  room_dbid 欄位
 | 
			
		||||
                        string sql = @"
 | 
			
		||||
                        SET SQL_SAFE_UPDATES = 0;
 | 
			
		||||
                        UPDATE
 | 
			
		||||
                          device AS de,
 | 
			
		||||
                        UPDATE device AS de,
 | 
			
		||||
                          (
 | 
			
		||||
                          select f.room_id, f.room_name from forge_room f
 | 
			
		||||
                          join device d ON f.room_name = d.room_name
 | 
			
		||||
                              select f.room_id, f.room_name from forge_room f
 | 
			
		||||
                              join device d ON f.room_name = d.room_name
 | 
			
		||||
                          ) AS re
 | 
			
		||||
                          SET de.room_dbid = re.room_id
 | 
			
		||||
                          WHERE de.room_name = re.room_name;";
 | 
			
		||||
 | 
			
		||||
@ -15,6 +15,8 @@ using Ubiety.Dns.Core;
 | 
			
		||||
using System.Diagnostics;
 | 
			
		||||
using Microsoft.AspNetCore.Mvc;
 | 
			
		||||
using Microsoft.Extensions.Logging;
 | 
			
		||||
using Repository.Models.CodeBeautify;
 | 
			
		||||
using NPOI.SS.Formula.Functions;
 | 
			
		||||
 | 
			
		||||
namespace Backend.Services.Implement
 | 
			
		||||
{
 | 
			
		||||
@ -163,12 +165,11 @@ namespace Backend.Services.Implement
 | 
			
		||||
            XmlDocument xmlDoc = new XmlDocument();
 | 
			
		||||
            xmlDoc.LoadXml(responseString);
 | 
			
		||||
 | 
			
		||||
            string jsonText = JsonConvert.SerializeXmlNode(xmlDoc);
 | 
			
		||||
            var data = Welcome.FromJson(jsonText);
 | 
			
		||||
 | 
			
		||||
            foreach (var item in data.Obj.Ref)
 | 
			
		||||
            //ref https://stackoverflow.com/questions/642293/how-do-i-read-and-parse-an-xml-file-in-c
 | 
			
		||||
            foreach (XmlNode node in xmlDoc.DocumentElement.ChildNodes)
 | 
			
		||||
            {
 | 
			
		||||
                String API_Url2 = urlString + "/" + item.Name;
 | 
			
		||||
                string stationName = node.Attributes["name"].InnerText; // WSP_Supervisor
 | 
			
		||||
                String API_Url2 = urlString + "/" + stationName; // http://192.168.0.136:8081/obix/histories/WSP_Supervisor
 | 
			
		||||
 | 
			
		||||
                HttpWebRequest Postrequest2 = (HttpWebRequest)WebRequest.Create(API_Url2);
 | 
			
		||||
                Postrequest2.Method = "GET";
 | 
			
		||||
@ -181,32 +182,117 @@ namespace Backend.Services.Implement
 | 
			
		||||
                XmlDocument xmlDoc2 = new XmlDocument();
 | 
			
		||||
                xmlDoc2.LoadXml(responseString2);
 | 
			
		||||
 | 
			
		||||
                string jsonText2 = JsonConvert.SerializeXmlNode(xmlDoc2);
 | 
			
		||||
                var data2 = Welcome.FromJson(jsonText2);
 | 
			
		||||
 | 
			
		||||
                foreach (var item2 in data2.Obj.Ref)
 | 
			
		||||
                foreach (XmlNode node2 in xmlDoc2.DocumentElement.ChildNodes)
 | 
			
		||||
                {
 | 
			
		||||
                    if (item2.Name.Split('_').Length == 9)
 | 
			
		||||
                    string tagName = node2.Attributes["name"].InnerText;
 | 
			
		||||
                    if (tagName.Split('_').Length == 9)
 | 
			
		||||
                    {
 | 
			
		||||
                        ImpNiaItem row = new ImpNiaItem();
 | 
			
		||||
                        row.device_area_tag = item2.Name.Split('_')[0];
 | 
			
		||||
                        row.device_building_tag = item2.Name.Split('_')[1];
 | 
			
		||||
                        row.device_system_tag = item2.Name.Split('_')[2];
 | 
			
		||||
                        row.device_name_tag = item2.Name.Split('_')[3];
 | 
			
		||||
                        row.device_point_name = item2.Name.Split('_')[8];
 | 
			
		||||
                        row.parent_path = item.Name;
 | 
			
		||||
                        
 | 
			
		||||
                        row.device_area_tag = tagName.Split('_')[0];
 | 
			
		||||
                        row.device_building_tag = tagName.Split('_')[1];
 | 
			
		||||
                        row.device_system_tag = tagName.Split('_')[2];
 | 
			
		||||
                        row.device_name_tag = tagName.Split('_')[3];
 | 
			
		||||
                        row.device_point_name = tagName.Split('_')[8];
 | 
			
		||||
                        row.parent_path = stationName;
 | 
			
		||||
 | 
			
		||||
                        //full_name 其實是點位名稱 point_name 
 | 
			
		||||
                        row.full_name = conPoint.Where(x => x.name == item2.Name).Select(x => x.displayName).FirstOrDefault();
 | 
			
		||||
                        row.full_name = conPoint.Where(x => x.name == tagName).Select(x => x.displayName).FirstOrDefault();
 | 
			
		||||
 | 
			
		||||
                        result.Add(row);
 | 
			
		||||
 | 
			
		||||
                    } else if (tagName.Split('_').Length == 6) 
 | 
			
		||||
                    { //巨蛋 tag 5 段版本
 | 
			
		||||
                    
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                } 
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            #endregion
 | 
			
		||||
 | 
			
		||||
            return result;
 | 
			
		||||
        }
 | 
			
		||||
        //private static void getRefData(string urlString, string encoded, List<control_point> conPoint, List<ImpNiaItem> result, Welcome data ) //obixHistory data
 | 
			
		||||
        //{
 | 
			
		||||
        //    foreach (var item in data.Obj.Ref)
 | 
			
		||||
        //    {
 | 
			
		||||
        //        //var item = data.Obj.Ref;
 | 
			
		||||
        //        String API_Url2 = urlString + "/" + item.Name;
 | 
			
		||||
 | 
			
		||||
        //        HttpWebRequest Postrequest2 = (HttpWebRequest)WebRequest.Create(API_Url2);
 | 
			
		||||
        //        Postrequest2.Method = "GET";
 | 
			
		||||
        //        Postrequest2.Headers.Add("Authorization", "Basic " + encoded);
 | 
			
		||||
        //        Postrequest2.PreAuthenticate = true;
 | 
			
		||||
 | 
			
		||||
        //        HttpWebResponse response2 = (HttpWebResponse)Postrequest2.GetResponse();
 | 
			
		||||
        //        var responseString2 = new StreamReader(response2.GetResponseStream()).ReadToEnd();
 | 
			
		||||
 | 
			
		||||
        //        XmlDocument xmlDoc2 = new XmlDocument();
 | 
			
		||||
        //        xmlDoc2.LoadXml(responseString2);
 | 
			
		||||
 | 
			
		||||
        //        string jsonText2 = JsonConvert.SerializeXmlNode(xmlDoc2);
 | 
			
		||||
        //        var data2 = Welcome.FromJson(jsonText2);
 | 
			
		||||
 | 
			
		||||
        //        foreach (var item2 in data2.Obj.Ref)
 | 
			
		||||
        //        {
 | 
			
		||||
        //            if (item2.Name.Split('_').Length == 9)
 | 
			
		||||
        //            {
 | 
			
		||||
        //                ImpNiaItem row = new ImpNiaItem();
 | 
			
		||||
        //                row.device_area_tag = item2.Name.Split('_')[0];
 | 
			
		||||
        //                row.device_building_tag = item2.Name.Split('_')[1];
 | 
			
		||||
        //                row.device_system_tag = item2.Name.Split('_')[2];
 | 
			
		||||
        //                row.device_name_tag = item2.Name.Split('_')[3];
 | 
			
		||||
        //                row.device_point_name = item2.Name.Split('_')[8];
 | 
			
		||||
        //                row.parent_path = item.Name;
 | 
			
		||||
 | 
			
		||||
        //                //full_name 其實是點位名稱 point_name 
 | 
			
		||||
        //                row.full_name = conPoint.Where(x => x.name == item2.Name).Select(x => x.displayName).FirstOrDefault();
 | 
			
		||||
 | 
			
		||||
        //                result.Add(row);
 | 
			
		||||
        //            }
 | 
			
		||||
        //        }
 | 
			
		||||
        //    }
 | 
			
		||||
        //}
 | 
			
		||||
 | 
			
		||||
        //private static void getRefData(string urlString, string encoded, List<control_point> conPoint, List<ImpNiaItem> result, Welcome4 data)
 | 
			
		||||
        //{
 | 
			
		||||
        //    foreach (var item in data.Obj.Ref)
 | 
			
		||||
        //    {
 | 
			
		||||
        //        String API_Url2 = urlString + "/" + item.Name;
 | 
			
		||||
 | 
			
		||||
        //        HttpWebRequest Postrequest2 = (HttpWebRequest)WebRequest.Create(API_Url2);
 | 
			
		||||
        //        Postrequest2.Method = "GET";
 | 
			
		||||
        //        Postrequest2.Headers.Add("Authorization", "Basic " + encoded);
 | 
			
		||||
        //        Postrequest2.PreAuthenticate = true;
 | 
			
		||||
 | 
			
		||||
        //        HttpWebResponse response2 = (HttpWebResponse)Postrequest2.GetResponse();
 | 
			
		||||
        //        var responseString2 = new StreamReader(response2.GetResponseStream()).ReadToEnd();
 | 
			
		||||
 | 
			
		||||
        //        XmlDocument xmlDoc2 = new XmlDocument();
 | 
			
		||||
        //        xmlDoc2.LoadXml(responseString2);
 | 
			
		||||
 | 
			
		||||
        //        string jsonText2 = JsonConvert.SerializeXmlNode(xmlDoc2);
 | 
			
		||||
        //        var data2 = Welcome.FromJson(jsonText2);
 | 
			
		||||
 | 
			
		||||
        //        foreach (var item2 in data2.Obj.Ref)
 | 
			
		||||
        //        {
 | 
			
		||||
        //            if (item2.Name.Split('_').Length == 9)
 | 
			
		||||
        //            {
 | 
			
		||||
        //                ImpNiaItem row = new ImpNiaItem();
 | 
			
		||||
        //                row.device_area_tag = item2.Name.Split('_')[0];
 | 
			
		||||
        //                row.device_building_tag = item2.Name.Split('_')[1];
 | 
			
		||||
        //                row.device_system_tag = item2.Name.Split('_')[2];
 | 
			
		||||
        //                row.device_name_tag = item2.Name.Split('_')[3];
 | 
			
		||||
        //                row.device_point_name = item2.Name.Split('_')[8];
 | 
			
		||||
        //                row.parent_path = item.Name;
 | 
			
		||||
 | 
			
		||||
        //                //full_name 其實是點位名稱 point_name 
 | 
			
		||||
        //                row.full_name = conPoint.Where(x => x.name == item2.Name).Select(x => x.displayName).FirstOrDefault();
 | 
			
		||||
 | 
			
		||||
        //                result.Add(row);
 | 
			
		||||
        //            }
 | 
			
		||||
        //        }
 | 
			
		||||
        //    }
 | 
			
		||||
        //}
 | 
			
		||||
 | 
			
		||||
        //public void getObix()
 | 
			
		||||
        //{
 | 
			
		||||
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| 
		 After Width: | Height: | Size: 222 KiB  | 
							
								
								
									
										167
									
								
								Repository/Models/obixHistory.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										167
									
								
								Repository/Models/obixHistory.cs
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,167 @@
 | 
			
		||||
using Newtonsoft.Json.Converters;
 | 
			
		||||
using Newtonsoft.Json;
 | 
			
		||||
using System.Globalization;
 | 
			
		||||
using System; 
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
namespace Repository.Models.CodeBeautify
 | 
			
		||||
{
 | 
			
		||||
    //public class obixHistory
 | 
			
		||||
    //{
 | 
			
		||||
    //} 
 | 
			
		||||
    public partial class obixHistory
 | 
			
		||||
    {
 | 
			
		||||
        [JsonProperty("obj")]
 | 
			
		||||
        public Objs Obj { get; set; }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public class Objs
 | 
			
		||||
    {
 | 
			
		||||
        [JsonProperty("ref")]
 | 
			
		||||
        public Refs Ref { get; set; }
 | 
			
		||||
 | 
			
		||||
        [JsonProperty("_xmlns")]
 | 
			
		||||
        public Uri Xmlns { get; set; }
 | 
			
		||||
 | 
			
		||||
        [JsonProperty("_xmlns:xsi")]
 | 
			
		||||
        public Uri XmlnsXsi { get; set; }
 | 
			
		||||
 | 
			
		||||
        [JsonProperty("_href")]
 | 
			
		||||
        public Uri Href { get; set; }
 | 
			
		||||
 | 
			
		||||
        [JsonProperty("_display")]
 | 
			
		||||
        public string Display { get; set; }
 | 
			
		||||
 | 
			
		||||
        [JsonProperty("_icon")]
 | 
			
		||||
        public string Icon { get; set; }
 | 
			
		||||
 | 
			
		||||
        [JsonProperty("_xsi:schemaLocation")]
 | 
			
		||||
        public Uri XsiSchemaLocation { get; set; }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public class Refs
 | 
			
		||||
    {
 | 
			
		||||
        [JsonProperty("_name")]
 | 
			
		||||
        public string Name { get; set; }
 | 
			
		||||
 | 
			
		||||
        [JsonProperty("_href")]
 | 
			
		||||
        public string Href { get; set; }
 | 
			
		||||
 | 
			
		||||
        [JsonProperty("_display")]
 | 
			
		||||
        public string Display { get; set; }
 | 
			
		||||
 | 
			
		||||
        [JsonProperty("_icon")]
 | 
			
		||||
        public string Icon { get; set; }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public partial class obixHistory
 | 
			
		||||
    {
 | 
			
		||||
        public static obixHistory FromJson(string json) => JsonConvert.DeserializeObject<obixHistory>(json, CodeBeautify.Converter.Settings);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static class Serialize
 | 
			
		||||
    {
 | 
			
		||||
        public static string ToJson(this obixHistory self) => JsonConvert.SerializeObject(self, CodeBeautify.Converter.Settings);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    internal static class Converter
 | 
			
		||||
    {
 | 
			
		||||
        public static readonly JsonSerializerSettings Settings = new JsonSerializerSettings
 | 
			
		||||
        {
 | 
			
		||||
            MetadataPropertyHandling = MetadataPropertyHandling.Ignore,
 | 
			
		||||
            DateParseHandling = DateParseHandling.None,
 | 
			
		||||
            Converters =
 | 
			
		||||
            {
 | 
			
		||||
                new IsoDateTimeConverter { DateTimeStyles = DateTimeStyles.AssumeUniversal }
 | 
			
		||||
            },
 | 
			
		||||
        };
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// <auto-generated />
 | 
			
		||||
//
 | 
			
		||||
// To parse this JSON data, add NuGet 'Newtonsoft.Json' then do:
 | 
			
		||||
//
 | 
			
		||||
//    using CodeBeautify;
 | 
			
		||||
//
 | 
			
		||||
//    var welcome4 = Welcome4.FromJson(jsonString);
 | 
			
		||||
 | 
			
		||||
//namespace CodeBeautify
 | 
			
		||||
//{
 | 
			
		||||
//    using System;
 | 
			
		||||
//    using System.Collections.Generic;
 | 
			
		||||
 | 
			
		||||
//    using System.Globalization;
 | 
			
		||||
//    using Newtonsoft.Json;
 | 
			
		||||
//    using Newtonsoft.Json.Converters;
 | 
			
		||||
 | 
			
		||||
//    public partial class Welcome4
 | 
			
		||||
//    {
 | 
			
		||||
//        [JsonProperty("obj")]
 | 
			
		||||
//        public Obj Obj { get; set; }
 | 
			
		||||
//    }
 | 
			
		||||
 | 
			
		||||
//    public partial class Obj
 | 
			
		||||
//    {
 | 
			
		||||
//        [JsonProperty("ref")]
 | 
			
		||||
//        public Ref Ref { get; set; }
 | 
			
		||||
 | 
			
		||||
//        [JsonProperty("_xmlns")]
 | 
			
		||||
//        public Uri Xmlns { get; set; }
 | 
			
		||||
 | 
			
		||||
//        [JsonProperty("_xmlns:xsi")]
 | 
			
		||||
//        public Uri XmlnsXsi { get; set; }
 | 
			
		||||
 | 
			
		||||
//        [JsonProperty("_href")]
 | 
			
		||||
//        public Uri Href { get; set; }
 | 
			
		||||
 | 
			
		||||
//        [JsonProperty("_display")]
 | 
			
		||||
//        public string Display { get; set; }
 | 
			
		||||
 | 
			
		||||
//        [JsonProperty("_icon")]
 | 
			
		||||
//        public string Icon { get; set; }
 | 
			
		||||
 | 
			
		||||
//        [JsonProperty("_xsi:schemaLocation")]
 | 
			
		||||
//        public Uri XsiSchemaLocation { get; set; }
 | 
			
		||||
//    }
 | 
			
		||||
 | 
			
		||||
//    public partial class Ref
 | 
			
		||||
//    {
 | 
			
		||||
//        [JsonProperty("_name")]
 | 
			
		||||
//        public string Name { get; set; }
 | 
			
		||||
 | 
			
		||||
//        [JsonProperty("_href")]
 | 
			
		||||
//        public string Href { get; set; }
 | 
			
		||||
 | 
			
		||||
//        [JsonProperty("_display")]
 | 
			
		||||
//        public string Display { get; set; }
 | 
			
		||||
 | 
			
		||||
//        [JsonProperty("_icon")]
 | 
			
		||||
//        public string Icon { get; set; }
 | 
			
		||||
//    }
 | 
			
		||||
 | 
			
		||||
//    public partial class Welcome4
 | 
			
		||||
//    {
 | 
			
		||||
//        public static Welcome4 FromJson(string json) => JsonConvert.DeserializeObject<Welcome4>(json, CodeBeautify.Converter.Settings);
 | 
			
		||||
//    }
 | 
			
		||||
 | 
			
		||||
//    public static class Serialize
 | 
			
		||||
//    {
 | 
			
		||||
//        public static string ToJson(this Welcome4 self) => JsonConvert.SerializeObject(self, CodeBeautify.Converter.Settings);
 | 
			
		||||
//    }
 | 
			
		||||
 | 
			
		||||
//    internal static class Converter
 | 
			
		||||
//    {
 | 
			
		||||
//        public static readonly JsonSerializerSettings Settings = new JsonSerializerSettings
 | 
			
		||||
//        {
 | 
			
		||||
//            MetadataPropertyHandling = MetadataPropertyHandling.Ignore,
 | 
			
		||||
//            DateParseHandling = DateParseHandling.None,
 | 
			
		||||
//            Converters =
 | 
			
		||||
//            {
 | 
			
		||||
//                new IsoDateTimeConverter { DateTimeStyles = DateTimeStyles.AssumeUniversal }
 | 
			
		||||
//            },
 | 
			
		||||
//        };
 | 
			
		||||
//    }
 | 
			
		||||
//}
 | 
			
		||||
@ -1,4 +1,5 @@
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Globalization;
 | 
			
		||||
using Newtonsoft.Json;
 | 
			
		||||
using Newtonsoft.Json.Converters;
 | 
			
		||||
@ -19,6 +20,11 @@ namespace Repository.Models
 | 
			
		||||
 | 
			
		||||
    public partial class Obj
 | 
			
		||||
    {
 | 
			
		||||
        [JsonProperty("@href")]
 | 
			
		||||
        public string? href { get; set; }
 | 
			
		||||
        [JsonProperty("@icon")]
 | 
			
		||||
        public string? icon { get; set; }
 | 
			
		||||
 | 
			
		||||
        [JsonProperty("@display")]
 | 
			
		||||
        public string Display { get; set; }
 | 
			
		||||
 | 
			
		||||
@ -36,6 +42,7 @@ namespace Repository.Models
 | 
			
		||||
 | 
			
		||||
        [JsonProperty("ref")]
 | 
			
		||||
        public Str[] Ref { get; set; }
 | 
			
		||||
        //public Ref Ref { get; set; }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public partial class Str
 | 
			
		||||
@ -48,15 +55,25 @@ namespace Repository.Models
 | 
			
		||||
 | 
			
		||||
        [JsonProperty("@href")]
 | 
			
		||||
        public string Href { get; set; }
 | 
			
		||||
        [JsonProperty("@display")]
 | 
			
		||||
        public string display { get; set; }
 | 
			
		||||
        [JsonProperty("@_icon")]
 | 
			
		||||
        public string _icon { get; set; }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public partial class Ref
 | 
			
		||||
    public class Ref
 | 
			
		||||
    {
 | 
			
		||||
        [JsonProperty("@name")]
 | 
			
		||||
        [JsonProperty("_name")]
 | 
			
		||||
        public string Name { get; set; }
 | 
			
		||||
 | 
			
		||||
        [JsonProperty("@href")]
 | 
			
		||||
        [JsonProperty("_href")]
 | 
			
		||||
        public string Href { get; set; }
 | 
			
		||||
 | 
			
		||||
        [JsonProperty("_display")]
 | 
			
		||||
        public string Display { get; set; }
 | 
			
		||||
 | 
			
		||||
        [JsonProperty("_icon")]
 | 
			
		||||
        public string Icon { get; set; }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public partial class Xml
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user