diff --git a/app/Http/Controllers/CreateProjectController.php b/app/Http/Controllers/CreateProjectController.php index 53b6fcb1..2a0b3e45 100755 --- a/app/Http/Controllers/CreateProjectController.php +++ b/app/Http/Controllers/CreateProjectController.php @@ -227,7 +227,7 @@ public function addFurtherTasks(Request $request) $receiveEquipmentWorkHistory = EquipmentWorkHistory::where('equipment_id', $request->equipmentID) ->where('company_projects_id', $receiveDataEquipment->company_projects_id) ->first(); - + // *Para Criar uma nova Tarefa complementar deve ser a soma dos dados das 2 tabelas para dar o numero da proxima tarefa e assim o numero da TC // Obtenha a contagem de registros nas tabelas ElementalTasks e FurtherTasks @@ -537,28 +537,31 @@ public function removeProjectEquipment(Request $request) return back()->with('success', 'Equipamento retirado da obra !'); } - public function EditEquipment (Request $request) + public function EditEquipment(Request $request) { - dd($request); // Localiza o equipment pelo numberProject - $equipment = Equipment::find($request->equipmentId); + $dataEquipment = Equipment::where('equipment_tag', $request->tag)->first(); + + $receiveEquipmentWorkHistori = EquipmentWorkHistory::where('equipment_id', $dataEquipment->equipment_id) + ->where('company_projects_id', $dataEquipment->company_projects_id) + ->first(); // Atualiza os campos - $equipment->equipment_tag = $request->tag; - $equipment->equipment_description = $request->equipmentDescription; - $equipment->equipment_serial_number = $request->serialNumberEquipment; - $equipment->equipment_brand = $request->equipmentBrand; - $equipment->equipment_model = $request->equipmentModel; + $dataEquipment->equipment_tag = $request->tag; + $dataEquipment->equipment_description = $request->equipmentDescription; + $dataEquipment->equipment_serial_number = $request->serialNumberEquipment; + $dataEquipment->equipment_brand = $request->equipmentBrand; + $dataEquipment->equipment_model = $request->equipmentModel; - $equipment->save(); + $dataEquipment->save(); 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)) { // Procura o registro relevante em SpecificAttributesEquipmentType - $specificAttributes = SpecificAttributesEquipmentType::where('equipment_id', $request->equipmentId) + $specificAttributes = SpecificAttributesEquipmentType::where('equipment_id', $dataEquipment->equipment_id) ->where('general_attributes_equipment_id', $key) ->first(); @@ -571,7 +574,7 @@ public function EditEquipment (Request $request) elseif ($value !== null && is_numeric($key)) { // Procura o registro relevante em SpecificAttributesEquipmentType - $specificAttributes = SpecificAttributesEquipmentType::where('equipment_id', $request->equipmentId) + $specificAttributes = SpecificAttributesEquipmentType::where('equipment_id', $dataEquipment->equipment_id) ->where('general_attributes_equipment_id', $key) ->first(); @@ -584,8 +587,8 @@ public function EditEquipment (Request $request) else { // Cria um novo registro em SpecificAttributesEquipmentType $specificAttributes = new SpecificAttributesEquipmentType(); - $specificAttributes->equipment_id = $request->equipmentId; - $specificAttributes->equipment_type_id = $equipment->equipment_type_id; + $specificAttributes->equipment_id = $dataEquipment->equipment_id; + $specificAttributes->equipment_type_id = $dataEquipment->equipment_type_id; $specificAttributes->general_attributes_equipment_id = $key; $specificAttributes->specific_attributes_value = $value; $specificAttributes->save(); @@ -595,57 +598,67 @@ public function EditEquipment (Request $request) } + // dd($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); - } - $executionOrder = 1; + // 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) { - $orderEquipmentTask = OrderEquipmentTasks::where('equipment_id', $request->equipmentId) - ->where('elemental_tasks_id', $key) - ->first(); + + // 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) { - $orderEquipmentTask = new OrderEquipmentTasks(); - $orderEquipmentTask->equipment_id = $request->equipmentId; - $orderEquipmentTask->elemental_tasks_id = $key; - } - $orderEquipmentTask->execution_order = $executionOrder; - $orderEquipmentTask->save(); + // if ($value == "on") { + // if (!$orderEquipmentTask) { + // if ($receiveEquipmentWorkHistori && $receiveEquipmentWorkHistori <> null) { + // $orderEquipmentTask = new OrderEquipmentTasks(); + // $orderEquipmentTask->equipment_id = $request->equipmentId; + // $orderEquipmentTask->elemental_tasks_id = $key; + // } - $executionOrder++; - } elseif ($value == "off" && $orderEquipmentTask) { - $orderEquipmentTask->delete(); - } - } + // } + // //Nal precisa mais indicar a ordem das tarefas pois ela agora nao vao ser feitas por ordem necessariamente + // $orderEquipmentTask->execution_order = null; + // $orderEquipmentTask->save(); + + // $executionOrder++; + // } elseif ($value == "off" && $orderEquipmentTask) { + // $orderEquipmentTask->delete(); + // } + // } - $executionOrder = 1; // Reinicia a contagem de ordem de execução - $remainingOrderEquipmentTasks = OrderEquipmentTasks::where('equipment_id', $request->equipmentId) - ->orderBy('execution_order', 'asc') - ->get(); + // // $executionOrder = 1; // Reinicia a contagem de ordem de execução + // $remainingOrderEquipmentTasks = OrderEquipmentTasks::where('equipment_id', $request->equipmentId) + // ->orderBy('execution_order', 'asc') + // ->get(); - foreach ($remainingOrderEquipmentTasks as $orderEquipmentTask) { - $orderEquipmentTask->execution_order = $executionOrder; - $orderEquipmentTask->save(); - $executionOrder++; - } + // foreach ($remainingOrderEquipmentTasks as $orderEquipmentTask) { + // $orderEquipmentTask->execution_order = null; + // $orderEquipmentTask->save(); + // $executionOrder++; + // } - $orderTasks = OrderEquipmentTasks::where('equipment_id', $request->equipmentId) - ->orderBy('execution_order', 'asc') - ->get(); + // $orderTasks = OrderEquipmentTasks::where('equipment_id', $request->equipmentId) + // ->orderBy('execution_order', 'asc') + // ->get(); - $taskExecutionOrders = []; - foreach ($orderTasks as $task) { - $taskExecutionOrders[$task->elemental_tasks_id] = $task->execution_order; - } + // $taskExecutionOrders = []; + // foreach ($orderTasks as $task) { + // $taskExecutionOrders[$task->elemental_tasks_id] = $task->execution_order; + // } // Retorna uma resposta - return redirect()->route('articulated_2', ['id' => $request->numberProject]) - ->with('success', 'Equipamento ' . $equipment->equipment_tag . ' Editado com Sucesso!!!') - ->with('taskExecutionOrders', $taskExecutionOrders); + // return redirect()->route('articulated_2', ['id' => $request->numberProject]) + // ->with('success', 'Equipamento ' . $dataEquipment->equipment_tag . ' Editado com Sucesso!!!'); + // ->with('taskExecutionOrders', $taskExecutionOrders); + + // return back()->with('success', 'Ação concluída com sucesso!') + return back(); + } public function showJson($id) diff --git a/app/Http/Controllers/PreparedProjectController.php b/app/Http/Controllers/PreparedProjectController.php index ef8acedd..d5ed39d9 100755 --- a/app/Http/Controllers/PreparedProjectController.php +++ b/app/Http/Controllers/PreparedProjectController.php @@ -2,6 +2,8 @@ namespace App\Http\Controllers; +use App\Models\EquipmentWorkHistory; +use App\Models\QrcodesAssociatedEquipment; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; @@ -19,48 +21,170 @@ use Mpdf\Mpdf; +use Endroid\QrCode\QrCode; +use Endroid\QrCode\Writer\PngWriter; + class PreparedProjectController extends Controller { - // public function showDetailsEquipmentForQrCode($equipmentId,$projectId){ - // // dd($equipmentId); - // $detailsEquipment = Equipment::find($equipmentId); + // public function showAllEquipmentsInProjectForQrCode($projectId) + // { + // $equipments = Equipment::where('company_projects_id', $projectId)->get(); // $userLogoPath = Auth::user()->user_logo ? asset('user_logos/' . Auth::user()->user_logo) : asset('user_logos/logoISPT4.0.jpg'); - // // dd($detailsEquipment); - // $pdf = PDF::loadView('projectsClients.showDetailsEquipmentForQrCodePdf',[ - // 'detailsEquipment' => $detailsEquipment, - // 'userLogoPath' => $userLogoPath - // ])->setPaper('a4'); - - // return $pdf->stream('teste.pdf'); + // $equipmentData = []; + // foreach ($equipments as $equipment) { + + // // Gera o QR Code para cada equipamento + // $qrCode = new QrCode($equipment->equipment_tag); + // $writer = new PngWriter(); + // $qrCodeImage = 'data:image/png;base64,' . base64_encode($writer->write($qrCode)->getString()); + + // // Busca equipamentos associados para cada equipamento + // $associatedEquipments = QrcodesAssociatedEquipment::where('equipment_id', $equipment->equipment_id)->get(); + // $associatedArray = []; + // foreach ($associatedEquipments as $associatedEquipment) { + // $associatedArray[$associatedEquipment->id] = $associatedEquipment->component_tag; + // } + + // // Adiciona os dados necessários para cada equipamento em um array + // $equipmentData[] = [ + // 'detailsEquipment' => $equipment, + // 'userLogoPath' => $userLogoPath, + // 'qrCodeImage' => $qrCodeImage, + // 'associatedArray' => $associatedArray + // ]; + // } + + // // Passa todos os dados dos equipamentos para a view + // $html = view('projectsClients.showAllEquipmentsForQrCodePdf', [ + // 'equipmentData' => $equipmentData, + // 'userLogoPath' => $userLogoPath, + // ])->render(); + + // // Define a orientação da folha como horizontal (Landscape) + // $mpdf = new \Mpdf\Mpdf([ + // 'mode' => 'utf-8', + // 'format' => 'A4-L' // Define o formato como A4 e orientação como Landscape (horizontal) + // ]); + // $mpdf->WriteHTML($html); + // $mpdf->Output('equipamentos_projeto_' . $projectId . '.pdf', 'I'); // } + public function showAllEquipmentsInProjectForQrCode($projectId) + { + $equipments = Equipment::where('company_projects_id', $projectId)->get(); + $userLogoPath = Auth::user()->user_logo ? asset('user_logos/' . Auth::user()->user_logo) : asset('user_logos/logoISPT4.0.jpg'); + + $equipmentData = []; + foreach ($equipments as $equipment) { + $qrCode = new QrCode($equipment->equipment_tag); + $writer = new PngWriter(); + $qrCodeImage = 'data:image/png;base64,' . base64_encode($writer->write($qrCode)->getString()); + + $associatedEquipments = QrcodesAssociatedEquipment::where('equipment_id', $equipment->equipment_id)->get(); + $associatedArray = []; + foreach ($associatedEquipments as $associatedEquipment) { + $associatedArray[$associatedEquipment->id] = $associatedEquipment->component_tag; + } + + $equipmentData[] = [ + 'equipment' => $equipment, + 'qrCodeImage' => $qrCodeImage, + 'associatedArray' => $associatedArray + ]; + } + + // dd($equipmentData); + + $html = view('projectsClients.showAllEquipmentsInProjectQrCodePdf', [ + 'equipmentData' => $equipmentData, + 'userLogoPath' => $userLogoPath + ])->render(); + + $mpdf = new \Mpdf\Mpdf([ + 'mode' => 'utf-8', + 'format' => 'A4' + ]); + $mpdf->WriteHTML($html); + $mpdf->Output('equipamentos_projeto_' . $projectId . '.pdf', 'I'); + } + + public function showDetailsEquipmentForQrCode($equipmentId, $projectId) { $detailsEquipment = Equipment::find($equipmentId); - // Determina o caminho do logo do usuário ou um padrão. - $userLogoPath = Auth::user()->user_logo ? asset('user_logos/' . Auth::user()->user_logo) : asset('user_logos/logoISPT4.0.jpg'); + + // Gera o QR Code + $qrCode = new QrCode($detailsEquipment->equipment_tag); + $writer = new PngWriter(); + + // Converte o QR Code para base64 para incorporar na página + $qrCodeImage = 'data:image/png;base64,' . base64_encode($writer->write($qrCode)->getString()); + + // $userLogoPath = Auth::user()->user_logo ? asset('user_logos/' . Auth::user()->user_logo) : asset('user_logos/logoISPT4.0.jpg'); + + $associatedEquipments = QrcodesAssociatedEquipment::where('equipment_id', $detailsEquipment->equipment_id)->get(); + + $associatedArray = []; + foreach ($associatedEquipments as $associatedEquipment) { + $associatedArray[$associatedEquipment->id] = $associatedEquipment->component_tag; + } + $html = view('projectsClients.showDetailsEquipmentForQrCodePdf', [ 'detailsEquipment' => $detailsEquipment, - 'userLogoPath' => $userLogoPath])->render(); - // Cria uma instância do mPDF - $mpdf = new Mpdf(); - // Escreve o HTML para o mPDF + // 'userLogoPath' => $userLogoPath, + 'qrCodeImage' => $qrCodeImage, + 'associatedArray' => $associatedArray + ])->render(); + + // Define a orientação da folha como horizontal (Landscape) + $mpdf = new \Mpdf\Mpdf([ + 'mode' => 'utf-8', + 'format' => 'A4' // Define o formato como A4 e orientação como Landscape (horizontal) + ]); $mpdf->WriteHTML($html); - // Gera o PDF no navegador $mpdf->Output('nome_do_arquivo.pdf', 'I'); } + public function PreparedProject($ProjectId) { $numberProject = CompanyProject::find($ProjectId); - $equipmentsProjects = Equipment::all()->where('company_projects_id', $ProjectId); - $equipmentsTypes = EquipmentType::all(); + // Carrega todos os equipamentos para um dado projeto + $equipmentsProjects = Equipment::where('company_projects_id', $ProjectId)->get(); + + // Carrega as relações aninhadas + $equipmentsProjects->load('equipmentWorkHistory.equipmentAssociationAmbit.ambitsEquipment'); + + // Adiciona o 'ambits_description' a cada equipamento + foreach ($equipmentsProjects as $equipment) { + // Obtém o primeiro EquipmentWorkHistory (se existir) + $equipmentWorkHistory = $equipment->equipmentWorkHistory->first(); + + // Se existe um EquipmentWorkHistory, tenta obter o 'ambits_description' + if ($equipmentWorkHistory) { + // Tenta obter o EquipmentAssociationAmbit e o AmbitsEquipment relacionados + $equipmentAssociationAmbit = $equipmentWorkHistory->equipmentAssociationAmbit; + if ($equipmentAssociationAmbit) { + $ambitsEquipment = $equipmentAssociationAmbit->ambitsEquipment; + if ($ambitsEquipment) { + // Se existir um AmbitsEquipment, define o 'ambits_description' + $equipment->ambits_description = $ambitsEquipment->ambits_description; + } + } + } + + // Se alguma das relações não existir, define 'ambits_description' como null + if (!isset($equipment->ambits_description)) { + $equipment->ambits_description = null; + } + } + //Retorna todas as Fabricas Unit, com base na Instalação $checkUnits = DB::table('units') ->join('plants', 'units.plant_id', '=', 'plants.plant_id') @@ -71,7 +195,6 @@ public function PreparedProject($ProjectId) // dd($equipmentsProjects); return view('projectsClients/preparedProject') - // ->with('equipmentsProjects', $equipmentsProjects) ->with('equipmentsTypes', $equipmentsTypes) ->with('units', $checkUnits) ->with('numberProject', $numberProject) diff --git a/app/Http/Controllers/ProjectoDatacontroller.php b/app/Http/Controllers/ProjectoDatacontroller.php index f6ebcb7b..1ee186d2 100755 --- a/app/Http/Controllers/ProjectoDatacontroller.php +++ b/app/Http/Controllers/ProjectoDatacontroller.php @@ -290,24 +290,39 @@ public function projectDetails_11($projectID, $equipmentID) $dataEquipment = Equipment::find($equipmentID); - $detailsEquipmentWorkHistory = EquipmentWorkHistory::where('equipment_id',$dataEquipment->equipment_id)->first(); + $detailsEquipmentWorkHistory = EquipmentWorkHistory::where('equipment_id', $dataEquipment->equipment_id)->first(); $receiveEquipmentWorkHistorys = EquipmentWorkHistory::where('equipment_id', $equipmentID) ->where('company_projects_id', $projectID) ->first(); $attributes = SpecificAttributesEquipmentType::where('equipment_id', $equipmentID)->get(); // recebe todos os atributos espesificos do equipamento - $OrdemTasks = OrderEquipmentTasks::where('equipmentWorkHistorys_id', $receiveEquipmentWorkHistorys->equipmentWorkHistorys_id)->get(); // Todas as tarefas que o equipamento vai realizar : - $OrdemTasksIds = $OrdemTasks->pluck('elemental_tasks_id')->all(); // Array de IDs + $DetailsTasks = OrderEquipmentTasks::where('equipmentWorkHistorys_id', $receiveEquipmentWorkHistorys->equipmentWorkHistorys_id)->get(); // Todas as tarefas que o equipamento vai realizar : + // $OrdemTasks = $DetailsTasks->pluck('elemental_tasks_id')->all(); // Array de IDs + $OrdemTasks = $DetailsTasks->pluck('execution_order', 'elemental_tasks_id')->all(); + // Ajuste para definir 'on' para cada tarefa + $OrdemTasks = $DetailsTasks->mapWithKeys(function ($task) { + return [$task->elemental_tasks_id => 'on']; + })->all(); - return view('projectsClients.articulated_2_ShowEquipment', compact('dataEquipment', 'OrdemTasks', 'OrdemTasksIds','detailsEquipmentWorkHistory')); - } + $specificAttributes = SpecificAttributesEquipmentType::where('equipment_id', $dataEquipment->equipment_id)->get(); + $specificAttributesArray = []; + + foreach ($specificAttributes as $attribute) { + $specificAttributesArray[$attribute->general_attributes_equipment_id] = $attribute->specific_attributes_value; + } + // dd($OrdemTasks); + + return view('projectsClients.articulated_2_ShowEquipment', compact('dataEquipment', 'OrdemTasks', 'DetailsTasks', 'detailsEquipmentWorkHistory','specificAttributesArray')); + } //Funcao que recebe a Acoes do dataTables do portifolio. public function articulated_22($equipmentID) { + //Nao esta recebendo os selects + // $dataEquipment = Equipment::find($equipmentID); // $detailsEquipmentWorkHistory = EquipmentWorkHistory::where('equipment_id',$equipmentID)->first(); @@ -336,7 +351,15 @@ public function articulated_22($equipmentID) } } - return view('projectsClients.testRoute', compact('dataEquipment', 'receiveAlldetailsEquipmentWorkHistory')); + $specificAttributes = SpecificAttributesEquipmentType::where('equipment_id', $dataEquipment->equipment_id)->get(); + + $specificAttributesArray = []; + + foreach ($specificAttributes as $attribute) { + $specificAttributesArray[$attribute->general_attributes_equipment_id] = $attribute->specific_attributes_value; + } + + return view('projectsClients.testRoute', compact('dataEquipment', 'receiveAlldetailsEquipmentWorkHistory','specificAttributesArray')); } diff --git a/composer.json b/composer.json index b0bc0201..f0ccd2dd 100755 --- a/composer.json +++ b/composer.json @@ -7,6 +7,7 @@ "require": { "php": "^8.1", "barryvdh/laravel-dompdf": "^2.0", + "endroid/qr-code": "^5.0", "guzzlehttp/guzzle": "^7.5", "laravel/fortify": "^1.17", "laravel/framework": "^10.8", diff --git a/composer.lock b/composer.lock index ceefe5f5..7da93749 100755 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "64083e5824273dda380cfc7b6f6c0897", + "content-hash": "c3621371ed5b5bd7d608e988583189cb", "packages": [ { "name": "bacon/bacon-qr-code", @@ -675,6 +675,81 @@ ], "time": "2023-01-14T14:17:03+00:00" }, + { + "name": "endroid/qr-code", + "version": "5.0.4", + "source": { + "type": "git", + "url": "https://github.com/endroid/qr-code.git", + "reference": "0efd071a3640af323e23c94122fe92cfd5199833" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/endroid/qr-code/zipball/0efd071a3640af323e23c94122fe92cfd5199833", + "reference": "0efd071a3640af323e23c94122fe92cfd5199833", + "shasum": "" + }, + "require": { + "bacon/bacon-qr-code": "^2.0.5", + "php": "^8.1" + }, + "conflict": { + "khanamiryan/qrcode-detector-decoder": "^1.0.6" + }, + "require-dev": { + "endroid/quality": "dev-main", + "ext-gd": "*", + "khanamiryan/qrcode-detector-decoder": "^1.0.4||^2.0.2", + "setasign/fpdf": "^1.8.2" + }, + "suggest": { + "ext-gd": "Enables you to write PNG images", + "khanamiryan/qrcode-detector-decoder": "Enables you to use the image validator", + "roave/security-advisories": "Makes sure package versions with known security issues are not installed", + "setasign/fpdf": "Enables you to use the PDF writer" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.x-dev" + } + }, + "autoload": { + "psr-4": { + "Endroid\\QrCode\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jeroen van den Enden", + "email": "info@endroid.nl" + } + ], + "description": "Endroid QR Code", + "homepage": "https://github.com/endroid/qr-code", + "keywords": [ + "code", + "endroid", + "php", + "qr", + "qrcode" + ], + "support": { + "issues": "https://github.com/endroid/qr-code/issues", + "source": "https://github.com/endroid/qr-code/tree/5.0.4" + }, + "funding": [ + { + "url": "https://github.com/endroid", + "type": "github" + } + ], + "time": "2023-12-24T13:47:07+00:00" + }, { "name": "ezyang/htmlpurifier", "version": "v4.16.0", diff --git a/public/user_logos/1707839809.jpg b/public/user_logos/1707839809.jpg new file mode 100644 index 00000000..ce91928d Binary files /dev/null and b/public/user_logos/1707839809.jpg differ diff --git a/resources/views/email/email.blade.php b/resources/views/email/email.blade.php index f263751d..b26296a8 100755 --- a/resources/views/email/email.blade.php +++ b/resources/views/email/email.blade.php @@ -5,6 +5,13 @@ Email + + @@ -17,7 +24,10 @@

