|
|
|
|
#!/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);
|
|
|
|
|
}
|