function MensajesHeadersHoy($IdUltimo = 0) { //SELECT CURRENT_DATE //$IdLocal = getSesionDato("IdTienda"); $IdLocal = getSesionDato("IdTiendaDependiente"); $IdUsuario = getSesionDato("IdUsuario"); $esParaNosotros = "IdLocalRestriccion=0 OR (IdLocalRestriccion = '{$IdLocal}')"; $esParaMi = "IdUsuarioRestriccion=0 OR (IdUsuarioRestriccion = '{$IdUsuario}')"; if ($IdUltimo > 0) { $ultimoCondicion = " AND IdMensaje > '{$IdUltimo}' "; } else { $ultimoCondicion = ""; } //Fecha > CURRENT_DATE $esFecha = "UNIX_TIMESTAMP(Fecha ) > UNIX_TIMESTAMP() - 86400*DiasCaduca"; $sql = "SELECT IdMensaje, Titulo, Status FROM ges_mensajes WHERE ( {$esFecha} )\n\t\tAND ({$esParaNosotros}) \n\t\tAND ({$esParaMi}) {$ultimoCondicion} ORDER BY Fecha ASC"; //Usando el tipo CONVERSOR, que evita que aparezca en el log demasiadas entradas molestas de este. $res = query($sql, "CONVERSOR"); if ($res) { $text = ""; while ($row = Row($res)) { $IdMensaje = $row["IdMensaje"]; $Titulo = $row["Titulo"]; $Status = $row["Status"]; $text .= $IdMensaje . "'" . $Titulo . "'" . $Status . "\n"; } } else { return "error"; } return $text; }
function listaTodosConNombre() { $sql = "SELECT\t\t\r\n\t\tges_proveedores.*\t\t\r\n\t\tFROM\r\n\t\tges_proveedores \t\t\r\n\t\tWHERE\r\n\t\tges_proveedores.Eliminado = 0\r\n\t\t"; $res = query($sql); if (!$res) { error(__FILE__ . __LINE__, "W: no se ha podido crear seleccion"); return false; } $out = array(); while ($row = Row($res)) { $key = $row["IdProveedor"]; $value = $row["NombreComercial"]; $out[$key] = $value; } return $out; }
function PerfilFactory($res) { if (!$res) { error(__FILE__ . __LINE__, "ERROR en factory"); return false; } $row = Row($res); if (!is_array($row)) { return false; } $id = $row["IdPerfil"]; $oPerfil = new perfil(); if ($oPerfil->Load($id)) { return $oPerfil; } error(__FILE__ . __LINE__, "ERROR no pudo cargar id '{$id}'"); return false; }
function AlbaranFactory($res) { if (!$res) { error(__FILE__ . __LINE__, "ERROR en factory"); return false; } $row = Row($res); if (!is_array($row)) { return false; } $id = $row["IdAlbaranTraspaso"]; $oAlbaran = new albaran(); if ($oAlbaran->Load($id)) { return $oAlbaran; } error(__FILE__ . __LINE__, "ERROR no pudo cargar id '{$id}'"); return false; }
function MostrarAlbaran($id) { global $action; $id = CleanID($id); $albaran = new albaran(); $albaran->Load($id); $ot = getTemplate("ModeloAlbaran"); if (!$ot) { error(__FILE__ . __LINE__, "Info: template busqueda no encontrado"); return false; } //<tr><td>G18196 - BERMDAS.F.SKATE.KAPPA;AC</td><td>1</td></tr> //$this->userLog .= "<tr><td>". $referencia . " - " . $nombre . "</td><td>". $unid . "</td></tr>"; // $sql = "INSERT INTO ges_albtraspaso_det (IdAlbaranTraspaso,IdProducto,Unidades) // VALUES ('$IdAlbaran','$IdProducto','$Unidades')"; $detallesString = ""; $prod = new producto(); $sql = "SELECT * FROM ges_albtraspaso_det WHERE IdAlbaranTraspaso={$id} ORDER BY IdDetalle ASC"; $res = query($sql, "Listando detalles de un albaran"); while ($row = Row($res)) { $IdProducto = $row["IdProducto"]; $prod->Load($IdProducto); $nombre_s = CleanParaWeb($prod->getNombre()); $referencia_s = CleanParaWeb($prod->get("Referencia")); $unid = $row["Unidades"]; $detallesString .= "<tr><td>" . $referencia_s . " - " . $nombre_s . "</td><td>" . $unid . "</td></tr>"; } $comercio = $_SESSION["GlobalNombreNegocio"]; $local = new local(); $local->Load($albaran->get("IdAlmacenSalida")); $nombreorigen = CleanParaWeb($local->getNombre()); $localdestino = new local(); $localdestino->Load($albaran->get("IdAlmacenRecepcion")); $nombredestino = CleanParaWeb($localdestino->getNombre()); $FechaSalida = CleanFechaFromDB($albaran->get("FechaSalida")); $ot->fijar("FECHA", $FechaSalida); $ot->fijar("LINEAS", $detallesString); $ot->fijar("NOMBRECOMERCIO", CleanParaWeb($comercio)); $ot->fijar("NUMEROALBARAN", $id); $ot->fijar("DESDETIENDA", $nombreorigen); $ot->fijar("HASTATIENDA", $nombredestino); echo $ot->Output(); }
function LoadByName($nombre) { $sql = "SELECT IdTemplate FROM ges_templates WHERE Nombre = '{$nombre}'"; $res = query($sql); if (!$res) { return false; } $row = Row($res); if (!$row) { return false; } $id = $row["IdTemplate"]; if (!$this->Load($id)) { return false; } return true; }
function ActualizarUtilidadVenta($IdArqueo) { $sql = "SELECT IdComprobante " . "FROM ges_dinero_movimientos " . "WHERE IdArqueoCaja = '{$IdArqueo}' " . "AND Eliminado = 0 "; $res = query($sql); $utilidad = 0; while ($row = Row($res)) { $IdComprobante = $row["IdComprobante"]; if ($IdComprobante != 0) { $status = verificarComprobante($IdComprobante); if ($status == 0) { $costocbte = obtenerCostoComprobante($IdComprobante); $importecbte = obtenerImporteComprobante($IdComprobante); $margen = $importecbte - $costocbte; $utilidad = $utilidad + $margen; } } } $sql = "UPDATE ges_arqueo_caja SET UtilidadVenta = '{$utilidad}' " . "WHERE ges_arqueo_caja.IdArqueo = '{$IdArqueo}' "; query($sql, 'Actualizacion Utilidad Venta'); }
function NroComprobantePreVentaMax($IdLocal, $TipoComprobante, $Serie) { //echo $Serie; //Valida serie if (!extSerieComprobante($IdLocal, $Serie, $TipoComprobante)) { $Serie = cargarSerieDefComprobante($IdLocal, $TipoComprobante); } $sql = "SELECT MAX( NPresupuesto ) AS NroComprobante" . " FROM ges_presupuestos " . " WHERE IdLocal = '{$IdLocal}' " . " AND TipoPresupuesto = '{$TipoComprobante}' " . " AND Serie = '{$Serie}' " . " AND Eliminado = '0'"; $res = query($sql); $row = Row($res); if ($row["NroComprobante"]) { $nro = $row["NroComprobante"] + 1; } else { $nro = 1; } //codigo documento $cod = $Serie . "-" . $nro; return $cod; }
function genXulComboModeloSat($selected = false, $xul = "listitem", $IdMarca, $xdet) { $sql = "SELECT IdModeloSat,Modelo FROM ges_modelosat WHERE Eliminado=0 \r\n AND IdMarca = '{$IdMarca}' ORDER BY Modelo ASC"; $res = query($sql); if (!$res) { return false; } $t = 0; $xitem = $xdet == 0 ? "modelo_def_" : "modelodet_def_"; $xiditem = $xitem . $t; $out = "<{$xul} value='0' label='Nuevo Modelo' style='font-weight: bold' oncommand='mostrarNuevoModelo(true,{$xdet})' id='{$xiditem}'/>"; while ($row = Row($res)) { $t++; $key = $row["IdModeloSat"]; $value = CleanXulLabel($row["Modelo"]); $xid = $xitem . $t; if ($key != $selected) { $out .= "<{$xul} value='{$key}' label='{$value}' id='{$xid}'/>"; } else { $out .= "<{$xul} selected='true' value='{$key}' label='{$value}' id='{$xid}'/>"; } } return $out; }
} function strictify($string) { $fixed = htmlspecialchars($string, ENT_QUOTES); $trans_array = array(); for ($i = 127; $i < 255; $i++) { $trans_array[chr($i)] = "&#" . $i . ";"; } $really_fixed = strtr($fixed, $trans_array); return $really_fixed; } $count = 0; $Cat = ""; $code = ""; if ($res) { while ($row = Row($res)) { $count++; $NombrePantalla = $row["NombrePantalla"]; $id = $row["IdListado"]; $activos = DetectaActivos($row["CodigoSQL"]); $code .= $row["CodigoSQL"] . "\n----------------------------------\n"; $NombrePantalla = cv_input($NombrePantalla); $NombrePantalla = strictify($NombrePantalla); $peso = $row["Peso"]; $Categoria = $row["Categoria"]; $style = ""; if ($Categoria != $Cat) { $Cat_label = !$Categoria ? "Sin Categoría" : $Categoria; $style = "font-weight: bold;text-decoration: underline"; $outItems = $outItems . "<menuitem style='{$style}' label='{$Cat_label}' value='0'/>\n"; }
function IntegridadReferencia() { return true; //No hacemos integridad de referencia para permitir que el usuario // asigne "prodbase" a mano mediante cambios en la referencia. $id = $this->getId(); $ref = $this->getReferencia(); $sql = "SELECT IdProducto,IdProdBase FROM ges_productos WHERE (Referencia = '{$ref}') AND (IdProducto != '{$id}')"; $res = query($sql); if (!$res) { $this->Error(__FILE__ . __LINE__, "E: {$sql}, error desconocido"); return true; } $row = Row($res); if (!is_array($row)) { return true; } $ViejoProdbase = $row["IdProdBase"]; if ($ViejoProdbase != $this->get("IdProdBase")) { $this->setFallo(_("Referencia duplicada: ya existe un producto con esa referencia")); $this->Error(__FILE__ . __LINE__, "Info: prodbase {$ViejoProdbase} colisiona con {$id} de ref {$ref}"); return false; } /* if ($IdViejo and $id and $IdViejo != $id){ // duplicado! $this->setFallo(_("Referencia duplicada: ya existe un producto con esa referencia")); return false; } if (!$id and $IdViejo){ //Ya existe uno! $this->setFallo(_("Ya existe un producto con esa referencia")); return false; }*/ return true; }
function AltaMProductos($IdComprobante) { $this->IdComprobante = $IdComprobante; //Inserta ó Actualiza ... //Existe? ... $sql = " select IdMetaproductoDet as Id " . " from ges_metaproductosdet " . " where IdMetaproducto = '" . $IdComprobante . "'" . " and IdProducto = '" . $this->idproducto . "'"; $res = query($sql); if ($row = Row($res)) { //Actualiza... $sql = " update ges_metaproductosdet " . " set Cantidad = '" . $this->unidades . "'," . " Costo = '" . $this->precio . "'," . " Importe = '" . $this->importe . "'," . " Eliminado = '0'" . " where IdMetaProductoDet = '" . $row["Id"] . "'"; } else { $aStatus = explode("~", $this->status); //Serie~Lote~Vence... //Inserta... $Keys = "IdMetaproducto,"; $Values = "'" . $IdComprobante . "',"; $Keys .= "IdProducto,"; $Values .= "'" . $this->idproducto . "',"; $Keys .= "Cantidad,"; $Values .= "'" . $this->unidades . "',"; $Keys .= "Costo,"; $Values .= "'" . $this->precio . "',"; $Keys .= "Importe,"; $Values .= "'" . $this->importe . "',"; $Keys .= "Concepto,"; $Values .= "'" . $this->descripcion . "',"; $Keys .= "Talla,"; $Values .= "'" . $this->talla . "',"; $Keys .= "Color,"; $Values .= "'" . $this->color . "',"; $Keys .= "Referencia,"; $Values .= "'" . $this->referencia . "',"; $Keys .= "CodigoBarras,"; $Values .= "'" . $this->codigobarras . "',"; $Keys .= "Serie,"; $Values .= "'" . $aStatus[0] . "',"; $Keys .= "Lote,"; $Values .= "'" . $aStatus[1] . "',"; $Keys .= "Vencimiento"; $Values .= "'" . $aStatus[2] . "'"; $sql = "insert into ges_metaproductosdet (" . $Keys . ") values (" . $Values . ")"; } $res = query($sql, "Detalle ticket"); //Series Reserva... //IdPedidoDet:unidades:Serie;Serie,... $aPedidoDet = explode(",", $this->pedidodet); foreach ($aPedidoDet as $xrow) { $axrow = explode(":", $xrow); $idpedidodet = isset($axrow[1]) ? $axrow[0] : 0; $xnseries = isset($axrow[2]) ? $axrow[2] : false; //Series... if ($xnseries) { reservaSalidaSeriesMProductoDet($this->idproducto, $IdComprobante, $xnseries, $idpedidodet); } } }
function ConvertirSelProductos2Articulos() { //Busca estos productos en el almacen y los selecciona $carroprod = getSesionDato("CarritoProd"); //Vamos a agnadir a la seleccion actual del carro de articulos $carroarticulos = getSesionDato("CarritoTrans"); if (!is_array($carroarticulos)) { $carroarticulos = array(); } foreach ($carroprod as $IdProducto) { $res = Seleccion("Almacen", "IdProducto='{$IdProducto}'"); if ($res) { while ($row = Row($res)) { $id = $row["Id"]; array_push($carroarticulos, $id); } } } setSesionDato("CarritoTrans", $carroarticulos); }
function ListaProductosxSubFamilia($IdFamilia, $IdSubFamilia, $mud, $muc, $dsto, $tipocosto) { //echo "::".$IdFamilia."::".$IdSubFamilia."::"; $COPImpuesto = getSesionDato("COPImpuesto"); $res = obtenerProductoxSubFamilia($IdFamilia, $IdSubFamilia); $xout = "<table class='forma' width='750'>\n <tbody><tr><td><table></table></td></tr>\n <tr class='formaCabezaLista'>\n <td colspan=4>Productos</td>\n <td colspan=4 >Precios Anteriores</td>\n <td colspan=4 >Nuevos Precios</td>\n </tr>\n <tr class='formaCabezaLista' style='font-size:1em;'>\n <td ></td>\n <td >Ref</td>\n <td >CB</td>\n <td style='min-width:8em'>Nombre</td>\n <td >PVP</td>\n <td >PVP/D</td>\n <td >PVC</td>\n <td >PVC/D</td>\n <td >PVP</td>\n <td >PVP/D</td>\n <td >PVC</td>\n <td >PVC/D</td>\n </tr>"; while ($row = Row($res)) { $Costo = $tipocosto == 'CP' ? $row["CostoPromedio"] : $row["UltimoCosto"]; $COP = $COPImpuesto == 1 ? 0 : $row["CostoOperativo"]; $MUD_Nuevo = ($Costo + $COP) * $mud / 100; $PD_Nuevo = $Costo + $COP + $MUD_Nuevo; $IGV_Directo = $PD_Nuevo * $row["Impuesto"] / 100; $PVD_Nuevo = $COPImpuesto == 1 ? $PD_Nuevo + $IGV_Directo + $row["CostoOperativo"] : $PD_Nuevo + $IGV_Directo; $PVD_Nuevo = $mud != 0 ? $PVD_Nuevo : $row["PrecioVenta"]; $PVD_Nuevo = FormatPreciosTPV($PVD_Nuevo); $PVDD_Nuevo = $PVD_Nuevo - $MUD_Nuevo * $dsto / 100; $PVDD_Nuevo = $mud != 0 ? $PVDD_Nuevo : $row["PVDDescontado"]; $PVDD_Nuevo = FormatPreciosTPV($PVDD_Nuevo); $MUC_Nuevo = ($Costo + $COP) * $muc / 100; $PC_Nuevo = $Costo + $COP + $MUC_Nuevo; $IGV_Corporativo = $PC_Nuevo * $row["Impuesto"] / 100; $PVC_Nuevo = $COPImpuesto == 1 ? $PC_Nuevo + $IGV_Corporativo + $row["CostoOperativo"] : $PC_Nuevo + $IGV_Corporativo; $PVC_Nuevo = $muc != 0 ? $PVC_Nuevo : $row["PrecioVentaCorporativo"]; $PVC_Nuevo = FormatPreciosTPV($PVC_Nuevo); $PVCD_Nuevo = $PVC_Nuevo - $MUC_Nuevo * $dsto / 100; $PVCD_Nuevo = $muc != 0 ? $PVCD_Nuevo : $row["PVCDescontado"]; $PVCD_Nuevo = FormatPreciosTPV($PVCD_Nuevo); $xout .= "<tr class='t f'><td width='16' class='iconproducto'><img src='img/gpos_productos.png'></td>" . "<td class='referencia'>" . $row["Referencia"] . "</td>" . "<td class='codigobarras'>" . $row["CodigoBarras"] . "</td>" . "<td class='nombre'>" . $row["Producto"] . "</td>" . "<td >" . $row["PrecioVenta"] . "</td>" . "<td >" . $row["PVDDescontado"] . "</td>" . "<td >" . $row["PrecioVentaCorporativo"] . "</td>" . "<td >" . $row["PVCDescontado"] . "</td>" . "<td >" . $PVD_Nuevo . "</td>" . "<td >" . $PVDD_Nuevo . "</td>" . "<td >" . $PVC_Nuevo . "</td>" . "<td >" . $PVCD_Nuevo . "</td></tr>"; //$xout .= "<br>".$Costo; } $xout .= "</tbody></table>"; return $xout; }
function getTiposComprobantes() { $sql = "SHOW COLUMNS FROM ges_comprobantestipo LIKE 'TipoComprobante'"; $res = query($sql); $row = Row($res); return explode("','", preg_replace("/(enum|set)\\('(.+?)'\\)/", "\$2", $row["Type"])); }
<?php include "../tool.php"; //Normalizar familias estropeadas query("UPDATE ges_productos SET IdFamilia=3 , IdSubFamilia=2 WHERE IdFamilia=1"); $sql = "SELECT * FROM ges_productos"; $resprod = query($sql); while ($row = Row($resprod)) { $IdProducto = $row["IdProducto"]; $IdTalla = $row["IdTalla"]; $sql = "SELECT IdTallaje FROM ges_detalles WHERE IdTalla = '{$IdTalla}'"; $restalla = query($sql); if ($restalla) { if ($rowtallaje = Row($restalla)) { $IdTallaje = $rowtallaje["IdTallaje"]; $sql = "UPDATE ges_productos SET IdTallaje = '{$IdTallaje}' WHERE IdProducto='{$IdProducto}' "; echo $sql . "<br>"; query($sql); } } }
function actualizarAllNuevosPVAlmacen() { $update = false; $sql = "SELECT \n IdProducto,PrecioVentaSource, PrecioVentaCorpSource \n FROM \n ges_almacenes \n WHERE \n Eliminado = '0' AND \n ( PrecioVentaCorpSource != '0' OR PrecioVentaSource != '0')"; $res = query($sql); if (!$res) { return false; } while ($row = Row($res)) { $set = ""; $coma = ""; $update = false; $idproducto = $row["IdProducto"]; if ($row["PrecioVentaSource"] != '0') { $PV = explode("~", $row["PrecioVentaSource"]); $set = $set . "PrecioVenta = '" . $PV[0] . "', PVDDescontado = '" . $PV[1] . "', PrecioVentaSource = '0'"; $coma = ","; $update = true; } if ($row["PrecioVentaCorpSource"] != '0') { $PVC = explode("~", $row["PrecioVentaCorpSource"]); $set = $set . "" . $coma . " PrecioVentaCorporativo = '" . $PVC[0] . "', PVCDescontado = '" . $PVC[1] . "', PrecioVentaCorpSource = '0' "; $update = true; } if ($update) { $sql = "UPDATE ges_almacenes SET " . $set . " WHERE IdProducto = '" . $idproducto . "' AND Eliminado = 0"; query($sql); } } return $update; }
function Alta() { global $UltimaInsercion; $data = $this->export(); $coma = false; $listaKeys = ""; $listaValues = ""; foreach ($data as $key => $value) { if ($coma) { $listaKeys .= ", "; $listaValues .= ", "; } $listaKeys .= " {$key}"; $listaValues .= " '{$value}'"; $coma = true; } $sql = "INSERT INTO ges_locales ( {$listaKeys} ) VALUES ( {$listaValues} )"; $res = query($sql, 'Alta de local en locales'); $IdLocalCreado = $UltimaInsercion; $this->set("IdLocal", $IdLocalCreado, FORCE); //Nels: Inicialización de ges_comprobantestipo setTipoComprobantesLocal($IdLocalCreado); $sql = "SELECT IdLocal FROM ges_locales WHERE Eliminado=0 ORDER BY IdLocal ASC"; $row = queryrow($sql); $IdLocalUsable = $row["IdLocal"]; //Vamos a clonar los productos desde este almacen //TODO: salir con error si no hay ningun local. Siempre deberia haber al menos un local, // el añadido durante el proceso de instalación. if ($IdLocalCreado) { $sql = "SELECT * FROM ges_almacenes WHERE (IdLocal='{$IdLocalUsable}')"; $res = query($sql); while ($row = Row($res)) { $IdProducto = $row["IdProducto"]; $PrecioVenta = $row["PrecioVenta"]; $TipoImpuesto = $row["TipoImpuesto"]; $Impuesto = $row["Impuesto"]; $Disponible = 1; //?? $Oferta = $row["Oferta"]; $Eliminado = $row["Eliminado"]; $Unidades = 0; //Empieza el almacen vacio $StockMin = 0; //$row["StockMin"]; $StockIlimitado = 0; //$row["StockIlimitado"]; $DisponibleOnline = 0; //$row["DisponibleOnline"]; $DescuentoOnline = 0; $Oferta = 0; //$row["Oferta"]; $newsql = "INSERT INTO `ges_almacenes` \n (`IdLocal`, `IdProducto`, `Unidades`, `StockMin`, \n\t\t\t `PrecioVenta`, `PVODescontado`, `TipoImpuesto`, \n `Impuesto`, `StockIlimitado`, `Disponible`, \n\t\t\t `DisponibleOnline`, `Eliminado`, `Oferta`)\n VALUES \n ('{$IdLocalCreado}', '{$IdProducto}', '{$Unidades}', \n '{$StockMin}', '{$PrecioVenta}', '{$DescuentoOnline}',\n\t\t\t '{$TipoImpuesto}', '{$Impuesto}', '{$StockIlimitado}', \n '{$Disponible}', '{$DisponibleOnline}', '{$Eliminado}', \n '{$Oferta}')"; query($newsql); } } return true; }
function listaTodosConNombre() { $sql = "SELECT IdLocal,NombreComercial FROM ges_locales WHERE Eliminado=0 ORDER BY Identificacion ASC"; $res = query($sql); if (!$res) { error(__FILE__ . __LINE__, "W: no se ha podido crear seleccion"); return false; } $out = array(); while ($row = Row($res)) { $key = $row["IdLocal"]; $value = $row["NombreComercial"]; $out[$key] = $value; } return $out; }
function ConsolidaDetallePedidosVenta($xid) { $sql = " select round(sum(Precio*Cantidad),2) as Total" . " from ges_presupuestosdet " . " where IdPresupuesto = " . $xid . " and Eliminado = '0'"; $res = query($sql); $row = Row($res); return ModificaPedidosVenta($xid, 'TotalImporte = ' . $row["Total"], false, false); }
function queryrow($sql, $nick = false) { $res = query($sql, $nick); if (!$res) { return false; } $row = Row($res); if (!is_array($row)) { return false; } return $row; }
function ObtenerDataSubFamilia() { $sql = "SELECT IdFamilia, IdSubFamilia, MargenUtilidadVD, MargenUtilidadVC, Descuento " . "FROM ges_subfamilias " . "WHERE ges_subfamilias.Eliminado = 0 "; $res = query($sql); if (!$res) { return false; } $subfamilias = array(); $t = 0; while ($row = Row($res)) { $nombre = "SubFamilia_" . $t++; $subfamilias[$nombre] = $row; } return $subfamilias; }
function getCantidadCatCliente($CantidadDesde, $CantidadHasta, $IdPromocionCliente, $Motivo, $IdLocal) { $sql = "SELECT DesdeNumeroCompra, HastaNumeroCompra " . "FROM ges_promocionclientes " . "WHERE IdPromocionCliente <> '{$IdPromocionCliente}' " . "AND MotivoPromocion = '{$Motivo}' " . "AND Estado = 'Ejecucion' " . "AND Eliminado = 0 " . "AND DesdeNumeroCompra > 0 " . "AND HastaNumeroCompra > 0 " . "AND IdLocal IN (0,'{$IdLocal}') "; $res = query($sql); $t = 0; $y = 0; while ($row = Row($res)) { $Desde = $row["DesdeNumeroCompra"]; $Hasta = $row["HastaNumeroCompra"]; if ($CantidadDesde >= $Desde && $CantidadDesde <= $Hasta) { $t++; } if ($CantidadHasta >= $Desde && $CantidadHasta <= $Hasta) { $y++; } } $z = $t + $y; return $z; }
function DetallesCobro($IdComprobante) { $TipoVenta = getSesionDato("TipoVentaTPV"); $TipoVenta = $TipoVenta == 'VD' ? 'Caja: B2C' : 'Caja: B2B'; $sql = "SELECT ModalidadPago, " . "DATE_FORMAT(ges_dinero_movimientos.FechaInsercion, '%e %b %y %H:%i') AS Fecha, " . "Importe, " . "ges_usuarios.Nombre As Usuario, " . "IdOperacionCaja, " . "ges_locales.NombreComercial as Local " . "FROM ges_dinero_movimientos " . "INNER JOIN ges_usuarios ON ges_dinero_movimientos.IdUsuario = ges_usuarios.IdUsuario " . "INNER JOIN ges_modalidadespago ON ges_dinero_movimientos.IdModalidadPago = ges_modalidadespago.IdModalidadPago " . "INNER JOIN ges_locales ON ges_dinero_movimientos.IdLocal = ges_locales.IdLocal " . "WHERE ges_dinero_movimientos.Eliminado = 0 " . "AND IdComprobante = '{$IdComprobante}' " . "ORDER BY IdOperacionCaja ASC "; $res = query($sql); if (!$res) { return false; } $PagoDocumento = array(); $t = 0; while ($row = Row($res)) { $nombre = "DetPago_" . $t++; $row["LocalPago"] = $TipoVenta; $PagoDocumento[$nombre] = $row; } $sql = "SELECT 'EFECTICO' AS ModalidadPago, " . "DATE_FORMAT(ges_librodiario_cajagral.FechaInsercion, '%e %b %y %H:%i') AS Fecha, " . "Importe, " . "ges_usuarios.Nombre As Usuario, " . "IdOperacionCaja, " . "ges_locales.NombreComercial as Local " . "FROM ges_librodiario_cajagral " . "INNER JOIN ges_usuarios ON ges_librodiario_cajagral.IdUsuario = ges_usuarios.IdUsuario " . "INNER JOIN ges_locales ON ges_librodiario_cajagral.IdLocal = ges_locales.IdLocal " . "WHERE ges_librodiario_cajagral.Eliminado = 0 " . "AND IdComprobante = '{$IdComprobante}' " . "ORDER BY IdOperacionCaja ASC "; $res = query($sql); if (!$res) { return false; } //echo $t; while ($row = Row($res)) { $nombre = "DetPago_" . $t++; $row["ModalidadPago"] = 'EFECTIVO'; $row["LocalPago"] = 'Caja: GRAL'; $PagoDocumento[$nombre] = $row; //echo $t; } return $PagoDocumento; }
function genListadoCruzadoAsArray($IdProducto, $IdTallaje = false, $IdLang = false) { $IdProducto = CleanID($IdProducto); $IdTallaje = CleanID($IdTallaje); $out = ""; //Cadena de salida if (!$IdLang) { $IdLang = getSesionDato("IdLenguajeDefecto"); } $sql = "SELECT Referencia, IdTallaje FROM ges_productos WHERE IdProducto='{$IdProducto}' AND Eliminado='0'"; $row = queryrow($sql); if (!$row) { return false; } $tReferencia = CleanRealMysql($row["Referencia"]); if (!$IdTallaje) { $IdTallaje = $row["IdTallaje"]; } if (!$IdTallaje) { $IdTallaje = 2; } //gracefull degradation $sql = "SELECT ges_locales.NombreComercial,ges_modelos.Color,\n\t\tges_detalles.Talla, SUM(ges_almacenes.Unidades) as TotalUnidades FROM ges_almacenes INNER\n\t\tJOIN ges_locales ON ges_almacenes.IdLocal = ges_locales.IdLocal INNER\n\t\tJOIN ges_productos ON ges_almacenes.IdProducto =\n\t\tges_productos.IdProducto INNER JOIN ges_modelos ON\n\t\tges_productos.IdColor = ges_modelos.IdColor INNER JOIN ges_detalles ON\n\t\tges_productos.IdTalla = ges_detalles.IdTalla\n\t\tWHERE\n\t\tges_productos.Referencia = '{$tReferencia}'\n\t\tAND ges_modelos.IdIdioma = 1\n\t\tAND ges_locales.Eliminado = 0\n\t\tGROUP BY ges_almacenes.IdLocal, ges_productos.IdColor, ges_productos.IdTalla\n\t\tORDER BY ges_almacenes.IdLocal, ges_productos.IdColor"; $data = array(); $colores = array(); $tallas = array(); $locales = array(); $tallasTallaje = array(); $listaColores = array(); $res = query($sql, "Generando Listado Cruzado"); while ($row = Row($res)) { $color = $row["Color"]; $talla = $row["Talla"]; $nombre = $row["NombreComercial"]; $unidades = CleanInt($row["TotalUnidades"]); $colores[$color] = 1; $tallas[$talla] = 1; $locales[$nombre] = 1; $num = 0; //echo "Adding... c:$color,t:$talla,n:$nombre,u:$unidades<br>"; $data[$color][$talla][$nombre] = $unidades; } $sql = "SELECT Talla,SizeOrden FROM ges_detalles WHERE IdTallaje= '{$IdTallaje}' AND IdIdioma='{$IdLang}' AND Eliminado='0'" . "\t ORDER BY SizeOrden ASC, Talla ASC"; $res = query($sql); $numtallas = 0; while ($row = Row($res)) { $orden = intval($row["SizeOrden"]); $talla = $row["Talla"]; $posicion = GetOrdenVacio($tallasTallaje, $orden); $tallasTallaje[$posicion] = $talla; $numtallas++; } //$out .= "<table class='forma'>"; //$out .= "<tr><td class='nombre'>".$tReferencia."</td>"; $out_nombretabla = $tReferencia; $out_tallas = array(); $out_tallas["talla_0"] = "{$tReferencia}/Tienda"; $out_tallas["talla_1"] = "C o l o r"; $num = 2; foreach ($tallasTallaje as $k => $v) { $out_tallas["talla_{$num}"] = $v; $num++; } $out_base = array(); $out_rows = array(); $numrow = 0; $out_filas = array(); $out_bloques = array(); foreach ($locales as $l => $v2) { $out_base["nombre"] = $l; $out_bloques[] = $l; foreach ($colores as $c => $v1) { $row = array(); $row[] = $l; $row[] = $c; foreach ($tallasTallaje as $k2 => $t) { if (isset($data[$c][$t][$l])) { $u = $data[$c][$t][$l]; } else { $u = ""; } //$out .= "<td class='unidades' align='center'>" . $u . "</td>"; $row[] = $u; } $out_rows[] = $row; //$out .= "</tr>"; } } //$out .= "</table>"; $out_final = array(); $out_final["heads"] = $out_tallas; $out_final["rows"] = $out_rows; $out_final["numheads"] = count($out_tallas); //$out_final["rowheads"] = $out_filas; $out_final["nombretabla"] = $out_nombretabla; //$out_final["bloques"] = $out_bloques; return $out_final; }
function DescodificaScript($script, $IdAlojamiento) { $IdAlojamiento = CleanID($IdAlojamiento); $sql = "SELECT DISTINCT URLFotoVirtual FROM dat_fotosvisitavirtual WHERE IdAlojamiento={$IdAlojamiento}"; //AddError(__FILE__ . __LINE__ , "Info: $sql"); $cambiados = array(); $res = query($sql); if ($res) { while ($row = Row($res)) { $img = $row["URLFotoVirtual"]; if (!$cambiados[$img]) { $script = eregi_replace($img, "fullres/" . $img, $script); } $cambiados[$img] = 1; // AddError(0,"Info: reemplazando $img"); } } else { //AddError(__FILE__ . __LINE__ , "W: no le gusto $sql"); } //die("caput!"); // Full Texts IdFotoVirtual IdAlojamiento URLFotoVirtual return str_replace("@", "'", $script); }
function validaIntegridadSeries($xid) { $sql = " SELECT ges_pedidosdet.Serie as SerieDet, IdPedidoDet, ges_pedidosdet.Unidades," . " ges_pedidosdet.IdProducto, ges_productos.Serie as SerieProd " . " FROM ges_pedidosdet " . " INNER JOIN ges_productos ON ges_pedidosdet.IdProducto=ges_productos.IdProducto" . " WHERE IdPedido = '" . $xid . "'" . " AND ges_pedidosdet.Eliminado = '0'"; $res = query($sql); while ($row = Row($res)) { if ($row['SerieDet'] == 2) { return true; } // Por registro de comprobante if ($row['SerieDet'] != 0) { if (getCantidadSeries($row["IdPedidoDet"], $row["IdProducto"], $row["Unidades"])) { $sql = "UPDATE ges_pedidosdet SET Serie = 2 " . " WHERE IdPedidoDet = " . $row["IdPedidoDet"]; query($sql); return true; } } if ($row["SerieDet"] == 0 && $row["SerieProd"] == 1) { $sql = "UPDATE ges_pedidosdet SET Serie = 2 " . " WHERE IdPedidoDet = " . $row["IdPedidoDet"]; query($sql); return true; } if ($row["SerieDet"] == 1 && $row["SerieProd"] == 0) { $sql = "UPDATE ges_pedidosdet SET Serie = 0 " . " WHERE IdPedidoDet = " . $row["IdPedidoDet"]; query($sql); $sql = " update ges_productos_series " . " set Eliminado = 1 " . " WHERE IdProducto = '" . $row["IdProducto"] . "'" . " and DocumentoEntrada = '" . $row["IdPedidoDet"] . "'"; query($sql); } } }
function registraLocalesPermitidos($xlocales) { $xsqllocal = $xlocales == '0' ? '' : ' idlocal in ( ' . $xlocales . ' ) and'; $sql = " select IdLocal,AdmitePassword,Identificacion " . " from ges_locales " . " where {$xsqllocal} eliminado = 0"; $res = query($sql); $ckAccess = array(); $xsrt = ''; while ($row = Row($res)) { $ckAccess[$row['Identificacion']] = $row['IdLocal'] . ":" . $row['AdmitePassword']; $ckAccess['js'] .= $xsrt . $row['Identificacion'] . ":" . $row['AdmitePassword']; $xsrt = '~'; } setSesionDato("LocalAccess", $ckAccess); }
function crearProforma($IdOrdenCompra, $IdCliente, $CodigoOC) { global $UltimaInsercion; $IdLocal = getSesionDato("IdTienda"); $IdUsuario = CleanID(getSesionDato("IdUsuario")); $TipoPresupuesto = 'Proforma'; $TipoVenta = getSesionDato("TipoVentaTPV") != 1 ? getSesionDato("TipoVentaTPV") : 'VD'; $Impuesto = getSesionDato("IGV"); $mensaje = 'Orden Compra cod -' . $CodigoOC . '-'; $vigencia = getSesionDato("VigenciaPresupuesto"); // Serie presupuesto $sql = "SELECT Serie FROM ges_presupuestos " . "WHERE IdLocal = {$IdLocal} AND Eliminado = 0 ORDER BY IdPresupuesto DESC LIMIT 1 "; $row = queryrow($sql); $sreDocumento = $row["Serie"] ? $row["Serie"] : 1; // Nro Presupuesto $sql = "SELECT MAX(NPresupuesto) as NPresupuesto FROM ges_presupuestos " . "WHERE IdLocal = {$IdLocal} AND Serie = '{$sreDocumento}' AND Eliminado = 0 LIMIT 1 "; $row = queryrow($sql); $NroDocumento = $row["NPresupuesto"] ? $row["NPresupuesto"] + 1 : 1; //Tipo Cliente $sql = "SELECT TipoCliente FROM ges_clientes " . "WHERE IdCliente = {$IdCliente} AND Eliminado = 0 LIMIT 1 "; $row = queryrow($sql); $TipoCliente = $row["TipoCliente"]; //$TipoVenta = ($TipoCliente == 'Empresa' || $TipoCliente == 'Gobierno')? 'VC':$TipoVenta; $esquema = "IdLocal, IdUsuario, NPresupuesto,TipoPresupuesto," . "TipoVentaOperacion,FechaPresupuesto," . "Impuesto, Status,IdCliente," . "Observaciones,VigenciaPresupuesto,Serie"; $datos = "'{$IdLocal}','{$IdUsuario}','{$NroDocumento}','{$TipoPresupuesto}'," . "'{$TipoVenta}',NOW(),'{$Impuesto}','Pendiente','{$IdCliente}'," . "'{$mensaje}','{$vigencia}','{$sreDocumento}'"; $sql = "INSERT INTO ges_presupuestos (" . $esquema . ") VALUES (" . $datos . ")"; query($sql); $IdPresupuesto = $UltimaInsercion; $sql = "SELECT IdProducto, Unidades, Costo FROM ges_ordencompradet WHERE IdOrdenCompra = {$IdOrdenCompra} "; $res = query($sql); $xvalue = ""; $TotalImporte = 0; while ($row = Row($res)) { $IdProducto = $row["IdProducto"]; $Unidades = $row["Unidades"]; $sql = "SELECT PrecioVenta, PrecioVentaCorporativo,CodigoBarras,Referencia " . " FROM ges_almacenes " . "INNER JOIN ges_productos ON ges_almacenes.IdProducto = ges_productos.IdProducto " . " WHERE ges_almacenes.IdProducto = {$IdProducto} AND IdLocal = {$IdLocal}"; $row = queryrow($sql); $Referencia = $row["Referencia"]; $CodigoBarras = $row["CodigoBarras"]; $Precio = $row["PrecioVenta"]; $PrecioCorp = $row["PrecioVentaCorporativo"]; $Importe = $TipoVenta == 'VD' ? round($Unidades * $Precio, 2) : round($Unidades * $PrecioCorp, 2); $TotalImporte = $TotalImporte + $Importe; $xvalue .= "(NULL, " . $IdPresupuesto . "," . $IdProducto . ", " . $Unidades . ",'" . $CodigoBarras . "','" . $Referencia . "'," . $Precio . "," . $Importe . " ),"; } $xvalue = substr($xvalue, 0, -1); $sql = "INSERT INTO ges_presupuestosdet (idpresupuestodet, idpresupuesto, idproducto, cantidad,codigobarras,referencia,precio,importe) VALUES " . $xvalue; query($sql); $ImporteNeto = ROUND(100 * $TotalImporte / (100 + $Impuesto), 2); $ImporteImpuesto = $TotalImporte - $ImporteNeto; $sql = "UPDATE ges_presupuestos SET ImporteNeto = {$ImporteNeto}, " . "ImporteImpuesto = {$ImporteImpuesto}, TotalImporte = {$TotalImporte} " . "WHERE IdPresupuesto = {$IdPresupuesto} "; query($sql); return "~" . $sreDocumento . "-" . $NroDocumento; }
function QuickLoad($key, $id = false) { //Carga forzada desde BD if (!$this->_nombretabla) { $this->Error(__FILE__ . __LINE__, "E: uso sin inicializar!"); } if (!$id) { $id = $this->_idFila; } $sql = "SELECT {$key} FROM " . $this->_nombretabla . " WHERE " . $this->_nameid . " = '{$id}'"; $res = query($sql); if (!$res) { $this->Error(__FILE__ . __LINE__, "W: este {$sql} no pudo trabajar"); return false; } $row = Row($res); if (!is_array($row)) { $this->Error(__FILE__ . __LINE__, "W: no se pudo QL {$key}," . q($sql)); return false; } $value = $row[$key]; $this->set($key, $value, FORCE); return $value; }