Пример #1
0
 /**
  * Popula o combo tipo_documento com dados do e-Cidade
  *
  * @param integer|null $iTipoDocumento
  * @return $this
  */
 public function setTipoDocumento($iTipoDocumento = NULL)
 {
     $iInscricaoMunicipal = $this->oContribuinte->getInscricaoMunicipal();
     $aTiposDocumentos = array();
     $aTiposDocumentosLiberados = Administrativo_Model_RequisicaoAidof::getRequisicoesAidof($iInscricaoMunicipal);
     // Lista tipos de documentos liberados
     if (count($aTiposDocumentosLiberados) > 0) {
         foreach ($aTiposDocumentosLiberados as $oTiposDocumentos) {
             $iCodigoNota = $oTiposDocumentos->codigo_nota;
             $oAidof = new Administrativo_Model_Aidof();
             $iNotasEmissao = $oAidof->getQuantidadesNotasEmissao($iInscricaoMunicipal, $iCodigoNota);
             if (empty($iTipoDocumento) && $iNotasEmissao <= 0) {
                 continue;
             }
             $sDescricaoNota = DBSeller_Helper_String_Format::wordsCap($oTiposDocumentos->descricao_nota);
             $aTiposDocumentos[$oTiposDocumentos->codigo_nota] = $sDescricaoNota;
         }
     }
     $this->getElement('tipo_documento')->addMultiOptions($aTiposDocumentos)->setValue($iTipoDocumento);
     return $this;
 }
 /**
  * Lista de DMS emitidos manualmente
  */
 public function emissaoManualSaidaListaDmsAction()
 {
     try {
         // Parametros request
         $iMes = $this->getRequest()->getParam('mes');
         $iAno = $this->getRequest()->getParam('ano');
         // Perfil do usuario logado
         $iIdPerfil = $this->oUsuario->getPerfil()->getId();
         // Dados do DMS
         $oDms = new Contribuinte_Model_Dms();
         $aDms = $oDms->getCompetenciaByCpfCnpj($this->oContribuinte->getCgcCpf(), $iMes, $iAno);
         $aResultado = array();
         if (count($aDms) > 0) {
             foreach ($aDms as $oDms) {
                 $fValorDms = 0;
                 if ($oDms->getStatus() == 'emitida') {
                     $iNumpre = Contribuinte_Model_DmsNota::getNumpreByIdDms($oDms->getId());
                     $sStatus = Contribuinte_Model_GuiaEcidade::atualizaSituacao($iNumpre, $iMes);
                     if ($sStatus == 'ABERTO') {
                         $sStatus = 'Emitida Guia';
                     }
                 } else {
                     $sStatus = $oDms->getStatus();
                 }
                 foreach ($oDms->getDmsNotas() as $oNota) {
                     $fValorDms += $oNota->getServicoValorImposto();
                 }
                 // Formata os dados
                 $sMesCompetencia = DBSeller_Helper_Date_Date::mesExtenso($oDms->getMesCompetencia());
                 // Dados do dms para a view
                 $oDmsView = new stdClass();
                 $oDmsView->id = $oDms->getId();
                 $oDmsView->data_operacao = $oDms->getDataOperacao()->format('d/m/Y');
                 $oDmsView->fechado = $oDms->getStatus() == 'fechado';
                 $oDmsView->competencia = "{$sMesCompetencia}/{$oDms->getAnoCompetencia()}";
                 $oDmsView->status_guia = ucfirst(strtolower($sStatus));
                 $oDmsView->valor_imposto = DBSeller_Helper_Number_Format::toMoney($fValorDms, 2, 'R$ ');
                 // Lista de DMS da view
                 $aResultado[] = $oDmsView;
             }
         }
         // Verifica se tem requisicoes liberadas (ignora para contribuinte eventual)
         if ($iIdPerfil != self::PERFIL_PRESTADOR_EVENTUAL) {
             // Verifica se tem requisicoes liberadas
             $iTiposLiberados = 0;
             $aTiposDocumentosLiberados = Administrativo_Model_RequisicaoAidof::getRequisicoesAidof($this->oContribuinte->getInscricaoMunicipal());
             if (count($aTiposDocumentosLiberados) > 0) {
                 foreach ($aTiposDocumentosLiberados as $oTiposDocumentos) {
                     if (in_array($oTiposDocumentos->status, array('', 'L'))) {
                         $iTiposLiberados++;
                     }
                 }
             }
             if (count($aTiposDocumentosLiberados) <= 0 || $iTiposLiberados == 0) {
                 $this->view->sem_requisicao = TRUE;
             }
         }
         // Verifica se o contribuinte declarou sem movimento
         $aDeclaracaoSemMovimento = Contribuinte_Model_Competencia::getDeclaracaoSemMovimentoPorContribuintes(array($this->oContribuinte->getInscricaoMunicipal()), $iAno, $iMes);
         if (count($aDeclaracaoSemMovimento) > 0) {
             $this->view->declarado_sem_movimento = TRUE;
         }
         // Dados da competência
         $oCompetencia = new stdClass();
         $oCompetencia->mes = $iMes;
         $oCompetencia->ano = $iAno;
         // Dados da view
         $this->view->aDms = $aResultado;
         $this->view->competencia = $oCompetencia;
     } catch (Exception $oError) {
         $this->view->messages[] = array('error' => $this->translate->_($oError->getMessage()));
     }
 }