#!/usr/bin/php -q getMessage(), 'ERRO'); } function ___GetVendaMais() { $dbhost = "192.168.115.28"; $dbname = "VendaMaisDB_simplesip"; $user = "sa"; $passwd = "SimpleS_root"; $conn = mssql_connect($dbhost, $user, $passwd) or die(mssql_get_last_message()); TestaConnexao($conn, $dbhost); mssql_select_db($dbname) or die(mssql_get_last_message()); $data = array(); // $query = "select 0 as ord, ClienteId, RazaoSocial, CGC_CPF, dbo.sonumero(substring(FichaTecnica, // charindex('VPN', FichaTecnica) + 5, 14), '.') as vpn, // case when (charindex('FTP', FichaTecnica) <> 0)then // substring(dbo.RemoveTagsXML(substring(FichaTecnica, charindex('FTP', FichaTecnica) + 29, 40)),0 , // charindex(']', dbo.RemoveTagsXML(substring(FichaTecnica, charindex('FTP', FichaTecnica) + 29, 40)))) // else null end as dir // from Clientes // where RamoDeAtividadeId = 64 // and AtivoCliente = 1 // and IsCliente = 1 // and dbo.sonumero(substring(FichaTecnica, charindex('VPN', FichaTecnica) + 5, 14), '.') <> ''"; $query = "select a.ClienteId as emp_id, CGC_CPF as emp_cnpj, RazaoSocial as emp_razao_social, Fantasia as emp_nome_fantasia, isnull(b.Cidade, 'NI') as emp_municipio, isnull(b.Uf, 'NI') as emp_uf, isnull(c.PrimeiroNome, 'NI') as emp_contato, a.Telefone as emp_fone, dbo.sonumero(substring(FichaTecnica, charindex('VPN', FichaTecnica) + 5, 14), '.') as emp_vpn, case when (charindex('FTP', FichaTecnica) <> 0)then substring(dbo.RemoveTagsXML(substring(FichaTecnica, charindex('FTP', FichaTecnica) + 29, 40)),0 , charindex(']', dbo.RemoveTagsXML(substring(FichaTecnica, charindex('FTP', FichaTecnica) + 29, 40)))) else null end as emp_diretorio_ftp, case when(exists(select '' from Contratos where ClienteId = a.ClienteId and Status = 1))then 0 else 1 end as user_reg from Clientes a left outer join ClientesEnderecos b on b.ClienteId = a.ClienteId and b.ClienteEnderecoId = (select MIN(ClienteEnderecoId) from ClientesEnderecos where ClienteId = a.ClienteId) left outer join Contatos c on c.ClienteId = a.ClienteId and c.ContatoPrincipal = 1 where RamoDeAtividadeId = 64 and IsCliente = 1 "; if (!$result = mssql_query($query, $conn)) { throw new Exception("Não foi possível consultar os dados no Venda+."); } while ($dados = mssql_fetch_array($result, null . MSSQL_ASSOC)) { $data[$dados["emp_id"]] = $dados; } mssql_close(); return $data; } function ___GetConnectAlgar($host = "algar.simplesip.com.br") { $dbhost = $host; $dbport = "5432"; $dbname = "pbx"; $user = "contacte"; $passwd = "ctepgSQL"; $conn = pg_connect("host=$dbhost port=$dbport dbname=$dbname user=$user password=$passwd"); TestaConnexao($conn, $dbhost); return $conn; } function GetDadosAlgar($conn) { $data = array(); $query = "select emp_id, emp_cnpj, emp_id, emp_razao_social, emp_nome_fantasia, emp_municipio, emp_uf, emp_contato, emp_fone, emp_vpn, emp_diretorio_ftp, user_reg from vds_empresas"; if (!$result = pg_query($conn, $query)) { throw new Exception("Não foi possível consultar os dados no Cloud Algar."); } while ($dados = pg_fetch_array($result, null, PGSQL_ASSOC)) { $data[$dados["emp_id"]] = $dados; } return $data; } function SetAtualizaEmpresa($conn, $dataVdmais, $dataAlgar) { //select emp_id, emp_cnpj, emp_id, emp_razao_social, emp_nome_fantasia, emp_municipio, emp_uf, emp_contato, emp_fone, emp_vpn, emp_diretorio_ftp from vds_empresas foreach ($dataVdmais as $key => $rowVendaMais) { try { if (array_key_exists($key, $dataAlgar)) { $rowAlgar = $dataAlgar[$key]; $upd = ''; foreach ($rowVendaMais as $vdmKey => $vdmValue) { if ((trim($vdmValue) !== '' ) && ($vdmValue != $rowAlgar[$vdmKey])) { $upd .= (($upd ? ',' : '') . sprintf("%s = %s", $vdmKey, QuotedStr($vdmValue))); } } $query = $upd ? "UPDATE vds_empresas SET {$upd} where emp_id = '{$key}'" : ''; } else { $ins = ''; foreach ($rowVendaMais as $vdmValue){ $ins .= ($ins ? ',' : '') . QuotedStr($vdmValue); } $keys = implode(",", array_keys($rowVendaMais)); $query = sprintf("insert into vds_empresas(%s)values(%s) ", $keys, $ins); } if($query && !$result = pg_query($conn, $query)){ throw new Exception("Erro ao atualizar base de dados Algar: [{$query}] Erro: " . pg_last_error()); } } catch (Exception $ex) { GravarLog($ex->getMessage(), 'ERRO'); } } } function TestaConnexao($conn, $msg) { if (!$conn) { throw new Exception("Nao foi possivel estabelecer conexao com a base de dados do Venda+!" . $msg); } } function GravarLog($log, $type = 'DEBUG') { $patLog = "/var/log/importaAlgar.log"; $log = date('d/m/Y H:i:s') . " [ $type ] " . $log . "\n"; file_put_contents($patLog, $log, FILE_APPEND); }