<?php 
require('session.php');
require('pdf-generate/fpdf.php');
if(isset($_REQUEST['s_bill_no']) && !empty($_REQUEST['s_bill_no']) ){
	$s_bill_no = base64_decode($_REQUEST['s_bill_no']);
	//$s_bill_no = $_REQUEST['s_bill_no'];
	// echo " select t1.*,DATE_FORMAT(t1.s_bill_date,'%d-%b-%Y') AS disp_bill_date, t2.company_name, t2.c_address, t2.c_city, t2.c_state, t2.c_country, t2.c_landline, t2.c_mobile, t3.cus_name, t3.cus_address, t3.cus_city, t3.cus_state, t3.cus_country from t_sales_entry_main t1 inner join m_company t2 on t1.company_id=t2.company_id inner join m_customer t3 on t1.cus_id = t3.cus_id  where 1=1 and t1.IsActive=1 and t1.s_bill_no='".$s_bill_no."' ";
	$rslt_main_det = $db->get_a_line(" select t1.*,DATE_FORMAT(t1.s_bill_date,'%d-%b-%Y') AS disp_bill_date, t2.company_name, t2.c_address, t2.c_city, t2.c_state, t2.c_country, t2.c_landline, t2.c_mobile, t3.cus_name, t3.cus_address, t3.cus_city, t3.cus_state, t3.cus_country from t_sales_entry_main t1 inner join m_company t2 on t1.company_id=t2.company_id inner join m_customer t3 on t1.cus_id = t3.cus_id  where 1=1 and t1.IsActive=1 and t1.s_bill_no='".$s_bill_no."' ");
	
	$rslt_pdt_det =$db->get_rsltset("select * from t_sales_entry_details where 1=1 and IsActive=1 and s_bill_no='".$s_bill_no."'  ");
	
	
}

$s_bill_no = base64_decode($_REQUEST['billinfo']);

$rslt_main_det = $db->get_a_line(" select t1.*,DATE_FORMAT(t1.s_bill_date,'%d-%b-%Y') AS disp_bill_date, t2.company_name, t2.c_address, t2.c_city, t2.c_state, t2.c_country, t2.c_landline, t2.c_mobile, t3.cus_name, t3.cus_address, t3.cus_city, t3.cus_state, t3.cus_country,t3.cus_postcode,t3.cus_gstno from t_sales_entry_main t1 inner join m_company t2 on t1.company_id=t2.company_id inner join m_customer t3 on t1.cus_id = t3.cus_id  where 1=1 and t1.IsActive=1 and t1.s_bill_no='".$s_bill_no."' ");

$rslt_pdt_det =$db->get_rsltset("select * from t_sales_entry_details where 1=1 and IsActive=1 and s_bill_no='".$s_bill_no."'  ");


function getAmountInWords($no) {   
	
	//creating array  of word for each digit
	 $words = array('0'=> 'Zero' ,'1'=> 'one' ,'2'=> 'two' ,'3' => 'three','4' => 'four','5' => 'five','6' => 'six','7' => 'seven','8' => 'eight','9' => 'nine','10' => 'ten','11' => 'eleven','12' => 'twelve','13' => 'thirteen','14' => 'fourteen','15' => 'fifteen','16' => 'sixteen','17' => 'seventeen','18' => 'eighteen','19' => 'nineteen','20' => 'twenty','30' => 'thirty','40' => 'forty','50' => 'fifty','60' => 'sixty','70' => 'seventy','80' => 'eighty','90' => 'ninty','100' => 'hundred','1000' => 'thousand','100000' => 'lac','10000000' => 'crore');
	 //$words = array('0'=> '0' ,'1'=> '1' ,'2'=> '2' ,'3' => '3','4' => '4','5' => '5','6' => '6','7' => '7','8' => '8','9' => '9','10' => '10','11' => '11','12' => '12','13' => '13','14' => '14','15' => '15','16' => '16','17' => '17','18' => '18','19' => '19','20' => '20','30' => '30','40' => '40','50' => '50','60' => '60','70' => '70','80' => '80','90' => '90','100' => '100','1000' => '1000','100000' => '100000','10000000' => '10000000');
	 
	 
	 //for decimal number taking decimal part
	 
	$cash=(int)$no;  //take number wihout decimal
	$decpart = $no - $cash; //get decimal part of number
	
	$decpart=sprintf("%01.2f",$decpart); //take only two digit after decimal
	
	$decpart1=substr($decpart,2,1); //take first digit after decimal
	$decpart2=substr($decpart,3,1);   //take second digit after decimal  
	
	$decimalstr='';
	
	//if given no. is decimal than  preparing string for decimal digit's word
	
	if($decpart>0)
	{
	 $decimalstr.="point ".$numbers[$decpart1]." ".$numbers[$decpart2];
	}
	 
	if($no == 0)
		return ' ';
	else {
		$novalue='';
		$highno=$no;
		$remainno=0;
		$value=100;
		$value1=1000;       
		while($no>=100)    {
			if(($value <= $no) &&($no  < $value1))    {
			$novalue=$words["$value"];
			$highno = (int)($no/$value);
			$remainno = $no % $value;
			break;
			}
			$value= $value1;
			$value1 = $value * 100;
		}       
		if(array_key_exists("$highno",$words))  //check if $high value is in $words array
			return $words["$highno"]." ".$novalue." ".getAmountInWords($remainno).$decimalstr;  //recursion
		else {
			$unit=$highno%10;
			$ten =(int)($highno/10)*10;
			return $words["$ten"]." ".$words["$unit"]." ".$novalue." ".getAmountInWords($remainno
			).$decimalstr; //recursion
		}
	}
}

