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\Services\CashFlow\TellerServices;
use Illuminate\Http\Request;
use App\Services\Miscellaneous\PanjarServices;
use Carbon\Carbon;
@@ -26,6 +27,19 @@ class DenominasiController extends Controller
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)
{
+102 -45
View File
@@ -9,6 +9,7 @@ use App\DenoPanjar;
use App\Panjar;
use App\Vault;
use Carbon\Carbon;
use DateTime;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
@@ -40,11 +41,12 @@ class PanjarServices
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';
}
if($jenis_panjar != 'masuk' || $jenis_panjar != 'keluar') return 'no data';
if($jenis_panjar != 'masuk' && $jenis_panjar != 'keluar') return 'no data';
$records = [];
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){
$current = Carbon::now();
$current = new Carbon();
@@ -89,14 +122,14 @@ class PanjarServices
$panjar = Panjar::on($cawangan['mysql'])->latest('tarikh')->where('nobaucer', $request->nobaucer)->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();
$totalperubatan = floatval($this->getPerubatanAmount($panjar['tuntutoleh'])) + $panjar['bayaran'];
try{
if (!$panjar) throw new \Exception('Custom Exception: Panjar 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 (!$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');
if($return_data == 'no data') throw new \Exception('Custom Exception: Denominasi Panjar Not Return Data');
@@ -155,11 +188,8 @@ class PanjarServices
'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->users = $request->tuntutoleh;
$audit->users = $panjar['tuntutoleh'];
$audit->actions = "Keluarkan Perbelanjaan";
$audit->new_data = $panjar;
$audit->kodcaw = $this->cawangan;
@@ -167,10 +197,23 @@ class PanjarServices
$audit->updated_at = $current;
$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){
dd($e->getMessage());
Log::error('Exception: ' , $e->getMessage());
$array_response = [
'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();
$denominasi = Denominasi::on($cawangan['mysql'])->latest('tarikh')->first();
$vault = Vault::on($cawangan['mysql'])->latest('tarikh')->first();
try{
if (!$denominasi) throw new \Exception('Custom Exception: Denominasi 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'])
->create([
'tarikh'=> $current->toDateString(),
'deskripsi'=> $request->deskripsi,
'bayaran' => $request->bayaran,
'tag' => $request->tag,
'kategori' => $request->kategori,
'id' => $request->id,
'bakiperubatan' => $request->bakiperubatan,
'nobaucer' => $request->nobaucer,
'nobil' => $request->nobil,
'tuntutoleh' => $request->tuntutoleh
'tag' => $tagmodal['tag'],
'kategori' => $tagmodal['kategori'],
'id' => $request->kodlaluan,
'bakiperubatan' => $currentbaki,
'nobaucer' => $request->baucer,
'nobil' => $tarikhbil,
'tuntutoleh' => $request->tuntutan
]);
$denopanjar = DenoPanjar::on('mysql7')->create([
@@ -207,27 +254,27 @@ class PanjarServices
'masa' => $current->toTimeString(),
'kodcaw' => $this->cawangan,
'kodlaluan' => $request->kodlaluan,
'serahan' => $request->serahan,
'bd1' => $request->bd1,
'bd5' => $request->bd5,
'bd10' => $request->bd10,
'bd20' => $request->bd20,
'bd50' => $request->bd50,
'bd100' => $request->bd100,
'txtring1' => $request->txtring1,
'txtring5' => $request->txtring5,
'txtring10' => $request->txtring10,
'txtring20' => $request->txtring20,
'txtring50' => $request->txtring50,
'txtring100' => $request->txtring100,
'txtring1000' => $request->txtring1000,
'txtsen1' => $request->txtsen1,
'txtsen5' => $request->txtsen5,
'txtsen10' => $request->txtsen10,
'txtsen20' => $request->txtsen20,
'txtsen50' => $request->txtsen50,
'jenis' =>$request->jenis,
'recno' =>$panjar['recno'],
'serahan' => $request->bayaran,
'bd1' => 0,
'bd5' => 0,
'bd10' => 0,
'bd20' => 0,
'bd50' => 0,
'bd100' => 0,
'txtring1' => $request->ambilanring1,
'txtring5' => $request->ambilanring5,
'txtring10' => $request->ambilanring10,
'txtring20' => $request->ambilanring20,
'txtring50' => $request->ambilanring50,
'txtring100' => $request->ambilanring100,
'txtring1000' => 0,
'txtsen1' => $request->ambilansen1,
'txtsen5' => $request->ambilansen5,
'txtsen10' => $request->ambilansen10,
'txtsen20' => $request->ambilansen20,
'txtsen50' => $request->ambilansen50,
'jenis' =>$request->jenismodal,
'recno' =>$panjar['id'],
'update' => '0'
]);
@@ -297,21 +344,31 @@ class PanjarServices
$audit->updated_at = $current;
$audit->save();
$array_response = [
'result' => 'success',
'data' => 1
'data' => 1,
'bakiperubatan' => $currentbaki,
];
return response()->json($array_response);
return $array_response;
});
}catch(\Exception $e){
dd($e->getMessage());
$array_response = [
'result' => 'error',
'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/serahantunai/{kodcaw}',['uses'=>'DenominasiController@test2']);
$router->post('test/createpanjar/{kodcaw}',['uses'=>'DenominasiController@test3']);
$router->post('test/deletepanjar/{kodcaw}',['uses'=>'DenominasiController@test4']);
});