apiService = $apiService; } public function getList(Request $request) { $sysCode = isset($request->sys_code) ? $request->sys_code : null; // 矿分类 if ($sysCode == null) { $msg="参数为空"; $code=-1; return $this->error($code, $msg); } switch ($sysCode) { case 'main': return $this->getMainSupport(); case 'djjk': return $this->getZNZJList(); case 'yangchen': return $this->getDustMonitorList(); default: $msg="未知数据"; $code=-2; return $this->error($code, $msg); } } /* * 获取液压支架数据 */ public function getMainSupport() { $keys=[ "2045462760907777_1","2045462763406337_1","2045462765667329_1","2045462767137793_1", "2045462768696321_1","2045462770000897_1","2045462771368961_1","2045462772763649_1", "2045462774033409_1","2045462757030913_1","2045462758366209_1","2045462759554049_1", "2045462759674881_1","2045462759814145_1","2045462760064001_1","2045462760188929_1", "2045462760305665_1","2045462760451073_1","2045462760561665_1","2045462761878529_1", "2045462761995265_1","2045462762161153_1","2045462762314753_1","2045462762451969_1", "2045462762566657_1","2045462762679297_1","2045462762793985_1","2045462762931201_1", "2045462763047937_1","2045462764317697_1","2045462764446721_1","2045462764565505_1", "2045462764680193_1","2045462764798977_1","2045462764911617_1","2045462765034497_1", "2045462765163521_1","2045462765292545_1","2045462765429761_1","2045462765790209_1", "2045462765911041_1","2045462766033921_1","2045462766218241_1","2045462766353409_1", "2045462766523393_1","2045462766646273_1","2045462766773249_1","2045462766896129_1", "2045462767016961_1","2045462767342593_1","2045462767483905_1","2045462767606785_1", "2045462767737857_1","2045462767856641_1","2045462767975425_1","2045462768102401_1", "2045462768251905_1","2045462768403457_1","2045462768528385_1","2045462768811009_1", "2045462768927745_1","2045462769044481_1","2045462769163265_1","2045462769280001_1", "2045462769394689_1","2045462769521665_1","2045462769640449_1","2045462769757185_1", "2045462769880065_1","2045462770115585_1","2045462770269185_1","2045462770390017_1", "2045462770512897_1","2045462770627585_1","2045462770750465_1","2045462770873345_1", "2045462771006465_1","2045462771127297_1","2045462771250177_1","2045462771491841_1", "2045462771610625_1","2045462771729409_1","2045462771842049_1","2045462771956737_1", "2045462772083713_1","2045462772216833_1","2045462772382721_1","2045462772509697_1", "2045462772638721_1","2045462772890625_1","2045462773025793_1","2045462773136385_1", "2045462773242881_1","2045462773363713_1","2045462773472257_1","2045462773582849_1", "2045462773689345_1","2045462773808129_1","2045462773922817_1","2045462755791873_1", "2045462755984385_1","2045462756103169_1","2045462756228097_1","2045462756346881_1", "2045462756457473_1","2045462756572161_1","2045462756690945_1","2045462756803585_1", "2045462756916225_1","2045462757151745_1","2045462757266433_1","2045462757381121_1", "2045462757520385_1","2045462757641217_1","2045462757755905_1","2045462757872641_1", "2045462758013953_1","2045462758126593_1","2045462758241281_1","2045462758478849_1", "2045462758595585_1","2045462758712321_1","2045462758829057_1","2045462758943745_1", "2045462759062529_1","2045462759177217_1","2045462759310337_1","2045462759431169_1", ]; $dataFromGetRequest = $this->apiService->postPointRealData($this->apiUrl, $keys); if($dataFromGetRequest['data'] == 0) { $msg = $dataFromGetRequest['Message']; return $this->error(-1, $msg); } $baseData = $dataFromGetRequest['data']; $support=[]; for ($i = 0; $i < count($keys); $i++) { $key = $keys[$i]; $support[]=[ "key"=>$key, "name"=>($i+1)."号立柱压力", "unit"=>"Mpa", "val"=> $baseData[$key] ?? 0, ]; } $data["sys_point"]=[ "support"=>$support ]; return json_encode($data); } /* * 东井架空乘人器 * */ public function getEastJKCRQList() { $keys=[ "2008884686232577_1", // 行人斜井 "2008885028150273_1", // 行人斜井井底 "2008885030757377_1", // 行人斜井井口 "2008885029561345_1", // 行人斜井258米 "2008885028895745_1", // 行人斜井100米 "2008885029458945_1", // 行人斜井538米 "2008885027279873_1", // 985行人通路 "2046720712072193_2", // 架空乘人车_机头越位 "2046720712125441_2", // 架空乘人车_机尾越位 "2046720711785473_2", // 架空乘人车_运行欠速 "2046720711762945_2", // 架空乘人车_运行超速 "2046720711808001_2", // 架空乘人车_打滑保护 "2046720712238081_2", // 架空乘人车_尾轮断轴 "2046720712262657_2", // 架空乘人车_重锤落地 "2046720712045569_2", // 架空乘人车_强制解锁 "2046720711631873_2", // 架空乘人车_绞车互锁 "2046720711687169_2", // 架空乘人车_电机超温 "2046720714204161_1", // 架空乘人车_急停数显 "2046720714243073_1", // 架空乘人车_掉绳数显 "2046720712291329_2", // 架空乘人车_绳张紧 "2046720711549953_2", // 架空乘人车_主电机断电 "2046720711603201_2", // 架空乘人车_驱动轮断轴 "2046720712600577_2", // 架空乘人车_安全闸电机 "2046720712576001_2", // 架空乘人车_工作闸电机 "2046720711902209_2", // 架空乘人车_减速机超温 "2046720711998465_2", // 架空乘人车_液压站超温 "2046720711877633_2", // 架空乘人车_变频器故障 "2046720712178689_2", // 架空乘人车_张紧小车前限位 "2046720712205313_2", // 架空乘人车_张紧小车后限位 "2046720711949313_2", // 架空乘人车_液压站油位过低 "2046720711973889_2", // 架空乘人车_电机振幅超标 "2046720712098817_2", // 架空乘人车_机头吊椅间距 "2046720712152065_2", // 架空乘人车_机尾吊椅间距 "2046720712020993_2", // 架空乘人车_电机轴承超温 "2046720711924737_2", // 架空乘人车_减速机油位过低 "2046720712524801_2", // 架空乘人车_系统运行中 "2046720713337857_1", // 架空乘人车_电机温度 "2046720712907777_1", // 架空乘人车_运行速度显示 "2046720713450497_1", // 架空乘人车_减速机油温 "2046720714279937_1", // 架空乘人车_启动倒计时数显 "2046720713520129_1", // 架空乘人车_液压站油温 "2046720714318849_1", // 架空乘人车_间断倒计时数显 "2046720713300993_1" // 架空乘人车_液压站压力 ]; // 获取点位数据 $baseData = $this->apiService->postPointRealData($this->apiUrl, $keys)['data']; $stateData = []; $stateInfoData = []; foreach ($baseData as $key => $val) { $stateInfoData[$key] = $baseData[$key] == 0 ? "关闭" : "开启"; if ($val == -9999) { $baseData[$key] = '未知'; $stateData[$key] = 0; $stateInfoData[$key] = "未知"; } else { $stateData[$key] = $baseData[$key]; } } $info = [ "info"=>[ [ "label"=>"行人斜井", "value"=> $stateData['2008884686232577_1'] ?? 0 . "人", ], [ "label"=>"行人斜井井底", "value"=> $stateData['2008885028150273_1'] ?? 0 . "人", ], [ "label"=>"行人斜井井口", "value"=> $stateData['2008885030757377_1'] ?? 0 . "人", ], [ "label"=>"行人斜井258米", "value"=> $stateData['2008885029561345_1'] ?? 0 . "人", ], [ "label"=>"22采区985行人通道", "value"=> $stateData['2008885027279873_1'] ?? 0 . "人", ], [ "label"=>"行人斜井100米", "value"=> $stateData['2008885028895745_1'] ?? 0 . "人", ], [ "label"=>"行人斜井538米", "value"=> $stateData['2008885029458945_1'] ?? 0 . "人", ] ], "state"=>[ [ "label" => "机头越位", "state" => $stateData['2046720712072193_2'] ?? 0, ], [ "label" => "机尾越位", "state" => $stateData['2046720712125441_2'] ?? 0, ], [ "label" => "运行欠速", "state" => $stateData['2046720711785473_2'] ?? 0, ], [ "label" => "运行超速", "state" => $stateData['2046720711762945_2'] ?? 0, ], [ "label" => "运行打滑", "state" => $stateData['2046720711808001_2'] ?? 0, ], [ "label" => "尾轮断轴", "state" => $stateData['2046720712238081_2'] ?? 0, ], [ "label" => "重锤落地", "state" => $stateData['2046720712262657_2'] ?? 0, ], [ "label" => "强制解锁", "state" => $stateData['2046720712045569_2'] ?? 0, ], [ "label" => "绞车互锁", "state" => $stateData['2046720711631873_2'] ?? 0, ], [ "label" => "电机超温", "state" => $stateData['2046720711687169_2'] ?? 0, ], [ "label" => "绳张紧保护", "state" => $stateData['2046720712291329_2'] ?? 0, ], [ "label" => "主电机断电", "state" => ($stateData['2046720711549953_2'] ?? 0) == 0 ? 1 : 0, ], [ "label" => "驱动轮断轴", "state" => ($stateData['2046720711603201_2'] ?? 0) == 0 ? 1 : 0, ], [ "label" => "安全闸电机", "state" => ($stateData['2046720712600577_2'] ?? 0) == 0 ? 1 : 0, ], [ "label" => "工作闸电机", "state" => ($stateData['2046720712576001_2'] ?? 0) == 0 ? 1 : 0, ], [ "label" => "减速机超温", "state" => $stateData['2046720711902209_2'] ?? 0, ], [ "label" => "液压站超温", "state" => $stateData['2046720711998465_2'] ?? 0, ], [ "label" => "变频器故障", "state" => $stateData['2046720711877633_2'] ?? 0, ], [ "label" => "张紧小车前限位", "state" => $stateData['2046720712178689_2'] ?? 0, ], [ "label" => "张紧小车后限位", "state" => $stateData['2046720712205313_2'] ?? 0, ], [ "label" => "液压站油位过低", "state" => $stateData['2046720711949313_2'] ?? 0, ], [ "label" => "电机振幅超标", "state" => $stateData['2046720711973889_2'] ?? 0, ], [ "label" => "机头吊椅间距", "state" => $stateData['2046720712098817_2'] ?? 0, ], [ "label" => "机尾吊椅间距", "state" => $stateData['2046720712152065_2'] ?? 0, ], [ "label" => "电机轴承超温", "state" => $stateData['2046720712020993_2'] ?? 0, ], [ "label" => "减速机油位过低", "state" => $stateData['2046720711924737_2'] ?? 0, ], ], "canshu"=>[ "data"=>[ [ "label" => "沿线急停", "value" => $stateData['2046720714204161_1'] ?? 0, ], [ "label" => "沿线掉绳", "value" => $stateData['2046720714243073_1'] ?? 0, ], [ "label" => "运行状态", "value" => $stateData['2046720712524801_2'] ?? 0 == 1 ? "运行" : "停止", ], [ "label" => "电机温度", "value" => $stateData['2046720713337857_1'] ?? 0 . "℃", ], [ "label" => "运行速度显示", "value" => $stateData['2046720712907777_1'] ?? 0 . "m/s", ], [ "label" => "减速机油温", "value" => $stateData['2046720713450497_1'] ?? 0 . "℃", ], [ "label" => "启动倒计时数显", "value" => $stateData['2046720714279937_1'] ?? 0 . "s", ], [ "label" => "液压站油温", "value" => $stateData['2046720713520129_1'] ?? 0 . "℃", ], [ "label" => "运行倒计时", "value" => $stateData['2046720714318849_1'] ?? 0 . "s", ], [ "label" => "液压站压力", "value" => $stateData['2046720713300993_1'] ?? 0 . "Mpa", ] ], ], ]; return json_encode($info); } /* * 东井架空乘人器 * */ public function getZNZJList() { $keys=[ "2104319665503233_1", // "机身俯仰角度" "2104319665583105_1", // "机身水平角度" "2104319665402881_1", // "机身翻滚角度" "2104319665830913_1", // "掘进机行走速度" "2104319665880065_1", // "母线电压" "2104319665236993_1", // "回转角度" "2104319666027521_1" // "升降角度" ]; // 获取点位数据 $baseData = $this->apiService->postPointRealData($this->apiUrl, $keys)['data']; $stateData = []; $stateInfoData = []; foreach ($baseData as $key => $val) { $stateInfoData[$key] = $baseData[$key] == 0 ? "关闭" : "开启"; if ($val == -9999) { $baseData[$key] = '未知'; $stateData[$key] = 0; $stateInfoData[$key] = "未知"; } else { $stateData[$key] = $baseData[$key]; } } $info = [ "info" => [ [ "label" => "工作面名称", "value" => "150201工作面胶带巷" ], [ "label" => "施工单位", "value" => "综掘二队" ], [ "label" => "生产组织模式", "value" => "二掘一修" ], [ "label" => "综掘机型号", "value" => "EBZ200M-2A" ], [ "label" => "截割功率", "value" => "200Kw" ], [ "label" => "巷道长度", "value" => "2667" ], [ "label" => "掘进断面", "value" => "23.31m²" ], [ "label" => "永久支护工艺", "value" => "锚、网、索、W钢带桁架联合支护" ], [ "label" => "胶带机型号", "value" => "DSJ100/40/160胶带输送机" ], [ "label" => "胶带机控制方式", "value" => "集控" ] ], "juejinji" => [ "data" => [ [ "label" => "未掘进距离", "value" => "324.8m" ], [ "label" => "已掘进距离", "value" => "2344.2m" ] ] ], "tab_info" => [ [ "title" => "机身姿态", "table" => [ "thead" => ["参数名称", "值"], "tbody" => [ [ "label" => "倾仰角度(°)", "value" => $baseData['2104319665503233_1'] ?? 0, ], [ "label" => "水平角度(°)", "value" => $baseData['2104319665583105_1'] ?? 0, ], [ "label" => "翻滚角度(°)", "value" => $baseData['2104319665402881_1'] ?? 0, ], [ "label" => "掘进机行走速度(mm/s)", "value" => $baseData['2104319665830913_1'] ?? 0, ] ] ] ], [ "title" => "旋臂姿态", "table" => [ "thead" => ["参数名称", "值"], "tbody" => [ [ "label" => "回旋角度(°)", "value" => $baseData['2104319665236993_1'] ?? 0, ], [ "label" => "升降角度(°)", "value" => $baseData['2104319666027521_1'] ?? 0, ] ] ] ], [ "title" => "输入电压", "table" => [ "thead" => ["参数名称", "值"], "tbody" => [ [ "label" => "弦线电压(V)", "value" => $baseData['2104319665880065_1'] ?? 0, ] ] ] ] ] ]; return json_encode($info); } /** * 扬尘监测 */ public function getDustMonitorList() { $url = "http://7.250.4.3:4200/Tripartite/getRealData"; // 获取点位数据 $data = $this->apiService->getApiData($url); // Decode the original JSON data $data = json_decode($data, true); // Initialize the output array $output = ['list' => []]; // 自定义设备标题 $titles = [ '扬尘设备01北环线', '扬尘设备02西环线', '扬尘设备03办公楼', '扬尘设备04储煤场', '扬尘设备05五分区' ]; // Process each device's data foreach ($data['list'] as $index => $device) { $title = $titles[$index]; $deviceData = []; foreach ($device['value'] as $sensor) { $label = $sensor['name']; $value = $sensor['value'] . $sensor['unit']; $deviceData[] = ['label' => $label, 'value' => $value]; } $output['list'][] = ['title' => $title, 'data' => $deviceData]; } // Output the resulting JSON return json_encode($output, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); } /** * 主运输 */ public function getMainTransportList() { $keys=[ "2104319665503233_1", // 机身俯仰角度 "2104319665583105_1", // 机身水平角度 "2104319665402881_1", // 机身翻滚角度 "2104319665830913_1", // 掘进机行走速度 "2104319665880065_1", // 母线电压 "2104319665236993_1", // 回转角度 "2104319666027521_1" // 升降角度 ]; // 获取点位数据 $baseData = $this->apiService->postPointRealData($this->apiUrl, $keys)['data']; $info = [ "info"=>[ [ "label"=>"工作面名称", "value"=>"150201工作面胶带巷" ], [ "label"=>"施工单位", "value"=>"综掘二队" ], [ "label"=>"生产组织模式", "value"=>"两掘一修" ], [ "label"=>"综掘机型号", "value"=>"EBZ200M-2A" ], [ "label"=>"载割功率", "value"=>"200KW" ], [ "label"=>"巷道长度", "value"=>"2667" ], [ "label"=>"掘进断面", "value"=>"23.31㎡" ], [ "label"=>"永久支护工艺", "value"=>"锚、网、索、W钢桁联合支护" ], [ "label"=>"胶带机型号", "value"=>"DSJ100/40/160胶带输送机" ], [ "label"=>"胶带机控制方式", "value"=>"集控" ], ], "juejinji"=>[ "data"=>[ [ "label"=>"未掘进距离", "value"=>"324.8m" ], [ "label"=>"已掘进距离", "value"=>"2344.2m" ], ] ], "tab_info"=>[ [ "title"=>"机身姿态", "table"=>[ "thead"=>["参数名称", "值"], "tbody"=>[ [ "label"=>"倾仰角度(°)", "value"=>$baseData['2104319665503233_1'] ?? 0 ], [ "label"=>"水平角度(°)", "value"=>$baseData['2104319665583105_1'] ?? 0 ], [ "label"=>"翻滚角度(°)", "value"=>$baseData['2104319665402881_1'] ?? 0 ], ] ] ], [ "title"=>"旋臂姿态", "table"=>[ "thead"=>["参数名称", "值"], "tbody"=>[ [ "label"=>"回旋角度(°)", "value"=>$baseData['2104319665236993_1'] ?? 0 ], [ "label"=>"升降角度(°)", "value"=>$baseData['2104319666027521_1'] ?? 0 ], ] ] ], [ "title"=>"输入电压", "table"=>[ "thead"=>["参数名称", "值"], "tbody"=>[ [ "label"=>"母线电压(V)", "value"=>$baseData['2104319665880065_1'] ?? 0 ], ] ] ], ] ]; return json_encode($info); } public function getBaseDataArr($tb_name, $data_key) { $point_id = "'" . implode("','", $data_key) . "'"; // 构建 SQL 查询 $sqlStr = "select `point_id`, `value` from $tb_name where `point_id` in ($point_id)"; $res = $this->executeSql($sqlStr, 1); $baseData=[]; for ($i = 0; $i < count($res); $i++) { $key=$res[$i]->point_id; $val=$res[$i]->value; $baseData[$key]=$val; } return $baseData; } public function executeSql($sqlStr, $modelname = -1) { try{ $opcDB = DB::connection($this->db_name); $dbResult = $opcDB->select($sqlStr); return $dbResult; } catch (\Exception $e) { switch ($modelname) { case 1: return $this->error(-1, '东井通风'); case 2: return $this->error(-1, '统计日超速出错!'); case 4: return $this->error(-1, '获取详细列表出错!'); default: return $this->error(-1, '未知错误!'); } } } }