SingleDeviceManager.cs 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using LitJson;
  5. using UnityEngine;
  6. using UnityEngine.UI;
  7. using XCharts.Runtime;
  8. using static Manager;
  9. public class SingleDeviceManager : MonoBehaviour
  10. {
  11. public DataTypeManager dtm;
  12. public Text jdanRi;
  13. public LineChart yueChart;
  14. public LineChart zhouChart;
  15. public Text type;
  16. public Text ID ;
  17. public Text PLC;
  18. public Text fangan;
  19. public Text inarea;
  20. public Text installDate;
  21. public List<GameObject> gnxz;
  22. public Text gn;
  23. DeMaConfig.windowItemGameObject.TaskItem Item;
  24. public void setInfo(DeMaConfig.windowItemGameObject.TaskItem taskItem)
  25. {
  26. Item=taskItem;
  27. type.text = taskItem.type.ToString();
  28. ID.text = taskItem.ID;
  29. PLC.text = taskItem.PLC;
  30. fangan.text = taskItem.fangan;
  31. inarea.text = taskItem.inarea;
  32. installDate.text = taskItem.installDate;
  33. gn.text = taskItem.gn;
  34. for (int i = 0;i<gnxz.Count;i++)
  35. {
  36. gnxz[i].SetActive(false);
  37. }
  38. DeMaDataManager.Instance.GetDeviceStatus(taskItem.ID,(msg)=>{
  39. gnxz[int.Parse(msg["data"]["status"].ToString())-1].SetActive(true);
  40. });
  41. jdanRi.text =DateTime.Now.ToString("yyyy'年'M'月'd'日'");
  42. danri();
  43. }
  44. public void monthyun(DeMaConfig.windowItemGameObject.TaskItem taskItem,long timestamp )
  45. {
  46. DeMaDataManager.Instance.GetDeviceOperatingRatio(taskItem.ID,"month",timestamp,(msg)=>{
  47. LineChartData data = new LineChartData();
  48. data.xdata = new List<string>();
  49. data.sdata = new List<LineChartSeriesData>();
  50. LineChartSeriesData lc = new LineChartSeriesData();
  51. lc.name = "运行率(%)";
  52. lc.values = new List<double>();
  53. for (int i = 0;i<msg["data"]["list"].Count;i++)
  54. {
  55. data.xdata.Add(DeMaDataManager.changedate(msg["data"]["list"][i]["date"].ToString(),1));
  56. lc.values.Add(double.Parse(msg["data"]["list"][i]["value"].ToString())*100);
  57. }
  58. data.sdata.Add(lc);
  59. setLineData(yueChart, data);
  60. });
  61. }
  62. public void zhouyun(DeMaConfig.windowItemGameObject.TaskItem taskItem,long timestamp )
  63. {
  64. DeMaDataManager.Instance.GetDeviceOperatingRatio(taskItem.ID,"week",timestamp,(msg)=>{
  65. LineChartData data = new LineChartData();
  66. data.xdata = new List<string>();
  67. data.sdata = new List<LineChartSeriesData>();
  68. LineChartSeriesData lc = new LineChartSeriesData();
  69. lc.name = "运行率(%)";
  70. lc.values = new List<double>();
  71. for (int i = 0;i<msg["data"]["list"].Count;i++)
  72. {
  73. data.xdata.Add(DeMaDataManager.changedate(msg["data"]["list"][i]["date"].ToString(),1));
  74. lc.values.Add(double.Parse(msg["data"]["list"][i]["value"].ToString())*100);
  75. }
  76. data.sdata.Add(lc);
  77. setLineData(zhouChart, data);
  78. });
  79. }
  80. IEnumerator chooseday()
  81. {
  82. yield return new WaitForSeconds(0.2f);
  83. string dateString = jdanRi.text;
  84. Debug.Log("chooseYanChi===>"+jdanRi.text);
  85. DateTime dateTime = DateTime.Parse(dateString);
  86. long timestamp = ((DateTimeOffset)dateTime).ToUnixTimeSeconds();
  87. Debug.Log("Timestamp: " + timestamp);
  88. DeMaDataManager.Instance.GetDeviceOperatingRatio(Item.ID,"day",timestamp,(msg)=>{
  89. JsonData data=new JsonData();
  90. data["value"] = msg["data"]["list"];
  91. data["ratio"] = msg["data"]["ratio"];
  92. data["valueTime"] = jdanRi.text;
  93. dtm.init(data);
  94. });
  95. monthyun(Item,timestamp);
  96. zhouyun(Item,timestamp);
  97. }
  98. public void danri()
  99. {
  100. StartCoroutine(chooseday());
  101. }
  102. }