[정영민] 팝업 오류 및 데이터 오류 수정

26.02.06
- 팝업 오류 수정
- 데이터 오류 수정
This commit is contained in:
정영민
2026-02-06 12:42:02 +09:00
parent 7306470814
commit 294039f583
20 changed files with 15916 additions and 6873 deletions

View File

@@ -23,8 +23,6 @@ namespace UVC.UI.Toolbar
}
}
public void InitTab()
{
// 1. TabConfig 설정
@@ -43,6 +41,11 @@ namespace UVC.UI.Toolbar
CommandManager.Instance.Execute(new SetLibraryControllerCommand(this));
// 탭 아이템 설치 완료
}
public void DeactivateCurrentTab()
{
var index = tabController.GetActiveTabIndex();
tabController.ActivateTab(index);
}
}
}

View File

@@ -1714,5 +1714,39 @@
"goodqtyrate": 96.2962,
"lct": 73.42657,
"wct": 73.42657
},
{
"datagbn": "D",
"wordno": "WO202602060026",
"workdt": "20260206",
"daynight": "1",
"sitecd": "1",
"wccd": "W20",
"workcd": "OD",
"worknm": "OIL DEFLECTOR",
"workseq": 1,
"status": "1",
"statusnm": "가동중",
"itemcd": "12691052-GMA",
"itemdesc": "DEFLECTOR ASM-CR/SHF OIL",
"pjtcd": "SGE",
"matcd": "",
"cycletime": 10.00,
"cavity": 1,
"planqty": 3180.00000,
"goalqty": 1645.00000,
"workqty": 1314.00000,
"goodqty": 1314.00000,
"badqty": 0.00000,
"badrate": "0.0",
"efficiency": 79.84930,
"progressrate": 41.32075,
"sttm": "0802",
"totm": "",
"goaltime": 529,
"ptotm": "2026-02-06 16:51:46",
"psttm": "2026-02-06 08:02:46",
"moldcd": "",
"moldseq": 0
}
]

View File

@@ -166,27 +166,27 @@ MonoBehaviour:
m_EditorClassIdentifier: Assembly-CSharp::CameraControlPanel
IgnoreSingleOpenMode: 0
AllCameraViews:
- ViewName: CAM1-1
- ViewName: 1
Floor: 1
TargetPivotTransform: {fileID: 0}
TargetDistance: 20
- ViewName: CAM1-2
- ViewName: 2
Floor: 1
TargetPivotTransform: {fileID: 0}
TargetDistance: 20
- ViewName: CAM1-3
- ViewName: 3
Floor: 1
TargetPivotTransform: {fileID: 0}
TargetDistance: 20
- ViewName: CAM2-1
- ViewName: 1
Floor: 2
TargetPivotTransform: {fileID: 0}
TargetDistance: 20
- ViewName: CAM2-2
- ViewName: 2
Floor: 2
TargetPivotTransform: {fileID: 0}
TargetDistance: 20
- ViewName: CAM2-3
- ViewName: 3
Floor: 2
TargetPivotTransform: {fileID: 0}
TargetDistance: 20
@@ -6307,9 +6307,9 @@ RectTransform:
- {fileID: 7240056361871593158}
m_Father: {fileID: 610974305830729566}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 150.5, y: -30}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 85, y: 60}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &1833105215018818575
@@ -8643,9 +8643,9 @@ RectTransform:
- {fileID: 2250931998581086683}
m_Father: {fileID: 6532315938352192559}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 155, y: -15}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 100, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6152529595915307853
@@ -13292,9 +13292,9 @@ RectTransform:
- {fileID: 4593278407941134422}
m_Father: {fileID: 610974305830729566}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 258.5, y: -30}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 85, y: 60}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &4033719056876904007
@@ -14270,9 +14270,9 @@ RectTransform:
- {fileID: 1681471761109340874}
m_Father: {fileID: 610974305830729566}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 42.5, y: -30}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 85, y: 60}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &4424075415665231686
@@ -24623,7 +24623,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &1813555272631186170
RectTransform:
m_ObjectHideFlags: 0
@@ -28627,9 +28627,9 @@ RectTransform:
- {fileID: 2020717055214502620}
m_Father: {fileID: 6532315938352192559}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 50, y: -15}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 100, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &903840073626187767

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 9222fa9bfb0e10b429a5cfb88c127bfe
guid: 34945c1e977e7bb40ba70b8af5eac756
DefaultImporter:
externalObjects: {}
userData:

