public function testardpAction() { $user = Zend_Registry::get('zend_auth_user'); $contrato = $user->contrato; //TESTE DE RDP $beneficiario = new Application_Model_DbTable_Beneficiario(); //BD UNIMED $unibeneficiario = new Application_Model_DbTable_Unibeneficiario(); //pegando parametros enviados $request = $this->getRequest(); //familia $familia = $request->getParam('Familia'); //PEGA O IDBENEFICIARIO $select = $beneficiario->select(); $select->where('RDP = ?', $request->getParam('RDP'))->where('Familia = ?', $familia)->where('Contrato = ?', $contrato); $select_uni = $unibeneficiario->select(); $select_uni->where('RDP = ?', $request->getParam('RDP'))->where('Familia = ?', $familia)->where('Contrato = ?', $contrato); $select1 = $beneficiario->fetchall($select); $select2 = $unibeneficiario->fetchall($select_uni); if ($select1->count() >= 1 or $select2->count() >= 1) { echo "1"; } exit; }
public function xmlAction() { //AÇÃO PARA GERAR PDF do XML $lote_obj = new Application_Model_DbTable_Lote(); $beneficiario = new Application_Model_DbTable_Beneficiario(); //RECEBE O ID DO LOTE $request = $this->getRequest(); $lote = $request->getParam('lote'); $contrato = $request->getParam('contrato'); $select = $beneficiario->select(); $select->where('lote = ? ', $lote); $tab_beneficiario = $beneficiario->fetchall($select); //COMEÇO A MONTAR O MALDITO PDF $loader = Zend_Loader_Autoloader::getInstance(); try { //cria pdf $pdf = new Zend_Pdf(); //cria formato A4 $n = 0; $page[$n] = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_A4); //Define a fonte $font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA); //buscando imagem $imagem = Zend_Pdf_Image::imageWithPath('imagens/pequeno.png'); //Colocando imagem no PDF $page[$n]->drawImage($imagem, 20, 750, $imagem->getPixelWidth() + 20, 750 + $imagem->getPixelHeight()); //escreve na página $page[$n]->setFont($font, 10)->drawText('Relatorios XML ', 160, 730)->setFont($font, 12)->drawText('Contrato: ' . $contrato, 90, 690)->drawText('Empresa: ', 90, 670)->drawText('Numero do lote: ' . $lote, 90, 650)->setFont($font, 11)->drawText('Data: ' . date("d/m/Y"), 90, 630)->drawText('Beneficiarios: ', 90, 600)->setFont($font, 8); //CRIANDO LAÇO $altura = 585; foreach ($tab_beneficiario as $key => $row) { if ($altura < 80) { $altura = 780; $n = $n + 1; $page[$n] = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_A4); $pdf->pages[] = $page[$n]; } $page[$n]->setFont($font, 8)->drawText('Nome: ' . $row['Nome'], 90, $altura -= 10)->drawText('CPF: ' . $row['Cnp'], 90, $altura -= 10)->drawText(' ', 90, $altura -= 10); } $page[$n]->setFont($font, 8)->drawText('Unimed Santos - Av. Dona Ana Costa, 211 - Encruzilhada - Santos - SP', 150, 20)->drawText('Cep: 11.060-001 - Tels.: (13) 2102-8100 / 8300 ', 150, 10); //adiciona página ao documento //$pdf->pages[] = $page; $diretorio = "pdfxml/" . $contrato . "/"; if (@opendir($diretorio) == false) { mkdir($diretorio, 0777); } //salva PDF $pdf->save($diretorio . $lote . '.pdf'); //Por fim, setamos a header como um PDF, e renderizamos o nosso $pdf; header('Content-type: application/pdf'); echo $pdf->render(); //$this->_redirect('/xml'); } catch (Zend_Pdf_Exception $e) { die('PDF error: ' . $e->getMessage()); } catch (Exception $e) { die('Application error: ' . $e->getMessage()); } echo $lote; exit; }
public function gerarAction() { $request = $this->getRequest(); $lote = $request->getParam('lote'); $lote_obj = new Application_Model_DbTable_Lote(); $lote_tab = $lote_obj->find($lote)->current(); $contrato = $lote_tab['contrato']; //DADOS DO BENEFICIARIO $beneficiario = new Application_Model_DbTable_Beneficiario(); $select = $beneficiario->select(); $select->where('lote = ? ', $lote); $tab_beneficiario = $beneficiario->fetchall($select); //encoding='ISO-8859-1' $dadosXml = "<?xml version='1.0' standalone='yes'?>\n"; $dadosXml .= "<MovimentacaoCadastralAtualizacaoCompleta xmlns='MovimentacaoCadastralAtualizacaoCompleta.xsd'>\n"; //ABRE NÓ PAI PRINCIPAL $unicontrato = new Application_Model_DbTable_Unicontrato(); foreach ($tab_beneficiario as $key => $row) { $dadosXml .= "<AtualizacaoCompleta>\n"; #CRIA O LOTE //GERANDO XML PARTIR DOS DADOS ACIMA $objcontrato = $unicontrato->find($row['Contrato'])->current(); //TEM QUE PEGAR O CONTRATO $dadosXml .= "<Contrato>" . $objcontrato['Codigo'] . "</Contrato>\n"; #CODIGO DO BENEFICIARIO $dadosXml .= "<RDP>" . $row['RDP'] . "</RDP>\n "; #RDP $dadosXml .= "<Familia>" . $row['Familia'] . "</Familia>\n "; #CODIGO DA FAMILIA if ($row['Matricula'] != null) { $dadosXml .= "<Matricula>" . $row['Matricula'] . "</Matricula>\n "; #CODIGO DA FAMILIA } //$dadosXml.="<IncluidoComoRN>".$this->true_ou_false($row['IncluidoComoRN'])."</IncluidoComoRN>\n"; #INCLUINDO COM RN $dadosXml .= "<IncluidoComoRN>false</IncluidoComoRN>\n"; #INCLUINDO COM RN $dadosXml .= "<GrauDependencia>" . $this->graudependencia($row['RDP']) . "</GrauDependencia>\n"; #GrauDependencia $dadosXml .= "<InicioVigencia>" . $this->dataXml($row['InicioVigencia']) . "</InicioVigencia>\n "; #Inicio de vigencia $dadosXml .= "<FimVigencia>" . $this->dataXml($row['FimVigencia']) . "</FimVigencia>\n "; #Fim de vigencia $dadosXml .= "<CodigoExterno>" . $this->codcarteira($objcontrato['Codigo'], $row['Familia'], $row['RDP']) . "</CodigoExterno>\n"; #NAO SABEMOS COMO PEGAR ESSE CODIGO $dadosXml .= "<Pessoa>\n"; #INICIA PESSOA $dadosXml .= "<Nome>" . $row['Nome'] . "</Nome>\n"; $dadosXml .= "<DataNascimento>" . $this->dataXml($row['DataNascimento']) . "</DataNascimento>\n"; $dadosXml .= "<Cnp>" . $this->soNumero($row['Cnp']) . "</Cnp>\n"; $dadosXml .= "<Tipo>2</Tipo>\n"; $dadosXml .= "<Sexo>" . strtolower($row['Sexo']) . "</Sexo>\n"; $dadosXml .= "<EstadoCivil>" . $row['EstadoCivil'] . "</EstadoCivil>\n"; if ($row['Naturalidade'] != null and $row['Naturalidade'] != 0) { $dadosXml .= "<Naturalidade>" . $row['Naturalidade'] . "</Naturalidade>\n"; } if ($row['NomePai'] != null or $row['NomePai'] != '') { $dadosXml .= "<NomePai>" . $row['NomePai'] . "</NomePai>\n"; } else { $dadosXml .= "<NomePai>NAO INFORMADO</NomePai>\n"; } $dadosXml .= "<NomeMae>" . $row['NomeMae'] . "</NomeMae>\n"; if ($row['NomeConjuge'] != null and $row['NomeConjuge'] != '') { $dadosXml .= "<NomeConjuge>" . $row['NomeConjuge'] . "</NomeConjuge>\n"; } $dadosXml .= "<Invalidez>false</Invalidez>\n"; //Emails $beneficiarioEmail = new Application_Model_DbTable_Email(); $select = $beneficiarioEmail->select()->where('lote = ? ', $lote)->where('idBeneficiario = ?', $row['idBeneficiario']); $tab_beneficiarioEmail = $beneficiarioEmail->fetchall($select); //VERIFICAR STATUS foreach ($tab_beneficiarioEmail as $k => $r) { if ($r['status'] == 1) { if ($r['Email'] != '') { $dadosXml .= "<Emails>\n"; $dadosXml .= "<Email>" . $r['Email'] . "</Email>\n"; $dadosXml .= "<Seq>" . $r['Seq'] . "</Seq>\n"; $dadosXml .= "<InicioVigencia>" . $this->dataXml($r['InicioVigencia']) . "</InicioVigencia>\n"; $dadosXml .= "<FimVigencia>" . $this->dataXml($r['FimVigencia']) . "</FimVigencia>\n"; $dadosXml .= "</Emails>\n"; } } } //Registros $beneficiarioRegistro = new Application_Model_DbTable_Registro(); $select = $beneficiarioRegistro->select()->where('lote = ? ', $lote)->where('idBeneficiario = ?', $row['idBeneficiario']); $tab_beneficiarioRegistro = $beneficiarioRegistro->fetchall($select); if (count($tab_beneficiarioRegistro) == 1) { $rg = $tab_beneficiarioRegistro[0]['RG']; $pis = $tab_beneficiarioRegistro[0]['PIS']; if ($rg != '') { $dadosXml .= "<Registro>\n"; $dadosXml .= "<Tipo>1</Tipo>\n"; $dadosXml .= "<Numero>" . $rg . "</Numero>\n"; //OrgaoExp //UFExp //DataExp $dadosXml .= "</Registro>\n"; } if ($pis != '') { $dadosXml .= "<Registro>\n"; $dadosXml .= "<Tipo>9</Tipo>\n"; $dadosXml .= "<Numero>" . $pis . "</Numero>\n"; $dadosXml .= "</Registro>\n"; } } //outro select aqui para pegar endereco desse BENEficiario $beneficiarioEnd = new Application_Model_DbTable_Endereco(); $select = $beneficiarioEnd->select()->where('lote = ? ', $lote)->where('idBeneficiario = ?', $row['idBeneficiario']); $tab_beneficiarioEnd = $beneficiarioEnd->fetchall($select); //$dadosXml.="<enderecocount>".$tab_beneficiarioEnd->count()."</enderecocount>"; // FIM DA CONSULTA QUE PEGA ENDERECO // foreach ($tab_beneficiarioEnd as $k => $r) { //VERIFICAR STATUS // if ($r['status'] == 1) { $dadosXml .= "<Endereco>\n"; #INICIA ENDEREÇO DA PESSOA $dadosXml .= "<Seq>" . $r['Seq'] . "</Seq>\n"; if ($r['NumLogradouro'] != '') { $dadosXml .= "<NumLogradouro>" . $r['NumLogradouro'] . "</NumLogradouro>\n"; } $dadosXml .= "<NomeLogradouro>" . $r['Logradouro'] . "</NomeLogradouro>\n"; $dadosXml .= "<ComplLogradouro>" . $r['ComplLogradouro'] . "</ComplLogradouro>\n"; $dadosXml .= "<Bairro>" . $r['Bairro'] . "</Bairro>\n"; $dadosXml .= "<Cidade>" . $r['Cidade'] . "</Cidade>\n"; $dadosXml .= "<Cep>" . $this->soNumero($r['CEP']) . "</Cep>\n"; if ($r['PontoReferencia'] != null or $r['PontoReferencia'] != '') { $dadosXml .= "<PontoReferencia>" . $r['PontoReferencia'] . "</PontoReferencia>\n"; } if ($r['CaixaPostal'] != '' or $r['CaixaPostal'] != null) { $dadosXml .= "<CaixaPostal>" . $r['CaixaPostal'] . "</CaixaPostal>\n"; } $dadosXml .= "<Tipo>" . ($r['Tipo'] == "" ? "1" : $r['Tipo']) . "</Tipo>\n"; $dadosXml .= "<ParaCorrespondencia>true</ParaCorrespondencia>\n"; $dadosXml .= "<ParaCobranca>true</ParaCobranca>\n"; $dadosXml .= "<ParaFaturamento>true</ParaFaturamento>\n"; $dadosXml .= "<ParaPublicacao>true</ParaPublicacao>\n"; $dadosXml .= "<InicioVigencia>" . $this->dataXml($r['InicioVigencia']) . "</InicioVigencia>\n"; $dadosXml .= "<FimVigencia>" . $this->dataXml($r['FimVigencia']) . "</FimVigencia>\n"; //if ( $r['AutoId'] != '' ) //$dadosXml.="<CardioAutoId>".$r['AutoId']."</CardioAutoId>\n"; //$dadosXml.="<CardioAutoId>".$r['CardioAutoId']."</CardioAutoId>\n"; $dadosXml .= "</Endereco>\n"; #FECHA ENDEREÇO DA PESSOA // } } $beneficiarioTel = new Application_Model_DbTable_Telefone(); $select = $beneficiarioTel->select()->where('lote = ? ', $lote)->where('idBeneficiario = ?', $row['idBeneficiario']); $tab_beneficiarioTel = $beneficiarioTel->fetchall($select); //VERIFICAR STATUS foreach ($tab_beneficiarioTel as $k => $r) { if ($r['Numero'] != '') { $dadosXml .= "<Telefone>\n"; $dadosXml .= "<Seq>" . ($r['Seq'] == '' ? '1' : $r['Seq']) . "</Seq>\n"; $dadosXml .= "<Tipo>" . $r['Tipo'] . "</Tipo>\n"; $dadosXml .= "<DDD>" . $r['DDD'] . "</DDD>\n"; $dadosXml .= "<Numero>" . $this->soNumero($r['Numero']) . "</Numero>\n"; $dadosXml .= "<InicioVigencia>" . $this->dataXml($r['InicioVigencia']) . "</InicioVigencia>\n"; $dadosXml .= "<FimVigencia>" . $this->dataXml($r['FimVigencia']) . "</FimVigencia>\n"; if ($r['AutoId'] != '') { //$dadosXml.="<CardioAutoId>".$r['AutoId']."</CardioAutoId>\n"; $dadosXml .= "<SeqEnd>" . ($r['SeqEnd'] == '' ? '1' : $r['SeqEnd']) . "</SeqEnd>\n"; } $dadosXml .= "</Telefone>\n"; } } $dadosXml .= "</Pessoa>\n "; #FECHA PESSOA $beneficiarioModulo = new Application_Model_DbTable_Modulo(); $select = $beneficiarioModulo->select()->where('lote = ? ', $lote)->where('idBeneficiario = ?', $row['idBeneficiario']); $tab_beneficiarioModulo = $beneficiarioModulo->fetchall($select); foreach ($tab_beneficiarioModulo as $k => $r) { //PERGUNTA SE STATUS É 1, SE SIM INFORMA MODULO if ($r['status'] == 1) { if ($r['FimVigencia'] != '' or $r['FimVigencia'] != null) { //ENTÃO FECHA OS ACESSÓRIOS $unibeneficiario = new Application_Model_DbTable_Unibeneficiario(); $select = $unibeneficiario->select(); $select->setIntegrityCheck(false); $select->from(array('b' => 'Beneficiario'), array('*'))->joinLeft(array('m' => 'ModuloBeneficiario'), 'b.AutoId = m.Beneficiario', array('m.InicioVigencia'))->joinLeft(array('o' => 'ModuloOperadora'), 'm.Modulo = o.AutoId', array('o.Codigo'))->where('b.AutoId = ? and m.fimvigencia is null and o.tipo=9', $row['AutoId']); $modulos = $unibeneficiario->fetchAll($select); foreach ($modulos as $iModulo => $rModulo) { $dadosXml .= "<Modulos>\n"; #ABRE MODULO $dadosXml .= "<Codigo>" . $rModulo['Codigo'] . "</Codigo>\n"; $dadosXml .= "<DataBaseCob>" . $this->dataPhp($rModulo['InicioVigencia']) . "</DataBaseCob>\n"; $dadosXml .= "<InicioVigencia>" . $this->dataPhp($rModulo['InicioVigencia']) . "</InicioVigencia>\n"; $dadosXml .= "<QteMensRetr>0</QteMensRetr>\n"; $dadosXml .= "<FimVigencia>" . $this->dataPhp($r['FimVigencia']) . "</FimVigencia>\n"; $dadosXml .= "</Modulos>\n"; #FECHA MODULO } } $dadosXml .= "<Modulos>\n"; #ABRE MODULO $dadosXml .= "<Codigo>" . $r['Codigo'] . "</Codigo>\n"; $dadosXml .= "<DataBaseCob>" . $this->dataXml($r['InicioVigencia']) . "</DataBaseCob>\n"; $dadosXml .= "<InicioVigencia>" . $this->dataXml($r['InicioVigencia']) . "</InicioVigencia>\n"; $dadosXml .= "<QteMensRetr>0</QteMensRetr>\n"; if ($r['FimVigencia'] != '') { $dadosXml .= "<FimVigencia>" . $this->dataXml($r['FimVigencia']) . "</FimVigencia>\n"; } $dadosXml .= "</Modulos>\n"; #FECHA MODULO } } // SE FOR DEPENDENTE, PASSAR O TITULAR if ($row['RDP'] > 0) { $dadosXml .= "<Titular>\n"; $dadosXml .= "<Codigo>" . $this->codcarteira($objcontrato['Codigo'], $row['Familia'], 0) . "</Codigo>\n"; $dadosXml .= "</Titular>\n"; } //LOTACAO $lotacao = new Application_Model_DbTable_Lotacao(); $select = $lotacao->select()->where('lote = ? ', $lote)->where('idBeneficiario = ?', $row['idBeneficiario']); $tab_lotacao = $lotacao->fetchall($select); $tabtemp = new Application_Model_DbTable_Unibeneficiario(); foreach ($tab_lotacao as $local => $valores) { //VERIFICAR STATUS if ($valores['status'] == 1) { // Troca o código autoid, pelo campo código /* $select = $tabtemp->select(); $select ->setIntegrityCheck(false); $select ->from(array('b' => 'lotacaocontrato'),array('Codigo')) ->where('contrato = ?', $contrato ) ->where('AutoId = ?', $valores['Codigo'] ); $res_temp = $tabtemp->fetchAll($select); if ( count($res_temp) == 1 ){ */ if ($valores['Codigo'] != null || $valores['Codigo'] != '') { $dadosXml .= "<Lotacao>\n"; #ABRE LOTACAO $dadosXml .= "<Codigo>" . $valores['Codigo'] . "</Codigo>\n"; $dadosXml .= "<InicioVigencia>" . $this->dataXml($valores['InicioVigencia']) . "</InicioVigencia>\n"; if ($valores['FimVigencia'] != '' || $valores['FimVigencia'] != null) { $dadosXml .= "<FimVigencia>" . $this->dataXml($valores['FimVigencia']) . "</FimVigencia>\n"; } $dadosXml .= "</Lotacao>\n"; #FECHA LOTACAO } } //} } //LOCAL DE ATENDIMENTO DO BENEFICIARIO $LocalAtendimento = new Application_Model_DbTable_LocalAtendimento(); $select = $LocalAtendimento->select()->where('lote = ? ', $lote)->where('idBeneficiario = ?', $row['idBeneficiario']); $tab_localAtendimento = $LocalAtendimento->fetchall($select); //VERIFICAR STATUS foreach ($tab_localAtendimento as $local => $valores) { if ($valores['status'] == 1) { if ($valores['Codigo'] != '') { $unipessoa = new application_model_DbTable_Unipessoa(); $select = $unipessoa->select(); $select->setIntegrityCheck(false); $select->from(array('pes' => 'Pessoa'), array())->join(array('pse' => 'PrestadorServico'), 'pes.autoid = pse.pessoa', array())->join(array('nre' => 'negociacaorepasse'), 'nre.lcat = pse.autoid', array('tipo'))->where('nre.contrato = ?', $row['Contrato'])->where('pse.codigo = ?', $valores['Codigo']); $resultado = $unipessoa->fetchAll($select)->current(); $dadosXml .= "<LocalAtendimento>\n"; #ABRE LOCAL ATENDIMENTO $dadosXml .= "<LcAt>" . $valores['Codigo'] . "</LcAt>\n"; $dadosXml .= "<Tipo>" . $resultado['tipo'] . "</Tipo>\n"; $dadosXml .= "<InicioVigencia>" . $this->dataXml($valores['InicioVigencia']) . "</InicioVigencia>\n"; if ($valores['FimVigencia'] != '') { $dadosXml .= "<FimVigencia>" . $this->dataXml($valores['FimVigencia']) . "</FimVigencia>\n"; } $dadosXml .= "</LocalAtendimento>\n"; #FECHA LOCAL ATENDIMENTO } } } $dadosXml .= "</AtualizacaoCompleta> \n"; #FECHA O AtualizacaoCompleta } //FECHA LAÇO DO FOREACH $dadosXml .= "</MovimentacaoCadastralAtualizacaoCompleta>"; // FECHA NÓ PAI PRINCIPAL //GRAVA file_put_contents(APPLICATION_PATH . '/xml/uniweb_' . $lote . ".xml", $dadosXml); $this->view->nomeXml = APPLICATION_PATH . '/xml/uniweb_' . $lote . ".xml"; $this->view->lote = $lote; // ALTERA STATUS DO LOTE PARA 0 $tab_lote = new Application_Model_DbTable_Lote(); $atualizaLote = array("status" => 0); $where = "AutoId = " . $lote; $tab_lote->update($atualizaLote, $where); // ALTERA STATUS DO BENEFICIARIO PARA 0 $atualizaBeneficiario = array("status" => 0); $where = "lote = " . $lote; $beneficiario->update($atualizaBeneficiario, $where); }
public function confirmaalteracoesAction() { $user = Zend_Registry::get('zend_auth_user'); if ($user == null or @$user->contrato == null) { exit; } $request = $this->getRequest(); $benefs = $request->getParam('benef'); if (count($benefs) > 0) { $lote = new Application_Model_DbTable_Lote(); $vals = array("contrato" => $user->contrato, "idLogin" => $user->id, "status" => 1); $idlote = $lote->insert($vals); $beneficiario = new Application_Model_DbTable_Beneficiario(); $registro = new Application_Model_DbTable_Registro(); $email = new Application_Model_DbTable_Email(); $telefone = new Application_Model_DbTable_Telefone(); $modulo = new Application_Model_DbTable_Modulo(); $localAtendimento = new Application_Model_DbTable_LocalAtendimento(); $lotacao = new Application_Model_DbTable_Lotacao(); $endereco = new Application_Model_DbTable_Endereco(); $vals = array('lote' => $idlote); $beneficiario->update($vals, 'idBeneficiario in (' . implode(',', $benefs) . ')'); $registro->update($vals, 'idBeneficiario in (' . implode(',', $benefs) . ')'); $email->update($vals, 'idBeneficiario in (' . implode(',', $benefs) . ')'); $telefone->update($vals, 'idBeneficiario in (' . implode(',', $benefs) . ')'); $modulo->update($vals, 'idBeneficiario in (' . implode(',', $benefs) . ')'); $localAtendimento->update($vals, 'idBeneficiario in (' . implode(',', $benefs) . ')'); $lotacao->update($vals, 'idBeneficiario in (' . implode(',', $benefs) . ')'); $endereco->update($vals, 'idBeneficiario in (' . implode(',', $benefs) . ')'); foreach ($benefs as $i => $v) { $select = $beneficiario->select(); $select->setIntegrityCheck(false); $select->from(array('b' => 'beneficiario'), array('*'))->join(array('m' => 'modulo'), 'b.idbeneficiario = m.idbeneficiario', array('Nome as NomePlano'))->where("b.idBeneficiario = ?", $v); $resultado = $beneficiario->fetchall($select)->current(); $lista[$v] = array('Nome' => $resultado["Nome"], 'Cnp' => $resultado["Cnp"], 'NomePlano' => $resultado["NomePlano"], 'RDP' => $resultado["RDP"]); } $this->view->lista = $lista; $this->view->contrato = $user->contrato; $this->view->lote = $idlote; } }
public function gerarAction() { $request = $this->getRequest(); $lote = $request->getParam('lote'); $lote_obj = new Application_Model_DbTable_Lote(); $lote_tab = $lote_obj->find($lote)->current(); $contrato = $lote_tab['contrato']; //DADOS DO BENEFICIARIO $beneficiario = new Application_Model_DbTable_Beneficiario(); $select = $beneficiario->select(); $select->where('lote = ? ', $lote); $tab_beneficiario = $beneficiario->fetchall($select); $dadosXml = "<?xml version='1.0' encoding='ISO-8859-1' standalone='yes'?>\n"; $dadosXml .= "<MovimentacoesCadastrais xmlns='MovimentacoesCadastrais.xsd'>\n"; //ABRE NÓ PAI PRINCIPAL $dadosXml .= "<Lote>\n"; #CRIA O LOTE foreach ($tab_beneficiario as $key => $row) { //GERANDO XML PARTIR DOS DADOS ACIMA $dadosXml .= $row['AutoId'] != "" ? "<Alteracao>\n" : "<Inclusao>\n"; #TIPO ALTERACAO $dadosXml .= "<Beneficiario>\n"; #BENEFICIARIO $dadosXml .= "<Codigo>" . $row['idBeneficiario'] . "</Codigo>\n "; #CODIGO DO BENEFICIARIO $dadosXml .= "<Familia>" . $row['Familia'] . "</Familia>\n "; #CODIGO DA FAMILIA $dadosXml .= "<InicioVigencia>" . $row['InicioVigencia'] . "</InicioVigencia>\n "; #Inicio de vigencia $dadosXml .= "<Tipo>1</Tipo>\n "; #TIPO $dadosXml .= "<IncluidoComoRn>FALSE</IncluidoComoRn>\n "; #INCLUIDO COMO RN $dadosXml .= "<RDP>" . $row['RDP'] . "</RDP>\n "; #RDP $dadosXml .= "<GrauDependencia>00</GrauDependencia>\n "; #GrauDependencia $dadosXml .= "<Importado>TRUE</Importado>\n "; #Importado $dadosXml .= "<Pessoa>\n "; #INICIA PESSOA $dadosXml .= "<Nome>" . $row['Nome'] . "</Nome>\n"; $dadosXml .= "<NomeReduzido>" . $row['Nome'] . "</NomeReduzido>\n"; $dadosXml .= "<DataNascimento>" . $row['DataNascimento'] . "</DataNascimento>\n"; $dadosXml .= "<Sexo>" . $row['Sexo'] . "</Sexo>\n"; $dadosXml .= "<Cnp>" . $row['Cnp'] . "</Cnp>\n"; $dadosXml .= "<EstadoCivil>" . $row['EstadoCivil'] . "</EstadoCivil>\n"; #O CERTO DO ESTADO CIVIL É EXIBIR LETRA $dadosXml .= "<NomeMae>" . $row['NomeMae'] . "</NomeMae>\n"; $dadosXml .= "<Tipo>2</Tipo>\n"; //outro select aqui para pegar endereco desse BENEficiario $beneficiarioEnd = new Application_Model_DbTable_Endereco(); $select = $beneficiarioEnd->select()->where('lote = ? ', $lote)->where('idBeneficiario = ?', $row['idBeneficiario']); $tab_beneficiarioEnd = $beneficiarioEnd->fetchall($select); //$dadosXml.="<enderecocount>".$tab_beneficiarioEnd->count()."</enderecocount>"; // FIM DA CONSULTA QUE PEGA ENDERECO // foreach ($tab_beneficiarioEnd as $k => $r) { $dadosXml .= "<Endereco>\n"; #INICIA ENDEREÇO DA PESSOA $dadosXml .= "<NomeLogradouro>" . $r['Logradouro'] . "</NomeLogradouro>\n"; $dadosXml .= "<Bairro>" . $r['Bairro'] . "</Bairro>\n"; $dadosXml .= "<Cidade>" . $r['Cidade'] . "</Cidade>\n"; $dadosXml .= "<CEP>" . $r['CEP'] . "</CEP>\n"; $dadosXml .= "<NumLogradouro>" . $r['NumLogradouro'] . "</NumLogradouro>\n"; $dadosXml .= "<UF>SP</UF>\n"; /*** CRIAR NO BD ***/ $dadosXml .= "<Tipo>1</Tipo>\n"; /*** CRIAR NO BD ***/ $dadosXml .= "<InicioVigencia>" . $r['inicioVigencia'] . "</InicioVigencia>\n"; $dadosXml .= "</Endereco>\n"; #FECHA ENDEREÇO DA PESSOA } /* ESSE REGISTRO TEM TIPO Q EH PARA SABER Q TIPO DE REGISTRO * * POR EXEMPLO: O REGISTRO TIPO 9 É O PIS O 11 É O INSS * SABEMOS O TIPO PELO CARDIO NA TABELA 'TipoRegPessoa' * */ $dadosXml .= "<Registro>\n"; # INICIA REGISTRO $dadosXml .= "<Numero>12779406242</Numero>\n"; $dadosXml .= "<Tipo>9</Tipo>\n"; $dadosXml .= "</Registro>\n"; # FECHA REGISTRO $dadosXml .= "<Registro>\n"; # INICIA REGISTRO2 $dadosXml .= " <Numero>48649209-6</Numero>\n"; $dadosXml .= "<Tipo>1</Tipo>\n"; $dadosXml .= "<UfRg>SP</UfRg>\n"; $dadosXml .= "</Registro>\n"; # FECHA REGISTRO2 $dadosXml .= "</Pessoa>\n "; #FECHA PESSOA $dadosXml .= "<Modulo>\n"; #ABRE MODULO $dadosXml .= "<Codigo>001314410</Codigo>\n"; $dadosXml .= "<InicioVigencia>01/03/2010</InicioVigencia>\n"; $dadosXml .= "<DataBaseCob>01/03/2010</DataBaseCob>\n"; $dadosXml .= "</Modulo>\n"; #FECHA MODULO $dadosXml .= "<LotacaoBeneficiario>\n"; #INICIA LOTAÇÃO DO BENEFICIARIO $dadosXml .= "<Codigo>31440001</Codigo>\n"; $dadosXml .= "<InicioVigenciLot>01/03/2010</InicioVigenciLot>\n"; $dadosXml .= "</LotacaoBeneficiario>\n"; # FECHA LOTAÇÃO DO BENEFICIARIO //LOCAL DE ATENDIMENTO DO BENEFICIARIO $LocalAtendimento = new Application_Model_DbTable_LocalAtendimento(); $select = $LocalAtendimento->select()->where('lote = ? ', $lote)->where('idBeneficiario = ?', $row['idBeneficiario']); $tab_localAtendimento = $LocalAtendimento->fetchall($select); $dadosXml .= "<AberturaRepasse>\n"; #INICIA ABERTURA REPASSE foreach ($tab_localAtendimento as $local => $valores) { $dadosXml .= "<LcAt>" . $valores['AutoId'] . "</LcAt>\n"; $dadosXml .= "<InicioVigencia>" . $valores['inicioVigencia'] . "</InicioVigencia>\n"; $dadosXml .= "<Tipo>TIPOOO</Tipo>\n"; } $dadosXml .= " </AberturaRepasse>\n"; #FECHA ABERTURA REPASSE $dadosXml .= "</Beneficiario>\n"; #FECHA BENEFICIARIO $dadosXml .= $row['AutoId'] != "" ? "</Alteracao>\n" : "</Inclusao>\n"; #FECHA TIPO ALTERACAO } //FECHA LAÇO DO FOREACH $dadosXml .= "</Lote> "; #FECHA O LOTE $dadosXml .= "</MovimentacoesCadastrais>"; // FECHA NÓ PAI PRINCIPAL //GRAVA file_put_contents($contrato . ".xml", $dadosXml); }