|
@@ -8,8 +8,9 @@ use Illuminate\Http\Response;
|
|
use Illuminate\Routing\Controller;
|
|
use Illuminate\Routing\Controller;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Modules\OpcData\Entities\OpcDataDict;
|
|
use Modules\OpcData\Entities\OpcDataDict;
|
|
|
|
+use App\Http\Controllers\Api\BaseController;
|
|
|
|
|
|
-class OpcDataController extends Controller
|
|
|
|
|
|
+class OpcDataController extends BaseController
|
|
{
|
|
{
|
|
protected $opcConf = [
|
|
protected $opcConf = [
|
|
'ventilation_zb' => 1,
|
|
'ventilation_zb' => 1,
|
|
@@ -50,6 +51,18 @@ class OpcDataController extends Controller
|
|
'belt_2' => 9, // 西翼巷
|
|
'belt_2' => 9, // 西翼巷
|
|
'belt_3' => 10, // 集中巷
|
|
'belt_3' => 10, // 集中巷
|
|
],
|
|
],
|
|
|
|
+
|
|
|
|
+ 'renjiazhuang' => [
|
|
|
|
+ 'fan_1' => 1, // 主通风
|
|
|
|
+ 'compressed_air' => 3, // 压风
|
|
|
|
+ ],
|
|
|
|
+
|
|
|
|
+ 'qingshuiying' => [
|
|
|
|
+ 'fan_1' => 1, // 主通风
|
|
|
|
+ 'nitrogen' => 2, // 制氮
|
|
|
|
+ 'compressed_air' => 3, // 压风
|
|
|
|
+ 'pump_1' => 4, // 主泵房(768)
|
|
|
|
+ ],
|
|
];
|
|
];
|
|
|
|
|
|
public function getData(Request $request)
|
|
public function getData(Request $request)
|
|
@@ -84,18 +97,22 @@ class OpcDataController extends Controller
|
|
and t1.is_show = 1
|
|
and t1.is_show = 1
|
|
order by t1.dev_type_id, t1.row_number, t1.device_num, t1.device_name
|
|
order by t1.dev_type_id, t1.row_number, t1.device_num, t1.device_name
|
|
";
|
|
";
|
|
-
|
|
|
|
- $opcDB = DB::connection($opcConnectName);
|
|
|
|
- $dbResult = $opcDB->select($sqlStr);
|
|
|
|
|
|
+ // echo($sqlStr);
|
|
|
|
+ try{
|
|
|
|
+ $opcDB = DB::connection($opcConnectName);
|
|
|
|
+ $dbResult = $opcDB->select($sqlStr);
|
|
|
|
+ } catch (\Exception $e) {
|
|
|
|
+ return $this->error(-1, '数据库配置错误');
|
|
|
|
+ }
|
|
// echo($sqlStr);
|
|
// echo($sqlStr);
|
|
switch($getDataType) {
|
|
switch($getDataType) {
|
|
case 'compressed_air':
|
|
case 'compressed_air':
|
|
// 压风
|
|
// 压风
|
|
- $result = $this->getCompressedAirData($dbResult);
|
|
|
|
|
|
+ $result = $this->getCompressedAirData($dbResult, $getMineCode);
|
|
break;
|
|
break;
|
|
case 'nitrogen':
|
|
case 'nitrogen':
|
|
// 制氮
|
|
// 制氮
|
|
- $result = $this->getNitrogenData($dbResult);
|
|
|
|
|
|
+ $result = $this->getNitrogenData($dbResult, $getMineCode);
|
|
break;
|
|
break;
|
|
case 'belt_13':
|
|
case 'belt_13':
|
|
case 'belt_1':
|
|
case 'belt_1':
|
|
@@ -143,7 +160,7 @@ class OpcDataController extends Controller
|
|
return response()->json($result);
|
|
return response()->json($result);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- return;
|
|
|
|
|
|
+ return $this->error(-1, '未找到数据');;
|
|
}
|
|
}
|
|
|
|
|
|
// 风机
|
|
// 风机
|
|
@@ -254,13 +271,15 @@ class OpcDataController extends Controller
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ // dd($timeArr);
|
|
|
|
+
|
|
return $dataArr;
|
|
return $dataArr;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
// 压风
|
|
// 压风
|
|
- public function getCompressedAirData($dbResult) {
|
|
|
|
-
|
|
|
|
|
|
+ public function getCompressedAirData($dbResult, $getMineCode) {
|
|
|
|
+
|
|
$dataArr = array();
|
|
$dataArr = array();
|
|
$timeArr = array(); // 用于拼接时分秒
|
|
$timeArr = array(); // 用于拼接时分秒
|
|
$timeJsonKey; // 记录time字段key名
|
|
$timeJsonKey; // 记录time字段key名
|
|
@@ -275,7 +294,6 @@ class OpcDataController extends Controller
|
|
$devVal = $val->val; // 数值
|
|
$devVal = $val->val; // 数值
|
|
|
|
|
|
// $valArr[$jsonKey] = $devVal;
|
|
// $valArr[$jsonKey] = $devVal;
|
|
-
|
|
|
|
if ($jsonKey == 'state') {
|
|
if ($jsonKey == 'state') {
|
|
$dataArr['compressed_air'][$devNum]['name'] = $devName;
|
|
$dataArr['compressed_air'][$devNum]['name'] = $devName;
|
|
$dataArr['compressed_air'][$devNum]['state'] = $devVal;
|
|
$dataArr['compressed_air'][$devNum]['state'] = $devVal;
|
|
@@ -313,12 +331,22 @@ class OpcDataController extends Controller
|
|
];
|
|
];
|
|
$dataArr['compressed_air'][$devNum][$jsonKey][] = $valArr;
|
|
$dataArr['compressed_air'][$devNum][$jsonKey][] = $valArr;
|
|
} else if ($jsonKey == 'warn_state') {
|
|
} else if ($jsonKey == 'warn_state') {
|
|
- $valArr = [
|
|
|
|
- 'label' => $label, // 标题
|
|
|
|
- 'state' => $devVal, // 值
|
|
|
|
- 'unit' => $unit // 单位
|
|
|
|
- ];
|
|
|
|
- $dataArr['compressed_air'][$devNum][$jsonKey][] = $valArr;
|
|
|
|
|
|
+
|
|
|
|
+ if ($getMineCode == 'qingshuiying' && mb_substr($label, -1) == '阀') {
|
|
|
|
+ $valArr = [
|
|
|
|
+ 'label' => $label, // 标题
|
|
|
|
+ 'state' => $devVal > 15 ? 1 : 2, // 值
|
|
|
|
+ 'unit' => $unit // 单位
|
|
|
|
+ ];
|
|
|
|
+ $dataArr['compressed_air'][$devNum][$jsonKey][] = $valArr;
|
|
|
|
+ } else {
|
|
|
|
+ $valArr = [
|
|
|
|
+ 'label' => $label, // 标题
|
|
|
|
+ 'state' => $devVal, // 值
|
|
|
|
+ 'unit' => $unit // 单位
|
|
|
|
+ ];
|
|
|
|
+ $dataArr['compressed_air'][$devNum][$jsonKey][] = $valArr;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
@@ -449,25 +477,35 @@ class OpcDataController extends Controller
|
|
}
|
|
}
|
|
|
|
|
|
// 制氮
|
|
// 制氮
|
|
- public function getNitrogenData($dbResult) {
|
|
|
|
|
|
+ public function getNitrogenData($dbResult, $getMineCode) {
|
|
|
|
|
|
$dataArr = array();
|
|
$dataArr = array();
|
|
$valDict = array();
|
|
$valDict = array();
|
|
$state = 2;
|
|
$state = 2;
|
|
-
|
|
|
|
|
|
+ // dd($dbResult);
|
|
foreach ($dbResult as $key => $val) {
|
|
foreach ($dbResult as $key => $val) {
|
|
- $devName = $val->dev_type_name; // 泵名
|
|
|
|
|
|
+ $devName = $val->dev_type_name; // 设备名
|
|
$rowNumber = $val->row_number; // 排序
|
|
$rowNumber = $val->row_number; // 排序
|
|
$jsonKey = $val->json_key; // json键值
|
|
$jsonKey = $val->json_key; // json键值
|
|
$label = $val->device_name; // 设备名
|
|
$label = $val->device_name; // 设备名
|
|
- $devTypeNum = $val->dev_type_id; // 设备号
|
|
|
|
|
|
+ $devTypeNum = $val->dev_type_id - 1; // 设备号
|
|
$devNum = $val->device_num - 1; // 设备号
|
|
$devNum = $val->device_num - 1; // 设备号
|
|
$unit = $val->unit; // 单位
|
|
$unit = $val->unit; // 单位
|
|
$devVal = $val->val; // 数值
|
|
$devVal = $val->val; // 数值
|
|
-
|
|
|
|
|
|
+
|
|
if ($jsonKey == 'state') {
|
|
if ($jsonKey == 'state') {
|
|
- $dataArr[$devNum]['state'] = $devVal;
|
|
|
|
- $dataArr[$devNum]['name'] = $devName;
|
|
|
|
|
|
+ if($getMineCode == 'qingshuiying') {
|
|
|
|
+ if(isset($dataArr[$devTypeNum]['state'])) {
|
|
|
|
+ $dataArr[$devTypeNum]['state'] = min($dataArr[$devTypeNum]['state'], $devVal);
|
|
|
|
+ $dataArr[$devTypeNum]['name'] = $devName;
|
|
|
|
+ } else {
|
|
|
|
+ $dataArr[$devTypeNum]['state'] = 2;
|
|
|
|
+ $dataArr[$devTypeNum]['name'] = $devName;
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ $dataArr[$devNum]['state'] = $devVal;
|
|
|
|
+ $dataArr[$devNum]['name'] = $devName;
|
|
|
|
+ }
|
|
} else if ($jsonKey == 'run_parameter' || $jsonKey == 'cold_dryer') {
|
|
} else if ($jsonKey == 'run_parameter' || $jsonKey == 'cold_dryer') {
|
|
$valArr = [
|
|
$valArr = [
|
|
'label' => $label, // 标题
|
|
'label' => $label, // 标题
|