WCF Service

NET-WS-FuncionesGenerales

WCF utility service — patient lookup, user data, email queuing (GC73) and monitoring

24
Endpoints
1
Internal Funcs
25
SQL Statements

Last commit: 2025-08-27

🔗 Cross-service similarity detected

⚠ Similar operations in other services:
ObtenerDatosPersona also in → NET-WS-HL7Broker, NET-WS-Pacs
ObtenerCodPersona also in → NET-WS-HL7Broker, NET-WS-Farmacia
ObtenerCodUsuario also in → NET-WS-Pacs, NET-WS-Informes, NET-WS-Farmacia
GetConfig also in → NET-WS-Pacs, NET-WS-Informes
🔁 Similar SQL queries found in other services:
SELECT 1 EXISTE FROM EC.EC0100 WHERE EC01NUMENSAYO_FUN = :numEnsayoFun…
→ also in NET-WS-HL7Broker, NET-WS-Informes, NET-WS-Farmacia, NET-WS-CRM
SELECT EC0900.EC01NUMENSAYO, EC0900.EC07NUMCICLO, EC0900.EC08NUMVISITA, EC0900.PR01CODACTU…
→ also in NET-WS-Monitorizacion, NET-WS-HL7Broker, NET-WS-Laboratorio, NET-WS-Informes
SELECT CI21CODPERSONA, CI10NUMDIRECCI FROM CI1000 WHERE CI10CAMPOID_SF = :idDireccionSales…
→ also in NET-WS-FormacionCUN, NET-WS-HL7Broker, NET-WS-Laboratorio, NET-WS-Informes
select ad74codcentro from pr0400, ad0200 where pr0400.AD02CODDPTO = ad0200.AD02CODDPTO and…
→ also in NET-WS-Informes, NET-WS-Laboratorio
INSERT INTO GC7300 (GC73NUMREG, GC73FROM, GC73TO, GC73CC, GC73BCC, GC73SUBJECT, GC73BODY, …
→ also in NET-WS-Farmacia
🗄 Shared DB tables with other services:
PR0400SG0200pr0400dualad0100sg0200GC7300CI7000AD0300

📋 Endpoints Overview (24)

Operation ⇅Verb Returns ⇅Parameters SQLs ⇅DescriptionFlags
GetConfig SOAP String 0 Devuelve la cadena de conexión 🔁
TestConnection SOAP String 0 Prueba que la conexión puede hacerse 🔁
buscarCentroPaciente SOAP RespInt numHistoria 1 Busca el centro donde se encuentra el paciente
actualizarPaciente SOAP RespVoid codPersona, estado, fechaCambio 2 Actualiza el estado y la fecha del cambio del paciente
GetCentro SOAP RespInt numActPlan 1 Busca el centro al que pertenece número de actuación
ObtenerDatosSG6300 SOAP RespPersonaTarjetaEntity idPersona 1 Procedimiento que obtiene el siguiente número de secuencia de IM01NumDoc_SEQUENCE.NEXTVAL
ObtenerDatosPersona SOAP RespString idPersonaRh 1 Procedimiento que obtiene el número de empleado 🔁
ObtenerDatosSG9200 SOAP RespPersonaTarjetaV2Entity idPersona 1 Procedimiento que obtiene los datos de una persona de la SG9200
ObtenerPR04FecImg SOAP RespString numActPlan 1 Procedimiento que obtiene el campo PR04FECIMG mediante el numActPlan
getDepartamentosPorCodWindows SOAP RespListDepartamentoEntity codWindows 0 Obtiene los departamentos principales de un usuario mediante su codWindows
obtenerCodWindowsPorSg02Cod SOAP RespString sg02Cod 1 Procedimiento que obtiene el campo SG02CODWINDOWS mediante el SG02COD
obtenerDatosUsuario SOAP RespDatosUsuarioEntity codWindows 1 Procedimiento que obtiene datos de un usuario mediante su
comprobarUsuariosBaja SOAP RespInt 2
obtenerUsuarioLdapPorSg02Cod SOAP RespString sg02Cod 1 Procedimiento que obtiene el nombre y apellidos combinado mediante el SG02COD
getCodPersonaByIdPaciente SOAP RespInt idPaciente 1 Procedimiento que obtiene el campo CI21CODPERSONA mediante el CI70ID
getEmailData SOAP RespEmail tabla, numReg 0 Obtiene información de la tabla "tabla" para enviar emails
updateFechaEnvio SOAP RespBool tabla, numReg 0 <summary> Método para actualizar la FECHAENVIO con sysdate en la tabla que se le pasa como parámetro…
updateFechaEnvioGC73 SOAP RespBool numReg 1 Método para actualizar la FECHAENVIO con sysdate en la GC73.
updateMensajeError SOAP RespBool tabla, numReg, mensajeError 0 <summary> Método para actualizar los mensajes de error generados durante la validación de correos. -…
registrarErrorPaperless SOAP RespBool numReg, codError, error 1 <summary> Método para registrar error en FAY300 <param name="numReg"></param> <param name="codError"…
insertGC73 SOAP RespBool remitente, destinatarios, asunto, texto, rutaAdjunto, nombreFichero 1 Método para insertar un registro en la GC73, que luego procesa CUNEMAIL para enviar un email.
insertGC73V2 SOAP RespBool remitente, destinatarios, asunto, texto, rutaAdjunto, nombreFichero, indHTML 3 Método para insertar un registro en la GC73, que luego procesa CUNEMAIL para enviar un email.
obtenerSQLsCUN SOAP RespSQLsCUNEntity 1 Procedimiento que obtiene los datos de la tabla PR69
ejecutarSQLCUN SOAP RespInt sql 3 Procedimiento que ejecuta una SQL dada (sólo selects) y devuelve el número de rows obtenidas.

🔌 Endpoint Details

GetConfig

SOAP

Devuelve la cadena de conexión

⚠ Similar operation GetConfig exists in: NET-WS-Pacs, NET-WS-Informes

📥 Input Parameters

📤 Return Type

String

🗄 SQL Queries (0)

No SQL detected

🔗 External Calls / Used By

None detected

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Devuelve la cadena de conexión
/// </summary>
/// <returns>String</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetConfig_ReturnsSuccess()
        {
            // Arrange
            var client = new WSFuncionesGenerales();


            // Act
            var result = client.GetConfig();

            // Assert
            Assert.IsNotNull(result);
        }

        [TestMethod]
        public void Test_GetConfig_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFuncionesGenerales();


            // Act
            var result = client.GetConfig();

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

TestConnection

📋 COPY-PASTE 92% SOAP

Prueba que la conexión puede hacerse

⚠ Similar operation TestConnection exists in: NET-WS-PruebasPDF, NET-WS-HL7Broker, NET-WS-Pacs, NET-WS-Laboratorio
📋 Copy-paste candidate — extract to shared library
Structural match: 92%  ·  Same code found in 5 other service(s): NET-WS-Informes NET-WS-Laboratorio NET-WS-Monitorizacion NET-WS-Pacs NET-WS-Telemedicina
Suggested library: cysnet.common.utils

📥 Input Parameters

📤 Return Type

String

🗄 SQL Queries (0)

No SQL detected

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

bool resultado = false;
📝 Suggested XML doc comment
/// <summary>
/// Prueba que la conexión puede hacerse
/// </summary>
/// <returns>String</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_TestConnection_ReturnsSuccess()
        {
            // Arrange
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFuncionesGenerales();


            // Act
            var result = client.TestConnection();

            // Assert
            Assert.IsNotNull(result);
        }

        [TestMethod]
        public void Test_TestConnection_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFuncionesGenerales();


            // Act
            var result = client.TestConnection();

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

buscarCentroPaciente

📋 COPY-PASTE 85% SOAP

Busca el centro donde se encuentra el paciente

📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FormacionCUN NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

StringnumHistoria

📤 Return Type

RespInt
ad0100

🗄 SQL Queries (1)

SELECT ad0200.ad74codcentro FROM ad0100,ad0500,ad0200,prgg00
ad0100
Table ad0100 also used in: NET-WS-HL7Broker, NET-WS-Informes, NET-WS-Farmacia

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Busca el centro donde se encuentra el paciente
/// </summary>
/// <param name="numHistoria">TODO: describe numHistoria</param>
/// <returns>RespInt</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_buscarCentroPaciente_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFuncionesGenerales();
            var numHistoria = "test_value";

            // Act
            var result = client.buscarCentroPaciente(numHistoria);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_buscarCentroPaciente_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFuncionesGenerales();
            var numHistoria = null;

            // Act
            var result = client.buscarCentroPaciente(numHistoria);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

actualizarPaciente

📋 COPY-PASTE 85% SOAP

Actualiza el estado y la fecha del cambio del paciente

📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FormacionCUN NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

StringcodPersona
Stringestado
StringfechaCambio

📤 Return Type

RespVoid
PRGK00

🗄 SQL Queries (2)

UPDATE PRGK00 SET PRGKINDREALIZADO = -1 WHERE CI70ID = :codUsuario AND PRC5CODESTINTERV = :estado
PRGK00
UPDATE PRGK00 SET PRGKINDREALIZADO = -1 WHERE CI21CODPERSONA = :codPersona AND PRC5CODESTINTERV = :estado
PRGK00

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

Modificado UPDATE 15/02
String sql = "UPDATE PRGK00 SET PRGKINDREALIZADO = -1 WHERE CI70ID = :codUsuario AND PRC5CODESTINTERV = :estado ";
sql += "AND PRGKFECINF = TO_DATE(:fechaCambio, 'YYYY-MM-DD HH24:MI:SS') ";
📝 Suggested XML doc comment
/// <summary>
/// Actualiza el estado y la fecha del cambio del paciente
/// </summary>
/// <param name="codPersona">TODO: describe codPersona</param>
/// <param name="estado">TODO: describe estado</param>
/// <param name="fechaCambio">TODO: describe fechaCambio</param>
/// <returns>RespVoid</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_actualizarPaciente_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFuncionesGenerales();
            var codPersona = "test_value";
            var estado = "test_value";
            var fechaCambio = "test_value";

            // Act
            var result = client.actualizarPaciente(codPersona, estado, fechaCambio);

            // Assert
            Assert.IsNotNull(result);
        }

        [TestMethod]
        public void Test_actualizarPaciente_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFuncionesGenerales();
            var codPersona = null;
            var estado = null;
            var fechaCambio = null;

            // Act
            var result = client.actualizarPaciente(codPersona, estado, fechaCambio);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

