Przeglądaj źródła

修改设备趋势图补充数据

Void_F 1 miesiąc temu
rodzic
commit
c17dd798de

+ 4 - 82
Assets/Prefabs/UI/Item/DeviceTrendPanel.prefab

@@ -4658,86 +4658,6 @@ MonoBehaviour:
     m_VerticalOverflow: 0
     m_LineSpacing: 1
   m_Text: "{name} {typeText}\u8D8B\u52BF"
---- !u!1 &2845508962571568886
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 6431474883837319482}
-  - component: {fileID: 1545538043478334855}
-  - component: {fileID: 2626584637427166450}
-  m_Layer: 5
-  m_Name: dangqian
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!224 &6431474883837319482
-RectTransform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 2845508962571568886}
-  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
-  m_LocalPosition: {x: 0, y: 0, z: 0}
-  m_LocalScale: {x: 1, y: 1, z: 1}
-  m_ConstrainProportionsScale: 0
-  m_Children: []
-  m_Father: {fileID: 6257576465098656461}
-  m_RootOrder: 17
-  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 0, y: 1}
-  m_AnchorMax: {x: 0, y: 1}
-  m_AnchoredPosition: {x: 591.64996, y: -558}
-  m_SizeDelta: {x: 315.3, y: 20}
-  m_Pivot: {x: 0.5, y: 0.5}
---- !u!222 &1545538043478334855
-CanvasRenderer:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 2845508962571568886}
-  m_CullTransparentMesh: 1
---- !u!114 &2626584637427166450
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 2845508962571568886}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  m_Material: {fileID: 0}
-  m_Color: {r: 1, g: 1, b: 1, a: 1}
-  m_RaycastTarget: 0
-  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
-  m_Maskable: 1
-  m_OnCullStateChanged:
-    m_PersistentCalls:
-      m_Calls: []
-  m_FontData:
-    m_Font: {fileID: 12800000, guid: 85c13d115126ca04ca985ec0156f4c61, type: 3}
-    m_FontSize: 12
-    m_FontStyle: 0
-    m_BestFit: 0
-    m_MinSize: 1
-    m_MaxSize: 40
-    m_Alignment: 0
-    m_AlignByGeometry: 0
-    m_RichText: 1
-    m_HorizontalOverflow: 0
-    m_VerticalOverflow: 0
-    m_LineSpacing: 1
-  m_Text: "\u5F53\u524D\u53D8\u5316\u91CF"
 --- !u!1 &2864700426642956980
 GameObject:
   m_ObjectHideFlags: 0
@@ -7589,7 +7509,7 @@ MonoBehaviour:
     m_HorizontalOverflow: 0
     m_VerticalOverflow: 0
     m_LineSpacing: 1
-  m_Text: "\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7\u8BC4\u4EF7"
+  m_Text: "\u622A\u81F3\u5230\uFF08\u6240\u9009\u65F6\u95F4\u6700\u540E\u4E00\u4E2A\u65E5\u671F\uFF09\u6B62\uFF0C\u7AD9\u70B9\u540D\u79F0\uFF08\u8865\u5143\u9000\u6D2A\u95F8/\u5957\u53E3\u8FDB\u6D2A\u95F8\uFF09\u7684\uFF08\u8BBE\u5907\u7C7B\u578B\u540D\u79F0\uFF09\u7684\u7D2F\u8BA1\u53D8\u5316\u91CF\u4E3A\u591A\u5C11\u5230\u591A\u5C11\u4E4B\u95F4\uFF0C\u8303\u56F4\u53D8\u5316\u91CF\u5728\u591A\u5C11\u5230\u591A\u5C11\u4E4B\u95F4\u3002"
 --- !u!1 &4568764917025051960
 GameObject:
   m_ObjectHideFlags: 0
@@ -13245,7 +13165,6 @@ RectTransform:
   - {fileID: 8622678057564229652}
   - {fileID: 6285413237844976435}
   - {fileID: 3067967685195238411}
-  - {fileID: 6431474883837319482}
   m_Father: {fileID: 0}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -13397,6 +13316,9 @@ MonoBehaviour:
   _sid: 
   _gid: 
   dataName: 
+  fanweiText: {fileID: 4623930614175673482}
+  leijiText: {fileID: 8353876538151988}
+  pingjiaText: {fileID: 1801505822842223615}
 --- !u!114 &3625818943544334629
 MonoBehaviour:
   m_ObjectHideFlags: 0

+ 83 - 1
Assets/Scripts/UI/UIView/GCJK/DeviceTrendPanel.cs

@@ -36,6 +36,13 @@ public class DeviceTrendPanel : MonoBehaviour
 
     public string dataName;
     
+    private GongChengType currentGongChengType;
+
+    public Text fanweiText;
+    public Text leijiText;
+    public Text pingjiaText;
+    
+
     private void Awake()
     {
         rect = this.GetComponent<RectTransform>();
@@ -98,6 +105,76 @@ public class DeviceTrendPanel : MonoBehaviour
         }
     }
 
