[前台] 首頁 工單進度圖表 | 告警系統 預設全選 | 運維管理 bug 修正 | 系統監控 部分小類小卡片大小設定

| [後台] WSP 新增模型匯入參數
[前台API] 新增工單 Api
This commit is contained in:
Celeste 2023-02-24 16:03:17 +08:00
parent 6bc6493cd9
commit d015c29d34
11 changed files with 212 additions and 932 deletions

View File

@ -257,13 +257,26 @@
/* 0201 更換好電梯順序 */ /* 0201 更換好電梯順序 */
/* launchViewer("dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dGEzaHFzZmZ6cWJub3V4a3BsZGt1a3NldzRzajIxdzUtYmltc19tb2RlbHMvJUUzJTgwJTkwJUU1JThGJUIwJUU1JThDJTk3JUU0JUI4JUFEJUU4JThGJUIxJUU1JUE0JUE3JUU2JUE4JTkzJUUzJTgwJTkxQVJDJUU5JTlCJTk5JUU2JUE4JUExJUU1JUJDJThGK01FUCVFNiU4QiU4NiVFNyVCMyVCQiVFNyVCNSVCMV8wMjAxLm53ZA")*/ /* launchViewer("dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dGEzaHFzZmZ6cWJub3V4a3BsZGt1a3NldzRzajIxdzUtYmltc19tb2RlbHMvJUUzJTgwJTkwJUU1JThGJUIwJUU1JThDJTk3JUU0JUI4JUFEJUU4JThGJUIxJUU1JUE0JUE3JUU2JUE4JTkzJUUzJTgwJTkxQVJDJUU5JTlCJTk5JUU2JUE4JUExJUU1JUJDJThGK01FUCVFNiU4QiU4NiVFNyVCMyVCQiVFNyVCNSVCMV8wMjAxLm53ZA")*/
// 0202 將感測器新增到電梯內 // 0202 將感測器新增到電梯內
launchViewer("dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dmVnb29nemNhdmNia2l0aHl2bHJzdnJjdGg2dHR3eWgtMjAyMzAyX2libXMvJUUzJTgwJTkwJUU1JThGJUIwJUU1JThDJTk3JUU0JUI4JUFEJUU4JThGJUIxJUU1JUE0JUE3JUU2JUE4JTkzJUUzJTgwJTkxQVJDJUU5JTlCJTk5JUU2JUE4JUExJUU1JUJDJThGK01FUCVFNiU4QiU4NiVFNyVCMyVCQiVFNyVCNSVCMV8wMjAyLm53ZA==") //launchViewer("dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dmVnb29nemNhdmNia2l0aHl2bHJzdnJjdGg2dHR3eWgtMjAyMzAyX2libXMvJUUzJTgwJTkwJUU1JThGJUIwJUU1JThDJTk3JUU0JUI4JUFEJUU4JThGJUIxJUU1JUE0JUE3JUU2JUE4JTkzJUUzJTgwJTkxQVJDJUU5JTlCJTk5JUU2JUE4JUExJUU1JUJDJThGK01FUCVFNiU4QiU4NiVFNyVCMyVCQiVFNyVCNSVCMV8wMjAyLm53ZA==")
//launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dnNjb2RlFX2ZvcmdlX3Rlc3QvJUUzJFTgwJTkwQVJDJUUzJTgwJTkxXzIwMjJfMTJfMTMubndk');//new ARC //launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dnNjb2RlFX2ZvcmdlX3Rlc3QvJUUzJFTgwJTkwQVJDJUUzJTgwJTkxXzIwMjJfMTJfMTMubndk');//new ARC
//launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dnNjb2RlX2ZvcmdlX3Rlc3QvJUUzJTgwJTkwTUVQJUUzJTgwJTkxXzIwMjJfMTJfMTMubndj');//new MEP //launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dnNjb2RlX2ZvcmdlX3Rlc3QvJUUzJTgwJTkwTUVQJUUzJTgwJTkxXzIwMjJfMTJfMTMubndj');//new MEP
//launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dnNjb2RlX2ZvcmdlX3Rlc3QvJUUzJTgwJTkwQVJDJUUzJTgwJTkxJUU1JTg1JUE4JUU2JUEzJTlGXzIwMjJfMTJfMTMubndj');//全棟 ARC //launchViewer('dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dnNjb2RlX2ZvcmdlX3Rlc3QvJUUzJTgwJTkwQVJDJUUzJTgwJTkxJUU1JTg1JUE4JUU2JUEzJTlGXzIwMjJfMTJfMTMubndj');//全棟 ARC
//0218
// 感測器修正
//launchViewer("dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dmVnb29nemNhdmNia2l0aHl2bHJzdnJjdGg2dHR3eWgtMjAyMzAyX2libXMvJUUzJTgwJTkwJUU1JThGJUIwJUU1JThDJTk3JUU0JUI4JUFEJUU4JThGJUIxJUU1JUE0JUE3JUU2JUE4JTkzJUUzJTgwJTkxQVJDJUU5JTlCJTk5JUU2JUE4JUExJUU1JUJDJThGK01FUCVFNiU4QiU4NiVFNyVCMyVCQiVFNyVCNSVCMV8wMjE4Lm53ZA")
// 0221 電梯細節 30
//launchViewer("dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dmVnb29nemNhdmNia2l0aHl2bHJzdnJjdGg2dHR3eWgtMjAyMzAyX2libXMvJUUzJTgwJTkwJUU1JThGJUIwJUU1JThDJTk3JUU0JUI4JUFEJUU4JThGJUIxJUU1JUE0JUE3JUU2JUE4JTkzJUUzJTgwJTkxQVJDJUU5JTlCJTk5JUU2JUE4JUExJUU1JUJDJThGK01FUCVFNiU4QiU4NiVFNyVCMyVCQiVFNyVCNSVCMV8lRTklOUIlQkIlRTYlQTIlQUYlRTclQjQlQjAlRTclQUYlODAlRTclODklODhfMDIyMS5ud2Q")
// 0222 電梯 30
//launchViewer("dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dmVnb29nemNhdmNia2l0aHl2bHJzdnJjdGg2dHR3eWgtMjAyMzAyX2libXMvJUUzJTgwJTkwJUU1JThGJUIwJUU1JThDJTk3JUU0JUI4JUFEJUU4JThGJUIxJUU1JUE0JUE3JUU2JUE4JTkzJUUzJTgwJTkxQVJDJUU5JTlCJTk5JUU2JUE4JUExJUU1JUJDJThGK01FUCVFNiU4QiU4NiVFNyVCMyVCQiVFNyVCNSVCMV8lRTklOUIlQkIlRTYlQTIlQUYlRTclQjQlQjAlRTclQUYlODAlRTclODklODhfMDIyMi5ud2Q")
// 0224 電梯 30
launchViewer("dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dmVnb29nemNhdmNia2l0aHl2bHJzdnJjdGg2dHR3eWgtMjAyMzAyX2libXMvJUUzJTgwJTkwJUU1JThGJUIwJUU1JThDJTk3JUU0JUI4JUFEJUU4JThGJUIxJUU1JUE0JUE3JUU2JUE4JTkzJUUzJTgwJTkxQVJDJUU5JTlCJTk5JUU2JUE4JUExJUU1JUJDJThGK01FUCVFNiU4QiU4NiVFNyVCMyVCQiVFNyVCNSVCMV8lRTklOUIlQkIlRTYlQTIlQUYlRTclQjQlQjAlRTclQUYlODAlRTclODklODhfMDIyNC5ud2Q")
// 0221 WSP
//launchViewer("dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6dmVnb29nemNhdmNia2l0aHl2bHJzdnJjdGg2dHR3eWgtMjAyMzAyX2libXMvQmFucWlhbyUyMFRhaXBlaSUyME1haW4lMjBPZmZpY2UtQUxMXzAyMjEubndk")
}); });
function move1Floor() { function move1Floor() {
@ -395,6 +408,8 @@
} }
function importDevCor() { function importDevCor() {
//console.log(tagIdDevList)
ImportDevForCor(); ImportDevForCor();
ImportForgeRoom(); ImportForgeRoom();
} }

