[後端] 修改同步device item is_history, 修改燈控排程api, 修改區域選單的left join 問題
This commit is contained in:
parent
9a3b098ee0
commit
c324a37fe9
@ -383,9 +383,9 @@ namespace Backend.Controllers
|
|||||||
from building_menu bm
|
from building_menu bm
|
||||||
join variable mv on bm.main_system_tag = mv.system_value and mv.system_type = @main_system_type and mv.deleted = 0
|
join variable mv on bm.main_system_tag = mv.system_value and mv.system_type = @main_system_type and mv.deleted = 0
|
||||||
join variable sv on bm.sub_system_tag = sv.system_value and sv.system_type = @sub_system_type and sv.deleted = 0
|
join variable sv on bm.sub_system_tag = sv.system_value and sv.system_type = @sub_system_type and sv.deleted = 0
|
||||||
join floor lf on lf.floor_guid = bm.left_planimetric_floor_guid
|
left join floor lf on lf.floor_guid = bm.left_planimetric_floor_guid
|
||||||
join floor rf on rf.floor_guid = bm.right_planimetric_floor_guid
|
left join floor rf on rf.floor_guid = bm.right_planimetric_floor_guid
|
||||||
where bm.building_tag = @building_tag and bm.main_system_tag in @MainList
|
where bm.building_tag = @building_tag and bm.main_system_tag in @MainList and bm.is_link > 0
|
||||||
ORDER BY bm.priority, mv.system_priority ASC, sv.system_priority ASC, sv.created_at DESC ",
|
ORDER BY bm.priority, mv.system_priority ASC, sv.system_priority ASC, sv.created_at DESC ",
|
||||||
new { building_tag = post.building_tag, MainList = post.MainList, main_system_type = main_system_type, sub_system_type = sub_system_type });
|
new { building_tag = post.building_tag, MainList = post.MainList, main_system_type = main_system_type, sub_system_type = sub_system_type });
|
||||||
|
|
||||||
|
@ -235,23 +235,23 @@ namespace Backend.Services.Implement
|
|||||||
|
|
||||||
result.Add(row);
|
result.Add(row);
|
||||||
}
|
}
|
||||||
else if (tagName.Split('_').Length == 7)
|
else if (tagName.Split('_').Length == 6)
|
||||||
{ //巨蛋 tag 5 段版本
|
{ //巨蛋 tag 5 段版本
|
||||||
ImpNiaItem row = new ImpNiaItem();
|
ImpNiaItem row = new ImpNiaItem();
|
||||||
if (tagName.Split('_')[2] == "S" || tagName.Split('_')[2] == "B" || tagName.Split('_')[2] == "CWB") //for security system and parking system
|
if (tagName.Split('_')[1] == "S" || tagName.Split('_')[1] == "B" || tagName.Split('_')[1] == "CWB") //for security system and parking system
|
||||||
{
|
{
|
||||||
row.device_building_tag = tagName.Split('_')[1];
|
row.device_building_tag = tagName.Split('_')[0];
|
||||||
row.device_system_tag = tagName.Split('_')[2];
|
row.device_system_tag = tagName.Split('_')[1];
|
||||||
row.device_floor_tag = tagName.Split('_')[3];
|
row.device_floor_tag = tagName.Split('_')[2];
|
||||||
row.device_name_tag = tagName.Split('_')[4];
|
row.device_name_tag = tagName.Split('_')[3];
|
||||||
row.device_point_name = tagName.Split('_')[6];
|
row.device_point_name = tagName.Split('_')[5];
|
||||||
}
|
}
|
||||||
else //for normal
|
else //for normal
|
||||||
{
|
{
|
||||||
row.device_building_tag = tagName.Split('_')[1];
|
row.device_building_tag = tagName.Split('_')[0];
|
||||||
row.device_floor_tag = tagName.Split('_')[3];
|
row.device_floor_tag = tagName.Split('_')[2];
|
||||||
row.device_name_tag = tagName.Split('_')[2];
|
row.device_name_tag = tagName.Split('_')[1];
|
||||||
row.device_point_name = tagName.Split('_')[6];
|
row.device_point_name = tagName.Split('_')[5];
|
||||||
}
|
}
|
||||||
|
|
||||||
row.parent_path = stationName;
|
row.parent_path = stationName;
|
||||||
|
@ -22,8 +22,8 @@
|
|||||||
//"Database": "siTUcDaC/g2yGTMFWD72Kg==", //tpe_dome_hotel
|
//"Database": "siTUcDaC/g2yGTMFWD72Kg==", //tpe_dome_hotel
|
||||||
//"Database": "iuaY0h0+TWkir44/eZLDqw==", //tpe_dome_office
|
//"Database": "iuaY0h0+TWkir44/eZLDqw==", //tpe_dome_office
|
||||||
//"Database": "Rq7Gn4x6LwBvVtl7GY8LbA==", //mcut
|
//"Database": "Rq7Gn4x6LwBvVtl7GY8LbA==", //mcut
|
||||||
"Database": "+5RAiFLJVU+LRyDxF1K/pcLZaoZa4k/thZqF6xKoCag=", //dome_online_0821
|
//"Database": "+5RAiFLJVU+LRyDxF1K/pcLZaoZa4k/thZqF6xKoCag=", //dome_online_0821
|
||||||
//"Database": "2U+9jYGy0dCbMzLaguBXow==", //tpe_dome_mall
|
"Database": "2U+9jYGy0dCbMzLaguBXow==", //tpe_dome_mall
|
||||||
//"Database": "FbHCCU4CapG9UryANXC1W+iMe403Bd82RnA7bCNVbL0=", //ibms_dome_cinema,
|
//"Database": "FbHCCU4CapG9UryANXC1W+iMe403Bd82RnA7bCNVbL0=", //ibms_dome_cinema,
|
||||||
"Root": "SzdxEgaJJ7tcTCrUl2zKsA==",
|
"Root": "SzdxEgaJJ7tcTCrUl2zKsA==",
|
||||||
"Password": "FVAPxztxpY4gJJKQ/se4bQ=="
|
"Password": "FVAPxztxpY4gJJKQ/se4bQ=="
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
using FrontendWebApi.Models;
|
using FrontendWebApi.Models;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using Microsoft.CodeAnalysis.CSharp.Syntax;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
using Repository.BackendRepository.Implement;
|
||||||
using Repository.BackendRepository.Interface;
|
using Repository.BackendRepository.Interface;
|
||||||
using Repository.FrontendRepository.Interface;
|
using Repository.FrontendRepository.Interface;
|
||||||
using System;
|
using System;
|
||||||
@ -46,7 +48,7 @@ namespace FrontendWebApi.ApiControllers
|
|||||||
",new { floor_guid = post.floor_guid});
|
",new { floor_guid = post.floor_guid});
|
||||||
|
|
||||||
lightDevices = await backendRepository.GetAllAsync<lightDevice>($@"
|
lightDevices = await backendRepository.GetAllAsync<lightDevice>($@"
|
||||||
select * from device where device_building_tag = '{post.building_tag}' and device_name_tag = '{post.sub_system_tag}' and device_floor_tag = '{floor_tag}' and deleted = 0 and status = 0 order by priority
|
select * from device where device_building_tag = '{post.building_tag}' and device_name_tag = '{post.sub_system_tag}' and device_floor_tag = '{floor_tag}' and deleted = 0 order by priority
|
||||||
");
|
");
|
||||||
|
|
||||||
if(!String.IsNullOrEmpty(post.schedule_guid))
|
if(!String.IsNullOrEmpty(post.schedule_guid))
|
||||||
@ -326,13 +328,18 @@ namespace FrontendWebApi.ApiControllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
var deviceNumList = await backendRepository.GetAllAsync<string>(@$"select d.device_number from schedule_device sd left join device d on sd.device_guid = d.device_guid
|
var deviceNumList = await backendRepository.GetAllAsync<string>(@$"select d.device_number from schedule_device sd left join device d on sd.device_guid = d.device_guid
|
||||||
where light_schedule_guid = '{guid}'");
|
where light_schedule_guid = '
|
||||||
|
{guid}'");
|
||||||
|
|
||||||
foreach(var deviceNum in deviceNumList)
|
var variableObix = await backendRepository.GetAllAsync<KeyValue>("SELECT system_value as Value, system_key as Name FROM variable WHERE deleted = 0 AND system_type = 'obixConfig'");
|
||||||
|
string url = variableObix.Where(x => x.Name == "ApiBase").Select(x => x.Value).FirstOrDefault();
|
||||||
|
string account = variableObix.Where(x => x.Name == "UserName").Select(x => x.Value).FirstOrDefault();
|
||||||
|
string pass = variableObix.Where(x => x.Name == "Password").Select(x => x.Value).FirstOrDefault();
|
||||||
|
foreach (var deviceNum in deviceNumList)
|
||||||
{
|
{
|
||||||
var d = deviceNum.Split("_");
|
var d = deviceNum.Split("_");
|
||||||
var html = "http://greencloud.fic.com.tw:8080/obix/config/Arena/"+$"{d[0]}/{d[1]}/{d[2]}/{d[3]}/{deviceNum}/SSC/set";
|
var html = $"{url}/obix/config/Arena/" + $"{d[0]}/{d[1]}/{d[2]}/{d[3]}/{deviceNum}/SSC/set";
|
||||||
string authInfo = "AR_Light" + ":" + "Light12345";
|
string authInfo = account + ":" + pass;
|
||||||
authInfo = Convert.ToBase64String(Encoding.Default.GetBytes(authInfo));
|
authInfo = Convert.ToBase64String(Encoding.Default.GetBytes(authInfo));
|
||||||
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(html);
|
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(html);
|
||||||
request.Method = "POST";
|
request.Method = "POST";
|
||||||
|
@ -630,9 +630,7 @@ namespace Repository.BackendRepository.Implement
|
|||||||
ON d.device_system_tag = m.device_system_tag
|
ON d.device_system_tag = m.device_system_tag
|
||||||
AND d.device_name_tag = m.device_name_tag
|
AND d.device_name_tag = m.device_name_tag
|
||||||
AND d.points = m.device_point_name
|
AND d.points = m.device_point_name
|
||||||
SET d.is_link = CASE WHEN m.device_point_name IS NULL THEN 0 ELSE 1 END;
|
SET d.is_link = CASE WHEN m.device_point_name IS NULL THEN 0 ELSE 1 END;");
|
||||||
|
|
||||||
");
|
|
||||||
|
|
||||||
using (TransactionScope scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
|
using (TransactionScope scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
|
||||||
{
|
{
|
||||||
@ -651,8 +649,7 @@ namespace Repository.BackendRepository.Implement
|
|||||||
ON d.device_system_tag = subquery.device_system_tag
|
ON d.device_system_tag = subquery.device_system_tag
|
||||||
AND d.device_name_tag = subquery.device_name_tag
|
AND d.device_name_tag = subquery.device_name_tag
|
||||||
AND d.points = subquery.device_point_name
|
AND d.points = subquery.device_point_name
|
||||||
SET d.is_show_history = CASE WHEN subquery.device_point_name IS NULL THEN 0 ELSE 1 END
|
SET d.is_show_history = CASE WHEN subquery.device_point_name IS NULL THEN 0 ELSE 1 END");
|
||||||
WHERE (d.is_show_history);");
|
|
||||||
|
|
||||||
using (TransactionScope scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
|
using (TransactionScope scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user