diff --git a/app/Http/Controllers/CreateProjectController.php b/app/Http/Controllers/CreateProjectController.php
index 558fe29c..b1c67662 100755
--- a/app/Http/Controllers/CreateProjectController.php
+++ b/app/Http/Controllers/CreateProjectController.php
@@ -34,10 +34,30 @@
// use DataTables;
-class CreateProjectController extends Controller
-{
- public function deleteFurtherTasks(Request $request)
- {
+class CreateProjectController extends Controller {
+
+ public function receiveUnits($numberProject) {
+ $PlantData = CompanyProject::where('company_projects_id', $numberProject)->first();
+
+ if(!$PlantData) {
+ return response()->json([]);
+ }
+
+ $receiveUnits = Unit::where('plant_id', $PlantData->plant_id)->get();
+
+ // Formatar a resposta para o formato esperado pelo JavaScript
+ $formattedUnits = $receiveUnits->map(function ($unit) {
+ return [
+ 'id' => $unit->receiveUnits, // Ajuste para o nome da sua coluna correta
+ 'name' => $unit->unit_name // Ajuste para o nome da sua coluna correta
+ ];
+ });
+
+ return response()->json($formattedUnits);
+ }
+
+
+ public function deleteFurtherTasks(Request $request) {
$receiveDataEquipment = Equipment::where('equipment_id', $request->equipmentID)->first();
// Buscar os registros que correspondem ao equipmentID e que têm further_tasks_id nos selectedTasks
$tasksToDelete = OrderEquipmentTasks::where('equipment_id', $request->equipmentID)
@@ -45,12 +65,12 @@ public function deleteFurtherTasks(Request $request)
->get();
// Excluir esses registros
- foreach ($tasksToDelete as $task) {
+ foreach($tasksToDelete as $task) {
$task->delete();
}
// Se o treatmentFurtherTask for "DeleteFurtherTask", exclua os registros da tabela principal FurtherTasks
- if ($request->treatmentFurtherTask == "DeleteFurtherTask") {
+ if($request->treatmentFurtherTask == "DeleteFurtherTask") {
FurtherTasks::whereIn('further_tasks_id', $request->selectedTasks)->delete();
}
@@ -60,16 +80,15 @@ public function deleteFurtherTasks(Request $request)
->get();
$executionOrder = 1;
- foreach ($remainingTasks as $task) {
+ foreach($remainingTasks as $task) {
$task->execution_order = $executionOrder;
$task->save();
$executionOrder++;
}
- return redirect()->back()->with('success', 'Ordem de execução do equipamento: ' . $receiveDataEquipment->equipment_tag . ' Atulizada!');
+ return redirect()->back()->with('success', 'Ordem de execução do equipamento: '.$receiveDataEquipment->equipment_tag.' Atulizada!');
}
- public function addFurtherTasks(Request $request)
- {
+ public function addFurtherTasks(Request $request) {
// Recebe e organiza os dados do equipameto recebido : ($request->equipmentID) e organiza em asc de acordo com a Ordem de execução
$equipmentId = $request->equipmentID;
$tasksToReorder = OrderEquipmentTasks::where('equipment_id', $equipmentId)
@@ -88,15 +107,15 @@ public function addFurtherTasks(Request $request)
$newFurtherTaskId = $elementalTasksCount + $furtherTasksCount + 1;
// Calcule o valor de further_tasks_name
- $newFurtherTaskName = 'TC' . ($furtherTasksCount + 1);
+ $newFurtherTaskName = 'TC'.($furtherTasksCount + 1);
$insertPosition = $request->ArrayListElementsTasks + 1;
// Incrementar a execution_order das tarefas após a posição de inserção
- foreach ($tasksToReorder as $task) {
- if ($task->execution_order >= $insertPosition) {
+ foreach($tasksToReorder as $task) {
+ if($task->execution_order >= $insertPosition) {
$task->execution_order += 1;
$task->save();
}
@@ -109,7 +128,7 @@ public function addFurtherTasks(Request $request)
$newOrderEquipmentTask->elemental_tasks_id = null;
// Se o selectedFurtherTaskExisting for null quer dizer que e uma TC complementar criada e nova se nao for null quer dizer que vamos criar uma TC existente.
- if ($request->selectedFurtherTaskExisting == 'null') {
+ if($request->selectedFurtherTaskExisting == 'null') {
// Cria uma nova tarefa Complementar
$newFurtherTask = new FurtherTasks;
@@ -127,25 +146,17 @@ public function addFurtherTasks(Request $request)
$newOrderEquipmentTask->inspection = 2;
$newOrderEquipmentTask->save();
-
-
-
-
-
-
-
- return redirect()->back()->with('success', 'Ordem de execução do equipamento: ' . $receiveDataEquipment->equipment_tag . ' Atulizada!');
+ return redirect()->back()->with('success', 'Ordem de execução do equipamento: '.$receiveDataEquipment->equipment_tag.' Atulizada!');
}
- public function receiveEquipmentToAssociateTasks(Request $request)
- {
+ public function receiveEquipmentToAssociateTasks(Request $request) {
// dd($request);
- foreach ($request->equipment as $equipment) {
+ foreach($request->equipment as $equipment) {
$equipmentModel = Equipment::where('equipment_id', $equipment['equipment_id'])->first();
- if ($equipmentModel) {
+ if($equipmentModel) {
$equipmentModel->company_projects_id = $request->receiveNumberProject;
$equipmentModel->save();
}
@@ -153,8 +164,7 @@ public function receiveEquipmentToAssociateTasks(Request $request)
return redirect()->back()->with('success', 'Equipametos associados a Obra com Sucesso !');
}
- public function receiveUnitsForExcelTemplate($numberProject)
- {
+ public function receiveUnitsForExcelTemplate($numberProject) {
$receveCompanyProject = CompanyProject::where('company_projects_id', $numberProject)->first();
$recevePlant = Plant::where('plant_id', $receveCompanyProject->plant_id)->first();
$receveUnits = Unit::where('plant_id', $recevePlant->plant_id)->get();
@@ -164,17 +174,16 @@ public function receiveUnitsForExcelTemplate($numberProject)
// Get the second sheet
$sheet = $spreadsheet->getSheet(1); // Sheet index starts from 0
$row = 1; // Row number where you want to start inserting data
- foreach ($receveUnits as $unit) {
+ foreach($receveUnits as $unit) {
// Set value for column D
- $sheet->setCellValue('D' . $row, $unit->unit_name);
+ $sheet->setCellValue('D'.$row, $unit->unit_name);
$row++;
}
// Generate and return the download response
return $this->createDownloadResponse($spreadsheet, 'Valves_Template.xlsx');
}
- protected function createDownloadResponse($spreadsheet, $filename)
- {
+ protected function createDownloadResponse($spreadsheet, $filename) {
// Create a writer object
$writer = new Xlsx($spreadsheet);
// Create a StreamedResponse with a callback
@@ -185,14 +194,13 @@ function () use ($writer) {
);
// Set headers to indicate we're sending an Excel file
$response->headers->set('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
- $response->headers->set('Content-Disposition', 'attachment;filename="' . $filename . '"');
+ $response->headers->set('Content-Disposition', 'attachment;filename="'.$filename.'"');
$response->headers->set('Cache-Control', 'max-age=0');
return $response;
}
- public function finishCreatingProject($numberProject)
- {
+ public function finishCreatingProject($numberProject) {
// recebe atraves de sessao toda a vez quem entra no componente 'SelectElementalTasksInWonkstation' para selecionar as tarefas de cada Workstation
$receiveAllFurtherTasks = session('receiveAllFurtherTasks');
$receiveElementalTasks = session('receiveElementalTasks');
@@ -205,12 +213,12 @@ public function finishCreatingProject($numberProject)
// Recebe todos os dados dos postos de Trabalho
$receiveWorkstaions = ConstructionWorkstation::where('company_projects_id', $numberProject)->get();
- foreach ($receiveWorkstaions as $workstation) {
+ foreach($receiveWorkstaions as $workstation) {
// Verifica se o ID da workstation está presente na tabela WorkstationsAssociationTasks
$exists = WorkstationsAssociationTasks::where('id_workstations', $workstation->id_workstations)->exists();
// Se não existe na tabela, adiciona à lista das workstations onde nao tem tarefas atribuidas ainda.
- if (!$exists) {
+ if(!$exists) {
$missingWorkstations[$workstation->id_workstations] = [
'name_workstations' => $workstation->name_workstations,
'nomenclature_workstation' => $workstation->nomenclature_workstation
@@ -222,22 +230,22 @@ public function finishCreatingProject($numberProject)
$workstationIds = $receiveWorkstaions->pluck('id_workstations')->toArray();
// Iterar sobre cada tarefa em $receiveElementalTasks
- foreach ($receiveElementalTasks as $taskGroup) {
- foreach ($taskGroup as $taskId => $taskDetails) {
+ foreach($receiveElementalTasks as $taskGroup) {
+ foreach($taskGroup as $taskId => $taskDetails) {
// Verificar se a tarefa está associada a algum id_workstations
$exists = WorkstationsAssociationTasks::whereIn('id_workstations', $workstationIds)
->where('elemental_tasks_id', $taskId)
->exists();
// Se não existe, adicionar à lista de tarefas faltantes
- if (!$exists) {
+ if(!$exists) {
$missingElementalTasks[$taskId] = $taskDetails;
}
}
}
// Iterar sobre cada tarefa em $receiveAllFurtherTasks
- foreach ($receiveAllFurtherTasks as $furtherTask) {
+ foreach($receiveAllFurtherTasks as $furtherTask) {
// Obter o ID da tarefa
$taskId = $furtherTask->further_tasks_id;
@@ -247,7 +255,7 @@ public function finishCreatingProject($numberProject)
->exists();
// Se não existe, adicionar à lista de tarefas faltantes
- if (!$exists) {
+ if(!$exists) {
$missingFurtherTasksDetails[$taskId] = [
'name' => $furtherTask->further_tasks_name,
'description' => $furtherTask->further_tasks_description
@@ -264,7 +272,7 @@ public function finishCreatingProject($numberProject)
// Verificar se todos os arrays internos estão vazios
$isEmpty = empty($allMissingTasks['elemental']) && empty($allMissingTasks['further']) && empty($allMissingTasks['workstation']);
- if (!$isEmpty) {
+ if(!$isEmpty) {
return redirect()->back()->with('errors', $allMissingTasks);
} else {
$project = CompanyProject::find($numberProject);
@@ -275,12 +283,11 @@ public function finishCreatingProject($numberProject)
}
}
- public function deleteWorkstation($name)
- {
+ public function deleteWorkstation($name) {
$workstation = ConstructionWorkstation::where('name_workstations', $name)->first();
$removeAcountUserWorkstation = User::where('user_name', $workstation->name_workstations)->first();
- if ($workstation && $removeAcountUserWorkstation) {
+ if($workstation && $removeAcountUserWorkstation) {
$workstation->delete();
$removeAcountUserWorkstation->delete();
@@ -298,19 +305,19 @@ public function deleteWorkstation($name)
->orderByRaw("CAST(SUBSTRING(SUBSTRING_INDEX(name_workstations, '-', 1), 12) AS UNSIGNED) DESC")
->get();
- foreach ($workstationsToUpdate as $workstationToUpdate) {
+ foreach($workstationsToUpdate as $workstationToUpdate) {
// pegar o número da estação de trabalho atual
preg_match('/workstation(\d+)-/', $workstationToUpdate->name_workstations, $matches);
$currentWorkstationNumber = $matches[1];
// atualizar nome da estação de trabalho
- $workstationToUpdate->name_workstations = 'workstation' . ($currentWorkstationNumber - 1) . '-' . $projectNumber;
+ $workstationToUpdate->name_workstations = 'workstation'.($currentWorkstationNumber - 1).'-'.$projectNumber;
$workstationToUpdate->save();
// atualizar Utilizador associado
- $userToUpdate = User::where('user_name', 'workstation' . $currentWorkstationNumber . '-' . $projectNumber)->first();
- if ($userToUpdate) {
- $userToUpdate->user_name = 'workstation' . ($currentWorkstationNumber - 1) . '-' . $projectNumber;
+ $userToUpdate = User::where('user_name', 'workstation'.$currentWorkstationNumber.'-'.$projectNumber)->first();
+ if($userToUpdate) {
+ $userToUpdate->user_name = 'workstation'.($currentWorkstationNumber - 1).'-'.$projectNumber;
$userToUpdate->save();
}
}
@@ -320,12 +327,11 @@ public function deleteWorkstation($name)
return back()->with('danger', 'Posto de Trabalho não encontrado!');
}
- public function removeProjectEquipment(Request $request)
- {
+ public function removeProjectEquipment(Request $request) {
$equipment = Equipment::find($request->EquipmentID);
- if ($request->removalType == 'total') {
+ if($request->removalType == 'total') {
$equipment->delete();
return back()->with('success', 'Equipamento Excluido com sucesso!');
@@ -335,8 +341,7 @@ public function removeProjectEquipment(Request $request)
return back()->with('success', 'Equipamento retirado da obra !');
}
- public function EditEquipmentsProjects(Request $request)
- {
+ public function EditEquipmentsProjects(Request $request) {
// dd($request);
// Localiza o equipment pelo numberProject
$equipment = Equipment::find($request->equipmentId);
@@ -350,22 +355,22 @@ public function EditEquipmentsProjects(Request $request)
$equipment->save();
- if ($request->input('attributes')) {
- foreach ($request->input('attributes') as $key => $value) {
+ if($request->input('attributes')) {
+ foreach($request->input('attributes') as $key => $value) {
// Verifica se o valor é null e a chave é um número (correspondendo aos general_attributes_equipment_id)
- if ($value == null && is_numeric($key)) {
+ if($value == null && is_numeric($key)) {
// Procura o registro relevante em SpecificAttributesEquipmentType
$specificAttributes = SpecificAttributesEquipmentType::where('equipment_id', $request->equipmentId)
->where('general_attributes_equipment_id', $key)
->first();
// Se o registro existir, o deleta
- if ($specificAttributes) {
+ if($specificAttributes) {
$specificAttributes->delete();
}
}
// Se o valor não for null, atualiza ou cria um novo registro
- elseif ($value !== null && is_numeric($key)) {
+ elseif($value !== null && is_numeric($key)) {
// Procura o registro relevante em SpecificAttributesEquipmentType
$specificAttributes = SpecificAttributesEquipmentType::where('equipment_id', $request->equipmentId)
@@ -373,7 +378,7 @@ public function EditEquipmentsProjects(Request $request)
->first();
// Se o registro existir, atualiza o valor
- if ($specificAttributes) {
+ if($specificAttributes) {
$specificAttributes->specific_attributes_value = $value;
$specificAttributes->save();
}
@@ -393,18 +398,18 @@ public function EditEquipmentsProjects(Request $request)
// Se não selecionar nenhuma tarefas ele devolve um erro , pois e necessario pelo menos uma
- if (!in_array('on', $request->input('ordemTasks'))) {
- return redirect()->back()->with('danger', 'É necessário selecionar pelo menos uma tarefa, Para o Equipamento : ' . $equipment->equipment_tag);
+ if(!in_array('on', $request->input('ordemTasks'))) {
+ return redirect()->back()->with('danger', 'É necessário selecionar pelo menos uma tarefa, Para o Equipamento : '.$equipment->equipment_tag);
}
$executionOrder = 1;
- foreach ($request->input('ordemTasks') as $key => $value) {
+ foreach($request->input('ordemTasks') as $key => $value) {
$orderEquipmentTask = OrderEquipmentTasks::where('equipment_id', $request->equipmentId)
->where('elemental_tasks_id', $key)
->first();
- if ($value == "on") {
- if (!$orderEquipmentTask) {
+ if($value == "on") {
+ if(!$orderEquipmentTask) {
$orderEquipmentTask = new OrderEquipmentTasks();
$orderEquipmentTask->equipment_id = $request->equipmentId;
$orderEquipmentTask->elemental_tasks_id = $key;
@@ -413,7 +418,7 @@ public function EditEquipmentsProjects(Request $request)
$orderEquipmentTask->save();
$executionOrder++;
- } elseif ($value == "off" && $orderEquipmentTask) {
+ } elseif($value == "off" && $orderEquipmentTask) {
$orderEquipmentTask->delete();
}
}
@@ -424,7 +429,7 @@ public function EditEquipmentsProjects(Request $request)
->orderBy('execution_order', 'asc')
->get();
- foreach ($remainingOrderEquipmentTasks as $orderEquipmentTask) {
+ foreach($remainingOrderEquipmentTasks as $orderEquipmentTask) {
$orderEquipmentTask->execution_order = $executionOrder;
$orderEquipmentTask->save();
$executionOrder++;
@@ -435,18 +440,17 @@ public function EditEquipmentsProjects(Request $request)
->get();
$taskExecutionOrders = [];
- foreach ($orderTasks as $task) {
+ foreach($orderTasks as $task) {
$taskExecutionOrders[$task->elemental_tasks_id] = $task->execution_order;
}
// Retorna uma resposta
return redirect()->route('test2', ['id' => $request->numberProject])
- ->with('success', 'Equipamento ' . $equipment->equipment_tag . ' Editado com Sucesso!!!')
+ ->with('success', 'Equipamento '.$equipment->equipment_tag.' Editado com Sucesso!!!')
->with('taskExecutionOrders', $taskExecutionOrders);
}
- public function showJson($id)
- {
+ public function showJson($id) {
$attributes = SpecificAttributesEquipmentType::where('equipment_id', $id)->get();
$OrdemTasks = OrderEquipmentTasks::where('equipment_id', $id)->get();
$allElementalTasks = ElementalTasks::all();
@@ -458,8 +462,7 @@ public function showJson($id)
]);
}
- public function receveTasksWorkstationPlanning($WorkstationId)
- {
+ public function receveTasksWorkstationPlanning($WorkstationId) {
$workstationsAssociationTasks = WorkstationsAssociationTasks::where('id_workstations', $WorkstationId)->get();
return response()->json([
@@ -468,8 +471,7 @@ public function receveTasksWorkstationPlanning($WorkstationId)
}
- public function createWorkStations(Request $request)
- {
+ public function createWorkStations(Request $request) {
// Pega o número de estações de trabalho do request
$numberWorkstations = $request->numberWorkstations;
@@ -485,15 +487,15 @@ public function createWorkStations(Request $request)
// Se houver uma estação de trabalho anterior, extrai o número dela
$startNumber = 1;
- if ($lastWorkstation) {
+ if($lastWorkstation) {
$parts = explode('-', $lastWorkstation->name_workstations);
$startNumber = intval(str_replace('workstation', '', $parts[0])) + 1;
}
// Loop para criar as estações de trabalho e seus logins
- for ($i = $startNumber; $i < $startNumber + $numberWorkstations; $i++) {
+ for($i = $startNumber; $i < $startNumber + $numberWorkstations; $i++) {
$workstation = new ConstructionWorkstation();
- $workstation->name_workstations = 'workstation' . $i . '-' . $numberProject;
+ $workstation->name_workstations = 'workstation'.$i.'-'.$numberProject;
$workstation->company_projects_id = $numberProject;
$workstation->save();
@@ -503,32 +505,30 @@ public function createWorkStations(Request $request)
//Apos criar a Workstation vamos criar um login para pode aceder os postos de trabalho na obra
$loginWorkStation = new User;
$loginWorkStation->user_name = $workstation->name_workstations;
- $loginWorkStation->email = $receveProjectCompanyNumber->project_company_number . '-' . $receiveNumberWorkstation . '@isptgroup.com';
- $loginWorkStation->password = bcrypt($receveProjectCompanyNumber->project_company_number . '-' . $receiveNumberWorkstation);
+ $loginWorkStation->email = $receveProjectCompanyNumber->project_company_number.'-'.$receiveNumberWorkstation.'@isptgroup.com';
+ $loginWorkStation->password = bcrypt($receveProjectCompanyNumber->project_company_number.'-'.$receiveNumberWorkstation);
$loginWorkStation->type_users = 5;
- $loginWorkStation->user_nif = $receveProjectCompanyNumber->project_company_number . '-' . $receiveNumberWorkstation;
+ $loginWorkStation->user_nif = $receveProjectCompanyNumber->project_company_number.'-'.$receiveNumberWorkstation;
$loginWorkStation->save();
}
// Redireciona para onde você quiser após a criação das workstations
return redirect()->route('test3', ['id' => $request->numberProject])
- ->with('success', $numberWorkstations . ' Postos de Trabalho criados !!!')
+ ->with('success', $numberWorkstations.' Postos de Trabalho criados !!!')
->with('listWorkstations', $listWorkstations);
}
// Funcao apenas para retornar os dados necessarios para a view criar uma Obra.
- public function createProjectForStep1()
- {
+ public function createProjectForStep1() {
$companies = User::where('type_users', 3)->get();
// Apos terminar não vai ficar step 1
return view('projectsClients/createProject', ['step' => 1], ['companies' => $companies]);
}
-
+
// Progress Bar
//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)
- {
+ public function showStep1($company_projects_id) {
// $projects = CompanyProject::find($company_projects_id);
$projects = CompanyProject::with('user')->find($company_projects_id);
@@ -541,19 +541,16 @@ public function showStep1($company_projects_id)
}
// Se forem alterados dados dos Detalhes da Obra, vai ser alterado
- public function EditprocessStep1(Request $request)
- {
+ public function EditprocessStep1(Request $request) {
}
- public function removePendingEquipment($id)
- {
+ public function removePendingEquipment($id) {
$equipment = PendingEquipment::findOrFail($id);
$equipment->delete();
return back()->with('success', 'Equipamento pendente removido com sucesso!');
}
- public function CreateNewEquipmentFromPendingEquipment(Request $request, $id)
- {
+ public function CreateNewEquipmentFromPendingEquipment(Request $request, $id) {
$checkPendingEquipment = PendingEquipment::findOrFail($id);
$counter = 2;
@@ -561,15 +558,15 @@ public function CreateNewEquipmentFromPendingEquipment(Request $request, $id)
$baseDescription = $checkPendingEquipment->pending_equipment_description;
// Ciclo para verificar se ja existe um equipamento com o mesmo nome se existir vai criando com o contador iniciado a partir de (2)
- while (Equipment::where('equipment_tag', $baseTag . "({$counter})")->orWhere('equipment_description', $baseDescription . "({$counter})")->exists()) {
+ while(Equipment::where('equipment_tag', $baseTag."({$counter})")->orWhere('equipment_description', $baseDescription."({$counter})")->exists()) {
$counter++;
}
$newEquipment = new Equipment;
$newEquipment->unit_id = $checkPendingEquipment->pending_equipment_unit_id;
$newEquipment->equipment_type_id = $checkPendingEquipment->pending_equipment_type_id;
- $newEquipment->equipment_tag = $baseTag . "({$counter})";
- $newEquipment->equipment_description = $baseDescription . "({$counter})";
+ $newEquipment->equipment_tag = $baseTag."({$counter})";
+ $newEquipment->equipment_description = $baseDescription."({$counter})";
$newEquipment->equipment_serial_number = $checkPendingEquipment->pending_equipment_serial_number;
$newEquipment->equipment_brand = $checkPendingEquipment->pending_equipment_brand;
$newEquipment->equipment_model = $checkPendingEquipment->pending_equipment_model;
@@ -588,16 +585,15 @@ public function CreateNewEquipmentFromPendingEquipment(Request $request, $id)
$checkPendingEquipment->delete();
- return back()->with('success', 'Equipamento ' . $newEquipment->equipment_tag . ' criado com sucesso');
+ return back()->with('success', 'Equipamento '.$newEquipment->equipment_tag.' criado com sucesso');
}
- public function processStep1(Request $request)
- {
+ public function processStep1(Request $request) {
// Validação...
$installationId = $request->input('installation_id');
- if ($installationId == 'new_install') {
+ if($installationId == 'new_install') {
// Criar uma nova instalação...
$newInstallation = new Plant;
@@ -621,7 +617,7 @@ public function processStep1(Request $request)
$project->project_company_responsible = $request->input('responsible_project_company');
// Verifica se e igual a nulo , se for usa a data ja existente
- if ($request->date_started === null) {
+ if($request->date_started === null) {
$project->date_started = $request->input('date_started_present');
} else
$project->date_started = $request->input('date_started');
@@ -641,8 +637,7 @@ public function processStep1(Request $request)
->with('success', 'Detalhes, Projecto criado com sucesso');
}
- public function showStep2($company_projects_id)
- {
+ public function showStep2($company_projects_id) {
// Verifique se a etapa 1 foi concluída
// if (!session('form_data.step1')) {
@@ -677,19 +672,24 @@ public function showStep2($company_projects_id)
// $listEquipmentsProjects = Equipment::with(['unit', 'equipmentType', 'equipmentAssociationAmbit.ambitsEquipment'])
// ->where('company_projects_id', $company_projects_id)
// ->get();
- $listEquipmentsProjects = Equipment::with(['unit', 'equipmentType', 'equipmentAssociationAmbit.ambitsEquipment', 'specificAttributes' => function ($query) {
- $query->orderBy('specific_attributes_value', 'asc');
- }])
+ $listEquipmentsProjects = Equipment::with([
+ 'unit',
+ 'equipmentType',
+ 'equipmentAssociationAmbit.ambitsEquipment',
+ 'specificAttributes' => function ($query) {
+ $query->orderBy('specific_attributes_value', 'asc');
+ }
+ ])
->where('company_projects_id', $company_projects_id)
->get();
-
+ // dd($checkUnits);
$pendingEquipments = PendingEquipment::where('pending_company_projects_id', $numberProject)->get();
- if (!$pendingEquipments->isEmpty()) {
+ 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 Instalação que se iniciou a obra.
return view('projectsClients/articulated_2', ['step' => 2, 'numberProject' => $numberProject])
- ->with('danger', 'Equipamentos Pendentes: ' . count($pendingEquipments))
+ ->with('danger', 'Equipamentos Pendentes: '.count($pendingEquipments))
->with('pendingEquipments', $pendingEquipments)
->with('listEquipmentsProjects', $listEquipmentsProjects)
->with('typeEquipments', $typeEquipments)
@@ -705,8 +705,7 @@ public function showStep2($company_projects_id)
->with('receiveNumberProject', $project);
}
- public function createEquipmentManual(Request $request)
- {
+ public function createEquipmentManual(Request $request) {
// EquipmentAmbit
// *** Recebe a Instalação(Plant), com base no número da Obra Criada
$receivePlant = DB::table('plants')
@@ -727,7 +726,7 @@ public function createEquipmentManual(Request $request)
'unit_id' => $request->unit_id
]);
- if ($existingEquipment) {
+ if($existingEquipment) {
return redirect()->route('test2', ['id' => $request->numberProject])
->with('danger', 'Equipamento ja Existe !!')
->with('listEquipmentsProjects', $listEquipmentsProjects);
@@ -737,7 +736,7 @@ public function createEquipmentManual(Request $request)
$newEquipmentProject = new Equipment;
// Se for uma fabrica(Unit) existente
- if ($request->new_unit_name == null) {
+ if($request->new_unit_name == null) {
$newEquipmentProject->unit_id = $request->unit_id;
} else {
@@ -773,8 +772,8 @@ public function createEquipmentManual(Request $request)
// Recebe esta associacao, e cria um array para cada 'name'(inputs) igual ao 'general_attributes_equipment_description', contanto que seu valor(input) seja diferente de *NULL, assim o "$receivesAssociationAttributes" recebe o id de acordo com a tabela , o nome de acordo com a tabela e o valor do $request recebido associado ao campo
$receivesAssociationAttributes = [];
- foreach ($checkAtributs as $description => $id) {
- if ($request[$description] !== null) {
+ foreach($checkAtributs as $description => $id) {
+ if($request[$description] !== null) {
$receivesAssociationAttributes[] = [
'general_attributes_equipment_id' => $id,
'general_attributes_equipment_description' => $description,
@@ -783,7 +782,7 @@ public function createEquipmentManual(Request $request)
}
}
// Para cada um dos Arrays criados acima, vai criar os novos dados na tabela 'SpecificAttributesEquipmentType'
- foreach ($receivesAssociationAttributes as $receivesAssociationAttribute) {
+ foreach($receivesAssociationAttributes as $receivesAssociationAttribute) {
$AddAtributsEquipments = new SpecificAttributesEquipmentType;
$AddAtributsEquipments->equipment_id = $equipmentID;
$AddAtributsEquipments->equipment_type_id = $request->equipmentTypeId;
@@ -804,7 +803,7 @@ public function createEquipmentManual(Request $request)
//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) {
+ foreach($TasksAssociationAmbits as $TasksAssociationAmbit) {
$JoinsEquipmentsWithTasks = new OrderEquipmentTasks;
$JoinsEquipmentsWithTasks->equipment_id = $equipmentID;
$JoinsEquipmentsWithTasks->execution_order = $execution_order++;
@@ -820,14 +819,12 @@ public function createEquipmentManual(Request $request)
->with('success', 'Equipamento criado com sucesso')
->with('listEquipmentsProjects', $listEquipmentsProjects);
}
- public function receiveIdEquipment(Equipment $equipment)
- {
+ public function receiveIdEquipment(Equipment $equipment) {
// return response()->json($equipment);
return view('projectsClients/articulated_2', ['equipment' => $equipment]);
}
- public function processStep2(Request $request)
- {
+ public function processStep2(Request $request) {
// Valide e processe os dados do formulário
$file = $request->file('documento');
@@ -835,7 +832,7 @@ public function processStep2(Request $request)
$company_projects_id = $request->numberProject;
// Certifique-se de que um arquivo foi enviado
- if ($file) {
+ if($file) {
// Carregue o arquivo Excel
$spreadsheet = IOFactory::load($file->path());
@@ -852,19 +849,19 @@ public function processStep2(Request $request)
$countNewEquipment = 0;
// Comece a partir da sexta linha
- for ($i = 6; $i < count($data); $i++) {
+ for($i = 6; $i < count($data); $i++) {
$dadosLinha = $data[$i];
// Verifica se os 5 primeiros campos essenciais estao preenchidos, um deles não estiver preenchido ele ignora e não cria o equipamento
$isEmpty = false;
- for ($j = 0; $j < 5; $j++) {
- if (empty($dadosLinha[$j])) {
+ for($j = 0; $j < 5; $j++) {
+ if(empty($dadosLinha[$j])) {
$isEmpty = true;
break;
}
}
- if ($isEmpty) {
+ if($isEmpty) {
continue;
}
@@ -887,7 +884,7 @@ public function processStep2(Request $request)
->where('equipment_tag', $datas['tag'])
->first();
- if ($existingEquipment) {
+ if($existingEquipment) {
// Se o equipamento existir, crie o novo equipamento na tabela pending_equipaments.
$pendingEquipament = new PendingEquipment;
@@ -930,7 +927,7 @@ public function processStep2(Request $request)
$ambit = AmbitsEquipment::where('ambits_description', $datas['ambito'])->first();
- if ($ambit) {
+ if($ambit) {
$ambit_id = $ambit->ambits_id;
}
@@ -946,7 +943,7 @@ public function processStep2(Request $request)
//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) {
+ foreach($TasksAssociationAmbits as $TasksAssociationAmbit) {
$JoinsEquipmentsWithTasks = new OrderEquipmentTasks;
$JoinsEquipmentsWithTasks->equipment_id = $receveEquipment_ID;
$JoinsEquipmentsWithTasks->execution_order = $execution_order++;
@@ -960,9 +957,9 @@ public function processStep2(Request $request)
$generalAttributes = GeneralAttributesEquipment::all();
- foreach ($generalAttributes as $generalAttribute) {
+ foreach($generalAttributes as $generalAttribute) {
// Verifica se a chave existe em $datas, comparando com os dados da tabela : GeneralAttributesEquipment assim adicionando todos diferentes de NULL relacionados com o equipamento acabado de cria
- if (isset($datas[$generalAttribute->general_attributes_equipment_description])) {
+ if(isset($datas[$generalAttribute->general_attributes_equipment_description])) {
$specificAttribute = new SpecificAttributesEquipmentType;
$specificAttribute->equipment_id = $receveEquipment_ID;
@@ -979,15 +976,15 @@ public function processStep2(Request $request)
$pendingEquipments = PendingEquipment::where('pending_company_projects_id', $request->numberProject)->get();
// $pendingEquipments = session('pendingEquipments');
- if ($countPendingEquipments != 0) {
+ if($countPendingEquipments != 0) {
// return redirect()->route('test2')->with('Danger', 'Equipamentos Pendentes')->with('listValves', $listValves)->with('pendingEquipments', $pendingEquipments);
return redirect()->route('test2', ['id' => $request->numberProject])
- ->with('danger', 'Equipamentos Pendentes criados : ' . $countPendingEquipments)
+ ->with('danger', 'Equipamentos Pendentes criados : '.$countPendingEquipments)
->with('pendingEquipments', $pendingEquipments);
// ->with('success', 'Equipamentos Criados :' . count($listValves))
}
return redirect()->route('test2', ['id' => $request->numberProject])
- ->with('success', 'Equipamentos Criados :' . $countNewEquipment);
+ ->with('success', 'Equipamentos Criados :'.$countNewEquipment);
}
//Nao chega aqui ainda pois volta para a pagina com dados ja carregados.
@@ -998,34 +995,33 @@ public function processStep2(Request $request)
return redirect('/test3');
}
- public function showStep3($company_projects_id)
- {
+ public function showStep3($company_projects_id) {
$equipments = Equipment::where('company_projects_id', $company_projects_id)
->get();
- foreach ($equipments as $equipment) {
+ foreach($equipments as $equipment) {
$tags = [];
- if ($equipment->equipment_type_id == 3) {
+ if($equipment->equipment_type_id == 3) {
$tags = ['@Corpo', '@Flange', '@Obturador'];
- } elseif ($equipment->equipment_type_id == 1) {
+ } elseif($equipment->equipment_type_id == 1) {
$tags = ['@Corpo', '@Flange'];
}
- foreach ($tags as $tag) {
+ foreach($tags as $tag) {
$associatedEquipment = QrcodesAssociatedEquipment::where('equipment_id', $equipment->equipment_id)
- ->where('component_tag', 'LIKE', '%' . $tag)
+ ->where('component_tag', 'LIKE', '%'.$tag)
->first();
- if ($associatedEquipment) {
+ if($associatedEquipment) {
// Atualizar a coluna component_tag para ser igual à equipment_tag, mantendo a parte após o "@"
- $newComponentTag = $equipment->equipment_tag . $tag;
+ $newComponentTag = $equipment->equipment_tag.$tag;
$associatedEquipment->component_tag = $newComponentTag;
$associatedEquipment->save();
} else {
// Criar uma nova entrada
QrcodesAssociatedEquipment::create([
'equipment_id' => $equipment->equipment_id,
- 'component_tag' => $equipment->equipment_tag . $tag
+ 'component_tag' => $equipment->equipment_tag.$tag
]);
}
}
@@ -1035,7 +1031,7 @@ public function showStep3($company_projects_id)
$allEquipmentIds = Equipment::where('company_projects_id', $company_projects_id)->pluck('equipment_id')->toArray();
$orphanedEntries = QrcodesAssociatedEquipment::whereNotIn('equipment_id', $allEquipmentIds)->get();
- foreach ($orphanedEntries as $orphanedEntry) {
+ foreach($orphanedEntries as $orphanedEntry) {
$orphanedEntry->delete();
}
@@ -1053,14 +1049,13 @@ public function showStep3($company_projects_id)
->with('futherTasks', $futherTasks);
}
- public function workstationsAssociationTasks(Request $request)
- {
+ public function workstationsAssociationTasks(Request $request) {
// dd($request);
$workStation = ConstructionWorkstation::where('id_workstations', $request->idWorkStation)->first();
// Trocar o nome se for diferente do recebido
- if ($workStation) {
+ if($workStation) {
$workStation->nomenclature_workstation = $request->nameWorkstation;
$workStation->save();
}
@@ -1068,11 +1063,11 @@ public function workstationsAssociationTasks(Request $request)
// Atualizar a lista de tipos de tarefas para incluir os novos grupos
$taskTypes = ['generalTasks', '1', '2', '3', 'FurtherTasks'];
- foreach ($taskTypes as $groupTasks) {
- if (isset($request[$groupTasks])) { // Checar se esse grupo de tarefas existe no request
- foreach ($request[$groupTasks] as $taskID => $check) {
+ foreach($taskTypes as $groupTasks) {
+ if(isset($request[$groupTasks])) { // Checar se esse grupo de tarefas existe no request
+ foreach($request[$groupTasks] as $taskID => $check) {
- if ($groupTasks == 'FurtherTasks') {
+ if($groupTasks == 'FurtherTasks') {
// Encontra a tarefa existente, se houver, para FurtherTasks
$taskAssociation = WorkstationsAssociationTasks::where('id_workstations', $workStation->id_workstations)
->where('further_tasks_id', $taskID)
@@ -1086,11 +1081,11 @@ public function workstationsAssociationTasks(Request $request)
->first();
}
- if ($check == 'on') {
- if (!$taskAssociation) {
+ if($check == 'on') {
+ if(!$taskAssociation) {
$taskAssociation = new WorkstationsAssociationTasks;
$taskAssociation->id_workstations = $workStation->id_workstations;
- if ($groupTasks == 'FurtherTasks') {
+ if($groupTasks == 'FurtherTasks') {
$taskAssociation->further_tasks_id = $taskID; // Usando $taskID, que é a key
} else {
$taskAssociation->elemental_tasks_id = $taskID; // Usando $taskID, que é a key
@@ -1098,7 +1093,7 @@ public function workstationsAssociationTasks(Request $request)
$taskAssociation->company_projects_id = $workStation->company_projects_id;
}
$taskAssociation->save();
- } elseif ($check == 'off' && $taskAssociation) {
+ } elseif($check == 'off' && $taskAssociation) {
$taskAssociation->delete();
}
}
@@ -1107,11 +1102,10 @@ public function workstationsAssociationTasks(Request $request)
// Redirecionar de volta com uma mensagem de sucesso
- return back()->with('success', 'Posto de trabalho : ' . $workStation->name_workstations . ' atualizado com sucesso!');
+ return back()->with('success', 'Posto de trabalho : '.$workStation->name_workstations.' atualizado com sucesso!');
}
- public function processStep3(Request $request)
- {
+ public function processStep3(Request $request) {
// Valide e processe os dados do formulário
// ...
session(['form_data.step3' => $request->all()]);
@@ -1121,8 +1115,7 @@ public function processStep3(Request $request)
// ...
}
- public function index()
- {
+ public function index() {
// $results = DB::table('equipaments')
// ->join('specific_attributes_equipament_types', 'equipaments.equipment_ID', '=', 'specific_attributes_equipament_types.tb_equipament_id')
// ->join('general_attributes_equipaments', 'specific_attributes_equipament_types.specific_Attributes_Equipment_Type_ID', '=', 'general_attributes_equipaments.general_Attributes_Equipment_ID')
@@ -1140,8 +1133,8 @@ public function index()
$groupedEquipments = [];
- foreach ($results as $result) {
- if (!isset($groupedEquipments[$result->tag])) {
+ foreach($results as $result) {
+ if(!isset($groupedEquipments[$result->tag])) {
$groupedEquipments[$result->tag] = [];
}
@@ -1153,8 +1146,8 @@ public function index()
$equipments = DB::table('equipments')->get();
- foreach ($equipments as $equipment) {
- if (isset($groupedEquipments[$equipment->tag])) {
+ foreach($equipments as $equipment) {
+ if(isset($groupedEquipments[$equipment->tag])) {
$equipment->specific_attributes = $groupedEquipments[$equipment->tag];
}
}
@@ -1166,20 +1159,18 @@ public function index()
}
- public function listCompanies()
- {
+ public function listCompanies() {
$companies = User::where('type_users', 3)->get();
return view('projectsClients/createProject', ['companies' => $companies]);
}
- public function createProject(Request $request)
- {
+ public function createProject(Request $request) {
// Validação...
$installationId = $request->input('installation_id');
- if ($installationId == 'new_install') {
+ if($installationId == 'new_install') {
// Criar uma nova instalação...
$newInstallation = new Unit;
$newInstallation->installation_name = $request->input('new_company_name');
@@ -1210,9 +1201,8 @@ public function createProject(Request $request)
}
- public function storeProject(Request $request)
- {
- if ($request->input('company_id') == 'new') {
+ public function storeProject(Request $request) {
+ if($request->input('company_id') == 'new') {
$company = new CompanyProject; // Substitua "Company" pelo nome do seu modelo de empresas
$company->name = $request->input('new_company_name');
$company->save();
@@ -1225,8 +1215,7 @@ public function storeProject(Request $request)
// Agora, você pode usar $company_id ao criar o projeto
}
- public function getByUserNif(Request $request)
- {
+ public function getByUserNif(Request $request) {
// dd(Plant::where('user_id', $request->input('user_id'))->get());
@@ -1236,8 +1225,7 @@ public function getByUserNif(Request $request)
return response()->json($installations);
}
- public function getAmbits($equipmentType)
- {
+ public function getAmbits($equipmentType) {
$ambits = DB::table('ambits_equipments')
->select('ambits_equipments.*')
@@ -1246,8 +1234,7 @@ public function getAmbits($equipmentType)
return response()->json($ambits);
}
- public function getAttributes($id)
- {
+ public function getAttributes($id) {
$equipment = Equipment::with('specificAttributes')->find($id);
return response()->json($equipment->specificAttributes);
}
diff --git a/app/Http/Controllers/ExecutionProjectController.php b/app/Http/Controllers/ExecutionProjectController.php
index bfa14949..44bf0296 100755
--- a/app/Http/Controllers/ExecutionProjectController.php
+++ b/app/Http/Controllers/ExecutionProjectController.php
@@ -9,74 +9,110 @@
use App\Models\Equipment;
use App\Models\EquipmentComments;
use App\Models\EquipmentType;
-use App\Models\OrderEquipmentTasks;
-use App\Models\SpecificAttributesEquipmentType;
+
use App\Models\ElementalTasks;
use Yajra\DataTables\Facades\DataTables;
class ExecutionProjectController extends Controller
{
-
- public function test11($equipmentID)
- {
- $dataEquipment =Equipment::find($equipmentID);
-
- // dd($dataEquipment);
-
- $attributes = SpecificAttributesEquipmentType::where('equipment_id', $equipmentID)->get(); // recebe todos os atributos espesificos do equipamento
- $OrdemTasks = OrderEquipmentTasks::where('equipment_id', $equipmentID)->get(); // Todas as tarefas que o equipamento vai realizar :
- $OrdemTasksIds = $OrdemTasks->pluck('elemental_tasks_id')->all(); // Array de IDs
-
- return view ('projectsClients.articulated_2_ShowEquipment',compact('dataEquipment','OrdemTasks','OrdemTasksIds'));
- }
-
public function getDataEquipment(Request $request)
{
+ // pode receber um request ou nao, depende de onde for chamado.
+ $numberProject = $request->get('numberProject');
- $numberProject = $request->get('numberProject');
+ $checkUnits = $request->get('checkUnits');
+ $tipo_valvulasList = $request->get('tipo_valvulasList');
- // Inicia a consulta
- $query = Equipment::with('equipmentType')
- ->select(['equipment_id', 'equipment_tag', 'unit_id', 'equipment_type_id']);
+ $receiveAllClients = $request->get('receiveAllClients');
- // Adiciona a cláusula where se numberProject for fornecido
- if ($numberProject) {
- $query->where('company_projects_id', $numberProject);
- }
+ $receiveAllPlants = $request->get('receiveAllPlants');
- // Executa a consulta e obtém os resultados
- $equipment = $query->get();
+ $receiveAllUnits = $request->get('receiveAllUnits');
+
+ $receiveEquipmentsType = $request->get('receiveEquipmentsType');
+
+ // Query padrão que todas as dataTables recebem, a partir dele fazemos os filt
+ $query = Equipment::with('equipmentType', 'unit')
+ ->select(['equipment_id', 'equipment_tag', 'unit_id', 'equipment_type_id']);
+
+ // Consultas para a Criacao da Obra, Ambas vao ser diferentes, pois na creacao, recebes os equipamentos por obra, porem no portifolio vamos buscar todos.
+ if ($numberProject) {
+ $query->where('company_projects_id', $numberProject);
+
+ if ($checkUnits && $checkUnits !== '#') {
+ $query->where('unit_id', $checkUnits);
+ }
+
+ if ($tipo_valvulasList && $tipo_valvulasList !== '#') {
+ $query->where('equipment_type_id', $tipo_valvulasList);
+ }
+ }
+
+ //Filtar equipamentos por um cliente especifico.
+ if ($receiveAllClients && $receiveAllClients !== '#') {
+ // Filtra os equipamentos cujas unidades estão associadas às plantas do usuário especificado
+ $query->whereHas('unit.plant', function ($query) use ($receiveAllClients) {
+ $query->where('user_id', $receiveAllClients);
+ });
+ }
+
+ //Filtar equipamentos por uma instalacao especifica.
+ if ($receiveAllPlants && $receiveAllPlants !== '#') {
+ $query->whereHas('unit', function ($query) use ($receiveAllPlants) {
+ $query->where('plant_id', $receiveAllPlants);
+ });
+ }
+
+ if ($receiveAllUnits && $receiveAllUnits !== '#') {
+ $query->where('unit_id', $receiveAllUnits);
+ }
+ if ($receiveEquipmentsType && $receiveEquipmentsType !== '#') {
+ $query->where('equipment_type_id', $receiveEquipmentsType);
+ }
+
+ // Executa a consulta e obtém os resultados
+ $equipment = $query->get();
+
+ return DataTables::of($equipment)
+ ->addColumn('unit_name', function ($equipment) {
+ // Retorna 'unit_name' do relacionamento 'unit'
+ return $equipment->unit ? $equipment->unit->unit_name : 'N/A';
+ })
+ ->addColumn('equipment_type_name', function ($equipment) {
+ // Retorna 'equipment_type_name' do relacionamento 'equipmentType'
+ return $equipment->equipmentType ? $equipment->equipmentType->equipment_type_name : 'N/A';
+ })
+
+ ->addColumn('action', function ($equipment) use ($numberProject) {
+ // Verifica se $numberProject não é nulo
+ if (!is_null($numberProject)) {
+ // Se não for nulo, usa a rota 'test11'
+ $actionBtn = '';
+ } else {
+ // Se for nulo, usa a rota 'test22'
+ $actionBtn = '';
+ }
+ return $actionBtn;
+ })
+
+ // ->addColumn('action', function ($equipment) use ($numberProject) {
+ // // Lógica para a coluna de ação com o link correto
+ // $actionBtn = '';
+ // return $actionBtn;
+ // })
- // $equipment = Equipment::with('equipmentType') // Certifique-se de que o método 'equipmentType' existe no modelo 'Equipment'
- // ->select(['equipment_id', 'equipment_tag', 'unit_id', 'equipment_type_id'])
- // ->where('company_projects_id', $numberProject);
-
- return DataTables::of($equipment)
- ->addColumn('unit_name', function ($equipment) {
- // Retorna 'unit_name' do relacionamento 'unit'
- return $equipment->unit ? $equipment->unit->unit_name : 'N/A';
- })
- ->addColumn('equipment_type_name', function ($equipment) {
- // Retorna 'equipment_type_name' do relacionamento 'equipmentType'
- return $equipment->equipmentType ? $equipment->equipmentType->equipment_type_name : 'N/A';
- })
- ->addColumn('action', function ($equipment) use ($numberProject) {
- // Lógica para a coluna de ação com o link correto
- $actionBtn = '';
- return $actionBtn;
- })
- ->editColumn('unit_id', function ($equipment) {
- // Isto irá substituir 'unit_id' pelo 'unit_name' associado
- return $equipment->unit->unit_name ?? 'N/A';
- })
- ->editColumn('equipment_type_id', function ($equipment) {
- // Isto irá substituir 'equipment_type_id' pelo 'equipment_type_name' associado
- return $equipment->equipmentType->equipment_type_name ?? 'N/A';
- })
- ->rawColumns(['action'])
- ->make(true);
+ ->editColumn('unit_id', function ($equipment) {
+ // Isto irá substituir 'unit_id' pelo 'unit_name' associado
+ return $equipment->unit->unit_name ?? 'N/A';
+ })
+ ->editColumn('equipment_type_id', function ($equipment) {
+ // Isto irá substituir 'equipment_type_id' pelo 'equipment_type_name' associado
+ return $equipment->equipmentType->equipment_type_name ?? 'N/A';
+ })
+ ->rawColumns(['action'])
+ ->make(true);
}
public function enterWorkstation()
@@ -119,7 +155,7 @@ public function receiveEquipmentIdForShowModal($EquipmentID)
return $task->elementalTask->elemental_tasks_code;
})->toArray();
- $receveControlEquipment = ControlEquipmentWorkstation::where('equipment_id', $EquipmentID)->get();
+ $receveControlEquipment = ControlEquipmentWorkstation::where('equipment_id', $EquipmentID)->get();
$receiveCommentsEquipment = EquipmentComments::where('equipment_id', $EquipmentID)->get();
diff --git a/app/Http/Controllers/ProjectoDatacontroller.php b/app/Http/Controllers/ProjectoDatacontroller.php
index f320ded9..22996c76 100755
--- a/app/Http/Controllers/ProjectoDatacontroller.php
+++ b/app/Http/Controllers/ProjectoDatacontroller.php
@@ -3,6 +3,7 @@
namespace App\Http\Controllers;
use App\Models\AmbitsEquipment;
+use App\Models\Unit;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
@@ -13,6 +14,9 @@
use App\Models\CompanyProject;
use App\Models\User;
+use App\Models\OrderEquipmentTasks;
+use App\Models\SpecificAttributesEquipmentType;
+
use App\Models\ConstructionWorkstation;
use App\Models\EquipmentType;
@@ -20,16 +24,64 @@
class ProjectoDatacontroller extends Controller
{
- public function receivePlants($clientId)
- {
- if ($clientId == 'all') {
- $allPlants = Plant::all();
- return response()->json($allPlants);
- }
- dd($clientId);
+
+ public function receiveUnitsManageAssets($receivePlantClientRelated){
+
+ $UnitsData = Unit::where('plant_id',$receivePlantClientRelated)->get();
+
+ $formattedData = $UnitsData->map(function ($item) {
+ return [
+ 'id' => $item->unit_id,
+ 'name'=> $item->unit_name
+ ];
+ });
+
+ return response()->json($formattedData);
+ }
+
+ public function receivePlants($receiveAllClients) {
+
+ $PlantData = Plant::where('user_id', $receiveAllClients)->get();
+ // Criando um array para armazenar os dados formatados
+ $formattedData = $PlantData->map(function ($item) {
+ return [
+ 'id' => $item->plant_id,
+ 'name' => $item->plant_name
+ ];
+ });
+ // Retorna os dados em formato JSON
+ return response()->json($formattedData);
}
+ //Funcao que recebe a Acoes do dataTables das obrar em Planeamento.
+ public function test11($projectID,$equipmentID)
+ {
+ $dataEquipment =Equipment::find($equipmentID);
+
+ $attributes = SpecificAttributesEquipmentType::where('equipment_id', $equipmentID)->get(); // recebe todos os atributos espesificos do equipamento
+ $OrdemTasks = OrderEquipmentTasks::where('equipment_id', $equipmentID)->get(); // Todas as tarefas que o equipamento vai realizar :
+ $OrdemTasksIds = $OrdemTasks->pluck('elemental_tasks_id')->all(); // Array de IDs
+
+ return view ('projectsClients.articulated_2_ShowEquipment',compact('dataEquipment','OrdemTasks','OrdemTasksIds'));
+ }
+
+
+ //Funcao que recebe a Acoes do dataTables do portifolio.
+ public function test22($equipmentID){
+
+
+ $dataEquipment =Equipment::find($equipmentID);
+
+ $attributes = SpecificAttributesEquipmentType::where('equipment_id', $equipmentID)->get(); // recebe todos os atributos espesificos do equipamento
+ $OrdemTasks = OrderEquipmentTasks::where('equipment_id', $equipmentID)->get(); // Todas as tarefas que o equipamento vai realizar :
+ $OrdemTasksIds = $OrdemTasks->pluck('elemental_tasks_id')->all(); // Array de IDs
+
+ return view ('projectsClients.testRoute',compact('dataEquipment','OrdemTasks','OrdemTasksIds'));
+
+ }
+
+
public function getEquipmentDetails($receiveListEquipmentId)
{
$ids = explode(',', $receiveListEquipmentId);
@@ -90,7 +142,9 @@ public function ManageAssets()
->join('users', 'plants.user_id', '=', 'users.user_id')
->select('plants.*', 'units.unit_name', 'users.user_name as user_name')
->get();
+
$equipments = Equipment::all();
+
// $equipaments = DB::table('equipaments')
// ->join('factories','equipaments.factory_id', '=', 'factories.factories_id')
// ->join('equipament_types', 'equipaments.equipament_type_id', '=' , 'equipament_types.equipament_type_id')
@@ -98,6 +152,7 @@ public function ManageAssets()
// ->get();
$allEquipmentType = EquipmentType::all();
+
$allClients = User::where('type_users', 3)->get();
return view('Admin/DataManagement/manageassets', compact('units', 'equipments', 'allEquipmentType', 'allClients'));
diff --git a/resources/views/Admin/DataManagement/manageassets.blade.php b/resources/views/Admin/DataManagement/manageassets.blade.php
index b72a12c4..658517b2 100755
--- a/resources/views/Admin/DataManagement/manageassets.blade.php
+++ b/resources/views/Admin/DataManagement/manageassets.blade.php
@@ -17,7 +17,6 @@
-
@@ -41,185 +40,204 @@ class="btn btn-block bg-gradient-primary btn-lg">{{ __('messages.portfolio.chang