get_abnormal.php 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. include("./connect_sql.php");
  3. $json = file_get_contents('../../r03/equipment_list.json');
  4. $equipment_list = json_decode($json, true);
  5. $type = "";
  6. $normal_count = 0;
  7. $abnormal_count = 0;
  8. $ajax = [];
  9. $wellTBA = [];
  10. if (isset($_GET["type"])) {
  11. $type = $_GET["type"];
  12. }
  13. switch ($type) {
  14. case "SIS":
  15. case "SID":
  16. $sql = "SELECT [EquipmentID] FROM [BIMMonitor].[dbo].[{$type}_Data]
  17. WHERE [WarningValue] <> 'NULL' AND [{$type}_Data].[Date] = (SELECT TOP 1 [{$type}_Data].[Date] FROM [{$type}_Data] GROUP BY [Date] ORDER BY [Date] desc)
  18. AND (convert(float,[TotalDisplacement]) > convert(float,(SELECT TOP 1 RIGHT([WarningValue], len([WarningValue])-1) FROM [{$type}_Data] WHERE [WarningValue] <> 'NULL'))
  19. OR convert(float,[TotalDisplacement]) < -convert(float,(SELECT TOP 1 RIGHT([WarningValue], len([WarningValue])-1) FROM [{$type}_Data] WHERE [WarningValue] <> 'NULL')))
  20. GROUP BY [EquipmentID]";
  21. break;
  22. case "TI":
  23. $sql = "SELECT [EquipmentID]
  24. FROM [BIMMonitor].[dbo].[TI_Data]
  25. WHERE [TI_Data].[Date] = (SELECT TOP 1 [TI_Data].[Date] FROM [TI_Data] GROUP BY [Date] ORDER BY [Date] desc)
  26. AND (convert(float,[TotalTilt]) > 264 OR convert(float,[TotalTilt]) < -264 ) GROUP BY [EquipmentID]";
  27. break;
  28. case "SB":
  29. $sql = "SELECT [SB_Data].[EquipmentID]
  30. FROM [SB_Data] JOIN [SB_Warning] ON [SB_Data].[EquipmentID] = [SB_Warning].[EquipmentID]
  31. WHERE [SB_Data].[Date] = (SELECT TOP 1 [SB_Data].[Date] FROM [SB_Data] GROUP BY [Date] ORDER BY [Date] desc)
  32. AND (convert(float,[TotalSettlement]) > convert(float,(SELECT TOP 1 RIGHT([WarningValue], len([WarningValue])-1) FROM [SB_Warning]))
  33. OR convert(float,[TotalSettlement]) < -convert(float,(SELECT TOP 1 RIGHT([WarningValue], len([WarningValue])-1) FROM [SB_Warning])))";
  34. break;
  35. case "SM":
  36. $sql = "SELECT [EquipmentID] FROM [SM_Data]
  37. WHERE [SM_Data].[Date] = (SELECT TOP 1 [SM_Data].[Date] FROM [SM_Data] GROUP BY [Date] ORDER BY [Date] desc)
  38. AND (convert(float,[TotalSettlement]) > 30 OR convert(float,[TotalSettlement]) < -30 ) GROUP BY [EquipmentID]";
  39. break;
  40. case "SP":
  41. $sql = "SELECT [EquipmentID] FROM [SP_Data]
  42. WHERE [SP_Data].[Date] = (SELECT TOP 1 [SP_Data].[Date] FROM [SP_Data] GROUP BY [Date] ORDER BY [Date] desc)
  43. AND (convert(float,[WaterPressure]) > (SELECT TOP 1 [HighWarningValue] FROM [SP_Warning]) OR convert(float,[WaterPressure]) < (SELECT TOP 1 [LowWarningValue] FROM [SP_Warning]) )
  44. AND [WaterPressure] <> '---' GROUP BY [EquipmentID];";
  45. break;
  46. }
  47. $fetchResult = sqlsrv_query($conn, $sql);
  48. while ($row = sqlsrv_fetch_array($fetchResult, SQLSRV_FETCH_NUMERIC)) {
  49. if (in_array($row[0], $equipment_list[$type])) {
  50. array_push($wellTBA, $row);
  51. $abnormal_count++;
  52. }
  53. }
  54. $all_count = 0;
  55. /*$sql = "SELECT [EquipmentID] FROM [BIMMonitor].[dbo].[{$type}_Data] GROUP BY [EquipmentID];";
  56. $fetchResult = sqlsrv_query($conn, $sql);
  57. while ($row = sqlsrv_fetch_array($fetchResult, SQLSRV_FETCH_NUMERIC)) {
  58. $all_count++;
  59. }*/
  60. $all_count = count($equipment_list[$type]);
  61. $normal_count = $all_count - $abnormal_count;
  62. if ($fetchResult === false) {
  63. if (($errors = sqlsrv_errors()) != null) {
  64. foreach ($errors as $error) {
  65. echo "SQLSTATE: " . $error['SQLSTATE'] . "<br />";
  66. echo "code: " . $error['code'] . "<br />";
  67. echo "message: " . $error['message'] . "<br />";
  68. echo ($sql . "<br />");
  69. var_dump($row);
  70. }
  71. }
  72. }
  73. $ajax['wellTBA'] = $wellTBA;
  74. $ajax['normal_count'] = $normal_count;
  75. $ajax['abnormal_count'] = $abnormal_count;
  76. echo json_encode($ajax);