/** * Prepara os dados da guia a ser gerada * * @param Administrativo_Model_UsuarioContribuinte $oContribuinte * @param int $iAnoCompetencia * @param int $iMesCompetencia * @param array $aNotas * @param int $iIdGuia * @return object $oGuiaGerar */ public static function montaDadosGuia(Administrativo_Model_UsuarioContribuinte $oContribuinte, $iAnoCompetencia, $iMesCompetencia, $aNotas, $sDataPagamento, $iIdGuia) { $sData = DBSeller_Helper_Date_Date::invertDate($sDataPagamento); $oData = new DateTime($sData); $oGuiaGerar = new StdClass(); $oGuiaGerar->inscricao_municipal = $oContribuinte->getIm(); $oGuiaGerar->cpf_cnpj = $oContribuinte->getCnpjCpf(); $oGuiaGerar->numcgm = $oContribuinte->getCgm(); $oGuiaGerar->mes_competencia = $iMesCompetencia; $oGuiaGerar->ano_competencia = $iAnoCompetencia; $oGuiaGerar->codigo_guia = $iIdGuia; $aListaNotas = array(); foreach ($aNotas as $oDocumentoNota) { $oNota = new stdClass(); $oNota->numero_nota_fiscal = $oDocumentoNota->getNotaNumero(); $oNota->codigo_documento = $oDocumentoNota->getId(); $oNota->data_nota_fiscal = $oDocumentoNota->getNotaData()->format('Y-m-d'); $oNota->serie_nota_fiscal = $oDocumentoNota->getNotaSerie(); $oNota->valor_base_calculo = $oDocumentoNota->getServicoBaseCalculo(); $oNota->valor_deducao = $oDocumentoNota->getServicoValorDeducao(); $oNota->valor_imposto_retido = $oDocumentoNota->getServicoValorImposto(); $oNota->valor_servico_prestado = $oDocumentoNota->getServicoValorPagar(); $oNota->aliquota = $oDocumentoNota->getServicoAliquota(); $oNota->data_pagamento = $oData->format('Y-m-d'); $oNota->retido = $oDocumentoNota->getServicoImpostoRetido(); $oNota->situacao = $oDocumentoNota->getSituacaoDocumento() == 'N' ? '0' : '1'; $oNota->status = 1; $oNota->servico_prestado = urlencode($oDocumentoNota->getDescricaoServico()); // Serviços prestados if ($oDocumentoNota->getOperacao() == self::SERVICO_PRESTADO) { $oNota->cnpj_prestador = $oDocumentoNota->getPrestadorCpfCnpj(); $oNota->inscricao_prestador = $oDocumentoNota->getPrestadorInscricaoMunicipal(); $oNota->nome = urlencode($oDocumentoNota->getPrestadorRazaoSocial()); $oNota->operacao = 2; } else { $oNota->cnpj_prestador = $oDocumentoNota->getTomadorCpfCnpj(); $oNota->inscricao_prestador = $oDocumentoNota->getTomadorInscricaoMunicipal(); $oNota->nome = $oDocumentoNota->getTomadorRazaoSocial(); $oNota->operacao = 1; } // Limita para o tamanho do campo no ecidade if (strlen($oNota->nome) > 60) { $oNota->nome = substr($oNota->nome, 57) . '...'; } // Adiciona a nota na lista $aListaNotas[] = $oNota; } $oGuiaGerar->notas = $aListaNotas; return $oGuiaGerar; }