[前台] 首頁 工單進度圖表 | 告警系統 預設全選 | 運維管理 bug 修正 | 系統監控 部分小類小卡片大小設定
| [後台] WSP 新增模型匯入參數 [前台API] 新增工單 Api
This commit is contained in:
parent
6bc6493cd9
commit
d015c29d34
@ -257,13 +257,26 @@
|
||||
/* 0201 更換好電梯順序 */
|
||||
/* launchViewer("dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dGEzaHFzZmZ6cWJub3V4a3BsZGt1a3NldzRzajIxdzUtYmltc19tb2RlbHMvJUUzJTgwJTkwJUU1JThGJUIwJUU1JThDJTk3JUU0JUI4JUFEJUU4JThGJUIxJUU1JUE0JUE3JUU2JUE4JTkzJUUzJTgwJTkxQVJDJUU5JTlCJTk5JUU2JUE4JUExJUU1JUJDJThGK01FUCVFNiU4QiU4NiVFNyVCMyVCQiVFNyVCNSVCMV8wMjAxLm53ZA")*/
|
||||
// 0202 將感測器新增到電梯內
|
||||
launchViewer("dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dmVnb29nemNhdmNia2l0aHl2bHJzdnJjdGg2dHR3eWgtMjAyMzAyX2libXMvJUUzJTgwJTkwJUU1JThGJUIwJUU1JThDJTk3JUU0JUI4JUFEJUU4JThGJUIxJUU1JUE0JUE3JUU2JUE4JTkzJUUzJTgwJTkxQVJDJUU5JTlCJTk5JUU2JUE4JUExJUU1JUJDJThGK01FUCVFNiU4QiU4NiVFNyVCMyVCQiVFNyVCNSVCMV8wMjAyLm53ZA==")
|
||||
//launchViewer("dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dmVnb29nemNhdmNia2l0aHl2bHJzdnJjdGg2dHR3eWgtMjAyMzAyX2libXMvJUUzJTgwJTkwJUU1JThGJUIwJUU1JThDJTk3JUU0JUI4JUFEJUU4JThGJUIxJUU1JUE0JUE3JUU2JUE4JTkzJUUzJTgwJTkxQVJDJUU5JTlCJTk5JUU2JUE4JUExJUU1JUJDJThGK01FUCVFNiU4QiU4NiVFNyVCMyVCQiVFNyVCNSVCMV8wMjAyLm53ZA==")
|
||||
//launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dnNjb2RlFX2ZvcmdlX3Rlc3QvJUUzJFTgwJTkwQVJDJUUzJTgwJTkxXzIwMjJfMTJfMTMubndk');//new ARC
|
||||
//launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dnNjb2RlX2ZvcmdlX3Rlc3QvJUUzJTgwJTkwTUVQJUUzJTgwJTkxXzIwMjJfMTJfMTMubndj');//new MEP
|
||||
//launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dnNjb2RlX2ZvcmdlX3Rlc3QvJUUzJTgwJTkwQVJDJUUzJTgwJTkxJUU1JTg1JUE4JUU2JUEzJTlGXzIwMjJfMTJfMTMubndj');//全棟 ARC
|
||||
|
||||
//0218
|
||||
// 感測器修正
|
||||
//launchViewer("dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dmVnb29nemNhdmNia2l0aHl2bHJzdnJjdGg2dHR3eWgtMjAyMzAyX2libXMvJUUzJTgwJTkwJUU1JThGJUIwJUU1JThDJTk3JUU0JUI4JUFEJUU4JThGJUIxJUU1JUE0JUE3JUU2JUE4JTkzJUUzJTgwJTkxQVJDJUU5JTlCJTk5JUU2JUE4JUExJUU1JUJDJThGK01FUCVFNiU4QiU4NiVFNyVCMyVCQiVFNyVCNSVCMV8wMjE4Lm53ZA")
|
||||
|
||||
// 0221 電梯細節 30
|
||||
//launchViewer("dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dmVnb29nemNhdmNia2l0aHl2bHJzdnJjdGg2dHR3eWgtMjAyMzAyX2libXMvJUUzJTgwJTkwJUU1JThGJUIwJUU1JThDJTk3JUU0JUI4JUFEJUU4JThGJUIxJUU1JUE0JUE3JUU2JUE4JTkzJUUzJTgwJTkxQVJDJUU5JTlCJTk5JUU2JUE4JUExJUU1JUJDJThGK01FUCVFNiU4QiU4NiVFNyVCMyVCQiVFNyVCNSVCMV8lRTklOUIlQkIlRTYlQTIlQUYlRTclQjQlQjAlRTclQUYlODAlRTclODklODhfMDIyMS5ud2Q")
|
||||
|
||||
// 0222 電梯 30
|
||||
//launchViewer("dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dmVnb29nemNhdmNia2l0aHl2bHJzdnJjdGg2dHR3eWgtMjAyMzAyX2libXMvJUUzJTgwJTkwJUU1JThGJUIwJUU1JThDJTk3JUU0JUI4JUFEJUU4JThGJUIxJUU1JUE0JUE3JUU2JUE4JTkzJUUzJTgwJTkxQVJDJUU5JTlCJTk5JUU2JUE4JUExJUU1JUJDJThGK01FUCVFNiU4QiU4NiVFNyVCMyVCQiVFNyVCNSVCMV8lRTklOUIlQkIlRTYlQTIlQUYlRTclQjQlQjAlRTclQUYlODAlRTclODklODhfMDIyMi5ud2Q")
|
||||
|
||||
// 0224 電梯 30
|
||||
launchViewer("dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dmVnb29nemNhdmNia2l0aHl2bHJzdnJjdGg2dHR3eWgtMjAyMzAyX2libXMvJUUzJTgwJTkwJUU1JThGJUIwJUU1JThDJTk3JUU0JUI4JUFEJUU4JThGJUIxJUU1JUE0JUE3JUU2JUE4JTkzJUUzJTgwJTkxQVJDJUU5JTlCJTk5JUU2JUE4JUExJUU1JUJDJThGK01FUCVFNiU4QiU4NiVFNyVCMyVCQiVFNyVCNSVCMV8lRTklOUIlQkIlRTYlQTIlQUYlRTclQjQlQjAlRTclQUYlODAlRTclODklODhfMDIyNC5ud2Q")
|
||||
|
||||
// 0221 WSP
|
||||
//launchViewer("dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dmVnb29nemNhdmNia2l0aHl2bHJzdnJjdGg2dHR3eWgtMjAyMzAyX2libXMvQmFucWlhbyUyMFRhaXBlaSUyME1haW4lMjBPZmZpY2UtQUxMXzAyMjEubndk")
|
||||
|
||||
});
|
||||
function move1Floor() {
|
||||
@ -395,6 +408,8 @@
|
||||
}
|
||||
|
||||
function importDevCor() {
|
||||
|
||||
//console.log(tagIdDevList)
|
||||
ImportDevForCor();
|
||||
ImportForgeRoom();
|
||||
}
|
||||
|
@ -268,10 +268,9 @@ function onDocumentLoadSuccess(doc) {
|
||||
// })
|
||||
|
||||
//})
|
||||
|
||||
allDbIdsStr.forEach((dbId) => {
|
||||
curDbId = parseInt(dbId);
|
||||
viewer.getProperties(curDbId, function (e) {
|
||||
viewer.getProperties(curDbId, function (e) {
|
||||
e.properties.forEach(function (item) {
|
||||
if (item.displayName == "【tag_id】") { // Tag_name tag_id 【tag_id】
|
||||
if (item.displayValue != "") {
|
||||
@ -297,21 +296,69 @@ function onDocumentLoadSuccess(doc) {
|
||||
//console.log("position: (" + (position.x).toFixed(2) + ", " + (position.y).toFixed(2) + ", " + (position.z).toFixed(2) + ")");
|
||||
//console.log("--------------------------------------------------");
|
||||
////}
|
||||
tagIdDevList.push({ device_number: item.displayValue, device_coordinate_3d: '{ "x": ' + (position.x).toFixed(2) + ', "y": ' + (position.y).toFixed(2) + ', "z": ' + (position.z).toFixed(2) + ' }', forge_dbid: e.dbId, room_name: "" });
|
||||
tagIdDevList.push(
|
||||
{
|
||||
device_number: item.displayValue,
|
||||
device_coordinate_3d: '{ "x": ' + (position.x).toFixed(2) + ', "y": ' + (position.y).toFixed(2) + ', "z": ' + (position.z).toFixed(2) + ' }',
|
||||
forge_dbid: e.dbId, room_name: ""
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
if (item.displayName == "【room_id】") {
|
||||
tagIdDevList = tagIdDevList.map(tagItem => {
|
||||
if (tagItem.forge_dbid === e.dbId) {
|
||||
tagItem = { ...tagItem, room_name: item.displayValue }
|
||||
}
|
||||
return tagItem
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
if (item.displayName == "【room_id】") {
|
||||
tagIdDevList = tagIdDevList.map(tagItem => {
|
||||
if (tagItem.forge_dbid === e.dbId) {
|
||||
tagItem = { ...tagItem, room_name: item.displayValue }
|
||||
}
|
||||
return tagItem
|
||||
})
|
||||
}
|
||||
if (item.displayName == "Group_id" && item.displayValue !== '') {
|
||||
//取得座標
|
||||
let bounds = new THREE.Box3();
|
||||
instanceTree.enumNodeFragments(e.dbId, (fragId) => {
|
||||
let box = new THREE.Box3();
|
||||
fragList.getWorldBounds(fragId, box);
|
||||
bounds.union(box);
|
||||
}, true);
|
||||
var position = bounds.center();
|
||||
|
||||
tagIdDevList.push({
|
||||
device_number: item.displayValue,
|
||||
//device_coordinate_3d: '{ "x": ' + (position.x).toFixed(2) + ', "y": ' + (position.y).toFixed(2) + ', "z": ' + (position.z).toFixed(2) + ' }',
|
||||
forge_dbid: e.dbId,
|
||||
room_name: ""
|
||||
})
|
||||
}
|
||||
if (item.displayName == "Tag_name" && item.displayValue !== '') {
|
||||
//取得座標
|
||||
let bounds = new THREE.Box3();
|
||||
instanceTree.enumNodeFragments(e.dbId, (fragId) => {
|
||||
let box = new THREE.Box3();
|
||||
fragList.getWorldBounds(fragId, box);
|
||||
bounds.union(box);
|
||||
}, true);
|
||||
var position = bounds.center();
|
||||
if (tagIdDevList.some(item => item.forge_dbid === e.dbId)) {
|
||||
tagIdDevList.find(item => item.forge_dbid === e.dbId).node = {
|
||||
device_number: item.displayValue,
|
||||
device_coordinate_3d: '{ "x": ' + (position.x).toFixed(2) + ', "y": ' + (position.y).toFixed(2) + ', "z": ' + (position.z).toFixed(2) + ' }',
|
||||
forge_dbid: e.dbId,
|
||||
room_name: ""
|
||||
}
|
||||
} else {
|
||||
tagIdDevList.push({
|
||||
device_number: item.displayValue,
|
||||
device_coordinate_3d: '{ "x": ' + (position.x).toFixed(2) + ', "y": ' + (position.y).toFixed(2) + ', "z": ' + (position.z).toFixed(2) + ' }',
|
||||
forge_dbid: e.dbId,
|
||||
room_name: ""
|
||||
})
|
||||
}
|
||||
}
|
||||
});
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
//---------------------- end ---------------------------------------------------
|
||||
|
@ -299,7 +299,11 @@
|
||||
|
||||
pageAct.alr_startdate = $("#alr_startdate").val();
|
||||
pageAct.alr_enddate = $("#alr_enddate").val();
|
||||
getData();
|
||||
pageAct.SysType = 'all';
|
||||
|
||||
if (!first) getData();
|
||||
else selAllSysVal($('#selAllSys'))
|
||||
// getData();
|
||||
});
|
||||
|
||||
onEvent('change', '#alr_startdate, #alr_enddate', function () {
|
||||
@ -551,20 +555,20 @@
|
||||
if (i2 == 0 && i == 0) {
|
||||
firstMain = v.main_system_tag;
|
||||
firstSub = v2.sub_system_tag;
|
||||
console.log(v.main_system_tag, v2.sub_system_tag)
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
if (pageAct.mainStatus) {
|
||||
$('#alr_mainList').html(mainStrHtml);
|
||||
$('#alr_subList').html(subStrHtml);
|
||||
console.log($('input[data-type=main][id=' + firstMain + ']'))
|
||||
$('input[data-type=main][id=' + firstMain + ']').click();
|
||||
}
|
||||
else {
|
||||
$('#alr_mainList').html(subStrHtml);
|
||||
}
|
||||
|
||||
$('input[data-type=sub][id=' + firstSub + ']').click();
|
||||
// $('input[data-type=sub][id=' + firstSub + ']').click();
|
||||
}
|
||||
ytAjax = new YourTeam.Ajax(url, objSendData, success, null, "POST").send();
|
||||
}
|
||||
@ -584,6 +588,7 @@
|
||||
}
|
||||
});
|
||||
$(elem).html('取消全選');
|
||||
|
||||
pageAct.SysType = 'all';
|
||||
}
|
||||
else {
|
||||
@ -643,6 +648,7 @@
|
||||
}
|
||||
|
||||
function refTable(data) {
|
||||
console.log(data)
|
||||
let tag = "#alertTable";
|
||||
|
||||
$.each(data, function (i, v) {
|
||||
@ -671,7 +677,7 @@
|
||||
"title": "異常ID",
|
||||
"data": "uuid",
|
||||
render: (data) => {
|
||||
return data.split("-")[0]
|
||||
return data.$val ? data.$val.split("-")[0] : data.split("-")[0]
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -736,6 +742,7 @@
|
||||
ytAjax = new YourTeam.Ajax(url, objSendData, function (rel) {
|
||||
if (rel.code == "0000")
|
||||
a = rel.data;
|
||||
// console.log(rel)
|
||||
}, null, "POST").send();
|
||||
|
||||
return a;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -634,7 +634,7 @@
|
||||
"title": "異常代號",
|
||||
"data": "error_code",
|
||||
render: (data) => {
|
||||
return data?.split('-')[0];
|
||||
return data?.split('-')[0] || '';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -748,6 +748,13 @@
|
||||
"title": "位置",
|
||||
"data": "location",
|
||||
},
|
||||
{
|
||||
"title": "異常代號",
|
||||
"data": "error_code",
|
||||
render: (data) => {
|
||||
return data?.split('-')[0] || '';
|
||||
}
|
||||
},
|
||||
{
|
||||
"title": "表單號",
|
||||
"data": "formId",
|
||||
|
@ -1014,6 +1014,7 @@
|
||||
}
|
||||
//現在樓層
|
||||
if (data.point_name == "CP") {
|
||||
//console.log("電梯樓層", matchDevice.device_number, data.value)
|
||||
$(`#${matchDevice.device_number}_card [name=curFloor]`).text(data.value);
|
||||
}
|
||||
|
||||
@ -1897,10 +1898,10 @@
|
||||
|
||||
/*console.log(floChart)*/
|
||||
floChart.getZr().on('click', function (params) {
|
||||
console.log("click", params);
|
||||
// console.log("click", params);
|
||||
var pixelPoint = [params.offsetX, params.offsetY];
|
||||
var dataPoint = floChart.convertFromPixel({ geoIndex: 0 }, pixelPoint);
|
||||
console.log(dataPoint);
|
||||
// console.log(dataPoint);
|
||||
|
||||
temp_device_on_floor_map = [{
|
||||
device_guid: selected_temp_device.device_guid,
|
||||
@ -2412,7 +2413,7 @@
|
||||
|
||||
// 設置 模型隱藏或透明
|
||||
function setInviForge(type, devDbIds) {
|
||||
console.log("devDbIds", devDbIds)
|
||||
// console.log("devDbIds", devDbIds)
|
||||
if (type == "Hide") {
|
||||
hideAllObjects(devDbIds);
|
||||
} else if (type == "Opacity") {
|
||||
|
@ -397,7 +397,7 @@
|
||||
allDevList.forEach(({ device_nodes }) => {
|
||||
subDevDbId = [...subDevDbId, ...device_nodes.map(n => n.forge_dbid)]
|
||||
})
|
||||
|
||||
//console.log(devDbIds, subDevDbId)
|
||||
// 從資料庫設定不可視模型的類型,若沒有取道該小類不可視類型,則套用資料庫設定預設類型
|
||||
if (forgeInvType) {
|
||||
setInviForge(forgeInvType, [...devDbIds, ...subDevDbId]);
|
||||
@ -499,6 +499,8 @@
|
||||
if (pageAct.sysSubTag == "W2") {
|
||||
// console.log("@@",pageAct, pageAct.sub_system_tag)
|
||||
getWaterNodeId(viewer);
|
||||
} else if (pageAct.sysSubTag == "E1") {
|
||||
getE1NodeId(viewer)
|
||||
}
|
||||
|
||||
}, () => {
|
||||
@ -531,6 +533,15 @@
|
||||
|
||||
}
|
||||
|
||||
|
||||
// 高壓配電盤染色
|
||||
function getE1NodeId() {
|
||||
viewer.model.search("高壓電力", (nodeIds) => {
|
||||
// console.log("2",nodeIds)
|
||||
viewer.show(nodeIds)
|
||||
}, (e) => { console.log(e) })
|
||||
}
|
||||
|
||||
function getHotspotPoint(callback = null) {
|
||||
let url = baseApiUrl + "/api/GetDevForCor";
|
||||
let sendData = {
|
||||
@ -539,6 +550,7 @@
|
||||
"device_system_tag": pageAct.sysMainTag,
|
||||
"device_name_tag": pageAct.sysSubTag,
|
||||
};
|
||||
//console.log(sendData)
|
||||
objSendData.Data = sendData;
|
||||
ytAjax = new YourTeam.Ajax(url, objSendData, function (res) {
|
||||
if (!res || res.code != "0000" || !res.data) {
|
||||
@ -556,6 +568,7 @@
|
||||
myDataList.push(item);
|
||||
})
|
||||
|
||||
//console.log("1", myDataList)
|
||||
setHotspotPoint(myDataList);
|
||||
if (pageAct.sysMainTag == "LT") {
|
||||
setLightPoint(myDataList);
|
||||
@ -567,7 +580,7 @@
|
||||
}
|
||||
|
||||
function setHotspotPoint(myDataList = []) {
|
||||
// console.log(myDataList)
|
||||
//console.log("2",myDataList)
|
||||
getHopspotPoint(myDataList);
|
||||
}
|
||||
|
||||
@ -603,11 +616,10 @@
|
||||
|
||||
var parentEle = "";
|
||||
onEvent("autodesk:click:sprite", "[name=forgeViewer]", function (e, obj) {
|
||||
console.log("aaa", obj)
|
||||
forgeUnFocusAll();
|
||||
let position = [obj.event.target.toolController.lastClickX - 100, obj.event.target.toolController.lastClickY - 100];
|
||||
let devObj = obj.myData;
|
||||
let name = allDevList.filter(x => x.device_guid == devObj.device_guid)[0]?.full_name;
|
||||
let name = allDevList.filter(x => x.device_guid == devObj.device_guid)[0]?.full_name || devObj.full_name;
|
||||
devObj.full_name = name;
|
||||
parentEle = crePosPopover(position, devObj);
|
||||
$(parentEle).click();
|
||||
|
@ -300,10 +300,10 @@ class elevator3D {
|
||||
}
|
||||
fragProxyZ = fragProxy.position.z;
|
||||
|
||||
if (nodeId === 13777) {
|
||||
// 改變感測器熱點位置
|
||||
this.sensorObjs && this.sensorObjs[0]?.changePos(nodeId + 2, fragProxyZ)
|
||||
}
|
||||
// 改變感測器熱點位置
|
||||
this.sensorObjs && this.sensorObjs[0]?.changePos(nodeId + 2, fragProxyZ)
|
||||
// if(nodeId === 15200) {
|
||||
// }
|
||||
fragProxy.updateAnimTransform()
|
||||
})
|
||||
|
||||
@ -798,7 +798,7 @@ async function addHotPoint(data) {
|
||||
|
||||
const viewableData = new DataVizCore.ViewableData();
|
||||
viewableData.spriteSize = 24; // Sprites as points of size 24 x 24 pixels
|
||||
|
||||
console.log()
|
||||
myDataList.forEach((myData, index) => {
|
||||
const dbId = 10 + index;
|
||||
const myPosition = myData.position;
|
||||
|
@ -751,7 +751,7 @@ namespace FrontendWebApi.ApiControllers
|
||||
@device_name_tag = p.device_name_tag,
|
||||
@device_floor_tag = p.device_floor_tag
|
||||
};
|
||||
var d = await backendRepository.GetAllAsync<DevForCor>($@"select device_guid,device_number,device_floor_tag,device_coordinate_3d,forge_dbid
|
||||
var d = await backendRepository.GetAllAsync<DevForCor>($@"select device_guid,device_number,device_floor_tag,device_coordinate_3d,forge_dbid, full_name
|
||||
from device where deleted = 0 and device_area_tag = @device_area_tag and device_building_tag = @device_building_tag
|
||||
and device_system_tag = @device_system_tag and device_name_tag = @device_name_tag
|
||||
and device_floor_tag = ifnull(@device_floor_tag, device_floor_tag) ", param);
|
||||
|
@ -1025,24 +1025,13 @@ namespace FrontendWebApi.ApiControllers
|
||||
/// </summary>
|
||||
/// <param name="ofl"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<ApiResult<object>> OpeRecListAllTime([FromBody] OperationFindList ofl)
|
||||
public async Task<ApiResult<object>> OpeRecListAllTime()
|
||||
{
|
||||
ApiResult<object> apiResult = new ApiResult<object>();
|
||||
List<Operation_Record> orl = new List<Operation_Record>();
|
||||
|
||||
string sWhere = "";
|
||||
try
|
||||
{
|
||||
if (ofl.work_type != 1 && ofl.work_type != 2)
|
||||
{
|
||||
apiResult.Code = "0001";
|
||||
apiResult.Msg = "無此項目類別";
|
||||
return apiResult;
|
||||
}
|
||||
|
||||
if (ofl.serial_number != null)
|
||||
{
|
||||
sWhere += $@" and opr.formId like '%{ofl.serial_number}%'";
|
||||
}
|
||||
var sqlString = $@"select distinct(error_code) ,opr.status, concat(d.device_floor_tag, ' ', d.full_name) as device_name, ui.full_name as user_full_name
|
||||
from operation_record opr
|
||||
left join device d on opr.fix_do_code = d.device_number and d.deleted = 0 and d.device_area_tag = SUBSTRING_INDEX(opr.fix_do_code, '_', 1)
|
||||
@ -1052,7 +1041,7 @@ namespace FrontendWebApi.ApiControllers
|
||||
left join userinfo ui on opr.work_person_id = ui.userinfo_guid and ui.deleted = 0
|
||||
where opr.deleted = 0 and opr.work_type = 2" + sWhere;
|
||||
|
||||
orl = await backendRepository.GetAllAsync<Operation_Record>(sqlString);
|
||||
List<Operation_Record> orl = await backendRepository.GetAllAsync<Operation_Record>(sqlString);
|
||||
int Finished = orl.Where(x => x.status_name == "完成").Count();
|
||||
int NotFinished = orl.Where(x => x.status_name == "未完成").Count();
|
||||
object Status = new {finish= Finished, notfinish= NotFinished };
|
||||
@ -1064,8 +1053,6 @@ namespace FrontendWebApi.ApiControllers
|
||||
{
|
||||
apiResult.Code = "9999";
|
||||
apiResult.Msg = "系統內部錯誤,請聯絡管理者。";
|
||||
string json = System.Text.Json.JsonSerializer.Serialize(ofl);
|
||||
Logger.LogError("【" + controllerName + "/" + actionName + "】" + json);
|
||||
Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message);
|
||||
}
|
||||
|
||||
|
@ -147,6 +147,7 @@ namespace FrontendWebApi.Models
|
||||
public string device_number { get; set; }
|
||||
public string device_floor_tag { get; set; }
|
||||
public string device_coordinate_3d { get; set; }
|
||||
public string full_name { get; set; }
|
||||
public int? forge_dbid { get; set; }
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user