115 lines
3.7 KiB
PHP
115 lines
3.7 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin;
|
|
|
|
use App\Models\MstJenisBelanja;
|
|
use App\Models\MstSubJenisBelanja;
|
|
use Illuminate\Http\Request;
|
|
use App\Http\Controllers\Controller;
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
class MstJenisBelanjaController extends Controller
|
|
{
|
|
public function __construct(){
|
|
$this->siteTitle = "Master Jenis Belanja";
|
|
parent::__construct();
|
|
}
|
|
|
|
public function index()
|
|
{
|
|
$data = null;
|
|
// $data = User::where('role_name', "<>", "superadmin")->latest()->paginate(10);
|
|
return view('admin.mst_jenis_belanja.index',compact('data'))
|
|
->with('i', (request()->input('page', 1) - 1) * 10);
|
|
}
|
|
|
|
public function create()
|
|
{
|
|
$this->setSubtitle("Tambah Data");
|
|
return view('admin.mst_jenis_belanja.create');
|
|
}
|
|
|
|
public function store(Request $request)
|
|
{
|
|
$request->validate([
|
|
'grup' => 'required',
|
|
//'kode' => 'required',
|
|
'name' => 'required',
|
|
]);
|
|
|
|
$req = $request->all();
|
|
MstJenisBelanja::where("name", $req["name"])->where("grup", $req["grup"])->delete();
|
|
$data["grup"] = $req["grup"];
|
|
$data["kode"] = $req["kode"];
|
|
$data["name"] = $req["name"];
|
|
$data["description"] = $req["description"];
|
|
MstJenisBelanja::create($data);
|
|
|
|
return redirect("/admin/MstJenisBelanja")->with('success','Jenis Belanja berhasil dibuat.');
|
|
}
|
|
|
|
public function show(MstJenisBelanja $MstJenisBelanja)
|
|
{
|
|
$SubJenisBelanja = MstSubJenisBelanja::where("id_jenis_belanja",$MstJenisBelanja->id)->get();
|
|
$this->setSubtitle("Detail Jenis Belanja");
|
|
return view('admin.mst_jenis_belanja.show',compact('MstJenisBelanja','SubJenisBelanja'));
|
|
}
|
|
|
|
public function edit(MstJenisBelanja $MstJenisBelanja)
|
|
{
|
|
$this->setSubtitle("Ubah Data");
|
|
return view('admin.mst_jenis_belanja.edit',compact('MstJenisBelanja'));
|
|
}
|
|
|
|
public function update(Request $request, MstJenisBelanja $MstJenisBelanja)
|
|
{
|
|
$request->validate([
|
|
'grup' => 'required',
|
|
//'kode' => 'required',
|
|
'name' => 'required',
|
|
]);
|
|
|
|
$req = $request->all();
|
|
$data["grup"] = $req["grup"];
|
|
$data["kode"] = $req["kode"];
|
|
$data["name"] = $req["name"];
|
|
$data["description"] = $req["description"];
|
|
$MstJenisBelanja->update($req);
|
|
|
|
return redirect()->route('MstJenisBelanja.index')
|
|
->with('success','Data Jenis Belanja berhasil diubah!');
|
|
}
|
|
|
|
public function destroy(MstJenisBelanja $MstJenisBelanja)
|
|
{
|
|
MstSubJenisBelanja::where("id_jenis_belanja",$MstJenisBelanja->id)->delete();
|
|
$MstJenisBelanja->delete();
|
|
return redirect()->route('MstJenisBelanja.index')
|
|
->with('success','Data Jenis 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,GRUP,KODE,NAME,DESCRIPTION");
|
|
$sqlstr = MstJenisBelanja::select($select);
|
|
$dataTotal = $sqlstr->count();
|
|
$data = $sqlstr->orderBy("ID");
|
|
if (!empty($src)){
|
|
$data->whereRaw(" ( lower(NAME) like '%$src%' OR lower(DESCRIPTION) like '%$src%' ) ");
|
|
}
|
|
$dataFilter = $data->count();
|
|
|
|
return response()->json([
|
|
"recordsTotal" => $dataTotal,
|
|
"recordsFiltered" => $dataFilter,
|
|
"data"=> $data->skip($offset)->take($limit)->get()
|
|
]);
|
|
}
|
|
|
|
}
|