CREATE OR REPLACE PACKAGE BODY "TASY"."WHEB_SMS" as 
/*Variaveis Globais*/ 
cd_empresa_w number(10); 
nm_usuario_sms_w varchar2(255); 
ds_senha_usuario_sms_w	varchar2(255); 
nm_usuario_proxy_w	varchar2(255); 
ds_senha_proxy_w	varchar2(255); 
ip_servidor_proxy_w	varchar2(255); 
/*INICIO metodos integrac?o Comunika*/ 
procedure comunika_conectar (NM_USUARIO in varchar2, DS_SENHA_USUARIO in varchar2, IE_MODO_TESTE in number) as 
language JAVA name 'br.com.wheb.sms.cliente.WhebSMSVola.conectar(java.lang.String,java.lang.String,java.lang.Integer)'; 
function comunika_enviar_sms(DS_REMETENTE in varchar2,DS_DESTINATARIO in varchar2,DS_MENSAGEM in varchar2,ID_SMS in varchar2) return number as 
language JAVA name 'br.com.wheb.sms.cliente.WhebSMSVola.enviarSMS(java.lang.String,java.lang.String,java.lang.String,java.lang.String) return java.lang.Integer'; 
function comunika_get_creditos return number as 
language JAVA name 'br.com.wheb.sms.cliente.WhebSMSVola.getCreditos() return java.lang.Integer'; 
function comunika_get_ds_resultado(CD_RESULTADO in number) return varchar2 as 
language JAVA name 'br.com.wheb.sms.cliente.WhebSMSVola.getDsResultado(java.lang.Integer) return java.lang.String'; 
function comunika_get_ds_status_sms(ID_SMS in varchar2) return varchar2 as 
language JAVA name 'br.com.wheb.sms.cliente.WhebSMSVola.getDsStatusSMS(java.lang.String) return java.lang.String'; 
procedure comunika_retorno_sms as 
language JAVA name 'br.com.wheb.sms.cliente.WhebSMSVola.processaRetornoSMS()'; 
/*Fim metodos integrac?o Comunika*/ 
/*Inicio metodos integrac?o TWW 1.0*/ 
function tww_get_creditos (NM_USUARIO in varchar2, DS_SENHA_USUARIO in varchar2,NM_USUARIO_PROXY_P in varchar2, DS_SENHA_PROXY_P in varchar2,DS_IP_PROXY_P in varchar2) return number as 
language JAVA name 'br.com.wheb.sms.cliente.WhebSMSTww.getCreditos(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String) return java.lang.Integer'; 
function tww_enviar_sms(NM_USUARIO in varchar2, DS_SENHA_USUARIO in varchar2,DS_REMETENTE in varchar2,DS_DESTINATARIO in varchar2,DS_MENSAGEM in varchar2,NM_USUARIO_PROXY_P in varchar2, DS_SENHA_PROXY_P in varchar2,DS_IP_PROXY_P in varchar2) return number as 
language JAVA name 'br.com.wheb.sms.cliente.WhebSMSTww.enviarSMS(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String) return java.lang.Integer'; 
function tww_verifica_erro(CD_ERRO in number) return varchar2 as 
language JAVA name 'br.com.wheb.sms.cliente.WhebSMSTww.getDescricaoErro(java.lang.Integer) return java.lang.String'; 
function tww_get_status_sms (NM_USUARIO in varchar2, DS_SENHA_USUARIO in varchar2,NM_USUARIO_PROXY_P in varchar2, DS_SENHA_PROXY_P in varchar2,DS_IP_PROXY_P in varchar2,DS_REMETENTE_P in varchar2,DT_ENVIO_P in varchar2) return varchar2 as 
language JAVA name 'br.com.wheb.sms.cliente.WhebSMSTww.getStatusSMS(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String) return java.lang.String'; 
procedure tww_retorno_sms (NM_USUARIO in varchar2, DS_SENHA_USUARIO in varchar2,NM_USUARIO_PROXY_P in varchar2, DS_SENHA_PROXY_P in varchar2,DS_IP_PROXY_P in varchar2) as 
language JAVA name 'br.com.wheb.sms.cliente.WhebSMSTww.processaRetornoSMS(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)'; 
/*Fim metodos TWW*/ 
/*Inicio metodos integrac?o TWW 2_02*/ 
function tww_2_02_get_creditos (NM_USUARIO in varchar2, DS_SENHA_USUARIO in varchar2,NM_USUARIO_PROXY_P in varchar2, DS_SENHA_PROXY_P in varchar2,DS_IP_PROXY_P in varchar2) return number as 
language JAVA name 'br.com.wheb.sms.cliente.WhebSMSTww_2_02.getCreditos(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String) return java.lang.Integer'; 
function tww_2_02_enviar_sms(NM_USUARIO in varchar2, DS_SENHA_USUARIO in varchar2,DS_REMETENTE in varchar2,DS_DESTINATARIO in varchar2,DS_MENSAGEM in varchar2,NM_USUARIO_PROXY_P in varchar2, DS_SENHA_PROXY_P in varchar2,DS_IP_PROXY_P in varchar2) return number as 
language JAVA name 'br.com.wheb.sms.cliente.WhebSMSTww_2_02.enviarSMS(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String) return java.lang.Integer'; 
function tww_2_02_verifica_erro(CD_ERRO in number) return varchar2 as 
language JAVA name 'br.com.wheb.sms.cliente.WhebSMSTww_2_02.getDescricaoErro(java.lang.Integer) return java.lang.String'; 
function tww_2_02_get_status_sms (NM_USUARIO in varchar2, DS_SENHA_USUARIO in varchar2,NM_USUARIO_PROXY_P in varchar2, DS_SENHA_PROXY_P in varchar2,DS_IP_PROXY_P in varchar2,DS_REMETENTE_P in varchar2,DT_ENVIO_P in varchar2) return varchar2 as 
language JAVA name 'br.com.wheb.sms.cliente.WhebSMSTww_2_02.getStatusSMS(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String) return java.lang.String'; 
procedure tww_2_02_retorno_sms (NM_USUARIO in varchar2, DS_SENHA_USUARIO in varchar2,NM_USUARIO_PROXY_P in varchar2, DS_SENHA_PROXY_P in varchar2,DS_IP_PROXY_P in varchar2) as 
language JAVA name 'br.com.wheb.sms.cliente.WhebSMSTww_2_02.processaRetornoSMS(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)'; 
/*Fim metodos TWW*/ 
/*Inicio metodos integrac?o Human*/ 
function human_enviar_sms(NM_USUARIO in varchar2, DS_SENHA_USUARIO in varchar2,DS_REMETENTE in varchar2,DS_ID in varchar2, DS_DESTINATARIO in varchar2,DS_MENSAGEM in varchar2,NM_USUARIO_PROXY_P in varchar2, DS_SENHA_PROXY_P in varchar2,DS_IP_PROXY_P in varchar2) return number as 
language JAVA name 'br.com.wheb.sms.cliente.WhebSMSHuman.enviarSMS(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String) return java.lang.Integer'; 
function human_verifica_erro(CD_ERRO in number) return varchar2 as 
language JAVA name 'br.com.wheb.sms.cliente.WhebSMSHuman.getDescricaoErro(java.lang.Integer) return java.lang.String'; 
function human_get_status_sms(ID_SMS_P in number, NM_USUARIO in varchar2, DS_SENHA in varchar2, NM_USUARIO_PROXY_P in varchar2, DS_SENHA_PROXY_P in varchar2, DS_IP_PROXY_P in varchar2) return varchar2 as 
language JAVA name 'br.com.wheb.sms.cliente.WhebSMSHuman.getStatusSMS(java.lang.Integer, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) return java.lang.String'; 
procedure human_retorno_sms (NM_USUARIO in varchar2, DS_SENHA_USUARIO in varchar2, NM_USUARIO_PROXY_P in varchar2, DS_SENHA_PROXY_P in varchar2, DS_IP_PROXY_Pin varchar2) as 
language JAVA name 'br.com.wheb.sms.cliente.WhebSMSHuman.processaRetornoSMS(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)'; 
/*Fim metodos Human*/ 
/*Inicio metodos Spring Wireless*/ 
function spring_enviar_sms(NM_USUARIO in varchar2, DS_SENHA_USUARIO in varchar2, DS_ID in varchar2, DS_DESTINATARIO in varchar2,DS_MENSAGEM in varchar2,NM_USUARIO_PROXY_P in varchar2, DS_SENHA_PROXY_P in varchar2,DS_IP_PROXY_P in varchar2, DS_RMI_ADDRESS in varchar2, DS_RMI_PORT in varchar2, CD_EMPRESA in varchar2) return number as 
language JAVA name 'br.com.wheb.sms.cliente.WhebSMSSpringWireless.enviarSMS(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String, java.lang.String, java.lang.String, java.lang.String) return java.lang.Integer'; 
function spring_verifica_erro(CD_ERRO in number) return varchar2 as 
language JAVA name 'br.com.wheb.sms.cliente.WhebSMSSpringWireless.getDescricaoErro(java.lang.Integer) return java.lang.String'; 
function spring_get_status_sms(ID_SMS_P in number, NM_USUARIO in varchar2, DS_SENHA in varchar2, NM_USUARIO_PROXY_P in varchar2, DS_SENHA_PROXY_P in varchar2,DS_IP_PROXY_P in varchar2) return varchar2 as 
language JAVA name 'br.com.wheb.sms.cliente.WhebSMSSpringWireless.getStatusSMS(java.lang.Integer, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) return java.lang.String'; 
/*Fim metodos Spring Wireless*/ 
/*INICIO metodos integrac?o SmsDigital*/ 
function digital_enviar_sms( 
NM_USUARIO in varchar2, 
DS_SENHA_USUARIO in varchar2, 
DS_REMETENTE	in varchar2, 
DS_DESTINATARIO	in varchar2, 
DS_MENSAGEM	in varchar2, 
NM_USUARIO_PROXY_P	in varchar2, 
DS_SENHA_PROXY_P	in varchar2, 
DS_IP_PROXY_P	in varchar2) 
return number as 
language JAVA name 'br.com.wheb.sms.cliente.WhebSmsDigital.enviarSMS(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) return java.lang.Integer'; 
function digital_get_status_sms( 
ID_SMS_P	in number, 
NM_USUARIO_P	in varchar2, 
DS_SENHA_P	in varchar2, 
NM_USUARIO_PROXY_P	in varchar2, 
DS_SENHA_PROXY_P	in varchar2, 
DS_IP_PROXY_P	in varchar2) 
return varchar2 as 
language JAVA name 'br.com.wheb.sms.cliente.WhebSmsDigital.getStatusSMS(java.lang.Integer, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) return java.lang.String'; 
procedure digital_retorno_sms ( 
ID_SMS_P	in number, 
NM_USUARIO_P	in varchar2, 
DS_SENHA_USUARIO_P	in varchar2, 
NM_USUARIO_PROXY_P	in varchar2, 
DS_SENHA_PROXY_P	in varchar2, 
DS_IP_PROXY_P	in varchar2) as 
language JAVA name 'br.com.wheb.sms.cliente.WhebSmsDigital.getRespostaSMS(java.lang.Integer, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)'; 
function digital_get_creditos ( 
NM_USUARIO_P	in varchar2, 
DS_SENHA_USUARIO_P	in varchar2, 
NM_USUARIO_PROXY_P	in varchar2, 
DS_SENHA_PROXY_P	in varchar2, 
DS_IP_PROXY_P	in varchar2) 
return number as 
language JAVA name 'br.com.wheb.sms.cliente.WhebSmsDigital.getCreditos(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String) return java.lang.Integer'; 
/*INICIO metodos GOIP*/ 
function goip_enviar_sms( 
DS_DOMINIO_SERVIDOR	in varchar2, 
NM_USUARIO in varchar2, 
DS_SENHA_USUARIO in varchar2, 
DS_REMETENTE	in varchar2, 
DS_DESTINATARIO	in varchar2, 
DS_MENSAGEM	in varchar2, 
NM_USUARIO_PROXY_P	in varchar2, 
DS_SENHA_PROXY_P	in varchar2, 
DS_IP_PROXY_P	in varchar2) 
return number as 
language JAVA name 'br.com.wheb.sms.cliente.WhebSmsGoip.enviarSMS(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) return java.lang.Integer'; 
procedure	armazena_configuracoes_sms(NM_USUARIO_P in varchar2) as 
ds_parametro_w	varchar2(255); 
cd_estabelecimento_w	number(4); 
begin 
cd_estabelecimento_w := nvl(wheb_usuario_pck.get_cd_estabelecimento,1); 
nm_usuario_sms_w := OBTER_VALOR_PARAM_USUARIO(0,54,nvl(wheb_usuario_pck.get_cd_perfil,0),nm_usuario_p,cd_estabelecimento_w); 
if	(nm_usuario_sms_w is null) then 
select	ds_parametro 
into	ds_parametro_w 
from	funcao_parametro 
where	cd_funcao	= 0 
and	nr_sequencia	= 54; 
Wheb_mensagem_pck.exibir_mensagem_abort(213820,'DS_PARAMETRO_W=' || ds_parametro_w); 
end if; 
ds_senha_usuario_sms_w	:= OBTER_VALOR_PARAM_USUARIO(0,55,nvl(wheb_usuario_pck.get_cd_perfil,0),nm_usuario_p,cd_estabelecimento_w); 
if	(ds_senha_usuario_sms_w is null) then 
select	ds_parametro 
into	ds_parametro_w 
from	funcao_parametro 
where	cd_funcao	= 0 
and	nr_sequencia	= 55; 
Wheb_mensagem_pck.exibir_mensagem_abort(213820,'DS_PARAMETRO_W=' || ds_parametro_w); 
end if; 
cd_empresa_w	:= OBTER_VALOR_PARAM_USUARIO(0,89,0,nm_usuario_p,1); 
ip_servidor_proxy_w	:= OBTER_VALOR_PARAM_USUARIO(0,80,0,nm_usuario_p,1); 
nm_usuario_proxy_w := OBTER_VALOR_PARAM_USUARIO(0,81,0,nm_usuario_p,1); 
ds_senha_proxy_w	:= OBTER_VALOR_PARAM_USUARIO(0,82,0,nm_usuario_p,1); 
end; 
procedure	grava_retorno_sms(nr_celular_p in varchar2, ds_resposta_p in varchar2, dt_resposta_p in varchar2) as 
begin 
insert into log_retorno_sms( 
nr_sequencia, 
nr_celular, 
ds_resposta, 
dt_resposta, 
ie_processado 
)values( 
log_retorno_sms_seq.nextVal, 
nr_celular_p, 
ds_resposta_p, 
to_date(dt_resposta_p,'dd/mm/yyyy hh24:mi:ss'), 
'N' 
); 
commit; 
end; 
procedure verifica_resposta_sms( 
NM_USUARIO_P in varchar2, 
ID_SMS_P	in number default null) 
as 
begin 
armazena_configuracoes_sms(NM_USUARIO_P); 
if (cd_empresa_w = 1 ) then 
comunika_conectar(nm_usuario_sms_w,ds_senha_usuario_sms_w,0); 
comunika_retorno_sms; 
elsif ( cd_empresa_w = 2) then 
tww_retorno_sms(nm_usuario_sms_w,ds_senha_usuario_sms_w,nm_usuario_proxy_w,ds_senha_proxy_w,ip_servidor_proxy_w); 
elsif ( cd_empresa_w = 3) then 
tww_2_02_retorno_sms(nm_usuario_sms_w,ds_senha_usuario_sms_w,nm_usuario_proxy_w,ds_senha_proxy_w,ip_servidor_proxy_w); 
elsif ( cd_empresa_w = 4) then 
human_retorno_sms(nm_usuario_sms_w,ds_senha_usuario_sms_w,nm_usuario_proxy_w,ds_senha_proxy_w,ip_servidor_proxy_w); 
elsif ( cd_empresa_w = 5) then 
Wheb_mensagem_pck.exibir_mensagem_abort(248883); 
elsif ( cd_empresa_w = 8) then 
if	(ID_SMS_P is null) then 
Wheb_mensagem_pck.exibir_mensagem_abort(297286); 
end if; 
digital_retorno_sms( 
id_sms_p, 
nm_usuario_sms_w, 
ds_senha_usuario_sms_w, 
nm_usuario_proxy_w, 
ds_senha_proxy_w, 
ip_servidor_proxy_w); 
end if; 
end; 
procedure enviar_sms(DS_REMETENTE_P in varchar2,DS_DESTINATARIO_P in varchar2,DS_MENSAGEM_p in varchar2,NM_USUARIO_P in varchar2,ID_SMS_P out number) as 
ie_retorno_sms_w	number(15); 
ds_destinatario_w	varchar2(50); 
ds_destinatarios_w	varchar2(512); 
ds_mensagem_w	varchar2(512); 
ds_sep_cel_w	varchar2(10); 
nr_pos_separador_w	NUMBER(10); 
qt_controle_w	number(10); 
qt_tam_sep_w	number(10); 
ds_servidor_w	varchar2(2000); 
CONS_retorno_sms_w	varchar2(255); 
type lista is RECORD ( 
nr_celular VARCHAR2(50)); 
type myArray is table of lista index by binary_integer; 
/*Contem os parametros do SQL*/ 
ar_destinatario_w myArray; 
begin 
armazena_configuracoes_sms(NM_USUARIO_P); 
ds_mensagem_w := elimina_acentuacao(ds_mensagem_p); 
ds_sep_cel_w	:= ';'; 
ds_destinatarios_w	:= ds_destinatario_p; 
/*INICIO - TRATAMENTO PARA ENVIAR PARA VARIOS DESTINARIOS*/ 
if	(substr(ds_destinatarios_w,length(ds_destinatarios_w),1) <> ds_sep_cel_w) then 
ds_destinatarios_w := ds_destinatarios_w || ds_sep_cel_w; 
end if; 
nr_pos_separador_w := instr(ds_destinatarios_w,ds_sep_cel_w); 
qt_controle_w	 := 0; 
qt_tam_sep_w := length(ds_sep_cel_w); 
while	(nr_pos_separador_w > 0 ) loop 
begin 
qt_controle_w := qt_controle_w + 1; 
ds_destinatario_w := substr(ds_destinatarios_w,1,nr_pos_separador_w-1); 
ds_destinatarios_w := substr(ds_destinatarios_w,nr_pos_separador_w+qt_tam_sep_w,length(ds_destinatarios_w)); 
ar_destinatario_w(qt_controle_w).nr_celular := ds_destinatario_w; 
nr_pos_separador_w := instr(ds_destinatarios_w,ds_sep_cel_w); 
if	(qt_controle_w > 20) then 
nr_pos_separador_w := 0; 
end if; 
end; 
end loop; 
/*FIM - TRATAMENTO PARA ENVIAR PARA VARIOS DESTINARIOS*/ 
if (ar_destinatario_w.count = 0) then 
ar_destinatario_w(1).nr_celular := ds_destinatarios_w; 
end if; 
for contador_w IN 1..ar_destinatario_w.count loop 
ds_destinatario_w := ar_destinatario_w(contador_w).nr_celular; 
if ((substr(ds_destinatario_w,1,2) = '55') and ( Length(ds_destinatario_w) > 11)) then 
ds_destinatario_w := substr(ds_destinatario_w,3,length(ds_destinatario_w)); 
end if; 
select wheb_sms_seq.nextval 
into	id_sms_p 
from	dual; 
if (cd_empresa_w = 1 ) then 
comunika_conectar(nm_usuario_sms_w, ds_senha_usuario_sms_w, 0); 
ie_retorno_sms_w := comunika_enviar_sms(ds_remetente_p, ds_destinatario_w, ds_mensagem_w, ''); 
if	(ie_retorno_sms_w not in (0,5)) then 
wheb_mensagem_pck.exibir_mensagem_abort(213824, 'DS_RETORNO_SMS_W='||comunika_get_ds_resultado(ie_retorno_sms_w)||';DS_REMETENTE_P='||ds_remetente_p||';DS_DESTINATARIO_W='||ds_destinatario_w); 
end if; 
elsif ( cd_empresa_w = 2) then 
ie_retorno_sms_w := tww_enviar_sms(nm_usuario_sms_w,ds_senha_usuario_sms_w,id_sms_p,ds_destinatario_w,ds_mensagem_w,nm_usuario_proxy_w,ds_senha_proxy_w,ip_servidor_proxy_w); 
if(ie_retorno_sms_w not in(0)) then 
wheb_mensagem_pck.exibir_mensagem_abort(213824, 'DS_RETORNO_SMS_W='||tww_verifica_erro(ie_retorno_sms_w)||';DS_REMETENTE_P='||ds_remetente_p||';DS_DESTINATARIO_W='||ds_destinatario_w); 
end if; 
elsif ( cd_empresa_w = 3) then 
ie_retorno_sms_w := tww_2_02_enviar_sms(nm_usuario_sms_w,ds_senha_usuario_sms_w,id_sms_p,ds_destinatario_w,ds_mensagem_w,nm_usuario_proxy_w,ds_senha_proxy_w,ip_servidor_proxy_w); 
if(ie_retorno_sms_w not in(0)) then 
wheb_mensagem_pck.exibir_mensagem_abort(213824, 'DS_RETORNO_SMS_W='||tww_verifica_erro(ie_retorno_sms_w)||';DS_REMETENTE_P='||ds_remetente_p||';DS_DESTINATARIO_W='||ds_destinatario_w); 
end if; 
elsif ( cd_empresa_w = 4) then 
ie_retorno_sms_w := human_enviar_sms(nm_usuario_sms_w,ds_senha_usuario_sms_w,ds_remetente_p,id_sms_p,ds_destinatario_w,ds_mensagem_w,nm_usuario_proxy_w,ds_senha_proxy_w,ip_servidor_proxy_w); 
if (ie_retorno_sms_w not in (0)) then 
wheb_mensagem_pck.exibir_mensagem_abort(213824, 'DS_RETORNO_SMS_W='||human_verifica_erro(ie_retorno_sms_w)||';DS_REMETENTE_P='||ds_remetente_p||';DS_DESTINATARIO_W='||ds_destinatario_w); 
end if; 
elsif ( cd_empresa_w = 7) then 
ds_servidor_w := obter_valor_param_usuario(0,206,nvl(wheb_usuario_pck.get_cd_perfil,0),NM_USUARIO_P, nvl(wheb_usuario_pck.get_cd_estabelecimento,1)); 
ie_retorno_sms_w := goip_enviar_sms( 
ds_servidor_w, 
nm_usuario_sms_w, 
ds_senha_usuario_sms_w, 
ds_remetente_p, 
ds_destinatario_w, 
ds_mensagem_w, 
nm_usuario_proxy_w, 
ds_senha_proxy_w, 
ip_servidor_proxy_w); 
if (ie_retorno_sms_w in (0)) then 
wheb_mensagem_pck.exibir_mensagem_abort(213824, 'DS_RETORNO_SMS_W='||human_verifica_erro(ie_retorno_sms_w)||';DS_REMETENTE_P='||ds_remetente_p||';DS_DESTINATARIO_W='||ds_destinatario_w); 
end if; 
elsif ( cd_empresa_w = 8) then 
if	(trim(ds_remetente_p) is not null) then 
ds_mensagem_w	:= ds_remetente_p || ': ' || ds_mensagem_w; 
end if; 
ie_retorno_sms_w := digital_enviar_sms( 
nm_usuario_sms_w, 
ds_senha_usuario_sms_w, 
ds_remetente_p, 
ds_destinatario_w, 
ds_mensagem_w, 
nm_usuario_proxy_w, 
ds_senha_proxy_w, 
ip_servidor_proxy_w); 
if (ie_retorno_sms_w in (1)) then 
wheb_mensagem_pck.exibir_mensagem_abort(213824, 'DS_RETORNO_SMS_W='||ie_retorno_sms_w||';DS_REMETENTE_P='||ds_remetente_p||';DS_DESTINATARIO_W='||ds_destinatario_w); 
end if; 
/* "bracinho-curto" usar else para uma operadora nao autorizada :/ 
else 
ie_retorno_sms_w := spring_enviar_sms(nm_usuario_sms_w,ds_senha_usuario_sms_w, id_sms_p,ds_destinatario_w,ds_mensagem_w,nm_usuario_proxy_w,ds_senha_proxy_w,ip_servidor_proxy_w, 
OBTER_VALOR_PARAM_USUARIO(9041,5,nvl(wheb_usuario_pck.get_cd_perfil,0),nm_usuario_p,nvl(wheb_usuario_pck.get_cd_estabelecimento,1)), 
OBTER_VALOR_PARAM_USUARIO(9041,6,nvl(wheb_usuario_pck.get_cd_perfil,0),nm_usuario_p,nvl(wheb_usuario_pck.get_cd_estabelecimento,1)), cd_empresa_w); 
if (ie_retorno_sms_w not in (0)) then 
wheb_mensagem_pck.exibir_mensagem_abort(213824, 'DS_RETORNO_SMS_W='||spring_verifica_erro(ie_retorno_sms_w)||';DS_REMETENTE_P='||ds_remetente_p||';DS_DESTINATARIO_W='||ds_destinatario_w);	end if; 
*/ 
elsif ( cd_empresa_w = 66) then 
-- CONFIGURAR PROXY 
DBMS_OUTPUT.PUT_LINE(chr(10)||'nm_usuario_sms_w ['||nm_usuario_sms_w||']'); 
DBMS_OUTPUT.PUT_LINE('ds_senha_usuario_sms_w ['||ds_senha_usuario_sms_w||']'); 
DBMS_OUTPUT.PUT_LINE('ds_destinatario_w ['||ds_destinatario_w||']'); 
DBMS_OUTPUT.PUT_LINE('ds_mensagem_w ['||ds_mensagem_w||']'); 
CONS_retorno_sms_w := pkg_conseiller.conseiller_enviar_sms(nm_usuario_sms_w,ds_senha_usuario_sms_w,ds_destinatario_w,ds_mensagem_w) ; 
-- CONFIGURAR RETORNO ( PLAY AINDA NAO POSSUI ); 
if ( SUBSTR(CONS_retorno_sms_w,0,2) = 'OK' ) then 
ie_retorno_sms_w := 0; 
DBMS_OUTPUT.PUT_LINE('Mensagem: '||CONS_retorno_sms_w); 
else 
wheb_mensagem_pck.exibir_mensagem_abort(213824, 'DS_RETORNO_SMS_W='||ie_retorno_sms_w||';DS_REMETENTE_P='||ds_remetente_p||';DS_DESTINATARIO_W='||ds_destinatario_w); 
end if; 
--grava_retorno_sms(ds_destinatario_w, CONS_retorno_sms_w,to_char(sysdate,'dd/mm/yyyy hh24:mi:ss')); 
end if; 
end loop; 
end; 
function	get_creditos(NM_USUARIO_P in varchar2) return number as 
begin 
armazena_configuracoes_sms(NM_USUARIO_P); 
if (cd_empresa_w = 1 ) then 
comunika_conectar(nm_usuario_sms_w,ds_senha_usuario_sms_w,0); 
return comunika_get_creditos; 
elsif ( cd_empresa_w = 2) then 
return tww_get_creditos(nm_usuario_sms_w,ds_senha_usuario_sms_w,nm_usuario_proxy_w,ds_senha_proxy_w,ip_servidor_proxy_w); 
elsif ( cd_empresa_w = 3) then 
return tww_2_02_get_creditos(nm_usuario_sms_w,ds_senha_usuario_sms_w,nm_usuario_proxy_w,ds_senha_proxy_w,ip_servidor_proxy_w); 
elsif ( cd_empresa_w = 4) then 
wheb_mensagem_pck.exibir_mensagem_abort(213832); 
elsif ( cd_empresa_w = 5) then 
wheb_mensagem_pck.exibir_mensagem_abort(248883); 
elsif ( cd_empresa_w = 66) then 
return 100000; 
elsif ( cd_empresa_w = 8) then 
return digital_get_creditos( 
nm_usuario_sms_w, 
ds_senha_usuario_sms_w, 
nm_usuario_proxy_w, 
ds_senha_proxy_w, 
ip_servidor_proxy_w); 
end if; 
end; 
function	obter_status_sms(ID_SMS_P in number,DT_ENVIO_P in VARCHAR2,NM_USUARIO_P in varchar2) return varchar2 as 
cd_status_sms varchar2(10); 
begin 
if (cd_empresa_w is null ) then 
armazena_configuracoes_sms(NM_USUARIO_P); 
end if; 
if (cd_empresa_w = 1 ) then 
return 'N?o implementado (Vola)'; 
elsif ( cd_empresa_w = 2) then 
return tww_get_status_sms(nm_usuario_sms_w,ds_senha_usuario_sms_w,nm_usuario_proxy_w,ds_senha_proxy_w,ip_servidor_proxy_w,id_sms_p,dt_envio_p); 
elsif ( cd_empresa_w = 3) then 
return tww_2_02_get_status_sms(nm_usuario_sms_w,ds_senha_usuario_sms_w,nm_usuario_proxy_w,ds_senha_proxy_w,ip_servidor_proxy_w,id_sms_p,dt_envio_p); 
elsif ( cd_empresa_w = 4) then 
return human_get_status_sms(ID_SMS_P, nm_usuario_sms_w, ds_senha_usuario_sms_w, nm_usuario_proxy_w,ds_senha_proxy_w,ip_servidor_proxy_w); 
elsif ( cd_empresa_w = 5) then 
wheb_mensagem_pck.exibir_mensagem_abort(248883); 
elsif ( cd_empresa_w = 8) then 
return digital_get_status_sms( 
id_sms_p, 
nm_usuario_sms_w, 
ds_senha_usuario_sms_w, 
nm_usuario_proxy_w, 
ds_senha_proxy_w, 
ip_servidor_proxy_w); 
end if; 
end; 
function obter_ds_status_sms(CD_STATUS_P in varchar2,NM_USUARIO_P in varchar2) 
return varchar2 as 
begin 
if (cd_empresa_w is null ) then 
armazena_configuracoes_sms(NM_USUARIO_P); 
end if; 
if (cd_empresa_w = 1 ) then 
return 'N?o implementado (Vola)'; 
elsif ( cd_empresa_w in (2,3)) then 
return obter_valor_dominio(2353,CD_STATUS_P); 
elsif ( cd_empresa_w = 5) then 
wheb_mensagem_pck.exibir_mensagem_abort(248883); 
end if; 
end; 
end wheb_sms; 
/

