/**
  *
  * Método que adiciona filtro de acordo com a caixa de minutas
  * @param \Doctrine\ORM\QueryBuilder $queryBuilder
  * @param \Core_Dto_Search $dto
  */
 protected function addFilterStatus(\Doctrine\ORM\QueryBuilder &$queryBuilder, \Core_Dto_Search $dto)
 {
     switch ($dto->getView()) {
         default:
             // RECEBIDAS E DEMAIS
             $queryBuilder->andWhere('((vcm.sqStatusArtefato = :sqStatusArtefato2')->setParameter('sqStatusArtefato2', \Core_Configuration::getSgdoceStatusRecebida())->orWhere('vcm.sqStatusArtefato = :sqStatusArtefato4))')->setParameter('sqStatusArtefato4', \Core_Configuration::getSgdoceStatusDevolvida())->andWhere('vcm.sqPessoa = :sqPessoa')->setParameter('sqPessoa', $dto->getSqPessoa());
             break;
         case self::TIPO_VISUALIZACAO_ENVIADA:
             // ENVIADA
             $queryBuilder->andWhere('(vcm.sqStatusArtefato = :sqStatusArtefato201')->setParameter('sqStatusArtefato201', self::ZER)->andWhere('vcm.sqPessoa = :sqPessoa)')->setParameter('sqPessoa', $dto->getSqPessoa());
             break;
         case self::TIPO_VISUALIZACAO_EM_ACOMPANHAMENTO:
             // EM ACOMPANHAMENTO
             $queryBuilder->andWhere('(vcm.sqPessoa = :sqPessoa)')->setParameter('sqPessoa', $dto->getSqPessoa());
             break;
         case self::TIPO_VISUALIZACAO_PRODUZIDA:
             // PRODUZIDA
             $queryBuilder->andWhere('(vcm.sqStatusArtefato = :sqStatusArtefato49')->setParameter('sqStatusArtefato49', \Core_Configuration::getSgdoceStatusProduzida())->andWhere('vcm.sqPessoa = :sqPessoa)')->setParameter('sqPessoa', $dto->getSqPessoa());
             break;
     }
 }
 /**
  * Método que encaminha minutas para assinatura
  * @return NULL
  */
 public function encaminharMinutaAssinaturaAction()
 {
     $params = $this->_getAllParams();
     if ($this->getRequest()->isPost()) {
         $paramArtefato = $this->_getParam('sqArtefato');
         $res = NULL;
         foreach ($paramArtefato as $dados) {
             $dados = array('sqArtefato' => $dados);
             $dtoEntity = $this->dtoOptionHistoricoArtefato($dados);
             $data = $this->getService()->findCaixaMinuta($dtoEntity);
             $params = NULL;
             switch ($data) {
                 case TRUE:
                     $params['sqStatusArtefato'] = \Core_Configuration::getSgdoceStatusRecebida();
                     $params['sqUnidadeOrg'] = $this->_getParam('sqUnidadeOrgCorp');
                     $params['sqArtefato'] = $data['sqArtefato'];
                     $params['sqPessoa'] = $this->_getParam('sqPessoa');
                     $params['sqOcorrencia'] = $this->_getParam('sqOcorrencia');
                     break;
             }
             $assinantes = $this->getService('Artefato')->findOneBy($dados)->getSqPessoaAssinanteArtefato();
             if ($assinantes->count() == 0) {
                 $res = $this->alteraHistoricoArtefato($params);
             } else {
                 $podeAssinar = $this->getService('Artefato')->verificaPermissaoAssinatura($params);
                 if ($podeAssinar) {
                     $res = $this->alteraHistoricoArtefato($params);
                 } else {
                     $res = FALSE;
                 }
             }
         }
         switch ($res) {
             case TRUE:
                 $this->getMessaging()->addSuccessMessage('MN013');
                 return $this->_redirectActionDefault('index/view/' . $this->_getParam('view'));
             case FALSE:
                 return $this->_redirectActionDefault('index/view/' . $this->_getParam('view'));
                 break;
         }
         return NULL;
     }
     $this->view->sqArtefato = !empty($params['sqArtefato']) ? $params['sqArtefato'] : '';
     $this->_helper->layout->disableLayout();
 }