카메라 기능 개발

This commit is contained in:
정영민
2025-03-14 09:21:26 +09:00
parent a92138fe89
commit 242635497f
8 changed files with 321 additions and 102 deletions

View File

@@ -26,18 +26,18 @@ MonoBehaviour:
_elevationRotateLimit: 0 _elevationRotateLimit: 0
_isFirstPersonView: 0 _isFirstPersonView: 0
originElevation: 28.5 originElevation: 28.5
currentElevation: 90 currentElevation: 28.5
elevationSensivity: 15 elevationSensivity: 15
minElevation: 5 minElevation: 5
maxElevation: 90 maxElevation: 90
originAzimuth: 133 originAzimuth: 133
currentAzimuth: 89.75 currentAzimuth: 133
azimuthSensivity: 15 azimuthSensivity: 15
maxDistance: 150 maxDistance: 150
minDistance: 5 minDistance: 5
moveClamper: 0.033333335 moveClamper: 1
originDistance: 120 originDistance: 120
originTargetPos: {x: -37.685005, y: 27, z: 29.893412} originTargetPos: {x: -37.685005, y: 27, z: 29.893412}
originTargetRot: {x: -0, y: 0, z: 0} originTargetRot: {x: -0, y: 0, z: 0}
currentDistance: 115.012886 currentDistance: 150
target: {fileID: 0} target: {fileID: 0}

View File

@@ -0,0 +1,15 @@
namespace WI
{
[System.Serializable]
public class CameraEntity
{
public float x;
public float y;
public float z;
public float distance;
public float elevation;
public float azimuth;
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: db7ea094b0ebba741893718f5fbfcbaa
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,5 +1,6 @@
using System; using System;
using System.Collections; using System.Collections;
using System.Collections.Generic;
using UnityEngine; using UnityEngine;
using UnityEngine.EventSystems; using UnityEngine.EventSystems;
@@ -9,6 +10,8 @@ namespace WI
public class OrbitalController : GenericController, ISingle, IOptionable public class OrbitalController : GenericController, ISingle, IOptionable
{ {
public new OrbitalControllerOption option => base.option as OrbitalControllerOption; public new OrbitalControllerOption option => base.option as OrbitalControllerOption;
public SDictionary<ViewMode, CameraEntity> saveTargetPositions = new SDictionary<ViewMode, CameraEntity>();
public Action<int> ZoomInOutEvent; public Action<int> ZoomInOutEvent;
public int maxValue; public int maxValue;
public float duration_MoveToCamera; public float duration_MoveToCamera;
@@ -59,6 +62,12 @@ namespace WI
base.AfterAwake(); base.AfterAwake();
targetColliderRadius = option.target.GetComponent<SphereCollider>().radius; targetColliderRadius = option.target.GetComponent<SphereCollider>().radius;
foreach(ViewMode mode in Enum.GetValues(typeof(ViewMode)))
{
saveTargetPositions.Add(mode, null);
}
SetViewMode(ViewMode.PerspectiveView);
} }
public override void AfterStart() public override void AfterStart()
@@ -379,28 +388,55 @@ namespace WI
} }
public void CameraTopView() public void CameraTopView()
{ {
var saveData = saveTargetPositions[ViewMode.TopView];
option.maxDistance = 35f; option.maxDistance = 35f;
option.currentElevation = 90f;
option.currentDistance = 35f; if (saveData == null)
option.currentAzimuth = 0f; {
option.currentElevation = 90f;
option.currentDistance = 35f;
option.currentAzimuth = 0f;
}
else
{
SetCameraData(viewMode);
}
LastPositioning(true); LastPositioning(true);
} }
public void CameraFirstPersonView() public void CameraFirstPersonView()
{ {
camera.transform.position = option.target.position; var saveData = saveTargetPositions[ViewMode.FirstPersonView];
option.currentDistance = 5f;
option.currentElevation = 0f; if (saveData == null)
option.currentAzimuth = 0f; {
camera.transform.position = option.target.position;
option.currentDistance = 5f;
option.currentElevation = 0f;
option.currentAzimuth = 0f;
}
else
{
SetCameraData(viewMode);
}
LastPositioning(true); LastPositioning(true);
} }
public void CameraPerspectiveView() public void CameraPerspectiveView()
{ {
var saveData = saveTargetPositions[ViewMode.PerspectiveView];
option.maxDistance = 150f; option.maxDistance = 150f;
option.currentDistance = option.originDistance;
option.currentAzimuth = option.originAzimuth; if (saveData == null)
option.currentElevation = option.originElevation; {
option.currentDistance = option.originDistance;
option.currentAzimuth = option.originAzimuth;
option.currentElevation = option.originElevation;
}
else
{
SetCameraData(viewMode);
}
LastPositioning(true); LastPositioning(true);
} }
@@ -438,5 +474,27 @@ namespace WI
onFirstPersonViewRay?.Invoke(hit); onFirstPersonViewRay?.Invoke(hit);
} }
} }
public void SaveTargetPosition()
{
var cameraEntity = new CameraEntity();
cameraEntity.x = option.target.position.x;
cameraEntity.y = option.target.position.y;
cameraEntity.z = option.target.position.z;
cameraEntity.distance = option.currentDistance;
cameraEntity.azimuth = option.currentAzimuth;
cameraEntity.elevation = option.currentElevation;
saveTargetPositions[viewMode] = cameraEntity;
}
private void SetCameraData(ViewMode currentViewMode)
{
var cameraData = saveTargetPositions[currentViewMode];
nextPosition = new Vector3(cameraData.x, cameraData.y, cameraData.z);
Debug.Log(nextPosition);
option.currentDistance = cameraData.distance;
option.currentAzimuth = cameraData.azimuth;
option.currentElevation = cameraData.elevation;
}
} }
} }

