OpcDataController.php 3.8 KB

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