示例#1
0
 function comprasbyarticulovarianteAction()
 {
     //Cachamos los datos de la url
     $idarticulovariante = $this->params()->fromQuery('idarticulovariante');
     $descripcion = $this->params()->fromQuery('descripcion');
     $modalName = 'modal-producto-' . $idarticulovariante . '-compras';
     $producto = array();
     $articuloVariante = \ArticulovarianteQuery::create()->findPk($idarticulovariante);
     $producto['nombre'] = $articuloVariante->getArticulo()->getArticuloNombre();
     $producto['descripcion'] = $descripcion;
     $producto['imagen'] = $articuloVariante->getArticulovarianteImagen();
     //Ahora las compras
     $compras = array();
     $compraDetalle = \OrdencompradetalleQuery::create()->filterByIdarticulovariante($idarticulovariante)->useOrdencompraQuery()->filterByIdproveedor(1, \Criteria::NOT_EQUAL)->endUse()->find();
     foreach ($compraDetalle as $kcd => $vcd) {
         $tmp = array();
         $tmp['costo'] = $vcd->getOrdencompradetalleCosto();
         $tmp['fecha'] = $vcd->getOrdencompra()->getOrdencompraFecha('d-m-Y');
         $tmp['proveedor'] = $vcd->getOrdencompra()->getProveedor()->getProveedorNombre();
         array_push($compras, $tmp);
     }
     //var_dump($this->flashMessenger()->getMessages());
     $viewModel = new ViewModel();
     $viewModel->setTerminal(true);
     $viewModel->setVariables(array('modalName' => $modalName, 'producto' => $producto, 'compras' => $compras));
     return $viewModel;
 }
示例#2
0
 public function caducidadbylugarAction()
 {
     //Cachamos los datos de la url
     $idarticulovariante = $this->params()->fromQuery('idarticulovariante');
     $idlugar = $this->params()->fromQuery('idlugar');
     $descripcion = $this->params()->fromQuery('descripcion');
     $existencias = $this->params()->fromQuery('existencias');
     $lugarNombre = $this->params()->fromQuery('lugarNombre');
     $modalName = 'modal-producto-' . $idarticulovariante . '-lugar-' . $idlugar;
     $modal = array('nombre' => \ArticulovarianteQuery::create()->findOneByIdarticulovariante($idarticulovariante)->getArticulo()->getArticuloNombre(), 'descripcion' => $descripcion, 'caducidad' => array(), 'existencias' => $existencias, 'lugar_nombre' => $lugarNombre);
     //Obtenemos todas las ordenes de compra por idarticulovariante
     $ordenCompraDetalleCollection = \OrdencompradetalleQuery::create()->findByIdarticulovariante($idarticulovariante);
     //Comenzamos a itinerar
     foreach ($ordenCompraDetalleCollection as $kocd => $vocd) {
         $date = new \DateTime($vocd->getOrdencompradetalleCaducidad());
         $tmp['caducidad'] = $date->format('m/y');
         $tmp['id'] = $vocd->getIdOrdencompradetalle();
         //Por cada item de articulovariante revisamos su lugar en el inventrario
         $idodencompreadetalle = $vocd->getIdordencompradetalle();
         $lugarinventarioCollection = \LugarinventarioQuery::create()->filterByIdlugar($idlugar)->filterByIdordencompradetalle($idodencompreadetalle)->find();
         //Itineramos en lugarInventario
         foreach ($lugarinventarioCollection as $kli => $vli) {
             $tmp['cantidad'] = $vli->getLugarinventarioCantidad();
             $modal['caducidad'][] = $tmp;
         }
     }
     $viewModel = new ViewModel();
     $viewModel->setTerminal(true);
     $viewModel->setVariables(array('modalName' => $modalName, 'modal' => $modal));
     return $viewModel;
 }
示例#3
0
 /**
  * If this collection has already been initialized with
  * an identical criteria, it returns the collection.
  * Otherwise if this Ordencompra is new, it will return
  * an empty collection; or if this Ordencompra has previously
  * been saved, it will retrieve related Ordencompradetalles 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 Ordencompra.
  *
  * @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|Ordencompradetalle[] List of Ordencompradetalle objects
  */
 public function getOrdencompradetallesJoinArticulovariante($criteria = null, $con = null, $join_behavior = Criteria::LEFT_JOIN)
 {
     $query = OrdencompradetalleQuery::create(null, $criteria);
     $query->joinWith('Articulovariante', $join_behavior);
     return $this->getOrdencompradetalles($query, $con);
 }
示例#4
0
 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');
     }
 }
示例#5
0
 public function deleteitemAction()
 {
     //Cachamos el valor desde nuestro params
     $id = (int) $this->params()->fromQuery('id');
     $html = $this->params()->fromQuery('html');
     if ($html) {
         $viewModel = new ViewModel();
         $viewModel->setTerminal(true);
         $viewModel->setVariable('id', $id);
         return $viewModel;
     }
     $request = $this->request;
     if ($request->isPost()) {
         $post_data = $request->getPost();
         $ordenDetalle = \OrdencompradetalleQuery::create()->findPk($post_data['id']);
         $idorden = $ordenDetalle->getIdordencompra();
         //Eliminamos
         $ordenDetalle->delete();
         if ($ordenDetalle->isDeleted()) {
             //Recalculamos el importe de la factura
             $ordenDetalle = \OrdencompradetalleQuery::create()->filterByIdordencompra($idorden)->find();
             $orden_importe = 0;
             foreach ($ordenDetalle as $item) {
                 $orden_importe += $item->getOrdencompradetalleImporte();
             }
             $orden = \OrdencompraQuery::create()->findPK($idorden);
             $orden->setOrdencompraImporte($orden_importe);
             $orden->save();
             return $this->getResponse()->setContent(\Zend\Json\Json::encode(array('response' => true)));
         }
     }
 }
