added autoserahan endpoints

This commit is contained in:
hafifierahman
2025-02-24 01:32:05 +08:00
committed by Hafifie PKB
parent e825bb21c2
commit 73c8220e1a
4 changed files with 184 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class ApprovalWithdrawal extends Model
{
protected $table = 'approval_withdrawal';
public $timestamps = true;
protected $primaryKey = 'id';
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'kodcaw',
'pc_name',
'operasi_name',
'amount',
'approval_status',
'updated_serahan_v2',
'updated_pendahuluan_v3',
'approval_timestamp',
'gldetail_id'
];
}
+112
View File
@@ -5,7 +5,9 @@ use App\Vault;
use App\Cawangan;
use App\Tunai;
use App\AddTunai;
use App\ApprovalWithdrawal;
use App\Audit;
use App\DenoPendSer;
use App\GlDetail;
use App\imbangdugalama;
use App\GlCode;
@@ -13,6 +15,7 @@ use App\Panjar;
use Illuminate\Http\Request;
use Carbon\Carbon;
use Illuminate\Support\Facades\DB;
class VaultController extends Controller
{
@@ -716,6 +719,115 @@ class VaultController extends Controller
return response()->json($vault);
}
public function autoSerahan($kodcaw,Request $request){
$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{
if($request->jenispendahuluanserahan == 'pendahuluan'){
$totalpendahuluan = $request->amaun + $pendahuluan;
$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
));
GlDetail::on($cawangan['mysql'])->create([
'kodcaw' => $request->kodcaw,
'tarikh' => $current->toDateString(),
'dtacct' => $request->dtacct,
'ktacct' => $request->ktacct,
'descpt' => $request->keterangan,
'pendahuluan' => $request->amaun,
'teller' => $request->teller . ' (AUTO V3)'
]);
}else if($request->jenispendahuluanserahan == 'serahan'){
$totalserahan = $request->amaun + $serahan;
$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
));
GlDetail::on($cawangan['mysql'])->create([
'kodcaw' => $request->kodcaw,
'tarikh' => $current->toDateString(),
'dtacct' => $request->dtacct,
'ktacct' => $request->ktacct,
'descpt' => $request->keterangan,
'serahan' => $request->amaun,
'teller' => $request->teller . ' (AUTO V3)'
]);
DenoPendSer::on('mysql7')->create([
'tarikh' => $current->toDateString(),
'masa' => $current->toTimeString(),
'kodcaw' => $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,
'jenis' =>$request->jenis,
'recno' =>$request->recno,
'update' => '0'
]);
ApprovalWithdrawal::on('mysql7')->create([
'kodcaw' => $request->kodcaw,
'amaun' => $request->amaun,
'status' => '1',
'teller' => $request->teller . ' (AUTO V3)'
]);
}
// Commit transactions
DB::connection($cawangan['mysql'])->commit();
DB::connection('mysql7')->commit();
}catch(\Exception $e){
DB::connection($cawangan['mysql'])->rollBack();
DB::connection('mysql7')->rollBack();
return response()->json($e->getMessage());
}
}
}
@@ -0,0 +1,40 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateApprovalWithdrawal extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('approval_withdrawal', function (Blueprint $table) {
$table->id();
$table->char('kodcaw', 20);
$table->string('pc_name', 100);
$table->string('operasi_name', 100)->nullable();
$table->decimal('amount', 10, 2)->default(0);
$table->string('approval_status',20);
$table->boolean('updated_serahan_v2')->default(false);
$table->boolean('updated_pendahuluan_v3')->default(false);
$table->timestamp('approval_timestamp');
$table->integer('gldetail_id');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('approval_withdrawal');
}
}
+3
View File
@@ -678,6 +678,9 @@ $router->group(['prefix'=>'api'], function () use ($router){
/* Endpoint for Account Statements */
$router->get('record/accountstatement/{kodcaw}',['uses'=>'TunaiController@getAccStatement']);
/* Endpoint for Auto Serahan */
$router->get('auto/serahan/{kodcaw}',['uses'=>'VaultController@autoSerahan']);
});
$router->group(['prefix'=>'e-arrahn'], function () use ($router){