Commit 7bf03170 authored by alissonalbuquerque's avatar alissonalbuquerque
Browse files

fix(ValidationLimitTIme): add correção de passes e message function de classe de validação

parent c8b577a7
...@@ -61,11 +61,11 @@ class TaskTimeController extends Controller ...@@ -61,11 +61,11 @@ class TaskTimeController extends Controller
return redirect() return redirect()
->route('task_time_index', ['user_pad_id' => $model->user_pad_id]) ->route('task_time_index', ['user_pad_id' => $model->user_pad_id])
->with('fail', 'Erro ao Atualizar!'); ->with('fail', 'Erro ao Atualizar!');
} }
public function delete($id) { public function delete($id) {
$model = TaskTime::find($id); $model = TaskTime::find($id);
if($model->delete()) { if($model->delete()) {
......
...@@ -106,7 +106,7 @@ class ValidationLimitTime implements Rule ...@@ -106,7 +106,7 @@ class ValidationLimitTime implements Rule
* @return bool * @return bool
*/ */
public function passes($attribute, $value) public function passes($attribute, $value)
{ {
//-------------------------------------------------------------- //--------------------------------------------------------------
$date_time_start = new DateTime($this->taskTime->start_time); $date_time_start = new DateTime($this->taskTime->start_time);
...@@ -136,7 +136,7 @@ class ValidationLimitTime implements Rule ...@@ -136,7 +136,7 @@ class ValidationLimitTime implements Rule
$date_interval = new DateInterval("P{$date_interval_days}DT{$date_interval_hours}H{$date_interval_minutes}M"); $date_interval = new DateInterval("P{$date_interval_days}DT{$date_interval_hours}H{$date_interval_minutes}M");
//-------------------------------------------------------------- //--------------------------------------------------------------
$limit_minutes = TaskTime::date_interval_to_minutes($limit_date_interval); $limit_minutes = TaskTime::date_interval_to_minutes($limit_date_interval);
$interval_minutes = TaskTime::date_interval_to_minutes($date_interval); $interval_minutes = TaskTime::date_interval_to_minutes($date_interval);
...@@ -150,62 +150,55 @@ class ValidationLimitTime implements Rule ...@@ -150,62 +150,55 @@ class ValidationLimitTime implements Rule
*/ */
public function message() public function message()
{ {
//-------------------------------------------------------------- /** @var DateInterval */
$limit_date_interval = $this->limit_date_interval;
$date_time_start = new DateTime($this->taskTime->start_time);
$date_time_end = new DateTime($this->taskTime->end_time);
/** @var DateInternal|null */
$diff = $date_time_end->diff($date_time_start);
[$hours, $minutes] = [$diff->h, $diff->i];
$new_model_date_interval = new DateInterval("PT{$hours}H{$minutes}M");
//-------------------------------------------------------------- /** @var DateInterval */
$date_interval = TaskTime::sum_interval_times($this->taskTimes);
$limit_date_interval = $this->limit_date_interval; /** @var integer */
$limit_minutes = TaskTime::date_interval_to_minutes($limit_date_interval);
//-------------------------------------------------------------- /** @var integer */
$interval_minutes = TaskTime::date_interval_to_minutes($date_interval);
$date_interval = TaskTime::sum_interval_times($this->taskTimes); /** @var integer */
$diff_minutes = $limit_minutes - $interval_minutes;
[$date_interval_days, $date_interval_hours, $date_interval_minutes] = [$date_interval->d, $date_interval->h, $date_interval->i]; /** @var DateInterval */
$diff_date_interval = new DateInterval("PT{$diff_minutes}M");
[$new_model_days, $new_model_hours, $new_model_minutes] = [$new_model_date_interval->d, $new_model_date_interval->h, $new_model_date_interval->i]; /** @var DateTime */
$date_time = new DateTime('00:00:00');
$date_interval_days = $date_interval_days + $new_model_days; $date_time->add($diff_date_interval);
$date_interval_hours = $date_interval_hours + $new_model_hours;
$date_interval_minutes = $date_interval_minutes + $new_model_minutes;
$date_interval = new DateInterval("P{$date_interval_days}DT{$date_interval_hours}H{$date_interval_minutes}M"); $diff_time = $date_time->format('H:i');
//-------------------------------------------------------------- //--------------------------------------------------------------
dd([ $date_time_start = new DateTime($this->taskTime->start_time);
'limite' => $limit_date_interval, $date_time_end = new DateTime($this->taskTime->end_time);
'total' => $date_interval
]);
// $limitDateTime = new DateTime($this->limit_hours); /** @var DateInternal|null */
$diff = $date_time_end->diff($date_time_start);
// $sumDateTime = TaskTime::sumIntervalTimes($this->taskTimes); [$hours, $minutes] = [$diff->h, $diff->i];
// $diffInterval = $sumDateTime->diff($limitDateTime); $new_model_date_interval = new DateInterval("PT{$hours}H{$minutes}M");
// $dateTime = new DateTime('00:00:00'); /** @var DateTime */
$new_date_time = new DateTime('00:00:00');
// $dateTime->add($diffInterval); $new_date_time->add($new_model_date_interval);
// $diff_time = $dateTime->format('H:i'); $interval_time = $new_date_time->format('H:i');
// $taskTime = $this->createTaskTime(); //--------------------------------------------------------------
// $interval_time = $taskTime->intervalTime('H:i');
// $msgError = "Carga horária disponível restante: {$diff_time} hora(s)!"; $msg_error = $diff_time != "00:00" ? "Carga horária disponível restante: {$diff_time} hora(s)! {$interval_time} hora(s)! Informada(s)!" : "Atividade Indisponível! Limite de Horas Alcançado!";
// $msgError .= $diff_time == "00:00"? " Atividade Indisponível!" : " Intervalo entre inicio e fim : {$interval_time} hora(s)!";
return $msgError; return $msg_error;
} }
/** /**
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment