Exemplo n.º 1
0
 /**
  * @return
  */
 public function newStatusSolicitacao(\Core_Dto_Search $dto)
 {
     $entStatusSolicitacao = $this->_getRepository('app:StatusSolicitacao')->findBy(array('sqSolicitacao' => $dto->getSqSolicitacao(), 'sqPessoaTriagem' => $dto->getSqPessoaTriagem(), 'sqTipoStatusSolicitacao' => $dto->getSqTipoStatusSolicitacao(), 'txComentario' => $dto->getTxComentario()));
     if (count($entStatusSolicitacao)) {
         throw new \Core_Exception_ServiceLayer('Requisição enviada mais de uma vez. Já existe uma solicitação com essa situação.');
     }
     $entStatusSolicitacao = $this->_newEntity('app:StatusSolicitacao');
     $entTipoStatusSolicitacao = $this->getEntityManager()->getPartialReference('app:TipoStatusSolicitacao', $dto->getSqTipoStatusSolicitacao());
     $entStatusSolicitacao->setSqTipoStatusSolicitacao($entTipoStatusSolicitacao);
     $entSolicitacao = null;
     if ($dto->getSqSolicitacao() instanceof \Sgdoce\Model\Entity\Solicitacao) {
         $entStatusSolicitacao->setSqSolicitacao($dto->getSqSolicitacao());
         $entSolicitacao = $dto->getSqSolicitacao();
     } else {
         $entSolicitacao = $this->getEntityManager()->find('app:Solicitacao', $dto->getSqSolicitacao());
         $entStatusSolicitacao->setSqSolicitacao($entSolicitacao);
     }
     if ($dto->getSqPessoaTriagem() != '') {
         $sqPessoaTriagem = $dto->getSqPessoaTriagem();
         $entPessoaTriagem = $this->getEntityManager()->getPartialReference('app:VwPessoa', $sqPessoaTriagem);
         $entStatusSolicitacao->setSqPessoaTriagem($entPessoaTriagem);
     }
     if ($dto->getSqPessoaResponsavel() != '') {
         $sqPessoaResponsavel = $dto->getSqPessoaResponsavel();
         $entPessoaResponsavel = $this->getEntityManager()->getPartialReference('app:VwPessoa', $sqPessoaResponsavel);
         $entStatusSolicitacao->setSqPessoaResponsavel($entPessoaResponsavel);
     }
     if ($dto->getTxComentario() != '') {
         $entStatusSolicitacao->setTxComentario($dto->getTxComentario());
     }
     $entStatusSolicitacao->setDtOperacao(\Zend_Date::now());
     $this->getEntityManager()->persist($entStatusSolicitacao);
     $this->getEntityManager()->flush();
     if ($entSolicitacao->getSqArtefato() instanceof \Sgdoce\Model\Entity\Artefato) {
         $entSolicitacao->setSqArtefato($this->getEntityManager()->find('app:Artefato', $entSolicitacao->getSqArtefato()->getSqArtefato()));
     }
     if (isset($entSolicitacao)) {
         if ($entStatusSolicitacao->getSqTipoStatusSolicitacao()->getSqTipoStatusSolicitacao() != \Core_Configuration::getSgdoceTipoStatusSolicitacaoDevolvidaTriagem()) {
             $this->_sendStatus($entSolicitacao, $dto->getTxComentario());
         }
     }
     return $entStatusSolicitacao;
 }
Exemplo n.º 2
0
 public function excluirImagemAction()
 {
     $this->_helper->layout->disableLayout();
     $params = $this->_getAllParams();
     $entSolicitacao = $this->getService()->find($params['id']);
     if ($this->getRequest()->isPost()) {
         $entArtefato = $entSolicitacao->getSqArtefato();
         $entArtefatoImagem = $this->getService('ArtefatoImagem')->excluirImagem($entArtefato, $params['txObservacao']);
         $controller = $this->getRequest()->getControllerName();
         $action = 'index';
         $caixa = '';
         $dto = \Core_Dto::factoryFromData($params, 'search');
         /*switch( $dto->getSqTipoStatusSolicitacao() ){
               case \Core_Configuration::getSgdoceTipoStatusSolicitacaoFinalizada():
                   $caixa = 'collapseTree';
                   break;
               case \Core_Configuration::getSgdoceTipoStatusSolicitacaoEmAndamento():
                   $caixa = 'collapseTwo';
                   break;
               case \Core_Configuration::getSgdoceTipoStatusSolicitacaoDevolvidaTriagem():
               case \Core_Configuration::getSgdoceTipoStatusSolicitacaoAberta():
                   $caixa = 'collapseOne';
                   break;
               default:
                   $caixa = 'collapseTwo';
           }*/
         if ($dto->getSqTipoStatusSolicitacao() == \Core_Configuration::getSgdoceTipoStatusSolicitacaoDevolvidaTriagem() || $dto->getSqTipoStatusSolicitacao() == \Core_Configuration::getSgdoceTipoStatusSolicitacaoAberta()) {
             $caixa = 'collapseOne';
         } else {
             $caixa = 'collapseTwo';
         }
         $this->_redirect = array('controller' => $controller, 'action' => $action, 'params' => array('caixa' => $caixa));
         return $this->_redirectActionDefault('index');
     }
     if ($entSolicitacao) {
         $entArtefato = $entSolicitacao->getSqArtefato();
         $nuArtefato = $entArtefato->getNuDigital() ? str_pad($entArtefato->getNuDigital()->getNuEtiqueta(), 7, '0', STR_PAD_LEFT) : $this->getService('Processo')->formataProcessoAmbitoFederal($entArtefato);
         $this->view->txDefaultTxObservacao = "Exclusão de imagem do artefato: " . $nuArtefato . " conforme demanda: #" . $entSolicitacao->getSqSolicitacao();
         $this->view->entArtefato = $entArtefato;
     }
 }