-
-
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Frontend/_dashboard.html b/Frontend/_dashboard.html
index 1f9a945..fb0460e 100644
--- a/Frontend/_dashboard.html
+++ b/Frontend/_dashboard.html
@@ -208,11 +208,7 @@
-
-
-
\ No newline at end of file
diff --git a/Frontend/_sysMonAll.html b/Frontend/_sysMonAll.html
index bdf581f..e30f7d3 100644
--- a/Frontend/_sysMonAll.html
+++ b/Frontend/_sysMonAll.html
@@ -376,13 +376,17 @@
function show3DModel(urn) {
$(loadEle).Loading("start");
launchViewerForHotspot(urn, (viewer, nodeIds) => {
- let devDbIds = allDevList.map(x => x.forge_dbid);
-
+ let devDbIds = allDevList.map(x => x.forge_dbid); // 大類
+ console.log(allDevList);
+ let subDevDbId = [];
+ allDevList.forEach(({ device_nodes }) => {
+ subDevDbId = [...subDevDbId, ...device_nodes.map(n => n.forge_dbid)]
+ })
// 從資料庫設定不可視模型的類型,若沒有取道該小類不可視類型,則套用資料庫設定預設類型
if (forgeInvType) {
- setInviForge(forgeInvType, devDbIds);
+ setInviForge(forgeInvType, [...devDbIds, ...subDevDbId]);
} else {
- setInviForge(forgeInvTypeDef, devDbIds);
+ setInviForge(forgeInvTypeDef, [...devDbIds, ...subDevDbId]);
}
$(loadEle).Loading("close");
@@ -434,9 +438,11 @@
setForgeHotSpotColor(matchDevice);
}
}
- }
-
+ }
+ if (pageAct.sub_system_tag == "W2") {
getWaterNodeId();
+ }
+
}, () => {
$(loadEle).Loading("close");
}, "[name=forgeViewer]");
@@ -444,20 +450,24 @@
// 供水系統 - 取得欲染色 dbid
function getWaterNodeId() {
- let url = baseApiUrl + "/api/Device/GetForgeNodeIdFromVar";
- let sendData = { forgeNodeKey: "water_wupply" };
- objSendData.Data = sendData;
- ytAjax = new YourTeam.Ajax(url, objSendData, function (res) {
- if (!res || res.code != "0000" || !res.data) {
+ //let url = baseApiUrl + "/api/Device/GetForgeNodeIdFromVar";
+ //let sendData = { forgeNodeKey: "water_wupply" };
+ //objSendData.Data = sendData;
+ //ytAjax = new YourTeam.Ajax(url, objSendData, function (res) {
+ // if (!res || res.code != "0000" || !res.data) {
- } else {
- if (!isNaN(parseInt(res.data[0]?.system_value))) {
- changeColor(parseInt(res.data[0]?.system_value))
- }
- console.log(res.data)
- }
- }, null, "POST").send();
+ // } else {
+ // if (!isNaN(parseInt(res.data[0]?.system_value))) {
+ // changeColor(parseInt(res.data[0]?.system_value))
+ // }
+ // console.log(res.data)
+ // }
+ //}, null, "POST").send();
+ viewer.model.search("給水", (nodeIds) => {
+ console.log(nodeIds)
+ viewer.show(nodeIds)
+ }, (e) => { console.log(e) })
}
function getHotspotPoint(callback = null) {
diff --git a/Frontend/index.html b/Frontend/index.html
index 63327e8..fb37597 100644
--- a/Frontend/index.html
+++ b/Frontend/index.html
@@ -1410,9 +1410,9 @@ License: You must have a valid license purchased only from wrapbootstrap.com (li
{
"title": "發生/完成時間",
"data": "normalTime",
- "render": function (data, type, row) {
- return row.timestamp + "
" + data;
- },
+ //"render": function (data, type, row) {
+ // return row.timestamp + "
" + data;
+ //},
},
];
diff --git a/Frontend/js/n4js/alarmbaja.js b/Frontend/js/n4js/alarmbaja.js
index 7c20610..1e63d7f 100644
--- a/Frontend/js/n4js/alarmbaja.js
+++ b/Frontend/js/n4js/alarmbaja.js
@@ -93,20 +93,28 @@ function getAlarmByBaja(startDate_millisecond, endDate_millisecond, isRecover, i
var _index = 0;
var _recoverState = isRecover ? "!= null" : "= null";
var _ackState = isAck ? "= 'acked'" : "= 'unacked'";
- /*console.log("local:|foxs:|alarm:|bql:select timestamp, ackState, alarmClass, alarmClassDisplayName, alarmValue, alarmData, alarmData.sourceName, uuid, alarmData.msgText, alarmData.numericValue, alarmData.presentValue, alarmData.status, alarmData.toState, normalTime from openAlarms where alarmClass = '" + alarmClass + "' and timestamp.millis > " + startDate_millisecond + " and timestamp.millis < " + endDate_millisecond + " and normalTime " + _recoverState + " and ackState " + _ackState + " order by timestamp asc")*/
+ console.log("local:|foxs:|alarm:|bql:select timestamp, ackState, alarmClass, alarmClassDisplayName, alarmValue, alarmData, alarmData.sourceName, uuid, alarmData.msgText, alarmData.numericValue, alarmData.presentValue, alarmData.status, alarmData.toState, normalTime from openAlarms where alarmClass = '" + alarmClass + "' and timestamp.millis > " + startDate_millisecond + " and timestamp.millis < " + endDate_millisecond + " and normalTime " + _recoverState + " and ackState " + _ackState + " order by timestamp asc")
require(['baja!'], function (baja) {
baja.Ord.make("local:|foxs:|alarm:|bql:select timestamp, ackTime, ackState, alarmClass, alarmClassDisplayName, alarmValue, alarmData, alarmData.sourceName, uuid, alarmData.msgText, alarmData.numericValue, alarmData.presentValue, alarmData.status, alarmData.toState, normalTime from openAlarms where alarmClass = '" + alarmClass + "' and timestamp.millis > " + startDate_millisecond + " and timestamp.millis < " + endDate_millisecond + " and normalTime " + _recoverState + " and ackState " + _ackState + " order by timestamp asc").get()
.then(function (table) {
return table.cursor({
each: function (record) {
- _sourceTmp = (record.get('alarmData').get('sourceName')).toString().split('_');
+ const alarmDisplayName = record.get('alarmData').get('sourceName').split(":")[1] ?? record.get('alarmData').get('sourceName').split(":")[0]
+ //console.log(alarmDisplayName)
+ _sourceTmp = alarmDisplayName.split('_');
_bfName = _sourceTmp[1] + "-" + _sourceTmp[4];
- _sourceName = _sourceTmp[7] + "-" + _sourceTmp[8];
- _ss.push({ buildingFloorName_zh: _bfName, uuid: record.get('uuid'), timestamp: record.get('timestamp').$cEncStr, alarmClass: record.get('alarmClass'), sourceName_zh: _sourceName, msgText: record.get('alarmData').get('msgText'), ackState: record.get('ackState'), normalTime: record.get('normalTime'), ackedTime: record.get('ackTime').$cEncStr })
+ _sourceName = _sourceTmp.slice(0, 8).join("_");
+ _sourceTmp = _sourceTmp[7] + "-" + _sourceTmp[8];
+ if (!_sourceTmp.includes("undefined")) {
+ _ss.push({ buildingFloorName_zh: _bfName, uuid: record.get('uuid'), timestamp: record.get('timestamp').$cEncStr, alarmClass: record.get('alarmClass'), sourceName_zh: _sourceName, sourceTmp: _sourceTmp, msgText: record.get('alarmData').get('msgText'), ackState: record.get('ackState'), normalTime: record.get('normalTime'), ackedTime: record.get('ackTime').$cEncStr })
+ }
_index++
},
after: function () {
_result = { count: _index, data: _ss }
+
+ //console.log(552, _result);
+
if (typeof callback === 'function') {
callback(_result);
}
@@ -153,8 +161,8 @@ function getAlarmByBaja(startDate_millisecond, endDate_millisecond, isRecover, i
// });
// }
function getOneDeviceAlarmTop10ByBaja(devicePath, callback) {
- var _result = "";
- var _ss = "";
+ var _result = {};
+ var _ss = [];
var _occurrenceTime = "";
var _normalTime = "";
var _index = 0;
@@ -166,28 +174,23 @@ function getOneDeviceAlarmTop10ByBaja(devicePath, callback) {
each: function (record) {
_occurrenceTime = "";
_normalTime = "";
+ // console.log(record.get('timestamp'),record.get('normalTime') )
var _resultUuid = record.get('uuid').toString().split("-");//43dc7846-bd96-4be2-ab35-f11aec729c60
- var _timestampTemp = new Date(record.get('timestamp').toString());
- _occurrenceTime += _timestampTemp.getFullYear().toString() + "-" + addzero(_timestampTemp.getMonth() + 1).toString() + "-" + addzero(_timestampTemp.getDate()).toString() + " " + addzero(_timestampTemp.getHours()).toString() + ":" + addzero(_timestampTemp.getMinutes()).toString() + ":" + addzero(_timestampTemp.getSeconds()).toString();
+ var _occurrenceTime = new Date(record.get('timestamp').$cEncStr).toLocaleString('zh-tw', { year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit" });
+ // _occurrenceTime += _timestampTemp.getFullYear().toString() + "-" + addzero(_timestampTemp.getMonth() + 1).toString() + "-" + addzero(_timestampTemp.getDate()).toString() + " " + addzero(_timestampTemp.getHours()).toString() + ":" + addzero(_timestampTemp.getMinutes()).toString() + ":" + addzero(_timestampTemp.getSeconds()).toString();
//var _occurrenceTime = _timestamp.format("yyyy-MM-dd hh:mm:ss");//.toLocaleString();
- var _normaltime = new Date(record.get('normalTime').toString());
- _normalTime += _normaltime.getFullYear().toString() + "-" + addzero(_normaltime.getMonth() + 1).toString() + "-" + addzero(_normaltime.getDate()).toString() + " " + addzero(_normaltime.getHours()).toString() + ":" + addzero(_normaltime.getMinutes()).toString() + ":" + addzero(_normaltime.getSeconds()).toString();
+ var _normalTime = new Date(record.get('normalTime').$cEncStr).toLocaleString('zh-tw', { year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit" });
+ // _normalTime += _normaltime.getFullYear().toString() + "-" + addzero(_normaltime.getMonth() + 1).toString() + "-" + addzero(_normaltime.getDate()).toString() + " " + addzero(_normaltime.getHours()).toString() + ":" + addzero(_normaltime.getMinutes()).toString() + ":" + addzero(_normaltime.getSeconds()).toString();
var _msgText = record.get('alarmData').get('msgText');// == 1 ? _occurrenceTime : "未確認";
var _ackText = record.get('ackState') == 1 ? _occurrenceTime : "未確認";
-
- if (_index == 0)
- _ss += '{"uuid":"' + _resultUuid[0] + '", "msgText":"' + _msgText + '", "ackState":"' + _ackText + '", "timestamp":"' + _occurrenceTime + '", "normalTime":"' + _normalTime + '"}';
- else
- _ss += ',{"uuid":"' + _resultUuid[0] + '", "msgText":"' + _msgText + '", "ackState":"' + _ackText + '", "timestamp":"' + _occurrenceTime + '", "normalTime":"' + _normalTime + '"}';
+ _ss.push({ uuid: _resultUuid[0], msgText: _msgText, ackState: _ackText, timestamp: _occurrenceTime, normalTime: _normalTime })
_index++;
},
after: function () {
- _result += '{' + '"count": ' + _index + ', "data":[';
- _result += _ss + ']';
- _result += '}';
+ _result = JSON.stringify({ count: _index, data: _ss })
if (typeof callback === 'function') {
callback(_result);
}
@@ -233,7 +236,7 @@ function getOneSystemAlarmStateByBaja(systemPath, callback) {
var _result = "";
var _ss = "";
var _index = 0;
- console.log("local:|foxs:|alarm:|bql:select alarmData, alarmData.sourceName, sourceState, uuid where alarmData.sourceName like '%" + systemPath + "%' order by timestamp desc")
+/* console.log("local:|foxs:|alarm:|bql:select alarmData, alarmData.sourceName, sourceState, uuid where alarmData.sourceName like '%" + systemPath + "%' order by timestamp desc")*/
require(['baja!'], function (baja) {
baja.Ord.make("local:|foxs:|alarm:|bql:select alarmData, alarmData.sourceName, sourceState, uuid where alarmData.sourceName like '%" + systemPath + "%' order by timestamp desc").get()
.then(function (table) {
@@ -528,7 +531,7 @@ function getOneDeviceAlarmByBaja(devicePath, callback) {
var _index = 0;
require(['baja!'], function (baja) {
- console.log("local:|foxs:|alarm:|bql:select timestamp, ackState, alarmClass, alarmClassDisplayName, alarmValue, alarmData, alarmData.sourceName, uuid, alarmData.msgText, alarmData.numericValue, alarmData.presentValue, alarmData.status, alarmData.toState, normalTime from openAlarms where alarmData.sourceName like '%" + devicePath + "%' order by timestamp desc");
+/* console.log("local:|foxs:|alarm:|bql:select timestamp, ackState, alarmClass, alarmClassDisplayName, alarmValue, alarmData, alarmData.sourceName, uuid, alarmData.msgText, alarmData.numericValue, alarmData.presentValue, alarmData.status, alarmData.toState, normalTime from openAlarms where alarmData.sourceName like '%" + devicePath + "%' order by timestamp desc");*/
baja.Ord.make("local:|foxs:|alarm:|bql:select timestamp, ackState, alarmClass, alarmClassDisplayName, alarmValue, alarmData, alarmData.sourceName, uuid, alarmData.msgText, alarmData.numericValue, alarmData.presentValue, alarmData.status, alarmData.toState, normalTime from openAlarms where alarmData.sourceName like '%" + devicePath + "%' order by timestamp desc").get()
.then(function (table) {
return table.cursor({
@@ -542,7 +545,7 @@ function getOneDeviceAlarmByBaja(devicePath, callback) {
after: function () {
_result = { count: _index, data: _ss }
- console.log(552, _result);
+ //console.log(552, _result);
if (typeof callback === 'function') {
callback(_result);
@@ -561,12 +564,12 @@ function getAllDeviceAlarmByBaja(startDate_millisecond, endDate_millisecond, isR
var _recoverState = isRecover ? "!= null" : "= null";
var _ackState = isAck ? "= 'acked'" : "= 'unacked'";
+ let startUrl = "";
+ if (startDate_millisecond) {
+ startUrl = "timestamp.millis >= " + startDate_millisecond + " and ";
+ }
+ // console.log("local:|foxs:|alarm:|bql:select timestamp, ackTime, priority ,ackState, alarmClass, alarmClassDisplayName, alarmValue, alarmData, alarmData.sourceName, uuid, alarmData.msgText, alarmData.numericValue, alarmData.presentValue, alarmData.status, alarmData.toState, normalTime from openAlarms where " + startUrl + "timestamp.millis <= " + endDate_millisecond + " and normalTime " + _recoverState + " and ackState " + _ackState + " order by timestamp desc");
require(['baja!'], function (baja) {
- let startUrl = "";
- if (startDate_millisecond) {
- startUrl = "timestamp.millis >= " + startDate_millisecond + " and ";
- }
- // console.log("local:|foxs:|alarm:|bql:select timestamp, ackTime, priority ,ackState, alarmClass, alarmClassDisplayName, alarmValue, alarmData, alarmData.sourceName, uuid, alarmData.msgText, alarmData.numericValue, alarmData.presentValue, alarmData.status, alarmData.toState, normalTime from openAlarms where " + startUrl + "timestamp.millis <= " + endDate_millisecond + " and normalTime " + _recoverState + " and ackState " + _ackState + " order by timestamp desc");
baja.Ord.make("local:|foxs:|alarm:|bql:select timestamp, ackTime, priority ,ackState, alarmClass, alarmClassDisplayName, alarmValue, alarmData, alarmData.sourceName, uuid, alarmData.msgText, alarmData.numericValue, alarmData.presentValue, alarmData.status, alarmData.toState, normalTime from openAlarms where " + startUrl + "timestamp.millis <= " + endDate_millisecond + " and normalTime " + _recoverState + " and ackState " + _ackState + " order by timestamp desc").get()
.then(function (table) {
@@ -574,30 +577,35 @@ function getAllDeviceAlarmByBaja(startDate_millisecond, endDate_millisecond, isR
each: function (record) {
// console.log(record,record.get('alarmData').get('sourceName').split(':'))
let main = {};
- console.log(record.get('alarmData').get('sourceName'), record.get('timestamp').$cEncStr)
- _sourcePoint = (record.get('alarmData').get('sourceName')).toString().split(':')[0];
- _sourceTmp = _sourcePoint.split("_");
+ // console.log(record.get('alarmData').get('sourceName'),record.get('timestamp').$cEncStr)
+ const alarmDisplayName = record.get('alarmData').get('sourceName').split(":")[1] ?? record.get('alarmData').get('sourceName').split(":")[0]
+ //console.log(alarmDisplayName)
+ _sourceTmp = alarmDisplayName.split('_');
+ let _bfName = _sourceTmp[1] + "-" + _sourceTmp[4]
+ let _sourceName = _sourceTmp.slice(0, 8).join("_");
+ _sourceTmp = _sourceTmp[7] + "-" + _sourceTmp[8];
- let _bfName = _sourceTmp[1] + "-" + _sourceTmp[4];
- let _sourceName = _sourceTmp[7] + "-" + _sourceTmp[8];
main.buildingFloorName_zh = _bfName;
main.sourceName_zh = _sourceName;
main.uuid = record.get('uuid').$val;
main.timestamp = record.get('timestamp').$cEncStr;
main.alarmClass = record.get('alarmClass');
- main.point = _sourcePoint;
- main.devicePath = _sourceTmp.slice(0, 8).join("_");;
+ main.point = _sourceTmp;
+ main.sourceTmp = _sourceTmp;
+ main.devicePath = _sourceName;
main.msgText = record.get('alarmData').get('msgText');
main.normalTime = record.get('normalTime');
main.priority = record.get('priority');
main.ackedTime = record.get('ackTime').$cEncStr;
- _result.data.push(main);
+ if (!_sourceTmp.includes("undefined")) {
+ _result.data.push(main);
+ }
_index++;
},
after: function () {
_result.count = _index;
if (typeof callback === 'function') {
- console.log(_result)
+ //console.log(_result)
callback(_result);
}
},
@@ -620,16 +628,16 @@ function getDeviceAlarmCardByBaja(startDate_millisecond, endDate_millisecond, is
if (startDate_millisecond) {
startUrl = "timestamp.millis >= " + startDate_millisecond + " and ";
}
- console.log("local:|foxs:|alarm:|bql:select timestamp, ackTime, priority ,ackState, alarmClass, alarmClassDisplayName, alarmValue, alarmData, alarmData.sourceName, uuid, alarmData.msgText, alarmData.numericValue, alarmData.presentValue, alarmData.status, alarmData.toState, normalTime from openAlarms where " + startUrl + "timestamp.millis <= " + endDate_millisecond + " and normalTime " + _recoverState + " and ackState " + _ackState + " order by timestamp desc");
+/* console.log("local:|foxs:|alarm:|bql:select timestamp, ackTime, priority ,ackState, alarmClass, alarmClassDisplayName, alarmValue, alarmData, alarmData.sourceName, uuid, alarmData.msgText, alarmData.numericValue, alarmData.presentValue, alarmData.status, alarmData.toState, normalTime from openAlarms where " + startUrl + "timestamp.millis <= " + endDate_millisecond + " and normalTime " + _recoverState + " and ackState " + _ackState + " order by timestamp desc");*/
baja.Ord.make("local:|foxs:|alarm:|bql:select timestamp, ackTime, priority ,ackState, alarmClass, alarmClassDisplayName, alarmValue, alarmData, alarmData.sourceName, uuid, alarmData.msgText, alarmData.numericValue, alarmData.presentValue, alarmData.status, alarmData.toState, normalTime from openAlarms where " + startUrl + "timestamp.millis <= " + endDate_millisecond + " and normalTime " + _recoverState + " and ackState " + _ackState + " order by timestamp desc").get()
.then(function (table) {
return table.cursor({
each: function (record) {
let main = {};
- console.log(record.get('alarmData').get('sourceName'))
+ //console.log(record.get('alarmData').get('sourceName'))
_sourcePoint = (record.get('alarmData').get('sourceName')).toString().split(':')[1];
- console.log(_sourcePoint)
+ //console.log(_sourcePoint)
_sourceTmp = _sourcePoint.split("_");
let _bfName = _sourceTmp[1] + "-" + _sourceTmp[4];
diff --git a/Frontend/js/n4js/historybaja.js b/Frontend/js/n4js/historybaja.js
index 5bf45a8..59c7c17 100644
--- a/Frontend/js/n4js/historybaja.js
+++ b/Frontend/js/n4js/historybaja.js
@@ -35,69 +35,83 @@
// }
function getHistoryDataByBaja(devicePath, startDate_millisecond, endDate_millisecond, deviceName, company, callback) {
- var _result = "";
- var _ss = "";
- var _index = 0;
+ var _result = {};
+ var _ss = [];
+ var _index = 0;
- require(['baja!'], function (baja) {
- console.log('local:|foxs:|history:/' + company + '/' + devicePath + '|bql:select * from control:ControlPoint where timestamp.millis > ' + startDate_millisecond + ' and timestamp.millis < ' + endDate_millisecond);
- baja.Ord.make('local:|foxs:|history:/' + company + '/' + devicePath + '|bql:select * from control:ControlPoint where timestamp.millis > ' + startDate_millisecond + ' and timestamp.millis < ' + endDate_millisecond).get()
- .then(function (table) {
- return table.cursor({
- each: function (record) {
- if (_index == 0)
- _ss += '{"deviceName":"' + deviceName + '", "value":' + record.get('value') + ', "timestamp":"' + record.get('timestamp') + '"}';
- else
- _ss += ',{"deviceName":"' + deviceName + '", "value":' + record.get('value') + ', "timestamp":"' + record.get('timestamp') + '"}';
- _index++;
- },
- after: function () {
- _result += '{' + '"count": ' + _index + ', "data":[';
- _result += _ss;
- _result += ']}';
- if (typeof callback === 'function') {
- callback(_result);
- }
- },
- limit: -1,
- offset: 0
- });
- });
- });
+ require(['baja!'], function (baja) {
+ console.log('local:|foxs:|history:/' + company + '/' + devicePath + '|bql:select * from control:ControlPoint where timestamp.millis > ' + startDate_millisecond + ' and timestamp.millis < ' + endDate_millisecond);
+ baja.Ord.make('local:|foxs:|history:/' + company + '/' + devicePath + '|bql:select * from control:ControlPoint where timestamp.millis > ' + startDate_millisecond + ' and timestamp.millis < ' + endDate_millisecond).get()
+ .then(function (table) {
+ return table.cursor({
+ each: function (record) {
+ console.log(record.get('timestamp'))
+ // if (_index == 0)
+ // _ss += '{"deviceName":"' + deviceName + '", "value":' + record.get('value') + ', "timestamp":"' + record.get('timestamp').$cEncStr
+ // + '"}';
+ // else
+ // _ss += ',{"deviceName":"' + deviceName + '", "value":' + record.get('value') + ', "timestamp":"' + record.get('timestamp').$cEncStr
+ // + '"}';
+ _ss.push({
+ deviceName: deviceName, value: record.get('value'), timestamp: record.get('timestamp').$cEncStr
+ });
+ _index++;
+ },
+ after: function () {
+ _result = { count: _index, data: _ss }
+ // _result += '{' + '"count": ' + _index + ', "data":[';
+ // _result += _ss;
+ // _result += ']}';
+ if (typeof callback === 'function') {
+ // console.log(_result)
+ _result = JSON.stringify(_result)
+ callback(_result);
+ }
+ },
+ limit: -1,
+ offset: 0
+ });
+ })
+ .catch(() => {
+ console.log("error");
+ // const res = JSON.stringify({count:0, data:[]})
+ callback()
+ });
+ });
}
function test3000p(devicePath, startDate_millisecond, endDate_millisecond, deviceName, company, callback) {
- var _result = "";
- var _ss = "";
- var _index = 0;
- require(['baja!'], function (baja) {
- "use strict";
- baja.Ord.make('local:|foxs:|history:/' + company + '/' + devicePath + '|bql:select * from control:ControlPoint where timestamp.millis > ' + startDate_millisecond + ' and timestamp.millis < ' + endDate_millisecond)
- .get(
- function (table) {
-
- table.cursor({
- each: function (item) {
- console.log("item: " + item);
- if (_index == 0)
- _ss += '{"deviceName":"' + deviceName + '", "value":' + item.$map.$map.value.$display + ', "timestamp":"' + item.$map.$map.timestamp.$val.$cEncStr + '"}';
- else
- _ss += ',{"deviceName":"' + deviceName + '", "value":' + item.$map.$map.value.$display + ', "timestamp":"' + item.$map.$map.timestamp.$val.$cEncStr + '"}';
- _index++;
- },
- after: function () {
- _result += '{' + '"count": ' + _index + ', "data":[';
- _result += _ss;
- _result += ']}';
- if (typeof callback === 'function') {
- callback(_result);
- }
- },
- limit: -1,
- offset: 0
- });
- })
- });
+ var _result = "";
+ var _ss = "";
+ var _index = 0;
+ require(['baja!'], function (baja) {
+ "use strict";
+ baja.Ord.make('local:|foxs:|history:/' + company + '/' + devicePath + '|bql:select * from control:ControlPoint where timestamp.millis > ' + startDate_millisecond + ' and timestamp.millis < ' + endDate_millisecond)
+ .get(
+ function (table) {
+
+ table.cursor({
+ each: function (item) {
+ console.log("item: " + item);
+ if (_index == 0)
+ _ss += '{"deviceName":"' + deviceName + '", "value":' + item.$map.$map.value.$display + ', "timestamp":"' + item.$map.$map.timestamp.$val.$cEncStr + '"}';
+ else
+ _ss += ',{"deviceName":"' + deviceName + '", "value":' + item.$map.$map.value.$display + ', "timestamp":"' + item.$map.$map.timestamp.$val.$cEncStr + '"}';
+ _index++;
+ },
+ after: function () {
+ _result += '{' + '"count": ' + _index + ', "data":[';
+ _result += _ss;
+ _result += ']}';
+ if (typeof callback === 'function') {
+ callback(_result);
+ }
+ },
+ limit: -1,
+ offset: 0
+ });
+ })
+ });
}
diff --git a/FrontendWebApi/ApiControllers/HistoryController.cs b/FrontendWebApi/ApiControllers/HistoryController.cs
index 0584e70..db21123 100644
--- a/FrontendWebApi/ApiControllers/HistoryController.cs
+++ b/FrontendWebApi/ApiControllers/HistoryController.cs
@@ -198,13 +198,15 @@ namespace FrontendWebApi.ApiControllers
{
var dbsub = await frontendRepository.GetAllAsync
(
@$"select distinct v1.system_key main_name, v1.system_value main_system_tag, v2.system_key sub_name, v2.system_value sub_system_tag, v1.system_priority, v2.system_priority,
- d.device_number, d.full_name as device_full_name, d.device_serial_tag
+ d.device_number, d.full_name as device_full_name, d.device_serial_tag ,di.is_show_history device_item_is_show_hsitory
from role_auth a
join auth_page b on a.AuthCode = b.AuthCode
join userinfo c on c.role_guid = a.role_guid
join variable v2 on b.ShowView = v2.id and v2.system_type = @sub_system_type
join variable v1 on v1.id = v2.system_parent_id and v1.system_type = @main_system_type
join device d on v1.system_value = d.device_system_tag and v2.system_value = d.device_name_tag and d.deleted = 0 and d.visible = 1
+ join device_item di on d.device_system_tag=di.device_system_tag and d.device_name_tag=di.device_name_tag
+ and di.is_link = 1
where c.account = @account
order by v1.system_priority, v2.system_priority", new { @account = myUser.account, @sub_system_type = sub_system_type, @main_system_type = main_system_type });
var dbbuilding = await frontendRepository.GetAllAsync(
@@ -231,7 +233,7 @@ namespace FrontendWebApi.ApiControllers
History_Sub_system history_Sub_System = new History_Sub_system();
history_Sub_System.full_name = sub.Select(x => x.sub_name).FirstOrDefault();
history_Sub_System.sub_system_tag = sub.Select(x => x.sub_system_tag).FirstOrDefault();
-
+ history_Sub_System.is_show_history = sub.Select(x => x.device_item_is_show_hsitory).FirstOrDefault();
var devices = dbsub.Where(x => x.main_system_tag == main.Select(m => m.main_system_tag).FirstOrDefault() && x.sub_system_tag == sub.Select(x => x.sub_system_tag).FirstOrDefault() && x.device_number != null).ToList();
history_Sub_System.device = devices.Count > 0 ? new List() : null;
@@ -244,7 +246,11 @@ namespace FrontendWebApi.ApiControllers
history_Sub_System.device.Add(device);
}
- history_Main_System.History_Sub_systems.Add(history_Sub_System);
+ if (history_Sub_System.is_show_history==1)
+ {
+ history_Main_System.History_Sub_systems.Add(history_Sub_System);
+ }
+
}
apiResult.Data.history_Main_Systems.Add(history_Main_System);
}
diff --git a/FrontendWebApi/Models/HistoryClass.cs b/FrontendWebApi/Models/HistoryClass.cs
index e292adc..8a9ffe9 100644
--- a/FrontendWebApi/Models/HistoryClass.cs
+++ b/FrontendWebApi/Models/HistoryClass.cs
@@ -78,6 +78,7 @@ namespace FrontendWebApi.Models
public string device_item_points { get; set; }
public string device_item_unit { get; set; }
public byte device_item_is_show { get; set; }
+ public byte device_item_is_show_hsitory { get; set; }
public byte device_item_is_show_riserDiagram { get; set; }
public byte device_item_is_controll { get; set; }
public byte device_item_is_bool { get; set; }
@@ -126,6 +127,7 @@ namespace FrontendWebApi.Models
}
public class History_Sub_system
{
+ public byte is_show_history { get; set; }
public string sub_system_tag { get; set; }
public string full_name { get; set; }
public string device_normal_color { get; set; }
diff --git a/Repository/BackendRepository/Implement/NiagaraDataSynchronizeRepository.cs b/Repository/BackendRepository/Implement/NiagaraDataSynchronizeRepository.cs
index b1c5a91..77a3afd 100644
--- a/Repository/BackendRepository/Implement/NiagaraDataSynchronizeRepository.cs
+++ b/Repository/BackendRepository/Implement/NiagaraDataSynchronizeRepository.cs
@@ -655,8 +655,9 @@ namespace Repository.BackendRepository.Implement
StringBuilder sb = new StringBuilder();
//先全部關閉
sb.Append("update device_item set is_show_history=0;");
- sb.Append("update device_item set is_show_history= 1" +
- "(select distinct device_system_tag, device_name_tag, device_point_name From import_niagara_item);");
+ sb.Append("update device_item set is_show_history = 1 " +
+ "WHERE(device_system_tag, device_name_tag, points) IN " +
+ "(select distinct device_system_tag, device_name_tag, device_point_name From import_niagara_item);");
await conn.ExecuteAsync(sb.ToString());
}
catch (Exception exception)