Update Rekening Tamsil dan TPG
This commit is contained in:
@@ -21,6 +21,8 @@ use App\Models\VwRekeningPendapatan;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Http;
|
||||
use App\Models\PendapatanRealisasiSts;
|
||||
|
||||
class ItemSearchController extends Controller
|
||||
{
|
||||
@@ -183,16 +185,40 @@ class ItemSearchController extends Controller
|
||||
{
|
||||
$no_skprd = $request->no_skprd;
|
||||
$kode_akun = $request->kode_akun;
|
||||
$select = DB::raw("NO_SKPRD,TGL_VALIDASI,KODE_BAS,NILAI_BAYAR,TRBAS.N_AKUN");
|
||||
$sts = Siesetpembayaran::select($select)
|
||||
->join("NEWSIPKD.TRBAS", "SI_ESET_PEMBAYARAN.KODE_BAS", "=", "TRBAS.C_AKUN")
|
||||
->where("NO_SKPRD", $no_skprd)
|
||||
->where("SI_ESET_PEMBAYARAN.KODE_BAS", $kode_akun)
|
||||
->whereRaw("C_TAHUN_BERLAKU<=" . getTA() . " AND C_TAHUN_BERAKHIR>=" . getTA())
|
||||
->first();
|
||||
if ($sts) {
|
||||
$sts["tgl_validasi"] = date("Y-m-d", strtotime($sts["tgl_validasi"]));
|
||||
$sts["nilai_bayar"] = separateNumberIndo($sts["nilai_bayar"]);
|
||||
|
||||
$arrTPG = ['4.2.01.01.04.0004','4.2.01.01.04.0005','4.2.01.09.02.0004','4.2.01.09.02.0005'];
|
||||
if (in_array($kode_akun,$arrTPG)){
|
||||
$sts = array();
|
||||
$cek = PendapatanRealisasiSts::where("rkud_no_sts",$no_skprd)->count();
|
||||
if ($cek==0){
|
||||
$urlAPI = "http://10.15.34.90:8820/api/tpg-tamsil/cek-sp2t";
|
||||
$httpSTS = Http::withHeaders([
|
||||
'Accept' => 'application/json',
|
||||
])->withBasicAuth('sidata_tpgtamsil_dev', 'sidataAp!TpgT4ms1lD3v')
|
||||
->post($urlAPI, [
|
||||
"no_sp2t"=>$no_skprd,
|
||||
"kode_rekening"=>$kode_akun
|
||||
]);
|
||||
if(isset($httpSTS["data"])){
|
||||
$sts["no_skprd"] = $httpSTS["data"]["no_sp2t"];
|
||||
$sts["tgl_validasi"] = date("Y-m-d", strtotime($httpSTS["data"]["tanggal_pengesahan"]));
|
||||
$sts["kode_bas"] = $httpSTS["data"]["kode_rekening"];
|
||||
$sts["n_akun"] = $httpSTS["data"]["nam_rekening"];
|
||||
$sts["nilai_bayar"] = separateNumberIndo($httpSTS["data"]["jumlah"]);
|
||||
}
|
||||
}
|
||||
}else{
|
||||
$select = DB::raw("NO_SKPRD,TGL_VALIDASI,KODE_BAS,NILAI_BAYAR,TRBAS.N_AKUN");
|
||||
$sts = Siesetpembayaran::select($select)
|
||||
->join("NEWSIPKD.TRBAS", "SI_ESET_PEMBAYARAN.KODE_BAS", "=", "TRBAS.C_AKUN")
|
||||
->where("NO_SKPRD", $no_skprd)
|
||||
->where("SI_ESET_PEMBAYARAN.KODE_BAS", $kode_akun)
|
||||
->whereRaw("C_TAHUN_BERLAKU<=" . getTA() . " AND C_TAHUN_BERAKHIR>=" . getTA())
|
||||
->first();
|
||||
if ($sts) {
|
||||
$sts["tgl_validasi"] = date("Y-m-d", strtotime($sts["tgl_validasi"]));
|
||||
$sts["nilai_bayar"] = separateNumberIndo($sts["nilai_bayar"]);
|
||||
}
|
||||
}
|
||||
return response()->json($sts);
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Maatwebsite\Excel\Facades\Excel;
|
||||
use App\Models\PendapatanRealisasi;
|
||||
use App\Models\PendapatanRealisasiSts;
|
||||
use App\Models\Sps_pendapatan;
|
||||
use App\Models\VwJadwalSalur;
|
||||
use App\Models\User;
|
||||
@@ -187,6 +188,7 @@ class RealisasiPendapatanController extends Controller
|
||||
// }
|
||||
$this->readNotif($realisasi_pendapatan->id);
|
||||
$this->setSubtitle("Detail Data");
|
||||
// var_dump($realisasi_pendapatan->hasSts); exit;
|
||||
return view('realisasi_pendapatan.show',compact("realisasi_pendapatan"));
|
||||
}
|
||||
|
||||
@@ -204,37 +206,51 @@ class RealisasiPendapatanController extends Controller
|
||||
try{
|
||||
$date = date("Ymd");
|
||||
DB::beginTransaction();
|
||||
|
||||
$data = PendapatanRealisasi::firstOrNew(array('id' => $realisasiId));
|
||||
|
||||
if ($data["simtrad4_bersih"]<>replaceMoney($req["rkud_jumlah"])){
|
||||
return redirect(URL::to("/realisasi-pendapatan/".$realisasiId))->with('error', "Jumlah STS harus sama dengan Rencana !");
|
||||
$dataRealisasi = PendapatanRealisasi::where(['id' => $realisasiId])->first();
|
||||
$arrTPG = ['4.2.01.01.04.0004','4.2.01.01.04.0005','4.2.01.09.02.0004','4.2.01.09.02.0005'];
|
||||
$sisa = 0;
|
||||
if (in_array($req["rkud_kode_akun"],$arrTPG)){
|
||||
$totalSts = PendapatanRealisasiSts::where(["id_pendapatan_realisasi" => $realisasiId])->get()->sum("rkud_jumlah");
|
||||
$totalSts += replaceMoney($req["rkud_jumlah"]);
|
||||
if (replaceMoney($req["rkud_jumlah"]) > $dataRealisasi["simtrad4_bersih"]){
|
||||
return redirect(URL::to("/realisasi-pendapatan/".$realisasiId))->with('error', "Jumlah STS harus sama atau lebih kecil dengan Rencana !");
|
||||
}
|
||||
$sisa = $dataRealisasi["simtrad4_bersih"] - replaceMoney($req["rkud_jumlah"]);
|
||||
}else{
|
||||
if ($dataRealisasi["simtrad4_bersih"]<>replaceMoney($req["rkud_jumlah"])){
|
||||
return redirect(URL::to("/realisasi-pendapatan/".$realisasiId))->with('error', "Jumlah STS harus sama dengan Rencana !");
|
||||
}
|
||||
}
|
||||
$data["rkud_tgl"] = $req["rkud_tgl"];
|
||||
$data["rkud_no_sts"] = $req["rkud_no_sts"];
|
||||
$data["rkud_kode_akun"] = $req["rkud_kode_akun"];
|
||||
$data["rkud_nama_akun"] = $req["rkud_nama_akun"];
|
||||
$data["rkud_jumlah"] = replaceMoney($req["rkud_jumlah"]);
|
||||
$data["sisa_sts"] = $sisa;
|
||||
|
||||
$file = $request->file('file_sts');
|
||||
if ($file){
|
||||
$fileName = $req["rkud_no_sts"].".".$file->getClientOriginalExtension();
|
||||
$fileName = str_replace([" ","/"],["_","_"],$req["rkud_no_sts"]).".".$file->getClientOriginalExtension();
|
||||
$tujuan_upload = config('constants.upload_path_sts').getTA();
|
||||
File::isDirectory($tujuan_upload) or File::makeDirectory($tujuan_upload, 0777, true, true);
|
||||
$file->move($tujuan_upload, $fileName);
|
||||
$data["file_sts"] = $fileName;
|
||||
}
|
||||
$data->save();
|
||||
|
||||
PendapatanRealisasiSts::updateOrCreate([
|
||||
"id_pendapatan_realisasi"=>$realisasiId,
|
||||
"rkud_no_sts"=>$req["rkud_no_sts"]
|
||||
],$data);
|
||||
|
||||
DB::commit();
|
||||
|
||||
$userAnggaran = User::where("role_name","anggaran")->get()->toArray();
|
||||
$userAnggaran = array_column($userAnggaran,"id");
|
||||
$url = URL::to("/realisasi-pendapatan/".$realisasiId);
|
||||
$message = "Realisasi Pendapatan dengan No. SP2D BUN ".$data["simtrad4_sp2d_bun"]." telah divalidasi oleh Bidang Perben!";
|
||||
$this->sendNotif("bendahara", "anggaran", $userAnggaran, $message, $url, "Realisasi Pendapatan", $data->id);
|
||||
// $userAnggaran = User::where("role_name","anggaran")->get()->toArray();
|
||||
// $userAnggaran = array_column($userAnggaran,"id");
|
||||
// $url = URL::to("/realisasi-pendapatan/".$realisasiId);
|
||||
// $message = "Realisasi Pendapatan dengan No. SP2D BUN ".$data["simtrad4_sp2d_bun"]." telah divalidasi oleh Bidang Perben!";
|
||||
// $this->sendNotif("bendahara", "anggaran", $userAnggaran, $message, $url, "Realisasi Pendapatan", $data->id);
|
||||
|
||||
return redirect(URL::to("/realisasi-pendapatan"))->with('success','STS berhasil diinput.');
|
||||
return redirect(URL::to("/realisasi-pendapatan/".$realisasiId))->with('success','STS berhasil diinput.');
|
||||
}catch(\Exception $e){
|
||||
|
||||
DB::rollBack();
|
||||
@@ -319,11 +335,33 @@ class RealisasiPendapatanController extends Controller
|
||||
|
||||
public function downloadSts(PendapatanRealisasi $realisasi)
|
||||
{
|
||||
$sts = PendapatanRealisasiSts::where("id_pendapatan_realisasi",$realisasi->id)->first();
|
||||
$headers = [
|
||||
'Content-Type' => 'application/pdf',
|
||||
'Content-Disposition' => 'attachment;filename='.$realisasi->file_sts
|
||||
'Content-Disposition' => 'attachment;filename='.$sts->file_sts
|
||||
];
|
||||
return response()->download(config('constants.upload_path_sts').getTA()."/".$realisasi->file_sts, $realisasi->file_sts, $headers);
|
||||
return response()->download(config('constants.upload_path_sts').getTA()."/".$sts->file_sts, $sts->file_sts, $headers);
|
||||
}
|
||||
|
||||
public function deleteSts(PendapatanRealisasiSts $stsId)
|
||||
{
|
||||
try{
|
||||
DB::beginTransaction();
|
||||
|
||||
$uploadDir = config('constants.upload_path_sts').getTA();
|
||||
if (File::exists($uploadDir.$stsId->file_sts)){
|
||||
File::delete($uploadDir.$stsId->file_sts);
|
||||
}
|
||||
$stsId->delete();
|
||||
|
||||
DB::commit();
|
||||
return redirect(URL::to("/realisasi-pendapatan/".$stsId->id_pendapatan_realisasi))->with('success','Data STS Pendapatan berhasil dihapus!');
|
||||
|
||||
}catch(Throwable $e){
|
||||
|
||||
DB::rollBack();
|
||||
return redirect(URL::to("/realisasi-pendapatan/".$stsId->id_pendapatan_realisasi))->with('error','Data STS Pendapatan gagal dihapus.');
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -18,4 +18,8 @@ class PendapatanRealisasi extends Eloquent
|
||||
'retur','bersih','tw','gelombang','potongan_pph','potongan_jkn'
|
||||
];
|
||||
|
||||
public function hasSts() {
|
||||
return $this->hasMany('App\Models\PendapatanRealisasiSts','id_pendapatan_realisasi','id');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
use App\Traits\Uuids;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Yajra\Oci8\Eloquent\OracleEloquent as Eloquent;
|
||||
|
||||
class PendapatanRealisasiSts extends Eloquent
|
||||
{
|
||||
use HasFactory;
|
||||
protected $connection = 'Samasa';
|
||||
protected $table = 'pendapatan_realisasi_sts';
|
||||
protected $guarded = [];
|
||||
}
|
||||
Reference in New Issue
Block a user