CarDownCurrSiteInfoController.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. namespace Modules\OpcData\Http\Controllers\Api;
  3. use App\Http\Controllers\Api\BaseController;
  4. use Illuminate\Contracts\Support\Renderable;
  5. use Illuminate\Http\Request;
  6. use Illuminate\Routing\Controller;
  7. use Illuminate\Support\Facades\DB;
  8. class CarDownCurrSiteInfoController extends BaseController
  9. {
  10. public function getList(Request $request) {
  11. $mineCode = isset($request->mine_code) ? $request->mine_code : null; // 矿分类
  12. $carList = $this->getCarInfoList($mineCode);
  13. $dataTotal = $this->getCarCon($mineCode);
  14. $data = [
  15. "total"=>reset($dataTotal[0]),
  16. "list"=>$carList
  17. ];
  18. return json_encode($data);
  19. }
  20. public function getCarCon($mineCode='zaoquan') {
  21. $sqlStr = /** @lang text */
  22. "SELECT count(1) con FROM down_site_status";
  23. return $this->executeSql($sqlStr, 4, $mineCode);
  24. }
  25. // 当前信息详情
  26. public function getCarInfoList($mineCode='zaoquan', $page=0, $perPage = 15) {
  27. if ($mineCode == null) return null;
  28. $sqlStr = /** @lang text */
  29. "SELECT t.site_num,
  30. t.site_status
  31. FROM down_site_status t";
  32. $dbResult = $this->executeSql($sqlStr, 4, $mineCode);
  33. for($i = 0; $i<count($dbResult); $i++) {
  34. $val = $dbResult[$i];
  35. $data[] = [
  36. 'site_num' => $val->site_num,
  37. 'site_status' => $val->site_status
  38. ];
  39. }
  40. return $data ?? null;
  41. }
  42. public function executeSql($sqlStr, $modelname = -1, $mineCode='zaoquan') {
  43. $conn = 'etl_'.$mineCode;
  44. try{
  45. $opcDB = DB::connection($conn);
  46. $dbResult = $opcDB->select($sqlStr);
  47. return $dbResult;
  48. } catch (\Exception $e) {
  49. switch ($modelname) {
  50. case 1:
  51. return $this->error(-1, '统计超速数量出错!');
  52. case 2:
  53. return $this->error(-1, '统计日超速出错!');
  54. case 4:
  55. return $this->error(-1, '获取详细列表出错!');
  56. default:
  57. return $this->error(-1, '未知错误!');
  58. }
  59. }
  60. }
  61. }