<?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 getStagione($stag,$getIco=false){
	if(!$getIco)
		return $stag == 0 ? 'Invernale' : 'Estivo';
	else
		return $stag == 0 ? 'icons/winter.png' : 'icons/summer.png';
}


function getIntestazione($cod, $ord_id){
	$aimp = array();

	$str = "
		SELECT
		  imp_anagrafica, imp_indirizzo, imp_cap, imp_citta, imp_prov, imp_cod, imp_piva, tipoimp_descr
		FROM
		  imprese_tipo INNER JOIN imprese
		  ON imprese_tipo.tipoimp_id = imprese.tipoimp_id
		WHERE
		  imp_cod = %s
	";
	$sql = sprintf($str, $cod);
	// echo $sql;echo "<br>"; die("st");
	$result = mysql_query($sql);
	if($row = mysql_fetch_array($result)){
		$aimp["imp_anagrafica"] = $row["imp_anagrafica"];
		$aimp["imp_indirizzo"] = $row["imp_indirizzo"];
		$aimp["imp_cap"] = $row["imp_cap"];
		$aimp["imp_citta"] = $row["imp_citta"];
		$aimp["imp_prov"] = $row["imp_prov"];
		$aimp["imp_cod"] = $row["imp_cod"];
		$aimp["imp_piva"] = $row["imp_piva"];
		$aimp["tipoimp_descr"] = $row["tipoimp_descr"];
	}

	$str = "
		SELECT
		  ord_id, ord_anno, ord_stagione, ord_n
		FROM
		  ordini
		WHERE
		  ord_id = %s
	";
	$sql = sprintf($str, $ord_id);
	// echo $sql;echo "<br>"; die("st");
	$result = mysql_query($sql);
	if($row = mysql_fetch_array($result)){
		$aimp["int_stag"] = getStagione($row['ord_stagione']);
		$aimp["int_n"] = $row["ord_n"];
		$aimp["int_anno"] = $row["ord_anno"];
	}
	// print_r($aimp);die();

	return $aimp;
}


