Fix Customer bug when no vehicle or mobile number is selected

This commit is contained in:
Kendrick Chan 2018-02-01 23:11:57 +08:00
parent ec68b7a787
commit 85a0f972c7

View file

@ -101,7 +101,6 @@ class CustomerController extends BaseController
->getQuery() ->getQuery()
->getResult(); ->getResult();
$classifications = CustomerClassification::getCollection();
// process rows // process rows
$rows = []; $rows = [];
@ -110,7 +109,7 @@ class CustomerController extends BaseController
$row['id'] = $orow->getID(); $row['id'] = $orow->getID();
$row['first_name'] = $orow->getFirstName(); $row['first_name'] = $orow->getFirstName();
$row['last_name'] = $orow->getLastName(); $row['last_name'] = $orow->getLastName();
$row['customer_classification'] = $classifications[$orow->getCustomerClassification()]; $row['customer_classification'] = CustomerClassification::getName($orow->getCustomerClassification());
$row['flag_mobile_app'] = $orow->hasMobileApp(); $row['flag_mobile_app'] = $orow->hasMobileApp();
$row['app_mobile_number'] = $orow->hasMobileApp() && !empty($orow->getMobileSessions()) ? $orow->getMobileSessions()[0]->getPhoneNumber() : ''; $row['app_mobile_number'] = $orow->hasMobileApp() && !empty($orow->getMobileSessions()) ? $orow->getMobileSessions()[0]->getPhoneNumber() : '';
@ -410,16 +409,19 @@ class CustomerController extends BaseController
} }
// delete all numbers not in list // delete all numbers not in list
$qb = $em->createQueryBuilder(); if (count($number_ids) > 0)
$del_numbers = $qb->select('m') {
->from(MobileNumber::class, 'm') $qb = $em->createQueryBuilder();
->where($qb->expr()->notIn('m.id', $number_ids)) $del_numbers = $qb->select('m')
->getQuery() ->from(MobileNumber::class, 'm')
->getResult(); ->where($qb->expr()->notIn('m.id', $number_ids))
->getQuery()
->getResult();
if (!empty($del_numbers)) { if (!empty($del_numbers)) {
foreach ($del_numbers as $dn) { foreach ($del_numbers as $dn) {
$em->remove($dn); $em->remove($dn);
}
} }
} }
@ -500,17 +502,20 @@ class CustomerController extends BaseController
} }
} }
// delete all vehicles not in list if (count($vehicle_ids) > 0)
$qb = $em->createQueryBuilder(); {
$del_vehicles = $qb->select('cv') // delete all vehicles not in list
->from(CustomerVehicle::class, 'cv') $qb = $em->createQueryBuilder();
->where($qb->expr()->notIn('cv.id', $vehicle_ids)) $del_vehicles = $qb->select('cv')
->getQuery() ->from(CustomerVehicle::class, 'cv')
->getResult(); ->where($qb->expr()->notIn('cv.id', $vehicle_ids))
->getQuery()
->getResult();
if (!empty($del_vehicles)) { if (!empty($del_vehicles)) {
foreach ($del_vehicles as $dv) { foreach ($del_vehicles as $dv) {
$em->remove($dv); $em->remove($dv);
}
} }
} }