View File

@@ -2,13 +2,23 @@ using ChunilENG.Management;
using OCTOPUS_TWIN.UI;
using UnityEngine;
using UVC.UI.Commands;
using UVC.UI.Window.PropertyWindow;
namespace ChunilENG.UI.Command
{
public class OpenAlarmHistoryPanelCommand : ICommand
{
private PropertyWindow propertyWindow;
public OpenAlarmHistoryPanelCommand(PropertyWindow propertyWindow)
{
this.propertyWindow = propertyWindow;
}
public void Execute(object? parameter = null)
{
propertyWindow.Hide();
var uiManager = ChunilENGSceneMain.Instance.GetManager<ChunilENGUIManager>();
uiManager.GetCanvas<PopupCanvas>().OpenPanel<AlarmHistoryPanel>(CanvasPanelOpenMode.Single);
}

View File

@@ -1,15 +1,26 @@
using ChunilENG.Management;
using OCTOPUS_TWIN.UI;
using UnityEngine;
using UVC.UI.Commands;
using UVC.UI.Window.PropertyWindow;
namespace ChunilENG.UI.Command
{
public class OpenAssemblyProgressPanelCommand : ICommand
{
private PropertyWindow propertyWindow;
public OpenAssemblyProgressPanelCommand(PropertyWindow propertyWindow)
{
this.propertyWindow = propertyWindow;
}
public void Execute(object? parameter = null)
{
var uiManager = ChunilENGSceneMain.Instance.GetManager<ChunilENGUIManager>();
uiManager.GetCanvas<StaticCanvas>().GetPanel<LeftSidePanel>().DeactiveCurrentSideTab();
uiManager.GetCanvas<StaticCanvas>().GetPanel<LeftSidePanel>().DeactiveSideToolButton();
propertyWindow.Hide();
uiManager.GetCanvas<PopupCanvas>().OpenPanel<AssemblyProgressPanel>(CanvasPanelOpenMode.Single);
}
}

View File

@@ -2,14 +2,26 @@ using ChunilENG.Management;
using OCTOPUS_TWIN.UI;
using UnityEngine;
using UVC.UI.Commands;
using UVC.UI.Window.PropertyWindow;
namespace ChunilENG.UI.Command
{
public class OpenFinalInspectionPanelCommand : ICommand
{
private PropertyWindow propertyWindow;
public OpenFinalInspectionPanelCommand(PropertyWindow propertyWindow)
{
this.propertyWindow = propertyWindow;
}
public void Execute(object? parameter = null)
{
var uiManager = ChunilENGSceneMain.Instance.GetManager<ChunilENGUIManager>();
uiManager.GetCanvas<StaticCanvas>().GetPanel<LeftSidePanel>().DeactiveCurrentSideTab();
uiManager.GetCanvas<StaticCanvas>().GetPanel<LeftSidePanel>().DeactiveSideToolButton();
propertyWindow.Hide();
uiManager.GetCanvas<PopupCanvas>().OpenPanel<FinalInspectionPanel>(CanvasPanelOpenMode.Single);
}
}

View File

@@ -2,24 +2,31 @@ using ChunilENG.Management;
using OCTOPUS_TWIN.UI;
using UnityEngine;
using UVC.UI.Commands;
using UVC.UI.Window.PropertyWindow;
namespace ChunilENG.UI.Command
{
public class OpenMachineDashBoardCommand : ICommand
{
private PropertyWindow propertyWindow;
public Machine machine;
public CompleteInfo completeInfo;
public OpenMachineDashBoardCommand(Machine machine, CompleteInfo completeInfo)
public OpenMachineDashBoardCommand(PropertyWindow propertyWindow, Machine machine, CompleteInfo completeInfo)
{
this.propertyWindow = propertyWindow;
this.machine = machine;
this.completeInfo = completeInfo;
}
public void Execute(object? parameter = null)
{
var uiManager = ChunilENGSceneMain.Instance.GetManager<ChunilENGUIManager>();
uiManager.GetCanvas<PopupCanvas>().GetPanel<MachineDashBoard>().SetDetailDashBoardData(completeInfo, machine);
uiManager.GetCanvas<StaticCanvas>().GetPanel<LeftSidePanel>().DeactiveCurrentSideTab();
uiManager.GetCanvas<StaticCanvas>().GetPanel<LeftSidePanel>().DeactiveSideToolButton();
propertyWindow.Hide();
uiManager.GetCanvas<PopupCanvas>().GetPanel<MachineDashBoard>().SetDetailDashBoardData(completeInfo, machine);
uiManager.GetCanvas<PopupCanvas>().OpenPanel<MachineDashBoard>(CanvasPanelOpenMode.Single);
}
}

View File

@@ -2,14 +2,26 @@ using ChunilENG.Management;
using OCTOPUS_TWIN.UI;
using UnityEngine;
using UVC.UI.Commands;
using UVC.UI.Window.PropertyWindow;
namespace ChunilENG.UI.Command
{
public class OpenProductionProgressPanelCommand : ICommand
{
private PropertyWindow propertyWindow;
public OpenProductionProgressPanelCommand(PropertyWindow propertyWindow)
{
this.propertyWindow = propertyWindow;
}
public void Execute(object? parameter = null)
{
var uiManager = ChunilENGSceneMain.Instance.GetManager<ChunilENGUIManager>();
uiManager.GetCanvas<StaticCanvas>().GetPanel<LeftSidePanel>().DeactiveCurrentSideTab();
uiManager.GetCanvas<StaticCanvas>().GetPanel<LeftSidePanel>().DeactiveSideToolButton();
propertyWindow.Hide();
uiManager.GetCanvas<PopupCanvas>().OpenPanel<ProductionProgressPanel>(CanvasPanelOpenMode.Single);
}
}

View File

@@ -2,14 +2,26 @@ using ChunilENG.Management;
using OCTOPUS_TWIN.UI;
using UnityEngine;
using UVC.UI.Commands;
using UVC.UI.Window.PropertyWindow;
namespace ChunilENG.UI.Command
{
public class OpenTotalProgressPanelCommand : ICommand
{
private PropertyWindow propertyWindow;
public OpenTotalProgressPanelCommand(PropertyWindow propertyWindow)
{
this.propertyWindow = propertyWindow;
}
public void Execute(object? parameter = null)
{
var uiManager = ChunilENGSceneMain.Instance.GetManager<ChunilENGUIManager>();
uiManager.GetCanvas<StaticCanvas>().GetPanel<LeftSidePanel>().DeactiveCurrentSideTab();
uiManager.GetCanvas<StaticCanvas>().GetPanel<LeftSidePanel>().DeactiveSideToolButton();
propertyWindow.Hide();
uiManager.GetCanvas<PopupCanvas>().OpenPanel<TotalProgressPanel>(CanvasPanelOpenMode.Single);
}
}

View File

@@ -2,14 +2,26 @@ using ChunilENG.Management;
using OCTOPUS_TWIN.UI;
using UnityEngine;
using UVC.UI.Commands;
using UVC.UI.Window.PropertyWindow;
namespace ChunilENG.UI.Command
{
public class OpenWorkProgressPanelCommand : ICommand
{
private PropertyWindow propertyWindow;
public OpenWorkProgressPanelCommand(PropertyWindow propertyWindow)
{
this.propertyWindow = propertyWindow;
}
public void Execute(object? parameter = null)
{
var uiManager = ChunilENGSceneMain.Instance.GetManager<ChunilENGUIManager>();
uiManager.GetCanvas<StaticCanvas>().GetPanel<LeftSidePanel>().DeactiveCurrentSideTab();
uiManager.GetCanvas<StaticCanvas>().GetPanel<LeftSidePanel>().DeactiveSideToolButton();
propertyWindow.Hide();
uiManager.GetCanvas<PopupCanvas>().OpenPanel<WorkProgressPanel>(CanvasPanelOpenMode.Single);
}
}

View File

@@ -8,11 +8,14 @@ using System.Collections.Generic;
using UnityEngine;
using UVC.Management;
using OCTOPUS_TWIN.Command;
using UVC.UI.Window.PropertyWindow;
namespace ChunilENG.Management
{
public class MachineInfoItemManager : Manager
{
private PropertyWindow propertyWindow;
private OrbitalController cam;
public MachineInfoItem machineInfoItem;
@@ -31,6 +34,7 @@ namespace ChunilENG.Management
public override async UniTask Init()
{
propertyWindow = FindAnyObjectByType<PropertyWindow>(FindObjectsInactive.Include);
cam = OctopusTwinAppMain.Instance.cameraController; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: Start<72><74><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> ȣ<><C8A3><EFBFBD>Ͽ<EFBFBD> ij<><C4B3>
machineInfoItem = Resources.Load<MachineInfoItem>($"{ResourceURL.chunilENGUIPrefabFolderPath}{nameof(MachineInfoItem)}");
@@ -108,7 +112,7 @@ namespace ChunilENG.Management
foreach (var data in machineData)
{
var targetMachine = machines.Find(m => m.code == data.workcd);
if (targetMachine == null) continue;
if (targetMachine == null) { continue; }
targetMachine.machineKPI.SetData(data, targetMachine.machineName);
targetMachine.machineKPI.gameObject.SetActive(false);
@@ -119,7 +123,7 @@ namespace ChunilENG.Management
private void OnClickMachineInfoItem(MachineInfoItem machineInfoItem)
{
machineInfoItem.transform.SetAsLastSibling();
CommandManager.Instance.Execute(new OpenMachineDashBoardCommand(itemToMachines[machineInfoItem], machineInfoItem.data));
CommandManager.Instance.Execute(new OpenMachineDashBoardCommand(propertyWindow, itemToMachines[machineInfoItem], machineInfoItem.data));
}
bool IsScreenRange(Machine machine)

View File

@@ -56,13 +56,7 @@ namespace ChunilENG.Management
controller.SetViewMode(ViewMode.PerspectiveView);
}
int changeFloor = ChunilENGSceneMain.Instance.building.GetFloor(0).index;
int libraryMachineFloor = machine.GetMachineFloorIndex();
if (libraryMachineFloor > changeFloor)
{
changeFloor = libraryMachineFloor;
}
int changeFloor = machine.GetMachineFloorIndex();
var centerPos = machine.centerPos;

View File

@@ -65,19 +65,19 @@ namespace ChunilENG.UI
switch (status)
{
case MachineStatusnm.:
Statusimg = (Image)Resources.Load("UI/Sprites/CompleteAlarm/MachineON");
Statusimg.sprite = Resources.Load<Sprite>("UI/Sprites/CompleteAlarm/MachineON");
break;
case MachineStatusnm.:
Statusimg = (Image)Resources.Load("UI/Sprites/CompleteAlarm/MachineOFF");
Statusimg.sprite = Resources.Load<Sprite>("UI/Sprites/CompleteAlarm/MachineOFF");
break;
case MachineStatusnm.:
Statusimg = (Image)Resources.Load("UI/Sprites/CompleteAlarm/MachineOFF");
Statusimg.sprite = Resources.Load<Sprite>("UI/Sprites/CompleteAlarm/MachineOFF");
break;
}
}
else
{
Statusimg = (Image)Resources.Load("UI/Sprites/CompleteAlarm/MachineOFF");
Statusimg.sprite = Resources.Load<Sprite>("UI/Sprites/CompleteAlarm/MachineOFF");
}
//Statusnm.color = color;
}

View File

@@ -158,6 +158,18 @@ namespace ChunilENG.UI
recorder = new CaptureRecoder();
recorder.Setup();
}
public void DeactiveCurrentSideTab()
{
sideTabBar.DeactivateCurrentTab();
}
public void DeactiveSideToolButton()
{
toolbar.SetToggleButtonState("button_minimap", false);
toolbar.SetToggleButtonState("button_position_fix", false);
toolbar.SetToggleButtonState("button_floor_control", false);
toolbar.SetToggleButtonState("button_ruler", false);
toolbar.SetToggleButtonState("button_wall_control", false);
}
}
}

View File

@@ -58,6 +58,8 @@ namespace ChunilENG.UI
private Image Circle_10;
private Button Button_Close;
private Panel_Effect effect;
public override async UniTask Init()
{
MachineName = GetElement<TextMeshProUGUI>(nameof(MachineName));
@@ -104,10 +106,24 @@ namespace ChunilENG.UI
Circle_10 = GetElement<Image>(nameof(Circle_10));
Button_Close = GetElement<Button>(nameof(Button_Close));
effect = FindAnyObjectByType<Panel_Effect>(FindObjectsInactive.Include);
Button_Close.onClick.AddListener(Close);
await UniTask.CompletedTask;
}
public override void Open()
{
effect.ActivePanel();
gameObject.SetActive(true);
gameObject.transform.SetAsLastSibling();
}
public override void Close()
{
effect.DeactivePanel();
gameObject.SetActive(false);
gameObject.transform.SetAsLastSibling();
}
public void SetDetailDashBoardData(CompleteInfo data, Machine machine)
{
SetTextData(data, machine);

View File

@@ -9,6 +9,7 @@ using UVC.UI.Menu;
using UVC.UI.Toolbar.Model;
using UVC.UI.ToolBar;
using OCTOPUS_TWIN.UI;
using UVC.UI.Window.PropertyWindow;
namespace ChunilENG
{
@@ -20,8 +21,13 @@ namespace ChunilENG
[SerializeField]
private Toolbox topToolBox;
[SerializeField]
private PropertyWindow propertyWindow;
public override async UniTask Init()
{
propertyWindow = FindAnyObjectByType<PropertyWindow>(FindObjectsInactive.Include);
topMenu = transform.GetComponentInChildren<TopMenuController>();
topToolBox = transform.GetComponentInChildren<Toolbox>();
@@ -36,11 +42,11 @@ namespace ChunilENG
Debug.LogWarning("TopMenuController is not assigned in SceneMain.");
return;
}
topMenu.AddMenuItem(new MenuItemData("total_production_status", "종합 진행 현황", new OpenTotalProgressPanelCommand()));
topMenu.AddMenuItem(new MenuItemData("production_status", "작업 진행 현황", new OpenWorkProgressPanelCommand()));
topMenu.AddMenuItem(new MenuItemData("production_status", "생산 진행 현황", new OpenProductionProgressPanelCommand()));
topMenu.AddMenuItem(new MenuItemData("injection_status", "조립 진행 현황", new OpenAssemblyProgressPanelCommand()));
topMenu.AddMenuItem(new MenuItemData("production_status", "최종 검사", new OpenFinalInspectionPanelCommand()));
topMenu.AddMenuItem(new MenuItemData("total_production_status", "종합 진행 현황", new OpenTotalProgressPanelCommand(propertyWindow)));
topMenu.AddMenuItem(new MenuItemData("production_status", "작업 진행 현황", new OpenWorkProgressPanelCommand(propertyWindow)));
topMenu.AddMenuItem(new MenuItemData("production_status", "생산 진행 현황", new OpenProductionProgressPanelCommand(propertyWindow)));
topMenu.AddMenuItem(new MenuItemData("injection_status", "조립 진행 현황", new OpenAssemblyProgressPanelCommand(propertyWindow)));
topMenu.AddMenuItem(new MenuItemData("production_status", "최종 검사", new OpenFinalInspectionPanelCommand(propertyWindow)));
topMenu.Initialize();
}
private void SetupToolBox()
@@ -52,7 +58,7 @@ namespace ChunilENG
// 알림 목록
toolbarModel.AddStandardButton("알림 목록",
$"UI/Sprites/TopToolBar/IMG_Alarm",
new OpenAlarmHistoryPanelCommand()
new OpenAlarmHistoryPanelCommand(propertyWindow)
);
//설정

View File

@@ -33,7 +33,6 @@ namespace KEPCO
public void InitSceneMain()
{
if (!TooltipManager.Instance.IsInitialized) TooltipManager.Instance.Initialize();
OnAppInitialized();
}