Herramientas de usuario

Herramientas del sitio


ada:konectanominaelectronica

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
ada:konectanominaelectronica [2022/03/03 21:22]
192.168.177.70
ada:konectanominaelectronica [2023/08/08 19:55] (actual)
192.168.175.87
Línea 18: Línea 18:
         </​validation> ​         </​validation> ​
 </​datasource> ​ </​datasource> ​
 +
 +**INTEGRACION:​**
 +<​datasource jta="​true"​ jndi-name="​java:/​INTEGRACION"​ pool-name="​INTEGRACION"​ enabled="​true"​ use-ccm="​true"> ​
 +    <​connection-url>​jdbc:​oracle:​thin:​@ip:​puertp:​servicename</​connection-url>​
 +    <​driver>​OracleJDBCDriver</​driver> ​
 +        <​security>​
 +            <​user-name>​PEDIRLO A QUIEN CORRESPONDA</​user-name> ​
 +            <​password>​PEDIRLO A QUIEN CORRESPONDA</​password>​
 +        </​security> ​
 +        <​validation>​
 +            <​valid-connection-checker class- name="​org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"/>​
 +            <​stale-connection-checker class- name="​org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker"/>​
 +            <​exception-sorter class-name="​org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"/>​
 +        </​validation> ​
 +</​datasource> ​
 +
 +**CONFIGFENEDS:​**
 +<​datasource jta="​true"​ jndi-name="​java:/​INTEGRACION"​ pool-name="​INTEGRACION"​ enabled="​true"​ use-ccm="​true"> ​
 +    <​connection-url>​jdbc:​oracle:​thin:​@ip:​puertp:​servicename</​connection-url>​
 +    <​driver>​OracleJDBCDriver</​driver> ​
 +        <​security>​
 +            <​user-name>​PEDIRLO A QUIEN CORRESPONDA</​user-name> ​
 +            <​password>​PEDIRLO A QUIEN CORRESPONDA</​password>​
 +        </​security> ​
 +        <​validation>​
 +            <​valid-connection-checker class- name="​org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"/>​
 +            <​stale-connection-checker class- name="​org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker"/>​
 +            <​exception-sorter class-name="​org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"/>​
 +        </​validation> ​
 +</​datasource> ​
 +
 +**Crear el driver:**
 +<driver name="​OracleJDBCDriver"​ module="​com.oracle"> ​
 +    <​driver-class>​oracle.jdbc.OracleDriver</​driver-class>​
 +</​driver>​
 +
 +**CONFIGURACIONES ESPECIALES 1/1**
 +En la ruta definida por la propiedad de sistema creada en el standalone.xml (CONFIG_PATH),​ crear una carpeta en la ruta adafe_home/​com/​ada/​adafe/​certificado,​ y asegurarse que el usuario que ejecuta el servidor tiene acceso de escritura.
 +En esa ruta se almacenará la información de los clientes de nómina.
 +Una vez terminadas las configuraciones desplegar el artefacto NominaElectronica.war en el servidor wildfly.
 +
 +
 +**BASE DE DATOS DE CONFIGURACIÓN**
 +Nómina Electrónica usa tablas de configuración alimentadas por otras aplicaciones,​ para acceder a ellas, tal como se explica en la sección anterior, se utilizan los datasources configurados en el servidor a través de la aplicación apiRestConfig.
 +Es importante recordar que las credenciales proporcionadas para los datasources tengan acceso a todos los schemas requeridos.
 +En esta sección se detallan los campos claves para el correcto funcionamiento de los servicios web que Nómina Electrónica publica para su consumo.
 +TABLA INTEGRACION.TBL_FE_CONEXION_CLIENTE
 +En esta tabla se almacena la información relevante a los datos necesarios para que el cliente interactúe con la DIAN y el software pueda acceder a los datos de los empleados del cliente.
 +Cada cliente tiene su cadena de conexión a base de datos guardada en esta tabla, y el software dinámicamente utiliza la cadena de conexión para acceder a los datos del cliente.
 +Los campos NE_URL, NEV_URL y NUMERACION_URL hacen referencia a dianWsRest y deben tener la siguiente estructura:
 +|
 +|CAMPO||VALOR||
 +|-
 +|NE_URL||URL_WSREST/​dianWsRest/​v1/​nomina||
 +|-
 +|NEV_URL||URL_WSREST/​dianWsRest/​v1/​habilitacion||
 +|-
 +|NUMERACION_URL||URL_WSREST/​dianWsRest/​v1/​numeracion||
 +|
 +
 +Donde URL_WSREST es la url donde se ha desplegado dianWsRest.war
 +Por ejemplo, si dianWsRest.war se ha desplegado en el mismo servidor donde se va a desplegar Nómina y el servidor está accesible en la IP 127.0.0.1 puerto 8080, los valores serían:
 +
 +|
 +|NE_URL||http://​127.0.0.1:​8080/​dianWsRest/​v1/​nomina||
 +|-
 +|NEV_URL||http://​127.0.0.1:​8080/​dianWsRest/​v1/​habilitacion||
 +|-
 +|NUMERACION_URL||http://​127.0.0.1:​8080/​dianWsRest/​v1/​numeracion||
 +|
 +
 +**SERVICIOS PUBLICADOS**
 +
 +**nomina/​NominaGeneral**
 +"/​nomina/​NominaGeneral/​{codigoCliente}/​{codigoMEmpresa}/​{periodo}/​{tipoArchivo}"​ Servicio para enviar a la DIAN las nóminas de todos los empleados del cliente de un
 +determinado periodo.
 +
 +Ejemplo de uso:
 +
 +http://​10.1.140.102:​8081/​NominaElectronica/​nomina/​NominaGeneral/​ADA_TESTNE/​9999999999/​202004/​1/​
 +codigoCliente =ADA_TESTNE ​
 +codigoMEmpresa = 9999999999 ​
 +periodo = 202004
 +tipoArchivo = 1
 +
 +**NominaIndividual**
 +"/​nomina/​NominaIndividual/​{codigoCliente}/​{codigoMEmpresa}/​{periodo}/​{tipoArchivo} /​{codigoEmpleado}"​
 +Servicio para enviar la nómina de un empleado en específico.
 +
 +Ejemplo de uso: 
 +http://​10.1.140.102:​8081/​NominaElectronica/​nomina/​NominaIndividual/​ADA_TESTNE/​9999999999/​202004/​1/​10
 +codigoCliente =ADA_TESTNE ​
 +codigoMEmpresa = 9999999999 ​
 +periodo = 202004
 +tipoArchivo = 1 
 +codigoEmpleado = 10
 +
 +NominaDeAjuste
 +"/​nomina/​NominaDeAjuste/​{codigoCliente}/​{codigoMEmpresa}/​{periodo}/​{tipoArchivo} ​
 +Servicio para modificar o eliminar las nóminas de los empleados preparados en la base de datos
 +
 +Ejemplo de uso:
 +http://​10.1.140.102:​8081/​NominaElectronica/​nomina/​NominaDeAjuste/​ADA_TESTNE/​9999999999/​202001/​2
 +codigoCliente =ADA_TESTNE ​
 +codigoMEmpresa = 9999999999 ​
 +periodo = 202001
 +tipoArchivo = 2
 +
 +**ValidarCliente**
 +"/​nomina/​ValidarCliente/​{codigoCliente}/​{codigoMEmpresa}/​{periodo}/​{tipoArchivo}/​{validaciones}"​
 +Servicio para realizar la habilitación en la DIAN de un cliente, donde el parámetro validaciones indica el número de nóminas a enviar para obtener la habilitación.
 +
 +Ejemplo de uso:
 +http://​10.1.140.102:​8081/​NominaElectronica/​nomina/​ValidarCliente/​METROPARQUES_NE/​9999999999/​202109/​1/​ 5
 +codigoCliente = METROPARQUES_NE ​
 +codigoMEmpresa = 9999999999 ​
 +periodo = 202109
 +tipoArchivo = 1
 +validaciones = 5
 +
 +**testCliente**
 +"/​nomina/​testCliente/​{codigoCliente}"​
 +Servicio que realiza un chequeo de que toda la información del cliente está bien configurada y es accesible.
 +Se realizan las siguientes comprobaciones:​
 +- El código del cliente existe en la tabla de configuración:​ tblFeConexionCliente ADA_TESTNE: OK El cliente existe en la tabla de certificados:​ feCertificateInfo 800167494: OK
 +- El archivo con las rutas a la información del certificado existe: propiedadesCliente:​ OK
 +- El certificado del cliente existe: CFX_CRIPTO : EXISTE OK
 +- Se hace una firma de un xml vacio para comprobar que las claves funcionan: FIRMA EXITOSA OK
 +- Se intenta conectar a la base de datos del cliente: ​
 +  CONEXION A LA BASE DE DATOS DEL CLIENTE EXITOSA OK Se comprueba que el servicio de envío a la DIAN es accesible: ​
 +  CONEXION dianWsRest EXITOSA OK:
 +      {\"​estadoTx\":​true,​\"​msg\":​null,​\"​codigoHttp\":​200,​\"​fechaOperacion\":​1646340020,​ \"​objectResponse\":​\"​V 1.0.0\",​\"​lstObjectResponse\":​null}"​
 +
 +Ejemplo de uso:
 +http://​10.1.140.102:​8081/​NominaElectronica/​nomina/​testCliente/​ADA_TESTNE
 +codigoCliente = ADA_TESTNE
 +
 +
 +**RETORNO DE LOS SERVICIOS**
 +
 +Todos los servicios retornan la misma estructura json:
 +
 +|
 +|CAMPO||TIPO||DESCRIPCION||
 +|-
 +|estadoTx||BOOLEAN||Cierto si el proceso ha terminado correctamente.||
 +|-
 +|mag||STRING||Mensaje de error.||
 +|-
 +|codigoHttp||NUMERIC||Código HTTP devuelto por la DIAN o interno del software en caso de no poder enviar la nómina a la DIAN.||
 +|-
 +|fechaOperacion||STRING||Fecha y hora del evento.||
 +|-
 +|numeroEnvio||NUMERIC||Número único del envío.||
 +|-
 +|lstObjectResponse||STRING||Lista de empleados que han generado error.
 +|
 +
 +
 +**Ejemplo exitoso:**
 +{
 +"​estadoTx":​ true, "​msg":​ "",​ "​codigoHttp":​ 0,
 +"​numeroEnvio":​ 221231102745,​
 +    "​fechaOperacion":​ "​2021-12-31T15:​27:​45.269+0000",​
 +    "​lstObjectResponse":​ ""​
 +}
 +
 +**Ejemplo fallido, con una nómina errónea:**
 +
 +{
 +"​estadoTx":​ false,
 +"​msg":​ "Error XML DIAN",
 +"​codigoHttp":​ 307,
 +"​numeroEnvio":​ 221231104011,​
 +"​fechaOperacion":​ "​2021-12-31T15:​40:​11.895+0000",​ "​lstObjectResponse":​ "​15"​
 +}
 +
 +**Ejemplo fallido, varias nóminas erróneas:​**
 +
 +{
 +"​estadoTx":​ false,
 +"​msg":​ "Error XML DIAN", "​codigoHttp":​ 307, "​numeroEnvio":​ 221231104149,​
 +"​fechaOperacion":​ "​2021-12-31T15:​41:​49.265+0000",​
 +    "​lstObjectResponse":​ "​10-13-15-8778-8979-9332-9398-11715-12744"​
 +}
 +
 +
 +**LOG Y BASE DE DATOS**
 +
 +Cada vez que se realiza un envío de una nómina se almacena la información en la tabla NOMINA.NE_ENVIADOS_WS cuyos campos son:
 +
 +|
 +|CAMPO||TIPO||DESCRIPCION||
 +|-
 +|ID||NUMERIC||Identificador de la tabla.||
 +|-
 +|PERIODO||VARCHAR||Periodo de generación del xml.||
 +|-
 +|NIT_CLIENTE||NUMERIC||NIT del cliente.||
 +|-
 +|CODIGO_EMPLEADO||NUMERIC||Código del empleado. Puede ser nulo si el error se produce antes de la generación del xml.||
 +|-
 +|FECHA_ENVIO||TIMESTAMP||Fecha y hora de generación del registro.||
 +|-
 +|NUMERO_PREDECESOR||VARCHAR||Consecutivo del xml, se almacena para su uso en caso de tener que generar una nómina de ajuste.||
 +|-
 +|CUNE_PREDECESOR||VARCHAR||CUNE del xml, se almacena para su uso en caso de tener que generar una nómina de ajuste.||
 +|-
 +|FECHA_GENERACION_PREDECESOR||TIMESTAMP||Fecha de generación del xml, se almacena para su uso en caso de tener que generar una nómina de ajuste.||
 +|-
 +|TIPO_ARCHIVO||VARCHAR||Tipo de archivo del xml.||
 +|-
 +|TIPO_NOTA||VARCHAR||Tipo de nota del xml.||
 +|-
 +|ERROR||NUMERIC||Identificador del error. 0 = Sin error.1 = Error durante el proceso de generación del xml 2 = Error de la DIAN||
 +|-
 +|TIPO_XML||NUMERIC||Tipo de xml.||
 +|-
 +|CODIGO_EMPRESA||VARCHAR||Código multiempresa del cliente.||
 +|FECHA_REGISTRO||TIMESTAMP||Fecha y hora de generación del registro.||
 +|USUARIO_REGISTRO||VARCHAR||Usuario que genera el registro.||
 +|CLOB_XML||VARCHAR||Xml enviado a la DIAN||
 +|-
 +|NUMERO_ENVIO||NUMERIC||Número de envío único por transmisión||
 +|
 +
 +El Sistema cuenta con una herramienta de configuración que le permite subir los certificados de seguridad y esta compuesta por dos artefactos:
 +- confiFactura (Sistenma WEB).
 +- apiRestConfig (Paquete de Servicios)
 +
 +
 +**confiFactura**
 +Tiene los siguientes componentes:​
 +- Login
 +  El login esta asociado a las siguientes tablas del sistema era:
 +  - TBL_FE_CONEXION_CLIENTE_USER
 +  - TBL_USUARIOS
 +
 +NOTA: Configuración a realizar en la base de datos centralizada
 +  * Tener presente que este login debe estar creado para el CODIGO_CLIENTE que va utilizar NE es decir (PRUEBAS_NE_PROD) debe ser diferente al de FE, inicialmente se debe crear en la tabla TBL_FE_CONEXION_CLIENTE_USER se puede realizar desde la macro con el script 1119
 +  * El usuario debe estar creado en el módulo de presupuesto.
 +  * La clave por defecto es: 12345678 del usuario creado para acceder al portal de configuración que se encuentra en la url 10.1.40.189:​8080
 +  * para insertar los datos en la tabla TBL_USUARIOS se debe ejecutar el siguiente insert
 +
 +En el insert solo se deben modificar los campos denominados ​
 +  * login_usuario_ppto = login con el cual el usuario ingresa al modulo de presupuesto
 +  * Cargo_usser_ppto = cargo relacionado al usuario en presupuesto
 +  * cod_inter_usser_ppto = codigo interno de la tabla usuarios para la aplicacion 1
 +  * cod_cliente_para_ne = codigo cliente que va utilizar NE el cual ya fue previamente denominado en TBL_FE_CONEXION_CLIENTE_USER ​
 +
 +<code sql>
 +
 +INSERT INTO INTEGRACION.TBL_USUARIOS
 +(USER_LOGIN,​USER_PASSWORD,​NOMBRE,​EMAIL,​CODIGO_ROL,​FECHA_REGISTRO,​CODIGO_USUARIO_SICOF,​CONFIG_NAME_FE)
 +VALUES (
 +'​login_usuario_ppto',​
 +'​fa585d89c851dd338a70dcf535aa2a92fee7836dd6aff1226583e88e0996293f16bc009c652826e0fc5c706695a03cddce372f139eff4d13959da6f1f5d3eabe',​
 +'​Cargo_usser_ppto',​
 +NULL,
 +'​USUARIO',​
 +SYSDATE,
 +'​cod_inter_usser_ppto',​
 +'​cod_cliente_para_ne'​)
 +
 +</​code>​
 +
 +
 +{{:​ada:​login.png?​400|}}
 +
 +- Lista de empresas
 +  Una ves ingresa el sistema le muestra la lista de empresas a las que el usuario logueado tiene permisos de configrar
 +{{:​ada:​listempre.png?​400|}}
 +  ​
 +- Configuracion del Certificado
 +  Aqui el usuario debe ingresar información acerca del proveedor del certificado y fechas de vigencia como lo solicita el formulario asociado:
 +{{:​ada:​certifi.png?​400|}}
 +
 +- Configuracion del Archivo
 +  Aqui el usuario selecciona el archivo que contiene el certificado de seguridad para subirlo al sistema
 +{{:​ada:​infofile.png?​400|}}
 +
 +Una vez realizado ese proceso el sistema esta preparado y se puede validar mediante el uso del servicio validado ya descrito en este documento.
 +
 +**apiRestConfig**
 +
 +Este artefacto de software es quien provee de servicios al sistema anterior el cual debe estar desplegado en el mismo servidor y se debe garantizar la configuración del datasourse CONFIGFENEDS el cual esta descrito al inicio de este documento.
 +Ademas de esto es necesario que exista la carpeta configPath con la siguiente información:​
 +{{:​ada:​config_1.png?​400|}}
 +
 +{{:​ada:​archivo_1.png?​400|}}
 +
 +{{:​ada:​data_1.png?​400|}}
 +Aqui se configura las rutas físicas donde se encuentra el directorio adafe_home.
 +
 +Ademas se debe garantizar la carpeta image este en el directorio de adafe_home:
 +{{:​ada:​image.png?​400|}}
 +
 +
 +**Anexo Técnico Nomina Electronica**
 +{{ :​ada:​anexotecniconominaelectronica.pdf |}}
  
ada/konectanominaelectronica.1646342574.txt.gz · Última modificación: 2022/03/03 21:22 por 192.168.177.70