Webservice farmácia popular

11/11/2009

0

alguém por aqui já fez a comunicação com o webservice farmácia popular?

Tenho que devenvolver aqui e estou agarradão com isso.

Alguém pode me dar uma luz?
Francisco Junior

Francisco Junior

Responder

Posts

11/11/2009

Alex Maia

Qual é a sua dúvida?
Responder

11/11/2009

Francisco Junior

é o seguinte peguei esse rotina para comunição do farma´cia popular  no antigo fórum

Var
wDataSUS: ServicoSolicitacaoWS ;
Item : Integer;
Autorizacao : AutorizacaoDTO;
Usuario : UsuarioFarmaciaDTO;
Medicamentos : ArrayOfMedicamentoDTO;
Solicitacao : SolicitacaoDTO;
RetornoPesq : RetornoPesquisaDTO ;
begin
HTTPRIO1.URL := 'https://200.214.130.41:9443/farmaciahomologa/services/ServicoSolicitacaoWS';
HTTPRIO1.WSDLLocation := 'https://200.214.130.41:9443/farmaciahomologa/services/ServicoSolicitacaoWS?wsdl';
HTTPRIO1.Service := 'ServicoSolicitacaoWSService';
HTTPRIO1.Port := 'ServicoSolicitacaoWS';
wDaTaSUS := HTTPRIO1 AS ServicoSolicitacaoWS ;
Usuario := UsuarioFarmaciaDTO.Create;
Usuario.usuario :='12397737';
Usuario.senha :='11223344' ;
Item := 0;
SetLength(Medicamentos, 1);
Medicamentos[Item] := MedicamentoDTO.Create;
Medicamentos[Item].coCodigoBarra := '7896523206486';
Medicamentos[Item].qtPrescrita := 1 ;
Medicamentos[Item].qtSolicitada := 1 ;
Medicamentos[Item].vlPrecoVenda := 1 ;
Medicamentos[Item].dsUnidApresentacao := '30';
Solicitacao := SolicitacaoDTO.Create;
Solicitacao.arrMedicamentoDTO := MedicamentoS;
Solicitacao.coSolicitacaoFarmacia := '000256';
Solicitacao.dtEmissaoReceita := TXSDateTime.Create;
Solicitacao.dtEmissaoReceita.AsDateTime := now;
Solicitacao.nuCnpj := '01762416000100';
Solicitacao.nuCpf := '00106384155';
Solicitacao.nuCrm := '85743';
Solicitacao.sgUfCrm := 'SP';
Autorizacao := AutorizacaoDTO.Create;
Autorizacao := wDataSUS.executarSolicitacao(Solicitacao, Usuario);
Memo1.Lines.Add( Autorizacao.descMensagemErro) ;

essa primeira rotina é para fazer a solicitação do medicamento.
Depois tem que ser feita a segunda etapa para a confirmação da autorização. segue abaixo


  Confirmacao  := ConfirmacaoDTO.Create;
  Confirmacao.coSolicitacaoFarmacia := dbedt1.DataBinding.Field.AsString;
  Confirmacao.nuAutorizacao         := dbedt4.DataBinding.Field.AsString;
  Confirmacao.nuCupomFiscal         := dbedt3.DataBinding.Field.AsString;

  mmo1.Lines.Add('***********************************************');
  mmo1.Lines.Add('*   ENVIAR CONFIRMAÇÃO PARA O WEBSERVICE!!!!  *');
  mmo1.Lines.Add('***********************************************');
  mmo1.Lines.Add(' ');
  ConfirmaAutorizacao := ConfirmacaoAutorizacaoDTO.Create;
  ConfirmaAutorizacao := wDataSUS.confirmarAutorizacao(Confirmacao, Usuario);
  mmo1.Lines.Add(' coSolicitacaoFarmacia    : '+ ConfirmaAutorizacao.coSolicitacaoFarmacia);
  mmo1.Lines.Add(' descMensagemErro         : '+ ConfirmaAutorizacao.descMensagemErro);
  mmo1.Lines.Add(' inAutorizacaoSolicitacao : '+ ConfirmaAutorizacao.inAutorizacaoSolicitacao);
  mmo1.Lines.Add(' noPessoa                 : '+ ConfirmaAutorizacao.noPessoa);
  mmo1.Lines.Add(' nuAutorizacao            : '+ ConfirmaAutorizacao.nuAutorizacao);
  mmo1.Lines.Add(' nuCupomFiscal            : '+ ConfirmaAutorizacao.nuCupomFiscal);
  mmo1.Lines.Add(' statusConfirmacao        : '+ ConfirmaAutorizacao.statusConfirmacao);
  mmo1.Lines.Add(' ');


  if ( ( ConfirmaAutorizacao.inAutorizacaoSolicitacao = '00A' ) or
       ( ConfirmaAutorizacao.inAutorizacaoSolicitacao = '01A' ) ) then
  begin
    mmo1.Lines.Add('***********************************************');
    mmo1.Lines.Add('*      DADOS DO RETORNO DO WEBSERVICE!!!!     *');
    mmo1.Lines.Add('***********************************************');
    mmo1.Lines.Add(' ');
    mmo1.Lines.Add('Código de solicitação : '+ConfirmaAutorizacao.coSolicitacaoFarmacia);
    mmo1.Lines.Add('Data de Confirmação   : '+FormatDateTime('dd/mm/yy',Now));
    mmo1.Lines.Add('Status da Confirmação : '+ConfirmaAutorizacao.statusConfirmacao);
    mmo1.Lines.Add('Cupom Fiscal          : '+ConfirmaAutorizacao.nuCupomFiscal);
    mmo1.Lines.Add('Mensagem de Erro      : '+ConfirmaAutorizacao.descMensagemErro);
    mmo1.Lines.Add('Nome do paciente      : '+ConfirmaAutorizacao.noPessoa);

    dm1.tblPreautoriza.Edit;
    dm1.tblPreautoriza.FieldByName('NumeroPreAutorizacao').AsString := ConfirmaAutorizacao.coSolicitacaoFarmacia;
    dm1.tblPreautoriza.FieldByName('DataConfirmacao').AsDateTime    := Now;
    dm1.tblPreautoriza.FieldByName('StatusConfirmacao').AsString    := ConfirmaAutorizacao.statusConfirmacao;
    dm1.tblPreautoriza.FieldByName('NomePaciente').AsString         := ConfirmaAutorizacao.noPessoa;

    dm1.tblPreautoriza.Post;


    dm1.tblItemPreAutoriza.Edit;
    dm1.tblItemPreAutoriza.FieldByName('CodigoRetorno').AsString := Autorizacao.descMensagemErro;
    dm1.tblItemPreAutoriza.Post;
  end;