Agradecemos a sua atenção e ficamos ao dispor para qualquer esclarecimento.

Com os melhores cumprimentos,

Ispt4.0

- + Imagem ISPT 4.0 + + {{-- Imagem ISPT 4.0 --}} diff --git a/resources/views/livewire/articulado/select-elemental-tasks-in-wonkstation.blade.php b/resources/views/livewire/articulado/select-elemental-tasks-in-wonkstation.blade.php index 18b2193d..c36d07ed 100755 --- a/resources/views/livewire/articulado/select-elemental-tasks-in-wonkstation.blade.php +++ b/resources/views/livewire/articulado/select-elemental-tasks-in-wonkstation.blade.php @@ -17,7 +17,7 @@ value="{{ json_encode($receiveElementalTasks) }}">
-

Nome Posto de Trabalho :

+

Nome Posto de Trabalho :

@@ -52,7 +52,6 @@ @endif
-
@if (count($receiveElementalTasks['3']) > 0)
@@ -183,7 +182,6 @@
@endif -
{{-- ./row --}}
{{-- ./col-sm-6 --}}
{{-- ./row --}} diff --git a/resources/views/projectsClients/articulated_2_ShowEquipment.blade.php b/resources/views/projectsClients/articulated_2_ShowEquipment.blade.php index 5e3c7ef1..976d1277 100755 --- a/resources/views/projectsClients/articulated_2_ShowEquipment.blade.php +++ b/resources/views/projectsClients/articulated_2_ShowEquipment.blade.php @@ -33,6 +33,7 @@
+ {{-- CV --}} @if ($dataEquipment->equipment_type_id == 1) {{-- Visualizar --}}
@@ -60,14 +61,16 @@ class="form-control card_inputs" id="equipmentTag"
- + @@ -79,14 +82,16 @@ class="form-control card_inputs" id="equipmentDescription"
- - + +
@@ -110,7 +115,8 @@ class="form-control card_inputs"
- + - + @@ -145,10 +153,10 @@ class="form-control card_inputs" id="dimension" style="color: #00B0EA;"> - {{-- --}}
@@ -160,11 +168,11 @@ class="form-control card_inputs" id="rating" style="color: #00B0EA;"> - {{-- --}}
@@ -179,10 +187,10 @@ class="form-control card_inputs" id="dim_certa" style="color: #00B0EA;"> - {{-- --}}
@@ -193,10 +201,10 @@ class="form-control card_inputs" id="main_equipment" style="color: #00B0EA;"> - {{-- --}}
@@ -207,10 +215,10 @@ class="form-control card_inputs" id="p&id" style="color: #00B0EA;"> - {{-- --}}
@@ -225,25 +233,26 @@ class="form-control card_inputs" id="sap_number" style="color: #00B0EA;"> - {{-- --}}
- + - {{-- --}}
@@ -253,11 +262,11 @@ class="form-control card_inputs" - {{-- --}}
@@ -266,44 +275,51 @@ class="form-control card_inputs" id="isolation"
- - + + - {{-- --}}
- + - {{-- --}}
- - + + - {{-- --}}
@@ -315,15 +331,16 @@ class="form-control card_inputs" id="actuatorSerialNumber" - + - {{-- --}}
@@ -331,15 +348,16 @@ class="form-control card_inputs" - + - {{-- --}}
@@ -350,13 +368,16 @@ class="form-control card_inputs"
- + - + aria-describedby="form-scaffold" value="Sim" + readonly>
@@ -367,361 +388,394 @@ class="form-control card_inputs" id="scaffold" style="color: #00B0EA;"> - - - + aria-describedby="form-scaffold" value="Sim" + readonly>
{{-- ./row --}} + {{-- Editar --}}
-

