Initial commit for combined ProjectKP

This commit is contained in:
raditarahman5-cloud
2026-06-28 15:14:51 +07:00
commit ac6c3473d4
203 changed files with 41848 additions and 0 deletions
+117
View File
@@ -0,0 +1,117 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use App\Models\User;
use Illuminate\Support\Facades\Hash;
class AkunSeeder extends Seeder
{
public function run(): void
{
/*
|--------------------------------------------------------------------------
| SUPER ADMIN
|--------------------------------------------------------------------------
| Super Admin memiliki akses penuh terhadap sistem.
*/
User::updateOrCreate(
['username' => 'sutowo_superadmin'],
[
'name' => 'SUTOWO, SE, M.Si',
'email' => 'superadmin@mail.com',
'password' => Hash::make('password123'),
'role' => 'superadmin',
'jabatan' => 'Kepala Bidang Pengawasan Ketenagakerjaan',
]
);
/*
|--------------------------------------------------------------------------
| ADMIN
|--------------------------------------------------------------------------
| Admin hanya digunakan untuk membuat akun pegawai/user.
*/
$admins = [
[
'name' => 'WELPRIDA IRANI, SH, M.Si',
'username' => 'welprida_admin',
'email' => 'welprida@admin.com',
'jabatan' => 'Kepala Seksi Penegakan Hukum',
],
[
'name' => 'RINI YULIASTI, ST.,MM',
'username' => 'rini_admin',
'email' => 'rini@admin.com',
'jabatan' => 'Kasi Informasi Pasar Kerja dan Analisis Produktivitas',
],
];
foreach ($admins as $admin) {
User::updateOrCreate(
['username' => $admin['username']],
[
'name' => $admin['name'],
'email' => $admin['email'],
'password' => Hash::make('password123'),
'role' => 'admin',
'jabatan' => $admin['jabatan'],
]
);
}
/*
|--------------------------------------------------------------------------
| USER / PEGAWAI
|--------------------------------------------------------------------------
| Dalam database role disimpan sebagai "user".
| Di tampilan sistem boleh tetap ditulis sebagai "Pegawai".
*/
$pegawai = [
[
'name' => 'HARRI MULIAWAN, ST',
'username' => 'hari_disnaker',
'email' => 'harri@pegawai.com',
'jabatan' => 'Pengawas Ketenagakerjaan Ahli Muda',
],
[
'name' => 'DANA OKTAVIAN, S.Sos',
'username' => 'dana_disnaker',
'email' => 'dana@pegawai.com',
'jabatan' => 'Pengawas Ketenagakerjaan Ahli Muda',
],
[
'name' => 'LISBET MARYATI S, SH',
'username' => 'lisbet_disnaker',
'email' => 'lisbet@pegawai.com',
'jabatan' => 'Pengawas Ketenagakerjaan Ahli Pertama',
],
[
'name' => 'MAISA BAHARI, SH',
'username' => 'maisa_disnaker',
'email' => 'maisa@pegawai.com',
'jabatan' => 'Pengawas Ketenagakerjaan Ahli Pertama',
],
[
'name' => 'URAY NANDA KHARISMA, SE',
'username' => 'uray_disnaker',
'email' => 'uray@pegawai.com',
'jabatan' => 'Pengawas Ketenagakerjaan Ahli Pertama',
],
];
foreach ($pegawai as $user) {
User::updateOrCreate(
['username' => $user['username']],
[
'name' => $user['name'],
'email' => $user['email'],
'password' => Hash::make('password123'),
'role' => 'user',
'jabatan' => $user['jabatan'],
]
);
}
}
}
@@ -0,0 +1,15 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
public function run(): void
{
$this->call([
AkunSeeder::class,
]);
}
}
@@ -0,0 +1,69 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class PegawaiSeeder extends Seeder
{
public function run(): void
{
// Matikan pengecekan foreign key sementara agar bisa truncate (bersihkan tabel)
DB::statement('SET FOREIGN_KEY_CHECKS=0;');
DB::table('pegawais')->truncate();
DB::statement('SET FOREIGN_KEY_CHECKS=1;');
// Masukkan data pegawai saja (Profile), User ID disesuaikan dengan urutan di AkunSeeder
// ID 1: Sutowo, ID 2: Welprida, ID 3: Rini, ID 4: Harri ...
DB::table('pegawais')->insert([
[
'id' => 4,
'nip' => '198501012010011001',
'nama' => 'HARRI MULIAWAN, ST',
'jabatan' => 'Pengawas Ketenagakerjaan Ahli Muda',
'user_id' => 4, // Nyambung ke Harri di tabel users
'created_at' => now(),
'updated_at' => now(),
],
[
'id' => 5,
'nip' => '198602022011021002',
'nama' => 'DANA OKTAVIAN, S.Sos',
'jabatan' => 'Pengawas Ketenagakerjaan Ahli Muda',
'user_id' => 5,
'created_at' => now(),
'updated_at' => now(),
],
[
'id' => 6,
'nip' => '198703032012032003',
'nama' => 'LISBET MARYATI S, SH',
'jabatan' => 'Pengawas Ketenagakerjaan Ahli Pertama',
'user_id' => 6,
'created_at' => now(),
'updated_at' => now(),
],
[
'id' => 7,
'nip' => '198804042013042004',
'nama' => 'MAISA BAHARI, SH',
'jabatan' => 'Pengawas Ketenagakerjaan Ahli Pertama',
'user_id' => 7,
'created_at' => now(),
'updated_at' => now(),
],
[
'id' => 8,
'nip' => '198905052014051005',
'nama' => 'URAY NANDA KHARISMA, SE',
'jabatan' => 'Pengawas Ketenagakerjaan Ahli Pertama',
'user_id' => 8,
'created_at' => now(),
'updated_at' => now(),
],
]);
$this->command->info('✓ PegawaiSeeder Berhasil: Data profil pegawai sudah masuk!');
}
}