FIX_salesTracker11
This commit is contained in:
parent
ab343bc210
commit
1d7ac9d7eb
@ -71,52 +71,59 @@ class SalesController extends BaseController
|
|||||||
*/
|
*/
|
||||||
private function getSalesStaffData(): array
|
private function getSalesStaffData(): array
|
||||||
{
|
{
|
||||||
$db = \Config\Database::connect();
|
$db = \Config\Database::connect();
|
||||||
$logged_user_id = get_session_userid();
|
$logged_user_id = get_session_userid();
|
||||||
$role = get_role_id();
|
$role = get_role_id();
|
||||||
$team_id = user_team();
|
$team_id = user_team();
|
||||||
|
|
||||||
$data = [
|
$data = [
|
||||||
'users' => [],
|
'users' => [],
|
||||||
'sales_manager_ids' => [],
|
'sales_manager_ids'=> [],
|
||||||
'sales_role' => ''
|
'sales_role' => '',
|
||||||
|
'nhance_branch_id' => null,
|
||||||
|
'assigned_ids' => [],
|
||||||
];
|
];
|
||||||
|
|
||||||
$row = $db->table('user_profiles')->select('*')
|
$row = $db->table('user_profiles')->select('*')
|
||||||
->where('is_active', 1)->where('id', $logged_user_id)
|
->where('is_active', 1)->where('id', $logged_user_id)
|
||||||
->get()->getRow();
|
->get()->getRow();
|
||||||
|
|
||||||
$nhance_branch_id = $row ? $row->nhance_branch_id : null;
|
$nhance_branch_id = $row ? $row->nhance_branch_id : null;
|
||||||
|
$data['nhance_branch_id']= $nhance_branch_id;
|
||||||
// Is the logged-in user a Sales Manager? (Role 4, Team 5)
|
|
||||||
if ($role == 4 && in_array(5, $team_id)) {
|
// ── Sales Manager (Role 4, Team 5) ──────────────────────────
|
||||||
$data['sales_role'] = "Sales Manager";
|
if ($role == 4 && in_array(5, $team_id)) {
|
||||||
|
|
||||||
|
$data['sales_role'] = 'Sales Manager';
|
||||||
$data['sales_manager_ids'] = [$logged_user_id];
|
$data['sales_manager_ids'] = [$logged_user_id];
|
||||||
|
$data['assigned_ids'] = [$logged_user_id];
|
||||||
$data['users'] = [
|
$data['users'] = [
|
||||||
[
|
[
|
||||||
'id' => $row->id,
|
'id' => $row->id,
|
||||||
'first_name' => $row->first_name,
|
'first_name' => $row->first_name,
|
||||||
'nhance_branch_id' => $nhance_branch_id
|
'last_name' => $row->last_name ?? '',
|
||||||
|
'nhance_branch_id' => $nhance_branch_id,
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
// ── Sales Head (Role 1 or 5) ─────────────────────────────────
|
||||||
// Otherwise fetch ALL sales managers in this branch
|
} elseif (in_array($role, [1, 5])) {
|
||||||
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();
|
|
||||||
|
|
||||||
$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;
|
return $data;
|
||||||
@ -920,52 +927,23 @@ class SalesController extends BaseController
|
|||||||
|
|
||||||
|
|
||||||
// ==================== Dashboard ====================
|
// ==================== Dashboard ====================
|
||||||
public function dashboard(){
|
public function dashboard()
|
||||||
|
{
|
||||||
$logged_user_id = get_session_userid();
|
|
||||||
$role = get_role_id();
|
|
||||||
$team_id = user_team();
|
|
||||||
$payload = $this->request->getGet();
|
$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')
|
if ($salesRole === 'Sales Head') {
|
||||||
->select('*')
|
$this->branchLevelDashboard($nhanceBranchId, $salesManagerIds);
|
||||||
->where('is_active', 1)
|
} elseif ($salesRole === 'Sales Manager') {
|
||||||
->where('id', $logged_user_id)
|
$this->salesManagerLevelDashboard($userId, $salesManagerIds,$payload);
|
||||||
->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);
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public function branchLevelDashboard($branchId,$sales_manager_ids)
|
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);
|
$assignedToIds = is_array($assigned_to) ? $assigned_to : explode(',', $assigned_to);
|
||||||
|
|
||||||
// Now it is guaranteed to be an array, making whereIn perfectly safe
|
// 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