示例#6
0
 public function caducidadbylugarAction()
 {
     $request = $this->request;
     if ($request->isPost()) {
         $post_data = $request->getPost();
         //Creamos una nueva Orden de compra, donde el proveedor va ser el mismo hospital
         $orden = new \Ordencompra();
         $orden->setIdproveedor(1);
         $fecha = new \DateTime();
         $orden->setOrdencompraNofactura($fecha->getTimestamp());
         $orden->setOrdencompraFecha($fecha->format('Y-m-d'));
         $orden->setOrdencompraImporte(0);
         $orden->setOrdencompraStatus('inventario');
         $orden->setOrdencompraFechaapagar($fecha->format('Y-m-d'));
         $post_data_array = array();
         foreach ($post_data as $post) {
             if (is_array($post)) {
                 $post_data_array[] = $post;
             }
         }
         //Comenzamos a itinerar sobre el post
         foreach ($post_data_array as $row) {
             //Si ya es una orden de compra detalle existente
             if (isset($row['id'])) {
                 //Creamos una instancia de la orden compra detalle
                 $ocd = \OrdencompradetalleQuery::create()->findPk($row['id']);
                 //Setiamos los valores
                 $newCaducidad = new \DateTime();
                 //Si nos envian la fecha, le damos formato
                 if (!empty($row['caducidad'])) {
                     $newCaducidad = $newCaducidad->createFromFormat('d/m/y', '01/' . $row['caducidad']);
                 } else {
                     $newCaducidad = null;
                 }
                 $ocd->setOrdencompradetalleCantidad($row['cantidad']);
                 if (!is_null($newCaducidad)) {
                     $ocd->setOrdencompradetalleCaducidad($newCaducidad->format('Y-m-d'));
                 }
                 $ocd->save();
                 //Ahora actualizamos en lugarInventario
                 $lugarInventario = \LugarinventarioQuery::create()->filterByIdlugar($post_data['idlugar'])->filterByIdordencompradetalle($ocd->getIdordencompradetalle())->findOne();
                 $lugarInventario->setLugarinventarioCantidad($row['cantidad']);
                 $lugarInventario->save();
             } else {
                 //En dado caso que no exista...
                 if (is_null($orden->getIdordencompra())) {
                     $orden->save();
                 }
                 //Nueva instancia de orden compra detalle
                 $ocd = new \Ordencompradetalle();
                 $newCaducidad = new \DateTime();
                 //Si nos envian la fecha, le damos formato
                 if (!empty($row['caducidad'])) {
                     $newCaducidad = $newCaducidad->createFromFormat('d/m/y', '01/' . $row['caducidad']);
                 } else {
                     $newCaducidad = null;
                 }
                 $ocd->setIdordencompra($orden->getIdordencompra())->setIdarticulovariante($post_data['idarticulovariante'])->setOrdencompradetalleCantidad($row['cantidad'])->setOrdencompradetalleCosto(0)->setOrdencompradetallePrecio(0)->setOrdencompradetalleImporte(0);
                 if (!is_null($newCaducidad)) {
                     $ocd->setOrdencompradetalleCaducidad($newCaducidad->format('Y-m-d'));
                 }
                 $ocd->save();
                 //Hacemos el insert en lugar inventario
                 $lugarInventario = new \Lugarinventario();
                 $lugarInventario->setIdlugar($post_data['idlugar'])->setIdordencompradetalle($ocd->getIdordencompradetalle())->setLugarinventarioCantidad($ocd->getOrdencompradetalleCantidad())->save();
             }
         }
         //Agregamos un mensaje
         $this->flashMessenger()->addMessage('Existencias guardadas exitosamente!');
         //Redireccionamos
         return $this->redirect()->toUrl('/productos/existencias');
     }
     //Cachamos los datos de la url
     $idarticulovariante = $this->params()->fromQuery('idarticulovariante');
     $idlugar = $this->params()->fromQuery('idlugar');
     $descripcion = $this->params()->fromQuery('descripcion');
     $existencias = $this->params()->fromQuery('existencias');
     $lugarNombre = $this->params()->fromQuery('lugarNombre');
     $modalName = 'modal-producto-' . $idarticulovariante . '-lugar-' . $idlugar;
     $modal = array('id' => $idarticulovariante, 'idlugar' => $idlugar, 'nombre' => \ArticulovarianteQuery::create()->findOneByIdarticulovariante($idarticulovariante)->getArticulo()->getArticuloNombre(), 'descripcion' => $descripcion, 'caducidad' => array(), 'existencias' => $existencias, 'lugar_nombre' => $lugarNombre);
     //Obtenemos todas las ordenes de compra por idarticulovariante
     $ordenCompraDetalleCollection = \OrdencompradetalleQuery::create()->findByIdarticulovariante($idarticulovariante);
     //Comenzamos a itinerar
     foreach ($ordenCompraDetalleCollection as $kocd => $vocd) {
         $tmp['idordendetallecompra'] = $vocd->getIdordencompradetalle();
         if (!is_null($vocd->getOrdencompradetalleCaducidad())) {
             $date = new \DateTime($vocd->getOrdencompradetalleCaducidad());
             $tmp['caducidad'] = $date->format('m/y');
         } else {
             $tmp['caducidad'] = '';
         }
         //Por cada item de articulovariante revisamos su lugar en el inventrario
         $idodencompreadetalle = $vocd->getIdordencompradetalle();
         $lugarinventarioCollection = \LugarinventarioQuery::create()->filterByIdlugar($idlugar)->filterByIdordencompradetalle($idodencompreadetalle)->find();
         //Itineramos en lugarInventario
         foreach ($lugarinventarioCollection as $kli => $vli) {
             $tmp['cantidad'] = $vli->getLugarinventarioCantidad();
             $modal['caducidad'][] = $tmp;
         }
     }
     $viewModel = new ViewModel();
     $viewModel->setTerminal(true);
     $viewModel->setVariables(array('modalName' => $modalName, 'modal' => $modal));
     return $viewModel;
 }
