Kaynağa Gözat

修改CHART照時間排序 TRY_CONVERT

manto07m 3 yıl önce
ebeveyn
işleme
9ad5cbc8e4
2 değiştirilmiş dosya ile 11 ekleme ve 10 silme
  1. 8 7
      script/php/get_abnormal.php
  2. 3 3
      script/php/get_monitor_chart.php

+ 8 - 7
script/php/get_abnormal.php

@@ -17,8 +17,8 @@ switch ($type) {
     case "SID":
         $sql = "SELECT [EquipmentID] FROM [BIMMonitor].[dbo].[{$type}_Data]
         WHERE [WarningValue] <> 'NULL' AND [{$type}_Data].[Date] = (SELECT TOP 1 [{$type}_Data].[Date] FROM [{$type}_Data] GROUP BY [Date]  ORDER BY [Date] desc)
-        AND (convert(float,[TotalDisplacement]) > convert(float,(SELECT TOP 1 RIGHT([WarningValue], len([WarningValue])-1) FROM [{$type}_Data] WHERE [WarningValue] <> 'NULL'))
-        OR convert(float,[TotalDisplacement]) < -convert(float,(SELECT TOP 1 RIGHT([WarningValue], len([WarningValue])-1) FROM [{$type}_Data] WHERE [WarningValue] <> 'NULL')))
+        AND (try_convert(float,[TotalDisplacement]) > try_convert(float,(SELECT TOP 1 RIGHT([WarningValue], len([WarningValue])-1) FROM [{$type}_Data] WHERE [WarningValue] <> 'NULL'))
+        OR try_convert(float,[TotalDisplacement]) < -try_convert(float,(SELECT TOP 1 RIGHT([WarningValue], len([WarningValue])-1) FROM [{$type}_Data] WHERE [WarningValue] <> 'NULL')))
         GROUP BY [EquipmentID]";
         break;
 
@@ -26,26 +26,27 @@ switch ($type) {
         $sql = "SELECT [EquipmentID]
         FROM [BIMMonitor].[dbo].[TI_Data]
         WHERE [TI_Data].[Date] = (SELECT TOP 1 [TI_Data].[Date] FROM [TI_Data] GROUP BY [Date]  ORDER BY [Date] desc)
-        AND (convert(float,[TotalTilt]) > 264 OR convert(float,[TotalTilt]) < -264 ) GROUP BY [EquipmentID]";
+        AND [TotalTilt] <> null
+        AND (try_convert(float,[TotalTilt]) > 264 OR try_convert(float,[TotalTilt]) < -264 ) GROUP BY [EquipmentID]";
         break;
 
     case "SB":
         $sql = "SELECT [SB_Data].[EquipmentID]
         FROM [SB_Data] JOIN [SB_Warning] ON  [SB_Data].[EquipmentID] = [SB_Warning].[EquipmentID] 
         WHERE [SB_Data].[Date] = (SELECT TOP 1 [SB_Data].[Date] FROM [SB_Data] GROUP BY [Date]  ORDER BY [Date] desc)
-        AND (convert(float,[TotalSettlement]) > convert(float,(SELECT TOP 1 RIGHT([WarningValue], len([WarningValue])-1) FROM [SB_Warning]))
-        OR convert(float,[TotalSettlement]) < -convert(float,(SELECT TOP 1 RIGHT([WarningValue], len([WarningValue])-1) FROM [SB_Warning])))";
+        AND (try_convert(float,[TotalSettlement]) > try_convert(float,(SELECT TOP 1 RIGHT([WarningValue], len([WarningValue])-1) FROM [SB_Warning]))
+        OR try_convert(float,[TotalSettlement]) < -try_convert(float,(SELECT TOP 1 RIGHT([WarningValue], len([WarningValue])-1) FROM [SB_Warning])))";
         break;
 
     case "SM":
         $sql = "SELECT [EquipmentID] FROM [SM_Data]
         WHERE [SM_Data].[Date] = (SELECT TOP 1 [SM_Data].[Date] FROM [SM_Data] GROUP BY [Date]  ORDER BY [Date] desc)
-        AND (convert(float,[TotalSettlement]) > 30 OR convert(float,[TotalSettlement]) < -30 ) GROUP BY [EquipmentID]";
+        AND (try_convert(float,[TotalSettlement]) > 30 OR try_convert(float,[TotalSettlement]) < -30 ) GROUP BY [EquipmentID]";
         break;
     case "SP":
         $sql = "SELECT [EquipmentID] FROM [SP_Data]
         WHERE [SP_Data].[Date] = (SELECT TOP 1 [SP_Data].[Date] FROM [SP_Data] GROUP BY [Date]  ORDER BY [Date] desc)
-        AND (convert(float,[WaterPressure]) > (SELECT TOP 1 [HighWarningValue] FROM [SP_Warning]) OR convert(float,[WaterPressure]) < (SELECT TOP 1 [LowWarningValue] FROM [SP_Warning]) )
+        AND (try_convert(float,[WaterPressure]) > (SELECT TOP 1 [HighWarningValue] FROM [SP_Warning]) OR try_convert(float,[WaterPressure]) < (SELECT TOP 1 [LowWarningValue] FROM [SP_Warning]) )
         AND [WaterPressure] NOT like '%--%' GROUP BY [EquipmentID];";
         break;
 }

+ 3 - 3
script/php/get_monitor_chart.php

@@ -57,18 +57,18 @@ switch ($type) {
     case "SB":
         $sql = "SELECT [SB_Data].[Date], [TotalSettlement], [WarningValue], [ActionValue]
         FROM [SB_Data] JOIN [SB_Warning] ON  [SB_Data].[EquipmentID] = [SB_Warning].[EquipmentID]
-        WHERE [SB_Data].[EquipmentID] = '{$monitor}';";
+        WHERE [SB_Data].[EquipmentID] = '{$monitor}' ORDER BY [Date] asc;";
         break;
 
     case "SM":
         $sql = "SELECT [Date], [TotalSettlement], '±30' AS [WarningValue], '±50' AS [ActionValue]
         FROM [SM_Data]
-        WHERE [EquipmentID] = '{$monitor}';";
+        WHERE [EquipmentID] = '{$monitor}' ORDER BY [Date] asc;";
         break;
     case "SP":
         $sql = "SELECT [SP_Data].[Date], [WaterPressure], [HighWarningValue], [LowWarningValue],[HighActionValue],[LowActionValue]
         FROM [SP_Data] JOIN [SP_Warning] ON  [SP_Data].[EquipmentID] = [SP_Warning].[EquipmentID]
-        WHERE [SP_Data].[EquipmentID] = '{$monitor}';";
+        WHERE [SP_Data].[EquipmentID] = '{$monitor}' ORDER BY [Date] asc;";
         break;
 }