Merged in izzati-hotfix-laporan-SA-filtered (pull request #336)

update stok audit khas blast sms)
This commit is contained in:
izzati zulkifli
2025-08-07 03:45:44 +00:00
+66 -31
View File
@@ -51,16 +51,49 @@ class StokAuditController extends Controller
// dd($request->kodcaw);
$daritempoh = $request->daritempoh;
$hinggatempoh = $request->hinggatempoh;
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$cawangan = Cawangan::on('mysql7')->where('kodcaw', '=', $request->kodcaw)->first();
// Query asal gadai
$audit = Gadai::on($cawangan['mysql'])
->where([['tagpalsu','=',0],['tempoh','>=',$daritempoh],['tempoh','<=',$hinggatempoh],['sttebus','=',''],['taglel','=',0]])
->where([
['tagpalsu', '=', 0],
['tempoh', '>=', $daritempoh],
['tempoh', '<=', $hinggatempoh],
['sttebus', '=', ''],
['taglel', '=', 0],
])
->orderBy('t_gadai', 'ASC')
->orderBy('sirig', 'ASC');
// ->get();
// dd($audit);
$arraynorujukan = $audit->pluck('norujukan')->toArray();
$rekodaudit = $audit->get();
// Dapatkan tarikh terkini untuk trans_type 'T' dan 'A'
$tarikhTerkiniT = Transaction::on('mysql7')
->where('trans_type', 'T')
->max('created_at');
$tarikhTerkiniA = Transaction::on('mysql7')
->where('trans_type', 'A')
->max('created_at');
// Filter audit berdasarkan tiada transaksi T/A pada tarikh terkini
$rekodaudit = $audit->get()->filter(function ($item) use ($cawangan, $tarikhTerkiniT, $tarikhTerkiniA) {
$adaTebusTerkini = Transaction::on('mysql7')
->where('norujukan', $item->norujukan)
->where('trans_type', 'T')
->whereDate('created_at', '>=', date('Y-m-d', strtotime($tarikhTerkiniT)))
->exists();
$adaAnsuranTerkini = Transaction::on('mysql7')
->where('norujukan', $item->norujukan)
->where('trans_type', 'A')
->whereDate('created_at', '>=', date('Y-m-d', strtotime($tarikhTerkiniA)))
->exists();
return !$adaTebusTerkini && !$adaAnsuranTerkini;
})->values();
// Gunakan hanya norujukan yang dah ditapis
$arraynorujukan = $rekodaudit->pluck('norujukan')->toArray();
$gadainokp = Gadai::on($cawangan['mysql'])->whereIn('norujukan', $arraynorujukan)
->select('nokp')
->groupBy('nokp')
@@ -68,28 +101,23 @@ class StokAuditController extends Controller
// dd($gadainokp);
foreach($gadainokp as $index1=>$cal){
$customer = Customer::on('mysql7')->where('kpbaru','=',$cal['nokp'])
->orWhere('kplama','=',$cal['nokp'])
foreach ($gadainokp as $index1 => $cal) {
$customer = Customer::on('mysql7')->where('kpbaru', '=', $cal['nokp'])
->orWhere('kplama', '=', $cal['nokp'])
->first();
$listsag = Gadai::on($cawangan['mysql'])->whereIn('norujukan', $arraynorujukan)
// ->where('nokp','=',$cal['nokp'])
->where('nokp', 'like', '%'.$cal['nokp'].'%')
->where('nokp', 'like', '%' . $cal['nokp'] . '%')
->get();
foreach($listsag as $index2=>$cal2){
if($cal2){
$checkingnokp = null;
foreach ($listsag as $index2 => $cal2) {
if ($cal2) {
$checkingnokp = BlastWasap::on('mysql7')
->where('nokp','=',$cal['nokp'])
->where('norujukan','=',$cal2['norujukan'])
->where('kodcaw','=',$kodcaw)
->where('nokp', '=', $cal['nokp'])
->where('norujukan', '=', $cal2['norujukan'])
->where('kodcaw', '=', $kodcaw)
->first();
// $gadainokp[$index1]['blasted'] = $checkingnokp;
}
}
@@ -97,17 +125,24 @@ class StokAuditController extends Controller
$gadainokp[$index1]['listsag'] = $listsag;
$gadainokp[$index1]['blasted'] = $checkingnokp;
}
$totalrekod = $audit->sum('pinjaman');
$totalberat = $audit->sum('berat');
$totalnilaimarhun = $audit->sum('nilaimarhun');
$totalpinjaman = $audit->sum('pinjaman');
$totalbakipjm = $audit->sum('bakipjm');
$totaltunggakan = $audit->sum('tunggakan');
// Total dikira berdasarkan hasil audit yang telah ditapis
$totalrekod = $rekodaudit->sum('pinjaman');
$totalberat = $rekodaudit->sum('berat');
$totalnilaimarhun = $rekodaudit->sum('nilaimarhun');
$totalpinjaman = $rekodaudit->sum('pinjaman');
$totalbakipjm = $rekodaudit->sum('bakipjm');
$totaltunggakan = $rekodaudit->sum('tunggakan');
$arrayrekod = ['rekod' => $gadainokp, 'total' => $totalrekod,'totalberat' => $totalberat,'totalnilaimarhun' => $totalnilaimarhun,'totalpinjaman'=>$totalpinjaman,'totalbakipjm'=>$totalbakipjm,'totaltunggakan'=>$totaltunggakan];
// dd($arrayrekod);
return response()->json($arrayrekod,200);
$arrayrekod = [
'rekod' => $gadainokp,
'total' => $totalrekod,
'totalberat' => $totalberat,
'totalnilaimarhun' => $totalnilaimarhun,
'totalpinjaman' => $totalpinjaman,
'totalbakipjm' => $totalbakipjm,
'totaltunggakan' => $totaltunggakan,
];
return response()->json($arrayrekod, 200);
}