Sistema para sorteio de tarefas
Boa tarde pessoal, estou iniciando em desenvolvimento web, e estava criando um sisteminha que fizesse um sorteio de tarefas.
Exemplo: existe uma lista de pessoas, cada pessoa tem um cargo, algumas tarefas so cargos especificos podem fazer.
O que estiver com o 'PIN'=>WT pode ser 'MC' o restante não.
As tarefas são delegadas por ordem de 'box' e são feitas por dia. Cada dia vai ter uma distribuição de tarefas. No próximo dia será delegada a tarefa ao próximo 'box'. Não repetindo o anterior.
E nem colocando mais de uma tarefa por box.
A prioridade para as tarefas é: Plantão,Shake1,Shake2,MC,DJ Se for plantão, nao pode delegar outratarefa, segue para o proximo box.
Ex.:
array("nome"=>"Fabi&Fabio","pin"=>"SUP","box"=>4 ),
array("nome"=>"Clau","pin"=>"WT","box"=>8 ),
array("nome"=>"Edi&Renata","pin"=>"SUP","box"=>9 ),
array("nome"=>"Maicol&Ju","pin"=>"SUP","box"=>10 ),
array("nome"=>"Renato","pin"=>"SUP","box"=>11 ),
array("nome"=>"Leia","pin"=>"WT","box"=>13 ),
array("nome"=>"Djou","pin"=>"SUP","box"=>15 ),
array("nome"=>"Sid","pin"=>"WT","box"=>16 ),
array("nome"=>"Tobias","pin"=>"SUP","box"=>17 ),
array("nome"=>"BemFica","pin"=>"SUP","box"=>18 ),
array("nome"=>"Marcos&Dheni","pin"=>"WT","box"=>19 ),
array("nome"=>"Su&Wender","pin"=>"WT","box"=>20 ),
array("nome"=>"ViVi&Will","pin"=>"SUP","box"=>21 ),
Saida:
Dia: 2019-11-05Plantão:4 - Fabi&FabioShake1: 8 - ClauShake2: 10 - Edi&RenataMC: 13 - LeiaDJ: 10- Maicol&Ju
No proximo ficaria:
Dia: 2019-11-07Plantão: 8 - ClauShake1: 10- Maicol&JuShake2: 11 -RenatoMC: 16- SidDJ: 13 - Leia
Abaixo o codigo que fiz ate agora:
<meta charset="UTF-8">
<?php
// Matriz com todos os coach
$coachs = array
(
//array("nome"=>"Fabi","pin"=>"SUP","box"=>4,"personal"=>1),
array("nome"=>"Fabi&Fabio","pin"=>"SUP","box"=>4,"personal"=>0),
array("nome"=>"Clau","pin"=>"WT","box"=>8,"personal"=>0),
array("nome"=>"Edi&Renata","pin"=>"SUP","box"=>9,"personal"=>0),
array("nome"=>"Maicol&Ju","pin"=>"SUP","box"=>10,"personal"=>0),
array("nome"=>"Renato","pin"=>"SUP","box"=>11,"personal"=>0),
//array("nome"=>"Juninho","pin"=>"WT","box"=>12,"personal"=>1),
array("nome"=>"Leia","pin"=>"WT","box"=>13,"personal"=>0),
array("nome"=>"Djou","pin"=>"SUP","box"=>15,"personal"=>0),
array("nome"=>"Sid","pin"=>"WT","box"=>16,"personal"=>0),
array("nome"=>"Tobias","pin"=>"SUP","box"=>17,"personal"=>0),
array("nome"=>"BemFica","pin"=>"SUP","box"=>18,"personal"=>0),
array("nome"=>"Marcos&Dheni","pin"=>"WT","box"=>19,"personal"=>0),
array("nome"=>"Su&Wender","pin"=>"WT","box"=>20,"personal"=>0),
array("nome"=>"ViVi&Will","pin"=>"SUP","box"=>21,"personal"=>0),
);
// Definindo o número de participantes
$numCoachs = sizeof($coachs);
$coachsWt = 0;
foreach ($coachs as $key => $value) {
echo $key."-".$value['nome']." - ".$value['pin']."<br>";
if ($value['pin'] == 'WT') {
$coachsWt = $coachsWt + 1;
}
}
echo "<hr>";
echo "qtd coachs:".count($coachs);
echo "<br>";
echo "qtd wt:".$coachsWt;
echo "<hr>";
// Sorteando MC
$begin = new DateTime( "2019-11-03" );
$end = new DateTime( "2019-12-03" );
echo "<hr>";
$cont = 0;
for($i = $begin; $i <= $end; $i->modify('+1 day')){
$diasemana = date('D', strtotime($i->format('Y-m-d')));
if (($diasemana == 'Tue')||($diasemana == 'Thu')||($diasemana == 'Sat') ){
echo $i->format('Y-m-d');
echo "<br>";
if (($cont+2)>=$numCoachs || ($cont+3)>=$numCoachs || ($cont+4)>=$numCoachs) {
$cont = 0;
}
$plantao = $coachs[$cont]['nome'];
echo 'Plantão: '.$plantao;
echo "<br>";
if ($cont==0) {
$shake1 = $coachs[$cont+1]['nome'];
$shake2 = $coachs[$cont+2]['nome'];
$dj = $coachs[$cont+3]['nome'];
}else{
$shake1 = $coachs[$cont+2]['nome'];
$shake2 = $coachs[$cont+3]['nome'];
$dj = $coachs[$cont+4]['nome'];
}
/*$shake1 = next($coachs['nome']);
$shake2 = next($coachs['nome']);
$dj = next($coachs['nome']);
2019-11-05
Plantão: Fabi&Fabio
Shake1: Maicol&Ju
Shake2: Clau
MC: Renato
DJ: Renato*/
echo 'Shake1: '.$shake1;
echo "<br>";
echo 'Shake2: '.$shake2;
echo "<br>";
for ($j=0; $j < $numCoachs; $j++) {
if ($coachs[$j]['pin'] == 'WT') {
$sorteado = $coachs[$j]['nome'];
if ($sorteado == $plantao || $sorteado == $shake1 || $sorteado == $shake2) {
$sorteado = $coachs[$j+1]['nome'];
}
if(empty($sorteadoAnterior)){
echo "MC: ".$sorteado;
echo "<br>";
$sorteadoAnterior[] = $sorteado;
if (($dj == $shake1)||($dj == $shake2)||($dj == $sorteado)||($dj == $plantao)) {
if ($cont==0) {
$dj = $coachs[$cont+4]['nome'];
}else{
$dj = $coachs[$cont+5]['nome'];
}
}
break;
}
if (!in_array($coachs[$j]['nome'], $sorteadoAnterior)) {
echo "MC: ".$sorteado;
echo "<br>";
$sorteadoAnterior[] = $sorteado;
if($coachsWt == sizeof($sorteadoAnterior)){
$sorteadoAnterior = array();
}
if (($dj == $shake1)||($dj == $shake2)||($dj == $sorteado)||($dj == $plantao)) {
if ($cont==0) {
$dj = $coachs[$cont+4]['nome'];
}else{
$dj = $coachs[$cont+5]['nome'];
}
}
break;
}
}
}
if ($cont > sizeof($coachs)) {
$cont = 0;
}else{
$cont = $cont+1;
}
echo 'DJ: '.$dj;
echo "<hr>";
}
}
?>Discussão (0)
Carregando comentários...