edwinspire / usaga

Micro Sistema Automatico de Gestión de Alarmas (uSAGA)
2 stars 0 forks source link

Caracteres en campos "account" y "name" del "Sistema/Monitor de Eventos" #17

Closed Nnino closed 11 years ago

Nnino commented 11 years ago

Al momento de realizar una modificación en un Abonado, apareció en "Sistema/Monitor de Eventos" unos caracteres (como Ӎ4 o n雺꬀) en los campos "account" y "name" en el registro donde se hizo la modificación (con el mensaje "Actualizada la cuenta idaccount = 1" ).

edwinspire commented 11 years ago

Actualizar la base de datos.

Nnino commented 11 years ago

Lo hice a la última versión subida pero el problema persiste.

edwinspire commented 11 years ago

El problema esta en usaga.fun_view_account_events_xml() de postgres, ya lo soluciono.

edwinspire commented 11 years ago

Correccion el problema estaba en usaga.fun_view_last_events_xml();

Este es el codigo de la funcion:

DECLARE

Retorno TEXT DEFAULT ''; CursorResult refcursor;

BEGIN

IF fieldtextasbase64 THEN

OPEN CursorResult FOR SELECT idevent, dateload, CASE WHEN idaccount IS NULL THEN '0' ELSE idaccount END AS idaccount, CASE WHEN partition IS NULL THEN '0' ELSE partition END AS partition, CASE WHEN enable IS NULL THEN 'false' ELSE enable END AS enable, CASE WHEN account IS NULL THEN encode('System'::bytea, 'base64') ELSE encode(account::bytea, 'base64') END AS account, CASE WHEN name IS NULL THEN encode('uSAGA'::bytea, 'base64') ELSE encode(name::bytea, 'base64') END AS name, CASE WHEN type IS NULL THEN '0' ELSE type END AS type, encode(code::bytea, 'base64') as code, zu, priority, encode(description::bytea, 'base64') as description, ideventtype, datetimeevent, encode(eventtype::bytea, 'base64') AS eventtype, process1, process2, process3, process4, process5, dateprocess1, dateprocess2, dateprocess3, dateprocess4, dateprocess5 FROM usaga.view_events ORDER BY idevent DESC LIMIT rows; SELECT * FROM cursor_to_xml(CursorResult, 1000, false, false, '') INTO Retorno; CLOSE CursorResult;

ELSE

OPEN CursorResult FOR SELECT idevent, dateload, CASE WHEN idaccount IS NULL THEN '0' ELSE idaccount END AS idaccount, CASE WHEN partition IS NULL THEN '0' ELSE partition END AS partition, CASE WHEN enable IS NULL THEN 'false' ELSE enable END AS enable, CASE WHEN account IS NULL THEN 'System' ELSE account END AS account, CASE WHEN name IS NULL THEN 'uSAGA' ELSE name END AS name, CASE WHEN type IS NULL THEN '0' ELSE type END AS type, code, zu, priority, description, ideventtype, eventtype, datetimeevent, process1, process2, process3, process4, process5, dateprocess1, dateprocess2, dateprocess3, dateprocess4, dateprocess5 FROM usaga.view_events ORDER BY idevent DESC LIMIT rows; SELECT * FROM cursor_to_xml(CursorResult, 1000, false, false, '') INTO Retorno; CLOSE CursorResult;

END IF;

RETURN '

'||Retorno||'
';

END;

Reemplazarlo y probar, en la proxina que suba la base de datos estará ya corregido.

Nnino commented 11 years ago

Al poner ese código no me muestra los registros en el monitor de eventos

edwinspire commented 11 years ago

Veo que algunos caracteres no se copian en este post, que raro, ya subi la base de datos con la correccion.