03-07-2025 - vadivel - ts tat dashboard api released
This commit is contained in:
parent
4a757775d9
commit
1b7fba8286
@ -97,6 +97,10 @@ $routes->post('forgotPassword/changePassword', 'UserController::forgotChangePass
|
|||||||
$routes->get('plans/cancle_plan', 'PlanController::canclePlan');
|
$routes->get('plans/cancle_plan', 'PlanController::canclePlan');
|
||||||
$routes->get('plans/get_plan_approval_status', 'PlanController::get_plan_approval_status');
|
$routes->get('plans/get_plan_approval_status', 'PlanController::get_plan_approval_status');
|
||||||
|
|
||||||
|
$routes->get('plans/selectedServiceDashboardWeekly','PlanController::selectedServiceDashboardWeekly');
|
||||||
|
|
||||||
|
$routes->get('plans/selectedServiceDashboardDaily','PlanController::selectedServiceDashboardDaily');
|
||||||
|
|
||||||
$routes->get('plans/plan_pdf', 'PlanController::plan_pdf');
|
$routes->get('plans/plan_pdf', 'PlanController::plan_pdf');
|
||||||
|
|
||||||
//Master
|
//Master
|
||||||
|
|||||||
@ -24,6 +24,7 @@ use App\Models\OrganizationModel;
|
|||||||
use App\Models\PlanRemarkModel;
|
use App\Models\PlanRemarkModel;
|
||||||
use App\Models\UserVisaDetailsModel;
|
use App\Models\UserVisaDetailsModel;
|
||||||
use App\Models\MailTemplateModel;
|
use App\Models\MailTemplateModel;
|
||||||
|
use App\Models\ReportsModel;
|
||||||
use Mpdf\Mpdf;
|
use Mpdf\Mpdf;
|
||||||
|
|
||||||
class PlanController extends ResourceController
|
class PlanController extends ResourceController
|
||||||
@ -48,6 +49,7 @@ class PlanController extends ResourceController
|
|||||||
protected $planRemarkModel;
|
protected $planRemarkModel;
|
||||||
protected $userVisaDetailsModel;
|
protected $userVisaDetailsModel;
|
||||||
protected $mailTemplateModel;
|
protected $mailTemplateModel;
|
||||||
|
protected $reportsModel;
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
@ -71,6 +73,7 @@ class PlanController extends ResourceController
|
|||||||
$this->planRemarkModel = new PlanRemarkModel();
|
$this->planRemarkModel = new PlanRemarkModel();
|
||||||
$this->userVisaDetailsModel = new UserVisaDetailsModel();
|
$this->userVisaDetailsModel = new UserVisaDetailsModel();
|
||||||
$this->mailTemplateModel = new MailTemplateModel();
|
$this->mailTemplateModel = new MailTemplateModel();
|
||||||
|
$this->reportsModel = new ReportsModel();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1010,18 +1013,10 @@ class PlanController extends ResourceController
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$data['statusBasedCount'] = $statusResult;
|
$data['statusBasedCount'] = $statusResult;
|
||||||
$data['typeBasedCount'] = $typeResult;
|
$data['typeBasedCount'] = $typeResult;
|
||||||
$data['todayTripCounts'] = [
|
$data['todayTripCounts'] = $this->selectedServiceDashboardDaily();
|
||||||
'date_range' => $today,
|
$data['weekTripCounts'] = $this->selectedServiceDashboardWeekly();
|
||||||
'Domestic' => $todayCounts['Domestic'],
|
|
||||||
'International' => $todayCounts['International']
|
|
||||||
];
|
|
||||||
$data['weekTripCounts'] = [
|
|
||||||
'date_range' => $startOfWeek . ' to ' . $endOfWeek,
|
|
||||||
'Domestic' => $weekCounts['Domestic'],
|
|
||||||
'International' => $weekCounts['International']
|
|
||||||
];
|
|
||||||
|
|
||||||
return $this->respond(['status' => 200, 'message' => 'success', 'data' => $data ]);
|
return $this->respond(['status' => 200, 'message' => 'success', 'data' => $data ]);
|
||||||
|
|
||||||
@ -1389,15 +1384,81 @@ class PlanController extends ResourceController
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// faf stands for flight accomodation and forex
|
||||||
|
public function selectedServiceDashboardWeekly(){
|
||||||
|
|
||||||
|
$flightResult = $this->reportsModel->flightServiceDashboardWeekly();
|
||||||
|
|
||||||
|
$accomodationResult = $this->reportsModel->accomodationServiceDashboardWeekly();
|
||||||
|
|
||||||
|
$forexResult = $this->reportsModel->forexServiceDashboardWeekly();
|
||||||
|
|
||||||
|
$result = [
|
||||||
|
|
||||||
|
"flightService" => $flightResult ,
|
||||||
|
"acomodationService" => $accomodationResult ,
|
||||||
|
"forexService" => $forexResult
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
return $result = $this->splitResultbasedOnTripType($result);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function selectedServiceDashboardDaily(){
|
||||||
|
|
||||||
|
$flightResult = $this->reportsModel->flightServiceDashboardDaily();
|
||||||
|
|
||||||
|
$accomodationResult = $this->reportsModel->accomodationServiceDashboardDaily();
|
||||||
|
|
||||||
|
$forexResult = $this->reportsModel->forexServiceDashboardDaily();
|
||||||
|
|
||||||
|
$result = [
|
||||||
|
|
||||||
|
"flightService" => $flightResult ,
|
||||||
|
"acomodationService" => $accomodationResult ,
|
||||||
|
"forexService" => $forexResult
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
return $result = $this->splitResultbasedOnTripType($result);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function splitResultBasedOnTripType(array $result): array
|
||||||
|
{
|
||||||
|
$finalResult = [];
|
||||||
|
|
||||||
|
$trip_types = ['International', 'Domestic'];
|
||||||
|
$statuses = ['Pending Approval', 'Partially Approved', 'Approved', 'Rejected', 'Cancelled'];
|
||||||
|
|
||||||
|
foreach ($result as $service => $entries) {
|
||||||
|
$resultSet = [] ;
|
||||||
|
foreach ($trip_types as $trip_type) {
|
||||||
|
foreach ($statuses as $status) {
|
||||||
|
$resultSet[$service][$trip_type][$status] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($entries as $entry) {
|
||||||
|
$tripType = $entry['trip_type'];
|
||||||
|
$status = $entry['Status'];
|
||||||
|
$count = (int) $entry['count'];
|
||||||
|
|
||||||
|
$resultSet[$service][$tripType][$status] += $count;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($statuses as $status) {
|
||||||
|
$resultSet[$service]['Both'][$status] =
|
||||||
|
$resultSet[$service]['International'][$status] +
|
||||||
|
$resultSet[$service]['Domestic'][$status];
|
||||||
|
}
|
||||||
|
|
||||||
|
$finalResult [] = $resultSet;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $finalResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -366,4 +366,400 @@ class ReportsModel extends Model
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public function flightServiceDashboardWeekly(){
|
||||||
|
|
||||||
|
$sql = "SELECT
|
||||||
|
COALESCE(t.count, 0) AS count,
|
||||||
|
s.trip_type,
|
||||||
|
s.status_label AS Status
|
||||||
|
FROM (
|
||||||
|
SELECT trip_type, status_label
|
||||||
|
FROM (
|
||||||
|
SELECT 'International' AS trip_type
|
||||||
|
UNION
|
||||||
|
SELECT 'Domestic'
|
||||||
|
) trip_types
|
||||||
|
CROSS JOIN (
|
||||||
|
SELECT 'Pending Approval' AS status_label
|
||||||
|
UNION SELECT 'Partially Approved'
|
||||||
|
UNION SELECT 'Approved'
|
||||||
|
UNION SELECT 'Rejected'
|
||||||
|
UNION SELECT 'Cancelled'
|
||||||
|
) statuses
|
||||||
|
) s
|
||||||
|
|
||||||
|
-- Step 2: Left join real data
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT
|
||||||
|
COUNT(cf.flight_id) as count,
|
||||||
|
case
|
||||||
|
when mp.trip_type = 1 then 'Domestic'
|
||||||
|
when mp.trip_type = 2 then 'International'
|
||||||
|
END AS trip_type ,
|
||||||
|
case
|
||||||
|
when mp.status = 1 then 'Pending Approval'
|
||||||
|
when mp.status = 2 then 'Partially Approved'
|
||||||
|
when mp.status = 3 then 'Approved'
|
||||||
|
when mp.status = 4 then 'Rejected'
|
||||||
|
when mp.status = 7 then 'Cancelled'
|
||||||
|
END AS Status
|
||||||
|
|
||||||
|
FROM c_flight cf
|
||||||
|
|
||||||
|
JOIN m_plan mp ON cf.plan_id = mp.plan_id
|
||||||
|
|
||||||
|
WHERE cf.created_on >= DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY)
|
||||||
|
AND cf.created_on < DATE_ADD(DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY), INTERVAL 7 DAY)
|
||||||
|
|
||||||
|
-- previous week
|
||||||
|
-- WHERE cf.created_on >= DATE_SUB(CURDATE(), INTERVAL (WEEKDAY(CURDATE()) + 7) DAY)
|
||||||
|
-- AND cf.created_on < DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY);
|
||||||
|
|
||||||
|
AND mp.is_active = 1
|
||||||
|
GROUP BY mp.status,mp.trip_type
|
||||||
|
) t ON s.trip_type = t.trip_type AND s.status_label = t.Status
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
";
|
||||||
|
|
||||||
|
$binds = [];
|
||||||
|
|
||||||
|
$result = $this->db->query($sql,$binds)->getResultArray();
|
||||||
|
|
||||||
|
return $result ;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function accomodationServiceDashboardWeekly(){
|
||||||
|
|
||||||
|
$sql = "SELECT
|
||||||
|
COALESCE(t.count, 0) AS count,
|
||||||
|
s.trip_type,
|
||||||
|
s.status_label AS Status
|
||||||
|
FROM (
|
||||||
|
SELECT trip_type, status_label
|
||||||
|
FROM (
|
||||||
|
SELECT 'International' AS trip_type
|
||||||
|
UNION ALL
|
||||||
|
SELECT 'Domestic'
|
||||||
|
) trip_types
|
||||||
|
CROSS JOIN (
|
||||||
|
SELECT 'Pending Approval' AS status_label
|
||||||
|
UNION ALL SELECT 'Partially Approved'
|
||||||
|
UNION ALL SELECT 'Approved'
|
||||||
|
UNION ALL SELECT 'Rejected'
|
||||||
|
UNION ALL SELECT 'Cancelled'
|
||||||
|
) statuses
|
||||||
|
) s
|
||||||
|
|
||||||
|
-- Step 2: Left join real data
|
||||||
|
LEFT JOIN (
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
COUNT(ca.accomodation_id) as count,
|
||||||
|
case
|
||||||
|
when mp.trip_type = 1 then 'Domestic'
|
||||||
|
when mp.trip_type = 2 then 'International'
|
||||||
|
END AS trip_type ,
|
||||||
|
case
|
||||||
|
when mp.status = 1 then 'Pending Approval'
|
||||||
|
when mp.status = 2 then 'Partially Approved'
|
||||||
|
when mp.status = 3 then 'Approved'
|
||||||
|
when mp.status = 4 then 'Rejected'
|
||||||
|
when mp.status = 7 then 'Cancelled'
|
||||||
|
END AS Status
|
||||||
|
|
||||||
|
FROM c_accomodation ca
|
||||||
|
|
||||||
|
JOIN m_plan mp ON ca.plan_id = mp.plan_id
|
||||||
|
|
||||||
|
WHERE ca.created_on >= DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY)
|
||||||
|
AND ca.created_on < DATE_ADD(DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY), INTERVAL 7 DAY)
|
||||||
|
|
||||||
|
-- previous week
|
||||||
|
-- WHERE cf.created_on >= DATE_SUB(CURDATE(), INTERVAL (WEEKDAY(CURDATE()) + 7) DAY)
|
||||||
|
-- AND cf.created_on < DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY);
|
||||||
|
|
||||||
|
AND mp.is_active = 1
|
||||||
|
|
||||||
|
GROUP BY mp.status,mp.trip_type
|
||||||
|
|
||||||
|
) t ON s.trip_type = t.trip_type AND s.status_label = t.Status
|
||||||
|
";
|
||||||
|
|
||||||
|
$binds = [];
|
||||||
|
|
||||||
|
$result = $this->db->query($sql,$binds)->getResultArray();
|
||||||
|
|
||||||
|
return $result ;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function forexServiceDashboardWeekly(){
|
||||||
|
|
||||||
|
$sql = "SELECT
|
||||||
|
COALESCE(t.count, 0) AS count,
|
||||||
|
s.trip_type,
|
||||||
|
s.status_label AS Status
|
||||||
|
FROM (
|
||||||
|
SELECT trip_type, status_label
|
||||||
|
FROM (
|
||||||
|
SELECT 'International' AS trip_type
|
||||||
|
UNION ALL
|
||||||
|
SELECT 'Domestic'
|
||||||
|
) trip_types
|
||||||
|
CROSS JOIN (
|
||||||
|
SELECT 'Pending Approval' AS status_label
|
||||||
|
UNION ALL SELECT 'Partially Approved'
|
||||||
|
UNION ALL SELECT 'Approved'
|
||||||
|
UNION ALL SELECT 'Rejected'
|
||||||
|
UNION ALL SELECT 'Cancelled'
|
||||||
|
) statuses
|
||||||
|
) s
|
||||||
|
|
||||||
|
-- Step 2: Left join real data
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT
|
||||||
|
COUNT(cf.forex_id) as count,
|
||||||
|
case
|
||||||
|
when mp.trip_type = 1 then 'Domestic'
|
||||||
|
when mp.trip_type = 2 then 'International'
|
||||||
|
END AS trip_type ,
|
||||||
|
case
|
||||||
|
when mp.status = 1 then 'Pending Approval'
|
||||||
|
when mp.status = 2 then 'Partially Approved'
|
||||||
|
when mp.status = 3 then 'Approved'
|
||||||
|
when mp.status = 4 then 'Rejected'
|
||||||
|
when mp.status = 7 then 'Cancelled'
|
||||||
|
END AS Status
|
||||||
|
|
||||||
|
FROM c_forex cf
|
||||||
|
|
||||||
|
JOIN m_plan mp ON cf.plan_id = mp.plan_id
|
||||||
|
|
||||||
|
WHERE cf.created_on >= DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY)
|
||||||
|
AND cf.created_on < DATE_ADD(DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY), INTERVAL 7 DAY)
|
||||||
|
|
||||||
|
-- previous week
|
||||||
|
-- WHERE cf.created_on >= DATE_SUB(CURDATE(), INTERVAL (WEEKDAY(CURDATE()) + 7) DAY)
|
||||||
|
-- AND cf.created_on < DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY);
|
||||||
|
|
||||||
|
AND mp.is_active = 1
|
||||||
|
|
||||||
|
GROUP BY mp.status,mp.trip_type
|
||||||
|
|
||||||
|
) t ON s.trip_type = t.trip_type AND s.status_label = t.Status
|
||||||
|
|
||||||
|
|
||||||
|
";
|
||||||
|
|
||||||
|
$binds = [];
|
||||||
|
|
||||||
|
$result = $this->db->query($sql,$binds)->getResultArray();
|
||||||
|
|
||||||
|
return $result ;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function flightServiceDashboardDaily(){
|
||||||
|
|
||||||
|
$sql = "SELECT
|
||||||
|
COALESCE(t.count, 0) AS count,
|
||||||
|
s.trip_type,
|
||||||
|
s.status_label AS Status
|
||||||
|
FROM (
|
||||||
|
SELECT trip_type, status_label
|
||||||
|
FROM (
|
||||||
|
SELECT 'International' AS trip_type
|
||||||
|
UNION ALL
|
||||||
|
SELECT 'Domestic'
|
||||||
|
) trip_types
|
||||||
|
CROSS JOIN (
|
||||||
|
SELECT 'Pending Approval' AS status_label
|
||||||
|
UNION ALL SELECT 'Partially Approved'
|
||||||
|
UNION ALL SELECT 'Approved'
|
||||||
|
UNION ALL SELECT 'Rejected'
|
||||||
|
UNION ALL SELECT 'Cancelled'
|
||||||
|
) statuses
|
||||||
|
) s
|
||||||
|
|
||||||
|
-- Step 2: Left join real data
|
||||||
|
LEFT JOIN (
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
COUNT(cf.flight_id) as count,
|
||||||
|
case
|
||||||
|
when mp.trip_type = 1 then 'Domestic'
|
||||||
|
when mp.trip_type = 2 then 'International'
|
||||||
|
END AS trip_type ,
|
||||||
|
case
|
||||||
|
when mp.status = 1 then 'Pending Approval'
|
||||||
|
when mp.status = 2 then 'Partially Approved'
|
||||||
|
when mp.status = 3 then 'Approved'
|
||||||
|
when mp.status = 4 then 'Rejected'
|
||||||
|
when mp.status = 7 then 'Cancelled'
|
||||||
|
END AS Status
|
||||||
|
|
||||||
|
FROM c_flight cf
|
||||||
|
|
||||||
|
JOIN m_plan mp ON cf.plan_id = mp.plan_id
|
||||||
|
|
||||||
|
WHERE DATE(cf.created_on) = CURDATE()
|
||||||
|
|
||||||
|
|
||||||
|
AND mp.is_active = 1
|
||||||
|
|
||||||
|
GROUP BY mp.status,mp.trip_type
|
||||||
|
|
||||||
|
|
||||||
|
) t ON s.trip_type = t.trip_type AND s.status_label = t.Status
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
";
|
||||||
|
|
||||||
|
$binds = [];
|
||||||
|
|
||||||
|
$result = $this->db->query($sql,$binds)->getResultArray();
|
||||||
|
|
||||||
|
return $result ;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function accomodationServiceDashboardDaily(){
|
||||||
|
|
||||||
|
$sql = "SELECT
|
||||||
|
COALESCE(t.count, 0) AS count,
|
||||||
|
s.trip_type,
|
||||||
|
s.status_label AS Status
|
||||||
|
FROM (
|
||||||
|
SELECT trip_type, status_label
|
||||||
|
FROM (
|
||||||
|
SELECT 'International' AS trip_type
|
||||||
|
UNION ALL
|
||||||
|
SELECT 'Domestic'
|
||||||
|
) trip_types
|
||||||
|
CROSS JOIN (
|
||||||
|
SELECT 'Pending Approval' AS status_label
|
||||||
|
UNION ALL SELECT 'Partially Approved'
|
||||||
|
UNION ALL SELECT 'Approved'
|
||||||
|
UNION ALL SELECT 'Rejected'
|
||||||
|
UNION ALL SELECT 'Cancelled'
|
||||||
|
) statuses
|
||||||
|
) s
|
||||||
|
|
||||||
|
-- Step 2: Left join real data
|
||||||
|
LEFT JOIN (
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
COUNT(ca.accomodation_id) as count,
|
||||||
|
case
|
||||||
|
when mp.trip_type = 1 then 'Domestic'
|
||||||
|
when mp.trip_type = 2 then 'International'
|
||||||
|
END AS trip_type ,
|
||||||
|
case
|
||||||
|
when mp.status = 1 then 'Pending Approval'
|
||||||
|
when mp.status = 2 then 'Partially Approved'
|
||||||
|
when mp.status = 3 then 'Approved'
|
||||||
|
when mp.status = 4 then 'Rejected'
|
||||||
|
when mp.status = 7 then 'Cancelled'
|
||||||
|
END AS Status
|
||||||
|
|
||||||
|
FROM c_accomodation ca
|
||||||
|
|
||||||
|
JOIN m_plan mp ON ca.plan_id = mp.plan_id
|
||||||
|
|
||||||
|
WHERE DATE(ca.created_on) = CURDATE()
|
||||||
|
|
||||||
|
|
||||||
|
AND mp.is_active = 1
|
||||||
|
|
||||||
|
GROUP BY mp.status,mp.trip_type
|
||||||
|
|
||||||
|
) t ON s.trip_type = t.trip_type AND s.status_label = t.Status
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
";
|
||||||
|
|
||||||
|
$binds = [];
|
||||||
|
|
||||||
|
$result = $this->db->query($sql,$binds)->getResultArray();
|
||||||
|
|
||||||
|
return $result ;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function forexServiceDashboardDaily(){
|
||||||
|
|
||||||
|
$sql = "SELECT
|
||||||
|
COALESCE(t.count, 0) AS count,
|
||||||
|
s.trip_type,
|
||||||
|
s.status_label AS Status
|
||||||
|
FROM (
|
||||||
|
SELECT trip_type, status_label
|
||||||
|
FROM (
|
||||||
|
SELECT 'International' AS trip_type
|
||||||
|
UNION ALL
|
||||||
|
SELECT 'Domestic'
|
||||||
|
) trip_types
|
||||||
|
CROSS JOIN (
|
||||||
|
SELECT 'Pending Approval' AS status_label
|
||||||
|
UNION ALL SELECT 'Partially Approved'
|
||||||
|
UNION ALL SELECT 'Approved'
|
||||||
|
UNION ALL SELECT 'Rejected'
|
||||||
|
UNION ALL SELECT 'Cancelled'
|
||||||
|
) statuses
|
||||||
|
) s
|
||||||
|
|
||||||
|
-- Step 2: Left join real data
|
||||||
|
LEFT JOIN (
|
||||||
|
SELECT
|
||||||
|
COUNT(cf.forex_id) as count,
|
||||||
|
case
|
||||||
|
when mp.trip_type = 1 then 'Domestic'
|
||||||
|
when mp.trip_type = 2 then 'International'
|
||||||
|
END AS trip_type ,
|
||||||
|
case
|
||||||
|
when mp.status = 1 then 'Pending Approval'
|
||||||
|
when mp.status = 2 then 'Partially Approved'
|
||||||
|
when mp.status = 3 then 'Approved'
|
||||||
|
when mp.status = 4 then 'Rejected'
|
||||||
|
when mp.status = 7 then 'Cancelled'
|
||||||
|
END AS Status
|
||||||
|
|
||||||
|
FROM c_forex cf
|
||||||
|
|
||||||
|
JOIN m_plan mp ON cf.plan_id = mp.plan_id
|
||||||
|
|
||||||
|
WHERE DATE(cf.created_on) = CURDATE()
|
||||||
|
|
||||||
|
|
||||||
|
AND mp.is_active = 1
|
||||||
|
|
||||||
|
GROUP BY mp.status,mp.trip_type
|
||||||
|
|
||||||
|
|
||||||
|
) t ON s.trip_type = t.trip_type AND s.status_label = t.Status
|
||||||
|
|
||||||
|
|
||||||
|
";
|
||||||
|
|
||||||
|
$binds = [];
|
||||||
|
|
||||||
|
$result = $this->db->query($sql,$binds)->getResultArray();
|
||||||
|
|
||||||
|
return $result ;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user