예제 #1
0
 /**
  * Obtém campos do modelo documento
  * @param \Core_Dto_Search $dtoSearch
  * @return array
  */
 public function getCampoModeloDocumento(\Core_Dto_Abstract $dtoSearch)
 {
     $queryBuilder = $this->_em->createQueryBuilder();
     $queryBuilder->select('pmd.sqPadraoModeloDocumento,pmd.noPadraoModeloDocumento', 'c.noCampo', 'c.noColunaTabela', 'gp.sqGrupoCampo', 'pmdc.inObrigatorio')->from('app:ModeloDocumentoCampo', 'mdc')->innerJoin('mdc.sqPadraoModeloDocumentoCam', 'pmdc')->innerJoin('pmdc.sqPadraoModeloDocumento', 'pmd')->innerJoin('pmdc.sqCampo', 'c')->innerJoin('c.sqGrupoCampo', 'gp')->innerJoin('mdc.sqModeloDocumento', 'md');
     if ($dtoSearch->getSqModeloDocumento()) {
         $queryBuilder->andWhere('md.sqModeloDocumento = :sqModeloDocumento');
         $queryBuilder->setParameter('sqModeloDocumento', $dtoSearch->getSqModeloDocumento());
     } else {
         $queryBuilder->andWhere('md.inAtivo = :inAtivo')->setParameter('inAtivo', "TRUE");
     }
     $out = $queryBuilder->getQuery()->execute();
     $filter = new \Zend_Filter_Word_UnderscoreToCamelCase();
     $arrayField = array();
     foreach ($out as $key => $value) {
         $arrayField[$key]['sqPadraoModeloDocumento'] = $value['sqPadraoModeloDocumento'];
         $arrayField[$key]['noPadraoModeloDocumento'] = $value['noPadraoModeloDocumento'];
         $arrayField[$key]['noCampo'] = $value['noCampo'];
         $arrayField[$key]['noColunaTabela'] = lcfirst($filter->filter($value['noColunaTabela']));
         $arrayField[$key]['sqGrupoCampo'] = $value['sqGrupoCampo'];
         $arrayField[$key]['inObrigatorio'] = $value['inObrigatorio'];
     }
     return $arrayField;
 }
예제 #2
0
 /**
  * Obtém um modelo
  * @param  \Core_Dto_Abstract $dto
  * @return array
  */
 public function findModelo(\Core_Dto_Abstract $dto)
 {
     $queryBuilder = $this->_em->createQueryBuilder()->select('  DISTINCT
                           md.sqModeloDocumento,
                           pmd.sqPadraoModeloDocumento,
                           pmd.noPadraoModeloDocumento,
                           td.sqTipoDocumento,
                           td.noTipoDocumento,
                           a.sqAssunto,
                           a.txAssunto,
                           md.inAtivo,
                           ptd.sqPosicaoTipoDocumento')->from('app:ModeloDocumento', 'md')->innerJoin('md.sqModeloDocumentoCampo', 'mdc')->innerJoin('md.sqTipoDocumento', 'td')->leftJoin('md.sqAssunto', 'a')->leftJoin('md.sqPosicaoTipoDocumento', 'ptd')->innerJoin('mdc.sqPadraoModeloDocumentoCam', 'pmdc')->innerJoin('pmdc.sqPadraoModeloDocumento', 'pmd')->andWhere('md.sqModeloDocumento = :sqModeloDocumento')->setParameter('sqModeloDocumento', $dto->getSqModeloDocumento())->orderBy('pmd.noPadraoModeloDocumento, td.noTipoDocumento, a.txAssunto', 'ASC');
     return $queryBuilder->getQuery()->getSingleResult();
 }