diff --git a/app/Http/Controllers/AutoSerahanController.php b/app/Http/Controllers/AutoSerahanController.php index e3d562a..3c0853c 100644 --- a/app/Http/Controllers/AutoSerahanController.php +++ b/app/Http/Controllers/AutoSerahanController.php @@ -311,6 +311,9 @@ class AutoSerahanController extends Controller public function serahanAutoSerahan(Request $request){ + $this->checkVault($request->kodcaw); + $this->checkDenominasi($request->kodcaw); + $updated_serahan = $this->autoSerahanEngine('serahan',$request->kodcaw,$request->teller,$request->amaun,$request->id,$request->denopendser_id); return response()->json(['status' => 'success','gldetail_id' => $updated_serahan['gldetail_id']],200); @@ -318,6 +321,9 @@ class AutoSerahanController extends Controller public function pendahuluanAutoSerahan(Request $request){ + $this->checkVault($request->kodcaw); + $this->checkDenominasi($request->kodcaw); + $updated_pendahuluan = $this->autoSerahanEngine('pendahuluan',$request->kodcaw,$request->teller,$request->amaun,$request->id,$request->denopendser_id); return response()->json(['status' => 'success','gldetail_id' => $updated_pendahuluan['gldetail_id']],200); @@ -345,4 +351,178 @@ class AutoSerahanController extends Controller $query = ApprovalWithdrawal::on('mysql7')->where('kodcaw',$request->kodcaw)->where('id',$request->id)->first(); return response()->json($query,200); } + + private function checkVault($kodcaw){ + $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); + + /* Check Tarikh Harini */ + $available_vault = Vault::on($cawangan['mysql'])->where('tarikh',Carbon::now()->toDateString())->first(); + + if($available_vault){ + return $available_vault; + }else{ + $last_vault = Vault::on($cawangan['mysql'])->where('kodcaw',$kodcaw)->orderby('tarikh','desc')->first(); + if(!$last_vault){ + $vaultcreate = Vault::on($cawangan['mysql'])->create([ + 'kodcaw'=>$kodcaw, + 'tarikh'=> Carbon::now()->toDateString(), + 'bakiawal' => 0, + 'keluar' => 0, + 'masuk' => 0, + 'bakiakhir' => 0, + 'bakieod' => 0, + 'pendahuluan' => 0, + 'serahan' => 0, + '1sen' => 0, + '5sen' => 0, + '10sen' => 0, + '20sen' => 0, + '50sen' => 0, + 'rm1' => 0, + 'rm2' => 0, + 'rm5' => 0, + 'rm10' => 0, + 'rm50' => 0, + 'rm100' => 0, + 'rm1000' => 0, + 'totpanjar' => 0 + ]); + + return $vaultcreate; + } + + $new_vault = Vault::on($cawangan['mysql'])->create([ + 'kodcaw'=>$kodcaw, + 'tarikh'=> Carbon::now()->toDateString(), + 'bakiawal' => $last_vault['bakiakhir'], + 'keluar' => 0, + 'masuk' => 0, + 'bakiakhir' => $last_vault['bakiakhir'], + 'bakieod' => $last_vault['bakiakhir'], + 'pendahuluan' => 0, + 'serahan' => 0, + '1sen' => $last_vault['1sen'], + '5sen' => $last_vault['5sen'], + '10sen' => $last_vault['10sen'], + '20sen' => $last_vault['20sen'], + '50sen' => $last_vault['50sen'], + 'rm1' => $last_vault['rm1'], + 'rm2' => $last_vault['rm2'], + 'rm5' => $last_vault['rm5'], + 'rm10' => $last_vault['rm10'], + 'rm50' => $last_vault['rm50'], + 'rm100' => $last_vault['rm100'], + 'rm1000' => $last_vault['rm1000'], + 'totpanjar' => 0 + ]); + return $new_vault; + } + } + + private function checkDenominasi($kodcaw){ + $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); + $current = Carbon::now(); + $denominasi = Denominasi::on($cawangan['mysql'])->where('tarikh',$current->toDateString())->first(); + if($denominasi){ + return $denominasi; + }else{ + $last_denominasi = Denominasi::on($cawangan['mysql'])->orderby('tarikh','desc')->first(); + if(!$last_denominasi){ + $savedeno = Denominasi::on($cawangan['mysql'])->create([ + + 'tarikh' => $current->toDateString(), + 'bd1' => 0, + 'b1' => 0, + 'bd5' => 0, + 'b5' => 0, + 'bd10' => 0, + 'b10' => 0, + 'bd20' => 0, + 'b20' => 0, + 'bd50' => 0, + 'b50' => 0, + 'bd100' => 0, + 'b100' => 0, + 'txtring1' => 0, + 'k1' => 0, + 'txtring5' => 0, + 'k5' => 0, + 'txtsen1' => 0, + 'k01' => 0, + 'txtsen5' => 0, + 'k05' => 0, + 'txtsen10' => 0, + 'k010' => 0, + 'txtsen20' => 0, + 'k020' => 0, + 'txtsen50' => 0, + 'k050' => 0, + 'txtring10' => 0, + 'k10' => 0, + 'txtring20' => 0, + 'k20' => 0, + 'txtring50' => 0, + 'k50' => 0, + 'txtring100' => 0, + 'k100' => 0, + 'txtring1000' => 0, + 'k1000' => 0, + 'jumlahbundle' => 0, + 'txtjumlah' => 0, + 'lebihan' => 0, + 'nota' => 0, + 'jumlahkeping' => 0 + ]); + } + + $savedeno = Denominasi::on($cawangan['mysql'])->create([ + + 'tarikh' => $current->toDateString(), + 'bd1' => $last_denominasi['bd1'], + 'b1' => $last_denominasi['b1'], + 'bd5' => $last_denominasi['bd5'], + 'b5' => $last_denominasi['b5'], + 'bd10' => $last_denominasi['bd10'], + 'b10' => $last_denominasi['b10'], + 'bd20' => $last_denominasi['bd20'], + 'b20' => $last_denominasi['b20'], + 'bd50' => $last_denominasi['bd50'], + 'b50' => $last_denominasi['b50'], + 'bd100' => $last_denominasi['bd100'], + 'b100' => $last_denominasi['b100'], + 'txtring1' => $last_denominasi['txtring1'], + 'k1' => $last_denominasi['k1'], + 'txtring5' => $last_denominasi['txtring5'], + 'k5' => $last_denominasi['k5'], + 'txtsen1' => $last_denominasi['txtsen1'], + 'k01' => $last_denominasi['k01'], + 'txtsen5' => $last_denominasi['txtsen5'], + 'k05' => $last_denominasi['k05'], + 'txtsen10' => $last_denominasi['txtsen10'], + 'k010' => $last_denominasi['k010'], + 'txtsen20' => $last_denominasi['txtsen20'], + 'k020' => $last_denominasi['k020'], + 'txtsen50' => $last_denominasi['txtsen50'], + 'k050' => $last_denominasi['k050'], + 'txtring10' => $last_denominasi['txtring10'], + 'k10' => $last_denominasi['k10'], + 'txtring20' => $last_denominasi['txtring20'], + 'k20' => $last_denominasi['k20'], + 'txtring50' => $last_denominasi['txtring50'], + 'k50' => $last_denominasi['k50'], + 'txtring100' => $last_denominasi['txtring100'], + 'k100' => $last_denominasi['k100'], + 'txtring1000' => $last_denominasi['txtring1000'], + 'k1000' => $last_denominasi['k1000'], + 'jumlahbundle' => $last_denominasi['jumlahbundle'], + 'txtjumlah' => $last_denominasi['txtjumlah'], + 'lebihan' => $last_denominasi['lebihan'], + 'nota' => $last_denominasi['nota'], + 'jumlahkeping' => $last_denominasi['jumlahkeping'] + ]); + + return $savedeno; + + } + } } \ No newline at end of file