From 98df307ae36a1ea26e576b5cd2ee9a98eda81b6d Mon Sep 17 00:00:00 2001 From: Adam Zammit Date: Thu, 13 Jun 2013 10:31:44 +1000 Subject: [PATCH] Assign appointments in order of closest ending time --- admin/systemsortprocess.php | 2 +- functions/functions.operator.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/admin/systemsortprocess.php b/admin/systemsortprocess.php index 3c38a6f4..78cd639c 100644 --- a/admin/systemsortprocess.php +++ b/admin/systemsortprocess.php @@ -148,7 +148,7 @@ while (!is_process_killed($process_id)) //check if process killed every $sleepin AND ((apn.appointment_id IS NOT NULL) or qs.call_max = 0 or ((SELECT count(*) FROM `call` WHERE case_id = c.case_id) < qs.call_max)) AND (SELECT count(*) FROM `questionnaire_sample_quota` WHERE questionnaire_id = c.questionnaire_id AND sample_import_id = s.import_id AND quota_reached = 1) = 0 GROUP BY c.case_id - ORDER BY apn.start DESC, a.start ASC, qsep.priority DESC"; + ORDER BY apn.end ASC, a.start ASC, qsep.priority DESC"; $rs = $db->GetAll($sql); diff --git a/functions/functions.operator.php b/functions/functions.operator.php index d2ed4973..7f981672 100644 --- a/functions/functions.operator.php +++ b/functions/functions.operator.php @@ -445,7 +445,7 @@ function get_case_id($operator_id, $create = false) AND ((apn.appointment_id IS NOT NULL) or qs.call_max = 0 or ((SELECT count(*) FROM `call` WHERE case_id = c.case_id) < qs.call_max)) AND (apn.require_operator_id IS NULL OR apn.require_operator_id = '$operator_id') AND (SELECT count(*) FROM `questionnaire_sample_quota` WHERE questionnaire_id = c.questionnaire_id AND sample_import_id = s.import_id AND quota_reached = 1) = 0 - ORDER BY apn.start DESC, a.start ASC, qsep.priority DESC + ORDER BY apn.end ASC, a.start ASC, qsep.priority DESC LIMIT 1"; //apn.appointment_id contains the id of an appointment if we are calling on an appointment