PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 24 → Send to WS
Send to WS
Débuté par adrianoboller, 24 nov. 2014 12:33 - Aucune réponse
Membre enregistré
2 962 messages
Popularité : +89 (91 votes)
Posté le 24 novembre 2014 - 12:33
Procedure CAM_Enviar2WS(LOCAL ArquivoLocal,...
LOCAL Extensao,...
LOCAL Ambiente,...
LOCAL Crypto,...
LOCAL OpcaoEscolha,...
LOCAL CodigoArquivo,...
LOCAL CodOs,...
LOCAL CodOsItem,...
LOCAL NomeArquivo,...
LOCAL Descricao,...
LOCAL VideoFoto,...
LOCAL TempoSegundos,...
LOCAL FPS,...
LOCAL DebugSN)

//info("CAM_Enviar2WS")
IF gsDebugSN = "S"
DebugSN="S"
END

//Nao usados
ArquivoLocal = ArquivoLocal
Extensao = Extensao
Ambiente = Ambiente
OpcaoEscolha = OpcaoEscolha
CodigoArquivo = CodigoArquivo
NomeArquivo = NomeArquivo
TempoSegundos = TempoSegundos
FPS = FPS


//Verifica GPS Ligado e retona para variaveis globais a latitude e longitude
GPS_LatitudeLongitudeAtual("")
IF gsLatitude = "" THEN
gsLatitude = 0
gsLongitude = 0
END

IF ConexaoInternet(0) = 1 AND Crypto <> "" THEN


IF DebugSN = "S" THEN
Info("Com conexão ok")
END

Crypto = WS_Criptografia(GloLogin +"-"+ GloSenha +"-"+ GloImei, "C", DebugSN)

//Verifica
IF DebugSN = "S" THEN
NextTitle("Os")
Info(Crypto, CodigoArquivo, CodOsItem, NomeArquivo, Descricao, VideoFoto, DebugSN)
END

//Autenticacao
request is GetAutenticacao
response is GetAutenticacaoResponse

Autentica, sTeste1, sTeste2, sTeste3, sTeste4 is string = ""

//Dados:
request.chave = Crypto //Chave passada por parametro

IF DebugSN = "S" THEN
Info("Cripto: "+Crypto)
END

//Envio
response = GetAutenticacao(request)
IF ErrorOccurred = True THEN

sTeste1 = response.GetAutenticacaoResult.Erro
sTeste2 = response.GetAutenticacaoResult.Erro.Mensagem
sTeste3 = response.GetAutenticacaoResult.Erro.Numero
sTeste4 = response.GetAutenticacaoResult.Erro.Descricao

NextTitle("Erro na autenticacao:")
Info(sTeste1,sTeste2,sTeste3,sTeste4)

ELSE

Autentica = response.GetAutenticacaoResult.Chave

IF DebugSN = "S" THEN
Info("Autenticacao OK",Autentica)
END

IF DebugSN = "S" AND Autentica <> "" THEN
NextTitle("Os")
Info("OK- Autenticou",Autentica)
ELSE IF DebugSN = "S" AND Autentica = ""
NextTitle("Os")
Info("Erro na autenticacao",Autentica, VideoFoto, Crypto)
END

//Envio do arquivo
//Busca registro
HReadSeekFirst(T020Arquivo,T020Arquivo.CodArquivo020,CodigoArquivo)
IF HFound(T020Arquivo) = False THEN

IF DebugSN = "S" THEN
NextTitle("Os")
Info("Erro: Faltou parametros ou dados não encontrados...", ErrorInfo(),ErrorOccurred)
END

ELSE IF HFound(T020Arquivo) = True THEN

IF DebugSN = "S" THEN
NextTitle("Os")
Info("Achou o registro a ser enviado",VideoFoto)
END

//Webservice

//Conecta com o metodo do webservice
requestfoto is ArquivoGravar
responsefoto is ArquivoGravarResponse

//Converter a imagem de um local em Array de Bytes e gravar via webservice
///////////////////////////////////////////////////////////////////////////

ImagemArrayBytes is Buffer = fLoadBuffer(T020Arquivo.PathUrl020)

IF DebugSN = "S" THEN
Info(Length(ImagemArrayBytes))
END

///////////////////////////////////////////////////////////////////////////

//Dados:
requestfoto.autenticacao = Autentica
requestfoto.codOrdemServico = CodOs
requestfoto.codOrdemServicoStatus = CodOsItem
requestfoto.descricao = Descricao
requestfoto.data = Middle(DateSys(),1,4) +"-"+ Middle(DateSys(),5,2) +"-"+ Middle(DateSys(),7,2) //Ano-mes-dia
requestfoto.latitude = gsLatitude
requestfoto.longitude = gsLongitude
requestfoto.arquivo = ImagemArrayBytes

//-----------tipo foto ou video
IF VideoFoto = "Foto"
requestfoto.codTipoArquivo = 1
ELSE IF VideoFoto = "Video"
requestfoto.codTipoArquivo = 2
ELSE
requestfoto.codTipoArquivo = 1
END
//-----------tipo foto ou video


//Envia
responsefoto = ArquivoGravar(requestfoto)
IF ErrorOccurred = True THEN
sTeste1 = responsefoto.ArquivoGravarResult.Erro
sTeste2 = responsefoto.ArquivoGravarResult.Erro.Descricao
sTeste3 = responsefoto.ArquivoGravarResult.Erro.Mensagem
sTeste4 = responsefoto.ArquivoGravarResult.Erro.Numero

NextTitle("Erro no envio da Foto")
Info(CodOsItem,Descricao,sTeste1,sTeste2,sTeste3,sTeste4)

ELSE


T020Arquivo.Enviada020 = "S"
HModify(T020Arquivo)

NextTitle("Os")
Info("OK-Enviou a foto para o webservice com sucesso.")


END

END

IF fFileExist(T020Arquivo.PathUrl020) = False THEN
NextTitle("Os")
Info("Caminho inexistente ou em branco!...")
END

END

END

Close()