Merge branch 'branch_fix_2' into 'new-super'
Branch fix 2 See merge request online-sistem1/kaunter!211
This commit is contained in:
+2
-1
@@ -13,6 +13,7 @@ class CawanganAR extends Model
|
|||||||
'kodcaw',
|
'kodcaw',
|
||||||
'syarikat',
|
'syarikat',
|
||||||
'min',
|
'min',
|
||||||
'max'
|
'max',
|
||||||
|
'penyelarasan'
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,61 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Console\Commands;
|
||||||
|
|
||||||
|
use Exception;
|
||||||
|
use Illuminate\Console\Command;
|
||||||
|
use Illuminate\Support\Facades\Http;
|
||||||
|
|
||||||
|
class DailyAkru extends Command
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The name and signature of the console command.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $signature = 'akru:daily {--zone=1 : Choose which zone to update zone [1,2,3]}';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The console command description.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $description = 'Generate Daily Akrual For Trial Balance';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new command instance.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Execute the console command.
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function handle()
|
||||||
|
{
|
||||||
|
$zone = $this->option('zone');
|
||||||
|
|
||||||
|
|
||||||
|
if($zone < 1 || $zone > 3)
|
||||||
|
{
|
||||||
|
throw new Exception('The zone is not in the range!');
|
||||||
|
}
|
||||||
|
|
||||||
|
$updateAkruDaily = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/admin/laporan/akrual/generateDaily',[
|
||||||
|
'zone' => $zone
|
||||||
|
])->json();
|
||||||
|
|
||||||
|
if($updateAkruDaily == 'succesful')
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}else{
|
||||||
|
return 'failed';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Console\Commands;
|
||||||
|
|
||||||
|
use Exception;
|
||||||
|
use Illuminate\Console\Command;
|
||||||
|
use Illuminate\Support\Facades\Http;
|
||||||
|
use App\Services\ImbangdugaServices;
|
||||||
|
|
||||||
|
class DailyImbangDuga extends Command
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The name and signature of the console command.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $signature = 'imbangduga:daily {--zone=1 : Choose which zone to update [1,2,3]}';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The console command description.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $description = 'Save Trial Balance in Database Daily';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new command instance.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
|
||||||
|
private $imbangduga;
|
||||||
|
|
||||||
|
public function __construct(ImbangdugaServices $imbangduga)
|
||||||
|
{
|
||||||
|
$this->imbangduga = $imbangduga;
|
||||||
|
parent::__construct();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Execute the console command.
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function handle()
|
||||||
|
{
|
||||||
|
$array_cawangan = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/cawangan')->json();
|
||||||
|
$zone = $this->option('zone');
|
||||||
|
|
||||||
|
if($zone < 1 || $zone > 3)
|
||||||
|
{
|
||||||
|
throw new Exception('The zone is not in the range!');
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach($array_cawangan as $caw)
|
||||||
|
{
|
||||||
|
if($caw['zone'] == $zone)
|
||||||
|
{
|
||||||
|
$response = $this->imbangduga->OperationImbangDuga($caw['kodcaw']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class ImbangDuga extends Model
|
||||||
|
{
|
||||||
|
protected $table = 'imbangdugadata';
|
||||||
|
|
||||||
|
protected $fillable = [
|
||||||
|
'no',
|
||||||
|
'descpt',
|
||||||
|
'glcode',
|
||||||
|
'api_redirect',
|
||||||
|
'variable',
|
||||||
|
'single_var',
|
||||||
|
'is_array',
|
||||||
|
'jenis',
|
||||||
|
'neg_values'
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,206 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Services;
|
||||||
|
|
||||||
|
use App\CawanganAR;
|
||||||
|
use App\ImbangDuga;
|
||||||
|
use Illuminate\Support\Facades\Http;
|
||||||
|
|
||||||
|
use Carbon\Carbon;
|
||||||
|
|
||||||
|
|
||||||
|
class ImbangdugaServices
|
||||||
|
{
|
||||||
|
|
||||||
|
protected float $tunaiditangan = 0;
|
||||||
|
protected float $pembiayaantawarruq = 0;
|
||||||
|
protected float $bayaranpendahuluan = 0;
|
||||||
|
protected float $pinjamankoop = 0;
|
||||||
|
protected float $emaspalsu = 0;
|
||||||
|
protected float $serahan = 0;
|
||||||
|
protected float $pindahkekpkb = 0;
|
||||||
|
protected float $penghutangkaki = 0;
|
||||||
|
protected float $phapuskira = 0;
|
||||||
|
protected float $belian1stop = 0;
|
||||||
|
protected float $keun_penggadai = 0;
|
||||||
|
protected float $bds = 0;
|
||||||
|
protected float $perubatan = 0;
|
||||||
|
protected float $keraian = 0;
|
||||||
|
protected float $rugilelong = 0;
|
||||||
|
protected float $bakilelong = 0;
|
||||||
|
protected float $wtd = 0;
|
||||||
|
protected float $untungrugiterkumpul = 0;
|
||||||
|
protected float $keun_sebenar = 0;
|
||||||
|
protected float $pendahuluan = 0;
|
||||||
|
protected float $cajlelong = 0;
|
||||||
|
protected float $pend_terakru = 0;
|
||||||
|
protected float $cajperkhidmatan = 0;
|
||||||
|
protected float $cajlelongxtra = 0;
|
||||||
|
protected float $upahsimpan = 0;
|
||||||
|
protected float $bakilelongxtra = 0;
|
||||||
|
protected float $kerugianlelong = 0;
|
||||||
|
protected float $utgterkumpulxtra = 0;
|
||||||
|
protected float $jualan1stop = 0;
|
||||||
|
protected float $hapuskira = 0;
|
||||||
|
|
||||||
|
private function SwitchFuncImbangDuga($value = 0.0,$name_variable = null,$tarikh,$kodcaw) : Float{
|
||||||
|
$value = floatval($value);
|
||||||
|
switch ($name_variable) {
|
||||||
|
case 'tunaiditangan' :
|
||||||
|
if($tarikh >= '2021-04-22' && $tarikh < '2021-05-05'){
|
||||||
|
$advansurharini = Http::get(config('api.url').'/api/advansurharini/' . $kodcaw,['tarikh' => $tarikh])->json();
|
||||||
|
$data = floatval($value) - floatval($advansurharini);
|
||||||
|
}else $data = $value;
|
||||||
|
|
||||||
|
if($kodcaw == '010219')
|
||||||
|
if($tarikh >= '2022-11-24')
|
||||||
|
$data = $value - 78379.9;
|
||||||
|
else $data = $value;
|
||||||
|
else $data = $value;
|
||||||
|
break;
|
||||||
|
case 'penghutangkaki' :
|
||||||
|
if($kodcaw == '010219')
|
||||||
|
if($tarikh < '2022-11-24')
|
||||||
|
$data = $value - 78379.9;
|
||||||
|
else $data = $value;
|
||||||
|
else $data = $value;
|
||||||
|
break;
|
||||||
|
case 'jualan1stop':
|
||||||
|
$data = ($kodcaw === '1STOP') ? floatval(129857.00) : 0;
|
||||||
|
break;
|
||||||
|
case 'belian1stop':
|
||||||
|
$data = ($kodcaw === '1STOP') ? floatval(122446.50) : 0;
|
||||||
|
break;
|
||||||
|
case 'utgterkumpulxtra':
|
||||||
|
$data = ($kodcaw === '1STOP') ? floatval(6727.10) : $value;
|
||||||
|
break;
|
||||||
|
case 'rugilelongxtra':
|
||||||
|
$data = ($kodcaw === '1STOP') ? floatval(10079.30) : -($value);
|
||||||
|
break;
|
||||||
|
case 'bakilelongxtra':
|
||||||
|
$data = ($kodcaw === '1STOP') ? floatval(123.20) : $value;
|
||||||
|
break;
|
||||||
|
case 'cajlelongxtra':
|
||||||
|
$data = ($kodcaw === '1STOP') ? floatval(25.50) : 0;
|
||||||
|
break;
|
||||||
|
case 'upahsimpanxtra':
|
||||||
|
$data = ($kodcaw === '1STOP') ? floatval(4894.40) : $value;
|
||||||
|
break;
|
||||||
|
case null:
|
||||||
|
$data = 0;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
$data = $value;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return floatval($data);
|
||||||
|
}
|
||||||
|
|
||||||
|
private function InsertImbangDugaBackup($tarikh,$kodcaw,$sum_harta = 0.0,$sum_tanggungan = 0.0,$tagtally = 0) : String{
|
||||||
|
|
||||||
|
$insert_imbangduga_backup = Http::get(config('api.url'). '/admin/laporan/akrual/insertImbangDuga',[
|
||||||
|
'tarikh' => $tarikh,
|
||||||
|
'kodcaw' => $kodcaw,
|
||||||
|
'tunaiditangan' => ($this->tunaiditangan) ? $this->tunaiditangan : 0,
|
||||||
|
'pembiayaantawarruq' => ($this->pembiayaantawarruq) ? $this->pembiayaantawarruq : 0,
|
||||||
|
'bayaranpendahuluan' => ($this->bayaranpendahuluan) ? $this->bayaranpendahuluan : 0,
|
||||||
|
'pinjamankoop' => ($this->pinjamankoop) ? $this->pinjamankoop : 0,
|
||||||
|
'emaspalsu' => ($this->emaspalsu) ? $this->emaspalsu : 0,
|
||||||
|
'serahan' => ($this->serahan) ? $this->serahan : 0,
|
||||||
|
'bds' => ($this->bds) ? $this->bds : 0,
|
||||||
|
'perubatan' => ($this->perubatan) ? $this->perubatan : 0,
|
||||||
|
'keraian' => ($this->keraian) ? $this->keraian : 0,
|
||||||
|
'rugilelong' => ($this->rugilelong) ? $this->rugilelong : 0,
|
||||||
|
'bakilelong' => ($this->bakilelong) ? $this->bakilelong: 0,
|
||||||
|
'wtd' => ($this->wtd) ? $this->wtd : 0,
|
||||||
|
'untungrugiterkumpul' => ($this->untungrugiterkumpul) ? $this->untungrugiterkumpul : 0,
|
||||||
|
'keun_sebenar' => ($this->keun_sebenar) ? $this->keun_sebenar : 0,
|
||||||
|
'pendahuluan' => ($this->pendahuluan) ? $this->pendahuluan : 0,
|
||||||
|
'cajlelong' => ($this->cajlelong) ? $this->cajlelong : 0,
|
||||||
|
'pindahkekpkb' => ($this->pindahkekpkb) ? $this->pindahkekpkb : 0,
|
||||||
|
'penghutangkaki' => ($this->penghutangkaki) ? $this->penghutangkaki : 0,
|
||||||
|
'phapuskira' => ($this->phapuskira) ? $this->phapuskira : 0,
|
||||||
|
'belian1stop' => ($this->belian1stop) ? $this->belian1stop : 0,
|
||||||
|
'keun_penggadai' => ($this->keun_penggadai) ? $this->keun_penggadai : 0,
|
||||||
|
'pend_terakru' => ($this->pend_terakru) ? $this->pend_terakru : 0,
|
||||||
|
'cajperkhidmatan' => ($this->cajperkhidmatan) ? $this->cajperkhidmatan : 0,
|
||||||
|
'cajlelongxtra' => ($this->cajlelongxtra) ? $this->cajlelongxtra : 0,
|
||||||
|
'upahsimpanxtra' => ($this->upahsimpan) ? $this->upahsimpan : 0,
|
||||||
|
'bakilelongxtra' => ($this->bakilelongxtra) ? $this->bakilelongxtra : 0,
|
||||||
|
'rugilelongxtra' => ($this->kerugianlelong) ? $this->kerugianlelong : 0,
|
||||||
|
'utgterkumpulxtra' => ($this->utgterkumpulxtra) ? $this->utgterkumpulxtra : 0,
|
||||||
|
'jualan1stop' => ($this->jualan1stop) ? $this->jualan1stop : 0,
|
||||||
|
'hapuskira' => ($this->hapuskira) ? $this->hapuskira : 0,
|
||||||
|
'totalharta' => $sum_harta,
|
||||||
|
'totaltanggungan' => $sum_tanggungan,
|
||||||
|
'tagtally' => $tagtally,
|
||||||
|
])->json();
|
||||||
|
|
||||||
|
if($insert_imbangduga_backup == 'success')
|
||||||
|
return 'successful';
|
||||||
|
else
|
||||||
|
return 'error';
|
||||||
|
}
|
||||||
|
|
||||||
|
public function OperationImbangDuga($kodcaw){
|
||||||
|
$current = Carbon::now();
|
||||||
|
$current = new Carbon();
|
||||||
|
|
||||||
|
$tarikh = $current->toDateString();
|
||||||
|
|
||||||
|
$imbangdugadata = ImbangDuga::orderBy('glcode')->get();
|
||||||
|
$array_harta = [];
|
||||||
|
$array_tanggungan = [];
|
||||||
|
$summation_harta = 0;
|
||||||
|
$summation_tanggungan = 0;
|
||||||
|
|
||||||
|
$penyelarasan = CawanganAR::select('penyelarasan')->where('kodcaw',$kodcaw)->get()->toArray();
|
||||||
|
$penyelarasan = $penyelarasan[0];
|
||||||
|
|
||||||
|
foreach($imbangdugadata as $index => $imbangdugaiteration){
|
||||||
|
if($imbangdugaiteration->api_redirect != null){
|
||||||
|
if($imbangdugaiteration['variable'] == 'keun_sebenar'){
|
||||||
|
${$imbangdugaiteration['variable']} = Http::get(config('api.url'). $imbangdugaiteration['api_redirect'],['tarikh' => $tarikh,'kodcaw' => $kodcaw])->json();
|
||||||
|
}else{
|
||||||
|
${$imbangdugaiteration['variable']} = Http::get(config('api.url'). $imbangdugaiteration['api_redirect'] . $kodcaw,['tarikh' => $tarikh])->json();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(is_object($imbangdugaiteration)) $data = ($imbangdugaiteration->is_array == 1) ? ${$imbangdugaiteration['variable']}[$imbangdugaiteration['single_var']] : ${$imbangdugaiteration['variable']};
|
||||||
|
$data = ($imbangdugaiteration->neg_values == 1) ? $data = -1 * abs($data) : $data;
|
||||||
|
$data = ($imbangdugaiteration['variable'] == 'untungrugiterkumpul') ? $data + $penyelarasan['penyelarasan'] : $data;
|
||||||
|
}else $data = 0;
|
||||||
|
|
||||||
|
$data = $this->SwitchFuncImbangDuga($data,$imbangdugaiteration['variable'],$tarikh,$kodcaw);
|
||||||
|
|
||||||
|
/* declare for protected above */
|
||||||
|
if($imbangdugaiteration->is_array == 1){
|
||||||
|
$nama = $imbangdugaiteration['single_var'];
|
||||||
|
if($imbangdugaiteration['variable'] == 'bakilelongxtra'){
|
||||||
|
$nama = $imbangdugaiteration['variable'];
|
||||||
|
}else if($imbangdugaiteration['variable'] == 'utgterkumpulxtra'){
|
||||||
|
$nama = $imbangdugaiteration['variable'];
|
||||||
|
}
|
||||||
|
$this->$nama = $data;
|
||||||
|
}else $this->{$imbangdugaiteration['variable']} = $data;
|
||||||
|
|
||||||
|
|
||||||
|
if($imbangdugaiteration->jenis == 'harta'){
|
||||||
|
$summation_harta += $data;
|
||||||
|
array_push($array_harta,['variable' => ($imbangdugaiteration->is_array == 1) ? $imbangdugaiteration->single_var : $imbangdugaiteration->variable,'glcode' => $imbangdugaiteration->glcode, 'descpt' => $imbangdugaiteration->descpt,'amaun' => ($data) ? $data : 0]);
|
||||||
|
}else{
|
||||||
|
$summation_tanggungan += $data;
|
||||||
|
array_push($array_tanggungan,['variable' => ($imbangdugaiteration->is_array == 1) ? $imbangdugaiteration->single_var : $imbangdugaiteration->variable,'glcode' => $imbangdugaiteration->glcode, 'descpt' => $imbangdugaiteration->descpt,'amaun' => ($data) ? $data : 0]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$tagtally = (number_format($summation_harta,2) == number_format($summation_tanggungan,2)) ? 1 : 0;
|
||||||
|
$response = $this->InsertImbangDugaBackup($tarikh,$kodcaw,$summation_harta,$summation_tanggungan,$tagtally);
|
||||||
|
|
||||||
|
if($response == 'successful'){
|
||||||
|
return response('succesful');
|
||||||
|
}else{
|
||||||
|
return response('error');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+5
-3
@@ -1,7 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
use App\Services\ImbangdugaServices;
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
| Web Routes
|
| Web Routes
|
||||||
@@ -15,9 +15,11 @@ use Illuminate\Support\Facades\Route;
|
|||||||
|
|
||||||
Route::get('/',['as'=>'login','uses'=>'HomeController@index']);
|
Route::get('/',['as'=>'login','uses'=>'HomeController@index']);
|
||||||
|
|
||||||
Route::get('/testtry',function(){
|
Route::get('/testtry',function(ImbangdugaServices $imbangduga){
|
||||||
|
|
||||||
return view('testing');
|
// return view('testing');
|
||||||
|
$test = $imbangduga->OperationImbangDuga('KB2');
|
||||||
|
dd($test->getContent());
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user