/** * Returns a new PropiedadvalorQuery object. * * @param string $modelAlias The alias of a model in the query * @param PropiedadvalorQuery|Criteria $criteria Optional Criteria to build the query from * * @return PropiedadvalorQuery */ public static function create($modelAlias = null, $criteria = null) { if ($criteria instanceof PropiedadvalorQuery) { return $criteria; } $query = new PropiedadvalorQuery(null, null, $modelAlias); if ($criteria instanceof Criteria) { $query->mergeWith($criteria); } return $query; }
public function indexAction() { $request = $this->request; if ($request->isPost()) { //Si envian el formulario $post_data = $request->getPost(); //Creamos una instacia de nuestro articulovariante $articuloVariante = \ArticulovarianteQuery::create()->findOneByIdarticulovariante($post_data['idproducto']); $articuloVariante->setArticulovarianteCosto($request->getPost()->articulovariante_costo); $articuloVariante->setArticulovariantePrecio($request->getPost()->articulovariante_precio); $articuloVariante->setArticulovarianteIva($request->getPost()->articulovariante_iva); if ($articuloVariante->isModified()) { $articuloVariante->save(); } return; } //Obtenemos nuestros productos $articuloCollection = \ArticuloQuery::create()->find(); //De cada articulo obtenemos sus variaciones (articulovariante) $productos = array(); foreach ($articuloCollection as $ka => $av) { $tmp['nombre'] = $av->getArticuloNombre(); $articulovarianteCollection = $av->getArticulovariantes(); //Comenzamos a itinerar sobre las variaciones foreach ($articulovarianteCollection as $kav => $vav) { $tmp['id'] = $vav->getIdarticulovariante(); $tmp['codigo_barras'] = !is_null($vav->getArticuloVarianteCodigobarras()) ? $vav->getArticuloVarianteCodigobarras() : ''; $tmp['costo'] = !is_null($vav->getArticuloVarianteCosto()) ? $vav->getArticuloVarianteCosto() : 0.0; $tmp['precio'] = !is_null($vav->getArticuloVariantePrecio()) ? $vav->getArticuloVariantePrecio() : 0.0; $tmp['iva'] = !is_null($vav->getArticuloVarianteIva()) ? $vav->getArticuloVarianteIva() : 0; $tmp['imagen'] = $vav->getArticuloVarianteImagen(); //Por cada valor obtenemos su variaciones $articuloVarianteValorCollection = \ArticulovariantevalorQuery::create()->filterByIdarticulovariante($vav->getIdarticulovariante())->find(); //Comenzamos a itinerar sobre articulovariantevalor para obtener sus resultado $tmp['descripcion'] = ''; $propiedadCount = 0; foreach ($articuloVarianteValorCollection as $kavv => $vavv) { $propiedadCount++; $tmp['descripcion'] .= \PropiedadQuery::create()->findOneByIdpropiedad($vavv->getIdpropiedad())->getPropiedadNombre(); //Propiedad $tmp['descripcion'] .= ':' . \PropiedadvalorQuery::create()->findOneByIdpropiedadvalor($vavv->getIdpropiedadvalor())->getPropiedadvalorNombre(); //PropiedadValor if ($propiedadCount < $articuloVarianteValorCollection->count()) { $tmp['descripcion'] .= ' - '; } } array_push($productos, $tmp); } } //var_dump($this->flashMessenger()->getMessages()); return new ViewModel(array('flashMessages' => $this->flashMessenger()->getMessages(), 'productos' => $productos)); }
public function editarAction() { $request = $this->getRequest(); //Cachamos el valor desde nuestro params $id = (int) $this->params()->fromRoute('id'); //Verificamos que el Id articulo que se quiere modificar exista if (!ArticuloQuery::create()->filterByIdarticulo($id)->exists()) { $id = 0; } //Si es incorrecto redireccionavos al action nuevo if (!$id) { return $this->redirect()->toRoute('articulo', array('action' => 'nuevo')); } //Instanciamos nuestro articulo $articulo = ArticuloQuery::create()->findPk($id); //propiedades $propiedades = \PropiedadQuery::create()->filterByIdarticulo($articulo->getIdarticulo())->find(); //Almacenamos en un arreglo todas los Tipos $tipoCollection = \TipoQuery::create()->find(); $tipoArray = array(); foreach ($tipoCollection as $tipo) { $tipoArray[$tipo->getIdtipo()] = $tipo->getTipoNombre(); } //Instanciamos nuestro formulario $articuloForm = new ArticuloForm($tipoArray); //Le ponemos los datos de nuestro articulo a nuestro formulario $articuloForm->setData($articulo->toArray(BasePeer::TYPE_FIELDNAME)); if ($request->isPost()) { //Si hicieron POST //Instanciamos nuestro filtro de articulo $articuloFilter = new ArticuloFilter(); //Le ponemos nuestro filtro a nuesto fromulario $articuloForm->setInputFilter($articuloFilter->getInputFilter()); //Le ponemos los datos a nuestro formulario $articuloForm->setData($request->getPost()); //Validamos nuestro formulario de articulo if ($articuloForm->isValid()) { //Recorremos nuestro formulario y seteamos los valores a nuestro objeto Articulo foreach ($articuloForm->getData() as $articuloKey => $articuloValue) { $articulo->setByName($articuloKey, $articuloValue, \BasePeer::TYPE_FIELDNAME); } //Guardamos en nuestra base de datos Articulo $articulo->save(); //Si el articulo tiene propiedades las eliminamos para volverlas a setear if ($propiedades->count()) { foreach ($propiedades as $propiedad) { $propiedad->delete(); //Eliminamos de la base de datos } } //Verificamos si nos enviaron propiedades foreach ($_POST as $key => $value) { if (strstr($key, 'propiedad') && $value['nombre'] != null) { //Guardamos las propiedades $propiedad = new \Propiedad(); $propiedad->setIdarticulo($articulo->getIdarticulo()); $propiedad->setPropiedadNombre($value["nombre"]); $propiedad->save(); //Guardamos las variantes de la propiedad foreach ($value as $varianteKey => $varianteValue) { if ($varianteKey !== "nombre" && $varianteValue != null) { $variante = new \Propiedadvalor(); $variante->setIdarticulo($articulo->getIdarticulo()); $variante->setIdpropiedad($propiedad->getIdpropiedad()); $variante->setPropiedadvalorNombre($varianteValue); $variante->save(); } } } } //Despues de haber insertado el esquelo, insertamos en las tablas de variaciones //Comenzamos a itinerar sobre las propiedad para obtener el numero de combinaciones posibles $propiedadCollection = $articulo->getPropiedads(); $combinaciones = 0; foreach ($propiedadCollection as $propiedad) { if ($combinaciones == 0) { $combinaciones = $propiedad->getPropiedadvalors()->count(); } else { $combinaciones *= $propiedad->getPropiedadvalors()->count(); } } //De acuerdo al numero de combinaciones posibles insertamos en la tabla articulo variante if ($combinaciones > 0) { for ($i = 0; $i < $combinaciones; $i++) { $articulovariante = new \Articulovariante(); $articulovariante->setIdarticulo($articulo->getIdarticulo()); $articulovariante->save(); } } //Guardamos en un arreglo las propiedades Valores $propiedadValor = array(); $propiedadValorCollection = \PropiedadvalorQuery::create()->findByIdarticulo($articulo->getIdarticulo()); foreach ($propiedadValorCollection as $pvk => $pvv) { $idpropiedadNombre = $pvv->getPropiedad()->getPropiedadNombre(); $propiedadValor[$idpropiedadNombre][] = $pvv->toArray(); } $idArticuloVarianteArray = array(); $propiedadVarianteCollection = \ArticulovarianteQuery::create()->findByIdarticulo($articulo->getIdarticulo()); foreach ($propiedadVarianteCollection as $propiedadVariante) { $idArticuloVarianteArray[] = $propiedadVariante->getIdArticuloVariante(); } $i = 0; foreach ($propiedadValor as $key => $value) { $php .= 'foreach ($propiedadValor[' . $key . '] as $k' . $key . ' => $v' . $key . '){'; } foreach ($propiedadValor as $key => $value) { $php .= '$articulovariantevalor = new \\Articulovariantevalor();'; $php .= '$articulovariantevalor->setIdarticulo($articulo->getIdarticulo())'; $php .= '->setIdpropiedad($v' . $key . '["Idpropiedad"])'; $php .= '->setIdpropiedadvalor($v' . $key . '["Idpropiedadvalor"])'; $php .= '->setIdarticulovariante($idArticuloVarianteArray[$i])'; $php .= '->save();'; } $php .= '$i++;'; foreach ($propiedadValor as $key => $value) { $php .= '}'; } eval($php); //Agregamos un mensaje $this->flashMessenger()->addMessage('Articulo Modificado exitosamente!'); //Redireccionamos a nuestro list return $this->redirect()->toRoute('articulo'); } else { } } return new ViewModel(array('id' => $id, 'articuloForm' => $articuloForm, 'propiedades' => $propiedades)); }
public function transferenciadetallesAction() { $id = $this->params()->fromQuery('id'); $modalName = 'modal-preview-' . $id; $modal = array(); $entity = \TraspasoQuery::create()->findOneByIdinventariolugar($id); $modal['id'] = $entity->getIdinventariolugar(); $modal['fecha'] = $entity->getTraspasoFecha('d-m-Y'); $modal['remitente'] = $entity->getLugarRelatedByIdlugarremitente()->getLugarNombre(); $modal['receptor'] = $entity->getLugarRelatedByIdlugardestinatario()->getLugarNombre(); $modal['detalles'] = array(); $traspaso_detalles = $entity->getTraspasodetalless(); foreach ($traspaso_detalles as $detalle) { $tmp['cantidad'] = (int) $detalle->getTraspasoCantidad(); $tmp['descripcion'] = ''; $idarticulovariante = $detalle->getLugarinventario()->getOrdencompradetalle()->getIdarticulovariante(); $articulovariante = \ArticulovarianteQuery::create()->findPk($idarticulovariante); $articulovariantevalor = \ArticulovariantevalorQuery::create()->filterByIdarticulovariante($idarticulovariante)->find(); $tmp['descripcion'] .= $articulovariante->getArticulo()->getArticuloNombre() . ' '; foreach ($articulovariantevalor as $key => $value) { $propiedadCount++; $tmp['descripcion'] .= \PropiedadQuery::create()->findOneByIdpropiedad($value->getIdpropiedad())->getPropiedadNombre(); //Propiedad $tmp['descripcion'] .= ':' . \PropiedadvalorQuery::create()->findOneByIdpropiedadvalor($value->getIdpropiedadvalor())->getPropiedadvalorNombre(); //PropiedadValor if ($propiedadCount < $articulovariantevalor->count()) { $tmp['descripcion'] .= ' - '; } } $tmp['caducidad'] = !is_null($detalle->getLugarinventario()->getOrdencompradetalle()->getOrdencompradetalleCaducidad('m/Y')) ? $detalle->getLugarinventario()->getOrdencompradetalle()->getOrdencompradetalleCaducidad('m/Y') : 'N/D'; array_push($modal['detalles'], $tmp); } $viewModel = new ViewModel(); $viewModel->setTerminal(true); $viewModel->setVariables(array('modalName' => $modalName, 'modal' => $modal)); return $viewModel; }
public function detallesAction() { $id = (int) $this->params()->fromRoute('id', 0); if ($id) { if (\VentaQuery::create()->filterByIdventa($id)->exists()) { $ventaEntity = \VentaQuery::create()->filterByIdventa($id)->findOne(); $cargoventaQuery = $ventaEntity->getCargoventas(); if ($cargoventaQuery->getArrayCopy()) { $cargoventaArticuloArray = array(); $cargoventaServicioArray = array(); foreach ($cargoventaQuery as $cargoventaEntity) { if ($cargoventaEntity->getIdlugarinventario() != null) { $articulovarianteEntity = $cargoventaEntity->getLugarinventario()->getOrdencompradetalle()->getArticulovariante(); $propiedadvalorNombre = null; foreach ($articulovarianteEntity->getArticulovariantevalors()->getArrayCopy() as $articulovariantevalorEntity) { $propiedadQuery = \PropiedadQuery::create()->filterByIdpropiedad($articulovariantevalorEntity->getIdpropiedad())->findOne(); $propiedadvalorQuery = \PropiedadvalorQuery::create()->filterByIdpropiedadvalor($articulovariantevalorEntity->getIdpropiedadvalor())->findOne(); $propiedadvalorNombre .= $propiedadQuery->getPropiedadNombre() . " " . $propiedadvalorQuery->getPropiedadvalorNombre() . " "; } $cargoventaArticulo = array('idcargoventa' => $cargoventaEntity->getIdcargoventa(), 'idventa' => $cargoventaEntity->getIdventa(), 'venta_status' => $cargoventaEntity->getVenta()->getVentaStatus(), 'cantidad' => $cargoventaEntity->getCantidad(), 'articulo' => $cargoventaEntity->getLugarinventario()->getOrdencompradetalle()->getArticulovariante()->getArticulo()->getArticuloNombre(), 'descripcion' => utf8_encode($propiedadvalorNombre), 'salida' => $cargoventaEntity->getLugarinventario()->getLugar()->getLugarNombre(), 'fechahora' => $cargoventaEntity->getCargoventaFecha(), 'precio' => $cargoventaEntity->getLugarinventario()->getOrdencompradetalle()->getArticulovariante()->getArticulovariantePrecio(), 'subtotal' => $cargoventaEntity->getMonto()); array_push($cargoventaArticuloArray, $cargoventaArticulo); } if ($cargoventaEntity->getIdservicio() != null) { $cargoventaServicio = array('idcargoventa' => $cargoventaEntity->getIdcargoventa(), 'idventa' => $cargoventaEntity->getIdventa(), 'venta_status' => $cargoventaEntity->getVenta()->getVentaStatus(), 'cantidad' => $cargoventaEntity->getCantidad(), 'servicio' => $cargoventaEntity->getServicio()->getServicioNombre(), 'descripcion' => $cargoventaEntity->getServicio()->getServicioDescripcion(), 'precio' => $cargoventaEntity->getServicio()->getServicioPrecio(), 'subtotal' => $cargoventaEntity->getMonto(), 'fechahora' => $cargoventaEntity->getCargoventaFecha()); array_push($cargoventaServicioArray, $cargoventaServicio); } } } return new ViewModel(array('ventaEntity' => $ventaEntity, 'cargoventaArticuloArray' => $cargoventaArticuloArray, 'cargoventaServicioArray' => $cargoventaServicioArray)); } } else { return $this->redirect()->toRoute('venta'); } }
public function getproductosAction() { //Obtenemos nuestros productos $articuloCollection = \ArticuloQuery::create()->find(); $productos = array(); foreach ($articuloCollection as $ka => $av) { $tmp['nombre'] = $av->getArticuloNombre(); $articulovarianteCollection = $av->getArticulovariantes(); //Comenzamos a itinerar sobre las variaciones foreach ($articulovarianteCollection as $kav => $vav) { $tmp['value'] = $vav->getIdarticulovariante(); $articulovariante = \ArticulovarianteQuery::create()->findPk($tmp['value']); $tmp['precio'] = !is_null($articulovariante->getArticulovariantePrecio()) ? $articulovariante->getArticulovariantePrecio() : 0.0; $tmp['costo'] = !is_null($articulovariante->getArticulovarianteCosto()) ? $articulovariante->getArticulovarianteCosto() : 0.0; //Por cada valor obtenemos su variaciones $articuloVarianteValorCollection = \ArticulovariantevalorQuery::create()->filterByIdarticulovariante($vav->getIdarticulovariante())->find(); //Comenzamos a itinerar sobre articulovariantevalor para obtener sus resultado $tmp['descripcion'] = ''; $propiedadCount = 0; foreach ($articuloVarianteValorCollection as $kavv => $vavv) { $propiedadCount++; $tmp['descripcion'] .= \PropiedadQuery::create()->findOneByIdpropiedad($vavv->getIdpropiedad())->getPropiedadNombre(); //Propiedad $tmp['descripcion'] .= ':' . \PropiedadvalorQuery::create()->findOneByIdpropiedadvalor($vavv->getIdpropiedadvalor())->getPropiedadvalorNombre(); //PropiedadValor if ($propiedadCount < $articuloVarianteValorCollection->count()) { $tmp['descripcion'] .= ' - '; } $tmp['label'] = $tmp['nombre'] . ' ' . $tmp['descripcion']; } array_push($productos, $tmp); } } $producto_array = array(); foreach ($productos as $producto) { unset($producto['descripcion']); unset($producto['nombre']); array_push($producto_array, $producto); } return $this->getResponse()->setContent(\Zend\Json\Json::encode($producto_array)); }
public function indexAction() { //Obtenemos nuestros productos $articuloCollection = \ArticuloQuery::create()->find(); //obtenemos nuestros almacenes $lugarCollection = \LugarQuery::create()->find(); $lugarCollectionArray = array(); foreach ($lugarCollection as $kl => $vl) { $lugarCollectionArray[] = array('nombre' => $vl->getLugarNombre(), 'id' => $vl->getIdLugar()); } //De cada articulo obtenemos sus variaciones (articulovariante) $productos = array(); foreach ($articuloCollection as $ka => $av) { $tmp['nombre'] = $av->getArticuloNombre(); $articulovarianteCollection = $av->getArticulovariantes(); //Comenzamos a itinerar sobre las variaciones foreach ($articulovarianteCollection as $kav => $vav) { $tmp['id'] = $vav->getIdarticulovariante(); $tmp['codigo_barras'] = !is_null($vav->getArticuloVarianteCodigobarras()) ? $vav->getArticuloVarianteCodigobarras() : ''; $tmp['precio'] = !is_null($vav->getArticuloVariantePrecio()) ? $vav->getArticuloVariantePrecio() : 0.0; $tmp['imagen'] = $vav->getArticuloVarianteImagen(); //Comenzamos a itinerar sobre los lugares disponibles foreach ($lugarCollection as $kl => $vl) { //Los agregamos a nuestro arreglo $tmp['lugar'][$vl->getLugarNombre()] = NULL; } //Obtenemos las compras que se han realizado del articulo variante $compraDetalleCollection = \OrdencompradetalleQuery::create()->findByIdarticulovariante($vav->getIdArticuloVariante()); //Itineramos en la coleccion de compras foreach ($compraDetalleCollection as $kcd => $vcd) { $idCompraDetalle = $vcd->getIdOrdenCompraDetalle(); //por cada compra detalle la buscamos en lugar inventario $lugarInventarioCollection = \LugarinventarioQuery::create()->findByIdordencompradetalle($idCompraDetalle); //empezamos a itinerar en los registros para irlos sumando a nuestro lugar foreach ($lugarInventarioCollection as $kli => $vli) { $lugarNombre = $vli->getLugar()->getLugarNombre(); $cantidad = $vli->getLugarinventarioCantidad(); $tmp['lugar'][$lugarNombre] += $cantidad; } } //Por cada valor obtenemos su variaciones $articuloVarianteValorCollection = \ArticulovariantevalorQuery::create()->filterByIdarticulovariante($vav->getIdarticulovariante())->find(); //Comenzamos a itinerar sobre articulovariantevalor para obtener sus resultado $tmp['descripcion'] = ''; $propiedadCount = 0; foreach ($articuloVarianteValorCollection as $kavv => $vavv) { $propiedadCount++; $tmp['descripcion'] .= \PropiedadQuery::create()->findOneByIdpropiedad($vavv->getIdpropiedad())->getPropiedadNombre(); //Propiedad $tmp['descripcion'] .= ':' . \PropiedadvalorQuery::create()->findOneByIdpropiedadvalor($vavv->getIdpropiedadvalor())->getPropiedadvalorNombre(); //PropiedadValor if ($propiedadCount < $articuloVarianteValorCollection->count()) { $tmp['descripcion'] .= ' - '; } } array_push($productos, $tmp); } } //var_dump($this->flashMessenger()->getMessages()); return new ViewModel(array('lugares' => $lugarCollectionArray, 'productos' => $productos)); }
public function listaAction() { //obtenemos nuestros almacenes $lugarCollection = \LugarQuery::create()->find(); $lugarCollectionArray = array(); foreach ($lugarCollection as $kl => $vl) { $lugarCollectionArray[] = array('nombre' => $vl->getLugarNombre(), 'id' => $vl->getIdLugar()); } //Obtenemos nuestros productos $articuloCollection = \ArticuloQuery::create()->find(); //De cada articulo obtenemos sus variaciones (articulovariante) $productos = array(); foreach ($articuloCollection as $ka => $av) { $tmp = array(); $tmp['nombre'] = $av->getArticuloNombre(); $articulovarianteCollection = $av->getArticulovariantes(); foreach ($articulovarianteCollection as $kav => $vav) { $tmp['id'] = $vav->getIdarticulovariante(); $tmp['codigo_barras'] = $vav->getArticulovarianteCodigoBarras(); $tmp['precio'] = $vav->getArticulovariantePrecio(); $tmp['imagen'] = $vav->getArticuloVarianteImagen(); //Por cada valor obtenemos su variaciones $articuloVarianteValorCollection = \ArticulovariantevalorQuery::create()->filterByIdarticulovariante($vav->getIdarticulovariante())->find(); $tmp['descripcion'] = ''; $propiedadCount = 0; foreach ($articuloVarianteValorCollection as $kavv => $vavv) { $propiedadCount++; $tmp['descripcion'] .= \PropiedadQuery::create()->findOneByIdpropiedad($vavv->getIdpropiedad())->getPropiedadNombre(); //Propiedad $tmp['descripcion'] .= ':' . \PropiedadvalorQuery::create()->findOneByIdpropiedadvalor($vavv->getIdpropiedadvalor())->getPropiedadvalorNombre(); //PropiedadValor if ($propiedadCount < $articuloVarianteValorCollection->count()) { $tmp['descripcion'] .= ' - '; } } //Por cada variacion obtenemos los datos de reorden $reordenCollection = \ArticulovariantereordenQuery::create()->findByIdarticulovariante($vav->getIdArticulovariante()); $reordenArray = $reordenCollection->toArray(); if (!empty($reordenArray)) { //Itineramos en el foreach ($reordenCollection as $krc => $vro) { $tmp['reorden']['id'] = $vro->getIdArticulovariantereorden(); $tmp['reorden'][$vro->getLugar()->getLugarNombre()]['min'] = (int) $vro->getMinimo(); $tmp['reorden'][$vro->getLugar()->getLugarNombre()]['reorden'] = (int) $vro->getReorden(); $tmp['reorden'][$vro->getLugar()->getLugarNombre()]['max'] = (int) $vro->getMaximo(); } } else { foreach ($lugarCollection as $kl => $vl) { $tmp['reorden'][$vl->getLugarNombre()]['min'] = 0; $tmp['reorden'][$vl->getLugarNombre()]['reorden'] = 0; $tmp['reorden'][$vl->getLugarNombre()]['max'] = 0; } } //Comenzamos a itinerar sobre los lugares disponibles foreach ($lugarCollection as $kl => $vl) { //Los agregamos a nuestro arreglo $tmp['reorden'][$vl->getLugarNombre()]['existencias'] = 0; } //Obtenemos las compras que se han realizado del articulo variante $compraDetalleCollection = \OrdencompradetalleQuery::create()->findByIdarticulovariante($vav->getIdArticuloVariante()); //Itineramos en la coleccion de compras foreach ($compraDetalleCollection as $kcd => $vcd) { $idCompraDetalle = $vcd->getIdOrdenCompraDetalle(); //por cada compra detalle la buscamos en lugar inventario $lugarInventarioCollection = \LugarinventarioQuery::create()->findByIdordencompradetalle($idCompraDetalle); //empezamos a itinerar en los registros para irlos sumando a nuestro lugar foreach ($lugarInventarioCollection as $kli => $vli) { $lugarNombre = $vli->getLugar()->getLugarNombre(); $cantidad = $vli->getLugarinventarioCantidad(); $tmp['reorden'][$lugarNombre]['existencias'] += $cantidad; } } array_push($productos, $tmp); } } return new ViewModel(array('lugares' => $lugarCollectionArray, 'productos' => $productos)); }
/** * If this collection has already been initialized with * an identical criteria, it returns the collection. * Otherwise if this Propiedad is new, it will return * an empty collection; or if this Propiedad has previously * been saved, it will retrieve related Propiedadvalors from storage. * * This method is protected by default in order to keep the public * api reasonable. You can provide public methods for those you * actually need in Propiedad. * * @param Criteria $criteria optional Criteria object to narrow the query * @param PropelPDO $con optional connection object * @param string $join_behavior optional join type to use (defaults to Criteria::LEFT_JOIN) * @return PropelObjectCollection|Propiedadvalor[] List of Propiedadvalor objects */ public function getPropiedadvalorsJoinArticulo($criteria = null, $con = null, $join_behavior = Criteria::LEFT_JOIN) { $query = PropiedadvalorQuery::create(null, $criteria); $query->joinWith('Articulo', $join_behavior); return $this->getPropiedadvalors($query, $con); }
public function historicodetallesAction() { $id = (int) $this->params()->fromRoute('id', 0); if ($id) { if (\PacienteQuery::create()->filterByIdpaciente($id)->exists()) { $cargoconsultaArticuloArray = array(); $cargoconsultaServicioArray = array(); $cargoadmisionArticuloArray = array(); $cargoadmisionServicioArray = array(); $admisionanticiposArray = array(); $pacienteEntity = \PacienteQuery::create()->filterByIdpaciente($id)->findOne(); $consultasQuery = $pacienteEntity->getConsultas(); $admisionesQuery = $pacienteEntity->getAdmisions(); if ($consultasQuery->count() != 0) { foreach ($consultasQuery as $consultaEntity) { $cargoconsultas = $consultaEntity->getCargoconsultas(); if ($cargoconsultas->count() != 0) { foreach ($cargoconsultas as $cargoconsultaEntity) { if ($cargoconsultaEntity->getIdlugarinventario() != null) { $articulovarianteEntity = $cargoconsultaEntity->getLugarinventario()->getOrdencompradetalle()->getArticulovariante(); $propiedadvalorNombre = null; foreach ($articulovarianteEntity->getArticulovariantevalors()->getArrayCopy() as $articulovariantevalorEntity) { $propiedadQuery = \PropiedadQuery::create()->filterByIdpropiedad($articulovariantevalorEntity->getIdpropiedad())->findOne(); $propiedadvalorQuery = \PropiedadvalorQuery::create()->filterByIdpropiedadvalor($articulovariantevalorEntity->getIdpropiedadvalor())->findOne(); $propiedadvalorNombre .= $propiedadQuery->getPropiedadNombre() . " " . $propiedadvalorQuery->getPropiedadvalorNombre() . " "; } $cargoconsultaArticulo = array('idcargoconsulta' => $cargoconsultaEntity->getIdcargoconsulta(), 'idconsulta' => $cargoconsultaEntity->getIdconsulta(), 'status' => $cargoconsultaEntity->getConsulta()->getConsultaStatus(), 'cantidad' => $cargoconsultaEntity->getCantidad(), 'articulo' => $cargoconsultaEntity->getLugarinventario()->getOrdencompradetalle()->getArticulovariante()->getArticulo()->getArticuloNombre(), 'descripcion' => utf8_encode($propiedadvalorNombre), 'salida' => $cargoconsultaEntity->getLugarinventario()->getLugar()->getLugarNombre(), 'fechahora' => $cargoconsultaEntity->getCargoconsultaFecha(), 'precio' => $cargoconsultaEntity->getLugarinventario()->getOrdencompradetalle()->getArticulovariante()->getArticulovariantePrecio(), 'subtotal' => $cargoconsultaEntity->getMonto()); array_push($cargoconsultaArticuloArray, $cargoconsultaArticulo); } if ($cargoconsultaEntity->getIdservicio() != null) { $cargoconsultaServicio = array('idcargoconsulta' => $cargoconsultaEntity->getIdcargoconsulta(), 'idconsulta' => $cargoconsultaEntity->getIdconsulta(), 'status' => $cargoconsultaEntity->getConsulta()->getConsultaStatus(), 'cantidad' => $cargoconsultaEntity->getCantidad(), 'servicio' => $cargoconsultaEntity->getServicio()->getServicioNombre(), 'descripcion' => $cargoconsultaEntity->getServicio()->getServicioDescripcion(), 'precio' => $cargoconsultaEntity->getServicio()->getServicioPrecio(), 'subtotal' => $cargoconsultaEntity->getMonto(), 'fechahora' => $cargoconsultaEntity->getConsulta()->getConsultaFecha()); array_push($cargoconsultaServicioArray, $cargoconsultaServicio); } } } } } if ($admisionesQuery->count() != 0) { foreach ($admisionesQuery as $admisionEntity) { $cargoadmisiones = $admisionEntity->getCargoadmisions(); $admisionanticiposQuery = $admisionEntity->getAdmisionAnticipos(); foreach ($admisionanticiposQuery as $admisionanticipoEntity) { $admisionanticipo = array('idadmisionanticipo' => $admisionanticipoEntity->getIdadmisionanticipo(), 'idadmision' => $admisionanticipoEntity->getIdadmision(), 'admisionanticipo_fecha' => $admisionanticipoEntity->getAdmisionanticipoFecha(), 'admisionanticipo_cantidad' => $admisionanticipoEntity->getAdmisionanticipoCantidad(), 'admisionanticipo_nota' => $admisionanticipoEntity->getAdmisionanticipoNota(), 'admisionanticipo_tipo' => $admisionanticipoEntity->getAdmisionanticipoTipo()); array_push($admisionanticiposArray, $admisionanticipo); } if ($cargoadmisiones->count() != 0) { foreach ($cargoadmisiones as $cargoadmisionEntity) { if ($cargoadmisionEntity->getIdlugarinventario() != null) { $articulovarianteEntity = $cargoadmisionEntity->getLugarinventario()->getOrdencompradetalle()->getArticulovariante(); foreach ($articulovarianteEntity->getArticulovariantevalors()->getArrayCopy() as $articulovariantevalorEntity) { $propiedadQuery = \PropiedadQuery::create()->filterByIdpropiedad($articulovariantevalorEntity->getIdpropiedad())->findOne(); $propiedadNombre = $propiedadQuery->getPropiedadNombre(); } foreach ($articulovarianteEntity->getArticulovariantevalors()->getArrayCopy() as $articulovariantevalorEntity) { $propiedadvalorQuery = \PropiedadvalorQuery::create()->filterByIdpropiedadvalor($articulovariantevalorEntity->getIdpropiedadvalor())->findOne(); $propiedadvalorNombre = $propiedadvalorQuery->getPropiedadvalorNombre(); } $cargoadmisionArticulo = array('idcargoadmision' => $cargoadmisionEntity->getIdcargoadmision(), 'idadmision' => $cargoadmisionEntity->getIdadmision(), 'status' => $cargoadmisionEntity->getAdmision()->getAdmisionStatus(), 'cargoadmision_cantidad' => $cargoadmisionEntity->getCargoadmisionCantidad(), 'articulo' => $cargoadmisionEntity->getLugarinventario()->getOrdencompradetalle()->getArticulovariante()->getArticulo()->getArticuloNombre(), 'descripcion' => utf8_encode($propiedadNombre . " " . $propiedadvalorNombre), 'salida' => $cargoadmisionEntity->getLugarinventario()->getLugar()->getLugarNombre(), 'fechahora' => $cargoadmisionEntity->getCargoadmisionFecha(), 'precio' => $cargoadmisionEntity->getLugarinventario()->getOrdencompradetalle()->getArticulovariante()->getArticulovariantePrecio(), 'subtotal' => $cargoadmisionEntity->getCargoadmisionMonto()); array_push($cargoadmisionArticuloArray, $cargoadmisionArticulo); } if ($cargoadmisionEntity->getIdservicio() != null) { $cargoadmisionServicio = array('idcargoadmision' => $cargoadmisionEntity->getIdcargoadmision(), 'idadmision' => $cargoadmisionEntity->getIdadmision(), 'status' => $cargoadmisionEntity->getAdmision()->getAdmisionStatus(), 'cargoadmision_cantidad' => $cargoadmisionEntity->getCargoadmisionCantidad(), 'servicio' => $cargoadmisionEntity->getServicio()->getServicioNombre(), 'descripcion' => $cargoadmisionEntity->getServicio()->getServicioDescripcion(), 'precio' => $cargoadmisionEntity->getServicio()->getServicioPrecio(), 'subtotal' => $cargoadmisionEntity->getCargoadmisionMonto(), 'fechahora' => $cargoadmisionEntity->getAdmision()->getAdmisionFechaadmision()); array_push($cargoadmisionServicioArray, $cargoadmisionServicio); } } } } } return new ViewModel(array('pacienteEntity' => $pacienteEntity, 'consultasQuery' => $consultasQuery, 'admisionesQuery' => $admisionesQuery, 'admisionanticiposArray' => $admisionanticiposArray, 'cargoconsultaArticuloArray' => $cargoconsultaArticuloArray, 'cargoconsultaServicioArray' => $cargoconsultaServicioArray, 'cargoadmisionArticuloArray' => $cargoadmisionArticuloArray, 'cargoadmisionServicioArray' => $cargoadmisionServicioArray)); } } else { return $this->redirect()->toRoute('pacientes', array('action' => 'historicos')); } }
public function editarAction() { $id = (int) $this->params()->fromRoute('id', 0); if (!$id) { return $this->redirect()->toRoute('producto', array('action' => 'nuevo')); } $request = $this->getRequest(); //Verificamos que el idarticulo que se quiere modificar exista if (ArticuloQuery::create()->filterByIdarticulo($id)->exists()) { //Instanciamos nuestro idarticulo $articulo = ArticuloQuery::create()->findPk($id); //Almacenamos en un arreglo todas las propiedades $tipoCollection = \TipoQuery::create()->find(); $tipoArray = array(); foreach ($tipoCollection as $tipoEntity) { $tipoArray[$tipoEntity->getIdtipo()] = $tipoEntity->getTipoNombre(); } //Instanciamos nuestro formulario $productoForm = new ProductoForm($tipoArray); $productoArray = array(); foreach ($articulo->toArray(BasePeer::TYPE_FIELDNAME) as $articuloKey => $articuloValue) { $productoArray[$articuloKey] = $articuloValue; } //Almacenamos en un arreglo todas las propiedades $propiedadCollection = \PropiedadQuery::create()->filterByIdarticulo($productoArray['idarticulo'])->find(); $propiedadArray = array(); // Si existen registros if ($propiedadCollection->getArrayCopy()) { foreach ($propiedadCollection->getArrayCopy() as $propiedadEntity) { foreach ($propiedadEntity->toArray(BasePeer::TYPE_FIELDNAME) as $propiedadKey => $propiedadValue) { //Si los keys son igual a idpropiedad o propiedad_nombre if ($propiedadKey == 'idpropiedad' || $propiedadKey == 'propiedad_nombre') { $propiedadArray[$propiedadKey] = $propiedadValue; //Almacenamos en un arreglo todas los valores de las propiedades $propiedadvalorCollection = \PropiedadvalorQuery::create()->filterByIdpropiedad($propiedadArray['idpropiedad'])->filterByIdarticulo($productoArray['idarticulo'])->find(); $propiedadvalorArray = array(); if ($propiedadvalorCollection->getArrayCopy()) { foreach ($propiedadvalorCollection->getArrayCopy() as $propiedadvalorEntity) { foreach ($propiedadvalorEntity->toArray(BasePeer::TYPE_FIELDNAME) as $propiedadvalorKey => $propiedadvalorValue) { if ($propiedadvalorKey == 'idpropiedadvalor' || $propiedadvalorKey == 'propiedadvalor_nombre') { $propiedadvalorArray[$propiedadvalorKey] = $propiedadvalorValue; array_push($productoArray, $propiedadvalorArray); } } } } array_push($productoArray, $propiedadArray); } } } } //Le ponemos los datos de nuestro producto a nuestro formulario $productoForm->setData($productoArray); if ($request->isPost()) { //Si hicieron POST //Instanciamos nuestro filtro $productoFilter = new ProductoFilter(); //Le ponemos nuestro filtro a nuesto fromulario $productoForm->setInputFilter($productoFilter->getInputFilter()); //Le ponemos los datos a nuestro formulario $productoForm->setData($request->getPost()); //Validamos nuestro formulario if ($productoForm->isValid()) { //Recorremos nuestro formulario y seteamos los valores a nuestro objeto Medico foreach ($productoForm->getData() as $productoKey => $productoValue) { $articulo->setByName($productoKey, $productoValue, \BasePeer::TYPE_FIELDNAME); } //Guardamos en nuestra base de datos $articulo->save(); //Agregamos un mensaje $this->flashMessenger()->addMessage('Medico guardado exitosamente!'); //Redireccionamos a nuestro list return $this->redirect()->toRoute('producto'); } else { } } return new ViewModel(array('id' => $id, 'ProductoForm' => $productoForm)); } }
public function indexAction() { $request = $this->request; if ($request->isPost()) { //Si envian el formulario $post_data = $request->getPost(); $id = $post_data['idproducto']; if ($id) { //Creamos una instacia de nuestro articulovariante $articuloVariante = \ArticulovarianteQuery::create()->findOneByIdarticulovariante($id); $articuloVariante->setArticulovarianteCodigobarras($request->getPost()->articulovariante_codigobarras); $articuloVariante->setArticulovarianteCosto($request->getPost()->articulovariante_costo); $articuloVariante->setArticulovariantePrecio($request->getPost()->articulovariante_precio); $articuloVariante->setArticulovarianteIva($request->getPost()->articulovariante_iva); if ($articuloVariante->isModified()) { $articuloVariante->save(); } } else { //Comenzamos a itinerar sobre nuestro los elementos enviados foreach ($request->getPost() as $key => $value) { if (strpos($key, 'producto') !== false) { $idArticuloVariante = explode("-", $key); $idArticuloVariante = $idArticuloVariante[1]; //Creamos una instacia de nuestro articulovariante $articuloVariante = \ArticulovarianteQuery::create()->findOneByIdarticulovariante($idArticuloVariante); $articuloVariante->setArticulovarianteCodigobarras($value["codigobarras"]); $articuloVariante->setArticulovarianteCosto($value["costo"]); $articuloVariante->setArticulovariantePrecio($value["precio"]); $articuloVariante->setArticulovarianteIva($value["iva"]); if ($articuloVariante->isModified()) { $articuloVariante->save(); } } } } //Ahora las imagen if (!empty($_FILES)) { $upload_folder = '/img/productos/'; $imagen = $_FILES['articulovariante_imagen']; $tipo_archivo = $_FILES['articulovariante_imagen']['type']; $tipo_archivo = explode('/', $tipo_archivo); $tipo_archivo = $tipo_archivo[1]; $nombre_archivo = 'producto_' . $post_data['idproducto'] . '.' . $tipo_archivo; $tmp_archivo = $imagen['tmp_name']; $archivador = $upload_folder . $nombre_archivo; if (move_uploaded_file($tmp_archivo, $_SERVER["DOCUMENT_ROOT"] . $archivador)) { $articuloVariante->setArticulovarianteImagen($archivador); $articuloVariante->save(); } } else { $oldulr = $_SERVER["DOCUMENT_ROOT"] . $articuloVariante->getArticulovarianteImagen(); unlink($oldulr); $articuloVariante->setArticulovarianteImagen(''); if ($articuloVariante->isModified()) { $articuloVariante->save(); } } //Agregamos un mensaje //$this->flashMessenger()->addMessage('Registro de productos guardados exitosamente!'); } //Obtenemos nuestros productos $articuloCollection = \ArticuloQuery::create()->find(); //De cada articulo obtenemos sus variaciones (articulovariante) $productos = array(); foreach ($articuloCollection as $ka => $av) { $tmp['nombre'] = $av->getArticuloNombre(); $articulovarianteCollection = $av->getArticulovariantes(); //Comenzamos a itinerar sobre las variaciones foreach ($articulovarianteCollection as $kav => $vav) { $tmp['id'] = $vav->getIdarticulovariante(); $tmp['codigo_barras'] = !is_null($vav->getArticuloVarianteCodigobarras()) ? $vav->getArticuloVarianteCodigobarras() : ''; $tmp['costo'] = !is_null($vav->getArticuloVarianteCosto()) ? $vav->getArticuloVarianteCosto() : 0.0; $tmp['precio'] = !is_null($vav->getArticuloVariantePrecio()) ? $vav->getArticuloVariantePrecio() : 0.0; $tmp['iva'] = !is_null($vav->getArticuloVarianteIva()) ? $vav->getArticuloVarianteIva() : 0; $tmp['imagen'] = $vav->getArticuloVarianteImagen(); //Por cada valor obtenemos su variaciones $articuloVarianteValorCollection = \ArticulovariantevalorQuery::create()->filterByIdarticulovariante($vav->getIdarticulovariante())->find(); //Comenzamos a itinerar sobre articulovariantevalor para obtener sus resultado $tmp['descripcion'] = ''; $propiedadCount = 0; foreach ($articuloVarianteValorCollection as $kavv => $vavv) { $propiedadCount++; $tmp['descripcion'] .= \PropiedadQuery::create()->findOneByIdpropiedad($vavv->getIdpropiedad())->getPropiedadNombre(); //Propiedad $tmp['descripcion'] .= ':' . \PropiedadvalorQuery::create()->findOneByIdpropiedadvalor($vavv->getIdpropiedadvalor())->getPropiedadvalorNombre(); //PropiedadValor if ($propiedadCount < $articuloVarianteValorCollection->count()) { $tmp['descripcion'] .= ' - '; } } array_push($productos, $tmp); } } //var_dump($this->flashMessenger()->getMessages()); return new ViewModel(array('flashMessages' => $this->flashMessenger()->getMessages(), 'productos' => $productos)); }
public function generarAction() { if ($this->params()->fromQuery('id')) { $param = $this->params()->fromQuery('id'); $type = explode('-', $param); $type = $type[0]; $idmovimiento = explode('-', $param); $idmovimiento = $idmovimiento[1]; switch ($type) { case 'ADM': $admision = \AdmisionQuery::create()->findPk($idmovimiento)->toArray(\BasePeer::TYPE_FIELDNAME); //Los "items" $admision_detalles_servicios = \CargoadmisionQuery::create()->filterByCargoadmisionTipo('servicio')->filterByIdadmision($idmovimiento)->find(); foreach ($admision_detalles_servicios as $detalle) { $item = $detalle->toArray(\BasePeer::TYPE_FIELDNAME); $servicio_nombre = $detalle->getServicio()->getServicioNombre(); $servicio_valorunitario = $detalle->getServicio()->getServicioPrecio(); $item['servicio_tasa'] = $detalle->getServicio()->getServicioIva(); $item['servicio_nombre'] = $servicio_nombre; $item['servicio_valorunitario'] = $servicio_valorunitario; $item['servicio_unidad'] = 'No aplica'; $admision['detalles'][] = $item; } $admision_detalles_articulo = \CargoadmisionQuery::create()->filterByCargoadmisionTipo('articulo')->filterByIdadmision($idmovimiento)->find(); foreach ($admision_detalles_articulo as $detalle) { $articulo = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticuloVariante()->getArticulo(); $articulo_variante = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticuloVariante(); $articulo_nombre = ''; $articulo_nombre .= $articulo->getArticuloNombre() . ' '; //Descripcion $articuloVarianteValorCollection = \ArticulovariantevalorQuery::create()->filterByIdarticulovariante($articulo_variante->getIdarticulovariante())->find(); $propiedadCount = 0; foreach ($articuloVarianteValorCollection as $kavv => $vavv) { $propiedadCount++; $articulo_nombre .= \PropiedadQuery::create()->findOneByIdpropiedad($vavv->getIdpropiedad())->getPropiedadNombre(); //Propiedad $articulo_nombre .= ':' . \PropiedadvalorQuery::create()->findOneByIdpropiedadvalor($vavv->getIdpropiedadvalor())->getPropiedadvalorNombre(); //PropiedadValor if ($propiedadCount < $articuloVarianteValorCollection->count()) { $articulo_nombre .= ' - '; } } $item = $detalle->toArray(\BasePeer::TYPE_FIELDNAME); $item['articulo_nombre'] = $articulo_nombre; $item['articulo_unidad'] = 'pieza'; $item['articulo_valorunitario'] = $articulo_variante->getArticulovariantePrecio(); $item['articulo_tasa'] = $articulo_variante->getArticulovarianteIva(); $admision['detalles'][] = $item; } $generalOrder = $admision; break; case 'CON': $consulta = \ConsultaQuery::create()->findPk($idmovimiento)->toArray(\BasePeer::TYPE_FIELDNAME); //Los "items" $consulta_detalles_servicios = \CargoconsultaQuery::create()->filterByCargoconsultaTipo('servicio')->filterByIdconsulta($idmovimiento)->find(); foreach ($consulta_detalles_servicios as $detalle) { $item = $detalle->toArray(\BasePeer::TYPE_FIELDNAME); $servicio_nombre = $detalle->getServicio()->getServicioNombre(); $servicio_valorunitario = $detalle->getServicio()->getServicioPrecio(); $item['servicio_tasa'] = $detalle->getServicio()->getServicioIva(); $item['servicio_nombre'] = $servicio_nombre; $item['servicio_valorunitario'] = $servicio_valorunitario; $item['servicio_unidad'] = 'No aplica'; $consulta['detalles'][] = $item; } $consulta_detalles_articulo = \CargoconsultaQuery::create()->filterByCargoconsultaTipo('articulo')->filterByIdconsulta($idmovimiento)->find(); foreach ($consulta_detalles_articulo as $detalle) { $articulo = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticuloVariante()->getArticulo(); $articulo_variante = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticuloVariante(); $articulo_nombre = ''; $articulo_nombre .= $articulo->getArticuloNombre() . ' '; //Descripcion $articuloVarianteValorCollection = \ArticulovariantevalorQuery::create()->filterByIdarticulovariante($articulo_variante->getIdarticulovariante())->find(); $propiedadCount = 0; foreach ($articuloVarianteValorCollection as $kavv => $vavv) { $propiedadCount++; $articulo_nombre .= \PropiedadQuery::create()->findOneByIdpropiedad($vavv->getIdpropiedad())->getPropiedadNombre(); //Propiedad $articulo_nombre .= ':' . \PropiedadvalorQuery::create()->findOneByIdpropiedadvalor($vavv->getIdpropiedadvalor())->getPropiedadvalorNombre(); //PropiedadValor if ($propiedadCount < $articuloVarianteValorCollection->count()) { $articulo_nombre .= ' - '; } } $item = $detalle->toArray(\BasePeer::TYPE_FIELDNAME); $item['articulo_nombre'] = $articulo_nombre; $item['articulo_unidad'] = 'pieza'; $item['articulo_valorunitario'] = $articulo_variante->getArticulovariantePrecio(); $item['articulo_tasa'] = $articulo_variante->getArticulovarianteIva(); $consulta['detalles'][] = $item; } $generalOrder = $consulta; break; case 'VP': $venta = \VentaQuery::create()->findPk($idmovimiento)->toArray(\BasePeer::TYPE_FIELDNAME); //Los "items" $venta_detalles_servicios = \CargoventaQuery::create()->filterByCargoventaTipo('servicio')->filterByIdventa($idmovimiento)->find(); foreach ($venta_detalles_servicios as $detalle) { $item = $detalle->toArray(\BasePeer::TYPE_FIELDNAME); $servicio_nombre = $detalle->getServicio()->getServicioNombre(); $servicio_valorunitario = $detalle->getServicio()->getServicioPrecio(); $item['servicio_tasa'] = $detalle->getServicio()->getServicioIva(); $item['servicio_nombre'] = $servicio_nombre; $item['servicio_valorunitario'] = $servicio_valorunitario; $item['servicio_unidad'] = 'No aplica'; $venta['detalles'][] = $item; } $venta_detalles_articulo = \CargoventaQuery::create()->filterByCargoventaTipo('articulo')->filterByIdventa($idmovimiento)->find(); foreach ($venta_detalles_articulo as $detalle) { $articulo = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticuloVariante()->getArticulo(); $articulo_variante = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticuloVariante(); $articulo_nombre = ''; $articulo_nombre .= $articulo->getArticuloNombre() . ' '; //Descripcion $articuloVarianteValorCollection = \ArticulovariantevalorQuery::create()->filterByIdarticulovariante($articulo_variante->getIdarticulovariante())->find(); $propiedadCount = 0; foreach ($articuloVarianteValorCollection as $kavv => $vavv) { $propiedadCount++; $articulo_nombre .= \PropiedadQuery::create()->findOneByIdpropiedad($vavv->getIdpropiedad())->getPropiedadNombre(); //Propiedad $articulo_nombre .= ':' . \PropiedadvalorQuery::create()->findOneByIdpropiedadvalor($vavv->getIdpropiedadvalor())->getPropiedadvalorNombre(); //PropiedadValor if ($propiedadCount < $articuloVarianteValorCollection->count()) { $articulo_nombre .= ' - '; } } $item = $detalle->toArray(\BasePeer::TYPE_FIELDNAME); $item['articulo_nombre'] = $articulo_nombre; $item['articulo_unidad'] = 'pieza'; $item['articulo_valorunitario'] = $articulo_variante->getArticulovariantePrecio(); $item['articulo_tasa'] = $articulo_variante->getArticulovarianteIva(); $venta['detalles'][] = $item; } $generalOrder = $venta; break; } //PDF $filePathPDF = '/tmp/pdf/notaremision_' . $param . '.pdf'; $pdf = new \Notasremision\PdfGenerator\PdfGenerator($generalOrder); $pdf->AliasNbPages(); $pdf->AddPage(); $pdf->FancyTable(); $pdf->Output($_SERVER['DOCUMENT_ROOT'] . $filePathPDF, 'F'); $base64_pdf = base64_encode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . $filePathPDF, 'F')); return $this->getResponse()->setContent(\Zend\Json\Json::encode(array('response' => true, 'base64' => $base64_pdf, 'base64_name' => $filePathPDF))); } }
/** * Removes this object from datastore and sets delete attribute. * * @param PropelPDO $con * @return void * @throws PropelException * @throws Exception * @see BaseObject::setDeleted() * @see BaseObject::isDeleted() */ public function delete(PropelPDO $con = null) { if ($this->isDeleted()) { throw new PropelException("This object has already been deleted."); } if ($con === null) { $con = Propel::getConnection(PropiedadvalorPeer::DATABASE_NAME, Propel::CONNECTION_WRITE); } $con->beginTransaction(); try { $deleteQuery = PropiedadvalorQuery::create()->filterByPrimaryKey($this->getPrimaryKey()); $ret = $this->preDelete($con); if ($ret) { $deleteQuery->delete($con); $this->postDelete($con); $con->commit(); $this->setDeleted(true); } else { $con->commit(); } } catch (Exception $e) { $con->rollBack(); throw $e; } }
public function generarAction() { $request = $this->getRequest(); if ($request->isPost()) { $post_data = $request->getPost(); $cerpem = file_get_contents(__DIR__ . '/../Certificados/aad990814bp7_1210261233s.cer.pem'); $this->emisorArr['cerpem'] = $cerpem; $keypem = file_get_contents(__DIR__ . '/../Certificados/aad990814bp7_1210261233s.key.pem'); $this->emisorArr['keypem'] = $keypem; $receptorArr = \PacientefacturacionQuery::create()->findPk($post_data['idpacientefacturacion'])->toArray(\BasePeer::TYPE_FIELDNAME); $idmovimiento = $post_data['idmovimiento']; $type = explode('-', $idmovimiento); $idmovimiento = $type[1]; $type = $type[0]; switch ($type) { case 'ADM': $admision = \AdmisionQuery::create()->findPk($idmovimiento)->toArray(\BasePeer::TYPE_FIELDNAME); //Los "items" $admision_detalles_servicios = \CargoadmisionQuery::create()->filterByCargoadmisionTipo('servicio')->filterByIdadmision($idmovimiento)->find(); foreach ($admision_detalles_servicios as $detalle) { $item = $detalle->toArray(\BasePeer::TYPE_FIELDNAME); $servicio_nombre = $detalle->getServicio()->getServicioNombre(); $servicio_valorunitario = $detalle->getServicio()->getServicioPrecio(); $item['servicio_tasa'] = $detalle->getServicio()->getServicioIva(); $item['servicio_nombre'] = $servicio_nombre; $item['servicio_valorunitario'] = $servicio_valorunitario; $item['servicio_unidad'] = 'No aplica'; $admision['detalles'][] = $item; } $admision_detalles_articulo = \CargoadmisionQuery::create()->filterByCargoadmisionTipo('articulo')->filterByIdadmision($idmovimiento)->find(); foreach ($admision_detalles_articulo as $detalle) { $articulo = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticuloVariante()->getArticulo(); $articulo_variante = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticuloVariante(); $articulo_nombre = ''; $articulo_nombre .= $articulo->getArticuloNombre() . ' '; //Descripcion $articuloVarianteValorCollection = \ArticulovariantevalorQuery::create()->filterByIdarticulovariante($articulo_variante->getIdarticulovariante())->find(); $propiedadCount = 0; foreach ($articuloVarianteValorCollection as $kavv => $vavv) { $propiedadCount++; $articulo_nombre .= \PropiedadQuery::create()->findOneByIdpropiedad($vavv->getIdpropiedad())->getPropiedadNombre(); //Propiedad $articulo_nombre .= ':' . \PropiedadvalorQuery::create()->findOneByIdpropiedadvalor($vavv->getIdpropiedadvalor())->getPropiedadvalorNombre(); //PropiedadValor if ($propiedadCount < $articuloVarianteValorCollection->count()) { $articulo_nombre .= ' - '; } } $item = $detalle->toArray(\BasePeer::TYPE_FIELDNAME); $item['articulo_nombre'] = $articulo_nombre; $item['articulo_unidad'] = 'pieza'; $item['articulo_valorunitario'] = $articulo_variante->getArticulovariantePrecio(); $item['articulo_tasa'] = $articulo_variante->getArticulovarianteIva(); $admision['detalles'][] = $item; } $generalOrder = $admision; break; case 'CON': $consulta = \ConsultaQuery::create()->findPk($idmovimiento)->toArray(\BasePeer::TYPE_FIELDNAME); //Los "items" $consulta_detalles_servicios = \CargoconsultaQuery::create()->filterByCargoconsultaTipo('servicio')->filterByIdconsulta($idmovimiento)->find(); foreach ($consulta_detalles_servicios as $detalle) { $item = $detalle->toArray(\BasePeer::TYPE_FIELDNAME); $servicio_nombre = $detalle->getServicio()->getServicioNombre(); $servicio_valorunitario = $detalle->getServicio()->getServicioPrecio(); $item['servicio_tasa'] = $detalle->getServicio()->getServicioIva(); $item['servicio_nombre'] = $servicio_nombre; $item['servicio_valorunitario'] = $servicio_valorunitario; $item['servicio_unidad'] = 'No aplica'; $consulta['detalles'][] = $item; } $consulta_detalles_articulo = \CargoconsultaQuery::create()->filterByCargoconsultaTipo('articulo')->filterByIdconsulta($idmovimiento)->find(); foreach ($consulta_detalles_articulo as $detalle) { $articulo = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticuloVariante()->getArticulo(); $articulo_variante = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticuloVariante(); $articulo_nombre = ''; $articulo_nombre .= $articulo->getArticuloNombre() . ' '; //Descripcion $articuloVarianteValorCollection = \ArticulovariantevalorQuery::create()->filterByIdarticulovariante($articulo_variante->getIdarticulovariante())->find(); $propiedadCount = 0; foreach ($articuloVarianteValorCollection as $kavv => $vavv) { $propiedadCount++; $articulo_nombre .= \PropiedadQuery::create()->findOneByIdpropiedad($vavv->getIdpropiedad())->getPropiedadNombre(); //Propiedad $articulo_nombre .= ':' . \PropiedadvalorQuery::create()->findOneByIdpropiedadvalor($vavv->getIdpropiedadvalor())->getPropiedadvalorNombre(); //PropiedadValor if ($propiedadCount < $articuloVarianteValorCollection->count()) { $articulo_nombre .= ' - '; } } $item = $detalle->toArray(\BasePeer::TYPE_FIELDNAME); $item['articulo_nombre'] = $articulo_nombre; $item['articulo_unidad'] = 'pieza'; $item['articulo_valorunitario'] = $articulo_variante->getArticulovariantePrecio(); $item['articulo_tasa'] = $articulo_variante->getArticulovarianteIva(); $consulta['detalles'][] = $item; } $generalOrder = $consulta; break; case 'VP': $venta = \VentaQuery::create()->findPk($idmovimiento)->toArray(\BasePeer::TYPE_FIELDNAME); //Los "items" $venta_detalles_servicios = \CargoventaQuery::create()->filterByCargoventaTipo('servicio')->filterByIdventa($idmovimiento)->find(); foreach ($venta_detalles_servicios as $detalle) { $item = $detalle->toArray(\BasePeer::TYPE_FIELDNAME); $servicio_nombre = $detalle->getServicio()->getServicioNombre(); $servicio_valorunitario = $detalle->getServicio()->getServicioPrecio(); $item['servicio_tasa'] = $detalle->getServicio()->getServicioIva(); $item['servicio_nombre'] = $servicio_nombre; $item['servicio_valorunitario'] = $servicio_valorunitario; $item['servicio_unidad'] = 'No aplica'; $venta['detalles'][] = $item; } $venta_detalles_articulo = \CargoventaQuery::create()->filterByCargoventaTipo('articulo')->filterByIdventa($idmovimiento)->find(); foreach ($venta_detalles_articulo as $detalle) { $articulo = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticuloVariante()->getArticulo(); $articulo_variante = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticuloVariante(); $articulo_nombre = ''; $articulo_nombre .= $articulo->getArticuloNombre() . ' '; //Descripcion $articuloVarianteValorCollection = \ArticulovariantevalorQuery::create()->filterByIdarticulovariante($articulo_variante->getIdarticulovariante())->find(); $propiedadCount = 0; foreach ($articuloVarianteValorCollection as $kavv => $vavv) { $propiedadCount++; $articulo_nombre .= \PropiedadQuery::create()->findOneByIdpropiedad($vavv->getIdpropiedad())->getPropiedadNombre(); //Propiedad $articulo_nombre .= ':' . \PropiedadvalorQuery::create()->findOneByIdpropiedadvalor($vavv->getIdpropiedadvalor())->getPropiedadvalorNombre(); //PropiedadValor if ($propiedadCount < $articuloVarianteValorCollection->count()) { $articulo_nombre .= ' - '; } } $item = $detalle->toArray(\BasePeer::TYPE_FIELDNAME); $item['articulo_nombre'] = $articulo_nombre; $item['articulo_unidad'] = 'pieza'; $item['articulo_valorunitario'] = $articulo_variante->getArticulovariantePrecio(); $item['articulo_tasa'] = $articulo_variante->getArticulovarianteIva(); $venta['detalles'][] = $item; } $generalOrder = $venta; break; } // Aqui hacer conexion con el timbrador $bridgeFacturas = new \Facturacion\Timbradores\BridgeFacturas('finkok'); //// A la pasarela ------------------------------------------------------------ $res = $bridgeFacturas->timbrar('factura', $type, $generalOrder, $this->emisorArr, $receptorArr); //Verificamos que no exista error al timbrar if (isset($res['error']) && $res['error'] != '') { $details = $res['error']; return $this->getResponse()->setContent(\Zend\Json\Json::encode(array('response' => false, 'details' => $details))); } else { $xmlTimbrado = $res['response']; $filePathXML = '/tmp/xml/' . $res['xmlId'] . '.xml'; $filePathPDF = '/tmp/pdf/' . $res['xmlId'] . '.pdf'; //Generamos la url del qrcode $qr_main = 'http://chart.googleapis.com/chart?chs=200x200&cht=qr&chl='; $qr_url .= 're=' . $this->emisorArr['rfc']; //Emisor $qr_url .= '&rr=' . $receptorArr['pacientefacturacion_rfc']; //Receptor $qr_url .= '&tt=' . $this->numberTo17Digits($xmlArray["Comprobante"]["total"]); $qr_url .= '&id=' . $xmlArray['TimbreFiscalDigital']['UUID']; $qr_url = $qr_main . urlencode($qr_url) . '.png'; //http://chart.googleapis.com/chart?cht=qr&chl=Hello+world&choe=UTF-8&chs=200x200 //EL PDF $cfdi = $xmlTimbrado['xml']; $cadena_original = $xmlTimbrado['cadenaOriginal']; $qrcode = $qr_url; $pdf = new \Facturacion\PdfGenerator\PdfGenerator($cfdi, $cadena_original, $qrcode); $pdf->AliasNbPages(); $pdf->AddPage(); $pdf->FancyTable(); $pdf->QrCode(); $pdf->Output($_SERVER['DOCUMENT_ROOT'] . $filePathPDF, 'F'); //Guardamos los datos de la factura $factura = new \Factura(); $factura->setIddatosfacturacion($post_data['idpacientefacturacion']); if ($type == 'ADM') { $factura->setIdadmision($idmovimiento); $admision = \AdmisionQuery::create()->findPk($idmovimiento); $admision->setAdmisionFacturada(1); $admision->save(); } else { if ($type == 'CON') { $factura->setIdconsulta($idmovimiento); $consulta = \ConsultaQuery::create()->findPk($idmovimiento); $consulta->setConsultaFacturada(1); $consulta->save(); } else { $factura->setIdventa($idmovimiento); $venta = \VentaQuery::create()->findPk($idmovimiento); $venta->setVentaFacturada(1); $venta->save(); } } $factura->setFacturaUrlXml($filePathXML); $factura->setFacturaUrlPdf($filePathPDF); $factura->setFacturaFecha($xmlTimbrado['fecha']); $factura->setFacturaSellosat($xmlTimbrado['SatSeal']); $factura->setFacturaCertificadosat($xmlTimbrado['NoCertificadoSAT']); $factura->setFacturaCfdi($xmlTimbrado['uuid']); $factura->setFacturaMensaje($xmlTimbrado['codEstatus']); $factura->setFacturaTipodepago('unico'); $factura->setFacturaTipo('ingreso'); $factura->setFacturaStatus('creada'); $factura->setFacturaQrcode($qr_url); $factura->save(); $this->flashMessenger()->addMessage('Factura emitida exitosamente!'); return $this->getResponse()->setContent(\Zend\Json\Json::encode(array('response' => true))); } } if ($this->params()->fromRoute('id')) { $id = $this->params()->fromRoute('id'); $type = explode('-', $id); $id = $type[1]; $type = $type[0]; $factura_info = array(); switch ($type) { case 'ADM': $admision = \AdmisionQuery::create()->findPk($id); $factura_info['fecha'] = $admision->getAdmisionFechaadmision('d-m-Y H:i'); $factura_info['id'] = 'ADM-' . $admision->getIdadmision(); $factura_info['paciente'] = $admision->getPaciente()->getPacienteNombre() . ' ' . $admision->getPaciente()->getPacienteAp() . ' ' . $admision->getPaciente()->getPacienteAm(); $factura_info['idpaciente'] = $admision->getPaciente()->getIdpaciente(); $factura_info['medico'] = $admision->getMedico()->getMedicoNombre() . ' ' . $admision->getMedico()->getMedicoApellidopaterno() . ' ' . $admision->getMedico()->getMedicoApellidomaterno(); $factura_info['pagada'] = $admision->getAdmisionPagadaen('d-m-Y H:i'); $factura_info['tipo_pago'] = $admision->getAdmisionTipodepago(); $factura_info['total'] = $admision->getAdmisionTotal(); $factura_info['tipo'] = 'admision'; $direcciones = \PacientefacturacionQuery::create()->filterByIdpaciente($admision->getPaciente()->getIdpaciente())->find()->toArray(null, false, \BasePeer::TYPE_FIELDNAME); break; case 'CON': $consulta = \ConsultaQuery::create()->findPk($id); $factura_info['fecha'] = $consulta->getConsultaFecha('d-m-Y'); $factura_info['fecha'] .= ' ' . $consulta->getConsultaHora(); $factura_info['id'] = 'CON-' . $consulta->getIdconsulta(); $factura_info['paciente'] = $consulta->getPaciente()->getPacienteNombre() . ' ' . $consulta->getPaciente()->getPacienteAp() . ' ' . $consulta->getPaciente()->getPacienteAm(); $factura_info['idpaciente'] = $consulta->getPaciente()->getIdpaciente(); $factura_info['medico'] = $consulta->getMedico()->getMedicoNombre() . ' ' . $consulta->getMedico()->getMedicoApellidopaterno() . ' ' . $consulta->getMedico()->getMedicoApellidomaterno(); $factura_info['pagada'] = $consulta->getConsultaFecha('d-m-Y'); $factura_info['pagada'] .= ' ' . $consulta->getConsultaHora(); $factura_info['tipo_pago'] = $consulta->getConsultaTipodepago(); $factura_info['total'] = $consulta->getConsultaTotal(); $factura_info['tipo'] = 'consulta'; $direcciones = \PacientefacturacionQuery::create()->filterByIdpaciente($consulta->getPaciente()->getIdpaciente())->find()->toArray(null, false, \BasePeer::TYPE_FIELDNAME); break; case 'VP': $venta = \VentaQuery::create()->findPk($id); $factura_info['fecha'] = $venta->getVentaFecha('d-m-Y H:i'); $factura_info['id'] = 'VP-' . $venta->getIdventa(); $factura_info['paciente'] = $venta->getPaciente()->getPacienteNombre() . ' ' . $venta->getPaciente()->getPacienteAp() . ' ' . $venta->getPaciente()->getPacienteAm(); $factura_info['idpaciente'] = $venta->getPaciente()->getIdpaciente(); $factura_info['medico'] = 'N/A'; $factura_info['pagada'] = $venta->getVentaFecha('d-m-Y H:i'); $factura_info['tipo_pago'] = $venta->getVentaTipodepago(); $factura_info['total'] = $venta->getVentaTotal(); $factura_info['tipo'] = 'venta al publico'; $direcciones = \PacientefacturacionQuery::create()->filterByIdpaciente(1)->find()->toArray(null, false, \BasePeer::TYPE_FIELDNAME); break; } return new ViewModel(array('general_info' => $factura_info, 'facturacion_info' => $direcciones)); } $this->getResponse()->setStatusCode(404); return; }
/** * Get the associated Propiedadvalor object * * @param PropelPDO $con Optional Connection object. * @param $doQuery Executes a query to get the object if required * @return Propiedadvalor The associated Propiedadvalor object. * @throws PropelException */ public function getPropiedadvalor(PropelPDO $con = null, $doQuery = true) { if ($this->aPropiedadvalor === null && $this->idpropiedadvalor !== null && $doQuery) { $this->aPropiedadvalor = PropiedadvalorQuery::create()->findPk($this->idpropiedadvalor, $con); /* The following can be used additionally to guarantee the related object contains a reference to this object. This level of coupling may, however, be undesirable since it could result in an only partially populated collection in the referenced object. $this->aPropiedadvalor->addArticulovariantevalors($this); */ } return $this->aPropiedadvalor; }