HOS Help Gestão de Conhecimento

GED - Documentação da dll de integração



Este artigo explica brevemente a dll de integração com a api do GED.

O que está contido nesse artigo:
  • Parte 1: Construtor e métodos do GedApi.Api
  • Parte 2: Classes de domínio(model ou DTO)
  • Parte 3: Exemplos de uso da GedApi.Util.PesquisaCampos


Parte 1: Construtor e métodos do GedApi.Api


Construtor:

Construtor do objeto recebe 3 parâmetros

Java Code
string ServerUrlBase: URL base para o servidor do GED, exemplo: http://ged.hos.com.br
string AuthUser: Username referente ao http basic authentication
string AuthPassword: Password referente ao http basic authentication

Java Code
public Api(string ServerUrlBase, string AuthUser, string AuthPassword)

Métodos:

Método: SalvarVenda(Venda arg)

O método SalvarVenda pode ser usado para criar uma nova venda ou para atualizar uma venda existente. Todas as venda enviadas por esse método ficam com um status pendente e não são listadas ou contabilizadas no sistema web. Apenas depois de finalizadas essas vendas serão contabilizadas e exibidas. Com isso, caso ocorra um erro no meio do processo de envio, a venda pode ser completamente enviada novamente sem prejuízos de duplicidade.
Java Code
public Boolean SalvarVenda(Venda Venda)
Java Code
Parâmetros:
GedApi.Domain.Venda
Retorno: Boolean com true se salvou com sucesso, false se erros ocorreram

Quando esse método for útilizado para atualizar uma venda, o campo NSU (Autorização) será usado com chave (junto do código da empresa) para localizar a venda e atualizará os campos informados no objeto Venda. Os campos que não devem ser atualizados, devem ser omitidos. Por exemplo:

Venda v = new Venda();
v.Nsu = "1123554";
v.DataVenda = DateTime.Now;
v.NumeroCupom = "8854546";
v.Cliente = new Cliente()
v.Cliente.Nome = "Jonas"
v.Cliente.Documento = "123456"

api.SalvarVenda(venda)

Nesse caso os campos DataVendaNumeroCumpo e os dados do Cliente serão atualizados. 

Em caso de erro, consultar o campo ErrosApi do objeto:
Java Code
public IList ErrosApi
iterar por essa lista e consultar mensagens de erro.

Método: FinalizarVenda(String nsu)

O método FinalizarVenda é usado para marcar uma venda como finalizada. Antes disso, a venda enviada pela API fica com status pendente e, assim, não é listada ou contabilizada em nenhum relatório. Para finalização da venda é necessário informar o NSU.

Método: PesquisarVenda(VendaPesquisa arg)
Java Code
public VendaResults PesquisarVenda(VendaPesquisa VendaPesquisa)
Parâmetros:

Java Code
GedApi.Domain.VendaPesquisa
Retorno: GedApi.Domain.VendaResults

Abaixo segue exemplo de utilização dos métodos:

Exemplo de código de utilização de PesquisarVenda(arg)
Java Code
VendaPesquisa vp = new VendaPesquisa();
IList campos = new List();
VendaPesquisaCampo campo1 = new VendaPesquisaCampo();
campo1.Nome = "cliente.nome";
campo1.Valor = "jonas";
campo1.Condicao = "anywhere";
campos.Add(campo1);
vp.Campos = campos;

VendaResults results = api.PesquisarVenda(vp);

foreach (var venda in results.Results)
{
...
}

Exemplo de código de utilização de SalvarVenda(arg)
Java Code
Venda v = new Venda();
v.Nsu = "1123554";
v.DataVenda = DateTime.Now;
v.DataReceita = DateTime.Now;
v.Concluido = false;
v.NumeroCupom = "8854546";

v.Cliente = new Cliente();
v.Cliente.Nome = "João da Silva";
v.Cliente.Documento = "01316319008";

v.Medico = new Medico();
v.Medico.Numero = "55252263";
v.Medico.Conselho = "CRM"; // CRM ou CRO
v.Medico.Uf = "RS";
v.Medico.Nome = "Juca Da Silva";

String[] imagens = new String[] { "c:\\hos\imagens\\1.jpg", "c:\\hos\imagens\\2.jpg", "c:\\hos\imagens\\3.jpg" };
Documento d1 = new Documento();
Documento d2 = new Documento();
Documento d3 = new Documento();