CV

+

CV - Editar

-
- {{-- 2 inputs per line :equipmentTag ,equipmentDescription --}} -
-
-
- - - - +
+ @csrf +
+ {{-- 2 inputs per line :equipmentTag ,equipmentDescription --}} +
+
+
+ + + + +
+
+
+
+ + + + +
-
-
- - - - + {{-- ./row --}} + {{-- 3 inputs per line :serialNumberEquipment, equipmentBrand, equipmentModel --}} +
+
+
+ + + + +
+
+
+
+ + + + +
+
+
+
+ + + + +
-
- {{-- ./row --}} - {{-- 3 inputs per line :serialNumberEquipment, equipmentBrand, equipmentModel --}} -
-
-
- - - - + {{-- ./row --}} + {{-- 3 inputs per line :equipmentDimension, equipmentRating, equipmentDimcerta --}} +
+
+
+ + + + +
-
-
-
- - - - -
-
-
-
- - - - -
-
-
- {{-- ./row --}} - {{-- 3 inputs per line :equipmentDimension, equipmentRating, equipmentDimcerta --}} -
-
-
- - - - -
-
-
-
- - - - - {{-- --}} +
+
+ + + + +
-
-
-
- - - - - {{-- --}} +
+
+ + + + +
+ {{-- ./row --}} + {{-- 3 Inputs per line :main_equipment ,P_idEquipment ,NumberSapEquipment --}} +
+
+
+ + + + +
+
+
+
+ + + + +
+
+
+
+ + + + +
+
+
+ {{-- ./row --}} + {{-- 3 Inputs per line :materialEquipment ,manufacturerEquipment ,isolationEquipment --}} +
+
+
+ + + + +
+
+
+
+ + + + +
+
+
+
+ + + + +
+
+
+ {{-- ./row --}} + {{-- 3 Inputs per line : actuatorManufacturer, --}} +
+
+
+ + + + +
+
+
+
+ + + + +
+
+
+
+ + + + +
+
+
+ {{-- ./Row --}} + {{-- 2 Inputs per line : actuatorManufacturer, --}} +
+
+
+ + + + +
+
+
+
+ + + + +
+
+
+ {{-- ./row --}} + {{-- 2 Selects per line :scaffold, crane --}} +
+
+
+ + + + +
+
+
+
+ + + + +
+
+
+ {{-- ./row --}} +
- {{-- ./row --}} - {{-- 3 Inputs per line :main_equipment ,P_idEquipment ,NumberSapEquipment --}} -
-
-
- - - - - {{-- --}} -
-
-
-
- - - - - {{-- --}} -
-
-
-
- - - - - {{-- --}} -
-
-
- {{-- ./row --}} - {{-- 3 Inputs per line :materialEquipment ,manufacturerEquipment ,isolationEquipment --}} -
-
-
- - - - - {{-- --}} -
-
-
-
- - - - - {{-- --}} -
-
-
-
- - - - - {{-- --}} -
-
-
- {{-- ./row --}} - {{-- 3 Inputs per line : actuatorManufacturer, --}} -
-
-
- - - - - {{-- --}} -
-
-
-
- - - - - {{-- --}} -
-
-
-
- - - - - {{-- --}} -
-
-
- {{-- ./Row --}} - {{-- 2 Inputs per line : actuatorManufacturer, --}} -
-
-
- - - - - {{-- --}} -
-
-
-
- - - - - {{-- --}} -
-
-
- {{-- ./row --}} - {{-- 2 Selects per line :scaffold, crane --}} -
-
-
- - - - -
-
-
-
- - - - -
-
-
- {{-- ./row --}} -
+
@@ -763,150 +817,187 @@ class="form-control card_inputs" TE1 Desmontar da linha - - + + - {{-- - - --}} + + + + TE12 + Inspeção Final + + + + + TE2 Descontaminar - - + + - {{-- - - --}} + - TE4(3) + TE3(2) + Pŕe-Teste + + + + + + + + TE4(2) Abertura da válvula, análise e controle dos componentes - - + + - {{-- - - --}} + TE5 Limpeza e lavagem dos componentes - - + + - {{-- - - --}} + - - TE7(3) + TE7(2) Fecho da válvula e substituição de componentes - - + - {{-- - - --}} + - TE14 - Ensaio + TE13 + Teste final - - + - {{-- - - --}} + TE9 Pintura - - + - {{-- - - --}} + - TE10 + TE10(2) Montagem na linha {{-- Apenas para ver se recebe um on ou off, o hidden serve para devolver valor se o checkbox não estiver a 'checked' --}} - - + - {{-- - - --}} + + + + TE10.1 + Confirmação de ligação + {{-- Apenas para ver se recebe um on ou off, o hidden serve para devolver valor se o checkbox não estiver a 'checked' --}} + + + + + + + TE11 Inspeção Final - - + - {{-- - - --}} - - - TE15 - Empancar (ISV) - - - - - {{-- - - --}} +
-

