145 lines
6.1 KiB
PHP
145 lines
6.1 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\AkademisiDetails;
|
|
use App\Models\InvestorDetails;
|
|
use App\Models\KomunitasDetails;
|
|
use App\Models\PemerintahDetails;
|
|
use App\Models\PenawaranProject;
|
|
use App\Models\permohonanPelatihan;
|
|
use App\Models\permohonanPendanaan;
|
|
use App\Models\permohonanProject;
|
|
use App\Models\permohonanProyekInvestor;
|
|
use App\Models\permohonanRiset;
|
|
use App\Models\Project;
|
|
use App\Models\UmkmDetails;
|
|
use Illuminate\Http\Request;
|
|
|
|
class LandingPageController extends Controller
|
|
{
|
|
// public function index(Request $request)
|
|
// {
|
|
// // Query builder untuk proyek
|
|
// $query = permohonanProject::query();
|
|
|
|
// // Menambahkan filter jika ada parameter
|
|
// if ($request->has('judul_project') && $request->input('judul_project') != '') {
|
|
// $query->where('judul_project', 'like', '%' . $request->input('judul_project') . '%');
|
|
// }
|
|
|
|
// if ($request->has('bidang') && $request->input('bidang') != '') {
|
|
// $query->where('bidang_sub_sektor_ekonomi_kreatif', 'like', '%' . $request->input('bidang') . '%');
|
|
// }
|
|
|
|
// if ($request->has('tanggal_mulai') && $request->input('tanggal_mulai') != '') {
|
|
// $query->whereDate('tanggal_mulai', '>=', $request->input('tanggal_mulai'));
|
|
// }
|
|
|
|
// if ($request->has('tanggal_berakhir') && $request->input('tanggal_berakhir') != '') {
|
|
// $query->whereDate('tanggal_berakhir', '<=', $request->input('tanggal_berakhir'));
|
|
// }
|
|
|
|
// if ($request->has('kategori') && $request->input('kategori') != '') {
|
|
// $query->where('kategori', $request->input('kategori'));
|
|
// }
|
|
|
|
// if ($request->has('batas_terima_tawaran') && $request->input('batas_terima_tawaran') != '') {
|
|
// $query->whereDate('batas_terima_tawaran', '<=', $request->input('batas_terima_tawaran'));
|
|
// }
|
|
|
|
// // Mengambil proyek yang sudah difilter
|
|
// $projects = $query->get();
|
|
|
|
// // Mengembalikan tampilan dengan data proyek
|
|
// return view('landing page.index', ['projects' => $projects]);
|
|
// }
|
|
|
|
public function index()
|
|
{
|
|
// Menghitung jumlah setiap role
|
|
$jumlah_pemerintah = PemerintahDetails::count();
|
|
$jumlah_umkm = UmkmDetails::count();
|
|
$jumlah_komunitas = KomunitasDetails::count();
|
|
$jumlah_akademisi = AkademisiDetails::count();
|
|
$jumlah_investor = InvestorDetails::count();
|
|
|
|
// Menghitung jumlah penawaran proyek yang statusnya 'berjalan'
|
|
$jumlah_penawaran_project_aktif = PenawaranProject::where('status', 'Berjalan')->count();
|
|
|
|
// Menghitung jumlah penawaran proyek yang statusnya 'berjalan'
|
|
$jumlah_penawaran_project_coming_soon = PenawaranProject::where('status', 'Coming Soon')->count();
|
|
|
|
// Menghitung jumlah permohonan berdasarkan status
|
|
$jumlah_permohonan_project_aktif = [
|
|
'pelatihan' => PermohonanPelatihan::where('status_pelatihan', 'berjalan')->count(),
|
|
'pendanaan' => PermohonanPendanaan::where('status_pendanaan', 'berjalan')->count(),
|
|
'riset' => PermohonanRiset::where('status_riset', 'berjalan')->count(),
|
|
'project_investor' => PermohonanProyekInvestor::where('status_project', 'berjalan')->count(),
|
|
];
|
|
|
|
// Hitung total permohonan project
|
|
$total_permohonan_project_aktif = array_sum($jumlah_permohonan_project_aktif);
|
|
|
|
// Menghitung jumlah permohonan berdasarkan status
|
|
$jumlah_permohonan_project_coming_soon = [
|
|
'pelatihan' => PermohonanPelatihan::where('status_pelatihan', 'coming soon')->count(),
|
|
'pendanaan' => PermohonanPendanaan::where('status_pendanaan', 'coming soon')->count(),
|
|
'riset' => PermohonanRiset::where('status_riset', 'coming soon')->count(),
|
|
'project_investor' => PermohonanProyekInvestor::where('status_project', 'coming soon')->count(),
|
|
];
|
|
|
|
// Hitung total permohonan project
|
|
$total_permohonan_project_coming_soon = array_sum($jumlah_permohonan_project_coming_soon);
|
|
|
|
$PenawaranProjectPendanaan = PenawaranProject::with('pendanaan')->whereHas('pendanaan')->get();
|
|
$PenawaranProjectPelatihan = PenawaranProject::with('pelatihan')->whereHas('pelatihan')->get();
|
|
$PenawaranProjectRiset = PenawaranProject::with('riset')->whereHas('riset')->get();
|
|
|
|
|
|
$PermohonanProjectPelatihan = permohonanProject::with('pelatihan')->whereHas('pelatihan')->get();
|
|
$PermohonanProjectPendanaan = permohonanProject::with('pendanaan')->whereHas('pendanaan')->get();
|
|
$PermohonanProjectRiset = permohonanProject::with('riset')->whereHas('riset')->get();
|
|
|
|
// Menggabungkan kedua koleksi menggunakan union
|
|
$combinedProjectsPelatihan = $PenawaranProjectPelatihan->concat($PermohonanProjectPelatihan);
|
|
$combinedProjectsPendanaan = $PenawaranProjectPendanaan->concat($PermohonanProjectPendanaan);
|
|
$combinedProjectsRiset = $PenawaranProjectRiset->concat($PermohonanProjectRiset);
|
|
|
|
// Mengirim data ke view
|
|
return view('landing page.index', compact(
|
|
'jumlah_pemerintah',
|
|
'jumlah_umkm',
|
|
'jumlah_komunitas',
|
|
'jumlah_akademisi',
|
|
'jumlah_investor',
|
|
'jumlah_penawaran_project_aktif',
|
|
'jumlah_penawaran_project_coming_soon',
|
|
'total_permohonan_project_aktif',
|
|
'total_permohonan_project_coming_soon',
|
|
'PermohonanProjectPelatihan',
|
|
'PermohonanProjectPendanaan',
|
|
'PermohonanProjectRiset',
|
|
'combinedProjectsPelatihan',
|
|
'combinedProjectsPendanaan',
|
|
'combinedProjectsRiset'
|
|
));
|
|
}
|
|
|
|
|
|
|
|
|
|
public function show(string $id)
|
|
{
|
|
// Mencari proyek berdasarkan ID
|
|
$project = permohonanProject::find($id);
|
|
|
|
// Jika proyek ditemukan, tampilkan tampilan detail proyek
|
|
if ($project) {
|
|
return view('landing page.show', compact('project'));
|
|
} else {
|
|
return redirect()->route('landingpage.index')->with('error', 'Project not found');
|
|
}
|
|
}
|
|
}
|