added delete autoserahan and change apporvalwithdraw

This commit is contained in:
Hafifie PKB
2025-03-16 15:42:42 +08:00
parent c328a0492f
commit d236ca2268
3 changed files with 172 additions and 45 deletions
+1
View File
@@ -26,6 +26,7 @@ class ApprovalWithdrawal extends Model
'gldetail_id_v2', 'gldetail_id_v2',
'denopendser_id_v3', 'denopendser_id_v3',
'gldetail_id_v3', 'gldetail_id_v3',
'action',
'approval_timestamp', 'approval_timestamp',
]; ];
+128 -5
View File
@@ -24,6 +24,48 @@ class AutoSerahanController extends Controller
return response()->json($listapproval,200); return response()->json($listapproval,200);
} }
public function deleteAutoSerahan(Request $request){
$current = Carbon::now();
DB::connection('mysql7')->beginTransaction();
try{
if($request->version == 'v3'){
$listapproval = ApprovalWithdrawal::on('mysql7')
->where('gldetail_id_v2',$request->recno)
->where('approval_status',"APPROVED")
->where('action','create')
->where('updated_serahan_v2',1)
->where('updated_pendahuluan_v3',1)
->get();
$approval = ApprovalWithdrawal::on('mysql7')->create([
'kodcaw' => ($request->version == 'v3') ? $this->interchangeCawangan($request->kodcaw,$request->version) : $request->kodcaw,
'action' => 'delete',
'pc_name' => $request->teller,
'operasi_name' => null,
'amount' => $request->amaun,
'approval_status' => 'PENDING',
'approval_timestamp' => null,
'gldetail_id_v3' => $listapproval['gldetail_id_v3'],
'gldetail_id_v2' => isset($request->recno) ? $request->recno : 0,
'denopendser_id_v3' => 0,
'denopendser_id_v2' => 0,
'updated_serahan_v2' => 0,
'updated_pendahuluan_v3' => 0,
'created_at' => $current,
'updated_at' => $current,
]);
DB::connection('mysql7')->commit();
return response()->json(['status' => 'success','id' => $approval->id]);
}
}catch(\Exception $e){
DB::connection('mysql7')->rollBack();
return response()->json(['status' => 'failed','message' => $e->getMessage()]);
}
}
public function createAutoSerahan(Request $request) public function createAutoSerahan(Request $request)
{ {
$current = Carbon::now(); $current = Carbon::now();
@@ -64,6 +106,7 @@ class AutoSerahanController extends Controller
if($request->version == 'v3'){ if($request->version == 'v3'){
$approval = ApprovalWithdrawal::on('mysql7')->create([ $approval = ApprovalWithdrawal::on('mysql7')->create([
'kodcaw' => ($request->version == 'v3') ? $this->interchangeCawangan($request->kodcaw,$request->version) : $request->kodcaw, 'kodcaw' => ($request->version == 'v3') ? $this->interchangeCawangan($request->kodcaw,$request->version) : $request->kodcaw,
'action' => 'create',
'pc_name' => $request->teller, 'pc_name' => $request->teller,
'operasi_name' => null, 'operasi_name' => null,
'amount' => $request->amaun, 'amount' => $request->amaun,
@@ -188,11 +231,6 @@ class AutoSerahanController extends Controller
'bakieod' => $bakiakhir 'bakieod' => $bakiakhir
)); ));
// ApprovalWithdrawal::on('mysql7')->where('id',$id)->update(array(
// 'updated_serahan_v2' => 1,
// 'gldetail_id_v2' => $gldetail->id
// ));
} }
// Commit transactions // Commit transactions
@@ -361,6 +399,91 @@ class AutoSerahanController extends Controller
return response()->json(['status' => 'success','gldetail_id' => $updated_pendahuluan['gldetail_id']],200); return response()->json(['status' => 'success','gldetail_id' => $updated_pendahuluan['gldetail_id']],200);
} }
public function removeAutoSerahan(Request $request){
$this->checkVault($request->kodcaw,'v2');
$this->checkDenominasi($request->kodcaw,'v2');
$kodcaw = $this->interchangeCawangan($request->kodcaw,'v2');
$updated_serahan = $this->autoSerahanRemove('pendahuluan',$kodcaw,$request->amaun,$request->id);
return response()->json($updated_serahan);
}
public function removeAutoPendahuluan(Request $request){
$this->checkVault($request->kodcaw,'v3');
$this->checkDenominasi($request->kodcaw,'v3');
$kodcaw = $this->interchangeCawangan($request->kodcaw,'v3');
$updated_pendahuluan = $this->autoSerahanRemove('pendahuluan',$kodcaw,$request->amaun,$request->id);
return response()->json($updated_pendahuluan);
}
private function autoSerahanRemove($jenis,$kodcaw,$amaun,$id){
$current = Carbon::now();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$vault = Vault::on($cawangan['mysql'])->where('kodcaw','=',$kodcaw)->where('tarikh','=',$current->toDateString())->orderby('tarikh','desc')->first();
$bakiawal = $vault['bakiawal'];
$keluar = $vault['keluar'];
$masuk = $vault['masuk'];
$bakiakhir = $vault['bakiakhir'];
$pendahuluan = $vault['pendahuluan'];
$serahan = $vault['serahan'];
$totpanjaran = $vault['totpanjar'];
DB::connection($cawangan['mysql'])->beginTransaction();
DB::connection('mysql7')->beginTransaction();
try{
$approval = ApprovalWithdrawal::on('mysql7')->where('id',$id)->first();
if($jenis == 'pendahuluan'){
$totalpendahuluan = $pendahuluan - $amaun;
$bakiakhir = $bakiawal - $keluar + $masuk + $totalpendahuluan - $serahan - $totpanjaran;
Vault::on($cawangan['mysql'])->where([['tarikh','=',$current->toDateString()],['kodcaw','=', $kodcaw]])->update(array(
'pendahuluan' => $totalpendahuluan,
'bakiakhir' => $bakiakhir,
'bakieod' => $bakiakhir
));
DenoPendSer::where('no', $approval['denopendser_id_v2'])->delete();
GlDetail::where('recno', $approval['gldetail_id_v3'])->delete();
ApprovalWithdrawal::on('mysql7')->where('id',$id)->update(array(
'updated_pendahuluan_v3' => 1,
));
}else{
$totalserahan = $serahan - $amaun;
$bakiakhir = $bakiawal - $keluar + $masuk + $pendahuluan - $totalserahan - $totpanjaran;
Vault::on($cawangan['mysql'])->where([['tarikh','=',$current->toDateString()],['kodcaw','=', $kodcaw]])->update(array(
'serahan' => $totalserahan,
'bakiakhir' => $bakiakhir,
'bakieod' => $bakiakhir
));
DenoPendSer::where('no', $approval['denopendser_id_v2'])->delete();
GlDetail::where('recno', $approval['gldetail_id_v2'])->delete();
ApprovalWithdrawal::on('mysql7')->where('id',$id)->update(array(
'updated_serahan_v2' => 1,
));
}
}catch(\Exception $e){
DB::connection($cawangan['mysql'])->rollBack();
DB::connection('mysql7')->rollBack();
throw $e;
}
}
public function SetApprovalWithdrawal(Request $request){ public function SetApprovalWithdrawal(Request $request){
if($request->jenis == 'create'){ if($request->jenis == 'create'){
+3
View File
@@ -682,8 +682,11 @@ $router->group(['prefix'=>'api'], function () use ($router){
$router->get('autoserahan/list',['uses'=>'AutoSerahanController@getAutoSerahan']); $router->get('autoserahan/list',['uses'=>'AutoSerahanController@getAutoSerahan']);
$router->put('autoserahan/approve',['uses'=>'AutoSerahanController@autoSerahanApproval']); $router->put('autoserahan/approve',['uses'=>'AutoSerahanController@autoSerahanApproval']);
$router->post('autoserahan/create',['uses'=>'AutoSerahanController@createAutoSerahan']); $router->post('autoserahan/create',['uses'=>'AutoSerahanController@createAutoSerahan']);
$router->post('autoserahan/delete',['uses'=>'AutoSerahanController@deleteAutoSerahan']);
$router->put('autoserahan/pendahuluan',['uses'=>'AutoSerahanController@pendahuluanAutoSerahan']); $router->put('autoserahan/pendahuluan',['uses'=>'AutoSerahanController@pendahuluanAutoSerahan']);
$router->put('autoserahan/serahan',['uses'=>'AutoSerahanController@serahanAutoSerahan']); $router->put('autoserahan/serahan',['uses'=>'AutoSerahanController@serahanAutoSerahan']);
$router->put('autoserahan/delete/pendahuluan',['uses'=>'AutoSerahanController@pendahuluanAutoSerahan']);
$router->put('autoserahan/delete/serahan',['uses'=>'AutoSerahanController@serahanAutoSerahan']);
$router->put('autoserahan/setapproval',['uses'=>'AutoSerahanController@SetApprovalWithdrawal']); $router->put('autoserahan/setapproval',['uses'=>'AutoSerahanController@SetApprovalWithdrawal']);
$router->get('autoserahan/get',['uses'=>'AutoSerahanController@getAutoSerahanApproval']); $router->get('autoserahan/get',['uses'=>'AutoSerahanController@getAutoSerahanApproval']);
$router->get('autoserahan/checkapproval',['uses'=>'AutoSerahanController@checkProsesApproval']); $router->get('autoserahan/checkapproval',['uses'=>'AutoSerahanController@checkProsesApproval']);