示例#7
0
 /**
  * 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(OrdencompradetallePeer::DATABASE_NAME, Propel::CONNECTION_WRITE);
     }
     $con->beginTransaction();
     try {
         $deleteQuery = OrdencompradetalleQuery::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;
     }
 }
示例#8
0
 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));
 }
示例#9
0
 public function asignarAction()
 {
     $request = $this->getRequest();
     // Start Alta paciente - consulta alta_consultorio = true
     if ($request->getPost()->alta_consultorio == "true") {
         if (\ConsultorioQuery::create()->filterByIdconsultorio($request->getPost()->idconsultorio)->exists()) {
             $consultorioActualizar = \ConsultorioQuery::create()->filterByIdconsultorio($request->getPost()->idconsultorio)->findOne();
             $consultorioActualizar->setConsultorioEnuso(0)->save();
             $consultorioArray = $consultorioActualizar->toArray(BasePeer::TYPE_FIELDNAME);
             return new JsonModel(array('consultorioArray' => $consultorioArray));
         }
     }
     // End Alta paciente - consulta alta_consultorio = true
     // Start Alta paciente - admision alta_cuarto = true
     if ($request->getPost()->alta_cuarto == "true") {
         if (\CuartoQuery::create()->filterByIdcuarto($request->getPost()->idcuarto)->exists()) {
             $cuartoActualizar = \CuartoQuery::create()->filterByIdcuarto($request->getPost()->idcuarto)->findOne();
             $cuartoActualizar->setCuartoEnuso(0)->save();
             $cuartoArray = $cuartoActualizar->toArray(BasePeer::TYPE_FIELDNAME);
             if (\AdmisionQuery::create()->filterByIdadmision($request->getPost()->idadmision)->exists()) {
                 $admisionActualizarStatus = \AdmisionQuery::create()->filterByIdadmision($request->getPost()->idadmision)->findOne();
                 $admisionActualizarStatus->setAdmisionFechasalida(date('Y-m-d H:i:s'))->save();
                 $admisionArray = $admisionActualizarStatus->toArray(BasePeer::TYPE_FIELDNAME);
             } else {
                 $admisionArray = null;
             }
             return new JsonModel(array('cuartoArray' => $cuartoArray, 'admisionArray' => $admisionArray));
         }
     }
     // End Alta paciente - consulta alta_cuarto = true
     // Start Actualizar admision_status = pagada
     if ($request->getPost()->subTotalAdmision == "0") {
         if (\AdmisionQuery::create()->filterByIdadmision($request->getPost()->idadmision)->exists()) {
             $admisionActualizarStatus = \AdmisionQuery::create()->filterByIdadmision($request->getPost()->idadmision)->findOne();
             $admisionActualizarStatus->setAdmisionStatus($request->getPost()->admision_status)->setAdmisionTipodepago($request->getPost()->admision_tipodepago)->setAdmisionPagadaen(date('Y-m-d H:i:s'))->setAdmisionFacturada(0)->setAdmisionTotal($request->getPost()->admision_total)->setAdmisionReferenciapago($request->getPost()->admision_referenciapago)->save();
             $admisionArray = $admisionActualizarStatus->toArray(BasePeer::TYPE_FIELDNAME);
             return new JsonModel(array('admisionArray' => $admisionArray));
         }
     }
     // End Actualizar admision_status = pagada
     // Start Actualizar consulta_status = pagada
     if ($request->getPost()->subTotalConsulta == "0") {
         if (\ConsultaQuery::create()->filterByIdconsulta($request->getPost()->idconsulta)->exists()) {
             $consultaActualizarStatus = \ConsultaQuery::create()->filterByIdconsulta($request->getPost()->idconsulta)->findOne();
             $consultaActualizarStatus->setConsultaStatus($request->getPost()->consulta_status)->setConsultaReferenciapago($request->getPost()->consulta_referenciapago)->setConsultaTipodepago($request->getPost()->consulta_tipodepago)->setConsultaFacturada(0)->setConsultaTotal($request->getPost()->consulta_total)->save();
             $consultaArray = $consultaActualizarStatus->toArray(BasePeer::TYPE_FIELDNAME);
             return new JsonModel(array('consultaArray' => $consultaArray));
         }
     }
     // End Actualizar consulta_status = pagada
     // Start Eliminar cargoadmision
     if ($request->getPost()->idcargoadmision) {
         if ($request->getPost()->eliminar_cargoadmision_tipo == 'articulo') {
             if (\CargoadmisionQuery::create()->filterByIdcargoadmision($request->getPost()->idcargoadmision)->exists()) {
                 $cargoadmisionEliminado = \CargoadmisionQuery::create()->filterByIdcargoadmision($request->getPost()->idcargoadmision)->findOne();
                 $lugarinventarioEntity = $cargoadmisionEliminado->getLugarinventario();
                 $cantidad = $lugarinventarioEntity->getLugarinventarioCantidad();
                 $lugarinventarioEntity->setLugarinventarioCantidad($cantidad + $request->getPost()->cantidad);
                 $lugarinventarioEntity->save();
                 $cargoadmisionEliminadoArray = array();
                 if ($cargoadmisionEliminado->getIdlugarinventario() != null) {
                     $articulovarianteEliminado = $cargoadmisionEliminado->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() . " ";
                     }
                     $cargoadmisionEliminado = array('idcargoadmision' => $cargoadmisionEliminado->getIdcargoadmision(), 'idadmision' => $cargoadmisionEliminado->getIdadmision(), 'status' => $cargoadmisionEliminado->getAdmision()->getAdmisionStatus(), 'cargoadmision_cantidad' => $cargoadmisionEliminado->getCargoadmisionCantidad(), 'articulo' => $cargoadmisionEliminado->getLugarinventario()->getOrdencompradetalle()->getArticulovariante()->getArticulo()->getArticuloNombre(), 'descripcion' => utf8_encode($propiedadvalorNombreEliminado), 'salida' => $cargoadmisionEliminado->getLugarinventario()->getLugar()->getLugarNombre(), 'fechahora' => $cargoadmisionEliminado->getCargoadmisionFecha(), 'precio' => $cargoadmisionEliminado->getLugarinventario()->getOrdencompradetalle()->getArticulovariante()->getArticulovariantePrecio(), 'subtotal' => $cargoadmisionEliminado->getCargoadmisionMonto());
                     array_push($cargoadmisionEliminadoArray, $cargoadmisionEliminado);
                 }
                 \CargoadmisionQuery::create()->filterByIdcargoadmision($request->getPost()->idcargoadmision)->delete();
                 $cargoadmisionQuery = \CargoadmisionQuery::create()->filterByIdadmision($request->getPost()->idadmision)->find();
                 if ($cargoadmisionQuery->getArrayCopy()) {
                     $cargoadmisionArray = array();
                     foreach ($cargoadmisionQuery 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();
                             }
                             $cargoadmision = 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($cargoadmisionArray, $cargoadmision);
                         }
                     }
                 }
                 return new JsonModel(array('cargoadmisionArray' => $cargoadmisionArray, 'cargoadmisionEliminadoArray' => $cargoadmisionEliminadoArray));
             }
         }
         if ($request->getPost()->eliminar_cargoadmision_tipo == 'servicio') {
             if (\CargoadmisionQuery::create()->filterByIdcargoadmision($request->getPost()->idcargoadmision)->exists()) {
                 $cargoadmisionEliminado = \CargoadmisionQuery::create()->filterByIdcargoadmision($request->getPost()->idcargoadmision)->findOne();
                 $cargoadmisionEliminadoArray = array();
                 if ($cargoadmisionEliminado->getIdservicio() != null) {
                     $cargoadmisionEliminado = array('idcargoadmision' => $cargoadmisionEliminado->getIdcargoadmision(), 'idadmision' => $cargoadmisionEliminado->getIdadmision(), 'status' => $cargoadmisionEliminado->getAdmision()->getAdmisionStatus(), 'cargoadmision_cantidad' => $cargoadmisionEliminado->getCargoadmisionCantidad(), 'servicio' => $cargoadmisionEliminado->getServicio()->getServicioNombre(), 'descripcion' => $cargoadmisionEliminado->getServicio()->getServicioDescripcion(), 'precio' => $cargoadmisionEliminado->getServicio()->getServicioPrecio(), 'subtotal' => $cargoadmisionEliminado->getCargoadmisionMonto(), 'fechahora' => $cargoadmisionEliminado->getCargoadmisionFecha());
                     array_push($cargoadmisionEliminadoArray, $cargoadmisionEliminado);
                 }
                 \CargoadmisionQuery::create()->filterByIdcargoadmision($request->getPost()->idcargoadmision)->delete();
                 $cargoadmisionQuery = \CargoadmisionQuery::create()->filterByIdadmision($request->getPost()->idadmision)->find();
                 if ($cargoadmisionQuery->getArrayCopy()) {
                     $cargoadmisionArray = array();
                     foreach ($cargoadmisionQuery as $cargoadmisionEntity) {
                         if ($cargoadmisionEntity->getIdservicio() != null) {
                             $cargoadmision = 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' => date('Y-m-d H:i:s'));
                             array_push($cargoadmisionArray, $cargoadmision);
                         }
                     }
                 }
                 return new JsonModel(array('cargoadmisionArray' => $cargoadmisionArray, 'cargoadmisionEliminadoArray' => $cargoadmisionEliminadoArray));
             }
         }
     }
     // End Eliminar cargoadmision
     // Start Ver admisionanticipo
     if ($request->getPost()->ver_admisionanticipo == "true") {
         $admisionanticipoQuery = \AdmisionanticipoQuery::create()->filterByIdadmision($request->getPost()->idadmision)->find();
         if ($admisionanticipoQuery->count() != 0) {
             $admisionanticipoArray = array();
             foreach ($admisionanticipoQuery 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($admisionanticipoArray, $admisionanticipo);
             }
         }
         return new JsonModel(array('admisionanticipoArray' => $admisionanticipoArray));
     }
     // End Ver admisionanticipo
     // Start Eliminar admisionanticipo
     if ($request->getPost()->eliminar_admisionanticipo == "true") {
         if (\AdmisionanticipoQuery::create()->filterByIdadmisionanticipo($request->getPost()->idadmisionanticipo)->exists()) {
             $admisionanticipoEliminado = \AdmisionanticipoQuery::create()->filterByIdadmisionanticipo($request->getPost()->idadmisionanticipo)->findOne();
             $admisionanticipoEliminadoArray = array();
             $admisionanticipoEliminado = array('idadmisionanticipo' => $admisionanticipoEliminado->getIdadmisionanticipo(), 'idadmision' => $admisionanticipoEliminado->getIdadmision(), 'admisionanticipo_fecha' => $admisionanticipoEliminado->getAdmisionanticipoFecha(), 'admisionanticipo_cantidad' => $admisionanticipoEliminado->getAdmisionanticipoCantidad(), 'admisionanticipo_nota' => $admisionanticipoEliminado->getAdmisionanticipoNota());
             array_push($admisionanticipoEliminadoArray, $admisionanticipoEliminado);
             \AdmisionanticipoQuery::create()->filterByIdadmisionanticipo($request->getPost()->idadmisionanticipo)->delete();
             $cargoadmisionQuery = \CargoadmisionQuery::create()->filterByIdadmision($request->getPost()->idadmision)->find();
             if ($cargoadmisionQuery->getArrayCopy()) {
                 $cargoadmisionArray = array();
                 foreach ($cargoadmisionQuery as $cargoadmisionEntity) {
                     if ($cargoadmisionEntity->getIdservicio() != null) {
                         $cargoadmision = array('subtotal' => $cargoadmisionEntity->getCargoadmisionMonto());
                         array_push($cargoadmisionArray, $cargoadmision);
                     }
                 }
             }
             return new JsonModel(array('cargoadmisionArray' => $cargoadmisionArray, 'admisionanticipoEliminadoArray' => $admisionanticipoEliminadoArray));
         }
     }
     // End Eliminar admisionanticipo
     // Start Eliminar cargoconsulta
     if ($request->getPost()->idcargoconsulta) {
         if ($request->getPost()->eliminar_cargoconsulta_tipo == 'articulo') {
             if (\CargoconsultaQuery::create()->filterByIdcargoconsulta($request->getPost()->idcargoconsulta)->exists()) {
                 $cargoconsultaEliminado = \CargoconsultaQuery::create()->filterByIdcargoconsulta($request->getPost()->idcargoconsulta)->findOne();
                 $lugarinventarioEntity = $cargoconsultaEliminado->getLugarinventario();
                 $cantidad = $lugarinventarioEntity->getLugarinventarioCantidad();
                 $lugarinventarioEntity->setLugarinventarioCantidad($cantidad + $request->getPost()->cantidad);
                 $lugarinventarioEntity->save();
                 $cargoconsultaEliminadoArray = array();
                 if ($cargoconsultaEliminado->getIdlugarinventario() != null) {
                     $articulovarianteEliminado = $cargoconsultaEliminado->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() . " ";
                     }
                     $cargoconsultaEliminado = array('idcargoconsulta' => $cargoconsultaEliminado->getIdcargoconsulta(), 'idconsulta' => $cargoconsultaEliminado->getIdconsulta(), 'status' => $cargoconsultaEliminado->getConsulta()->getConsultaStatus(), 'cantidad' => $cargoconsultaEliminado->getCantidad(), 'articulo' => $cargoconsultaEliminado->getLugarinventario()->getOrdencompradetalle()->getArticulovariante()->getArticulo()->getArticuloNombre(), 'descripcion' => utf8_encode($propiedadvalorNombreEliminado), 'salida' => $cargoconsultaEliminado->getLugarinventario()->getLugar()->getLugarNombre(), 'fechahora' => $cargoconsultaEliminado->getCargoconsultaFecha(), 'precio' => $cargoconsultaEliminado->getLugarinventario()->getOrdencompradetalle()->getArticulovariante()->getArticulovariantePrecio(), 'subtotal' => $cargoconsultaEliminado->getMonto());
                     array_push($cargoconsultaEliminadoArray, $cargoconsultaEliminado);
                 }
                 \CargoconsultaQuery::create()->filterByIdcargoconsulta($request->getPost()->idcargoconsulta)->delete();
                 $cargoconsultaQuery = \CargoconsultaQuery::create()->filterByIdconsulta($request->getPost()->idconsulta)->find();
                 if ($cargoconsultaQuery->getArrayCopy()) {
                     $cargoconsultaArray = array();
                     foreach ($cargoconsultaQuery 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() . " ";
                             }
                             $cargoconsulta = 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($cargoconsultaArray, $cargoconsulta);
                         }
                     }
                 }
                 return new JsonModel(array('cargoconsultaArray' => $cargoconsultaArray, 'cargoconsultaEliminadoArray' => $cargoconsultaEliminadoArray));
             }
         }
         if ($request->getPost()->eliminar_cargoconsulta_tipo == 'servicio') {
             if (\CargoconsultaQuery::create()->filterByIdcargoconsulta($request->getPost()->idcargoconsulta)->exists()) {
                 $cargoconsultaEliminado = \CargoconsultaQuery::create()->filterByIdcargoconsulta($request->getPost()->idcargoconsulta)->findOne();
                 $cargoconsultaEliminadoArray = array();
                 if ($cargoconsultaEliminado->getIdservicio() != null) {
                     $cargoconsultaEliminado = array('idcargoconsulta' => $cargoconsultaEliminado->getIdcargoconsulta(), 'idconsulta' => $cargoconsultaEliminado->getIdconsulta(), 'status' => $cargoconsultaEliminado->getConsulta()->getConsultaStatus(), 'cantidad' => $cargoconsultaEliminado->getCantidad(), 'servicio' => $cargoconsultaEliminado->getServicio()->getServicioNombre(), 'descripcion' => $cargoconsultaEliminado->getServicio()->getServicioDescripcion(), 'precio' => $cargoconsultaEliminado->getServicio()->getServicioPrecio(), 'subtotal' => $cargoconsultaEliminado->getMonto(), 'fechahora' => $cargoconsultaEliminado->getCargoconsultaFecha());
                     array_push($cargoconsultaEliminadoArray, $cargoconsultaEliminado);
                 }
                 \CargoconsultaQuery::create()->filterByIdcargoconsulta($request->getPost()->idcargoconsulta)->delete();
                 $cargoconsultaQuery = \CargoconsultaQuery::create()->filterByIdconsulta($request->getPost()->idconsulta)->find();
                 if ($cargoconsultaQuery->getArrayCopy()) {
                     $cargoconsultaArray = array();
                     foreach ($cargoconsultaQuery as $cargoconsultaEntity) {
                         if ($cargoconsultaEntity->getIdservicio() != null) {
                             $cargoconsulta = 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' => date('Y-m-d H:i:s'));
                             array_push($cargoconsultaArray, $cargoconsulta);
                         }
                     }
                 }
                 return new JsonModel(array('cargoconsultaArray' => $cargoconsultaArray, 'cargoconsultaEliminadoArray' => $cargoconsultaEliminadoArray));
             }
         }
     }
     // End Eliminar cargoconsulta
     // Inicio Anticipo Admision
     //Intanciamos nuestro formulario admisionanticipo
     $admisionanticipoForm = new AdmisionanticipoForm();
     //Instanciamos nuestro filtro
     $admisionanticipoFilter = new AdmisionanticipoFilter();
     //Le ponemos nuestro filtro a nuesto fromulario
     $admisionanticipoForm->setInputFilter($admisionanticipoFilter->getInputFilter());
     //Le ponemos los datos a nuestro formulario
     $admisionanticipoForm->setData($request->getPost());
     //Validamos nuestro formulario
     if ($admisionanticipoForm->isValid()) {
         $admisionanticipo = new \Admisionanticipo();
         //Recorremos nuestro formulario y seteamos los valores a nuestro objeto Admisionanticipo
         foreach ($admisionanticipoForm->getData() as $admisionanticipoKey => $admisionanticipoValue) {
             $admisionanticipo->setByName($admisionanticipoKey, $admisionanticipoValue, \BasePeer::TYPE_FIELDNAME);
         }
         $admisionanticipo->setAdmisionanticipoFecha(date('Y-m-d H:i:s'));
         //Guardamos en nuestra base de datos
         $admisionanticipo->save();
         $admisionanticipoArray = \AdmisionanticipoQuery::create()->filterByIdadmisionanticipo($admisionanticipo->getIdadmisionanticipo())->findOne()->toArray(\BasePeer::TYPE_FIELDNAME);
         return new JsonModel(array('admisionanticipoArray' => $admisionanticipoArray));
     }
     // Fin Anticipo Admision
     // Inicio Pago Admision
     //Intanciamos nuestro formulario admisionanticipo
     $admisionanticipoForm = new AdmisionanticipoForm();
     //Instanciamos nuestro filtro
     $admisionanticipoFilter = new AdmisionanticipoFilter();
     //Le ponemos nuestro filtro a nuesto fromulario
     $admisionanticipoForm->setInputFilter($admisionanticipoFilter->getInputFilter());
     //Le ponemos los datos a nuestro formulario
     $admisionanticipoForm->setData($request->getPost());
     //Validamos nuestro formulario
     if ($admisionanticipoForm->isValid()) {
         $admisionanticipo = new \Admisionanticipo();
         //Recorremos nuestro formulario y seteamos los valores a nuestro objeto Admisionanticipo
         foreach ($admisionanticipoForm->getData() as $admisionanticipoKey => $admisionanticipoValue) {
             $admisionanticipo->setByName($admisionanticipoKey, $admisionanticipoValue, \BasePeer::TYPE_FIELDNAME);
         }
         $admisionanticipo->setAdmisionanticipoFecha(date('Y-m-d H:i:s'));
         //Guardamos en nuestra base de datos
         $admisionanticipo->save();
         $admisionanticipoArray = \AdmisionanticipoQuery::create()->filterByIdadmisionanticipo($admisionanticipo->getIdadmisionanticipo())->findOne()->toArray(\BasePeer::TYPE_FIELDNAME);
         return new JsonModel(array('admisionanticipoArray' => $admisionanticipoArray));
     }
     // Fin Pago Admision
     // Inicio Pago Consulta
     //Intanciamos nuestro formulario consultaanticipo
     $consultaanticipoForm = new ConsultaanticipoForm();
     //Instanciamos nuestro filtro
     $consultaanticipoFilter = new ConsultaanticipoFilter();
     //Le ponemos nuestro filtro a nuesto fromulario
     $consultaanticipoForm->setInputFilter($consultaanticipoFilter->getInputFilter());
     //Le ponemos los datos a nuestro formulario
     $consultaanticipoForm->setData($request->getPost());
     //Validamos nuestro formulario
     if ($consultaanticipoForm->isValid()) {
         $consultaanticipo = new \Consultaanticipo();
         //Recorremos nuestro formulario y seteamos los valores a nuestro objeto consultaanticipo
         foreach ($consultaanticipoForm->getData() as $consultaanticipoKey => $consultaanticipoValue) {
             $consultaanticipo->setByName($consultaanticipoKey, $consultaanticipoValue, \BasePeer::TYPE_FIELDNAME);
         }
         $consultaanticipo->setConsultaanticipoFecha(date('Y-m-d H:i:s'));
         //Guardamos en nuestra base de datos
         $consultaanticipo->save();
         $consultaanticipoArray = \ConsultaanticipoQuery::create()->filterByIdconsultaanticipo($consultaanticipo->getIdconsultaanticipo())->findOne()->toArray(\BasePeer::TYPE_FIELDNAME);
         return new JsonModel(array('consultaanticipoArray' => $consultaanticipoArray));
     }
     // Fin Pago Consulta
     $id = (int) $this->params()->fromRoute('id', 0);
     if ($id) {
         $paciente = PacienteQuery::create()->filterByIdpaciente($id)->findOne();
         $fechaNacimiento = date('m/d/Y', strtotime($paciente->getPacienteFechanacimiento()));
         // Inicio Preparando Form Admision
         // Almacenamos en un array los registros de todos los medicos existentes en la base de datos
         $medicoCollection = \MedicoQuery::create()->find();
         $medicoArray = array();
         foreach ($medicoCollection as $medicoEntity) {
             $medicoArray[$medicoEntity->getIdmedico()] = $medicoEntity->getMedicoNombre() . " " . $medicoEntity->getMedicoApellidopaterno() . " " . $medicoEntity->getMedicoApellidomaterno();
         }
         // Almacenamos en un array los registros de todos los cuartos existentes en la base de datos
         $cuartoCollection = \CuartoQuery::create()->filterByCuartoEnuso(false)->find();
         $cuartoArray = array();
         foreach ($cuartoCollection as $cuartoEntity) {
             $cuartoArray[$cuartoEntity->getIdcuarto()] = $cuartoEntity->getCuartoNombre();
         }
         //Intanciamos nuestro formulario admision y le mandamos por parametro los medicos y cuartos existentes
         $admisionForm = new AdmisionForm($medicoArray, $cuartoArray);
         //Instanciamos un nuevo objeto de nuestro objeto Paciente
         $admision = new \Admision();
         // Fin Preparando Form Admision
         // Inicio Preparando Form Consultorio
         // Almacenamos en un array los registros de todos los consultorios existentes en la base de datos
         $consultorioCollection = \ConsultorioQuery::create()->filterByConsultorioEnuso(false)->find();
         $consultorioArray = array();
         foreach ($consultorioCollection as $consultorioEntity) {
             $consultorioArray[$consultorioEntity->getIdconsultorio()] = $consultorioEntity->getConsultorioNombre();
         }
         //Intanciamos nuestro formulario consulta y le mandamos por parametro los medicos y consultorios existentes
         $consultaForm = new ConsultaForm($medicoArray, $consultorioArray);
         //Instanciamos un nuevo objeto de nuestro objeto Paciente
         $consulta = new \Consulta();
         // Fin Preparando Form Consultorio
         //Intanciamos nuestro formulario cargoconsulta "SIN PARAMETROS"
         $cargoconsultaForm = new CargoconsultaForm();
         if ($request->getPost()->cargoconsultaarticulo_by != null) {
             if ($request->getPost()->cargoconsultaarticulo_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()->cargoconsultaarticulo_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()->cargoconsultaarticulo_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, 'cargoconsulta_tipo' => 'articulo', 'cargoconsulta_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()->cargoconsultaservicio_by != null) {
             if ($request->getPost()->cargoconsultaservicio_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(), 'cargoconsulta_tipo' => 'servicio', 'cargoconsulta_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 Cargoconsulta
         //Intanciamos nuestro formulario cargoadmision "SIN PARAMETROS"
         $cargoadmisionForm = new CargoadmisionForm();
         if ($request->getPost()->cargoadmisionarticulo_by != null) {
             if ($request->getPost()->cargoadmisionarticulo_by == 'nombre') {
                 if ($request->getPost()->busquedaAdmisionArticulo != null) {
                     $ordencompradetalleQuery = \OrdencompradetalleQuery::create()->useArticulovarianteQuery()->useArticuloQuery()->filterBy(BasePeer::translateFieldname('articulo', 'articulo_nombre', BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_PHPNAME), '%' . $request->getPost()->busquedaAdmisionArticulo . '%', \Criteria::LIKE)->endUse()->endUse()->find();
                 } else {
                     $ordencompradetalleQuery = \OrdencompradetalleQuery::create()->find();
                 }
             }
             if ($request->getPost()->cargoadmisionarticulo_by == 'código de barras') {
                 if ($request->getPost()->busquedaAdmisionArticulo != null) {
                     $ordencompradetalleQuery = \OrdencompradetalleQuery::create()->useArticulovarianteQuery()->filterBy(BasePeer::translateFieldname('articulovariante', 'articulovariante_codigobarras', BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_PHPNAME), '%' . $request->getPost()->busquedaAdmisionArticulo . '%', \Criteria::LIKE)->endUse()->find();
                 } else {
                     $ordencompradetalleQuery = \OrdencompradetalleQuery::create()->find();
                 }
             }
             if ($request->getPost()->cargoadmisionarticulo_by == 'proveedor') {
                 if ($request->getPost()->busquedaAdmisionArticulo != null) {
                     $ordencompradetalleQuery = \OrdencompradetalleQuery::create()->useOrdencompraQuery()->useProveedorQuery()->filterBy(BasePeer::translateFieldname('proveedor', 'proveedor_nombre', BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_PHPNAME), '%' . $request->getPost()->busquedaAdmisionArticulo . '%', \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, 'cargoadmision_tipo' => 'articulo', 'cargoadmision_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()->cargoadmisionservicio_by != null) {
             if ($request->getPost()->cargoadmisionservicio_by == 'nombre') {
                 if ($request->getPost()->busquedaAdmisionServicio != null) {
                     $servicioQuery = \ServicioQuery::create()->filterBy(BasePeer::translateFieldname('servicio', 'servicio_nombre', BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_PHPNAME), '%' . $request->getPost()->busquedaAdmisionServicio . '%', \Criteria::LIKE)->find();
                 } else {
                     $servicioQuery = \ServicioQuery::create()->find();
                 }
             }
             if ($servicioQuery->getArrayCopy()) {
                 $servicioArray = array();
                 foreach ($servicioQuery as $servicioEntity) {
                     $servicio = array('idservicio' => $servicioEntity->getIdservicio(), 'cargoadmision_tipo' => 'servicio', 'cargoadmision_fecha' => date('Y-m-d H:i:s'), 'servicio_nombre' => $servicioEntity->getServicioNombre(), 'servicio_descripcion' => $servicioEntity->getServicioDescripcion(), 'servicio_precio' => $servicioEntity->getServicioPrecio());
                     array_push($servicioArray, $servicio);
                 }
             } else {
                 $servicioArray = null;
             }
             return new JsonModel(array('servicioArray' => $servicioArray));
         }
         // Fin Preparando Form Cargoadmision
         if ($request->isPost()) {
             //Si hicieron POST
             //Instanciamos nuestro filtro
             $consultaFilter = new ConsultaFilter();
             //Le ponemos nuestro filtro a nuesto fromulario
             $consultaForm->setInputFilter($consultaFilter->getInputFilter());
             //Le ponemos los datos a nuestro formulario
             $consultaForm->setData($request->getPost());
             //Validamos nuestro formulario
             if ($consultaForm->isValid()) {
                 //Recorremos nuestro formulario y seteamos los valores a nuestro objeto Consulta
                 foreach ($consultaForm->getData() as $consultaKey => $consultaValue) {
                     $consulta->setByName($consultaKey, $consultaValue, \BasePeer::TYPE_FIELDNAME);
                     $consulta->setConsultaStatus('no pagada');
                 }
                 //Guardamos en nuestra base de datos
                 $consulta->save();
                 $consultorio = $consulta->getConsultorio();
                 $consultorio->setConsultorioEnuso(1);
                 $consultorio->save();
                 $consultaArray = \ConsultaQuery::create()->filterByIdconsulta($consulta->getIdconsulta())->findOne()->toArray(BasePeer::TYPE_FIELDNAME);
                 return new JsonModel(array('consultaArray' => $consultaArray));
                 //Redireccionamos a nuestro list
                 //return $this->redirect()->toRoute('pacientes');
             }
             //Instanciamos nuestro filtro
             $cargoconsultaFilter = new CargoconsultaFilter();
             //Le ponemos nuestro filtro a nuesto fromulario
             $cargoconsultaForm->setInputFilter($cargoconsultaFilter->getInputFilter());
             //Le ponemos los datos a nuestro formulario
             $cargoconsultaForm->setData($request->getPost());
             //Validamos nuestro formulario
             if ($cargoconsultaForm->isValid()) {
                 $cargoconsultaArray = array();
                 if ($request->getPost()->cargoconsulta_tipo == 'articulo') {
                     //Instanciamos un nuevo objeto de nuestro objeto Paciente
                     $cargoconsulta = new \Cargoconsulta();
                     //Recorremos nuestro formulario y seteamos los valores a nuestro objeto Consulta
                     foreach ($cargoconsultaForm->getData() as $cargoconsultaKey => $cargoconsultaValue) {
                         if ($cargoconsultaKey != 'cargoconsultaarticulo_by' && $cargoconsultaKey != 'cargoconsultaservicio_by' && $cargoconsultaKey != 'busquedaArticulo' && $cargoconsultaKey != 'busquedaServicio') {
                             $cargoconsulta->setByName($cargoconsultaKey, $cargoconsultaValue, \BasePeer::TYPE_FIELDNAME);
                         }
                     }
                     // Validar precio, caducidad y existencia de ordencompradetalle
                     $existencia = $cargoconsulta->getLugarinventario()->getLugarinventarioCantidad();
                     $caducidad = $cargoconsulta->getLugarinventario()->getOrdencompradetalle()->getOrdencompradetalleCaducidad();
                     $precio = $cargoconsulta->getLugarinventario()->getOrdencompradetalle()->getArticulovariante()->getArticulovariantePrecio();
                     if ($existencia > 0) {
                         if ($caducidad < date('Y-m-d')) {
                             $cargoconsulta->setMonto($request->getPost()->cantidad * $precio);
                         }
                     }
                     //Guardamos en nuestra base de datos
                     $cargoconsulta->save();
                     $lugarinventarioQuery = $cargoconsulta->getLugarinventario();
                     $lugarinventarioQuery->setLugarinventarioCantidad($lugarinventarioQuery->getLugarinventarioCantidad() - $cargoconsulta->getCantidad());
                     $lugarinventarioQuery->save();
                     $cargoconsultaQuery = \CargoconsultaQuery::create()->filterByIdconsulta($cargoconsulta->getIdconsulta())->find();
                     if ($cargoconsultaQuery->getArrayCopy()) {
                         foreach ($cargoconsultaQuery 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() . " ";
                                 }
                                 $cargoconsulta = 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($cargoconsultaArray, $cargoconsulta);
                             }
                         }
                     }
                 }
                 if ($request->getPost()->cargoconsulta_tipo == 'servicio') {
                     //Instanciamos un nuevo objeto de nuestro objeto Paciente
                     $cargoconsulta = new \Cargoconsulta();
                     //Recorremos nuestro formulario y seteamos los valores a nuestro objeto Consulta
                     foreach ($cargoconsultaForm->getData() as $cargoconsultaKey => $cargoconsultaValue) {
                         if ($cargoconsultaKey != 'cargoconsultaarticulo_by' && $cargoconsultaKey != 'cargoconsultaservicio_by' && $cargoconsultaKey != 'busquedaArticulo' && $cargoconsultaKey != 'busquedaServicio') {
                             $cargoconsulta->setByName($cargoconsultaKey, $cargoconsultaValue, \BasePeer::TYPE_FIELDNAME);
                         }
                     }
                     $precio = $cargoconsulta->getServicio()->getServicioPrecio();
                     $cargoconsulta->setMonto($request->getPost()->cantidad * $precio);
                     //Guardamos en nuestra base de datos
                     $cargoconsulta->save();
                     $cargoconsultaQuery = \CargoconsultaQuery::create()->filterByIdconsulta($cargoconsulta->getIdconsulta())->find();
                     if ($cargoconsultaQuery->getArrayCopy()) {
                         foreach ($cargoconsultaQuery as $cargoconsultaEntity) {
                             if ($cargoconsultaEntity->getIdservicio() != null) {
                                 $cargoconsulta = 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' => date('Y-m-d H:i:s'));
                                 array_push($cargoconsultaArray, $cargoconsulta);
                             }
                         }
                     }
                 }
                 return new JsonModel(array('cargoconsultaArray' => $cargoconsultaArray));
             }
             /* else {
                    $messageArray = array();
                    foreach ($cargoconsultaForm->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
                    ));
                }*/
             //Instanciamos nuestro filtro
             $admisionFilter = new AdmisionFilter();
             //Le ponemos nuestro filtro a nuesto fromulario
             $admisionForm->setInputFilter($admisionFilter->getInputFilter());
             //Le ponemos los datos a nuestro formulario
             $admisionForm->setData($request->getPost());
             //Validamos nuestro formulario
             if ($admisionForm->isValid()) {
                 //Recorremos nuestro formulario y seteamos los valores a nuestro objeto Admision
                 foreach ($admisionForm->getData() as $admisionKey => $admisionValue) {
                     $admision->setByName($admisionKey, $admisionValue, \BasePeer::TYPE_FIELDNAME);
                     if ($admisionKey == 'admision_fechaadmision') {
                         $admision->setAdmisionFechaadmision($admisionValue . " " . date('H:i:s'));
                     }
                     $admision->setAdmisionStatus('no pagada');
                 }
                 //Guardamos en nuestra base de datos
                 $admision->save();
                 $cuarto = $admision->getCuarto();
                 $cuarto->setCuartoEnuso(1);
                 $cuarto->save();
                 $admisionArray = \AdmisionQuery::create()->filterByIdadmision($admision->getIdadmision())->findOne()->toArray(BasePeer::TYPE_FIELDNAME);
                 return new JsonModel(array('admisionArray' => $admisionArray));
                 //Redireccionamos a nuestro list
                 //return $this->redirect()->toRoute('pacientes');
             }
             /*else {
                   $messageArray = array();
                   foreach ($cargoadmisionForm->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 JsonModel(array(
                       'error' => $messageArray,
                   ));
               }*/
             //Instanciamos nuestro filtro
             $cargoadmisionFilter = new CargoadmisionFilter();
             //Le ponemos nuestro filtro a nuesto fromulario
             $cargoadmisionForm->setInputFilter($cargoadmisionFilter->getInputFilter());
             //Le ponemos los datos a nuestro formulario
             $cargoadmisionForm->setData($request->getPost());
             //Validamos nuestro formulario
             if ($cargoadmisionForm->isValid()) {
                 $cargoadmisionArray = array();
                 if ($request->getPost()->cargoadmision_tipo == 'articulo') {
                     //Instanciamos un nuevo objeto de nuestro objeto Paciente
                     $cargoadmision = new \Cargoadmision();
                     //Recorremos nuestro formulario y seteamos los valores a nuestro objeto Admision
                     foreach ($cargoadmisionForm->getData() as $cargoadmisionKey => $cargoadmisionValue) {
                         if ($cargoadmisionKey != 'cargoadmisionarticulo_by' && $cargoadmisionKey != 'cargoadmisionservicio_by' && $cargoadmisionKey != 'busquedaAdmisionArticulo' && $cargoadmisionKey != 'busquedaAdmisionServicio') {
                             $cargoadmision->setByName($cargoadmisionKey, $cargoadmisionValue, \BasePeer::TYPE_FIELDNAME);
                         }
                     }
                     // Validar precio, caducidad y existencia de ordencompradetalle
                     $existencia = $cargoadmision->getLugarinventario()->getLugarinventarioCantidad();
                     $caducidad = $cargoadmision->getLugarinventario()->getOrdencompradetalle()->getOrdencompradetalleCaducidad();
                     $precio = $cargoadmision->getLugarinventario()->getOrdencompradetalle()->getArticulovariante()->getArticulovariantePrecio();
                     if ($existencia > 0) {
                         if ($caducidad < date('Y-m-d')) {
                             $cargoadmision->setCargoadmisionMonto($request->getPost()->cargoadmision_cantidad * $precio);
                         }
                     }
                     //Guardamos en nuestra base de datos
                     $cargoadmision->save();
                     $lugarinventarioQuery = $cargoadmision->getLugarinventario();
                     $lugarinventarioQuery->setLugarinventarioCantidad($lugarinventarioQuery->getLugarinventarioCantidad() - $cargoadmision->getCargoadmisionCantidad());
                     $lugarinventarioQuery->save();
                     $cargoadmisionQuery = \CargoadmisionQuery::create()->filterByIdadmision($cargoadmision->getIdadmision())->find();
                     if ($cargoadmisionQuery->getArrayCopy()) {
                         foreach ($cargoadmisionQuery as $cargoadmisionEntity) {
                             if ($cargoadmisionEntity->getIdlugarinventario() != null) {
                                 $articulovarianteEntity = $cargoadmisionEntity->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() . " ";
                                 }
                                 $cargoadmision = 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($propiedadvalorNombre), 'salida' => $cargoadmisionEntity->getLugarinventario()->getLugar()->getLugarNombre(), 'fechahora' => $cargoadmisionEntity->getCargoadmisionFecha(), 'precio' => $cargoadmisionEntity->getLugarinventario()->getOrdencompradetalle()->getArticulovariante()->getArticulovariantePrecio(), 'subtotal' => $cargoadmisionEntity->getCargoadmisionMonto());
                                 array_push($cargoadmisionArray, $cargoadmision);
                             }
                         }
                     }
                 }
                 if ($request->getPost()->cargoadmision_tipo == 'servicio') {
                     //Instanciamos un nuevo objeto de nuestro objeto Paciente
                     $cargoadmision = new \Cargoadmision();
                     //Recorremos nuestro formulario y seteamos los valores a nuestro objeto Admision
                     foreach ($cargoadmisionForm->getData() as $cargoadmisionKey => $cargoadmisionValue) {
                         if ($cargoadmisionKey != 'cargoadmisionarticulo_by' && $cargoadmisionKey != 'cargoadmisionservicio_by' && $cargoadmisionKey != 'busquedaAdmisionArticulo' && $cargoadmisionKey != 'busquedaAdmisionServicio') {
                             $cargoadmision->setByName($cargoadmisionKey, $cargoadmisionValue, \BasePeer::TYPE_FIELDNAME);
                         }
                     }
                     $precio = $cargoadmision->getServicio()->getServicioPrecio();
                     $cargoadmision->setCargoadmisionMonto($request->getPost()->cargoadmision_cantidad * $precio);
                     //Guardamos en nuestra base de datos
                     $cargoadmision->save();
                     $cargoadmisionQuery = \CargoadmisionQuery::create()->filterByIdadmision($cargoadmision->getIdadmision())->find();
                     if ($cargoadmisionQuery->getArrayCopy()) {
                         foreach ($cargoadmisionQuery as $cargoadmisionEntity) {
                             if ($cargoadmisionEntity->getIdservicio() != null) {
                                 $cargoadmision = 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' => date('Y-m-d H:i:s'));
                                 array_push($cargoadmisionArray, $cargoadmision);
                             }
                         }
                     }
                 }
                 return new JsonModel(array('cargoadmisionArray' => $cargoadmisionArray));
             }
             /* else {
                    $messageArray = array();
                    foreach ($cargoadmisionForm->getMessages() as $key => $value){
                        foreach($value as $val){
                            //Obtenemos el valor de la columna con error
                            $message = $key.' '.$val;
                            array_push($messageArray, $message);
                        }
                    }
                    return new JsonModel(array(
                        'error' => $messageArray,
                    ));
                }*/
         }
         return new ViewModel(array('pacienteEntity' => $paciente, 'edad' => $this->calculaEdad($fechaNacimiento), 'consultaForm' => $consultaForm, 'admisionForm' => $admisionForm, 'cargoconsultaForm' => $cargoconsultaForm, 'cargoadmisionForm' => $cargoadmisionForm));
     } else {
         return $this->redirect()->toRoute('pacientes');
     }
 }
示例#10
0
 /**
  * Get the associated Ordencompradetalle object
  *
  * @param PropelPDO $con Optional Connection object.
  * @param $doQuery Executes a query to get the object if required
  * @return Ordencompradetalle The associated Ordencompradetalle object.
  * @throws PropelException
  */
 public function getOrdencompradetalle(PropelPDO $con = null, $doQuery = true)
 {
     if ($this->aOrdencompradetalle === null && $this->idordencompradetalle !== null && $doQuery) {
         $this->aOrdencompradetalle = OrdencompradetalleQuery::create()->findPk($this->idordencompradetalle, $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->aOrdencompradetalle->addLugarinventarios($this);
            */
     }
     return $this->aOrdencompradetalle;
 }