/** * Verifica se ja existe uma nota com o numero e se tem AIDOF [Json] * * @return boolean */ public function emissaoManualSaidaVerificarDocumentoAction() { parent::noLayout(); try { // Parâmetros request $iTipoDocumento = $this->getRequest()->getParam('tipo_documento', NULL); $sNumeroNota = $this->getRequest()->getParam('s_nota', NULL); $iIdDmsNota = $this->getRequest()->getParam('id', NULL); if ($iTipoDocumento) { // Verifica a quantidade de Aidof disponivel para o tipo de documento $oAidof = new Administrativo_Model_Aidof(); $iQtdeAidofEmissao = $oAidof->getQuantidadesNotasEmissao($this->oContribuinte->getInscricaoMunicipal(), $iTipoDocumento); // Verifica Requisicoes de AIDOF if (!$iIdDmsNota && $iQtdeAidofEmissao <= 0) { $sUrlRequisicao = $this->view->serverUrl('/contribuinte/dms/requisicao'); $aRetornoJson['status'] = FALSE; $aRetornoJson['error'][] = 'O limite para emissão de notas foi atingido para este tipo de documento, '; $aRetornoJson['error'][] = "<a href='" . $sUrlRequisicao . "'>clique aqui</a> "; $aRetornoJson['error'][] = 'para emitir uma nova requisição.'; echo $this->getHelper('json')->sendJson($aRetornoJson); return FALSE; } // Valida numeracao repetida if ($sNumeroNota) { $lNotaEmitida = Contribuinte_Model_DmsNota::checarNotaEmitida($this->oContribuinte, $iTipoDocumento, $sNumeroNota, $iIdDmsNota); if ($lNotaEmitida) { $sMensagemErro = $this->translate->_('Já existe um documento com o número %s.'); $aRetornoJson['status'] = FALSE; $aRetornoJson['error'][] = sprintf($sMensagemErro, $sNumeroNota); echo $this->getHelper('json')->sendJson($aRetornoJson); return FALSE; } if (!$oAidof->verificarNumeracaoValidaParaEmissaoDocumento($this->oContribuinte->getInscricaoMunicipal(), $sNumeroNota, $iTipoDocumento)) { $sMensagemErro = 'O número do documento está fora do intervalo permitido nas requisições.'; $aRetornoJson['status'] = FALSE; $aRetornoJson['error'][] = $this->translate->_($sMensagemErro); echo $this->getHelper('json')->sendJson($aRetornoJson); return FALSE; } } } return TRUE; } catch (Exception $e) { $aRetorno['erro'] = TRUE; $aRetorno['mensagem'] = $e->getMessage(); echo $this->getHelper('json')->sendJson($aRetorno); return FALSE; } }