Upload Data temp realisasi belanja dbh

This commit is contained in:
Pusdatin BPKD Jkt
2022-07-15 16:41:04 +07:00
parent 97154c1100
commit 62f94b5ab6
19 changed files with 582 additions and 54 deletions
@@ -8,6 +8,8 @@ use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
use Maatwebsite\Excel\Facades\Excel;
use App\Models\DbhPendapatanRealisasi;
use App\Models\TempRealisasiBelanja;
use App\Imports\RealisasiBelanjaImport;
class RealisasiBelanjaController extends Controller
{
@@ -158,7 +160,7 @@ class RealisasiBelanjaController extends Controller
$req = $request->all();
try{
$this->validate($request, [
'file' => 'required',
'file' => 'required|mimes:xls,xlsx',
]);
$file = $request->file('file');
@@ -169,10 +171,47 @@ class RealisasiBelanjaController extends Controller
// echo 'File Mime Type: '.$file->getMimeType();
$tujuan_upload = 'uploadFiles';
$file->move($tujuan_upload,$file->getClientOriginalName());
// var_dump($file->getRealPath()); exit;
DB::beginTransaction();
TempRealisasiBelanja::truncate();
Excel::import(new RealisasiBelanjaImport, $tujuan_upload."/".$file->getClientOriginalName());
DB::commit();
return redirect('upload-realisasi-belanja')->with('success','Data Realisasi belanja berhasil diupload.');
}catch(\Exception $e){
throw new \Exception($e->getMessage());
DB::rollBack();
return redirect('upload-realisasi-belanja')->with('error',$e->getMessage());
}
}
return view('realisasi_belanja.upload');
}
public function uploadDatatable(Request $request)
{
$post = $request->all();
$offset = $post["start"];
$limit = $post["length"];
$src = isset($post["search"])?$post["search"]["value"]:"";
$dataFilter=0;
$data = TempRealisasiBelanja::orderBy("id","ASC");
if (!empty($src)){
$data->whereRaw("(LOWER(jenis_belanja) LIKE '%".strtolower($src)."%'
OR LOWER(sub_jenis_belanja) LIKE '%".strtolower($src)."%'
OR LOWER(nama_program) LIKE '%".strtolower($src)."%'
OR LOWER(nama_skpd) LIKE '%".strtolower($src)."%'
OR LOWER(nama_kegiatan) LIKE '%".strtolower($src)."%'
OR LOWER(nama_sub_kegiatan) LIKE '%".strtolower($src)."%'
OR LOWER(nama_rsk) LIKE '%".strtolower($src)."%'
OR LOWER(nama_rekening) LIKE '%".strtolower($src)."%')");
}
$dataFilter = $data->count();
$dataTotal = TempRealisasiBelanja::count();
return response()->json([
"recordsTotal" => $dataTotal,
"recordsFiltered" => $dataFilter,
"data"=> $data->skip($offset)->take($limit)->get()
]);
}
}