GetCentro

📋 COPY-PASTE 85% SOAP

Busca el centro al que pertenece número de actuación

📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FormacionCUN NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intnumActPlan

📤 Return Type

RespInt
pr0400

🗄 SQL Queries (1)

select ad74codcentro from pr0400, ad0200 where pr0400.AD02CODDPTO = ad0200.AD02CODDPTO and pr0400.PR04NUMACTPLAN =  :numActPlan
pr0400
Table pr0400 also used in: NET-WS-PruebasPDF, NET-WS-HL7Broker, NET-WS-Pacs

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Busca el centro al que pertenece número de actuación
/// </summary>
/// <param name="numActPlan">TODO: describe numActPlan</param>
/// <returns>RespInt</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_GetCentro_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFuncionesGenerales();
            var numActPlan = 1;

            // Act
            var result = client.GetCentro(numActPlan);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_GetCentro_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFuncionesGenerales();
            var numActPlan = -1;

            // Act
            var result = client.GetCentro(numActPlan);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

ObtenerDatosSG6300

📋 COPY-PASTE 85% SOAP

Procedimiento que obtiene el siguiente número de secuencia de IM01NumDoc_SEQUENCE.NEXTVAL

📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FormacionCUN NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

stringidPersona

📤 Return Type

RespPersonaTarjetaEntity