Sem tarefas Complementares associadas

- + @livewire('articulado.additonal-task', ['equipment' => $dataEquipment], key($dataEquipment->equipment_id))
{{-- ./description --}}
{{-- ./card-body --}} - @livewire('articulado.additonal-task', ['equipment' => $dataEquipment], key($dataEquipment->equipment_id)) -
@endif @@ -914,9 +1005,10 @@ class="form-control card_inputs" @if ($dataEquipment->equipment_type_id == 2) {{-- Visualizar --}}
+
-

ISV3

+

ISV

@@ -940,7 +1032,7 @@ class="form-control inputsIspt" id="equipmentTag"
+ data-toggle="tooltip" title="Descrição Equipamento"> @@ -975,7 +1067,7 @@ class="form-control card_inputs"
+ data-toggle="tooltip" title="Marca Equipamento"> @@ -990,7 +1082,7 @@ class="form-control card_inputs"
+ data-toggle="tooltip" title="Modelo Equipamento">
+ data-toggle="tooltip" title="Dimensão"> - @@ -1021,11 +1114,12 @@ class="form-control card_inputs" id="dimension"
+ data-toggle="tooltip" title="Rating"> @@ -1034,10 +1128,12 @@ class="form-control card_inputs" id="rating"
- + data-toggle="tooltip" title="Dim certa"> +
- + data-toggle="tooltip" title="Main Equipment"> + @@ -1064,10 +1162,12 @@ class="form-control card_inputs" id="main_equipment"
- + data-toggle="tooltip" title="P&ID"> + @@ -1076,10 +1176,12 @@ class="form-control card_inputs" id="P_idEquipment"
- + data-toggle="tooltip" title="Numero SAP"> + @@ -1093,10 +1195,12 @@ class="form-control card_inputs" id="NumberSapEquipment"
- + data-toggle="tooltip" title="Material"> + @@ -1105,11 +1209,12 @@ class="form-control card_inputs" id="materialEquipment"
- +
- + data-toggle="tooltip" title="Isolamento"> +
- + title="Andaime"> + - + aria-describedby="form-scaffold" value="Sim" readonly>
- - + - + aria-describedby="form-scaffold" value="Sim" readonly>
@@ -1169,18 +1274,19 @@ class="form-control card_inputs" id="crane"
+
{{-- Editar --}}
-
-

