forked from science-ation/science-ation
44a79493aa
Create scheduler configuration page to handle setup parameters for the automatic judge team assignments Create the annealer to handle the actual assignments of judges to judging teams based on the lowest cost function of each individual team. Currently takes into account: a) age category preference, b) divisional areas of expertise. still requires: years of experience, language preference, and 'team captain' scheduling.
182 lines
3.5 KiB
PHP
182 lines
3.5 KiB
PHP
<?
|
|
function getJudgingTeams()
|
|
{
|
|
global $config;
|
|
|
|
$q=mysql_query("SELECT judges_teams.id,
|
|
judges_teams.num,
|
|
judges_teams.name
|
|
FROM
|
|
judges_teams
|
|
WHERE
|
|
judges_teams.year='".$config['FAIRYEAR']."'
|
|
ORDER BY
|
|
num,name
|
|
");
|
|
|
|
$lastteamid=-1;
|
|
$lastteamnum=-1;
|
|
echo mysql_error();
|
|
$teams=array();
|
|
while($r=mysql_fetch_object($q))
|
|
{
|
|
$teams[$r->id]['id']=$r->id;
|
|
$teams[$r->id]['num']=$r->num;
|
|
$teams[$r->id]['name']=$r->name;
|
|
$lastteamid=$r->id;
|
|
$lastteamnum=$r->num;
|
|
|
|
//get the members for this team
|
|
$mq=mysql_query("SELECT
|
|
judges.id AS judges_id,
|
|
judges.firstname,
|
|
judges.lastname,
|
|
judges_teams_link.captain
|
|
|
|
FROM
|
|
judges,
|
|
judges_teams_link
|
|
WHERE
|
|
judges_teams_link.judges_id=judges.id AND
|
|
judges_teams_link.judges_teams_id='$r->id'
|
|
ORDER BY
|
|
captain DESC,
|
|
lastname,
|
|
firstname");
|
|
echo mysql_error();
|
|
|
|
|
|
while($mr=mysql_fetch_object($mq))
|
|
{
|
|
$teams[$lastteamid]['members'][]=array(
|
|
"id"=>$mr->judges_id,
|
|
"firstname"=>$mr->firstname,
|
|
"lastname"=>$mr->lastname,
|
|
"captain"=>$mr->captain
|
|
);
|
|
}
|
|
|
|
//get the awards for this team
|
|
$aq=mysql_query("SELECT award_awards.id,
|
|
award_awards.name,
|
|
award_awards.award_types_id,
|
|
award_types.type AS award_type
|
|
FROM
|
|
award_awards,
|
|
judges_teams_awards_link,
|
|
award_types
|
|
WHERE
|
|
judges_teams_awards_link.award_awards_id=award_awards.id
|
|
AND judges_teams_awards_link.judges_teams_id='$r->id'
|
|
AND award_awards.award_types_id=award_types.id
|
|
AND award_types.year='{$config['FAIRYEAR']}'
|
|
ORDER BY
|
|
name
|
|
");
|
|
while($ar=mysql_fetch_object($aq))
|
|
{
|
|
$teams[$r->id]['awards'][]=array(
|
|
"id"=>$ar->id,
|
|
"name"=>$ar->name,
|
|
"award_types_id"=>$ar->award_types_id,
|
|
"award_type"=>$ar->award_type
|
|
);
|
|
}
|
|
}
|
|
return $teams;
|
|
}
|
|
|
|
function getJudgingTeam($teamid)
|
|
{
|
|
global $config;
|
|
|
|
$q=mysql_query("SELECT judges_teams.id,
|
|
judges_teams.num,
|
|
judges_teams.name
|
|
|
|
FROM
|
|
judges_teams
|
|
WHERE
|
|
judges_teams.year='".$config['FAIRYEAR']."' AND
|
|
judges_teams.id='$teamid'
|
|
ORDER BY
|
|
num,
|
|
name
|
|
");
|
|
|
|
$team=array();
|
|
|
|
$first=true;
|
|
while($r=mysql_fetch_object($q))
|
|
{
|
|
$team['id']=$r->id;
|
|
$team['num']=$r->num;
|
|
$team['name']=$r->name;
|
|
|
|
//get the members for this team
|
|
$mq=mysql_query("SELECT
|
|
judges.id AS judges_id,
|
|
judges.firstname,
|
|
judges.lastname,
|
|
judges_teams_link.captain
|
|
|
|
FROM
|
|
judges,
|
|
judges_teams_link
|
|
WHERE
|
|
judges_teams_link.judges_id=judges.id AND
|
|
judges_teams_link.judges_teams_id='$r->id'
|
|
ORDER BY
|
|
captain DESC,
|
|
lastname,
|
|
firstname");
|
|
echo mysql_error();
|
|
|
|
|
|
while($mr=mysql_fetch_object($mq))
|
|
{
|
|
$team['members'][]=array(
|
|
"id"=>$mr->judges_id,
|
|
"firstname"=>$mr->firstname,
|
|
"lastname"=>$mr->lastname,
|
|
"captain"=>$mr->captain
|
|
);
|
|
}
|
|
|
|
|
|
//get the awards for this team
|
|
$aq=mysql_query("SELECT award_awards.id,
|
|
award_awards.name,
|
|
award_awards.award_types_id,
|
|
award_types.type AS award_type
|
|
FROM
|
|
award_awards,
|
|
judges_teams_awards_link,
|
|
award_types
|
|
WHERE
|
|
judges_teams_awards_link.award_awards_id=award_awards.id
|
|
AND judges_teams_awards_link.judges_teams_id='$r->id'
|
|
AND award_awards.award_types_id=award_types.id
|
|
AND award_types.year='{$config['FAIRYEAR']}'
|
|
ORDER BY
|
|
name
|
|
");
|
|
while($ar=mysql_fetch_object($aq))
|
|
{
|
|
$team['awards'][]=array(
|
|
"id"=>$ar->id,
|
|
"name"=>$ar->name,
|
|
"award_types_id"=>$ar->award_types_id,
|
|
"award_type"=>$ar->award_type
|
|
);
|
|
}
|
|
|
|
|
|
}
|
|
|
|
return $team;
|
|
|
|
}
|
|
|
|
?>
|