106 lines
3.8 KiB
PHP
106 lines
3.8 KiB
PHP
<?php
|
|
|
|
namespace App\Services;
|
|
|
|
use App\ImbangDuga;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Http;
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
|
use Carbon\Carbon;
|
|
|
|
|
|
class ImbangdugaServices
|
|
{
|
|
|
|
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);
|
|
}
|
|
|
|
public function SaveImbangDuga($kodcaw){
|
|
|
|
$auth_user = Auth::user();
|
|
$api_url = config('api.url');
|
|
|
|
$current = Carbon::now();
|
|
$current = new Carbon();
|
|
|
|
$tarikh = $current->toDateString();
|
|
// dd($tarikh);
|
|
// $tarikh_imbangan2 = $current->toDateString();
|
|
|
|
$imbangdugadata = ImbangDuga::orderBy('glcode')->get();
|
|
$array_harta = [];
|
|
$array_tanggungan = [];
|
|
|
|
foreach($imbangdugadata as $index => $imbangdugaiteration)
|
|
{
|
|
if($imbangdugaiteration->api_redirect != null){
|
|
${$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']};
|
|
}else $data = 0;
|
|
|
|
$data = $this->SwitchFuncImbangDuga($data,$imbangdugaiteration['variable'],$tarikh,$kodcaw);
|
|
|
|
if($imbangdugaiteration->jenis == 'harta'){
|
|
array_push($array_harta,['glcode' => $imbangdugaiteration->glcode, 'descpt' => $imbangdugaiteration->descpt,'amaun' => ($data) ? $data : 0]);
|
|
}else{
|
|
array_push($array_tanggungan,['glcode' => $imbangdugaiteration->glcode, 'descpt' => $imbangdugaiteration->descpt,'amaun' => ($data) ? $data : 0]);
|
|
}
|
|
}
|
|
|
|
dd($array_harta,$array_tanggungan);
|
|
|
|
}
|
|
} |