Skip to content

Commit e70644e

Browse files
committed
update performance
1 parent b6f9b87 commit e70644e

File tree

7 files changed

+105
-11
lines changed

7 files changed

+105
-11
lines changed

.tinkerun/inspiring.php

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,7 @@
1212
use Illuminate\Support\Carbon;
1313
use Illuminate\Support\Facades\Storage;
1414

15-
16-
$naskah_id = KerangkaAcuan::find(11)->naskah_keluar_id;
17-
NaskahKeluar::find($naskah_id)->nomor;
18-
15+
JenisKontrak::cache()->get('all')->where('tanggal', '<=', '2024-08-01')->sortByDesc('tanggal')->first()
1916

2017

2118

app/Models/HonorSurvei.php

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ class HonorSurvei extends Model
1313
use HasFactory;
1414
protected $casts = [
1515
'tanggal_spj' => 'date',
16+
'tanggal_sk' => 'date',
17+
'tanggal_st' => 'date',
1618
'awal' => 'date',
1719
'akhir' => 'date',
1820
'pegawai' => 'array',
@@ -46,6 +48,17 @@ protected static function booted(): void
4648
$honor->bendahara = Helper::getPengelola('bendahara')->nama;
4749
$honor->nipbendahara = Helper::getPengelola('bendahara')->nip;
4850
});
51+
static::saving(function (HonorSurvei $honor) {
52+
if ($honor->generate_sk === 'Tidak') {
53+
$honor->tanggal_sk = null;
54+
$honor->objek_sk = null;
55+
}
56+
if ($honor->generate_st === 'Tidak') {
57+
$honor->tanggal_st = null;
58+
$honor->uraian_tugas = null;
59+
$honor->kode_arsip_id = null;
60+
}
61+
});
4962
// static::deleting(function(Survei $survei) {
5063
// $survei->spjs()->delete();
5164
// File::delete(Storage::path('public/spj/SPJ'.explode('/', $survei->no_permintaan)[0].'.docx'));

app/Models/KerangkaAcuan.php

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@ protected static function booted(): void
6363
$naskahkeluar->save();
6464
});
6565
static::deleting(function (KerangkaAcuan $kak) {
66-
NaskahKeluar::where('id', $kak->naskah_keluar_id)->delete();
67-
HonorSurvei::where('kerangka_acuan_id', $kak->id)->delete();
66+
NaskahKeluar::destroy($kak->naskah_keluar_id);
67+
HonorSurvei::destroy($kak->id);
6868
});
6969
static::saving(function (KerangkaAcuan $kak) {
7070
if ($kak->jenis !== 'Penyedia') {
@@ -89,14 +89,20 @@ protected static function booted(): void
8989
$honor->akhir = $kak->akhir;
9090
$honor->mak = Helper::getSingleAkunHonor($kak->anggaran);
9191
$honor->kegiatan = $kak->kegiatan;
92+
$honor->uraian_tugas = 'Melakukan '.$kak->kegiatan;
93+
$honor->objek_sk = 'Petugas '.strtr($kak->kegiatan,['Pemeriksaan' =>'Pemeriksa', 'Pencacahan' => 'Pencacah', 'Pengawasan' =>'Pengawas']);
94+
$honor->generate_sk = 'Ya';
95+
$honor->generate_st = 'Ya';
96+
$honor->tanggal_st = $kak->tanggal;
97+
$honor->tanggal_sk = $kak->tanggal;
9298
$honor->unit_kerja_id = $kak->unit_kerja_id;
9399
$honor->ketua = $kak->nama;
94100
$honor->nipketua = $kak->nip;
95101
$honor->save();
96102
}
97103
}
98104
if (Helper::isAkunHonorChanged($kak->getOriginal('anggaran'), $kak->anggaran)) {
99-
HonorSurvei::where('kerangka_acuan_id', $kak->id)->delete();
105+
HonorSurvei::destroy($kak->id);
100106
}
101107
});
102108
}

app/Nova/Actions/Download.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public function handle(ActionFields $fields, Collection $models)
4040
$filename = Cetak::cetak($this->jenis, $models);
4141

4242
return Action::redirect(route('dump-download', [
43-
'filename' => $filename, 'jenis' => $this->jenis,
43+
'filename' => $filename,
4444
]));
4545
}
4646

app/Nova/HonorSurvei.php

Lines changed: 71 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@
33
namespace App\Nova;
44

55
use App\Helpers\Helper;
6+
use App\Models\KodeArsip;
67
use App\Models\User;
78
use App\Nova\Actions\ImportDaftarHonor;
89
use Illuminate\Database\Eloquent\Model;
910
use Illuminate\Http\Request;
1011
use Laravel\Nova\Fields\BelongsTo;
12+
use Laravel\Nova\Fields\Boolean;
1113
use Laravel\Nova\Fields\Date;
1214
use Laravel\Nova\Fields\FormData;
1315
use Laravel\Nova\Fields\HasMany;
@@ -96,7 +98,7 @@ public function fields(NovaRequest $request)
9698
->options(Helper::$bulan)
9799
->filterable()
98100
->displayUsingLabels(),
99-
Select::make('Jenis Kontrak', 'jenis_kontrak_id')
101+
Select::make('Jenis Kontrak', 'jenis_kontrak')
100102
->rules('required')
101103
->filterable()
102104
->displayUsingLabels()
@@ -125,6 +127,74 @@ public function fields(NovaRequest $request)
125127
->readOnly(),
126128
]),
127129

