/** * @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; }
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; } }