<?php
// include("../includes/session.php");
// include("../includes/functions.php");
// include("../includes/liborders.inc.php");

include("../includes/db.php");
include("../includes/classes/fpdf/fpdf.php");

function addTaglia($arr,$imp_cod,$abbcat_tipo,$ordabb_cod,$tgl,$qty){

	$arrTglVES = array();
	$arrTglCAL = array();

	$arrTglCurrent = false;

	//inizializzo i due array con le taglie VES / CAL
	if(!is_array($arrTglVES)){
		$result = mysql_query("SELECT * FROM abbigliamento_tgl ORDER BY tgl");
		while($row = mysql_fetch_array($result)){
			if($row['abbcat_tipo'] == 'VES')
				$arrTglVES[] = $row['tgl'];
			else
				$arrTglCAL[] = $row['tgl'];
		}
	}


	//inizializzo l'array con tutte le taglie a 0
	if(!isset($arr[$imp_cod]['taglie'][$ordabb_cod])){
		for($i=0;$i<17;$i++){
			$arr[$imp_cod]['taglie'][$ordabb_cod][$i] = 0;
		}
	}

  if($abbcat_tipo == "VES"){
		$arrTglCurrent = $arrTglVES;
	}else if($abbcat_tipo == "CAL"){
		$arrTglCurrent = $arrTglCAL;
	}

	if($arrTglCurrent)
		$arr[$imp_cod]['taglie'][$ordabb_cod][array_search($tgl,$arrTglCurrent)] += $qty;

	$arr[$imp_cod]['taglie'][$ordabb_cod][16] += $qty; //aggiorno totale
	$arr[$imp_cod]['taglie'][$ordabb_cod]['tipo'] = $abbcat_tipo;

	return $arr;
}

function getStagione($stag,$getIco=false){
	if(!$getIco)
		return $stag == 0 ? 'Invernale' : 'Estivo';
	else
		return $stag == 0 ? 'icons/winter.png' : 'icons/summer.png';
}

function neat_trim($str, $n, $delim='...') {
   $len = strlen($str);
   if ($len > $n) {
       preg_match('/(.{' . $n . '}.*?)\b/', $str, $matches);
       return rtrim($matches[1]) . $delim;
   }
   else {
       return $str;
   }
}

class PDF extends FPDF
{
	//si
	function addSpace(){
		$this->Ln(5);
		$this->SetFont('Arial','',8);
		$this->Ln(10);
	}


	//si
	function addImpFooter(){
		$this->SetY(-30);
		$this->SetFont('Arial','',8);
		$this->MultiCell(120,4,"Il presente allegato, firmato dai dipendenti e timbrato dall'azienda, deve essere sollecitamente ritornato alla Cassa Edile Biellese, tramite fax (015 8484550) oppure per posta all'indirizzo:",0,1);

		$this->Ln(4);
		$this->SetFont('Arial','B',8);
		$this->Cell(0,0,'Cassa Edile Biellese - via Addis Abeba 3/C - 13900 Biella',0,0);

		$this->SetTextColor(170,170,170);
		$this->SetXY(120,-40);
		$this->Cell(80,23,'Timbro e firma Impresa',0,0,'C');
		$this->SetXY(120,-33);
		$this->Cell(80,23,'',1);
		$this->SetTextColor(0,0,0);
	}

}





