<?php
 /**

 */

  date_default_timezone_set('America/Costa_Rica');

	include ("../conexion.php");

	$codfactura=$_GET["codfactura"];

	$horaactual = date("h:i:s A");
	$fecha_actual=  date('Y-m-d') ;
	$promocionales= 0 ;

   
    $consulta = "SELECT * FROM web_0000 ";
	$resultado = $mysqli->query($consulta);
	$fila = $resultado->fetch_array();

         $nomcom = $fila["NOMCOM"];
	     $razsoc = $fila["RAZSOC"];
		 $cedjur = $fila["CEDJUR"];
		 $diremp = $fila["DIREMP"];
		 $numtel_empresa = $fila["NUMTEL"];
		 $numofi = $fila["numofi"];
		 $menfac = $fila["menfac"];
         $intmor = $fila["INTMOR"];
		 $tipimp = $fila["TIPIMP"];
		 $tipo_comprobante=$fila["tipcomprobante"];
		// $monpro=$fila["monpro"];
		// $nompro=$fila["nompro"];
		 
		 
		 
		 
		 $consulta_promos ="SELECT * FROM promociones WHERE fecinipro <= '$fecha_actual'  AND fecifinpro >= '$fecha_actual' "; 
		
		 
		 $resultado_promos = $mysqli->query($consulta_promos);
		$fila_promos = $resultado_promos->fetch_array();
		$cuantos = $resultado_promos->num_rows;
		
		
		if ($cuantos > 0){  // SI LA FECHA DE LA PROMOCION ESTÁ VIGENTE
			
		 $nombre_promocional = $fila_promos["nompro"];
	     $monto_promocional = $fila_promos["monpro"];
		 $productos_promocionales = $fila_promos["propro"];
		 $limite_acciones = $fila_promos["topacpro"];
		 $fecinipro = $fila_promos["fecinipro"];
		 $fecifinpro = $fila_promos["fecifinpro"];


echo $nombre_promocional; echo "<br>";
echo $monto_promocional; echo "<br>";
echo $productos_promocionales; echo "<br>";
echo $limite_acciones; echo "<br>";




   $consulta ="SELECT * FROM facturas WHERE codfactura='$codfactura'";
	  $result = $mysqli->query($consulta);
      $row = $result->fetch_array();

        $marcaestado = $row["estado"];
        $marcaborrado = $row["borrado"];
		$horaactual = $row["horfac"];
        $horfac = $row["horfac"];
        $fecha = $row["fecha"];
		$fecha= implode("-", array_reverse(explode("-", $fecha)));
        $cdgtipven = $row["cdgtipven"];
		$numfactura = $row["numfactura"];
	//	$numfactura    = substr($numfactura, -10);
		$cdgcli = $row["cdgcli"];
		$dsccli = $row["dsccli"];
        $fecven = $row["fechavencimiento"];
		$fecven= implode("-", array_reverse(explode("-", $fecven)));
		$codfactura = $row["codfactura"];
		$cdgven = $row["cdgven"];
		$cdgcaj = $row["cdgcaj"];
		$obsfac = $row["obsfac"];
		$pagacon = $row["pagacon"];
		$vuelto = $row["vuelto"];
		$numcomp =  $row['numcomp'];
		$cdgclave =  $row['cdgclave'];		
      //////////////////////////   se hacen cambios en la version  4.3 /////////////////////



      $cliente ="Select * from facturas, web_0301 where facturas.codfactura=$codfactura and facturas.cdgcli= web_0301.cdgcli";
	  $result2 = $mysqli->query($cliente);
      $row2 = $result2->fetch_array();

      $dircli = $row2["DIRCLI"];
	  $cedcli = $row2["CEDCLI"];
	  $numtel = $row2["NUMTEL"];
      $dsccli = $row2["dsccli"];	
	 $clitributa = $row2["clitributa"];

		
		if ( $clitributa  == 1 )  {	 // si el tipo de comprobante es tiquete 
    
	 $tipofactura="FACTURA ";	

	} else {
		$tipofactura="TIQUETE ";

	} 
	

		
		if ($cdgtipven == 1 ) { $tipo_venta=" CONTADO N. "; $vencimiento ="                 ";} else { $tipo_venta=" CREDITO N. ";   $vencimiento ="Vence: ". $fecven; }
        

 		$usuario3 = "SELECT * FROM usuarios WHERE codusu='$cdgven'";
		$resultado3 = $mysqli->query($usuario3);
		$row3 = $resultado3->fetch_array();
		$vendedor = $row3["usu"];
		
		$usuario4 = "SELECT * FROM usuarios WHERE codusu='$cdgcaj'";
		$resultado4 = $mysqli->query($usuario4);
		$row4 = $resultado4->fetch_array();
		$cajero = $row4["usu"];



$ip = $_SERVER["REMOTE_ADDR"];

if ($ip=="12.0.0.1"){

echo $puerto="LPT1";

  } else {
  
echo $puerto="LPT1";



  }  


if(($handle = @fopen($puerto, "w")) === FALSE){
echo exec('Impresoras');

        die('No se puede Imprimir, Verifique la conexion con la IMPRESORA'); // Revisa la conexion con la impresora
    }
setlocale(LC_TIME, 'spanish');





//if ($cdgtipven==1) { 

//fwrite($handle, chr(27). chr(112). chr(48));//ABRIR EL CAJON

//}

		$subtotal        = 0;
		$impuesto_venta  = 0;
		$total_descuento = 0;
		$total           = 0;
		$descuento       = 0;


if ($tipimp=="MATRIX"){  //  ************************Si la impresora es TIPO MATRIX ****************************///////////////

$consulta3 = "SELECT factulinea.*,web_1001.* FROM factulinea,web_1001 WHERE factulinea.codfactura='$codfactura' AND factulinea.codigo=web_1001.cdgbar ORDER BY factulinea.numlinea ASC";


if ($resultado3 = $mysqli->query($consulta3)) 
$contador=0;

		 while ($fila = $resultado3->fetch_assoc()) {

        $numlinea  = $fila["numlinea"];
        $cdgbar    = $fila["codigo"];
        $dscart    = $fila["dscart"];
		$cantidad  = $fila["cantidad"];
		$preivi    = $fila["preivi"];
		$prenivi   = $fila["prenivi"];
		$importe   = $fila["importe"];
		$impuesto  = $fila["impuesto"];
		$descuento = $fila["mondes"];
		$artpro    = $fila["artpro"] * $cantidad ;	
		
		$promocionales = $artpro + $promocionales ;
		
		
					
						$subtotal=$subtotal + $importe;
						$impuesto_venta=$impuesto_venta + $impuesto;
						$total_descuento=$total_descuento + $descuento;
					    $total=$subtotal-$total_descuento+$impuesto_venta;
						$cantidad=number_format($cantidad,2,'.',',');
						$total=round($total);
						$total_promocional=$total;
						
						
					if ($impuesto > 0 ) { $impart="G"; } else { $impart="E"; }
   $sublin=$importe;
// formula inserta espacion ///

						
				 } 
 
//////////////////////////////////     imprime cupon de rifa si lo requiere   ////////////////////////////////////////


 if ($monto_promocional>0){$acciones = $total_promocional / $monto_promocional;  } else {$acciones=1;}
 

 
 if ($promocionales >= $productos_promocionales  &&  $total_promocional  >= $monto_promocional ) { // incluya productos_promocionales
 

 
		if (($acciones > $limite_acciones) && ($monto_promocional >0 ) ){
		
		
			if ($limite_acciones > 0){
			
			$acciones  = $limite_acciones; 
			}
			/*
			else {
			
			$acciones=1;
			}
			*/
		
		}
		else {$acciones=1;}

 
//if ($monto_promocional==0){$acciones=1;}

$acciones = intval($acciones);


echo "Acciones  ". $acciones ."total ".  $total_promocional . " Nombre Promocion ". $nombre_promocional ;

 
while( $acciones > 0) {



fwrite($handle,  chr(27). chr(100). chr(0));//salto de linea VACIO
fwrite($handle,  chr(27). chr(100). chr(0));//salto de linea VACIO
fwrite($handle, chr(27). chr(100). chr(0));//salto de linea
fwrite($handle, chr(27). chr(32). chr(1));//ESTACIO ENTRE 
fwrite($handle, chr(27). chr(97). chr(1));//centrado
fwrite($handle, chr(27). chr(33). chr(22));//ESTACIO ENTRE LETRAS

fwrite($handle, $nomcom);
fwrite($handle, chr(27). chr(32). chr(0));//ESTACIO ENTRE LETRAS
fwrite($handle, chr(27). chr(3). chr(17));//salto de linea VACIO
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(33). chr(9));//Tamaño letra 10 
fwrite($handle, $nombre_promocional);
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(97). chr(1));//centrado
fwrite($handle,"----------------------------------------");
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(97). chr(0));//izquierda

if($cdgcli <> "9999") {

fwrite($handle,"Nombre: " . $cdgcli ."-".$dsccli);
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle,"Cedula: " . $cedcli);
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle,"Telefono: " . $numtel);
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle,"Factura N.: " . $numcomp);
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea



