Merge branch 'master' of https://gitea.mjm-staging.developers-homelab.net/BIMS/BIMS
This commit is contained in:
		
						commit
						84eecefd2d
					
				
							
								
								
									
										96
									
								
								Backend/N4v1021.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										96
									
								
								Backend/N4v1021.xml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,96 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<?xml-stylesheet type='text/xsl' href='/obix/xsl'?>
 | 
			
		||||
<obj display="Component" xmlns="http://obix.org/ns/schema/1.0" xsi:schemaLocation="http://obix.org/ns/schema/1.0 /obix/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 | 
			
		||||
  <str name="res" val="/TPE/B1/EE/E4/R2F/NA/WHT/N1/V1/" href="res/" />
 | 
			
		||||
  <str name="res1" val="/TPE/B1/EE/E4/R2F/NA/WHT/N1/V2/" href="res1/" />
 | 
			
		||||
  <str name="res2" val="/TPE/B1/EE/E4/R2F/NA/WHT/N1/V3/" href="res2/" />
 | 
			
		||||
  <str name="res3" val="/TPE/B1/EE/E4/R2F/NA/WHT/N1/A1/" href="res3/" />
 | 
			
		||||
  <str name="res4" val="/TPE/B1/EE/E4/R2F/NA/WHT/N1/A2/" href="res4/" />
 | 
			
		||||
  <str name="res5" val="/TPE/B1/EE/E4/R2F/NA/WHT/N1/A3/" href="res5/" />
 | 
			
		||||
  <str name="res6" val="/TPE/B1/EE/E4/R2F/NA/WHT/N1/P/" href="res6/" />
 | 
			
		||||
  <str name="res7" val="/TPE/B1/EE/E4/R2F/NA/WHT/N1/Q/" href="res7/" />
 | 
			
		||||
  <str name="res8" val="/TPE/B1/EE/E4/R2F/NA/WHT/N1/KWH/" href="res8/" />
 | 
			
		||||
  <str name="res9" val="/TPE/B1/EE/E4/R2F/NA/WHT/N1/KVARH/" href="res9/" />
 | 
			
		||||
  <str name="res10" val="/TPE/B1/EE/E4/R2F/NA/WHT/N1/F/" href="res10/" />
 | 
			
		||||
  <str name="res11" val="/TPE/B1/EE/E4/R2F/NA/WHT/N1/PF/" href="res11/" />
 | 
			
		||||
  <str name="res12" val="/TPE/B1/LT/L1/U1F/NA/EHL/N1/SSC/" href="res12/" />
 | 
			
		||||
  <str name="res13" val="/TPE/B1/LT/L1/U1F/NA/EHL/N1/ST/" href="res13/" />
 | 
			
		||||
  <str name="res14" val="/TPE/B1/LT/L1/U1F/NA/EHL/N2/SSC/" href="res14/" />
 | 
			
		||||
  <str name="res15" val="/TPE/B1/LT/L1/U1F/NA/EHL/N2/ST/" href="res15/" />
 | 
			
		||||
  <str name="res16" val="/TPE/B1/LT/L1/U1F/NA/EHL/N3/SSC/" href="res16/" />
 | 
			
		||||
  <str name="res17" val="/TPE/B1/LT/L1/U1F/NA/EHL/N3/ST/" href="res17/" />
 | 
			
		||||
  <str name="res18" val="/TPE/B1/ME/M10/U1F/NA/FCU/N1/SP_SSC/" href="res18/" />
 | 
			
		||||
  <str name="res19" val="/TPE/B1/ME/M10/U1F/NA/FCU/N1/SP_MD/" href="res19/" />
 | 
			
		||||
  <str name="res20" val="/TPE/B1/ME/M10/U1F/NA/FCU/N1/SP_Temp/" href="res20/" />
 | 
			
		||||
  <str name="res21" val="/TPE/B1/ME/M10/U1F/NA/FCU/N1/SP_AF/" href="res21/" />
 | 
			
		||||
  <str name="res22" val="/TPE/B1/ME/M10/U1F/NA/FCU/N1/SP_AD/" href="res22/" />
 | 
			
		||||
  <str name="res23" val="/TPE/B1/ME/M10/U1F/NA/FCU/N1/Temp/" href="res23/" />
 | 
			
		||||
  <str name="res24" val="/TPE/B1/ME/M10/U1F/NA/FCU/N1/AL/" href="res24/" />
 | 
			
		||||
  <str name="res25" val="/TPE/B1/ME/M10/U1F/NA/FCU/N1/SSC/" href="res25/" />
 | 
			
		||||
  <str name="res26" val="/TPE/B1/ME/M10/U1F/NA/FCU/N1/STA_MD/" href="res26/" />
 | 
			
		||||
  <str name="res27" val="/TPE/B1/ME/M10/U1F/NA/FCU/N1/ST/" href="res27/" />
 | 
			
		||||
  <str name="res28" val="/TPE/B1/ME/M10/U1F/NA/FCU/N2/SP_SSC/" href="res28/" />
 | 
			
		||||
  <str name="res29" val="/TPE/B1/ME/M10/U1F/NA/FCU/N2/SP_MD/" href="res29/" />
 | 
			
		||||
  <str name="res30" val="/TPE/B1/ME/M10/U1F/NA/FCU/N2/SP_Temp/" href="res30/" />
 | 
			
		||||
  <str name="res31" val="/TPE/B1/ME/M10/U1F/NA/FCU/N2/SP_AF/" href="res31/" />
 | 
			
		||||
  <str name="res32" val="/TPE/B1/ME/M10/U1F/NA/FCU/N2/SP_AD/" href="res32/" />
 | 
			
		||||
  <str name="res33" val="/TPE/B1/ME/M10/U1F/NA/FCU/N2/Temp/" href="res33/" />
 | 
			
		||||
  <str name="res34" val="/TPE/B1/ME/M10/U1F/NA/FCU/N2/AL/" href="res34/" />
 | 
			
		||||
  <str name="res35" val="/TPE/B1/ME/M10/U1F/NA/FCU/N2/SSC/" href="res35/" />
 | 
			
		||||
  <str name="res36" val="/TPE/B1/ME/M10/U1F/NA/FCU/N2/STA_MD/" href="res36/" />
 | 
			
		||||
  <str name="res37" val="/TPE/B1/ME/M10/U1F/NA/FCU/N2/ST/" href="res37/" />
 | 
			
		||||
  <str name="res38" val="/TPE/B1/ME/M10/U1F/NA/FCU/N3/SP_SSC/" href="res38/" />
 | 
			
		||||
  <str name="res39" val="/TPE/B1/ME/M10/U1F/NA/FCU/N3/SP_MD/" href="res39/" />
 | 
			
		||||
  <str name="res40" val="/TPE/B1/ME/M10/U1F/NA/FCU/N3/SP_Temp/" href="res40/" />
 | 
			
		||||
  <str name="res41" val="/TPE/B1/ME/M10/U1F/NA/FCU/N3/SP_AF/" href="res41/" />
 | 
			
		||||
  <str name="res42" val="/TPE/B1/ME/M10/U1F/NA/FCU/N3/SP_AD/" href="res42/" />
 | 
			
		||||
  <str name="res43" val="/TPE/B1/ME/M10/U1F/NA/FCU/N3/Temp/" href="res43/" />
 | 
			
		||||
  <str name="res44" val="/TPE/B1/ME/M10/U1F/NA/FCU/N3/AL/" href="res44/" />
 | 
			
		||||
  <str name="res45" val="/TPE/B1/ME/M10/U1F/NA/FCU/N3/SSC/" href="res45/" />
 | 
			
		||||
  <str name="res46" val="/TPE/B1/ME/M10/U1F/NA/FCU/N3/STA_MD/" href="res46/" />
 | 
			
		||||
  <str name="res47" val="/TPE/B1/ME/M10/U1F/NA/FCU/N3/ST/" href="res47/" />
 | 
			
		||||
  <str name="res48" val="/TPE/B1/ME/M10/U1F/NA/FCU/N4/SP_SSC/" href="res48/" />
 | 
			
		||||
  <str name="res49" val="/TPE/B1/ME/M10/U1F/NA/FCU/N4/SP_MD/" href="res49/" />
 | 
			
		||||
  <str name="res50" val="/TPE/B1/ME/M10/U1F/NA/FCU/N4/SP_Temp/" href="res50/" />
 | 
			
		||||
  <str name="res51" val="/TPE/B1/ME/M10/U1F/NA/FCU/N4/SP_AF/" href="res51/" />
 | 
			
		||||
  <str name="res52" val="/TPE/B1/ME/M10/U1F/NA/FCU/N4/SP_AD/" href="res52/" />
 | 
			
		||||
  <str name="res53" val="/TPE/B1/ME/M10/U1F/NA/FCU/N4/Temp/" href="res53/" />
 | 
			
		||||
  <str name="res54" val="/TPE/B1/ME/M10/U1F/NA/FCU/N4/AL/" href="res54/" />
 | 
			
		||||
  <str name="res55" val="/TPE/B1/ME/M10/U1F/NA/FCU/N4/SSC/" href="res55/" />
 | 
			
		||||
  <str name="res56" val="/TPE/B1/ME/M10/U1F/NA/FCU/N4/STA_MD/" href="res56/" />
 | 
			
		||||
  <str name="res57" val="/TPE/B1/ME/M10/U1F/NA/FCU/N4/ST/" href="res57/" />
 | 
			
		||||
  <str name="res58" val="/TPE/B1/ME/M12/R2F/NA/TH/N1/TEMP/" href="res58/" />
 | 
			
		||||
  <str name="res59" val="/TPE/B1/ME/M12/R2F/NA/TH/N1/RH/" href="res59/" />
 | 
			
		||||
  <str name="res60" val="/TPE/B1/ME/M12/R2F/NA/TH/N1/Or/" href="res60/" />
 | 
			
		||||
  <str name="res61" val="/TPE/B1/ME/M12/R2F/NA/TH/N1/TRIP/" href="res61/" />
 | 
			
		||||
  <str name="res62" val="/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1/ST/" href="res62/" />
 | 
			
		||||
  <str name="res63" val="/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1/TRIP/" href="res63/" />
 | 
			
		||||
  <str name="res64" val="/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1/FRC/" href="res64/" />
 | 
			
		||||
  <str name="res65" val="/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1/SP_RCS/" href="res65/" />
 | 
			
		||||
  <str name="res66" val="/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1/SP_RO/" href="res66/" />
 | 
			
		||||
  <str name="res67" val="/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1/SP_FLS_1F/" href="res67/" />
 | 
			
		||||
  <str name="res68" val="/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1/SP_FLS_2F/" href="res68/" />
 | 
			
		||||
  <str name="res69" val="/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1/SP_FLS_3F/" href="res69/" />
 | 
			
		||||
  <str name="res70" val="/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1/SP_FLS_4F/" href="res70/" />
 | 
			
		||||
  <str name="res71" val="/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1/SP_FLS_5F/" href="res71/" />
 | 
			
		||||
  <str name="res72" val="/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1/SP_FLS_6F/" href="res72/" />
 | 
			
		||||
  <str name="res73" val="/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1/SP_FLS_7F/" href="res73/" />
 | 
			
		||||
  <str name="res74" val="/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1/SP_FLS_8F/" href="res74/" />
 | 
			
		||||
  <str name="res75" val="/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1/SP_FLS_9F/" href="res75/" />
 | 
			
		||||
  <str name="res76" val="/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1/SP_FLS_10F/" href="res76/" />
 | 
			
		||||
  <str name="res77" val="/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1/SP_FLS_11F/" href="res77/" />
 | 
			
		||||
  <str name="res78" val="/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1/SP_FLS_12F/" href="res78/" />
 | 
			
		||||
  <str name="res79" val="/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1/SP_FLS_13F/" href="res79/" />
 | 
			
		||||
  <str name="res80" val="/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1/DuringFireemergencyreturnoperation/" href="res80/" />
 | 
			
		||||
  <str name="res81" val="/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1/CompletionofreturnbyFireemergencyreturnoperation/" href="res81/" />
 | 
			
		||||
  <str name="res82" val="/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1/DuringEarthquakeoperation/" href="res82/" />
 | 
			
		||||
  <str name="res83" val="/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1/CompletionofEarthquakeoperation/" href="res83/" />
 | 
			
		||||
  <str name="res84" val="/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1/NormalPowerSupply/" href="res84/" />
 | 
			
		||||
  <str name="res85" val="/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1/Emergencypowersourcedetection/" href="res85/" />
 | 
			
		||||
  <str name="res86" val="/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1/DuringEmergencypowercontroloperation/" href="res86/" />
 | 
			
		||||
  <str name="res87" val="/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1/CompletionofreturnbyEmergencypowercontroloperation/" href="res87/" />
 | 
			
		||||
  <str name="res88" val="/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1/UP/" href="res88/" />
 | 
			
		||||
  <str name="res89" val="/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1/DOWN/" href="res89/" />
 | 
			
		||||
  <str name="res90" val="/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1/DoorState/" href="res90/" />
 | 
			
		||||
  <str name="res91" val="/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1/MultiVibrator/" href="res91/" />
 | 
			
		||||
