

<head>
	<meta charset="utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="google" content="notranslate">
	<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
	<meta name="description" content="">
	
	
	<meta http-equiv="Expires" content="0">
  	<meta http-equiv="Last-Modified" content="0">
  	<meta http-equiv="Cache-Control" content="no-cache, mustrevalidate">
  	<meta http-equiv="Pragma" content="no-cache">



	<link rel="stylesheet" type="text/css" href="../public/css/bootstrap.min.css">
	<link rel="stylesheet" type="text/css" href="../public/css/estilos.css">
	<link rel="stylesheet" type="text/css" href="../public/css/estilosescritorio.css">
	<!-- <link rel="stylesheet" type="text/css" href="../public/css/jquery.modal.css"> -->
	<link rel="icon" href="../public/img/favicon.ico" type="image/x-icon">
	<link href="../public/css/app.css" rel="stylesheet">

	<title>PosCloud</title>

</head>

	<?php
	date_default_timezone_set("America/Bogota");
		//cuando se realice un cambio el los archivos js, cambiar el numero, para que refresque cache
		$mo=120;
		$ActulizarBasede=3;
		
	?>
<?php
require("../controlador/config/marcacategori.php");
?>
<?php

require("../controlador/config/validarTraslado.php");	
 
$validarT=new trasladosCOn();
$MnsajeTrasla=$validarT->validarTraslado();

?>

<?php include("facturacion/temperatura.php"); ?>
<?php include("facturacion/modalcotizacion.php"); ?> 



<?php
$tipoIvaa=$_SESSION["tipoIva"];
$formatoImpresionn=$_SESSION["formatoImpresion"];
$nitEmpresa=$_SESSION["nitEm"];
$usuarioA=$_SESSION["usuario"];
$costopromedio=$_SESSION["costoPromedio"];
$ParticiObligatorio=$_SESSION["ParticiObligatorio"];
$multibodega=$_SESSION["multibodega"];
	$bodegaUser=$_SESSION["bodegaUser"];
	$agregarmasdeunprodu=$_SESSION["masdeunproducto"];
	$mesass=$_SESSION["mesas"];
	$naularFactur=$_SESSION["anularfactu"];
	$controlInventario=$_SESSION["vercontolInventario"];
	$vertipoducto=$_SESSION["tipoproductos"];

	$solobarrar=$_SESSION["solobarra"];
	$tipoMenus=$_SESSION["tipoMenu"];
	$ValorUvt=$_SESSION["ValorUvt"];
	$empresa= $_SESSION["codigoEmpresa"];

//cuadre de caja
$cuadreCaja=$_SESSION["cuadreCaja"];//false
$tipoUser= $_SESSION["tipo"];
$activarTurnos=$_SESSION["activarTurnos"];
//cuadre de caja

//activar Cocinas
$cocinas=$_SESSION["activarCocina"];
//

$ActivarFacturacionElectronic=$_SESSION["ActivarFacturacionElectronica"];
$ActivarPosElectronico=$_SESSION["activarPosElectronico"];

$vencimientoElectronico=$_SESSION["venciemElectro"];
$vencimientoPosElectronico= $_SESSION["vencimientoPosElectronio"];


$mostrarvalorVenta=$_SESSION["valorMostrarVentan"];
$unasolaListaPrecio=$_SESSION["UnaSolaListaPrecio"];
$ActivarTemperatura=$_SESSION["ActivarTemperaturas"];

$facturarDebajoCosto=$_SESSION["facturarDebajoCosto"];
$calculoFianciero=$_SESSION["calculoFianciero"];

$modificarPrecioVenta=$_SESSION["modificarPrecioVenta"];
$TipoNecocio=$_SESSION["TipoNecocio"];
$calcuPrecioUltimoCosto=$_SESSION["calcuPrecioUltimoCosto"];

$permitirSalidad=$_SESSION["permitirSalidad"];
$EditarProductos=$_SESSION["EditarProductos"];
$ActivarPermiSaliEditarprod=$_SESSION["ActivarPermiSaliEditarprod"];

