diff --git a/app/Http/Controllers/ActivityController.php b/app/Http/Controllers/ActivityController.php index 74bb5f7..816e1e8 100644 --- a/app/Http/Controllers/ActivityController.php +++ b/app/Http/Controllers/ActivityController.php @@ -30,31 +30,44 @@ class ActivityController extends Controller */ - public function progres_activity() - { - // Ambil user yang sedang login - $user = auth()->user(); - $roles = $user->load('roles'); - $regionId = null; + public function progres_activity() + { + // Ambil user yang sedang login + $user = auth()->user(); + $roles = $user->load('roles'); - // Cek apakah user memiliki role 'senior officer' - if ($roles->roles->pluck('name')->contains('senior officer')) { - $regionId = TeamsUsers::with('team.regions') - ->where('user_id', $user->id) - ->first()?->team->regions_id; - } + // Inisialisasi regionId dan teamId sebagai null agar bisa dinamis + $regionId = null; + $teamId = null; - $teamsActivity = TeamsUsers::with(['user', 'team', 'team.regions']) - ->whereHas('team', function ($q) use ($regionId) { - if ($regionId) { - $q->where('regions_id', $regionId); - } - }) - ->where('user_id', '!=', $user->id) - ->get(); + if ($roles->roles->pluck('name')->contains('senior-officer')) { + $userTeam = TeamsUsers::with('team') + ->where('user_id', $user->id) + ->first(); + $regionId = $userTeam?->team->regions_id; + $teamId = $userTeam?->teams_id; + + } + + $teamsActivity = TeamsUsers::with(['user', 'team', 'team.regions', 'user.roles']) + ->whereHas('team', function ($q) use ($regionId, $teamId) { + if ($regionId) { + $q->where('regions_id', $regionId); + } + if ($teamId) { + $q->where('id', $teamId); // Hanya tim yang sama + } + }) + ->where('user_id', '!=', $user->id) + ->whereHas('user.roles', function ($query) { + // Filter hanya peran 'surveyor' atau 'surveyor-penilai' + $query->whereIn('name', ['surveyor', 'surveyor-penilai']); + }) + ->get(); + + return view('lpj::activity.progres_activity.index', compact('teamsActivity')); + } - return view('lpj::activity.progres_activity.index', compact('teamsActivity')); - } public function senior() @@ -194,13 +207,23 @@ class ActivityController extends Controller public function dataTablesForActivity(Request $request, $id) { + + if (is_null($this->user) || !$this->user->can('debitur.view')) { + // abort(403, 'Sorry! You are not allowed to view users.'); + } // Query Penilaian dengan relasi yang diperlukan - $query = Penilaian::with(['permohonan', 'permohonan.debiture', 'permohonan.tujuanPenilaian', 'permohonan.debiture.documents.jenisJaminan']) - ->where(function($q) use ($id) { - $q->where('surveyor_id', $id) - ->orWhere('penilaian_id', $id) - ->orWhere('penilai_surveyor_id', $id); - }); + $query = Penilaian::with([ + 'permohonan', + 'permohonan.debiture', + 'permohonan.tujuanPenilaian', + 'permohonan.debiture.documents.jenisJaminan', + 'userPenilai' + ]) + ->whereHas('userPenilai', function ($q) use ($id) { + $q->where('user_id', $id); + }); + + // Filter pencarian if ($request->has('search') && !empty($request->get('search'))) { diff --git a/app/Http/Controllers/PenilaianController.php b/app/Http/Controllers/PenilaianController.php index c25f341..c0730a6 100644 --- a/app/Http/Controllers/PenilaianController.php +++ b/app/Http/Controllers/PenilaianController.php @@ -5,14 +5,18 @@ namespace Modules\Lpj\Http\Controllers; use App\Http\Controllers\Controller; use Exception; use Illuminate\Http\Request; +use Illuminate\Support\Facades\DB; use Modules\Lpj\Http\Requests\PenilaianRequest; use Modules\Lpj\Models\JenisPenilaian; use Modules\Lpj\Models\Penilaian; +use Modules\Lpj\Models\PenilaianTeam; use Modules\Lpj\Models\Permohonan; use Modules\Lpj\Models\StatusPermohonan; use Modules\Lpj\Models\Teams; +use Modules\Lpj\Models\Regions; use Modules\Lpj\Models\TeamsUsers; use Modules\Usermanagement\Models\User; +use Illuminate\Support\Facades\Auth; class PenilaianController extends Controller { @@ -37,17 +41,84 @@ class PenilaianController extends Controller if ($validatedData) { try { - $penilaian = Penilaian::create($validatedData); + DB::beginTransaction(); + + $penilaian = Penilaian::create($validatedData); + $validatedData['penilaian_id'] = $penilaian->id; + + $teams_ids = []; + $user_ids = []; + $roles = []; + + if ($validatedData['surveyor_id'] === 'pilih_dari_region') { + $surveyor_region_id = $validatedData['surveyor_region_id']; + + // Hapus team_id sebelumnya di Permohonan jika ada + $permohonan = Permohonan::where('nomor_registrasi', $request->nomor_registrasi)->first(); + if ($permohonan) { + $permohonan->update([ + 'region_id' => $surveyor_region_id, + ]); + } + + $teams_ids[] = $surveyor_region_id; + $user_ids[] = null; + $roles[] = 'surveyor'; + } else { + $permohonan = Permohonan::where('nomor_registrasi', $request->nomor_registrasi)->first(); + $teams_ids[] = $validatedData['teams_id']; + $user_ids[] = $validatedData['surveyor_id']; + $roles[] = 'surveyor'; + + } + + if ($validatedData['penilai_id'] === 'pilih_dari_region') { + $penilaian_region_id = $validatedData['penilai_region_id']; + + // Hapus team_id sebelumnya di Permohonan jika ada + $permohonan = Permohonan::where('nomor_registrasi', $request->nomor_registrasi)->first(); + if ($permohonan) { + $permohonan->update([ + 'region_id' => $penilaian_region_id, + ]); + } + + $teams_ids[] = $penilaian_region_id; + $user_ids[] = null; + $roles[] = 'penilai'; + } else { + $permohonan = Permohonan::where('nomor_registrasi', $request->nomor_registrasi)->first(); + $teams_ids[] = $validatedData['teams_id']; + $user_ids[] = $validatedData['penilai_id']; + $roles[] = 'penilai'; + + } + + foreach ($teams_ids as $key => $teams_id) { + PenilaianTeam::create([ + 'penilaian_id' => $validatedData['penilaian_id'], + 'team_id' => $teams_id, + 'user_id' => $user_ids[$key], + 'role' => $roles[$key], + ]); + } + + if ($validatedData['surveyor_id'] === 'pilih_dari_region' || $validatedData['penilai_id'] === 'pilih_dari_region') { + $status = 'registered'; + } else { + $status = 'assign'; + } - $permohonan = Permohonan::where('nomor_registrasi', $request->nomor_registrasi); $permohonan->update([ - 'status' => 'assign', + 'status' => $status, ]); + DB::commit(); + return redirect()->route('penilaian.index')->with('success', 'Penilaian berhasil disimpan'); } catch (Exception $e) { - - return redirect()->route('penilaian.index')->with('error', $e->getMessage()); + DB::rollBack(); + return response()->json(array('error' => $e->getMessage())); } } } @@ -63,22 +134,43 @@ class PenilaianController extends Controller /** * Update the specified resource in storage. */ - public function update(PenilaianRequest $request, $id) + public function update(Request $request, $id) { - $validate = $request->validated(); - if ($validate) { - try { - $penilaian = Penilaian::where('nomor_registrasi', $request->nomor_registrasi)->firstOrFail(); - $penilaian->update($validate); - $permohonan = Permohonan::where('nomor_registrasi', $request->nomor_registrasi); - $permohonan->update([ - 'status' => 'assign', - ]); + try { + DB::beginTransaction(); + $penilaian = Penilaian::where('nomor_registrasi', $request->nomor_registrasi)->first(); + + $penilaianId = $penilaian->id; + + $penilainTeam = PenilaianTeam::where('penilaian_id', $penilaianId)->get(); + + + foreach ($penilainTeam as $item) { + if ($item->role === 'surveyor' && $item->user_id === null) { + $item->update([ + 'user_id' => $request->surveyor_id, + 'role' => 'surveyor', + ]); + } + + if ($item->role === 'penilai' && $item->user_id === null) { + $item->update([ + 'user_id' => $request->penilai_id, + 'role' => 'penilai', + ]); + } - return redirect()->route('penilaian.index', $id)->with('success', 'Penilaian berhasil diubah'); - } catch (Exception $e) { - return redirect()->route('penilaian.index', $id)->with('error', $e->getMessage()); } + + $permohonan = Permohonan::where('nomor_registrasi', $request->nomor_registrasi); + $permohonan->update([ + 'status' => 'assign', + ]); + DB::commit(); + return redirect()->route('penilaian.index')->with('success', 'Penilaian berhasil disimpan'); + } catch (Exception $e) { + DB::rollBack(); + return response()->json(array('error' => $e->getMessage())); } } @@ -87,29 +179,36 @@ class PenilaianController extends Controller */ public function assignment($id) { - $permohonan = Permohonan::with( - [ - 'user', - 'debiture.province', - 'debiture.city', - 'debiture.district', - 'debiture.village', - 'branch', - 'tujuanPenilaian', - ], - )->findOrFail($id); + $permohonan = Permohonan::with([ + 'user', + 'debiture.province', + 'debiture.city', + 'debiture.district', + 'debiture.village', + 'branch', + 'tujuanPenilaian', + ])->findOrFail($id); - $idPenilaian = $permohonan->jenis_penilaian_id; + $idPenilaian = $permohonan->jenis_penilaian_id; $idRegion = $permohonan->region_id; $jenisPenilaian = JenisPenilaian::find($idPenilaian); + $userTeam = Teams::with(['regions', 'teamsUsers.user']) + ->whereHas('regions', function ($q) use ($idRegion) { + $q->where('id', $idRegion); + }) + ->get(); - $teamPenilai = Teams::with(['regions', 'teamsUsers', 'teamsUsers.user']) - ->whereHas('regions', function ($q) use ($idRegion) { - $q->where('id', $idRegion); - })->get(); - + $teamPenilai = $userTeam->flatMap(function ($team) { + return $team->teamsUsers->filter(function ($teamUser) { + return $teamUser->user->roles->contains(function ($role) { + return $role->name === 'surveyor' || $role->name === 'surveyor-penilai'; + }); + })->map(function ($teamUser) { + return $teamUser->user; + }); + })->unique('id'); $existingTeamIds = $teamPenilai->pluck('id')->toArray(); @@ -117,19 +216,29 @@ class PenilaianController extends Controller ->whereNotIn('id', $existingTeamIds) ->get(); - $regionName = null; - foreach ($teamPenilai as $item) { + foreach ($userTeam as $item) { $regionName = $item->regions; } + // $regionName = $userTeam->first()?->regions->name; + - // dd($teamPenilai); $penilaian = Penilaian::where('nomor_registrasi', $permohonan->nomor_registrasi)->first(); - return view('lpj::penilaian.form', compact('permohonan', 'teamPenilai', 'jenisPenilaian', 'penilaian', 'regionName', 'updateTeamPenilai')); - } + $penilaianTeam = collect(); + if ($penilaian && $penilaian->id) { + $penilaianTeam = PenilaianTeam::where('penilaian_id', $penilaian->id)->get(); + } + + // return response()->json([ + // 'penilaianTeam' => $penilaianTeam + // ]); + + + return view('lpj::penilaian.form', compact('permohonan', 'teamPenilai', 'jenisPenilaian', 'penilaian', 'regionName', 'updateTeamPenilai', 'penilaianTeam')); + } /** * Remove the specified resource from storage. */ @@ -167,8 +276,9 @@ class PenilaianController extends Controller public function dataForDatatables(Request $request) { + if (is_null($this->user) || !$this->user->can('debitur.view')) { - // abort(403, 'Sorry! You are not allowed to view users.'); + } $query = Permohonan::query(); @@ -187,6 +297,9 @@ class PenilaianController extends Controller } $query->whereRaw('LOWER(status) = ?', ['registered']); + $query->whereHas('region.teams.teamsUsers.user', function ($q) { + $q->where('id', Auth::user()->id); + }); if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) { $order = $request->get('sortOrder'); @@ -209,7 +322,7 @@ class PenilaianController extends Controller } $filteredRecords = $query->count(); - $data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get(); + $data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'region.teams.teamsUsers.user'])->get(); $pageCount = ceil($totalRecords / $size); @@ -312,7 +425,7 @@ class PenilaianController extends Controller if (!empty($otorisator)) { if ($status == 'proses') { $query->whereIn('status_bayar', ['sudah_bayar', 'belum_bayar']); - }else{ + } else { $query->whereRaw('LOWER(status) = ?', [strtolower($status)]); } } diff --git a/app/Http/Controllers/SurveyorController.php b/app/Http/Controllers/SurveyorController.php index d4e30df..c9ff799 100644 --- a/app/Http/Controllers/SurveyorController.php +++ b/app/Http/Controllers/SurveyorController.php @@ -6,6 +6,7 @@ use App\Http\Controllers\Controller; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\Auth; use Illuminate\Http\Response; use Modules\Lpj\Models\Permohonan; use Modules\Lpj\Models\Branch; @@ -47,6 +48,7 @@ use Modules\Lpj\Http\Requests\FormSurveyorRequest; class SurveyorController extends Controller { public $user; + /** * Display a listing of the resource. */ @@ -118,6 +120,8 @@ class SurveyorController extends Controller ->where('permohonan_id', $id) ->get(); + + return view('lpj::surveyor.detail', compact( 'buttonDisable', 'fotojaminan', @@ -513,6 +517,11 @@ class SurveyorController extends Controller $query->whereRaw('LOWER(status) = ?', ['assign']); + $query->whereHas('region.teams.teamsUsers.user', function ($q) { + $q->where('id', Auth::user()->id); + }); + + if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) { $order = $request->get('sortOrder'); $column = $request->get('sortField'); @@ -614,7 +623,6 @@ class SurveyorController extends Controller 'golMasySekitar', 'tingkatKeramaian', 'laluLintasLokasi' - )); } @@ -693,7 +701,7 @@ class SurveyorController extends Controller $spekKategoriBagunan = SpekKategoritBangunan::all(); $header = $this->getHeader($type); - return view('lpj::surveyor.data.form', compact('header','spekKategoriBagunan')); + return view('lpj::surveyor.data.form', compact('header', 'spekKategoriBagunan')); } @@ -713,7 +721,7 @@ class SurveyorController extends Controller ->with('error', 'Invalid type specified.'); } - if($type == 'spek-bangunan') { + if ($type == 'spek-bangunan') { $validate['spek_kategori_bagunan_id'] = $request->spek_kategori_bagunan_id; } @@ -764,7 +772,7 @@ class SurveyorController extends Controller } - return view('lpj::surveyor.data.form', compact('header', 'model','spekKategoriBagunan')); + return view('lpj::surveyor.data.form', compact('header', 'model', 'spekKategoriBagunan')); } @@ -774,7 +782,7 @@ class SurveyorController extends Controller if ($validate) { $modelClass = $this->getModelClass($type); - if($type == 'spek-bangunan') { + if ($type == 'spek-bangunan') { $validate['spek_kategori_bagunan_id'] = $request->spek_kategori_bagunan_id; } @@ -931,6 +939,8 @@ class SurveyorController extends Controller public function submitSurveyor(Request $request, $id) { + + $permohonan = Permohonan::find($id); $permohonan->update([ 'status' => 'done', @@ -942,6 +952,11 @@ class SurveyorController extends Controller } + public function validateSubmit(){ + + } + + private function getModelClass(string $type): ?string { return $this->modelClasses[$type] ?? null; diff --git a/app/Http/Controllers/TeamsController.php b/app/Http/Controllers/TeamsController.php index a6eb9ca..c699c81 100644 --- a/app/Http/Controllers/TeamsController.php +++ b/app/Http/Controllers/TeamsController.php @@ -43,7 +43,7 @@ class TeamsController extends Controller $user = $usersWithRole->filter(function ($user) { return $user->roles->contains(function ($role) { - return $role->name === 'surveyor' || $role->name === 'surveyor-penilai'; + return $role->name === 'surveyor' || $role->name === 'surveyor-penilai' || $role->name === 'senior-officer'; }); }); @@ -112,7 +112,7 @@ class TeamsController extends Controller $user = $usersWithRole->filter(function ($user) { return $user->roles->contains(function ($role) { - return $role->name === 'surveyor' || $role->name === 'surveyor-penilai'; + return $role->name === 'surveyor' || $role->name === 'surveyor-penilai' || $role->name === 'senior-officer'; }); }); diff --git a/app/Http/Requests/PenilaianRequest.php b/app/Http/Requests/PenilaianRequest.php index 0d9c1bf..af33782 100644 --- a/app/Http/Requests/PenilaianRequest.php +++ b/app/Http/Requests/PenilaianRequest.php @@ -33,9 +33,12 @@ class PenilaianRequest extends FormRequest 'tanggal_kunjungan' => 'required|max:255', 'status' => 'required|string', 'nomor_registrasi' => 'required|string', - 'surveyor_id' => 'nullable|required_without:penilai_surveyor_id', - 'penilaian_id' => 'nullable|required_without:penilai_surveyor_id', - 'penilai_surveyor_id' => 'nullable|required_without_all:surveyor_id,penilaian_id', + 'surveyor_id' => 'nullable| required_without:penilai_surveyor_id', + 'penilai_id' => 'nullable|required_without:penilai_surveyor_id', + 'penilai_surveyor_id' => 'nullable|required_without_all:surveyor_id,penilai_id', + 'surveyor_region_id' => 'nullable|required_without:surveyor_id', + 'penilai_region_id' => 'nullable|required_without:penilai_id', + 'keterangan' => 'nullable', ]; } diff --git a/app/Models/Penilaian.php b/app/Models/Penilaian.php index cb2f44c..b77937a 100644 --- a/app/Models/Penilaian.php +++ b/app/Models/Penilaian.php @@ -17,7 +17,7 @@ class Penilaian extends Model */ protected $table = 'penilaian'; protected $fillable = [ - 'jenis_penilaian_id', 'teams_id', 'tanggal_kunjungan', 'keterangan','nomor_registrasi','penilaian_id','surveyor_id','penilai_surveyor_id', + 'jenis_penilaian_id', 'tanggal_kunjungan', 'keterangan','nomor_registrasi', 'status', 'authorized_status', 'authorized_at', 'authorized_by', 'created_at', 'created_by', 'updated_at', 'updated_by', 'deleted_at', 'deleted_by' ]; @@ -39,18 +39,9 @@ class Penilaian extends Model public function userPenilai() { - return $this->belongsTo(User::class, 'penilaian_id', 'id'); + return $this->hasMany(PenilaianTeam::class, 'penilaian_id', 'id'); } - public function userSurveyor() - { - return $this->belongsTo(User::class, 'surveyor_id', 'id'); - } - - public function userPenilaiSurveyor() - { - return $this->belongsTo(User::class, 'penilai_surveyor_id', 'id'); - } public function permohonan() { diff --git a/app/Models/PenilaianTeam.php b/app/Models/PenilaianTeam.php new file mode 100644 index 0000000..8df88ef --- /dev/null +++ b/app/Models/PenilaianTeam.php @@ -0,0 +1,39 @@ +belongsTo(User::class, 'user_id', 'id'); + } + + public function team(){ + + return $this->belongsTo(Team::class, 'team_id', 'id'); + } + + public function penilaian(){ + + return $this->belongsTo(Penilaian::class, 'penilaian_id', 'id'); + } + + protected static function newFactory(): PenilaianTeamFactory + { + //return PenilaianTeamFactory::new(); + } +} diff --git a/app/Models/Permohonan.php b/app/Models/Permohonan.php index 8e4676b..8f6b0bd 100644 --- a/app/Models/Permohonan.php +++ b/app/Models/Permohonan.php @@ -83,4 +83,9 @@ class Permohonan extends Base { return $this->belongsTo(Penilaian::class, 'nomor_registrasi', 'nomor_registrasi'); } + + public function region() + { + return $this->belongsTo(Regions::class, 'region_id'); + } } diff --git a/app/Models/Teams.php b/app/Models/Teams.php index 0fd48a8..1348a6c 100644 --- a/app/Models/Teams.php +++ b/app/Models/Teams.php @@ -30,8 +30,8 @@ class Teams extends Model return $this->hasMany(TeamsUsers::class, 'teams_id', 'id'); } - public function penilaian(){ - return $this->hasMany(Penilaian::class, 'teams_id', 'id'); + public function penilaianTeam(){ + return $this->hasMany(penilaianTeam::class, 'team_id', 'id'); } diff --git a/database/migrations/2024_10_31_024227_create_kategori_jenis_aset_table.php b/database/migrations/2024_10_31_024227_create_kategori_jenis_aset_table.php new file mode 100644 index 0000000..50b5cb3 --- /dev/null +++ b/database/migrations/2024_10_31_024227_create_kategori_jenis_aset_table.php @@ -0,0 +1,37 @@ +id(); + $table->string('name'); + $table->string('code'); + $table->boolean('status')->default(true); + $table->char('authorized_status', 1)->nullable(); + $table->timestamps(); + $table->timestamp('authorized_at')->nullable(); + $table->unsignedBigInteger('authorized_by')->nullable(); + $table->softDeletes(); + $table->unsignedBigInteger('created_by')->nullable(); + $table->unsignedBigInteger('updated_by')->nullable(); + $table->unsignedBigInteger('deleted_by')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('kategori_jenis_aset'); + } +}; diff --git a/database/migrations/2024_10_31_032505_update_penilaian_table.php b/database/migrations/2024_10_31_032505_update_penilaian_table.php new file mode 100644 index 0000000..53d1715 --- /dev/null +++ b/database/migrations/2024_10_31_032505_update_penilaian_table.php @@ -0,0 +1,38 @@ +dropColumn('teams_id'); + + + $table->dropColumn('surveyor_id'); + $table->dropColumn('penilaian_id'); + + $table->dropColumn('penilai_surveyor_id'); + + }); + } + + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('penilaian', function (Blueprint $table) { + $table->foreignIdFor(Teams::class); + $table->foreignIdFor(User::class); + }); + } +}; diff --git a/database/migrations/2024_10_31_032940_create_penilai_team_table.php b/database/migrations/2024_10_31_032940_create_penilai_team_table.php new file mode 100644 index 0000000..db287b2 --- /dev/null +++ b/database/migrations/2024_10_31_032940_create_penilai_team_table.php @@ -0,0 +1,38 @@ +id(); + $table->unsignedBigInteger('penilaian_id'); + $table->unsignedBigInteger('team_id'); + $table->unsignedBigInteger('user_id'); + $table->string('role'); + $table->boolean('status')->default(true); + $table->char('authorized_status', 1)->nullable(); + $table->timestamps(); + $table->timestamp('authorized_at')->nullable(); + $table->unsignedBigInteger('authorized_by')->nullable(); + $table->softDeletes(); + $table->unsignedBigInteger('created_by')->nullable(); + $table->unsignedBigInteger('updated_by')->nullable(); + $table->unsignedBigInteger('deleted_by')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('penilai_team'); + } +}; diff --git a/database/migrations/2024_11_01_081201_create_kategori_form_analisa_inspeksi_table.php b/database/migrations/2024_11_01_081201_create_kategori_form_analisa_inspeksi_table.php new file mode 100644 index 0000000..7b14758 --- /dev/null +++ b/database/migrations/2024_11_01_081201_create_kategori_form_analisa_inspeksi_table.php @@ -0,0 +1,38 @@ +id(); + $table->string('name'); + $table->string('code'); + $table->foreign('kategori_jenis_aset_id')->references('id')->on('kategori_jenis_aset'); + $table->boolean('status')->default(true); + $table->char('authorized_status', 1)->nullable(); + $table->timestamps(); + $table->timestamp('authorized_at')->nullable(); + $table->unsignedBigInteger('authorized_by')->nullable(); + $table->softDeletes(); + $table->unsignedBigInteger('created_by')->nullable(); + $table->unsignedBigInteger('updated_by')->nullable(); + $table->unsignedBigInteger('deleted_by')->nullable(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('kategori_form_analisa_inspeksi'); + } +}; diff --git a/database/migrations/2024_11_01_081225_create_label_name_inspeksi_table.php b/database/migrations/2024_11_01_081225_create_label_name_inspeksi_table.php new file mode 100644 index 0000000..814024d --- /dev/null +++ b/database/migrations/2024_11_01_081225_create_label_name_inspeksi_table.php @@ -0,0 +1,28 @@ +id(); + + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('label_name_inspeksi'); + } +}; diff --git a/resources/views/activity/progres_activity/index.blade.php b/resources/views/activity/progres_activity/index.blade.php index 67942a7..6bf9a2b 100644 --- a/resources/views/activity/progres_activity/index.blade.php +++ b/resources/views/activity/progres_activity/index.blade.php @@ -46,14 +46,14 @@ @php $sortedTeamsActivity = $teamsActivity->sortBy(function ($item) { - return $item->team->penilaian - ->filter(function ($penilaian) use ($item) { - return $penilaian->penilaian_id == $item->user->id || - $penilaian->surveyor_id == $item->user->id || - $penilaian->penilai_surveyor_id == $item->user->id; + + return $item->team->penilaianTeam + ->filter(function ($penilaianTeam) use ($item) { + return $penilaianTeam->user_id == $item->user->id; }) ->count(); }); + @endphp @foreach ($sortedTeamsActivity as $index => $item) @@ -70,11 +70,9 @@