✏️ 正在编辑: FtpCliente.php
路径:
/srv/systems_dir/yuppiecred-lidernegocios/library/Core/Banco/Planilha/Bonsucesso/FtpCliente.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class Core_Banco_Planilha_Bonsucesso_FtpCliente extends Core_Banco_Planilha { protected $_inicioLaco = 0; protected $_dateFormat = 'd/m/Y'; protected $colunas = array( 'nome' => 'NOM_CLIENTE', 'cpf' => 'COD_CLIENTE', 'data_nascimento' => 'DTA_NASCIMENTO', 'rg' => 'NUM_IDENTIDADE', 'orgao_expedidor' => 'DSC_ORGAO_EXPEDIDOR', 'endereco' => 'NOM_LOGRADOURO', 'numero' => 'NUM_PREDIO', 'complemento' => 'DSC_CMPLMNT_ENDRC', 'bairro' => 'NOM_BAIRRO', 'cidade' => 'NOM_LOCALIDADE', 'uf' => 'SGL_UF', 'cep' => 'NUM_CEP', 'fone' => 'NUM_TELEFONE', 'celular' => 'NUM_CELULAR', 'email' => 'END_EMAIL', 'sexo' => '', 'estado_civil' => 'DSC_ESTADO_CIVIL', 'nome_pai' => 'NOM_PAI', 'nome_mae' => 'NOM_MAE', 'conjuge' => '', 'obs' => 'DSC_OBSERVACAO', ); public function importar(array $sheetData) { $linhas = $sheetData; $sheetData = array(); for ( $i = $this->_inicioLaco; $i < count($linhas); $i++ ) { $sheetData[$i] = $linhas[$i]; $dados = array( 'empresa_id' => Yuppie_Auth::getIdentity()->empresa_id, 'nome' => null, 'cpf' => null, 'rg' => null, 'orgao_expedidor' => null, 'uf_expedidor' => null, 'data_nascimento' => null, 'nome_pai' => null, 'nome_mae' => null, 'estado_civil' => null, 'endereco' => null, 'complemento' => null, 'bairro' => null, 'cidade' => null, 'uf' => null, 'cep' => null, 'email' => null, 'celular' => null, 'fone' => null, 'obs' => null, ); try { $this->_getCpf($sheetData[$i], $dados); $this->_getDadosCliente($sheetData[$i], $dados); $this->_getObs($sheetData[$i], $dados); $this->salvarLinha($sheetData[$i], $dados); } catch ( Exception $e ) { $this->_addNaoImportado( $dados, $sheetData[$i], $this->naoImportados, $e->getMessage() ); } } return $this->naoImportados; } protected function salvarLinha($sheetData, &$dados) { /* Apenas para LOG */ $urlSistema = Yuppie_Auth::getSiteKey(); $writer = new Zend_Log_Writer_Stream("/var/log/sistemayuppie/zf_log_planilha_{$urlSistema}_" . date('dmY') . ".txt"); $classeChamada = get_class($this); $log = new Zend_Log($writer); $log->log('#######################', Zend_Log::INFO); $log->log("IMPORTAÇÃO FTP CLIENTE BONSUCESSO : " . $classeChamada, Zend_Log::INFO); $log->log('ARQUIVO IMPORTADO: ' . print_r($this->getArquivoOrigem(), true), Zend_Log::INFO); $log->log("Usuário logado: " . Yuppie_Auth::getIdentity()->login, Zend_Log::INFO); $log->log("Informações: " . print_r($dados, true), Zend_Log::INFO); $dbCliente = new Model_DbTable_Cliente(); $result = 0; //verifica se o contrato existe $dadosCliente = $dbCliente->fetchRow("cpf = '". $dados['cpf'] . "'"); if( $dadosCliente ){ $log->log('Cliente já existe no sistema. Tentativa de atualização.', Zend_Log::INFO); $dados['id'] = $dadosCliente->id; $dadosAtualizacao = $this->_getCamposAtualizacao($dados); $result = $dbCliente->update($dadosAtualizacao, "id = {$dadosCliente->id}"); if( !$result ){ $log->log('Nada alterado.', Zend_Log::INFO); $this->_addNaoImportado( $dados, $sheetData, $this->naoImportados, 'Dados do cliente não foram alterados. Já podem estar com a mesma informação.' ); } } else { $result = $dbCliente->insert($dados); if( !$result ){ $log->log('Cliente não cadastrado.', Zend_Log::INFO); $this->_addNaoImportado( $dados, $sheetData, $this->naoImportados, 'Cliente não cadastrado.' ); } } } protected function _getCamposAtualizacao(array &$dados) { $dadosAtualizacao = array( 'endereco' => $dados['endereco'], 'complemento' => $dados['complemento'], 'bairro' => $dados['bairro'], 'cidade' => $dados['cidade'], 'uf' => $dados['uf'], 'fone' => $dados['fone'], 'celular' => $dados['celular'], 'id' => $dados['id'] ); if( isset($dados['obs']) && $dados['obs'] != NULL ){ $dadosAtualizacao['obs'] = $dados['obs']; } return $dadosAtualizacao; } protected function _getCpf(array $sheetData, array &$dados) { if( !$this->getColuna('cpf') ){ throw new Core_Exception("CPF do cliente não informado no arquivo do banco."); } $cpfCliente = String_Refatorar::formatarCpf($sheetData[$this->getColuna('cpf')]); if( !empty($cpfCliente) ){ $dados['cpf'] = $cpfCliente; } } protected function _getDadosCliente(array $sheetData, &$dados) { if( !empty($sheetData[$this->getColuna('data_nascimento')]) ){ $dataNascimento = Core_Util::convertDate($sheetData[$this->getColuna('data_nascimento')], $this->_dateFormat); if( is_array($dataNascimento) ){ throw new Core_Exception("Não foi possível identificar o formato de data infomado na coluna data de nascimento. ({$cliente['DTA_NASCIMENTO']})"); } $dados['data_nascimento'] = $dataNascimento; } if( !empty($sheetData[$this->getColuna('nome')]) ){ $dados['nome'] = $sheetData[$this->getColuna('nome')]; } if( !empty($sheetData[$this->getColuna('rg')]) ){ $dados['rg'] = $sheetData[$this->getColuna('rg')]; } if( !empty($sheetData[$this->getColuna('orgao_expedidor')]) ){ $dados['orgao_expedidor'] = $sheetData[$this->getColuna('orgao_expedidor')]; } if( !empty($sheetData[$this->getColuna('uf_expedidor')]) ){ $dados['uf_expedidor'] = $sheetData[$this->getColuna('uf_expedidor')]; } if( !empty($sheetData[$this->getColuna('nome_pai')]) ){ $dados['nome_pai'] = $sheetData[$this->getColuna('nome_pai')]; } if( !empty($sheetData[$this->getColuna('nome_mae')]) ){ $dados['nome_mae'] = $sheetData[$this->getColuna('nome_mae')]; } if( !empty($sheetData[$this->getColuna('endereco')]) ){ $dados['endereco'] = trim($sheetData[$this->getColuna('endereco')]); if( !empty($sheetData[$this->getColuna('numero')]) ){ $dados['endereco'] .= ", " . trim($sheetData[$this->getColuna('numero')]); } } if( !empty($sheetData[$this->getColuna('complemento')]) ){ $dados['complemento'] = is_array($sheetData[$this->getColuna('complemento')]) ? current($sheetData[$this->getColuna('complemento')]) : $sheetData[$this->getColuna('complemento')]; } if( !empty($sheetData[$this->getColuna('bairro')]) ){ $dados['bairro'] = $sheetData[$this->getColuna('bairro')]; } if( !empty($sheetData[$this->getColuna('cidade')]) ){ $dados['cidade'] = $sheetData[$this->getColuna('cidade')]; } if( !empty($sheetData[$this->getColuna('uf')]) ){ $dados['uf'] = $sheetData[$this->getColuna('uf')]; } if( !empty($sheetData[$this->getColuna('cep')]) ){ $dados['cep'] = $sheetData[$this->getColuna('cep')]; } if( !empty($sheetData[$this->getColuna('email')]) ){ $dados['email'] = $sheetData[$this->getColuna('email')]; } if( !empty($sheetData[$this->getColuna('celular')]) ){ $dados['celular'] = $sheetData[$this->getColuna('celular')]; } if( !empty($sheetData[$this->getColuna('fone')]) ){ $dados['fone'] = $sheetData[$this->getColuna('fone')]; } } /** * * @param array $naoImportados * @param string $motivo * @return void */ protected function _addNaoImportado(array $dados, array $sheetData, array &$naoImportados, $motivo = '') { array_push($naoImportados, array( 'numero_contrato' => null, 'cpf' => isset($sheetData[$this->getColuna('cpf_cliente')]) ? $sheetData[$this->getColuna('cpf_cliente')] : null, 'cliente' => isset($sheetData[$this->getColuna('nome_cliente')]) ? $sheetData[$this->getColuna('nome_cliente')] : null, 'motivo' => $motivo )); } }
💾 保存文件
← 返回文件管理器