echo "Nombre: " . $cdgcli ."-".$dsccli;
echo "<BR>";
echo "Cedula: " . $cedcli;
echo "<BR>";
echo "Telefono: " . $numtel;
echo "<BR>";
echo "Factura N.: " . $numcomp;
echo "<BR>";



} else {


fwrite($handle,"Nombre: ____________________________" );
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle,"Cedula: ____________________________" );
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle,"Telefono: __________________________" );
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle,"Factura N.: ________________________" );
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea


echo "Nombre: _____________" ;
echo "<BR>";
echo "Cedula:________________ " ;
echo "<BR>";
echo "Telefono:___________ " ;
echo "<BR>";
echo "Factura N.:  _____________" ;
echo "<BR>";


}  //CIERRA QUE CLIENTE  ES GENERICO

$acciones = $acciones - 1 ;   // contador de acciones 

fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(109). chr(0));//salto de linea
fwrite($handle, chr(29). chr(27). chr(105));//Corta el Papel

}  //////  CIERRA QUE TIENE CUPONES PROMOCIONALES 

}
}//**********************************  Cierra tipo de impresora MATRIX ****************************************//

if ($tipimp=="TERMICA"){  //  ************************Si la impresora es TIPO TERMICA ****************************///////////////

$consulta3 = "SELECT factulinea.*,web_1001.* FROM factulinea,web_1001 WHERE factulinea.codfactura='$codfactura' AND factulinea.codigo=web_1001.cdgbar ORDER BY factulinea.numlinea ASC";


if ($resultado3 = $mysqli->query($consulta3)) 
$contador=0;

		 while ($fila = $resultado3->fetch_assoc()) {

        $numlinea  = $fila["numlinea"];
        $cdgbar    = $fila["codigo"];
        $dscart    = $fila["dscart"];
		$cantidad  = $fila["cantidad"];
		$preivi    = $fila["preivi"];
		$prenivi   = $fila["prenivi"];
		$importe   = $fila["importe"];
		$impuesto  = $fila["impuesto"];
		$descuento = $fila["mondes"];
		$artpro    = $fila["artpro"] * $cantidad ;	
		
		$promocionales = $artpro + $promocionales ;
		
		
					
						$subtotal=$subtotal + $importe;
						$impuesto_venta=$impuesto_venta + $impuesto;
						$total_descuento=$total_descuento + $descuento;
					    $total=$subtotal-$total_descuento+$impuesto_venta;
						$cantidad=number_format($cantidad,2,'.',',');
						$total=round($total);
						$total_promocional=$total;
						
						
					if ($impuesto > 0 ) { $impart="G"; } else { $impart="E"; }
   $sublin=$importe;
// formula inserta espacion ///

						
				 } 
 
//////////////////////////////////     imprime cupon de rifa si lo requiere   ////////////////////////////////////////



 if ($monto_promocional>0){$acciones = $total_promocional / $monto_promocional;  } else {$acciones=1;}
 

 
 if ($promocionales >= $productos_promocionales  &&  $total_promocional  >= $monto_promocional ) {
 

 
		if (($acciones > $limite_acciones) && ($monto_promocional >0 ) ){
		
		
			if ($limite_acciones > 0){
			
			$acciones  = $limite_acciones; 
			}
			/*
			else {
			
			$acciones=1;
			}
		*/
		
		}
		else {$acciones=1;}

 
//if ($monto_promocional==0){$acciones=1;}

$acciones = intval($acciones);


echo "Acciones  ". $acciones ."total ".  $total_promocional . " Nombre Promocion ". $nombre_promocional ;

 
while( $acciones > 0) {



fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(32). chr(1));//ESTACIO ENTRE 
fwrite($handle, chr(27). chr(97). chr(1));//centrado
fwrite($handle, chr(27). chr(33). chr(56));//ESTACIO ENTRE LETRAS

fwrite($handle, "  ".$nomcom);
fwrite($handle, chr(27). chr(32). chr(0));//ESTACIO ENTRE LETRAS
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(33). chr(9));//Tamaño letra 10 
fwrite($handle, "  ". $nombre_promocional);
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(97). chr(1));//CENTRADO
fwrite($handle,"    --------------------------------------------");
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(97). chr(1));//centrado
fwrite($handle, chr(27). chr(33). chr(8));//ESTACIO ENTRE LETRAS

