<?php

namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller;
use App\Http\Controllers\GetDataApiController;
use App\Models\Kelompok;
use App\Models\Periode;
use Illuminate\Http\Request;

class DosenController extends Controller
{

    public function getDosen(Request $request)
    {
        $keyword    = $request->q;
        $getDosen   = GetDataApiController::getDosen();

        $total_count = 0;
        $incomplete_results =  true;

        $periode = Periode::where('status', '1')->first();

        $items = [];
        if (empty($getDosen)) {

            $items = array();

        } else {
            $no = 0;
            foreach ($getDosen['data'] as $key => $item) {

                if(str_contains(strtolower($item['nm_sdm']), strtolower($keyword))){
                    $jumlah_bimbingan = Kelompok::where('id_sdm', $item['id_sdm'])
                                        ->where('periode_id', $periode->periode_id)
                                        ->where('status_hapus', '0')
                                        ->where('kirim', 1)
                                        ->whereYear('created_at', $periode->nama)
                                        ->count();

                    $slot_tersisa = max(0, 15 - $jumlah_bimbingan);
                    $status_slot = $slot_tersisa == 0 ? '<span style="color: red; font-weight: bold;">(Slot Bimbingan Penuh)</span>' : "(Slot Bimbingan: $slot_tersisa slot)";

                    $itemData = [
                        'id' => encrypt($item['id_sdm'].'_'.$item['nm_sdm'].'_'.$item['nidn']),
                        'full_name' => $item['nm_sdm'],
                        // 'description' => $item['prodi'] . '<span style="margin-left: 2em">-</span><i style="margin-left: 2em">(Slot Bimbingan: ' . (10-$jumlah_bimbingan) . ' slot)</i>',
                        'description' => $item['prodi'] . '<span style="margin-left: 2em">-</span><i style="margin-left: 2em">' . $status_slot . '</i>',
                        'nidn' => $item['nidn'],
                        'bimbingan_count' => $jumlah_bimbingan,
                        'disabled' => $jumlah_bimbingan >= 15 ? true : false,
                    ];

                    $items[] = $itemData;

                    $total_count = $total_count + 1;
                }
            }
        }

        $data = [
            'total_count' => $total_count,
            'incomplete_results' => false,
            'items' => $items,
        ];

        // dd($data);
        return response()->json($data);
        // return response($data, 200);
    }
}