🗄 SQL Queries (1)

SELECT SG63PERSONA_ID,SG63MIFARE_ID,SG63NOM,SG63APE1,SG63APE2,SG63DESDPTO,SG63DESGRUPO,SG63TIPOEVENTO,CI30CODSEXO, SG63CODPERSONAL

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Procedimiento que obtiene el siguiente número de secuencia de IM01NumDoc_SEQUENCE.NEXTVAL
/// </summary>
/// <param name="idPersona">TODO: describe idPersona</param>
/// <returns>RespPersonaTarjetaEntity</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_ObtenerDatosSG6300_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFuncionesGenerales();
            var idPersona = "test_value";

            // Act
            var result = client.ObtenerDatosSG6300(idPersona);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_ObtenerDatosSG6300_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFuncionesGenerales();
            var idPersona = null;

            // Act
            var result = client.ObtenerDatosSG6300(idPersona);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

ObtenerDatosPersona

📋 COPY-PASTE 85% SOAP

Procedimiento que obtiene el número de empleado

⚠ Similar operation ObtenerDatosPersona exists in: NET-WS-HL7Broker, NET-WS-Pacs
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FormacionCUN NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

stringidPersonaRh

📤 Return Type

RespString
sg6300

🗄 SQL Queries (1)

SELECT sg63persona_id FROM sg6300,sg0200 WHERE sg6300.sg02cod = sg0200.sg02cod AND sg02codpersonal= :idPersonaRh
sg6300

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Procedimiento que obtiene el número de empleado
/// </summary>
/// <param name="idPersonaRh">TODO: describe idPersonaRh</param>
/// <returns>RespString</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_ObtenerDatosPersona_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFuncionesGenerales();
            var idPersonaRh = "test_value";

            // Act
            var result = client.ObtenerDatosPersona(idPersonaRh);

            // Assert
            Assert.IsNotNull(result);
        }

        [TestMethod]
        public void Test_ObtenerDatosPersona_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFuncionesGenerales();
            var idPersonaRh = null;

            // Act
            var result = client.ObtenerDatosPersona(idPersonaRh);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

ObtenerDatosSG9200

📋 COPY-PASTE 85% SOAP

Procedimiento que obtiene los datos de una persona de la SG9200

📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FormacionCUN NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

stringidPersona

📤 Return Type

RespPersonaTarjetaV2Entity

🗄 SQL Queries (1)

SELECT SG92PERSONA_ID, SG92MIFARE_ID, SG92NOM, SG92APE1, SG92APE2, AD02CODDPTO, SG92DESDPTO, SG33CODGRUPO, SG92DESGRUPO, SG92TIPOEVENTO, CI30CODSEXO, SG92CODPERSONAL, SG92DNI, SG92FECALTA, SG92FECBAJA

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Procedimiento que obtiene los datos de una persona de la SG9200
/// </summary>
/// <param name="idPersona">TODO: describe idPersona</param>
/// <returns>RespPersonaTarjetaV2Entity</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_ObtenerDatosSG9200_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFuncionesGenerales();
            var idPersona = "test_value";

            // Act
            var result = client.ObtenerDatosSG9200(idPersona);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_ObtenerDatosSG9200_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFuncionesGenerales();
            var idPersona = null;

            // Act
            var result = client.ObtenerDatosSG9200(idPersona);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

ObtenerPR04FecImg

📋 COPY-PASTE 85% SOAP

Procedimiento que obtiene el campo PR04FECIMG mediante el numActPlan

📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FormacionCUN NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

stringnumActPlan

📤 Return Type

RespString
PR0400

🗄 SQL Queries (1)

SELECT PR04FECIMG FROM PR0400 WHERE PR04NUMACTPLAN = :numActPlan
PR0400
Table PR0400 also used in: NET-WS-Farmacia, NET-WS-Pacs, NET-WS-HL7Broker

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Procedimiento que obtiene el campo PR04FECIMG mediante el numActPlan
/// </summary>
/// <param name="numActPlan">TODO: describe numActPlan</param>
/// <returns>RespString</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_ObtenerPR04FecImg_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFuncionesGenerales();
            var numActPlan = "test_value";

            // Act
            var result = client.ObtenerPR04FecImg(numActPlan);

            // Assert
            Assert.IsNotNull(result);
        }

        [TestMethod]
        public void Test_ObtenerPR04FecImg_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFuncionesGenerales();
            var numActPlan = null;

            // Act
            var result = client.ObtenerPR04FecImg(numActPlan);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

