FIX_salesTracker11
This commit is contained in:
parent
ab343bc210
commit
1d7ac9d7eb
@ -71,52 +71,59 @@ class SalesController extends BaseController
|
||||
*/
|
||||
private function getSalesStaffData(): array
|
||||
{
|
||||
$db = \Config\Database::connect();
|
||||
$db = \Config\Database::connect();
|
||||
$logged_user_id = get_session_userid();
|
||||
$role = get_role_id();
|
||||
$team_id = user_team();
|
||||
$role = get_role_id();
|
||||
$team_id = user_team();
|
||||
|
||||
$data = [
|
||||
'users' => [],
|
||||
'sales_manager_ids' => [],
|
||||
'sales_role' => ''
|
||||
'users' => [],
|
||||
'sales_manager_ids'=> [],
|
||||
'sales_role' => '',
|
||||
'nhance_branch_id' => null,
|
||||
'assigned_ids' => [],
|
||||
];
|
||||
|
||||
$row = $db->table('user_profiles')->select('*')
|
||||
->where('is_active', 1)->where('id', $logged_user_id)
|
||||
->get()->getRow();
|
||||
|
||||
$nhance_branch_id = $row ? $row->nhance_branch_id : null;
|
||||
|
||||
// Is the logged-in user a Sales Manager? (Role 4, Team 5)
|
||||
if ($role == 4 && in_array(5, $team_id)) {
|
||||
$data['sales_role'] = "Sales Manager";
|
||||
$row = $db->table('user_profiles')->select('*')
|
||||
->where('is_active', 1)->where('id', $logged_user_id)
|
||||
->get()->getRow();
|
||||
|
||||
$nhance_branch_id = $row ? $row->nhance_branch_id : null;
|
||||
$data['nhance_branch_id']= $nhance_branch_id;
|
||||
|
||||
// ── Sales Manager (Role 4, Team 5) ──────────────────────────
|
||||
if ($role == 4 && in_array(5, $team_id)) {
|
||||
|
||||
$data['sales_role'] = 'Sales Manager';
|
||||
$data['sales_manager_ids'] = [$logged_user_id];
|
||||
|
||||
$data['users'] = [
|
||||
$data['assigned_ids'] = [$logged_user_id];
|
||||
$data['users'] = [
|
||||
[
|
||||
'id' => $row->id,
|
||||
'first_name' => $row->first_name,
|
||||
'nhance_branch_id' => $nhance_branch_id
|
||||
'first_name' => $row->first_name,
|
||||
'last_name' => $row->last_name ?? '',
|
||||
'nhance_branch_id' => $nhance_branch_id,
|
||||
]
|
||||
];
|
||||
|
||||
}
|
||||
// Otherwise fetch ALL sales managers in this branch
|
||||
elseif (in_array($role,[1,5])) {
|
||||
$data['sales_role'] = "Sales Head";
|
||||
$data['users'] = $db->table('user_profiles up')
|
||||
->select('up.id, up.first_name, up.last_name, up.nhance_branch_id')
|
||||
->join('user_teams ut', 'ut.user_id = up.id')
|
||||
->where('up.is_active', 1)
|
||||
->where('ut.is_active', 1)
|
||||
->where('up.role', 4)
|
||||
->where('ut.team_id', 5)
|
||||
->where('up.nhance_branch_id', $nhance_branch_id)
|
||||
->get()
|
||||
->getResultArray();
|
||||
// ── Sales Head (Role 1 or 5) ─────────────────────────────────
|
||||
} elseif (in_array($role, [1, 5])) {
|
||||
|
||||
$data['sales_manager_ids'] = array_column($data['users'], 'id');
|
||||
$data['sales_role'] = 'Sales Head';
|
||||
$data['users'] = $db->table('user_profiles up')
|
||||
->select('up.id, up.first_name, up.last_name, up.nhance_branch_id')
|
||||
->join('user_teams ut', 'ut.user_id = up.id')
|
||||
->where('up.is_active', 1)
|
||||
->where('ut.is_active', 1)
|
||||
->where('up.role', 4)
|
||||
->where('ut.team_id', 5)
|
||||
->where('up.nhance_branch_id', $nhance_branch_id)
|
||||
->get()
|
||||
->getResultArray();
|
||||
|
||||
$ids = array_column($data['users'], 'id');
|
||||
$data['sales_manager_ids'] = $ids;
|
||||
$data['assigned_ids'] = $ids; // same value, both available
|
||||
}
|
||||
|
||||
return $data;
|
||||
@ -920,52 +927,23 @@ class SalesController extends BaseController
|
||||
|
||||
|
||||
// ==================== Dashboard ====================
|
||||
public function dashboard(){
|
||||
|
||||
$logged_user_id = get_session_userid();
|
||||
$role = get_role_id();
|
||||
$team_id = user_team();
|
||||
public function dashboard()
|
||||
{
|
||||
$payload = $this->request->getGet();
|
||||
$base = $this->getSalesStaffData();
|
||||
$salesRole = $base['sales_role'];
|
||||
$salesManagerIds = $base['sales_manager_ids'];
|
||||
$userId = get_session_userid();
|
||||
|
||||
$db = \Config\Database::connect();
|
||||
// Get branch id from users array
|
||||
$nhanceBranchId = $base['users'][0]['nhance_branch_id'] ?? null;
|
||||
|
||||
$row = $db->table('user_profiles')
|
||||
->select('*')
|
||||
->where('is_active', 1)
|
||||
->where('id', $logged_user_id)
|
||||
->get()
|
||||
->getRowArray();
|
||||
|
||||
$nhance_branch_id = $row ? $row['nhance_branch_id'] : null;
|
||||
|
||||
// dd($logged_user_id, $nhance_branch_id, $role, $team_id );
|
||||
|
||||
if (in_array($role,[1,5])) {
|
||||
|
||||
$sales_manager_ids = array_column(
|
||||
$db->table('user_profiles up')
|
||||
->select('up.id')
|
||||
->join('user_teams ut', 'ut.user_id = up.id')
|
||||
->where([
|
||||
'up.is_active' => 1,
|
||||
'ut.is_active' => 1,
|
||||
'up.role' => 4,
|
||||
'ut.team_id' => 5,
|
||||
'up.nhance_branch_id' => $nhance_branch_id
|
||||
])
|
||||
->get()
|
||||
->getResultArray(),
|
||||
'id'
|
||||
);
|
||||
$this->branchLevelDashboard($nhance_branch_id,$sales_manager_ids);
|
||||
|
||||
}
|
||||
elseif ($role == 4 && in_array(5, $team_id)) {
|
||||
$sales_manager_ids = [$logged_user_id];
|
||||
$this->salesManagerLevelDashboard($logged_user_id,$sales_manager_ids, $payload);
|
||||
if ($salesRole === 'Sales Head') {
|
||||
$this->branchLevelDashboard($nhanceBranchId, $salesManagerIds);
|
||||
} elseif ($salesRole === 'Sales Manager') {
|
||||
$this->salesManagerLevelDashboard($userId, $salesManagerIds,$payload);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public function branchLevelDashboard($branchId,$sales_manager_ids)
|
||||
{
|
||||
|
||||
@ -102,7 +102,7 @@ class SalesActivityModel extends Model
|
||||
$assignedToIds = is_array($assigned_to) ? $assigned_to : explode(',', $assigned_to);
|
||||
|
||||
// Now it is guaranteed to be an array, making whereIn perfectly safe
|
||||
$this->whereIn('sales_actual_leads.assigned_to', $assignedToIds);
|
||||
$this->whereIn('sales_activities.assigned_to', $assignedToIds);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user