1
0
forked from s421507/eOSP2
eOSP2/app/Http/Controllers/documentCreators.php
2020-02-01 01:03:57 +01:00

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;
}
}