Files
sidata/app/Http/Controllers/Admin/MappingDbhSkpdController.php
T

125 lines
4.0 KiB
PHP

<?php
namespace App\Http\Controllers\Admin;
use App\Models\MappingDbhSkpd;
use App\Models\Sps_pendapatan;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
class MappingDbhSkpdController extends Controller
{
public function __construct(){
$this->siteTitle = "Data Mapping Rekening SKPD";
parent::__construct();
}
public function index()
{
$data = null;
// $data = User::where('role_name', "<>", "superadmin")->latest()->paginate(10);
return view('admin.mapping_dbh_skpd.index',compact('data'))
->with('i', (request()->input('page', 1) - 1) * 10);
}
public function create()
{
$this->setSubtitle("Tambah Data");
return view('admin.mapping_dbh_skpd.create');
}
public function store(Request $request)
{
$request->validate([
'id_sps' => 'required',
'tahun' => 'required',
'kode_rekening' => 'required',
'txt_id_skpd'=>'required'
]);
$req = $request->all();
MappingDbhSkpd::where("id_sps", $req["id_sps"])->delete();
foreach($req["txt_id_skpd"] as $row_req)
{
$data["id_sps"] = $req["id_sps"];
$data["tahun"] = $req["tahun"];
$data["kode_rekening"] = $req["kode_rekening"];
$data["kode_skpd"] = $row_req;
MappingDbhSkpd::create($data);
}
return redirect("/admin/MappingDbhSkpd")->with('success','Mapping Rekening DBH/DAK ke SKPD berhasil dibuat.');
}
public function show($MappingDbhSkpd)
{
$sps = sps_pendapatan::where("id",$MappingDbhSkpd)->firstorNew();
$mappingSKPD = DB::select(DB::raw("SELECT x.*,y.N_OPD FROM SAMASA.MAPPING_DBH_SKPD x
LEFT JOIN NEWSIPKD.TROPD y ON x.KODE_SKPD = y.C_OPD WHERE x.id_sps = $MappingDbhSkpd"));
// MappingDbhSkpd::where("id_sps",$MappingDbhSkpd)->get();
$this->setSubtitle("Detail Data Mapping");
return view('admin.mapping_dbh_skpd.show',compact('mappingSKPD','sps'));
}
public function edit(User $user)
{
$this->setSubtitle("Ubah Data");
return view('admin.mapping_dbh_skpd.edit',compact('user'));
}
public function update(Request $request, User $user)
{
$request->validate([
'name' => 'required',
'opt_role' => 'required'
]);
$requestAll = $request->all();
$requestAll["role_name"] = $requestAll["opt_role"];
$user->update($requestAll);
$user->roles()->detach();
// $user->removeRole($requestAll["opt_role"]);
$user->assignRole($requestAll["opt_role"]);
return redirect()->route('users.index')
->with('success','Mapping berhasil diubah!');
}
public function destroy(User $user)
{
$user->delete();
return redirect()->route('users.index')
->with('success','Mapping 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"]):"";
$srcTA = $post["srcTA"];
$select = DB::raw("ID,KODE_REKENING, NAMA_REKENING");
$sqlstr = Sps_pendapatan::select($select)
->whereRaw("TAHUN=$srcTA AND SKPD_ID = 980 AND KODE_REKENING LIKE '4.2%'");
$dataTotal = $sqlstr->count();
$data = $sqlstr->orderBy("ID");
if (!empty($src)){
$data->whereRaw(" ( lower(KODE_REKENING) like '%$src%' OR lower(NAMA_REKENING) like '%$src%' ) ");
}
$dataFilter = $data->count();
return response()->json([
"recordsTotal" => $dataTotal,
"recordsFiltered" => $dataFilter,
"data"=> $data->skip($offset)->take($limit)->get()
]);
}
}