kodcaw); $daritempoh = $request->daritempoh; $hinggatempoh = $request->hinggatempoh; $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], ]) ->orderBy('t_gadai', 'ASC') ->orderBy('sirig', 'ASC'); // 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') ->get(); // dd($gadainokp); 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', 'like', '%' . $cal['nokp'] . '%') ->get(); $checkingnokp = null; foreach ($listsag as $index2 => $cal2) { if ($cal2) { $checkingnokp = BlastWasap::on('mysql7') ->where('nokp', '=', $cal['nokp']) ->where('norujukan', '=', $cal2['norujukan']) ->where('kodcaw', '=', $kodcaw) ->first(); } } $gadainokp[$index1]['info'] = $customer; $gadainokp[$index1]['listsag'] = $listsag; $gadainokp[$index1]['blasted'] = $checkingnokp; } // 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, ]; return response()->json($arrayrekod, 200); } public function blastwasap($kodcaw,Request $request) { $current = Carbon::now(); $current = new Carbon(); $daritempoh = $request->daritempoh; $hinggatempoh = $request->hinggatempoh; $namapengguna = $request->namapengguna; $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first(); $cawangan_detail = CawanganDetail::on($cawangan['mysql'])->first(); $caw_name = $cawangan->details_caw; $nofoncaw = $cawangan_detail->notel; // dd($cawangan_detail->notel); $audit = Gadai::on($cawangan['mysql']) ->where([['tagpalsu','=',0],['tempoh','>=',$daritempoh],['tempoh','<=',$hinggatempoh],['sttebus','=',''],['taglel','=',0]]) ->orderBy('t_gadai', 'ASC') ->orderBy('sirig', 'ASC'); // ->get(); // dd($audit); $rekodaudit = $audit->get(); $arraynorujukan = $audit->pluck('norujukan')->toArray(); $keybynorujukan = $rekodaudit->keyBy('norujukan'); $gadainokp = Gadai::on($cawangan['mysql'])->whereIn('norujukan', $arraynorujukan) ->select('nokp') ->groupBy('nokp') ->get(); $gadai_all_groupby_nokp = $rekodaudit->groupBy('nokp'); // dd($gadai_all_groupby_nokp); // dd($gadainokp); foreach($gadainokp as $index1=>$cal){ // dd($cal->nokp); if($gadai_all_groupby_nokp[$cal->nokp]){ $gadainokp[$index1]['gadai'] = $gadai_all_groupby_nokp[$cal->nokp]; } // dd($gadainokp[$index1]['gadai'][$index1]['norujukan']); $customer = Customer::on('mysql7')->where('kpbaru','=',$cal['nokp']) ->orWhere('kplama','=',$cal['nokp']) ->first(); $nokp=$cal['nokp']; foreach($gadainokp[$index1]['gadai'] as $index1=>$cal3){ $checkingnokp = BlastWasap::on('mysql7') ->where('nokp','=',$cal['nokp']) ->where('norujukan','=',$cal3->norujukan) ->where('kodcaw','=',$kodcaw) ->first(); if(!$checkingnokp){ if($customer->telefon != 'null'){ $telefon=$customer->telefon; //log auditrail $audit = new Audit(); $audit->users = $namapengguna; $audit->actions = 'Blast Whatsapp & SMS'; $audit->norujukan = $cal3->norujukan; $audit->new_data = $customer->telefon; $audit->old_data = $nokp; $audit->kodcaw = $kodcaw; $audit->created_at = $current; $audit->updated_at = $current; $audit->save(); dispatch(new WhatsappPelangganSAGLAMA($nokp,$customer->telefon,$caw_name,$nofoncaw,$kodcaw,$cal3->norujukan,$cal3->tempoh)); dispatch(new SMSPelangganSAGLAMA($nokp,$customer->telefon,$caw_name,$nofoncaw,$kodcaw,$cal3->norujukan,$cal3->tempoh)); } } else{ return response()->json('failed'); } } } return response()->json('success'); } public function blastwasapbysag($kodcaw,Request $request) { $current = Carbon::now(); $current = new Carbon(); $daritempoh = $request->daritempoh; $hinggatempoh = $request->hinggatempoh; $namapengguna = $request->namapengguna; $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first(); $cawangan_detail = CawanganDetail::on($cawangan['mysql'])->first(); $caw_name = $cawangan->details_caw; $nofoncaw = $cawangan_detail->notel; $audit = Gadai::on($cawangan['mysql']) ->where([['tagpalsu','=',0],['tempoh','>=',$daritempoh],['tempoh','<=',$hinggatempoh],['sttebus','=',''],['taglel','=',0]]) ->orderBy('t_gadai', 'ASC') ->orderBy('sirig', 'ASC'); $rekodaudit = $audit->get(); $arraynorujukan = $audit->pluck('norujukan')->toArray(); $keybynorujukan = $rekodaudit->keyBy('norujukan'); $gadainokp = Gadai::on($cawangan['mysql'])->whereIn('norujukan', $arraynorujukan) // ->select('nokp') // ->groupBy('nokp') ->get(); // dd($gadainokp); $gadai_all_groupby_nokp = $rekodaudit->groupBy('nokp'); foreach($gadainokp as $index1=>$cal){ // dd($cal->nokp); if($gadai_all_groupby_nokp[$cal->nokp]){ $gadainokp[$index1]['gadai'] = $gadai_all_groupby_nokp[$cal->nokp]; } // dd($gadainokp[$index1]['gadai'][$index1]['norujukan']); $customer = Customer::on('mysql7')->where('kpbaru','=',$cal['nokp']) ->orWhere('kplama','=',$cal['nokp']) ->first(); $nokp=$cal['nokp']; // foreach($gadainokp[$index1]['gadai'] as $index1=>$cal3){ $checkingnokp = BlastWasap::on('mysql7') ->where('nokp','=',$cal['nokp']) ->where('norujukan','=',$cal->norujukan) ->where('kodcaw','=',$kodcaw) ->first(); if(!$checkingnokp){ if($customer->telefon != 'null'){ $telefon=$customer->telefon; //log auditrail $audit = new Audit(); $audit->users = $namapengguna; $audit->actions = 'Blast Whatsapp & SMS'; $audit->norujukan = $cal->norujukan; $audit->new_data = $customer->telefon; $audit->old_data = $nokp; $audit->kodcaw = $kodcaw; $audit->created_at = $current; $audit->updated_at = $current; $audit->save(); dispatch(new WhatsappPelangganSAGLAMAbysag($nokp,$customer->telefon,$caw_name,$nofoncaw,$kodcaw,$cal->norujukan,$cal->tempoh,$cal->t_matang,$cal->t_matang1,$cal->lelong_tawarruq)); dispatch(new SMSPelangganSAGLAMAbysag($nokp,$customer->telefon,$caw_name,$nofoncaw,$kodcaw,$cal->norujukan,$cal->tempoh,$cal->t_matang,$cal->t_matang1,$cal->lelong_tawarruq)); } } else{ return response()->json('failed'); } // } } return response()->json('success'); } public function rekodblast($kodcaw,Request $request) { $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); $rekodblast = BlastWasap::on('mysql7') ->where('kodcaw','=',$kodcaw); $arraynorujukan = $rekodblast->pluck('norujukan')->toArray(); $rekodaudit = $rekodblast->orderBy('id', 'asc')->get(); $keybynorujukan = $rekodaudit->keyBy('norujukan'); $gadainokp = Gadai::on($cawangan['mysql'])->whereIn('norujukan', $arraynorujukan) ->select('nokp') ->groupBy('nokp') ->get(); $gadai_all_groupby_nokp = $rekodaudit->groupBy('nokp'); // dd($gadai_all_groupby_nokp); foreach($gadainokp as $index1=>$cal){ if($gadai_all_groupby_nokp[$cal->nokp]){ $gadainokp[$index1]['rekodblast'] = $gadai_all_groupby_nokp[$cal->nokp]; } $customer = Customer::on('mysql7')->where('kpbaru','=',$cal['nokp']) ->orWhere('kplama','=',$cal['nokp']) ->first(); $listsag = Gadai::on($cawangan['mysql'])->whereIn('norujukan', $arraynorujukan) ->where('nokp', 'like', '%'.$cal['nokp'].'%') ->get(); // dd($listsag); $gadainokp[$index1]['info'] = $customer; $gadainokp[$index1]['listsag'] = $listsag; } if($listsag ?? ''){ $totalrekod = $listsag->sum('pinjaman'); $totalberat = $listsag->sum('berat'); $totalnilaimarhun = $listsag->sum('nilaimarhun'); $totalpinjaman = $listsag->sum('pinjaman'); $totalbakipjm = $listsag->sum('bakipjm'); $totaltunggakan = $listsag->sum('tunggakan'); } $arrayrekod = ['rekod' => $gadainokp ?? null, 'total' => $totalrekod ?? null, 'totalberat' => $totalberat ?? null, 'totalnilaimarhun' => $totalnilaimarhun ?? null, 'totalpinjaman'=>$totalpinjaman ?? null, 'totalbakipjm'=>$totalbakipjm ?? null, 'totaltunggakan'=>$totaltunggakan ?? null]; return response()->json($arrayrekod,200); } public function rekodblastsms($kodcaw,Request $request) { $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); $rekodblast = BlastSMS::on('mysql7') ->where('kodcaw','=',$kodcaw); $arraynorujukan = $rekodblast->pluck('norujukan')->toArray(); $rekodaudit = $rekodblast->orderBy('id', 'asc')->get(); $keybynorujukan = $rekodaudit->keyBy('norujukan'); $gadainokp = Gadai::on($cawangan['mysql'])->whereIn('norujukan', $arraynorujukan) ->select('nokp') ->groupBy('nokp') ->get(); $gadai_all_groupby_nokp = $rekodaudit->groupBy('nokp'); // dd($gadai_all_groupby_nokp); foreach($gadainokp as $index1=>$cal){ if($gadai_all_groupby_nokp[$cal->nokp]){ $gadainokp[$index1]['rekodblast'] = $gadai_all_groupby_nokp[$cal->nokp]; } $customer = Customer::on('mysql7')->where('kpbaru','=',$cal['nokp']) ->orWhere('kplama','=',$cal['nokp']) ->first(); $listsag = Gadai::on($cawangan['mysql'])->whereIn('norujukan', $arraynorujukan) ->where('nokp', 'like', '%'.$cal['nokp'].'%') ->get(); // dd($listsag); $gadainokp[$index1]['info'] = $customer; $gadainokp[$index1]['listsag'] = $listsag; } if($listsag ?? ''){ $totalrekod = $listsag->sum('pinjaman'); $totalberat = $listsag->sum('berat'); $totalnilaimarhun = $listsag->sum('nilaimarhun'); $totalpinjaman = $listsag->sum('pinjaman'); $totalbakipjm = $listsag->sum('bakipjm'); $totaltunggakan = $listsag->sum('tunggakan'); } $arrayrekod = ['rekod' => $gadainokp ?? null, 'total' => $totalrekod ?? null, 'totalberat' => $totalberat ?? null, 'totalnilaimarhun' => $totalnilaimarhun ?? null, 'totalpinjaman'=>$totalpinjaman ?? null, 'totalbakipjm'=>$totalbakipjm ?? null, 'totaltunggakan'=>$totaltunggakan ?? null]; return response()->json($arrayrekod,200); } }