| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735 |
- <?php
- namespace Modules\OpcData\Http\Controllers\Api\zaoquan;
- use App\Http\Controllers\Api\BaseController;
- use Illuminate\Contracts\Support\Renderable;
- use Illuminate\Routing\Controller;
- use Illuminate\Support\Facades\DB;
- use Illuminate\Http\Request;
- use Modules\OpcData\Services\zaoquan\ZQDcsApiService;
- /**
- * 枣泉自动化——东井通风
- */
- class ZQDcsSupportController extends BaseController
- {
- private $db_name='etl_zaoquan';
- protected $apiService;
- protected $apiUrl = 'http://7.250.4.3:4300/v1/common/GetPointRealDataByPageV3';
- public function __construct(ZQDcsApiService $apiService)
- {
- $this->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, '未知错误!');
- }
- }
- }
- }
|