fix migrations and added function
This commit is contained in:
committed by
Hafifie PKB
parent
aecb147d9c
commit
07954b9b5e
@@ -22,8 +22,11 @@ class ApprovalWithdrawal extends Model
|
||||
'approval_status',
|
||||
'updated_serahan_v2',
|
||||
'updated_pendahuluan_v3',
|
||||
'denopendser_id_v2',
|
||||
'gldetail_id_v2',
|
||||
'denopendser_id_v3',
|
||||
'gldetail_id_v3',
|
||||
'approval_timestamp',
|
||||
'gldetail_id'
|
||||
];
|
||||
|
||||
}
|
||||
|
||||
+2
-1
@@ -23,7 +23,8 @@ class GlDetail extends Model
|
||||
'amaun',
|
||||
'pendahuluan',
|
||||
'serahan',
|
||||
'teller'
|
||||
'teller',
|
||||
'date_created'
|
||||
];
|
||||
|
||||
/**
|
||||
|
||||
@@ -12,13 +12,14 @@ use App\Vault;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
class AutoSerahanController extends Controller
|
||||
{
|
||||
public function getAutoSerahan(Request $request){
|
||||
$query = ApprovalWithdrawal::on('mysql7')->where('approval_status', 'PENDING');
|
||||
if (isset($request->kodcaw)) $query->where('kodcaw', '=', $request->kodcaw);
|
||||
$listapproval = $query->get();
|
||||
$listapproval = $query->paginate(5);
|
||||
|
||||
return response()->json($listapproval,200);
|
||||
}
|
||||
@@ -37,56 +38,66 @@ class AutoSerahanController extends Controller
|
||||
'kodcaw' => $request->kodcaw,
|
||||
'kodlaluan' => $request->teller,
|
||||
'amaun' => $request->amaun,
|
||||
'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,
|
||||
'bd1' => 0,
|
||||
'bd5' => 0,
|
||||
'bd10' => 0,
|
||||
'bd20' => 0,
|
||||
'bd50' => 0,
|
||||
'bd100' => 0,
|
||||
'txtring1' => isset($request->txtring1) ? $request->txtring1 : 0,
|
||||
'txtring5' => isset($request->txtring5) ? $request->txtring5 : 0,
|
||||
'txtring10' => isset($request->txtring10) ? $request->txtring10 : 0,
|
||||
'txtring20' => isset($request->txtring20) ? $request->txtring20 : 0,
|
||||
'txtring50' => isset($request->txtring50) ? $request->txtring50 : 0,
|
||||
'txtring100' => isset($request->txtring100) ? $request->txtring100 : 0,
|
||||
'txtring1000' => isset($request->txtring1000) ? $request->txtring1000 : 0,
|
||||
'txtsen1' => isset($request->txtsen1) ? $request->txtsen1 : 0,
|
||||
'txtsen5' => isset($request->txtsen5) ? $request->txtsen5 : 0,
|
||||
'txtsen10' => isset($request->txtsen10) ? $request->txtsen10 : 0,
|
||||
'txtsen20' => isset($request->txtsen20) ? $request->txtsen20 : 0,
|
||||
'txtsen50' => isset($request->txtsen50) ? $request->txtsen50 : 0,
|
||||
'jenis' =>$request->jenis,
|
||||
'recno' =>$request->recno,
|
||||
'update' => '0'
|
||||
'recno' => 0,
|
||||
'update' => 0
|
||||
]);
|
||||
|
||||
ApprovalWithdrawal::on('mysql7')->create([
|
||||
'kodcaw' => $request->kodcaw,
|
||||
'pc_name' => $request->username,
|
||||
'operasi_name' => null,
|
||||
'amount' => $request->amount,
|
||||
'approval_status' => 'PENDING',
|
||||
'approval_timestamp' => null,
|
||||
'gldetail_id' => 0,
|
||||
'denopendser_id' => $deno_pendser->id,
|
||||
'updated_serahan_v2' => 0,
|
||||
'updated_pendahuluan_v3' => 0,
|
||||
'created_at' => $current,
|
||||
'updated_at' => $current,
|
||||
]);
|
||||
if($request->version == 'v3'){
|
||||
$approval = ApprovalWithdrawal::on('mysql7')->create([
|
||||
'kodcaw' => $request->kodcaw,
|
||||
'pc_name' => $request->teller,
|
||||
'operasi_name' => null,
|
||||
'amount' => $request->amaun,
|
||||
'approval_status' => 'PENDING',
|
||||
'approval_timestamp' => null,
|
||||
'gldetail_id_v3' => 0,
|
||||
'gldetail_id_v2' => 0,
|
||||
'denopendser_id_v3' => $deno_pendser->id,
|
||||
'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]);
|
||||
}else{
|
||||
ApprovalWithdrawal::on('mysql7')->where('id', $request->id)->update([
|
||||
'denopendser_id_v2' => $deno_pendser->id,
|
||||
]);
|
||||
DB::connection('mysql7')->commit();
|
||||
return response()->json(['status' => 'success']);
|
||||
}
|
||||
|
||||
DB::connection('mysql7')->commit();
|
||||
return response()->json('success');
|
||||
}catch(\Exception $e){
|
||||
DB::connection('mysql7')->rollBack();
|
||||
return response()->json($e->getMessage());
|
||||
return response()->json(['status' => 'failed','message' => $e->getMessage()]);
|
||||
}
|
||||
}
|
||||
|
||||
private function autoSerahanEngine($jenis, $request){
|
||||
private function autoSerahanEngine($jenis, $kodcaw,$teller,$amaun,$id){
|
||||
$current = Carbon::now();
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
|
||||
$vault = Vault::on($cawangan['mysql'])->where('kodcaw','=',$request->kodcaw)->where('tarikh','=',$current->toDateString())->orderby('tarikh','desc')->first();
|
||||
$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'];
|
||||
@@ -100,70 +111,80 @@ class AutoSerahanController extends Controller
|
||||
DB::connection('mysql7')->beginTransaction();
|
||||
|
||||
try{
|
||||
$approval = ApprovalWithdrawal::on('mysql7')->where('id',$request->id)->first();
|
||||
$approval = ApprovalWithdrawal::on('mysql7')->where('id',$id)->first();
|
||||
|
||||
if($jenis == 'pendahuluan'){
|
||||
|
||||
$totalpendahuluan = $request->amaun + $pendahuluan;
|
||||
$totalpendahuluan = $amaun + $pendahuluan;
|
||||
|
||||
$bakiakhir = $bakiawal - $keluar + $masuk + $totalpendahuluan - $serahan - $totpanjaran;
|
||||
|
||||
$denopendser = DenoPendSer::on('mysql7')->where('id',$approval['denopendser_id'])->first();
|
||||
$denopendser = DenoPendSer::on('mysql7')->where('no',$approval['denopendser_id_v3'])->first();
|
||||
|
||||
$this->updateDenominasi($request->kodcaw,$denopendser);
|
||||
$this->updateDenominasi($kodcaw,$denopendser);
|
||||
|
||||
$gldetail = GlDetail::on($cawangan['mysql'])->create([
|
||||
'kodcaw' => $request->kodcaw,
|
||||
'kodcaw' => $kodcaw,
|
||||
'tarikh' => $current->toDateString(),
|
||||
'dtacct' => $request->dtacct,
|
||||
'ktacct' => $request->ktacct,
|
||||
'descpt' => $request->keterangan,
|
||||
'pendahuluan' => $request->amaun,
|
||||
'teller' => $request->teller . ' (AUTO V3)',
|
||||
'dtacct' => '1000/010',
|
||||
'ktacct' => '7000/102',
|
||||
'descpt' => 'Auto Pendahuluan Daripada V2',
|
||||
'pendahuluan' => $amaun,
|
||||
'teller' => $teller . ' (AUTO V2)',
|
||||
'date_created' => $current
|
||||
]);
|
||||
|
||||
DenoPendSer::on('mysql7')->where('no',$approval['denopendser_id_v3'])->update(array(
|
||||
'recno' => $gldetail->id,
|
||||
'update' => 1
|
||||
));
|
||||
|
||||
Vault::on($cawangan['mysql'])->where([['tarikh','=',$current->toDateString()],['kodcaw','=', $kodcaw]])->update(array(
|
||||
'pendahuluan' => $totalpendahuluan,
|
||||
'bakiakhir' => $bakiakhir,
|
||||
'bakieod' => $bakiakhir
|
||||
));
|
||||
|
||||
ApprovalWithdrawal::on('mysql7')->where('id',$request->id)->update(array(
|
||||
ApprovalWithdrawal::on('mysql7')->where('id',$id)->update(array(
|
||||
'updated_pendahuluan_v3' => 1,
|
||||
'gldetail_id' => $gldetail->id
|
||||
'gldetail_id_v3' => $gldetail->id
|
||||
));
|
||||
|
||||
}else if($jenis == 'serahan'){
|
||||
|
||||
$totalserahan = $request->amaun + $serahan;
|
||||
$totalserahan = $amaun + $serahan;
|
||||
|
||||
$bakiakhir = $bakiawal - $keluar + $masuk + $pendahuluan - $totalserahan - $totpanjaran;
|
||||
|
||||
$denopendser = DenoPendSer::on('mysql7')->where('id',$approval['denopendser_id'])->first();
|
||||
$denopendser = DenoPendSer::on('mysql7')->where('no',$approval['denopendser_id_v2'])->first();
|
||||
|
||||
$this->updateDenominasi($request->kodcaw,$denopendser);
|
||||
$this->updateDenominasi($kodcaw,$denopendser);
|
||||
|
||||
$gldetail = GlDetail::on($cawangan['mysql'])->create([
|
||||
'kodcaw' => $request->kodcaw,
|
||||
'kodcaw' => $kodcaw,
|
||||
'tarikh' => $current->toDateString(),
|
||||
'dtacct' => $request->dtacct,
|
||||
'ktacct' => $request->ktacct,
|
||||
'descpt' => $request->keterangan,
|
||||
'serahan' => $request->amaun,
|
||||
'teller' => $request->teller . ' (AUTO V3)',
|
||||
'dtacct' => '1000/010',
|
||||
'ktacct' => '1000/020',
|
||||
'descpt' => 'Auto Serahan Kepada V3',
|
||||
'serahan' => $amaun,
|
||||
'teller' => $teller . ' (AUTO V3)',
|
||||
'date_created' => $current
|
||||
]);
|
||||
|
||||
DenoPendSer::on('mysql7')->where('no',$approval['denopendser_id_v2'])->update(array(
|
||||
'recno' => $gldetail->id,
|
||||
'update' => 1
|
||||
));
|
||||
|
||||
Vault::on($cawangan['mysql'])->where([['tarikh','=',$current->toDateString()],['kodcaw','=', $kodcaw]])->update(array(
|
||||
'serahan' => $totalserahan,
|
||||
'bakiakhir' => $bakiakhir,
|
||||
'bakieod' => $bakiakhir
|
||||
));
|
||||
|
||||
ApprovalWithdrawal::on('mysql7')->where('id',$request->id)->update(array(
|
||||
ApprovalWithdrawal::on('mysql7')->where('id',$id)->update(array(
|
||||
'updated_serahan_v2' => 1,
|
||||
'gldetail_id' => $gldetail->id
|
||||
'gldetail_id_v2' => $gldetail->id
|
||||
));
|
||||
|
||||
}
|
||||
@@ -193,11 +214,11 @@ class AutoSerahanController extends Controller
|
||||
$approval->approval_timestamp = $current;
|
||||
$approval->save();
|
||||
|
||||
$updated_serahan = $this->autoSerahanEngine('serahan',$request);
|
||||
$updated_pendahuluan = $this->autoSerahanEngine('pendahuluan',$request);
|
||||
$updated_serahan = $this->autoSerahanEngine('serahan',$request->kodcaw,$request->teller,$request->amaun,$request->id);
|
||||
$updated_pendahuluan = $this->autoSerahanEngine('pendahuluan',$request->kodcaw,$request->teller,$request->amaun,$request->id);
|
||||
|
||||
DB::connection('mysql7')->commit();
|
||||
return response()->json('success',200);
|
||||
return response()->json(['status' => 'success'],200);
|
||||
}else{
|
||||
$approval->operasi_name = $request->operasi_name;
|
||||
$approval->approval_status = 'REJECTED';
|
||||
@@ -205,19 +226,19 @@ class AutoSerahanController extends Controller
|
||||
$approval->save();
|
||||
|
||||
DB::connection('mysql7')->commit();
|
||||
return response()->json('rejected',200);
|
||||
return response()->json(['status' => 'success'],200);
|
||||
}
|
||||
|
||||
}catch(\Exception $e){
|
||||
DB::connection('mysql7')->rollBack();
|
||||
return response()->json($e->getMessage());
|
||||
return response()->json(['status' => 'error','message' =>$e->getMessage(), 'line' => $e->getLine()]);
|
||||
}
|
||||
}
|
||||
|
||||
private function updateDenominasi($kodcaw,$denopendser){
|
||||
$current = Carbon::now();
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
|
||||
Log::debug($denopendser);
|
||||
$k1 = $denopendser['k1'];
|
||||
$txtring1 = $denopendser['k1'] * 1;
|
||||
$k5 = $denopendser['k5'];
|
||||
@@ -256,30 +277,28 @@ class AutoSerahanController extends Controller
|
||||
'b50'=> 0,
|
||||
'bd100'=> 0,
|
||||
'b100'=> 0,
|
||||
'txtring1'=> $request->txtring1,
|
||||
'txtring1'=> $txtring1,
|
||||
'k1'=> $k1,
|
||||
'txtring5'=> $request->txtring5,
|
||||
'txtring5'=> $txtring5,
|
||||
'k5'=> $k5,
|
||||
'txtsen1'=> $request->txtsen1,
|
||||
'txtsen1'=> $txtsen1,
|
||||
'k01'=> $k01,
|
||||
'txtsen5'=> $request->txtsen5,
|
||||
'txtsen5'=> $txtsen5,
|
||||
'k05'=> $k05,
|
||||
'txtsen10'=> $request->txtsen10,
|
||||
'txtsen10'=> $txtsen10,
|
||||
'k010'=> $k010,
|
||||
'txtsen20'=> $request->txtsen20,
|
||||
'txtsen20'=> $txtsen20,
|
||||
'k020'=> $k020,
|
||||
'txtsen50'=> $request->txtsen50,
|
||||
'txtsen50'=> $txtsen50,
|
||||
'k050'=> $k050,
|
||||
'txtring10'=> $request->txtring10,
|
||||
'txtring10'=> $txtring10,
|
||||
'k10'=> $k10,
|
||||
'txtring20'=> $request->txtring20,
|
||||
'txtring20'=> $txtring20,
|
||||
'k20'=> $k20,
|
||||
'txtring50'=> $request->txtring50,
|
||||
'txtring50'=> $txtring50,
|
||||
'k50'=> $k50,
|
||||
'txtring100'=> $request->txtring100,
|
||||
'txtring100'=> $txtring100,
|
||||
'k100'=> $k100,
|
||||
'txtring1000'=> $request->txtring1000,
|
||||
'k1000'=> $request->k1000,
|
||||
'jumlahbundle'=> 0,
|
||||
'txtjumlah'=> $totalkeping,
|
||||
'jumlahkeping' => $totalkeping
|
||||
|
||||
@@ -20,11 +20,13 @@ class CreateApprovalWithdrawal extends Migration
|
||||
$table->string('operasi_name', 100)->nullable();
|
||||
$table->decimal('amount', 10, 2)->default(0);
|
||||
$table->string('approval_status',20);
|
||||
$table->timestamp('approval_timestamp')->nullable();
|
||||
$table->integer('gldetail_id_v3')->nullable()->default(0);
|
||||
$table->integer('denopendser_id_v3')->nullable()->default(0);
|
||||
$table->integer('gldetail_id_v2')->nullable()->default(0);
|
||||
$table->integer('denopendser_id_v2')->nullable()->default(0);
|
||||
$table->boolean('updated_serahan_v2')->default(false);
|
||||
$table->boolean('updated_pendahuluan_v3')->default(false);
|
||||
$table->timestamp('approval_timestamp')->nullable();
|
||||
$table->integer('gldetail_id');
|
||||
$table->integer('denopendser_id');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user