$BaseRetenCompraa=$_SESSION["BaseRetenCompra"];
$BaeseReteVentaa=$_SESSION["BaeseReteVenta"];
$BaseReteSercioDeclaraa=$_SESSION["BaseReteSercioDeclara"];
$BaseReteSercioNoDeclaraa=$_SESSION["BaseReteSercioNoDeclara"];
$VerInfoCaja=$_SESSION["VerInfoCaja"];
$TipoEmpresa=$_SESSION["TipoEmpresa"];
$caudreDetallado=$_SESSION["cuadreDetallado"];
$inventarioLinea=$_SESSION["inventarioLinea"];
$editarCostos=$_SESSION["editarCostos"];
$vercostosPro=$_SESSION["vercostosPro"];

//lista de precios 
		//oculto
		$Activo=$_SESSION["listaPrecios"];
		

		//visible

	//	$Activo="";
		
//lista de precios //



// acta de recepcion

	$actaRecep=$_SESSION["actaRecep"];//oculta
	//	$actaRecep="";//visible

// acta de recepcion

// 

$desativar="";

// permitir modifiacaion de precios libre al facturar
if($modificarPrecioVenta==1)
{

	$peAbiertp="si";

}else{

	$peAbiertp="no";
	
}





//permitir facturar por debado del costo
$PermitirAgregarDebajoCosoto="";
if ($facturarDebajoCosto==1 )
   {
   $PermitirAgregarDebajoCosoto="ok";
  }
  
/////calculo de precio finacientro/////////////

$calculoFinanciero="";
if ($calculoFianciero==1 ) {
   $calculoFinanciero="ok";
}




	//ver total ventas

		//$verVentas="hidden";// desativar
		$verVentas=$_SESSION["verventas"];// activado

//ver total ventas




//variables generales de configuracion.


$acortarCodigo=false;

/// acortar codigos para carnicerias
	if($nitEmpresa=="123456" 
	||$nitEmpresa=="18418653" 
	||$nitEmpresa=="1112967200"
	|| $nitEmpresa=="10091567"
	|| $nitEmpresa=="51850563"
	|| $nitEmpresa=="9737166"
	|| $nitEmpresa=="1057782922"
    || $nitEmpresa=="14323035"
	|| $nitEmpresa=="1038101823"
	|| $nitEmpresa=="1087998377"
	|| $nitEmpresa=="6119415"
	|| $nitEmpresa=="16896385"
	|| $nitEmpresa=="14796882"
	|| $TipoEmpresa==1
	
	)
	{
		$acortarCodigo=true;
	}
	

	//saber si esta autorizado para facturar por todas las bodegas
	
	
	// MOSTRAR TOTAL CAJA  DESCONTADO TARJETAS Y TRASFERENCIAS
	$ValorTCaja=0;
	if(trim($empresa)=='1088290103' ){
	    $ValorTCaja=1;
	}


	// if($ValorUvt==0){
	// 	$ValorUvt=100000000;
	// }


//una solo lista de precios Todas las bodegas



$decimales= $_SESSION["decimales"];

// DIFERENCIAS EN LISTAS DE PRECIO COMO DESCUENTO

$restarlsitas=0;
	if($nitEmpresa=='12345' || $nitEmpresa=="1085247133" || $nitEmpresa=="10045797291" ){
	    $restarlsitas=1;
	}



///aplicar descuento general  cuando la factura supera el valor que esta en los uvt (ahora es el valor que indica desde que valor de debe de aplicar el descuento)
	$porcentajeDescuento = 0;

	if ($nitEmpresa=='1085245437' || $nitEmpresa=='30711324' || $nitEmpresa=="12749481" ) {
		   $porcentajeDescuento = 12;
	}else if($nitEmpresa=='123555'){
		$porcentajeDescuento = 0;
	}else{
		$porcentajeDescuento = 0;
	}


//



// permitir policita en cleinte en formulario de creacion
$politicaCliente=0;
if($nitEmpresa=="901425293"){
	$politicaCliente=1;	
}


