/** * Actualiza las cantidades de productos en la tabla de LoteProducto * @param type $id_lote * @param type $id_producto * @return \stdClass */ private static function ajustarLoteProducto($id_lote, $id_producto, $id_unidad) { //TODO : ESTE CODIGO SE PODRIA ELIMINAR SOLO LLAMANDO A LA FUNCION ProductoDAO::ExistenciasLote($id_producto, $id_lote, $id_unidad); PERO SERA HASTA QEU TODO JALE AL 100% Logger::log("ENTRANDO A AJUSTAR LOTE PRODUCTO"); $cantidad = ProductoDAO::ExistenciasLote($id_producto, $id_lote, $id_unidad); //$cantidad = ProductoDAO::ExistenciasTotales($id_producto); try { //actualizamos la cantidad de producto en lote_producto $lote_producto = LoteProductoDAO::getByPK($id_lote, $id_producto); $lote_producto->setCantidad(UnidadMedidaDAO::convertir($id_unidad, $lote_producto->getIdUnidad(), $cantidad)); LoteProductoDAO::save($lote_producto); } catch (Exception $e) { Logger::error("Error al hacer el ajuste del lote : " . $e->getMessage()); } Logger::log("--------------> SE TERMINO DE HACER EL AJUSTE <----------------"); return $cantidad; /* global $conn; $query = ""; $rs = $conn->Execute($query, $data); $res = array(); foreach ($rs as $foo) { array_push($res, $foo); } return $res; */ }
/** *Lista los productos por empresa, almacen y lote */ public static function listarProductosLote($activo = null, $id_almacen = null, $id_empresa = null) { //objeto que se regresara $company = new stdClass(); //contiene todas las empresas $company->empresas = array(); //obtenemos todas las empresas $empresas = EmpresaDAO::getAll(); //iteramos las empresas para obtener sus almacenes foreach ($empresas as $empresa) { //insertamos la empresa a la compaƱia $e = new stdClass(); $e->id_empresa = $empresa->getIdEmpresa(); $e->nombre = $empresa->getRazonSocial(); $e->almacenes = array(); $almacenes = AlmacenDAO::search(new Almacen(array("id_empresa" => $empresa->getIdEmpresa()))); //iteramos todos los almacenes de la empresa foreach ($almacenes as $almacen) { $a = new stdClass(); $a->id_almacen = $almacen->getIdAlmacen(); $a->nombre = $almacen->getNombre(); $a->id_sucursal = $almacen->getIdSucursal(); $a->sucursal = SucursalDAO::getByPK($a->id_sucursal)->getRazonSocial(); $a->lotes = array(); //obtenemos todos los lotes del almacen $lotes = LoteDAO::search(new Lote(array("id_almacen" => $almacen->getIdAlmacen()))); //iteramos todos los lotes del almacen foreach ($lotes as $lote) { $l = new StdClass(); $l->id_lote = $lote->getIdLote(); $l->id_almacen = $lote->getIdAlmacen(); $l->folio = $lote->getFolio(); $l->lotes_producto = array(); //obtenemos todos los productos de un lote $lotes_producto = LoteProductoDAO::search(new LoteProducto(array("id_lote" => $lote->getIdLote()))); //iteramos lodos los lotes con producto que perteneces al lote foreach ($lotes_producto as $lote_producto) { $producto = ProductoDAO::getByPK($lote_producto->getIdProducto()); $lp = new StdClass(); $lp->id_lote = $lote_producto->getIdLote(); $lp->id_producto = $lote_producto->getIdProducto(); $lp->cantidad = $lote_producto->getCantidad(); $lp->id_unidad = $lote_producto->getIdUnidad(); $lp->unidad = UnidadMedidaDAO::getByPK($lp->id_unidad)->getAbreviacion(); //$lp->recalculo = ProductoDAO::ExistenciasTotales($lp->id_producto); $lp->recalculo = ProductoDAO::ExistenciasLote($lp->id_producto, $lp->id_lote, $lp->id_unidad); $lp->nombre = $producto->getNombreProducto(); $lp->codigo = $producto->getCodigoProducto(); array_push($l->lotes_producto, $lp); } array_push($a->lotes, $l); } array_push($e->almacenes, $a); } array_push($company->empresas, $e); } return $company; }