function getAbbigliamentoLav($icod, $oid, $lcod){
	$aabblav = array();
	// selezione abbigliamento lavoratore
	$str = "
		SELECT
		  ordini.ord_id, ordini.ord_stagione, ordini_abb.ordabb_cod, ordini_abb.ordabb_nome, ordini_abb_lav.ord,
		  abbigliamento_cat.abbcat_id, abbigliamento_cat.abbcat_descr, abbigliamento_cat.abbcat_tipo,
		  lavoratori_tgl.lavtgl_annullato, lavoratori_tgl.lavoro_id, lavoratori_tgl.lavtgl_giacca_est,
		  lavoratori_tgl.lavtgl_giacca_inv, lavoratori_tgl.lavtgl_pant_est, lavoratori_tgl.lavtgl_pant_inv,
		  lavoratori_tgl.lavtgl_giub_est, lavoratori_tgl.lavtgl_giub_inv, lavoratori_tgl.lavtgl_scarp_est,
		  lavoratori_tgl.lavtgl_scarp_inv,
		  lavoratori.lav_cod, lavoratori.lav_annullato, lavoratori.pos_id, lavoratori.lav_abb,
		  imprese.imp_cod, imprese.imp_annullato, imprese.sosp_id
		FROM
		  ordini_abb_lav, ordini_abb, abbigliamento_cat, ordini, lavoratori_tgl, lavoratori, imprese

		WHERE
		  ordini_abb_lav.ordabb_id = ordini_abb.ordabb_id AND
		  abbigliamento_cat.abbcat_id = ordini_abb.abbcat_id AND
		  ordini_abb.ord_id = ordini.ord_id AND
		  ordini_abb_lav.lavoro_id = lavoratori_tgl.lavoro_id AND
		  lavoratori_tgl.lav_cod = lavoratori.lav_cod AND
		  lavoratori.imp_cod = imprese.imp_cod AND
		  ordini.ord_id = %s AND
		  ordini_abb_lav.ord = 0 AND
		  lavoratori_tgl.lavtgl_annullato <> 1 AND
		  lavoratori_tgl.lavoro_id <> 99 AND
		  lavoratori.lav_cod = %s AND
		  lavoratori.lav_annullato <> 1 AND
		  lavoratori.pos_id = 0 AND
		  lavoratori.lav_abb = 1 AND
		  imprese.imp_cod = %s AND
		  imprese.imp_annullato <> 1 AND
		  imprese.sosp_id IN ( 0, 99 )
		ORDER BY
			ordini_abb.ordabb_cod ASC
	";
	$sql = sprintf($str, $oid, $lcod, $icod);
	// echo $sql;echo "<br>"; die("st");

	$result = mysql_query($sql);
	while($row = mysql_fetch_array($result)){
		$arr_taglie = array(
			"Giacca_1" 	=> $row['lavtgl_giacca_est'],
			"Giacca_0" 	=> $row['lavtgl_giacca_inv'],
			"Pantaloni_1" => $row['lavtgl_pant_est'],
			"Pantaloni_0" => $row['lavtgl_pant_inv'],
			"Giubbotto_1"  => $row['lavtgl_giub_est'],
			"Giubbotto_0"  => $row['lavtgl_giub_inv'],
			"Scarpe_1" 	=> $row['lavtgl_scarp_est'],
			"Scarpe_0" 	=> $row['lavtgl_scarp_inv']
		);
		$tgl = $arr_taglie[$row['abbcat_descr'].'_'.$row['ord_stagione']];

		$talav = array();
		$talav["ordabb_cod"] = $row["ordabb_cod"];
		$talav["ordabb_nome"] = $row["ordabb_nome"];
		$talav["qty"] = 1;
		$talav["tgl"] = $tgl;

		$aabblav[$row["abbcat_id"]] = $talav;


	}
	// echo "<br><br>";
	// print_r($aabblav);echo "<br><br>";
	// die();

	// selezione abbigliamento custom del lavoratore
	$str = "
		SELECT
		  ordini.ord_id, ordini.ord_stagione, abbigliamento_cat.abbcat_id, abbigliamento_cat.abbcat_descr, abbigliamento_cat.abbcat_tipo,
		  ordini_customchoice.ordabb_cod, ordini_abb.ordabb_nome, ordini_customchoice.qty, ordini_customchoice.remove,
		  lavoratori_tgl.lavtgl_annullato, lavoratori_tgl.lavoro_id, lavoratori_tgl.lavtgl_giacca_est, lavoratori_tgl.lavtgl_giacca_inv,
			lavoratori_tgl.lavtgl_pant_est, lavoratori_tgl.lavtgl_pant_inv, lavoratori_tgl.lavtgl_giub_est, lavoratori_tgl.lavtgl_giub_inv,
			lavoratori_tgl.lavtgl_scarp_est, lavoratori_tgl.lavtgl_scarp_inv,
			lavoratori.lav_cod, lavoratori.lav_annullato, lavoratori.pos_id, lavoratori.lav_abb,
			imprese.imp_cod, imprese.imp_annullato, imprese.sosp_id
		FROM
		  ordini_customchoice, abbigliamento_cat, lavoratori, lavoratori_tgl, ordini, imprese, ordini_abb
		WHERE
		  ordini_customchoice.abbcat_id = abbigliamento_cat.abbcat_id AND
		  lavoratori.lav_cod = lavoratori_tgl.lav_cod AND
		  ordini_customchoice.ord_id = ordini.ord_id AND
		  lavoratori_tgl.lav_cod = ordini_customchoice.lav_cod AND
		  imprese.imp_cod = lavoratori.imp_cod AND
		  ordini_customchoice.ord_id = ordini_abb.ord_id AND
		  ordini_customchoice.ordabb_cod = ordini_abb.ordabb_cod AND
		  ordini_customchoice.abbcat_id = ordini_abb.abbcat_id AND
		  ordini.ord_id = %s AND
		  ordini_customchoice.remove = 0 AND
		  lavoratori_tgl.lavtgl_annullato <> 1 AND
		  lavoratori_tgl.lavoro_id <> 99 AND
		  lavoratori.lav_cod = %s AND
		  lavoratori.lav_annullato <> 1 AND
		  lavoratori.pos_id = 0 AND
		  lavoratori.lav_abb = 1 AND
		  imprese.imp_cod = %s AND
		  imprese.imp_annullato <> 1 AND
		  imprese.sosp_id IN ( 0, 99 )
	";
	$sql = sprintf($str, $oid, $lcod, $icod);
	// echo $sql;echo "<br>"; die("st");

	$result = mysql_query($sql);
	while($row = mysql_fetch_array($result)){
		$arr_taglie = array(
			"Giacca_1" 	=> $row['lavtgl_giacca_est'],
			"Giacca_0" 	=> $row['lavtgl_giacca_inv'],
			"Pantaloni_1" => $row['lavtgl_pant_est'],
			"Pantaloni_0" => $row['lavtgl_pant_inv'],
			"Giubbotto_1"  => $row['lavtgl_giub_est'],
			"Giubbotto_0"  => $row['lavtgl_giub_inv'],
			"Scarpe_1" 	=> $row['lavtgl_scarp_est'],
			"Scarpe_0" 	=> $row['lavtgl_scarp_inv']
		);
		$tgl = $arr_taglie[$row['abbcat_descr'].'_'.$row['ord_stagione']];

		$talav = array();
		$talav["ordabb_cod"] = $row["ordabb_cod"];
		$talav["ordabb_nome"] = $row["ordabb_nome"];
		$talav["qty"] = $row["qty"];
		$talav["tgl"] = $tgl;

		$aabblav[$row["abbcat_id"]] = $talav;


	}
	// print_r($aabblav);echo "<br><br>";
	return $aabblav;
}

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 addSpace1(){
		// $this->Ln(5);
		// $this->SetFont('Arial','',8);
		$this->Ln(10);
	}

	function addSpace2(){
		// $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){
	$arr_imp = getIntestazione($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();
	// $str = "
	// 	SELECT
	// 	  lav_cod, imp_cod, lav_anagrafica, lav_dnascita, lav_abb
	// 	FROM
	// 		lavoratori
	// 	WHERE
	// 		imp_cod = %s
	// 		AND lav_abb = 1
	// 	ORDER BY
	// 		lav_anagrafica ASC
	// ";
	$str = "
		SELECT
		  lav_cod, imp_cod, lav_anagrafica, lav_dnascita, lav_abb
		FROM
			lavoratori
		WHERE
			imp_cod = %s
			AND lav_abb = 1
		ORDER BY
			lav_anagrafica ASC
	";

	$sql = sprintf($str, $cod);

	$result = mysql_query($sql);

	$old_lav_cod = 0;
	$cnt_dip = 4;

	while($row = mysql_fetch_array($result)){

		//intestazione impresa
		if($cnt_dip == 4){
			$cnt_dip = 0;
			$pdf_gen->AddPage();
			$pdf_gen->SetFont('Arial','',9);
			$pdf_gen->MultiCell(0,3.5,
				'P.iva: '.$arr_imp['imp_piva'].chr(10).
				'Cod. Impresa: '.str_pad($arr_imp['imp_cod'],6,"0",STR_PAD_LEFT).chr(10).
				'Tipologia: '.$arr_imp['tipoimp_descr'].chr(10).
				'Stagione: '. $arr_imp['int_stag'] .' '.$arr_imp['int_n'].chr(10).
				'Ordine Stag. n: '.$arr_imp['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,$arr_imp['imp_anagrafica'],0,1);
			$pdf_gen->Ln(6.5);

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



		//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(65,5,"",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);

			$arr_labb = getAbbigliamentoLav($row['imp_cod'], $ord_id, $row['lav_cod']);

			// print_r($arr_labb); echo "<br><br>";
			if(count($arr_labb) > 0){
				foreach($arr_labb as $alav){
					// print_r($alav); echo "<br><br>";
					$pdf_gen->Cell(35,5,$alav['ordabb_cod'],'B',0);
					$pdf_gen->Cell(100,5,neat_trim($alav['ordabb_nome'],35),'B',0);
					$pdf_gen->Cell(31,5,'q.ta '.$alav['qty'],'B',0);
					$pdf_gen->Cell(24,5, ($alav['tgl'] > 0 ? 'tgl. '.$alav['tgl'] : '') ,'B',1);
				}
				$pdf_gen->addSpace2();
			}

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




if(isset($_GET['cod']) && $_GET['cod'] != ""){
	// generatePdf($_GET['cod'], $_GET['ord_id']);
	$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>';
	}
}
