/** * Cria uma nova instancia de ParametroContribuinte * @param Contribuinte\ParametroContribuinte $entity Entidade com os dados do parametro */ public function __construct(Contribuinte\ParametroContribuinte $entity = null) { parent::__construct($entity); if ($entity === null) { $this->entity->setMaxDeducao(0); } }
/** * Instancia um novo cadastro de pessoa * * É possível instanciar os dados de três formas: * não passando id: Ira construir uma instancia vazia; * Um inteiro, ira instanciar os dados do cadastro pelo Id; * um Instancia da entidade \Contribuinte\CadastroPessoa * @param mixed $mId codigo da pessa */ public function __construct($mId = null) { if (!is_object($mId)) { $this->entity = new Contribuinte\CadastroPessoa(); if (!empty($mId)) { $this->entity = parent::getEntityByPrimaryKey($mId); if (empty($this->entity)) { throw new Exception('Cadastro não existe no banco de dados.'); } } } else { $this->entity = $mId; } }
/** * @param integer $iIdContribuinte */ public static function consultaGuiasDesif($iIdContribuinte) { try { $oUsuarioContribuinte = Administrativo_Model_UsuarioContribuinte::getByAttribute('id', $iIdContribuinte); $em = parent::getEm(); $sDql = 'SELECT g FROM Contribuinte\\Guia g INNER JOIN Contribuinte\\DesifContaGuia d WITH g.id = d.guia'; $sDql .= ' WHERE g.id_contribuinte = :c AND g.tipo_documento_origem = :t'; $oQuery = $em->createQuery($sDql)->setParameters(array('t' => self::$DOCUMENTO_ORIGEM_NFSE, 'c' => $oUsuarioContribuinte->getEntity())); $aResultado = $oQuery->getResult(); $aGuias = array(); if ($aResultado != NULL) { foreach ($aResultado as $q) { $aGuias[] = new self($q); } } return $aGuias; } catch (Excpetion $oErro) { throw $oErro; } }
/** * Busca as quantidades dos valores das notas por período * * @param $aParametros * @return array * @throws Exception */ public function getNotaPorPeriodo($aParametros) { try { $oEntityManager = parent::getEm(); $oQuery = $oEntityManager->createQueryBuilder(); $sSelect = 'count(n) as notas,'; $sSelect .= 'n.p_im,'; $sSelect .= 'n.p_razao_social,'; $sSelect .= 'sum(n.vl_liquido_nfse) as vl_liquido_nfse,'; $sSelect .= 'sum(n.s_vl_iss) as s_vl_iss'; $oQuery->select($sSelect); $oQuery->from('Contribuinte\\Nota', 'n'); /** * Verifica data inicial e data final */ if (isset($aParametros['data_nota_inicial']) && isset($aParametros["data_nota_final"])) { $oDataInicial = new DateTime(str_replace("/", "-", $aParametros['data_nota_inicial'])); $oDataFinal = new DateTime(str_replace("/", "-", $aParametros['data_nota_final'])); $oQuery->andWhere('n.dt_nota BETWEEN :dt_nota_inicial and :dt_nota_final'); $aWhere['dt_nota_inicial'] = $oDataInicial->format('Y-m-d'); $aWhere['dt_nota_final'] = $oDataFinal->format('Y-m-d'); } if (!empty($aParametros['natureza_operacao'])) { $oQuery->andWhere("n.natureza_operacao = {$aParametros['natureza_operacao']}"); } if (!empty($aParametros['s_dados_iss_retido'])) { $oQuery->andWhere("n.s_dados_iss_retido = {$aParametros['s_dados_iss_retido']}"); } $oQuery->setParameters($aWhere); $oQuery->groupBy('n.id_contribuinte, n.p_im, n.p_razao_social'); $aResultado = $oQuery->getQuery()->getResult(); return $aResultado; } catch (Exception $e) { throw $e; } }
/** * Verifica se exista nota emitida com o numero, serie, tipo documento e inscricao municipal * * @deprecated Considerar: * Contribuinte_Model_DmsNota::checarNotaEmitida() * Contribuinte_Model_DmsNota::checarNotaEmitidaPrestadorEventual() * @param stdclass $oParametro * string $oParametro->sTipoOperacao * integer $oParametro->iTipoDocumento * string $oParametro->sNumero * string $oParametro->sSerie * integer $oParametro->iInscricaoMunicipal * @return boolean * [TRUE : Existe Nota Emitida] */ public static function existeNotaEmitida($oParametro = NULL) { if (!is_object($oParametro)) { throw new Exception('Informe o Parâmetro'); } if (!isset($oParametro->sTipoOperacao)) { throw new Exception('Informe o Tipo de Operação do Documento'); } if (!isset($oParametro->iTipoDocumento)) { throw new Exception('Informe o Tipo do Documento'); } if (!isset($oParametro->sNumero)) { throw new Exception('Informe o Número do Documento'); } if (!isset($oParametro->sSerie)) { throw new Exception('Informe a Série do Documento'); } if (!isset($oParametro->iInscricaoMunicipal)) { throw new Exception('Informe o Contribuinte'); } $oQuery = parent::getEm()->createQueryBuilder(); $oQuery->select('1'); $oQuery->from('Contribuinte\\DmsNota', 'n'); $oQuery->leftJoin('Contribuinte\\Dms', 'd', \Doctrine\ORM\Query\Expr\Join::WITH, 'n.id_dms = d.id'); if ($oParametro->sTipoOperacao == 's') { $oQuery->where('n.p_im = :im'); } else { $oQuery->where('n.t_im = :im'); } $oQuery->andWhere('d.operacao = :operacao'); $oQuery->andWhere('n.tipo_documento = :tipo_documento'); $oQuery->andWhere('n.nota = TRIM(:nota)'); $oQuery->andWhere('n.serie = :serie'); $oQuery->setParameter('im', $oParametro->iInscricaoMunicipal); $oQuery->setParameter('operacao', $oParametro->sTipoOperacao); $oQuery->setParameter('tipo_documento', $oParametro->iTipoDocumento); $oQuery->setParameter('nota', $oParametro->sNumero); $oQuery->setParameter('serie', $oParametro->sSerie); $oQuery->setMaxResults(1); $aResultado = $oQuery->getQuery()->getResult(); return is_array($aResultado) && count($aResultado) > 0; }
/** * Instancia uma nova DMS * * @param object|string|null $uEntity nome ou instancia da entidade */ public function __construct($uEntity = NULL) { parent::__construct($uEntity); }
/** * Método que busca as importaçoes DES-IF por competencia e contribuinte * * @param array $aIdContribuinte * @param integer $iCompetenciaInicial * @param integer $iCompetenciaFinal * @throws Exception */ public static function getImportacaoPorCompetencia($aIdContribuinte, $iCompetenciaInicial, $iCompetenciaFinal) { try { $oEntityManager = parent::getEm(); $oQuery = $oEntityManager->createQueryBuilder(); $oQuery->select('n'); $oQuery->from('Contribuinte\\ImportacaoDesif', 'n'); $oQuery->where('n.contribuinte in(?1)'); $oQuery->setParameters(array('1' => $aIdContribuinte)); if (!is_null($iCompetenciaInicial)) { $oQuery->andWhere('n.competencia_inicial >= ?2'); $oQuery->setParameter('2', $iCompetenciaInicial); } if (!is_null($iCompetenciaFinal)) { $oQuery->andWhere('n.competencia_final <= ?3'); $oQuery->setParameter('3', $iCompetenciaFinal); } $aResultado = $oQuery->getQuery()->getResult(); return $aResultado; } catch (Exception $oErro) { throw $oErro; } }