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