Report.php 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246
  1. <?php
  2. namespace catchAdmin\report\controller;
  3. use catcher\base\CatchRequest as Request;
  4. use catcher\CatchResponse;
  5. use catcher\base\CatchController;
  6. use catchAdmin\report\model\Report as ReportModel;
  7. class Report extends CatchController
  8. {
  9. protected $reportModel;
  10. public function __construct(ReportModel $reportModel)
  11. {
  12. $this->reportModel = $reportModel;
  13. }
  14. /**
  15. * 首页数量数据
  16. * @param Request $request
  17. */
  18. public function homePageCountData(Request $request)
  19. {
  20. // 部门数据
  21. $department_data = $this->reportModel->getDepartmentCountData() ?: [];
  22. // 用户数据
  23. $user_data = $this->reportModel->getDeviceUserCountData() ?: [];
  24. $data = array_merge($department_data, $user_data);
  25. return CatchResponse::success($data);
  26. }
  27. /**
  28. * 基站增长趋势数据
  29. * @param Request $request
  30. */
  31. public function stationGrowthTrendData(Request $request)
  32. {
  33. $data = $this->reportModel->getStationGrowthTrendData() ?: [];
  34. return CatchResponse::success($data);
  35. }
  36. /**
  37. * 用户设备增长趋势数据
  38. * @param Request $request
  39. */
  40. public function deviceGrowthTrendData(Request $request)
  41. {
  42. $data = $this->reportModel->getDeviceGrowthTrendData() ?: [];
  43. return CatchResponse::success($data);
  44. }
  45. /**
  46. * 设备类型统计
  47. * @param Request $request
  48. */
  49. public function hydraulicCount(Request $request)
  50. {
  51. $list =array(
  52. ['type'=>'液压泵','name'=>'测试设备1','number'=>20210618,'online_time'=>'2022-06-23 11:10:11','address'=>'杭州滨江','unused_days'=>5,'remarks'=>''],
  53. ['type'=>'液压泵','name'=>'测试设备1','number'=>20210618,'online_time'=>'2022-06-23 11:10:11','address'=>'杭州滨江','unused_days'=>3,'remarks'=>''],
  54. ['type'=>'液压泵','name'=>'测试设备1','number'=>20210618,'online_time'=>'2022-06-23 11:10:11','address'=>'杭州滨江','unused_days'=>2,'remarks'=>''],
  55. ['type'=>'液压泵','name'=>'测试设备1','number'=>20210618,'online_time'=>'2022-06-23 11:10:11','address'=>'杭州滨江','unused_days'=>4,'remarks'=>''],
  56. ['type'=>'液压泵','name'=>'测试设备1','number'=>20210618,'online_time'=>'2022-06-23 11:10:11','address'=>'杭州滨江','unused_days'=>1,'remarks'=>''],
  57. );
  58. $list20 =array(
  59. ['type'=>'液压泵','name'=>'测试设备2','number'=>20210618,'online_time'=>'2022-06-03 11:10:11','address'=>'杭州滨江','unused_days'=>20,'remarks'=>''],
  60. ['type'=>'液压泵','name'=>'测试设备2','number'=>20210618,'online_time'=>'2022-06-03 11:10:11','address'=>'杭州滨江','unused_days'=>22,'remarks'=>''],
  61. ['type'=>'液压泵','name'=>'测试设备2','number'=>20210618,'online_time'=>'2022-06-03 11:10:11','address'=>'杭州滨江','unused_days'=>22,'remarks'=>''],
  62. ['type'=>'液压泵','name'=>'测试设备2','number'=>20210618,'online_time'=>'2022-06-03 11:10:11','address'=>'杭州滨江','unused_days'=>22,'remarks'=>''],
  63. ['type'=>'液压泵','name'=>'测试设备2','number'=>20210618,'online_time'=>'2022-06-03 11:10:11','address'=>'杭州滨江','unused_days'=>22,'remarks'=>''],
  64. );
  65. $list40 =array(
  66. ['type'=>'液压泵','name'=>'测试设备3','number'=>20210618,'online_time'=>'2022-06-13 11:10:11','address'=>'杭州滨江','unused_days'=>41,'remarks'=>''],
  67. ['type'=>'液压泵','name'=>'测试设备3','number'=>20210618,'online_time'=>'2022-06-13 11:10:11','address'=>'杭州滨江','unused_days'=>41,'remarks'=>''],
  68. ['type'=>'液压泵','name'=>'测试设备3','number'=>20210618,'online_time'=>'2022-06-13 11:10:11','address'=>'杭州滨江','unused_days'=>41,'remarks'=>''],
  69. ['type'=>'液压泵','name'=>'测试设备3','number'=>20210618,'online_time'=>'2022-06-13 11:10:11','address'=>'杭州滨江','unused_days'=>41,'remarks'=>''],
  70. ['type'=>'液压泵','name'=>'测试设备3','number'=>20210618,'online_time'=>'2022-06-13 11:10:11','address'=>'杭州滨江','unused_days'=>41,'remarks'=>''],
  71. );
  72. $pie_data=array(
  73. ['name'=>'正常使用','value'=>113],
  74. ['name'=>'20+天未使用','value'=>17],
  75. ['name'=>'40+天未使用','value'=>18],
  76. );
  77. $data=array(
  78. 'list'=>$list,
  79. 'list20'=>$list20,
  80. 'list40'=>$list40,
  81. 'pie_data'=>$pie_data,
  82. );
  83. return CatchResponse::success($data);
  84. }
  85. /**
  86. * 风场设备统计
  87. * @param Request $request
  88. */
  89. public function windCount(Request $request)
  90. {
  91. $list =array(
  92. ['name'=>'风场1','total'=>103,'online'=>20,'offline'=>40],
  93. ['name'=>'风场2','total'=>103,'online'=>20,'offline'=>40],
  94. ['name'=>'风场3','total'=>42,'online'=>20,'offline'=>40],
  95. ['name'=>'风场4','total'=>10,'online'=>20,'offline'=>40],
  96. ['name'=>'风场5','total'=>103,'online'=>20,'offline'=>40],
  97. ['name'=>'风场6','total'=>103,'online'=>20,'offline'=>40],
  98. ['name'=>'风场7','total'=>123,'online'=>20,'offline'=>40],
  99. ['name'=>'风场8','total'=>103,'online'=>20,'offline'=>40],
  100. ['name'=>'风场9','total'=>103,'online'=>20,'offline'=>40],
  101. );
  102. $xdata=['风场1','风场2','风场3','风场4','风场5','风场6','风场7','风场8','风场9',];
  103. $ydata=[20,30,49,20,56,54,87,23,69];
  104. $data=array(
  105. 'list'=>$list,
  106. 'xdata'=>$xdata,
  107. 'ydata'=>$ydata,
  108. );
  109. return CatchResponse::success($data);
  110. }
  111. /**
  112. * 告警统计
  113. * @param Request $request
  114. */
  115. public function alarmDeviceCount(Request $request)
  116. {
  117. $list =array(
  118. ['type'=>'液压泵','name'=>'电量告警','value'=>100],
  119. ['type'=>'液压泵','name'=>'液压油偏低','value'=>120],
  120. ['type'=>'液压泵','name'=>'液压油偏高','value'=>30],
  121. ['type'=>'液压泵','name'=>'总数','value'=>250],
  122. );
  123. $pump_bar=array(
  124. 'xData'=>['总数','电量告警','液压油偏低','液压油偏高'],
  125. 'yData'=>[250,100,120,30],
  126. );
  127. $pump_pie=array(
  128. ['name'=>'电量告警','value'=>100],
  129. ['name'=>'液压油偏低','value'=>120],
  130. ['name'=>'液压油偏高','value'=>30],
  131. );
  132. $data=array(
  133. 'list'=>$list,
  134. 'pump_bar'=>$pump_bar,
  135. 'pump_pie'=>$pump_pie,
  136. );
  137. return CatchResponse::success($data);
  138. }
  139. /**
  140. * 告警统计
  141. * @param Request $request
  142. */
  143. public function companyCount(Request $request)
  144. {
  145. $list =array(
  146. ['type'=>'测试部门1','name'=>'液压泵','value'=>100],
  147. ['type'=>'测试部门1','name'=>'液压扳手','value'=>120],
  148. ['type'=>'测试部门1','name'=>'风机','value'=>30],
  149. ['type'=>'测试部门1','name'=>'总数','value'=>250],
  150. ['type'=>'测试部门2','name'=>'液压泵','value'=>100],
  151. ['type'=>'测试部门2','name'=>'液压扳手','value'=>120],
  152. ['type'=>'测试部门2','name'=>'风机','value'=>30],
  153. ['type'=>'测试部门2','name'=>'总数','value'=>250],
  154. ['type'=>'测试部门3','name'=>'液压泵','value'=>100],
  155. ['type'=>'测试部门3','name'=>'液压扳手','value'=>120],
  156. ['type'=>'测试部门3','name'=>'风机','value'=>30],
  157. ['type'=>'测试部门3','name'=>'总数','value'=>250],
  158. );
  159. $bar_data=array(
  160. 'xData'=>['测试部门1','测试部门2','测试部门3'],
  161. 'pump_yData'=>[120,120,130],
  162. 'wrench_yData'=>[40,150,90],
  163. 'flange_yData'=>[100,80,30],
  164. );
  165. $pump_pie=array(
  166. ['name'=>'电量告警','value'=>100],
  167. ['name'=>'液压油偏低','value'=>120],
  168. ['name'=>'液压油偏高','value'=>30],
  169. );
  170. $data=array(
  171. 'list'=>$list,
  172. 'bar_data'=>$bar_data,
  173. 'pump_pie'=>$pump_pie,
  174. );
  175. return CatchResponse::success($data);
  176. }
  177. /**
  178. * 维保设备记录统计
  179. * @param Request $request
  180. */
  181. public function maintainCount(Request $request)
  182. {
  183. $list =array(
  184. ['type'=>'法兰','name'=>'总数','value'=>250],
  185. ['type'=>'法兰','name'=>'及格','value'=>200],
  186. ['type'=>'法兰','name'=>'不及格','value'=>50],
  187. );
  188. $pump_bar=array(
  189. 'xData'=>['总数','紧固及格','紧固不及格'],
  190. 'yData'=>[250,200,50],
  191. );
  192. $pump_pie=[
  193. ['name'=>'紧固及格','value'=>200],
  194. ['name'=>'紧固不及格','value'=>50]
  195. ];
  196. $list_type = array(
  197. 'xData'=>['c1','c2','c3','c4'],
  198. 'yData'=>[250,200,50,40],
  199. );
  200. $data=array(
  201. 'list'=>$list,
  202. 'pump_bar'=>$pump_bar,
  203. 'pump_pie'=>$pump_pie,
  204. );
  205. return CatchResponse::success($data);
  206. }
  207. }