if($cdgcli <> "9999") {

fwrite($handle,"    Nombre: " . $cdgcli ."-".$dsccli);
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle,"    Cedula: " . $cedcli);
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle,"    Telefono: " . $numtel);
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle,"    Factura N.: " . $numcomp);
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea



echo "Nombre: " . $cdgcli ."-".$dsccli;
echo "<BR>";
echo "Cedula: " . $cedcli;
echo "<BR>";
echo "Telefono: " . $numtel;
echo "<BR>";
echo "Factura N.: " . $numcomp;
echo "<BR>";



} else {


fwrite($handle,"    Nombre: ____________________________" );
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle,"    Cedula: ____________________________" );
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle,"    Telefono: __________________________" );
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle,"    Factura N.: ________________________" );
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea


echo "Nombre: _____________" ;
echo "<BR>";
echo "Cedula:________________ " ;
echo "<BR>";
echo "Telefono:___________ " ;
echo "<BR>";
echo "Factura N.:  _____________" ;
echo "<BR>";


}  //CIERRA QUE CLIENTE  ES GENERICO

$acciones = $acciones - 1 ;   // contador de acciones 

fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(29). chr(86). chr(49));//Corta el Papel

}  //////  CIERRA QUE TIENE CUPONES PROMOCIONALES 

}

}//**********************************  Cierra tipo de impresora TERMICA ****************************************//

	
if ($tipimp=="BEMANTECH"){  //  ************************Si la impresora es TIPO BEMANTECH ****************************///////////////

$consulta3 = "SELECT factulinea.*,web_1001.* FROM factulinea,web_1001 WHERE factulinea.codfactura='$codfactura' AND factulinea.codigo=web_1001.cdgbar ORDER BY factulinea.numlinea ASC";


if ($resultado3 = $mysqli->query($consulta3)) 
$contador=0;

		 while ($fila = $resultado3->fetch_assoc()) {

        $numlinea  = $fila["numlinea"];
        $cdgbar    = $fila["codigo"];
        $dscart    = $fila["dscart"];
		$cantidad  = $fila["cantidad"];
		$preivi    = $fila["preivi"];
		$prenivi   = $fila["prenivi"];
		$importe   = $fila["importe"];
		$impuesto  = $fila["impuesto"];
		$descuento = $fila["mondes"];
		$artpro    = $fila["artpro"] * $cantidad ;	
		
		$promocionales = $artpro + $promocionales ;
		
		
					
						$subtotal=$subtotal + $importe;
						$impuesto_venta=$impuesto_venta + $impuesto;
						$total_descuento=$total_descuento + $descuento;
					    $total=$subtotal-$total_descuento+$impuesto_venta;
						$cantidad=number_format($cantidad,2,'.',',');
						$total=round($total);
						$total_promocional=$total;
						
						
					if ($impuesto > 0 ) { $impart="G"; } else { $impart="E"; }
   $sublin=$importe;
// formula inserta espacion ///

						
				 } 
 
//////////////////////////////////     imprime cupon de rifa si lo requiere   ////////////////////////////////////////


 if ($monto_promocional>0){$acciones = $total_promocional / $monto_promocional;  } else {$acciones=1;}
 

 
 if ($promocionales >= $productos_promocionales  &&  $total_promocional  >= $monto_promocional ) {
 

 
		if (($acciones > $limite_acciones) && ($monto_promocional >0 ) ){
		
		
			if ($limite_acciones > 0){
			
			$acciones  = $limite_acciones; 
			}
			/*
			else {
			
			$acciones=1;
			}
		*/
		
		}
		else {$acciones=1;}

 
//if ($monto_promocional==0){$acciones=1;}

$acciones = intval($acciones);


echo "Acciones  ". $acciones ."total ".  $total_promocional . " Nombre Promocion ". $nombre_promocional ;

 
while( $acciones > 0) {



fwrite($handle,  chr(27). chr(100). chr(0));//salto de linea VACIO
fwrite($handle,  chr(27). chr(100). chr(0));//salto de linea VACIO
fwrite($handle, chr(27). chr(100). chr(0));//salto de linea
fwrite($handle, chr(27). chr(32). chr(1));//ESTACIO ENTRE 
fwrite($handle, chr(27). chr(97). chr(1));//centrado
fwrite($handle, chr(27). chr(33). chr(22));//ESTACIO ENTRE LETRAS

fwrite($handle, $nomcom);
fwrite($handle, chr(27). chr(32). chr(0));//ESTACIO ENTRE LETRAS
fwrite($handle, chr(27). chr(3). chr(17));//salto de linea VACIO
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(33). chr(9));//Tamaño letra 10 
fwrite($handle, $nombre_promocional);
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(97). chr(1));//centrado
fwrite($handle,"----------------------------------------");
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(97). chr(0));//izquierda