ISV

+

ISV - Editar

+
+ @csrf
- {{-- 2 inputs per line :equipmentTag ,equipmentDescription --}}
@@ -1195,23 +1301,23 @@ class="form-control card_inputs" id="crane" class="form-control inputsIspt" id="equipmentTag" placeholder="Tag..." aria-label="Tag Equipment" aria-describedby="form-tagEquipment"> + {{-- --}}
- + + {{-- --}}
@@ -1221,9 +1327,8 @@ class="form-control card_inputs"
- + @@ -1239,7 +1344,7 @@ class="form-control card_inputs"
+ data-toggle="tooltip" title="Marca Equipamento"> @@ -1255,9 +1360,8 @@ class="form-control card_inputs"
- + data-toggle="tooltip" title="Modelo Equipamento"> +
- + data-toggle="tooltip" title="Dimensão"> + - - {{-- --}}
+ data-toggle="tooltip" title="Rating"> @@ -1304,11 +1408,12 @@ class="form-control card_inputs" id="rating"
- + data-toggle="tooltip" title="Dim certa"> +
- + - {{-- --}}
- + - {{-- --}}
- + - {{-- --}}
@@ -1371,41 +1476,41 @@ class="form-control card_inputs" id="NumberSapEquipment"
- + - {{-- --}}
- + - {{-- --}}
- + data-toggle="tooltip" title="Isolamento"> +
- + - - + + +
- - + - + +
{{-- ./row --}} +
+
+
{{-- Âmbito-ISV --}} -
+

