From 86d694bcac5670157889793b0e4fd642adbf4052 Mon Sep 17 00:00:00 2001 From: arifal Date: Tue, 4 Mar 2025 17:56:30 +0700 Subject: [PATCH] add new menu chat bedas and view --- database/seeders/UsersRoleMenuSeeder.php | 18 +++++++++++++ database/view_query/v_advertisements.sql | 21 +++++++++++++++ database/view_query/v_tourism_base_kbli.sql | 8 ++++++ database/view_query/v_tourisms.sql | 29 +++++++++++++++++++++ database/view_query/v_umkms.sql | 28 ++++++++++++++++++++ 5 files changed, 104 insertions(+) create mode 100644 database/view_query/v_advertisements.sql create mode 100644 database/view_query/v_tourism_base_kbli.sql create mode 100644 database/view_query/v_tourisms.sql create mode 100644 database/view_query/v_umkms.sql diff --git a/database/seeders/UsersRoleMenuSeeder.php b/database/seeders/UsersRoleMenuSeeder.php index 867922d..f534ecb 100644 --- a/database/seeders/UsersRoleMenuSeeder.php +++ b/database/seeders/UsersRoleMenuSeeder.php @@ -74,6 +74,13 @@ class UsersRoleMenuSeeder extends Seeder "icon" => "mingcute:report-line", "parent_id" => null, "sort_order" => 6, + ], + [ + "name" => "Neng Bedas", + "url" => "/chat", + "icon" => "mingcute:wechat-line", + "parent_id" => null, + "sort_order" => 7, ] ]; @@ -92,6 +99,7 @@ class UsersRoleMenuSeeder extends Seeder $dataSettings = Menu::where('name', 'Data Settings')->first(); $data = Menu::where('name', 'Data')->first(); $laporan = Menu::where('name', 'Laporan')->first(); + $chat_bedas = Menu::where('name', 'Neng Bedas')->first(); // create children menu $children_menus = [ @@ -221,6 +229,13 @@ class UsersRoleMenuSeeder extends Seeder "parent_id" => $laporan->id, "sort_order" => 2, ], + [ + "name" => "Chat", + "url" => "main-chatbot.index", + "icon" => null, + "parent_id" => $chat_bedas->id, + "sort_order" => 1, + ], ]; foreach ($children_menus as $child_menu) { @@ -245,6 +260,7 @@ class UsersRoleMenuSeeder extends Seeder $pdam = Menu::where('name', 'PDAM')->first(); $peta = Menu::where('name', 'PETA')->first(); $bigdata_resume = Menu::where('name', 'Lap Pimpinan')->first(); + $chatbot = Menu::where('name', 'Chat')->first(); // Superadmin gets all menus $superadmin->menus()->sync([ @@ -255,6 +271,7 @@ class UsersRoleMenuSeeder extends Seeder $dataSettings->id => ["allow_show" => true, "allow_create" => false, "allow_update" => false, "allow_destroy" => false], $data->id => ["allow_show" => true, "allow_create" => false, "allow_update" => false, "allow_destroy" => false], $laporan->id => ["allow_show" => true, "allow_create" => false, "allow_update" => false, "allow_destroy" => false], + $chat_bedas->id => ["allow_show" => true, "allow_create" => false, "allow_update" => false, "allow_destroy" => false], // children $dashboard_pimpinan->id => ["allow_show" => true, "allow_create" => true, "allow_update" => true, "allow_destroy" => true], $dashboard_pbg->id => ["allow_show" => true, "allow_create" => true, "allow_update" => true, "allow_destroy" => true], @@ -274,6 +291,7 @@ class UsersRoleMenuSeeder extends Seeder $pdam->id => ["allow_show" => true, "allow_create" => true, "allow_update" => true, "allow_destroy" => true], $peta->id => ["allow_show" => true, "allow_create" => true, "allow_update" => true, "allow_destroy" => true], $bigdata_resume->id => ["allow_show" => true, "allow_create" => true, "allow_update" => true, "allow_destroy" => true], + $chatbot->id => ["allow_show" => true, "allow_create" => true, "allow_update" => true, "allow_destroy" => true], ]); // Admin gets limited menus diff --git a/database/view_query/v_advertisements.sql b/database/view_query/v_advertisements.sql new file mode 100644 index 0000000..24c808a --- /dev/null +++ b/database/view_query/v_advertisements.sql @@ -0,0 +1,21 @@ +CREATE VIEW v_advertisements AS +SELECT + a.no, + a.business_name, + a.npwpd, + a.advertisement_type, + a.advertisement_content, + a.business_address, + a.advertisement_location, + v.village_name AS village_name, + d.district_name AS district_name, + a.length, + a.width, + a.viewing_angle, + a.face, + a.area, + a.angle, + a.contact +FROM advertisements a +JOIN villages v ON a.village_code = v.village_code +JOIN districts d ON a.district_code = d.district_code; \ No newline at end of file diff --git a/database/view_query/v_tourism_base_kbli.sql b/database/view_query/v_tourism_base_kbli.sql new file mode 100644 index 0000000..ba9377f --- /dev/null +++ b/database/view_query/v_tourism_base_kbli.sql @@ -0,0 +1,8 @@ +CREATE VIEW v_tourisms_based_kbli AS +SELECT kbli_title, total_records +FROM ( + SELECT kbli, kbli_title, COUNT(*) AS total_records + FROM tourisms + GROUP BY kbli, kbli_title +) AS subquery +ORDER BY total_records DESC; \ No newline at end of file diff --git a/database/view_query/v_tourisms.sql b/database/view_query/v_tourisms.sql new file mode 100644 index 0000000..4033535 --- /dev/null +++ b/database/view_query/v_tourisms.sql @@ -0,0 +1,29 @@ +CREATE VIEW v_tourisms AS +SELECT + t.project_id, + t.project_type_id, + t.nib, + t.business_name, + t.oss_publication_date, + t.investment_status_description, + t.business_form, + t.project_risk, + t.project_name, + t.business_scale, + t.business_address, + v.village_name as village_name, + d.district_name as district_name, + t.longitude, + t.latitude, + t.project_submission_date, + t.kbli_title, + t.supervisory_sector, + t.user_name, + t.email, + t.contact, + t.land_area_in_m2, + t.investment_amount, + t.tki +FROM tourisms t +JOIN villages v on t.village_code = v.village_code +JOIN districts d on t.district_code = d.district_code; \ No newline at end of file diff --git a/database/view_query/v_umkms.sql b/database/view_query/v_umkms.sql new file mode 100644 index 0000000..534e08b --- /dev/null +++ b/database/view_query/v_umkms.sql @@ -0,0 +1,28 @@ +CREATE VIEW v_umkms AS +SELECT + u.business_address, + u.business_contact, + u.business_desc, + bf.business_form, + u.business_id_number, + u.business_name, + bs.business_scale, + u.business_type, + u.created_at, + d.district_name, + u.land_area, + u.number_of_employee, + u.owner_address, + u.owner_contact, + u.owner_id, + u.owner_name, + ps.permit_status, + u.revenue, + u.updated_at, + v.village_name +FROM umkms u +JOIN business_form bf on u.business_form_id = bf.id +JOIN permit_status ps on u.permit_status_id = ps.id +JOIn business_scale bs on u.business_scale_id = bs.id +JOIN villages v on u.village_code = v.village_code +JOIN districts d on u.district_code = v.district_code; \ No newline at end of file