/** * 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; }
public function update_servico(Context $context) { $response = new JsonResponse(); try { if (!$context->request()->isPost()) { throw new \Exception(_('Somente via POST')); } $id = (int) $context->request()->post('id'); $service = new ServicoService($this->em()); $su = $service->servicoUnidade($context->getUser()->getUnidade(), $id); $sigla = $context->request()->post('sigla'); $peso = (int) $context->request()->post('peso'); $peso = max(1, $peso); $local = $this->em()->find("Novosga\\Model\\Local", (int) $context->request()->post('local')); $su->setSigla($sigla); $su->setPeso($peso); if ($local) { $su->setLocal($local); } $this->em()->merge($su); $this->em()->flush(); $response->success = true; } catch (Exception $e) { $response->message = $e->getMessage(); } return $response; }
/** * Retorna os servicos que o usuario nao atende na unidade atual * @return Locatacao */ public function getServicosIndisponiveis() { if (!$this->servicosIndisponiveis && $this->getUnidade()) { $service = new ServicoService($this->em); $this->servicosIndisponiveis = $service->servicosIndisponiveis($this->getUnidade(), $this->getId()); } return $this->servicosIndisponiveis; }
private function servicos(Unidade $unidade, $where = '') { $service = new ServicoService($this->em()); return $service->servicosUnidade($unidade, $where); }
private function servicos(Unidade $unidade) { $service = new ServicoService($this->em()); return $service->servicosUnidade($unidade, "e.status = 1"); }