Merge branch '535-display-open-jos-in-the-last-24-hours' into 'master'
Resolve "Display open JOs in the last 24 hours" Closes #535 See merge request jankstudio/resq!625
This commit is contained in:
commit
c69e212e26
5 changed files with 32 additions and 11 deletions
|
|
@ -3,6 +3,7 @@ class DashboardMap {
|
|||
this.options = options;
|
||||
this.rider_markers = rider_markers;
|
||||
this.cust_markers = cust_markers;
|
||||
this.rider_availability = {};
|
||||
|
||||
// layer groups
|
||||
this.layer_groups = {
|
||||
|
|
@ -253,10 +254,13 @@ class DashboardMap {
|
|||
var lat = data.latitude;
|
||||
var lng = data.longitude;
|
||||
|
||||
if (data.has_jo)
|
||||
if (data.has_jo) {
|
||||
my.rider_availability[id] = false;
|
||||
my.putRiderActiveJOMarker(id, lat, lng);
|
||||
else
|
||||
} else {
|
||||
my.rider_availability[id] = true;
|
||||
my.putRiderAvailableMarker(id, lat, lng);
|
||||
}
|
||||
});
|
||||
|
||||
// console.log(rider_markers);
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@ class MapEventHandler {
|
|||
}
|
||||
|
||||
handleRider(chan_split, payload) {
|
||||
console.log("rider message");
|
||||
//console.log("rider message");
|
||||
switch (chan_split[2]) {
|
||||
case "location":
|
||||
console.log("got location for rider " + chan_split[1] + " - " + payload);
|
||||
|
|
@ -115,7 +115,7 @@ class MapEventHandler {
|
|||
var obj = JSON.parse(payload);
|
||||
|
||||
var status = obj.status;
|
||||
console.log("status " + status);
|
||||
// console.log("status " + status);
|
||||
switch (status) {
|
||||
case 'rider_offline':
|
||||
this.dashmap.rider_availability[chan_split[1]] = false;
|
||||
|
|
@ -145,6 +145,7 @@ class MapEventHandler {
|
|||
break;
|
||||
}
|
||||
});
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,8 +48,12 @@ class RefreshLatestActiveJobOrderCacheCommand extends Command
|
|||
|
||||
fwrite($tmp_cache_log, 'Cleared latest active jo cache...' . "\n");
|
||||
|
||||
$date = new DateTime();
|
||||
$date->modify('-5 hour');
|
||||
// get JOs -5 and +22 hours from current datetime
|
||||
$start_date = new DateTime();
|
||||
$start_date->modify('-5 hour');
|
||||
|
||||
$end_date = new DateTime();
|
||||
$end_date->modify('+22 hour');
|
||||
|
||||
$status_list = [
|
||||
JOStatus::PENDING,
|
||||
|
|
@ -63,9 +67,11 @@ class RefreshLatestActiveJobOrderCacheCommand extends Command
|
|||
->createQueryBuilder('jo');
|
||||
$res = $qb->select('jo')
|
||||
->where('jo.status IN (:statuses)')
|
||||
->andWhere('jo.date_schedule >= :date')
|
||||
->andWhere('jo.date_schedule >= :start_date')
|
||||
->andWhere('jo.date_schedule <= :end_date')
|
||||
->setParameter('statuses', $status_list, Connection::PARAM_STR_ARRAY)
|
||||
->setParameter('date', $date)
|
||||
->setParameter('start_date', $start_date)
|
||||
->setParameter('end_date', $end_date)
|
||||
->getQuery()
|
||||
->execute();
|
||||
|
||||
|
|
|
|||
|
|
@ -602,8 +602,9 @@ class RiderController extends Controller
|
|||
*/
|
||||
public function ajaxAvailable(EntityManagerInterface $em, Rider $rider)
|
||||
{
|
||||
$jo = $rider->getRiderActiveJobOrder();
|
||||
if ($jo == null || $jo->isClosed())
|
||||
//$jo = $rider->getRiderActiveJobOrder();
|
||||
$jo_results = $rider->getActiveJobOrder();
|
||||
if (empty($jo_results))
|
||||
$avail = 'available';
|
||||
else
|
||||
$avail = 'unavailable';
|
||||
|
|
|
|||
|
|
@ -8,6 +8,9 @@ use App\Service\JobOrderCache;
|
|||
use App\Ramcar\JOStatus;
|
||||
use App\Entity\JobOrder;
|
||||
|
||||
use DateTime;
|
||||
use DateInterval;
|
||||
|
||||
class JobOrderActiveCacheListener
|
||||
{
|
||||
protected $key;
|
||||
|
|
@ -82,7 +85,13 @@ class JobOrderActiveCacheListener
|
|||
$this->jo_cache->addActiveJobOrder($jo);
|
||||
|
||||
// save in latest JO cache
|
||||
$this->jo_cache->addLatestActiveJoborder($jo);
|
||||
// check if date_schedule is more than 24 hours
|
||||
$date = new DateTime();
|
||||
$interval = new DateInterval('P1D');
|
||||
$date->sub($interval);
|
||||
|
||||
if ($jo->getDateSchedule() >= $date)
|
||||
$this->jo_cache->addLatestActiveJoborder($jo);
|
||||
|
||||
// publish to mqtt
|
||||
$coords = $jo->getCoordinates();
|
||||
|
|
|
|||
Loading…
Reference in a new issue