Até então achei que estava tudo bonitinho e tal, só depois que reparei que tenho que receber a lista dos medicamentos. que é devolvida atraves de um array.

tentei fazer o seguinte

cara conversando aqui resolvi o problema...


    Medicamentos := ConfirmaAutorizacao.arrMedicamentoDTO;
    item := 0;
    SetLength(Medicamentos, 1);

    Medicamentos[item].inAutorizacaoMedicamento  := ConfirmaAutorizacao.arrMedicamentoDTO[item].inAutorizacaoMedicamento;
    mmo1.Lines.Add('in autorizacao medicamento'+ConfirmaAutorizacao.arrMedicamentoDTO[item].inAutorizacaoMedicamento);

    Medicamentos[item].coCodigoBarra  := ConfirmaAutorizacao.arrMedicamentoDTO[item].coCodigoBarra;
    mmo1.Lines.Add('codigo de barra'+ConfirmaAutorizacao.arrMedicamentoDTO[item].coCodigoBarra);

    Medicamentos[item].qtPrescrita    := ConfirmaAutorizacao.arrMedicamentoDTO[item].qtPrescrita;
    mmo1.Lines.Add('qt. prescrita : '+floattostr(ConfirmaAutorizacao.arrMedicamentoDTO[item].qtPrescrita));

    Medicamentos[item].qtSolicitada   := ConfirmaAutorizacao.arrMedicamentoDTO[item].qtSolicitada;
    mmo1.Lines.Add('qt. solicitada : '+floattostr(ConfirmaAutorizacao.arrMedicamentoDTO[item].qtSolicitada));

    Medicamentos[item].qtAutorizada   := ConfirmaAutorizacao.arrMedicamentoDTO[item].qtAutorizada;
    mmo1.Lines.Add('qtautorizada : '+floattostr(ConfirmaAutorizacao.arrMedicamentoDTO[item].qtAutorizada));

    Medicamentos[item].vlPrecoVenda   := ConfirmaAutorizacao.arrMedicamentoDTO[item].vlPrecoVenda;
    mmo1.Lines.Add('vl preco venda: '+floattostr(ConfirmaAutorizacao.arrMedicamentoDTO[item].vlPrecoVenda));

    Medicamentos[item].vlPrecoSubsidiadoMS   := ConfirmaAutorizacao.arrMedicamentoDTO[item].vlPrecoSubsidiadoMS;
    mmo1.Lines.Add('vl. preco sub. ms.:'+floattostr(ConfirmaAutorizacao.arrMedicamentoDTO[item].vlPrecoSubsidiadoMS));

    Medicamentos[item].vlPrecoSubsidiadoPaciente   := ConfirmaAutorizacao.arrMedicamentoDTO[item].vlPrecoSubsidiadoPaciente;
    mmo1.lines.add('vl. preco paciente: '+ floattostr(ConfirmaAutorizacao.arrMedicamentoDTO[item].vlPrecoSubsidiadoPaciente));




Responder

11/11/2009

Alex Maia

Você tem algum manual ou roteiro pra ajustes e homologação do seu sistema?
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar