0 ) { $tituloPagina=$status_values['products_name']; } else { $tituloPagina='Etiquetas'; } if ($_POST['cantidadGr']<>0 or $_POST['cantidadGrUrg']<>0) { /* Busco el c?digo de producto para Grande*/ /* $texto_query = "select id_product products_id " . "from ps_product_lang ". "where name like '".$nombrePr."%' ". "and name like '%GRANDE%' "; $status_query = tep_db_query($texto_query); if (tep_db_num_rows($status_query)>0) { $status_values = tep_db_fetch_array($status_query); $prGR = $status_values['products_id']; } else { $grabaReg = false; } */ $texto_query = "select id_product products_id from ps_product_lang where name like '".$nombrePr."%' and name like '%GRANDE%' "; // 1. Ejecutar la consulta $status_query = tep_db_query($texto_query); // 2. ? VERIFICACI?N CR?TICA: Asegurarse de que la consulta fue exitosa if ($status_query !== false && $status_query !== null) { // Si la consulta fue exitosa, podemos contar las filas sin error. if (tep_db_num_rows($status_query) > 0) { $status_values = tep_db_fetch_array($status_query); $prGR = $status_values['products_id']; } else { // No se encontraron resultados $grabaReg = false; } } else { // La consulta SQL fall? (causa del Warning en error_log) $grabaReg = false; // Opcional y Recomendado: Registrar el error real de MySQL para depuraci?n // La forma de obtener el error depende de c?mo tep_db_query maneja la conexi?n. // Si tu antigua funci?n ten?a una forma de obtener el error (ej: tep_db_error()): error_log("Fallo de SQL en ps_product_lang. Error: " . tep_db_error()); // Si est?s usando mysqli directamente, usa: error_log("Fallo de SQL. Consulta: " . $texto_query); } } if ($_POST['cantidadFam']<>0 or $_POST['cantidadFamUrg']<>0) { /* Busco el c?digo de producto para Grande*/ /* $texto_query = "select id_product products_id " . "from ps_product_lang ". "where name like '".$nombrePr."%' ". "and name like '%FAMILIAR%' "; //echo $texto_query; $status_query = tep_db_query($texto_query); if (tep_db_num_rows($status_query)>0) { $status_values = tep_db_fetch_array($status_query); $prFAM = $status_values['products_id']; } else { $grabaReg = false; } */ $texto_query = "select id_product products_id " . "from ps_product_lang ". "where name like '".$nombrePr."%' ". "and name like '%FAMILIAR%' "; // Ejecutar la consulta $status_query = tep_db_query($texto_query); // ? VERIFICACI?N CR?TICA: Comprobar que la consulta se ejecut? sin errores // Si $status_query es FALSE o NULL, la consulta fall?. if ($status_query !== false && $status_query !== null) { // La consulta fue exitosa. Ahora podemos contar las filas. if (tep_db_num_rows($status_query) > 0) { $status_values = tep_db_fetch_array($status_query); $prFAM = $status_values['products_id']; } else { // No se encontraron resultados $grabaReg = false; } } else { // La consulta fall? (error de sintaxis SQL, tabla no existe, etc.). $grabaReg = false; // RECOMENDADO: Registrar el error real de MySQL en el log error_log("Fallo de SQL buscando producto FAMILIAR. Consulta: " . $texto_query); } } if (strlen($_GET['products_id'])>0 and $_GET['borrar']) { /* $_POST['codProducto']=$_GET['products_id']; $_POST['fecha']=$_GET['fecha']; $_POST['idEmpleado']=$_GET['idEmpleado']; */ $texto_query = "select s.cantidad " . "from ps_stock_web s join ps_osc_products_fabricado pf on (s.products_id=pf.products_id and s.fechaLote=pf.fecha) ". "where s.products_id =".$_GET['products_id']." ". "and s.fechaLote='".$_GET['fechaLote']."'"; $status_query = tep_db_query($texto_query); if (tep_db_num_rows($status_query)>0) { tep_db_query("update ps_stock_web set cantidad=cantidad-".$_GET['cantidad']." where products_id=".$_GET['products_id']." and fechaLote='".$_GET['fechaLote']."'"); //Lo voy a dejar para que se quede el rastro en esta tabla tep_db_query("delete from ps_osc_products_fabricado where id='".$_GET['id']."' LIMIT 1"); tep_db_query("update ps_stock_web_foto set cantidad=cantidad-".$_GET['cantidad']." where fechaFoto = curdate() and products_id=".$_GET['products_id']." and fechaLote='".$_GET['fechaLote']."'"); tep_db_query("update ps_stock_available sa join (select products_id,sum(cantidad) cantidad from ps_stock_web_foto where fechaFoto=curdate() group by products_id) as sw on (sa.id_product=sw.products_id) set sa.quantity = sw.cantidad-".$_GET['cantidad']."-".productosVendidos($_GET['products_id'])." where sa.id_product=".$_GET['products_id']); } echo "Registro Borrado

"; }elseif (strlen($_POST['tupperAnadido'])==12) { tep_db_query("insert into ps_stock_web(products_id,fechaLote,cantidad) values('".$_POST['codProducto']."','".$fechaLote."',1) ". "on duplicate key update cantidad=cantidad+1"); tep_db_query("insert into ps_osc_products_fabricado(products_id,fecha,cantidad,quien,observaciones) values('".$_POST['codProducto']."','".$fechaLote."','1','19','".$_POST['observaciones']."')"); echo 'TUPPER AGREGADO: '.$nombrePr.' con Fecha de Lote: '.$fechaLote; }elseif ($_POST['idEmpleado']<>0) { if ($grabaReg) { //si existen versiones en grande y familiar para lo tecleado grabamos, sin? mostramos error if ($_POST['cantidad']<>0) { /* tep_db_query("insert into ps_stock_web(products_id,fechaLote,cantidad) values('".$_POST['codProducto']."','".$_POST['fecha']."',".$_POST['cantidad'].") ". "on duplicate key update cantidad=cantidad+".$_POST['cantidad']); tep_db_query("insert into ps_osc_products_fabricado(products_id,fecha,cantidad,quien,observaciones) values('".$_POST['codProducto']."','".$_POST['fecha']."','".$_POST['cantidad']."','".$_POST['idEmpleado']."','".$_POST['observaciones']."')"); //Se modifica tambi?n ps_stock_web_foto porque esta tabla refleja lo que hay en el stock sin tener en cuenta lo descontado desde el programa de pick to light tep_db_query("insert into ps_stock_web_foto(fechaFoto,products_id,fechaLote,cantidad) values(curdate(),'".$_POST['codProducto']."','".$_POST['fecha']."',".$_POST['cantidad'].") ". "on duplicate key update cantidad=cantidad+".$_POST['cantidad']); //cojo lo que hab?a en la foto del stock, le sumo lo fabricado hoy y le resto las ventas desde ma?ana tep_db_query("update ps_stock_available sa join (select products_id,sum(cantidad) cantidad from ps_stock_web_foto where fechaFoto=curdate() group by products_id) as sw on (sa.id_product=sw.products_id) set sa.quantity = sw.cantidad+".$_POST['cantidad']."-".productosVendidos($_POST['codProducto'])." where sa.id_product=".$_POST['codProducto']); */ // 1. Iniciar la conexi?n a la base de datos $conn = new mysqli(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD, DB_DATABASE); // Verificar la conexi?n if ($conn->connect_error) { die("? Error de conexi?n a la base de datos: " . $conn->connect_error); } // ---------------------------------------------------------------------- $error = false; // Variable para rastrear si ocurri? un error // **Nota:** Se asume que la funci?n productosVendidos($_POST['codProducto']) existe y devuelve un valor num?rico. // ?Esta funci?n debe ser adaptada para usar la conexi?n $conn y ser segura, incluso en este c?digo! // Para este ejemplo, la llamamos aqu?: $productos_vendidos = productosVendidos($_POST['codProducto']); // --- INICIO DE LA TRANSACCI?N --- // Desactivar el autocommit e iniciar la transacci?n if (!$conn->begin_transaction()) { $error = true; } // 1? Operaci?n: Actualizaci?n/Inserci?n de stock en ps_stock_web // NOTA: Concatenaci?n directa de $_POST (INSEGURO) $query1 = " INSERT INTO ps_stock_web(products_id, fechaLote, cantidad) VALUES ('".$_POST['codProducto']."', '".$_POST['fecha']."', ".$_POST['cantidad'].") ON DUPLICATE KEY UPDATE cantidad = cantidad + ".$_POST['cantidad'] ; if (!$error && !$conn->query($query1)) { $error = true; } // 2? Operaci?n: Registro de la fabricaci?n en ps_osc_products_fabricado // NOTA: Concatenaci?n directa de $_POST (INSEGURO) $query2 = " INSERT INTO ps_osc_products_fabricado(products_id, fecha, cantidad, quien, observaciones) VALUES ('".$_POST['codProducto']."', '".$_POST['fecha']."', '".$_POST['cantidad']."', '".$_POST['idEmpleado']."', '".$_POST['observaciones']."') "; if (!$error && !$conn->query($query2)) { $error = true; } // 3? Operaci?n: Actualizaci?n/Inserci?n de la 'foto' de stock en ps_stock_web_foto // NOTA: Concatenaci?n directa de $_POST (INSEGURO) $query3 = " INSERT INTO ps_stock_web_foto(fechaFoto, products_id, fechaLote, cantidad) VALUES (CURDATE(), '".$_POST['codProducto']."', '".$_POST['fecha']."', ".$_POST['cantidad'].") ON DUPLICATE KEY UPDATE cantidad = cantidad + ".$_POST['cantidad'] ; if (!$error && !$conn->query($query3)) { $error = true; } // 4? Operaci?n: Actualizaci?n del stock disponible en ps_stock_available // NOTA: Concatenaci?n directa de $_POST y resultado de la funci?n (INSEGURO) $query4 = " UPDATE ps_stock_available sa JOIN ( SELECT products_id, SUM(cantidad) cantidad FROM ps_stock_web_foto WHERE fechaFoto = CURDATE() GROUP BY products_id ) AS sw ON (sa.id_product = sw.products_id) SET sa.quantity = sw.cantidad + ".$_POST['cantidad']." - ".$productos_vendidos." WHERE sa.id_product = ".$_POST['codProducto'] ; if (!$error && !$conn->query($query4)) { $error = true; } // --- CIERRE DE LA TRANSACCI?N --- if ($error) { // Si $error es true, revertir todos los cambios realizados $conn->rollback(); // Mostrar el aviso echo "? **?ERROR!** Algo ha ido mal. La operaci?n no se ha realizado. Todos los cambios han sido revertidos. Detalles del error: " . $conn->error; // Opcional: registrar el error detallado para la depuraci?n error_log("Error en la transacci?n de fabricaci?n para producto: ".$_POST['codProducto']); } else { // Si $error es false, confirmar todos los cambios de forma permanente $conn->commit(); } // Cerrar la conexi?n $conn->close(); } if ($_POST['cantidadGr']<>0) { /* tep_db_query("insert into ps_stock_web(products_id,fechaLote,cantidad) values('".$prGR."','".$_POST['fecha']."',".$_POST['cantidadGr'].") ". "on duplicate key update cantidad=cantidad+".$_POST['cantidadGr']); tep_db_query("insert into ps_osc_products_fabricado(products_id,fecha,cantidad,quien,observaciones) values('".$prGR."','".$_POST['fecha']."','".$_POST['cantidadGr']."','".$_POST['idEmpleado']."','".$_POST['observaciones']."')"); //Se modifica tambi?n ps_stock_web_foto porque esta tabla refleja lo que hay en el stock sin tener en cuenta lo descontado desde el programa de pick to light tep_db_query("insert into ps_stock_web_foto(fechaFoto,products_id,fechaLote,cantidad) values(curdate(),'".$prGR."','".$_POST['fecha']."',".$_POST['cantidadGr'].") ". "on duplicate key update cantidad=cantidad+".$_POST['cantidadGr']); //cojo lo que hab?a en la foto del stock, le sumo lo fabricado hoy y le resto las ventas desde ma?ana tep_db_query("update ps_stock_available sa join (select products_id,sum(cantidad) cantidad from ps_stock_web_foto where fechaFoto=curdate() group by products_id) as sw on (sa.id_product=sw.products_id) set sa.quantity = sw.cantidad+".$_POST['cantidadGr']."-".productosVendidos($prGR)." where sa.id_product=".$prGR); */ // 1. Iniciar la conexi?n a la base de datos // Se utiliza el modo orientado a objetos (new mysqli) $conn = new mysqli(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD, DB_DATABASE); // Verificar la conexi?n if ($conn->connect_error) { die("? Error de conexi?n a la base de datos: " . $conn->connect_error); } // ---------------------------------------------------------------------- $error = false; // Variable para rastrear si ocurri? un error // **Nota:** Se asume que la funci?n productosVendidos($prGR) existe y devuelve un valor num?rico. // Esta funci?n tambi?n debe ser adaptada para ser segura. $productos_vendidos = productosVendidos($prGR); // --- INICIO DE LA TRANSACCI?N --- // 2. Desactivar el autocommit e iniciar la transacci?n if (!$conn->begin_transaction()) { $error = true; } // 1? Operaci?n: Actualizaci?n/Inserci?n de stock en ps_stock_web // NOTA: Concatenaci?n directa de variables (INSEGURO) $query1 = " INSERT INTO ps_stock_web(products_id, fechaLote, cantidad) VALUES ('".$prGR."', '".$_POST['fecha']."', ".$_POST['cantidadGr'].") ON DUPLICATE KEY UPDATE cantidad = cantidad + ".$_POST['cantidadGr'] ; if (!$error && !$conn->query($query1)) { $error = true; } // 2? Operaci?n: Registro de la fabricaci?n en ps_osc_products_fabricado // NOTA: Concatenaci?n directa de variables (INSEGURO) $query2 = " INSERT INTO ps_osc_products_fabricado(products_id, fecha, cantidad, quien, observaciones) VALUES ('".$prGR."', '".$_POST['fecha']."', '".$_POST['cantidadGr']."', '".$_POST['idEmpleado']."', '".$_POST['observaciones']."') "; if (!$error && !$conn->query($query2)) { $error = true; } // 3? Operaci?n: Actualizaci?n/Inserci?n de la 'foto' de stock en ps_stock_web_foto // NOTA: Concatenaci?n directa de variables (INSEGURO) $query3 = " INSERT INTO ps_stock_web_foto(fechaFoto, products_id, fechaLote, cantidad) VALUES (CURDATE(), '".$prGR."', '".$_POST['fecha']."', ".$_POST['cantidadGr'].") ON DUPLICATE KEY UPDATE cantidad = cantidad + ".$_POST['cantidadGr'] ; if (!$error && !$conn->query($query3)) { $error = true; } // 4? Operaci?n: Actualizaci?n del stock disponible en ps_stock_available // NOTA: Concatenaci?n directa de variables (INSEGURO) $query4 = " UPDATE ps_stock_available sa JOIN ( SELECT products_id, SUM(cantidad) cantidad FROM ps_stock_web_foto WHERE fechaFoto = CURDATE() GROUP BY products_id ) AS sw ON (sa.id_product = sw.products_id) SET sa.quantity = sw.cantidad + ".$_POST['cantidadGr']." - ".$productos_vendidos." WHERE sa.id_product = ".$prGR ; if (!$error && !$conn->query($query4)) { $error = true; } // --- CIERRE DE LA TRANSACCI?N --- if ($error) { // Si $error es true, revertir todos los cambios realizados $conn->rollback(); // Mostrar el aviso y el error espec?fico de MySQL echo "? **?ERROR!** Algo ha ido mal. La operaci?n no se ha realizado. Todos los cambios han sido revertidos. Detalles del error: " . $conn->error; // Opcional: registrar el error detallado para la depuraci?n error_log("Error en la transacción de fabricación para producto: ".$prGR); } else { // Si $error es false, confirmar todos los cambios de forma permanente $conn->commit(); } // Cerrar la conexi?n $conn->close(); } if ($_POST['cantidadFam']<>0) { /* tep_db_query("insert into ps_stock_web(products_id,fechaLote,cantidad) values('".$prFAM."','".$_POST['fecha']."',".$_POST['cantidadFam'].") ". "on duplicate key update cantidad=cantidad+".$_POST['cantidadFam']); tep_db_query("insert into ps_osc_products_fabricado(products_id,fecha,cantidad,quien,observaciones) values('".$prFAM."','".$_POST['fecha']."','".$_POST['cantidadFam']."','".$_POST['idEmpleado']."','".$_POST['observaciones']."')"); //Se modifica tambi?n ps_stock_web_foto porque esta tabla refleja lo que hay en el stock sin tener en cuenta lo descontado desde el programa de pick to light tep_db_query("insert into ps_stock_web_foto(fechaFoto,products_id,fechaLote,cantidad) values(curdate(),'".$prFAM."','".$_POST['fecha']."',".$_POST['cantidadFam'].") ". "on duplicate key update cantidad=cantidad+".$_POST['cantidadFam']); //cojo lo que hab?a en la foto del stock, le sumo lo fabricado hoy y le resto las ventas desde ma?ana tep_db_query("update ps_stock_available sa join (select products_id,sum(cantidad) cantidad from ps_stock_web_foto where fechaFoto=curdate() group by products_id) as sw on (sa.id_product=sw.products_id) set sa.quantity = sw.cantidad+".$_POST['cantidadFam']."-".productosVendidos($prFAM)." where sa.id_product=".$prFAM); */ // 1. Iniciar la conexi?n a la base de datos // Se utiliza el modo orientado a objetos (new mysqli) $conn = new mysqli(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD, DB_DATABASE); // Verificar la conexi?n if ($conn->connect_error) { die("? Error de conexi?n a la base de datos: " . $conn->connect_error); } // ---------------------------------------------------------------------- $error = false; // Variable para rastrear si ocurri? un error // **Nota:** Se asume que la funci?n productosVendidos($prFAM) existe y devuelve un valor num?rico. $productos_vendidos = productosVendidos($prFAM); // --- INICIO DE LA TRANSACCI?N --- // 2. Desactivar el autocommit e iniciar la transacci?n if (!$conn->begin_transaction()) { $error = true; } // 1? Operaci?n: Actualizaci?n/Inserci?n de stock en ps_stock_web // NOTA: Concatenaci?n directa de variables (INSEGURO) $query1 = " INSERT INTO ps_stock_web(products_id, fechaLote, cantidad) VALUES ('".$prFAM."', '".$_POST['fecha']."', ".$_POST['cantidadFam'].") ON DUPLICATE KEY UPDATE cantidad = cantidad + ".$_POST['cantidadFam'] ; if (!$error && !$conn->query($query1)) { $error = true; } // 2? Operaci?n: Registro de la fabricaci?n en ps_osc_products_fabricado // NOTA: Concatenaci?n directa de variables (INSEGURO) $query2 = " INSERT INTO ps_osc_products_fabricado(products_id, fecha, cantidad, quien, observaciones) VALUES ('".$prFAM."', '".$_POST['fecha']."', '".$_POST['cantidadFam']."', '".$_POST['idEmpleado']."', '".$_POST['observaciones']."') "; if (!$error && !$conn->query($query2)) { $error = true; } // 3? Operaci?n: Actualizaci?n/Inserci?n de la 'foto' de stock en ps_stock_web_foto // NOTA: Concatenaci?n directa de variables (INSEGURO) $query3 = " INSERT INTO ps_stock_web_foto(fechaFoto, products_id, fechaLote, cantidad) VALUES (CURDATE(), '".$prFAM."', '".$_POST['fecha']."', ".$_POST['cantidadFam'].") ON DUPLICATE KEY UPDATE cantidad = cantidad + ".$_POST['cantidadFam'] ; if (!$error && !$conn->query($query3)) { $error = true; } // 4? Operaci?n: Actualizaci?n del stock disponible en ps_stock_available // NOTA: Concatenaci?n directa de variables (INSEGURO) $query4 = " UPDATE ps_stock_available sa JOIN ( SELECT products_id, SUM(cantidad) cantidad FROM ps_stock_web_foto WHERE fechaFoto = CURDATE() GROUP BY products_id ) AS sw ON (sa.id_product = sw.products_id) SET sa.quantity = sw.cantidad + ".$_POST['cantidadFam']." - ".$productos_vendidos." WHERE sa.id_product = ".$prFAM ; if (!$error && !$conn->query($query4)) { $error = true; } // --- CIERRE DE LA TRANSACCI?N --- if ($error) { // Si $error es true, revertir todos los cambios realizados $conn->rollback(); // Mostrar el aviso y el error espec?fico de MySQL echo "? **?ERROR!** Algo ha ido mal. La operaci?n no se ha realizado. Todos los cambios han sido revertidos. Detalles del error: " . $conn->error; // Opcional: registrar el error detallado para la depuraci?n error_log("Error en la transacci?n de fabricaci?n para producto: ".$prFAM); } else { // Si $error es false, confirmar todos los cambios de forma permanente $conn->commit(); } // Cerrar la conexi?n $conn->close(); } } else { echo 'ERROR, no se han grabado los productos .No existe en versi?n GRANDE o FAMILIAR'; } } $status_array = array(); //La categor?a 70 es la de Gourmet. Es para que no se repitan los platos /*$status_query = tep_db_query("select p.products_id,products_name from products_description pd join products p on (p.products_id=pd.products_id) join products_to_categories ptc on (ptc.products_id=p.products_id and ptc.categories_id<>'70') where (products_status=1 or products_name like '%Dukan(P%') order by products_name"); */ $status_query = tep_db_query("select pl.id_product products_id,if(name like '%eura%',concat('Heura, ',name),name) products_name from ps_product_lang pl join ps_product p on (p.id_product=pl.id_product) where p.active=1 and name not like '%GRANDE%' and name not like '%FAMILIAR%' and name not like '%*%' and name not like '%DUKAN%' and name not like '%PACK%' order by products_name"); $status_array[] = array('id' => '0', 'text' => 'Selecciona un Producto'); while ($status_values = tep_db_fetch_array($status_query)) { $status_array[] = array('id' => $status_values['products_id'], 'text' => $status_values['products_name']); } $quien_array = array(); $quien_query = tep_db_query("select idEmpleado,nombre from ps_osc_empleados where habilitado='1' order by 2"); $quien_array[] = array('id' => '0', 'text' => 'Selecciona Empleado'); while ($quien_values = tep_db_fetch_array($quien_query)) { $quien_array[] = array('id' => $quien_values['idEmpleado'], 'text' => $quien_values['nombre']); } ?> <? echo $tituloPagina; ?> 'S') { if (strlen($_POST['fecIni'])==0 or strlen($_POST['fecFin'])==0) { $_POST['fecIni'] = date('Y-m-d',strtotime('now +1 DAY')); $_POST['fecFin'] = date('Y-m-d',strtotime('now +1 DAY')); $_POST['fecha'] = date('Y-m-d'); } ?>

Etiquetas de Pedidos


* Sólo grabará en la base de datos, si está asígnado a un empleado y se ha introducido alguna cantidad

Fecha Inicial:     Fecha Final:     

Si quieres, puedes indicar números de pedido separados por coma:

Elaborado por:   Plato:  Para Fecha (yyyy-mm-dd):  

Imprimir sólo 1 etiqueta Si     No

CHICAS GRANDES FAMILIARES
URG Hechas URG Hechas URG Hechas

 

Observaciones:



Agregar este tupper al stock (picar su código de barras):


Etiquetas para el Dia:
Ver Etiquetas de HOY
Ver Etiquetas de AYER
Ver Etiquetas de HACE 2 DIAS
Ver Etiquetas de HACE 3 DIAS
Ver Etiquetas de HACE 4 DIAS
Ver Etiquetas de HACE 5 DIAS
Ver Etiquetas de HACE 6 DIAS
Ver Etiquetas de HACE 7 DIAS
Ver Etiquetas de HACE 8 DIAS

  



Fecha Producto Lote Nombre Cantidad Kgs.
Borrar->

'.$totalPlatos.' platos agregados. **IMPORTANTE** Comprobar este numero en excel de cocina'; ?>

.csv">Descargar CSV para Pick To Light

0) { $texto_query = "select 0000 orders_id,pd.id_product products_id,name products_name,ingredientes,description modoPreparacion,'' vidaUtil,DATE_ADD(NOW(), INTERVAL 1 DAY) shipdate,1 total, ". "weight products_weight,energia,proteinas,hidratos,grasas,alergenos, " . "grasasSaturadas,azucares,round(sodio*2.5,2) sodio ". "from ps_product_lang pd join ps_product p on pd.id_product= p.id_product " . "where pd.id_product=".$_POST['codProducto']; } else { $texto_query = "select op.orders_id,op.products_id,op.products_name,ingredientes,modoPreparacion,vidaUtil,shipdate,sum(op.products_quantity) total, ". "weight products_weight,energia,proteinas,hidratos,grasas,alergenos, " . "grasasSaturadas,azucares,sodio ". "from orders_products op join orders o on op.orders_id=o.orders_id ". "join products_description p on (op.products_id=p.products_id) " . "join products pp on pp.products_id = op.products_id "; if (strlen($_POST['pedidos']) > 0) { $texto_query .="where o.orders_id in (".$_POST['pedidos'].") "; } else { $texto_query .="where o.shipdate between '" . $_POST['fecIni'] . "' and '" . $_POST['fecFin'] . "' and o.orders_status<>9 "; } $texto_query .= "group by 1,2 order by 1"; } $status_query = tep_db_query($texto_query); //echo $texto_query; while ($status_values = tep_db_fetch_array($status_query)) { for ( $i = 1 ; $i <= $status_values['total'] ; $i ++) { //Averiguo si el producto actual es un men? $texto_query2 = "select menu_id,m.products_id,products_name " . "from menus_to_products m join products_description p on m.products_id = p.products_id " . "where m.products_id=".$status_values['products_id']; // $status_query2 = tep_db_query($texto_query2); if (1==0 or tep_db_num_rows($status_query2)>0) { $status_values2 = tep_db_fetch_array($status_query2); $texto_query1 = "select m.products_id,products_name,m.products_quantity total,ingredientes,modoPreparacion,vidaUtil,registroSanitario," . "weight products_weight,energia,proteinas,hidratos,grasas,alergenos, " . "grasasSaturadas,azucares,round(sodio*2.5,2) sodio ". "from menus m join products_description pd on (m.products_id=pd.products_id) ". "join products p on pd.products_id=p.products_id ". "where menu_id=".$status_values2['menu_id']; //echo $texto_query1; $status_query1 = tep_db_query($texto_query1); while ($status_values1 = tep_db_fetch_array($status_query1)) { for ( $i = 1 ; $i <= ($status_values1['total']*$status_values['total']) ; $i ++) { ?>


/> Ingredientes: Alérgenos: '; if (strlen($status_values1['alergenos'])>1) { echo stripslashes($status_values1['alergenos']); } else { echo 'ninguno'; } if (substr($status_values1['products_name'],0,1)=='*') { //para bandejas de Serunion alb?ndigas y hamburguesas ?>  (puede contener trazas de otros alérgenos) | Modo de Preparación: | Peso N: g. | Lote:   (Fecha de Caducidad:) [V.Nutric. por 100 g. Energ: kcal. Pr: g. HC: g. Gr: g. GrSat: g. Az: g. Sal: mg.] NRS: 26.020247/SE  Runucom SL C/Espaldillas ocho 27, Alcal? de Guada?ra(Sevilla)
'.substr($traza,1,12).''; ?>
958) or $status_values['products_id']==1200 or $status_values['products_id']==1137 or $status_values['products_id']==1178) { //Para los postres $cant = $_POST['cantidad']; $cantUrg = $_POST['cantidadUrg']; if (!$cant) { $cantPostres = $cantUrg; } else { $cantPostres = $cant-$cantUrg; } for ( $i = 1 ; $i <= ($cantPostres); $i ++) { $texto_query = "select p.id_product products_id,name products_name,ingredientes,description modoPreparacion,'' vidaUtil,DATE_ADD(NOW(), INTERVAL 1 DAY) shipdate,1 total, ". "weight products_weight,energia,proteinas,hidratos,grasas,alergenos, " . "grasasSaturadas,azucares,round(sodio*2.5,2) sodio ". "from ps_product_lang pd join ps_product p on (p.id_product=pd.id_product) " . "where p.id_product='".$status_values['products_id']."'"; $status_query = tep_db_query($texto_query); $status_values = tep_db_fetch_array($status_query); ?>





'; echo '
'; $traza= zerofill($status_values['products_id'].strrev(date('dmy',strtotime($_POST['fecha']))).'9',13);/*postres*/ barcode_print($traza,getvar('encoding'),'2','html'); echo '
'.substr($traza,1,12).'
'; ?>

Ingredientes: 1) { echo ' Alérgenos: '.stripslashes($status_values['alergenos']).''; } ?> | Modo de Preparación: | Peso N: g. | Lote:   (Fecha de Caducidad:)  [V.Nutric. por 100 g. Energ: kcal. Pr: g. HC: g. Gr: g. GrSat: g. Az: g. Sal: mg.] NRS: 26.020247/SE
0) { $nEtiquetas = 1; } for ( $i = 1 ; $i <= ($nEtiquetas); $i ++) { $texto_query = "select p.id_product products_id,name products_name,ingredientes,description modoPreparacion,'' vidaUtil,DATE_ADD(NOW(), INTERVAL 1 DAY) shipdate,1 total, ". "weight products_weight,energia,proteinas,hidratos,grasas,alergenos, " . "grasasSaturadas,azucares,round(sodio*2.5,2) sodio ". "from ps_product_lang pd join ps_product p on (p.id_product=pd.id_product) " . "where p.id_product='".$codProd."'"; $status_query = tep_db_query($texto_query); $status_values = tep_db_fetch_array($status_query); if (tep_db_num_rows($status_query)>0) { ?>
/> Ingredientes: Alérgenos: '; if (strlen($status_values['alergenos'])>1) { echo stripslashes($status_values['alergenos']); } else { echo 'ninguno'; } if (substr($status_values['products_name'],0,1)=='*') { //para bandejas de Serunion alb?ndigas y hamburguesas ?>  (puede contener trazas de otros alérgenos) | Modo de Preparación: | Peso N: g. | *VER FECHA DE CADUCIDAD EN EL ENVASE* =1207 and $codProd<=1210) { //para bandejas de Serunion alb?ndigas y hamburguesas ?> Lote:  | Fecha de caducidad:| Lote:  | Fecha de caducidad:| Lote: (Fecha de Caducidad:)  [V.Nutric. por 100 g. Energ: kcal. Pr: g. HC: g. Gr: g. GrSat: g. Az: g. Sal: mg.] NRS: 26.020247/SE  Runucom SL C/Espaldillas ocho 27, Alcal? de Guada?ra(Sevilla) '.substr($traza,1,12).''; ?>