getDepartamentosPorCodWindows

📋 COPY-PASTE 85% SOAP

Obtiene los departamentos principales de un usuario mediante su codWindows

📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FormacionCUN NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

StringcodWindows

📤 Return Type

RespListDepartamentoEntity

🗄 SQL Queries (0)

No SQL detected

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Obtiene los departamentos principales de un usuario mediante su codWindows
/// </summary>
/// <param name="codWindows">TODO: describe codWindows</param>
/// <returns>RespListDepartamentoEntity</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_getDepartamentosPorCodWindows_ReturnsSuccess()
        {
            // Arrange
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFuncionesGenerales();
            var codWindows = "test_value";

            // Act
            var result = client.getDepartamentosPorCodWindows(codWindows);

            // Assert
            Assert.IsNotNull(result.Resultado);
        }

        [TestMethod]
        public void Test_getDepartamentosPorCodWindows_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFuncionesGenerales();
            var codWindows = null;

            // Act
            var result = client.getDepartamentosPorCodWindows(codWindows);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

obtenerCodWindowsPorSg02Cod

📋 COPY-PASTE 85% SOAP

Procedimiento que obtiene el campo SG02CODWINDOWS mediante el SG02COD

📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FormacionCUN NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

stringsg02Cod

📤 Return Type

RespString
SG0200

🗄 SQL Queries (1)

SELECT SG02CODWINDOWS FROM SG0200 WHERE SG02COD = :sg02Cod
SG0200
Table SG0200 also used in: NET-WS-Farmacia, NET-WS-Pacs, NET-WS-Laboratorio

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Procedimiento que obtiene el campo SG02CODWINDOWS mediante el SG02COD
/// </summary>
/// <param name="sg02Cod">TODO: describe sg02Cod</param>
/// <returns>RespString</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_obtenerCodWindowsPorSg02Cod_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFuncionesGenerales();
            var sg02Cod = "test_value";

            // Act
            var result = client.obtenerCodWindowsPorSg02Cod(sg02Cod);

            // Assert
            Assert.IsNotNull(result);
        }

        [TestMethod]
        public void Test_obtenerCodWindowsPorSg02Cod_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFuncionesGenerales();
            var sg02Cod = null;

            // Act
            var result = client.obtenerCodWindowsPorSg02Cod(sg02Cod);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

obtenerDatosUsuario

📋 COPY-PASTE 85% SOAP

Procedimiento que obtiene datos de un usuario mediante su

📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FormacionCUN NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

stringcodWindows

📤 Return Type

RespDatosUsuarioEntity
SG0200

🗄 SQL Queries (1)

SELECT SG02EMAIL FROM SG0200 WHERE SG02CODWINDOWS = :codWindows
SG0200
Table SG0200 also used in: NET-WS-Farmacia, NET-WS-Pacs, NET-WS-Laboratorio

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Procedimiento que obtiene datos de un usuario mediante su
/// </summary>
/// <param name="codWindows">TODO: describe codWindows</param>
/// <returns>RespDatosUsuarioEntity</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_obtenerDatosUsuario_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFuncionesGenerales();
            var codWindows = "test_value";

            // Act
            var result = client.obtenerDatosUsuario(codWindows);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_obtenerDatosUsuario_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFuncionesGenerales();
            var codWindows = null;

            // Act
            var result = client.obtenerDatosUsuario(codWindows);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

comprobarUsuariosBaja

📋 COPY-PASTE 85% SOAP
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FormacionCUN NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

📤 Return Type

RespInt
sg0200 SG8400

🗄 SQL Queries (2)

SELECT SG02COD FROM sg0200 WHERE sg02fecdes = to_char(sysdate,'dd/mm/yyyy')
sg0200
INSERT INTO SG8400 (SG84NUMREG, SG02COD, SG84INDREALIZADO,SG84EVENTO)
SG8400
Table sg0200 also used in: NET-WS-Pacs, NET-WS-Informes, NET-WS-FormacionCUN

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Executes comprobar usuarios baja
/// </summary>
/// <returns>RespInt</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_comprobarUsuariosBaja_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFuncionesGenerales();


            // Act
            var result = client.comprobarUsuariosBaja();

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_comprobarUsuariosBaja_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFuncionesGenerales();


            // Act
            var result = client.comprobarUsuariosBaja();

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

obtenerUsuarioLdapPorSg02Cod

📋 COPY-PASTE 85% SOAP

Procedimiento que obtiene el nombre y apellidos combinado mediante el SG02COD

📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FormacionCUN NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

stringsg02Cod

📤 Return Type

RespString
SG0200

🗄 SQL Queries (1)

SELECT  SG02NOM || ' ' || SG02APE1 || ' ' || SG02APE2 AS \"LDAPUSER\" FROM SG0200 WHERE SG02COD = :CodUser
SG0200
Table SG0200 also used in: NET-WS-Farmacia, NET-WS-Pacs, NET-WS-Laboratorio

🔗 External Calls / Used By

