updated for previous issues about tuntutbaki duplicate and customer audit
This commit is contained in:
@@ -45,6 +45,7 @@ use App\StokAudit12;
|
||||
use App\AuditCustomer;
|
||||
|
||||
use DB;
|
||||
use DateTime;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Pagination\Paginator;
|
||||
use Illuminate\Support\Collection;
|
||||
@@ -2947,4 +2948,254 @@ class AdminPageController extends Controller
|
||||
|
||||
return response()->json($gadai);
|
||||
}
|
||||
|
||||
public function AkruKeuntunganSebenar(Request $request){
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
|
||||
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
|
||||
$tarikh = new Carbon($request->tarikh);
|
||||
$year = $current->year;
|
||||
$month = $tarikh->month;
|
||||
|
||||
$test = Gadai::on($cawangan['mysql'])
|
||||
->whereBetween('tempoh',[0.5,1])
|
||||
->where('sttebus','<>','')
|
||||
->whereYear('t_gadai',$current->year())
|
||||
->pluck('norujukan');
|
||||
|
||||
$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','<=',$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;
|
||||
|
||||
|
||||
return response()->json($total);
|
||||
}
|
||||
|
||||
public function getLaporanGadaiAllCaw(Request $request){
|
||||
|
||||
$cawangan_all = Cawangan::on('mysql7')->get();
|
||||
$arraygadai = [];
|
||||
|
||||
foreach($cawangan_all as $index=>$cawangan){
|
||||
|
||||
|
||||
// gadaian
|
||||
$gadai=Gadai::on($cawangan['mysql'])
|
||||
->where([['t_gadai','>=',$request->mula_date],['t_gadai','<=',$request->hingga_date]]);
|
||||
|
||||
$jumlah_gadai = $gadai->sum('pinjaman');
|
||||
|
||||
$data_gadai = $gadai->get();
|
||||
|
||||
$nokp_gadai = $gadai->distinct('nokp') ;
|
||||
$jum_org_gadai = $nokp_gadai->count('nokp');
|
||||
|
||||
$jum_surat_gadai = $data_gadai->count('norujukan');
|
||||
|
||||
//penebusan (Tebus + Lelong + Ansuran)
|
||||
|
||||
$myDateTime = DateTime::createFromFormat('Y-m-d', $request->hingga_date);
|
||||
$datez = $myDateTime->modify('+1 day')->format('Y-m-d');
|
||||
|
||||
|
||||
$tebus = Gadai::on($cawangan['mysql'])
|
||||
->where('sttebus','!=','')
|
||||
->where([['t_update','>=',$request->mula_date],['t_update','<=',$request->hingga_date]]);
|
||||
|
||||
$jum_tebus = $tebus->sum('bakipjm');
|
||||
// dd($jum_tebus) ;
|
||||
|
||||
$orgtebus = Gadai::on($cawangan['mysql'])
|
||||
->where('sttebus','=','T')
|
||||
->where([['t_update','>=',$request->mula_date],['t_update','<=',$request->hingga_date]]);
|
||||
|
||||
$jum_surat_t = $orgtebus->count('norujukan');
|
||||
|
||||
$nokp_tebus = $orgtebus->distinct('nokp') ;
|
||||
$jum_org_tebus = $nokp_tebus->count('nokp');
|
||||
|
||||
|
||||
$ansuran = Transaction::on('mysql7')
|
||||
->leftJoin('transaksi_keuntungan', function($join)
|
||||
{
|
||||
$join->on('transaction.norujukan', '=', 'transaksi_keuntungan.norujukan');
|
||||
$join->on('transaction.created_at', '=', 'transaksi_keuntungan.tarikh_bayaran');
|
||||
})
|
||||
->where('trans_type','=','A')
|
||||
->where('transaksi_keuntungan.kodcaw','=',$cawangan['kodcaw'])
|
||||
->where([['tarikh_bayaran','>=',$request->mula_date],['tarikh_bayaran','<=', $datez]]);
|
||||
|
||||
$jum_ansuran = $ansuran->sum('transaksi_keuntungan.bayaran_pembiayaan');
|
||||
|
||||
$jum_penebusan = $jum_tebus + $jum_ansuran ;
|
||||
|
||||
|
||||
|
||||
|
||||
//Upah tebus (KEUNTUNGAN)
|
||||
|
||||
$myDateTime = DateTime::createFromFormat('Y-m-d', $request->hingga_date);
|
||||
$datez = $myDateTime->modify('+1 day')->format('Y-m-d');
|
||||
|
||||
|
||||
$lelongupahsimpan = Lelong::on($cawangan['mysql'])
|
||||
|
||||
->where([['t_jual','>=',$request->mula_date],['t_jual','<=',$request->hingga_date]]);
|
||||
|
||||
$jum_lelongupahsimpan = $lelongupahsimpan->sum('bakiupah');
|
||||
|
||||
|
||||
|
||||
$upahtebus = Tebus::on($cawangan['mysql'])
|
||||
->rightJoin('gadai', 'gadai.norujukan', '=', 'tebus.norujukan')
|
||||
->where([['tebus.jenistebus','=','T'],['gadai.hargajualan','=',NULL]])
|
||||
->where([['t_tebus','>=',$request->mula_date],['t_tebus','<=',$request->hingga_date]]);
|
||||
|
||||
$jum_upahtebus = $upahtebus->sum('tebus.bakiupah');
|
||||
|
||||
|
||||
$advansur = Advansur::on($cawangan['mysql'])
|
||||
->where([['tarikh','>=',$request->mula_date],['tarikh','<=',$request->hingga_date]]);
|
||||
|
||||
$jum_advansur = $advansur->sum('upahDibayar');
|
||||
|
||||
|
||||
|
||||
$ansuranupah = Transaction::on('mysql7')
|
||||
->leftJoin('transaksi_keuntungan', function($join)
|
||||
{
|
||||
$join->on('transaction.norujukan', '=', 'transaksi_keuntungan.norujukan');
|
||||
$join->on('transaction.created_at', '=', 'transaksi_keuntungan.tarikh_bayaran');
|
||||
})
|
||||
->where('trans_type','=','A')
|
||||
->where('transaksi_keuntungan.kodcaw','=',$cawangan['kodcaw'])
|
||||
->where([['tarikh_bayaran','>=',$request->mula_date],['tarikh_bayaran','<=',$datez]]);
|
||||
|
||||
$jum_ansuranupah = $ansuranupah->sum('transaksi_keuntungan.bayaran_keuntungan');
|
||||
|
||||
|
||||
$upahtawarruq = Transaction::on('mysql7')
|
||||
->leftJoin('transaksi_keuntungan', function($join)
|
||||
{
|
||||
$join->on('transaction.norujukan', '=', 'transaksi_keuntungan.norujukan');
|
||||
$join->on('transaction.created_at', '=', 'transaksi_keuntungan.tarikh_bayaran');
|
||||
})
|
||||
->where('trans_type','!=','A')
|
||||
->where('transaksi_keuntungan.kodcaw','=',$cawangan['kodcaw'])
|
||||
->where([['tarikh_bayaran','>=',$request->mula_date],['tarikh_bayaran','<=',$datez]]);
|
||||
|
||||
$jum_upahtawarruq = $upahtawarruq->sum('transaksi_keuntungan.keuntungan_rebet');
|
||||
|
||||
|
||||
$jumlah_upah = $jum_lelongupahsimpan + $jum_upahtebus + $jum_advansur + $jum_upahtawarruq;
|
||||
$jum_keseluruhan_upah = $jumlah_upah + $jum_ansuranupah;
|
||||
|
||||
$jum_pinjaman_semasa = $jumlah_gadai - $jum_penebusan;
|
||||
|
||||
|
||||
//baki awal dan baki akhir
|
||||
|
||||
$myDateMonth = DateTime::createFromFormat('Y-m-d', $request->mula_date);
|
||||
$month = $myDateMonth->modify('-1 day')->format('m');
|
||||
// dd($month);
|
||||
|
||||
$myDateYear = DateTime::createFromFormat('Y-m-d', $request->mula_date);
|
||||
$year = $myDateYear->format('Y');
|
||||
// dd($year);
|
||||
|
||||
if($month == 1){
|
||||
$audit = StokAudit1::on($cawangan['mysql'])->where('tahun',$year);
|
||||
}elseif($month == 2){
|
||||
$audit = StokAudit2::on($cawangan['mysql'])->where('tahun',$year);
|
||||
}elseif($month == 3){
|
||||
$audit = StokAudit3::on($cawangan['mysql'])->where('tahun',$year);
|
||||
}elseif($month == 4){
|
||||
$audit = StokAudit4::on($cawangan['mysql'])->where('tahun',$year);
|
||||
}elseif($month == 5){
|
||||
$audit = StokAudit5::on($cawangan['mysql'])->where('tahun',$year);
|
||||
}elseif($month == 6){
|
||||
$audit = StokAudit6::on($cawangan['mysql'])->where('tahun',$year);
|
||||
}elseif($month == 7){
|
||||
$audit = StokAudit7::on($cawangan['mysql'])->where('tahun',$year);
|
||||
}elseif($month == 8){
|
||||
$audit = StokAudit8::on($cawangan['mysql'])->where('tahun',$year);
|
||||
}elseif($month == 9){
|
||||
$audit = StokAudit9::on($cawangan['mysql'])->where('tahun',$year);
|
||||
}elseif($month == 10){
|
||||
$audit = StokAudit10::on($cawangan['mysql'])->where('tahun',$year);
|
||||
}elseif($month == 11){
|
||||
$audit = StokAudit11::on($cawangan['mysql'])->where('tahun',$year);
|
||||
}elseif($month == 12){
|
||||
$audit = StokAudit12::on($cawangan['mysql'])->where('tahun',$year);
|
||||
}
|
||||
|
||||
$rekodaudit = $audit->get();
|
||||
$bakiawal = $audit->sum('bakipjm');
|
||||
$bakiakhir = $bakiawal + $jumlah_gadai - $jum_penebusan;
|
||||
|
||||
//pelanggan baru
|
||||
$pelanggan_baru = Customer::on('mysql7')
|
||||
->where('kodcaw','=',$cawangan['kodcaw'])
|
||||
->where([['tarikhdaftar','>=',$request->mula_date],['tarikhdaftar','<=',$request->hingga_date]]);
|
||||
|
||||
$bil_pelanggan_baru = $pelanggan_baru->count('id');
|
||||
|
||||
|
||||
array_push($arraygadai,[
|
||||
"data_gadai" => $data_gadai,
|
||||
"cawangan" => $cawangan['details_caw'],
|
||||
"cawangankod" => $cawangan['kodcaw'],
|
||||
"jum_org_gadai" => $jum_org_gadai,
|
||||
"jumlah_gadai"=> $jumlah_gadai,
|
||||
"jum_surat_gadai"=>$jum_surat_gadai,
|
||||
"jum_surat_t" => $jum_surat_t,
|
||||
"jum_org_tebus" => $jum_org_tebus,
|
||||
"jum_penebusan" => $jum_penebusan,
|
||||
"jum_pinjaman_semasa" => $jum_pinjaman_semasa,
|
||||
"bil_pelanggan_baru" => $bil_pelanggan_baru,
|
||||
"jumlah_upah" => $jumlah_upah,
|
||||
"jum_ansuranupah" => $jum_ansuranupah,
|
||||
"jum_keseluruhan_upah" => $jum_keseluruhan_upah,
|
||||
"bakiawal" => $bakiawal,
|
||||
"bakiakhir" => $bakiakhir
|
||||
]);
|
||||
|
||||
}
|
||||
// dd($jum_lelongupahsimpan, $jum_upahtebus, $jum_advansur, $jum_ansuranupah, $jum_upahtawarruq );
|
||||
|
||||
|
||||
return response()->json($arraygadai,200);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user