+    public async void SetPingJiaText(string valueType)
+    {
+      
+        var ids=GCJKLayer._Instance.GetAllDevicesOfType_id(currentGongChengType);
+
+        List<float> rangeValues = new List<float>();
+        List<float> currentValues = new List<float>();
+        for (int i = 0; i < ids.Count; i++)
+        {
+            string getJsonStr =
+                await HttpHelper._Instance.GetDeviceTrend(currentType, _gid, _sid, startDateStr, endDateStr);
+            DeviceTrendRequest requestData = JsonConvert.DeserializeObject<DeviceTrendRequest>(getJsonStr);
+            if (requestData is { data: { Length: > 0 } })
+            {
+                float.TryParse(requestData.data[0].r1,out var valueS);
+                float.TryParse(requestData.data[^1].r1,out var valueE);
+                rangeValues.Add(valueS-valueE);
+                currentValues.Add(valueE);
+            }
+        }
+        rangeValues.Sort();
+        currentValues.Sort();
+        
+        string deviceTypeName = "";
+        switch (currentGongChengType)
+        {
+            case GongChengType.shuiWei:
+                deviceTypeName = "水位计";
+                break;
+            case GongChengType.shenYaJi:
+                deviceTypeName = "渗压计";
+                break;
+            case GongChengType.jingLiShuiZhunYi:
+                deviceTypeName = "静力水准仪";
+                break;
+            case GongChengType.wenDu:
+                deviceTypeName = "温度";
+                break;
+            case GongChengType.yinZhangXianYi:
+                deviceTypeName = "引张线仪";
+                break;
+            case GongChengType.chuiXianZuoBiaoYi:
+                deviceTypeName = "垂线坐标仪";
+                break;
+            case GongChengType.tuYaLiJi:
+                deviceTypeName = "土压力计";
+                break;
+            case GongChengType.yingLiJi:
+                deviceTypeName = "应力计";
+                break;
+            case GongChengType.sanXiangWeiCuoJi:
+                deviceTypeName = "三向位错计";
+                break;
+            case GongChengType.erXiangCeFengJi:
+                deviceTypeName = "二向测缝计";
+                break;
+            case GongChengType.weiYiJi:
+                deviceTypeName = "位移计";
+                break;
+        }
+
+        fanweiText.text = rangeValues.Count > 1 ? $"{rangeValues[0]}<color=#A5BFE2>~</color>{rangeValues[^1]} {valueType}" : "-<color=#A5BFE2>~</color>-";
+        leijiText.text = currentValues.Count > 1 ? $"{currentValues[0]}<color=#A5BFE2>~</color>{currentValues[^1]} {valueType}" : "-<color=#A5BFE2>~</color>-";
+        string leijiMin = currentValues.Count > 1 ? currentValues[0].ToString(CultureInfo.InvariantCulture) : "-";
+        string leijiMax = currentValues.Count > 1 ? currentValues[^1].ToString(CultureInfo.InvariantCulture) : "-";
+        string fanweiMin = rangeValues.Count > 1 ? rangeValues[0].ToString(CultureInfo.InvariantCulture) : "-";
+        string fanweiMax = rangeValues.Count > 1 ? rangeValues[^1].ToString(CultureInfo.InvariantCulture) : "-";
+        pingjiaText.text = $"截至到{endDateStr}止,{(currentType==0?"补元退洪闸":"套口进洪闸")}的{deviceTypeName}的累计变化量为{leijiMin}到{leijiMax}{valueType}之间,范围变化量在{fanweiMin}到{fanweiMax}{valueType}之间。";
+    }
+
     public void OnDrag()
     {
         var mousePos = Input.mousePosition;
@@ -113,7 +190,6 @@ public class DeviceTrendPanel : MonoBehaviour
         GetTrend(getJsonStr);
     }
 
-    private GongChengType currentGongChengType;
     
     public async Task Show(string _name, GongChengType type, string gid, string sid)
     {
@@ -187,6 +263,9 @@ public class DeviceTrendPanel : MonoBehaviour
     /// </summary>
     public void GetTrend(string jsonStr)
     {
+        pingjiaText.text = "...";
+        fanweiText.text = "-<color=#A5BFE2>~</color>-";
+        leijiText.text = "-<color=#A5BFE2>~</color>-";
         try
         {
             Debug.Log("GetTrend requestData:" + jsonStr);
@@ -269,12 +348,15 @@ public class DeviceTrendPanel : MonoBehaviour
             tempSeries[0].data.Clear();
             tempSeries[0].data.AddRange(tempDatas);
             StartCoroutine(CreatList(requestData,typeText));
+            
+            SetPingJiaText(typeText);
         }
         catch (Exception e)
         {
             Debug.LogError(e.ToString());
             throw;
         }
+
     }
 
     IEnumerator CreatList(DeviceTrendRequest deviceData,string unit)

+ 13 - 0
Assets/Scripts/UI/UIView/GCJK/GCJKLayer.cs

@@ -1305,6 +1305,19 @@ public class GCJKLayer : YZTRootLayer
         }
     }
 
+    public List<string[]> GetAllDevicesOfType_id(GongChengType type)
+    {
+        List<string[]> result = new List<string[]>();
+        for (int i = 0; i < _DevivesDatas.Count; i++)
+        {
+            if (_DevivesDatas[i].type == type)
+            {
+                result.Add(new []{_DevivesDatas[i].gid,_DevivesDatas[i].sid});      
+            }
+        }
+        return result;
+    }
+
     Dictionary<string, bool> BYObsUseLib = new Dictionary<string, bool>();
     Dictionary<string, bool> TKObsUseLib = new Dictionary<string, bool>();