get_monitor_table.php 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. include("./connect_sql.php");
  3. $json = file_get_contents('../../r03/display_info.json');
  4. $display_info = json_decode($json, true);
  5. $type = "";
  6. if (isset($_GET["monitor"])) {
  7. $monitor = $_GET["monitor"];
  8. $type = explode('-', $monitor)[0];
  9. /*if ($type == "SIS" || $type == "SID") {
  10. $monitor .= "A";
  11. }*/
  12. }
  13. $table = [];
  14. $unit = "";
  15. $haveDepth = false;
  16. $haveDirection = false;
  17. $key = array_search($type, array_column($display_info, 'type'));
  18. if ($key !== false) {
  19. $display = $display_info[$key]["display"];
  20. $unit = $display_info[$key]["unit"];
  21. $haveDepth = $display_info[$key]["haveDepth"];
  22. $haveDirection = $display_info[$key]["haveDirection"];
  23. if ($haveDepth) {
  24. $display .= '],[Depth';
  25. $sql = " SELECT [Date],count(DISTINCT [Depth])
  26. FROM [BIMMonitor].[dbo].[{$type}_Data] WHERE [EquipmentID] = '{$monitor}' GROUP BY [Date]";
  27. $stmt = sqlsrv_query($conn, $sql);
  28. $fetchResult = sqlsrv_query($conn, $sql);
  29. $depth = "";
  30. while ($row = sqlsrv_fetch_array($fetchResult, SQLSRV_FETCH_NUMERIC)) {
  31. $depthCount = $row[1];
  32. }
  33. for ($i = 1; $i < $depthCount; $i++) {
  34. $depth = $depth . ",[" . $i * 0.5 . "]";
  35. }
  36. $sql = " SELECT *
  37. FROM (
  38. SELECT [Date],[TotalDisplacement],[Depth]
  39. FROM [BIMMonitor].[dbo].[{$type}_Data] WHERE [EquipmentID] = '{$monitor}'
  40. ) o
  41. PIVOT (
  42. MAX([TotalDisplacement])
  43. FOR [Depth] IN ([TOP] ${depth})
  44. ) n;";
  45. } else if ($haveDirection) {
  46. $sql = " SELECT *
  47. FROM (
  48. SELECT [Date],[Direction],[TotalTilt]
  49. FROM [BIMMonitor].[dbo].[{$type}_Data] WHERE [EquipmentID] like '%{$monitor}%'
  50. ) o
  51. PIVOT (
  52. MAX([TotalTilt])
  53. FOR [Direction] IN ([1-3], [2-4])
  54. ) n;";
  55. } else {
  56. $sql = "SELECT [Date],[{$display}] FROM [{$type}_Data] WHERE [EquipmentID] = '{$monitor}';";
  57. }
  58. $stmt = sqlsrv_query($conn, $sql);
  59. $fetchResult = sqlsrv_query($conn, $sql);
  60. while ($row = sqlsrv_fetch_array($fetchResult, SQLSRV_FETCH_NUMERIC)) {
  61. array_push($table, $row);
  62. }
  63. if ($stmt === false) {
  64. if (($errors = sqlsrv_errors()) != null) {
  65. foreach ($errors as $error) {
  66. echo "SQLSTATE: " . $error['SQLSTATE'] . "<br />";
  67. echo "code: " . $error['code'] . "<br />";
  68. echo "message: " . $error['message'] . "<br />";
  69. echo ($sql . "<br />");
  70. var_dump($row);
  71. }
  72. }
  73. }
  74. }
  75. $ajax["table"] = $table;
  76. $ajax["unit"] = $unit;
  77. $ajax["haveDepth"] = $haveDepth;
  78. $ajax["haveDirection"] = $haveDirection;
  79. echo (json_encode($ajax));