Âmbito : {{ $detailsEquipmentWorkHistory->equipmentAssociationAmbit->ambitsEquipment->ambits_description }} @@ -1488,27 +1597,30 @@ class="form-control card_inputs" id="isolationEquipment" TE1 Desmontar da linha - - + + < + {{-- - + + --}} + TE2 Descontaminar - - + + - {{-- - - --}} + TE4(3) @@ -1516,27 +1628,27 @@ class="form-control card_inputs" id="isolationEquipment" dos componentes - - + + - {{-- - - --}} + TE5 Limpeza e lavagem dos componentes - - + + - {{-- - - --}} + @@ -1544,98 +1656,109 @@ class="form-control card_inputs" id="isolationEquipment" Fecho da válvula e substituição de componentes - - + - {{-- - - --}} + TE14 Ensaio - - + - {{-- - - --}} + TE9 Pintura - - + - {{-- - - --}} + TE10 Montagem na linha {{-- Apenas para ver se recebe um on ou off, o hidden serve para devolver valor se o checkbox não estiver a 'checked' --}} - - + - {{-- - - --}} + TE11 Inspeção Final - - + - {{-- - - --}} + TE15 Empancar (ISV) - - + - {{-- - - --}} +

-

Sem tarefas Complementares associadas

- + @livewire('articulado.additonal-task', ['equipment' => $dataEquipment], key($dataEquipment->equipment_id))
{{-- ./description --}}
{{-- ./card-body --}} - @livewire('articulado.additonal-task', ['equipment' => $dataEquipment], key($dataEquipment->equipment_id))
@endif {{-- PSV --}} @if ($dataEquipment->equipment_type_id == 3) + {{-- Visualizar --}}
{{-- ./PSV-card --}} @@ -1650,22 +1773,20 @@ class="form-control card_inputs" id="isolationEquipment"
- +
- + @@ -1686,15 +1807,14 @@ class="form-control" id="equipmentDescription"
- + {{-- --}} @@ -1703,9 +1823,8 @@ class="form-control card_inputs"
- + {{-- --}}
@@ -1742,6 +1860,7 @@ class="form-control card_inputs" id="equipmentModel" data-toggle="tooltip" title="Dimensão">
@@ -1807,6 +1929,7 @@ class="form-control card_inputs" id="main_equipment" title="P&ID">
@@ -1820,6 +1943,7 @@ class="form-control card_inputs" id="p&id" data-toggle="tooltip" title="Número Sap">
@@ -1838,6 +1962,7 @@ class="form-control card_inputs" id="sap_number" data-toggle="tooltip" title="SP(Bar)">
@@ -1848,10 +1973,10 @@ class="form-control card_inputs" id="SP_(Bar)_Cold"
+ data-toggle="tooltip" title="Back_Presure_(Bar)"> @@ -1885,10 +2011,10 @@ class="form-control card_inputs" id="material" data-toggle="tooltip" title="Fabricante"> - {{-- --}}
@@ -1898,10 +2024,10 @@ class="form-control card_inputs" id="manufacturer" data-toggle="tooltip" title="Isolamento"> - {{-- --}}
@@ -1916,10 +2042,10 @@ class="form-control card_inputs" id="isolation" data-toggle="tooltip" title="Andaime">
+ aria-describedby="form-isolation" readonly value='Nao'> {{-- --}}
@@ -1932,11 +2058,10 @@ class="form-control card_inputs" id="Scaffold" - {{-- --}} + aria-describedby="form-isolation" readonly value='Nao'>
@@ -1955,302 +2080,325 @@ class="form-control card_inputs" id="Crane"

