diff --git a/Frontend/_graphManagement.html b/Frontend/_graphManagement.html
new file mode 100644
index 0000000..4ab4c59
--- /dev/null
+++ b/Frontend/_graphManagement.html
@@ -0,0 +1,201 @@
+
+
+
+
+
+
圖資管理
+
+
+
+
+ 建築
+ 電力管線
+ 水力管線
+ 控制系統
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 圖號
+ 圖名
+ 原設計
+ 竣工圖
+ 功能
+
+
+
+
+
+ TEST03
+ TEST03
+ A-01.dwg
+
+
+ 編輯
+ 刪除
+
+
+
+ TEST06
+ TEST06
+ A-01.dwg
+ AS-01.dwg
+
+ 編輯
+ 刪除
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Launch static backdrop modal
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Frontend/_historyData.html b/Frontend/_historyData.html
new file mode 100644
index 0000000..aedb623
--- /dev/null
+++ b/Frontend/_historyData.html
@@ -0,0 +1,162 @@
+
+
+
+
+
歷史資料瀏覽
+
+
+
+
+
+
+
+
+
+ 設備名稱
+ 數值
+ 紀錄時間
+
+
+
+
+ 儲冰設備A01
+ 27.0
+ 2021-08-01 23:55:00
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Frontend/index.html b/Frontend/index.html
index 8757584..9bbff08 100644
--- a/Frontend/index.html
+++ b/Frontend/index.html
@@ -8,6 +8,7 @@ Purchase: https://wrapbootstrap.com/theme/smartadmin-responsive-webapp-WB0573SK0
License: You must have a valid license purchased only from wrapbootstrap.com (link above) in order to legally use this theme for your project.
-->
+
@@ -62,7 +63,9 @@ License: You must have a valid license purchased only from wrapbootstrap.com (li
>>> more settings are described inside documentation page >>>
-->
-
+
+
-
+
+
\ No newline at end of file
diff --git a/Frontend/js/n4js/bajatest.js b/Frontend/js/n4js/bajatest.js
index e06b3b0..1b74869 100644
--- a/Frontend/js/n4js/bajatest.js
+++ b/Frontend/js/n4js/bajatest.js
@@ -189,80 +189,3 @@ function BajaSubscribeDevicesByBql() {
});
}
-function getElevatorInfoByBaja(path, callback) {
- var _result = "";
- var _ss = '{';
- var _index = 0;
- //
- require(['baja!'], function (baja) {
- baja.Ord.make("local:|foxs:|station:|slot:/TPE/B1/ELEV/EL/R2F/NA/ELEV1/N1|bql:select name, displayName, out, out.value, slotPath, parent.name as 'device_number' from control:ControlPoint where name = 'CP' or name = 'RD' or name = 'DS' or name = 'ST' or name = 'LOAD' or name = 'MID' or name = 'HAND' or name = 'IND' or name = 'MD' or name = 'DNO'").get()
- .then(function (table) {
- return table.cursor({
- each: function (record) {
- var item = null;
- var value = null;
- if (record.get('name') == "CP") {
- item = "floor";
- value = record.get('out').get('value');
- }
- else if (record.get('name') == "RD") { //UP or DOWN
- item = "direction";
- value = record.get('out').get('value');
- }
- else if (record.get('name') == "DS") {
- item = "door_state";
- value = record.get('out').get('value') == true ? "OPEN" : "CLOSE";;
- }
- else if (record.get('name') == "ST") {
- item = "running_status";
- value = record.get('out').get('value');
- }
- else if (record.get('name') == "LOAD") {
- item = "loading";
- value = record.get('out').get('value');
- }
- else if (record.get('name') == "MID") {
- item = "maintenance";
- value = record.get('out').get('value');
- }
- else if (record.get('name') == "HAND") {
- item = "manual";
- value = record.get('out').get('value');
- }
- else if (record.get('name') == "IND") {
- item = "independent";
- value = record.get('out').get('value');
- }
- else if (record.get('name') == "MD") {
- item = "vip";
- value = record.get('out').get('value');
- }
- else if (record.get('name') == "DNO") {
- item = "automatic";
- value = record.get('out').get('value');
- }
-
- if (item != null && item != "")
- {
- if (_index == 0)
- _ss += '{"item":"' + item + '", "value":"' + value + '"}';
- else
- _ss += ',{"item":"' + item + '", "value":"' + value + '"}';
- _index++;
- }
-
-
- },
- after: function () {
- _result += '{' + '"count": ' + _index + ', "data":[';
- _result += _ss;
- _result += ']}';
- if (typeof callback === 'function') {
- callback(_result);
- }
- }
- });
- });
- });
-}
-
diff --git a/Frontend/js/n4js/elevatorbaja.js b/Frontend/js/n4js/elevatorbaja.js
new file mode 100644
index 0000000..c357cff
--- /dev/null
+++ b/Frontend/js/n4js/elevatorbaja.js
@@ -0,0 +1,77 @@
+
+
+function getElevatorInfoByBaja(path, callback) {
+ var _result = "";
+ var _ss = '{';
+ var _index = 0;
+ //
+ require(['baja!'], function (baja) {
+ baja.Ord.make("local:|foxs:|station:|slot:/" + path + "|bql:select name, displayName, out, out.value, slotPath, parent.name as 'device_number' from control:ControlPoint where name = 'CP' or name = 'RD' or name = 'DS' or name = 'ST' or name = 'LOAD' or name = 'MID' or name = 'HAND' or name = 'IND' or name = 'MD' or name = 'DNO'").get()
+ .then(function (table) {
+ return table.cursor({
+ each: function (record) {
+ var item = null;
+ var value = null;
+ if (record.get('name') == "CP") {
+ item = "floor";
+ value = record.get('out').get('value');
+ }
+ else if (record.get('name') == "RD") { //UP or DOWN
+ item = "direction";
+ value = record.get('out').get('value');
+ }
+ else if (record.get('name') == "DS") {
+ item = "door_state";
+ value = record.get('out').get('value') == true ? "OPEN" : "CLOSE";
+ }
+ else if (record.get('name') == "ST") {
+ item = "running_status";
+ value = record.get('out').get('value');
+ }
+ else if (record.get('name') == "LOAD") {
+ item = "loading";
+ value = record.get('out').get('value');
+ }
+ else if (record.get('name') == "MID") {
+ item = "maintenance";
+ value = record.get('out').get('value');
+ }
+ else if (record.get('name') == "HAND") {
+ item = "manual";
+ value = record.get('out').get('value');
+ }
+ else if (record.get('name') == "IND") {
+ item = "independent";
+ value = record.get('out').get('value');
+ }
+ else if (record.get('name') == "MD") {
+ item = "vip";
+ value = record.get('out').get('value');
+ }
+ else if (record.get('name') == "DNO") {
+ item = "automatic";
+ value = record.get('out').get('value');
+ }
+
+ if (item != null && item != "") {
+ if (_index == 0)
+ _ss += '{"item":"' + item + '", "value":"' + value + '"}';
+ else
+ _ss += ',{"item":"' + item + '", "value":"' + value + '"}';
+ _index++;
+ }
+
+
+ },
+ after: function () {
+ _result += '{' + '"count": ' + _index + ', "data":[';
+ _result += _ss;
+ _result += ']}';
+ if (typeof callback === 'function') {
+ callback(_result);
+ }
+ }
+ });
+ });
+ });
+}
diff --git a/FrontendWebApi/ApiControllers/DeviceManageController.cs b/FrontendWebApi/ApiControllers/DeviceManageController.cs
index ad78366..135e395 100644
--- a/FrontendWebApi/ApiControllers/DeviceManageController.cs
+++ b/FrontendWebApi/ApiControllers/DeviceManageController.cs
@@ -61,16 +61,16 @@ 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,
- dk.device_normal_color, dk.device_close_color, dk.device_error_color,
- di.full_name as device_item_name, di.points as device_item_points, di.unit as device_item_unit, di.is_show_riserDiagram as device_item_is_show_riserDiagram,
- di.is_controll as device_item_is_controll, di.is_bool as device_item_is_bool, di.is_link as device_item_is_link
+ dk.device_normal_color, dk.device_close_color, dk.device_error_color
+ -- di.full_name as device_item_name, di.points as device_item_points, di.unit as device_item_unit, di.is_show_riserDiagram as device_item_is_show_riserDiagram,
+ -- di.is_controll as device_item_is_controll, di.is_bool as device_item_is_bool, di.is_link as device_item_is_link
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
left join device_kind dk on v1.system_value = dk.device_system_tag and v2.system_value = dk.device_name_tag and dk.device_building_tag = @building_tag
- left join device_item di on v2.system_value = di.device_name_tag and v1.system_value = di.device_system_tag and di.deleted = 0
+ -- left join device_item di on v2.system_value = di.device_name_tag and v1.system_value = di.device_system_tag and di.deleted = 0
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, @building_tag = fd.building_tag });
var mains = dbsub.GroupBy(a => a.main_system_tag).ToList();
diff --git a/FrontendWebApi/ApiControllers/HistoryController.cs b/FrontendWebApi/ApiControllers/HistoryController.cs
index 649b40c..9daf30a 100644
--- a/FrontendWebApi/ApiControllers/HistoryController.cs
+++ b/FrontendWebApi/ApiControllers/HistoryController.cs
@@ -91,11 +91,6 @@ namespace FrontendWebApi.ApiControllers
sheet.SetColumnWidth(0, 4 * 160 * 12);
sheet.SetColumnWidth(1, 4 * 160 * 12);
sheet.SetColumnWidth(2, 4 * 160 * 12);
- sheet.SetColumnWidth(3, 4 * 160 * 12);
- sheet.SetColumnWidth(4, 4 * 160 * 12);
- sheet.SetColumnWidth(5, 4 * 160 * 12);
- sheet.SetColumnWidth(6, 4 * 160 * 12);
- sheet.SetColumnWidth(7, 4 * 160 * 12);
ICell cell = row.CreateCell(0);
cell.SetCellValue("設備名稱");
cell.CellStyle = styleLine12;
@@ -152,7 +147,7 @@ namespace FrontendWebApi.ApiControllers
///
[HttpPost]
[Route("api/History/GetMainSub")]
- public async Task>> GetMainSub()
+ public async Task>> GetMainSub([FromBody] HistoryFind hf)
{
ApiResult apiResult = new ApiResult(jwt_str);
if (!jwtlife)
@@ -160,6 +155,13 @@ namespace FrontendWebApi.ApiControllers
apiResult.Code = "5000";
return BadRequest(apiResult);
}
+ else if (string.IsNullOrEmpty(hf.building_tag))
+ {
+ apiResult.Code = "0002";
+ apiResult.Msg = "必須選擇東別";
+ return apiResult;
+ }
+
try
{
var dbsub = await frontendRepository.GetAllAsync(
@@ -176,9 +178,9 @@ namespace FrontendWebApi.ApiControllers
join auth_page b on a.AuthCode = b.AuthCode
join userinfo c on c.role_guid = a.role_guid
join building d on d.building_tag = b.building_tag
- where c.account = '{myUser.account}'
+ where c.account = @account and d.building_tag = @building_tag
order by d.priority
- ", new { @account = myUser.account });
+ ", new { @account = myUser.account, @building_tag = hf.building_tag });
var mains = dbsub.GroupBy(a => a.main_system_tag).ToList();
apiResult.Data = new History_MainSubBuildFloor();
apiResult.Data.history_Main_Systems = new List();
@@ -189,12 +191,12 @@ namespace FrontendWebApi.ApiControllers
history_Main_System.full_name = main.Select(a => a.main_name).FirstOrDefault();
history_Main_System.History_Sub_systems = new List();
- var subs = main.GroupBy(a => a.main_system_tag).ToList();
+ var subs = dbsub.Where(x => x.main_system_tag == main.Select(m => m.main_system_tag).FirstOrDefault()).ToList();
foreach (var sub in subs)
{
History_Sub_system history_Sub_System = new History_Sub_system();
- history_Sub_System.full_name = sub.Select(a => a.sub_name).FirstOrDefault();
- history_Sub_System.sub_system_tag = sub.Select(a => a.sub_system_tag).FirstOrDefault();
+ history_Sub_System.full_name = sub.sub_name;
+ history_Sub_System.sub_system_tag = sub.sub_system_tag;
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 519ea79..802dea2 100644
--- a/FrontendWebApi/Models/HistoryClass.cs
+++ b/FrontendWebApi/Models/HistoryClass.cs
@@ -72,6 +72,10 @@ namespace FrontendWebApi.Models
public byte device_item_is_link { get; set; }
}
+ public class HistoryFind
+ {
+ public string building_tag { get; set; }
+ }
public class BuildingFloorRawData
{
public string building_guid { get; set; }