d1.ArquivoCaminho = imagens[0];
d1.DocumentoTipo = "tipo 1";

d2.ArquivoCaminho = imagens[1];
d2.DocumentoTipo = "tipo 2";

d3.ArquivoCaminho = imagens[2];
d3.DocumentoTipo = "tipo 3";

List docs = new List();
docs.Add(d1);
docs.Add(d2);
docs.Add(d3);

v.Documentos = docs;

if (api.SalvarVenda(v))
{
    System.Console.WriteLine("Venda salvo sucesso");
}
else
{
    System.Console.WriteLine("Erro ao salvar venda, inspecionando erros api");
    foreach (string s in api.ErrosApi)
    {
        System.Console.WriteLine(s);
    }
}

Parte 2: Classes de domínio(model ou DTO)


GedApi.Domain.Venda
Java Code
namespace GedApi.Domain
{
    public class Venda
    {
        public DateTime DataVenda 
        public DateTime DataReceita 
        public string NumeroCupom 
        public string Nsu 
        public bool Concluido 
        public Cliente Cliente 
        public Medico Medico
        public IList Documentos 
    }
}

GedApi.Domain.Medico
Java Code
namespace GedApi.Domain
{
    public class Medico
    {
        public string Nome
        public string Uf
        public string Crm
    }
}

GedApi.Domain.Documento
Java Code
namespace GedApi.Domain
{
    public class Documento
    {
        public string ArquivoCaminho
        public string DocumentoTipo
        public string AwsId
        public string Url
        public string AwsFolder
        public string AwsKey
        public string AwsBucket
    }
}

GedApi.Domain.Cliente
Java Code
namespace GedApi.Domain
{
    public class Cliente
    {
        public string Nome
        public string Documento
    }
}

As classes abaixo definem atributos que carregam dados para construir pesquisa e receber resultados e informações do retorno da consulta.

GedApi.Domain.VendaPesquisa
Java Code
namespace GedApi.Domain
{
    public class VendaPesquisa
    {
        public IList Campos
        public int Limit
        public int Offset
        public string Order
        public string Sort
    }
}

GedApi.Domain.VendaPesquisaCampo
Java Code
namespace GedApi.Domain
{
    public class VendaPesquisaCampo
    {
        public string Nome
        public string Tipo
        public string Valor
        public string Condicao

    }
}

GedApi.Domain.VendaResults
Java Code
namespace GedApi.Domain
{
    public class VendaResults
    {
        public List Results
        public int TotalCount
    }
}


Parte 3: Exemplos de uso da GedApi.Util.PesquisaCampos


A classes GedApi.Util.PesquisaCampos define campos que auxiliam na utilização da GedApi.Domain.VendaPesquisa. Exemplos de uso abaixo:


Java Code
VendaPesquisa vp = new VendaPesquisa();
IList campos = new List();
VendaPesquisaCampo campo1 = new VendaPesquisaCampo();
campo1.Nome = PesquisaCampos.Cliente.NOME;
campo1.Valor = "adri";
campo1.Tipo = PesquisaCampos.CondicoesTipos.OR;
campo1.Condicao = PesquisaCampos.Condicoes.ANYWHERE;
campos.Add(campo1);

VendaPesquisaCampo campo2 = new VendaPesquisaCampo();
campo2.Nome = PesquisaCampos.Cliente.NOME;
campo2.Valor = "will";
campo2.Tipo = PesquisaCampos.CondicoesTipos.OR;
campo2.Condicao = PesquisaCampos.Condicoes.ANYWHERE;
campos.Add(campo2);

vp.Order = "desc"; // desc or asc
vp.Offset = 25;

VendaResults results = api.PesquisarVenda(vp);

if(results.Results != null)
{
    foreach (var venda in results.Results)
    {
...
    }
}

Outro exemplo:
Java Code
VendaPesquisaCampo campo3 = new VendaPesquisaCampo();
campo3.Nome = PesquisaCampos.Cliente.DOCUMENTO;
campo3.Valor = "579";
campo3.Condicao = PesquisaCampos.Condicoes.ENDSWITH;
campos.Add(campo3);

Repare nos exemplos de uso de sort e offset:
Java Code
vendaPesquisa.Order = "desc";
vendaPesquisa.Offset = 25

Em caso de dúvidas/dificuldades entre em contato com o suporte ateavés do e-mail suporte@mobilemind.com.br