$pdf = new FPDF();
$pdf->AddPage();
$dir_path = $_SERVER['DOCUMENT_ROOT'].'/hmbeta/';
//$pdf->Image($dir_path.'pdf-generate/receipt-copy.jpg','','',-310);

$pdf->SetFont('Arial','B',11);
//Bill No
$pdf->SetXY(46, 10);
$pdf->Cell(0,0,$rslt_main_det['actu_bill_no']);

//Bill Date
$pdf->SetXY(182, 21);
$pdf->Cell(0,0,date('d-m-Y',strtotime($rslt_main_det['s_bill_date'])));

$pdf->SetFont('Arial','B',10);
//Customer Details
//1, Name
$pdf->SetXY(30, 60);
$pdf->Cell(0,0,'M/S. '.$rslt_main_det['cus_name']);
//2,Address
$pdf->SetXY(30, 65);
$pdf->Cell(0,0,$rslt_main_det['cus_address']);
//3,Postal Code
$pdf->SetXY(30, 75);
$pdf->Cell(0,0,$rslt_main_det['cus_postcode']);
//4,City
$pdf->SetXY(30, 70);
$pdf->Cell(0,0,$rslt_main_det['cus_city']);
//5,State
$pdf->SetXY(30, 80);
$pdf->Cell(0,0,$rslt_main_det['cus_state']);
//5,GST NO
$pdf->SetXY(30, 85);
$pdf->Cell(0,0,'GST No: '.$rslt_main_det['cus_gstno']);


//Order Line Details 
$line_height = 106;
$increase_left = 4;
$i=1;
$pdf->SetFont('Arial','B',8);
foreach($rslt_pdt_det as $r){
	$sku_code = mt_rand(100000,999999);
	//Line 1#detail
	$pdf->SetXY(28+$increase_left, $line_height);
	$pdf->Cell(0,0,$i);
	$pdf->SetXY(35+$increase_left, $line_height);
	$pdf->Cell(0,0,$r['pdt_sku']);
	$pdf->SetXY(55+$increase_left, $line_height);
	$pdf->Cell(0,0,substr($r['saree_desc'],0,55));
	$pdf->SetXY(155+$increase_left, $line_height);
	$pdf->Cell(0,0,'1');
	$pdf->SetXY(175+$increase_left, $line_height);
	$pdf->Cell(0,0,$r['tot_amount']);
	$pdf->SetXY(198+$increase_left, $line_height);
	$pdf->Cell(0,0,'-');
	$line_height += 6;
	$i++;
}

//Total Display
//Total
$pdf->SetXY(180, 210);
$pdf->Cell(0,0,$rslt_main_det['total_sale_amount']);

//Less
$pdf->SetXY(180, 216);
$pdf->Cell(0,0,($rslt_main_det['total_sale_amount'] - $rslt_main_det['after_discount_amt']));

//Less Percent
//Less (1%)
$pdf->SetXY(146, 216);
$pdf->Cell(0,0,'('.$rslt_main_det['discount_per'].'%)');

//Taxable Amount
$pdf->SetXY(180, 222);
$pdf->Cell(0,0,$rslt_main_det['after_discount_amt']);

//GST Calculation
$cgst_per = ($rslt_main_det['igst_per']==0)?$rslt_main_det['cgst_total']:'-';
$sgst_per = ($rslt_main_det['igst_per']==0)?$rslt_main_det['sgst_total']:'-';
$igst_per = ($rslt_main_det['igst_per']!=0)?$rslt_main_det['igst_total']:'-';

//if($rslt_main_det['igst_per']==0) {
	//CGST
	$pdf->SetXY(180, 229);
	$pdf->Cell(0,0,$cgst_per);
	//SGST
	$pdf->SetXY(180, 235);
	$pdf->Cell(0,0,$sgst_per);
//}
//if($rslt_main_det['igst_per']!=0) {
	//IGST
	$pdf->SetXY(180, 241);
	$pdf->Cell(0,0,$igst_per);
//}
//GRAND Total
$pdf->SetFont('Arial','B',11);
$pdf->SetXY(180, 250);
$pdf->Cell(0,0,$rslt_main_det['final_sale_amt']);

$pdf->SetFont('Arial','B',8);
//Notes
$pdf->SetXY(45, 260);
$pdf->Cell(0,0,$rslt_main_det['notes']);

//GRAND Total in words
$pdf->SetFont('Arial','B',9);
$pdf->SetXY(57, 249);
$pdf->Cell(0,0,':'.ucfirst(getAmountInWords($rslt_main_det['final_sale_amt'])).' only.');
$pdf->Output('I');
?>
<script language="javascript">
window.print();
</script>
