after a series of bug fixes plus Non MNO logic for Sender IDs, unfinished leave management and holiday modules

This commit is contained in:
Kwesi Banson Jnr
2025-03-19 10:33:04 +00:00
parent 6cede6d980
commit cf39ff2682
112 changed files with 26812 additions and 496 deletions

View File

@@ -15,8 +15,38 @@ use Carbon\Carbon;
class ReportsController extends Controller
{
class ReportsController extends Controller{
public function overview(){
$document_arr = \DB::table('general_documents')
->select(\DB::raw('count(*) as docs_count, category'))
->groupBy('category')
->get();
$client_docs = \DB::table('client_files')
->join('clients', 'clients.id', '=', 'client_files.client_id')
->select(\DB::raw('count(*) as docs_count, clients.name, client_files.client_id'))
->groupBy('clients.name', 'client_files.client_id')
->get();
$mno_docs = \DB::table('mno_files')
->join('network_operators', 'network_operators.id', '=', 'mno_files.mno_id')
->select(\DB::raw('count(*) as docs_count, network_operators.name, mno_files.mno_id'))
->groupBy('network_operators.name', 'mno_files.mno_id')
->get();
$data = [
'page_title' => 'Report Overview',
// 'vas_clients' => $vas_clients,
// 'domain_clients' => $domain_clients,
// 'recent_clients' => $recent_clients,
// 'user_activities' => $user_activities,
'current_user' => session('current_user'),
// 'client_docs' => $client_docs,
'mno_docs' => $mno_docs
];
return view('reports.overview', $data);
}
public function getRecentClients(){
$data = [
'page_title' => 'Recent Clients',
@@ -43,4 +73,70 @@ class ReportsController extends Controller
return response()->json($clients);
}
public function getUserActivities(){
#$user_activities = Models\UserActivity::where('user_id', '>', '1')->with('userInfo')->orderBy('created_at', 'DESC')->take(5)->get();
$data = [
'page_title' => 'User Activities',
'current_user' => session('current_user')
];
return view('reports.user-activities', $data);
}
public function getUserActivitiesJson(Request $request){
#$user_activities = Models\UserActivity::where('user_id', '>', '1')->with('userInfo')->orderBy('created_at', 'DESC')->take(5)->get();
$user_activities = \DB::table('user_activities')
->join('auth_users', 'auth_users.id', '=', 'user_activities.user_id')
->select('user_activities.id','auth_users.name', 'user_activities.content', 'user_activities.ip_address', 'user_activities.created_at',
'user_activities.updated_at')
->whereRaw("user_activities.type = 'staff'")
->orderBy('user_activities.created_at', 'DESC')
->get();
if($request->has('keyword')){
$keyword = $request->keyword;
$user_activities = \DB::table('user_activities')
->join('auth_users', 'auth_users.id', '=', 'user_activities.user_id')
->select('user_activities.id','auth_users.name', 'user_activities.content', 'user_activities.ip_address', 'user_activities.created_at', 'user_activities.updated_at')
->whereRaw("user_activities.name like '%$keyword%' or user_activities.ip_address like '%$keyword%' OR user_activities.created_at like '%$keyword%' OR user_activities.updated_at like '%$keyword%'")
->orderBy('user_activities.created_at', 'DESC')
->get();
// ->paginate(15);
}
return response()->json($user_activities);
}
public function getAmNewClients(){
// $new_clients = Models\Client::where()
}
public function getAmNewNotes(){
}
public function getClientsByService(){
$data = [
'page_title' => 'Clients By Service',
'current_user' => session('current_user')
];
return view('reports.clients-by-service', $data);
}
public function getClientsByServiceJson(){
$keyword = "USSD";
$clients = \DB::table('clients')
->join('auth_users AS aumngr', 'aumngr.id', '=', 'clients.auth_user_id')
->select('clients.name', 'clients.services', 'clients.status', 'clients.country', 'aumngr.name As accountMgr', 'clients.created_at')
->whereRaw("services like '%$keyword%'")
->orderBy('name', 'ASC')->get();
return response()->json($clients);
}
public function name(){
$list = ['first', 'second', 'third'];
// return $list[2];
print($list[2]);
}
}