/** * Redireciona um atendimento para outro servico. * * @param Atendimento $atendimento * @param Usuario $usuario * @param int|Unidade $unidade * @param int|Servico $servico * * @return Atendimento */ public function redirecionar(Atendimento $atendimento, Usuario $usuario, $unidade, $servico) { // copiando a senha do atendimento atual $service = new ServicoService($this->em); $su = $service->servicoUnidade($unidade, $servico); AppConfig::getInstance()->hook('attending.pre-redirect', array($atendimento, $su, $usuario)); $novo = new Atendimento(); $novo->setLocal(0); $novo->setServicoUnidade($su); $novo->setPai($atendimento); $novo->setDataChegada(new DateTime()); $novo->setStatus(self::SENHA_EMITIDA); $novo->setSiglaSenha($atendimento->getSenha()->getSigla()); $novo->setNumeroSenha($atendimento->getNumeroSenha()); $novo->setNumeroSenhaServico($atendimento->getNumeroSenhaServico()); $novo->setUsuario($usuario); $novo->setUsuarioTriagem($usuario); $novo->setPrioridade($atendimento->getPrioridade()); $novo->setNomeCliente($atendimento->getCliente()->getNome()); $novo->setDocumentoCliente($atendimento->getCliente()->getDocumento()); $this->em->persist($novo); $this->em->flush(); AppConfig::getInstance()->hook('attending.redirect', $atendimento); return $novo; }
/** * {@inheritDoc} */ public function setNumeroSenhaServico($numeroSenhaServico) { $this->__initializer__ && $this->__initializer__->__invoke($this, 'setNumeroSenhaServico', array($numeroSenhaServico)); return parent::setNumeroSenhaServico($numeroSenhaServico); }