Report.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256
  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. ['type'=>'液压泵','name'=>'测试设备2','number'=>20210618,'online_time'=>'2022-06-03 11:10:11','address'=>'杭州滨江','unused_days'=>22,'remarks'=>''],
  65. );
  66. $list40 =array(
  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. ['type'=>'液压泵','name'=>'测试设备3','number'=>20210618,'online_time'=>'2022-06-13 11:10:11','address'=>'杭州滨江','unused_days'=>41,'remarks'=>''],
  72. ['type'=>'液压泵','name'=>'测试设备3','number'=>20210618,'online_time'=>'2022-06-13 11:10:11','address'=>'杭州滨江','unused_days'=>41,'remarks'=>''],
  73. ['type'=>'液压泵','name'=>'测试设备3','number'=>20210618,'online_time'=>'2022-06-13 11:10:11','address'=>'杭州滨江','unused_days'=>41,'remarks'=>''],
  74. ['type'=>'液压泵','name'=>'测试设备3','number'=>20210618,'online_time'=>'2022-06-13 11:10:11','address'=>'杭州滨江','unused_days'=>41,'remarks'=>''],
  75. );
  76. $pie_data=array(
  77. ['name'=>'正常使用','value'=>5],
  78. ['name'=>'20+天未使用','value'=>6],
  79. ['name'=>'40+天未使用','value'=>8],
  80. );
  81. $data=array(
  82. 'list'=>$list,
  83. 'list20'=>$list20,
  84. 'list40'=>$list40,
  85. 'pie_data'=>$pie_data,
  86. );
  87. return CatchResponse::success($data);
  88. }
  89. /**
  90. * 风场设备统计
  91. * @param Request $request
  92. */
  93. public function windCount(Request $request)
  94. {
  95. $list =array(
  96. ['name'=>'风场1','total'=>103,'online'=>20,'offline'=>40],
  97. ['name'=>'风场2','total'=>103,'online'=>20,'offline'=>40],
  98. ['name'=>'风场3','total'=>42,'online'=>20,'offline'=>40],
  99. ['name'=>'风场4','total'=>10,'online'=>20,'offline'=>40],
  100. ['name'=>'风场5','total'=>103,'online'=>20,'offline'=>40],
  101. ['name'=>'风场6','total'=>103,'online'=>20,'offline'=>40],
  102. ['name'=>'风场7','total'=>123,'online'=>20,'offline'=>40],
  103. ['name'=>'风场8','total'=>103,'online'=>20,'offline'=>40],
  104. ['name'=>'风场9','total'=>103,'online'=>20,'offline'=>40],
  105. );
  106. $xdata=['风场1','风场2','风场3','风场4','风场5','风场6','风场7','风场8','风场9',];
  107. $ydata=[20,30,49,20,56,54,87,23,69];
  108. $data=array(
  109. 'list'=>$list,
  110. 'xdata'=>$xdata,
  111. 'ydata'=>$ydata,
  112. );
  113. return CatchResponse::success($data);
  114. }
  115. /**
  116. * 告警统计
  117. * @param Request $request
  118. */
  119. public function alarmDeviceCount(Request $request)
  120. {
  121. $list =array(
  122. ['type'=>'液压泵','name'=>'测试设备1','number'=>20210618,'online_time'=>'2022-06-23 11:10:11','address'=>'杭州滨江','unused_days'=>5,'remarks'=>''],
  123. ['type'=>'液压泵','name'=>'测试设备1','number'=>20210618,'online_time'=>'2022-06-23 11:10:11','address'=>'杭州滨江','unused_days'=>3,'remarks'=>''],
  124. ['type'=>'液压泵','name'=>'测试设备1','number'=>20210618,'online_time'=>'2022-06-23 11:10:11','address'=>'杭州滨江','unused_days'=>2,'remarks'=>''],
  125. ['type'=>'液压泵','name'=>'测试设备1','number'=>20210618,'online_time'=>'2022-06-23 11:10:11','address'=>'杭州滨江','unused_days'=>4,'remarks'=>''],
  126. ['type'=>'液压泵','name'=>'测试设备1','number'=>20210618,'online_time'=>'2022-06-23 11:10:11','address'=>'杭州滨江','unused_days'=>1,'remarks'=>''],
  127. );
  128. $pie_dataA=array(
  129. ['name'=>'有效期内','value'=>15],
  130. ['name'=>'已失效(小于15天)','value'=>4],
  131. );
  132. $pie_dataB=array(
  133. ['name'=>'有效使用(大于45天)','value'=>13],
  134. ['name'=>'警告失效(15~45天)','value'=>2],
  135. ['name'=>'失效(0~15天)','value'=>4],
  136. );
  137. $pie_dataC=array(
  138. ['name'=>'已维护','value'=>15],
  139. ['name'=>'未维护','value'=>4],
  140. );
  141. $data=array(
  142. 'list'=>$list,
  143. 'pie_dataA'=>$pie_dataA,
  144. 'pie_dataB'=>$pie_dataB,
  145. 'pie_dataC'=>$pie_dataC,
  146. );
  147. return CatchResponse::success($data);
  148. }
  149. /**
  150. * 告警统计
  151. * @param Request $request
  152. */
  153. public function companyCount(Request $request)
  154. {
  155. $list =array(
  156. ['type'=>'测试部门1','name'=>'液压泵','value'=>100],
  157. ['type'=>'测试部门1','name'=>'液压扳手','value'=>120],
  158. ['type'=>'测试部门1','name'=>'风机','value'=>30],
  159. ['type'=>'测试部门1','name'=>'总数','value'=>250],
  160. ['type'=>'测试部门2','name'=>'液压泵','value'=>100],
  161. ['type'=>'测试部门2','name'=>'液压扳手','value'=>120],
  162. ['type'=>'测试部门2','name'=>'风机','value'=>30],
  163. ['type'=>'测试部门2','name'=>'总数','value'=>250],
  164. ['type'=>'测试部门3','name'=>'液压泵','value'=>100],
  165. ['type'=>'测试部门3','name'=>'液压扳手','value'=>120],
  166. ['type'=>'测试部门3','name'=>'风机','value'=>30],
  167. ['type'=>'测试部门3','name'=>'总数','value'=>250],
  168. );
  169. $bar_data=array(
  170. 'xData'=>['测试部门1','测试部门2','测试部门3'],
  171. 'pump_yData'=>[120,120,130],
  172. 'wrench_yData'=>[40,150,90],
  173. 'flange_yData'=>[100,80,30],
  174. );
  175. $pump_pie=array(
  176. ['name'=>'电量告警','value'=>100],
  177. ['name'=>'液压油偏低','value'=>120],
  178. ['name'=>'液压油偏高','value'=>30],
  179. );
  180. $data=array(
  181. 'list'=>$list,
  182. 'bar_data'=>$bar_data,
  183. 'pump_pie'=>$pump_pie,
  184. );
  185. return CatchResponse::success($data);
  186. }
  187. /**
  188. * 维保设备记录统计
  189. * @param Request $request
  190. */
  191. public function maintainCount(Request $request)
  192. {
  193. $list =array(
  194. ['type'=>'法兰','name'=>'总数','value'=>250],
  195. ['type'=>'法兰','name'=>'及格','value'=>200],
  196. ['type'=>'法兰','name'=>'不及格','value'=>50],
  197. );
  198. $pump_bar=array(
  199. 'xData'=>['总数','紧固及格','紧固不及格'],
  200. 'yData'=>[250,200,50],
  201. );
  202. $pump_pie=[
  203. ['name'=>'紧固及格','value'=>200],
  204. ['name'=>'紧固不及格','value'=>50]
  205. ];
  206. $list_type = array(
  207. 'xData'=>['c1','c2','c3','c4'],
  208. 'yData'=>[250,200,50,40],
  209. );
  210. $data=array(
  211. 'list'=>$list,
  212. 'pump_bar'=>$pump_bar,
  213. 'pump_pie'=>$pump_pie,
  214. );
  215. return CatchResponse::success($data);
  216. }
  217. }