Esse processo eu tenho que fazer em um black ou posso usar uma consulta ? Eu tentei via consulta e ele gera o JSON com todos os campos, e preciso quebra :
select NOMEFANTASIA,RAZAOSOCIAL,INSCRICAOESTADUAL,Email1,Telefone,CNPJCEI,CEP,ENDERECO,NUMERO,PAIS,BAIRRO
CIDADE,QUANTIDADEFUNCIONARIOS,CLASSECNAE,OUTROTELEFONE,ESTADO,CNAEPRIMARIO,CNAESUBCLASSE,CATEGORIA,
GRAURISCO,PORTE, Nome,CPF,Cargo,TelefoneCelular,Email,TelefoneComercial
from pessoajuridicacompleta
que são os contatos
Conseguir 99% fazendo dessa forma:
$sql ="
select
AccountId,NOMEFANTASIA,RAZAOSOCIAL,INSCRICAOESTADUAL,Email1,Telefone,CNPJCEI,CEP,ENDERECO,NUMERO,PAIS,BAIRRO,CIDADE,QUANTIDADEFUNCIONARIOS,CLASSECNAE,
OUTROTELEFONE,ESTADO,CNAEPRIMARIO,CNAESUBCLASSE,Categoria,GRAURISCO,PORTE
from vw_pessoajuridica";
sc_lookup(Empresas, $sql);
$sql1 ="
SELECT ParentCustomerId,Nome,CPF,Cargo,TelefoneCelular,Email,TelefoneComercial FROM contatos ";
sc_lookup(contatos, $sql1);
$relacionados=array();
// Inicializa um array vazio para cada funcionário no array final
foreach ($Empresas as $Empresa) {
$relacionados[$Empresa[‘AccountId’]] = [
“Empresa” => $Empresa,
‘Contatos’ => $relacionados
];
}
// Associa cada dependente ao funcionário correspondente
foreach ($contatos as $contato) {
$ParentCustomerId = $contato['ParentCustomerId'];
if (isset($relacionados[$ParentCustomerId])) {
$relacionados[$ParentCustomerId]['contatos'][] = $contato;
}
}
Eu tenho usado muito o CHATGPT para me auxiliar quando fico encalhado.
Se a resposa não é a mais correta, pelo menos me dá uma luz.
Veja a resposta que ele me deu e veja se te ajuda.
Sim, é possível desenvolver um JSON nesse formato no Scriptcase, utilizando a estrutura de repetição para adicionar os contatos em um array dentro do JSON. Vou te mostrar como fazer isso:
Executar a consulta SQL: Primeiramente, você irá executar a consulta SQL para obter os dados.
Montar o JSON: Em seguida, você irá construir o JSON, organizando os dados como solicitado.
Aqui está um exemplo de como você pode fazer isso:
// Executa a consulta SQL
$sql ="
select
CATEGORIA,
RAZAOSOCIAL,
Nome, CPF, Cargo, TelefoneCelular, Email, TelefoneComercial
from pessoajuridicacompleta";
// Adiciona os contatos no array de contatos
foreach ({chk} as $contact) {
$contact_array = array(
“Nome” => $contact[2],
“CPF” => $contact[3],
“Cargo” => $contact[4],
“TelefoneCelular” => $contact[5],
“Email” => $contact[6],
“TelefoneComercial” => $contact[7]
);
array_push($json_array[‘contatos’], $contact_array);
}
// Converte o array para JSON
$json_result = json_encode($json_array, JSON_PRETTY_PRINT);
// Exibe o JSON resultante (você pode armazenar ou manipular o resultado conforme necessário)
echo $json_result;
Explicação:
sc_lookup(chk, $sql): Executa a consulta SQL e armazena os resultados em {chk}.
$json_array: Inicializa o array com as informações fixas e a estrutura de contatos.
foreach ({chk} as $contact): Itera sobre os resultados da consulta SQL e cria um array para cada contato, que é adicionado ao array de contatos dentro do JSON.
json_encode($json_array, JSON_PRETTY_PRINT): Converte o array para o formato JSON.
Esse código vai gerar um JSON com a estrutura desejada, contendo os dados da consulta e os contatos relacionados. Você pode personalizar as chaves e valores conforme a sua necessidade.
Se precisar de ajustes específicos ou mais detalhes, estou à disposição!
Eu achei interessante, nao fiz os testes, mas parece que vai resolver seu problema.
Consegue dar um retorno depois?