filter(callback: function ($query) { if (request()->has('search')) { $search = request()->get('search'); $query->where('nomor_pinjaman', 'like', "%" . $search['value'] . "%") ->orWhere('kode_jenis_pinjaman', 'like', "%" . $search['value'] . "%") ->orWhere('kode_debitur', 'like', "%" . $search['value'] . "%") ->orWhere('alamat_debitur', 'like', "%" . $search['value'] . "%") ->orWhere('npwp_debitur', 'like', "%" . $search['value'] . "%") ->orWhere('kode_cabang', 'like', "%" . $search['value'] . "%") ->orWhere('kode_mata_uang', 'like', "%" . $search['value'] . "%") ->orWhere('tanggal_hapus_buku', 'like', "%" . $search['value'] . "%") ->orWhere('nomor_fasilitas', 'like', "%" . $search['value'] . "%") ->orWhere('kode_jenis_fasilitas', 'like', "%" . $search['value'] . "%") ->orWhere('nilai_plafond_awal', 'like', "%" . $search['value'] . "%") ->orWhere('suku_bunga', 'like', "%" . $search['value'] . "%") ->orWhere('baki_debet', 'like', "%" . $search['value'] . "%") ->orWhere('jumlah_bunga', 'like', "%" . $search['value'] . "%") ->orWhere('jumlah_kewajiban_lain', 'like', "%" . $search['value'] . "%") ->orWhere('total_kewajiban', 'like', "%" . $search['value'] . "%") ->orWhere('total_bunga_extra', 'like', "%" . $search['value'] . "%") ->orWhere('bunga_ekstra', 'like', "%" . $search['value'] . "%") ->orWhere('bunga_non_ekstra', 'like', "%" . $search['value'] . "%") ->orWhere('denda', 'like', "%" . $search['value'] . "%") ->orWhere('tagihan_lain', 'like', "%" . $search['value'] . "%") ->orWhere('biaya_lain', 'like', "%" . $search['value'] . "%") ->orWhere('total_all_kewajiban', 'like', "%" . $search['value'] . "%") ->orWhere('memo_persetujuan', 'like', "%" . $search['value'] . "%") ->orWhere('lama_hari', 'like', "%" . $search['value'] . "%") ->orWhere('proses_hukum', 'like', "%" . $search['value'] . "%") ->orWhere('komitmen_debitur', 'like', "%" . $search['value'] . "%") ->orWhere('keterangan', 'like', "%" . $search['value'] . "%") ->orWhere('status', 'like', "%" . $search['value'] . "%"); } })->addIndexColumn()->editColumn('tanggal_hapus_buku', function ($row) { $date = Carbon::create($row->tanggal_hapus_buku); return $date->locale('id')->translatedFormat('d F Y'); })->editColumn('cabang', function ($row) { return Branch::where('kode', $row->kode_cabang)->first()->name; })->editColumn('jenis_pinjaman', function ($row) { return LoanType::where('kode', $row->kode_jenis_pinjaman)->first()->name; })->editColumn('jenis_fasilitas', function ($row) { return FacilityType::where('kode', $row->kode_jenis_fasilitas)->first()->name; })->editColumn('updated_at', function ($row) { return $row->updated_at->locale('id')->translatedFormat('d F Y H:i:s'); })->editColumn('total_kewajiban', function ($row) { return Number::currency($row->total_kewajiban,'IDR','id_ID'); })->editColumn('status', function ($row) { $status = $row->status ? 'Aktif' : 'Tidak Aktif'; $oto = $row->authorized_at !== null ? 'Authorised' : 'Not Authorised'; return $status . ' ' . $oto; })->rawColumns(['action', 'status'])->addColumn('action', function ($hapus_buku) { return view('writeoff::pencatatan.hapus_buku._actions', compact('hapus_buku')); })->setRowId('id'); } private function rupiah($expression) { return "Rp. " . number_format($expression, 2, ',', '.'); } /** * Get the query source of dataTable. */ public function query(HapusBuku $model) : QueryBuilder { return $model->newQuery(); } /** * Optional method if you want to use the html builder. */ public function html() : HtmlBuilder { return $this->builder() ->setTableId('hapus-buku-table') ->columns($this->getColumns()) ->minifiedAjax() ->stateSave(false) ->responsive() ->autoWidth(true) ->orderBy(1) ->parameters([ 'scrollX' => false, 'drawCallback' => 'function() { KTMenu.createInstances(); }', ]) ->addTableClass('align-middle table-row-dashed fs-6 gy-5') ->drawCallback("function() {" . file_get_contents(Module::getModulePath('writeoff') . 'Resources/views/pencatatan/hapus_buku/_draw-scripts.js') . "}"); } /** * Get the dataTable columns definition. */ public function getColumns() : array { return [ Column::make('DT_RowIndex')->title('No')->orderable(false)->searchable(false), Column::make('nomor_pinjaman')->title('Nomor Pinjaman'), Column::make('debitur')->title('Debitur'), Column::make('cabang')->title('Cabang'), Column::make('jenis_pinjaman')->title('Jenis Pinjaman'), Column::make('jenis_fasilitas')->title('Jenis Fasilitas'), Column::make('tanggal_hapus_buku')->title('Tanggal Hapus Buku'), Column::make('total_kewajiban')->title('Total Kewajiban'), Column::make('memo_persetujuan')->title('Memo Persetujuan'), Column::make('keterangan')->title('Keterangan'), Column::make('status')->title('status'), Column::computed('action')->exportable(false)->printable(false)->width(60)->addClass('text-center') ]; } /** * Get the filename for export. */ protected function filename() : string { return 'HapusBuku_' . date('YmdHis'); } }