Oracle DB LDAP/Active Directory

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Procedimiento que obtiene el nombre y apellidos combinado mediante el SG02COD
/// </summary>
/// <param name="sg02Cod">TODO: describe sg02Cod</param>
/// <returns>RespString</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_obtenerUsuarioLdapPorSg02Cod_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB, LDAP/Active Directory
            var client = new WSFuncionesGenerales();
            var sg02Cod = "test_value";

            // Act
            var result = client.obtenerUsuarioLdapPorSg02Cod(sg02Cod);

            // Assert
            Assert.IsNotNull(result);
        }

        [TestMethod]
        public void Test_obtenerUsuarioLdapPorSg02Cod_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFuncionesGenerales();
            var sg02Cod = null;

            // Act
            var result = client.obtenerUsuarioLdapPorSg02Cod(sg02Cod);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

getCodPersonaByIdPaciente

📋 COPY-PASTE 85% SOAP

Procedimiento que obtiene el campo CI21CODPERSONA mediante el CI70ID

📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FormacionCUN NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

stringidPaciente

📤 Return Type

RespInt
CI7000

🗄 SQL Queries (1)

SELECT CI21CODPERSONA FROM CI7000 WHERE CI70ID= :idPaciente
CI7000
Table CI7000 also used in: NET-WS-Telemedicina

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Procedimiento que obtiene el campo CI21CODPERSONA mediante el CI70ID
/// </summary>
/// <param name="idPaciente">TODO: describe idPaciente</param>
/// <returns>RespInt</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_getCodPersonaByIdPaciente_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFuncionesGenerales();
            var idPaciente = "test_value";

            // Act
            var result = client.getCodPersonaByIdPaciente(idPaciente);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_getCodPersonaByIdPaciente_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFuncionesGenerales();
            var idPaciente = null;

            // Act
            var result = client.getCodPersonaByIdPaciente(idPaciente);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

getEmailData

SOAP

Obtiene información de la tabla "tabla" para enviar emails

📥 Input Parameters

stringtabla
stringnumReg

📤 Return Type

RespEmail

🗄 SQL Queries (0)

No SQL detected

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