PSV

-
+
+ @csrf +
-
-
-
- - - - +
+
+
+ + + + +
+
+ +
+
+ + + + +
+
+ +
+ {{--./row --}} + + {{-- 3 inputs per line :equipmentSerialNumber, equipmentBrand, equipmentModel --}} +
+
+
+ + + + + {{-- --}} +
+
+
+
+ + + + + {{-- --}} +
+
+
+
+ + + + + {{-- --}} +
+ {{-- ./row --}} -
-
- - - - + {{-- 3 inputs per line :equipmentDimension, equipmentRating, equipmentDimcerta --}} +
+
+
+ + + + + {{-- --}} +
+
+ +
+
+ + + + + {{-- --}} +
+
+ +
+
+ + + + + {{-- --}} +
+ {{-- ./row --}} + {{-- 3 inputs per line : main_equipment, p&id, sap_number --}} +
+
+
+ + + + + {{-- --}} +
+
+
+
+ + + + + {{-- --}} +
+
+
+
+ + + + + {{-- --}} +
+
+
+ {{-- ./row --}} + + {{-- 3 inputs per line :SP_(Bar)_Cold, Back_Presure_(Bar), material --}} +
+
+
+ + + + + {{-- --}} +
+
+
+
+ + + + + {{-- --}} +
+
+
+
+ + + + + + {{-- --}} +
+
+
+ {{-- ./row --}} + + {{-- 2 inputs per line : --}} +
+
+
+ + + + + {{-- --}} +
+
+
+
+ + + + + {{-- --}} +
+
+
+ {{-- ./row --}} + + {{-- 2 Selects per line :psv_scaffold, psv_crane --}} +
+
+
+ + + + + +
+
+
+
+ + + + +
+
+
+ {{-- ./row --}} + +
- - - {{-- 3 inputs per line :equipmentSerialNumber, equipmentBrand, equipmentModel --}} -
-
-
- - - - - {{-- --}} -
-
-
-
- - - - - {{-- --}} -
-
-
-
- - - - - {{-- --}} -
-
-
- {{-- ./row --}} - - {{-- 3 inputs per line :equipmentDimension, equipmentRating, equipmentDimcerta --}} -
-
-
- - - - - {{-- --}} -
-
- -
-
- - - - - {{-- --}} -
-
- -
-
- - - - - {{-- --}} -
-
-
- {{-- ./row --}} - - {{-- 3 inputs per line : main_equipment, p&id, sap_number --}} -
-
-
- - - - - {{-- --}} -
-
-
-
- - - - - {{-- --}} -
-
-
-
- - - - - {{-- --}} -
-
-
- {{-- ./row --}} - - {{-- 3 inputs per line :SP_(Bar)_Cold, Back_Presure_(Bar), material --}} -
-
-
- - - - - {{-- --}} -
-
-
-
- - - - - {{-- --}} -
-
-
-
- - - - - - {{-- --}} -
-
-
- {{-- ./row --}} - - {{-- 2 inputs per line : --}} -
-
-
- - - - - {{-- --}} -
-
-
-
- - - - - {{-- --}} -
-
-
- {{-- ./row --}} - - {{-- 2 Selects per line :psv_scaffold, psv_crane --}} -
-
-
- - - - -
-
-
-
- - - - -
-
-
- {{-- ./row --}} -
- + +
{{-- ./Editar --}} @@ -2293,136 +2441,161 @@ class="form-control card_inputs" id="isolation" TE1 Desmontar da linha - - + + - {{-- - - --}} + TE2 Descontaminar - - + + - {{-- - - --}} + - TE4(3) - Abertura da válvula, análise e controle - dos + TE3 + Pŕe-Teste + + + + + + + + TE4 + Abertura da válvula, análise e controle dos componentes - - + + - {{-- - - --}} + TE5 Limpeza e lavagem dos componentes - - + + - {{-- - - --}} + - - TE7(3) + TE6 + Retificação e lapidação + + + + + + + + TE7 Fecho da válvula e substituição de componentes - - + - {{-- - - --}} + - TE14 - Ensaio + TE8 + Calibrar e certificar - - + - {{-- - - --}} + TE9 Pintura - - + - {{-- - - --}} + TE10 Montagem na linha {{-- Apenas para ver se recebe um on ou off, o hidden serve para devolver valor se o checkbox não estiver a 'checked' --}} - - + - {{-- - - --}} + + + + TE11 Inspeção Final - - + - {{-- - - --}} - - - TE15 - Empancar (ISV) - - - - - {{-- - - --}} + @@ -2430,9 +2603,6 @@ class="form-control card_inputs" id="isolation" @livewire('articulado.additonal-task', ['equipment' => $dataEquipment], key($dataEquipment->equipment_id)) - {{--

Sem tarefas Complementares associadas

--}} - -
{{-- ./description --}}
@@ -2440,14 +2610,8 @@ class="form-control card_inputs" id="isolation"
@endif - - - - - -
- +
diff --git a/resources/views/projectsClients/preparedProject.blade.php b/resources/views/projectsClients/preparedProject.blade.php index cea08b64..d172257f 100755 --- a/resources/views/projectsClients/preparedProject.blade.php +++ b/resources/views/projectsClients/preparedProject.blade.php @@ -1,6 +1,7 @@ @extends('Templates/templateAdmin') @section('Main-content') +
@@ -91,20 +92,19 @@
-
-
+
+ -
+ - -