View File

@@ -630,6 +630,130 @@ MeshFilter:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2066073} m_GameObject: {fileID: 2066073}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1001 &2501007
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 883006602906283311}
m_Modifications:
- target: {fileID: 1150849515297238015, guid: 565fc7bc07217ae439fa29f99158e1db,
type: 3}
propertyPath: m_Name
value: Panel_MiniMap
objectReference: {fileID: 0}
- target: {fileID: 2563419348715790888, guid: 565fc7bc07217ae439fa29f99158e1db,
type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 2563419348715790888, guid: 565fc7bc07217ae439fa29f99158e1db,
type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 2563419348715790888, guid: 565fc7bc07217ae439fa29f99158e1db,
type: 3}
propertyPath: m_AnchorMax.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2563419348715790888, guid: 565fc7bc07217ae439fa29f99158e1db,
type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2563419348715790888, guid: 565fc7bc07217ae439fa29f99158e1db,
type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2563419348715790888, guid: 565fc7bc07217ae439fa29f99158e1db,
type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2563419348715790888, guid: 565fc7bc07217ae439fa29f99158e1db,
type: 3}
propertyPath: m_SizeDelta.x
value: 325
objectReference: {fileID: 0}
- target: {fileID: 2563419348715790888, guid: 565fc7bc07217ae439fa29f99158e1db,
type: 3}
propertyPath: m_SizeDelta.y
value: 235
objectReference: {fileID: 0}
- target: {fileID: 2563419348715790888, guid: 565fc7bc07217ae439fa29f99158e1db,
type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2563419348715790888, guid: 565fc7bc07217ae439fa29f99158e1db,
type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2563419348715790888, guid: 565fc7bc07217ae439fa29f99158e1db,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2563419348715790888, guid: 565fc7bc07217ae439fa29f99158e1db,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2563419348715790888, guid: 565fc7bc07217ae439fa29f99158e1db,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2563419348715790888, guid: 565fc7bc07217ae439fa29f99158e1db,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2563419348715790888, guid: 565fc7bc07217ae439fa29f99158e1db,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2563419348715790888, guid: 565fc7bc07217ae439fa29f99158e1db,
type: 3}
propertyPath: m_AnchoredPosition.x
value: 296
objectReference: {fileID: 0}
- target: {fileID: 2563419348715790888, guid: 565fc7bc07217ae439fa29f99158e1db,
type: 3}
propertyPath: m_AnchoredPosition.y
value: -204.5
objectReference: {fileID: 0}
- target: {fileID: 2563419348715790888, guid: 565fc7bc07217ae439fa29f99158e1db,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2563419348715790888, guid: 565fc7bc07217ae439fa29f99158e1db,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 2563419348715790888, guid: 565fc7bc07217ae439fa29f99158e1db,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 565fc7bc07217ae439fa29f99158e1db, type: 3}
--- !u!224 &2501008 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 2563419348715790888, guid: 565fc7bc07217ae439fa29f99158e1db,
type: 3}
m_PrefabInstance: {fileID: 2501007}
m_PrefabAsset: {fileID: 0}
--- !u!4 &2605124 stripped --- !u!4 &2605124 stripped
Transform: Transform:
m_CorrespondingSourceObject: {fileID: 5833450743008650472, guid: 8a492aeaab6f6dc4d88a122eccfa8695, m_CorrespondingSourceObject: {fileID: 5833450743008650472, guid: 8a492aeaab6f6dc4d88a122eccfa8695,
@@ -90729,7 +90853,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 1 m_IsActive: 0
--- !u!4 &235211501 --- !u!4 &235211501
Transform: Transform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -270525,7 +270649,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 1 m_IsActive: 0
--- !u!4 &945947359 --- !u!4 &945947359
Transform: Transform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -423110,7 +423234,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 1 m_IsActive: 0
--- !u!4 &1542891890 --- !u!4 &1542891890
Transform: Transform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -505509,7 +505633,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 1 m_IsActive: 0
--- !u!4 &1860719522 --- !u!4 &1860719522
Transform: Transform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -577152,6 +577276,7 @@ RectTransform:
- {fileID: 6365052453720453628} - {fileID: 6365052453720453628}
- {fileID: 381335737} - {fileID: 381335737}
- {fileID: 1522602760} - {fileID: 1522602760}
- {fileID: 2501008}
- {fileID: 1675592997} - {fileID: 1675592997}
- {fileID: 906202995} - {fileID: 906202995}
- {fileID: 1073553747} - {fileID: 1073553747}
@@ -581470,6 +581595,21 @@ PrefabInstance:
propertyPath: runSpeed propertyPath: runSpeed
value: 3 value: 3
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 2795261250788500754, guid: e8aa14877be9b924882fcad9d88abe46,
type: 3}
propertyPath: nextPosition.x
value: -37.68501
objectReference: {fileID: 0}
- target: {fileID: 2795261250788500754, guid: e8aa14877be9b924882fcad9d88abe46,
type: 3}
propertyPath: nextPosition.y
value: 27
objectReference: {fileID: 0}
- target: {fileID: 2795261250788500754, guid: e8aa14877be9b924882fcad9d88abe46,
type: 3}
propertyPath: nextPosition.z
value: 29.89341
objectReference: {fileID: 0}
- target: {fileID: 3640034311448942995, guid: e8aa14877be9b924882fcad9d88abe46, - target: {fileID: 3640034311448942995, guid: e8aa14877be9b924882fcad9d88abe46,
type: 3} type: 3}
propertyPath: m_LocalPosition.x propertyPath: m_LocalPosition.x
@@ -583160,6 +583300,7 @@ MonoBehaviour:
panel_worktimeanalysis: {fileID: 0} panel_worktimeanalysis: {fileID: 0}
panel_injectionproduction: {fileID: 0} panel_injectionproduction: {fileID: 0}
panel_assemblyproduction: {fileID: 0} panel_assemblyproduction: {fileID: 0}
panel_minimap: {fileID: 0}
ui_workanalysis: {fileID: 0} ui_workanalysis: {fileID: 0}
panel_controlsetting: {fileID: 0} panel_controlsetting: {fileID: 0}
panel_protocolsetting: {fileID: 0} panel_protocolsetting: {fileID: 0}

View File

@@ -32,21 +32,18 @@ namespace CHN
var datamanager = FindSingle<DataManager>(); var datamanager = FindSingle<DataManager>();
var raycaster = FindSingle<CHNRaycaster>(); var raycaster = FindSingle<CHNRaycaster>();
//building.onSettingBuildingComplete += topCanvas.panel_toptoolbar.SetChangeViewState;
topCanvas.panel_toolbar.onClickDashBoard += popupCanvas.panel_dashboard.Open;
topCanvas.panel_toolbar.onClickCameraView += ChangeCameraView; topCanvas.panel_toolbar.onClickCameraView += ChangeCameraView;
topCanvas.panel_toolbar.onClickDashBoard += popupCanvas.panel_dashboard.Open;
topCanvas.panel_toolbar.onClickCustomView += controller.SaveTargetPosition;
topCanvas.panel_toolbar.onClickMiniMap += popupCanvas.panel_minimap.SetActive;
topCanvas.panel_toptoolbar.GetFloor = building.GetFloor; topCanvas.panel_toptoolbar.GetFloor = building.GetFloor;
//topCanvas.panel_toptoolbar.onChangeView += ChangeCameraView;
topCanvas.panel_toptoolbar.onClickAlarms += popupCanvas.panel_completealramhistory.SetActive; topCanvas.panel_toptoolbar.onClickAlarms += popupCanvas.panel_completealramhistory.SetActive;
topCanvas.panel_toptoolbar.onClickScreenInitialization += SceneReLoad; topCanvas.panel_toptoolbar.onClickScreenInitialization += SceneReLoad;
topCanvas.panel_toptoolbar.onClickProductionProgress += popupCanvas.panel_injectionproduction.Open; topCanvas.panel_toptoolbar.onClickProductionProgress += popupCanvas.panel_injectionproduction.Open;
topCanvas.panel_toptoolbar.onClickAssemblyProgress += popupCanvas.panel_assemblyproduction.Open; topCanvas.panel_toptoolbar.onClickAssemblyProgress += popupCanvas.panel_assemblyproduction.Open;
topCanvas.panel_toptoolbar.onClickSetting += popupCanvas.panel_menu.Open; topCanvas.panel_toptoolbar.onClickSetting += popupCanvas.panel_menu.Open;
topCanvas.panel_toolbar.onClickMiniMap += popupCanvas.panel_minimap.SetActive;
rightCanvas.panel_floorcontrol.onValueChanged += building.SetTopFloor; rightCanvas.panel_floorcontrol.onValueChanged += building.SetTopFloor;
rightCanvas.panel_floorcontrol.onValueChanged += popupCanvas.panel_minimap.ChangeMiniMapFloor; rightCanvas.panel_floorcontrol.onValueChanged += popupCanvas.panel_minimap.ChangeMiniMapFloor;
@@ -126,7 +123,9 @@ namespace CHN
} }
private void ChangeCameraView(ViewMode mode) private void ChangeCameraView(ViewMode mode)
{ {
controller.SetViewMode(mode); if (building.currentFloor.isEmptyFloor)
return;
switch (mode) switch (mode)
{ {
case ViewMode.PerspectiveView: case ViewMode.PerspectiveView:
@@ -136,14 +135,6 @@ namespace CHN
case ViewMode.FirstPersonView: case ViewMode.FirstPersonView:
building.SetCurrentFloorInternalState(); building.SetCurrentFloorInternalState();
var raycaster = FindSingle<CHNRaycaster>();
//if (raycaster.hitFloorIndex != building.currentFloor.floorIndex)
//{
// var slider = FindSingle<Canvas_Right>().panel_floorcontrol;
// slider.ChangeValueFromOutside(raycaster.hitFloorIndex);
//}
var pos = controller.option.target.position; var pos = controller.option.target.position;
if (building.currentFloor.FloorContainsPoint(pos)) if (building.currentFloor.FloorContainsPoint(pos))
@@ -154,6 +145,7 @@ namespace CHN
controller.nextPosition = startPos; controller.nextPosition = startPos;
break; break;
} }
controller.SetViewMode(mode);
} }
} }
} }

