From fa09aabd1e62793d4a4a3de9c1ff79a79373c104 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A0=95=EC=98=81=EB=AF=BC?= <117150306+jym04@users.noreply.github.com> Date: Tue, 8 Apr 2025 08:29:46 +0900 Subject: [PATCH] =?UTF-8?q?=EC=84=A4=EB=B9=84=20KPI=20=EA=B8=B0=EB=8A=A5?= =?UTF-8?q?=20=EC=88=98=EC=A0=95=20=EB=B0=8F=20=EC=9E=91=EC=97=85=20?= =?UTF-8?q?=EC=A1=B0=EA=B1=B4=20=EB=B6=84=EC=84=9D=20=EB=8D=B0=EC=9D=B4?= =?UTF-8?q?=ED=84=B0=20=EC=98=A4=EB=A5=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scripts/EventConnecter.cs | 22 +++++++--- .../Personal/JYM/HighLighterManager.cs | 41 ++++++++++++++----- .../Personal/JYM/MachineKPIManager.cs | 4 ++ .../Personal/JYM/WorkConditionsManager.cs | 12 +++--- CompleteTimeAlarmInfo.json | 18 ++++---- 5 files changed, 67 insertions(+), 30 deletions(-) diff --git a/Assets/Scripts/EventConnecter.cs b/Assets/Scripts/EventConnecter.cs index 13222ece..495d9bb0 100644 --- a/Assets/Scripts/EventConnecter.cs +++ b/Assets/Scripts/EventConnecter.cs @@ -56,7 +56,7 @@ namespace CHN popupCanvas.panel_library.onClickLabelButton += libraryManager.LibraryFiltering; popupCanvas.panel_protocolsetting.onUpdateMachine += libraryManager.MatchingMachine; popupCanvas.panel_library.onClickLibraryButton += popupCanvas.MachineDashBoardOpenFromLibrary; - popupCanvas.panel_library.onClickLibraryButton += highLightManager.ActiveHighLighter; + popupCanvas.panel_library.onClickLibraryButton += highLightManager.ClickNotKPIToHighlight; popupCanvas.panel_library.onClickLibraryButton += highLightManager.SetTargetPosToMachine; popupCanvas.panel_library.onDeselectLibraryButton += popupCanvas.MachineDashBoardClose; popupCanvas.panel_library.onClose += highLightManager.ResetAllHighLighter; @@ -118,7 +118,7 @@ namespace CHN completeTimeManager.onLoadData += popupCanvas.panel_completealramhistory.SetAlarmInfoItems; completeTimeManager.onUnloadData += popupCanvas.panel_completealramhistory.SetAlarmInfoItems; - completeTimeManager.onActiveHighLighter += highLightManager.ActiveHighLighter; + completeTimeManager.onActiveHighLighter += highLightManager.ClickNotKPIToHighlight; completeTimeManager.onActiveHighLighter += highLightManager.SetTargetPosToMachine; httpManager.onMachineKPIData += machineKPIManager.SetMachineKPI; @@ -129,6 +129,8 @@ namespace CHN httpManager.onSendWorkConditionsData += workConditionsManager.SetWorkConditionsData; httpManager.onSendWorkTimeData += workTimeManager.SetWorkTimeData; + machineKPIManager.onClickKPI += highLightManager.ClickKPIToHighlight; + workConditionsManager.onCompleteLoadData += popupCanvas.panel_workconditionanalysis.SetWorkConditionsData; workConditionsManager.onSendMainChartData += popupCanvas.panel_workconditionanalysis.SetChartData; workConditionsManager.onSendSubChartData += popupCanvas.panel_workconditionanalysis.SetSubChartDatas; @@ -136,7 +138,7 @@ namespace CHN workTimeManager.onSendChartData += popupCanvas.panel_worktimeanalysis.SetWorkTimeData; raycaster.onLeftClickMachine += popupCanvas.MachineDashBoardOpenFromOnClick; - raycaster.onLeftClickMachine += highLightManager.ActiveHighLighter; + raycaster.onLeftClickMachine += highLightManager.ClickNotKPIToHighlight; raycaster.onClickThermostat += popupCanvas.panel_thermostatcontrol.Open; raycaster.onClickProductionBoard += productionStatusManager.ActiveBoardToType; @@ -163,6 +165,11 @@ namespace CHN } private void ChangeCameraView(ViewMode mode) { + var preViewMode = controller.viewMode; + var preViewModeDistance = controller.option.currentDistance; + var preViewModeAzimuth = controller.option.currentAzimuth; + var preViewModeElevation = controller.option.currentElevation; + controller.SetViewMode(mode); switch (mode) @@ -182,8 +189,13 @@ namespace CHN case ViewMode.FirstPersonView: if (building.currentFloor.isEmptyFloor) - return; - + { + controller.SetViewMode(preViewMode); + controller.option.currentDistance = preViewModeDistance; + controller.option.currentAzimuth = preViewModeAzimuth; + controller.option.currentElevation = preViewModeElevation; + break; + } if (controller.saveTargetPositions[ViewMode.FirstPersonView] == null) { building.SetCurrentFloorInternalState(); diff --git a/Assets/WorkSpace/Personal/JYM/HighLighterManager.cs b/Assets/WorkSpace/Personal/JYM/HighLighterManager.cs index 7fff01cc..6ad2c260 100644 --- a/Assets/WorkSpace/Personal/JYM/HighLighterManager.cs +++ b/Assets/WorkSpace/Personal/JYM/HighLighterManager.cs @@ -12,24 +12,30 @@ public class HighLighterManager : MonoBehaviour, ISingle var building = FindSingle(); machines = building.floors.SelectMany(f => f.machines).ToArray(); } + + public void ClickKPIToHighlight(UI_MachineKPI clickKPI) + { + foreach(var machine in machines) + { + if(machine.machineKPI == clickKPI) + { + ActiveHighLighter(machine); + } + } + } + public void ClickNotKPIToHighlight(Machine highLightMachine) + { + ActiveHighLighter(highLightMachine); + ActiveMachineKPI(highLightMachine); + } public void ActiveHighLighter(Machine highLightMachine) { foreach (var machine in machines) { machine.DeactiveHighLighter(); - - if (machine.machineKPI != null) - { - machine.machineKPI.Shrink(); - } } currentMachine = highLightMachine; currentMachine.ActiveHighLighter(); - - if (currentMachine.machineKPI != null) - { - currentMachine.machineKPI.Expand(); - } } public void ResetAllHighLighter() { @@ -43,6 +49,21 @@ public class HighLighterManager : MonoBehaviour, ISingle } } } + private void ActiveMachineKPI(Machine curentMachine) + { + foreach (var machine in machines) + { + if (machine.machineKPI != null) + { + machine.machineKPI.Shrink(); + } + } + + if (curentMachine.machineKPI != null) + { + curentMachine.machineKPI.Expand(); + } + } public void SetTargetPosToMachine(Machine machine) { OrbitalController controller = FindSingle(); diff --git a/Assets/WorkSpace/Personal/JYM/MachineKPIManager.cs b/Assets/WorkSpace/Personal/JYM/MachineKPIManager.cs index 40c83a98..028e7c47 100644 --- a/Assets/WorkSpace/Personal/JYM/MachineKPIManager.cs +++ b/Assets/WorkSpace/Personal/JYM/MachineKPIManager.cs @@ -1,3 +1,4 @@ +using System; using System.Collections; using System.Collections.Generic; using System.Linq; @@ -24,6 +25,8 @@ namespace CHN public Vector3 originScale; public float verticalSpacing = 100f; + public Action onClickKPI; + [Range(0.1f, 0.8f)] public float minScale; [Range(0.5f, 1.5f)] @@ -87,6 +90,7 @@ namespace CHN current_MachineKPI = machineKPI; current_MachineKPI.Expand(); current_MachineKPI.transform.SetAsLastSibling(); + onClickKPI?.Invoke(current_MachineKPI); } private void Update() { diff --git a/Assets/WorkSpace/Personal/JYM/WorkConditionsManager.cs b/Assets/WorkSpace/Personal/JYM/WorkConditionsManager.cs index efc3a479..e5c2b9fd 100644 --- a/Assets/WorkSpace/Personal/JYM/WorkConditionsManager.cs +++ b/Assets/WorkSpace/Personal/JYM/WorkConditionsManager.cs @@ -60,10 +60,10 @@ public class WorkConditionsManager : MonoBehaviour, ISingle foreach (var row in workConditionsData.data.rows) { - originPeakData.Add(ConvertStringToInt(row.C027)); - originTemperatureData.Add(ConvertStringToInt(row.TEMP01)); - originHumidityData.Add(ConvertStringToInt(row.HUMI01)); - originCycleTimeData.Add(ConvertStringToInt(row.C045)); + originPeakData.Add(ConvertStringToFloat(row.C027)); + originTemperatureData.Add(ConvertStringToFloat(row.TEMP01)); + originHumidityData.Add(ConvertStringToFloat(row.HUMI01)); + originCycleTimeData.Add(ConvertStringToFloat(row.C045)); originChartLabels.Add(row._time); } @@ -78,9 +78,9 @@ public class WorkConditionsManager : MonoBehaviour, ISingle //onSendChartLabels?.Invoke(mainChartLabels); onCompleteLoadData?.Invoke(workConditionsData); } - private int ConvertStringToInt(string stringData) + private float ConvertStringToFloat(string stringData) { - int.TryParse(stringData, out var result); + float.TryParse(stringData, out var result); return result; } public void ChangeMainChartData(string dataName) diff --git a/CompleteTimeAlarmInfo.json b/CompleteTimeAlarmInfo.json index 0ca02670..3bd2a52c 100644 --- a/CompleteTimeAlarmInfo.json +++ b/CompleteTimeAlarmInfo.json @@ -467,7 +467,7 @@ "worknm": "Injector No.14", "workseq": "1", "status": "1", - "statusnm": "비가동", + "statusnm": "가동중", "itemcd": "24298738", "itemdesc": "BAFFLE ASM-FRT DIFF CARR", "pjtcd": "GF9", @@ -768,7 +768,7 @@ "ptotm": "2025-04-08 08:14:05", "psttm": "2025-04-03 08:00:00" }, - "isCheck": true + "isCheck": false }, { "completeInfo": { @@ -887,7 +887,7 @@ "worknm": "X76 GORE CAP", "workseq": "1", "status": "1", - "statusnm": "계획정지", + "statusnm": "비가동", "itemcd": "24050078-GMA", "itemdesc": "CAP ASM - TRANS FLUID FIL (W/VENT)", "pjtcd": "X76", @@ -905,7 +905,7 @@ "sttm": "0746", "totm": "", "goaltime": "529", - "ptotm": "2025-04-07 11:43:46", + "ptotm": "2025-04-08 04:26:33", "psttm": "2025-04-03 07:46:19" }, "isCheck": false @@ -992,7 +992,7 @@ "worknm": "CVT C/VB LINE", "workseq": "1", "status": "1", - "statusnm": "가동중", + "statusnm": "비가동", "itemcd": "24052991", "itemdesc": "COVER ASM-C/VLV BODY", "pjtcd": "CVT", @@ -1062,7 +1062,7 @@ "worknm": "SGE W/O LINE", "workseq": "1", "status": "1", - "statusnm": "가동중", + "statusnm": "비가동", "itemcd": "12707589-GMA", "itemdesc": "OUTLET ASM – WATER", "pjtcd": "SGE", @@ -1097,7 +1097,7 @@ "worknm": "CSS W/O LINE", "workseq": "1", "status": "1", - "statusnm": "가동중", + "statusnm": "비가동", "itemcd": "55513502", "itemdesc": "OUTLET ASM-WAT", "pjtcd": "CSS PRIME", @@ -1132,7 +1132,7 @@ "worknm": "U/SONIC WELD-1", "workseq": "1", "status": "1", - "statusnm": "가동중", + "statusnm": "비가동", "itemcd": "24051088-KOR", "itemdesc": "SCOOP ASM-DRV LINK LUB", "pjtcd": "GF6", @@ -1237,7 +1237,7 @@ "worknm": "INLET TUBE LINE", "workseq": "1", "status": "1", - "statusnm": "가동중", + "statusnm": "비가동", "itemcd": "WP131-GE000", "itemdesc": "INLET-TUBE ASSY W/P", "pjtcd": "GME T4", -- 2.48.1.windows.1