diff --git a/admin/displayappointments.php b/admin/displayappointments.php index 7b4fa21c..00e49079 100644 --- a/admin/displayappointments.php +++ b/admin/displayappointments.php @@ -292,10 +292,10 @@ else { xhtml_head(T_("Display Appointments"),true,$css,$js_head,false,30); print "

" . T_("All appointments (with times displayed in your time zone)") . "

"; - $sql = "SELECT q.description, si.description as smpl, CONVERT_TZ(a.start,'UTC',@@session.time_zone) as start, CONVERT_TZ(a.end,'UTC',@@session.time_zone) as end,CONCAT(r.firstName, ' ', r.lastName) as resp, IFNULL(ou.description,'" . TQ_("Not yet called") . "') as outcome, oo.firstName as makerName, ooo.firstName as callerName, + $sql = "SELECT MIN(q.description) as description, MIN(si.description) as smpl, MIN(CONVERT_TZ(a.start,'UTC',@@session.time_zone)) as start, MIN(CONVERT_TZ(a.end,'UTC',@@session.time_zone)) as end,MIN(CONCAT(r.firstName, ' ', r.lastName)) as resp, MIN( IFNULL(ou.description,'" . TQ_("Not yet called") . "')) as outcome, MIN(oo.firstName) as makerName, MIN(ooo.firstName) as callerName, CONCAT('', c.case_id, '') as case_id, - CONCAT('  ') as link, - CONCAT('  ') as edit,IFNULL(ao.firstName,'" . TQ_("Any operator") . "') as witho + MIN(CONCAT('  ')) as link, + MIN(CONCAT('  ')) as edit,MIN(IFNULL(ao.firstName,'" . TQ_("Any operator") . "')) as witho FROM appointment as a JOIN (`case` as c, respondent as r, questionnaire as q, operator as oo, call_attempt as cc, `sample` as s, sample_import as si) on (c.sample_id = s.sample_id and a.case_id = c.case_id and a.respondent_id = r.respondent_id and q.questionnaire_id = c.questionnaire_id and a.call_attempt_id = cc.call_attempt_id and cc.operator_id = oo.operator_id and si.sample_import_id = s.import_id) LEFT JOIN (`call` as ca, outcome as ou, operator as ooo) ON (ca.call_id = a.completed_call_id and ou.outcome_id = ca.outcome_id and ca.operator_id = ooo.operator_id) @@ -306,7 +306,6 @@ else { AND (qsq.quota_reached IS NULL OR qsq.quota_reached != 1) AND (qsqr.quota_reached IS NULL OR qsqr.quota_reached != 1) GROUP BY c.case_id ORDER BY a.start ASC"; - $rs = $db->GetAll($sql); if (!empty($rs)) { translate_array($rs,array("outcome")); @@ -316,10 +315,10 @@ else { print "

" . T_("Missed appointments (with times displayed in your time zone)") . "

"; - $sql = "SELECT q.description, si.description as smpl, CONVERT_TZ(a.start,'UTC',@@session.time_zone) as start, CONVERT_TZ(a.end,'UTC',@@session.time_zone) as end, CONCAT(r.firstName, ' ', r.lastName) as resp, - CONCAT('', c.case_id, '') as case_id, - CONCAT('  ') as link, - CONCAT('  ') as edit + $sql = "SELECT MIN(q.description), MIN(si.description) as smpl, MIN(CONVERT_TZ(a.start,'UTC',@@session.time_zone)) as start, MIN(CONVERT_TZ(a.end,'UTC',@@session.time_zone)) as end, MIN(CONCAT(r.firstName, ' ', r.lastName)) as resp, + MIN(CONCAT('', c.case_id, '')) as case_id, + MIN(CONCAT('  ')) as link, + MIN(CONCAT('  ')) as edit FROM appointment as a JOIN (`case` as c, respondent as r, questionnaire as q, `sample` as s, sample_import as si) on (a.case_id = c.case_id and a.respondent_id = r.respondent_id and q.questionnaire_id = c.questionnaire_id and s.sample_id = c.sample_id and s.import_id= si.sample_import_id) LEFT JOIN (`call` as ca) ON (ca.call_id = a.completed_call_id) diff --git a/admin/outcomes.php b/admin/outcomes.php index 4b7ccf55..f69076dd 100644 --- a/admin/outcomes.php +++ b/admin/outcomes.php @@ -79,7 +79,7 @@ if ($questionnaire_id != false) //print "

" . T_("Outcomes") . "

"; print "
" . T_("Sample status") . "
"; - $sql = "SELECT CASE WHEN (c.sample_id is not null) = 1 THEN '" . TQ_("Drawn from sample") . "' ELSE '" . TQ_("Remain in sample") . "' END as drawn, + $sql = "SELECT MIN(CASE WHEN (c.sample_id is not null) = 1 THEN '" . TQ_("Drawn from sample") . "' ELSE '" . TQ_("Remain in sample") . "' END) as drawn, count(*) as count FROM sample as s JOIN questionnaire_sample as qs ON (qs.questionnaire_id = '$questionnaire_id' and qs.sample_import_id = s.import_id) @@ -91,7 +91,7 @@ if ($questionnaire_id != false) print "
" . T_("Case availability (cases with temporary or appointment outcomes)") ."
"; - $sql = "SELECT count(c.case_id) as available, si.description + $sql = "SELECT count(c.case_id) as available, MIN(si.description) as description FROM `case` as c LEFT JOIN `call` as a on (a.call_id = c.last_call_id) JOIN (sample as s, sample_import as si) on (s.sample_id = c.sample_id and si.sample_import_id = s.import_id) @@ -154,7 +154,7 @@ group by s.import_id"; $sql = "SELECT count(case_id) FROM `case` WHERE `case`.questionnaire_id = '$questionnaire_id'"; $cases = $db->GetOne($sql); - $sql = "SELECT CONCAT(' ', '=>' ,' ')as link, o.description as des, o.outcome_id, count(c.case_id) as count, ROUND((count( c.case_id ) / $cases) * 100,2) as perc + $sql = "SELECT MIN(CONCAT(' ', '=>' ,' ')) as link, MIN(o.description) as des, MIN(o.outcome_id) as outcome_id, count(c.case_id) as count, ROUND((count( c.case_id ) / $cases) * 100,2) as perc FROM `case` AS c, `outcome` AS o WHERE c.questionnaire_id = '$questionnaire_id' AND c.current_outcome_id = o.outcome_id @@ -203,7 +203,7 @@ group by s.import_id"; print "
"; //

" . T_("Outcomes") . "

"; - $sql = "SELECT CONCAT(' ', '=>' ,' ')as link, o.description as des, o.outcome_id, count( c.case_id ) as count, ROUND(count(c.case_id) / (SELECT count(case_id) FROM `case` JOIN sample ON (`case`.sample_id = sample.sample_id AND sample.import_id = '$sample_import_id') WHERE questionnaire_id = '$questionnaire_id' ) * 100,2) as perc + $sql = "SELECT MIN(CONCAT(' ', '=>' ,' '))as link, MIN(o.description) as des, o.outcome_id, count( c.case_id ) as count, ROUND(count(c.case_id) / (SELECT count(case_id) FROM `case` JOIN sample ON (`case`.sample_id = sample.sample_id AND sample.import_id = '$sample_import_id') WHERE questionnaire_id = '$questionnaire_id' ) * 100,2) as perc FROM `case` AS c, `outcome` AS o, sample as s WHERE c.questionnaire_id = '$questionnaire_id' @@ -228,7 +228,7 @@ group by s.import_id"; if (isset($_GET['operator_id'])) $operator_id = bigintval($_GET['operator_id']); //display a list of operators !!!worked for this questionnaire_id !!!! - $sql = "SELECT s.operator_id as value, s.firstname as description, CASE WHEN s.operator_id = '$operator_id' THEN 'selected=\'selected\'' ELSE '' END AS selected + $sql = "SELECT MIN(s.operator_id) as value, MIN(s.firstname) as description, MIN(CASE WHEN s.operator_id = '$operator_id' THEN 'selected=\'selected\'' ELSE '' END) AS selected FROM `call` as c , `operator`as s, `case` as ca WHERE ca.questionnaire_id = '$questionnaire_id' AND ca.case_id = c.case_id @@ -246,7 +246,7 @@ group by s.import_id"; { print "

" . T_("Operator call outcomes") . "

"; - $sql = "SELECT o.description as des, o.outcome_id, count( c.call_id ) as count, ROUND((count(c.call_id) / (SELECT count(call.call_id) FROM `call` JOIN `case` ON (call.case_id = `case`.case_id AND `case`.questionnaire_id = $questionnaire_id ) WHERE call.operator_id = '$operator_id')) * 100,2) as perc + $sql = "SELECT MIN(o.description) as des, o.outcome_id, count( c.call_id ) as count, ROUND((count(c.call_id) / (SELECT count(call.call_id) FROM `call` JOIN `case` ON (call.case_id = `case`.case_id AND `case`.questionnaire_id = $questionnaire_id ) WHERE call.operator_id = '$operator_id')) * 100,2) as perc FROM `call` AS c, `case` as ca, `outcome` AS o WHERE ca.questionnaire_id = '$questionnaire_id' AND ca.case_id = c.case_id @@ -273,13 +273,13 @@ group by s.import_id"; print "
"; print "

" . T_("Shifts") . ":

"; - $sql = "SELECT s.shift_id, CONCAT(DATE_FORMAT(CONVERT_TZ(s.start,'UTC',o.Time_zone_name),'" . DATE_FORMAT . "')) as sdate,CONCAT(DATE_FORMAT(CONVERT_TZ(s.start,'UTC',o.Time_zone_name),'" . TIME_FORMAT . "'),'-', DATE_FORMAT(CONVERT_TZ(s.end,'UTC',o.Time_zone_name),'" . TIME_FORMAT . "')) as stime, - CASE WHEN sr.shift_id IS NULL THEN + $sql = "SELECT s.shift_id, MIN(CONCAT(DATE_FORMAT(CONVERT_TZ(s.start,'UTC',o.Time_zone_name),'" . DATE_FORMAT . "'))) as sdate, MIN(CONCAT(DATE_FORMAT(CONVERT_TZ(s.start,'UTC',o.Time_zone_name),'" . TIME_FORMAT . "'),'-', DATE_FORMAT(CONVERT_TZ(s.end,'UTC',o.Time_zone_name),'" . TIME_FORMAT . "'))) as stime, + MIN(CASE WHEN sr.shift_id IS NULL THEN CONCAT('') ELSE CONCAT('') - END AS link, - c.completions as completions, - CONCAT('') as operform + END) AS link, + MIN(c.completions) as completions, + MIN(CONCAT('')) as operform FROM `shift` as s JOIN operator as o on (o.operator_id = '$admin_operator_id') LEFT JOIN shift_report as sr on (sr.shift_id = s.shift_id) diff --git a/admin/quotarow.php b/admin/quotarow.php index bbddd079..07476402 100755 --- a/admin/quotarow.php +++ b/admin/quotarow.php @@ -513,8 +513,8 @@ if ($questionnaire_id != false) if (isset($_GET['sample_var_id'])) $ssample_var_id = $db->qstr($_GET['sample_var_id']); //add sample references (records from sample to exclude when quota reached) - $sql = "SELECT sivr.var_id as value, sivr.var as description, - CASE WHEN sivr.var_id = $ssample_var_id THEN 'selected=\'selected\'' ELSE '' END AS selected + $sql = "SELECT sivr.var_id as value, MIN(sivr.var) as description, + MIN(CASE WHEN sivr.var_id = $ssample_var_id THEN 'selected=\'selected\'' ELSE '' END) AS selected FROM `sample_import_var_restrict` as sivr, `sample_var` AS sv, `sample` AS s WHERE sivr.sample_import_id = $sample_import_id AND s.sample_id = sv.sample_id @@ -539,7 +539,7 @@ if ($questionnaire_id != false)  :  GetAll($sql); $sql = "SELECT sir.var_id, - CONCAT('') as var, - CONCAT ('')) as var, + MIN(CONCAT ('') as type, sv.val, - CONCAT('') as see, - CONCAT('') as del, - sir.restrict IS NULL as existss + $sql .= "')) as type, MIN(sv.val), + MIN(CONCAT('')) as see, + MIN(CONCAT('')) as del, + MIN(sir.restrict IS NULL) as existss FROM sample_import as si, sample_var as sv, sample as s, sample_import_var_restrict as sir, sample_var_type as svt WHERE si.sample_import_id = $sample_import_id AND sir.sample_import_id = si.sample_import_id diff --git a/admin/samplesearch.php b/admin/samplesearch.php index 3fb41ca8..c8a87431 100644 --- a/admin/samplesearch.php +++ b/admin/samplesearch.php @@ -149,7 +149,7 @@ if ($sample_import_id != false) FROM sample_var AS sv JOIN (sample as s) ON (s.import_id = '$sample_import_id' and sv.sample_id = s.sample_id) LEFT JOIN (`case` AS c, questionnaire AS q) ON ( c.sample_id = sv.sample_id AND q.questionnaire_id = c.questionnaire_id ) - GROUP BY s.sample_id, c.case_id"; + GROUP BY sv.sample_id, c.case_id"; $r = $db->GetAll($sql); if ($r) { diff --git a/admin/supervisor.php b/admin/supervisor.php index 910257a2..2d3dda34 100644 --- a/admin/supervisor.php +++ b/admin/supervisor.php @@ -319,8 +319,8 @@ if ($case_id != false) // view sample details print "

 " . T_("Sample details")."

"; - $sql = "SELECT sv.sample_id, c.case_id , s.Time_zone_name, - TIME_FORMAT(CONVERT_TZ(NOW(),@@session.time_zone,s.Time_zone_name),'". TIME_FORMAT ."') as time + $sql = "SELECT sv.sample_id, MIN(c.case_id) as case_id , MIN(s.Time_zone_name) as Time_zone_name, + MIN(TIME_FORMAT(CONVERT_TZ(NOW(),@@session.time_zone,s.Time_zone_name),'". TIME_FORMAT ."')) as time FROM sample_var AS sv LEFT JOIN (`case` AS c , sample as s) ON ( c.sample_id = sv.sample_id AND s.sample_id = c.sample_id ) WHERE c.case_id = '$case_id' GROUP BY sv.sample_id"; @@ -363,15 +363,15 @@ if ($case_id != false) print "

 " . T_("Appointments")."

"; $sql = "SELECT - CONVERT_TZ(a.start,'UTC',@@session.time_zone) as start, - CONVERT_TZ(a.end,'UTC',@@session.time_zone) as end, - CONCAT(r.firstName,' ', r.lastName) as resp, - IFNULL(ou.description,'" . T_("Not yet called") . "') as outcome, - CONCAT (oo.firstName,' ', oo.lastName) as makerName, - CONCAT (ooo.firstName,' ', ooo.lastName) as callerName, - CONCAT('', c.case_id, '') as case_id, - CONCAT('  ') as link, - CONCAT('  ') as edit + MIN(CONVERT_TZ(a.start,'UTC',@@session.time_zone)) as start, + MIN(CONVERT_TZ(a.end,'UTC',@@session.time_zone)) as end, + MIN(CONCAT(r.firstName,' ', r.lastName)) as resp, + MIN(IFNULL(ou.description,'" . T_("Not yet called") . "')) as outcome, + MIN(CONCAT (oo.firstName,' ', oo.lastName)) as makerName, + MIN(CONCAT (ooo.firstName,' ', ooo.lastName)) as callerName, + MIN(CONCAT('', c.case_id, '')) as case_id, + MIN(CONCAT('  ')) as link, + MIN(CONCAT('  ')) as edit FROM appointment as a JOIN (`case` as c, respondent as r, questionnaire as q, operator as oo, call_attempt as cc) on (a.case_id = c.case_id and a.respondent_id = r.respondent_id and q.questionnaire_id = c.questionnaire_id and a.call_attempt_id = cc.call_attempt_id and cc.operator_id = oo.operator_id) LEFT JOIN (`call` as ca, outcome as ou, operator as ooo) ON (ca.call_id = a.completed_call_id and ou.outcome_id = ca.outcome_id and ca.operator_id = ooo.operator_id) diff --git a/functions/functions.display.php b/functions/functions.display.php index 19ff6476..10fdb592 100644 --- a/functions/functions.display.php +++ b/functions/functions.display.php @@ -125,7 +125,7 @@ function display_sample_chooser($questionnaire_id, $sample_import_id = false, $d } else { $qr = ""; $qrq = ""; } - $sql = "SELECT s.sample_import_id,si.description,CASE WHEN s.sample_import_id = '$sample_import_id' THEN 'selected=\'selected\'' ELSE '' END AS selected + $sql = "SELECT s.sample_import_id,MIN(si.description) as description,CASE WHEN s.sample_import_id = '$sample_import_id' THEN 'selected=\'selected\'' ELSE '' END AS selected FROM questionnaire_sample as s, sample_import as si $qr WHERE s.questionnaire_id = '$questionnaire_id' AND s.sample_import_id = si.sample_import_id $s $qrq @@ -173,4 +173,4 @@ function display_quota_chooser($questionnaire_id, $sample_import_id, $qsqri = fa print "
"; } -?> \ No newline at end of file +?>