View File

@@ -27,6 +27,8 @@ public class Panel_ToolBar : PanelBase
public Action onClickDashBoard; public Action onClickDashBoard;
public Action<ViewMode> onClickCameraView; public Action<ViewMode> onClickCameraView;
public Action onClickCustomView;
public override void AfterAwake() public override void AfterAwake()
{ {
Button_TopView.onClick.AddListener(OnClickTopView); Button_TopView.onClick.AddListener(OnClickTopView);
@@ -123,7 +125,7 @@ public class Panel_ToolBar : PanelBase
private void OnClickCustomView() private void OnClickCustomView()
{ {
Debug.Log("CustomView"); onClickCustomView?.Invoke();
} }
private void OnClickDashBoard() private void OnClickDashBoard()

View File

@@ -30,10 +30,10 @@
"sttm": "0801", "sttm": "0801",
"totm": "", "totm": "",
"goaltime": "719", "goaltime": "719",
"ptotm": "2025-03-12 19:50:37", "ptotm": "2025-03-14 20:00:26",
"psttm": "2025-03-11 08:01:16" "psttm": "2025-03-11 08:01:16"
}, },
"isCheck": true "isCheck": false
}, },
{ {
"completeInfo": { "completeInfo": {
@@ -65,10 +65,10 @@
"sttm": "0801", "sttm": "0801",
"totm": "", "totm": "",
"goaltime": "718", "goaltime": "718",
"ptotm": "2025-03-12 19:49:40", "ptotm": "2025-03-14 20:00:04",
"psttm": "2025-03-11 08:01:21" "psttm": "2025-03-11 08:01:21"
}, },
"isCheck": true "isCheck": false
}, },
{ {
"completeInfo": { "completeInfo": {
@@ -100,10 +100,10 @@
"sttm": "0801", "sttm": "0801",
"totm": "", "totm": "",
"goaltime": "1439", "goaltime": "1439",
"ptotm": "2025-03-13 07:50:45", "ptotm": "2025-03-15 08:09:45",
"psttm": "2025-03-11 08:01:26" "psttm": "2025-03-11 08:01:26"
}, },
"isCheck": true "isCheck": false
}, },
{ {
"completeInfo": { "completeInfo": {
@@ -117,7 +117,7 @@
"worknm": "Injector No.04", "worknm": "Injector No.04",
"workseq": "1", "workseq": "1",
"status": "4", "status": "4",
"statusnm": "가동", "statusnm": "가동",
"itemcd": "00000", "itemcd": "00000",
"itemdesc": "계획정지", "itemdesc": "계획정지",
"pjtcd": "", "pjtcd": "",
@@ -135,10 +135,10 @@
"sttm": "0801", "sttm": "0801",
"totm": "", "totm": "",
"goaltime": "0", "goaltime": "0",
"ptotm": "2025-03-13 07:50:48", "ptotm": "2025-03-13 07:39:43",
"psttm": "2025-03-11 08:01:31" "psttm": "2025-03-11 08:01:31"
}, },
"isCheck": true "isCheck": false
}, },
{ {
"completeInfo": { "completeInfo": {
@@ -170,10 +170,10 @@
"sttm": "0801", "sttm": "0801",
"totm": "", "totm": "",
"goaltime": "1439", "goaltime": "1439",
"ptotm": "2025-03-13 07:50:51", "ptotm": "2025-03-15 08:14:31",
"psttm": "2025-03-11 08:01:52" "psttm": "2025-03-11 08:01:52"
}, },
"isCheck": true "isCheck": false
}, },
{ {
"completeInfo": { "completeInfo": {
@@ -205,10 +205,10 @@
"sttm": "0801", "sttm": "0801",
"totm": "", "totm": "",
"goaltime": "719", "goaltime": "719",
"ptotm": "2025-03-12 19:50:55", "ptotm": "2025-03-14 20:01:13",
"psttm": "2025-03-11 08:01:57" "psttm": "2025-03-11 08:01:57"
}, },
"isCheck": true "isCheck": false
}, },
{ {
"completeInfo": { "completeInfo": {
@@ -240,10 +240,10 @@
"sttm": "0802", "sttm": "0802",
"totm": "", "totm": "",
"goaltime": "718", "goaltime": "718",
"ptotm": "2025-03-12 19:49:58", "ptotm": "2025-03-13 19:37:52",
"psttm": "2025-03-11 08:02:03" "psttm": "2025-03-11 08:02:03"
}, },
"isCheck": true "isCheck": false
}, },
{ {
"completeInfo": { "completeInfo": {
@@ -257,7 +257,7 @@
"worknm": "Injector No.08", "worknm": "Injector No.08",
"workseq": "1", "workseq": "1",
"status": "1", "status": "1",
"statusnm": "가동중", "statusnm": "금형고장",
"itemcd": "WP135-GE200", "itemcd": "WP135-GE200",
"itemdesc": "INLET-TUBE ASSY W/P", "itemdesc": "INLET-TUBE ASSY W/P",
"pjtcd": "GME T4", "pjtcd": "GME T4",
@@ -275,10 +275,10 @@
"sttm": "0802", "sttm": "0802",
"totm": "", "totm": "",
"goaltime": "719", "goaltime": "719",
"ptotm": "2025-03-12 19:51:01", "ptotm": "2025-03-14 20:05:46",
"psttm": "2025-03-11 08:02:08" "psttm": "2025-03-11 08:02:08"
}, },
"isCheck": true "isCheck": false
}, },
{ {
"completeInfo": { "completeInfo": {
@@ -310,10 +310,10 @@
"sttm": "0802", "sttm": "0802",
"totm": "", "totm": "",
"goaltime": "1440", "goaltime": "1440",
"ptotm": "2025-03-13 07:51:08", "ptotm": "2025-03-15 08:02:41",
"psttm": "2025-03-11 08:02:14" "psttm": "2025-03-11 08:02:14"
}, },
"isCheck": true "isCheck": false
}, },
{ {
"completeInfo": { "completeInfo": {
@@ -345,10 +345,10 @@
"sttm": "0802", "sttm": "0802",
"totm": "", "totm": "",
"goaltime": "719", "goaltime": "719",
"ptotm": "2025-03-12 19:51:12", "ptotm": "2025-03-14 20:31:01",
"psttm": "2025-03-11 08:02:19" "psttm": "2025-03-11 08:02:19"
}, },
"isCheck": true "isCheck": false
}, },
{ {
"completeInfo": { "completeInfo": {
@@ -380,10 +380,10 @@
"sttm": "0802", "sttm": "0802",
"totm": "", "totm": "",
"goaltime": "1440", "goaltime": "1440",
"ptotm": "2025-03-13 07:52:15", "ptotm": "2025-03-15 08:59:50",
"psttm": "2025-03-11 08:02:23" "psttm": "2025-03-11 08:02:23"
}, },
"isCheck": true "isCheck": false
}, },
{ {
"completeInfo": { "completeInfo": {
@@ -415,7 +415,7 @@
"sttm": "0802", "sttm": "0802",
"totm": "", "totm": "",
"goaltime": "1439", "goaltime": "1439",
"ptotm": "2025-03-13 18:48:36", "ptotm": "2025-03-13 07:40:10",
"psttm": "2025-03-11 08:02:28" "psttm": "2025-03-11 08:02:28"
}, },
"isCheck": false "isCheck": false
@@ -450,10 +450,10 @@
"sttm": "0759", "sttm": "0759",
"totm": "", "totm": "",
"goaltime": "2879", "goaltime": "2879",
"ptotm": "2025-03-14 07:51:26", "ptotm": "2025-03-16 08:08:17",
"psttm": "2025-03-11 07:59:22" "psttm": "2025-03-11 07:59:22"
}, },
"isCheck": true "isCheck": false
}, },
{ {
"completeInfo": { "completeInfo": {
@@ -467,7 +467,7 @@
"worknm": "Injector No.14", "worknm": "Injector No.14",
"workseq": "1", "workseq": "1",
"status": "1", "status": "1",
"statusnm": "가동", "statusnm": "가동",
"itemcd": "24298741", "itemcd": "24298741",
"itemdesc": "BAFFLE ASM-FRT DIFF CARR", "itemdesc": "BAFFLE ASM-FRT DIFF CARR",
"pjtcd": "GF9", "pjtcd": "GF9",
@@ -485,7 +485,7 @@
"sttm": "0759", "sttm": "0759",
"totm": "", "totm": "",
"goaltime": "1439", "goaltime": "1439",
"ptotm": "2025-03-13 07:51:29", "ptotm": "2025-03-14 08:09:20",
"psttm": "2025-03-11 07:59:29" "psttm": "2025-03-11 07:59:29"
}, },
"isCheck": false "isCheck": false
@@ -520,7 +520,7 @@
"sttm": "0758", "sttm": "0758",
"totm": "", "totm": "",
"goaltime": "1439", "goaltime": "1439",
"ptotm": "2025-03-13 07:51:32", "ptotm": "2025-03-15 08:08:27",
"psttm": "2025-03-11 07:58:41" "psttm": "2025-03-11 07:58:41"
}, },
"isCheck": false "isCheck": false
@@ -537,7 +537,7 @@
"worknm": "Injector No.16", "worknm": "Injector No.16",
"workseq": "1", "workseq": "1",
"status": "4", "status": "4",
"statusnm": "비가동", "statusnm": "금형고장",
"itemcd": "24298739", "itemcd": "24298739",
"itemdesc": "BAFFLE ASM-FRT DIFF CARR", "itemdesc": "BAFFLE ASM-FRT DIFF CARR",
"pjtcd": "GF9", "pjtcd": "GF9",
@@ -555,10 +555,10 @@
"sttm": "0802", "sttm": "0802",
"totm": "", "totm": "",
"goaltime": "1440", "goaltime": "1440",
"ptotm": "2025-03-13 07:52:35", "ptotm": "2025-03-15 08:09:31",
"psttm": "2025-03-11 08:02:46" "psttm": "2025-03-11 08:02:46"
}, },
"isCheck": true "isCheck": false
}, },
{ {
"completeInfo": { "completeInfo": {
@@ -590,7 +590,7 @@
"sttm": "0755", "sttm": "0755",
"totm": "", "totm": "",
"goaltime": "1439", "goaltime": "1439",
"ptotm": "2025-03-13 07:51:38", "ptotm": "2025-03-15 08:08:35",
"psttm": "2025-03-11 07:55:32" "psttm": "2025-03-11 07:55:32"
}, },
"isCheck": false "isCheck": false
@@ -607,7 +607,7 @@
"worknm": "Injector No.18", "worknm": "Injector No.18",
"workseq": "1", "workseq": "1",
"status": "1", "status": "1",
"statusnm": "가동", "statusnm": "가동",
"itemcd": "12713791-1", "itemcd": "12713791-1",
"itemdesc": "INSULATOR-ENG FFRT CVR", "itemdesc": "INSULATOR-ENG FFRT CVR",
"pjtcd": "CSS PRIME", "pjtcd": "CSS PRIME",
@@ -625,7 +625,7 @@
"sttm": "0752", "sttm": "0752",
"totm": "", "totm": "",
"goaltime": "719", "goaltime": "719",
"ptotm": "2025-03-12 19:51:17", "ptotm": "2025-03-14 08:09:38",
"psttm": "2025-03-11 07:52:06" "psttm": "2025-03-11 07:52:06"
}, },
"isCheck": false "isCheck": false
@@ -660,7 +660,7 @@
"sttm": "0759", "sttm": "0759",
"totm": "", "totm": "",
"goaltime": "719", "goaltime": "719",
"ptotm": "2025-03-13 14:45:46", "ptotm": "2025-03-15 08:09:42",
"psttm": "2025-03-11 07:59:35" "psttm": "2025-03-11 07:59:35"
}, },
"isCheck": false "isCheck": false
@@ -695,7 +695,7 @@
"sttm": "0801", "sttm": "0801",
"totm": "", "totm": "",
"goaltime": "1439", "goaltime": "1439",
"ptotm": "2025-03-13 07:51:48", "ptotm": "2025-03-16 08:08:46",
"psttm": "2025-03-11 08:01:59" "psttm": "2025-03-11 08:01:59"
}, },
"isCheck": false "isCheck": false
@@ -730,7 +730,7 @@
"sttm": "0803", "sttm": "0803",
"totm": "", "totm": "",
"goaltime": "2880", "goaltime": "2880",
"ptotm": "2025-03-14 07:52:51", "ptotm": "2025-03-16 08:09:50",
"psttm": "2025-03-11 08:03:20" "psttm": "2025-03-11 08:03:20"
}, },
"isCheck": false "isCheck": false
@@ -765,7 +765,7 @@
"sttm": "0803", "sttm": "0803",
"totm": "", "totm": "",
"goaltime": "1439", "goaltime": "1439",
"ptotm": "2025-03-13 07:51:55", "ptotm": "2025-03-15 08:08:54",
"psttm": "2025-03-11 08:03:25" "psttm": "2025-03-11 08:03:25"
}, },
"isCheck": false "isCheck": false
@@ -800,7 +800,7 @@
"sttm": "0803", "sttm": "0803",
"totm": "", "totm": "",
"goaltime": "5759", "goaltime": "5759",
"ptotm": "2025-03-16 07:51:58", "ptotm": "2025-03-18 08:08:58",
"psttm": "2025-03-11 08:03:31" "psttm": "2025-03-11 08:03:31"
}, },
"isCheck": false "isCheck": false
@@ -817,7 +817,7 @@
"worknm": "Injector No.24", "worknm": "Injector No.24",
"workseq": "1", "workseq": "1",
"status": "1", "status": "1",
"statusnm": "가동", "statusnm": "가동",
"itemcd": "42824936", "itemcd": "42824936",
"itemdesc": "BRACKET-AUDIO PLYR & USB RCPT_FRT", "itemdesc": "BRACKET-AUDIO PLYR & USB RCPT_FRT",
"pjtcd": "GMI700", "pjtcd": "GMI700",
@@ -835,7 +835,7 @@
"sttm": "0802", "sttm": "0802",
"totm": "", "totm": "",
"goaltime": "1439", "goaltime": "1439",
"ptotm": "2025-03-13 07:52:01", "ptotm": "2025-03-14 08:10:02",
"psttm": "2025-03-11 08:02:57" "psttm": "2025-03-11 08:02:57"
}, },
"isCheck": false "isCheck": false
@@ -870,7 +870,7 @@
"sttm": "0759", "sttm": "0759",
"totm": "", "totm": "",
"goaltime": "1439", "goaltime": "1439",
"ptotm": "2025-03-13 07:52:08", "ptotm": "2025-03-15 08:09:08",
"psttm": "2025-03-11 07:59:58" "psttm": "2025-03-11 07:59:58"
}, },
"isCheck": false "isCheck": false
@@ -905,7 +905,7 @@
"sttm": "0758", "sttm": "0758",
"totm": "", "totm": "",
"goaltime": "529", "goaltime": "529",
"ptotm": "2025-03-12 16:28:50", "ptotm": "2025-03-14 16:42:23",
"psttm": "2025-03-11 07:58:55" "psttm": "2025-03-11 07:58:55"
}, },
"isCheck": false "isCheck": false
@@ -940,7 +940,7 @@
"sttm": "0759", "sttm": "0759",
"totm": "", "totm": "",
"goaltime": "691", "goaltime": "691",
"ptotm": "2025-03-12 19:31:02", "ptotm": "2025-03-14 16:49:05",
"psttm": "2025-03-11 07:59:45" "psttm": "2025-03-11 07:59:45"
}, },
"isCheck": false "isCheck": false
@@ -975,7 +975,7 @@
"sttm": "0805", "sttm": "0805",
"totm": "", "totm": "",
"goaltime": "531", "goaltime": "531",
"ptotm": "2025-03-12 16:50:17", "ptotm": "2025-03-14 16:49:02",
"psttm": "2025-03-11 08:05:32" "psttm": "2025-03-11 08:05:32"
}, },
"isCheck": false "isCheck": false
@@ -1010,7 +1010,7 @@
"sttm": "0807", "sttm": "0807",
"totm": "", "totm": "",
"goaltime": "0", "goaltime": "0",
"ptotm": "2025-03-12 07:55:25", "ptotm": "2025-03-14 07:55:27",
"psttm": "2025-03-11 08:07:16" "psttm": "2025-03-11 08:07:16"
}, },
"isCheck": false "isCheck": false
@@ -1045,7 +1045,7 @@
"sttm": "0811", "sttm": "0811",
"totm": "", "totm": "",
"goaltime": "529", "goaltime": "529",
"ptotm": "2025-03-12 16:49:00", "ptotm": "2025-03-14 16:48:20",
"psttm": "2025-03-11 08:11:13" "psttm": "2025-03-11 08:11:13"
}, },
"isCheck": false "isCheck": false
@@ -1080,7 +1080,7 @@
"sttm": "0759", "sttm": "0759",
"totm": "", "totm": "",
"goaltime": "346", "goaltime": "346",
"ptotm": "2025-03-12 13:45:05", "ptotm": "2025-03-14 13:45:07",
"psttm": "2025-03-11 07:59:16" "psttm": "2025-03-11 07:59:16"
}, },
"isCheck": false "isCheck": false
@@ -1115,7 +1115,7 @@
"sttm": "0759", "sttm": "0759",
"totm": "", "totm": "",
"goaltime": "380", "goaltime": "380",
"ptotm": "2025-03-12 14:19:43", "ptotm": "2025-03-14 14:19:23",
"psttm": "2025-03-11 07:59:41" "psttm": "2025-03-11 07:59:41"
}, },
"isCheck": false "isCheck": false
@@ -1150,7 +1150,7 @@
"sttm": "1330", "sttm": "1330",
"totm": "", "totm": "",
"goaltime": "250", "goaltime": "250",
"ptotm": "2025-03-12 16:38:38", "ptotm": "2025-03-14 16:52:41",
"psttm": "2025-03-11 13:30:48" "psttm": "2025-03-11 13:30:48"
}, },
"isCheck": false "isCheck": false
@@ -1185,7 +1185,7 @@
"sttm": "0759", "sttm": "0759",
"totm": "", "totm": "",
"goaltime": "530", "goaltime": "530",
"ptotm": "2025-03-12 16:46:29", "ptotm": "2025-03-14 16:48:34",
"psttm": "2025-03-11 07:59:23" "psttm": "2025-03-11 07:59:23"
}, },
"isCheck": false "isCheck": false
@@ -1220,7 +1220,7 @@
"sttm": "0744", "sttm": "0744",
"totm": "", "totm": "",
"goaltime": "307", "goaltime": "307",
"ptotm": "2025-03-12 12:51:31", "ptotm": "2025-03-14 12:52:17",
"psttm": "2025-03-11 07:44:47" "psttm": "2025-03-11 07:44:47"
}, },
"isCheck": false "isCheck": false
@@ -1255,7 +1255,7 @@
"sttm": "0757", "sttm": "0757",
"totm": "", "totm": "",
"goaltime": "538", "goaltime": "538",
"ptotm": "2025-03-12 16:56:07", "ptotm": "2025-03-14 16:58:11",
"psttm": "2025-03-11 07:57:33" "psttm": "2025-03-11 07:57:33"
}, },
"isCheck": false "isCheck": false
@@ -1272,7 +1272,7 @@
"worknm": "INSULATOR-ENG FFRT CVR", "worknm": "INSULATOR-ENG FFRT CVR",
"workseq": "1", "workseq": "1",
"status": "4", "status": "4",
"statusnm": "가동중", "statusnm": "계획정지",
"itemcd": "12713791", "itemcd": "12713791",
"itemdesc": "INSULATOR-ENG FFRT CVR", "itemdesc": "INSULATOR-ENG FFRT CVR",
"pjtcd": "CSS PRIME", "pjtcd": "CSS PRIME",
@@ -1290,7 +1290,7 @@
"sttm": "0807", "sttm": "0807",
"totm": "", "totm": "",
"goaltime": "543", "goaltime": "543",
"ptotm": "2025-03-12 17:04:10", "ptotm": "2025-03-14 07:59:55",
"psttm": "2025-03-11 08:07:48" "psttm": "2025-03-11 08:07:48"
}, },
"isCheck": false "isCheck": false
@@ -1325,7 +1325,7 @@
"sttm": "0748", "sttm": "0748",
"totm": "", "totm": "",
"goaltime": "0", "goaltime": "0",
"ptotm": "2025-03-12 07:50:48", "ptotm": "2025-03-14 08:06:00",
"psttm": "2025-03-11 07:48:50" "psttm": "2025-03-11 07:48:50"
}, },
"isCheck": false "isCheck": false
@@ -1360,7 +1360,7 @@
"sttm": "0748", "sttm": "0748",
"totm": "", "totm": "",
"goaltime": "606", "goaltime": "606",
"ptotm": "2025-03-12 17:59:20", "ptotm": "2025-03-14 17:59:00",
"psttm": "2025-03-11 07:48:39" "psttm": "2025-03-11 07:48:39"
}, },
"isCheck": false "isCheck": false
@@ -1395,7 +1395,7 @@
"sttm": "0759", "sttm": "0759",
"totm": "", "totm": "",
"goaltime": "560", "goaltime": "560",
"ptotm": "2025-03-12 17:20:22", "ptotm": "2025-03-14 17:41:06",
"psttm": "2025-03-11 07:59:34" "psttm": "2025-03-11 07:59:34"
}, },
"isCheck": false "isCheck": false
@@ -1430,7 +1430,7 @@
"sttm": "0757", "sttm": "0757",
"totm": "", "totm": "",
"goaltime": "199", "goaltime": "199",
"ptotm": "2025-03-12 17:18:39", "ptotm": "2025-03-14 09:54:55",
"psttm": "2025-03-11 07:57:03" "psttm": "2025-03-11 07:57:03"
}, },
"isCheck": false "isCheck": false
@@ -1535,7 +1535,7 @@
"sttm": "0800", "sttm": "0800",
"totm": "", "totm": "",
"goaltime": "426", "goaltime": "426",
"ptotm": "2025-03-12 15:02:14", "ptotm": "2025-03-14 13:00:51",
"psttm": "2025-03-11 08:00:30" "psttm": "2025-03-11 08:00:30"
}, },
"isCheck": false "isCheck": false
@@ -1570,7 +1570,7 @@
"sttm": "0754", "sttm": "0754",
"totm": "", "totm": "",
"goaltime": "423", "goaltime": "423",
"ptotm": "2025-03-12 14:57:31", "ptotm": "2025-03-14 14:56:26",
"psttm": "2025-03-11 07:54:07" "psttm": "2025-03-11 07:54:07"
}, },
"isCheck": false "isCheck": false
@@ -1605,7 +1605,7 @@
"sttm": "0759", "sttm": "0759",
"totm": "", "totm": "",
"goaltime": "439", "goaltime": "439",
"ptotm": "2025-03-12 15:17:35", "ptotm": "2025-03-14 15:17:31",
"psttm": "2025-03-11 07:59:05" "psttm": "2025-03-11 07:59:05"
}, },
"isCheck": false "isCheck": false
@@ -1640,7 +1640,7 @@
"sttm": "1538", "sttm": "1538",
"totm": "", "totm": "",
"goaltime": "159", "goaltime": "159",
"ptotm": "2025-03-12 14:06:50", "ptotm": "2025-03-14 09:45:34",
"psttm": "2025-03-11 15:38:55" "psttm": "2025-03-11 15:38:55"
}, },
"isCheck": false "isCheck": false
@@ -1675,7 +1675,7 @@
"sttm": "0758", "sttm": "0758",
"totm": "", "totm": "",
"goaltime": "439", "goaltime": "439",
"ptotm": "2025-03-12 15:17:05", "ptotm": "2025-03-14 15:17:21",
"psttm": "2025-03-12 07:58:05" "psttm": "2025-03-12 07:58:05"
}, },
"isCheck": false "isCheck": false
@@ -1710,7 +1710,7 @@
"sttm": "0757", "sttm": "0757",
"totm": "", "totm": "",
"goaltime": "706", "goaltime": "706",
"ptotm": "2025-03-12 19:43:02", "ptotm": "2025-03-13 19:38:21",
"psttm": "2025-03-12 07:57:02" "psttm": "2025-03-12 07:57:02"
}, },
"isCheck": false "isCheck": false
@@ -1745,7 +1745,7 @@
"sttm": "1524", "sttm": "1524",
"totm": "", "totm": "",
"goaltime": "91", "goaltime": "91",
"ptotm": "2025-03-12 16:55:58", "ptotm": "2025-03-14 15:07:13",
"psttm": "2025-03-12 15:24:58" "psttm": "2025-03-12 15:24:58"
}, },
"isCheck": false "isCheck": false