diff --git a/app/Http/Controllers/ItemSearchController.php b/app/Http/Controllers/ItemSearchController.php index 967f381..6abfca7 100644 --- a/app/Http/Controllers/ItemSearchController.php +++ b/app/Http/Controllers/ItemSearchController.php @@ -250,7 +250,7 @@ class ItemSearchController extends Controller $ta = $request->ta; $select = DB::raw("C_AKUN AS IDX,C_AKUN||' | '||N_AKUN as NAME"); - $trbas = Trbas::select($select)->whereRaw("C_TAHUN_BERAKHIR>=$ta AND C_AKUN LIKE '4.2.01.01%' AND LENGTH(C_AKUN)>=17"); + $trbas = Trbas::select($select)->whereRaw("C_TAHUN_BERAKHIR>=$ta AND (C_AKUN LIKE '4.2.01.01%' OR C_AKUN LIKE '4.2.01.02%') AND LENGTH(C_AKUN)>=17"); if (!empty($search)){ $trbas->whereRaw(" (LOWER(C_AKUN) LIKE '%$search%' OR LOWER(N_AKUN) LIKE '%$search%') "); diff --git a/app/Http/Controllers/RealisasiBelanjaController.php b/app/Http/Controllers/RealisasiBelanjaController.php index 487e2da..6916a6a 100644 --- a/app/Http/Controllers/RealisasiBelanjaController.php +++ b/app/Http/Controllers/RealisasiBelanjaController.php @@ -9,6 +9,7 @@ use Illuminate\Support\Facades\Auth; use Maatwebsite\Excel\Facades\Excel; use App\Models\BelanjaRealisasi; use App\Models\BelanjaRealisasiDetail; +use App\Models\BelanjaRealisasiRinci; use App\Models\BelanjaRealisasiKontrak; use App\Models\BelanjaRealisasiBast; use App\Models\BelanjaRealisasiSPD; @@ -129,6 +130,7 @@ class RealisasiBelanjaController extends Controller "kode_rsk"=>$VwDpaRsk["i_id"], "nama_rsk"=>$VwDpaRsk["n_rsk"], "jumlah_anggaran"=>$VwDpaRsk["v_angg_tapd"], + "alokasi_anggaran"=>replaceMoney($req["alokasi_anggaran"]), "volume_satuan"=>$req["vol"], "unit_satuan"=>$req["unit"], "jml_rencana_kontrak"=>isset($req["jml_rencana_kontrak"])?$req["jml_rencana_kontrak"]:0, @@ -192,6 +194,7 @@ class RealisasiBelanjaController extends Controller "kode_rsk"=>$VwDpaRsk["i_id"], "nama_rsk"=>$VwDpaRsk["n_rsk"], "jumlah_anggaran"=>$VwDpaRsk["v_angg_tapd"], + "alokasi_anggaran"=>replaceMoney($req["alokasi_anggaran"]), "volume_satuan"=>isset($req["vol"])?$req["vol"]:0, "unit_satuan"=>isset($req["unit"])?$req["unit"]:0, "jml_rencana_kontrak"=>isset($req["jml_rencana_kontrak"])?$req["jml_rencana_kontrak"]:0, @@ -243,6 +246,7 @@ class RealisasiBelanjaController extends Controller $BelanjaRealisasiDetail = []; $BelanjaRealisasiDetail[0] = $semester1; $BelanjaRealisasiDetail[1] = $semester2; + $BelanjaRealisasiRinci = BelanjaRealisasiRinci::where("belanja_realisasi_id",$BelanjaRealisasi->id)->firstorNew(); $this->setTitle("Realisasi Belanja"); $this->setSubtitle("Realisasi Belanja :: ".$BelanjaRealisasi->jenis_dana." ".$BelanjaRealisasi->nama_jenis_dana); @@ -287,7 +291,8 @@ class RealisasiBelanjaController extends Controller $jmlRealisasi1 = $this->getRealisasi($BelanjaRealisasi->kode_rsk, 1); $jmlRealisasi2 = $this->getRealisasi($BelanjaRealisasi->kode_rsk, 2); $sps = Sps_pendapatan::select(DB::raw("ID,KODE_REKENING||' | '||NAMA_REKENING as name"))->where("ID", $BelanjaRealisasi->id_sps)->first(); - return view('realisasi_belanja.submit', compact("BelanjaRealisasi","BelanjaRealisasiDetail","BelanjaRealisasiKontrak","vwAKB","vwSPD","vwSP2D","unitSatuan","jmlRealisasi1","jmlRealisasi2","sps")); + + return view('realisasi_belanja.submit', compact("BelanjaRealisasi","BelanjaRealisasiDetail","BelanjaRealisasiRinci","BelanjaRealisasiKontrak","vwAKB","vwSPD","vwSP2D","unitSatuan","jmlRealisasi1","jmlRealisasi2","sps")); } public function datatable(Request $request) @@ -620,63 +625,96 @@ class RealisasiBelanjaController extends Controller $BelanjaRealisasi = BelanjaRealisasi::where("id", $id)->firstOrNew(); $ta = $BelanjaRealisasi->tahun_anggaran; $filter = ""; $semester = ""; - $sms = (int)$req["sms"]; - if($sms==1) - { - $semester = "SEMESTER 1"; - $filter = " AND D_POSTING BETWEEN '".$ta."0101' AND '".$ta."0630' "; - }else{ - $semester = "SEMESTER 2"; - $filter = " AND D_POSTING BETWEEN '".$ta."0101' AND '".$ta."1231' "; - } - - $BelanjaRealisasiDetail = BelanjaRealisasiDetail::where("belanja_realisasi_id",$BelanjaRealisasi->id)->where("semester",$sms)->firstorNew(); - $jmlRealisasi = DB::select(DB::raw("SELECT sum(REALISASI) as jml FROM NEWSIPKD.VW_BKU_REALISASI_RSK - WHERE IDRSK = ".$BelanjaRealisasi->kode_rsk.$filter)); - $jmlRealisasi = $jmlRealisasi[0]; - $redirect = isset($req["redirect_link"])?$req["redirect_link"]:URL::to("/realisasi-belanja"); - if ($request->isMethod('post')) { - try{ - DB::beginTransaction(); - - $BelanjaRealisasiDetail->delete(); - $data["belanja_realisasi_id"] = $BelanjaRealisasi->id; - $data["jumlah_realisasi"] = $jmlRealisasi->jml; - $data["volume_satuan_realisasi"] = $req["vol_realisasi"]; - $data["unit_satuan_realisasi"] = $req["unit_realisasi"]; - $data["semester"] = (int)$req["sms"]; - $data["created_by"] = Auth::user()->id; - BelanjaRealisasiDetail::create($data); - - $BelanjaRealisasiDetail = BelanjaRealisasiDetail::where("belanja_realisasi_id",$BelanjaRealisasi->id)->orderby("semester")->get(); - $dataBelanjaRealisasi = []; - if (count($BelanjaRealisasiDetail)==1) - { - $dataBelanjaRealisasi["jumlah_realisasi"] = $BelanjaRealisasiDetail[0]->jumlah_realisasi; - $dataBelanjaRealisasi["volume_satuan_realisasi"] = $BelanjaRealisasiDetail[0]->volume_satuan_realisasi; - $dataBelanjaRealisasi["unit_satuan_realisasi"] = $BelanjaRealisasiDetail[0]->unit_satuan_realisasi; - }else if(count($BelanjaRealisasiDetail)>1) - { - $dataBelanjaRealisasi["jumlah_realisasi"] = $BelanjaRealisasiDetail[1]->jumlah_realisasi; - $dataBelanjaRealisasi["volume_satuan_realisasi"] = $BelanjaRealisasiDetail[1]->volume_satuan_realisasi; - $dataBelanjaRealisasi["unit_satuan_realisasi"] = $BelanjaRealisasiDetail[1]->unit_satuan_realisasi; - } - $dataBelanjaRealisasi["realisasi_by"] = Auth::user()->id; - $BelanjaRealisasi->update($dataBelanjaRealisasi); - - DB::commit(); - - return redirect($redirect)->with('success','Data Realisasi berhasil di input!'); - }catch(\Exception $e){ - throw new \Exception($e->getMessage()); - DB::rollBack(); - return redirect($redirect)->with('error',$e->getMessage()); + if ($req["type"]=="sms"){ + $sms = (int)$req["sms"]; + if($sms==1) + { + $semester = "SEMESTER 1"; + $filter = " AND D_POSTING BETWEEN '".$ta."0101' AND '".$ta."0630' "; + }else{ + $semester = "SEMESTER 2"; + $filter = " AND D_POSTING BETWEEN '".$ta."0101' AND '".$ta."1231' "; } - } - $unitSatuan = UnitSatuan::orderBy("id")->get(); - return view('realisasi_belanja.form_input_realisasi',compact("BelanjaRealisasi", "BelanjaRealisasiDetail", "jmlRealisasi", "unitSatuan","redirect","semester","sms")); + $BelanjaRealisasiDetail = BelanjaRealisasiDetail::where("belanja_realisasi_id",$BelanjaRealisasi->id)->where("semester",$sms)->firstorNew(); + $jmlRealisasi = DB::select(DB::raw("SELECT sum(REALISASI) as jml FROM NEWSIPKD.VW_BKU_REALISASI_RSK + WHERE IDRSK = ".$BelanjaRealisasi->kode_rsk.$filter)); + $jmlRealisasi = $jmlRealisasi[0]; + if ($request->isMethod('post')) { + try{ + DB::beginTransaction(); + + $BelanjaRealisasiDetail->delete(); + $data["belanja_realisasi_id"] = $BelanjaRealisasi->id; + $data["jumlah_realisasi"] = $jmlRealisasi->jml; + $data["alokasi_realisasi"] = replaceMoney($req["alokasi_realisasi"]); + $data["volume_satuan_realisasi"] = $req["vol_realisasi"]; + $data["unit_satuan_realisasi"] = $req["unit_realisasi"]; + $data["semester"] = (int)$req["sms"]; + $data["created_by"] = Auth::user()->id; + BelanjaRealisasiDetail::create($data); + + $BelanjaRealisasiDetail = BelanjaRealisasiDetail::where("belanja_realisasi_id",$BelanjaRealisasi->id)->orderby("semester")->get(); + $dataBelanjaRealisasi = []; + if (count($BelanjaRealisasiDetail)==1) + { + $dataBelanjaRealisasi["jumlah_realisasi"] = $BelanjaRealisasiDetail[0]->jumlah_realisasi; + $dataBelanjaRealisasi["volume_satuan_realisasi"] = $BelanjaRealisasiDetail[0]->volume_satuan_realisasi; + $dataBelanjaRealisasi["unit_satuan_realisasi"] = $BelanjaRealisasiDetail[0]->unit_satuan_realisasi; + }else if(count($BelanjaRealisasiDetail)>1) + { + $dataBelanjaRealisasi["jumlah_realisasi"] = $BelanjaRealisasiDetail[1]->jumlah_realisasi; + $dataBelanjaRealisasi["volume_satuan_realisasi"] = $BelanjaRealisasiDetail[1]->volume_satuan_realisasi; + $dataBelanjaRealisasi["unit_satuan_realisasi"] = $BelanjaRealisasiDetail[1]->unit_satuan_realisasi; + } + $dataBelanjaRealisasi["realisasi_by"] = Auth::user()->id; + $BelanjaRealisasi->update($dataBelanjaRealisasi); + + DB::commit(); + + return redirect($redirect)->with('success','Data Realisasi berhasil di input!'); + }catch(\Exception $e){ + throw new \Exception($e->getMessage()); + DB::rollBack(); + return redirect($redirect)->with('error',$e->getMessage()); + } + } + + $unitSatuan = UnitSatuan::orderBy("id")->get(); + return view('realisasi_belanja.form_input_realisasi',compact("BelanjaRealisasi", "BelanjaRealisasiDetail", "jmlRealisasi", "unitSatuan","redirect","semester","sms")); + + }else if($req["type"]=="rinci"){ + + if ($request->isMethod('post')) { + try{ + DB::beginTransaction(); + + $bulan = $req["bulan"]; + $data["belanja_realisasi_id"] = $BelanjaRealisasi->id; + $data["jumlah_realisasi_".$bulan] = replaceMoney($req["jml_realisasi"]); + $data["volume_satuan_realisasi_".$bulan] = replaceMoney($req["vol_realisasi"]); + $data["created_by"] = Auth::user()->id; + // var_dump($data); exit; + BelanjaRealisasiRinci::updateOrCreate( + ["belanja_realisasi_id"=>$BelanjaRealisasi->id], + $data + ); + + DB::commit(); + + return redirect($redirect)->with('success','Data Realisasi Rinci berhasil di input!'); + }catch(\Exception $e){ + throw new \Exception($e->getMessage()); + DB::rollBack(); + return redirect($redirect)->with('error',$e->getMessage()); + } + } + + $BelanjaRealisasiRinci = BelanjaRealisasiRinci::where("belanja_realisasi_id",$BelanjaRealisasi->id)->firstorNew(); + $BelanjaRealisasiRinci = json_encode($BelanjaRealisasiRinci); + return view('realisasi_belanja.form_input_realisasi_rinci',compact("BelanjaRealisasi","redirect","BelanjaRealisasiRinci")); + } } public function datatableInputRealisasi(Request $request) diff --git a/app/Models/BelanjaRealisasi.php b/app/Models/BelanjaRealisasi.php index 680307c..fad1bcb 100644 --- a/app/Models/BelanjaRealisasi.php +++ b/app/Models/BelanjaRealisasi.php @@ -30,6 +30,7 @@ class BelanjaRealisasi extends Eloquent "kode_rekening", "nama_rekening", "jumlah_anggaran", + "alokasi_anggaran", "volume_satuan", "unit_satuan", "jumlah_realisasi", diff --git a/app/Models/BelanjaRealisasiDetail.php b/app/Models/BelanjaRealisasiDetail.php index 744fdc6..632e590 100644 --- a/app/Models/BelanjaRealisasiDetail.php +++ b/app/Models/BelanjaRealisasiDetail.php @@ -14,6 +14,7 @@ class BelanjaRealisasiDetail extends Eloquent protected $fillable = [ "belanja_realisasi_id", "jumlah_realisasi", + "alokasi_realisasi", "volume_satuan_realisasi", "unit_satuan_realisasi", "semester", diff --git a/app/Models/BelanjaRealisasiRinci.php b/app/Models/BelanjaRealisasiRinci.php new file mode 100644 index 0000000..ed073f6 --- /dev/null +++ b/app/Models/BelanjaRealisasiRinci.php @@ -0,0 +1,42 @@ +string("kode_rekening",50)->nullable(); $table->string("nama_rekening",400)->nullable(); $table->decimal('jumlah_anggaran', 19, 2); + $table->decimal('alokasi_anggaran', 19, 2); $table->integer('volume_satuan')->nullable(); $table->string('unit_satuan',30)->nullable(); $table->smallInteger('jml_rencana_kontrak')->default(0); diff --git a/database/migrations/2022_07_25_142112_create_belanja_realisasi_detail_table.php b/database/migrations/2022_07_25_142112_create_belanja_realisasi_detail_table.php index 02fa3ec..e7c67d7 100644 --- a/database/migrations/2022_07_25_142112_create_belanja_realisasi_detail_table.php +++ b/database/migrations/2022_07_25_142112_create_belanja_realisasi_detail_table.php @@ -20,6 +20,7 @@ class CreateBelanjaRealisasiDetailTable extends Migration $table->integer('volume_satuan_realisasi')->nullable(); $table->string('unit_satuan_realisasi',30)->nullable(); $table->tinyInteger("semester"); + $table->decimal('alokasi_realisasi', 19, 2); $table->uuid("created_by"); $table->timestamps(); }); diff --git a/database/migrations/2022_11_03_092819_create_belanja_realisasi_rinci_table.php b/database/migrations/2022_11_03_092819_create_belanja_realisasi_rinci_table.php new file mode 100644 index 0000000..193626e --- /dev/null +++ b/database/migrations/2022_11_03_092819_create_belanja_realisasi_rinci_table.php @@ -0,0 +1,57 @@ +id(); + $table->uuid("belanja_realisasi_id"); + $table->decimal('jumlah_realisasi_1', 19, 2)->default(0); + $table->integer('volume_satuan_realisasi_1')->default(0); + $table->decimal('jumlah_realisasi_2', 19, 2)->default(0); + $table->integer('volume_satuan_realisasi_2')->default(0); + $table->decimal('jumlah_realisasi_3', 19, 2)->default(0); + $table->integer('volume_satuan_realisasi_3')->default(0); + $table->decimal('jumlah_realisasi_4', 19, 2)->default(0); + $table->integer('volume_satuan_realisasi_4')->default(0); + $table->decimal('jumlah_realisasi_5', 19, 2)->default(0); + $table->integer('volume_satuan_realisasi_5')->default(0); + $table->decimal('jumlah_realisasi_6', 19, 2)->default(0); + $table->integer('volume_satuan_realisasi_6')->default(0); + $table->decimal('jumlah_realisasi_7', 19, 2)->default(0); + $table->integer('volume_satuan_realisasi_7')->default(0); + $table->decimal('jumlah_realisasi_8', 19, 2)->default(0); + $table->integer('volume_satuan_realisasi_8')->default(0); + $table->decimal('jumlah_realisasi_9', 19, 2)->default(0); + $table->integer('volume_satuan_realisasi_9')->default(0); + $table->decimal('jumlah_realisasi_10', 19, 2)->default(0); + $table->integer('volume_satuan_realisasi_10')->default(0); + $table->decimal('jumlah_realisasi_11', 19, 2)->default(0); + $table->integer('volume_satuan_realisasi_11')->default(0); + $table->decimal('jumlah_realisasi_12', 19, 2)->default(0); + $table->integer('volume_satuan_realisasi_12')->default(0); + $table->uuid('created_by')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('belanja_realisasi_rinci'); + } +} diff --git a/resources/views/realisasi_belanja/create.blade.php b/resources/views/realisasi_belanja/create.blade.php index 2d2af5f..6189358 100644 --- a/resources/views/realisasi_belanja/create.blade.php +++ b/resources/views/realisasi_belanja/create.blade.php @@ -85,6 +85,8 @@ $("input[name=anggaran]").val("{{ separateNumberIndo($VwDpaRsk->v_angg_tapd) }}"); $("input[name=anggaran]").attr("readonly", true); + $("input[name=alokasi_anggaran]").val("{{ separateNumberIndo($VwDpaRsk->v_angg_tapd) }}"); + $('select[name=jenis_dana]').change(); $(document).on("submit","#frmRealBelanja",function (e){ diff --git a/resources/views/realisasi_belanja/edit.blade.php b/resources/views/realisasi_belanja/edit.blade.php index 32c2685..1c5f4f5 100644 --- a/resources/views/realisasi_belanja/edit.blade.php +++ b/resources/views/realisasi_belanja/edit.blade.php @@ -83,6 +83,8 @@ $("input[name=anggaran]").val("{{ separateNumberIndo($VwDpaRsk->v_angg_tapd) }}"); $("input[name=anggaran]").attr("readonly", true); + $("input[name=alokasi_anggaran]").val("{{ separateNumberIndo($realisasi_belanja->alokasi_anggaran) }}"); + $("input[name=vol]").val("{{ isset($realisasi_belanja->volume_satuan)?separateNumberIndo($realisasi_belanja->volume_satuan):0 }}"); $("select[name=unit]").val("{{ $realisasi_belanja->unit_satuan }}"); $("input[name=jml_rencana_kontrak]").val("{{ isset($realisasi_belanja->jml_rencana_kontrak)?$realisasi_belanja->jml_rencana_kontrak:0 }}"); diff --git a/resources/views/realisasi_belanja/form.blade.php b/resources/views/realisasi_belanja/form.blade.php index 23e592d..c8b5e79 100644 --- a/resources/views/realisasi_belanja/form.blade.php +++ b/resources/views/realisasi_belanja/form.blade.php @@ -47,11 +47,15 @@
| Keterangan | + +{{ $bulan[$i] }} | + +
|---|---|
| Realisasi | + +{{ isset($BelanjaRealisasiRinci["jumlah_realisasi_".$i])?separateNumberIndo($BelanjaRealisasiRinci["jumlah_realisasi_".$i]):0 }} | + +
| Volume | + +{{ isset($BelanjaRealisasiRinci["volume_satuan_realisasi_".$i])?separateNumberIndo($BelanjaRealisasiRinci["volume_satuan_realisasi_".$i]):0 }} | + +