Files
ChunilENG/Assets/WorkSpace/Personal/JYM/UI_MachineKPI.cs

90 lines
2.3 KiB
C#
Raw Normal View History

2025-02-20 09:59:37 +09:00
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;
using UnityEngine.EventSystems;
using WI;
2025-02-25 10:23:33 +09:00
using System;
using static MQTT;
using CHN;
2025-02-20 09:59:37 +09:00
2025-02-25 10:23:33 +09:00
public class UI_MachineKPI : UIBase, IPointerClickHandler
2025-02-20 09:59:37 +09:00
{
public SimpleField data;
public CompleteInfo completeInfoData;
2025-02-25 10:23:33 +09:00
public RectTransform DefaultKPI;
public RectTransform DetailsKPI;
2025-04-01 13:47:45 +09:00
private TextMeshProUGUI Default_machineName;
private TextMeshProUGUI Details_machineName;
2025-02-25 10:23:33 +09:00
private TextMeshProUGUI Default_eorate;
private TextMeshProUGUI Details_eorate;
private TextMeshProUGUI porate;
private TextMeshProUGUI goodqtyrate;
2025-02-20 09:59:37 +09:00
public bool isExpand;
2025-02-25 10:23:33 +09:00
private float eorate;
public Action<UI_MachineKPI> onClickKPI;
public void SetData(SimpleField data)
2025-02-20 09:59:37 +09:00
{
this.data = data;
SetKPIData(data.kpiDataInfo);
SetMQTTData(data.machineInfo);
2025-04-01 13:47:45 +09:00
DetailsKPI.gameObject.SetActive(false);
}
private void SetKPIData(UsageKPIData kpiData)
{
eorate = DecimalPointCalculate(data.kpiDataInfo.eorate);
2025-04-01 13:47:45 +09:00
Default_eorate.SetText(eorate.ToString() + "%");
Details_eorate.SetText(eorate.ToString() + "%");
2025-02-20 09:59:37 +09:00
goodqtyrate.SetText(DecimalPointCalculate(data.kpiDataInfo.goodqtyrate).ToString());
porate.SetText(DecimalPointCalculate(data.kpiDataInfo.porate).ToString());
}
private bool CheckDataExists(string value)
{
if(value == null)
{
return false;
}
return true;
}
public void SetMQTTData(UsageMQTTData mqttData)
{
Default_machineName.SetText(mqttData.worknm);
Details_machineName.SetText(mqttData.worknm);
2025-02-20 09:59:37 +09:00
}
private float DecimalPointCalculate(string value)
{
if (!CheckDataExists(value))
{
return 0f;
}
2025-02-20 09:59:37 +09:00
var originFloatValue = float.Parse(value);
2025-04-01 13:47:45 +09:00
var floatValue = Mathf.Round(originFloatValue * 10f) / 10f;
2025-02-20 09:59:37 +09:00
return floatValue;
}
2025-02-25 10:23:33 +09:00
public void OnPointerClick(PointerEventData eventData)
{
onClickKPI?.Invoke(this);
}
2025-02-25 10:23:33 +09:00
public void Active()
2025-02-20 09:59:37 +09:00
{
2025-02-25 10:23:33 +09:00
gameObject.SetActive(true);
2025-02-20 09:59:37 +09:00
}
2025-02-25 10:23:33 +09:00
public void Deactive()
2025-03-12 14:57:35 +09:00
{
2025-02-25 10:45:32 +09:00
DefaultKPI.gameObject.SetActive(true);
DetailsKPI.gameObject.SetActive(false);
isExpand = false;
2025-02-25 10:23:33 +09:00
gameObject.SetActive(false);
2025-02-20 09:59:37 +09:00
}
2025-02-25 10:23:33 +09:00
}