설비 KPI 기능 수정 및 작업 조건 분석 데이터 오류 수정 #69

Merged
jym merged 1 commits from dev/jym/250408_00 into main 2025-04-08 08:31:37 +09:00
5 changed files with 67 additions and 30 deletions

View File

@@ -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();

View File

@@ -12,24 +12,30 @@ public class HighLighterManager : MonoBehaviour, ISingle
var building = FindSingle<Building>();
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<OrbitalController>();

View File

@@ -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<UI_MachineKPI> 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()
{

View File

@@ -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)

View File

@@ -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",