<?php
include('session.php');

if ($_SERVER["REQUEST_METHOD"] == "POST") { 

  include('connect.php');

  $companyID = $_SESSION['companyselect'];

  $periodid = $_POST['periodid'];

  $sqlViewPayroll = "SELECT *
  FROM periods
  WHERE periodid = $periodid;";
  
$yearOfPeriod = "0000";
$monthOfPeriod = "00";
$periodDateData = "";

$resultPayroll = mysqli_query($db,$sqlViewPayroll);

$countPayroll = mysqli_num_rows($resultPayroll);

if ($countPayroll != 0) {

    while ($rowPayrollData = mysqli_fetch_array($resultPayroll)) {

      $dateextract = strtotime($rowPayrollData['endDate']);
      $yearOfPeriod = date("Y",$dateextract);
      $monthOfPeriod = date("m",$dateextract);
      $periodDateData = $yearOfPeriod . $monthOfPeriod;
    }

}

  if(isset($_GET['updated'])) {

    $updated = $_GET['updated'];

  }

    $sqlView = "SELECT 
          employees.employeename AS employeename,
          employees.employeefileno AS employeefileno,
          employees.employeenic AS employeenic,
          employees.employeesurname AS employeesurname,
          employees.employeenic AS employeenic,
          employees.employee_fulltime_boolean AS employeefulltime,
          employees.employee_join_date AS joinDate,
          employees.employee_termination_date AS terminationDate,
          payrollbasicdetails.totalPackage AS totalPackage,
          payrollbasicdetails.travellingAmt AS travellingAmt,
          payrollbasicdetails.payeEmp AS payeEmp,
          payrollbasicdetails.solidaritylevy AS solidaritylevy,
          payrollbasicdetails.employerLEVY AS employerLEVY,
          payrollbasicdetails.basicSal AS basicSal,          
          periods.startDate AS startDate,
          periods.endDate AS endDate
          FROM payrollbasicdetails
          LEFT JOIN employees
          ON payrollbasicdetails.employeeid = employees.employeeid
          LEFT JOIN periods
          ON payrollbasicdetails.payrollid = periods.periodid
          WHERE payrollbasicdetails.payrollid = $periodid
          AND employees.companyid = $companyID";

  
    $result = mysqli_query($db,$sqlView);

    $count = mysqli_num_rows($result);

    if ($count != 0) {

      //The name of the CSV file that will be downloaded by the user.
    $fileName = 'paye-return.csv';
     
    //Set the Content-Type and Content-Disposition headers.
    header('Content-Type: application/excel');
    header('Content-Disposition: attachment; filename="' . $fileName . '"');

    $data = array();

    array_push($data, array("MNS","PAYE","V1.0"));

    array_push($data, array("Employer Registration Number","Employer Business Registration Number","Employer Name","Tax Period","Telephone Number","Mobile Number","Name of Declarant","Email Address"));

    $sqlViewCompanyFile = "SELECT *
      FROM companyfile
      WHERE companyid = $companyID";
  
      $resultCompanyFile = mysqli_query($db,$sqlViewCompanyFile);

      while ($rowCompanyFile = mysqli_fetch_array($resultCompanyFile)) {

        array_push($data, array($rowCompanyFile['companyERN'],$rowCompanyFile['companyBRN'],$rowCompanyFile['companyName'],"202011",$rowCompanyFile['accountantPNumber'],$rowCompanyFile['accountantMNumber'],$rowCompanyFile['accountantName'],$rowCompanyFile['accountantEmail']));
       }

       array_push($data, array("Employee ID","Surname of Employee","Other Names of Employee","Emoluments excluding travelling","PAYE Amount","Solidarity Levy Amount","Full Time Employment"));

       while ($rowpayroll = mysqli_fetch_array($result)) { 

        $startDateForPeriod = $rowpayroll['startDate'];
        $endDateForPeriod = $rowpayroll['endDate'];

        $employeeJoin = $rowpayroll['joinDate'];
      $employeeTermination = $rowpayroll['terminationDate'];

      if (($employeeTermination == NULL || $employeeTermination == "0000-00-00")) {
        if ($employeeJoin > $endDateForPeriod) {
          continue;
        } 
      } else {
        if ($employeeTermination < $startDateForPeriod) {
          continue;
        } 
      }

      $emolumentCalculated = $rowpayroll['totalPackage'] - $rowpayroll['travellingAmt'];
    	 	array_push($data, 
          array(
            $rowpayroll['employeenic'], 
            $rowpayroll['employeesurname'], 
            $rowpayroll['employeename'],
            number_format($emolumentCalculated, 0, '.', ''),
            number_format($rowpayroll['payeEmp'], 0, '.', ''),
            number_format($rowpayroll['solidaritylevy'], 0, '.', ''),
            $rowpayroll['employeefulltime']));
    	 }

       
    //Open up a PHP output stream using the function fopen.
    $fp = fopen('php://output', 'w');
     
    //Loop through the array containing our CSV data.
    foreach ($data as $row) {
        //fputcsv formats the array into a CSV format.
        //It then writes the result to our output stream.
        fputcsv($fp, $row);
    }
     
    //Close the file handle.
    fclose($fp);
    }

 

      }  else { ///////////////////

   include('header1.php');
   include('ietpartial.php');

// start role specific 
$user_role = $_SESSION['role'];

  $sqlGetPeriods = "SELECT * FROM periods WHERE companyid = $companyID";

  $resultPeriods = mysqli_query($db,$sqlGetPeriods);

  $countPeriods = mysqli_num_rows($resultPeriods);

  echo "<main role=\"main\" class=\"col-md-9 ml-sm-auto col-lg-10 px-4\">";

  echo "<div class=\"d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom\">";


    	echo "<h1 class=\"h2\">Get PAYE csv file for Specific Period</h1>";
 
    
    	echo "</div>";

    	echo "<form method = \"POST\" action=\"report-getPAYEcsv.php\">";

      echo "<p>Select Period:";

        if ($countPeriods !== 0) { 

    echo "<select name=\"periodid\" id=\"getperiodid\" class=\"form-control\">";

    while ($rowperiod = mysqli_fetch_array($resultPeriods)) {

      echo "<option value ='" . $rowperiod['periodid'] . "'>" . $rowperiod['periodName'] . "</option>";

    }

      echo "</select></p>";
} else {
  echo "<p>No period on system..</p>";
}

     

    echo "<input type=\"submit\"> </form>";

    include('footer1.php');

   }




?>