public function indexAction() { $request = $this->request; if ($request->isPost()) { $post_data = $request->getPost(); $fecha_from = $post_data['fecha_from']; $fecha_from = \DateTime::createFromFormat('d-m-Y', $fecha_from); $fecha_to = $post_data['fecha_to']; if (!empty($fecha_to)) { $fecha_to = \DateTime::createFromFormat('d-m-Y', $fecha_to); } else { $fecha_to = new \DateTime(); } $total_productos = 0; $total_servicios = 0; $q = \CargoadmisionQuery::create()->filterByCargoadmisionTipo('articulo')->filterByCargoadmisionFecha(array('min' => $fecha_from->format('Y-m-d'), 'max' => $fecha_to->format('Y-m-d')))->withColumn('SUM(cargoadmision_monto)', 'total')->findOne()->toArray(); if (!is_null($q['total'])) { $total_productos += $q['total']; } $q = \CargoconsultaQuery::create()->filterByCargoconsultaTipo('articulo')->filterByCargoconsultaFecha(array('min' => $fecha_from->format('Y-m-d'), 'max' => $fecha_to->format('Y-m-d')))->withColumn('SUM(monto)', 'total')->findOne()->toArray(); if (!is_null($q['total'])) { $total_productos += $q['total']; } $q = \CargoventaQuery::create()->filterByCargoventaTipo('articulo')->filterByCargoventaFecha(array('min' => $fecha_from->format('Y-m-d'), 'max' => $fecha_to->format('Y-m-d')))->withColumn('SUM(monto)', 'total')->findOne()->toArray(); if (!is_null($q['total'])) { $total_productos += $q['total']; } $q = \CargoadmisionQuery::create()->filterByCargoadmisionTipo('servicio')->filterByCargoadmisionFecha(array('min' => $fecha_from->format('Y-m-d'), 'max' => $fecha_to->format('Y-m-d')))->withColumn('SUM(cargoadmision_monto)', 'total')->findOne()->toArray(); if (!is_null($q['total'])) { $total_servicios += $q['total']; } $q = \CargoconsultaQuery::create()->filterByCargoconsultaTipo('servicio')->filterByCargoconsultaFecha(array('min' => $fecha_from->format('Y-m-d'), 'max' => $fecha_to->format('Y-m-d')))->withColumn('SUM(monto)', 'total')->findOne()->toArray(); if (!is_null($q['total'])) { $total_servicios += $q['total']; } $q = \CargoventaQuery::create()->filterByCargoventaTipo('servicio')->filterByCargoventaFecha(array('min' => $fecha_from->format('Y-m-d'), 'max' => $fecha_to->format('Y-m-d')))->withColumn('SUM(monto)', 'total')->findOne()->toArray(); if (!is_null($q['total'])) { $total_servicios += $q['total']; } return $this->getResponse()->setContent(\Zend\Json\Json::encode(array('total_servicios' => $total_servicios, 'total_productos' => $total_productos))); } }
public function asignarAction() { $pacienteQuery = \PacienteQuery::create()->filterByPacienteNombre('Publico')->filterByPacienteAp('en')->filterByPacienteAm('general')->findOne(); $id = $pacienteQuery->getIdpaciente(); $request = $this->getRequest(); // Start Actualizar consulta_status = pagada if ($request->getPost()->subTotalVenta == "0") { if (\VentaQuery::create()->filterByIdventa($request->getPost()->idventa)->exists()) { $ventaActualizarStatus = \VentaQuery::create()->filterByIdventa($request->getPost()->idventa)->findOne(); $ventaActualizarStatus->setVentaStatus($request->getPost()->venta_status)->setVentaReferenciapago($request->getPost()->venta_referenciapago)->setVentaTipodepago($request->getPost()->venta_tipodepago)->setVentaFacturada(0)->setVentaTotal($request->getPost()->venta_total)->save(); $ventaArray = $ventaActualizarStatus->toArray(BasePeer::TYPE_FIELDNAME); return new JsonModel(array('ventaArray' => $ventaArray)); } } // End Actualizar consulta_status = pagada // Start Cancelar Venta if ($request->getPost()->ecancelar == "true") { if (\VentaQuery::create()->filterByIdventa($request->getPost()->idventa)->exists()) { \VentaQuery::create()->filterByIdventa($request->getPost()->idventa)->delete(); return new JsonModel(array('ventaEliminada' => true)); } } // End Cancelar Venta // Start Eliminar cargoventa if ($request->getPost()->idcargoventa) { if ($request->getPost()->eliminar_cargoventa_tipo == 'articulo') { if (\CargoventaQuery::create()->filterByIdcargoventa($request->getPost()->idcargoventa)->exists()) { $cargoventaEliminado = \CargoventaQuery::create()->filterByIdcargoventa($request->getPost()->idcargoventa)->findOne(); $lugarinventarioEntity = $cargoventaEliminado->getLugarinventario(); $cantidad = $lugarinventarioEntity->getLugarinventarioCantidad(); $lugarinventarioEntity->setLugarinventarioCantidad($cantidad + $request->getPost()->cantidad); $lugarinventarioEntity->save(); $cargoventaEliminadoArray = array(); if ($cargoventaEliminado->getIdlugarinventario() != null) { $articulovarianteEliminado = $cargoventaEliminado->getLugarinventario()->getOrdencompradetalle()->getArticulovariante(); $propiedadvalorNombreEliminado = null; foreach ($articulovarianteEliminado->getArticulovariantevalors()->getArrayCopy() as $articulovariantevalorEliminado) { $propiedadEliminadoQuery = \PropiedadQuery::create()->filterByIdpropiedad($articulovariantevalorEliminado->getIdpropiedad())->findOne(); $propiedadvalorEliminadoQuery = \PropiedadvalorQuery::create()->filterByIdpropiedadvalor($articulovariantevalorEliminado->getIdpropiedadvalor())->findOne(); $propiedadvalorNombreEliminado .= $propiedadEliminadoQuery->getPropiedadNombre() . " " . $propiedadvalorEliminadoQuery->getPropiedadvalorNombre() . " "; } $cargoventaEliminado = array('idcargoventa' => $cargoventaEliminado->getIdcargoventa(), 'idventa' => $cargoventaEliminado->getIdventa(), 'status' => $cargoventaEliminado->getVenta()->getVentaStatus(), 'cantidad' => $cargoventaEliminado->getCantidad(), 'articulo' => $cargoventaEliminado->getLugarinventario()->getOrdencompradetalle()->getArticulovariante()->getArticulo()->getArticuloNombre(), 'descripcion' => utf8_encode($propiedadvalorNombreEliminado), 'salida' => $cargoventaEliminado->getLugarinventario()->getLugar()->getLugarNombre(), 'fechahora' => $cargoventaEliminado->getCargoventaFecha(), 'precio' => $cargoventaEliminado->getLugarinventario()->getOrdencompradetalle()->getArticulovariante()->getArticulovariantePrecio(), 'subtotal' => $cargoventaEliminado->getMonto()); array_push($cargoventaEliminadoArray, $cargoventaEliminado); } \CargoventaQuery::create()->filterByIdcargoventa($request->getPost()->idcargoventa)->delete(); $cargoventaQuery = \CargoventaQuery::create()->filterByIdventa($request->getPost()->idventa)->find(); if ($cargoventaQuery->getArrayCopy()) { $cargoventaArray = 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() . " "; } $cargoventa = array('idcargoventa' => $cargoventaEntity->getIdcargoventa(), 'idventa' => $cargoventaEntity->getIdventa(), '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($cargoventaArray, $cargoventa); } } } return new JsonModel(array('cargoventaArray' => $cargoventaArray, 'cargoventaEliminadoArray' => $cargoventaEliminadoArray)); } } if ($request->getPost()->eliminar_cargoventa_tipo == 'servicio') { if (\CargoventaQuery::create()->filterByIdcargoventa($request->getPost()->idcargoventa)->exists()) { $cargoventaEliminado = \CargoventaQuery::create()->filterByIdcargoventa($request->getPost()->idcargoventa)->findOne(); $cargoventaEliminadoArray = array(); if ($cargoventaEliminado->getIdservicio() != null) { $cargoventaEliminado = array('idcargoventa' => $cargoventaEliminado->getIdcargoventa(), 'idventa' => $cargoventaEliminado->getIdventa(), 'status' => $cargoventaEliminado->getVenta()->getVentaStatus(), 'cantidad' => $cargoventaEliminado->getCantidad(), 'servicio' => $cargoventaEliminado->getServicio()->getServicioNombre(), 'descripcion' => $cargoventaEliminado->getServicio()->getServicioDescripcion(), 'precio' => $cargoventaEliminado->getServicio()->getServicioPrecio(), 'subtotal' => $cargoventaEliminado->getMonto(), 'fechahora' => $cargoventaEliminado->getCargoventaFecha()); array_push($cargoventaEliminadoArray, $cargoventaEliminado); } \CargoventaQuery::create()->filterByIdcargoventa($request->getPost()->idcargoventa)->delete(); $cargoventaQuery = \CargoventaQuery::create()->filterByIdventa($request->getPost()->idventa)->find(); if ($cargoventaQuery->getArrayCopy()) { $cargoventaArray = array(); foreach ($cargoventaQuery as $cargoventaEntity) { if ($cargoventaEntity->getIdservicio() != null) { $cargoventa = array('idcargoventa' => $cargoventaEntity->getIdcargoventa(), 'idventa' => $cargoventaEntity->getIdventa(), 'status' => $cargoventaEntity->getVenta()->getVentaStatus(), 'cantidad' => $cargoventaEntity->getCantidad(), 'servicio' => $cargoventaEntity->getServicio()->getServicioNombre(), 'descripcion' => $cargoventaEntity->getServicio()->getServicioDescripcion(), 'precio' => $cargoventaEntity->getServicio()->getServicioPrecio(), 'subtotal' => $cargoventaEntity->getMonto(), 'fechahora' => date('Y-m-d H:i:s')); array_push($cargoventaArray, $cargoventa); } } } return new JsonModel(array('cargoventaArray' => $cargoventaArray, 'cargoventaEliminadoArray' => $cargoventaEliminadoArray)); } } } // End Eliminar cargoventa if ($id) { $paciente = PacienteQuery::create()->filterByIdpaciente($id)->findOne(); //Intanciamos nuestro formulario venta $ventaForm = new VentaForm(); //Instanciamos un nuevo objeto de nuestro objeto Paciente $venta = new \Venta(); //Intanciamos nuestro formulario cargoventa "SIN PARAMETROS" $cargoventaForm = new CargoventaForm(); if ($request->getPost()->cargoventaarticulo_by != null) { if ($request->getPost()->cargoventaarticulo_by == 'nombre') { if ($request->getPost()->busquedaArticulo != null) { $ordencompradetalleQuery = \OrdencompradetalleQuery::create()->useArticulovarianteQuery()->useArticuloQuery()->filterBy(BasePeer::translateFieldname('articulo', 'articulo_nombre', BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_PHPNAME), '%' . $request->getPost()->busquedaArticulo . '%', \Criteria::LIKE)->endUse()->endUse()->find(); } else { $ordencompradetalleQuery = \OrdencompradetalleQuery::create()->find(); } } if ($request->getPost()->cargoventaarticulo_by == 'código de barras') { if ($request->getPost()->busquedaArticulo != null) { $ordencompradetalleQuery = \OrdencompradetalleQuery::create()->useArticulovarianteQuery()->filterBy(BasePeer::translateFieldname('articulovariante', 'articulovariante_codigobarras', BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_PHPNAME), '%' . $request->getPost()->busquedaArticulo . '%', \Criteria::LIKE)->endUse()->find(); } else { $ordencompradetalleQuery = \OrdencompradetalleQuery::create()->find(); } } if ($request->getPost()->cargoventaarticulo_by == 'proveedor') { if ($request->getPost()->busquedaArticulo != null) { $ordencompradetalleQuery = \OrdencompradetalleQuery::create()->useOrdencompraQuery()->useProveedorQuery()->filterBy(BasePeer::translateFieldname('proveedor', 'proveedor_nombre', BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_PHPNAME), '%' . $request->getPost()->busquedaArticulo . '%', \Criteria::LIKE)->endUse()->endUse()->find(); } else { $ordencompradetalleQuery = \OrdencompradetalleQuery::create()->find(); } } if ($ordencompradetalleQuery->getArrayCopy()) { $ordencompradetalleArray = array(); $lugarNombre = null; foreach ($ordencompradetalleQuery as $ordencompradetalleEntity) { /* foreach($ordencompradetalleEntity->getLugarinventarios()->getArrayCopy() as $lugarinventarioEntity){ $idlugarinventario = $lugarinventarioEntity->getIdlugarinventario(); $lugarNombre = $lugarinventarioEntity->getLugar()->getLugarNombre(); $lugarinventarioCantidad = $lugarinventarioEntity->getLugarinventarioCantidad(); $articuloNombre = $ordencompradetalleEntity->getArticulovariante()->getArticulo()->getArticuloNombre(); foreach($ordencompradetalleEntity->getArticulovariante()->getArticulovariantevalors()->getArrayCopy() as $articulovariantevalorEntity){ $propiedadQuery = \PropiedadQuery::create()->filterByIdpropiedad($articulovariantevalorEntity->getIdpropiedad())->findOne(); $propiedadNombre = $propiedadQuery->getPropiedadNombre(); } foreach($ordencompradetalleEntity->getArticulovariante()->getArticulovariantevalors()->getArrayCopy() as $articulovariantevalorEntity){ $propiedadvalorQuery = \PropiedadvalorQuery::create()->filterByIdpropiedadvalor($articulovariantevalorEntity->getIdpropiedadvalor())->findOne(); $propiedadvalorNombre = $propiedadvalorQuery->getPropiedadvalorNombre(); } } */ foreach ($ordencompradetalleEntity->getLugarinventarios()->getArrayCopy() as $lugarinventarioEntity) { $idlugarinventario = $lugarinventarioEntity->getIdlugarinventario(); $lugarNombre = $lugarinventarioEntity->getLugar()->getLugarNombre(); $lugarinventarioCantidad = $lugarinventarioEntity->getLugarinventarioCantidad(); $articuloNombre = $ordencompradetalleEntity->getArticulovariante()->getArticulo()->getArticuloNombre(); /* foreach($ordencompradetalleEntity->getArticulovariante()->getArticulovariantevalors()->getArrayCopy() as $articulovariantevalorEntity){ $propiedadQuery = \PropiedadQuery::create()->filterByIdpropiedad($articulovariantevalorEntity->getIdpropiedad())->findOne(); $propiedadNombre = $propiedadQuery->getPropiedadNombre(); array_push($propiedadArray, $propiedadNombre); } foreach($ordencompradetalleEntity->getArticulovariante()->getArticulovariantevalors()->getArrayCopy() as $articulovariantevalorEntity){ $propiedadvalorQuery = \PropiedadvalorQuery::create()->filterByIdpropiedadvalor($articulovariantevalorEntity->getIdpropiedadvalor())->findOne(); $propiedadvalorNombre = $propiedadvalorQuery->getPropiedadvalorNombre(); array_push($propiedadValorArray, $propiedadvalorNombre); } */ $propiedadvalorNombre = null; foreach ($ordencompradetalleEntity->getArticulovariante()->getArticulovariantevalors()->getArrayCopy() as $articulovariantevalorEntity) { $propiedadQuery = \PropiedadQuery::create()->filterByIdpropiedad($articulovariantevalorEntity->getIdpropiedad())->findOne(); $propiedadvalorQuery = \PropiedadvalorQuery::create()->filterByIdpropiedadvalor($articulovariantevalorEntity->getIdpropiedadvalor())->findOne(); $propiedadvalorNombre .= $propiedadQuery->getPropiedadNombre() . " " . $propiedadvalorQuery->getPropiedadvalorNombre() . " "; } } $ordencompradetalle = array('idordencompradetalle' => $ordencompradetalleEntity->getIdordencompradetalle(), 'idlugarinventario' => $idlugarinventario, 'cargoventa_tipo' => 'articulo', 'cargoventa_fecha' => date('Y-m-d H:i:s'), 'ordencompradetalle_caducidad' => $ordencompradetalleEntity->getOrdencompradetalleCaducidad(), 'existencia' => $lugarinventarioCantidad, 'articulo' => $articuloNombre, 'descripcion' => utf8_encode($propiedadvalorNombre), 'precio' => $ordencompradetalleEntity->getArticulovariante()->getArticulovariantePrecio(), 'salida' => $lugarNombre); array_push($ordencompradetalleArray, $ordencompradetalle); } } return new JsonModel(array('ordencompradetalleArray' => $ordencompradetalleArray)); } if ($request->getPost()->cargoventaservicio_by != null) { if ($request->getPost()->cargoventaservicio_by == 'nombre') { if ($request->getPost()->busquedaServicio != null) { $servicioQuery = \ServicioQuery::create()->filterBy(BasePeer::translateFieldname('servicio', 'servicio_nombre', BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_PHPNAME), '%' . $request->getPost()->busquedaServicio . '%', \Criteria::LIKE)->find(); } else { $servicioQuery = \ServicioQuery::create()->find(); } } if ($servicioQuery->getArrayCopy()) { $servicioArray = array(); foreach ($servicioQuery as $servicioEntity) { $servicio = array('idservicio' => $servicioEntity->getIdservicio(), 'cargoventa_tipo' => 'servicio', 'cargoventa_fecha' => date('Y-m-d H:i:s'), 'servicio_nombre' => $servicioEntity->getServicioNombre(), 'servicio_descripcion' => $servicioEntity->getServicioDescripcion(), 'servicio_precio' => $servicioEntity->getServicioPrecio()); array_push($servicioArray, $servicio); } } return new JsonModel(array('servicioArray' => $servicioArray)); } // Fin Preparando Form Cargoventa if ($request->isPost()) { //Si hicieron POST //Instanciamos nuestro filtro $ventaFilter = new VentaFilter(); //Le ponemos nuestro filtro a nuesto fromulario $ventaForm->setInputFilter($ventaFilter->getInputFilter()); //Le ponemos los datos a nuestro formulario $ventaForm->setData($request->getPost()); //Validamos nuestro formulario if ($ventaForm->isValid()) { //Recorremos nuestro formulario y seteamos los valores a nuestro objeto Venta foreach ($ventaForm->getData() as $ventaKey => $ventaValue) { if ($ventaKey == 'venta_fecha') { $venta->setVentaFecha($ventaValue . date('H:i:s')); } else { $venta->setByName($ventaKey, $ventaValue, \BasePeer::TYPE_FIELDNAME); } $venta->setVentaStatus('no pagada'); } //Guardamos en nuestra base de datos $venta->save(); $ventaArray = \VentaQuery::create()->filterByIdventa($venta->getIdventa())->findOne()->toArray(BasePeer::TYPE_FIELDNAME); return new JsonModel(array('ventaArray' => $ventaArray)); //Redireccionamos a nuestro list //return $this->redirect()->toRoute('pacientes'); } //Instanciamos nuestro filtro $cargoventaFilter = new CargoventaFilter(); //Le ponemos nuestro filtro a nuesto fromulario $cargoventaForm->setInputFilter($cargoventaFilter->getInputFilter()); //Le ponemos los datos a nuestro formulario $cargoventaForm->setData($request->getPost()); //Validamos nuestro formulario if ($cargoventaForm->isValid()) { $cargoventaArray = array(); if ($request->getPost()->cargoventa_tipo == 'articulo') { //Instanciamos un nuevo objeto de nuestro objeto Paciente $cargoventa = new \Cargoventa(); //Recorremos nuestro formulario y seteamos los valores a nuestro objeto Venta foreach ($cargoventaForm->getData() as $cargoventaKey => $cargoventaValue) { if ($cargoventaKey != 'cargoventaarticulo_by' && $cargoventaKey != 'cargoventaservicio_by' && $cargoventaKey != 'busquedaArticulo' && $cargoventaKey != 'busquedaServicio') { $cargoventa->setByName($cargoventaKey, $cargoventaValue, \BasePeer::TYPE_FIELDNAME); } } // Validar precio, caducidad y existencia de ordencompradetalle $existencia = $cargoventa->getLugarinventario()->getLugarinventarioCantidad(); $caducidad = $cargoventa->getLugarinventario()->getOrdencompradetalle()->getOrdencompradetalleCaducidad(); $precio = $cargoventa->getLugarinventario()->getOrdencompradetalle()->getArticulovariante()->getArticulovariantePrecio(); if ($existencia > 0) { if ($caducidad < date('Y-m-d')) { $cargoventa->setMonto($request->getPost()->cantidad * $precio); } } //Guardamos en nuestra base de datos $cargoventa->save(); $lugarinventarioQuery = $cargoventa->getLugarinventario(); $lugarinventarioQuery->setLugarinventarioCantidad($lugarinventarioQuery->getLugarinventarioCantidad() - $cargoventa->getCantidad()); $lugarinventarioQuery->save(); $cargoventaQuery = \CargoventaQuery::create()->filterByIdventa($cargoventa->getIdventa())->find(); if ($cargoventaQuery->getArrayCopy()) { 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() . " "; } $cargoventa = 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($cargoventaArray, $cargoventa); } } } } if ($request->getPost()->cargoventa_tipo == 'servicio') { //Instanciamos un nuevo objeto de nuestro objeto Paciente $cargoventa = new \Cargoventa(); //Recorremos nuestro formulario y seteamos los valores a nuestro objeto Venta foreach ($cargoventaForm->getData() as $cargoventaKey => $cargoventaValue) { if ($cargoventaKey != 'cargoventaarticulo_by' && $cargoventaKey != 'cargoventaservicio_by' && $cargoventaKey != 'busquedaArticulo' && $cargoventaKey != 'busquedaServicio') { $cargoventa->setByName($cargoventaKey, $cargoventaValue, \BasePeer::TYPE_FIELDNAME); } } $precio = $cargoventa->getServicio()->getServicioPrecio(); $cargoventa->setMonto($request->getPost()->cantidad * $precio); //Guardamos en nuestra base de datos $cargoventa->save(); $cargoventaQuery = \CargoventaQuery::create()->filterByIdventa($cargoventa->getIdventa())->find(); if ($cargoventaQuery->getArrayCopy()) { foreach ($cargoventaQuery as $cargoventaEntity) { if ($cargoventaEntity->getIdservicio() != null) { $cargoventa = 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($cargoventaArray, $cargoventa); } } } } return new JsonModel(array('cargoventaArray' => $cargoventaArray)); } /* else { $messageArray = array(); foreach ($cargoventaForm->getMessages() as $key => $value){ foreach($value as $val){ //Obtenemos el valor de la columna con error $message = $key.' '.$val; array_push($messageArray, $message); } } var_dump($messageArray); return new ViewModel(array( 'input_error' => $messageArray )); }*/ } return new ViewModel(array('pacienteEntity' => $paciente, 'ventaForm' => $ventaForm, 'cargoventaForm' => $cargoventaForm)); } else { return $this->redirect()->toRoute('pacientes'); } }
/** * If this collection has already been initialized with * an identical criteria, it returns the collection. * Otherwise if this Servicio is new, it will return * an empty collection; or if this Servicio has previously * been saved, it will retrieve related Cargoventas 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 Servicio. * * @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|Cargoventa[] List of Cargoventa objects */ public function getCargoventasJoinVenta($criteria = null, $con = null, $join_behavior = Criteria::LEFT_JOIN) { $query = CargoventaQuery::create(null, $criteria); $query->joinWith('Venta', $join_behavior); return $this->getCargoventas($query, $con); }
/** * Returns a new CargoventaQuery object. * * @param string $modelAlias The alias of a model in the query * @param CargoventaQuery|Criteria $criteria Optional Criteria to build the query from * * @return CargoventaQuery */ public static function create($modelAlias = null, $criteria = null) { if ($criteria instanceof CargoventaQuery) { return $criteria; } $query = new CargoventaQuery(null, null, $modelAlias); if ($criteria instanceof Criteria) { $query->mergeWith($criteria); } return $query; }
/** * 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(CargoventaPeer::DATABASE_NAME, Propel::CONNECTION_WRITE); } $con->beginTransaction(); try { $deleteQuery = CargoventaQuery::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() { 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))); } }
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; }