adding a comment system to the elementary tasks, and adding a new state when the task is completed,

updating of tasks TE7 and TE14, improvements to the equipment portfolio for technicians
This commit is contained in:
ygbanzato 2024-08-27 12:58:06 +01:00
parent a2eca495db
commit bb45616797
10 changed files with 1981 additions and 911 deletions

View File

@ -6,10 +6,14 @@
use App\Models\ControlEquipmentWorkstation;
use App\Models\ElementalTasks;
use App\Models\Equipment;
use App\Models\EquipmentAssociationAmbit;
use App\Models\EquipmentComment;
use App\Models\EquipmentWorkHistory;
use App\Models\HistoryOfEquipmentAmbitsInTheProject;
use App\Models\OrderEquipmentTasks;
use App\Models\SpecificAttributesEquipmentType;
use App\Models\TaskEquipmentComment;
use App\Models\TasksAssociationAmbits;
use App\Models\workstationsTaskAnswers;
use App\Models\ReceiveImagesControlEquipmentWorkstation; // Ajuste o namespace conforme necessário
@ -24,6 +28,85 @@
class WorkstationsJobsController extends Controller
{
public function verifyEquipmentStatusTe7($id)
{
// Verificar a condição no banco de dados
$controlEquipment = ControlEquipmentWorkstation::find($id);
// Se não encontrar, devolve uma 404
if (!$controlEquipment) {
return response()->json(['status' => 'not_found'], 404);
}
// Obter o histórico de trabalho do equipamento
$equipmentWorkHistorys = EquipmentWorkHistory::find($controlEquipment->equipmentWorkHistorys_id);
if (!$equipmentWorkHistorys) {
return response()->json(['status' => 'not_found', 'message' => 'Histórico de trabalho do equipamento não encontrado'], 404);
}
// Obter os detalhes do equipamento
$detailsEquipment = Equipment::find($equipmentWorkHistorys->equipment_id);
if (!$detailsEquipment) {
return response()->json(['status' => 'not_found', 'message' => 'Equipamento não encontrado'], 404);
}
// Determinar se é um PSV
$isPSV = $detailsEquipment->equipment_type_id == 3;
// Continuar a verificação no âmbito
$detailsEquipmentAmbit = EquipmentAssociationAmbit::where('equipmentWorkHistorys_id', $controlEquipment->equipmentWorkHistorys_id)->first();
if (!$detailsEquipmentAmbit) {
return response()->json(['status' => 'not_found', 'message' => 'Associação do equipamento com âmbito não encontrada'], 404);
}
$ambitsId = $detailsEquipmentAmbit->ambits_id;
// Verificar se o âmbito associado possui as tarefas 8 e/ou 9
$task8Exists = TasksAssociationAmbits::where('ambits_equipment_id', $ambitsId)
->where('elemental_tasks_id', 8)
->exists();
$task9Exists = $isPSV ? TasksAssociationAmbits::where('ambits_equipment_id', $ambitsId)
->where('elemental_tasks_id', 9)
->exists() : false;
// Lógica para verificar a conclusão das tarefas, se existirem
if ($task8Exists || $task9Exists) {
// Verificar se a tarefa 8 foi completada, se existir
$task8Completed = $task8Exists ? ControlEquipmentWorkstation::where('equipmentWorkHistorys_id', $controlEquipment->equipmentWorkHistorys_id)
->where('elemental_tasks_id', 8)
->whereNotNull('departure_date')
->exists() : true;
// Verificar se a tarefa 9 foi completada, se for PSV e existir
$task9Completed = $task9Exists ? ControlEquipmentWorkstation::where('equipmentWorkHistorys_id', $controlEquipment->equipmentWorkHistorys_id)
->where('elemental_tasks_id', 9)
->whereNotNull('departure_date')
->exists() : true;
// Retornar resposta com base nos resultados
if ($task8Completed && $task9Completed) {
return response()->json(['status' => true, 'message' => 'Completou todas as tarefas relevantes.']);
} elseif ($task8Completed && !$task9Exists) {
return response()->json(['status' => true, 'message' => 'Tarefa TE5 completada. Tarefa TE6 não é aplicável.']);
} elseif ($task9Completed && !$task8Exists) {
return response()->json(['status' => true, 'message' => 'Tarefa TE6 completada. Tarefa TE5 não é aplicável.']);
} elseif (!$task8Completed && $task8Exists) {
return response()->json(['status' => false, 'message' => 'Tarefa TE5 não foi completada.']);
} elseif (!$task9Completed && $task9Exists) {
return response()->json(['status' => false, 'message' => 'Tarefa TE6 não foi completada.']);
}
} else {
// Se nenhuma tarefa relevante existir no âmbito, considera como completado
return response()->json(['status' => true, 'message' => 'Nenhuma tarefa relevante encontrada no âmbito.']);
}
}
public function updateSessionStatus(Request $request, $controlEquipmentId)
{
@ -40,6 +123,7 @@ public function updateSessionStatus(Request $request, $controlEquipmentId)
}
public function receiveQuestionsEquipment($equipmentID)
{
//Busca os valores do historico do equipamento
@ -81,7 +165,6 @@ public function receiveQuestionsEquipment($equipmentID)
}
public function receiveAnswersEquipment(Request $request, $control_equipment_workstation_id)
{
// dd($control_equipment_workstation_id);
//No request recebemos ID(NUmero da tarela elementar) , esta variavel vai receber este ID apos selerar o id da string
// $elementalTaskID = 0;
// Deve receber as perguntas e respostas para a tarefa selecionada
@ -145,13 +228,24 @@ public function receiveAnswersEquipment(Request $request, $control_equipment_wor
// Busca a Ws com base no id recebido da tabela Control.
$receiveDataControlWs = ControlEquipmentWorkstation::find($control_equipment_workstation_id);
// Cria um novo comentario para a tarefa em particular.
$newTaskEquipmentComments = new TaskEquipmentComment;
$newTaskEquipmentComments->equipmentWorkHistorys_id = $receiveDataControlWs->equipmentWorkHistorys_id;
$newTaskEquipmentComments->control_equipment_workstation_id = $receiveDataControlWs->control_equipment_workstation_id;
$newTaskEquipmentComments->task_comment = $request->comment;
$newTaskEquipmentComments->save();
// Apos ter cria um novo comentario para a tarefa, adiciona na control para relacionar o comentario a tarefa atual
$receiveDataControlWs->task_equipment_comments_id = $newTaskEquipmentComments->task_equipment_comments_id;
$receiveDataControlWs->elemental_tasks_id = $elementalTaskID;
$receiveDataControlWs->departure_date = now();
// Vai sempre procurar o primeira ocorrencia que tem o campo : time_change_ambit como null, pois outros dados para este mesmo equipamento seriam considerados Ambitos antigos e ja alterados de acordo com o valor de seu timestamp
$receiveHistoryEquipmentAmbits = HistoryOfEquipmentAmbitsInTheProject::where('equipmentWorkHistorys_id', $receiveDataControlWs->equipmentWorkHistorys_id)
->whereNull('time_change_ambit')
->first();
->whereNull('time_change_ambit')
->first();
$receiveDataControlWs->history_of_equipment_ambits_id = $receiveHistoryEquipmentAmbits->history_of_equipment_ambits_id;
@ -231,6 +325,15 @@ public function getEquipmentData($equipment_id, $component_tag)
// Recebe os dados do Equipamento
$receiveDataEquipment = Equipment::where('equipment_id', $equipment_id)->first();
//Recebe os atributos especificos
$specificAttributes = SpecificAttributesEquipmentType::where('equipment_id', $receiveDataEquipment->equipment_id)->get();
$specificAttributesArray = [];
foreach ($specificAttributes as $attribute) {
$specificAttributesArray[$attribute->general_attributes_equipment_id] = $attribute->specific_attributes_value;
}
$tagType = explode('@', $component_tag)[1]; // Isola o tipo da tag após o '@'
@ -240,6 +343,10 @@ public function getEquipmentData($equipment_id, $component_tag)
->where('company_projects_id', $receiveDataEquipment->company_projects_id)
->first();
//Recebe os dados do Ambito para o equipamento atual
$receiveAmbit = EquipmentAssociationAmbit::where('equipmentWorkHistorys_id', $receiveEquipmentWorkHistory->equipmentWorkHistorys_id)->first();
if ($receiveEquipmentWorkHistory && $receiveEquipmentWorkHistory->equipment_status_project == 2) {
return redirect()->back()->with('danger', 'O equipamento já está concluído');
}
@ -399,23 +506,24 @@ public function getEquipmentData($equipment_id, $component_tag)
$task->cardTypeStyle = 'blue'; // Define o estilo de cor
}
// Verifica se o id da tarefa está no array de tarefas que não podem ser feitas
elseif (in_array($task->elemental_tasks_id, $divisionElementalTasks[2])) {
$task->cardType = 'card-primary';
$task->cardTypeStyle = 'gray'; // Define o estilo de cor
// Consulta ControlEquipmentWorkstation para verificar as condições especificadas
$controlEquipment = ControlEquipmentWorkstation::where('elemental_tasks_id', $task->elemental_tasks_id)
// Consulta se a tarefa já foi feita anteriormente em outro posto
$previouslyCompletedTask = ControlEquipmentWorkstation::where('elemental_tasks_id', $task->elemental_tasks_id)
->where('equipmentWorkHistorys_id', $task->equipmentWorkHistorys_id)
->whereNotNull('entry_date')
->whereNotNull('departure_date')
->orderByDesc('departure_date') // Ordena por departure_date de forma decrescente
->first();
if ($controlEquipment) {
// Se encontrar, atribuir control_equipment_workstation_id
$task->control_equipment_workstation_id = $controlEquipment->control_equipment_workstation_id;
if ($previouslyCompletedTask) {
$task->cardType = 'card-primary';
$task->cardTypeStyle = '#8CC084'; // Define o estilo de cor laranja para tarefas já feitas em outro posto
//buscar dados na model workstationsTaskAnswers
// Atribui o control_equipment_workstation_id e outras informações, se necessário
$task->control_equipment_workstation_id = $previouslyCompletedTask->control_equipment_workstation_id;
// Buscar dados na model workstationsTaskAnswers
$workstationTaskAnswer = WorkstationsTaskAnswers::where('control_equipment_workstation_id', $task->control_equipment_workstation_id)
->first();
@ -432,7 +540,9 @@ public function getEquipmentData($equipment_id, $component_tag)
// Atribui o array formatado ao task
$task->formatted_answers = $formattedAnswers;
}
} else {
$task->cardType = 'card-primary';
$task->cardTypeStyle = 'gray'; // Define o estilo de cor
}
}
@ -504,12 +614,15 @@ public function getEquipmentData($equipment_id, $component_tag)
return $comment;
});
$receiveDataEquipment->istp_number = $receiveEquipmentWorkHistory->ispt_number;
$receiveDataEquipment->equipment_ambit = $receiveAmbit->ambitsEquipment->ambits_description;
return view('workstations.workstations', [
// Deve receber o atual COntrol ID ? tudo a vez que atualizar ??
'receiveComments' => $receiveComments,
'dataControlEquipment' => $receiveDataControlEquipment,
'receiveDataEquipment' => $receiveDataEquipment,
'specificAttributesArray' => $specificAttributesArray,
'recebeTasksForEquipment' => $recebeTasksForEquipment,
'receiveComponentTag' => $component_tag
// 'divisionElementalTasks' => $divisionElementalTasks,

View File

@ -54,7 +54,7 @@ protected function getAllowedRoutesForUserType($userType)
switch ($userType) {
case 5: // Técnico
return ['enterWorkstation', 'getEquipmentData', 'receiveAnswersEquipment'];
return ['enterWorkstation', 'getEquipmentData', 'receiveAnswersEquipment','sendTaskComment'];
case 3: // Empresa
return ['dashboardClient','reportingDataClient', 'manageAssetsClient','usersProfiles',
// Obras em Execussao

View File

@ -32,6 +32,11 @@ public function controlEquipmentWorkstation()
return $this->hasMany(ControlEquipmentWorkstation::class, 'equipmentWorkHistorys_id', 'equipmentWorkHistorys_id');
}
public function taskEquipmentComment()
{
return $this->hasMany(TaskEquipmentComment::class, 'equipmentWorkHistorys_id', 'equipmentWorkHistorys_id');
}
public function equipmentAssociationAmbit()
{
return $this->hasOne(EquipmentAssociationAmbit::class, 'equipmentWorkHistorys_id', 'equipmentWorkHistorys_id');

View File

@ -0,0 +1,26 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class TaskEquipmentComment extends Model
{
use HasFactory;
public $timestamps = false;
protected $table = 'task_equipment_comments';
protected $primaryKey = 'task_equipment_comments_id';
protected $fillable = ['equipmentWorkHistorys_id', 'task_comment'];
public function equipmentWorkHistory()
{
return $this->belongsTo(EquipmentWorkHistory::class, 'equipmentWorkHistorys_id', 'equipmentWorkHistorys_id');
}
}

View File

@ -41,6 +41,49 @@
border: 1px solid #56606a;
color: #fff;
}
/* Css para icon de validacao da TE7 */
.info-icon {
width: 25px;
height: 25px;
background-color: #dc3545;
/* Vermelho por padrão */
color: white;
text-align: center;
line-height: 25px;
border-radius: 50%;
cursor: pointer;
font-weight: bold;
font-size: 18px;
}
.info-box {
display: none;
position: absolute;
top: -35px;
/* Ajuste para posicionar acima do ícone */
left: 50%;
/* Alinhar ao centro do ícone */
transform: translateX(-50%);
padding: 10px;
background-color: #343a40;
color: #fff;
border-radius: 5px;
white-space: nowrap;
z-index: 10;
}
.info-box.green {
background-color: #28a745;
/* Verde */
}
.info-box.red {
background-color: #dc3545;
/* Vermelho */
}
/* /* Css para icon de validacao da TE7 */
</style>
</head>
@ -153,30 +196,9 @@ class="brand-image img-circle elevation-3" style="opacity: .8">
<br>
<br>
<br>
<nav class="mt-2">
{{-- <ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" >
<!-- Add icons to the links using the .nav-icon class
with font-awesome or any other icon font library -->
<li class="menu-closed">
<a href="#" class="nav-link text-white" style="background-color: #007BFF;">
<i class="fas fa-play"></i>
<p>
{{ count($receiveAllEquipmentOfProject) }}
a iniciar
<i class="right fas fa-angle-left"></i>
</p>
</a>
<ul class="nav-treeview">
@foreach ($receiveAllEquipmentOfProject as $equipmentOfProject)
<div class="row text-white">
<div class="col-sm-1"><i class="fas fa-tag nav-icon"></i></div>
<div class="col-sm-11"> <p>{{ $equipmentOfProject->equipment_tag }}</p></div>
</div>
@endforeach
</ul>
</li>
</ul> --}}
<nav class="mt-2">
<ul class="nav nav-pills nav-sidebar flex-column searchable" data-widget="treeview"
role="menu" data-accordion="false">
<h4 style="color:#fff">Tabela informativa :</h4>
@ -202,6 +224,37 @@ class="brand-image img-circle elevation-3" style="opacity: .8">
</li>
</ul>
<br>
{{-- <ul class="nav nav-pills nav-sidebar flex-column searchable" data-widget="treeview"
role="menu" data-accordion="false">
<li class="nav-item has-treeview menu-closed">
<a href="#" class="nav-link text-white" style="background-color: orange;">
<i class="fa-solid fa-rotate-left"></i>
<p>
Em execussao : {{ count($equipmentToReview) }}
<i class="right fas fa-angle-left"></i>
</p>
</a>
<ul class="nav nav-treeview">
@foreach ($equipmentToReview as $equipmentOfProject)
<li class="nav-item">
<a href="#" class="nav-link text-white">
<div class="row">
<div class="col-sm-2 pl-4">
<i class="fas fa-tag nav-icon"></i>
</div>
<div class="col-sm-10">
<p>{{ $equipmentOfProject->equipment_tag }}</p>
</div>
</div>
</a>
</li>
@endforeach
</ul>
</li>
</ul> --}}
<br>
<ul class="nav nav-pills nav-sidebar flex-column searchable" data-widget="treeview"
role="menu" data-accordion="false">

View File

@ -1064,7 +1064,8 @@ class="form-control" @if ($task_todo->cardTypeStyle == 'gray' || $task_todo->car
</div> <!-- End of single form-group -->
<!-- Verifica se for diferente de gray. ou seja se o card for green ou blue, aparece o botao -->
@if ($task_todo->cardTypeStyle != 'gray')
@if ($task_todo->cardTypeStyle != 'gray' && $task_todo->cardTypeStyle != '#8CC084')
<div class="card-footer">
<!-- Botão alinhado à direita -->
<button type="submit" class="btn btn-primary float-right">Guardar</button>
@ -3000,7 +3001,8 @@ class="img-fluid pdf-image mx-auto"
</div> <!-- End of single form-group -->
<!-- Verifica se for diferente de gray. ou seja se o card for green ou blue, aparece o botao -->
@if ($task_todo->cardTypeStyle != 'gray')
@if ($task_todo->cardTypeStyle != 'gray' && $task_todo->cardTypeStyle != '#8CC084')
<div class="card-footer">
<!-- Botão alinhado à direita -->
<button type="submit" class="btn btn-primary float-right">Guardar</button>
@ -5100,7 +5102,8 @@ class="form-control select2" style="width: 100%;"
</div> <!-- End of single form-group -->
<!-- Verifica se for diferente de gray. ou seja se o card for green ou blue, aparece o botao -->
{{-- @if ($task_todo->cardTypeStyle != 'gray')
{{-- @if ($task_todo->cardTypeStyle != 'gray' && $task_todo->cardTypeStyle != '#8CC084')
<div class="card-footer">
<!-- Botão alinhado à direita -->
<button type="submit" class="btn btn-primary float-right">Guardar</button>
@ -5843,7 +5846,8 @@ class="form-control" placeholder=""
</div> <!-- End of single form-group -->
<!-- Verifica se for diferente de gray. ou seja se o card for green ou blue, aparece o botao -->
{{-- @if ($task_todo->cardTypeStyle != 'gray')
{{-- @if ($task_todo->cardTypeStyle != 'gray' && $task_todo->cardTypeStyle != '#8CC084')
<div class="card-footer">
<!-- Botão alinhado à direita -->
<button type="submit"

View File

@ -176,6 +176,7 @@ class="form-control card_inputs"
</div>
</div>
</div>
{{-- ./row --}}
{{-- 3 inputs per line :equipmentDimension, equipmentRating, equipmentDimcerta --}}
<div class="row">
@ -1509,7 +1510,7 @@ class="form-control card_inputs" id="isolationEquipment"
value="{{ $specificAttributesArray[23] ?? '' }}"
class="form-control card_inputs" id="scaffold"
placeholder="Andaime" aria-label="scaffold Equipamento"
aria-describedby="form-scaffold" value="Sim"
aria-describedby="form-scaffold"
readonly>
</div>
</div>
@ -1525,7 +1526,7 @@ class="form-control card_inputs" id="scaffold"
value="{{ $specificAttributesArray[15] ?? '' }}"
class="form-control card_inputs" id="crane"
placeholder="Grua" aria-label="scaffold Equipamento"
aria-describedby="form-scaffold" value="Sim"
aria-describedby="form-scaffold"
readonly>
</div>
</div>

View File

@ -331,7 +331,8 @@ class="form-control" placeholder=""
</div>
<!-- Verifica se for diferente de gray. ou seja se o card for green ou blue, aparece o botao -->
@if ($task_todo->cardTypeStyle != 'gray')
@if ($task_todo->cardTypeStyle != 'gray' && $task_todo->cardTypeStyle != '#8CC084')
<div class="card-footer">
<!-- Botão alinhado à direita -->
<button type="submit"
@ -575,7 +576,8 @@ class="form-control select2" style="width: 100%;"
</div> <!-- End of single form-group -->
<!-- Verifica se for diferente de gray. ou seja se o card for green ou blue, aparece o botao -->
@if ($task_todo->cardTypeStyle != 'gray')
@if ($task_todo->cardTypeStyle != 'gray' && $task_todo->cardTypeStyle != '#8CC084')
<div class="card-footer">
<!-- Botão alinhado à direita -->
<button type="submit"
@ -658,7 +660,8 @@ class="btn btn-primary float-right">Guardar</button>
</div> <!-- End of single form-group -->
<!-- Verifica se for diferente de gray. ou seja se o card for green ou blue, aparece o botao -->
@if ($task_todo->cardTypeStyle != 'gray')
@if ($task_todo->cardTypeStyle != 'gray' && $task_todo->cardTypeStyle != '#8CC084')
<div class="card-footer">
<!-- Botão alinhado à direita -->
<button type="submit"
@ -1137,7 +1140,8 @@ class="form-control"
</div> <!-- End of single form-group -->
<!-- Verifica se for diferente de gray. ou seja se o card for green ou blue, aparece o botao -->
@if ($task_todo->cardTypeStyle != 'gray')
@if ($task_todo->cardTypeStyle != 'gray' && $task_todo->cardTypeStyle != '#8CC084')
<div class="card-footer">
<!-- Botão alinhado à direita -->
<button type="submit"
@ -1569,7 +1573,8 @@ function toggleElements(valveType) {
</div> <!-- End of single form-group -->
<!-- Verifica se for diferente de gray. ou seja se o card for green ou blue, aparece o botao -->
@if ($task_todo->cardTypeStyle != 'gray')
@if ($task_todo->cardTypeStyle != 'gray' && $task_todo->cardTypeStyle != '#8CC084')
<div class="card-footer">
<!-- Botão alinhado à direita -->
<button type="submit"
@ -2632,7 +2637,8 @@ class="form-control"
</div> <!-- End of single form-group -->
<!-- Verifica se for diferente de gray. ou seja se o card for green ou blue, aparece o botao -->
@if ($task_todo->cardTypeStyle != 'gray')
@if ($task_todo->cardTypeStyle != 'gray' && $task_todo->cardTypeStyle != '#8CC084')
<div class="card-footer">
<!-- Botão alinhado à direita -->
<button type="submit"
@ -2978,7 +2984,8 @@ class="form-control select2"
</div> <!-- End of single form-group -->
<!-- Verifica se for diferente de gray. ou seja se o card for green ou blue, aparece o botao -->
@if ($task_todo->cardTypeStyle != 'gray')
@if ($task_todo->cardTypeStyle != 'gray' && $task_todo->cardTypeStyle != '#8CC084')
<div class="card-footer">
<!-- Botão alinhado à direita -->
<button type="submit"
@ -3044,7 +3051,8 @@ class="btn btn-primary float-right">Guardar</button>
</div> <!-- End of single form-group -->
<!-- Verifica se for diferente de gray. ou seja se o card for green ou blue, aparece o botao -->
@if ($task_todo->cardTypeStyle != 'gray')
@if ($task_todo->cardTypeStyle != 'gray' && $task_todo->cardTypeStyle != '#8CC084')
<div class="card-footer">
<!-- Botão alinhado à direita -->
<button type="submit"
@ -3145,7 +3153,8 @@ class="btn btn-primary float-right">Guardar</button>
</div> <!-- End of single form-group -->
<!-- Verifica se for diferente de gray. ou seja se o card for green ou blue, aparece o botao -->
@if ($task_todo->cardTypeStyle != 'gray')
@if ($task_todo->cardTypeStyle != 'gray' && $task_todo->cardTypeStyle != '#8CC084')
<div class="card-footer">
<!-- Botão alinhado à direita -->
<button type="submit"
@ -3482,7 +3491,8 @@ class="form-control select2" required required
</div> <!-- End of single form-group -->
<!-- Verifica se for diferente de gray. ou seja se o card for green ou blue, aparece o botao -->
@if ($task_todo->cardTypeStyle != 'gray')
@if ($task_todo->cardTypeStyle != 'gray' && $task_todo->cardTypeStyle != '#8CC084')
<div class="card-footer">
<!-- Botão alinhado à direita -->
<button type="submit"
@ -4455,7 +4465,8 @@ class="form-control select2"
</div> <!-- End of single form-group -->
<!-- Verifica se for diferente de gray. ou seja se o card for green ou blue, aparece o botao -->
@if ($task_todo->cardTypeStyle != 'gray')
@if ($task_todo->cardTypeStyle != 'gray' && $task_todo->cardTypeStyle != '#8CC084')
<div class="card-footer">
<!-- Botão alinhado à direita -->
<button type="submit"
@ -5042,7 +5053,8 @@ class="form-control select2"
</div> <!-- End of single form-group -->
<!-- Verifica se for diferente de gray. ou seja se o card for green ou blue, aparece o botao -->
@if ($task_todo->cardTypeStyle != 'gray')
@if ($task_todo->cardTypeStyle != 'gray' && $task_todo->cardTypeStyle != '#8CC084')
<div class="card-footer">
<!-- Botão alinhado à direita -->
<button type="submit"
@ -5260,7 +5272,8 @@ class="form-control select2"
</div> <!-- End of single form-group -->
<!-- Verifica se for diferente de gray. ou seja se o card for green ou blue, aparece o botao -->
@if ($task_todo->cardTypeStyle != 'gray')
@if ($task_todo->cardTypeStyle != 'gray' && $task_todo->cardTypeStyle != '#8CC084')
<div class="card-footer">
<!-- Botão alinhado à direita -->
<button type="submit"
@ -5324,7 +5337,8 @@ class="form-control" required>
</div> <!-- End of single form-group -->
<!-- Verifica se for diferente de gray. ou seja se o card for green ou blue, aparece o botao -->
@if ($task_todo->cardTypeStyle != 'gray')
@if ($task_todo->cardTypeStyle != 'gray' && $task_todo->cardTypeStyle != '#8CC084')
<div class="card-footer">
<!-- Botão alinhado à direita -->
<button type="submit"
@ -5422,7 +5436,8 @@ class="btn btn-primary float-right">Guardar</button>
</div> <!-- End of single form-group -->
<!-- Verifica se for diferente de gray. ou seja se o card for green ou blue, aparece o botao -->
@if ($task_todo->cardTypeStyle != 'gray')
@if ($task_todo->cardTypeStyle != 'gray' && $task_todo->cardTypeStyle != '#8CC084')
<div class="card-footer">
<!-- Botão alinhado à direita -->
<button type="submit"
@ -5518,7 +5533,8 @@ class="btn btn-primary float-right">Guardar</button>
</div> <!-- End of single form-group -->
<!-- Verifica se for diferente de gray. ou seja se o card for green ou blue, aparece o botao -->
@if ($task_todo->cardTypeStyle != 'gray')
@if ($task_todo->cardTypeStyle != 'gray' && $task_todo->cardTypeStyle != '#8CC084')
<div class="card-footer">
<!-- Botão alinhado à direita -->
<button type="submit"
@ -5592,7 +5608,8 @@ class="btn btn-primary float-right">Guardar</button>
</div> <!-- End of single form-group -->
<!-- Verifica se for diferente de gray. ou seja se o card for green ou blue, aparece o botao -->
@if ($task_todo->cardTypeStyle != 'gray')
@if ($task_todo->cardTypeStyle != 'gray' && $task_todo->cardTypeStyle != '#8CC084')
<div class="card-footer">
<!-- Botão alinhado à direita -->
<button type="submit"
@ -5668,7 +5685,8 @@ class="btn btn-primary float-right">Guardar</button>
</div> <!--./form-group -->
<!-- Verifica se for diferente de gray. ou seja se o card for green ou blue, aparece o botao -->
@if ($task_todo->cardTypeStyle != 'gray')
@if ($task_todo->cardTypeStyle != 'gray' && $task_todo->cardTypeStyle != '#8CC084')
<div class="card-footer">
<!-- Botão alinhado à direita -->
<button type="submit"
@ -6162,7 +6180,8 @@ class="form-control select2" style="width: 100%;"
</div> <!-- End of single form-group -->
<!-- Verifica se for diferente de gray. ou seja se o card for green ou blue, aparece o botao -->
@if ($task_todo->cardTypeStyle != 'gray')
@if ($task_todo->cardTypeStyle != 'gray' && $task_todo->cardTypeStyle != '#8CC084')
<div class="card-footer">
<!-- Botão alinhado à direita -->
<button type="submit"
@ -6331,7 +6350,8 @@ class="form-control" placeholder=""
</div> <!-- End of single form-group -->
<!-- Verifica se for diferente de gray. ou seja se o card for green ou blue, aparece o botao -->
@if ($task_todo->cardTypeStyle != 'gray')
@if ($task_todo->cardTypeStyle != 'gray' && $task_todo->cardTypeStyle != '#8CC084')
<div class="card-footer">
<!-- Botão alinhado à direita -->
<button type="submit"
@ -6510,7 +6530,8 @@ class="btn btn-primary float-right">Guardar</button>
</div> <!-- End of single form-group -->
<!-- Verifica se for diferente de gray. ou seja se o card for green ou blue, aparece o botao -->
@if ($task_todo->cardTypeStyle != 'gray')
@if ($task_todo->cardTypeStyle != 'gray' && $task_todo->cardTypeStyle != '#8CC084')
<div class="card-footer">
<!-- Botão alinhado à direita -->
<button type="submit"

File diff suppressed because it is too large Load Diff

View File

@ -42,6 +42,9 @@
});
Route::get('viewProjectsList/{orderProjectID}', [ProjectoDatacontroller::class, 'viewProjectsList'])->name('viewProjectsList');
@ -239,6 +242,9 @@
Route::get('/getEquipmentData/{equipment_id}/{component_tag}', [WorkstationsJobsController::class, 'getEquipmentData'])->name('getEquipmentData');
Route::post('receiveAnswersEquipment/{control_equipment_workstation_id}', [WorkstationsJobsController::class, 'receiveAnswersEquipment'])->name('receiveAnswersEquipment');
Route::post('sendTaskComment/{control_equipment_workstation_id}', [WorkstationsJobsController::class, 'sendTaskComment'])->name('sendTaskComment');
});
Route::middleware(['checkUserType:testClient'])->group(function () {
@ -246,6 +252,7 @@
Route::get('dashboardClient', [ClientController::class, 'receiveProjectsClient'])->name('dashboardClient');
// Relatorios
Route::get('reportingDataClient/{clientID?}', [ClientController::class, 'reportingDataClient'])->name('reportingDataClient');
//Api
Route::get('/api/receiveMonths/{yearsProjects}', [ClientController::class, 'receiveMonths']);
Route::get('/api/receiveDays/{yearProjects}/{monthProjects}', [ClientController::class, 'receiveDays']);
@ -380,6 +387,8 @@
});
});
// *** All api routes have been moved to api.php ***
Route::get('/api/receiveEquipmentsExecutionProject/{receiveNumberProject}', [ExecutionProjectController::class, 'receiveEquipmentsExecutionProject'])->name('receiveEquipmentsExecutionProject');
Route::get('/api/receiveAllEquipments', [ProjectoDatacontroller::class, 'receiveAllEquipments']);
@ -413,6 +422,8 @@
// Route::post('/api/updateWorkstationStatus/', [WorkstationsJobsController::class, 'updateWorkstationStatus']);
// Route::post('/api/closeWorkstationSession/', [WorkstationsJobsController::class, 'closeWorkstationSession']);
Route::get('/api/verify-equipment-te7/{id}', [WorkstationsJobsController::class, 'verifyEquipmentStatusTe7']);
Route::post('/api/updateSessionStatus/{controlEquipmentId}', [WorkstationsJobsController::class, 'updateSessionStatus']);
Route::post('/api/closeSession/{controlEquipmentId}', [WorkstationsJobsController::class, 'closeSession']);