This commit is contained in:
dev02 2023-06-08 09:55:50 +08:00
commit 8e727303d4
11 changed files with 3563 additions and 146 deletions

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 105 KiB

View File

@ -108,7 +108,7 @@ namespace FrontendWebApi.ApiControllers
[HttpPost]
[Route("api/EmergencyDevice")]
public async Task<ActionResult<ApiResult<List<deviceMenu>>>> EmergencyDevice([FromBody] selectdevice selectdevice)
public async Task<ActionResult<ApiResult<List<deviceMenu>>>> EmergencyDevice(selectdevice selectdevice)
{
ApiResult<List<deviceMenu>> apiResult = new ApiResult<List<deviceMenu>>();
if (!jwtlife)

View File

@ -0,0 +1,24 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace FrontendWebApi.Controllers
{
public class EmergencyHardwareMenuController : MyBaseController<EmergencyHardwareMenuController>
{
private readonly ILogger<EmergencyHardwareMenuController> _logger;
public EmergencyHardwareMenuController(ILogger<EmergencyHardwareMenuController> logger)
{
_logger = logger;
}
public IActionResult Index()
{
return View();
}
}
}

View File

@ -1,6 +1,6 @@
@{
ViewData["MainNum"] = "4";
ViewData["SubNum"] = "2";
ViewData["SubNum"] = "3";
ViewData["Title"] = "聯絡清單";
}

View File

@ -15,23 +15,28 @@
<div class="col-xl-12">
<div id="panel-5" class="panel">
<div class="panel-container show">
<div class="panel-hdr">
@*<div class="panel-hdr">
<div class="col-auto">顯示類型</div>
<div class="col" id="show-mode">
<button type="button" class="btn btn-success" onclick="ChangeMode('alarm', this)">事件清單</button>
<button type="button" class="btn btn-secondary" onclick="ChangeMode('normal', this)">緊急應變硬體清單</button>
<button type="button" class="btn btn-secondary float-right" onclick="OnSimulationExercise('', '',1)">模擬演練</button>
</div>
</div>
</div>*@
<div class="panel-hdr">
<div class="col-auto">防災類別</div>
<div class="col" id="disaster">防災類別</div>
<div class="col" id="disaster">防災類別
</div>
<div class="col-auto">
<button type="button" class="btn btn-secondary" onclick="OnSimulationExercise('', '',1)">模擬演練</button>
</div>
</div>
<div class="panel-hdr">
<div class="col-auto">棟別</div>
<div class="col-auto">棟別 </div>
<div class="col" id="building">棟別</div>
</div>
<div class="panel-hdr">
@*<div class="panel-hdr">
<div class="col-auto">樓層</div>
<div class="col" id="floors">棟別</div>
</div>
@ -42,7 +47,7 @@
<div class="panel-hdr">
<div class="col-auto">設備小類</div>
<div class="col" id="layer3">設備大類</div>
</div>
</div>*@
<div class="panel-container">
<div class="panel-content">
<div class="frame-wrap">
@ -322,7 +327,7 @@
temp_alarm_device = []; //暫存所有的報警設備
var backfill_building_device_amount = [], backfill_layer2_device_amount = [], backfill_layer3_device_amount = [];
var backfill_building_alarm_device_amount = [], backfill_layer2_alarm_device_amount = [], backfill_layer3_alarm_device_amount = [];
var select_all_disaster = false, select_all_floor = false,
var select_all_disaster = false, select_all_floor = false,select_all_building = false,
select_all_layer2 = false, select_all_layer3 = false;
var changeBuilding = "";
@ -340,7 +345,7 @@
var SelectedFilter =
{
disasters: [],
building_tag: '',
building_tag: [],
floor_guids: [],
layer2: [],
layer3: []
@ -925,11 +930,11 @@
</div>`;*@
html += `<div class="btn-group ml-2" onclick="SelectBuilding('${building.tag}',this)">
<button type="button" class="btn btn-secondary">${building.name}</button>
<button type="button" class="btn btn-secondary building_device_amount" id="${building.tag}_device_amount">0</button>
<button type="button" class="btn btn-secondary" data-tag="${building.tag}" >${building.name}</button>
<button type="button" class="btn btn-secondary building_device_amount" data-tag="${building.tag}" id="${building.tag}_device_amount">0</button>
</div>`;
});
$('#building').append(`<button type="button" class="btn btn-secondary waves-effect waves-themed d-inline-block ml-2" onclick="AllBuilding()"> 全選 </button>`);
$('#building').append(html);
$('#building').find('div').first().click();
@ -940,6 +945,7 @@
html += '<button type="button" class="btn btn-secondary ml-2" onclick="SelectBuilding(\'' + building.tag + '\',this)">' + building.name + '</button>';
});
$('#building').append(`<button type="button" class="btn btn-secondary waves-effect waves-themed d-inline-block ml-2" onclick="AllBuilding()"> 全選 </button>`);
$('#building').append(html);
$('#building').find('button').first().click();
@ -948,51 +954,71 @@
}
//#endregion
//#region 計算現有勾選棟別
function resetCalSelectBuilding(){
SelectedFilter.building_tag = [];
$('#building').find('button.btn-success').each((index,ele) => {
let ele_building_tag = $(ele).data("tag");
if(SelectedFilter.building_tag.indexOf(ele_building_tag) == -1){
SelectedFilter.building_tag.push(ele_building_tag);
}
})
console.log(SelectedFilter.building_tag)
}
//#endregion
//#region 選擇棟別
function SelectBuilding(building_tag, e) {
$('#building').find('button').removeClass('btn-success').addClass('btn-secondary')
//$('#building').find('button').removeClass('btn-success').addClass('btn-secondary')
SelectedFilter.building_tag = building_tag;
if (show_mode == 'alarm') {
$(e).find('button').addClass('btn-success');
if($(e).find("button.btn-success").length > 0){
$(e).find('button').removeClass('btn-success').addClass('btn-secondary');
} else {
$(e).find('button').removeClass('btn-secondary').addClass('btn-success');
}
} else {
$(e).addClass('btn-success');
}
resetCalSelectBuilding();
is_need_reload = true;
ChangeFilterFloor();
UpdateDeviceAmount();
ResetDeviceTable();
@*console.log("SelectedFilter", SelectedFilter);*@
}
//#endregion
//#region 修改過濾條件(樓層)
function ChangeFilterFloor() {
temp_all_floor = [];
all_device_group.forEach(function (disaster, disaster_index) {
if (SelectedFilter.disasters.findIndex(x => x == disaster.value) > -1) { //抓取已選擇的防災類型的棟別內容
disaster.groupBuildings.forEach(function (building, building_index) {
if (building.tag == SelectedFilter.building_tag) { //抓取選擇棟別的底下樓層
building.groupFloors.forEach(function (floor, floor_index) {
if (temp_all_floor.findIndex(x => x.name == floor.name) < 0) { //表示未加入,需加入
temp_all_floor.push(floor);
}
});
}
});
}
});
//temp_all_floor = [];
//all_device_group.forEach(function (disaster, disaster_index) {
// if (SelectedFilter.disasters.findIndex(x => x == disaster.value) > -1) { //抓取已選擇的防災類型的棟別內容
// disaster.groupBuildings.forEach(function (building, building_index) {
// if (building.tag == SelectedFilter.building_tag) { //抓取選擇棟別的底下樓層
// building.groupFloors.forEach(function (floor, floor_index) {
// if (temp_all_floor.findIndex(x => x.name == floor.name) < 0) { //表示未加入,需加入
// temp_all_floor.push(floor);
// }
// });
// }
// });
// }
//});
$("#floors").empty();
$("#floors").append(`<button type="button" class="btn btn-secondary ml-2 mb-2" onclick="AllFloor()">全選</button>`);
var html = "";
temp_all_floor.forEach(function (floor, floor_index) {
html += '<button type="button" class="btn btn-outline-success ml-2 mb-2" onclick="SelectFloor(\'' + floor.name + '\',this)">' + floor.name + '</button>';
});
$('#floors').append(html);
//$("#floors").empty();
//$("#floors").append(`<button type="button" class="btn btn-secondary ml-2 mb-2" onclick="AllFloor()">全選</button>`);
//var html = "";
//temp_all_floor.forEach(function (floor, floor_index) {
// html += '<button type="button" class="btn btn-outline-success ml-2 mb-2" onclick="SelectFloor(\'' + floor.name + '\',this)">' + floor.name + '</button>';
//});
//$('#floors').append(html);
select_all_floor = false;
$('#floors').find('button').first().click();
//select_all_floor = false;
//$('#floors').find('button').first().click();
}
//#endregion
@ -1041,51 +1067,68 @@
//#region 修改過濾條件(大類)
function ChangeFilterLayer2() {
temp_all_layer2 = [];
all_device_group.forEach(function (disaster, disaster_index) {
if (SelectedFilter.disasters.findIndex(x => x == disaster.value) > -1) { //抓取選擇防災類型的底下棟別
disaster.groupBuildings.forEach(function (building, building_index) {
if (building.tag == SelectedFilter.building_tag) { //抓取選擇棟別的底下樓層
building.groupFloors.forEach(function (floor, floor_index) {
if (SelectedFilter.floor_guids.findIndex(x => x == floor.name) > -1) { //抓取選擇樓層的底下大類
floor.groupLayer2s.forEach(function (layer2, layer2_index) {
if (temp_all_layer2.findIndex(x => x.value == layer2.value) < 0) {
temp_all_layer2.push(layer2);
//temp_all_layer2 = [];
//all_device_group.forEach(function (disaster, disaster_index) {
// if (SelectedFilter.disasters.findIndex(x => x == disaster.value) > -1) { //抓取選擇防災類型的底下棟別
// disaster.groupBuildings.forEach(function (building, building_index) {
// if (building.tag == SelectedFilter.building_tag) { //抓取選擇棟別的底下樓層
// building.groupFloors.forEach(function (floor, floor_index) {
// if (SelectedFilter.floor_guids.findIndex(x => x == floor.name) > -1) { //抓取選擇樓層的底下大類
// floor.groupLayer2s.forEach(function (layer2, layer2_index) {
// if (temp_all_layer2.findIndex(x => x.value == layer2.value) < 0) {
// temp_all_layer2.push(layer2);
// }
// });
// }
// });
// }
// });
// }
//});
//$("#layer2").empty();
//$("#layer2").append(`<div class="ml-2 mb-2" style="position: relative; display: inline-flex; vertical-align: middle" onclick="AllLayer2()">
// <button type="button" class="btn btn-secondary">全選</button>
// </div>`);
//var html = "";
//temp_all_layer2.forEach(function (layer2, layer2_index) {
// var layer2_device_amount = backfill_layer2_device_amount.filter(x => x.value == layer2.value && x.building_tag == SelectedFilter.building_tag)[0];
// @*html += `
// <div class="btn-group ml-2 mb-2" onclick="SelectLayer2('${layer2.value}',this)">
// <button type="button" class="btn btn-outline-success">${layer2.name}</button>
// <button type="button" class="btn btn-outline-success device_amount" id="${layer2_device_amount.building_tag}_${layer2_device_amount.value}_device_amount">${layer2_device_amount.device_amount}</button>
// </div>`;*@
// html += `
// <div class="btn-group ml-2 mb-2" onclick="SelectLayer2('${layer2.value}',this)">
// <button type="button" class="btn btn-outline-success">${layer2.name}</button>
// <button type="button" class="btn btn-outline-success device_amount" id="${layer2_device_amount.building_tag}_${layer2_device_amount.value}_device_amount">0</button>
// </div>`;
//});
//$('#layer2').append(html);
//select_all_layer2 = false;
//$('#layer2').find('div').first().click();
}
});
//#endregion
//#region 全選棟別
function AllBuilding() {
if (select_all_building) { //全選 -> 取消全選
select_all_building = false;
$('#building').find('div > button.btn-success').removeClass('btn-success').addClass('btn-secondary');
} else { //取消全選 -> 全選
select_all_building = true;
$('#building').find('div > button.btn-secondary').removeClass('btn-secondary').addClass('btn-success');
}
});
}
});
}
});
$("#layer2").empty();
$("#layer2").append(`<div class="ml-2 mb-2" style="position: relative; display: inline-flex; vertical-align: middle" onclick="AllLayer2()">
<button type="button" class="btn btn-secondary">全選</button>
</div>`);
var html = "";
temp_all_layer2.forEach(function (layer2, layer2_index) {
var layer2_device_amount = backfill_layer2_device_amount.filter(x => x.value == layer2.value && x.building_tag == SelectedFilter.building_tag)[0];
@*html += `
<div class="btn-group ml-2 mb-2" onclick="SelectLayer2('${layer2.value}',this)">
<button type="button" class="btn btn-outline-success">${layer2.name}</button>
<button type="button" class="btn btn-outline-success device_amount" id="${layer2_device_amount.building_tag}_${layer2_device_amount.value}_device_amount">${layer2_device_amount.device_amount}</button>
</div>`;*@
html += `
<div class="btn-group ml-2 mb-2" onclick="SelectLayer2('${layer2.value}',this)">
<button type="button" class="btn btn-outline-success">${layer2.name}</button>
<button type="button" class="btn btn-outline-success device_amount" id="${layer2_device_amount.building_tag}_${layer2_device_amount.value}_device_amount">0</button>
</div>`;
});
$('#layer2').append(html);
select_all_layer2 = false;
$('#layer2').find('div').first().click();
resetCalSelectBuilding();
is_need_reload = true;
UpdateDeviceAmount();
@*console.log("SelectedFilter", SelectedFilter);*@
}
//#endregion
@ -1134,65 +1177,65 @@
//#region 修改過濾條件(小類)
function ChangeFilterLayer3() {
temp_all_layer3 = [];
all_device_group.forEach(function (disaster, disaster_index) {
if (SelectedFilter.disasters.findIndex(x => x == disaster.value) > -1) { //抓取選擇防災類型的底下棟別
disaster.groupBuildings.forEach(function (building, building_index) {
if (building.tag == SelectedFilter.building_tag) { //抓取選擇棟別的底下樓層
building.groupFloors.forEach(function (floor, floor_index) {
if (SelectedFilter.floor_guids.findIndex(x => x == floor.name) > -1) { //抓取選擇樓層的底下大類
floor.groupLayer2s.forEach(function (layer2, layer2_index) {
if (SelectedFilter.layer2.findIndex(x => x == layer2.value) > -1) { //抓取選擇大類的底下小類
layer2.groupLayer3s.forEach(function (layer3, layer3_index) {
var new_layer3 = {
name: layer3.name,
value: layer3.value,
device_amount: layer3.device_amount
}
//temp_all_layer3 = [];
//all_device_group.forEach(function (disaster, disaster_index) {
// if (SelectedFilter.disasters.findIndex(x => x == disaster.value) > -1) { //抓取選擇防災類型的底下棟別
// disaster.groupBuildings.forEach(function (building, building_index) {
// if (building.tag == SelectedFilter.building_tag) { //抓取選擇棟別的底下樓層
// building.groupFloors.forEach(function (floor, floor_index) {
// if (SelectedFilter.floor_guids.findIndex(x => x == floor.name) > -1) { //抓取選擇樓層的底下大類
// floor.groupLayer2s.forEach(function (layer2, layer2_index) {
// if (SelectedFilter.layer2.findIndex(x => x == layer2.value) > -1) { //抓取選擇大類的底下小類
// layer2.groupLayer3s.forEach(function (layer3, layer3_index) {
// var new_layer3 = {
// name: layer3.name,
// value: layer3.value,
// device_amount: layer3.device_amount
// }
var temp_device_amount = new_layer3.device_amount;
var temp_layer3_index = temp_all_layer3.findIndex(x => x.value == layer3.value);
if (temp_layer3_index < 0) {
temp_all_layer3.push(new_layer3);
} else {
temp_all_layer3[temp_layer3_index].device_amount += temp_device_amount;
}
});
}
});
}
});
}
});
}
});
// var temp_device_amount = new_layer3.device_amount;
// var temp_layer3_index = temp_all_layer3.findIndex(x => x.value == layer3.value);
// if (temp_layer3_index < 0) {
// temp_all_layer3.push(new_layer3);
// } else {
// temp_all_layer3[temp_layer3_index].device_amount += temp_device_amount;
// }
// });
// }
// });
// }
// });
// }
// });
// }
//});
$("#layer3").empty();
$("#layer3").append(`<div class="ml-2 mb-2" style="position: relative; display: inline-flex; vertical-align: middle" onclick="AllLayer3()">
<button type="button" class="btn btn-secondary">全選</button>
</div>`);
var html = "";
temp_all_layer3.forEach(function (layer3, layer3_index) {
//$("#layer3").empty();
//$("#layer3").append(`<div class="ml-2 mb-2" style="position: relative; display: inline-flex; vertical-align: middle" onclick="AllLayer3()">
// <button type="button" class="btn btn-secondary">全選</button>
// </div>`);
//var html = "";
//temp_all_layer3.forEach(function (layer3, layer3_index) {
var layer3_device_amount = backfill_layer3_device_amount.filter(x => x.layer3 == layer3.value && x.building_tag == SelectedFilter.building_tag)[0];
// var layer3_device_amount = backfill_layer3_device_amount.filter(x => x.layer3 == layer3.value && x.building_tag == SelectedFilter.building_tag)[0];
@*html += `
<div class="btn-group ml-2 mb-2" onclick="SelectLayer3('${layer3.value}',this)">
<button type="button" class="btn btn-outline-success">${layer3.name}</button>
<button type="button" class="btn btn-outline-success device_amount" id="${layer3_device_amount.building_tag}_${layer3_device_amount.layer3}_device_amount">${layer3_device_amount.device_amount}</button>
</div>`;*@
// @*html += `
// <div class="btn-group ml-2 mb-2" onclick="SelectLayer3('${layer3.value}',this)">
// <button type="button" class="btn btn-outline-success">${layer3.name}</button>
// <button type="button" class="btn btn-outline-success device_amount" id="${layer3_device_amount.building_tag}_${layer3_device_amount.layer3}_device_amount">${layer3_device_amount.device_amount}</button>
// </div>`;*@
html += `
<div class="btn-group ml-2 mb-2" onclick="SelectLayer3('${layer3.value}',this)">
<button type="button" class="btn btn-outline-success">${layer3.name}</button>
<button type="button" class="btn btn-outline-success device_amount" id="${layer3_device_amount.building_tag}_${layer3_device_amount.layer3}_device_amount">0</button>
</div>`;
});
// html += `
// <div class="btn-group ml-2 mb-2" onclick="SelectLayer3('${layer3.value}',this)">
// <button type="button" class="btn btn-outline-success">${layer3.name}</button>
// <button type="button" class="btn btn-outline-success device_amount" id="${layer3_device_amount.building_tag}_${layer3_device_amount.layer3}_device_amount">0</button>
// </div>`;
//});
$('#layer3').append(html);
//$('#layer3').append(html);
select_all_layer3 = false;
$('#layer3').find('div').first().click();
//select_all_layer3 = false;
//$('#layer3').find('div').first().click();
}
//#endregion
@ -1241,9 +1284,7 @@
function ResetDeviceTable() {
if ((SelectedFilter.disasters == null || SelectedFilter.disasters.length <= 0)
|| (SelectedFilter.building_tag == null || SelectedFilter.building_tag == "")
|| (SelectedFilter.floor_guids == null || SelectedFilter.floor_guids.length <= 0)
|| (SelectedFilter.layer3 == null || SelectedFilter.layer3.length <= 0)
|| (SelectedFilter.building_tag == null || SelectedFilter.building_tag.length <= 0)
) {
return;
}
@ -1327,7 +1368,7 @@
// de_number = $(e).parent().parent().attr('de-number');
var url = "/api/EmergencyDevice/SaveAndOpenSimulationExercise";
var send_data = {
build: SelectedFilter.building_tag,
build: SelectedFilter.building_tag[0] ?? null,
disaster: disaster,
type: type,
device: guid

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
@{
ViewData["MainNum"] = "4";
ViewData["SubNum"] = "3";
ViewData["SubNum"] = "4";
ViewData["Title"] = "紀錄查詢";
}

View File

@ -1,6 +1,6 @@
@{
ViewData["MainNum"] = "4";
ViewData["SubNum"] = "5";
ViewData["SubNum"] = "6";
ViewData["Title"] = "AED裝置設定";
}

View File

@ -1,6 +1,6 @@
@{
ViewData["MainNum"] = "4";
ViewData["SubNum"] = "4";
ViewData["SubNum"] = "5";
ViewData["Title"] = "滅火器設定";
}

View File

@ -89,14 +89,22 @@
@if (ViewBag.role.Contains("EmergencyDeviceMenuIndex"))
{
<li class="@(ViewData["MainNum"] == "4" && ViewData["SubNum"] == "1" ? "active" : "")">
<a asp-controller="EmergencyDeviceMenu" asp-action="Index" title="設備總覽" data-filter-tags="utilities disabled item">
<span class="nav-link-text" data-i18n="nav.utilities_disabled_item">設備總覽</span>
<a asp-controller="EmergencyDeviceMenu" asp-action="Index" title="事件清單" data-filter-tags="utilities disabled item">
<span class="nav-link-text" data-i18n="nav.utilities_disabled_item">事件清單</span>
</a>
</li>
}
@if (ViewBag.role.Contains("EmergencyHardwareIndex"))
{
<li class="@(ViewData["MainNum"] == "4" && ViewData["SubNum"] == "2" ? "active" : "")">
<a asp-controller="EmergencyHardwareMenu" asp-action="Index" title="緊急應變硬體清單" data-filter-tags="utilities disabled item">
<span class="nav-link-text" data-i18n="nav.utilities_disabled_item">緊急應變硬體清單</span>
</a>
</li>
}
@if (ViewBag.role.Contains("EmergencyContactIndex"))
{
<li class="@(ViewData["MainNum"] == "4" && ViewData["SubNum"] == "2" ? "active" : "")">
<li class="@(ViewData["MainNum"] == "4" && ViewData["SubNum"] == "3" ? "active" : "")">
<a asp-controller="EmergencyContact" asp-action="Index" title="聯絡清單" data-filter-tags="utilities disabled item">
<span class="nav-link-text" data-i18n="nav.utilities_disabled_item">聯絡清單</span>
</a>
@ -104,7 +112,7 @@
}
@if (ViewBag.role.Contains("EmergencyRecordIndex"))
{
<li class="@(ViewData["MainNum"] == "4" && ViewData["SubNum"] == "3" ? "active" : "")">
<li class="@(ViewData["MainNum"] == "4" && ViewData["SubNum"] == "4" ? "active" : "")">
<a asp-controller="EmergencyRecord" asp-action="Index" title="紀錄查詢" data-filter-tags="utilities disabled item">
<span class="nav-link-text" data-i18n="nav.utilities_disabled_item">紀錄查詢</span>
</a>
@ -113,7 +121,7 @@
@if (ViewBag.role.Contains("RescueDeviceFireExtinguisher"))
{
<li class="@(ViewData["MainNum"] == "3" && ViewData["SubNum"] == "4" ? "active" : "")">
<li class="@(ViewData["MainNum"] == "4" && ViewData["SubNum"] == "5" ? "active" : "")">
<a asp-controller="RescueDevice" asp-action="FireExtinguisher" title="滅火器設定" data-filter-tags="utilities disabled item">
<span class="nav-link-text" data-i18n="nav.utilities_disabled_item">滅火器設定</span>
</a>
@ -121,7 +129,7 @@
}
@if (ViewBag.role.Contains("RescueDeviceAED"))
{
<li class="@(ViewData["MainNum"] == "3" && ViewData["SubNum"] == "5" ? "active" : "")">
<li class="@(ViewData["MainNum"] == "4" && ViewData["SubNum"] == "6" ? "active" : "")">
<a asp-controller="RescueDevice" asp-action="AED" title="AED裝置設定" data-filter-tags="utilities disabled item">
<span class="nav-link-text" data-i18n="nav.utilities_disabled_item">AED裝置設定</span>
</a>

View File

@ -23,8 +23,9 @@
"Server": "FYlY+w0XDIz+jmF2rlZWJw==", //0.201
"Port": "js2LutKe+rdjzdxMPQUrvQ==",
//"Database": "VJB2XC+lAtzuHObDGMVOAA==", //
"Database": "IgYBsgG2VLKKxFb64j7LOA==", //wsp
//"Database": "7gWfmZ28HGIJZbxEbK+0yg==", //tpe_dome_dome
//"Database": "IgYBsgG2VLKKxFb64j7LOA==", //wsp
//"Database": "Rq7Gn4x6LwBvVtl7GY8LbA==", //MCUT
"Database": "7gWfmZ28HGIJZbxEbK+0yg==", //tpe_dome_dome
//"Database": "siTUcDaC/g2yGTMFWD72Kg==", //tpe_dome_hotel
//"Database": "iuaY0h0+TWkir44/eZLDqw==", //tpe_dome_office
"Root": "SzdxEgaJJ7tcTCrUl2zKsA==",