if($cdgcli <> "9999") {

fwrite($handle,"Nombre: " . $cdgcli ."-".$dsccli);
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle,"Cedula: " . $cedcli);
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle,"Telefono: " . $numtel);
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle,"Factura N.: " . $numcomp);
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea



echo "Nombre: " . $cdgcli ."-".$dsccli;
echo "<BR>";
echo "Cedula: " . $cedcli;
echo "<BR>";
echo "Telefono: " . $numtel;
echo "<BR>";
echo "Factura N.: " . $numcomp;
echo "<BR>";



} else {


fwrite($handle,"Nombre: ____________________________" );
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle,"Cedula: ____________________________" );
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle,"Telefono: __________________________" );
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle,"Factura N.: ________________________" );
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea


echo "Nombre: _____________" ;
echo "<BR>";
echo "Cedula:________________ " ;
echo "<BR>";
echo "Telefono:___________ " ;
echo "<BR>";
echo "Factura N.:  _____________" ;
echo "<BR>";


}  //CIERRA QUE CLIENTE  ES GENERICO

$acciones = $acciones - 1 ;   // contador de acciones 

fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(109). chr(0));//salto de linea
fwrite($handle, chr(29). chr(27). chr(105));//Corta el Papel

}  //////  CIERRA QUE TIENE CUPONES PROMOCIONALES 

}

}//**********************************  Cierra tipo de impresora BEMANTECH ****************************************//	
		 
fclose($handle); // cierra el fichero PRN
$salida = shell_exec('lpr $puerto'); //lpr->puerto impresora, imprimir archivo PRN
echo "<script languaje='javascript' type='text/javascript'>window.close();</script>";


} // CIERRA PROMOCION VIGENTE

else {

echo "<script languaje='javascript' type='text/javascript'>window.close();</script>";
}




?>

 