Merged in izzati-feat-agama-bangsa (pull request #294)

tambah bangsa dan agama
This commit is contained in:
izzati zulkifli
2025-04-13 04:35:50 +00:00
+69 -18
View File
@@ -3080,37 +3080,88 @@ class AdminPageController extends Controller
public function BilanganPengadai(Request $request){ public function BilanganPengadai(Request $request)
{
$cawangan = Cawangan::on('mysql7')->where('kodcaw', $request->kodcaw)->first();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first(); $gadai = Gadai::on($cawangan['mysql'])
->where('t_gadai', '>=', $request->mula)
->where('t_gadai', '<=', $request->hingga)
->where('sttebus', '')
->select('nokp')
->groupBy('nokp')
->get();
$gadai_pluck_nokp = $gadai->pluck('nokp');
$jenis = $request->jenis;
$filter_value = $request->value ?? null;
$gadai = Gadai::on($cawangan['mysql']) $customers = [];
->where([['t_gadai','>=',$request->mula],['t_gadai','<=',$request->hingga]])
->where('sttebus','=','')
->select('nokp','sttebus')
->groupBy('nokp')->get();
$gadai_pluck_nokp = $gadai->pluck('nokp'); if ($jenis === 'pekerja') {
$customers = Customer::on('mysql7')
->selectRaw('pekerjaan.keterangan, COUNT(*) AS bilangangadai')
->whereIn('kpbaru', $gadai_pluck_nokp)
->orWhereIn('kplama', $gadai_pluck_nokp)
->join('pekerjaan', 'customer.kodkerja', '=', 'pekerjaan.kodkerja')
->groupBy('pekerjaan.kodkerja')
->get();
if($request->jenis == 'pekerja'){ } elseif ($jenis === 'agama') {
$agamaMap = [
'01' => 'Islam',
'02' => 'Hindu',
'03' => 'Buddha',
'04' => 'Kristian',
'05' => 'Lain-lain',
'' => 'Tiada Data',
];
$customers = Customer::on('mysql7') $query = Customer::on('mysql7')
->selectRaw('COUNT(*) AS bilangangadai') ->selectRaw('kodugama as keterangan, COUNT(*) as bilangangadai')
->addSelect(DB::connection($cawangan['mysql']) ->whereIn('kpbaru', $gadai_pluck_nokp)
->raw('keterangan as keterangan')) ->orWhereIn('kplama', $gadai_pluck_nokp);
->whereIn('kpbaru', $gadai_pluck_nokp)
->orWhereIn('kplama', $gadai_pluck_nokp)
->join('pekerjaan','customer.kodkerja','=','pekerjaan.kodkerja')
->groupBy('pekerjaan.kodkerja')
->get();
if ($filter_value) {
$query->where('kodugama', $filter_value); // contoh: '01'
} }
$customers = $query->groupBy('kodugama')->get();
foreach ($customers as $customer) {
$customer->keterangan = $agamaMap[$customer->keterangan] ?? $customer->keterangan;
}
} elseif ($jenis === 'bangsa') {
$bangsaMap = [
'M' => 'Melayu',
'C' => 'Cina',
'I' => 'India',
'L' => 'Lain-lain',
'' => 'Tiada Data',
];
$query = Customer::on('mysql7')
->selectRaw('bangsa as keterangan, COUNT(*) as bilangangadai')
->whereIn('kpbaru', $gadai_pluck_nokp)
->orWhereIn('kplama', $gadai_pluck_nokp);
if ($filter_value) {
$query->where('bangsa', $filter_value); // contoh: 'M'
}
$customers = $query->groupBy('bangsa')->get();
foreach ($customers as $customer) {
$customer->keterangan = $bangsaMap[$customer->keterangan] ?? $customer->keterangan;
}
}
return response()->json($customers); return response()->json($customers);
} }
public function AkruKeuntunganSebenar(Request $request){ public function AkruKeuntunganSebenar(Request $request){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first(); $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();