添加设备预警数统计

dev
vine_liutk 2022-11-09 16:16:54 +08:00
parent 7a574df4fc
commit b7ab24d0dc
4 changed files with 25 additions and 0 deletions

View File

@ -7,6 +7,7 @@ use App\Http\Resources\DeviceWarningResource;
use App\Models\DeviceWarning;
use Illuminate\Http\Request;
use Peidikeji\Setting\Models\Setting;
use Illuminate\Support\Facades\DB;
class DeviceWarningController extends Controller
{
@ -66,4 +67,19 @@ class DeviceWarningController extends Controller
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);
}
}

View File

@ -11,6 +11,10 @@ class DeviceWarningFilter extends ModelFilter
return $this->where('base_id', $base);
}
public function device($device){
return $this->where('device_id', $device);
}
public function status($status)
{
return $this->where('status', $status);

View File

@ -14,4 +14,8 @@ class DeviceWarning extends Model
'device_id', 'base_id', 'lv', 'content', 'status', 'remarks',
'linkos_device_id', 'linkos_reported_at',
];
public function base(){
return $this->belongsTo(AgriculturalBase::class, 'base_id');
}
}

View File

@ -52,6 +52,7 @@ Route::group(['middleware' => 'auth:sanctum'], function () {
Route::get('device-warning-rules', [DeviceWarningController::class, 'rules']); //预警规则
Route::put('device-warning-rules', [DeviceWarningController::class, 'updateRule']); //预警规则
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');