<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;

class documentApplicationController extends Controller
{
    public function createWniosekNadanieForm(){

        if(auth()->user() != null && auth()->user()->fireStationID != null ){
            $fireFighters = DB::table('users')->where("fireStationID", "=", auth()->user()->fireStationID )->get();
            $decoration = DB::table('decorations')->pluck('decorationName', 'id');
            return view("wniosekNadanieForm")
                ->with(compact('decoration'))
                ->with(compact('fireFighters'));

        } else{
            return view('home');
        }

    }

    public function createKartaEwidencyjnaForm(){
        if(auth()->user() != null && auth()->user()->fireStationID != null ){
            $fireFighters = DB::table('users')->where("fireStationID", "=", auth()->user()->fireStationID )->get();
            $decoration = DB::table('decorations')->pluck('decorationName', 'id');
            return view("kartaEwidencyjnaForm")
                ->with(compact('fireFighters'));
        }else{
            return view('home');
        }
    }

    public function printWniosekNadaniePDF(){
        if(auth()->user() != null && auth()->user()->fireStationID != null ) {
            $request = request();
            $test = new documentOverlayController();

            $userData = DB::table('users')->where("users.id", '=', $request->fireFighterID)
                ->leftJoin('ranks', 'users.degreeID', '=', 'ranks.id')
                ->leftJoin('unitFunctions', 'users.functionID', '=', 'unitFunctions.id')
                ->select('users.id','users.name', 'users.surname', 'users.PESEL', 'users.fireStationID','users.phoneNumber', 'users.email', 'ranks.rank', 'unitFunctions.unitFunction', 'users.number', 'users.fathersName', 'users.apartment', 'users.address')
                ->first();

            $awardedDecorations = DB::table('decorationsFirefighters')->where("decorationsFirefighters.firefighterID", '=', $request->fireFighterID)
                ->whereNull('decorationsFirefighters.deleted_at')
                ->leftJoin('decorations', 'decorationsFirefighters.decorationID', '=', 'decorations.id')
                ->select('decorationName', 'dateOfAward', 'firefighterID', 'decorations.id AS decorationsId', 'decorationsFirefighters.id AS decorationsFirefightersID')
                ->get();

            $fireStation = DB::table('fireStations')->where("id", '=', $userData->fireStationID)->first();

            $test->wniosekNadaniePDF($userData, $request->decoration, $fireStation, $awardedDecorations);
        }
    }


    public function printKartaEwidencyjnaPDF(){
        if(auth()->user() != null && auth()->user()->fireStationID != null ) {
            $request = request();
            $test = new documentOverlayController();

            $userData = DB::table('users')->where("users.id", '=', $request->fireFighterID)
                ->leftJoin('ranks', 'users.degreeID', '=', 'ranks.id')
                ->leftJoin('unitFunctions', 'users.functionID', '=', 'unitFunctions.id')
                ->select('users.id','users.name', 'users.surname', 'users.PESEL', 'users.fireStationID','users.phoneNumber', 'users.email', 'ranks.rank', 'unitFunctions.unitFunction', 'users.number', 'users.secondName', 'users.fathersName', 'users.mothersName', 'users.placeOfBirth', 'users.joiningOSPDate', 'users.driversLicense', 'users.address', 'users.apartment', 'users.homePhoneNumber', 'users.identityCardNumber', 'users.education', 'users.profession', 'users.IDSeries', 'users.IDNumber', 'users.IDValidUntil')
                ->first();

            $userTrainings = DB::table('trainingsFirefighters')->where("trainingsFirefighters.firefighterID", '=', $request->fireFighterID)
                ->leftJoin('trainings', 'trainingsFirefighters.trainingID', '=', 'trainings.id')
                ->get();

            $fireStation = DB::table('fireStations')->where("id", '=', $userData->fireStationID)->first();

            $test->kartaEwidencyjnaPDF($userData, $fireStation, $userTrainings);
        }
    }
}