390 lines
16 KiB
PHP
390 lines
16 KiB
PHP
|
<?php
|
||
|
|
||
|
|
||
|
namespace App\Http\Controllers;
|
||
|
|
||
|
|
||
|
use Codedge\Fpdf\Fpdf\Fpdf;
|
||
|
use DB;
|
||
|
use App\fireStation;
|
||
|
use Carbon;
|
||
|
use Illuminate\Routing\Controller;
|
||
|
use App\Http\Controllers\AlphaPDF;
|
||
|
|
||
|
class documentCreators extends Fpdf
|
||
|
{
|
||
|
public function textConvert($text){
|
||
|
return iconv('utf-8','iso-8859-2',$text);
|
||
|
}
|
||
|
|
||
|
public function setWatermark($pdf){
|
||
|
$pdf->SetAlpha(0.5);
|
||
|
$pdf->Image('/home/czup/PhpstormProjects/untitled7/eOSP2/app/Http/Controllers/logo.jpg',120,30,100);
|
||
|
$pdf->SetAlpha(1);
|
||
|
}
|
||
|
|
||
|
public function createSingleOperationPDF2($operationID){
|
||
|
|
||
|
$operation = DB::table('operations')->where([
|
||
|
['operations.fireStationID', "=", auth()->user()->fireStationID],
|
||
|
['operations.id', '=', $operationID],
|
||
|
])
|
||
|
->whereNull('deleted_at')
|
||
|
->leftJoin('users', 'operations.commanderID', '=', 'users.id')
|
||
|
->select('operations.id', 'operations.operationDate', 'operations.location', 'operations.target', 'operations.dangerType', 'operations.description', 'operations.commanderID', 'operations.fireStationID', 'users.name', 'users.surname')
|
||
|
->first();
|
||
|
|
||
|
$fireFighters = array();
|
||
|
$trucks = array();
|
||
|
|
||
|
$fireFighters = DB::table('users')->where("fireStationID", "=", auth()->user()->fireStationID )
|
||
|
->Join('operationsMembers', function ($join) use($operationID){
|
||
|
$join->on('users.id', '=', 'operationsMembers.memberID');
|
||
|
$join->where('operationsMembers.operationID', '=', $operationID);
|
||
|
})
|
||
|
->select('users.*', 'operationsMembers.memberID', 'operationsMembers.privateTransport')
|
||
|
->get();
|
||
|
|
||
|
$trucks = DB::table('vehicles')->where([
|
||
|
["vehicles.fireStationID", "=", auth()->user()->fireStationID ],
|
||
|
])
|
||
|
->Join('operationsTrucks', function ($join) use($operationID){
|
||
|
$join->on('vehicles.id', '=', 'operationsTrucks.truckID');
|
||
|
$join->where('operationsTrucks.operationID', '=', $operationID);
|
||
|
})
|
||
|
->leftJoin('users', 'operationsTrucks.driverID', '=', 'users.id')
|
||
|
->select('vehicles.*', 'operationsTrucks.truckID', 'operationsTrucks.driverID', 'users.name as driverName', 'users.surname as driverSurname')
|
||
|
->get();
|
||
|
|
||
|
|
||
|
|
||
|
$pdf = new AlphaPDF();
|
||
|
$fill = false;
|
||
|
$pdf->AddPage();
|
||
|
$pdf->AddFont('arialpl', '', 'arialpl.php');
|
||
|
$pdf->AddFont('arialpl', 'B', 'arialplb.php');
|
||
|
$pdf->SetFont('arialpl','B',16);
|
||
|
$pdf->Cell(40,10, $this->textConvert("Data wyjazdu:"));
|
||
|
$pdf->SetFont('arialpl','',16);
|
||
|
$pdf->Cell(60,10,$this->textConvert($operation->operationDate), 0, 0, '', $fill);
|
||
|
$pdf->Ln();
|
||
|
$pdf->SetFont('arialpl','B',16);
|
||
|
$pdf->Cell(25,10, $this->textConvert("Miejsce:"));
|
||
|
$pdf->SetFont('arialpl','',16);
|
||
|
$pdf->Cell(40,10,$this->textConvert($operation->location), 0, 0, '', $fill);
|
||
|
$pdf->Ln();
|
||
|
$pdf->SetFont('arialpl','B',16);
|
||
|
$pdf->Cell(15,10, $this->textConvert("Cel:"));
|
||
|
$pdf->SetFont('arialpl','',16);
|
||
|
$pdf->Cell(80,10,$this->textConvert($operation->target), 0, 0, '', $fill);
|
||
|
$pdf->Ln();
|
||
|
$pdf->SetFont('arialpl','B',16);
|
||
|
$pdf->Cell(55,10, $this->textConvert("Rodzaj zagrożenia:"));
|
||
|
$pdf->SetFont('arialpl','',16);
|
||
|
$pdf->Cell(60,10,$this->textConvert($operation->dangerType), 0, 0, '', $fill);
|
||
|
$pdf->Ln();
|
||
|
$pdf->SetFont('arialpl','B',16);
|
||
|
$pdf->Cell(35,10, $this->textConvert("Dowodzący:"));
|
||
|
$pdf->SetFont('arialpl','',16);
|
||
|
$pdf->Cell(60,10,$this->textConvert($operation->name.' '.$operation->surname), 0, 0, '', $fill);
|
||
|
$pdf->Ln();
|
||
|
$pdf->Ln();
|
||
|
$pdf->SetFont('arialpl','B',16);
|
||
|
$pdf->Cell(0,10, $this->textConvert("Opis Wyjazdu"),0,1,'C');
|
||
|
$pdf->Ln();
|
||
|
$pdf->SetFont('arialpl','',16);
|
||
|
$pdf->Write(8,$this->textConvert($operation->description));
|
||
|
$pdf->Ln();
|
||
|
$pdf->Ln();
|
||
|
$pdf->SetFont('arialpl','B',16);
|
||
|
$pdf->Cell(28,10, $this->textConvert("Członkowie wyjazdu:"));
|
||
|
$pdf->Ln();
|
||
|
$pdf->SetFillColor(152,152,152);
|
||
|
$pdf->Cell(135,10, $this->textConvert("Członkowie akcji"), 1, 0, 'C', true);
|
||
|
$pdf->Cell(55,10, $this->textConvert("Transport własny"), 1, 0, 'C', true);
|
||
|
$pdf->Ln();
|
||
|
|
||
|
$pdf->SetFont('arialpl','',14);
|
||
|
$fill = false;
|
||
|
$pdf->SetFillColor(224,224,224);
|
||
|
foreach( $fireFighters as $fireFighter){
|
||
|
$text = $fireFighter->name." ".$fireFighter->surname;
|
||
|
$pdf->Cell(135,10,$this->textConvert($text), 1, 0, '', $fill);
|
||
|
if($fireFighter->privateTransport == 1){
|
||
|
$privateTransport = 'Tak';
|
||
|
}else{
|
||
|
$privateTransport = 'Nie';
|
||
|
}
|
||
|
$pdf->Cell(55,10,$this->textConvert($privateTransport), 1, 0, 'C', $fill);
|
||
|
$pdf->Ln();
|
||
|
|
||
|
$fill = !$fill;
|
||
|
}
|
||
|
|
||
|
$pdf->Ln();
|
||
|
$pdf->SetFont('arialpl','B',16);
|
||
|
$pdf->Cell(28,10, $this->textConvert("Pojazdy biorące udział w akcji:"));
|
||
|
$pdf->Ln();
|
||
|
$pdf->SetFillColor(152,152,152);
|
||
|
$pdf->Cell(115,10, $this->textConvert("Pojazd"), 1, 0, 'C', true);
|
||
|
$pdf->Cell(75,10, $this->textConvert("Kierowca"), 1, 0, 'C', true);
|
||
|
$pdf->Ln();
|
||
|
|
||
|
$pdf->SetFont('arialpl','',14);
|
||
|
$fill = false;
|
||
|
$pdf->SetFillColor(224,224,224);
|
||
|
foreach( $trucks as $truck){
|
||
|
$pdf->Cell(115,10,$this->textConvert($truck->name.' '.$truck->brand.' '.$truck->registrationNumber), 1, 0, '', $fill);
|
||
|
$pdf->Cell(75,10,$this->textConvert($truck->driverName.' '.$truck->driverSurname), 1, 0, 'C', $fill);
|
||
|
$pdf->Ln();
|
||
|
$fill = !$fill;
|
||
|
}
|
||
|
|
||
|
$pdf->Ln();
|
||
|
|
||
|
// $this->setWatermark($pdf);
|
||
|
$pdf->Ln();
|
||
|
$pdf->Output();
|
||
|
exit;
|
||
|
}
|
||
|
|
||
|
public function createAllOperationsPDF($fireSationID){
|
||
|
|
||
|
$operations = DB::table('operations')->where('operations.fireStationID', "=", $fireSationID)
|
||
|
->whereNull('deleted_at')
|
||
|
->leftJoin('users', 'operations.commanderID', '=', 'users.id')
|
||
|
->select('operations.id', 'operations.operationDate', 'operations.location', 'operations.target', 'operations.dangerType', 'operations.description', 'operations.commanderID', 'operations.fireStationID', 'users.name', 'users.surname')
|
||
|
->get();
|
||
|
|
||
|
$pdf = new AlphaPDF();
|
||
|
$fill = false;
|
||
|
$pdf->AddPage();
|
||
|
|
||
|
$pdf->AddFont('arialpl', '', 'arialpl.php');
|
||
|
$pdf->AddFont('arialpl', 'B', 'arialplb.php');
|
||
|
|
||
|
$pdf->SetFont('arialpl','B',20);
|
||
|
$pdf->Cell(190,10, $this->textConvert("Lista wyjazdów:"),0,0,'C');
|
||
|
$pdf->Ln();
|
||
|
$pdf->SetFont('arialpl','B',14);
|
||
|
$pdf->SetFillColor(152,152,152);
|
||
|
$pdf->Cell(10,10, $this->textConvert("#"), 1, 0, 'C', true);
|
||
|
$pdf->Cell(50,10, $this->textConvert("Data"), 1, 0, 'C', true);
|
||
|
$pdf->Cell(50,10, $this->textConvert("Miejsce"), 1, 0, 'C', true);
|
||
|
$pdf->Cell(60,10, $this->textConvert("Cel"), 1, 0, 'C', true);
|
||
|
$pdf->Cell(40,10, $this->textConvert("Rodzaj zagrożenia"), 1, 0, 'C', true);
|
||
|
$pdf->Cell(60,10, $this->textConvert("Dowódca"), 1, 0, 'C', true);
|
||
|
|
||
|
$pdf->SetFont('arialpl','',14);
|
||
|
$fill = false;
|
||
|
$pdf->SetFillColor(224,224,224);
|
||
|
$i=1;
|
||
|
foreach( $operations as $operation){
|
||
|
$pdf->Cell(10,10, $i, 1, 0, 'C', $fill);
|
||
|
$pdf->Cell(50,10,$this->textConvert($operation->operationDate), 1, 0, '', $fill);
|
||
|
$pdf->Cell(50,10,$this->textConvert($operation->location), 1, 0, '', $fill);
|
||
|
$pdf->Cell(50,10,$this->textConvert($operation->target), 1, 0, '', $fill);
|
||
|
$pdf->Ln();
|
||
|
$fill = !$fill;
|
||
|
$i++;
|
||
|
}
|
||
|
|
||
|
|
||
|
$pdf->Ln();
|
||
|
$pdf->Output();
|
||
|
exit;
|
||
|
}
|
||
|
|
||
|
public function createSingleUnitPDF(){
|
||
|
$fireStation = fireStation::find(auth()->user()->fireStationID);
|
||
|
$pdf = new AlphaPDF();
|
||
|
$fill = false;
|
||
|
$pdf->AddPage();
|
||
|
|
||
|
$pdf->AddFont('arialpl', '', 'arialpl.php');
|
||
|
$pdf->AddFont('arialpl', 'B', 'arialplb.php');
|
||
|
|
||
|
$pdf->SetFont('arialpl','B',20);
|
||
|
$pdf->Cell(190,10, $this->textConvert($fireStation->name),0,0,'C');
|
||
|
$pdf->Ln();
|
||
|
$pdf->Ln();
|
||
|
$pdf->SetFont('arialpl','B',16);
|
||
|
$pdf->Cell(45,10, $this->textConvert("Województwo:"),0,0,'');
|
||
|
$pdf->SetFont('arialpl','',16);
|
||
|
$pdf->Cell(40,10, $this->textConvert($fireStation->voivodeship),0,0,'');
|
||
|
$pdf->Ln();
|
||
|
$pdf->SetFont('arialpl','B',16);
|
||
|
$pdf->Cell(25,10, $this->textConvert("Powiat:"),0,0,'');
|
||
|
$pdf->SetFont('arialpl','',16);
|
||
|
$pdf->Cell(30,10, $this->textConvert($fireStation->county),0,0,'');
|
||
|
$pdf->Ln();
|
||
|
$pdf->SetFont('arialpl','B',16);
|
||
|
$pdf->Cell(85,10, $this->textConvert("Gmina i numer Ewidencyjny:"),0,0,'');
|
||
|
$pdf->SetFont('arialpl','',16);
|
||
|
$pdf->Cell(30,10, $this->textConvert($fireStation->community.' '.$fireStation->number),0,0,'');
|
||
|
$pdf->Ln();
|
||
|
$pdf->SetFont('arialpl','B',16);
|
||
|
$pdf->Cell(85 ,10, $this->textConvert("Kod pocztowy, Miejscowość:"),0,0,'');
|
||
|
$pdf->SetFont('arialpl','',16);
|
||
|
$pdf->Cell(30,10, $this->textConvert($fireStation->zipCode.' '.$fireStation->name),0,0,'');
|
||
|
$pdf->Ln();
|
||
|
$pdf->SetFont('arialpl','B',16);
|
||
|
$pdf->Cell(45,10, $this->textConvert("Ulica i Numer:"),0,0,'');
|
||
|
$pdf->SetFont('arialpl','',16);
|
||
|
$pdf->Cell(30,10, $this->textConvert($fireStation->address),0,0,'');
|
||
|
$pdf->Ln();
|
||
|
$pdf->SetFont('arialpl','B',16);
|
||
|
$pdf->Cell(100,10, $this->textConvert("Szerokość i długość geograficzna:"),0,0,'');
|
||
|
$pdf->SetFont('arialpl','',16);
|
||
|
$pdf->Cell(0,10, $this->textConvert($fireStation->latitude.'° | '.$fireStation->longitude.'°'),0,0,'');
|
||
|
$pdf->Ln();
|
||
|
$pdf->SetFont('arialpl','B',16);
|
||
|
$pdf->Cell(20,10, $this->textConvert("KRS:"),0,0,'');
|
||
|
$pdf->SetFont('arialpl','',16);
|
||
|
$pdf->Cell(30,10, $this->textConvert($fireStation->KRS),0,0,'');
|
||
|
$pdf->Ln();
|
||
|
$pdf->SetFont('arialpl','B',16);
|
||
|
$pdf->Cell(20,10, $this->textConvert("NIP:"),0,0,'');
|
||
|
$pdf->SetFont('arialpl','',16);
|
||
|
$pdf->Cell(30,10, $this->textConvert($fireStation->NIP),0,0,'');
|
||
|
$pdf->Ln();
|
||
|
$pdf->SetFont('arialpl','B',16);
|
||
|
$pdf->Cell(30,10, $this->textConvert("Telefon:"),0,0,'');
|
||
|
$pdf->SetFont('arialpl','',16);
|
||
|
$pdf->Cell(30,10, $this->textConvert($fireStation->phoneNumber),0,0,'');
|
||
|
$pdf->Ln();
|
||
|
$pdf->SetFont('arialpl','B',16);
|
||
|
$pdf->Cell(25,10, $this->textConvert("Email:"),0,0,'');
|
||
|
$pdf->SetFont('arialpl','',16);
|
||
|
$pdf->Cell(30,10, $this->textConvert($fireStation->email),0,0,'');
|
||
|
$pdf->Ln();
|
||
|
$pdf->Output();
|
||
|
exit;
|
||
|
}
|
||
|
|
||
|
public function createSingleFireFighterPDF($userID){
|
||
|
|
||
|
$user = DB::table('users')->where("users.id", '=', $userID)
|
||
|
->leftJoin('ranks', 'users.degreeID', '=', 'ranks.id')
|
||
|
->leftJoin('unitFunctions', 'users.functionID', '=', 'unitFunctions.id')
|
||
|
->select('users.id','users.name', 'users.surname', 'users.PESEL', 'users.email','users.phoneNumber', 'users.number', 'users.statusID', 'ranks.rank', 'unitFunctions.unitFunction')
|
||
|
->first();
|
||
|
|
||
|
$userTrainings = DB::table('trainingsFirefighters')->where("trainingsFirefighters.firefighterID", '=', $userID)
|
||
|
->leftJoin('trainings', 'trainingsFirefighters.trainingID', '=', 'trainings.id')
|
||
|
->whereNull('deleted_at')
|
||
|
->select('trainingsFirefighters.id','trainings.trainingName','trainingsFirefighters.dateOfComplete', 'trainingsFirefighters.dateOfExpiry')
|
||
|
->get();
|
||
|
|
||
|
$userDecorations = DB::table('decorationsFirefighters')->where("decorationsFirefighters.firefighterID", '=', $userID)
|
||
|
->whereNull('decorationsFirefighters.deleted_at')
|
||
|
->leftJoin('decorations', 'decorationsFirefighters.decorationID', '=', 'decorations.id')
|
||
|
->get();
|
||
|
|
||
|
$pdf = new AlphaPDF();
|
||
|
$fill = false;
|
||
|
$pdf->AddPage();
|
||
|
|
||
|
$pdf->AddFont('arialpl', '', 'arialpl.php');
|
||
|
$pdf->AddFont('arialpl', 'B', 'arialplb.php');
|
||
|
|
||
|
|
||
|
$pdf->SetFont('arialpl','B',20);
|
||
|
$pdf->Cell(190,10, $this->textConvert($user->name.' '.$user->surname),0,0,'C');
|
||
|
$pdf->Ln();
|
||
|
$pdf->Ln();
|
||
|
|
||
|
$pdf->SetFont('arialpl','B',16);
|
||
|
$pdf->Cell(25,10, $this->textConvert("Pesel:"),0,0,'');
|
||
|
$pdf->SetFont('arialpl','',16);
|
||
|
$pdf->Cell(30,10, $this->textConvert($user->PESEL),0,0,'');
|
||
|
$pdf->Ln();
|
||
|
|
||
|
$pdf->SetFont('arialpl','B',16);
|
||
|
$pdf->Cell(25,10, $this->textConvert("Telefon:"),0,0,'');
|
||
|
$pdf->SetFont('arialpl','',16);
|
||
|
$pdf->Cell(30,10, $this->textConvert($user->phoneNumber),0,0,'');
|
||
|
$pdf->Ln();
|
||
|
|
||
|
$pdf->SetFont('arialpl','B',16);
|
||
|
$pdf->Cell(25,10, $this->textConvert("Email:"),0,0,'');
|
||
|
$pdf->SetFont('arialpl','',16);
|
||
|
$pdf->Cell(30,10, $this->textConvert($user->email ),0,0,'');
|
||
|
$pdf->Ln();
|
||
|
|
||
|
$pdf->SetFont('arialpl','B',16);
|
||
|
$pdf->Cell(60,10, $this->textConvert("Numer ewidencyjny:"),0,0,'');
|
||
|
$pdf->SetFont('arialpl','',16);
|
||
|
$pdf->Cell(30,10, $this->textConvert($user->number ),0,0,'');
|
||
|
$pdf->Ln();
|
||
|
|
||
|
$pdf->SetFont('arialpl','B',16);
|
||
|
$pdf->Cell(30,10, $this->textConvert("Stopień:"),0,0,'');
|
||
|
$pdf->SetFont('arialpl','',16);
|
||
|
$pdf->Cell(30,10, $this->textConvert($user->rank ),0,0,'');
|
||
|
$pdf->Ln();
|
||
|
|
||
|
$pdf->SetFont('arialpl','B',16);
|
||
|
$pdf->Cell(30,10, $this->textConvert("Funkcja:"),0,0,'');
|
||
|
$pdf->SetFont('arialpl','',16);
|
||
|
$pdf->Cell(30,10, $this->textConvert($user->unitFunction ),0,0,'');
|
||
|
$pdf->Ln();
|
||
|
|
||
|
$pdf->SetFont('arialpl','B',16);
|
||
|
$pdf->Cell(190,10, $this->textConvert("Ukończone szkolenia:"),0,0,'C');
|
||
|
|
||
|
$pdf->Ln();
|
||
|
$pdf->SetFont('arialpl','B',14);
|
||
|
$pdf->SetFillColor(152,152,152);
|
||
|
$pdf->Cell(10,10, $this->textConvert("#"), 1, 0, 'C', true);
|
||
|
$pdf->Cell(100,10, $this->textConvert("Szkolenie"), 1, 0, 'C', true);
|
||
|
$pdf->Cell(40,10, $this->textConvert("Data ukończenia"), 1, 0, 'C', true);
|
||
|
$pdf->Cell(40,10, $this->textConvert("Data ważności"), 1, 0, 'C', true);
|
||
|
$pdf->Ln();
|
||
|
|
||
|
$pdf->SetFont('arialpl','',14);
|
||
|
$fill = false;
|
||
|
$pdf->SetFillColor(224,224,224);
|
||
|
$i=1;
|
||
|
foreach( $userTrainings as $userTraining){
|
||
|
$pdf->Cell(10,10, $i, 1, 0, 'C', $fill);
|
||
|
$pdf->Cell(100,10,$this->textConvert($userTraining->trainingName), 1, 0, '', $fill);
|
||
|
$pdf->Cell(40,10,$this->textConvert($userTraining->dateOfComplete), 1, 0, 'C', $fill);
|
||
|
$pdf->Cell(40,10,$this->textConvert($userTraining->dateOfExpiry), 1, 0, 'C', $fill);
|
||
|
$pdf->Ln();
|
||
|
$fill = !$fill;
|
||
|
$i++;
|
||
|
}
|
||
|
|
||
|
$pdf->Ln();
|
||
|
$pdf->SetFont('arialpl','B',16);
|
||
|
$pdf->Cell(190,10, $this->textConvert("Nadane odznaczenia:"),0,0,'C');
|
||
|
|
||
|
$pdf->Ln();
|
||
|
$pdf->SetFont('arialpl','B',14);
|
||
|
$pdf->SetFillColor(152,152,152);
|
||
|
$pdf->Cell(10,10, $this->textConvert("#"), 1, 0, 'C', true);
|
||
|
$pdf->Cell(140,10, $this->textConvert("Odznaczenie"), 1, 0, 'C', true);
|
||
|
$pdf->Cell(40,10, $this->textConvert("Data przyznania"), 1, 0, 'C', true);;
|
||
|
$pdf->Ln();
|
||
|
|
||
|
$pdf->SetFont('arialpl','',14);
|
||
|
$fill = false;
|
||
|
$pdf->SetFillColor(224,224,224);
|
||
|
$i=1;
|
||
|
foreach( $userDecorations as $userDecoration){
|
||
|
$pdf->Cell(10,10, $i, 1, 0, 'C', $fill);
|
||
|
$pdf->Cell(140,10,$this->textConvert($userDecoration->decorationName), 1, 0, '', $fill);
|
||
|
$pdf->Cell(40,10,$this->textConvert($userDecoration->dateOfAward), 1, 0, 'C', $fill);
|
||
|
$pdf->Ln();
|
||
|
$fill = !$fill;
|
||
|
$i++;
|
||
|
}
|
||
|
|
||
|
|
||
|
$pdf->Ln();
|
||
|
$pdf->Output();
|
||
|
exit;
|
||
|
}
|
||
|
}
|