</obj>
 | 
			
		||||
@ -26,7 +26,7 @@ namespace Backend.Services.Implement
 | 
			
		||||
 | 
			
		||||
            XmlDocument xmlDoc = new XmlDocument();
 | 
			
		||||
            //xmlDoc.LoadXml(responseString);
 | 
			
		||||
            xmlDoc.Load("N4.xml");//N4v1021
 | 
			
		||||
            xmlDoc.Load("N4v1021.xml");//N4v1021
 | 
			
		||||
 | 
			
		||||
            //xmlDoc.Save("N4.xml");
 | 
			
		||||
 | 
			
		||||
@ -40,7 +40,24 @@ namespace Backend.Services.Implement
 | 
			
		||||
                string[] s1 = item.Val.Split(',');
 | 
			
		||||
 | 
			
		||||
                string[] s2 = s1[0].Split('/');
 | 
			
		||||
                foreach (var ss in s2)
 | 
			
		||||
                row.tag_name = "";
 | 
			
		||||
 | 
			
		||||
                for (int i = 0; i < s2.Length; i++)
 | 
			
		||||
                {
 | 
			
		||||
                    if (i == s2.Length - 2)
 | 
			
		||||
                    {
 | 
			
		||||
                        row.point_name = s2[i];
 | 
			
		||||
                    }
 | 
			
		||||
                    else if (i == 1)
 | 
			
		||||
                    {
 | 
			
		||||
                        row.tag_name += s2[i];
 | 
			
		||||
                    }
 | 
			
		||||
                    else if (i > 1 && i < s2.Length - 2)
 | 
			
		||||
                    {
 | 
			
		||||
                        row.tag_name += "_" + s2[i];
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                /*foreach (var ss in s2)
 | 
			
		||||
                {
 | 
			
		||||
                    if (ss.Contains('_'))
 | 
			
		||||
                    {
 | 
			
		||||
@ -52,7 +69,7 @@ namespace Backend.Services.Implement
 | 
			
		||||
                            break;
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                }*/
 | 
			
		||||
                result.Add(row);
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
@ -11,6 +11,7 @@ using System.Web;
 | 
			
		||||
using Repository.BackendRepository.Interface;
 | 
			
		||||
using Repository.FrontendRepository.Interface;
 | 
			
		||||
using System.IO;
 | 
			
		||||
using static Microsoft.Extensions.Logging.EventSource.LoggingEventSource;
 | 
			
		||||
 | 
			
		||||
namespace FrontendWebApi.ApiControllers
 | 
			
		||||
{
 | 
			
		||||
@ -98,6 +99,19 @@ namespace FrontendWebApi.ApiControllers
 | 
			
		||||
            ApiResult<List<GraphList>> apiResult = new ApiResult<List<GraphList>>();
 | 
			
		||||
            List<GraphList> graManList = new List<GraphList>();
 | 
			
		||||
            try
 | 
			
		||||
            {
 | 
			
		||||
                var param = new { @graph_manage_layer1 = graph_manage_layer1, @graph_manage_layer2 = graph_manage_layer2, @sub_system_tag = gi.sub_system_tag, @main_system_tag = gi.main_system_tag };
 | 
			
		||||
                if (gi.keyWord != null && !string.IsNullOrEmpty(gi.keyWord))
 | 
			
		||||
                {
 | 
			
		||||
                    graManList = await backendRepository.GetAllAsync<GraphList>(@$"SELECT gm.*
 | 
			
		||||
                                    FROM graph_manage gm
 | 
			
		||||
                                    JOIN variable v1 ON v1.system_value = @main_system_tag and v1.system_type = @graph_manage_layer1 and v1.deleted = 0 AND convert(v1.system_value, nchar) = gm.main_system_tag
 | 
			
		||||
                                    JOIN variable v2 ON v1.id = v2.system_parent_id AND v2.system_type = @graph_manage_layer2 AND v2.deleted = 0 and convert(v2.system_value, nchar) = gm.sub_system_tag
 | 
			
		||||
                                    WHERE v2.system_value in @sub_system_tag AND gm.deleted = 0
 | 
			
		||||
                                            AND (gm.code like '%{gi.keyWord}%' OR gm.name like '%{gi.keyWord}%' OR gm.oriOrgName like '%{gi.keyWord}%' OR gm.donOrgName like '%{gi.keyWord}%')
 | 
			
		||||
                                    ORDER BY gm.priority, gm.created_at desc", param);
 | 
			
		||||
                }
 | 
			
		||||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    var sqlString = @$"SELECT gm.*
 | 
			
		||||
                                    FROM graph_manage gm
 | 
			
		||||
@ -106,21 +120,7 @@ namespace FrontendWebApi.ApiControllers
 | 
			
		||||
                                    WHERE v2.system_value in @sub_system_tag AND gm.deleted = 0
 | 
			
		||||
                                    ORDER BY gm.priority, gm.created_at desc";
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                var param = new { @graph_manage_layer1 = graph_manage_layer1, graph_manage_layer2 = graph_manage_layer2, @sub_system_tag = gi.sub_system_tag, @main_system_tag = gi.main_system_tag };
 | 
			
		||||
 | 
			
		||||
                    graManList = await backendRepository.GetAllAsync<GraphList>(sqlString, param);
 | 
			
		||||
 | 
			
		||||
                if (gi.keyWord != null)
 | 
			
		||||
                {
 | 
			
		||||
                    var wParam = new { @graph_manage_layer1 = graph_manage_layer1, graph_manage_layer2 = graph_manage_layer2, @sub_system_tag = gi.sub_system_tag, @main_system_tag = gi.main_system_tag, @keyWord = gi.keyWord };
 | 
			
		||||
                    graManList = await backendRepository.GetAllAsync<GraphList>(@$"SELECT gm.*
 | 
			
		||||
                                    FROM graph_manage gm
 | 
			
		||||
                                    JOIN variable v1 ON v1.system_value = @main_system_tag and v1.system_type = @graph_manage_layer1 and v1.deleted = 0 AND convert(v1.system_value, nchar) = gm.main_system_tag
 | 
			
		||||
                                    JOIN variable v2 ON v1.id = v2.system_parent_id AND v2.system_type = @graph_manage_layer2 AND v2.deleted = 0 and convert(v2.system_value, nchar) = gm.sub_system_tag
 | 
			
		||||
                                    WHERE v2.system_value in @sub_system_tag AND gm.deleted = 0
 | 
			
		||||
                                            AND (code like '%@keyWord%' OR name like '%@keyWord%' OR oriOrgName like '%@keyWord%' OR donOrgName like '%@keyWord%')
 | 
			
		||||
                                    ORDER BY gm.priority, gm.created_at desc", wParam);
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                apiResult.Code = "0000";
 | 
			
		||||
 | 
			
		||||
@ -96,22 +96,18 @@ namespace FrontendWebApi.ApiControllers
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 大樓列表
 | 
			
		||||
        /// 地區列表
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        [HttpPost]
 | 
			
		||||
        public async Task<ApiResult<List<BuildingList>>> BuiList()
 | 
			
		||||
        public async Task<ApiResult<List<BuildingList>>> AreaList()
 | 
			
		||||
        {
 | 
			
		||||
            ApiResult<List<BuildingList>> apiResult = new ApiResult<List<BuildingList>>();
 | 
			
		||||
            List<BuildingList> bl = new List<BuildingList>();
 | 
			
		||||
 | 
			
		||||
            try
 | 
			
		||||
            {
 | 
			
		||||
                var sqlString = @$"select d.device_area_tag, d.device_building_tag, d.device_floor_tag, CONCAT(case when d.device_area_tag='TPE' then '台北市' else '新北市' end, b.full_name, d.device_floor_tag) as full_name
 | 
			
		||||
                                   from device d
 | 
			
		||||
                                   join building b on d.device_building_tag = b.building_tag
 | 
			
		||||
                                   where d.deleted = 0
 | 
			
		||||
                                   group by d.device_area_tag, d.device_building_tag, d.device_floor_tag, b.full_name";
 | 
			
		||||
                var sqlString = @$"select system_key as area_name, system_value as device_area_tag from variable where deleted = 0 and system_type = 'area'";
 | 
			
		||||
 | 
			
		||||
                bl = await backendRepository.GetAllAsync<BuildingList>(sqlString);
 | 
			
		||||
 | 
			
		||||
@ -128,6 +124,71 @@ namespace FrontendWebApi.ApiControllers
 | 
			
		||||
            return apiResult;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 東別列表
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        [HttpPost]
 | 
			
		||||
        public async Task<ApiResult<List<BuildingList>>> BuiList([FromBody] BuildingList b)
 | 
			
		||||
        {
 | 
			
		||||
            ApiResult<List<BuildingList>> apiResult = new ApiResult<List<BuildingList>>();
 | 
			
		||||
            List<BuildingList> bl = new List<BuildingList>();
 | 
			
		||||
 | 
			
		||||
            try
 | 
			
		||||
            {
 | 
			
		||||
                var sqlString = @$"select d.device_building_tag, b.full_name as building_name
 | 
			
		||||
                                   from device d
 | 
			
		||||
                                   join building b on d.device_building_tag = b.building_tag
 | 
			
		||||
                                   where d.deleted = 0 and d.device_area_tag = @device_area_tag
 | 
			
		||||
                                   group by b.building_name, d.device_building_tag";
 | 
			
		||||
 | 
			
		||||
                bl = await backendRepository.GetAllAsync<BuildingList>(sqlString, new { @device_area_tag = b.device_area_tag });
 | 
			
		||||
 | 
			
		||||
                apiResult.Code = "0000";
 | 
			
		||||
                apiResult.Data = bl;
 | 
			
		||||
            }
 | 
			
		||||
            catch (Exception exception)
 | 
			
		||||
            {
 | 
			
		||||
                apiResult.Code = "9999";
 | 
			
		||||
                apiResult.Msg = "系統內部錯誤,請聯絡管理者。";
 | 
			
		||||
                Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            return apiResult;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 樓層列表
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        [HttpPost]
 | 
			
		||||
        public async Task<ApiResult<List<BuildingList>>> FloList([FromBody] BuildingList b)
 | 
			
		||||
        {
 | 
			
		||||
            ApiResult<List<BuildingList>> apiResult = new ApiResult<List<BuildingList>>();
 | 
			
		||||
            List<BuildingList> bl = new List<BuildingList>();
 | 
			
		||||
 | 
			
		||||
            try
 | 
			
		||||
            {
 | 
			
		||||
                var sqlString = @$"select d.device_floor_tag
 | 
			
		||||
                                   from device d
 | 
			
		||||
                                   where d.deleted = 0 and d.device_area_tag = @device_area_tag and d.device_building_tag = @device_building_tag
 | 
			
		||||
                                   group by d.device_floor_tag";
 | 
			
		||||
 | 
			
		||||
                bl = await backendRepository.GetAllAsync<BuildingList>(sqlString, new { @device_area_tag = b.device_area_tag, @device_building_tag = b.device_building_tag });
 | 
			
		||||
 | 
			
		||||
                apiResult.Code = "0000";
 | 
			
		||||
                apiResult.Data = bl;
 | 
			
		||||
            }
 | 
			
		||||
            catch (Exception exception)
 | 
			
		||||
            {
 | 
			
		||||
                apiResult.Code = "9999";
 | 
			
		||||
                apiResult.Msg = "系統內部錯誤,請聯絡管理者。";
 | 
			
		||||
                Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            return apiResult;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 設備列表
 | 
			
		||||
        /// </summary>
 | 
			
		||||
@ -141,9 +202,9 @@ namespace FrontendWebApi.ApiControllers
 | 
			
		||||
            try
 | 
			
		||||
            {
 | 
			
		||||
                var sqlString = @$"select device_number, concat(device_floor_tag, ' ', device_last_name, ' ', device_serial_tag) as device_name
 | 
			
		||||
                                   from device where deleted = 0 and device_building_tag = @device_building_tag and device_floor_tag = @device_floor_tag";
 | 
			
		||||
                                   from device where deleted = 0 and device_area_tag = @device_area_tag and device_building_tag = @device_building_tag and device_floor_tag = @device_floor_tag";
 | 
			
		||||
 | 
			
		||||
                var param = new { @device_building_tag = bl.device_building_tag, @device_floor_tag = bl.device_floor_tag };
 | 
			
		||||
                var param = new { @device_building_tag = bl.device_building_tag, @device_floor_tag = bl.device_floor_tag, @device_area_tag = bl.device_area_tag };
 | 
			
		||||
 | 
			
		||||
                d = await backendRepository.GetAllAsync<Device>(sqlString, param);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -166,7 +166,7 @@ namespace tpDomeWinAPP.Service
 | 
			
		||||
 | 
			
		||||
            XmlDocument xmlDoc = new XmlDocument();
 | 
			
		||||
            //xmlDoc.LoadXml(responseString);
 | 
			
		||||
            xmlDoc.Load("N4.xml");
 | 
			
		||||
            xmlDoc.Load("N4v1021.xml");//N4v1021
 | 
			
		||||
 | 
			
		||||
            //xmlDoc.Save("N4.xml");
 | 
			
		||||
 | 
			
		||||
@ -182,9 +182,26 @@ namespace tpDomeWinAPP.Service
 | 
			
		||||
                device_value2 row = new device_value2();
 | 
			
		||||
                row.value = item.Val;
 | 
			
		||||
                string[] s1 = item.Val.Split(',');
 | 
			
		||||
                
 | 
			
		||||
                string[] s2 = s1[0].Split('/');
 | 
			
		||||
                foreach (var ss in s2)
 | 
			
		||||
                row.tag_name = "";
 | 
			
		||||
 | 
			
		||||
                for (int i = 0; i < s2.Length; i++)
 | 
			
		||||
                {
 | 
			
		||||
                    if (i == s2.Length - 2)
 | 
			
		||||
                    {
 | 
			
		||||
                        row.point_name = s2[i];
 | 
			
		||||
                    }
 | 
			
		||||
                    else if (i == 1)
 | 
			
		||||
                    {
 | 
			
		||||
                        row.tag_name += s2[i];
 | 
			
		||||
                    }
 | 
			
		||||
                    else if (i > 1 && i < s2.Length - 2)
 | 
			
		||||
                    {
 | 
			
		||||
                        row.tag_name += "_" + s2[i];
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                /*foreach (var ss in s2)
 | 
			
		||||
                {
 | 
			
		||||
                    if (ss.Contains('_'))
 | 
			
		||||
                    {
 | 
			
		||||
@ -208,6 +225,7 @@ namespace tpDomeWinAPP.Service
 | 
			
		||||
                    //    //}
 | 
			
		||||
                    //}
 | 
			
		||||
                }
 | 
			
		||||
                */
 | 
			
		||||
                result.Add(row);
 | 
			
		||||
                //row.tag_name = s2.Where( x => x.Contains("_") && 
 | 
			
		||||
                //    (x.Contains("H") || x.Contains("O") || x.Contains("C") || x.Contains("D") || x.Contains("M")))
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user