44
55use App \Helpers \Helper ;
66use Illuminate \Support \Facades \DB ;
7- use Laravel \Nova \Http \Requests \LensMetricRequest ;
87use Laravel \Nova \Http \Requests \NovaRequest ;
98use Laravel \Nova \Metrics \Value ;
109
@@ -27,24 +26,17 @@ public function name()
2726 */
2827 public function calculate (NovaRequest $ request )
2928 {
30- $ filtered_bulan = date ('m ' );
31- $ filtered_jenis = null ;
32- $ queries = [];
33-
34- parse_str (parse_url (request ()->headers ->get ('referer ' ), PHP_URL_QUERY ), $ queries );
35-
36- if (isset ($ queries ['daftar-honor-mitras_filter ' ])) {
37- $ filters = json_decode (base64_decode ($ queries ['daftar-honor-mitras_filter ' ], true ), true );
38- $ filtered_bulan = $ filters ['App \\Nova \\Filters \\BulanKontrak ' ][1 ] ?? $ filtered_bulan ;
39- $ filtered_jenis = $ filters ['App \\Nova \\Filters \\JenisKontrak ' ][1 ] ?? null ;
40- }
29+ $ filtered_bulan = Helper::parseFilterFromUrl (request ()->headers ->get ('referer ' ),'daftar-honor-mitras_filter ' , 'App\Nova\Filters\BulanKontrak ' , date ('m ' ));
30+ $ filtered_jenis = Helper::parseFilterFromUrl (request ()->headers ->get ('referer ' ),'daftar-honor-mitras_filter ' , 'App\Nova\Filters\JenisKontrak ' );
4131 $ bulan_ini = DB ::table ('daftar_honor_mitras ' )
4232 ->select ('honor_kegiatans.id ' )
4333 ->join ('honor_kegiatans ' , 'honor_kegiatans.id ' , '= ' , 'daftar_honor_mitras.honor_kegiatan_id ' )
4434 ->where ('jenis_honor ' , 'Kontrak Mitra Bulanan ' )
4535 ->where ('tahun ' , session ('year ' ))
46- ->where ('bulan ' , $ filtered_bulan )
47- ->when (isset ($ filtered_jenis ), function ($ query ) use ($ filtered_jenis ) {
36+ ->when (!empty ($ filtered_bulan ), function ($ query ) use ($ filtered_bulan ) {
37+ return $ query ->where ('bulan ' , $ filtered_bulan );
38+ })
39+ ->when (!empty ($ filtered_jenis ), function ($ query ) use ($ filtered_jenis ) {
4840 return $ query ->where ('jenis_kontrak_id ' , $ filtered_jenis );
4941 })
5042 ->distinct ('honor_kegiatans.id ' )
@@ -54,8 +46,10 @@ public function calculate(NovaRequest $request)
5446 ->join ('honor_kegiatans ' , 'honor_kegiatans.id ' , '= ' , 'daftar_honor_mitras.honor_kegiatan_id ' )
5547 ->where ('jenis_honor ' , 'Kontrak Mitra Bulanan ' )
5648 ->where ('tahun ' , session ('year ' ))
57- ->where ('bulan ' , $ filtered_bulan - 1 )
58- ->when (isset ($ filtered_jenis ), function ($ query ) use ($ filtered_jenis ) {
49+ ->when (!empty ($ filtered_bulan ), function ($ query ) use ($ filtered_bulan ) {
50+ return $ query ->where ('bulan ' , $ filtered_bulan -1 );
51+ })
52+ ->when (!empty ($ filtered_jenis ), function ($ query ) use ($ filtered_jenis ) {
5953 return $ query ->where ('jenis_kontrak_id ' , $ filtered_jenis );
6054 })
6155 ->distinct ('honor_kegiatans.id ' )
0 commit comments