162 lines
7.6 KiB
PHP
162 lines
7.6 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use App\Gadai;
|
|
use App\Tebus;
|
|
use App\Transaction;
|
|
use App\TransaksiKeuntungan;
|
|
use App\Cawangan;
|
|
use App\Customer;
|
|
use App\TuntutBaki;
|
|
use App\Panjar;
|
|
use App\Lelong;
|
|
use App\Advansur;
|
|
use App\Vault;
|
|
use App\Denominasi;
|
|
|
|
use Carbon\Carbon;
|
|
|
|
class LaporanController extends Controller
|
|
{
|
|
public function laporanHarian(Request $request){
|
|
$tarikh_request = $request->tarikh;
|
|
|
|
$startDate = Carbon::parse($tarikh_request);
|
|
$firstDay = $startDate->firstOfMonth();
|
|
$startDateYear = Carbon::parse($tarikh_request);
|
|
$firstDayYear = $startDateYear->firstOfYear();
|
|
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
|
|
$laporan_harian = [];
|
|
//a
|
|
$total_gadai = Gadai::on($cawangan['mysql'])->where('t_gadai','=',$request->tarikh)->sum('pinjaman');
|
|
$total_tebus = Tebus::on($cawangan['mysql'])->where('t_tebus','=',$request->tarikh)->sum('pinjaman');
|
|
$total_ansuran = Transaction::on('mysql7')->whereRaw('DATE(created_at) = ?',[$request->tarikh])->where([['trans_type','=','A'],['kodcaw','=',$request->kodcaw]])->sum('duit_masuk');
|
|
// $total_keuntungan = TransaksiKeuntungan::on('mysql7')->whereDate('tarikh_bayaran','=',$request->tarikh)->sum('bayaran_keuntungan');
|
|
$total_upah = Advansur::on($cawangan['mysql'])->where('tarikh','=',$request->tarikh)->sum('upahdibayar');
|
|
$total_keuntungantebus = Tebus::on($cawangan['mysql'])->where('t_tebus','=',$request->tarikh)->sum('bakiupah');
|
|
|
|
$total_keuntunganansuran = 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');
|
|
})
|
|
->whereDate('trans.created_at','=',$request->tarikh)
|
|
->where('trans.trans_type','=','A')
|
|
->groupBy('trans.id')
|
|
->sum('keuntungan_rebet');
|
|
|
|
// $total_ansuran = number_format($total_ansuran,2);
|
|
|
|
$total_keuntungan = floatval($total_upah) + floatval($total_keuntunganansuran) + floatval($total_keuntungantebus);
|
|
|
|
|
|
//b
|
|
$bilangan_gadai = Gadai::on($cawangan['mysql'])->where('t_gadai','=',$request->tarikh)->count();
|
|
$bilangan_tebus = Tebus::on($cawangan['mysql'])->where('t_tebus','=',$request->tarikh)->count();
|
|
$bilangan_ansuran = Transaction::on('mysql7')->whereRaw('DATE(created_at) = ?',[$request->tarikh])->where([['trans_type','=','A'],['kodcaw','=',$request->kodcaw]])->count();
|
|
$bilangan_customer_baru = Customer::on($cawangan['mysql'])->where('tarikhdaftar','=',$request->tarikh)->count();
|
|
|
|
//c
|
|
$petibesi_sistem = Vault::on($cawangan['mysql'])->where('tarikh','=', $request->tarikh)->sum('bakiakhir');
|
|
$petibesi_deno = Denominasi::on($cawangan['mysql'])->where('tarikh','=', $request->tarikh)->sum('txtjumlah');
|
|
|
|
//d
|
|
$panjar_harian = Panjar::on($cawangan['mysql'])->where('tarikh','=',$request->tarikh)->sum('bayaran');
|
|
$panjar_bulanan = Panjar::on($cawangan['mysql'])->where([['tarikh','<=',$request->tarikh],['tarikh','>=',$firstDay]])->sum('bayaran');
|
|
$panjar_tahunan = Panjar::on($cawangan['mysql'])->where([['tarikh','<=',$request->tarikh],['tarikh','>=',$firstDayYear]])->sum('bayaran');
|
|
|
|
//e
|
|
/* Imbang Duga */
|
|
|
|
|
|
|
|
/* Stok Audit */
|
|
|
|
$stokaudit = Gadai::on($cawangan['mysql'])
|
|
->where('tagpalsu','=',0)
|
|
->where([['t_gadai','<=',$request->tarikh],['sttebus','=','']])
|
|
->orWhere([['t_update','>',$request->tarikh],['sttebus','!=',''],['t_gadai','<=',$request->tarikh]])
|
|
->sum('pinjaman');
|
|
|
|
/* Kawalan Stok */
|
|
|
|
|
|
|
|
|
|
//f
|
|
$data_lelong = Lelong::on($cawangan['mysql'])->where('t_jual','=',$request->tarikh)->get();
|
|
$bilangan_lelong = Lelong::on($cawangan['mysql'])->where('t_jual','=',$request->tarikh)->count();
|
|
|
|
$cas_lelong = 0;
|
|
$jumlah_lelong = 0;
|
|
$baki_lelong = 0;
|
|
$rugi_lelong = 0;
|
|
|
|
foreach($data_lelong as $index=>$lelong){
|
|
if($lelong['baki'] >= 0){
|
|
$cas_lelong += $lelong['cajlelong'];
|
|
$jumlah_lelong += $lelong['hargajual'];
|
|
$baki_lelong += $lelong['baki'];
|
|
}elseif($lelong['baki'] < 0){
|
|
$cas_lelong += $lelong['cajlelong'];
|
|
$jumlah_lelong += $lelong['hargajual'];
|
|
$rugi_lelong += abs($lelong['baki']);
|
|
}
|
|
}
|
|
|
|
//g
|
|
$bayar_baki_lelong = TuntutBaki::on($cawangan['mysql'])->where('tarikh','=',$request->tarikh)->sum('jumlah');
|
|
|
|
//h
|
|
$gadai_70 = Gadai::on($cawangan['mysql'])->where([['t_gadai','=',$request->tarikh],['percentpinj','<=',70]])->sum('pinjaman');
|
|
$gadai_75 = Gadai::on($cawangan['mysql'])->where([['t_gadai','=',$request->tarikh],['percentpinj','>',70],['percentpinj','<=',75]])->sum('pinjaman');
|
|
$gadai_80 = Gadai::on($cawangan['mysql'])->where([['t_gadai','=',$request->tarikh],['percentpinj','>',75],['percentpinj','<=',80]])->sum('pinjaman');
|
|
|
|
$nilaimarhun_70 = Gadai::on($cawangan['mysql'])->where([['t_gadai','=',$request->tarikh],['percentpinj','<=',70]])->sum('nilaimarhun');
|
|
$nilaimarhun_75 = Gadai::on($cawangan['mysql'])->where([['t_gadai','=',$request->tarikh],['percentpinj','>',70],['percentpinj','<=',75]])->sum('nilaimarhun');
|
|
$nilaimarhun_80 = Gadai::on($cawangan['mysql'])->where([['t_gadai','=',$request->tarikh],['percentpinj','>',75],['percentpinj','<=',80]])->sum('nilaimarhun');
|
|
|
|
$bilangan_70 = Gadai::on($cawangan['mysql'])->where([['t_gadai','=',$request->tarikh],['percentpinj','<=',70]])->count();
|
|
$bilangan_75 = Gadai::on($cawangan['mysql'])->where([['t_gadai','=',$request->tarikh],['percentpinj','>',70],['percentpinj','<=',75]])->count();
|
|
$bilangan_80 = Gadai::on($cawangan['mysql'])->where([['t_gadai','=',$request->tarikh],['percentpinj','>',75],['percentpinj','<=',80]])->count();
|
|
|
|
array_push($laporan_harian,[
|
|
'total_gadai'=>$total_gadai,
|
|
'total_tebus'=>$total_tebus,
|
|
'total_ansuran'=>$total_ansuran,
|
|
'bilangan_gadai'=>$bilangan_gadai,
|
|
'bilangan_tebus'=>$bilangan_tebus,
|
|
'bilangan_ansuran'=>$bilangan_ansuran,
|
|
'bilangan_customer_baru'=>$bilangan_customer_baru,
|
|
'bayar_baki_lelong'=>$bayar_baki_lelong,
|
|
'gadai_70'=>$gadai_70,
|
|
'gadai_75'=>$gadai_75,
|
|
'gadai_80'=>$gadai_80,
|
|
'nilaimarhun_70'=>$nilaimarhun_70,
|
|
'nilaimarhun_75'=>$nilaimarhun_75,
|
|
'nilaimarhun_80'=>$nilaimarhun_80,
|
|
'bilangan_70'=>$bilangan_70,
|
|
'bilangan_75'=>$bilangan_75,
|
|
'bilangan_80'=>$bilangan_80,
|
|
'panjar_harian'=>$panjar_harian,
|
|
'panjar_bulanan'=>$panjar_bulanan,
|
|
'panjar_tahunan'=>$panjar_tahunan,
|
|
'bilangan_lelong'=>$bilangan_lelong,
|
|
'cas_lelong'=>$cas_lelong,
|
|
'jumlah_lelong'=>$jumlah_lelong,
|
|
'baki_lelong'=>$baki_lelong,
|
|
'rugi_lelong'=>$rugi_lelong,
|
|
'total_keuntungan'=>floatval($total_keuntungan),
|
|
'petibesi_sistem'=>$petibesi_sistem,
|
|
'petibesi_deno'=>$petibesi_deno,
|
|
'stokaudit'=>$stokaudit
|
|
|
|
]);
|
|
|
|
return response()->json($laporan_harian);
|
|
}
|
|
} |