130+
Panel::make('Keterangan Surat Keputusan', [
131+
Boolean::make('Buat Surat Keputusan (SK)', 'generate_sk')
132+
->trueValue('Ya')
133+
->falseValue('Tidak')
134+
->hideFromIndex(),
135+
Date::make('Tanggal SK', 'tanggal_sk')
136+
->hide()
137+
->displayUsing(fn ($tanggal) => Helper::terbilangTanggal($tanggal))
138+
->dependsOn('generate_sk', function (Date $field, NovaRequest $request, FormData $formData) {
139+
if ($formData->generate_sk) {
140+
$field->show()
141+
->rules('required');
142+
}
143+
})->hideFromIndex(),
144+
Text::make('Objek SK', 'objek_sk')
145+
->hide()
146+
->help('Contoh: Petugas Pemeriksa Lapangan Sensus Penduduk 2020')
147+
->dependsOn('generate_sk', function (Text $field, NovaRequest $request, FormData $formData) {
148+
if ($formData->generate_sk) {
149+
$field->show()
150+
->rules('required');
151+
}
152+
})
153+
->hideFromIndex(),
154+
155+
]),
156+
157+
Panel::make('Keterangan Surat Tugas', [
158+
Boolean::make('Buat Surat Tugas', 'generate_st')
159+
->trueValue('Ya')
160+
->falseValue('Tidak')
161+
->hideFromIndex(),
162+
Date::make('Tanggal Surat Tugas', 'tanggal_st')
163+
->hide()
164+
->displayUsing(fn ($tanggal) => Helper::terbilangTanggal($tanggal))
165+
->dependsOn('generate_st', function (Date $field, NovaRequest $request, FormData $formData) {
166+
if ($formData->generate_st) {
167+
$field->show()
168+
->rules('required');
169+
}
170+
})->hideFromIndex(),
171+
Text::make('Uraian Tugas', 'uraian_tugas')
172+
->hide()
173+
->help('Contoh: Melakukan Pencacahan Lapangan Sensus Penduduk 2020')
174+
->dependsOn('generate_st', function (Text $field, NovaRequest $request, FormData $formData) {
175+
if ($formData->generate_st) {
176+
$field->show()
177+
->rules('required');
178+
}
179+
})
180+
->hideFromIndex(),
181+
Select::make('Klasifikasi Arsip', 'kode_arsip_id')
182+
->rules('required')
183+
->searchable()
184+
->hide()
185+
->hideFromIndex()
186+
->displayUsing(fn ($kode) => KodeArsip::cache()->get('all')->where('id', $kode)->first()->kode)
187+
->dependsOn('generate_st', function (Select $field, NovaRequest $request, FormData $formData) {
188+
if ($formData->generate_st) {
189+
$field->show()
190+
->rules('required')
191+
->options(Helper::setOptions(KodeArsip::cache()->get('all'), 'id', 'detail', 'group'));
192+
}
193+
}),
194+
195+
]),
196+
197+
128198
Panel::make('Keterangan Petugas Organik', [
129199
SimpleRepeatable::make('Pegawai', 'pegawai', [
130200
Select::make('Nama Pegawai', 'user_id')

app/Nova/KerangkaAcuan.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ public function actions(NovaRequest $request)
136136
Download::make('kak', 'Unduh KAK')
137137
->showInline()
138138
->showOnDetail()
139+
->exceptOnIndex()
139140
->withoutConfirmation(),
140141
];
141142
}

database/migrations/2024_08_19_115820_create_honor_surveis_table.php

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,17 @@ public function up(): void
2323
$table->date('akhir')->nullable();
2424
$table->string('satuan', 20)->nullable();
2525
$table->date('tanggal_spj')->nullable();
26-
$table->bigInteger('unit_kerja_id')->nullable();
26+
$table->string('generate_sk', 5)->nullable();
27+
$table->string('generate_st', 5)->nullable();
28+
$table->date('tanggal_sk')->nullable();
29+
$table->date('tanggal_st')->nullable();
30+
$table->string('objek_sk')->nullable();
31+
$table->string('uraian_tugas')->nullable();
32+
$table->bigInteger('unit_kerja_id')->nullable()->unsigned();
33+
$table->bigInteger('kode_arsip_id')->nullable()->unsigned();
2734
$table->string('bulan', 2)->nullable();
2835
$table->string('tahun', 4)->nullable();
29-
$table->bigInteger('jenis_kontrak_id')->unsigned()->nullable();
36+
$table->string('jenis_kontrak',40)->nullable();
3037
$table->string('kegiatan')->nullable();
3138
$table->text('pegawai')->nullable();
3239
$table->string('ketua', 80)->nullable();

0 commit comments

Comments
 (0)