From 56f0dd1b8a375f86c4c3ff02319f213966ecae40 Mon Sep 17 00:00:00 2001 From: ygbanzato Date: Wed, 2 Aug 2023 18:49:05 +0100 Subject: [PATCH] Updating the project's language correction --- .../Controllers/CreateProjectController.php | 190 ++++++++++++++++-- .../ExecutionProjectController.php | 2 +- .../Controllers/PreparedProjectController.php | 4 +- .../Controllers/ProjectoDatacontroller.php | 2 +- .../DataManagement/manageassets.blade.php | 8 +- .../DataManagement/showEquipament.blade.php | 6 +- resources/views/codePronto.blade.php | 20 +- resources/views/createProjectExcel.blade.php | 4 +- .../projectsClients/articulated_2.blade.php | 78 +++---- .../projectsClients/createProject.blade.php | 4 +- .../createProjectSalvo.blade.php | 14 +- .../executionProject.blade.php | 10 +- .../projectsClients/preparedProject.blade.php | 12 +- .../projectDetails_1.blade.php | 4 +- .../views/projectsClients/test1.blade.php | 6 +- .../projectsClients/workStation_3.blade.php | 51 +++-- resources/views/test.blade.php | 4 +- routes/web.php | 6 +- 18 files changed, 303 insertions(+), 122 deletions(-) diff --git a/app/Http/Controllers/CreateProjectController.php b/app/Http/Controllers/CreateProjectController.php index 07f65397..1f74bf5a 100755 --- a/app/Http/Controllers/CreateProjectController.php +++ b/app/Http/Controllers/CreateProjectController.php @@ -27,6 +27,7 @@ use App\Models\FurtherTasks; use App\Models\WorkstationsAssociationTasks; use App\Models\TasksAssociationAmbits; +use LengthException; // use DataTables; @@ -90,40 +91,193 @@ 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(); - $project = CompanyProject::find($numberProject); - $project->order_project = 2; - $project->save(); + if (!$exists) { + $missingTasks[$id][] = $value; + } + } + } - return redirect()->route('home'); + // 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('
'); + + // return redirect()->back()->with('error', 'As seguintes tarefas não foram atribuídas a nenhum posto de trabalho:
' . $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('
'); + + // return redirect()->back()->with('error', 'O seguintes postos nao tem nenhuma tarefa atribuida!!
' . $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('
'); + + $errors[] = 'As seguintes tarefas não foram atribuídas a nenhum posto de trabalho:
' . $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('
'); + + $errors[] = 'O seguintes postos nao tem nenhuma tarefa atribuida!!
' . $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) { diff --git a/app/Http/Controllers/ExecutionProjectController.php b/app/Http/Controllers/ExecutionProjectController.php index 6af93364..7d2b2ea5 100755 --- a/app/Http/Controllers/ExecutionProjectController.php +++ b/app/Http/Controllers/ExecutionProjectController.php @@ -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) diff --git a/app/Http/Controllers/PreparedProjectController.php b/app/Http/Controllers/PreparedProjectController.php index 8d7af6e4..9b650100 100755 --- a/app/Http/Controllers/PreparedProjectController.php +++ b/app/Http/Controllers/PreparedProjectController.php @@ -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) diff --git a/app/Http/Controllers/ProjectoDatacontroller.php b/app/Http/Controllers/ProjectoDatacontroller.php index 43d9b7ef..79ba123e 100755 --- a/app/Http/Controllers/ProjectoDatacontroller.php +++ b/app/Http/Controllers/ProjectoDatacontroller.php @@ -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) diff --git a/resources/views/Admin/DataManagement/manageassets.blade.php b/resources/views/Admin/DataManagement/manageassets.blade.php index 8240b236..fb5ab2ed 100755 --- a/resources/views/Admin/DataManagement/manageassets.blade.php +++ b/resources/views/Admin/DataManagement/manageassets.blade.php @@ -451,8 +451,8 @@ class="fas fa-plus"> Fabrica Tipo equipamento Tag - Descricao equipamento - Numero de Serie + Descrição equipamento + Número de Serie Marca Modelo Edicao @@ -496,7 +496,7 @@ class="fa-solid fa-trash-alt text-danger"> - + @@ -590,9 +590,9 @@ class="form-control card_inputs" id="PositionerSerialNumber"
- +
@@ -864,10 +864,10 @@ class="form-control card_inputs" id="isolationEquipment"
- +
@@ -1335,7 +1335,7 @@ class="form-control card_inputs" id="isolation"
- +
@@ -1483,7 +1483,7 @@ class="btn btn-info">Baixar Fabrica Tipo de Equipamento Tag - Descricao Equipamento + Descrição Equipamento Numero de Serie Marca Modelo @@ -1602,7 +1602,7 @@ class="btn-success-ispt btn-xs d-none">Ativar // Adicione as opções fixas aqui select.append(''); select.append( - ''); + ''); // Agora você pode adicionar suas opções dinâmicas. $.each(data, function(index, installation) { diff --git a/resources/views/createProjectExcel.blade.php b/resources/views/createProjectExcel.blade.php index 9bb05058..b408aef8 100755 --- a/resources/views/createProjectExcel.blade.php +++ b/resources/views/createProjectExcel.blade.php @@ -51,8 +51,8 @@ Fabrica Tipo de Equipamento Tag - Descricao Equipamento - Numero de Serie + Descrição Equipamento + Número de Série Marca Modelo Editar diff --git a/resources/views/projectsClients/articulated_2.blade.php b/resources/views/projectsClients/articulated_2.blade.php index f656841d..d19f5f0d 100755 --- a/resources/views/projectsClients/articulated_2.blade.php +++ b/resources/views/projectsClients/articulated_2.blade.php @@ -94,7 +94,7 @@ class="fas fa-plus">
+ placeholder="Digite o nome da nova Fabrica" required>
@@ -143,10 +143,10 @@ class="form-control card_inputs" id="equipmentTag"
- +
@@ -447,10 +447,10 @@ class="form-control card_inputs" id="equipmentTag"
-
@@ -718,10 +718,10 @@ class="form-control card_inputs" id="equipmentTag"
-
@@ -1042,10 +1042,10 @@ class="form-control card_inputs" id="PositionerSerialNumber"
- +
@@ -1110,7 +1110,7 @@ class="fas fa-plus"> Tag - Descricao Equipamento + Descrição Equipamento Tipo de Equipamento Fabrica Selecionar Equipamentos @@ -1188,8 +1188,8 @@ class="btn btn-info">Baixar Template Fabrica Tipo de Equipamento Tag - Descricao Equipamento - Ambito + Descrição Equipamento + Âmbito Detalhes @@ -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"> - + @@ -1601,10 +1601,10 @@ class="form-control card_inputs" {{-- ./PSV-card --}} - {{-- Ambito-PSV --}} + {{-- Âmbito-PSV --}}
-

