$mkardex = $idcom ? 'Comprobante' : $mkardex; $idx = $idped ? $idped : ''; $idx = $idcom ? $idcom : $idx; //Menundeo $unidresto = $menudeo ? $row["CantidadMovimiento"] % $row["UnidxCont"] : 0; $unidempaque = $menudeo ? ($row["CantidadMovimiento"] - $unidresto) / $row["UnidxCont"] : 0; $unidmenudeo = $menudeo ? $unidempaque . " " . $row["Cont"] . " + " . $unidresto : 0; $existencias = $menudeo ? $unidmenudeo : $row["CantidadMovimiento"]; //Saldo $saldoresto = $menudeo ? $row["SaldoCantidad"] % $row["UnidxCont"] : 0; $unidempaque = $menudeo ? ($row["SaldoCantidad"] - $saldoresto) / $row["UnidxCont"] : 0; $unidmenudeo = $menudeo ? $unidempaque . " " . $row["Cont"] . " + " . $saldoresto : 0; $saldo = $menudeo ? $unidmenudeo : $row["SaldoCantidad"]; $kdxop = $row["KardexOperacion"]; $idaju = $row["IdKardexAjusteOperacion"]; $mkardex = obtenerKardexDocumento($mkardex, $idx, $menudeo, $kdxop, $idaju); $fmovimiento = utf8_decode($row["FechaMovimiento"]); $kardexop = utf8_decode($row["KardexOperacion"]); $tipomov = utf8_decode($row["TipoMovimiento"]); $cantidadmov = utf8_decode($row["CantidadMovimiento"]); $costounimov = utf8_decode($row["CostoUnitarioMovimiento"]); $costototal = utf8_decode($row["CostoTotalMovimiento"]); //$saldo = utf8_decode($row["SaldoCantidad"]); $user = utf8_decode($row["Identificacion"]); $op = $kardexop . " " . $mkardex["Documento"]; $pdf->SetX(17); $pdf->Cell(1); //PRODUCTO ITEM $acotado = array(); $acotado = getItemProducto($op, 40); // IMPRIME LINE
function obtenerKardexMovimientosInventario($idlocal, $desde, $hasta, $xfamilia, $xmarca, $xope, $xmov, $xnombre, $xcodigo, $xinvent, $esInvent, $print = false, $selcvs = false, $numerofilas, $listadesde, $mcount) { $xinvent = $xinvent ? $xinvent : 'none'; $desde = CleanFechaES($desde); $hasta = CleanFechaES($hasta); $fecha = " AND FechaMovimiento>= '{$desde}' AND FechaMovimiento<= ADDDATE('{$hasta}',1) "; $anombre = $xnombre ? explode("|", $xnombre) : ""; $extra = $esInvent ? " AND ges_kardex.IdInventario = '" . $xinvent . "' " : ""; $extra .= $esInvent ? "" : $fecha; $extra .= isset($anombre[0]) ? " AND ges_productos_idioma.Descripcion LIKE '%" . $anombre[0] . "%' " : ""; $extra .= isset($anombre[1]) ? " AND ( ges_marcas.Marca LIKE '%" . $anombre[1] . "%' OR ges_modelos.Color LIKE '%" . $anombre[1] . "%' OR ges_detalles.Talla LIKE '%" . $anombre[1] . "%' ) OR ges_productos.RefProvHab LIKE '%" . $anombre[1] . "%' " : ""; $extra .= $xmarca != "0" ? " AND ges_marcas.IdMarca = '" . $xmarca . "' " : ""; $extra .= $xfamilia != "0" ? " AND ges_familias.IdFamilia = '" . $xfamilia . "' " : ""; $extra = $xcodigo ? " AND ges_productos.CodigoBarras LIKE '" . $xcodigo . "' " : $extra; $extra .= $xope ? " AND ges_kardex.IdKardexOperacion = '" . $xope . "' " : ""; $extra .= $xmov ? " AND ges_kardex.TipoMovimiento = '" . $xmov . "' " : ""; $extra .= $idlocal != "0" ? " AND ges_kardex.IdLocal = '" . $idlocal . "' " : ""; $extraLimit = $listadesde >= 0 && $numerofilas > 0 ? " LIMIT " . $listadesde . "," . $numerofilas : ""; $selsql = " IdKardex," . " DATE_FORMAT(FechaMovimiento, '%e %b %y %H:%i') as FechaMovimiento," . " KardexOperacion," . " CantidadMovimiento," . " ROUND(CostoUnitarioMovimiento,2) as CostoUnitarioMovimiento," . " ROUND(CostoTotalMovimiento,2) as CostoTotalMovimiento," . " ges_usuarios.Nombre as Usuario, " . " SaldoCantidad, " . " TipoMovimiento, " . " CONCAT(ges_productos.CodigoBarras,' ',ges_productos_idioma.Descripcion,' '," . " ges_marcas.Marca,' '," . " ges_modelos.Color,' '," . " ges_detalles.Talla,' '," . " ges_laboratorios.NombreComercial) as Producto, " . " ges_locales.NombreComercial as Almacen, " . " IdPedidoDet," . " ges_kardex.IdProducto," . " IdComprobanteDet," . " ges_kardex.IdLocal, " . " ges_contenedores.Contenedor as Cont, " . " ges_productos.UnidadMedida as Unid, " . " ges_productos.UnidadesPorContenedor as UnidxCont, " . " ges_productos.VentaMenudeo, " . " ges_kardex.IdKardexAjusteOperacion," . " ges_kardex.IdInventario, " . " IF ( ges_kardex.Observaciones like '', ' ',ges_kardex.Observaciones) " . " as Observaciones "; $xsel = $selcvs ? $selcvs : $selsql; $sql = "SELECT " . $xsel . "FROM ges_kardex " . "LEFT JOIN ges_productos ON ges_kardex.IdProducto = ges_productos.IdProducto " . "INNER JOIN ges_productos_idioma ON ges_productos.IdProdBase = ges_productos_idioma.IdProdBase " . "INNER JOIN ges_detalles ON ges_productos.IdTalla = ges_detalles.IdTalla " . "INNER JOIN ges_modelos ON ges_productos.IdColor = ges_modelos.IdColor " . "INNER JOIN ges_familias ON ges_productos.IdFamilia = ges_familias.IdFamilia " . "INNER JOIN ges_laboratorios ON ges_productos.IdLabHab = ges_laboratorios.IdLaboratorio " . "INNER JOIN ges_marcas ON ges_productos.IdMarca = ges_marcas.IdMarca " . "INNER JOIN ges_contenedores ON ges_productos.IdContenedor = ges_contenedores.IdContenedor " . "INNER JOIN ges_usuarios ON ges_usuarios.IdUsuario = ges_kardex.IdUsuario " . "INNER JOIN ges_locales ON ges_locales.IdLocal = ges_kardex.IdLocal " . "INNER JOIN ges_kardexoperacion ON " . " ges_kardex.IdKardexOperacion = ges_kardexoperacion.IdKardexOperacion " . "WHERE ges_kardex.Eliminado=0 " . $extra . "ORDER BY IdKardex DESC " . $extraLimit; if ($selcvs) { return $sql; } // Exportar CVS if ($mcount) { return nroRows($sql); } // Numero de filas $res = query($sql); if (!$res) { return false; } if ($print) { return $res; } // Exportar PDF $OrdenKardex = array(); $t = 0; while ($row = Row($res)) { $detalle = ""; $idped = $row["IdPedidoDet"]; $kdxop = $row["KardexOperacion"]; $idcom = $row["IdComprobanteDet"]; $idaju = $row["IdKardexAjusteOperacion"]; $menudeo = $row["VentaMenudeo"] ? $row["UnidxCont"] . $row["Unid"] . " x " . $row["Cont"] : false; $mkardex = $idped ? 'Pedido' : false; $mkardex = $idcom ? 'Comprobante' : $mkardex; $idx = $idped ? $idped : ''; $idx = $idcom ? $idcom : $idx; $arkdx = obtenerKardexDocumento($mkardex, $idx, $menudeo, $kdxop, $idaju); $row["KardexOperacion"] = $kdxop . $arkdx["Motivo"]; $row["Documento"] = $arkdx["Documento"]; $row["Detalle"] = $arkdx["Detalle"]; $nombre = "Operacion_" . $t++; $OrdenKardex[$nombre] = $row; } return $OrdenKardex; }