public function listarAction() { $historico_array = array(); $movimiento_array = array(); $admisiones = \AdmisionQuery::create()->find(); foreach ($admisiones as $admision) { $tmp['fecha'] = $admision->getAdmisionFechaadmision('d-m-Y'); $hora = date("g:i A", strtotime($admision->getAdmisionFechaadmision('h:i'))); $tmp['hora'] = $hora; $tmp['id'] = 'ADM-' . $admision->getIdadmision(); $tmp['paciente'] = $admision->getPaciente()->getPacienteNombre() . ' ' . $admision->getPaciente()->getPacienteAp() . ' ' . $admision->getPaciente()->getPacienteAm(); $tmp['medico'] = $admision->getMedico()->getMedicoNombre() . ' ' . $admision->getMedico()->getMedicoApellidopaterno() . ' ' . $admision->getMedico()->getMedicoApellidomaterno(); $tmp['tipo'] = 'admision'; $movimiento_array['ADM-' . $admision->getIdadmision()] = 'ADM-' . $admision->getIdadmision(); $historico_array[] = $tmp; } $consultas = \ConsultaQuery::create()->find(); foreach ($consultas as $consulta) { $tmp['fecha'] = $consulta->getConsultaFecha('d-m-Y'); $hora = date("g:i A", strtotime($consulta->getConsultaHora('h:i'))); $tmp['hora'] = $hora; $tmp['id'] = 'CON-' . $consulta->getIdconsulta(); $tmp['paciente'] = $consulta->getPaciente()->getPacienteNombre() . ' ' . $consulta->getPaciente()->getPacienteAp() . ' ' . $consulta->getPaciente()->getPacienteAm(); $tmp['medico'] = $consulta->getMedico()->getMedicoNombre() . ' ' . $consulta->getMedico()->getMedicoApellidopaterno() . ' ' . $consulta->getMedico()->getMedicoApellidomaterno(); $tmp['tipo'] = 'consulta'; $movimiento_array['CON-' . $consulta->getIdconsulta()] = 'CON-' . $consulta->getIdconsulta(); $historico_array[] = $tmp; } return new ViewModel(array('movimientos' => $movimiento_array, 'collection' => $historico_array)); }
/** * If this collection has already been initialized with * an identical criteria, it returns the collection. * Otherwise if this Paciente is new, it will return * an empty collection; or if this Paciente has previously * been saved, it will retrieve related Admisions 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 Paciente. * * @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|Admision[] List of Admision objects */ public function getAdmisionsJoinMedico($criteria = null, $con = null, $join_behavior = Criteria::LEFT_JOIN) { $query = AdmisionQuery::create(null, $criteria); $query->joinWith('Medico', $join_behavior); return $this->getAdmisions($query, $con); }
/** * Get the associated Admision object * * @param PropelPDO $con Optional Connection object. * @param $doQuery Executes a query to get the object if required * @return Admision The associated Admision object. * @throws PropelException */ public function getAdmision(PropelPDO $con = null, $doQuery = true) { if ($this->aAdmision === null && $this->idadmision !== null && $doQuery) { $this->aAdmision = AdmisionQuery::create()->findPk($this->idadmision, $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->aAdmision->addCargoadmisions($this); */ } return $this->aAdmision; }
/** * 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(AdmisionPeer::DATABASE_NAME, Propel::CONNECTION_WRITE); } $con->beginTransaction(); try { $deleteQuery = AdmisionQuery::create()->filterByPrimaryKey($this->getPrimaryKey()); $ret = $this->preDelete($con); if ($ret) { $deleteQuery->delete($con); $this->postDelete($con); $con->commit(); $this->setDeleted(true); } else { $con->commit(); } } catch (Exception $e) { $con->rollBack(); throw $e; } }
public function 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'); } }
/** * Returns a new AdmisionQuery object. * * @param string $modelAlias The alias of a model in the query * @param AdmisionQuery|Criteria $criteria Optional Criteria to build the query from * * @return AdmisionQuery */ public static function create($modelAlias = null, $criteria = null) { if ($criteria instanceof AdmisionQuery) { return $criteria; } $query = new AdmisionQuery(null, null, $modelAlias); if ($criteria instanceof Criteria) { $query->mergeWith($criteria); } return $query; }
public function getmovimientosAction() { $admisiones = \AdmisionQuery::create()->orderByIdadmision('asc')->find(); $consultas = \ConsultaQuery::create()->orderByIdconsulta('asc')->find(); $movimientos_array = array(); foreach ($admisiones as $admision) { $id = 'ADM-' . $admision->getIdadmision(); $movimientos_array[$id] = 'ADM-' . $admision->getIdadmision(); } foreach ($consultas as $consulta) { $id = 'CON-' . $consulta->getIdconsulta(); $movimientos_array[$id] = 'CON-' . $consulta->getIdconsulta(); } return $this->getResponse()->setContent(\Zend\Json\Json::encode($movimientos_array)); }
public function generarAction() { if ($this->params()->fromQuery('id')) { $param = $this->params()->fromQuery('id'); $type = explode('-', $param); $type = $type[0]; $idmovimiento = explode('-', $param); $idmovimiento = $idmovimiento[1]; switch ($type) { case 'ADM': $admision = \AdmisionQuery::create()->findPk($idmovimiento)->toArray(\BasePeer::TYPE_FIELDNAME); //Los "items" $admision_detalles_servicios = \CargoadmisionQuery::create()->filterByCargoadmisionTipo('servicio')->filterByIdadmision($idmovimiento)->find(); foreach ($admision_detalles_servicios as $detalle) { $item = $detalle->toArray(\BasePeer::TYPE_FIELDNAME); $servicio_nombre = $detalle->getServicio()->getServicioNombre(); $servicio_valorunitario = $detalle->getServicio()->getServicioPrecio(); $item['servicio_tasa'] = $detalle->getServicio()->getServicioIva(); $item['servicio_nombre'] = $servicio_nombre; $item['servicio_valorunitario'] = $servicio_valorunitario; $item['servicio_unidad'] = 'No aplica'; $admision['detalles'][] = $item; } $admision_detalles_articulo = \CargoadmisionQuery::create()->filterByCargoadmisionTipo('articulo')->filterByIdadmision($idmovimiento)->find(); foreach ($admision_detalles_articulo as $detalle) { $articulo = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticuloVariante()->getArticulo(); $articulo_variante = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticuloVariante(); $articulo_nombre = ''; $articulo_nombre .= $articulo->getArticuloNombre() . ' '; //Descripcion $articuloVarianteValorCollection = \ArticulovariantevalorQuery::create()->filterByIdarticulovariante($articulo_variante->getIdarticulovariante())->find(); $propiedadCount = 0; foreach ($articuloVarianteValorCollection as $kavv => $vavv) { $propiedadCount++; $articulo_nombre .= \PropiedadQuery::create()->findOneByIdpropiedad($vavv->getIdpropiedad())->getPropiedadNombre(); //Propiedad $articulo_nombre .= ':' . \PropiedadvalorQuery::create()->findOneByIdpropiedadvalor($vavv->getIdpropiedadvalor())->getPropiedadvalorNombre(); //PropiedadValor if ($propiedadCount < $articuloVarianteValorCollection->count()) { $articulo_nombre .= ' - '; } } $item = $detalle->toArray(\BasePeer::TYPE_FIELDNAME); $item['articulo_nombre'] = $articulo_nombre; $item['articulo_unidad'] = 'pieza'; $item['articulo_valorunitario'] = $articulo_variante->getArticulovariantePrecio(); $item['articulo_tasa'] = $articulo_variante->getArticulovarianteIva(); $admision['detalles'][] = $item; } $generalOrder = $admision; break; case 'CON': $consulta = \ConsultaQuery::create()->findPk($idmovimiento)->toArray(\BasePeer::TYPE_FIELDNAME); //Los "items" $consulta_detalles_servicios = \CargoconsultaQuery::create()->filterByCargoconsultaTipo('servicio')->filterByIdconsulta($idmovimiento)->find(); foreach ($consulta_detalles_servicios as $detalle) { $item = $detalle->toArray(\BasePeer::TYPE_FIELDNAME); $servicio_nombre = $detalle->getServicio()->getServicioNombre(); $servicio_valorunitario = $detalle->getServicio()->getServicioPrecio(); $item['servicio_tasa'] = $detalle->getServicio()->getServicioIva(); $item['servicio_nombre'] = $servicio_nombre; $item['servicio_valorunitario'] = $servicio_valorunitario; $item['servicio_unidad'] = 'No aplica'; $consulta['detalles'][] = $item; } $consulta_detalles_articulo = \CargoconsultaQuery::create()->filterByCargoconsultaTipo('articulo')->filterByIdconsulta($idmovimiento)->find(); foreach ($consulta_detalles_articulo as $detalle) { $articulo = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticuloVariante()->getArticulo(); $articulo_variante = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticuloVariante(); $articulo_nombre = ''; $articulo_nombre .= $articulo->getArticuloNombre() . ' '; //Descripcion $articuloVarianteValorCollection = \ArticulovariantevalorQuery::create()->filterByIdarticulovariante($articulo_variante->getIdarticulovariante())->find(); $propiedadCount = 0; foreach ($articuloVarianteValorCollection as $kavv => $vavv) { $propiedadCount++; $articulo_nombre .= \PropiedadQuery::create()->findOneByIdpropiedad($vavv->getIdpropiedad())->getPropiedadNombre(); //Propiedad $articulo_nombre .= ':' . \PropiedadvalorQuery::create()->findOneByIdpropiedadvalor($vavv->getIdpropiedadvalor())->getPropiedadvalorNombre(); //PropiedadValor if ($propiedadCount < $articuloVarianteValorCollection->count()) { $articulo_nombre .= ' - '; } } $item = $detalle->toArray(\BasePeer::TYPE_FIELDNAME); $item['articulo_nombre'] = $articulo_nombre; $item['articulo_unidad'] = 'pieza'; $item['articulo_valorunitario'] = $articulo_variante->getArticulovariantePrecio(); $item['articulo_tasa'] = $articulo_variante->getArticulovarianteIva(); $consulta['detalles'][] = $item; } $generalOrder = $consulta; break; case 'VP': $venta = \VentaQuery::create()->findPk($idmovimiento)->toArray(\BasePeer::TYPE_FIELDNAME); //Los "items" $venta_detalles_servicios = \CargoventaQuery::create()->filterByCargoventaTipo('servicio')->filterByIdventa($idmovimiento)->find(); foreach ($venta_detalles_servicios as $detalle) { $item = $detalle->toArray(\BasePeer::TYPE_FIELDNAME); $servicio_nombre = $detalle->getServicio()->getServicioNombre(); $servicio_valorunitario = $detalle->getServicio()->getServicioPrecio(); $item['servicio_tasa'] = $detalle->getServicio()->getServicioIva(); $item['servicio_nombre'] = $servicio_nombre; $item['servicio_valorunitario'] = $servicio_valorunitario; $item['servicio_unidad'] = 'No aplica'; $venta['detalles'][] = $item; } $venta_detalles_articulo = \CargoventaQuery::create()->filterByCargoventaTipo('articulo')->filterByIdventa($idmovimiento)->find(); foreach ($venta_detalles_articulo as $detalle) { $articulo = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticuloVariante()->getArticulo(); $articulo_variante = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticuloVariante(); $articulo_nombre = ''; $articulo_nombre .= $articulo->getArticuloNombre() . ' '; //Descripcion $articuloVarianteValorCollection = \ArticulovariantevalorQuery::create()->filterByIdarticulovariante($articulo_variante->getIdarticulovariante())->find(); $propiedadCount = 0; foreach ($articuloVarianteValorCollection as $kavv => $vavv) { $propiedadCount++; $articulo_nombre .= \PropiedadQuery::create()->findOneByIdpropiedad($vavv->getIdpropiedad())->getPropiedadNombre(); //Propiedad $articulo_nombre .= ':' . \PropiedadvalorQuery::create()->findOneByIdpropiedadvalor($vavv->getIdpropiedadvalor())->getPropiedadvalorNombre(); //PropiedadValor if ($propiedadCount < $articuloVarianteValorCollection->count()) { $articulo_nombre .= ' - '; } } $item = $detalle->toArray(\BasePeer::TYPE_FIELDNAME); $item['articulo_nombre'] = $articulo_nombre; $item['articulo_unidad'] = 'pieza'; $item['articulo_valorunitario'] = $articulo_variante->getArticulovariantePrecio(); $item['articulo_tasa'] = $articulo_variante->getArticulovarianteIva(); $venta['detalles'][] = $item; } $generalOrder = $venta; break; } //PDF $filePathPDF = '/tmp/pdf/notaremision_' . $param . '.pdf'; $pdf = new \Notasremision\PdfGenerator\PdfGenerator($generalOrder); $pdf->AliasNbPages(); $pdf->AddPage(); $pdf->FancyTable(); $pdf->Output($_SERVER['DOCUMENT_ROOT'] . $filePathPDF, 'F'); $base64_pdf = base64_encode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . $filePathPDF, 'F')); return $this->getResponse()->setContent(\Zend\Json\Json::encode(array('response' => true, 'base64' => $base64_pdf, 'base64_name' => $filePathPDF))); } }
public function generarAction() { $request = $this->getRequest(); if ($request->isPost()) { $post_data = $request->getPost(); $cerpem = file_get_contents(__DIR__ . '/../Certificados/aad990814bp7_1210261233s.cer.pem'); $this->emisorArr['cerpem'] = $cerpem; $keypem = file_get_contents(__DIR__ . '/../Certificados/aad990814bp7_1210261233s.key.pem'); $this->emisorArr['keypem'] = $keypem; $receptorArr = \PacientefacturacionQuery::create()->findPk($post_data['idpacientefacturacion'])->toArray(\BasePeer::TYPE_FIELDNAME); $idmovimiento = $post_data['idmovimiento']; $type = explode('-', $idmovimiento); $idmovimiento = $type[1]; $type = $type[0]; switch ($type) { case 'ADM': $admision = \AdmisionQuery::create()->findPk($idmovimiento)->toArray(\BasePeer::TYPE_FIELDNAME); //Los "items" $admision_detalles_servicios = \CargoadmisionQuery::create()->filterByCargoadmisionTipo('servicio')->filterByIdadmision($idmovimiento)->find(); foreach ($admision_detalles_servicios as $detalle) { $item = $detalle->toArray(\BasePeer::TYPE_FIELDNAME); $servicio_nombre = $detalle->getServicio()->getServicioNombre(); $servicio_valorunitario = $detalle->getServicio()->getServicioPrecio(); $item['servicio_tasa'] = $detalle->getServicio()->getServicioIva(); $item['servicio_nombre'] = $servicio_nombre; $item['servicio_valorunitario'] = $servicio_valorunitario; $item['servicio_unidad'] = 'No aplica'; $admision['detalles'][] = $item; } $admision_detalles_articulo = \CargoadmisionQuery::create()->filterByCargoadmisionTipo('articulo')->filterByIdadmision($idmovimiento)->find(); foreach ($admision_detalles_articulo as $detalle) { $articulo = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticuloVariante()->getArticulo(); $articulo_variante = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticuloVariante(); $articulo_nombre = ''; $articulo_nombre .= $articulo->getArticuloNombre() . ' '; //Descripcion $articuloVarianteValorCollection = \ArticulovariantevalorQuery::create()->filterByIdarticulovariante($articulo_variante->getIdarticulovariante())->find(); $propiedadCount = 0; foreach ($articuloVarianteValorCollection as $kavv => $vavv) { $propiedadCount++; $articulo_nombre .= \PropiedadQuery::create()->findOneByIdpropiedad($vavv->getIdpropiedad())->getPropiedadNombre(); //Propiedad $articulo_nombre .= ':' . \PropiedadvalorQuery::create()->findOneByIdpropiedadvalor($vavv->getIdpropiedadvalor())->getPropiedadvalorNombre(); //PropiedadValor if ($propiedadCount < $articuloVarianteValorCollection->count()) { $articulo_nombre .= ' - '; } } $item = $detalle->toArray(\BasePeer::TYPE_FIELDNAME); $item['articulo_nombre'] = $articulo_nombre; $item['articulo_unidad'] = 'pieza'; $item['articulo_valorunitario'] = $articulo_variante->getArticulovariantePrecio(); $item['articulo_tasa'] = $articulo_variante->getArticulovarianteIva(); $admision['detalles'][] = $item; } $generalOrder = $admision; break; case 'CON': $consulta = \ConsultaQuery::create()->findPk($idmovimiento)->toArray(\BasePeer::TYPE_FIELDNAME); //Los "items" $consulta_detalles_servicios = \CargoconsultaQuery::create()->filterByCargoconsultaTipo('servicio')->filterByIdconsulta($idmovimiento)->find(); foreach ($consulta_detalles_servicios as $detalle) { $item = $detalle->toArray(\BasePeer::TYPE_FIELDNAME); $servicio_nombre = $detalle->getServicio()->getServicioNombre(); $servicio_valorunitario = $detalle->getServicio()->getServicioPrecio(); $item['servicio_tasa'] = $detalle->getServicio()->getServicioIva(); $item['servicio_nombre'] = $servicio_nombre; $item['servicio_valorunitario'] = $servicio_valorunitario; $item['servicio_unidad'] = 'No aplica'; $consulta['detalles'][] = $item; } $consulta_detalles_articulo = \CargoconsultaQuery::create()->filterByCargoconsultaTipo('articulo')->filterByIdconsulta($idmovimiento)->find(); foreach ($consulta_detalles_articulo as $detalle) { $articulo = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticuloVariante()->getArticulo(); $articulo_variante = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticuloVariante(); $articulo_nombre = ''; $articulo_nombre .= $articulo->getArticuloNombre() . ' '; //Descripcion $articuloVarianteValorCollection = \ArticulovariantevalorQuery::create()->filterByIdarticulovariante($articulo_variante->getIdarticulovariante())->find(); $propiedadCount = 0; foreach ($articuloVarianteValorCollection as $kavv => $vavv) { $propiedadCount++; $articulo_nombre .= \PropiedadQuery::create()->findOneByIdpropiedad($vavv->getIdpropiedad())->getPropiedadNombre(); //Propiedad $articulo_nombre .= ':' . \PropiedadvalorQuery::create()->findOneByIdpropiedadvalor($vavv->getIdpropiedadvalor())->getPropiedadvalorNombre(); //PropiedadValor if ($propiedadCount < $articuloVarianteValorCollection->count()) { $articulo_nombre .= ' - '; } } $item = $detalle->toArray(\BasePeer::TYPE_FIELDNAME); $item['articulo_nombre'] = $articulo_nombre; $item['articulo_unidad'] = 'pieza'; $item['articulo_valorunitario'] = $articulo_variante->getArticulovariantePrecio(); $item['articulo_tasa'] = $articulo_variante->getArticulovarianteIva(); $consulta['detalles'][] = $item; } $generalOrder = $consulta; break; case 'VP': $venta = \VentaQuery::create()->findPk($idmovimiento)->toArray(\BasePeer::TYPE_FIELDNAME); //Los "items" $venta_detalles_servicios = \CargoventaQuery::create()->filterByCargoventaTipo('servicio')->filterByIdventa($idmovimiento)->find(); foreach ($venta_detalles_servicios as $detalle) { $item = $detalle->toArray(\BasePeer::TYPE_FIELDNAME); $servicio_nombre = $detalle->getServicio()->getServicioNombre(); $servicio_valorunitario = $detalle->getServicio()->getServicioPrecio(); $item['servicio_tasa'] = $detalle->getServicio()->getServicioIva(); $item['servicio_nombre'] = $servicio_nombre; $item['servicio_valorunitario'] = $servicio_valorunitario; $item['servicio_unidad'] = 'No aplica'; $venta['detalles'][] = $item; } $venta_detalles_articulo = \CargoventaQuery::create()->filterByCargoventaTipo('articulo')->filterByIdventa($idmovimiento)->find(); foreach ($venta_detalles_articulo as $detalle) { $articulo = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticuloVariante()->getArticulo(); $articulo_variante = $detalle->getLugarinventario()->getOrdencompradetalle()->getArticuloVariante(); $articulo_nombre = ''; $articulo_nombre .= $articulo->getArticuloNombre() . ' '; //Descripcion $articuloVarianteValorCollection = \ArticulovariantevalorQuery::create()->filterByIdarticulovariante($articulo_variante->getIdarticulovariante())->find(); $propiedadCount = 0; foreach ($articuloVarianteValorCollection as $kavv => $vavv) { $propiedadCount++; $articulo_nombre .= \PropiedadQuery::create()->findOneByIdpropiedad($vavv->getIdpropiedad())->getPropiedadNombre(); //Propiedad $articulo_nombre .= ':' . \PropiedadvalorQuery::create()->findOneByIdpropiedadvalor($vavv->getIdpropiedadvalor())->getPropiedadvalorNombre(); //PropiedadValor if ($propiedadCount < $articuloVarianteValorCollection->count()) { $articulo_nombre .= ' - '; } } $item = $detalle->toArray(\BasePeer::TYPE_FIELDNAME); $item['articulo_nombre'] = $articulo_nombre; $item['articulo_unidad'] = 'pieza'; $item['articulo_valorunitario'] = $articulo_variante->getArticulovariantePrecio(); $item['articulo_tasa'] = $articulo_variante->getArticulovarianteIva(); $venta['detalles'][] = $item; } $generalOrder = $venta; break; } // Aqui hacer conexion con el timbrador $bridgeFacturas = new \Facturacion\Timbradores\BridgeFacturas('finkok'); //// A la pasarela ------------------------------------------------------------ $res = $bridgeFacturas->timbrar('factura', $type, $generalOrder, $this->emisorArr, $receptorArr); //Verificamos que no exista error al timbrar if (isset($res['error']) && $res['error'] != '') { $details = $res['error']; return $this->getResponse()->setContent(\Zend\Json\Json::encode(array('response' => false, 'details' => $details))); } else { $xmlTimbrado = $res['response']; $filePathXML = '/tmp/xml/' . $res['xmlId'] . '.xml'; $filePathPDF = '/tmp/pdf/' . $res['xmlId'] . '.pdf'; //Generamos la url del qrcode $qr_main = 'http://chart.googleapis.com/chart?chs=200x200&cht=qr&chl='; $qr_url .= 're=' . $this->emisorArr['rfc']; //Emisor $qr_url .= '&rr=' . $receptorArr['pacientefacturacion_rfc']; //Receptor $qr_url .= '&tt=' . $this->numberTo17Digits($xmlArray["Comprobante"]["total"]); $qr_url .= '&id=' . $xmlArray['TimbreFiscalDigital']['UUID']; $qr_url = $qr_main . urlencode($qr_url) . '.png'; //http://chart.googleapis.com/chart?cht=qr&chl=Hello+world&choe=UTF-8&chs=200x200 //EL PDF $cfdi = $xmlTimbrado['xml']; $cadena_original = $xmlTimbrado['cadenaOriginal']; $qrcode = $qr_url; $pdf = new \Facturacion\PdfGenerator\PdfGenerator($cfdi, $cadena_original, $qrcode); $pdf->AliasNbPages(); $pdf->AddPage(); $pdf->FancyTable(); $pdf->QrCode(); $pdf->Output($_SERVER['DOCUMENT_ROOT'] . $filePathPDF, 'F'); //Guardamos los datos de la factura $factura = new \Factura(); $factura->setIddatosfacturacion($post_data['idpacientefacturacion']); if ($type == 'ADM') { $factura->setIdadmision($idmovimiento); $admision = \AdmisionQuery::create()->findPk($idmovimiento); $admision->setAdmisionFacturada(1); $admision->save(); } else { if ($type == 'CON') { $factura->setIdconsulta($idmovimiento); $consulta = \ConsultaQuery::create()->findPk($idmovimiento); $consulta->setConsultaFacturada(1); $consulta->save(); } else { $factura->setIdventa($idmovimiento); $venta = \VentaQuery::create()->findPk($idmovimiento); $venta->setVentaFacturada(1); $venta->save(); } } $factura->setFacturaUrlXml($filePathXML); $factura->setFacturaUrlPdf($filePathPDF); $factura->setFacturaFecha($xmlTimbrado['fecha']); $factura->setFacturaSellosat($xmlTimbrado['SatSeal']); $factura->setFacturaCertificadosat($xmlTimbrado['NoCertificadoSAT']); $factura->setFacturaCfdi($xmlTimbrado['uuid']); $factura->setFacturaMensaje($xmlTimbrado['codEstatus']); $factura->setFacturaTipodepago('unico'); $factura->setFacturaTipo('ingreso'); $factura->setFacturaStatus('creada'); $factura->setFacturaQrcode($qr_url); $factura->save(); $this->flashMessenger()->addMessage('Factura emitida exitosamente!'); return $this->getResponse()->setContent(\Zend\Json\Json::encode(array('response' => true))); } } if ($this->params()->fromRoute('id')) { $id = $this->params()->fromRoute('id'); $type = explode('-', $id); $id = $type[1]; $type = $type[0]; $factura_info = array(); switch ($type) { case 'ADM': $admision = \AdmisionQuery::create()->findPk($id); $factura_info['fecha'] = $admision->getAdmisionFechaadmision('d-m-Y H:i'); $factura_info['id'] = 'ADM-' . $admision->getIdadmision(); $factura_info['paciente'] = $admision->getPaciente()->getPacienteNombre() . ' ' . $admision->getPaciente()->getPacienteAp() . ' ' . $admision->getPaciente()->getPacienteAm(); $factura_info['idpaciente'] = $admision->getPaciente()->getIdpaciente(); $factura_info['medico'] = $admision->getMedico()->getMedicoNombre() . ' ' . $admision->getMedico()->getMedicoApellidopaterno() . ' ' . $admision->getMedico()->getMedicoApellidomaterno(); $factura_info['pagada'] = $admision->getAdmisionPagadaen('d-m-Y H:i'); $factura_info['tipo_pago'] = $admision->getAdmisionTipodepago(); $factura_info['total'] = $admision->getAdmisionTotal(); $factura_info['tipo'] = 'admision'; $direcciones = \PacientefacturacionQuery::create()->filterByIdpaciente($admision->getPaciente()->getIdpaciente())->find()->toArray(null, false, \BasePeer::TYPE_FIELDNAME); break; case 'CON': $consulta = \ConsultaQuery::create()->findPk($id); $factura_info['fecha'] = $consulta->getConsultaFecha('d-m-Y'); $factura_info['fecha'] .= ' ' . $consulta->getConsultaHora(); $factura_info['id'] = 'CON-' . $consulta->getIdconsulta(); $factura_info['paciente'] = $consulta->getPaciente()->getPacienteNombre() . ' ' . $consulta->getPaciente()->getPacienteAp() . ' ' . $consulta->getPaciente()->getPacienteAm(); $factura_info['idpaciente'] = $consulta->getPaciente()->getIdpaciente(); $factura_info['medico'] = $consulta->getMedico()->getMedicoNombre() . ' ' . $consulta->getMedico()->getMedicoApellidopaterno() . ' ' . $consulta->getMedico()->getMedicoApellidomaterno(); $factura_info['pagada'] = $consulta->getConsultaFecha('d-m-Y'); $factura_info['pagada'] .= ' ' . $consulta->getConsultaHora(); $factura_info['tipo_pago'] = $consulta->getConsultaTipodepago(); $factura_info['total'] = $consulta->getConsultaTotal(); $factura_info['tipo'] = 'consulta'; $direcciones = \PacientefacturacionQuery::create()->filterByIdpaciente($consulta->getPaciente()->getIdpaciente())->find()->toArray(null, false, \BasePeer::TYPE_FIELDNAME); break; case 'VP': $venta = \VentaQuery::create()->findPk($id); $factura_info['fecha'] = $venta->getVentaFecha('d-m-Y H:i'); $factura_info['id'] = 'VP-' . $venta->getIdventa(); $factura_info['paciente'] = $venta->getPaciente()->getPacienteNombre() . ' ' . $venta->getPaciente()->getPacienteAp() . ' ' . $venta->getPaciente()->getPacienteAm(); $factura_info['idpaciente'] = $venta->getPaciente()->getIdpaciente(); $factura_info['medico'] = 'N/A'; $factura_info['pagada'] = $venta->getVentaFecha('d-m-Y H:i'); $factura_info['tipo_pago'] = $venta->getVentaTipodepago(); $factura_info['total'] = $venta->getVentaTotal(); $factura_info['tipo'] = 'venta al publico'; $direcciones = \PacientefacturacionQuery::create()->filterByIdpaciente(1)->find()->toArray(null, false, \BasePeer::TYPE_FIELDNAME); break; } return new ViewModel(array('general_info' => $factura_info, 'facturacion_info' => $direcciones)); } $this->getResponse()->setStatusCode(404); return; }