dashbord 校區即時契約容量圖表 | 報表棟別改多選
This commit is contained in:
parent
0f675b4eba
commit
2c02b75baa
@ -166,7 +166,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row h-100">
|
||||||
<div class="col-sm-12 col-lg-4">
|
<div class="col-sm-12 col-lg-4">
|
||||||
<div class="row" id="sysSubBtnList"></div>
|
<div class="row" id="sysSubBtnList"></div>
|
||||||
</div>
|
</div>
|
||||||
@ -182,9 +182,9 @@
|
|||||||
<div class="panel-hdr">
|
<div class="panel-hdr">
|
||||||
<h2>本月/上月用電比較 (kWh)</h2>
|
<h2>本月/上月用電比較 (kWh)</h2>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-container show">
|
<div class="panel-container show h-100">
|
||||||
<div class="panel-content poisition-relative">
|
<div class="panel-content poisition-relative h-100">
|
||||||
<div style="width: 100%; min-height: 270px">
|
<div style="width: 100%; min-height: 450px">
|
||||||
<canvas class="chart" id="eveMonElecChart"></canvas>
|
<canvas class="chart" id="eveMonElecChart"></canvas>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -192,12 +192,30 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-4">
|
<div class="col-4">
|
||||||
<div id="panel-3" class="panel" style="height: calc(100% - 1.5rem)">
|
<div class="row h-100">
|
||||||
|
<div class="col-12 h-50">
|
||||||
|
<div id="panel-3"
|
||||||
|
class="panel"
|
||||||
|
style="height: calc(100% - 1.5rem)">
|
||||||
<div class="panel-hdr">
|
<div class="panel-hdr">
|
||||||
<h2>契約容量</h2>
|
<h2>即時契約容量占比 - 第一校區</h2>
|
||||||
|
</div>
|
||||||
|
<div class="panel-container show h-100">
|
||||||
|
<div class="h-100 py-2" id="contractValueChart"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-12 h-50">
|
||||||
|
<div id="panel-3"
|
||||||
|
class="panel"
|
||||||
|
style="height: calc(100% - 1.5rem)">
|
||||||
|
<div class="panel-hdr">
|
||||||
|
<h2>即時契約容量占比 - 第一校區</h2>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-container h-100 show">
|
<div class="panel-container h-100 show">
|
||||||
<div class="h-100" id="contractValueChart"></div>
|
<div class="h-100 py-2" id="contractValueChart2"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -268,6 +286,7 @@
|
|||||||
var errRecChart = null;
|
var errRecChart = null;
|
||||||
var errChkChart = null;
|
var errChkChart = null;
|
||||||
var contractValueChart = null;
|
var contractValueChart = null;
|
||||||
|
var contractValueChart2 = null;
|
||||||
var loadedCnt = 0;
|
var loadedCnt = 0;
|
||||||
var chartDataCnt = {
|
var chartDataCnt = {
|
||||||
alarmCnt: 0,
|
alarmCnt: 0,
|
||||||
@ -283,6 +302,8 @@
|
|||||||
show3DModel();
|
show3DModel();
|
||||||
getSubList();
|
getSubList();
|
||||||
getAutDemVal();
|
getAutDemVal();
|
||||||
|
getContractValueChange("Arean1");
|
||||||
|
getContractValueChange("Arean2");
|
||||||
});
|
});
|
||||||
|
|
||||||
function demoSubList() {
|
function demoSubList() {
|
||||||
@ -405,19 +426,46 @@
|
|||||||
|
|
||||||
myBaja.setSubscribeElectricmeterByBql(tempOrdPath);
|
myBaja.setSubscribeElectricmeterByBql(tempOrdPath);
|
||||||
myBaja.setSubscribeElectricmeterCallBack(function (data) {
|
myBaja.setSubscribeElectricmeterCallBack(function (data) {
|
||||||
console.log(data.point_name);
|
|
||||||
if (data.point_name == "P") {
|
if (data.point_name == "P") {
|
||||||
let value = parseFloat(data.value).roundDecimal(2);
|
let value = parseFloat(data.value).roundDecimal(2);
|
||||||
$("#insPower").text(value);
|
$("#insPower").text(value);
|
||||||
// $("#insPowerPer").text((value / 4).roundDecimal(2));
|
// $("#insPowerPer").text((value / 4).roundDecimal(2));
|
||||||
$("#insPowerPer").text((value / contractCapacity).roundDecimal(2));
|
$("#insPowerPer").text((value / contractCapacity).roundDecimal(2));
|
||||||
chartContractValue((value / contractCapacity).roundDecimal(2) * 100);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
myBaja.setSubscribeElectricmeterEndCallBack(function () {
|
myBaja.setSubscribeElectricmeterEndCallBack(function () {
|
||||||
chkBajaLoaded();
|
chkBajaLoaded();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
let contractCapacityForchart1, contractCapacityForchart2;
|
||||||
|
function getContractValueChange(compus) {
|
||||||
|
let devPath = `Data/${compus}`;
|
||||||
|
BajaSubscribeElectricmeterByBql({ devicePath: devPath }, (data) => {
|
||||||
|
let value = data.find(({ point_name }) => point_name === "P")?.value;
|
||||||
|
|
||||||
|
if (compus === "Arean1") {
|
||||||
|
if (data.some(({ point_name }) => point_name === "Capacity")) {
|
||||||
|
contractCapacityForchart1 = data.find(
|
||||||
|
({ point_name }) => point_name === "Capacity"
|
||||||
|
)?.value;
|
||||||
|
}
|
||||||
|
chartContractValue(
|
||||||
|
"contractValueChart",
|
||||||
|
(value / contractCapacityForchart1).roundDecimal(2) * 100
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
if (data.some(({ point_name }) => point_name === "Capacity")) {
|
||||||
|
contractCapacityForchart2 = data.find(
|
||||||
|
({ point_name }) => point_name === "Capacity"
|
||||||
|
)?.value;
|
||||||
|
}
|
||||||
|
chartContractValue(
|
||||||
|
"contractValueChart2",
|
||||||
|
(value / contractCapacityForchart2).roundDecimal(2) * 100
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
//從 baja 取得電表用電量
|
//從 baja 取得電表用電量
|
||||||
function getElectricBaja() {
|
function getElectricBaja() {
|
||||||
@ -521,7 +569,6 @@
|
|||||||
(data) => {
|
(data) => {
|
||||||
const cur = new Date().getMonth();
|
const cur = new Date().getMonth();
|
||||||
const pre = new Date().getMonth() - 1;
|
const pre = new Date().getMonth() - 1;
|
||||||
console.log(data.data);
|
|
||||||
let curMonthData = data.data.filter(
|
let curMonthData = data.data.filter(
|
||||||
(x) => x.timestamp.$date.$month === cur
|
(x) => x.timestamp.$date.$month === cur
|
||||||
);
|
);
|
||||||
@ -780,10 +827,6 @@
|
|||||||
|
|
||||||
// 圖表 - 本月即上月用電量
|
// 圖表 - 本月即上月用電量
|
||||||
function chartEveMonsElec(curMonData, prevMonData) {
|
function chartEveMonsElec(curMonData, prevMonData) {
|
||||||
console.log(
|
|
||||||
curMonData.map((x) => x.sum),
|
|
||||||
prevMonData.map((x) => x.sum)
|
|
||||||
);
|
|
||||||
let eveMonElecChartCanvas = $("#eveMonElecChart").get(0).getContext("2d");
|
let eveMonElecChartCanvas = $("#eveMonElecChart").get(0).getContext("2d");
|
||||||
|
|
||||||
let eveMonElecChartData = {
|
let eveMonElecChartData = {
|
||||||
@ -1058,8 +1101,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 圖表 - 取得契約容量
|
// 圖表 - 取得契約容量
|
||||||
function chartContractValue(value) {
|
function chartContractValue(ele, value) {
|
||||||
var chartDom = document.getElementById("contractValueChart");
|
var chartDom = document.getElementById(ele);
|
||||||
contractValueChart = echarts.init(chartDom, null, {
|
contractValueChart = echarts.init(chartDom, null, {
|
||||||
renderer: "canvas",
|
renderer: "canvas",
|
||||||
useDirtyRect: false,
|
useDirtyRect: false,
|
||||||
|
@ -207,7 +207,7 @@
|
|||||||
month: "ExportElectricList",
|
month: "ExportElectricList",
|
||||||
year: "ExportElectricList",
|
year: "ExportElectricList",
|
||||||
compare: "ExportElectricCompareList",
|
compare: "ExportElectricCompareList",
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
var token = cookies.get("JWT-Authorization");
|
var token = cookies.get("JWT-Authorization");
|
||||||
@ -235,7 +235,7 @@
|
|||||||
var html = "";
|
var html = "";
|
||||||
for (let building of pageAct.buildList) {
|
for (let building of pageAct.buildList) {
|
||||||
html += `<label class="btn btn-outline-success waves-effect waves-themed">
|
html += `<label class="btn btn-outline-success waves-effect waves-themed">
|
||||||
<input type="radio" name="buildingRadio" id="radio_${building.building_tag}" value="${building.building_tag}" onChange="SelectBuild(this,'${building.building_tag}')"> ${building.full_name}
|
<input type="checkbox" name="buildingRadio" id="radio_${building.building_tag}" value="${building.building_tag}" onChange="SelectBuild(this,'${building.building_tag}')"> ${building.full_name}
|
||||||
</label>`;
|
</label>`;
|
||||||
}
|
}
|
||||||
$("#building").find(".item").empty();
|
$("#building").find(".item").empty();
|
||||||
@ -457,7 +457,6 @@
|
|||||||
$("[name=compareTypeRadio]")
|
$("[name=compareTypeRadio]")
|
||||||
.parent("label")
|
.parent("label")
|
||||||
.on("click", function () {
|
.on("click", function () {
|
||||||
debugger;
|
|
||||||
$("[name=compareTypeRadio]").parent("label").removeClass("active");
|
$("[name=compareTypeRadio]").parent("label").removeClass("active");
|
||||||
const oldVal = $("label.active [name=compareTypeRadio]").val();
|
const oldVal = $("label.active [name=compareTypeRadio]").val();
|
||||||
$(this).addClass("active");
|
$(this).addClass("active");
|
||||||
@ -534,7 +533,7 @@
|
|||||||
$("li.active [name=reportTypeRadio]").data("value") == "compare"
|
$("li.active [name=reportTypeRadio]").data("value") == "compare"
|
||||||
? $("[name=compareTypeRadio]:checked").val()
|
? $("[name=compareTypeRadio]:checked").val()
|
||||||
: $("li.active [name=reportTypeRadio]").data("value"),
|
: $("li.active [name=reportTypeRadio]").data("value"),
|
||||||
building_tag: $("[name=buildingRadio]:checked").val(),
|
building_tag: SelectBuildings.join(","),
|
||||||
floor_tag: $("[name=floorCheckbox]:checked")
|
floor_tag: $("[name=floorCheckbox]:checked")
|
||||||
.map((i, e) => $(e).val())
|
.map((i, e) => $(e).val())
|
||||||
.toArray(),
|
.toArray(),
|
||||||
@ -596,11 +595,11 @@
|
|||||||
}
|
}
|
||||||
if (i == 0) {
|
if (i == 0) {
|
||||||
result = result.concat(rel.data);
|
result = result.concat(rel.data);
|
||||||
result.forEach(r => {
|
result.forEach((r) => {
|
||||||
r._compare_price = null;
|
r._compare_price = null;
|
||||||
r._compare_total = null;
|
r._compare_total = null;
|
||||||
r._compare_total_price = null;
|
r._compare_total_price = null;
|
||||||
})
|
});
|
||||||
} else {
|
} else {
|
||||||
rel.data.forEach((r) => {
|
rel.data.forEach((r) => {
|
||||||
let target =
|
let target =
|
||||||
@ -639,12 +638,10 @@
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
debugger;
|
|
||||||
setReportTable(result);
|
setReportTable(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
function getPrice() {
|
function getPrice() {
|
||||||
debugger;
|
|
||||||
var sentdata = {
|
var sentdata = {
|
||||||
type: reportTypeDict["RElec"]["name"],
|
type: reportTypeDict["RElec"]["name"],
|
||||||
};
|
};
|
||||||
@ -760,7 +757,12 @@
|
|||||||
|
|
||||||
return compareResult.map((dc) => {
|
return compareResult.map((dc) => {
|
||||||
if (dc._isCompared) {
|
if (dc._isCompared) {
|
||||||
return { title: dc.value, data: dc.value, sClass: "compare", sWidth: columnWidth };
|
return {
|
||||||
|
title: dc.value,
|
||||||
|
data: dc.value,
|
||||||
|
sClass: "compare",
|
||||||
|
sWidth: columnWidth,
|
||||||
|
};
|
||||||
}
|
}
|
||||||
return { title: dc, data: dc, sWidth: columnWidth };
|
return { title: dc, data: dc, sWidth: columnWidth };
|
||||||
});
|
});
|
||||||
@ -830,8 +832,8 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
console.log("datas", datas)
|
console.log("datas", datas);
|
||||||
console.log("totalColumns", totalColumns)
|
console.log("totalColumns", totalColumns);
|
||||||
datatable = $("#report_table").DataTable({
|
datatable = $("#report_table").DataTable({
|
||||||
data: datas,
|
data: datas,
|
||||||
destroy: true,
|
destroy: true,
|
||||||
@ -851,6 +853,7 @@
|
|||||||
title: "樓層",
|
title: "樓層",
|
||||||
data: "floor_tag",
|
data: "floor_tag",
|
||||||
sWidth: "8%",
|
sWidth: "8%",
|
||||||
|
className: "text-nowrap",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "設備",
|
title: "設備",
|
||||||
@ -869,23 +872,27 @@
|
|||||||
if (!Array.isArray(sent_data)) {
|
if (!Array.isArray(sent_data)) {
|
||||||
sent_data = [sent_data];
|
sent_data = [sent_data];
|
||||||
}
|
}
|
||||||
if (!sent_data.some((s) => s.building_tag)) {
|
// if (!sent_data.some((s) => s.building_tag)) {
|
||||||
toast_error("請選擇棟別");
|
// toast_error("請選擇棟別");
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
if (!sent_data.some((s) => s.floor_tag)) {
|
// if (!sent_data.some((s) => s.floor_tag)) {
|
||||||
toast_error("請選擇樓層");
|
// toast_error("請選擇樓層");
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
debugger
|
|
||||||
var url =
|
var url =
|
||||||
baseApiUrl + "/api/" + reportTypeDict["RElec"]["exportListApiUrl"][tableType];
|
baseApiUrl +
|
||||||
|
"/api/" +
|
||||||
|
reportTypeDict["RElec"]["exportListApiUrl"][tableType];
|
||||||
|
|
||||||
setLoading(true, "匯出中");
|
setLoading(true, "匯出中");
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: "POST",
|
type: "POST",
|
||||||
url: url,
|
url: url,
|
||||||
data: tableType == "compare" ? JSON.stringify(sent_data) : JSON.stringify(sent_data[0]),
|
data:
|
||||||
|
tableType == "compare"
|
||||||
|
? JSON.stringify(sent_data)
|
||||||
|
: JSON.stringify(sent_data[0]),
|
||||||
headers: {
|
headers: {
|
||||||
Authorization: "Bearer " + token,
|
Authorization: "Bearer " + token,
|
||||||
},
|
},
|
||||||
@ -915,6 +922,11 @@
|
|||||||
|
|
||||||
//選擇棟別
|
//選擇棟別
|
||||||
function SelectBuild(e, building_tag) {
|
function SelectBuild(e, building_tag) {
|
||||||
|
if (SelectBuildings.includes(building_tag)) {
|
||||||
|
SelectBuildings = SelectBuildings.filter((bui) => bui !== building_tag);
|
||||||
|
} else {
|
||||||
|
SelectBuildings.push(building_tag);
|
||||||
|
}
|
||||||
checkIsSelectedBuilding();
|
checkIsSelectedBuilding();
|
||||||
// GetFloors(building_tag);
|
// GetFloors(building_tag);
|
||||||
}
|
}
|
||||||
|
@ -39,67 +39,89 @@ class subscriptionDevices {
|
|||||||
if (callBackFunc != undefined && callBackFunc != null) {
|
if (callBackFunc != undefined && callBackFunc != null) {
|
||||||
this.changeCallback = callBackFunc;
|
this.changeCallback = callBackFunc;
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
// BQL訂閱結束回傳的Function
|
// BQL訂閱結束回傳的Function
|
||||||
setSubscribeDeviceEndCallBack = function (callBackFunc) {
|
setSubscribeDeviceEndCallBack = function (callBackFunc) {
|
||||||
if (callBackFunc != undefined && callBackFunc != null) {
|
if (callBackFunc != undefined && callBackFunc != null) {
|
||||||
this.changeEndCallback = callBackFunc;
|
this.changeEndCallback = callBackFunc;
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
BajaSubscribeDevicesByBql = function () {
|
BajaSubscribeDevicesByBql = function () {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
require(['baja!'], function (baja) {
|
require(["baja!"], function (baja) {
|
||||||
console.log("進入Function 準備執行BQL訂閱");
|
console.log("進入Function 準備執行BQL訂閱");
|
||||||
startPageLoading ? startPageLoading() : ""
|
startPageLoading ? startPageLoading() : "";
|
||||||
var init_start = new Date(Date.now());
|
var init_start = new Date(Date.now());
|
||||||
var sub = new baja.Subscriber();
|
var sub = new baja.Subscriber();
|
||||||
|
|
||||||
sub.attach('changed', function (prop) {
|
sub.attach(
|
||||||
if (prop.getName() === 'out') {
|
"changed",
|
||||||
|
function (prop) {
|
||||||
|
if (prop.getName() === "out") {
|
||||||
var out_value = this.getOutDisplay();
|
var out_value = this.getOutDisplay();
|
||||||
var target_device_number = this.$parent.getDisplayName().split('_').slice(0, 5).join('_');
|
var target_device_number = this.$parent
|
||||||
|
.getDisplayName()
|
||||||
|
.split("_")
|
||||||
|
.slice(0, 5)
|
||||||
|
.join("_");
|
||||||
var point_name = this.getDisplayName();
|
var point_name = this.getDisplayName();
|
||||||
|
|
||||||
//依據Facets判斷回傳的內容值為何
|
//依據Facets判斷回傳的內容值為何
|
||||||
var facets_split = this.getFacets1().$cEncStr.split('|');
|
var facets_split = this.getFacets1().$cEncStr.split("|");
|
||||||
var facets_arr = [];
|
var facets_arr = [];
|
||||||
facets_split.forEach(function (item, index) {
|
facets_split.forEach(function (item, index) {
|
||||||
facets_arr.push(item.split('=s:'));
|
facets_arr.push(item.split("=s:"));
|
||||||
});
|
});
|
||||||
|
|
||||||
var facets = facets_arr.reduce((obj, cur) => ({ ...obj, [cur[0]]: cur[1] }), {})
|
var facets = facets_arr.reduce(
|
||||||
|
(obj, cur) => ({ ...obj, [cur[0]]: cur[1] }),
|
||||||
|
{}
|
||||||
|
);
|
||||||
|
|
||||||
var point_out_split = this.getOutDisplay().split(' ');
|
var point_out_split = this.getOutDisplay().split(" ");
|
||||||
|
|
||||||
let key = Object.keys(facets).find(k => facets[k] === point_out_split[0]);
|
let key = Object.keys(facets).find(
|
||||||
|
(k) => facets[k] === point_out_split[0]
|
||||||
|
);
|
||||||
|
|
||||||
if (key == undefined) {
|
if (key == undefined) {
|
||||||
key = point_out_split[0];
|
key = point_out_split[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
var modify_target_device = {
|
var modify_target_device = {
|
||||||
"device_number": target_device_number ? target_device_number : null,
|
device_number: target_device_number ? target_device_number : null,
|
||||||
"device_number_full": this.$parent.getSlotPath().$names.join("_"),
|
device_number_full: this.$parent.getSlotPath().$names.join("_"),
|
||||||
"point_name": point_name ? point_name : null,
|
point_name: point_name ? point_name : null,
|
||||||
"value": key
|
value: key,
|
||||||
}
|
};
|
||||||
if (_this.changeCallback != undefined && _this.changeCallback != null) {
|
if (
|
||||||
|
_this.changeCallback != undefined &&
|
||||||
|
_this.changeCallback != null
|
||||||
|
) {
|
||||||
_this.changeCallback(modify_target_device, true); //第2參數用在平面圖,刷新畫面
|
_this.changeCallback(modify_target_device, true); //第2參數用在平面圖,刷新畫面
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, function (err) {
|
},
|
||||||
console.log(err)
|
function (err) {
|
||||||
});
|
console.log(err);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
//使用bql語法
|
//使用bql語法
|
||||||
// var building_tag = "H";
|
// var building_tag = "H";
|
||||||
// var system_tag = "M10";
|
// var system_tag = "M10";
|
||||||
// baja.Ord.make(`ip:greencloud.fic.com.tw|foxs:|station:|slot:/Arena/${building_tag}/${system_tag}|bql:select name, displayname, slotPath, out.value, out from control:ControlPoint`)
|
// baja.Ord.make(`ip:greencloud.fic.com.tw|foxs:|station:|slot:/Arena/${building_tag}/${system_tag}|bql:select name, displayname, slotPath, out.value, out from control:ControlPoint`)
|
||||||
console.log(`local:|foxs:${port}|station:|slot:/${_this.ordPath.area_tag}/${_this.ordPath.building_tag}/${_this.ordPath.system_tag}/${_this.ordPath.name_tag}${_this.ordPath.flo_tag ? `/${_this.ordPath.flo_tag}` : ""}|bql:select name, displayname, slotPath, out.value, out, facets from control:ControlPoint`);
|
console.log(
|
||||||
baja.Ord.make(`local:|foxs:${port}|station:|slot:/${_this.ordPath.area_tag}/${_this.ordPath.building_tag}/${_this.ordPath.system_tag}/${_this.ordPath.name_tag}${_this.ordPath.flo_tag ? `/${_this.ordPath.flo_tag}` : ""}|bql:select name, displayname, slotPath, out.value, out, facets from control:ControlPoint`)
|
`local:|foxs:${port}|station:|slot:/${_this.ordPath.area_tag}/${_this.ordPath.building_tag
|
||||||
.get(
|
}/${_this.ordPath.system_tag}/${_this.ordPath.name_tag}${_this.ordPath.flo_tag ? `/${_this.ordPath.flo_tag}` : ""
|
||||||
function (table) {
|
}|bql:select name, displayname, slotPath, out.value, out, facets from control:ControlPoint`
|
||||||
|
);
|
||||||
|
baja.Ord.make(
|
||||||
|
`local:|foxs:${port}|station:|slot:/${_this.ordPath.area_tag}/${_this.ordPath.building_tag
|
||||||
|
}/${_this.ordPath.system_tag}/${_this.ordPath.name_tag}${_this.ordPath.flo_tag ? `/${_this.ordPath.flo_tag}` : ""
|
||||||
|
}|bql:select name, displayname, slotPath, out.value, out, facets from control:ControlPoint`
|
||||||
|
).get(function (table) {
|
||||||
var tableStart, tableFinish;
|
var tableStart, tableFinish;
|
||||||
var subStart, subFinish;
|
var subStart, subFinish;
|
||||||
var component_index = 0;
|
var component_index = 0;
|
||||||
@ -108,14 +130,15 @@ class subscriptionDevices {
|
|||||||
var readBqlFinish = new Date(Date.now());
|
var readBqlFinish = new Date(Date.now());
|
||||||
// $("#readPath-finish-timestamp").html(readBqlFinish.toISOString());
|
// $("#readPath-finish-timestamp").html(readBqlFinish.toISOString());
|
||||||
// $("#readPath-finish-time").html((readBqlFinish.getTime() - init_start.getTime()) / 1000 + "sec");
|
// $("#readPath-finish-time").html((readBqlFinish.getTime() - init_start.getTime()) / 1000 + "sec");
|
||||||
console.log("讀取路徑完成-花費時間", (readBqlFinish.getTime() - init_start.getTime()) / 1000 + "sec");
|
console.log(
|
||||||
|
"讀取路徑完成-花費時間",
|
||||||
|
(readBqlFinish.getTime() - init_start.getTime()) / 1000 + "sec"
|
||||||
|
);
|
||||||
table.cursor({
|
table.cursor({
|
||||||
before: function () {
|
before: function () {
|
||||||
totalTargetDevice = [];
|
totalTargetDevice = [];
|
||||||
tableStart = new Date(Date.now());
|
tableStart = new Date(Date.now());
|
||||||
$("#table-start-timestamp").html(tableStart.toISOString());
|
$("#table-start-timestamp").html(tableStart.toISOString());
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
each: function (item, index) {
|
each: function (item, index) {
|
||||||
if (index < 1) {
|
if (index < 1) {
|
||||||
@ -125,93 +148,141 @@ class subscriptionDevices {
|
|||||||
$("#sub-number").html(index + 1);
|
$("#sub-number").html(index + 1);
|
||||||
total_component_index = index;
|
total_component_index = index;
|
||||||
|
|
||||||
|
var target_device_number_split =
|
||||||
|
this.getDisplay("slotPath").split("/");
|
||||||
var target_device_number_split = this.getDisplay("slotPath").split('/');
|
|
||||||
var target_device_number = target_device_number_split[8];
|
var target_device_number = target_device_number_split[8];
|
||||||
//console.log(target_device_number);
|
//console.log(target_device_number);
|
||||||
var point_name = this.getDisplay("name");
|
var point_name = this.getDisplay("name");
|
||||||
var facets = this.getDisplay("facets");
|
var facets = this.getDisplay("facets");
|
||||||
|
|
||||||
//依據Facets判斷回傳的內容值為何
|
//依據Facets判斷回傳的內容值為何
|
||||||
var facets_split = facets.split(',');
|
var facets_split = facets.split(",");
|
||||||
var facets_arr = [];
|
var facets_arr = [];
|
||||||
facets_split.forEach(function (item, index) {
|
facets_split.forEach(function (item, index) {
|
||||||
facets_arr.push(item.split('='));
|
facets_arr.push(item.split("="));
|
||||||
});
|
});
|
||||||
|
|
||||||
facets = facets_arr.reduce((obj, cur) => ({ ...obj, [cur[0]]: cur[1] }), {})
|
facets = facets_arr.reduce(
|
||||||
|
(obj, cur) => ({ ...obj, [cur[0]]: cur[1] }),
|
||||||
|
{}
|
||||||
|
);
|
||||||
|
|
||||||
var point_out_split = this.getDisplay("out").split(' ');
|
var point_out_split = this.getDisplay("out").split(" ");
|
||||||
|
|
||||||
let key = Object.keys(facets).find(k => facets[k] === point_out_split[0]);
|
let key = Object.keys(facets).find(
|
||||||
|
(k) => facets[k] === point_out_split[0]
|
||||||
|
);
|
||||||
|
|
||||||
if (key == undefined) {
|
if (key == undefined) {
|
||||||
key = point_out_split[0];
|
key = point_out_split[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
var modify_target_device = {
|
var modify_target_device = {
|
||||||
"device_number": target_device_number ? target_device_number : null,
|
device_number: target_device_number ? target_device_number : null,
|
||||||
"device_number_full": this.getDisplay("slotPath").split("slot:")[1].split('/').slice(1, -1).join("_"),
|
device_number_full: this.getDisplay("slotPath")
|
||||||
"point_name": point_name ? point_name : null,
|
.split("slot:")[1]
|
||||||
"value": key
|
.split("/")
|
||||||
}
|
.slice(1, -1)
|
||||||
|
.join("_"),
|
||||||
|
point_name: point_name ? point_name : null,
|
||||||
|
value: key,
|
||||||
|
};
|
||||||
totalTargetDevice.push(modify_target_device);
|
totalTargetDevice.push(modify_target_device);
|
||||||
//取得component當下就更新設備點位
|
//取得component當下就更新設備點位
|
||||||
// if (_this.changeCallback != undefined && _this.changeCallback != null) {
|
// if (_this.changeCallback != undefined && _this.changeCallback != null) {
|
||||||
// _this.changeCallback(modify_target_device);
|
// _this.changeCallback(modify_target_device);
|
||||||
// }
|
// }
|
||||||
if (pageAct.sysSubTag === "L1") {
|
if (pageAct.sysSubTag === "L1") {
|
||||||
if (point_name === "SSC" || point_name === "TRIP" || point_name === "ONOFF") {
|
if (
|
||||||
if (_this.changeCallback != undefined && _this.changeCallback != null) {
|
point_name === "SSC" ||
|
||||||
|
point_name === "TRIP" ||
|
||||||
|
point_name === "ONOFF"
|
||||||
|
) {
|
||||||
|
if (
|
||||||
|
_this.changeCallback != undefined &&
|
||||||
|
_this.changeCallback != null
|
||||||
|
) {
|
||||||
_this.changeCallback(modify_target_device, true); //第2參數用在平面圖,刷新畫面
|
_this.changeCallback(modify_target_device, true); //第2參數用在平面圖,刷新畫面
|
||||||
baja.Ord.make(`local:|foxs:${port}|station:|` + this.getDisplay("slotPath"))
|
baja.Ord.make(
|
||||||
|
`local:|foxs:${port}|station:|` +
|
||||||
|
this.getDisplay("slotPath")
|
||||||
|
)
|
||||||
.get()
|
.get()
|
||||||
.then(function (component) {
|
.then(function (component) {
|
||||||
// console.log("component",component)
|
// console.log("component",component)
|
||||||
component_index++;
|
component_index++;
|
||||||
var target_device_number = component.$parent.getDisplayName().split('_').slice(0, 5).join('_');
|
var target_device_number = component.$parent
|
||||||
|
.getDisplayName()
|
||||||
|
.split("_")
|
||||||
|
.slice(0, 5)
|
||||||
|
.join("_");
|
||||||
|
|
||||||
var out_value = component.getOutDisplay();
|
var out_value = component.getOutDisplay();
|
||||||
var target_device_number = component.$parent.getDisplayName().split('_').slice(0, 5).join('_');
|
var target_device_number = component.$parent
|
||||||
|
.getDisplayName()
|
||||||
|
.split("_")
|
||||||
|
.slice(0, 5)
|
||||||
|
.join("_");
|
||||||
var point_name = component.getDisplayName();
|
var point_name = component.getDisplayName();
|
||||||
//依據Facets判斷回傳的內容值為何
|
//依據Facets判斷回傳的內容值為何
|
||||||
var facets_split = component.getFacets1().$cEncStr.split('|');
|
var facets_split = component
|
||||||
|
.getFacets1()
|
||||||
|
.$cEncStr.split("|");
|
||||||
var facets_arr = [];
|
var facets_arr = [];
|
||||||
facets_split.forEach(function (item, index) {
|
facets_split.forEach(function (item, index) {
|
||||||
facets_arr.push(item.split('=s:'));
|
facets_arr.push(item.split("=s:"));
|
||||||
});
|
});
|
||||||
|
|
||||||
var facets = facets_arr.reduce((obj, cur) => ({ ...obj, [cur[0]]: cur[1] }), {})
|
var facets = facets_arr.reduce(
|
||||||
|
(obj, cur) => ({ ...obj, [cur[0]]: cur[1] }),
|
||||||
|
{}
|
||||||
|
);
|
||||||
|
|
||||||
var point_out_split = component.getOutDisplay().split(' ');
|
var point_out_split = component
|
||||||
|
.getOutDisplay()
|
||||||
|
.split(" ");
|
||||||
|
|
||||||
let key = Object.keys(facets).find(k => facets[k] === point_out_split[0]);
|
let key = Object.keys(facets).find(
|
||||||
|
(k) => facets[k] === point_out_split[0]
|
||||||
|
);
|
||||||
|
|
||||||
if (key == undefined) {
|
if (key == undefined) {
|
||||||
key = point_out_split[0];
|
key = point_out_split[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
var modify_target_device = {
|
var modify_target_device = {
|
||||||
"device_number": target_device_number ? target_device_number : null,
|
device_number: target_device_number
|
||||||
"device_number_full": component.$parent.getSlotPath().$names.join("_"),
|
? target_device_number
|
||||||
"point_name": point_name ? point_name : null,
|
: null,
|
||||||
"value": key
|
device_number_full: component.$parent
|
||||||
}
|
.getSlotPath()
|
||||||
|
.$names.join("_"),
|
||||||
|
point_name: point_name ? point_name : null,
|
||||||
|
value: key,
|
||||||
|
};
|
||||||
|
|
||||||
if (pageAct.sysSubTag === "L1") {
|
if (pageAct.sysSubTag === "L1") {
|
||||||
if (point_name === "SSC" || point_name === "TRIP" || point_name === "ONOFF") {
|
if (
|
||||||
if (_this.changeCallback != undefined && _this.changeCallback != null) {
|
point_name === "SSC" ||
|
||||||
|
point_name === "TRIP" ||
|
||||||
|
point_name === "ONOFF"
|
||||||
|
) {
|
||||||
|
if (
|
||||||
|
_this.changeCallback != undefined &&
|
||||||
|
_this.changeCallback != null
|
||||||
|
) {
|
||||||
_this.changeCallback(modify_target_device, true); //第2參數用在平面圖,刷新畫面
|
_this.changeCallback(modify_target_device, true); //第2參數用在平面圖,刷新畫面
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (_this.changeCallback != undefined && _this.changeCallback != null) {
|
if (
|
||||||
|
_this.changeCallback != undefined &&
|
||||||
|
_this.changeCallback != null
|
||||||
|
) {
|
||||||
_this.changeCallback(modify_target_device, true); //第2參數用在平面圖,刷新畫面
|
_this.changeCallback(modify_target_device, true); //第2參數用在平面圖,刷新畫面
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// //依據Facets判斷回傳的內容值為何
|
// //依據Facets判斷回傳的內容值為何
|
||||||
// var facets_split = component.getFacets1().$cEncStr.split('|');
|
// var facets_split = component.getFacets1().$cEncStr.split('|');
|
||||||
// var facets_arr = [];
|
// var facets_arr = [];
|
||||||
@ -246,7 +317,11 @@ class subscriptionDevices {
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
if (pageAct.sysSubTag === "L1") {
|
if (pageAct.sysSubTag === "L1") {
|
||||||
if (point_name === "SSC" || point_name === "TRIP" || point_name === "ONOFF") {
|
if (
|
||||||
|
point_name === "SSC" ||
|
||||||
|
point_name === "TRIP" ||
|
||||||
|
point_name === "ONOFF"
|
||||||
|
) {
|
||||||
sub.subscribe({
|
sub.subscribe({
|
||||||
comps: component,
|
comps: component,
|
||||||
});
|
});
|
||||||
@ -263,60 +338,96 @@ class subscriptionDevices {
|
|||||||
tolSubList.push(sub);
|
tolSubList.push(sub);
|
||||||
subFinish = new Date(Date.now());
|
subFinish = new Date(Date.now());
|
||||||
$("#sub-end").html(subFinish.toISOString());
|
$("#sub-end").html(subFinish.toISOString());
|
||||||
$("#sub-time").html((subFinish.getTime() - subStart.getTime()) / 1000 + "sec");
|
$("#sub-time").html(
|
||||||
|
(subFinish.getTime() - subStart.getTime()) / 1000 +
|
||||||
|
"sec"
|
||||||
|
);
|
||||||
// console.log("訂閱完成時間", (subFinish.getTime() - subStart.getTime()) / 1000 + "sec");
|
// console.log("訂閱完成時間", (subFinish.getTime() - subStart.getTime()) / 1000 + "sec");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (_this.changeCallback != undefined && _this.changeCallback != null) {
|
if (
|
||||||
|
_this.changeCallback != undefined &&
|
||||||
|
_this.changeCallback != null
|
||||||
|
) {
|
||||||
_this.changeCallback(modify_target_device, true); //第2參數用在平面圖,刷新畫面
|
_this.changeCallback(modify_target_device, true); //第2參數用在平面圖,刷新畫面
|
||||||
baja.Ord.make(`local:|foxs:${port}|station:|` + this.getDisplay("slotPath"))
|
baja.Ord.make(
|
||||||
|
`local:|foxs:${port}|station:|` + this.getDisplay("slotPath")
|
||||||
|
)
|
||||||
.get()
|
.get()
|
||||||
.then(function (component) {
|
.then(function (component) {
|
||||||
component_index++;
|
component_index++;
|
||||||
var target_device_number = component.$parent.getDisplayName().split('_').slice(0, 5).join('_');
|
var target_device_number = component.$parent
|
||||||
|
.getDisplayName()
|
||||||
|
.split("_")
|
||||||
|
.slice(0, 5)
|
||||||
|
.join("_");
|
||||||
|
|
||||||
var out_value = component.getOutDisplay();
|
var out_value = component.getOutDisplay();
|
||||||
var target_device_number = component.$parent.getDisplayName().split('_').slice(0, 5).join('_');
|
var target_device_number = component.$parent
|
||||||
|
.getDisplayName()
|
||||||
|
.split("_")
|
||||||
|
.slice(0, 5)
|
||||||
|
.join("_");
|
||||||
var point_name = component.getDisplayName();
|
var point_name = component.getDisplayName();
|
||||||
//依據Facets判斷回傳的內容值為何
|
//依據Facets判斷回傳的內容值為何
|
||||||
var facets_split = component.getFacets1().$cEncStr.split('|');
|
var facets_split = component
|
||||||
|
.getFacets1()
|
||||||
|
.$cEncStr.split("|");
|
||||||
var facets_arr = [];
|
var facets_arr = [];
|
||||||
facets_split.forEach(function (item, index) {
|
facets_split.forEach(function (item, index) {
|
||||||
facets_arr.push(item.split('=s:'));
|
facets_arr.push(item.split("=s:"));
|
||||||
});
|
});
|
||||||
|
|
||||||
var facets = facets_arr.reduce((obj, cur) => ({ ...obj, [cur[0]]: cur[1] }), {})
|
var facets = facets_arr.reduce(
|
||||||
|
(obj, cur) => ({ ...obj, [cur[0]]: cur[1] }),
|
||||||
|
{}
|
||||||
|
);
|
||||||
|
|
||||||
var point_out_split = component.getOutDisplay().split(' ');
|
var point_out_split = component.getOutDisplay().split(" ");
|
||||||
|
|
||||||
let key = Object.keys(facets).find(k => facets[k] === point_out_split[0]);
|
let key = Object.keys(facets).find(
|
||||||
|
(k) => facets[k] === point_out_split[0]
|
||||||
|
);
|
||||||
|
|
||||||
if (key == undefined) {
|
if (key == undefined) {
|
||||||
key = point_out_split[0];
|
key = point_out_split[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
var modify_target_device = {
|
var modify_target_device = {
|
||||||
"device_number": target_device_number ? target_device_number : null,
|
device_number: target_device_number
|
||||||
"device_number_full": component.$parent.getSlotPath().$names.join("_"),
|
? target_device_number
|
||||||
"point_name": point_name ? point_name : null,
|
: null,
|
||||||
"value": key
|
device_number_full: component.$parent
|
||||||
}
|
.getSlotPath()
|
||||||
|
.$names.join("_"),
|
||||||
|
point_name: point_name ? point_name : null,
|
||||||
|
value: key,
|
||||||
|
};
|
||||||
|
|
||||||
if (pageAct.sysSubTag === "L1") {
|
if (pageAct.sysSubTag === "L1") {
|
||||||
if (point_name === "SSC" || point_name === "TRIP" || point_name === "ONOFF") {
|
if (
|
||||||
if (_this.changeCallback != undefined && _this.changeCallback != null) {
|
point_name === "SSC" ||
|
||||||
|
point_name === "TRIP" ||
|
||||||
|
point_name === "ONOFF"
|
||||||
|
) {
|
||||||
|
if (
|
||||||
|
_this.changeCallback != undefined &&
|
||||||
|
_this.changeCallback != null
|
||||||
|
) {
|
||||||
_this.changeCallback(modify_target_device, true); //第2參數用在平面圖,刷新畫面
|
_this.changeCallback(modify_target_device, true); //第2參數用在平面圖,刷新畫面
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (_this.changeCallback != undefined && _this.changeCallback != null) {
|
if (
|
||||||
|
_this.changeCallback != undefined &&
|
||||||
|
_this.changeCallback != null
|
||||||
|
) {
|
||||||
_this.changeCallback(modify_target_device, true); //第2參數用在平面圖,刷新畫面
|
_this.changeCallback(modify_target_device, true); //第2參數用在平面圖,刷新畫面
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// //依據Facets判斷回傳的內容值為何
|
// //依據Facets判斷回傳的內容值為何
|
||||||
// var facets_split = component.getFacets1().$cEncStr.split('|');
|
// var facets_split = component.getFacets1().$cEncStr.split('|');
|
||||||
// var facets_arr = [];
|
// var facets_arr = [];
|
||||||
@ -351,7 +462,11 @@ class subscriptionDevices {
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
if (pageAct.sysSubTag === "L1") {
|
if (pageAct.sysSubTag === "L1") {
|
||||||
if (point_name === "SSC" || point_name === "TRIP" || point_name === "ONOFF") {
|
if (
|
||||||
|
point_name === "SSC" ||
|
||||||
|
point_name === "TRIP" ||
|
||||||
|
point_name === "ONOFF"
|
||||||
|
) {
|
||||||
sub.subscribe({
|
sub.subscribe({
|
||||||
comps: component,
|
comps: component,
|
||||||
});
|
});
|
||||||
@ -368,32 +483,37 @@ class subscriptionDevices {
|
|||||||
tolSubList.push(sub);
|
tolSubList.push(sub);
|
||||||
subFinish = new Date(Date.now());
|
subFinish = new Date(Date.now());
|
||||||
$("#sub-end").html(subFinish.toISOString());
|
$("#sub-end").html(subFinish.toISOString());
|
||||||
$("#sub-time").html((subFinish.getTime() - subStart.getTime()) / 1000 + "sec");
|
$("#sub-time").html(
|
||||||
|
(subFinish.getTime() - subStart.getTime()) / 1000 + "sec"
|
||||||
|
);
|
||||||
// console.log("訂閱完成時間", (subFinish.getTime() - subStart.getTime()) / 1000 + "sec");
|
// console.log("訂閱完成時間", (subFinish.getTime() - subStart.getTime()) / 1000 + "sec");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
after: function () {
|
after: function () {
|
||||||
tableFinish = new Date(Date.now());
|
tableFinish = new Date(Date.now());
|
||||||
// $("#table-finish-timestamp").html(tableFinish.toISOString());
|
// $("#table-finish-timestamp").html(tableFinish.toISOString());
|
||||||
// $("#table-time").html((tableFinish.getTime() - tableStart.getTime()) / 1000 + "sec");
|
// $("#table-time").html((tableFinish.getTime() - tableStart.getTime()) / 1000 + "sec");
|
||||||
//取得component當下就更新設備點位
|
//取得component當下就更新設備點位
|
||||||
if (_this.changeEndCallback != undefined && _this.changeEndCallback != null) {
|
if (
|
||||||
|
_this.changeEndCallback != undefined &&
|
||||||
|
_this.changeEndCallback != null
|
||||||
|
) {
|
||||||
_this.changeEndCallback(totalTargetDevice);
|
_this.changeEndCallback(totalTargetDevice);
|
||||||
}
|
}
|
||||||
endPageLoading ? endPageLoading() : ""
|
endPageLoading ? endPageLoading() : "";
|
||||||
console.log("表格完成時間", (tableFinish.getTime() - tableStart.getTime()) / 1000 + "sec");
|
console.log(
|
||||||
|
"表格完成時間",
|
||||||
|
(tableFinish.getTime() - tableStart.getTime()) / 1000 + "sec"
|
||||||
|
);
|
||||||
},
|
},
|
||||||
limit: -1,
|
limit: -1,
|
||||||
offset: 0
|
offset: 0,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
})
|
});
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
//function subscriptionDevices() {
|
//function subscriptionDevices() {
|
||||||
@ -427,23 +547,22 @@ function subscriptionAlarms() {
|
|||||||
if (callBackFunc != undefined && callBackFunc != null) {
|
if (callBackFunc != undefined && callBackFunc != null) {
|
||||||
baja_subscribe_alarm_callback_func = callBackFunc;
|
baja_subscribe_alarm_callback_func = callBackFunc;
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
// BQL訂閱結束回傳的Function
|
// BQL訂閱結束回傳的Function
|
||||||
this.setSubscribeAlarmEndCallBack = function (callBackFunc) {
|
this.setSubscribeAlarmEndCallBack = function (callBackFunc) {
|
||||||
if (callBackFunc != undefined && callBackFunc != null) {
|
if (callBackFunc != undefined && callBackFunc != null) {
|
||||||
baja_subscribe_end_alarm_callback_func = callBackFunc;
|
baja_subscribe_end_alarm_callback_func = callBackFunc;
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function subscriptionElectricmeter() {
|
function subscriptionElectricmeter() {
|
||||||
// 用BQL的方式去訂閱
|
// 用BQL的方式去訂閱
|
||||||
this.setSubscribeElectricmeterByBql = function (tempOrdPath) {
|
this.setSubscribeElectricmeterByBql = function (tempOrdPath) {
|
||||||
if(tempOrdPath.devicePath?.includes("/")){
|
if (tempOrdPath.devicePath?.includes("/")) {
|
||||||
let newDevPath = [];
|
let newDevPath = [];
|
||||||
for(var tag of tempOrdPath.devicePath?.split("/")){
|
for (var tag of tempOrdPath.devicePath?.split("/")) {
|
||||||
if(!isNaN(parseInt(tag.slice(0,1)))){
|
if (!isNaN(parseInt(tag.slice(0, 1)))) {
|
||||||
tag = "$3" + tag;
|
tag = "$3" + tag;
|
||||||
}
|
}
|
||||||
newDevPath.push(tag);
|
newDevPath.push(tag);
|
||||||
@ -457,23 +576,22 @@ function subscriptionElectricmeter() {
|
|||||||
if (callBackFunc != undefined && callBackFunc != null) {
|
if (callBackFunc != undefined && callBackFunc != null) {
|
||||||
baja_subscribe_electricmeter_callback_func = callBackFunc;
|
baja_subscribe_electricmeter_callback_func = callBackFunc;
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
// BQL訂閱結束回傳的Function
|
// BQL訂閱結束回傳的Function
|
||||||
this.setSubscribeElectricmeterEndCallBack = function (callBackFunc) {
|
this.setSubscribeElectricmeterEndCallBack = function (callBackFunc) {
|
||||||
if (callBackFunc != undefined && callBackFunc != null) {
|
if (callBackFunc != undefined && callBackFunc != null) {
|
||||||
baja_subscribe_end_electricmeter_callback_func = callBackFunc;
|
baja_subscribe_end_electricmeter_callback_func = callBackFunc;
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
function MyBaja() {
|
function MyBaja() {
|
||||||
// 取得使用者帳號
|
// 取得使用者帳號
|
||||||
this.setMyUserAccount = function (callBackFunc = null) {
|
this.setMyUserAccount = function (callBackFunc = null) {
|
||||||
require(['baja!'], function (baja) {
|
require(["baja!"], function (baja) {
|
||||||
user_name = baja.getUserName();
|
user_name = baja.getUserName();
|
||||||
callBackFunc ? callBackFunc(user_name) : "";
|
callBackFunc ? callBackFunc(user_name) : "";
|
||||||
});
|
});
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -482,7 +600,6 @@ function MyBaja() {
|
|||||||
*/
|
*/
|
||||||
//function BajaSubscribeDevicesByBql() {
|
//function BajaSubscribeDevicesByBql() {
|
||||||
|
|
||||||
|
|
||||||
// require(['baja!'], function (baja) {
|
// require(['baja!'], function (baja) {
|
||||||
// console.log("進入Function 準備執行BQL訂閱");
|
// console.log("進入Function 準備執行BQL訂閱");
|
||||||
// startPageLoading ? startPageLoading() : ""
|
// startPageLoading ? startPageLoading() : ""
|
||||||
@ -560,8 +677,6 @@ function MyBaja() {
|
|||||||
// $("#sub-number").html(index + 1);
|
// $("#sub-number").html(index + 1);
|
||||||
// total_component_index = index;
|
// total_component_index = index;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// var target_device_number_split = this.getDisplay("slotPath").split('/');
|
// var target_device_number_split = this.getDisplay("slotPath").split('/');
|
||||||
// var target_device_number = target_device_number_split[8];
|
// var target_device_number = target_device_number_split[8];
|
||||||
// //console.log(target_device_number);
|
// //console.log(target_device_number);
|
||||||
@ -597,7 +712,6 @@ function MyBaja() {
|
|||||||
// baja_subscribe_device_callback_func(modify_target_device);
|
// baja_subscribe_device_callback_func(modify_target_device);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
|
||||||
// baja.Ord.make(`local:|foxs:${port}|station:|` + this.getDisplay("slotPath"))
|
// baja.Ord.make(`local:|foxs:${port}|station:|` + this.getDisplay("slotPath"))
|
||||||
// .get()
|
// .get()
|
||||||
// .then(function (component) {
|
// .then(function (component) {
|
||||||
@ -670,21 +784,34 @@ function MyBaja() {
|
|||||||
* 使用者透過BQL指定路徑去訂閱Alarm
|
* 使用者透過BQL指定路徑去訂閱Alarm
|
||||||
*/
|
*/
|
||||||
function BajaSubscribeAlarmsByBql(ordPathForAlarm) {
|
function BajaSubscribeAlarmsByBql(ordPathForAlarm) {
|
||||||
require(['baja!'], function (baja) {
|
require(["baja!"], function (baja) {
|
||||||
console.log("進入Function 準備執行BQL訂閱");
|
console.log("進入Function 準備執行BQL訂閱");
|
||||||
var init_start = new Date(Date.now());
|
var init_start = new Date(Date.now());
|
||||||
var sub = new baja.Subscriber();
|
var sub = new baja.Subscriber();
|
||||||
startPageLoading ? startPageLoading() : ""
|
startPageLoading ? startPageLoading() : "";
|
||||||
sub.attach('changed', function (prop) {
|
sub.attach("changed", function (prop) {
|
||||||
if (prop.getName() === 'out') {
|
if (prop.getName() === "out") {
|
||||||
var sourceState = (this.$map.$map.in10.$val.$map.$map.value.$display) == 'true' ? "Offnormal" : "Normal";
|
var sourceState =
|
||||||
|
this.$map.$map.in10.$val.$map.$map.value.$display == "true"
|
||||||
|
? "Offnormal"
|
||||||
|
: "Normal";
|
||||||
|
|
||||||
var modify_target_device = {
|
var modify_target_device = {
|
||||||
"system": ordPathForAlarm.area_tag + "_" + ordPathForAlarm.building_tag + "_" + ordPathForAlarm.system_tag + "_" + ordPathForAlarm.name_tag,
|
system:
|
||||||
"sourceState": sourceState ? sourceState : null
|
ordPathForAlarm.area_tag +
|
||||||
}
|
"_" +
|
||||||
|
ordPathForAlarm.building_tag +
|
||||||
|
"_" +
|
||||||
|
ordPathForAlarm.system_tag +
|
||||||
|
"_" +
|
||||||
|
ordPathForAlarm.name_tag,
|
||||||
|
sourceState: sourceState ? sourceState : null,
|
||||||
|
};
|
||||||
|
|
||||||
if (baja_subscribe_alarm_callback_func != undefined && baja_subscribe_alarm_callback_func != null) {
|
if (
|
||||||
|
baja_subscribe_alarm_callback_func != undefined &&
|
||||||
|
baja_subscribe_alarm_callback_func != null
|
||||||
|
) {
|
||||||
baja_subscribe_alarm_callback_func(modify_target_device);
|
baja_subscribe_alarm_callback_func(modify_target_device);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -692,16 +819,19 @@ function BajaSubscribeAlarmsByBql(ordPathForAlarm) {
|
|||||||
|
|
||||||
//使用bql語法
|
//使用bql語法
|
||||||
// console.log(`local:|foxs:${port}|alarm:|bql:select top 1 timestamp, sourceState, normalTime where alarmData.sourceName like '%${ordPathForAlarm.area_tag}_${ordPathForAlarm.building_tag}_${ordPathForAlarm.system_tag}_${ordPathForAlarm.name_tag}_%' order by timestamp desc`);
|
// console.log(`local:|foxs:${port}|alarm:|bql:select top 1 timestamp, sourceState, normalTime where alarmData.sourceName like '%${ordPathForAlarm.area_tag}_${ordPathForAlarm.building_tag}_${ordPathForAlarm.system_tag}_${ordPathForAlarm.name_tag}_%' order by timestamp desc`);
|
||||||
baja.Ord.make(`local:|foxs:${port}|alarm:|bql:select top 1 timestamp, sourceState, alarmData, alarmData.sourceName, normalTime where alarmData.sourceName like '%${ordPathForAlarm.area_tag}_${ordPathForAlarm.building_tag}_${ordPathForAlarm.system_tag}_${ordPathForAlarm.name_tag}_%' order by timestamp desc`)
|
baja.Ord.make(
|
||||||
.get(
|
`local:|foxs:${port}|alarm:|bql:select top 1 timestamp, sourceState, alarmData, alarmData.sourceName, normalTime where alarmData.sourceName like '%${ordPathForAlarm.area_tag}_${ordPathForAlarm.building_tag}_${ordPathForAlarm.system_tag}_${ordPathForAlarm.name_tag}_%' order by timestamp desc`
|
||||||
function (table) {
|
).get(function (table) {
|
||||||
var tableStart, tableFinish;
|
var tableStart, tableFinish;
|
||||||
var subStart, subFinish;
|
var subStart, subFinish;
|
||||||
var totalTargetDevice = [];
|
var totalTargetDevice = [];
|
||||||
var component_index = 0;
|
var component_index = 0;
|
||||||
var total_component_index = 0;
|
var total_component_index = 0;
|
||||||
var readBqlFinish = new Date(Date.now());
|
var readBqlFinish = new Date(Date.now());
|
||||||
console.log("讀取路徑完成-花費時間", (readBqlFinish.getTime() - init_start.getTime()) / 1000 + "sec");
|
console.log(
|
||||||
|
"讀取路徑完成-花費時間",
|
||||||
|
(readBqlFinish.getTime() - init_start.getTime()) / 1000 + "sec"
|
||||||
|
);
|
||||||
|
|
||||||
table.cursor({
|
table.cursor({
|
||||||
before: function () {
|
before: function () {
|
||||||
@ -717,17 +847,45 @@ function BajaSubscribeAlarmsByBql(ordPathForAlarm) {
|
|||||||
|
|
||||||
var sourceState = this.getDisplay("sourceState");
|
var sourceState = this.getDisplay("sourceState");
|
||||||
//var sourceName = (item.$map.$map.alarmData$2esourceName.$display).replace('_', '/');
|
//var sourceName = (item.$map.$map.alarmData$2esourceName.$display).replace('_', '/');
|
||||||
var sourceNameArray = (item.$map.$map.alarmData$2esourceName.$display).split('_');
|
var sourceNameArray =
|
||||||
var slotPath = sourceNameArray[0] + "/" + sourceNameArray[1] + "/" + sourceNameArray[2] + "/" + sourceNameArray[3] + "/" + sourceNameArray[4] + "/" + sourceNameArray[5] + "/" + sourceNameArray[6] + "/" + sourceNameArray[7] + "/" + sourceNameArray[8];
|
item.$map.$map.alarmData$2esourceName.$display.split("_");
|
||||||
|
var slotPath =
|
||||||
|
sourceNameArray[0] +
|
||||||
|
"/" +
|
||||||
|
sourceNameArray[1] +
|
||||||
|
"/" +
|
||||||
|
sourceNameArray[2] +
|
||||||
|
"/" +
|
||||||
|
sourceNameArray[3] +
|
||||||
|
"/" +
|
||||||
|
sourceNameArray[4] +
|
||||||
|
"/" +
|
||||||
|
sourceNameArray[5] +
|
||||||
|
"/" +
|
||||||
|
sourceNameArray[6] +
|
||||||
|
"/" +
|
||||||
|
sourceNameArray[7] +
|
||||||
|
"/" +
|
||||||
|
sourceNameArray[8];
|
||||||
var normalTime = this.getDisplay("normalTime");
|
var normalTime = this.getDisplay("normalTime");
|
||||||
|
|
||||||
var modify_target_device = {
|
var modify_target_device = {
|
||||||
"system": ordPathForAlarm.area_tag + "_" + ordPathForAlarm.building_tag + "_" + ordPathForAlarm.system_tag + "_" + ordPathForAlarm.name_tag,
|
system:
|
||||||
"sourceState": sourceState ? sourceState : null
|
ordPathForAlarm.area_tag +
|
||||||
}
|
"_" +
|
||||||
|
ordPathForAlarm.building_tag +
|
||||||
|
"_" +
|
||||||
|
ordPathForAlarm.system_tag +
|
||||||
|
"_" +
|
||||||
|
ordPathForAlarm.name_tag,
|
||||||
|
sourceState: sourceState ? sourceState : null,
|
||||||
|
};
|
||||||
totalTargetDevice.push(modify_target_device);
|
totalTargetDevice.push(modify_target_device);
|
||||||
//取得component當下就更新設備點位
|
//取得component當下就更新設備點位
|
||||||
if (baja_subscribe_alarm_callback_func != undefined && baja_subscribe_alarm_callback_func != null) {
|
if (
|
||||||
|
baja_subscribe_alarm_callback_func != undefined &&
|
||||||
|
baja_subscribe_alarm_callback_func != null
|
||||||
|
) {
|
||||||
baja_subscribe_alarm_callback_func(modify_target_device);
|
baja_subscribe_alarm_callback_func(modify_target_device);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -741,19 +899,28 @@ function BajaSubscribeAlarmsByBql(ordPathForAlarm) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
subFinish = new Date(Date.now());
|
subFinish = new Date(Date.now());
|
||||||
console.log("訂閱完成時間", (subFinish.getTime() - subStart.getTime()) / 1000 + "sec");
|
console.log(
|
||||||
|
"訂閱完成時間",
|
||||||
|
(subFinish.getTime() - subStart.getTime()) / 1000 + "sec"
|
||||||
|
);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
after: function () {
|
after: function () {
|
||||||
tableFinish = new Date(Date.now());
|
tableFinish = new Date(Date.now());
|
||||||
if (baja_subscribe_end_alarm_callback_func != undefined && baja_subscribe_end_alarm_callback_func != null) {
|
if (
|
||||||
|
baja_subscribe_end_alarm_callback_func != undefined &&
|
||||||
|
baja_subscribe_end_alarm_callback_func != null
|
||||||
|
) {
|
||||||
baja_subscribe_end_alarm_callback_func(totalTargetDevice);
|
baja_subscribe_end_alarm_callback_func(totalTargetDevice);
|
||||||
}
|
}
|
||||||
endPageLoading ? endPageLoading() : ""
|
endPageLoading ? endPageLoading() : "";
|
||||||
console.log("表格完成時間", (tableFinish.getTime() - tableStart.getTime()) / 1000 + "sec");
|
console.log(
|
||||||
|
"表格完成時間",
|
||||||
|
(tableFinish.getTime() - tableStart.getTime()) / 1000 + "sec"
|
||||||
|
);
|
||||||
},
|
},
|
||||||
limit: -1,
|
limit: -1,
|
||||||
offset: 0
|
offset: 0,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -762,58 +929,84 @@ function BajaSubscribeAlarmsByBql(ordPathForAlarm) {
|
|||||||
/**
|
/**
|
||||||
* 使用者透過BQL指定路徑去訂閱 electricmeter
|
* 使用者透過BQL指定路徑去訂閱 electricmeter
|
||||||
*/
|
*/
|
||||||
function BajaSubscribeElectricmeterByBql(ordPathForElectricmeter) {
|
function BajaSubscribeElectricmeterByBql(
|
||||||
|
ordPathForElectricmeter,
|
||||||
|
callback = null
|
||||||
require(['baja!'], function (baja) {
|
) {
|
||||||
|
require(["baja!"], function (baja) {
|
||||||
//console.log("進入Function 準備執行BQL訂閱");
|
//console.log("進入Function 準備執行BQL訂閱");
|
||||||
startPageLoading ? startPageLoading() : ""
|
startPageLoading ? startPageLoading() : "";
|
||||||
var init_start = new Date(Date.now());
|
var init_start = new Date(Date.now());
|
||||||
var sub = new baja.Subscriber();
|
var sub = new baja.Subscriber();
|
||||||
|
|
||||||
sub.attach('changed', function (prop) {
|
sub.attach(
|
||||||
if (prop.getName() === 'out') {
|
"changed",
|
||||||
|
function (prop) {
|
||||||
|
if (prop.getName() === "out") {
|
||||||
var out_value = this.getOutDisplay();
|
var out_value = this.getOutDisplay();
|
||||||
var target_device_number = this.$parent.getDisplayName().split('_').slice(0, 5).join('_');
|
var target_device_number = this.$parent
|
||||||
|
.getDisplayName()
|
||||||
|
.split("_")
|
||||||
|
.slice(0, 5)
|
||||||
|
.join("_");
|
||||||
var point_name = this.getDisplayName();
|
var point_name = this.getDisplayName();
|
||||||
|
|
||||||
//依據Facets判斷回傳的內容值為何
|
//依據Facets判斷回傳的內容值為何
|
||||||
var facets_split = this.getFacets1().$cEncStr.split('|');
|
var facets_split = this.getFacets1().$cEncStr.split("|");
|
||||||
var facets_arr = [];
|
var facets_arr = [];
|
||||||
facets_split.forEach(function (item, index) {
|
facets_split.forEach(function (item, index) {
|
||||||
facets_arr.push(item.split('=s:'));
|
facets_arr.push(item.split("=s:"));
|
||||||
});
|
});
|
||||||
|
|
||||||
var facets = facets_arr.reduce((obj, cur) => ({ ...obj, [cur[0]]: cur[1] }), {})
|
var facets = facets_arr.reduce(
|
||||||
|
(obj, cur) => ({ ...obj, [cur[0]]: cur[1] }),
|
||||||
|
{}
|
||||||
|
);
|
||||||
|
|
||||||
var point_out_split = this.getOutDisplay().split(' ');
|
var point_out_split = this.getOutDisplay().split(" ");
|
||||||
|
|
||||||
let key = Object.keys(facets).find(k => facets[k] === point_out_split[0]);
|
let key = Object.keys(facets).find(
|
||||||
|
(k) => facets[k] === point_out_split[0]
|
||||||
|
);
|
||||||
|
|
||||||
if (key == undefined) {
|
if (key == undefined) {
|
||||||
key = point_out_split[0];
|
key = point_out_split[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
var modify_target_device = {
|
var modify_target_device = {
|
||||||
"device_number": target_device_number ? target_device_number : null,
|
device_number: target_device_number ? target_device_number : null,
|
||||||
//"device_number_full": this.$parent.getSlotPath().$names.join("_"),
|
//"device_number_full": this.$parent.getSlotPath().$names.join("_"),
|
||||||
"point_name": point_name ? point_name : null,
|
point_name: point_name ? point_name : null,
|
||||||
"value": key
|
value: key,
|
||||||
|
};
|
||||||
|
|
||||||
|
if (callback !== null) {
|
||||||
|
callback([modify_target_device]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (baja_subscribe_electricmeter_callback_func != undefined && baja_subscribe_electricmeter_callback_func != null) {
|
if (
|
||||||
baja_subscribe_electricmeter_callback_func(modify_target_device, true); //第2參數用在平面圖,刷新畫面
|
baja_subscribe_electricmeter_callback_func != undefined &&
|
||||||
|
baja_subscribe_electricmeter_callback_func != null
|
||||||
|
) {
|
||||||
|
baja_subscribe_electricmeter_callback_func(
|
||||||
|
modify_target_device,
|
||||||
|
true
|
||||||
|
); //第2參數用在平面圖,刷新畫面
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, function (err) {
|
},
|
||||||
console.log(err)
|
function (err) {
|
||||||
});
|
console.log(err);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
//使用bql語法
|
//使用bql語法
|
||||||
// console.log(`local:|foxs:${port}|station:|slot:/${ordPathForElectricmeter.devicePath}|bql:select name, out, out.value, slotPath, facets from control:ControlPoint`);
|
// console.log(
|
||||||
baja.Ord.make(`local:|foxs:${port}|station:|slot:/${ordPathForElectricmeter.devicePath}|bql:select name, out, out.value, slotPath, facets from control:ControlPoint`)
|
// `local:|foxs:${port}|station:|slot:/${ordPathForElectricmeter.devicePath}|bql:select name, out, out.value, slotPath, facets from control:ControlPoint`
|
||||||
.get(
|
// );
|
||||||
function (table) {
|
baja.Ord.make(
|
||||||
|
`local:|foxs:${port}|station:|slot:/${ordPathForElectricmeter.devicePath}|bql:select name, out, out.value, slotPath, facets from control:ControlPoint`
|
||||||
|
).get(function (table) {
|
||||||
var tableStart, tableFinish;
|
var tableStart, tableFinish;
|
||||||
var subStart, subFinish;
|
var subStart, subFinish;
|
||||||
var component_index = 0;
|
var component_index = 0;
|
||||||
@ -827,7 +1020,6 @@ function BajaSubscribeElectricmeterByBql(ordPathForElectricmeter) {
|
|||||||
tableStart = new Date(Date.now());
|
tableStart = new Date(Date.now());
|
||||||
$("#table-start-timestamp").html(tableStart.toISOString());
|
$("#table-start-timestamp").html(tableStart.toISOString());
|
||||||
render_start = new Date(Date.now());
|
render_start = new Date(Date.now());
|
||||||
|
|
||||||
},
|
},
|
||||||
each: function (item, index) {
|
each: function (item, index) {
|
||||||
if (index < 1) {
|
if (index < 1) {
|
||||||
@ -837,45 +1029,53 @@ function BajaSubscribeElectricmeterByBql(ordPathForElectricmeter) {
|
|||||||
$("#sub-number").html(index + 1);
|
$("#sub-number").html(index + 1);
|
||||||
total_component_index = index;
|
total_component_index = index;
|
||||||
|
|
||||||
|
var target_device_number_split =
|
||||||
|
this.getDisplay("slotPath").split("/");
|
||||||
var target_device_number_split = this.getDisplay("slotPath").split('/');
|
|
||||||
var target_device_number = target_device_number_split[8];
|
var target_device_number = target_device_number_split[8];
|
||||||
//console.log(target_device_number);
|
//console.log(target_device_number);
|
||||||
var point_name = this.getDisplay("name");
|
var point_name = this.getDisplay("name");
|
||||||
var facets = this.getDisplay("facets");
|
var facets = this.getDisplay("facets");
|
||||||
|
|
||||||
//依據Facets判斷回傳的內容值為何
|
//依據Facets判斷回傳的內容值為何
|
||||||
var facets_split = facets.split(',');
|
var facets_split = facets.split(",");
|
||||||
var facets_arr = [];
|
var facets_arr = [];
|
||||||
facets_split.forEach(function (item, index) {
|
facets_split.forEach(function (item, index) {
|
||||||
facets_arr.push(item.split('='));
|
facets_arr.push(item.split("="));
|
||||||
});
|
});
|
||||||
|
|
||||||
facets = facets_arr.reduce((obj, cur) => ({ ...obj, [cur[0]]: cur[1] }), {})
|
facets = facets_arr.reduce(
|
||||||
|
(obj, cur) => ({ ...obj, [cur[0]]: cur[1] }),
|
||||||
|
{}
|
||||||
|
);
|
||||||
|
|
||||||
var point_out_split = this.getDisplay("out").split(' ');
|
var point_out_split = this.getDisplay("out").split(" ");
|
||||||
|
|
||||||
let key = Object.keys(facets).find(k => facets[k] === point_out_split[0]);
|
let key = Object.keys(facets).find(
|
||||||
|
(k) => facets[k] === point_out_split[0]
|
||||||
|
);
|
||||||
|
|
||||||
if (key == undefined) {
|
if (key == undefined) {
|
||||||
key = point_out_split[0];
|
key = point_out_split[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
var modify_target_device = {
|
var modify_target_device = {
|
||||||
"device_number": target_device_number ? target_device_number : null,
|
device_number: target_device_number ? target_device_number : null,
|
||||||
//"device_number_full": this.getDisplay("slotPath").split("slot:")[1].split('/').slice(1, -1).join("_"),
|
//"device_number_full": this.getDisplay("slotPath").split("slot:")[1].split('/').slice(1, -1).join("_"),
|
||||||
"point_name": point_name ? point_name : null,
|
point_name: point_name ? point_name : null,
|
||||||
"value": key
|
value: key,
|
||||||
}
|
};
|
||||||
totalTargetDevice.push(modify_target_device);
|
totalTargetDevice.push(modify_target_device);
|
||||||
//取得component當下就更新設備點位
|
//取得component當下就更新設備點位
|
||||||
if (baja_subscribe_electricmeter_callback_func != undefined && baja_subscribe_electricmeter_callback_func != null) {
|
if (
|
||||||
|
baja_subscribe_electricmeter_callback_func != undefined &&
|
||||||
|
baja_subscribe_electricmeter_callback_func != null
|
||||||
|
) {
|
||||||
baja_subscribe_electricmeter_callback_func(modify_target_device);
|
baja_subscribe_electricmeter_callback_func(modify_target_device);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
baja.Ord.make(
|
||||||
baja.Ord.make(`local:|foxs:${port}|station:|` + this.getDisplay("slotPath"))
|
`local:|foxs:${port}|station:|` + this.getDisplay("slotPath")
|
||||||
|
)
|
||||||
.get()
|
.get()
|
||||||
.then(function (component) {
|
.then(function (component) {
|
||||||
component_index++;
|
component_index++;
|
||||||
@ -888,23 +1088,31 @@ function BajaSubscribeElectricmeterByBql(ordPathForElectricmeter) {
|
|||||||
tolSubList.push(sub);
|
tolSubList.push(sub);
|
||||||
subFinish = new Date(Date.now());
|
subFinish = new Date(Date.now());
|
||||||
$("#sub-end").html(subFinish.toISOString());
|
$("#sub-end").html(subFinish.toISOString());
|
||||||
$("#sub-time").html((subFinish.getTime() - subStart.getTime()) / 1000 + "sec");
|
$("#sub-time").html(
|
||||||
|
(subFinish.getTime() - subStart.getTime()) / 1000 + "sec"
|
||||||
|
);
|
||||||
// console.log("訂閱完成時間", (subFinish.getTime() - subStart.getTime()) / 1000 + "sec");
|
// console.log("訂閱完成時間", (subFinish.getTime() - subStart.getTime()) / 1000 + "sec");
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
after: function () {
|
after: function () {
|
||||||
tableFinish = new Date(Date.now());
|
tableFinish = new Date(Date.now());
|
||||||
if (baja_subscribe_end_electricmeter_callback_func != undefined && baja_subscribe_end_electricmeter_callback_func != null) {
|
if (callback !== null) {
|
||||||
|
callback(totalTargetDevice);
|
||||||
|
}
|
||||||
|
if (
|
||||||
|
baja_subscribe_end_electricmeter_callback_func != undefined &&
|
||||||
|
baja_subscribe_end_electricmeter_callback_func != null
|
||||||
|
) {
|
||||||
baja_subscribe_end_electricmeter_callback_func(totalTargetDevice);
|
baja_subscribe_end_electricmeter_callback_func(totalTargetDevice);
|
||||||
}
|
}
|
||||||
endPageLoading ? endPageLoading() : ""
|
endPageLoading ? endPageLoading() : "";
|
||||||
//console.log("表格完成時間", (tableFinish.getTime() - tableStart.getTime()) / 1000 + "sec");
|
//console.log("表格完成時間", (tableFinish.getTime() - tableStart.getTime()) / 1000 + "sec");
|
||||||
},
|
},
|
||||||
limit: -1,
|
limit: -1,
|
||||||
offset: 0
|
offset: 0,
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// function getAlarmCountByBaja(callback) {
|
// function getAlarmCountByBaja(callback) {
|
||||||
|
Loading…
Reference in New Issue
Block a user