Si no hay valor para tabla, ponerle por defecto GC73
Si hay HTML, cogerlo de la tabla relacionada:
📝 Suggested XML doc comment
/// <summary>
/// Obtiene información de la tabla "tabla" para enviar emails
/// </summary>
/// <param name="tabla">TODO: describe tabla</param>
/// <param name="numReg">TODO: describe numReg</param>
/// <returns>RespEmail</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_getEmailData_ReturnsSuccess()
        {
            // Arrange
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFuncionesGenerales();
            var tabla = "test_value";
            var numReg = "test_value";

            // Act
            var result = client.getEmailData(tabla, numReg);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_getEmailData_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFuncionesGenerales();
            var tabla = null;
            var numReg = null;

            // Act
            var result = client.getEmailData(tabla, numReg);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

updateFechaEnvio

📋 COPY-PASTE 85% SOAP ⚠ Needs Review

<summary> Método para actualizar la FECHAENVIO con sysdate en la tabla que se le pasa como parámetro: - CUNEMAIL: GCA7300 - TELEMEDEMAIL: GCA90. <param name="tabla"></param> <param name="numReg"></param> <returns>RespEmail</returns>

Needs Technical Revision — TODO/FIXME markers or incomplete logic detected
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FormacionCUN NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

stringtabla
stringnumReg

📤 Return Type

RespBool

🗄 SQL Queries (0)

No SQL detected

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

Si no hay valor para tabla, ponerle por defecto GC73
📝 Suggested XML doc comment
/// <summary>
/// <summary> Método para actualizar la FECHAENVIO con sysdate en la tabla que se le pasa como parámetro: - CUNEMAIL: GCA7300 - TELEMEDEMAIL: GCA90. <param name="tabla"></param> <param name="numReg"></param> <returns>RespEmail</returns>
/// </summary>
/// <param name="tabla">TODO: describe tabla</param>
/// <param name="numReg">TODO: describe numReg</param>
/// <returns>RespBool</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_updateFechaEnvio_ReturnsSuccess()
        {
            // Arrange
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFuncionesGenerales();
            var tabla = "test_value";
            var numReg = "test_value";

            // Act
            var result = client.updateFechaEnvio(tabla, numReg);

            // Assert
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_updateFechaEnvio_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFuncionesGenerales();
            var tabla = null;
            var numReg = null;

            // Act
            var result = client.updateFechaEnvio(tabla, numReg);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

updateFechaEnvioGC73

📋 COPY-PASTE 85% SOAP ⚠ Needs Review

Método para actualizar la FECHAENVIO con sysdate en la GC73.

Needs Technical Revision — TODO/FIXME markers or incomplete logic detected
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FormacionCUN NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

stringnumReg

📤 Return Type

RespBool
GC7300

🗄 SQL Queries (1)

UPDATE GC7300 SET GC73FECHAENVIO = sysdate WHERE GC73NUMREG = :numReg
GC7300
Table GC7300 also used in: NET-WS-Farmacia

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Método para actualizar la FECHAENVIO con sysdate en la GC73.
/// </summary>
/// <param name="numReg">TODO: describe numReg</param>
/// <returns>RespBool</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_updateFechaEnvioGC73_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFuncionesGenerales();
            var numReg = "test_value";

            // Act
            var result = client.updateFechaEnvioGC73(numReg);

            // Assert
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_updateFechaEnvioGC73_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFuncionesGenerales();
            var numReg = null;

            // Act
            var result = client.updateFechaEnvioGC73(numReg);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

updateMensajeError

📋 COPY-PASTE 85% SOAP ⚠ Needs Review

<summary> Método para actualizar los mensajes de error generados durante la validación de correos. - CUNEMAIL: GCA7300 - TELEMEDEMAIL: GCA900. <param name="tabla"></param> <param name="numReg"></param> <param name="mensajeError"></param> <returns>RespEmail</returns>

Needs Technical Revision — TODO/FIXME markers or incomplete logic detected
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FormacionCUN NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

stringtabla
stringnumReg
stringmensajeError

📤 Return Type

RespBool

🗄 SQL Queries (0)

No SQL detected

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

Si no hay valor para tabla, ponerle por defecto GC73
📝 Suggested XML doc comment
/// <summary>
/// <summary> Método para actualizar los mensajes de error generados durante la validación de correos. - CUNEMAIL: GCA7300 - TELEMEDEMAIL: GCA900. <param name="tabla"></param> <param name="numReg"></param> <param name="mensajeError"></param> <returns>RespEmail</returns>
/// </summary>
/// <param name="tabla">TODO: describe tabla</param>
/// <param name="numReg">TODO: describe numReg</param>
/// <param name="mensajeError">TODO: describe mensajeError</param>
/// <returns>RespBool</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_updateMensajeError_ReturnsSuccess()
        {
            // Arrange
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFuncionesGenerales();
            var tabla = "test_value";
            var numReg = "test_value";
            var mensajeError = "test_value";

            // Act
            var result = client.updateMensajeError(tabla, numReg, mensajeError);

            // Assert
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_updateMensajeError_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFuncionesGenerales();
            var tabla = null;
            var numReg = null;
            var mensajeError = null;

            // Act
            var result = client.updateMensajeError(tabla, numReg, mensajeError);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

registrarErrorPaperless

📋 COPY-PASTE 85% SOAP ⚠ Needs Review

<summary> Método para registrar error en FAY300 <param name="numReg"></param> <param name="codError"/> <paramref name="error"/> <returns>RespVoid</returns>

Needs Technical Revision — TODO/FIXME markers or incomplete logic detected
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FormacionCUN NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

intnumReg
intcodError
stringerror

📤 Return Type

RespBool
FAY300

🗄 SQL Queries (1)

UPDATE FAY300 SET FAY3CODERROR = :codError, FAY3ERROR = :error WHERE FAY3NUMREG = :numReg
FAY300

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// <summary> Método para registrar error en FAY300 <param name="numReg"></param> <param name="codError"/> <paramref name="error"/> <returns>RespVoid</returns>
/// </summary>
/// <param name="numReg">TODO: describe numReg</param>
/// <param name="codError">TODO: describe codError</param>
/// <param name="error">TODO: describe error</param>
/// <returns>RespBool</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_registrarErrorPaperless_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFuncionesGenerales();
            var numReg = 1;
            var codError = 1;
            var error = "test_value";

            // Act
            var result = client.registrarErrorPaperless(numReg, codError, error);

            // Assert
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_registrarErrorPaperless_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFuncionesGenerales();
            var numReg = -1;
            var codError = -1;
            var error = null;

            // Act
            var result = client.registrarErrorPaperless(numReg, codError, error);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

insertGC73

📋 COPY-PASTE 85% SOAP ⚠ Needs Review

Método para insertar un registro en la GC73, que luego procesa CUNEMAIL para enviar un email.

Needs Technical Revision — TODO/FIXME markers or incomplete logic detected
📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FormacionCUN NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

stringremitente
stringdestinatarios
stringasunto
stringtexto
stringrutaAdjunto
stringnombreFichero

📤 Return Type

RespBool
GC7300

🗄 SQL Queries (1)

INSERT INTO GC7300  (GC73NUMREG, GC73FROM, GC73TO, GC73SUBJECT, GC73BODY, GC73ATTACHRUTA, GC73ATTACHFICHERO, GC73INDENVIADO)
GC7300
Table GC7300 also used in: NET-WS-Farmacia

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Método para insertar un registro en la GC73, que luego procesa CUNEMAIL para enviar un email.
/// </summary>
/// <param name="remitente">TODO: describe remitente</param>
/// <param name="destinatarios">TODO: describe destinatarios</param>
/// <param name="asunto">TODO: describe asunto</param>
/// <param name="texto">TODO: describe texto</param>
/// <param name="rutaAdjunto">TODO: describe rutaAdjunto</param>
/// <param name="nombreFichero">TODO: describe nombreFichero</param>
/// <returns>RespBool</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_insertGC73_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFuncionesGenerales();
            var remitente = "test_value";
            var destinatarios = "test_value";
            var asunto = "test_value";
            var texto = "test_value";
            var rutaAdjunto = "test_value";
            var nombreFichero = "test_value";

            // Act
            var result = client.insertGC73(remitente, destinatarios, asunto, texto, rutaAdjunto, nombreFichero);

            // Assert
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_insertGC73_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFuncionesGenerales();
            var remitente = null;
            var destinatarios = null;
            var asunto = null;
            var texto = null;
            var rutaAdjunto = null;
            var nombreFichero = null;

            // Act
            var result = client.insertGC73(remitente, destinatarios, asunto, texto, rutaAdjunto, nombreFichero);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

insertGC73V2

SOAP ⚠ Needs Review

Método para insertar un registro en la GC73, que luego procesa CUNEMAIL para enviar un email.

Needs Technical Revision — TODO/FIXME markers or incomplete logic detected

📥 Input Parameters

stringremitente
stringdestinatarios
stringasunto
stringtexto
stringrutaAdjunto
stringnombreFichero
boolindHTML

📤 Return Type

RespBool
dual GC7300 GC9300

🗄 SQL Queries (3)

SELECT GC73NUMREG_SEQUENCE.NEXTVAL AS NextNumReg FROM dual
dual
INSERT INTO GC7300 (GC73NUMREG, GC73FROM, GC73TO, GC73SUBJECT,
GC7300
INSERT INTO GC9300 (GC73NumReg, GC93NUMLINEA, GC93BODY)
GC9300
Table GC7300 also used in: NET-WS-Farmacia

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

Obtener valor numreg:
Si el contenido es HTML, trocearlo e insertarlo en GC93
Trocear el texto en trozos de 250 caracteres
📝 Suggested XML doc comment
/// <summary>
/// Método para insertar un registro en la GC73, que luego procesa CUNEMAIL para enviar un email.
/// </summary>
/// <param name="remitente">TODO: describe remitente</param>
/// <param name="destinatarios">TODO: describe destinatarios</param>
/// <param name="asunto">TODO: describe asunto</param>
/// <param name="texto">TODO: describe texto</param>
/// <param name="rutaAdjunto">TODO: describe rutaAdjunto</param>
/// <param name="nombreFichero">TODO: describe nombreFichero</param>
/// <param name="indHTML">TODO: describe indHTML</param>
/// <returns>RespBool</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_insertGC73V2_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFuncionesGenerales();
            var remitente = "test_value";
            var destinatarios = "test_value";
            var asunto = "test_value";
            var texto = "test_value";
            var rutaAdjunto = "test_value";
            var nombreFichero = "test_value";
            var indHTML = true;

            // Act
            var result = client.insertGC73V2(remitente, destinatarios, asunto, texto, rutaAdjunto, nombreFichero, indHTML);

            // Assert
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_insertGC73V2_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFuncionesGenerales();
            var remitente = null;
            var destinatarios = null;
            var asunto = null;
            var texto = null;
            var rutaAdjunto = null;
            var nombreFichero = null;
            var indHTML = -1;

            // Act
            var result = client.insertGC73V2(remitente, destinatarios, asunto, texto, rutaAdjunto, nombreFichero, indHTML);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

obtenerSQLsCUN

📋 COPY-PASTE 85% SOAP

Procedimiento que obtiene los datos de la tabla PR69

📋 Copy-paste candidate — extract to shared library
Structural match: 85%  ·  Same code found in 11 other service(s): NET-WS-DestinoPaciente NET-WS-Farmacia NET-WS-FormacionCUN NET-WS-HL7Broker NET-WS-Informes NET-WS-Laboratorio
Suggested library: cysnet.cun.core

📥 Input Parameters

📤 Return Type

RespSQLsCUNEntity
PR6900

🗄 SQL Queries (1)

SELECT PR69CONSULTASQL, PR69CONDICION, PR69MENSAJE, PR69ASUNTO, PR69DESTINATARIO FROM PR6900
PR6900

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

No comments
📝 Suggested XML doc comment
/// <summary>
/// Procedimiento que obtiene los datos de la tabla PR69
/// </summary>
/// <returns>RespSQLsCUNEntity</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_obtenerSQLsCUN_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFuncionesGenerales();


            // Act
            var result = client.obtenerSQLsCUN();

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_obtenerSQLsCUN_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFuncionesGenerales();


            // Act
            var result = client.obtenerSQLsCUN();

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

ejecutarSQLCUN

SOAP

Procedimiento que ejecuta una SQL dada (sólo selects) y devuelve el número de rows obtenidas.

📥 Input Parameters

stringsql

📤 Return Type

RespInt

🗄 SQL Queries (3)

SQL con insert, update, delete etc.., ignoramos. SQL:
SELECT COUNT(*)
SELECT COUNT(*)FROM (

🔗 External Calls / Used By

Oracle DB

💬 Logic / Comments

Ponemos la sentencia en mayúsculas.
📝 Suggested XML doc comment
/// <summary>
/// Procedimiento que ejecuta una SQL dada (sólo selects) y devuelve el número de rows obtenidas.
/// </summary>
/// <param name="sql">TODO: describe sql</param>
/// <returns>RespInt</returns>
🧪 Suggested unit test stubs (MSTest)
[TestMethod]
        public void Test_ejecutarSQLCUN_ReturnsSuccess()
        {
            // Arrange
            // NOTE: requires Oracle DB connection — configure App.config or mock OracleConnection
            // NOTE: external dependency detected — consider mocking: Oracle DB
            var client = new WSFuncionesGenerales();
            var sql = "test_value";

            // Act
            var result = client.ejecutarSQLCUN(sql);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Exito);
        }

        [TestMethod]
        public void Test_ejecutarSQLCUN_WithInvalidInput_ReturnsFailure()
        {
            // Arrange
            var client = new WSFuncionesGenerales();
            var sql = null;

            // Act
            var result = client.ejecutarSQLCUN(sql);

            // Assert
            Assert.IsFalse(result?.Exito ?? true);
        }

⚙ Internal Functions (1)

Helper methods inside the service implementation — not part of the public contract.

Private / Protected (1)

privateList<DepartamentoEntity>ObtenerDepartamentosPorCodWindows(OracleConnection con, String codWindows)

🗄 All SQL Queries (25)

FileQueryTables
WSFuncionesGenerales.svc.cs
SELECT ad0200.ad74codcentro FROM ad0100,ad0500,ad0200,prgg00
ad0100
WSFuncionesGenerales.svc.cs
UPDATE PRGK00 SET PRGKINDREALIZADO = -1 WHERE CI70ID = :codUsuario AND PRC5CODESTINTERV = :estado
PRGK00
WSFuncionesGenerales.svc.cs
UPDATE PRGK00 SET PRGKINDREALIZADO = -1 WHERE CI21CODPERSONA = :codPersona AND PRC5CODESTINTERV = :estado
PRGK00
WSFuncionesGenerales.svc.cs
select ad74codcentro from pr0400, ad0200 where pr0400.AD02CODDPTO = ad0200.AD02CODDPTO and pr0400.PR04NUMACTPLAN =  :numActPlan
pr0400
WSFuncionesGenerales.svc.cs
SELECT SG63PERSONA_ID,SG63MIFARE_ID,SG63NOM,SG63APE1,SG63APE2,SG63DESDPTO,SG63DESGRUPO,SG63TIPOEVENTO,CI30CODSEXO, SG63CODPERSONAL
WSFuncionesGenerales.svc.cs
SELECT sg63persona_id FROM sg6300,sg0200 WHERE sg6300.sg02cod = sg0200.sg02cod AND sg02codpersonal= :idPersonaRh
sg6300
WSFuncionesGenerales.svc.cs
SELECT SG92PERSONA_ID, SG92MIFARE_ID, SG92NOM, SG92APE1, SG92APE2, AD02CODDPTO, SG92DESDPTO, SG33CODGRUPO, SG92DESGRUPO, SG92TIPOEVENTO, CI30CODSEXO, SG92CODPERSONAL, SG92DNI, SG92FECALTA, SG92FECBAJA
WSFuncionesGenerales.svc.cs
SELECT PR04FECIMG FROM PR0400 WHERE PR04NUMACTPLAN = :numActPlan
PR0400
WSFuncionesGenerales.svc.cs
SELECT SG02CODWINDOWS FROM SG0200 WHERE SG02COD = :sg02Cod
SG0200
WSFuncionesGenerales.svc.cs
SELECT SG02EMAIL FROM SG0200 WHERE SG02CODWINDOWS = :codWindows
SG0200
WSFuncionesGenerales.svc.cs
SELECT SG02COD FROM sg0200 WHERE sg02fecdes = to_char(sysdate,'dd/mm/yyyy')
sg0200
WSFuncionesGenerales.svc.cs
INSERT INTO SG8400 (SG84NUMREG, SG02COD, SG84INDREALIZADO,SG84EVENTO)
SG8400
WSFuncionesGenerales.svc.cs
SELECT  SG02NOM || ' ' || SG02APE1 || ' ' || SG02APE2 AS \"LDAPUSER\" FROM SG0200 WHERE SG02COD = :CodUser
SG0200
WSFuncionesGenerales.svc.cs
SELECT CI21CODPERSONA FROM CI7000 WHERE CI70ID= :idPaciente
CI7000
WSFuncionesGenerales.svc.cs
SELECT AD3.AD02CODDPTO, AD2.AD02DESDPTO FROM AD0300 AD3, AD0200 AD2, SG0200 SG2 WHERE
AD0300
WSFuncionesGenerales.svc.cs
UPDATE GC7300 SET GC73FECHAENVIO = sysdate WHERE GC73NUMREG = :numReg
GC7300
WSFuncionesGenerales.svc.cs
UPDATE FAY300 SET FAY3CODERROR = :codError, FAY3ERROR = :error WHERE FAY3NUMREG = :numReg
FAY300
WSFuncionesGenerales.svc.cs
INSERT INTO GC7300  (GC73NUMREG, GC73FROM, GC73TO, GC73SUBJECT, GC73BODY, GC73ATTACHRUTA, GC73ATTACHFICHERO, GC73INDENVIADO)
GC7300
WSFuncionesGenerales.svc.cs
SELECT GC73NUMREG_SEQUENCE.NEXTVAL AS NextNumReg FROM dual
dual
WSFuncionesGenerales.svc.cs
INSERT INTO GC7300 (GC73NUMREG, GC73FROM, GC73TO, GC73SUBJECT,
GC7300
WSFuncionesGenerales.svc.cs
INSERT INTO GC9300 (GC73NumReg, GC93NUMLINEA, GC93BODY)
GC9300
WSFuncionesGenerales.svc.cs
SELECT PR69CONSULTASQL, PR69CONDICION, PR69MENSAJE, PR69ASUNTO, PR69DESTINATARIO FROM PR6900
PR6900
WSFuncionesGenerales.svc.cs
SQL con insert, update, delete etc.., ignoramos. SQL:
WSFuncionesGenerales.svc.cs
SELECT COUNT(*)
WSFuncionesGenerales.svc.cs
SELECT COUNT(*)FROM (

🧪 Tests

No formal unit tests found. Test project uses console-based manual invocation of each operation. See Suggested Test Stubs in each endpoint card above.