function generatePdf($cod, $ord_id){
	$pdf_gen = new PDF();
	$pdf_gen->SetAutoPageBreak(true,10);
	$pdf_gen->SetMargins(10,10,10);
	$pdf_gen->SetFillColor(210,210,210);
	$pdf_gen->SetDrawColor(210,210,210);
	// $pdf_gen->AddPage();
	// $pdf_gen->SetFont('Arial','B',14);
	// $pdf_gen->Ln(20);
	// $pdf_gen->Cell(0,10,'SCHEDE RIEPILOGO MATERIALE IMPRESE',0,1,'C');



	$sql = sprintf(
		"
			SELECT *
			FROM ordini_generated
			LEFT JOIN ordini ON ordini_generated.ord_id = ordini.ord_id
			LEFT JOIN ordini_abb ON ordini_generated.ordabb_cod = ordini_abb.ordabb_cod
			LEFT JOIN imprese ON ordini_generated.imp_cod = imprese.imp_cod
			LEFT JOIN imprese_tipo ON imprese.tipoimp_id = imprese_tipo.tipoimp_id
			LEFT JOIN lavoratori ON ordini_generated.lav_cod = lavoratori.lav_cod
			LEFT JOIN lavoratori_mans ON lavoratori.mans_id = lavoratori_mans.mans_id
			WHERE
			ordini_generated.ord_id = %s AND
			ordini_abb.ord_id = %s AND
			imprese.imp_cod = %s
			ORDER BY
			imprese.imp_anagrafica, imprese.imp_cod, lavoratori.lav_anagrafica, lavoratori.lav_cod, ordini_generated.ordabb_cod
		",
		mysql_real_escape_string($ord_id),
		mysql_real_escape_string($ord_id),
		mysql_real_escape_string($cod)
	);
	// echo $sql; die();
	$old_imp_cod = 0;
	$old_lav_cod = 0;

	$result = mysql_query($sql);
	while($row = mysql_fetch_array($result)){

		$arr[$row['imp_cod']]['imp_anagrafica'] = $row['imp_anagrafica'];
		$arr[$row['imp_cod']]['imp_indirizzo'] = $row['imp_indirizzo'];
		$arr[$row['imp_cod']]['imp_cap'] = $row['imp_cap'];
		$arr[$row['imp_cod']]['imp_citta'] = $row['imp_citta'];
		$arr[$row['imp_cod']]['imp_prov'] = $row['imp_prov'];
		$arr = addTaglia($arr,$row['imp_cod'],$row['tipo'],$row['ordabb_cod'],$row['tgl'],$row['qty']);
		// print_r($arr);die("st2");


		//genero PDF generale (impresa ed elenco suoi dipendenti con materiale)

		//intestazione impresa
		if($old_imp_cod <> $row['imp_cod'] || $old_lav_cod <> $row['lav_cod'] && $cnt_dip == 4){

			$cnt_dip = 0;

			if(!empty($old_lav_cod)){
				$pdf_gen->addSpace();
				$old_lav_cod = 0;
			}

			if($old_imp_cod <> $row['imp_cod'] && !empty($old_imp_cod)){
				$pdf_gen->addImpFooter();
			}

			$old_imp_cod = $row['imp_cod'];
			$pdf_gen->AddPage();

			$int_stag = getStagione($row['ord_stagione']) ;
			$int_n = $row['ord_n'];
			$int_anno = $row['ord_anno'];

			$pdf_gen->SetFont('Arial','',9);
			$pdf_gen->MultiCell(0,3.5,
			'P.iva: '.$row['imp_piva'].chr(10).
			'Cod. Impresa: '.str_pad($row['imp_cod'],6,"0",STR_PAD_LEFT).chr(10).
			'Tipologia: '.$row['tipoimp_descr'].chr(10).
			'Stagione: '. $int_stag .' '.$int_n.chr(10).
			'Ordine Stag. n: '.$int_n
			,0,'R');

			$pdf_gen->SetY(11);
			$pdf_gen->SetFont('Arial','B',12);
			$pdf_gen->Cell(0,0,"Riepilogo ordine per i dipendenti della ditta:",0,1);
			$pdf_gen->Ln(8);

			$pdf_gen->SetFont('Arial','B',14);
			$pdf_gen->Cell(0,0,$row['imp_anagrafica'],0,1);
			$pdf_gen->Ln(6.5);

			$pdf_gen->SetFont('Arial','',10);
			$pdf_gen->Cell(0,0,$row['imp_indirizzo'].' - '.$row['imp_cap'].' '.$row['imp_citta'].' ('.$row['imp_prov'].')',0,1);
			$pdf_gen->Ln(10);

		}

		//intestazione dipendente
		if($old_lav_cod <> $row['lav_cod']){

			if(!empty($old_lav_cod)){
				$cnt_dip++;
				$pdf_gen->addSpace();
			}

			$old_lav_cod = $row['lav_cod'];
			$pdf_gen->SetFont('Arial','B',9);
			$pdf_gen->Cell(70,5,$row['lav_anagrafica'],0,0,'',true);

			$pdf_gen->SetFont('Arial','',8);
			$pdf_gen->Cell(65,5,neat_trim($row['mans_descr'],40),0,0,'',true);
			$pdf_gen->Cell(20,5,'cod. '.str_pad($row['lav_cod'],6,"0",STR_PAD_LEFT),0,0,'',true);
			$pdf_gen->Cell(35,5,'nato il '.strftime('%d/%m/%Y',strtotime($row['lav_dnascita'])),0,1,'R',true);
			$pdf_gen->Ln(2);

			$pdf_gen->SetFont('Arial','',8);



			$arrDipPunti[$row['lav_anagrafica'].$row['lav_cod']] = array(
				'anagrafica' => $row['lav_anagrafica'],
				'cf' => $row['lav_codfisc'],
				'pnt'=>0,
				'impresa'=>$row['imp_anagrafica']
			);



		}

		//materiale dipendente
		$pdf_gen->Cell(35,5,$row['ordabb_cod'],'B',0);
		$pdf_gen->Cell(100,5,neat_trim($row['ordabb_nome'],35),'B',0);
		$pdf_gen->Cell(31,5,'q.ta '.$row['qty'],'B',0);
		$pdf_gen->Cell(24,5, ($row['tgl'] > 0 ? 'tgl. '.$row['tgl'] : '') ,'B',1);


		$arrDipPunti[$row['lav_anagrafica'].$row['lav_cod']]['pnt'] += $row['ordabb_pnt'];

	}


	// print_r($_GET);die();
	$n_file = '../orders/'.$cod.date("YmdHis").'.pdf';
	$pdf_gen->Output($n_file,'F');
	return $n_file;
}




if(isset($_GET['cod']) && $_GET['cod'] != ""){
	$nfile = generatePdf($_GET['cod'], $_GET['ord_id']);

	if (file_exists($nfile)) {
		echo '<a href="download.php?f='.$nfile.'"><img src="../../../images/icons/pdf.png" /> Scarica </a>';
	}
}