Ambito : +

Âmbito : {{ $listEquipmentsProject->equipmentAssociationAmbit->ambitsEquipment->ambits_description }}

@@ -1849,7 +1849,7 @@ class="btn btn-outline-success ">Adicionar
{{-- ./card-body --}}
- {{-- ./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"> - +
@@ -2175,10 +2175,10 @@ class="form-control card_inputs" - {{-- Ambito-ISV --}} + {{-- Âmbito-ISV --}}
-

Ambito : +

Âmbito : {{ $listEquipmentsProject->equipmentAssociationAmbit->ambitsEquipment->ambits_description }}

@@ -2418,7 +2418,7 @@ class="btn btn-outline-success ">Adicionar
{{-- ./card-body --}}
- {{-- ./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"> - +
@@ -2798,10 +2798,10 @@ class="form-control card_inputs" - {{-- Ambito-CV --}} + {{-- Âmbito-CV --}}
-

Ambito : +

Âmbito : {{ $listEquipmentsProject->equipmentAssociationAmbit->ambitsEquipment->ambits_description }}

@@ -3053,7 +3053,7 @@ class="btn btn-outline-success ">Adicionar
{{-- ./card-body --}}
- {{-- ./Ambito-CV --}} + {{-- ./Âmbito-CV --}} @endif @@ -3157,11 +3157,11 @@ class="btn btn-outline-success ">Adicionar Fabrica Tipo de Equipamento Tag - Descricao Equipamento - Numero de Serie + Descrição Equipamento + Número de Serie Marca Modelo - Acoes + Açoẽs @@ -3238,15 +3238,15 @@ class="btn btn-outline-success ">Adicionar @csrf