@@ -116,9 +116,6 @@
- {{-- Nao tem motivos para funcionar nestas sutiacao, MAS FUNCIONA SEM ELE NAO APARECE OS QRCODES !!!! --}} - - @@ -154,14 +151,6 @@ - {{-- --}} - - - @@ -230,7 +189,9 @@ class="btn btn-primary float-right">Alterar para Execussao
-
+ {{-- Para colocar os filtros a Funcionar, deve primeiro alterar a tabela para Yajra --}} + + {{--
-
+
--}} {{--
@@ -311,18 +272,17 @@ class="form-control">
- + - {{-- + {{-- --}} - {{-- Por algum motivo se tirar esta modal, ele nao encontra o qrcode do componente ?????????????? WHY????????? --}} @@ -420,10 +379,10 @@ function printCard() { @@ -698,7 +658,7 @@ class="checkboxChoseTasksOficesCV" + /.modal-dialog --> @@ -708,8 +668,41 @@ class="checkboxChoseTasksOficesCV" + + + Alterar para Execussao + + + + @@ -800,31 +793,31 @@ class="checkboxChoseTasksOficesCV" + $('#TablePreparedProjectWorkstation').DataTable({ + autoWidth: false, + processing: true, + serverSide: true, + ajax: { + url: '/api/receiveWorkstationProject/' + $('#receiveNumberProject').val() + }, + columns: [{ + data: 'name_workstations', + name: 'name_workstations' + }, + { + data: 'nomenclature_workstation', + name: 'nomenclature_workstation' + }, + { + data: 'workstations_Association_Tasks', + name: 'workstations_Association_Tasks' + } + ] + }) + }) + + + {{-- Script para funcionar com dataTables yajra, futura implementacao com livewire --}} {{--
{{ $equipment->equipment_tag }} {{ $equipment->equipment_type_id }} {{ $equipment->unit->unit_name }}{{ $equipment->ambits_description }} + {{ $equipment->equipmentAssociationAmbit->ambitsEquipment->ambits_description }} --}} -