//inventir  politica cliente como utilidad del producto
$inventirPolicacliente=0;
if($nitEmpresa=="901425293"){
	$inventirPolicacliente=1;
}

//

?>

<script>
var agradadoAutomatico=true;
const $cuadreCaja="<?php echo($cuadreCaja);?>";
const $TipoUser="<?php echo($tipoUser);?>";
 const regimen="<?php echo($tipoIvaa);?>";
 const tipoimprision = "<?php echo($formatoImpresionn);?>";
 const bodegaUser= "<?php echo($bodegaUser);?>";
 const multibodega= "<?php echo($multibodega);?>";
 const usuarioA= "<?php echo($usuarioA);?>";
 const masdeunproducto= "<?php echo($agregarmasdeunprodu);?>";

 const solobarrar="<?php echo($solobarrar);?>";
 const tipoMenus="<?php echo($tipoMenus);?>";
 const anularfact="<?php echo($naularFactur);?>";
 const userPeabierto="<?php echo($peAbiertp);?>";
 const PermitirAgregarDebajoCosoto="<?php echo($PermitirAgregarDebajoCosoto);?>";
const calculoFinanciero="<?php echo($calculoFinanciero);?>";
const DescuentoGeneralDespuesDe="<?php echo($ValorUvt);?>";
const mostrarvalorVenta="<?php echo($mostrarvalorVenta);?>";
const empresa="<?php echo($empresa);?>";

const verVentas="<?php echo($verVentas);?>";
const ValorTCaja="<?php echo($ValorTCaja);?>";
const unasolaListaPrecio="<?php echo($unasolaListaPrecio);?>";
var  cambiarcantidadMesas=0;
const activarTurnos="<?php echo($activarTurnos);?>";
const ActivarFacturaElectronica="<?php echo($ActivarFacturacionElectronic);?>";

var buscarMesasVendedor=0; 


const nitEmpresa="<?php echo($nitEmpresa);?>";
const listaPrecio="<?php echo($Activo);?>";
const vencimientoElectronico="<?php echo($vencimientoElectronico);?>";


const acortarCodigo="<?php echo($acortarCodigo);?>";
const decimales="<?php echo($decimales);?>";
const restarlsitas="<?php echo($restarlsitas);?>";
const ActivarTemperatura="<?php echo($ActivarTemperatura);?>";
const TipoNecocio="<?php echo($TipoNecocio);?>";
const modificarPrecioVenta="<?php echo($modificarPrecioVenta);?>";
const inventirPolicacliente="<?php echo($inventirPolicacliente);?>";
const calcuPrecioUltimoCosto="<?php echo($calcuPrecioUltimoCosto);?>";

const vencimientoPosElectronico="<?php echo($vencimientoPosElectronico);?>";
const ActivarPosElectronico="<?php echo($ActivarPosElectronico);?>";
const costopromedio="<?php echo($costopromedio);?>";

const ParticiObligatorio="<?php echo($ParticiObligatorio);?>";

const permitirSalidad="<?php echo($permitirSalidad);?>";
const EditarProductos="<?php echo($EditarProductos);?>";
const ActivarPermiSaliEditarprod="<?php echo($ActivarPermiSaliEditarprod);?>";



const  BaseRetenCompraa="<?php echo($BaseRetenCompraa);?>";
const  BaeseReteVentaa="<?php echo($BaeseReteVentaa);?>";
const  BaseReteSercioDeclaraa="<?php echo($BaseReteSercioDeclaraa);?>";
const  BaseReteSercioNoDeclaraa="<?php echo($BaseReteSercioNoDeclaraa);?>";
const TipoEmpresa="<?php echo($TipoEmpresa);?>";
const caudreDetallado="<?php echo($caudreDetallado);?>"; 
const inventarioLinea="<?php echo($inventarioLinea);?>";
let  porcentajeDescuento = "<?php echo($porcentajeDescuento);?>";
const  ActulizarBasede = "<?php echo($ActulizarBasede);?>";

