OpcDataController.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. <?php
  2. namespace Modules\OpcData\Http\Controllers\Api;
  3. use Illuminate\Contracts\Support\Renderable;
  4. use Illuminate\Http\Request;
  5. use Illuminate\Http\Response;
  6. use Illuminate\Routing\Controller;
  7. use Illuminate\Support\Facades\DB;
  8. use Modules\OpcData\Entities\OpcDataDict;
  9. class OpcDataController extends Controller
  10. {
  11. /**
  12. * Display a listing of the resource.
  13. * @return Renderable
  14. */
  15. public function index()
  16. {
  17. return view('opcdata::index');
  18. }
  19. /**
  20. * Show the form for creating a new resource.
  21. * @return Renderable
  22. */
  23. public function create()
  24. {
  25. return view('opcdata::create');
  26. }
  27. /**
  28. * Store a newly created resource in storage.
  29. * @param Request $request
  30. * @return Renderable
  31. */
  32. public function store(Request $request)
  33. {
  34. //
  35. }
  36. /**
  37. * Show the specified resource.
  38. * @param int $id
  39. * @return Renderable
  40. */
  41. public function show($id)
  42. {
  43. return view('opcdata::show');
  44. }
  45. /**
  46. * Show the form for editing the specified resource.
  47. * @param int $id
  48. * @return Renderable
  49. */
  50. public function edit($id)
  51. {
  52. return view('opcdata::edit');
  53. }
  54. /**
  55. * Update the specified resource in storage.
  56. * @param Request $request
  57. * @param int $id
  58. * @return Renderable
  59. */
  60. public function update(Request $request, $id)
  61. {
  62. //
  63. }
  64. /**
  65. * Remove the specified resource from storage.
  66. * @param int $id
  67. * @return Renderable
  68. */
  69. public function destroy($id)
  70. {
  71. //
  72. }
  73. private $opcDictArr = array();
  74. private $dictTableName = 'tb_fan_dict_list';
  75. private $dataTableName = 'equipment';
  76. public function getData(Request $request)
  77. {
  78. $getDataType = $request->system_type; // 获取需要的数据
  79. $dataArr = array(); // 返回数据数组
  80. $db = DB::connection('mysql_opc_jinjiaqu');
  81. if ($getDataType == 'ventilation_zb' or $getDataType == 'ventilation_bb' ) {
  82. $groupId = 1; // 设备分组ID
  83. if ($getDataType == 'ventilation_zb'){
  84. $groupId = 1;
  85. } else if ($getDataType == 'ventilation_bb') {
  86. $groupId = 2;
  87. } else {
  88. return;
  89. }
  90. $sqlStr = "
  91. select t1.fan_type_id,
  92. t1.fan_type_name,
  93. t1.device_num,
  94. t1.device_name,
  95. case t.val
  96. when 'True' then 1
  97. when 'False' then 2
  98. else t.val
  99. end val,
  100. t1.json_key,
  101. t1.row_number,
  102. t1.unit
  103. from equipment t
  104. join tb_fan_dict_list t1 on t.selItem = t1.selItem
  105. where t1.group_id = ".$groupId."
  106. and t1.is_show = 1
  107. order by t1.fan_type_id, t1.row_number, t1.device_num
  108. ";
  109. $dbResult = $db->select($sqlStr);
  110. foreach ($dbResult as $key => $val) {
  111. $fanNum = $val->fan_type_id - 1; // 风机号
  112. $label = $val->device_name; // 设备名
  113. $devVal = $val->val; // 数值
  114. $jsonKey = $val->json_key; // json键值
  115. $unit = $val->unit; // 单位
  116. $dataArr[$fanNum]['title'] = $val->fan_type_name; // 风机名
  117. $valArr = [
  118. 'label' => $label, // 标题
  119. 'unit' => $unit // 单位
  120. ];
  121. // 状态与value
  122. if($jsonKey == 'state_list') {
  123. $valArr['state'] = $devVal;
  124. } else {
  125. $valArr['value'] = $devVal;
  126. }
  127. // 根据风量判断风机开关
  128. if($label == '风量') {
  129. if ($devVal <= 0 ) {
  130. $dataArr[$fanNum]['state'] = 2;
  131. } else {
  132. $dataArr[$fanNum]['state'] = 1;
  133. }
  134. }
  135. $dataArr[$fanNum][$jsonKey][] = $valArr;
  136. }
  137. }
  138. return response()->json($dataArr);
  139. }
  140. }