Updating the project's language correction

This commit is contained in:
ygbanzato 2023-08-02 18:49:05 +01:00
parent a5b90015a3
commit 56f0dd1b8a
18 changed files with 303 additions and 122 deletions

View File

@ -27,6 +27,7 @@
use App\Models\FurtherTasks;
use App\Models\WorkstationsAssociationTasks;
use App\Models\TasksAssociationAmbits;
use LengthException;
// use DataTables;
@ -90,41 +91,194 @@ function () use ($writer) {
public function finishCreatingProject($numberProject)
{
$receiveWorkstaions = ConstructionWorkstation::where('company_projects_id', $numberProject)->get();
// Extrai apena o id_workstations de cada um
$workstationIds = $receiveWorkstaions->pluck('id_workstations')->toArray();
$workstationOccurrences = WorkstationsAssociationTasks::whereIn('id_workstations', $workstationIds)
->get()
->countBy('id_workstations')
->toArray();
// Guarda as WorkStations que nao tem nenhuma tarefa associada
$missingWorkstations = array_filter($workstationIds, function ($workstationId) use ($workstationOccurrences) {
return !isset($workstationOccurrences[$workstationId]) || $workstationOccurrences[$workstationId] == 0;
});
foreach ($missingWorkstations as $dataWs => $idWs) {
$checkDataWsMissing = ConstructionWorkstation::where('id_workstations', $idWs)->get();
$receiveDataWsMissing[$idWs] = $checkDataWsMissing;
}
// Recebe todos os equipamentos relacionados na Obra indicada
$receiveEquipments = Equipment::where('company_projects_id', $numberProject)->get();
// Recebe a quantidade de equipamentos de acordo com seu tipo de Equipamento
$equipmentCounts = $receiveEquipments->countBy('equipment_type_id');
// CV
$countType1 = $equipmentCounts[1] ?? 0;
// ISV
$countType2 = $equipmentCounts[2] ?? 0;
// PSV
$countType3 = $equipmentCounts[3] ?? 0;
$valuesTypeCV = [];
$valuesTypeISV = [];
$valuesTypePSV = [];
$GeneralValues = [1,2,8,14,17];
$GeneralValues = [1, 2, 8, 14, 17];
if ($countType1 > 0) {
$valuesTypeCV = [18, 4, 6, 11, 19, 16];
}
if ($countType2 > 0) {
$valuesTypeISV = [7, 12, 20, 15, 21];
}
if ($countType3 > 0) {
$valuesTypePSV = [3, 9, 10, 13, 15];
}
$missingTasks = [];
// Recebe cada id de workstations
foreach ($workstationIds as $id) {
// Verificar se há pelo menos uma entrada para cada valor em $GeneralValues
foreach ($GeneralValues as $value) {
$exists = WorkstationsAssociationTasks::where('id_workstations', $id)
->where('elemental_tasks_id', $value)
->exists();
if (!$exists) {
$missingTasks[$id][] = $value;
}
}
// Verificar se há pelo menos uma entrada para cada valor em $valuesTypeCV
if ($countType1 > 0) {
foreach ($valuesTypeCV as $value) {
$exists = WorkstationsAssociationTasks::where('id_workstations', $id)
->where('elemental_tasks_id', $value)
->exists();
if (!$exists) {
$missingTasks[$id][] = $value;
}
}
}
// Verificar se há pelo menos uma entrada para cada valor em $valuesTypeISV
if ($countType2 > 0) {
foreach ($valuesTypeISV as $value) {
$exists = WorkstationsAssociationTasks::where('id_workstations', $id)
->where('elemental_tasks_id', $value)
->exists();
if (!$exists) {
$missingTasks[$id][] = $value;
}
}
}
// Verificar se há pelo menos uma entrada para cada valor em $valuesTypePSV
if ($countType3 > 0) {
foreach ($valuesTypePSV as $value) {
$exists = WorkstationsAssociationTasks::where('id_workstations', $id)
->where('elemental_tasks_id', $value)
->exists();
if (!$exists) {
$missingTasks[$id][] = $value;
}
}
}
}
// Todas as tarefas que nao estao em cada posto
$allMissingTasks = [];
// Aqui nós contamos quantas workstations existem
$numberOfWorkstations = count($workstationIds);
// Junta todas as tarefas ausentes em um único array
foreach ($missingTasks as $tasks) {
$allMissingTasks = array_merge($allMissingTasks, $tasks);
}
// Conta o número de ocorrências de cada tarefa no array
$counts = array_count_values($allMissingTasks);
// Mantém apenas as tarefas que aparecem no array o mesmo número de vezes que o número de workstations
$allMissingTasks = array_filter($counts, function ($count) use ($numberOfWorkstations) {
return $count === $numberOfWorkstations;
});
// Recebe as tarefas, nao existentes em nenhum do postos
$receveDataTasksMissing = [];
foreach ($allMissingTasks as $IdElementalTask => $ElementalTask) {
// dd($IdElementalTask);
$checkDataTask = ElementalTasks::where('elemental_tasks_id', $IdElementalTask)->first();
$receiveDataTasksMissing[$IdElementalTask] = $checkDataTask;
}
// // Se receber zero(0) quer dizer que todas as tarefas foram atribuidas pelo menos uma vez em cada posto de Trabalho.
// if (sizeof($allMissingTasks) != 0) {
// $missingTasksList = collect($receiveDataTasksMissing)
// ->map(function ($task) {
// return $task->elemental_tasks_code . ' => ' . $task->elemental_tasks_description;
// })
// ->implode('<br>');
// return redirect()->back()->with('error', 'As seguintes tarefas não foram atribuídas a nenhum posto de trabalho: <br>' . $missingTasksList);
// } elseif (sizeof($missingWorkstations) != 0) {
// $receveMissingWorkstations = collect($receiveDataWsMissing)
// ->map(function ($DataWorkstation) {
// // Aqui iteramos sobre a Collection de ConstructionWorkstation
// return $DataWorkstation->map(function ($constructionWorkstation) {
// return $constructionWorkstation->name_workstations ;
// });
// })
// ->flatten() // Achata a coleção multi-dimensional para um único nível
// ->implode('<br>');
// return redirect()->back()->with('error', 'O seguintes postos nao tem nenhuma tarefa atribuida!! <br>' . $receveMissingWorkstations.);
$errors = [];
// Se receber zero(0) quer dizer que todas as tarefas foram atribuídas pelo menos uma vez em cada posto de Trabalho.
if (sizeof($allMissingTasks) != 0) {
$missingTasksList = collect($receiveDataTasksMissing)
->map(function ($task) {
return $task->elemental_tasks_code . ' => ' . $task->elemental_tasks_description;
})
->implode('<br>');
$errors[] = 'As seguintes tarefas não foram atribuídas a nenhum posto de trabalho: <br>' . $missingTasksList;
}
if (sizeof($missingWorkstations) != 0) {
$receveMissingWorkstations = collect($receiveDataWsMissing)
->map(function ($DataWorkstation) {
// Aqui iteramos sobre a Collection de ConstructionWorkstation
return $DataWorkstation->map(function ($constructionWorkstation) {
return $constructionWorkstation->name_workstations;
});
})
->flatten() // Achata a coleção multi-dimensional para um único nível
->implode('<br>');
$errors[] = 'O seguintes postos nao tem nenhuma tarefa atribuida!! <br>' . $receveMissingWorkstations;
} // Verificar se existem erros e retornar, se houver
if (!empty($errors)) {
return redirect()->back()->with('errors', $errors);
} else {
$project = CompanyProject::find($numberProject);
$project->order_project = 2;
$project->save();
return redirect()->route('home');
}
}
public function deleteWorkstation($name)
{
@ -395,7 +549,7 @@ public function createProjectForStep1()
return view('projectsClients/createProject', ['step' => 1], ['companies' => $companies]);
}
// Progress Bar
//Devolve para a primeira para na descricao do projecto apenas user com ID 3, quer dizer que apenas as "empresas"
//Devolve para a primeira para na Descrição do projecto apenas user com ID 3, quer dizer que apenas as "empresas"
public function showStep1($company_projects_id)
{
// $projects = CompanyProject::find($company_projects_id);
@ -519,7 +673,7 @@ public function showStep2($company_projects_id)
// return redirect('/createProject');
// }
//recebe o Id de Plant vai devolver todos os equipamentos relacionados a esta instalacao(plant)
//recebe o Id de Plant vai devolver todos os equipamentos relacionados a esta Instalação(plant)
// Carregue o projeto com o id fornecido
$project = CompanyProject::find($company_projects_id);
@ -527,7 +681,7 @@ public function showStep2($company_projects_id)
$typeEquipments = EquipmentType::all();
//Retorna todas as Fabricas Unit, com base na instalacao
//Retorna todas as Fabricas Unit, com base na Instalação
$checkUnits = DB::table('units')
->join('plants', 'units.plant_id', '=', 'plants.plant_id')
->join('company_projects', 'plants.plant_id', '=', 'company_projects.plant_id')
@ -543,7 +697,7 @@ public function showStep2($company_projects_id)
->where('plants.plant_id', '=', $project['plant_id']) // Filtra baseado no 'plant_id'
->get();
// Para listar os equipamentos vinculados na obra, buscamos suas associações gerais entre suas tabelas , ou seja a : fabrica(unit), tipo de equipamento e o Ambito para se realizar a tarefas pretendida neste obra.
// Para listar os equipamentos vinculados na obra, buscamos suas associações gerais entre suas tabelas , ou seja a : fabrica(unit), tipo de equipamento e o Âmbito para se realizar a tarefas pretendida neste obra.
// $listEquipmentsProjects = Equipment::with(['unit', 'equipmentType', 'equipmentAssociationAmbit.ambitsEquipment'])
// ->where('company_projects_id', $company_projects_id)
// ->get();
@ -557,7 +711,7 @@ public function showStep2($company_projects_id)
$pendingEquipments = PendingEquipment::where('pending_company_projects_id', $numberProject)->get();
if (!$pendingEquipments->isEmpty()) {
// Retornamos para a view 'step' => 2 indicando conclusao da primeira parte, $numberProject para associacao de equipamentos a esta obra, alem de todos os equipamentos e fabricao ja existente com base na instalacao que se iniciou a obra.
// Retornamos para a view 'step' => 2 indicando conclusao da primeira parte, $numberProject para associacao de equipamentos a esta obra, alem de todos os equipamentos e fabricao ja existente com base na Instalação que se iniciou a obra.
return view('projectsClients/articulated_2', ['step' => 2, 'numberProject' => $numberProject])
->with('danger', 'Equipamentos Pendentes: ' . count($pendingEquipments))
->with('pendingEquipments', $pendingEquipments)
@ -578,7 +732,7 @@ public function showStep2($company_projects_id)
public function createEquipmentManual(Request $request)
{
// EquipmentAmbit
// *** Recebe a Instalacao(Plant), com base no numero da Obra Criada
// *** Recebe a Instalação(Plant), com base no número da Obra Criada
$receivePlant = DB::table('plants')
->join('company_projects', 'company_projects.plant_id', 'plants.plant_id')
->select('plants.plant_id')
@ -661,7 +815,7 @@ public function createEquipmentManual(Request $request)
$AddAtributsEquipments->specific_attributes_value = $receivesAssociationAttribute['value'];
$AddAtributsEquipments->save();
}
//Criar associacao do equipamento ao Ambito
//Criar associacao do equipamento ao Âmbito
$AssociationEquipmentAmbit = new EquipmentAssociationAmbit;
$AssociationEquipmentAmbit->equipment_type_id = $request->equipmentTypeId;
$AssociationEquipmentAmbit->ambits_id = $request->EquipmentAmbit;
@ -671,7 +825,7 @@ public function createEquipmentManual(Request $request)
$execution_order = 1;
//Recebe a tabela com as associoacoes entre Ambitos e tarefas Elementares
//Recebe a tabela com as associoacoes entre Âmbitos e tarefas Elementares
$TasksAssociationAmbits = TasksAssociationAmbits::all()->where('ambits_equipment_id', $AssociationEquipmentAmbit->ambits_id);
foreach ($TasksAssociationAmbits as $TasksAssociationAmbit) {
@ -804,7 +958,7 @@ public function processStep2(Request $request)
$ambit_id = $ambit->ambits_id;
}
//Criar associacao do equipamento ao Ambito
//Criar associacao do equipamento ao Âmbito
$AssociationEquipmentAmbit = new EquipmentAssociationAmbit;
$AssociationEquipmentAmbit->equipment_type_id = $receveEquipament_type_ID;
$AssociationEquipmentAmbit->ambits_id = $ambit_id;
@ -813,7 +967,7 @@ public function processStep2(Request $request)
$execution_order = 1;
//Recebe a tabela com as associoacoes entre Ambitos e tarefas Elementares
//Recebe a tabela com as associoacoes entre Âmbitos e tarefas Elementares
$TasksAssociationAmbits = TasksAssociationAmbits::all()->where('ambits_equipment_id', $AssociationEquipmentAmbit->ambits_id);
foreach ($TasksAssociationAmbits as $TasksAssociationAmbit) {

View File

@ -76,7 +76,7 @@ public function receiveEquipmentIdForShowModal($EquipmentID)
// if ($equipment_type_id == '#') {
// $model = Equipment::query()->with(['equipmentType', 'unit', 'equipmentAssociationAmbit.ambitsEquipment']);
// }
// // Caso 'equipment_type_id' não seja '#', filtra os equipamentos por tipo e ambito (caso 'ambits_id' não seja '#')
// // Caso 'equipment_type_id' não seja '#', filtra os equipamentos por tipo e Âmbito (caso 'ambits_id' não seja '#')
// else {
// $equipment_type_id = intval($equipment_type_id);
// $model = Equipment::where('equipments.equipment_type_id', $equipment_type_id)

View File

@ -25,7 +25,7 @@ public function PreparedProject($ProjectId)
$equipmentsProjects = Equipment::all()->where('company_projects_id', $ProjectId);
$equipmentsTypes = EquipmentType::all();
//Retorna todas as Fabricas Unit, com base na instalacao
//Retorna todas as Fabricas Unit, com base na Instalação
$checkUnits = DB::table('units')
->join('plants', 'units.plant_id', '=', 'plants.plant_id')
->join('company_projects', 'plants.plant_id', '=', 'company_projects.plant_id')
@ -73,7 +73,7 @@ public function getData1()
if ($equipment_type_id == '#') {
$model = Equipment::query()->with(['equipmentType', 'unit', 'equipmentAssociationAmbit.ambitsEquipment']);
}
// Caso 'equipment_type_id' não seja '#', filtra os equipamentos por tipo e ambito (caso 'ambits_id' não seja '#')
// Caso 'equipment_type_id' não seja '#', filtra os equipamentos por tipo e Âmbito (caso 'ambits_id' não seja '#')
else {
$equipment_type_id = intval($equipment_type_id);
$model = Equipment::where('equipments.equipment_type_id', $equipment_type_id)

View File

@ -116,7 +116,7 @@ public function receiveEquipmentsProject($receiveNumberProject)
->where('company_projects_id', $receiveNumberProject)
->with(['equipmentType', 'unit', 'equipmentAssociationAmbit.ambitsEquipment']);
}
// Caso 'equipment_type_id' não seja '#', filtra os equipamentos por tipo e ambito (caso 'ambits_id' não seja '#')
// Caso 'equipment_type_id' não seja '#', filtra os equipamentos por tipo e Âmbito (caso 'ambits_id' não seja '#')
else {
$equipment_type_id = intval($equipment_type_id);
$model = Equipment::where('equipments.equipment_type_id', $equipment_type_id)

View File

@ -451,8 +451,8 @@ class="fas fa-plus"></i>
<th>Fabrica</th>
<th>Tipo equipamento</th>
<th>Tag</th>
<th>Descricao equipamento</th>
<th>Numero de Serie </th>
<th>Descrição equipamento</th>
<th>Número de Serie </th>
<th>Marca</th>
<th>Modelo</th>
<th>Edicao</th>
@ -496,7 +496,7 @@ class="fa-solid fa-trash-alt text-danger"></i>
</div>
</section>
<!-- modal instalacao -->
<!-- modal Instalação -->
<div class="modal fade" id="modal-edit-instalacao">
<div class="modal-dialog modal-xl">
<div class="modal-content">
@ -531,7 +531,7 @@ class="fa-solid fa-trash-alt text-danger"></i>
</div>
<!-- /.modal-dialog -->
</div>
<!-- /.modal instalacao-->
<!-- /.modal Instalação-->
<!-- modal psv-->
<div class="modal fade" id="modal-edit-psv">

View File

@ -21,7 +21,7 @@
<td>{{ $equipaments->tag }}</td>
</tr>
<tr>
<th>Instalacao</th>
<th>Instalação</th>
<td>{{ $equipaments->factory_id }}</td>
</tr>
<tr>
@ -29,11 +29,11 @@
<td>{{ $equipaments->equipament_type_id }}</td>
</tr>
<tr>
<th>Descricao de equipamento </th>
<th>Descrição de equipamento </th>
<td>{{ $equipaments->equipment_description }}</td>
</tr>
<tr>
<th>Numero de Serie</th>
<th>Número de Serie</th>
<td>{{ $equipaments->serial_number }}</td>
</tr>

View File

@ -34,7 +34,7 @@
<tr>
<th>Tag Vávula</th>
<th>Tipo de Vávula</th>
<th>Ambito</th>
<th>Âmbito</th>
<th>Tarefas Elementares</th>
<th>Tarefas atuais</th>
<th>Data de entrada</th>
@ -236,9 +236,9 @@
<div class="has-float-label">
<input type="text" name="equipmentDescription"
class="form-control card_inputs" id="equipmentDescription"
placeholder="Descricao Equipamento..." aria-label="Tag Equipment"
placeholder="Descrição Equipamento..." aria-label="Tag Equipment"
aria-describedby="form-equipmentDescription" required>
<label>Descricao Equipamento <span class="required">*</span></label>
<label>Descrição Equipamento <span class="required">*</span></label>
</div>
</div>
</div>
@ -590,9 +590,9 @@ class="form-control card_inputs" id="PositionerSerialNumber"
<div class="has-float-label">
<input type="text" name="equipmentDescription"
class="form-control card_inputs" id="equipmentDescription"
placeholder="Descricao Equipamento..." aria-label="Tag Equipment"
placeholder="Descrição Equipamento..." aria-label="Tag Equipment"
aria-describedby="form-equipmentDescription" required>
<label>Descricao Equipamento <span class="required">*</span></label>
<label>Descrição Equipamento <span class="required">*</span></label>
</div>
</div>
</div>
@ -864,10 +864,10 @@ class="form-control card_inputs" id="isolationEquipment"
<div class="has-float-label">
<input type="text" name="equipmentDescription"
class="form-control card_inputs" id="equipmentDescription"
placeholder="Descricao Equipamento..." aria-label="Tag Equipment"
placeholder="Descrição Equipamento..." aria-label="Tag Equipment"
aria-describedby="form-equipmentDescription"
value="{{ $listEquipmentsProject->equipment_description }}">
<label>Descricao Equipamento</label>
<label>Descrição Equipamento</label>
</div>
</div>
</div>
@ -1335,7 +1335,7 @@ class="form-control card_inputs" id="isolation"
<div class="row" id="new_company_div">
<div class="form-group col-sm-6">
<label>Nova Instalacao :</label>
<label>Nova Instalação :</label>
<input type="text" id="new_company_name" class="form-control"
name="new_company_name" placeholder="Digite o nome da nova empresa">
</div>
@ -1483,7 +1483,7 @@ class="btn btn-info">Baixar
<th>Fabrica</th>
<th>Tipo de Equipamento</th>
<th>Tag</th>
<th>Descricao Equipamento</th>
<th>Descrição Equipamento</th>
<th>Numero de Serie</th>
<th>Marca</th>
<th>Modelo</th>
@ -1602,7 +1602,7 @@ class="btn-success-ispt btn-xs d-none">Ativar</button>
// Adicione as opções fixas aqui
select.append('<option value="#">Selecione uma instalação...</option>');
select.append(
'<option value="new_install">Criar uma nova Instalacao ?</option>');
'<option value="new_install">Criar uma nova Instalação ?</option>');
// Agora você pode adicionar suas opções dinâmicas.
$.each(data, function(index, installation) {

View File

@ -51,8 +51,8 @@
<th>Fabrica</th>
<th>Tipo de Equipamento</th>
<th>Tag</th>
<th>Descricao Equipamento</th>
<th>Numero de Serie</th>
<th>Descrição Equipamento</th>
<th>Número de rie</th>
<th>Marca</th>
<th>Modelo</th>
<th>Editar</th>

View File

@ -94,7 +94,7 @@ class="fas fa-plus"></i>
<div class="form-group col-sm-6" id="new_unit_div">
<label>Nova Fabrica :</label>
<input type="text" id="new_unit_name" class="form-control" name="new_unit_name"
placeholder="Digite o nome da nova empresa" required>
placeholder="Digite o nome da nova Fabrica" required>
</div>
</div>
@ -143,10 +143,10 @@ class="form-control card_inputs" id="equipmentTag"
<div class="has-float-label">
<input type="text" name="equipmentDescription"
class="form-control card_inputs" id="equipmentDescription"
placeholder="Descricao Equipamento..."
placeholder="Descrição Equipamento..."
aria-label="Tag Equipment"
aria-describedby="form-equipmentDescription" required>
<label>Descricao Equipamento <span class="required">*</span></label>
<label>Descrição Equipamento <span class="required">*</span></label>
</div>
</div>
</div>
@ -447,10 +447,10 @@ class="form-control card_inputs" id="equipmentTag"
<div class="has-float-label">
<input type="text" name="equipmentDescription"
class="form-control card_inputs" id="equipmentDescription"
placeholder="Descricao Equipamento..."
placeholder="Descrição Equipamento..."
aria-label="Tag Equipment"
aria-describedby="form-equipmentDescription" required>
<label>Descricao Equipamento <span
<label>Descrição Equipamento <span
class="required">*</span></label>
</div>
</div>
@ -718,10 +718,10 @@ class="form-control card_inputs" id="equipmentTag"
<div class="has-float-label">
<input type="text" name="equipmentDescription"
class="form-control card_inputs" id="equipmentDescription"
placeholder="Descricao Equipamento..."
placeholder="Descrição Equipamento..."
aria-label="equipmentDescription"
aria-describedby="form-equipmentDescription" required>
<label>Descricao Equipamento <span
<label>Descrição Equipamento <span
class="required">*</span></label>
</div>
</div>
@ -1042,10 +1042,10 @@ class="form-control card_inputs" id="PositionerSerialNumber"
<!-- ./CV-card -->
<div class="form-group">
<label>Ambitos</label>
<label>Âmbitos</label>
<select class="form-control" name="EquipmentAmbit" id="AmbitsEquipments_list"
required>
<option value='' hidden>Selecionar Ambito...</option>
<option value='' hidden>Selecionar Âmbitos...</option>
</select>
</div>
@ -1110,7 +1110,7 @@ class="fas fa-plus"></i>
<thead>
<tr>
<th>Tag</th>
<th>Descricao Equipamento</th>
<th>Descrição Equipamento</th>
<th>Tipo de Equipamento</th>
<th>Fabrica</th>
<th>Selecionar Equipamentos</th>
@ -1188,8 +1188,8 @@ class="btn btn-info">Baixar Template</a>
<th>Fabrica</th>
<th>Tipo de Equipamento</th>
<th>Tag</th>
<th>Descricao Equipamento</th>
<th>Ambito</th>
<th>Descrição Equipamento</th>
<th>Âmbito</th>
<th>Detalhes</th>
</tr>
</thead>
@ -1280,10 +1280,10 @@ class="form-control card_inputs"
value="{{ $listEquipmentsProject->equipment_description }}"
class="form-control card_inputs"
id="equipmentDescription"
placeholder="Descricao Equipamento..."
placeholder="Descrição Equipamento..."
aria-label="Tag Equipment"
aria-describedby="form-equipmentDescription">
<label>Descricao Equipamento </label>
<label>Descrição Equipamento </label>
</div>
</div>
</div>
@ -1601,10 +1601,10 @@ class="form-control card_inputs"
</div>
{{-- ./PSV-card --}}
{{-- Ambito-PSV --}}
{{-- Âmbito-PSV --}}
<div class="card card-secondary collapsed-card">
<div class="card-header">
<h3 class="card-title">Ambito :
<h3 class="card-title">Âmbito :
{{ $listEquipmentsProject->equipmentAssociationAmbit->ambitsEquipment->ambits_description }}
</h3>
<div class="card-tools">
@ -1849,7 +1849,7 @@ class="btn btn-outline-success ">Adicionar</a>
</div>
{{-- ./card-body --}}
</div>
{{-- ./Ambito-PSV --}}
{{-- ./Âmbito-PSV --}}
@endif
@if ($listEquipmentsProject->equipment_type_id == 2)
@ -1894,10 +1894,10 @@ class="form-control card_inputs"
value="{{ $listEquipmentsProject->equipment_description }}"
class="form-control card_inputs"
id="equipmentDescription"
placeholder="Descricao Equipamento..."
placeholder="Descrição Equipamento..."
aria-label="Tag Equipment"
aria-describedby="form-equipmentDescription">
<label>Descricao Equipamento </label>
<label>Descrição Equipamento </label>
</div>
</div>
</div>
@ -2175,10 +2175,10 @@ class="form-control card_inputs"
</div>
<!-- /.card-body -->
{{-- Ambito-ISV --}}
{{-- Âmbito-ISV --}}
<div class="card card-primary collapsed-card">
<div class="card-header">
<h3 class="card-title">Ambito :
<h3 class="card-title">Âmbito :
{{ $listEquipmentsProject->equipmentAssociationAmbit->ambitsEquipment->ambits_description }}
</h3>
<div class="card-tools">
@ -2418,7 +2418,7 @@ class="btn btn-outline-success ">Adicionar</a>
</div>
{{-- ./card-body --}}
</div>
{{-- ./Ambito-ISV --}}
{{-- ./Âmbito-ISV --}}
@endif
@if ($listEquipmentsProject->equipment_type_id == 1)
@ -2461,10 +2461,10 @@ class="form-control card_inputs"
value="{{ $listEquipmentsProject->equipment_description }}"
class="form-control card_inputs"
id="equipmentDescription"
placeholder="Descricao Equipamento..."
placeholder="Descrição Equipamento..."
aria-label="equipmentDescription"
aria-describedby="form-equipmentDescription">
<label>Descricao Equipamento </label>
<label>Descrição Equipamento </label>
</div>
</div>
</div>
@ -2798,10 +2798,10 @@ class="form-control card_inputs"
</div>
<!-- ./CV-card -->
{{-- Ambito-CV --}}
{{-- Âmbito-CV --}}
<div class="card card-info collapsed-card">
<div class="card-header">
<h3 class="card-title">Ambito :
<h3 class="card-title">Âmbito :
{{ $listEquipmentsProject->equipmentAssociationAmbit->ambitsEquipment->ambits_description }}
</h3>
<div class="card-tools">
@ -3053,7 +3053,7 @@ class="btn btn-outline-success ">Adicionar</a>
</div>
{{-- ./card-body --}}
</div>
{{-- ./Ambito-CV --}}
{{-- ./Âmbito-CV --}}
@endif
<!-- adicione mais campos de input conforme necessário -->
@ -3157,11 +3157,11 @@ class="btn btn-outline-success ">Adicionar</a>
<th>Fabrica</th>
<th>Tipo de Equipamento</th>
<th>Tag</th>
<th>Descricao Equipamento</th>
<th>Numero de Serie</th>
<th>Descrição Equipamento</th>
<th>Número de Serie</th>
<th>Marca</th>
<th>Modelo</th>
<th>Acoes</th>
<th>Açoẽs</th>
</tr>
</thead>
<tbody>
@ -3238,15 +3238,15 @@ class="btn btn-outline-success ">Adicionar</a>
@csrf
<div class="modal-body">
<p>Criar equipamento ?</p>
<h4>{{ $pendingEquipment->pending_equipment_tag }} <strong>(Numero da
<h4>{{ $pendingEquipment->pending_equipment_tag }} <strong>(Número da
copia)</strong> </h4>
<h4>{{ $pendingEquipment->pending_equipment_description }} <strong>(Numero da
<h4>{{ $pendingEquipment->pending_equipment_description }} <strong>(Número da
copia)</strong></h4>
<h4>{{ $pendingEquipment->pending_equipment_type_id }}</h4>
<select class="form-control" name="EquipmentAmbit"
id="AmbitsEquipments_list-{{ $pendingEquipment->pending_equipment_id }}" required>
<option value='' hidden>Selecionar Ambito...</option>
<option value='' hidden>Selecionar Âmbitos...</option>
</select>
</div>
<div class="modal-footer justify-content-between">
@ -3308,7 +3308,7 @@ class="btn btn-outline-success ">Adicionar</a>
$('#AmbitsEquipments_list').empty(); // Limpar o select de ambits
$.each(data, function(key, value) {
$('#AmbitsEquipments_list').append(
'<option value="#" hidden>Selecionar Tipo de Ambito...</option>',
'<option value="#" hidden>Selecionar Tipo de Âmbito...</option>',
'<option value="' + value.ambits_id + '">' +
value.ambits_description + '</option>');
});
@ -3333,7 +3333,7 @@ class="btn btn-outline-success ">Adicionar</a>
success: function(data) {
$('#AmbitsEquipments_list').empty(); // Limpar o select de ambits
$('#AmbitsEquipments_list').append(
'<option value="" hidden>Selecionar Tipo de Ambito...</option>'
'<option value="" hidden>Selecionar Tipo de Âmbito...</option>'
);
$.each(data, function(key, value) {
$('#AmbitsEquipments_list').append('<option value="' +
@ -3346,7 +3346,7 @@ class="btn btn-outline-success ">Adicionar</a>
$('#AmbitsEquipments_list')
.empty(); // Limpar o select de ambits se não há tipo de equipamento selecionado
$('#AmbitsEquipments_list').append(
'<option value="" hidden>Selecionar Tipo de Ambito...</option>');
'<option value="" hidden>Selecionar Tipo de Âmbito...</option>');
}
});
});
@ -3879,7 +3879,7 @@ function(task) {
var form = $(
'<form action="{{ route('receiveEquipmentToAssociateTasks') }}" method="post"></form>'
);
// Ira receber o numero da obra atualmente relacionada
// Ira receber o mero da obra atualmente relacionada
var receiveNumberProject = $('<input>', {
type: 'hidden',
name: 'receiveNumberProject',
@ -4004,7 +4004,7 @@ function(task) {
success: function(data) {
$('#AmbitsEquipments_list-' + pendingEquipmentID).empty();
$('#AmbitsEquipments_list-' + pendingEquipmentID).append(
'<option value="" hidden>Selecionar Tipo de Ambito...</option>'
'<option value="" hidden>Selecionar Tipo de Âmbito...</option>'
);
$.each(data, function(key, value) {
$('#AmbitsEquipments_list-' + pendingEquipmentID)
@ -4018,7 +4018,7 @@ function(task) {
} else {
$('#AmbitsEquipments_list-' + pendingEquipmentID).empty();
$('#AmbitsEquipments_list-' + pendingEquipmentID).append(
'<option value="" hidden>Selecionar Tipo de Ambito...</option>');
'<option value="" hidden>Selecionar Tipo de Âmbito...</option>');
}
});
});

View File

@ -85,7 +85,7 @@
<div class="row" id="new_company_div">
<div class="form-group col-sm-6">
<label>Nova Instalacao :</label>
<label>Nova Instalação :</label>
<input type="text" id="new_company_name" class="form-control"
name="new_company_name" placeholder="Digite o nome da nova empresa">
</div>
@ -176,7 +176,7 @@ class="form-control float-right">
// Adicione as opções fixas aqui
select.append('<option value="#">Selecione uma instalação...</option>');
select.append(
'<option value="new_install">Criar uma nova Instalacao ?</option>');
'<option value="new_install">Criar uma nova Instalação ?</option>');
// Agora você pode adicionar suas opções dinâmicas.

View File

@ -84,9 +84,9 @@
<div class="row" id="new_company_div">
<div class="form-group col-sm-6">
<label>Nova Instalacao :</label>
<label>Nova Instalação :</label>
<input type="text" id="new_company_name" class="form-control" name="new_company_name"
placeholder="Digite o nome da nova empresa">
placeholder="Digite o nome da nova Instalação">
</div>
<div class="form-group col-sm-6">
@ -237,8 +237,8 @@ class="btn btn-info">Baixar
<th>Fabrica</th>
<th>Tipo de Equipamento</th>
<th>Tag</th>
<th>Descricao Equipamento</th>
<th>Numero de Serie</th>
<th>Descrição Equipamento</th>
<th>Número de Serie</th>
<th>Marca</th>
<th>Modelo</th>
<th>Editar</th>
@ -320,8 +320,8 @@ class="btn btn-info">Baixar
<th>unit_id</th>
<th>Tipo de Equipamento</th>
<th>Tag</th>
<th>Descricao Equipamento</th>
<th>Numero de Serie</th>
<th>Descrição Equipamento</th>
<th>Número de Serie</th>
<th>Marca</th>
<th>Modelo</th>
<th>Editar</th>
@ -387,7 +387,7 @@ class="btn btn-info">Baixar
// Adicione as opções fixas aqui
select.append('<option value="#">Selecione uma instalação...</option>');
select.append(
'<option value="new_install">Criar uma nova Instalacao ?</option>');
'<option value="new_install">Criar uma nova Instalação ?</option>');
// Agora você pode adicionar suas opções dinâmicas.
$.each(data, function(index, installation) {

View File

@ -147,7 +147,7 @@ class="form-control">
<div class="col-sm-3">
<div class="form-group">
<label>Ambitos </label>
<label>Âmbitos </label>
<select class="form-control" name="EquipmentAmbit"
id="AmbitsEquipments_list" required>
<option value="#" hidden>Mostrar Todos</option>
@ -174,7 +174,7 @@ class="table table-bordered table-striped">
<tr>
<th>Tag</th>
<th>Tipo Equipamento</th>
<th>Ambito</th>
<th>Âmbito</th>
<th>Tarefas</th>
<th>Tarefa Atual</th>
<th>Data Entrada</th>
@ -226,7 +226,7 @@ class="table table-bordered table-striped">
<div class="form-group col-md-12">
<div class="card">
<div class="form-group">
<label>Selecione o Numero de Postos Pretendidos :
<label>Selecione o Número de Postos Pretendidos :
</label>
<input class="form-control" type="number" id="numberPosts">
</div>
@ -239,7 +239,7 @@ class="table table-bordered table-striped">
</tr>
</thead>
<tbody id="receiveNumberPosts">
<!-- Vai receber o Numero de Oficinas -->
<!-- Vai receber o Número de Oficinas -->
</tbody>
</table>
</div>
@ -554,7 +554,7 @@ class="fas fa-plus"></i>
'<option value="#" selected>Mostrar Todos</option>'
); // Opção para mostrar todos
$('#AmbitsEquipments_list').append(
'<option value="" hidden>Selecionar Tipo de Ambito...</option>'
'<option value="" hidden>Selecionar Tipo de Âmbito...</option>'
);
$.each(data, function(key, value) {
$('#AmbitsEquipments_list').append('<option value="' +

View File

@ -160,7 +160,7 @@ class="form-control">
<div class="col-sm-3">
<div class="form-group">
<label>Ambitos </label>
<label>Âmbitos </label>
<select class="form-control" name="EquipmentAmbit"
id="AmbitsEquipments_list" required>
<option value="#" hidden>Mostrar Todos</option>
@ -188,7 +188,7 @@ class="form-control">
<th>Tag</th>
<th>Tipo Equipamento</th>
<th>Fabrica</th>
<th>Ambito</th>
<th>Âmbito</th>
<th>Inspecionar</th>
</tr>
</thead>
@ -244,7 +244,7 @@ class="form-control">
<div class="form-group col-md-12">
<div class="card">
<div class="form-group">
<label>Selecione o Numero de Postos Pretendidos :
<label>Selecione o Número de Postos Pretendidos :
</label>
<input class="form-control" type="number" id="numberPosts">
</div>
@ -257,7 +257,7 @@ class="form-control">
</tr>
</thead>
<tbody id="receiveNumberPosts">
<!-- Vai receber o Numero de Oficinas -->
<!-- Vai receber o Número de Oficinas -->
</tbody>
</table>
</div>
@ -537,7 +537,7 @@ class="checkboxChoseTasksOficesCV"
'<option value="#" selected>Mostrar Todos</option>'
); // Opção para mostrar todos
$('#AmbitsEquipments_list').append(
'<option value="" hidden>Selecionar Tipo de Ambito...</option>'
'<option value="" hidden>Selecionar Tipo de Âmbito...</option>'
);
$.each(data, function(key, value) {
$('#AmbitsEquipments_list').append('<option value="' +
@ -696,7 +696,7 @@ class="checkboxChoseTasksOficesCV"
var AddHTML =
"<th style='text-align: center;'><a href='#' data-toggle='modal' data-target='#modal-ViewOfices'><i class='fa-solid fa-eye text-secondary'></i></a></th>";
for (var i = 1; i <= num; i++) {
// Limitar o numero de postos
// Limitar o mero de postos
if (num >= 30) {
num = 30;
}

View File

@ -99,7 +99,7 @@
<div class="row" id="new_company_div">
<div class="form-group col-sm-6">
<label>Nova Instalacao :</label>
<label>Nova Instalação :</label>
<input type="text" id="new_company_name" class="form-control"
name="new_company_name" placeholder="Digite o nome da nova empresa">
</div>
@ -203,7 +203,7 @@ class="form-control float-right">
// Adicione as opções fixas aqui
select.append('<option value="#">Selecione uma instalação...</option>');
select.append(
'<option value="new_install">Criar uma nova Instalacao ?</option>');
'<option value="new_install">Criar uma nova Instalação ?</option>');
// Agora você pode adicionar suas opções dinâmicas.

View File

@ -26,7 +26,7 @@
<div class="col-sm-3">
<div class="form-group">
<label>Ambitos </label>
<label>Âmbitos </label>
<select class="form-control" name="EquipmentAmbit" id="AmbitsEquipments_list" required>
<option value="#" hidden>Mostrar Todos</option>
</select>
@ -52,7 +52,7 @@
<tr>
<th>Tag</th>
<th>Tipo Equipamento</th>
<th>Ambito</th>
<th>Âmbito</th>
<th>Tarefas</th>
<th>Tarefa Atual</th>
<th>Data Entrada</th>
@ -86,7 +86,7 @@
<tr>
<th>Tag</th>
<th>Tipo Equipamento</th>
<th>Ambito</th>
<th>Âmbito</th>
<th>Tarefas</th>
<th>Tarefa Atual</th>
<th>Data Entrada</th>

View File

@ -13,6 +13,22 @@
}, 5000); // A mensagem desaparecerá após 5 segundos
</script>
@endif
{{-- @if (session('error'))
<div class="alert alert-danger" role="alert" id="alert-message-danger" style="transition: opacity 1s;">
{!! session('error') !!}
</div>
@endif --}}
@if (session('errors'))
<div class="alert alert-danger" role="alert" id="alert-message-danger" style="transition: opacity 1s;">
@foreach (session('errors') as $error)
{!! $error !!}
<br>
@endforeach
</div>
@endif
<section class="content-header">
<div class="container-fluid">
@ -54,23 +70,30 @@ class="fas fa-plus"></i>
<div class="card-body">
<div class="card ">
<div class="form-group col-md-12">
<div class="card">
<form action="{{ route('createWorkStations') }}" method="post">
@csrf
<input type="hidden" name="numberProject" value="{{ $numberProject }}">
{{-- <input type="hidden" name="numberProject" value="{{ $numberProject }}">
<div class="row">
<div class="form-group">
<label>Selecione o Numero de Postos Pretendidos :
<label>Selecione o Número de Postos Pretendidos :
</label>
<input class="form-control" name="numberWorkstations" type="number"
id="numberPosts">
</div>
<input class="btn btn-success" type="submit" value="Guardar">
</div> --}}
<input type="hidden" name="numberProject" value="{{ $numberProject }}">
<div style="display: flex; justify-content: space-between;">
<div style="display: flex; align-items: center;">
<label for="inputName" style="margin-right: 10px;"> Quantidade de Postos Pretendidos :</label>
<input class="form-control" name="numberWorkstations" type="number"
id="numberPosts">
</div>
<div>
<button class="btn btn-success" type="submit" value="Guardar" type="button" style="align-self: flex-end;">Button</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
@ -275,8 +298,10 @@ class="checkboxChoseTasksOficesPSV" value="on"
name="PsvTasks[13]">
</p>
<p>TE10 - Montagem na linha
<input type="hidden" name="PsvTasks[15]" value="off">
<input type="checkbox" class="checkboxChoseTasksOficesPSV" value="on"
<input type="hidden" name="PsvTasks[15]"
value="off">
<input type="checkbox"
class="checkboxChoseTasksOficesPSV" value="on"
name="PsvTasks[15]">
</p>
</div>

View File

@ -237,7 +237,7 @@
<div class="row" id="new_company_div">
<div class="form-group col-sm-6">
<label>Nova Instalacao :</label>
<label>Nova Instalação :</label>
<input type="text" id="new_company_name" class="form-control" name="new_company_name"
placeholder="Digite o nome da nova empresa">
</div>
@ -378,7 +378,7 @@
// Adicione as opções fixas aqui
select.append('<option value="#">Selecione uma instalação...</option>');
select.append(
'<option value="new_install">Criar uma nova Instalacao ?</option>');
'<option value="new_install">Criar uma nova Instalação ?</option>');
// Agora você pode adicionar suas opções dinâmicas.
$.each(data, function(index, installation) {

View File

@ -243,11 +243,13 @@
/* Api */
Route::get('/api/installations/', [CreateProjectController::class, 'getByUserNif']);
Route::get('/api/ambits/{equipmentType}',[CreateProjectController::class, 'getAmbits']);
Route::get('/equipments/{id}/attributes', [CreateProjectController::class, 'getAttributes']);
Route::get('/equipments/{id}/attributes', [CreateProjectController::class, 'getAttributes']);
Route::post('/register', [CustomRegistrationController::class, 'store'])->name('register');
Route::get('/your-verification-route/{id}/{hash}', [UserController::class, 'yourVerificationMethod'])
@ -290,7 +292,7 @@
*/
Route::get('manageAssets',[ProjectoDatacontroller::class,'ManageAssets'])->name('manageAssets');
// Mostrar instalacao click
// Mostrar Instalação click
Route::get('units/{id}',[ProjectoDatacontroller::class,'showUnit'])->name('showUnit');