ControlAlarm.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. <?php
  2. namespace catchAdmin\alarm\controller;
  3. use catcher\base\CatchRequest as Request;
  4. use catcher\CatchResponse;
  5. use catcher\base\CatchController;
  6. use catchAdmin\alarm\model\ControlAlarm as controlAlarmModel;
  7. use think\facade\Db;
  8. class ControlAlarm extends CatchController
  9. {
  10. protected $controlAlarmModel;
  11. public function __construct(controlAlarmModel $controlAlarmModel)
  12. {
  13. $this->controlAlarmModel = $controlAlarmModel;
  14. }
  15. /**
  16. * 列表
  17. * @time 2022年10月27日 15:33
  18. * @param Request $request
  19. */
  20. public function index(Request $request) : \think\Response
  21. {
  22. return CatchResponse::paginate($this->controlAlarmModel->getList());
  23. }
  24. /**
  25. * 保存信息
  26. * @time 2022年10月27日 15:33
  27. * @param Request $request
  28. */
  29. public function save(Request $request) : \think\Response
  30. {
  31. return CatchResponse::success($this->controlAlarmModel->storeBy($request->post()));
  32. }
  33. /**
  34. * 读取
  35. * @time 2022年10月27日 15:33
  36. * @param $id
  37. */
  38. public function read($id) : \think\Response
  39. {
  40. return CatchResponse::success($this->controlAlarmModel->findBy($id));
  41. }
  42. /**
  43. * 更新
  44. * @time 2022年10月27日 15:33
  45. * @param Request $request
  46. * @param $id
  47. */
  48. public function update(Request $request, $id) : \think\Response
  49. {
  50. return CatchResponse::success($this->controlAlarmModel->updateBy($id, $request->post()));
  51. }
  52. /**
  53. * 删除
  54. * @time 2022年10月27日 15:33
  55. * @param $id
  56. */
  57. public function delete($id) : \think\Response
  58. {
  59. return CatchResponse::success($this->controlAlarmModel->deleteBy($id));
  60. }
  61. /**
  62. * 获取今日告警列
  63. * @param Request $request
  64. */
  65. public function getTodayAlarmlist(Request $request){
  66. $start_time = date('Y-m-d 00:00:00',time());
  67. $end_time = date('Y-m-d 23:59:59',time());
  68. $xAxisData=[];
  69. $yAxisData=[];
  70. $list=$this->controlAlarmModel
  71. ->catchSearch()
  72. ->append(['state_text'])
  73. ->whereBetweenTime('created_at', $start_time,$end_time)
  74. ->order('created_at', 'desc')
  75. ->select();
  76. // return $rows;
  77. return CatchResponse::success($list);
  78. }
  79. /**
  80. * 报警点统计
  81. * @param Request $request
  82. */
  83. public function totalAlarmAddress(Request $request){
  84. $start_time = date('Y-m-d 00:00:00',time());
  85. $end_time = date('Y-m-d 23:59:59',time());
  86. $xAxisData=[];
  87. $yAxisData=[];
  88. $list=$this->controlAlarmModel
  89. ->field('address,count(*) as num')
  90. ->group('address')
  91. ->whereBetweenTime('created_at', $start_time,$end_time)
  92. ->order('num desc')
  93. ->select();
  94. foreach($list as $val){
  95. $xAxisData[]=$val['address'];
  96. $yAxisData[]=$val['num'];
  97. }
  98. // return $rows;
  99. return CatchResponse::success(['xAxisData'=>$xAxisData,'yAxisData'=>$yAxisData]);
  100. }
  101. }