diff --git a/app/Http/Controllers/ClientController.php b/app/Http/Controllers/ClientController.php index 902c6db6..0fd5e07f 100755 --- a/app/Http/Controllers/ClientController.php +++ b/app/Http/Controllers/ClientController.php @@ -20,6 +20,8 @@ use Carbon\Carbon; use Illuminate\Support\Facades\DB; +use App\Services\PdfWrapper; + use Yajra\DataTables\Facades\DataTables; use PDF; @@ -79,6 +81,7 @@ public function getEquipmentsOfAmbit(Request $request) public function showReportingForAmbitsProjectPdf($ambitId, $projectId) { + // Obter o caminho da imagem do usuário ou uma imagem padrão // Primeiro precisa identificar se quem esta a visualizar o relatorio e o Admin ou o Cliente @@ -87,23 +90,23 @@ public function showReportingForAmbitsProjectPdf($ambitId, $projectId) // Pega a data e hora atual $dataAtual = Carbon::now(); - // Se quiser formatar a data, pode fazer assim: + // Formata Data atual $dataFormatada = $dataAtual->format('Y-m-d H:i:s'); + // Dados do Ambito $dataAmbit = AmbitsEquipment::where('ambits_id', $ambitId)->first(); - $receiveDataEquipments = Equipment::where('equipments.company_projects_id', $projectId) // Adicionado 'equipments.' para remover a ambiguidade - ->join('equipment_work_historys', 'equipments.equipment_id', '=', 'equipment_work_historys.equipment_id') - ->select('equipment_work_historys.equipmentWorkHistorys_id', 'equipments.*') // Pegando o ID da tabela equipment_work_historys e todos os campos da tabela equipments + $receiveDataEquipments = EquipmentWorkHistory::where('equipment_work_historys.company_projects_id', $projectId) + ->join('equipments', 'equipment_work_historys.equipment_id', '=', 'equipments.equipment_id') + ->select('equipment_work_historys.equipmentWorkHistorys_id', 'equipments.*') ->get(); $filteredAssociations = EquipmentAssociationAmbit::where('ambits_id', $dataAmbit->ambits_id) - ->whereIn('equipmentWorkHistorys_id', $receiveDataEquipments->pluck('equipmentWorkHistorys_id')) // Usando equipmentWorkHistorys_id em vez de equipment_id + ->whereIn('equipmentWorkHistorys_id', $receiveDataEquipments->pluck('equipmentWorkHistorys_id')) ->get(); $equipmentWorkHistoryIds = $filteredAssociations->pluck('equipmentWorkHistorys_id'); - // Agora, em vez de buscar diretamente em Equipment, vamos pegar os detalhes via EquipmentWorkHistory $equipmentDetails = EquipmentWorkHistory::whereIn('equipmentWorkHistorys_id', $equipmentWorkHistoryIds) ->where('equipment_status_project', 2) ->join('equipments', 'equipment_work_historys.equipment_id', '=', 'equipments.equipment_id') @@ -119,25 +122,41 @@ public function showReportingForAmbitsProjectPdf($ambitId, $projectId) ]) ->get(); + $detalsProject = CompanyProject::find($projectId); - $detalsProject = CompanyProject::where('company_projects_id', $projectId)->first(); + $pdfWrapper = new PdfWrapper(); + return $pdfWrapper + ->loadView('userClient.pdfReportings.equipmentsForAmbitPdf', [ + 'equipmentDetails' => $equipmentDetails, + 'userLogoPath' => $userLogoPath, + 'dataAmbit' => $dataAmbit, + 'projectId' => $projectId, + 'detalsProject' => $detalsProject, + 'dataFormatada' => $dataFormatada + ]) + ->setOrientation('landscape') + ->stream('relatorio_equipamentos_ambito.pdf'); - $pdf = PDF::loadView('userClient.pdfReportings.equipmentsForAmbitPdf', [ - 'equipmentDetails' => $equipmentDetails, - 'userLogoPath' => $userLogoPath, - 'dataAmbit' => $dataAmbit, - 'projectId' => $projectId, - 'detalsProject' => $detalsProject, - 'dataFormatada' => $dataFormatada - ])->setPaper('a4', 'landscape'); - return $pdf->stream('relatorio_teste.pdf'); - - // return view('userClient.pdfReportings.showReportingAllEquipmentsForAmbitProject', [ + // $pdf = PDF::loadView('userClient.pdfReportings.equipmentsForAmbitPdf', [ + // 'equipmentDetails' => $equipmentDetails, // 'userLogoPath' => $userLogoPath, // 'dataAmbit' => $dataAmbit, - // 'projectId' => $projectId - // ]); + // 'projectId' => $projectId, + // 'detalsProject' => $detalsProject, + // 'dataFormatada' => $dataFormatada + // ])->setPaper('a4', 'landscape'); + // return $pdf->stream('relatorio_teste.pdf'); + + // return view('userClient.pdfReportings.equipmentsForAmbitPdf', + // ['equipmentDetails' => $equipmentDetails, + // 'userLogoPath' => $userLogoPath, + // 'dataAmbit' => $dataAmbit, + // 'projectId' => $projectId, + // 'detalsProject' => $detalsProject, + // 'dataFormatada' => $dataFormatada] + // ); + } public function getDataAllEquipmentsForAmbitOfProject(Request $request) @@ -200,7 +219,7 @@ public function getDataAmbitsOfProject(Request $request) ->where('equipment_work_historys.equipment_status_project', 2) ->where('equipment_work_historys.company_projects_id', $projectId) // Depois, juntar-se com equipments - ->join('equipments','equipment_work_historys.equipment_id', '=', 'equipments.equipment_id') + ->join('equipments', 'equipment_work_historys.equipment_id', '=', 'equipments.equipment_id') //filtrar pela company_projects_id ->count(); // Retorna a contagem de equipamentos que atendem às condições }) @@ -229,8 +248,8 @@ public function getDataEquipmentsOfProject(Request $request) // Para os restantes equipamentos vao para a tabela que lista os equipamentos da Obra,porem apenas os equipmentos com status = 0 //Equipamentos concluidos e aprovados, nao vao entrar em nenhuma das 2 listas ate agora. $query - ->where('equipment_status_project', 2) - ->where('company_projects_id',$projectId); + ->where('equipment_status_project', 2) + ->where('company_projects_id', $projectId); }); $dataEquipentProject = $initialQuery->get(); @@ -465,11 +484,11 @@ public function reportingDataClient($clientID = null) // Se clientID não foi passado, usamos o ID do usuário autenticado if (is_null($clientID)) { $clientID = Auth::user()->user_id; - $recebeAssociationCompany = AssociationCompanyUser::where('user_id', $clientID)->first(); + $recebeAssociationCompany = AssociationCompanyUser::where('user_id', $clientID)->first(); - $receiveCompany = Company::where('company_id',$recebeAssociationCompany->company_id)->first(); + $receiveCompany = Company::where('company_id', $recebeAssociationCompany->company_id)->first(); - $clientID = $recebeAssociationCompany->company_id; + $clientID = $recebeAssociationCompany->company_id; } diff --git a/app/Http/Middleware/CheckUserType.php b/app/Http/Middleware/CheckUserType.php index 75615964..da7f7dae 100755 --- a/app/Http/Middleware/CheckUserType.php +++ b/app/Http/Middleware/CheckUserType.php @@ -82,9 +82,6 @@ protected function getAllowedRoutesForUserType($userType) 'getDataAmbitsOfProject', 'showReportingForAmbitsProject','getEquipmentsOfAmbit','getDataEquipmentsOfProject','removingElementalTasksFromProject','equipmentTaskDetailsPdf', ]; - - - // Adicione mais casos conforme necessário... default: return []; } diff --git a/resources/views/userClient/pdfReportings/equipmentsForAmbitPdf.blade copy 2.php b/resources/views/userClient/pdfReportings/equipmentsForAmbitPdf.blade copy 2.php new file mode 100755 index 00000000..9a302142 --- /dev/null +++ b/resources/views/userClient/pdfReportings/equipmentsForAmbitPdf.blade copy 2.php @@ -0,0 +1,199 @@ + + + + + + + + Invoice + + + + + + + + @php $page = 1; @endphp + @php $count = 0; @endphp + @foreach ($equipmentDetails as $equipmentDetail) + @if ($count % 25 == 0) + @if ($count != 0) + + {{-- --}} + + @endif + + + + + + + + + + {{-- --}} + + + {{-- --}} + + + + {{-- --}} + + @endif + + + + + + + + + + + + {{-- + + --}} + + @php $count++; @endphp + @endforeach + + {{-- Adicionando linhas em branco para completar a tabela até 25 linhas --}} + @while ($count % 23 != 0) + + {{-- Espaço em branco --}} + {{-- Espaço em branco --}} + {{-- Espaço em branco --}} + + {{-- Espaço em branco --}} + {{-- Espaço em branco --}} + {{-- Espaço em branco --}} + {{-- Espaço em branco --}} + {{-- Espaço em branco --}} + {{-- Espaço em branco --}} + {{-- Espaço em branco + Espaço em branco + Espaço em branco --}} + + @php $count++; @endphp + @endwhile + + + + + + + + + diff --git a/resources/views/userClient/pdfReportings/equipmentsForAmbitPdf.blade copy.php b/resources/views/userClient/pdfReportings/equipmentsForAmbitPdf.blade copy.php new file mode 100755 index 00000000..07f8054a --- /dev/null +++ b/resources/views/userClient/pdfReportings/equipmentsForAmbitPdf.blade copy.php @@ -0,0 +1,184 @@ + + + + + + + + Invoice + + + + + + + + @php $page = 1; @endphp + @php $count = 0; @endphp + + @foreach ($equipmentDetails as $equipmentDetail) + @if ($count % 30 == 0) + @if ($count != 0) + + + @endif + + + + + + + + + + {{-- --}} + + + {{-- --}} + + + + {{-- --}} + + @endif + + + + + + + + + + + + {{-- + + --}} + + @php $count++; @endphp + @endforeach + + {{-- Adicionando linhas em branco para completar a tabela até 25 linhas --}} + @while ($count % 23 != 0) + + {{-- Espaço em branco --}} + {{-- Espaço em branco --}} + {{-- Espaço em branco --}} + + {{-- Espaço em branco --}} + {{-- Espaço em branco --}} + {{-- Espaço em branco --}} + {{-- Espaço em branco --}} + {{-- Espaço em branco --}} + {{-- Espaço em branco --}} + {{-- Espaço em branco + Espaço em branco + Espaço em branco --}} + + @php $count++; @endphp + @endwhile + + + + + + + + + diff --git a/resources/views/userClient/pdfReportings/equipmentsForAmbitPdf.blade.php b/resources/views/userClient/pdfReportings/equipmentsForAmbitPdf.blade.php index 3acd4895..418a5820 100755 --- a/resources/views/userClient/pdfReportings/equipmentsForAmbitPdf.blade.php +++ b/resources/views/userClient/pdfReportings/equipmentsForAmbitPdf.blade.php @@ -9,42 +9,19 @@ Invoice