154 lines
5.5 KiB
PHP
154 lines
5.5 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin;
|
|
|
|
use App\Models\SisaSalurDana;
|
|
use Illuminate\Http\Request;
|
|
use App\Http\Controllers\Controller;
|
|
use Illuminate\Contracts\Session\Session;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Illuminate\Support\Facades\File;
|
|
use Illuminate\Support\Facades\URL;
|
|
|
|
class SisaSalurDanaController extends Controller
|
|
{
|
|
public function __construct()
|
|
{
|
|
$this->siteTitle = "Sisa Salur Dana";
|
|
parent::__construct();
|
|
}
|
|
|
|
public function index()
|
|
{
|
|
$data = null;
|
|
return view('admin.sisa_salur_dana.index',compact('data'))
|
|
->with('i', (request()->input('page', 1) - 1) * 10);
|
|
}
|
|
|
|
public function create()
|
|
{
|
|
$this->setSubtitle("Tambah Data");
|
|
return view('admin.sisa_salur_dana.create');
|
|
}
|
|
|
|
|
|
public function show(SisaSalurDana $SisaSalurDana)
|
|
{
|
|
SisaSalurDana::where("id",$SisaSalurDana->id)->get();
|
|
$this->setSubtitle("Detail Jenis Belanja");
|
|
return view('admin.sisa_salur_dana.show',compact('SisaSalurDana'));
|
|
}
|
|
|
|
public function store(Request $request)
|
|
{
|
|
$request->validate([
|
|
'tahun' => 'required',
|
|
'kode_rekening' => 'required',
|
|
'jumlah' => 'required',
|
|
]);
|
|
$req = $request->all();
|
|
$this->validate($request, [
|
|
'file' => 'required|mimes:pdf,xlsx,xls,png,gif,jpg,jpeg',
|
|
]);
|
|
$data["tahun"] = $req["tahun"];
|
|
$data["kode_rekening"] = $req["kode_rekening"];
|
|
$data["jumlah"] = replaceMoney($req["jumlah"]);
|
|
$file = $request->file('file');
|
|
if ($file){
|
|
$ext = $file->getClientOriginalExtension();
|
|
$NewFileName = $data["tahun"].$data["kode_rekening"].".".$ext;
|
|
$tujuan_upload = 'uploadFiles/sisa_salur_dana';
|
|
File::isDirectory($tujuan_upload) or File::makeDirectory($tujuan_upload, 0777, true, true);
|
|
$file->move($tujuan_upload, $NewFileName);
|
|
$data["dokumen"] = $NewFileName;
|
|
}
|
|
if ($request->isMethod('post')){
|
|
$SisaSalurDana = SisaSalurDana::where("tahun",getTA())->where("kode_rekening",$req["kode_rekening"])->first();
|
|
if ($SisaSalurDana){
|
|
return redirect(URL::to("/admin/SisaSalurDana/"))->with('error','Data Sisa Salur Dana gagal diTambah! No Rekening : '.$req["kode_rekening"].' sudah ada!');
|
|
}
|
|
else{
|
|
//var_dump($data); exit;
|
|
$SisaSalurDana = SisaSalurDana::create($data);
|
|
return redirect(URL::to("/admin/SisaSalurDana/".$SisaSalurDana->id))->with('success','Data Tagihan Berhasil Ditambah');
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
public function edit(SisaSalurDana $SisaSalurDana)
|
|
{
|
|
$this->setSubtitle("Ubah Data");
|
|
return view('admin.sisa_salur_dana.edit',compact('SisaSalurDana'));
|
|
}
|
|
|
|
public function download($id)
|
|
{
|
|
$SisaSalurDana = SisaSalurDana::where("id",$id)->first();
|
|
$headers = [
|
|
'Content-Disposition' => 'attachment;filename='.$SisaSalurDana->dokumen
|
|
];
|
|
$path = config('constants.upload_path').getTA()."/".$SisaSalurDana->dokumen;
|
|
|
|
return response()->file($path, $headers);
|
|
}
|
|
|
|
public function update(Request $request, SisaSalurDana $SisaSalurDana )
|
|
{
|
|
$request->validate([
|
|
'tahun' => 'required',
|
|
'kode_rekening' => 'required',
|
|
'jumlah' => 'required',
|
|
]);
|
|
|
|
$req = $request->all();
|
|
$data["tahun"] = $req["tahun"];
|
|
$data["kode_rekening"] = $req["kode_rekening"];
|
|
$data["jumlah"] = replaceMoney($req["jumlah"]);
|
|
|
|
$file = $request->file('file');
|
|
if ($file){
|
|
$ext = $file->getClientOriginalExtension();
|
|
$NewFileName = $data["tahun"].$data["kode_rekening"].".".$ext;
|
|
$tujuan_upload = 'uploadFiles/sisa_salur_dana';
|
|
File::isDirectory($tujuan_upload) or File::makeDirectory($tujuan_upload, 0777, true, true);
|
|
$file->move($tujuan_upload, $NewFileName);
|
|
$data["dokumen"] = $NewFileName;
|
|
}
|
|
$SisaSalurDana->update($req);
|
|
|
|
return redirect()->route('SisaSalurDana.index')
|
|
->with('success','Data Sisa Salur Belanja berhasil diubah!');
|
|
}
|
|
|
|
public function destroy(SisaSalurDana $SisaSalurDana)
|
|
{
|
|
SisaSalurDana::where("id",$SisaSalurDana->id)->delete();
|
|
$SisaSalurDana->delete();
|
|
return redirect()->route('SisaSalurDana.index')
|
|
->with('success','Data Sisa Salur Belanja berhasil dihapus!');
|
|
}
|
|
|
|
public function datatable(Request $request)
|
|
{
|
|
$post = $request->all();
|
|
$offset = $post["start"];
|
|
$limit = $post["length"];
|
|
$src = isset($post["search"]["value"]) ? strtolower($post["search"]["value"]):"";
|
|
$select = DB::raw("ID,TAHUN,KODE_REKENING,JUMLAH");
|
|
$sqltr = SisaSalurDana::select($select);
|
|
$dataTotal = $sqltr->count();
|
|
$data = $sqltr->orderBy("ID");
|
|
if (!empty($src)){
|
|
$data->whereRaw(" ( lower(KODE_REKENING) like '%$src% OR lower(JUMLAH) like '%$src%') ");
|
|
}
|
|
$dataFilter = $data->count();
|
|
|
|
return response()->json([
|
|
"recordsTotal" => $dataTotal,
|
|
"recordsFiltered" => $dataFilter,
|
|
"data"=> $data->skip($offset)->take($limit)->get()
|
|
]);
|
|
}
|
|
} |