2191 lines
86 KiB
PHP
2191 lines
86 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Gadai;
|
|
use App\Marhun;
|
|
use App\Cawangan;
|
|
use App\Transaction;
|
|
use App\TransaksiKeuntungan;
|
|
use App\Advansur;
|
|
use App\Tebus;
|
|
use App\InOutMar;
|
|
use App\Wakil;
|
|
use App\imbangdugalama;
|
|
use App\Customer;
|
|
use App\Lelong;
|
|
use App\HapusKira;
|
|
use App\Parameter;
|
|
use App\Panjar;
|
|
use App\HargaEmas;
|
|
use App\Moratorium;
|
|
use App\Audit;
|
|
use App\LookupWakil;
|
|
|
|
use App\StokAudit1;
|
|
use App\StokAudit2;
|
|
use App\StokAudit3;
|
|
use App\StokAudit4;
|
|
use App\StokAudit5;
|
|
use App\StokAudit6;
|
|
use App\StokAudit7;
|
|
use App\StokAudit8;
|
|
use App\StokAudit9;
|
|
use App\StokAudit10;
|
|
use App\StokAudit11;
|
|
use App\StokAudit12;
|
|
|
|
use App\AkruNet;
|
|
|
|
use Illuminate\Http\Request;
|
|
|
|
use Carbon\Carbon;
|
|
|
|
class TebusController extends Controller
|
|
{
|
|
public function tebusTawarruq($kodcaw,$norujukan){
|
|
$cawangan = Cawangan::on('mysql7')
|
|
->where('kodcaw','=',$kodcaw)
|
|
->first();
|
|
|
|
$gadai_data = Gadai::on($cawangan['mysql'])
|
|
->where('norujukan','=',$norujukan)
|
|
->first();
|
|
|
|
$rebet = $this->rebetselepastawarruq($kodcaw,$norujukan);
|
|
|
|
$harga_tebus = $gadai_data['bakihargajualan'] - $rebet;
|
|
|
|
$hargatebus = bcdiv(round($harga_tebus,2),1,1);
|
|
$hargatebus = number_format($hargatebus,2);
|
|
if(strpos($hargatebus,',')){
|
|
$hargatebus = str_replace(',','',$hargatebus);
|
|
}
|
|
|
|
return response()->json($hargatebus);
|
|
}
|
|
|
|
public function hargaTebusTawarruq($kodcaw,$norujukan){
|
|
$cawangan = Cawangan::on('mysql7')
|
|
->where('kodcaw','=',$kodcaw)
|
|
->first();
|
|
|
|
$gadai_data = Gadai::on($cawangan['mysql'])
|
|
->where('norujukan','=',$norujukan)
|
|
->first();
|
|
|
|
$rebet = $this->rebetselepastawarruq($kodcaw,$norujukan);
|
|
|
|
$harga_tebus = $gadai_data['bakihargajualan'] - $rebet;
|
|
|
|
$hargatebus = bcdiv(round($harga_tebus,2),1,1);
|
|
$hargatebus = number_format($hargatebus,2);
|
|
if(strpos($hargatebus,',')){
|
|
$hargatebus = str_replace(',','',$hargatebus);
|
|
}
|
|
|
|
return $hargatebus;
|
|
}
|
|
|
|
public function kiraupahTawarruq($kodcaw,$norujukan){
|
|
$cawangan = Cawangan::on('mysql7')
|
|
->where('kodcaw','=',$kodcaw)
|
|
->first();
|
|
|
|
$gadai_data = Gadai::on($cawangan['mysql'])
|
|
->where('norujukan','=',$norujukan)
|
|
->first();
|
|
|
|
if($gadai_data['tempoh'] >= 12.0){
|
|
$tempoh = 12;
|
|
}else{
|
|
$tempoh = $gadai_data['tempoh'];
|
|
}
|
|
$bilang_bln = $tempoh - $gadai_data['tempohbayar'];
|
|
|
|
$upahsemasa_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['pinjaman']);
|
|
|
|
$upah_semasa_round = number_format($upahsemasa_raw,2);
|
|
if(strpos($upah_semasa_round,',')){
|
|
$upah_semasa_round = str_replace(',','',$upah_semasa_round);
|
|
}
|
|
$upah_semasa = substr($upah_semasa_round, 0, -1);
|
|
if(strpos($upah_semasa,',')){
|
|
$upah_semasa = str_replace(',','',$upah_semasa);
|
|
}
|
|
|
|
return $upah_semasa;
|
|
}
|
|
|
|
public function kiraUpahRebet($kodcaw,$norujukan){
|
|
$cawangan = Cawangan::on('mysql7')
|
|
->where('kodcaw','=',$kodcaw)
|
|
->first();
|
|
|
|
$gadai_data = Gadai::on($cawangan['mysql'])
|
|
->where('norujukan','=',$norujukan)
|
|
->first();
|
|
|
|
if($gadai_data['tempoh'] >= 12.0){
|
|
$tempoh = 12;
|
|
}else{
|
|
$tempoh = $gadai_data['tempoh'];
|
|
}
|
|
|
|
$bilang_bln = $tempoh - $gadai_data['tempohbayar'];
|
|
|
|
$upahrebet_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['bakipjm']);
|
|
|
|
$upah_rebet_round = number_format($upahrebet_raw,2);
|
|
if(strpos($upah_rebet_round,',')){
|
|
$upah_rebet_round = str_replace(',','',$upah_rebet_round);
|
|
}
|
|
$upah_rebet = substr($upah_rebet_round, 0, -1);
|
|
if(strpos($upah_rebet,',')){
|
|
$upah_rebet = str_replace(',','',$upah_rebet);
|
|
}
|
|
|
|
return $upah_rebet;
|
|
}
|
|
|
|
public function kiraUpahRebetSebenar($kodcaw,$norujukan){
|
|
$cawangan = Cawangan::on('mysql7')
|
|
->where('kodcaw','=',$kodcaw)
|
|
->first();
|
|
|
|
$gadai_data = Gadai::on($cawangan['mysql'])
|
|
->where('norujukan','=',$norujukan)
|
|
->first();
|
|
|
|
if($gadai_data['tempoh'] >= 12.0){
|
|
$tempoh = 12;
|
|
}else{
|
|
$tempoh = $gadai_data['tempoh'];
|
|
}
|
|
|
|
$bilang_bln = $gadai_data['tempoh'] - $gadai_data['tempohbayar'];
|
|
|
|
$upahrebet_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['bakipjm']);
|
|
|
|
$upah_rebet_round = number_format($upahrebet_raw,2);
|
|
if(strpos($upah_rebet_round,',')){
|
|
$upah_rebet_round = str_replace(',','',$upah_rebet_round);
|
|
}
|
|
$upah_rebet = substr($upah_rebet_round, 0, -1);
|
|
if(strpos($upah_rebet,',')){
|
|
$upah_rebet = str_replace(',','',$upah_rebet);
|
|
}
|
|
|
|
$total_untung_rebet = TransaksiKeuntungan::on('mysql7')->where('norujukan','=',$norujukan)->sum('keuntungan_rebet');
|
|
$total_untung_asal = TransaksiKeuntungan::on('mysql7')->where('norujukan','=',$norujukan)->sum('bayaran_keuntungan');
|
|
$beza_keuntungan = $total_untung_asal - $total_untung_rebet;
|
|
|
|
$keuntungan_rebet_sebenar = $upah_rebet - $beza_keuntungan;
|
|
return $keuntungan_rebet_sebenar;
|
|
}
|
|
|
|
public function upahTawarruq($kodcaw,$norujukan){
|
|
|
|
$upah_semasa = $this->kiraupahTawarruq($kodcaw,$norujukan);
|
|
|
|
return response()->json(number_format($upah_semasa,2));
|
|
}
|
|
|
|
public function upahRebetTawarruq($kodcaw,$norujukan){
|
|
|
|
$upah_rebet = $this->kiraUpahRebet($kodcaw,$norujukan);
|
|
|
|
return response()->json(number_format($upah_rebet,2));
|
|
}
|
|
|
|
public function tebusSeparuhTawarruq($kodcaw,$norujukan,Request $request){
|
|
|
|
$cawangan = Cawangan::on('mysql7')
|
|
->where('kodcaw','=',$kodcaw)
|
|
->first();
|
|
|
|
$gadai_data = Gadai::on($cawangan['mysql'])
|
|
->where('norujukan','=',$norujukan)
|
|
->first();
|
|
|
|
$upahsemasa = $this->kiraupahTawarruq($kodcaw,$norujukan);
|
|
|
|
$array_recno_marhun = $request->array_recno;
|
|
|
|
$margin_pembiayaan = round(($gadai_data['bakipjm']/$gadai_data['nilaimarhun'])*100,2);
|
|
// $margin_pembiayaan = round(($gadai_data['bakipjm']/$request->hargasemasa)*100,2);
|
|
|
|
$nilai_marhun = $gadai_data['nilaimarhun'];
|
|
$total_harga_tebus = 0;
|
|
foreach($array_recno_marhun as $recno){
|
|
$marhun = Marhun::on($cawangan['mysql'])->where([['recno','=',$recno],['norujukan','=',$norujukan]])->first();
|
|
|
|
$harga_tebus = ($margin_pembiayaan/100)*$marhun['n_marhun'];
|
|
|
|
$total_harga_tebus += $harga_tebus;
|
|
}
|
|
|
|
$total_harga_tebus_round = round($total_harga_tebus,2);
|
|
|
|
$totalhargatebus = substr($total_harga_tebus_round, 0, -1);
|
|
|
|
return response()->json($totalhargatebus);
|
|
}
|
|
|
|
public function tebusNotTawarruq($kodcaw,$norujukan){
|
|
$cawangan = Cawangan::on('mysql7')
|
|
->where('kodcaw','=',$kodcaw)
|
|
->first();
|
|
|
|
$gadai_data = Gadai::on($cawangan['mysql'])
|
|
->where('norujukan','=',$norujukan)
|
|
->first();
|
|
|
|
$upah_semasa = $this->kiraUpahNotTawarruq($kodcaw,$norujukan);
|
|
|
|
$harga_tebus = $upah_semasa + $gadai_data['pinjaman'];
|
|
|
|
return response()->json($harga_tebus);
|
|
}
|
|
|
|
public function hargaTebusNotTawarruq($kodcaw,$norujukan){
|
|
$cawangan = Cawangan::on('mysql7')
|
|
->where('kodcaw','=',$kodcaw)
|
|
->first();
|
|
|
|
$gadai_data = Gadai::on($cawangan['mysql'])
|
|
->where('norujukan','=',$norujukan)
|
|
->first();
|
|
|
|
$upah_semasa = $this->kiraUpahNotTawarruq($kodcaw,$norujukan);
|
|
|
|
$harga_tebus = $upah_semasa + $gadai_data['pinjaman'];
|
|
|
|
return $harga_tebus;
|
|
}
|
|
|
|
public function getMoratorium(){
|
|
$bln_mora = Moratorium::first();
|
|
|
|
return response()->json($bln_mora);
|
|
}
|
|
|
|
public function updateMoratorium(Request $request){
|
|
|
|
}
|
|
|
|
public function kiraUpahNotTawarruq($kodcaw,$norujukan){
|
|
$cawangan = Cawangan::on('mysql7')
|
|
->where('kodcaw','=',$kodcaw)
|
|
->first();
|
|
|
|
$gadai_data = Gadai::on($cawangan['mysql'])
|
|
->where('norujukan','=',$norujukan)
|
|
->first();
|
|
|
|
$upahtelahbayar = Advansur::on($cawangan['mysql'])
|
|
->where('norujukan','=',$norujukan)
|
|
->sum('upahdibayar');
|
|
|
|
$upah_asal = $gadai_data['nilaimarhun'] / 100 * $gadai_data['kadarupah'];
|
|
$margin_pinjaman = $gadai_data['pinjaman'] / $gadai_data['nilaimarhun'] * 100;
|
|
$margin_kadarupah = 80;
|
|
$rebet = ($margin_kadarupah-$margin_pinjaman)/$margin_kadarupah * $upah_asal;
|
|
|
|
$bln_mora = Moratorium::first();
|
|
|
|
$upah_sebenar = $upah_asal - $rebet;
|
|
$bln_upah = $gadai_data['tempoh'];
|
|
if($bln_upah > $bln_mora['bln_mora']){
|
|
$bln_upah = $bln_mora['bln_mora'];
|
|
}
|
|
$upahsemasa = $upah_sebenar * $bln_upah;
|
|
$upah_semasa = bcdiv(round($upahsemasa,2),1,1);
|
|
$upah_semasa = number_format($upah_semasa,2);
|
|
if(strpos($upah_semasa,',')){
|
|
$upah_semasa = str_replace(',','',$upah_semasa);
|
|
}
|
|
$upah_semasa = (float)$upah_semasa - $upahtelahbayar;
|
|
|
|
if($upah_semasa <= 0){
|
|
$upah_semasa = 0;
|
|
}
|
|
|
|
return $upah_semasa;
|
|
}
|
|
|
|
public function upahNotTawarruq($kodcaw,$norujukan){
|
|
$cawangan = Cawangan::on('mysql7')
|
|
->where('kodcaw','=',$kodcaw)
|
|
->first();
|
|
|
|
$gadai_data = Gadai::on($cawangan['mysql'])
|
|
->where('norujukan','=',$norujukan)
|
|
->first();
|
|
|
|
$upahtelahbayar = Advansur::on($cawangan['mysql'])
|
|
->where('norujukan','=',$norujukan)
|
|
->sum('upahdibayar');
|
|
|
|
$upah_asal = $gadai_data['nilaimarhun'] / 100 * $gadai_data['kadarupah'];
|
|
$margin_pinjaman = $gadai_data['pinjaman'] / $gadai_data['nilaimarhun'] * 100;
|
|
$margin_kadarupah = 80;
|
|
$rebet = ($margin_kadarupah-$margin_pinjaman)/$margin_kadarupah * $upah_asal;
|
|
|
|
$bln_mora = Moratorium::first();
|
|
|
|
$upah_sebenar = $upah_asal - $rebet;
|
|
$bln_upah = $gadai_data['tempoh'];
|
|
if($bln_upah > $bln_mora['bln_mora']){
|
|
$bln_upah = $bln_mora['bln_mora'];
|
|
}
|
|
$upahsemasa = $upah_sebenar * $bln_upah;
|
|
$upah_semasa = bcdiv(round($upahsemasa,2),1,1);
|
|
$upah_semasa = number_format($upah_semasa,2);
|
|
if(strpos($upah_semasa,',')){
|
|
$upah_semasa = str_replace(',','',$upah_semasa);
|
|
}
|
|
$upah_semasa = (float)$upah_semasa - $upahtelahbayar;
|
|
|
|
if($upah_semasa <= 0){
|
|
$upah_semasa = 0;
|
|
}
|
|
|
|
return response()->json($upah_semasa);
|
|
}
|
|
|
|
public function tebusSeparuhNotTawarruq($kodcaw,$norujukan,Request $request){
|
|
$cawangan = Cawangan::on('mysql7')
|
|
->where('kodcaw','=',$kodcaw)
|
|
->first();
|
|
|
|
$gadai_data = Gadai::on($cawangan['mysql'])
|
|
->where('norujukan','=',$norujukan)
|
|
->first();
|
|
|
|
$upah_asal = $gadai_data['nilaimarhun'] / 100 * $gadai_data['kadarupah'];
|
|
$margin_pinjaman = $gadai_data['pinjaman'] / $gadai_data['nilaimarhun'] * 100;
|
|
$margin_kadarupah = 80;
|
|
$rebet = ($margin_kadarupah-$margin_pinjaman)/$margin_kadarupah * $upah_asal;
|
|
|
|
$upah_sebenar = $upah_asal - $rebet;
|
|
|
|
$upah_semasa = bcdiv(round($upah_sebenar * $gadai_data['jbg'],2),1,1);
|
|
$upah_semasa = (float)number_format($upah_semasa,2);
|
|
|
|
$array_recno_marhun = $request->array_recno;
|
|
|
|
$margin_pembiayaan = round(($gadai_data['pinjaman']/$gadai_data['nilaimarhun'])*100,2);
|
|
|
|
$nilai_marhun = $gadai_data['nilaimarhun'];
|
|
$total_harga_tebus = 0;
|
|
foreach($array_recno_marhun as $recno){
|
|
$marhun = Marhun::on($cawangan['mysql'])->where([['recno','=',$recno],['norujukan','=',$norujukan]])->first();
|
|
|
|
$harga_tebus = ($margin_pembiayaan/100)*$marhun['n_marhun'];
|
|
|
|
$total_harga_tebus += $harga_tebus;
|
|
}
|
|
|
|
// $total_harga_tebus += $upah_semasa;
|
|
|
|
return response()->json($total_harga_tebus);
|
|
}
|
|
|
|
function rebet($kodcaw,$norujukan){
|
|
$cawangan = Cawangan::on('mysql7')
|
|
->where('kodcaw','=',$kodcaw)
|
|
->first();
|
|
|
|
$gadai_data = Gadai::on($cawangan['mysql'])
|
|
->where('norujukan','=',$norujukan)
|
|
->first();
|
|
|
|
$upah_asal = $gadai_data['nilaimarhun'] / 100 * $gadai_data['kadarupah'];
|
|
$margin_pinjaman = $gadai_data['pinjaman'] / $gadai_data['nilaimarhun'] * 100;
|
|
$margin_kadarupah = 80;
|
|
|
|
$rebet = ($margin_kadarupah-$margin_pinjaman)/$margin_kadarupah * $upah_asal;
|
|
|
|
return floatval(number_format($rebet,2));
|
|
}
|
|
|
|
function rebetselepastawarruq($kodcaw,$norujukan){
|
|
$cawangan = Cawangan::on('mysql7')
|
|
->where('kodcaw','=',$kodcaw)
|
|
->first();
|
|
|
|
$gadai_data = Gadai::on($cawangan['mysql'])
|
|
->where('norujukan','=',$norujukan)
|
|
->first();
|
|
|
|
$transaction_keuntungan = TransaksiKeuntungan::on('mysql7')
|
|
->where('norujukan','=',$norujukan)
|
|
->sum('keuntungan_rebet');
|
|
|
|
$upah_rebet = $this->kiraUpahRebet($kodcaw,$norujukan);
|
|
|
|
$rebet_raw =$gadai_data['upah12'] - $transaction_keuntungan - $upah_rebet;
|
|
|
|
$rebet_round = bcdiv(round($rebet_raw,2),1,1);
|
|
$rebet_round = number_format($rebet_round,2);
|
|
|
|
if(strpos($rebet_round,',')){
|
|
$rebet_round = str_replace(',','',$rebet_round);
|
|
}
|
|
$rebet = substr($rebet_round, 0, -1);
|
|
|
|
return $rebet;
|
|
}
|
|
|
|
public function tebusUpdate($kodcaw,$norujukan,Request $request){
|
|
$current = Carbon::now();
|
|
$current = new Carbon();
|
|
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
|
|
if($request->jenisbayarantebus == "tawarruq")
|
|
{
|
|
$rebet = $this->rebetselepastawarruq($kodcaw,$norujukan);
|
|
}
|
|
else if($request->jenisbayarantebus == "nottawarruq")
|
|
{
|
|
$rebet = $this->rebet($kodcaw,$norujukan);
|
|
}
|
|
else{
|
|
$rebet = 0;
|
|
}
|
|
|
|
$gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first();
|
|
|
|
if($gadai['hargajualan'] == null){
|
|
$harga_tebus = $this->hargaTebusNotTawarruq($kodcaw,$norujukan);
|
|
$upah_tebus = $this->kiraUpahNotTawarruq($kodcaw,$norujukan);
|
|
$upah_rebet = 0;
|
|
$upah_rebet_sebenar = 0;
|
|
}else{
|
|
$harga_tebus = $this->hargaTebusTawarruq($kodcaw,$norujukan);
|
|
$upah_tebus = $this->kiraupahTawarruq($kodcaw,$norujukan);
|
|
$upah_rebet = $this->kiraUpahRebetSebenar($kodcaw,$norujukan);
|
|
$upah_rebet_sebenar = $harga_tebus - $gadai['bakipjm'];
|
|
}
|
|
|
|
|
|
$create_tebus = Tebus::on($cawangan['mysql'])->create([
|
|
'kodcaw'=> $kodcaw,
|
|
'norujukan'=> $norujukan,
|
|
'nopelanggan' => $request->nopelanggan,
|
|
'jenisbyr' => "TN",
|
|
'jenistebus' => $request->jenistebus,
|
|
'glcode' => "0",
|
|
't_tebus' => $current->toDateString(),
|
|
'jbg' => $gadai['tempoh'],
|
|
'kadarupah' => $gadai['kadarupah'],
|
|
'nilaimarhun' => $gadai['nilaimarhun'],
|
|
'pinjaman' => $gadai['pinjaman'],
|
|
'ansuran' => 0.00,
|
|
'addpinjaman' => $request->addpinjaman,
|
|
'bakipjm' => $harga_tebus,
|
|
'bakiupah' => $upah_tebus,
|
|
'terima' => "*",
|
|
'kodgl' => "0",
|
|
'nowakil' => $request->nowakil,
|
|
'rebate' => $rebet,
|
|
'marhuntebus' => $request->marhun,
|
|
'historygadaian' => $norujukan,
|
|
'tarikhbyrn' => $current->toDateString(),
|
|
'teller' => $request->teller
|
|
]);
|
|
|
|
$create_inoutmar = InOutMar::on($cawangan['mysql'])->create([
|
|
'tarikh' => $current->toDateString(),
|
|
'masa' => $current->toTimeString(),
|
|
'norujukan' => $norujukan,
|
|
'nm' => $request->nilai_marhun,
|
|
'pkd' => $request->teller,
|
|
'drp' => $request->teller,
|
|
'bln' => $current->month,
|
|
'thn' => $current->year,
|
|
'tag' => 0,
|
|
'jenistebus' => $request->jenistebus,
|
|
'namateller' => $request->teller
|
|
]);
|
|
|
|
$transaction_upah = TransaksiKeuntungan::on('mysql7')->create([
|
|
'norujukan' => $norujukan,
|
|
'bayaran_keuntungan' => $upah_tebus,
|
|
'bayaran_pembiayaan' => $gadai['bakipjm'],
|
|
'keuntungan_rebet' => $upah_rebet_sebenar,
|
|
'tarikh_bayaran'=> $current,
|
|
'kodcaw'=> $kodcaw
|
|
]);
|
|
|
|
if($request->jenistebus == 'P'){
|
|
$baki_hargajualan = $gadai['bakihargajualan'] - $request->bakiupah;
|
|
$transaction = Transaction::on('mysql7')->create([
|
|
'trans_type' => $request->jenistebus,
|
|
'norujukan' => $norujukan,
|
|
'nokp' => $gadai['nokp'],
|
|
'teller' => $request->teller,
|
|
'kodcaw' => $kodcaw,
|
|
'duit_masuk' => $request->bakiupah,
|
|
'created_at' => $current,
|
|
'bakiharga' => $baki_hargajualan,
|
|
]);
|
|
}else{
|
|
$baki_hargajualan = $gadai['bakihargajualan'] - $request->bakipinjaman;
|
|
$transaction = Transaction::on('mysql7')->create([
|
|
'trans_type' => $request->jenistebus,
|
|
'norujukan' => $norujukan,
|
|
'nokp' => $gadai['nokp'],
|
|
'teller' => $request->teller,
|
|
'kodcaw' => $kodcaw,
|
|
'duit_masuk' => $harga_tebus,
|
|
'created_at' => $current,
|
|
'bakiharga' => $baki_hargajualan,
|
|
]);
|
|
}
|
|
|
|
$update_gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(array(
|
|
'sttebus' => "T",
|
|
't_update' => $current->toDateString(),
|
|
));
|
|
|
|
$audit = new Audit();
|
|
$audit->users = $request->teller;
|
|
if($request->jenistebus == 'P'){
|
|
$audit->actions = "Tambah Pembiayaan";
|
|
}else if($request->jenistebus == 'S'){
|
|
$audit->actions = "Tebus Separuh";
|
|
}else if($request->jenistebus == 'T'){
|
|
$audit->actions = "Tebus Penuh";
|
|
}
|
|
$audit->norujukan = $norujukan;
|
|
$audit->new_data = $create_tebus;
|
|
$audit->kodcaw = $kodcaw;
|
|
$audit->created_at = $current;
|
|
$audit->updated_at = $current;
|
|
$audit->save();
|
|
|
|
return response()->json($update_gadai, 201);
|
|
}
|
|
|
|
public function tebusUpdateAutoTawarruq($kodcaw,$norujukan,Request $request){
|
|
$current = Carbon::now();
|
|
$current = new Carbon();
|
|
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
|
|
if($request->jenisbayarantebus == "tawarruq")
|
|
{
|
|
$rebet = $this->rebetselepastawarruq($kodcaw,$norujukan);
|
|
}
|
|
else if($request->jenisbayarantebus == "nottawarruq")
|
|
{
|
|
$rebet = $this->rebet($kodcaw,$norujukan);
|
|
}
|
|
else{
|
|
$rebet = 0;
|
|
}
|
|
|
|
$gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first();
|
|
|
|
$update_gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(array(
|
|
'sttebus' => "T",
|
|
't_update' => $current->toDateString(),
|
|
));
|
|
|
|
$upah_rebet = $this->kiraUpahRebet($kodcaw,$norujukan);
|
|
|
|
$create_tebus = Tebus::on($cawangan['mysql'])->create([
|
|
'kodcaw'=> $kodcaw,
|
|
'norujukan'=> $norujukan,
|
|
'nopelanggan' => $request->nopelanggan,
|
|
'jenisbyr' => "TN",
|
|
'jenistebus' => $request->jenistebus,
|
|
'glcode' => "0",
|
|
't_tebus' => $current->toDateString(),
|
|
'jbg' => $request->jbg,
|
|
'kadarupah' => $request->kadarupah,
|
|
'nilaimarhun' => $request->nilai_marhun,
|
|
'pinjaman' => $request->pinjaman,
|
|
'ansuran' => $request->ansuran,
|
|
'addpinjaman' => $request->addpinjaman,
|
|
'bakipjm' => $request->bakipinjaman,
|
|
'bakiupah' => $request->bakiupah,
|
|
'terima' => "*",
|
|
'kodgl' => "0",
|
|
'nowakil' => $request->nowakil,
|
|
'rebate' => $rebet,
|
|
'marhuntebus' => $request->marhun,
|
|
'historygadaian' => $request->historygadaian,
|
|
'tarikhbyrn' => $current->toDateString(),
|
|
'teller' => $request->teller
|
|
]);
|
|
|
|
$create_inoutmar = InOutMar::on($cawangan['mysql'])->create([
|
|
'tarikh' => $current->toDateString(),
|
|
'masa' => $current->toTimeString(),
|
|
'norujukan' => $norujukan,
|
|
'nm' => $request->nilai_marhun,
|
|
'pkd' => $request->teller,
|
|
'drp' => $request->teller,
|
|
'bln' => $current->month,
|
|
'thn' => $current->year,
|
|
'tag' => 0,
|
|
'jenistebus' => $request->jenistebus,
|
|
'namateller' => $request->teller
|
|
]);
|
|
|
|
$bayaran_pembiayaan = $request->totalbayaran - $request->bakiupah;
|
|
|
|
$transaction_upah = TransaksiKeuntungan::on('mysql7')->create([
|
|
'norujukan' => $norujukan,
|
|
'bayaran_keuntungan' => $request->bakiupah,
|
|
'bayaran_pembiayaan' => $bayaran_pembiayaan,
|
|
'keuntungan_rebet' => 0,
|
|
'tarikh_bayaran'=> $current,
|
|
'kodcaw'=> $kodcaw
|
|
]);
|
|
|
|
$transaction = Transaction::on('mysql7')->create([
|
|
'trans_type' => $request->jenistebus,
|
|
'norujukan' => $norujukan,
|
|
'nokp' => $gadai['nokp'],
|
|
'teller' => $request->teller,
|
|
'kodcaw' => $kodcaw,
|
|
'duit_masuk' => $request->totalbayaran,
|
|
'created_at' => $current,
|
|
'bakiharga' => 0,
|
|
]);
|
|
|
|
$audit = new Audit();
|
|
$audit->users = $request->teller;
|
|
$audit->actions = "Auto Tawarruq";
|
|
$audit->norujukan = $norujukan;
|
|
$audit->new_data = $create_tebus;
|
|
$audit->kodcaw = $kodcaw;
|
|
$audit->created_at = $current;
|
|
$audit->updated_at = $current;
|
|
$audit->save();
|
|
|
|
return response()->json($update_gadai, 201);
|
|
}
|
|
|
|
public function getLaporanTebus($kodcaw,$tarikh){
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
|
|
$tebus_data = Tebus::on($cawangan['mysql'])
|
|
->select('tebus.t_tebus', 'gad.t_gadai','gad.hargajualan','gad.bakihargajualan','gad.bakipjm as gadaibakipjm','tebus.nilaimarhun','tebus.tagterima', 'tebus.teller','tebus.jenistebus','tebus.pinjaman','tebus.bakiupah','tebus.bakipjm','gad.norujukan','gad.nokp','tebus.jbg')
|
|
->join('gadai as gad','gad.norujukan','=','tebus.norujukan')
|
|
// ->join('online_arrahn.customer as cust', function($join)
|
|
// {
|
|
// $join->on('gad.nokp', '=', 'cust.kpbaru');
|
|
// $join->orOn('gad.nokp', '=', 'cust.kplama');
|
|
// })
|
|
// ->join('online_arrahn.transaksi_keuntungan as trans','tebus.norujukan','=','trans.norujukan')
|
|
->where('tebus.t_tebus','=',$tarikh)
|
|
->groupBy('tebus.norujukan')
|
|
->orderBy('tebus.teller')
|
|
->orderBy('tebus.sirit')
|
|
->get();
|
|
|
|
$tebus = [];
|
|
if($tebus_data){
|
|
foreach($tebus_data as $index=>$tebusData){
|
|
$customer_info = Customer::on('mysql7')->where('kplama','=',$tebusData['nokp'])->orWhere('kpbaru','=',$tebusData['nokp'])->first();
|
|
|
|
$trans = TransaksiKeuntungan::on('mysql7')->where('norujukan',$tebusData['norujukan'])->orderBy('tarikh_bayaran','desc')->first();
|
|
|
|
array_push($tebus,[
|
|
"t_tebus"=>$tebusData['t_tebus'],
|
|
"t_gadai"=>$tebusData['t_gadai'],
|
|
"hargajualan"=>$tebusData['hargajualan'],
|
|
"bakihargajualan"=>$tebusData['bakihargajualan'],
|
|
"gadaibakipjm"=>$tebusData['gadaibakipjm'],
|
|
"tarikh_bayaran"=>$trans['tarikh_bayaran'],
|
|
"nilaimarhun"=>$tebusData['nilaimarhun'],
|
|
"tagterima"=>$tebusData['tagterima'],
|
|
"teller"=>$tebusData['teller'],
|
|
"jenistebus"=>$tebusData['jenistebus'],
|
|
"pinjaman"=>$tebusData['pinjaman'],
|
|
"bakiupah"=>$tebusData['bakiupah'],
|
|
"bakipjm"=>$tebusData['bakipjm'],
|
|
"norujukan"=>$tebusData['norujukan'],
|
|
"nama"=>$customer_info['nama'],
|
|
"nokp"=>$tebusData['nokp'],
|
|
"jbg"=>$tebusData['jbg']
|
|
]);
|
|
}
|
|
}
|
|
|
|
return response()->json($tebus);
|
|
}
|
|
|
|
public function getLaporanTebusPengasingan($kodcaw,Request $request){
|
|
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
|
|
$tebusarrahn = Tebus::on($cawangan['mysql'])
|
|
->join('gadai as gad','gad.norujukan','=','tebus.norujukan')
|
|
->where('t_tebus','=',$request->tarikh)
|
|
->whereNull('hargajualan');
|
|
|
|
$totalpenebusanarrahn = $tebusarrahn->sum('tebus.pinjaman');
|
|
$bilpenebusanarrahn = $tebusarrahn->count();
|
|
$totalkeuntunganarrahn = $tebusarrahn->sum('tebus.bakiupah');
|
|
|
|
$tebustawarruq = Tebus::on($cawangan['mysql'])
|
|
->join('gadai as gad','gad.norujukan','=','tebus.norujukan')
|
|
->where('t_tebus','=',$request->tarikh)
|
|
->whereNotNull('hargajualan');
|
|
|
|
$tebustawarruqansuran = Tebus::on($cawangan['mysql'])
|
|
->select('tebus.bakiupah','tebus.norujukan')
|
|
->join('gadai as gad','gad.norujukan','=','tebus.norujukan')
|
|
->where('t_tebus','=',$request->tarikh)
|
|
->whereNotNull('hargajualan')
|
|
->where('hargajualan','<>','bakihargajualan');
|
|
|
|
// dd($tebustawarruqansuran);
|
|
|
|
// $totalpenebusantawarruq = ($tebustawarruq->sum('tebus.pinjaman') - $tebustawarruqansuran->sum('gad.pinjaman')) + $tebustawarruqansuran->sum('gad.bakipjm');
|
|
$totalpenebusantawarruq = $tebustawarruq->sum('tebus.pinjaman');
|
|
$bilpenebusantawarruq = $tebustawarruq->count();
|
|
$totalrebatetawarruq = $tebustawarruq->sum('tebus.rebate');
|
|
$totalkeuntungantawarruq = $tebustawarruq->sum('tebus.bakiupah');
|
|
|
|
// dd($totalkeuntunganarrahn,$totalkeuntungantawarruq);
|
|
|
|
$array_penebusan = ['bilarrahn' => $bilpenebusanarrahn, 'totalarrahn' => $totalpenebusanarrahn, 'keuntunganarrahn' => $totalkeuntunganarrahn, 'biltawarruq' => $bilpenebusantawarruq, 'totaltawarruq' => $totalpenebusantawarruq,'totalrebate' => $totalrebatetawarruq,'keuntungantawarruq' => $totalkeuntungantawarruq];
|
|
|
|
return response()->json($array_penebusan);
|
|
}
|
|
|
|
public function listPenebusanBaru($kodcaw){
|
|
|
|
$current = Carbon::now();
|
|
$current = new Carbon();
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
$gadai = Tebus::on($cawangan['mysql'])
|
|
->where([['t_tebus','=',$current->toDateString()],['tagterima','=',0]])
|
|
->get();
|
|
|
|
return response()->json($gadai);
|
|
|
|
}
|
|
|
|
public function listSerahKhazanah($kodcaw){
|
|
|
|
$current = Carbon::now();
|
|
$current = new Carbon();
|
|
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
|
|
$gadai = Tebus::on($cawangan['mysql'])
|
|
->where([['t_tebus','=',$current->toDateString()],['tagterima','=',1]])
|
|
->get();
|
|
return response()->json($gadai);
|
|
|
|
}
|
|
|
|
public function tagterimaupdate($kodcaw,$norujukan){
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
$dahscan = Tebus::on($cawangan['mysql'])->where([['norujukan','=',$norujukan],['tagterima',1]])->first();
|
|
|
|
if($dahscan){
|
|
return response()->json('scanned');
|
|
}else{
|
|
$available_tebus = Tebus::on($cawangan['mysql'])->where('norujukan',$norujukan)->first();
|
|
if($available_tebus)
|
|
{
|
|
$update_inoutmar = Tebus::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(array(
|
|
'tagterima' => 1
|
|
));
|
|
|
|
return response()->json('success');
|
|
}else{
|
|
return response()->json('unavailable');
|
|
}
|
|
}
|
|
}
|
|
|
|
public function checkSerahTebus(Request $request){
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
|
|
|
|
$rekod_gadaian = Tebus::on($cawangan['mysql'])->where('norujukan','=',$request->norujukan)->first();
|
|
|
|
if($rekod_gadaian['tagterima'] == 1){
|
|
return response()->json('true');
|
|
}else{
|
|
return response()->json('false');
|
|
}
|
|
}
|
|
|
|
public function AllWakil($kodcaw){
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
|
|
$wakil = Wakil::on($cawangan['mysql'])
|
|
->orderBy('nowakil','desc')
|
|
->get();
|
|
|
|
return response()->json($wakil,200);
|
|
}
|
|
|
|
public function FirstWakil($kodcaw)
|
|
{
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
|
|
$wakil = Wakil::on($cawangan['mysql'])
|
|
->orderBy('nowakil','desc')
|
|
->first();
|
|
|
|
if($wakil['nowakil'])
|
|
return response($wakil['nowakil']);
|
|
else
|
|
return response(0);
|
|
}
|
|
|
|
public function getWakilbyStatus($kodcaw,$status,Request $request){
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
|
|
if($status == 'hubungan')
|
|
{
|
|
$wakil = Wakil::on($cawangan['mysql'])
|
|
->where('hubungan','=',$request->hubungan)
|
|
->get();
|
|
}else{
|
|
$wakil = [];
|
|
}
|
|
|
|
|
|
return response()->json($wakil,200);
|
|
}
|
|
|
|
public function LookupWakil()
|
|
{
|
|
$lookupwakil = LookupWakil::on('mysql7')->get();
|
|
|
|
return response()->json($lookupwakil,200);
|
|
}
|
|
|
|
|
|
public function getWakil($kodcaw,$icno){
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
|
|
$wakil = Wakil::on($cawangan['mysql'])
|
|
->where('nokp','=',$icno)
|
|
->get();
|
|
|
|
return response()->json($wakil,200);
|
|
}
|
|
|
|
public function getWakilbycode($kodcaw,$nowakil){
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
|
|
$wakil = Wakil::on($cawangan['mysql'])
|
|
->where('nowakil','=',$nowakil)
|
|
->get();
|
|
|
|
return response()->json($wakil,200);
|
|
}
|
|
|
|
public function createWakil($kodcaw,$icno,Request $request){
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
|
|
$wakil_create = Wakil::on($cawangan['mysql'])->create([
|
|
|
|
'kodcaw' => $kodcaw,
|
|
'nopelanggan' => $request->nopelanggan,
|
|
'nowakil' => $request->nowakil,
|
|
'nama' => $request->nama,
|
|
'nokp' => $icno,
|
|
'hubungan' => $request->hubungan,
|
|
'alamat1' => $request->alamat,
|
|
'telefon' => $request->telefon,
|
|
'nota' => $request->nota
|
|
|
|
]);
|
|
|
|
return response()->json($wakil_create ,201);
|
|
}
|
|
|
|
public function UbahWakil($kodcaw,Request $request)
|
|
{
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
|
|
$wakil = $request->nowakil;
|
|
|
|
$update_wakil = Tebus::on($cawangan['mysql'])->where('norujukan','=',$request->norujukan)->update(array(
|
|
"nowakil" => $wakil
|
|
));
|
|
|
|
return response()->json($update_wakil ,201);
|
|
}
|
|
|
|
public function listhistorypenebusan($kodcaw,Request $request){
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
|
|
$listtebus = Tebus::on($cawangan['mysql'])
|
|
->where('norujukan','=',$request->norujukan)
|
|
->get();
|
|
|
|
return response()->json($listtebus);
|
|
}
|
|
|
|
public function getAdvansur($kodcaw,$norujukan){
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
|
|
$listadvansur = Advansur::on($cawangan['mysql'])
|
|
->where('norujukan','=',$norujukan)
|
|
->orderBy('tarikh','desc')
|
|
->get();
|
|
|
|
return response()->json($listadvansur,200);
|
|
}
|
|
|
|
public function getAdvansurUpah($kodcaw,$norujukan){
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
|
|
$listadvansur = Advansur::on($cawangan['mysql'])
|
|
->where('norujukan','=',$norujukan)
|
|
->orderBy('tarikh','desc')
|
|
->first();
|
|
|
|
return response()->json($listadvansur,200);
|
|
}
|
|
|
|
public function SenaraiAdvansur($kodcaw,Request $request){
|
|
|
|
$current = Carbon::now();
|
|
$current = new Carbon();
|
|
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
|
|
$listadvansur = Advansur::on($cawangan['mysql'])
|
|
->where('teller','=',$request->kodlaluan)
|
|
->where('tarikh','=',$current->toDateString())
|
|
->orderBy('tarikh','desc')
|
|
->get();
|
|
|
|
return response()->json($listadvansur,200);
|
|
}
|
|
|
|
public function SenaraiAdvansurRangeDate($kodcaw,Request $request){
|
|
|
|
$current = Carbon::now();
|
|
$current = new Carbon();
|
|
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
|
|
$listadvansur = Advansur::on($cawangan['mysql'])
|
|
->where('tarikh','>=',$request->mula)
|
|
->where('tarikh','<=',$request->akhir)
|
|
->orderBy('teller')
|
|
->orderBy('tarikh','asc')
|
|
->get();
|
|
|
|
return response()->json($listadvansur,200);
|
|
}
|
|
|
|
public function advansurharini($kodcaw,Request $request){
|
|
|
|
$current = Carbon::now();
|
|
$current = new Carbon();
|
|
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
|
|
$listadvansur = Advansur::on($cawangan['mysql'])
|
|
->where('tarikh','=',$request->tarikh)
|
|
->sum('upahdibayar');
|
|
|
|
return response()->json($listadvansur,200);
|
|
|
|
}
|
|
|
|
public function advansurdetails($kodcaw,Request $request){
|
|
|
|
$current = Carbon::now();
|
|
$current = new Carbon();
|
|
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
|
|
$listadvansurkaunter = Advansur::on($cawangan['mysql'])
|
|
->where([['tarikh','=',$request->tarikh],['teller','<>','Online']]);
|
|
|
|
$listadvansuronline = Advansur::on($cawangan['mysql'])
|
|
->where([['tarikh','=',$request->tarikh],['teller','=','Online']]);
|
|
|
|
$countadvansurkaunter = $listadvansurkaunter->count();
|
|
$totaladvansurkaunter = $listadvansurkaunter->sum('upahdibayar');
|
|
|
|
$countadvansuronline = $listadvansuronline->count();
|
|
$totaladvansuronline = $listadvansuronline->sum('upahdibayar');
|
|
|
|
$arrayadvansur = ['bilkaunter' => $countadvansurkaunter, 'totalkaunter' => $totaladvansurkaunter,'bilonline' => $countadvansuronline, 'totalonline' => $totaladvansuronline];
|
|
|
|
return response()->json($arrayadvansur,200);
|
|
}
|
|
|
|
public function advansurdetailsRange($kodcaw,Request $request){
|
|
|
|
$current = Carbon::now();
|
|
$current = new Carbon();
|
|
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
|
|
$listadvansur = Advansur::on($cawangan['mysql'])
|
|
->where('tarikh','>=',$request->mula)->where('tarikh','<=',$request->akhir);
|
|
|
|
$countadvansur = $listadvansur->count();
|
|
$totaladvansur = $listadvansur->sum('upahdibayar');
|
|
|
|
$arrayadvansur = ['bil' => $countadvansur, 'total' => $totaladvansur];
|
|
|
|
return response()->json($arrayadvansur,200);
|
|
}
|
|
|
|
public function getAdvansurByKodlaluan($kodcaw,Request $request)
|
|
{
|
|
$current = Carbon::now();
|
|
$current = new Carbon();
|
|
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
|
|
$listadvansur = Advansur::on($cawangan['mysql'])
|
|
->where('teller','=',$request->kodlaluan)
|
|
->where('tarikh','=',$current->toDateString())
|
|
->sum('upahdibayar');
|
|
|
|
return response()->json($listadvansur,200);
|
|
}
|
|
|
|
public function createAdvansur($kodcaw,Request $request){
|
|
$current = Carbon::now();
|
|
$current = new Carbon();
|
|
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
|
|
$create_advansur = Advansur::on($cawangan['mysql'])->create([
|
|
'tarikh'=> $current->toDateString(),
|
|
'noresit'=> 0,
|
|
'norujukan' => $request->norujukan,
|
|
'nopelanggan' => $request->nopelanggan,
|
|
'nilaimarhun' => $request->nilaimarhun,
|
|
'pinjaman' => $request->pinjaman,
|
|
'kadarupah' => $request->kadarupah,
|
|
'glcode' => $request->glcode,
|
|
'upahsebenar' => $request->upahsebenar,
|
|
'upahDibayar' => $request->upahdibayar,
|
|
'teller' => $request->teller,
|
|
'prkod' => $request->prkod,
|
|
'jbg' => $request->jbg,
|
|
'nowakil' => $request->nowakil,
|
|
'hubungan' => $request->hubungan,
|
|
'status' => 0,
|
|
'historygadaian' => $request->historygadaian
|
|
]);
|
|
|
|
return response()->json($create_advansur ,201);
|
|
}
|
|
|
|
public function calculationKeuntunganSebenar($kodcaw,Request $request)
|
|
{
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
|
|
$current = new Carbon($request->tarikh);
|
|
|
|
$total = 0;
|
|
$keuntunganselepastawarruq = 0;
|
|
$keuntungansebelumtawarruq = 0;
|
|
|
|
$daterequest = new Carbon($request->tarikh);
|
|
$daterequest->addDays(1);
|
|
|
|
$keuntungan_data = TransaksiKeuntungan::on('mysql7')
|
|
->where('transaksi_keuntungan.tarikh_bayaran' ,'<=', $daterequest)
|
|
->whereYear('transaksi_keuntungan.tarikh_bayaran','=',$current->year)
|
|
->where('kodcaw',$kodcaw)
|
|
->pluck('norujukan');
|
|
|
|
$gadaiData = Gadai::on($cawangan['mysql'])->whereIn('norujukan', $keuntungan_data)->whereNull('hargajualan')->pluck('norujukan');
|
|
|
|
$keuntungan = TransaksiKeuntungan::on('mysql7')
|
|
->where('tarikh_bayaran' ,'<=', $daterequest)
|
|
->whereYear('tarikh_bayaran','=',$current->year)
|
|
->whereIn('norujukan',$gadaiData)
|
|
->sum('bayaran_keuntungan');
|
|
|
|
// //Keuntungan Selepas Tawarruq
|
|
// $keuntungan_data = TransaksiKeuntungan::on('mysql7')
|
|
// // ->join($cawangan['db_name'].'.gadai as db2','transaksi_keuntungan.norujukan','=','db2.norujukan')
|
|
// ->where('transaksi_keuntungan.tarikh_bayaran' ,'<=', $daterequest)
|
|
// ->whereYear('transaksi_keuntungan.tarikh_bayaran','=',$current->year)
|
|
// // ->whereNull('db2.hargajualan')
|
|
// // ->sum('bayaran_keuntungan');
|
|
// ->get();
|
|
|
|
// $keuntungan = 0;
|
|
// if($keuntungan_data){
|
|
// foreach($keuntungan_data as $index=>$keuntunganData){
|
|
// $gadaiData = Gadai::on($cawangan['mysql'])->where([['norujukan',$keuntunganData['norujukan']],['hargajualan',null]])->first();
|
|
// if($gadaiData){
|
|
// $keuntungan += $keuntunganData['bayaran_keuntungan'];
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
|
|
$upahtebus = Tebus::on($cawangan['mysql'])
|
|
->where([['t_tebus','<=',$request->tarikh],['t_tebus','>','2013-12-31']])
|
|
->whereYear('t_tebus','=',$current->year)
|
|
->sum('upahdibayar');
|
|
|
|
$upahlelong = Lelong::on($cawangan['mysql'])
|
|
->where([['t_jual','<=',$request->tarikh],['t_jual','>','2013-12-31'],['t_jual','<=','2022-07-24']])
|
|
->whereYear('t_jual','=',$current->year)
|
|
->sum('bakiupah');
|
|
|
|
$upahansur = Advansur::on($cawangan['mysql'])
|
|
->where('tarikh','<=',$request->tarikh)
|
|
->whereYear('tarikh','=',$current->year)
|
|
->sum('upahdibayar');
|
|
|
|
|
|
$keuntungansebelumtawarruq = $upahtebus + $upahlelong + $upahansur;
|
|
|
|
$total = $keuntungansebelumtawarruq + $keuntungan;
|
|
|
|
if($kodcaw === '011232')
|
|
{
|
|
$total +=623.5;
|
|
}
|
|
|
|
return response()->json($total,200);
|
|
}
|
|
|
|
public function calculationKeuntunganSebenarLejer($kodcaw,Request $request)
|
|
{
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
|
|
$current = new Carbon($request->tarikh);
|
|
|
|
$total = 0;
|
|
$keuntunganselepastawarruq = 0;
|
|
$keuntungansebelumtawarruq = 0;
|
|
|
|
$daterequest = new Carbon($request->tarikh);
|
|
$daterequest->addDays(1);
|
|
|
|
//Keuntungan Selepas Tawarruq
|
|
$keuntungan_data = TransaksiKeuntungan::on('mysql7')
|
|
// ->join($cawangan['db_name'].'.gadai as db2','transaksi_keuntungan.norujukan','=','db2.norujukan')
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'>=', $request->mula)
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<=', $request->hingga)
|
|
// ->whereYear('transaksi_keuntungan.tarikh_bayaran','=',$current->year)
|
|
// ->whereNull('db2.hargajualan')
|
|
// ->sum('bayaran_keuntungan');
|
|
// ->get();
|
|
->pluck('norujukan');
|
|
|
|
$gadaiData = Gadai::on($cawangan['mysql'])->whereIn('norujukan', $keuntungan_data)->whereNull('hargajualan')->pluck('norujukan');
|
|
|
|
$keuntungan = TransaksiKeuntungan::on('mysql7')->whereIn('norujukan',$gadaiData)->sum('bayaran_keuntungan');
|
|
|
|
// $keuntungan = 0;
|
|
// if($keuntungan_data){
|
|
// foreach($keuntungan_data as $index=>$keuntunganData){
|
|
// $gadaiData = Gadai::on($cawangan['mysql'])->where([['norujukan',$keuntunganData['norujukan']],['hargajualan',null]])->first();
|
|
// if($gadaiData){
|
|
// $keuntungan += $keuntunganData['bayaran_keuntungan'];
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
$upahtebus = Tebus::on($cawangan['mysql'])
|
|
->where([['t_tebus','>=',$request->mula],['t_tebus','<=',$request->hingga],['t_tebus','>','2013-12-31']])
|
|
// ->whereYear('t_tebus','=',$current->year)
|
|
->sum('upahdibayar');
|
|
|
|
$upahlelong = Lelong::on($cawangan['mysql'])
|
|
->where([['t_jual','>=',$request->mula],['t_jual','<=',$request->hingga],['t_jual','>','2013-12-31'],['t_jual','<=','2022-07-24']])
|
|
// ->whereYear('t_jual','=',$current->year)
|
|
->sum('bakiupah');
|
|
|
|
$upahansur = Advansur::on($cawangan['mysql'])
|
|
->where('tarikh','>=',$request->mula)
|
|
->where('tarikh','<=',$request->hingga)
|
|
// ->whereYear('tarikh','=',$current->year)
|
|
->sum('upahdibayar');
|
|
|
|
|
|
$keuntungansebelumtawarruq = $upahtebus + $upahlelong + $upahansur;
|
|
|
|
// $keuntunganselepastawarruq = $keuntunganselepastawarruqupah;
|
|
|
|
// $total = $keuntungansebelumtawarruq + $keuntunganselepastawarruq;
|
|
|
|
$total = $keuntungansebelumtawarruq + $keuntungan;
|
|
|
|
return response()->json($total,200);
|
|
}
|
|
|
|
public function calculationUntungRugiTerkumpul($kodcaw,Request $request)
|
|
{
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
|
|
$current = new Carbon($request->tarikh);
|
|
|
|
$daterequest = new Carbon($request->tarikh);
|
|
$daterequest->addDays(1);
|
|
|
|
$total = 0;
|
|
|
|
//Untung Rugi Terkumpul Sebelum 01.12.2013
|
|
$utgrugilama = imbangdugalama::on($cawangan['mysql']) //--masuk
|
|
->sum('untung_t');
|
|
|
|
//Yuran Ahli
|
|
$yuranTlama = imbangdugalama::on($cawangan['mysql'])
|
|
->sum('yuran_t');
|
|
|
|
$yuranbaru = Customer::on('mysql7')
|
|
->where('tarikhdaftar','>','2013-12-31')
|
|
->whereYear('tarikhdaftar','<',$current->year)
|
|
->sum('yuranahli');
|
|
|
|
//Caj Lelong
|
|
$lelong = Lelong::on($cawangan['mysql']) //--masuk
|
|
->whereNotNull('t_jual')
|
|
->where('t_jual','>','2013-12-31')
|
|
->whereYear('t_jual','<',$current->year)
|
|
->sum('cajlelong');
|
|
|
|
$cajlelonglama = imbangdugalama::on($cawangan['mysql'])
|
|
->sum('cajlelong_t');
|
|
|
|
|
|
//Upah Simpan Tebus
|
|
$upahsimpantebus = Tebus::on($cawangan['mysql']) //--masuk
|
|
->where('t_tebus','>','2013-12-31')
|
|
->whereYear('t_tebus','<',$current->year)
|
|
->sum('upahdibayar');
|
|
|
|
//Upah Simpan Lelong
|
|
$upahsimpanlelong = Lelong::on($cawangan['mysql']) //--masuk
|
|
->where('t_jual','>','2013-12-31')
|
|
->whereYear('t_jual','<',$current->year)
|
|
->sum('bakiupah');
|
|
|
|
//Upah Simpan Advansur
|
|
$upahsimpanansur = Advansur::on($cawangan['mysql']) //--masuk
|
|
->whereYear('tarikh','<',$current->year)
|
|
->sum('upahdibayar');
|
|
|
|
//Upah Tawarruq
|
|
|
|
$keuntungan_data = TransaksiKeuntungan::on('mysql7')
|
|
->where('transaksi_keuntungan.tarikh_bayaran' ,'<=', $daterequest)
|
|
->whereYear('transaksi_keuntungan.tarikh_bayaran','<',$current->year)
|
|
->where('kodcaw',$kodcaw)
|
|
->pluck('norujukan');
|
|
|
|
$gadaiData = Gadai::on($cawangan['mysql'])->whereIn('norujukan', $keuntungan_data)->whereNull('hargajualan')->pluck('norujukan');
|
|
|
|
$upahsimpankeuntungansebelumtawarruq = TransaksiKeuntungan::on('mysql7')
|
|
->where('tarikh_bayaran' ,'<=', $daterequest)
|
|
->whereYear('tarikh_bayaran','<',$current->year)
|
|
->whereIn('norujukan',$gadaiData)
|
|
->sum('bayaran_keuntungan');
|
|
|
|
$upahsimpanlama = imbangdugalama::on($cawangan['mysql'])
|
|
->sum('upah_t');
|
|
|
|
//GST Caj Lelong
|
|
$gstcajlelong = Lelong::on($cawangan['mysql']) //--masuk
|
|
->where('t_jual','<=',$request->tarikh)
|
|
->whereYear('t_jual','<',$current->year)
|
|
->sum('gst_cl');
|
|
|
|
//Upah Hapus Kira
|
|
$upahhapuskira = HapusKira::on($cawangan['mysql'])
|
|
->where('tarikh','>','2013-12-31')
|
|
->whereYear('tarikh','<',$current->year)
|
|
->sum('bakiupah');
|
|
|
|
$panjar1 = Panjar::on($cawangan['mysql'])
|
|
->whereYear('tarikh','<',$current->year)
|
|
->where('tag','=','1')
|
|
->sum('bayaran');
|
|
|
|
$panjar2 = Panjar::on($cawangan['mysql'])
|
|
->whereYear('tarikh','<',$current->year)
|
|
->where('tag','=','2')
|
|
->sum('bayaran');
|
|
|
|
$panjar3 = Panjar::on($cawangan['mysql'])
|
|
->whereYear('tarikh','<',$current->year)
|
|
->where('tag','=','3')
|
|
->sum('bayaran');
|
|
|
|
$parameter = ($panjar1*-1) + ($panjar2*-1) + ($panjar3*-1);
|
|
|
|
// $parameter = Parameter::on($cawangan['mysql']) //--masuk
|
|
// ->sum('sumpanjarlama');
|
|
|
|
//Keuntungan Tawarruq Sebenar
|
|
$keuntungansebenar = 0;
|
|
$dateSM = '2021-04-24';
|
|
|
|
if($request->tarikh < '2021-06-09')
|
|
{
|
|
$keuntungan_data = TransaksiKeuntungan::on('mysql7')
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran', '<=', $request->tarikh)
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<', $dateSM)
|
|
->whereYear('tarikh_bayaran','<',$current->year)
|
|
->where('kodcaw',$kodcaw)
|
|
->pluck('norujukan');
|
|
|
|
$gadaiData = Gadai::on($cawangan['mysql'])->whereIn('norujukan',$keuntungan_data)->whereNotNull('hargajualan')->pluck('norujukan');
|
|
|
|
$keuntungan = TransaksiKeuntungan::on('mysql7')
|
|
->whereIn('norujukan',$gadaiData)
|
|
->whereDate('tarikh_bayaran', '<=', $request->tarikh)
|
|
->whereDate('tarikh_bayaran' ,'<', $dateSM)
|
|
->whereYear('tarikh_bayaran','<',$current->year)
|
|
->sum('bayaran_keuntungan');
|
|
|
|
$keuntunganreducing_data = TransaksiKeuntungan::on('mysql7')
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<=', $request->tarikh)
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran','>=', $dateSM)
|
|
->whereYear('tarikh_bayaran','<',$current->year)
|
|
->where('kodcaw',$request->kodcaw)
|
|
->pluck('norujukan');
|
|
|
|
$gadaiData = Gadai::on($cawangan['mysql'])->whereIn('norujukan',$keuntunganreducing_data)->whereNotNull('hargajualan')->pluck('norujukan');
|
|
|
|
$keuntunganreducing = TransaksiKeuntungan::on('mysql7')
|
|
->whereIn('norujukan',$gadaiData)
|
|
->whereDate('tarikh_bayaran' ,'<=', $request->tarikh)
|
|
->whereDate('tarikh_bayaran','>=', $dateSM)
|
|
->whereYear('tarikh_bayaran','<',$current->year)
|
|
->sum('keuntungan_rebet');
|
|
|
|
$keuntungansebenar = ($keuntungan + $keuntunganreducing);
|
|
|
|
|
|
}else{
|
|
|
|
$keuntungan_data = TransaksiKeuntungan::on('mysql7')
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran', '<=', $request->tarikh)
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<', $dateSM)
|
|
->whereYear('tarikh_bayaran','<',$current->year)
|
|
->where('kodcaw',$kodcaw)
|
|
->pluck('norujukan');
|
|
|
|
|
|
$gadaiData = Gadai::on($cawangan['mysql'])->whereIn('norujukan',$keuntungan_data)->whereNotNull('hargajualan')->pluck('norujukan');
|
|
|
|
$keuntungan = TransaksiKeuntungan::on('mysql7')->whereIn('norujukan',$gadaiData)->sum('bayaran_keuntungan');
|
|
|
|
$keuntunganreducing_data = TransaksiKeuntungan::on('mysql7')
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<', '2021-06-09')
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran','>=', $dateSM)
|
|
->whereYear('tarikh_bayaran','<',$current->year)
|
|
->where('kodcaw',$kodcaw)
|
|
->pluck('norujukan');
|
|
|
|
$gadaiData = Gadai::on($cawangan['mysql'])->whereIn('norujukan',$keuntunganreducing_data)->whereNotNull('hargajualan')->pluck('norujukan');
|
|
|
|
$keuntunganreducing = TransaksiKeuntungan::on('mysql7')
|
|
->whereIn('norujukan',$gadaiData)
|
|
->whereDate('tarikh_bayaran' ,'<', '2021-06-09')
|
|
->whereDate('tarikh_bayaran','>=', $dateSM)
|
|
->sum('keuntungan_rebet');
|
|
|
|
$bukanansuran_data = TransaksiKeuntungan::on('mysql7')
|
|
->leftJoin('transaction as trans', function($join)
|
|
{
|
|
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
|
|
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
|
|
})
|
|
->where('trans.trans_type','!=','A')
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<=', $request->tarikh)
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'>=', '2021-06-09')
|
|
->whereYear('tarikh_bayaran','<',$current->year)
|
|
->where('trans.kodcaw',$kodcaw)
|
|
->pluck('transaksi_keuntungan.norujukan');
|
|
|
|
$gadaiData = Gadai::on($cawangan['mysql'])
|
|
->whereIn('norujukan',$bukanansuran_data)
|
|
->whereNotNull('hargajualan')
|
|
->pluck('norujukan');
|
|
|
|
$bukanansuran = TransaksiKeuntungan::on('mysql7')
|
|
->whereIn('transaksi_keuntungan.norujukan',$gadaiData)
|
|
->leftJoin('transaction as trans', function($join)
|
|
{
|
|
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
|
|
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
|
|
})
|
|
->where('trans.trans_type','!=','A')
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<=', $request->tarikh)
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'>=', '2021-06-09')
|
|
->whereYear('transaksi_keuntungan.tarikh_bayaran','<',$current->year)
|
|
->sum('transaksi_keuntungan.keuntungan_rebet');
|
|
|
|
$ansuran_data = TransaksiKeuntungan::on('mysql7')
|
|
->leftJoin('transaction as trans', function($join)
|
|
{
|
|
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
|
|
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
|
|
})
|
|
->where('trans.trans_type','=','A')
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<=', $request->tarikh)
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'>=', '2021-06-09')
|
|
->whereYear('tarikh_bayaran','<',$current->year)
|
|
->where('trans.kodcaw',$kodcaw)
|
|
->pluck('transaksi_keuntungan.norujukan');
|
|
|
|
$gadaiData = Gadai::on($cawangan['mysql'])
|
|
->whereIn('norujukan',$ansuran_data)
|
|
->whereNotNull('hargajualan')
|
|
->pluck('norujukan');
|
|
|
|
$ansuran = TransaksiKeuntungan::on('mysql7')
|
|
->whereIn('transaksi_keuntungan.norujukan',$gadaiData)
|
|
->leftJoin('transaction as trans', function($join)
|
|
{
|
|
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
|
|
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
|
|
})
|
|
->where('trans.trans_type','=','A')
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<=', $request->tarikh)
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'>=', '2021-06-09')
|
|
->whereYear('transaksi_keuntungan.tarikh_bayaran','<',$current->year)
|
|
->sum('transaksi_keuntungan.bayaran_keuntungan');
|
|
|
|
|
|
$keuntungansebenar = ($keuntungan + $keuntunganreducing + $ansuran + $bukanansuran);
|
|
|
|
}
|
|
// dd($keuntungansebenar);
|
|
|
|
$total = ($utgrugilama + $lelong + $upahsimpantebus + $upahsimpanlelong + $upahsimpanansur + $gstcajlelong + $keuntungansebenar + $upahsimpankeuntungansebelumtawarruq) + $parameter;
|
|
|
|
// dd($utgrugilama,$lelong,$upahsimpantebus,$upahsimpanlelong,$upahsimpanansur,$gstcajlelong,$parameter);
|
|
|
|
if($kodcaw == '011229')
|
|
$total -= 45390.37;
|
|
|
|
|
|
return response()->json($total,200);
|
|
}
|
|
|
|
public function PenghutangKakitangan($kodcaw,Request $request)
|
|
{
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
|
|
|
|
$penghutangkaki = imbangdugalama::on($cawangan['mysql'])
|
|
->sum('penghutang');
|
|
|
|
return response()->json($penghutangkaki,200);
|
|
}
|
|
|
|
public function untungrugicalculation($kodcaw,Request $request)
|
|
{
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
|
|
|
|
// $datetawarruq = new Carbon('2021-04-14');
|
|
$daterequest = new Carbon($request->tarikh);
|
|
$daterequest->addDays(1);
|
|
|
|
$dateSM = '2021-04-24';
|
|
|
|
$current = Carbon::now();
|
|
$current = new Carbon();
|
|
|
|
$tarikhyear = new Carbon($request->tarikh);
|
|
|
|
if($request->tarikh < '2021-06-09')
|
|
{
|
|
$keuntungan_data = TransaksiKeuntungan::on('mysql7')
|
|
// ->join($cawangan['db_name'].'.gadai as db2','transaksi_keuntungan.norujukan','=','db2.norujukan')
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran', '<=', $request->tarikh)
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<', $dateSM)
|
|
->whereYear('tarikh_bayaran','=',$tarikhyear->year)
|
|
->where('kodcaw',$request->kodcaw)
|
|
// ->whereNotNull('db2.hargajualan')
|
|
// ->sum('bayaran_keuntungan');
|
|
->pluck('norujukan');
|
|
|
|
$gadaiData = Gadai::on($cawangan['mysql'])->whereIn('norujukan',$keuntungan_data)->whereNotNull('hargajualan')->pluck('norujukan');
|
|
|
|
$keuntungan = TransaksiKeuntungan::on('mysql7')
|
|
->whereIn('norujukan',$gadaiData)
|
|
->whereDate('tarikh_bayaran', '<=', $request->tarikh)
|
|
->whereDate('tarikh_bayaran' ,'<', $dateSM)
|
|
->whereYear('tarikh_bayaran','=',$tarikhyear->year)
|
|
->sum('bayaran_keuntungan');
|
|
|
|
// $keuntungan = 0;
|
|
// if($keuntungan_data){
|
|
// foreach($keuntungan_data as $index=>$keuntunganData){
|
|
// $gadaiData = Gadai::on($cawangan['mysql'])->where([['norujukan',$keuntunganData['norujukan']],['hargajualan','<>',null]])->first();
|
|
// if($gadaiData){
|
|
// $keuntungan += $keuntunganData['bayaran_keuntungan'];
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
$keuntunganreducing_data = TransaksiKeuntungan::on('mysql7')
|
|
// ->join($cawangan['db_name'].'.gadai as db2','transaksi_keuntungan.norujukan','=','db2.norujukan')
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<=', $request->tarikh)
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran','>=', $dateSM)
|
|
->whereYear('tarikh_bayaran','=',$tarikhyear->year)
|
|
->where('kodcaw',$request->kodcaw)
|
|
// ->whereNotNull('db2.hargajualan')
|
|
// ->sum('keuntungan_rebet');
|
|
// ->get();
|
|
->pluck('norujukan');
|
|
|
|
$gadaiData = Gadai::on($cawangan['mysql'])->whereIn('norujukan',$keuntunganreducing_data)->whereNotNull('hargajualan')->pluck('norujukan');
|
|
|
|
$keuntunganreducing = TransaksiKeuntungan::on('mysql7')
|
|
->whereIn('norujukan',$gadaiData)
|
|
->whereDate('tarikh_bayaran' ,'<=', $request->tarikh)
|
|
->whereDate('tarikh_bayaran','>=', $dateSM)
|
|
->whereYear('tarikh_bayaran','=',$tarikhyear->year)
|
|
->sum('keuntungan_rebet');
|
|
|
|
// $keuntunganreducing = 0;
|
|
// if($keuntunganreducing_data){
|
|
// foreach($keuntunganreducing_data as $index=>$keuntunganreducingData){
|
|
// $gadaiData = Gadai::on($cawangan['mysql'])->where([['norujukan',$keuntunganreducingData['norujukan']],['hargajualan','<>',null]])->first();
|
|
// if($gadaiData){
|
|
// $keuntunganreducing += $keuntunganreducingData['keuntungan_rebet'];
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
$total = ($keuntungan + $keuntunganreducing);
|
|
|
|
|
|
}else{
|
|
|
|
$keuntungan_data = TransaksiKeuntungan::on('mysql7')
|
|
// ->join($cawangan['db_name'].'.gadai as db2','transaksi_keuntungan.norujukan','=','db2.norujukan')
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran', '<=', $request->tarikh)
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<', $dateSM)
|
|
->whereYear('tarikh_bayaran','=',$tarikhyear->year)
|
|
->where('kodcaw',$request->kodcaw)
|
|
// ->whereNotNull('db2.hargajualan')
|
|
// ->sum('bayaran_keuntungan');
|
|
// ->get();
|
|
->pluck('norujukan');
|
|
|
|
|
|
$gadaiData = Gadai::on($cawangan['mysql'])->whereIn('norujukan',$keuntungan_data)->whereNotNull('hargajualan')->pluck('norujukan');
|
|
|
|
$keuntungan = TransaksiKeuntungan::on('mysql7')->whereIn('norujukan',$gadaiData)->sum('bayaran_keuntungan');
|
|
|
|
// $keuntungan = 0;
|
|
// if($keuntungan_data){
|
|
// foreach($keuntungan_data as $index=>$keuntunganData){
|
|
// $gadaiData = Gadai::on($cawangan['mysql'])->where([['norujukan',$keuntunganData['norujukan']],['hargajualan','<>',null]])->first();
|
|
// if($gadaiData){
|
|
// $keuntungan += $keuntunganData['bayaran_keuntungan'];
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
// dd($keuntungan);
|
|
|
|
|
|
$keuntunganreducing_data = TransaksiKeuntungan::on('mysql7')
|
|
// ->join($cawangan['db_name'].'.gadai as db2','transaksi_keuntungan.norujukan','=','db2.norujukan')
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<', '2021-06-09')
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran','>=', $dateSM)
|
|
->whereYear('tarikh_bayaran','=',$tarikhyear->year)
|
|
->where('kodcaw',$request->kodcaw)
|
|
// ->whereNotNull('db2.hargajualan')
|
|
// ->sum('keuntungan_rebet');
|
|
// ->get();
|
|
->pluck('norujukan');
|
|
|
|
$gadaiData = Gadai::on($cawangan['mysql'])->whereIn('norujukan',$keuntunganreducing_data)->whereNotNull('hargajualan')->pluck('norujukan');
|
|
|
|
$keuntunganreducing = TransaksiKeuntungan::on('mysql7')
|
|
->whereIn('norujukan',$gadaiData)
|
|
->whereDate('tarikh_bayaran' ,'<', '2021-06-09')
|
|
->whereDate('tarikh_bayaran','>=', $dateSM)
|
|
->sum('keuntungan_rebet');
|
|
|
|
// $keuntunganreducing = 0;
|
|
// if($keuntunganreducing_data){
|
|
// foreach($keuntunganreducing_data as $index=>$keuntunganreducingData){
|
|
// $gadaiData = Gadai::on($cawangan['mysql'])->where([['norujukan',$keuntunganreducingData['norujukan']],['hargajualan','<>',null]])->first();
|
|
// if($gadaiData){
|
|
// $keuntunganreducing += $keuntunganreducingData['keuntungan_rebet'];
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
// dd($keuntunganreducing);
|
|
|
|
$bukanansuran_data = TransaksiKeuntungan::on('mysql7')
|
|
// ->join($cawangan['db_name'].'.gadai as db2','transaksi_keuntungan.norujukan','=','db2.norujukan')
|
|
->leftJoin('transaction as trans', function($join)
|
|
{
|
|
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
|
|
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
|
|
})
|
|
->where('trans.trans_type','!=','A')
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<=', $request->tarikh)
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'>=', '2021-06-09')
|
|
// ->whereDate('transaksi_keuntungan.tarikh_bayaran','>=', $dateSM)
|
|
->whereYear('tarikh_bayaran','=',$tarikhyear->year)
|
|
->where('trans.kodcaw',$request->kodcaw)
|
|
// ->whereNotNull('db2.hargajualan')
|
|
// ->sum('keuntungan_rebet');
|
|
// ->get();
|
|
->pluck('transaksi_keuntungan.norujukan');
|
|
|
|
$gadaiData = Gadai::on($cawangan['mysql'])
|
|
->whereIn('norujukan',$bukanansuran_data)
|
|
->whereNotNull('hargajualan')
|
|
->pluck('norujukan');
|
|
|
|
$bukanansuran = TransaksiKeuntungan::on('mysql7')
|
|
->whereIn('transaksi_keuntungan.norujukan',$gadaiData)
|
|
->leftJoin('transaction as trans', function($join)
|
|
{
|
|
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
|
|
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
|
|
})
|
|
->where('trans.trans_type','!=','A')
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<=', $request->tarikh)
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'>=', '2021-06-09')
|
|
->whereYear('transaksi_keuntungan.tarikh_bayaran','=',$tarikhyear->year)
|
|
->sum('transaksi_keuntungan.keuntungan_rebet');
|
|
|
|
// $bukanansuran = 0;
|
|
// if($bukanansuran_data){
|
|
// foreach($bukanansuran_data as $index=>$bukanansuranData){
|
|
// $gadaiData = Gadai::on($cawangan['mysql'])->where([['norujukan',$bukanansuranData['norujukan']],['hargajualan','<>',null]])->first();
|
|
// if($gadaiData){
|
|
// $bukanansuran += $bukanansuranData['keuntungan_rebet'];
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
// dd($bukanansuran);
|
|
|
|
$ansuran_data = TransaksiKeuntungan::on('mysql7')
|
|
// ->join($cawangan['db_name'].'.gadai as db2','transaksi_keuntungan.norujukan','=','db2.norujukan')
|
|
->leftJoin('transaction as trans', function($join)
|
|
{
|
|
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
|
|
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
|
|
})
|
|
->where('trans.trans_type','=','A')
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<=', $request->tarikh)
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'>=', '2021-06-09')
|
|
// ->whereDate('transaksi_keuntungan.tarikh_bayaran','>=', $dateSM)
|
|
->whereYear('tarikh_bayaran','=',$tarikhyear->year)
|
|
->where('trans.kodcaw',$request->kodcaw)
|
|
// ->whereNotNull('db2.hargajualan')
|
|
// ->sum('bayaran_keuntungan');
|
|
// ->get();
|
|
->pluck('transaksi_keuntungan.norujukan');
|
|
|
|
$gadaiData = Gadai::on($cawangan['mysql'])
|
|
->whereIn('norujukan',$ansuran_data)
|
|
->whereNotNull('hargajualan')
|
|
->pluck('norujukan');
|
|
|
|
$ansuran = TransaksiKeuntungan::on('mysql7')
|
|
->whereIn('transaksi_keuntungan.norujukan',$gadaiData)
|
|
->leftJoin('transaction as trans', function($join)
|
|
{
|
|
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
|
|
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
|
|
})
|
|
->where('trans.trans_type','=','A')
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<=', $request->tarikh)
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'>=', '2021-06-09')
|
|
->whereYear('transaksi_keuntungan.tarikh_bayaran','=',$tarikhyear->year)
|
|
->sum('transaksi_keuntungan.bayaran_keuntungan');
|
|
|
|
// $ansuran = 0;
|
|
// if($ansuran_data){
|
|
// foreach($ansuran_data as $index=>$ansuranData){
|
|
// $gadaiData = Gadai::on($cawangan['mysql'])->where([['norujukan',$ansuranData['norujukan']],['hargajualan','<>',null]])->first();
|
|
// if($gadaiData){
|
|
// $ansuran += $ansuranData['bayaran_keuntungan'];
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
// dd($ansuran);
|
|
|
|
$upahlelong = Lelong::on($cawangan['mysql'])
|
|
->where([['t_jual','<=',$request->tarikh],['t_jual','>','2022-07-24']])
|
|
->whereYear('t_jual','=',$tarikhyear->year)
|
|
->sum('bakiupah');
|
|
|
|
|
|
$total = ($keuntungan + $keuntunganreducing + $ansuran + $bukanansuran + $upahlelong);
|
|
|
|
}
|
|
|
|
return response($total);
|
|
}
|
|
|
|
public function untungrugicalculationLejer($kodcaw,Request $request)
|
|
{
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
|
|
|
|
// $datetawarruq = new Carbon('2021-04-14');
|
|
$daterequest = new Carbon($request->tarikh);
|
|
$daterequest->addDays(1);
|
|
|
|
$dateSM = '2021-04-24';
|
|
|
|
$current = Carbon::now();
|
|
$current = new Carbon();
|
|
|
|
|
|
if($request->hingga < '2021-06-01')
|
|
{
|
|
|
|
$keuntungan_data = TransaksiKeuntungan::on('mysql7')
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran', '<=', $request->hingga)
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<', $dateSM)
|
|
// ->whereYear('tarikh_bayaran','=',$current->year)
|
|
->where('kodcaw',$request->kodcaw)
|
|
->pluck('norujukan');
|
|
|
|
|
|
$gadaiData = Gadai::on($cawangan['mysql'])->whereIn('norujukan',$keuntungan_data)->whereNotNull('hargajualan')->pluck('norujukan');
|
|
|
|
$keuntungan = TransaksiKeuntungan::on('mysql7')
|
|
->whereIn('norujukan',$gadaiData)
|
|
->whereDate('tarikh_bayaran', '<=', $request->hingga)
|
|
->whereDate('tarikh_bayaran', '>=', $request->mula)
|
|
->whereDate('tarikh_bayaran' ,'<', $dateSM)
|
|
// ->whereYear('tarikh_bayaran','=',$current->year)
|
|
->sum('bayaran_keuntungan');
|
|
|
|
$keuntunganreducing_data = TransaksiKeuntungan::on('mysql7')
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<=', $request->hingga)
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran','>=', $request->mula)
|
|
// ->whereYear('tarikh_bayaran','=',$current->year)
|
|
->where('kodcaw',$request->kodcaw)
|
|
->pluck('norujukan');
|
|
|
|
$gadaiData = Gadai::on($cawangan['mysql'])->whereIn('norujukan',$keuntunganreducing_data)->whereNotNull('hargajualan')->pluck('norujukan');
|
|
|
|
$keuntunganreducing = TransaksiKeuntungan::on('mysql7')
|
|
->whereIn('norujukan',$gadaiData)
|
|
->whereDate('tarikh_bayaran' ,'<=', $request->hingga)
|
|
->whereDate('tarikh_bayaran','>=', $request->mula)
|
|
// ->whereYear('tarikh_bayaran','=',$current->year)
|
|
->sum('keuntungan_rebet');
|
|
|
|
$total = ($keuntungan + $keuntunganreducing);
|
|
|
|
}else{
|
|
$bukanansuran_data = TransaksiKeuntungan::on('mysql7')
|
|
// ->join($cawangan['db_name'].'.gadai as db2','transaksi_keuntungan.norujukan','=','db2.norujukan')
|
|
->leftJoin('transaction as trans', function($join)
|
|
{
|
|
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
|
|
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
|
|
})
|
|
->where('trans.trans_type','!=','A')
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'>=', $request->mula)
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<=', $request->hingga)
|
|
->whereYear('tarikh_bayaran','=',$current->year)
|
|
->where('trans.kodcaw',$request->kodcaw)
|
|
// ->whereNotNull('db2.hargajualan')
|
|
// ->sum('keuntungan_rebet');
|
|
->get();
|
|
|
|
$bukanansuran = 0;
|
|
if($bukanansuran_data){
|
|
foreach($bukanansuran_data as $index=>$bukanansuranData){
|
|
$gadaiData = Gadai::on($cawangan['mysql'])->where([['norujukan',$bukanansuranData['norujukan']],['hargajualan','<>',null]])->first();
|
|
if($gadaiData){
|
|
$bukanansuran += $bukanansuranData['keuntungan_rebet'];
|
|
}
|
|
}
|
|
}
|
|
|
|
$ansuran_data = TransaksiKeuntungan::on('mysql7')
|
|
// ->join($cawangan['db_name'].'.gadai as db2','transaksi_keuntungan.norujukan','=','db2.norujukan')
|
|
->leftJoin('transaction as trans', function($join)
|
|
{
|
|
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
|
|
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
|
|
})
|
|
->where('trans.trans_type','=','A')
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'>=', $request->mula)
|
|
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<=', $request->hingga)
|
|
->whereYear('tarikh_bayaran','=',$current->year)
|
|
->where('trans.kodcaw',$request->kodcaw)
|
|
// ->whereNotNull('db2.hargajualan')
|
|
// ->sum('bayaran_keuntungan');
|
|
->get();
|
|
|
|
$ansuran = 0;
|
|
if($ansuran_data){
|
|
foreach($ansuran_data as $index=>$ansuranData){
|
|
$gadaiData = Gadai::on($cawangan['mysql'])->where([['norujukan',$ansuranData['norujukan']],['hargajualan','<>',null]])->first();
|
|
if($gadaiData){
|
|
$ansuran += $ansuranData['bayaran_keuntungan'];
|
|
}
|
|
}
|
|
}
|
|
|
|
$upahlelong = Lelong::on($cawangan['mysql'])
|
|
->where([['t_jual','>=',$request->mula],['t_jual','<=',$request->hingga],['t_jual','>','2022-07-24']])
|
|
->whereYear('t_jual','=',$current->year)
|
|
->sum('bakiupah');
|
|
|
|
$total = ($ansuran + $bukanansuran + $upahlelong);
|
|
}
|
|
|
|
return response($total);
|
|
}
|
|
|
|
public function RebetCalculation($kodcaw,Request $request)
|
|
{
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
|
|
|
|
$rebet = Tebus::on($cawangan['mysql'])
|
|
->join('gadai as db2','tebus.norujukan','=','db2.norujukan')
|
|
// ->where('tebus.t_tebus','>','2021-04-13')
|
|
->where('tebus.t_tebus','<=',$request->tarikh)
|
|
->where('db2.hargajualan','>','0') // tambahan 2021-05-07
|
|
->whereNotNull('db2.hargajualan')
|
|
->sum('rebate');
|
|
|
|
return response($rebet);
|
|
}
|
|
|
|
public function RebetCalculationLejer($kodcaw,Request $request)
|
|
{
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
|
|
|
|
$rebet = Tebus::on($cawangan['mysql'])
|
|
->join('gadai as db2','tebus.norujukan','=','db2.norujukan')
|
|
->where('tebus.t_tebus','>=',$request->mula)
|
|
->where('tebus.t_tebus','<=',$request->hingga)
|
|
->where('db2.hargajualan','>','0')
|
|
->whereNotNull('db2.hargajualan')
|
|
->sum('rebate');
|
|
|
|
return response($rebet);
|
|
}
|
|
|
|
public function getUpahLamaToday($kodcaw,$norujukan)
|
|
{
|
|
$current = Carbon::now();
|
|
$current = new Carbon();
|
|
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
|
|
$listadvansur = Advansur::on($cawangan['mysql'])
|
|
->where('norujukan','=',$norujukan)
|
|
->where('tarikh','=',$current->toDateString())
|
|
->orderBy('tarikh','desc')
|
|
->get();
|
|
|
|
if(sizeof($listadvansur) > 0)
|
|
return response(1);
|
|
else
|
|
return response(0);
|
|
}
|
|
|
|
public function removeUpahLamaToday($kodcaw,$norujukan)
|
|
{
|
|
$current = Carbon::now();
|
|
$current = new Carbon();
|
|
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
$data_ansuran = Advansur::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first();
|
|
$removed = Advansur::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
|
|
|
|
$audit = new Audit();
|
|
$audit->users = $request->teller;
|
|
$audit->actions = "Hapus Upah";
|
|
$audit->norujukan = $norujukan;
|
|
$audit->old_data = $data_ansuran;
|
|
$audit->kodcaw = $kodcaw;
|
|
$audit->created_at = $current;
|
|
$audit->updated_at = $current;
|
|
$audit->save();
|
|
|
|
if($removed)
|
|
return response(1);
|
|
else
|
|
return response(0);
|
|
}
|
|
|
|
|
|
|
|
public function calculationKeuntunganPenggadai($kodcaw,Request $request)
|
|
{
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
$determine_past = new Carbon($request->tarikh);
|
|
$date = new Carbon($request->tarikh);
|
|
$date_sekarang = clone $date;
|
|
$month_sebelum = $date->subMonth()->format('m');
|
|
$month_sekarang = $date_sekarang->format('m');
|
|
$year_generate = $date->format('Y');
|
|
|
|
if($determine_past->isToday())
|
|
{
|
|
$audit_now = Gadai::on($cawangan['mysql'])
|
|
->where([['tagpalsu','=',0],['t_gadai','<=',$request->tarikh],['sttebus','=','']])
|
|
->orWhere([['tagpalsu','=',0],['t_update','>',$request->tarikh],['sttebus','!=',''],['t_gadai','<=',$request->tarikh]])
|
|
->orderBy('t_gadai', 'ASC')
|
|
->orderBy('sirig', 'ASC');
|
|
|
|
$totaltunggakan_now = $audit_now->sum('tunggakan');
|
|
}else{
|
|
|
|
$result_audit_backdate = $this->StokAuditGenerateTerakru($month_sekarang,$cawangan,$year_generate);
|
|
$totaltunggakan_now = $result_audit_backdate->sum('upahblmbyar');
|
|
}
|
|
|
|
return response()->json($totaltunggakan_now);
|
|
|
|
}
|
|
|
|
public function StokAuditGenerateTerakru($Month = null, $cawangan = [], $year_generate = null) : Object{
|
|
switch($Month){
|
|
case '01': return $audit_backdate = StokAudit1::on($cawangan['mysql'])->where('tahun',$year_generate);
|
|
break;
|
|
case '02': return $audit_backdate = StokAudit2::on($cawangan['mysql'])->where('tahun',$year_generate);
|
|
break;
|
|
case '03': return $audit_backdate = StokAudit3::on($cawangan['mysql'])->where('tahun',$year_generate);
|
|
break;
|
|
case '04': return $audit_backdate = StokAudit4::on($cawangan['mysql'])->where('tahun',$year_generate);
|
|
break;
|
|
case '05': return $audit_backdate = StokAudit5::on($cawangan['mysql'])->where('tahun',$year_generate);
|
|
break;
|
|
case '06': return $audit_backdate = StokAudit6::on($cawangan['mysql'])->where('tahun',$year_generate);
|
|
break;
|
|
case '07': return $audit_backdate = StokAudit7::on($cawangan['mysql'])->where('tahun',$year_generate);
|
|
break;
|
|
case '08': return $audit_backdate = StokAudit8::on($cawangan['mysql'])->where('tahun',$year_generate);
|
|
break;
|
|
case '09': return $audit_backdate = StokAudit9::on($cawangan['mysql'])->where('tahun',$year_generate);
|
|
break;
|
|
case '10': return $audit_backdate = StokAudit10::on($cawangan['mysql'])->where('tahun',$year_generate);
|
|
break;
|
|
case '11': return $audit_backdate = StokAudit11::on($cawangan['mysql'])->where('tahun',$year_generate);
|
|
break;
|
|
case '12': return $audit_backdate = StokAudit12::on($cawangan['mysql'])->where('tahun',$year_generate);
|
|
break;
|
|
}
|
|
}
|
|
|
|
public function CalculationPendapatanTerakru(Request $request)
|
|
{
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
|
|
|
|
$date = new Carbon($request->tarikh);
|
|
|
|
$current = Carbon::now();
|
|
$current = new Carbon();
|
|
$tarikh = new Carbon($request->tarikh);
|
|
|
|
$date_sebelum = clone $date;
|
|
$determine_past = new Carbon($request->tarikh);
|
|
$date_sebelum = $date_sebelum->firstOfMonth();
|
|
$month_sebelum = $date_sebelum->subMonth()->format('m');
|
|
$month_sekarang = $date->format('m');
|
|
$year_generate = $date->format('Y');
|
|
$haripertama = $date->firstOfMonth();
|
|
$haripertama_extension = $haripertama->toDateString();
|
|
$datenow = new Carbon($request->tarikh);
|
|
$year = $current->year;
|
|
$month = $tarikh->month;
|
|
|
|
|
|
$intmonth_sebelum = (int)$month_sebelum;
|
|
$intmonth_sekarang = (int)$month_sekarang;
|
|
|
|
$latest_month_akrunet = AkruNet::on($cawangan['mysql'])
|
|
->where('tahun','=',$year_generate)
|
|
->latest('bulan')->first();
|
|
|
|
if($year_generate == 2022 && $intmonth_sebelum > 4)
|
|
{
|
|
$result_audit_backdate = $this->StokAuditGenerateTerakru($month_sebelum,$cawangan,$year_generate);
|
|
}else if($year_generate > 2022 && $intmonth_sekarang == 1){
|
|
$previousYear = Carbon::now()->subYears(1);
|
|
$result_audit_backdate = $this->StokAuditGenerateTerakru('12',$cawangan,$previousYear->year);
|
|
}else{
|
|
$result_audit_backdate = $this->StokAuditGenerateTerakru($month_sebelum,$cawangan,$year_generate);
|
|
}
|
|
|
|
$get_norujukan = Gadai::on($cawangan['mysql'])
|
|
->selectRaw("norujukan,CASE WHEN (YEAR(t_gadai) = YEAR(t_update) and MONTH(t_gadai) = MONTH(t_update)) THEN '1' ELSE '0' END AS result")
|
|
->whereNotNull('hargajualan')
|
|
->having('result','=',1)
|
|
->whereYear('t_gadai','=',$year)
|
|
//->whereMonth('t_gadai','>',7)
|
|
->whereMonth('t_gadai','=',$month)
|
|
->where('sttebus','<>','')
|
|
->pluck('norujukan');
|
|
|
|
$sum_keun_tebus = Transaction::on('mysql7')
|
|
->leftJoin('transaksi_keuntungan as trans', function($join)
|
|
{
|
|
$join->on('transaction.norujukan', '=', 'trans.norujukan');
|
|
$join->on('transaction.created_at', '=', 'trans.tarikh_bayaran');
|
|
})
|
|
->whereIn('trans.norujukan',$get_norujukan)
|
|
->where('transaction.trans_type','T')
|
|
->sum('keuntungan_rebet');
|
|
|
|
$sum_keun_ansuran = Transaction::on('mysql7')
|
|
->leftJoin('transaksi_keuntungan as trans', function($join)
|
|
{
|
|
$join->on('transaction.norujukan', '=', 'trans.norujukan');
|
|
$join->on('transaction.created_at', '=', 'trans.tarikh_bayaran');
|
|
})
|
|
->whereIn('trans.norujukan',$get_norujukan)
|
|
->where('transaction.trans_type','A')
|
|
->sum('bayaran_keuntungan');
|
|
|
|
$total = $sum_keun_tebus + $sum_keun_ansuran;
|
|
|
|
if(!$determine_past->isToday()){
|
|
$calculate_month = (int)$month_sekarang - $latest_month_akrunet->bulan;
|
|
|
|
if($calculate_month > 1){
|
|
return 'ERR_MONTH_SEBELUM';
|
|
}else if($calculate_month == 1){
|
|
$jumlahakru = AkruNet::on($cawangan['mysql'])
|
|
->sum('jumlah');
|
|
}else if($calculate_month < 0){
|
|
$jumlahakru = AkruNet::on($cawangan['mysql'])
|
|
->where('bulan','<=',$intmonth_sekarang)
|
|
->sum('jumlah');
|
|
|
|
return response()->json($jumlahakru);
|
|
}else if($calculate_month == 0)
|
|
{
|
|
$jumlahakru = AkruNet::on($cawangan['mysql'])
|
|
->where('bulan','<',$intmonth_sekarang)
|
|
->sum('jumlah');
|
|
}
|
|
}else{
|
|
$calculate_month = 0;
|
|
|
|
$jumlahakru = AkruNet::on($cawangan['mysql'])
|
|
->where('bulan','<',$intmonth_sekarang)
|
|
->where('tahun', $current->year)
|
|
->sum('jumlah');
|
|
}
|
|
|
|
|
|
if($determine_past->isToday())
|
|
{
|
|
$audit_now = Gadai::on($cawangan['mysql'])
|
|
->where([['tagpalsu','=',0],['t_gadai','<=',$request->tarikh],['sttebus','=','']])
|
|
->orWhere([['tagpalsu','=',0],['t_update','>',$request->tarikh],['sttebus','!=',''],['t_gadai','<=',$request->tarikh]])
|
|
->orderBy('t_gadai', 'ASC')
|
|
->orderBy('sirig', 'ASC');
|
|
|
|
$totaltunggakan_now = $audit_now->sum('tunggakan');
|
|
$totaltunggakan_sebelum = $result_audit_backdate->sum('upahblmbyar');
|
|
|
|
$request_dibina = new \Illuminate\Http\Request([
|
|
'mula' => $haripertama_extension,
|
|
'hingga' => $datenow->toDateString(),
|
|
'kodcaw' => $request->kodcaw,
|
|
]);
|
|
|
|
$calculation_keuntungan_sebenar = $this->untungrugicalculationLejer($request->kodcaw,$request_dibina);
|
|
$upah_diterima = $calculation_keuntungan_sebenar->getContent();
|
|
$calculation = $totaltunggakan_sebelum - $upah_diterima;
|
|
$accrual_net = $totaltunggakan_now - $calculation;
|
|
|
|
if($calculate_month <= 1){
|
|
$available_akru = AkruNet::on($cawangan['mysql'])
|
|
->where('bulan', (int)$month_sekarang)
|
|
->where('tahun', $current->year)
|
|
->get()->toArray();
|
|
|
|
if(sizeof($available_akru) == 0)
|
|
{
|
|
$akrunet = new AkruNet();
|
|
$akrunet->setConnection($cawangan['mysql']);
|
|
$akrunet->tahun = $current->year;
|
|
$akrunet->bulan = $tarikh->month;
|
|
$akrunet->jumlah = ($accrual_net - $total);
|
|
$akrunet->save();
|
|
}else{
|
|
if($available_akru[0]['jumlah'] !== ($accrual_net - $total))
|
|
{
|
|
AkruNet::on($cawangan['mysql'])->where('bulan','=',(int)$month_sekarang)
|
|
->update(['jumlah' => ($accrual_net - $total)]);
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
//dd($jumlahakru,$accrual_net,$total);
|
|
$total_accrual_net = $jumlahakru + ($accrual_net - $total);
|
|
|
|
}else{
|
|
|
|
|
|
$result_audit_stated = $this->StokAuditGenerateTerakru($month_sekarang,$cawangan,$year_generate);
|
|
|
|
$totaltunggakan_now = $result_audit_stated->sum('upahblmbyar');
|
|
$totaltunggakan_sebelum = $result_audit_backdate->sum('upahblmbyar');
|
|
|
|
$request_dibina = new \Illuminate\Http\Request([
|
|
'mula' => $haripertama_extension,
|
|
'hingga' => $date->endOfMonth()->toDateString(),
|
|
'kodcaw' => $request->kodcaw,
|
|
]);
|
|
|
|
$calculation_keuntungan_sebenar = $this->untungrugicalculationLejer($request->kodcaw,$request_dibina);
|
|
$calculation_upahsimpan = $this->calculationKeuntunganSebenarLejer($request->kodcaw,$request_dibina);
|
|
|
|
$upah_diterima = $calculation_keuntungan_sebenar->getContent() + $calculation_upahsimpan->getContent();
|
|
$calculation = $totaltunggakan_sebelum - $upah_diterima;
|
|
$accrual_net = $totaltunggakan_now - $calculation;
|
|
|
|
if($calculate_month <= 1){
|
|
$available_akru = AkruNet::on($cawangan['mysql'])
|
|
->where('bulan', (int)$month_sekarang)
|
|
->get()->toArray();
|
|
|
|
if(sizeof($available_akru) == 0)
|
|
{
|
|
$akrunet = new AkruNet();
|
|
$akrunet->setConnection($cawangan['mysql']);
|
|
$akrunet->tahun = $current->year;
|
|
$akrunet->bulan = $tarikh->month;
|
|
$akrunet->jumlah = ($accrual_net - $total);
|
|
$akrunet->save();
|
|
}
|
|
}
|
|
|
|
$total_accrual_net = $jumlahakru + ($accrual_net - $total);
|
|
}
|
|
|
|
return response()->json($total_accrual_net);
|
|
}
|
|
|
|
}
|