added panjar route

This commit is contained in:
Hafifie PKB
2024-11-04 19:08:22 +08:00
parent 9443075afd
commit 8da43b9501
3 changed files with 119 additions and 45 deletions
@@ -7,6 +7,7 @@ use App\Cawangan;
use App\Denominasi; use App\Denominasi;
use App\Services\CashFlow\TellerServices; use App\Services\CashFlow\TellerServices;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use App\Services\Miscellaneous\PanjarServices;
use Carbon\Carbon; use Carbon\Carbon;
@@ -26,6 +27,19 @@ class DenominasiController extends Controller
return response()->json($response); return response()->json($response);
} }
public function test3($kodcaw,Request $request){
$teller = new PanjarServices($kodcaw);
$response = $teller->create($request);
return response()->json($response);
}
public function test4($kodcaw,Request $request){
$teller = new PanjarServices($kodcaw);
$response = $teller->delete($request);
return response()->json($response);
}
public function listdenominasi($kodcaw) public function listdenominasi($kodcaw)
{ {
+102 -45
View File
@@ -9,6 +9,7 @@ use App\DenoPanjar;
use App\Panjar; use App\Panjar;
use App\Vault; use App\Vault;
use Carbon\Carbon; use Carbon\Carbon;
use DateTime;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Log;
@@ -40,11 +41,12 @@ class PanjarServices
private function calculation_denominasi($array_deno = [],$denominasi = [],$jenis_panjar){ private function calculation_denominasi($array_deno = [],$denominasi = [],$jenis_panjar){
if(isset($array_deno) <= 0 || isset($denominasi) <= 0){ if(empty($array_deno) && empty($denominasi)){
return empty($array_deno);
return 'no data'; return 'no data';
} }
if($jenis_panjar != 'masuk' || $jenis_panjar != 'keluar') return 'no data'; if($jenis_panjar != 'masuk' && $jenis_panjar != 'keluar') return 'no data';
$records = []; $records = [];
foreach($this->namelist_deno as $deno => $value){ foreach($this->namelist_deno as $deno => $value){
@@ -80,6 +82,37 @@ class PanjarServices
]; ];
} }
private function checkModal($jenismodal){
switch ($jenismodal) {
case "selenggara":
$kategori = "Baiki dan Selenggara";
$tag = 2;
break;
case "keraian":
$kategori = "Keraian & Promosi";
$tag = 3;
break;
case "belanjaam":
$kategori = "Belanja AM";
$tag = 1;
break;
case "perubatan":
$kategori = "Belanja AM - Perubatan";
$tag = 1;
break;
case "dapur":
$kategori = "Belanja AM - Barangan Dapur";
$tag = 1;
break;
case "pos":
$kategori = "Belanja AM - Postage";
$tag = 1;
break;
}
return ['kategori' => $kategori, 'tag' => $tag];
}
public function delete(Request $request){ public function delete(Request $request){
$current = Carbon::now(); $current = Carbon::now();
$current = new Carbon(); $current = new Carbon();
@@ -89,14 +122,14 @@ class PanjarServices
$panjar = Panjar::on($cawangan['mysql'])->latest('tarikh')->where('nobaucer', $request->nobaucer)->first(); $panjar = Panjar::on($cawangan['mysql'])->latest('tarikh')->where('nobaucer', $request->nobaucer)->first();
$vault = Vault::on($cawangan['mysql'])->latest('tarikh')->first(); $vault = Vault::on($cawangan['mysql'])->latest('tarikh')->first();
$deno_panjar = DenoPanjar::on('mysql7')->where('kodcaw', $this->cawangan)->where('recno', $request->recno)->latest('tarikh','masa')->first(); $deno_panjar = DenoPanjar::on('mysql7')->where('kodcaw', $this->cawangan)->where('recno', $request->recno)->latest('tarikh','masa')->first();
$totalperubatan = floatval($this->getPerubatanAmount($panjar['tuntutoleh'])) + $panjar['bayaran'];
try{ try{
if (!$panjar) throw new \Exception('Custom Exception: Panjar Does Not Exist!'); if (!$panjar) throw new \Exception('Custom Exception: Panjar Does Not Exist!');
if (!$denominasi) throw new \Exception('Custom Exception: Denominasi Does Not Exist!'); if (!$denominasi) throw new \Exception('Custom Exception: Denominasi Does Not Exist!');
if (!$vault) throw new \Exception('Custom Exception: Vault Does Not Exist!'); if (!$vault) throw new \Exception('Custom Exception: Vault Does Not Exist!');
if (!$deno_panjar) throw new \Exception('Custom Exception: Denominasi Panjar Does Not Exist!'); if (!$deno_panjar) throw new \Exception('Custom Exception: Denominasi Panjar Does Not Exist!');
DB::transaction(function () use ($cawangan,$deno_panjar,$panjar,$denominasi,$current,$vault,$request) { DB::transaction(function () use ($cawangan,$deno_panjar,$panjar,$denominasi,$current,$vault,$request,$bakiperubatan) {
$return_data = $this->calculation_denominasi($deno_panjar,$denominasi,'masuk'); $return_data = $this->calculation_denominasi($deno_panjar,$denominasi,'masuk');
if($return_data == 'no data') throw new \Exception('Custom Exception: Denominasi Panjar Not Return Data'); if($return_data == 'no data') throw new \Exception('Custom Exception: Denominasi Panjar Not Return Data');
@@ -155,11 +188,8 @@ class PanjarServices
'bakieod'=>$bakiakhir 'bakieod'=>$bakiakhir
)); ));
DenoPanjar::on('mysql7')->where('kodcaw', $this->cawangan)->where('recno', $panjar['recno'])->latest('tarikh','masa')->delete();
Panjar::on($cawangan['mysql'])->where('recno',$panjar['recno'])->delete();
$audit = new Audit(); $audit = new Audit();
$audit->users = $request->tuntutoleh; $audit->users = $panjar['tuntutoleh'];
$audit->actions = "Keluarkan Perbelanjaan"; $audit->actions = "Keluarkan Perbelanjaan";
$audit->new_data = $panjar; $audit->new_data = $panjar;
$audit->kodcaw = $this->cawangan; $audit->kodcaw = $this->cawangan;
@@ -167,10 +197,23 @@ class PanjarServices
$audit->updated_at = $current; $audit->updated_at = $current;
$audit->save(); $audit->save();
DenoPanjar::on('mysql7')->where('kodcaw', $this->cawangan)->where('recno', $panjar['recno'])->latest('tarikh','masa')->delete();
Panjar::on($cawangan['mysql'])->where('recno',$panjar['recno'])->delete();
$array_response = [
'result' => 'success',
'data' => 1,
'bakiperubatan' => $totalperubatan,
];
}); });
}catch(\Exception $e){ }catch(\Exception $e){
dd($e->getMessage()); $array_response = [
Log::error('Exception: ' , $e->getMessage()); 'result' => 'error',
'data' => $e->getMessage()
];
Log::error('Exception: ' . $e->getMessage());
return $array_response;
} }
} }
@@ -181,25 +224,29 @@ class PanjarServices
$cawangan = Cawangan::on('mysql7')->where('kodcaw', $this->cawangan)->first(); $cawangan = Cawangan::on('mysql7')->where('kodcaw', $this->cawangan)->first();
$denominasi = Denominasi::on($cawangan['mysql'])->latest('tarikh')->first(); $denominasi = Denominasi::on($cawangan['mysql'])->latest('tarikh')->first();
$vault = Vault::on($cawangan['mysql'])->latest('tarikh')->first(); $vault = Vault::on($cawangan['mysql'])->latest('tarikh')->first();
try{ try{
if (!$denominasi) throw new \Exception('Custom Exception: Denominasi Does Not Exist!'); if (!$denominasi) throw new \Exception('Custom Exception: Denominasi Does Not Exist!');
if (!$vault) throw new \Exception('Custom Exception: Vault Does Not Exist!'); if (!$vault) throw new \Exception('Custom Exception: Vault Does Not Exist!');
DB::transaction(function () use ($cawangan,$denominasi,$current,$vault,$request) { return $response = DB::transaction(function () use ($cawangan,$denominasi,$current,$vault,$request) {
$myDateTime = DateTime::createFromFormat('Y-m-d', $request->tarikhbil);
$tarikhbil = $myDateTime->format('dmY');
$tagmodal = $this->checkModal($request->jenismodal);
$bakiperubatan = $this->getPerubatanAmount($request->tuntutan);
$currentbaki = floatval($bakiperubatan) - floatval($request->bayaran);
$panjar = Panjar::on($cawangan['mysql']) $panjar = Panjar::on($cawangan['mysql'])
->create([ ->create([
'tarikh'=> $current->toDateString(), 'tarikh'=> $current->toDateString(),
'deskripsi'=> $request->deskripsi, 'deskripsi'=> $request->deskripsi,
'bayaran' => $request->bayaran, 'bayaran' => $request->bayaran,
'tag' => $request->tag, 'tag' => $tagmodal['tag'],
'kategori' => $request->kategori, 'kategori' => $tagmodal['kategori'],
'id' => $request->id, 'id' => $request->kodlaluan,
'bakiperubatan' => $request->bakiperubatan, 'bakiperubatan' => $currentbaki,
'nobaucer' => $request->nobaucer, 'nobaucer' => $request->baucer,
'nobil' => $request->nobil, 'nobil' => $tarikhbil,
'tuntutoleh' => $request->tuntutoleh 'tuntutoleh' => $request->tuntutan
]); ]);
$denopanjar = DenoPanjar::on('mysql7')->create([ $denopanjar = DenoPanjar::on('mysql7')->create([
@@ -207,27 +254,27 @@ class PanjarServices
'masa' => $current->toTimeString(), 'masa' => $current->toTimeString(),
'kodcaw' => $this->cawangan, 'kodcaw' => $this->cawangan,
'kodlaluan' => $request->kodlaluan, 'kodlaluan' => $request->kodlaluan,
'serahan' => $request->serahan, 'serahan' => $request->bayaran,
'bd1' => $request->bd1, 'bd1' => 0,
'bd5' => $request->bd5, 'bd5' => 0,
'bd10' => $request->bd10, 'bd10' => 0,
'bd20' => $request->bd20, 'bd20' => 0,
'bd50' => $request->bd50, 'bd50' => 0,
'bd100' => $request->bd100, 'bd100' => 0,
'txtring1' => $request->txtring1, 'txtring1' => $request->ambilanring1,
'txtring5' => $request->txtring5, 'txtring5' => $request->ambilanring5,
'txtring10' => $request->txtring10, 'txtring10' => $request->ambilanring10,
'txtring20' => $request->txtring20, 'txtring20' => $request->ambilanring20,
'txtring50' => $request->txtring50, 'txtring50' => $request->ambilanring50,
'txtring100' => $request->txtring100, 'txtring100' => $request->ambilanring100,
'txtring1000' => $request->txtring1000, 'txtring1000' => 0,
'txtsen1' => $request->txtsen1, 'txtsen1' => $request->ambilansen1,
'txtsen5' => $request->txtsen5, 'txtsen5' => $request->ambilansen5,
'txtsen10' => $request->txtsen10, 'txtsen10' => $request->ambilansen10,
'txtsen20' => $request->txtsen20, 'txtsen20' => $request->ambilansen20,
'txtsen50' => $request->txtsen50, 'txtsen50' => $request->ambilansen50,
'jenis' =>$request->jenis, 'jenis' =>$request->jenismodal,
'recno' =>$panjar['recno'], 'recno' =>$panjar['id'],
'update' => '0' 'update' => '0'
]); ]);
@@ -297,21 +344,31 @@ class PanjarServices
$audit->updated_at = $current; $audit->updated_at = $current;
$audit->save(); $audit->save();
$array_response = [ $array_response = [
'result' => 'success', 'result' => 'success',
'data' => 1 'data' => 1,
'bakiperubatan' => $currentbaki,
]; ];
return response()->json($array_response); return $array_response;
}); });
}catch(\Exception $e){ }catch(\Exception $e){
dd($e->getMessage());
$array_response = [ $array_response = [
'result' => 'error', 'result' => 'error',
'data' => $e->getMessage() 'data' => $e->getMessage()
]; ];
return response()->json($array_response); Log::error('Exception: ' . $e->getMessage());
Log::error('Exception: ' , $e->getMessage()); return $array_response;
} }
return response()->json($response);
}
public function getPerubatanAmount($tuntutanoleh){
$cawangan = Cawangan::on('mysql7')->where('kodcaw', $this->cawangan)->first();
$panjar = Panjar::on($cawangan['mysql'])->where('kategori','Belanja AM - Perubatan')->where('tuntutoleh',$tuntutanoleh)->sum('bayaran');
return $panjar;
} }
} }
+3
View File
@@ -649,6 +649,9 @@ $router->group(['prefix'=>'api'], function () use ($router){
$router->post('test/updatetunai/{kodcaw}',['uses'=>'DenominasiController@test']); $router->post('test/updatetunai/{kodcaw}',['uses'=>'DenominasiController@test']);
$router->post('test/serahantunai/{kodcaw}',['uses'=>'DenominasiController@test2']); $router->post('test/serahantunai/{kodcaw}',['uses'=>'DenominasiController@test2']);
$router->post('test/createpanjar/{kodcaw}',['uses'=>'DenominasiController@test3']);
$router->post('test/deletepanjar/{kodcaw}',['uses'=>'DenominasiController@test4']);
}); });