View File

@ -268,7 +268,6 @@ function onDocumentLoadSuccess(doc) {
// }) // })
//}) //})
allDbIdsStr.forEach((dbId) => { allDbIdsStr.forEach((dbId) => {
curDbId = parseInt(dbId); curDbId = parseInt(dbId);
viewer.getProperties(curDbId, function (e) { viewer.getProperties(curDbId, function (e) {
@ -297,11 +296,17 @@ function onDocumentLoadSuccess(doc) {
//console.log("position: (" + (position.x).toFixed(2) + ", " + (position.y).toFixed(2) + ", " + (position.z).toFixed(2) + ")"); //console.log("position: (" + (position.x).toFixed(2) + ", " + (position.y).toFixed(2) + ", " + (position.z).toFixed(2) + ")");
//console.log("--------------------------------------------------"); //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】") { if (item.displayName == "【room_id】") {
tagIdDevList = tagIdDevList.map(tagItem => { tagIdDevList = tagIdDevList.map(tagItem => {
if (tagItem.forge_dbid === e.dbId) { if (tagItem.forge_dbid === e.dbId) {
@ -310,6 +315,48 @@ function onDocumentLoadSuccess(doc) {
return tagItem 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: ""
})
}
}
}); });
}) })
}) })

View File

@ -299,7 +299,11 @@
pageAct.alr_startdate = $("#alr_startdate").val(); pageAct.alr_startdate = $("#alr_startdate").val();
pageAct.alr_enddate = $("#alr_enddate").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 () { onEvent('change', '#alr_startdate, #alr_enddate', function () {
@ -551,20 +555,20 @@
if (i2 == 0 && i == 0) { if (i2 == 0 && i == 0) {
firstMain = v.main_system_tag; firstMain = v.main_system_tag;
firstSub = v2.sub_system_tag; firstSub = v2.sub_system_tag;
console.log(v.main_system_tag, v2.sub_system_tag)
} }
}); });
}); });
if (pageAct.mainStatus) { if (pageAct.mainStatus) {
$('#alr_mainList').html(mainStrHtml); $('#alr_mainList').html(mainStrHtml);
$('#alr_subList').html(subStrHtml); $('#alr_subList').html(subStrHtml);
console.log($('input[data-type=main][id=' + firstMain + ']'))
$('input[data-type=main][id=' + firstMain + ']').click(); $('input[data-type=main][id=' + firstMain + ']').click();
} }
else { else {
$('#alr_mainList').html(subStrHtml); $('#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(); ytAjax = new YourTeam.Ajax(url, objSendData, success, null, "POST").send();
} }
@ -584,6 +588,7 @@
} }
}); });
$(elem).html('取消全選'); $(elem).html('取消全選');
pageAct.SysType = 'all'; pageAct.SysType = 'all';
} }
else { else {
@ -643,6 +648,7 @@
} }
function refTable(data) { function refTable(data) {
console.log(data)
let tag = "#alertTable"; let tag = "#alertTable";
$.each(data, function (i, v) { $.each(data, function (i, v) {
@ -671,7 +677,7 @@
"title": "異常ID", "title": "異常ID",
"data": "uuid", "data": "uuid",
render: (data) => { 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) { ytAjax = new YourTeam.Ajax(url, objSendData, function (rel) {
if (rel.code == "0000") if (rel.code == "0000")
a = rel.data; a = rel.data;
// console.log(rel)
}, null, "POST").send(); }, null, "POST").send();
return a; return a;

File diff suppressed because it is too large Load Diff

View File

@ -634,7 +634,7 @@
"title": "異常代號", "title": "異常代號",
"data": "error_code", "data": "error_code",
render: (data) => { render: (data) => {
return data?.split('-')[0]; return data?.split('-')[0] || '';
} }
}, },
{ {
@ -748,6 +748,13 @@
"title": "位置", "title": "位置",
"data": "location", "data": "location",
}, },
{
"title": "異常代號",
"data": "error_code",
render: (data) => {
return data?.split('-')[0] || '';
}
},
{ {
"title": "表單號", "title": "表單號",
"data": "formId", "data": "formId",

View File

@ -1014,6 +1014,7 @@
} }
//現在樓層 //現在樓層
if (data.point_name == "CP") { if (data.point_name == "CP") {
//console.log("電梯樓層", matchDevice.device_number, data.value)
$(`#${matchDevice.device_number}_card [name=curFloor]`).text(data.value); $(`#${matchDevice.device_number}_card [name=curFloor]`).text(data.value);
} }
@ -1897,10 +1898,10 @@
/*console.log(floChart)*/ /*console.log(floChart)*/
floChart.getZr().on('click', function (params) { floChart.getZr().on('click', function (params) {
console.log("click", params); // console.log("click", params);
var pixelPoint = [params.offsetX, params.offsetY]; var pixelPoint = [params.offsetX, params.offsetY];
var dataPoint = floChart.convertFromPixel({ geoIndex: 0 }, pixelPoint); var dataPoint = floChart.convertFromPixel({ geoIndex: 0 }, pixelPoint);
console.log(dataPoint); // console.log(dataPoint);
temp_device_on_floor_map = [{ temp_device_on_floor_map = [{
device_guid: selected_temp_device.device_guid, device_guid: selected_temp_device.device_guid,
@ -2412,7 +2413,7 @@
// 設置 模型隱藏或透明 // 設置 模型隱藏或透明
function setInviForge(type, devDbIds) { function setInviForge(type, devDbIds) {
console.log("devDbIds", devDbIds) // console.log("devDbIds", devDbIds)
if (type == "Hide") { if (type == "Hide") {
hideAllObjects(devDbIds); hideAllObjects(devDbIds);
} else if (type == "Opacity") { } else if (type == "Opacity") {

View File

@ -397,7 +397,7 @@
allDevList.forEach(({ device_nodes }) => { allDevList.forEach(({ device_nodes }) => {
subDevDbId = [...subDevDbId, ...device_nodes.map(n => n.forge_dbid)] subDevDbId = [...subDevDbId, ...device_nodes.map(n => n.forge_dbid)]
}) })
//console.log(devDbIds, subDevDbId)
// 從資料庫設定不可視模型的類型,若沒有取道該小類不可視類型,則套用資料庫設定預設類型 // 從資料庫設定不可視模型的類型,若沒有取道該小類不可視類型,則套用資料庫設定預設類型
if (forgeInvType) { if (forgeInvType) {
setInviForge(forgeInvType, [...devDbIds, ...subDevDbId]); setInviForge(forgeInvType, [...devDbIds, ...subDevDbId]);
@ -499,6 +499,8 @@
if (pageAct.sysSubTag == "W2") { if (pageAct.sysSubTag == "W2") {
// console.log("@@",pageAct, pageAct.sub_system_tag) // console.log("@@",pageAct, pageAct.sub_system_tag)
getWaterNodeId(viewer); 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) { function getHotspotPoint(callback = null) {
let url = baseApiUrl + "/api/GetDevForCor"; let url = baseApiUrl + "/api/GetDevForCor";
let sendData = { let sendData = {
@ -539,6 +550,7 @@
"device_system_tag": pageAct.sysMainTag, "device_system_tag": pageAct.sysMainTag,
"device_name_tag": pageAct.sysSubTag, "device_name_tag": pageAct.sysSubTag,
}; };
//console.log(sendData)
objSendData.Data = sendData; objSendData.Data = sendData;
ytAjax = new YourTeam.Ajax(url, objSendData, function (res) { ytAjax = new YourTeam.Ajax(url, objSendData, function (res) {
if (!res || res.code != "0000" || !res.data) { if (!res || res.code != "0000" || !res.data) {
@ -556,6 +568,7 @@
myDataList.push(item); myDataList.push(item);
}) })
//console.log("1", myDataList)
setHotspotPoint(myDataList); setHotspotPoint(myDataList);
if (pageAct.sysMainTag == "LT") { if (pageAct.sysMainTag == "LT") {
setLightPoint(myDataList); setLightPoint(myDataList);
@ -567,7 +580,7 @@
} }
function setHotspotPoint(myDataList = []) { function setHotspotPoint(myDataList = []) {
// console.log(myDataList) //console.log("2",myDataList)
getHopspotPoint(myDataList); getHopspotPoint(myDataList);
} }
@ -603,11 +616,10 @@
var parentEle = ""; var parentEle = "";
onEvent("autodesk:click:sprite", "[name=forgeViewer]", function (e, obj) { onEvent("autodesk:click:sprite", "[name=forgeViewer]", function (e, obj) {
console.log("aaa", obj)
forgeUnFocusAll(); forgeUnFocusAll();
let position = [obj.event.target.toolController.lastClickX - 100, obj.event.target.toolController.lastClickY - 100]; let position = [obj.event.target.toolController.lastClickX - 100, obj.event.target.toolController.lastClickY - 100];
let devObj = obj.myData; 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; devObj.full_name = name;
parentEle = crePosPopover(position, devObj); parentEle = crePosPopover(position, devObj);
$(parentEle).click(); $(parentEle).click();

View File

@ -300,10 +300,10 @@ class elevator3D {
} }
fragProxyZ = fragProxy.position.z; 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() fragProxy.updateAnimTransform()
}) })
@ -798,7 +798,7 @@ async function addHotPoint(data) {
const viewableData = new DataVizCore.ViewableData(); const viewableData = new DataVizCore.ViewableData();
viewableData.spriteSize = 24; // Sprites as points of size 24 x 24 pixels viewableData.spriteSize = 24; // Sprites as points of size 24 x 24 pixels
console.log()
myDataList.forEach((myData, index) => { myDataList.forEach((myData, index) => {
const dbId = 10 + index; const dbId = 10 + index;
const myPosition = myData.position; const myPosition = myData.position;

View File

@ -751,7 +751,7 @@ namespace FrontendWebApi.ApiControllers
@device_name_tag = p.device_name_tag, @device_name_tag = p.device_name_tag,
@device_floor_tag = p.device_floor_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 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_system_tag = @device_system_tag and device_name_tag = @device_name_tag
and device_floor_tag = ifnull(@device_floor_tag, device_floor_tag) ", param); and device_floor_tag = ifnull(@device_floor_tag, device_floor_tag) ", param);

View File

@ -1025,24 +1025,13 @@ namespace FrontendWebApi.ApiControllers
/// </summary> /// </summary>
/// <param name="ofl"></param> /// <param name="ofl"></param>
/// <returns></returns> /// <returns></returns>
public async Task<ApiResult<object>> OpeRecListAllTime([FromBody] OperationFindList ofl) public async Task<ApiResult<object>> OpeRecListAllTime()
{ {
ApiResult<object> apiResult = new ApiResult<object>(); ApiResult<object> apiResult = new ApiResult<object>();
List<Operation_Record> orl = new List<Operation_Record>();
string sWhere = ""; string sWhere = "";
try 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 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 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) 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 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; 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 Finished = orl.Where(x => x.status_name == "完成").Count();
int NotFinished = orl.Where(x => x.status_name == "未完成").Count(); int NotFinished = orl.Where(x => x.status_name == "未完成").Count();
object Status = new {finish= Finished, notfinish= NotFinished }; object Status = new {finish= Finished, notfinish= NotFinished };
@ -1064,8 +1053,6 @@ namespace FrontendWebApi.ApiControllers
{ {
apiResult.Code = "9999"; apiResult.Code = "9999";
apiResult.Msg = "系統內部錯誤,請聯絡管理者。"; apiResult.Msg = "系統內部錯誤,請聯絡管理者。";
string json = System.Text.Json.JsonSerializer.Serialize(ofl);
Logger.LogError("【" + controllerName + "/" + actionName + "】" + json);
Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message); Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message);
} }

View File

@ -147,6 +147,7 @@ namespace FrontendWebApi.Models
public string device_number { get; set; } public string device_number { get; set; }
public string device_floor_tag { get; set; } public string device_floor_tag { get; set; }
public string device_coordinate_3d { get; set; } public string device_coordinate_3d { get; set; }
public string full_name { get; set; }
public int? forge_dbid { get; set; } public int? forge_dbid { get; set; }
} }