添加设备预警数统计
parent
7a574df4fc
commit
b7ab24d0dc
|
|
@ -7,6 +7,7 @@ use App\Http\Resources\DeviceWarningResource;
|
||||||
use App\Models\DeviceWarning;
|
use App\Models\DeviceWarning;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Peidikeji\Setting\Models\Setting;
|
use Peidikeji\Setting\Models\Setting;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
|
||||||
class DeviceWarningController extends Controller
|
class DeviceWarningController extends Controller
|
||||||
{
|
{
|
||||||
|
|
@ -66,4 +67,19 @@ class DeviceWarningController extends Controller
|
||||||
|
|
||||||
return $this->json(DeviceWarningResource::collection($list));
|
return $this->json(DeviceWarningResource::collection($list));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取预警数量
|
||||||
|
*/
|
||||||
|
public function warningLogNum(Request $request){
|
||||||
|
$list = DeviceWarning::filter($request->input())
|
||||||
|
->select(DB::raw('lv, count(1) as num'))
|
||||||
|
->groupBy('lv')
|
||||||
|
->get()
|
||||||
|
->pluck('num', 'lv')->toArray();
|
||||||
|
for($i = 1; $i <= 4; $i++) {
|
||||||
|
$data[$i] = $list[$i] ?? 0;
|
||||||
|
}
|
||||||
|
return $this->json($data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,10 @@ class DeviceWarningFilter extends ModelFilter
|
||||||
return $this->where('base_id', $base);
|
return $this->where('base_id', $base);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function device($device){
|
||||||
|
return $this->where('device_id', $device);
|
||||||
|
}
|
||||||
|
|
||||||
public function status($status)
|
public function status($status)
|
||||||
{
|
{
|
||||||
return $this->where('status', $status);
|
return $this->where('status', $status);
|
||||||
|
|
|
||||||
|
|
@ -14,4 +14,8 @@ class DeviceWarning extends Model
|
||||||
'device_id', 'base_id', 'lv', 'content', 'status', 'remarks',
|
'device_id', 'base_id', 'lv', 'content', 'status', 'remarks',
|
||||||
'linkos_device_id', 'linkos_reported_at',
|
'linkos_device_id', 'linkos_reported_at',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
public function base(){
|
||||||
|
return $this->belongsTo(AgriculturalBase::class, 'base_id');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -52,6 +52,7 @@ Route::group(['middleware' => 'auth:sanctum'], function () {
|
||||||
Route::get('device-warning-rules', [DeviceWarningController::class, 'rules']); //预警规则
|
Route::get('device-warning-rules', [DeviceWarningController::class, 'rules']); //预警规则
|
||||||
Route::put('device-warning-rules', [DeviceWarningController::class, 'updateRule']); //预警规则
|
Route::put('device-warning-rules', [DeviceWarningController::class, 'updateRule']); //预警规则
|
||||||
Route::get('device-warning-logs', [DeviceWarningController::class, 'warningLog']);
|
Route::get('device-warning-logs', [DeviceWarningController::class, 'warningLog']);
|
||||||
|
Route::get('device-warning-nums', [DeviceWarningController::class, 'warningLogNum']);
|
||||||
|
|
||||||
//友情链接
|
//友情链接
|
||||||
Route::apiResource('friend-links', FriendLinkController::class)->only(['index'])->names('friend_links');
|
Route::apiResource('friend-links', FriendLinkController::class)->only(['index'])->names('friend_links');
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue