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