const editarCostos="<?php echo($editarCostos);?>";
const vercostosPro="<?php echo($vercostosPro);?>";





 document.addEventListener("DOMContentLoaded", function(){

	let solicitudEnCurso = false; // Variable para indicar si la solicitud está en curso
    const intervalo = 4 * 60 * 1000; // 5 minutos en milisegundos

    function enviarSolicitudAJAX() {
        if (!solicitudEnCurso) {
            solicitudEnCurso = true; // Marcar la solicitud como en curso

            fetch("../controlador/config/session.php")
                .then(response => response.text()).then(res=>{
					if(res=="false" || res==false){
						window.location.reload();
					}
				})
                .catch(error => {
                    // Manejar errores si la solicitud falla
                    console.error("Error en la SESION:", error);
                })
                .finally(() => {
                    solicitudEnCurso = false; // Marcar la solicitud como completada
                });
        } else {
            console.log("La solicitud DE SESION está en curso, no se envía otra solicitud.");
        }
    }

    setInterval(enviarSolicitudAJAX, intervalo);

// if(ActivarFacturaElectronica==1){
// 	const milisegundosEle = 3 * 60 * 1000; // 3 minutos en milisegundos

// 	setInterval(function(){
//         // No esperamos la respuesta de la petición porque no nos importa
//         fetch("../controlador/config/electronica.php").then(res=>res.text()).then(r=>{
			
// 			console.log(r)
// 		}
// 		)
		
		
//     },milisegundosEle);
// }

if (ActivarFacturaElectronica == 1 || ActivarPosElectronico==1) {
	const milisegundosEle = 4 * 60 * 1000; // 4 minutos en milisegundos

    setInterval(function() {
        if (!solicitudEnCurso) {
            solicitudEnCurso = true; // Marcar la solicitud como en curso

            fetch("../controlador/config/electronica.php")
                .then(res => res.text())
                .then(r => {
                    console.log(r);
                })
                .catch(error => {
                    console.error("Error en la solicitud DE ENVIO DOCUEMNTO ELECTRONICO:", error);
                })
                .finally(() => {
                    solicitudEnCurso = false; // Marcar la solicitud como completada
                });
        } else {
            console.log("La solicitud AJAX está en curso, no se envía otra solicitud.");
        }
    }, milisegundosEle);
}










});


function impriBarcode(codigo, nombre, precio,usuario="null") {
   
   // Limitar el nombre a las primeras 15 letras y eliminar espacios
   let nombreCorto = nombre.trim().length > 25 ? nombre.trim().substring(0, 25) + '...' : nombre.trim();
 
   // Asegurarse de que el precio no tenga espacios
   let precioFormateado = precio.toString().trim();

   // Solicitar el número total de copias
   let totalCopias = parseInt(prompt("¿Cuántas copias deseas imprimir?", "1"), 10);
   totalCopias = isNaN(totalCopias) || totalCopias < 1 ? 1 : totalCopias; // Asegurarse de que sea un número válido

   // Solicitar cuántas copias por fila (máximo 12)
   let copiasPorFila = parseInt(prompt("¿Cuántas copias deseas en cada fila? (máx. 12)", "1"), 10);
   copiasPorFila = isNaN(copiasPorFila) || copiasPorFila < 1 ? 1 : (copiasPorFila > 12 ? 12 : copiasPorFila); // Asegurarse de que sea un número válido y no supere 12


	 ruta='facturacion/imprimirbarcode.php';



		$.ajax({
			data: {
				'codigo': codigo,
				'nombre': nombreCorto,
				"precio":precioFormateado,
				"totalCopias":totalCopias,
				"copiasPorFila":copiasPorFila,
				"usuario":usuario
					   
				
			

			},
			url: ruta,
			type: "post",

			success: function(response) {

				let ventana = window.open("facturacion/impresiongeneral.php","ventana1","width=1000,height=1000");
				ventana.document.write(response);
			   
				
			}

		});

		//////////////////////////////////////


 




}




</script>

<body>
 
