Exemplo n.º 1
0
 /**
  * Método que gera os artefatos de acordo com a quantidde de destinatários
  * @param Sgdoce\Model\Entity\Artefato $artefato
  * @return boolean
  */
 public function gerarVias($artefato, $params)
 {
     $destinatarios = $this->getServiceLocator()->getService('ArtefatoMinuta')->getPessoaDestinatarioArtefato($artefato);
     $qtDestino = $destinatarios['qtdDestinatario'];
     for ($i = 1; $i < $qtDestino; $i++) {
         $artefatoClone = $this->saveArtefatoClone($artefato);
         $params['sqArtefato'] = $artefatoClone->getSqArtefato();
         $params['nuDigital'] = $this->createNumeroDigital();
         // recuperar o ultimo sequencia por unidade e tipo de documento
         $ultimNumeroArtefato = $this->recuperaProximoNumeroArtefato($params);
         $numeroSequencial = $ultimNumeroArtefato->getNuSequencial();
         $sequencial = str_pad($numeroSequencial + 1, 4, '0', STR_PAD_LEFT) . '/' . date('Y');
         $params['nuArtefato'] = $sequencial;
         $searchDto = \Core_Dto::factoryFromData($params, 'search');
         $this->transformarMinutaDocumentoEletronico($searchDto);
         //atualiza o numero sequencial para o numero utilizado
         $this->atualizarSequencial($ultimNumeroArtefato);
         //altera o historico do artefato para criado e alterado
         $params['sqStatusArtefato'] = \Core_Configuration::getSgdoceStatusProduzida();
         $this->alterarHistoricoArtefato($params);
         $params['sqStatusArtefato'] = \Core_Configuration::getSgdoceStatusAssinada();
         $this->alterarHistoricoArtefato($params);
         $params['sqOcorrencia'] = \Core_Configuration::getSgdoceSqOcorrenciaCadastrar();
         $this->alterarHistoricoArtefato($params);
     }
     return TRUE;
 }
Exemplo n.º 2
0
 /**
  *
  * 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;
     }
 }