GWM : staffListForEnquiryAssignDropdown changes
This commit is contained in:
parent
50ef5d609a
commit
fcd84c791a
@ -8,11 +8,13 @@ use App\Models\ManagerIncentiveFileModel;
|
||||
|
||||
class StaffController extends ResourceController
|
||||
{
|
||||
protected $db;
|
||||
protected $StaffModel;
|
||||
protected $ManagerIncentiveFileModel;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->db = \Config\Database::connect();
|
||||
$this->StaffModel = new StaffModel();
|
||||
$this->ManagerIncentiveFileModel = new ManagerIncentiveFileModel();
|
||||
}
|
||||
@ -60,36 +62,92 @@ class StaffController extends ResourceController
|
||||
|
||||
if(!empty($manager_id))
|
||||
{
|
||||
$staffData = $this->StaffModel->select('partner_staff.id, partner_staff.name , R.role')
|
||||
->join('partner_role_master R', 'R.id = partner_staff.role_id', 'left')
|
||||
->where('partner_staff.manager_id' , $manager_id )
|
||||
->where('partner_staff.role_id' , 3 )
|
||||
->where('partner_staff.is_active' , 1 )
|
||||
->findAll();
|
||||
$managerData = $this->StaffModel->select('partner_staff.id, partner_staff.name , R.role')
|
||||
->join('partner_role_master R', 'R.id = partner_staff.role_id', 'left')
|
||||
->where('partner_staff.id', $manager_id )
|
||||
->where('partner_staff.is_active' , 1 )
|
||||
->first();
|
||||
$data = array_values(array_unique(array_merge($staffData, [$managerData]), SORT_REGULAR));
|
||||
|
||||
$staffData = $this->db->table('partner_staff ps')
|
||||
->select("
|
||||
ps.id,
|
||||
ps.name,
|
||||
R.role,
|
||||
|
||||
-- today's assigned count
|
||||
SUM(CASE WHEN DATE(pe.created_on) = CURDATE() THEN 1 ELSE 0 END) AS today_assigned,
|
||||
|
||||
-- not completed today
|
||||
SUM(CASE WHEN pe.enquiry_status != 'Completed'
|
||||
AND DATE(pe.created_on) = CURDATE()
|
||||
THEN 1 ELSE 0 END) AS total_pending
|
||||
")
|
||||
->join('partner_role_master R', 'R.id = ps.role_id', 'left')
|
||||
->join('partner_enquiry pe', 'pe.assigned_to = ps.id AND pe.is_active = 1', 'left')
|
||||
->where('ps.manager_id', $manager_id)
|
||||
->groupStart()
|
||||
->where('ps.role_id', 3)
|
||||
->orWhere('ps.id', $manager_id)
|
||||
->groupEnd()
|
||||
->where('ps.is_active', 1)
|
||||
->groupBy('ps.id')
|
||||
->orderBy('ps.name', 'ASC')
|
||||
->get()
|
||||
->getResultArray();
|
||||
|
||||
// $staffData = $this->StaffModel->select('partner_staff.id, partner_staff.name , R.role')
|
||||
// ->join('partner_role_master R', 'R.id = partner_staff.role_id', 'left')
|
||||
// ->where('partner_staff.manager_id' , $manager_id )
|
||||
// ->where('partner_staff.role_id' , 3 )
|
||||
// ->where('partner_staff.is_active' , 1 )
|
||||
// ->findAll();
|
||||
// $managerData = $this->StaffModel->select('partner_staff.id, partner_staff.name , R.role')
|
||||
// ->join('partner_role_master R', 'R.id = partner_staff.role_id', 'left')
|
||||
// ->where('partner_staff.id', $manager_id )
|
||||
// ->where('partner_staff.is_active' , 1 )
|
||||
// ->first();
|
||||
// $data = array_values(array_unique(array_merge($staffData, [$managerData]), SORT_REGULAR));
|
||||
|
||||
}else if(!empty($handler_id)){
|
||||
|
||||
$staffData = $this->StaffModel->select('partner_staff.id, partner_staff.name , R.role')
|
||||
->join('partner_role_master R', 'R.id = partner_staff.role_id', 'left')
|
||||
->where("JSON_CONTAINS(partner_staff.handler_id, '\"$handler_id\"')")
|
||||
->where('partner_staff.role_id' , 3 )
|
||||
->where('partner_staff.is_active' , 1 )
|
||||
->findAll();
|
||||
$handlerData = $this->StaffModel->select('partner_staff.id, partner_staff.name , R.role')
|
||||
->join('partner_role_master R', 'R.id = partner_staff.role_id', 'left')
|
||||
->where('partner_staff.id', $handler_id )
|
||||
->where('partner_staff.is_active' , 1 )
|
||||
->first();
|
||||
$data = array_values(array_unique(array_merge($staffData, [$handlerData]), SORT_REGULAR));
|
||||
|
||||
$staffData = $this->db->table('partner_staff ps')
|
||||
->select("
|
||||
ps.id,
|
||||
ps.name,
|
||||
R.role,
|
||||
|
||||
-- today's assigned count
|
||||
SUM(CASE WHEN DATE(pe.created_on) = CURDATE() THEN 1 ELSE 0 END) AS today_assigned,
|
||||
|
||||
-- not completed today
|
||||
SUM(CASE WHEN pe.enquiry_status != 'Completed'
|
||||
AND DATE(pe.created_on) = CURDATE()
|
||||
THEN 1 ELSE 0 END) AS total_pending
|
||||
")
|
||||
->join('partner_role_master R', 'R.id = ps.role_id', 'left')
|
||||
->join('partner_enquiry pe', 'pe.assigned_to = ps.id AND pe.is_active = 1', 'left')
|
||||
->where("JSON_CONTAINS(ps.handler_id, '\"$handler_id\"')")
|
||||
->groupStart()
|
||||
->where('ps.role_id', 3)
|
||||
->orWhere('ps.id', $handler_id)
|
||||
->groupEnd()
|
||||
->where('ps.is_active', 1)
|
||||
->groupBy('ps.id')
|
||||
->orderBy('ps.name', 'ASC')
|
||||
->get()
|
||||
->getResultArray();
|
||||
|
||||
// $staffData = $this->StaffModel->select('partner_staff.id, partner_staff.name , R.role')
|
||||
// ->join('partner_role_master R', 'R.id = partner_staff.role_id', 'left')
|
||||
// ->where("JSON_CONTAINS(partner_staff.handler_id, '\"$handler_id\"')")
|
||||
// ->where('partner_staff.role_id' , 3 )
|
||||
// ->where('partner_staff.is_active' , 1 )
|
||||
// ->findAll();
|
||||
// $handlerData = $this->StaffModel->select('partner_staff.id, partner_staff.name , R.role')
|
||||
// ->join('partner_role_master R', 'R.id = partner_staff.role_id', 'left')
|
||||
// ->where('partner_staff.id', $handler_id )
|
||||
// ->where('partner_staff.is_active' , 1 )
|
||||
// ->first();
|
||||
// $data = array_values(array_unique(array_merge($staffData, [$handlerData]), SORT_REGULAR));
|
||||
}
|
||||
|
||||
return $this->respond(['status' => 'success', 'code' => 200, 'data' => $data], 200);
|
||||
return $this->respond(['status' => 'success', 'code' => 200, 'data' => $staffData], 200);
|
||||
|
||||
} catch (\Exception $e) {
|
||||
return $this->respond(['status' => 'failed', 'code' => 500, 'data' => $e->getMessage()], 500);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user