|
|
#!/usr/bin/php -q |
|
|
<?php |
|
|
include("util/util.php"); |
|
|
try { |
|
|
$conn = ___GetConnectAlgar("192.168.115.240"); |
|
|
SetAtualizaEmpresa($conn, ___GetVendaMais(), GetDadosAlgar($conn)); |
|
|
} catch (Exception $ex) { |
|
|
GravarLog($ex->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<EFBFBD>o foi poss<EFBFBD>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<EFBFBD>o foi poss<EFBFBD>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); |
|
|
}
|
|
|
|