From 328424f2858919db9a9fe21075e846756349a7e7 Mon Sep 17 00:00:00 2001 From: Christian Date: Tue, 28 Jul 2020 14:35:15 -0500 Subject: [PATCH 1/4] Algunos temas de farmaEnlace --- .gitignore | 1 + nb-configuration.xml | 2 +- .../wmp/services/rest/AccionResource.java | 3 +- .../wmp/services/rest/ApplicationConfig.java | 1 + .../services/rest/FarmaenlaceResource.java | 190 ++++++++++++++++++ .../qsoft/wmp/services/util/ServiceUtil.java | 18 +- .../qsoft/wmp/services/xsd/BodyRecetas.java | 62 ++++++ .../wmp/services/xsd/EntradaRecetas.java | 92 +++++++++ .../services/xsd/SalidaAccionFarmaEnlace.java | 78 +++++++ 9 files changed, 444 insertions(+), 3 deletions(-) create mode 100644 .gitignore create mode 100644 src/main/java/com/qsoft/wmp/services/rest/FarmaenlaceResource.java create mode 100644 src/main/java/com/qsoft/wmp/services/xsd/BodyRecetas.java create mode 100644 src/main/java/com/qsoft/wmp/services/xsd/EntradaRecetas.java create mode 100644 src/main/java/com/qsoft/wmp/services/xsd/SalidaAccionFarmaEnlace.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a6f89c2 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target/ \ No newline at end of file diff --git a/nb-configuration.xml b/nb-configuration.xml index 32b40de..8e8a342 100755 --- a/nb-configuration.xml +++ b/nb-configuration.xml @@ -24,6 +24,6 @@ Any value defined here will override the pom.xml file value but is only applicab /scss:/css js/libs - pfv5ee8 + pfv3ee6 diff --git a/src/main/java/com/qsoft/wmp/services/rest/AccionResource.java b/src/main/java/com/qsoft/wmp/services/rest/AccionResource.java index 8d9158f..95924e4 100644 --- a/src/main/java/com/qsoft/wmp/services/rest/AccionResource.java +++ b/src/main/java/com/qsoft/wmp/services/rest/AccionResource.java @@ -15,6 +15,7 @@ import com.qsoft.erp.dominio.exception.DominioExcepcion; import com.qsoft.wmp.services.util.ServiceUtil; import com.qsoft.wmp.services.xsd.EntradaAccion; import com.qsoft.wmp.services.xsd.SalidaAccion; +import java.io.IOException; import java.util.List; import javax.annotation.PostConstruct; import javax.inject.Inject; @@ -118,7 +119,7 @@ public class AccionResource { * @return * @throws DominioExcepcion */ - public SalidaAccion ejecutarAccion(EntradaAccion entrada, EntidadEnum entidad) throws DominioExcepcion { + public SalidaAccion ejecutarAccion(EntradaAccion entrada, EntidadEnum entidad) throws DominioExcepcion, IOException { List resultado = accion.accionGenerica(entrada.getHeaderIn(), entidad, entrada.getBodyIn().getEntidades(), entrada.getBodyIn().getTipoAccion()); String msg = "A continuacion se muestra el resultado de la accion."; HeaderMS header = entrada.getHeaderIn(); diff --git a/src/main/java/com/qsoft/wmp/services/rest/ApplicationConfig.java b/src/main/java/com/qsoft/wmp/services/rest/ApplicationConfig.java index b5523e7..6892342 100644 --- a/src/main/java/com/qsoft/wmp/services/rest/ApplicationConfig.java +++ b/src/main/java/com/qsoft/wmp/services/rest/ApplicationConfig.java @@ -32,6 +32,7 @@ public class ApplicationConfig extends Application { resources.add(com.qsoft.wmp.filter.CorsFilter.class); resources.add(com.qsoft.wmp.services.rest.AccionResource.class); resources.add(com.qsoft.wmp.services.rest.ConsultaResource.class); + resources.add(com.qsoft.wmp.services.rest.FarmaenlaceResource.class); resources.add(com.qsoft.wmp.services.rest.MultipartResource.class); } diff --git a/src/main/java/com/qsoft/wmp/services/rest/FarmaenlaceResource.java b/src/main/java/com/qsoft/wmp/services/rest/FarmaenlaceResource.java new file mode 100644 index 0000000..39186cc --- /dev/null +++ b/src/main/java/com/qsoft/wmp/services/rest/FarmaenlaceResource.java @@ -0,0 +1,190 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.qsoft.wmp.services.rest; + +import com.qsoft.dao.exception.DaoException; +import com.qsoft.erp.constantes.DominioConstantes; +import com.qsoft.erp.constantes.EntidadEnum; +import com.qsoft.erp.dominio.AccionGenerica; +import com.qsoft.erp.dominio.ConsultaGenerica; +import com.qsoft.erp.dominio.exception.DominioExcepcion; +import com.qsoft.erp.dto.PersonaPolizaDTO; +import com.qsoft.util.constantes.CodigoRespuesta; +import com.qsoft.util.constantes.ErrorTipo; +import com.qsoft.util.ms.pojo.HeaderMS; +import com.qsoft.wmp.services.util.ServiceUtil; +import com.qsoft.wmp.services.xsd.EntradaAccion; +import com.qsoft.wmp.services.xsd.EntradaConsulta; +import com.qsoft.wmp.services.xsd.EntradaRecetas; +import com.qsoft.wmp.services.xsd.SalidaAccion; +import com.qsoft.wmp.services.xsd.SalidaAccionFarmaEnlace; +import com.qsoft.wmp.services.xsd.SalidaConsulta; +import java.util.HashMap; + +import java.util.List; +import java.util.Map; +import java.util.UUID; +import java.util.logging.Level; +import java.util.logging.Logger; +import javax.annotation.PostConstruct; +import javax.inject.Inject; +import javax.ws.rs.Consumes; +import javax.ws.rs.GET; +import javax.ws.rs.POST; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; +import javax.ws.rs.core.MediaType; + +/** + * REST Web Service + * + * @author james + */ +@Path("ServicioConvenioExterno") +public class FarmaenlaceResource { + + @Inject + private ConsultaGenerica consulta; + + @Inject + private AccionGenerica accion; + + @PostConstruct + public void postConstructor() { + System.out.println("======> POST CONTRUCTOR " + consulta); + } + + /** + * + * @return an instance of java.lang.String + */ + @GET + @Path("/cedula={cedula}&diagnostico={diagnostico}") + @Produces(MediaType.APPLICATION_JSON) + public Map getJson(@PathParam("cedula") String cedula, + @PathParam("diagnostico") String diagnostico) { + Map mapFarmaenlace = new HashMap(); + + + SalidaConsulta salida = null; + List resultado = null; + String message = "Mensaje OK"; + Boolean status = true; + byte[] bytes = { 'c', 'd' }; + String autorizacion = UUID.nameUUIDFromBytes(bytes).toString().replace("-", ""); + Integer receta = 0; + if (cedula == null || cedula.trim().equals("")) { + salida = ServiceUtil.crearSalidaConsultaError(ErrorTipo.WARNING, CodigoRespuesta.CODIGO_IN_NULO, "La entrada no puede ser nula"); + }else{ + try { + resultado = this.consulta.consultaGet(cedula, diagnostico); + + } catch (DominioExcepcion ex) { + Logger.getLogger(FarmaenlaceResource.class.getName()).log(Level.SEVERE, null, ex); + } catch (DaoException ex) { + Logger.getLogger(FarmaenlaceResource.class.getName()).log(Level.SEVERE, null, ex); + } + } + if(resultado.size()<=0){ + message = "No se encontraron resultados correspondientes a la cedula ".concat(cedula); + status = false; + } + mapFarmaenlace.put("rec_titular", resultado); + Map mapResult = new HashMap(); + mapResult.put("status", status); + mapResult.put("mensaje", message); + mapResult.put("autorizacion", autorizacion); + mapResult.put("receta", 0); + + mapFarmaenlace.put("result", mapResult); + mapFarmaenlace.put("tipo_facturacion", "TOTAL"); + + return mapFarmaenlace; + /** SalidaConsulta salida = ServiceUtil.crearSalidaConsultaError(CodigoRespuesta.CODIGO_ERROR_GENERICO, + "Acción no soportada por favor ejecute la consulta via POST");*/ + } + + /** + * PUT method for updating or creating an instance of ConsultaResource + * + * @param entrada + * @return + */ + @POST + @Path("/Confirmacion_Datos") + @Consumes(MediaType.APPLICATION_JSON) + @Produces(MediaType.APPLICATION_JSON) + public Map postJson(EntradaRecetas entrada) { + Map salida = null; + if (entrada == null) { + //salida = ServiceUtil.crearSalidaAccionError(ErrorTipo.WARNING, CodigoRespuesta.CODIGO_IN_NULO, "La entrada no puede ser nula"); + } else { + //EntidadEnum entidad = Enum.valueOf(EntidadEnum.class, entrada.getBodyIn().getEntidad()); + + try { + + salida = ejecutarAccionFarmaenlace(entrada); + + } catch (DominioExcepcion ex) { + + //salida = ServiceUtil.crearSalidaAccionError(ex.getTipo(), ex.getCodigo(), ex.getMensaje()); + } catch (Exception ex) { + System.out.println("============ ERROR NO CONTROLADO =============="); + ex.printStackTrace(System.err); + String msg = getCauses(ex, new StringBuilder()); + if (msg.contains("Duplicate entry")) { + //salida = ServiceUtil.crearSalidaAccionError(ErrorTipo.ERROR, CodigoRespuesta.CODIGO_ERROR_GUARDA_BDD, "Error el registro " + entrada.getBodyIn().getEntidad() + " ya existe en la Base de datos"); + } else { + //salida = ServiceUtil.crearSalidaAccionError(ErrorTipo.ERROR, CodigoRespuesta.CODIGO_ERROR_GENERICO, "ERROR NO CONTROLADO: " + msg); + } + } + + } + return salida; + } + /** + * @param e + * @param build + * @return + */ + private String getCauses(Throwable e, StringBuilder build) { + build.append("\n").append(e.toString()); + for (Throwable t : e.getSuppressed()) { + System.out.println("SUPRESS =====> " + t); + build.append("\n").append(t.toString()); + getCauses(t, build); + } + System.out.println("CAUSE =====> " + e); + if (e.getCause() != null) { + getCauses(e.getCause(), build); + } + return build.toString(); + } + + /** + * Ejecuta la accion + * + * @param entrada + * @param entidad + * @return + * @throws DominioExcepcion + */ + public Map ejecutarAccionFarmaenlace(EntradaRecetas entrada) throws DominioExcepcion { + //SalidaAccionFarmaEnlace salida = new SalidaAccionFarmaEnlace(); + Map salida = new HashMap(); + try { + Map resultado = accion.accionFarmaenlace(entrada.getReceta(), entrada.getRec_items(), entrada.getRec_facturacion(), entrada.getRec_credito(), entrada.getTipo_facturacion()); + salida = ServiceUtil.crearSalidaAccionOkFarmaenlace(resultado); + + } catch (Exception e) { + } + //String msg = "A continuacion se muestra el resultado de la accion."; + //HeaderMS header = entrada.getHeaderIn(); + //header.setFechaHora(DominioConstantes.getDateTime()); + return salida; + } +} diff --git a/src/main/java/com/qsoft/wmp/services/util/ServiceUtil.java b/src/main/java/com/qsoft/wmp/services/util/ServiceUtil.java index 7e7cdc8..52f51ae 100644 --- a/src/main/java/com/qsoft/wmp/services/util/ServiceUtil.java +++ b/src/main/java/com/qsoft/wmp/services/util/ServiceUtil.java @@ -9,6 +9,7 @@ import com.qsoft.util.constantes.CodigoRespuesta; import com.qsoft.util.constantes.ErrorTipo; import com.qsoft.util.ms.pojo.HeaderMS; import com.qsoft.wmp.services.xsd.SalidaAccion; +import com.qsoft.wmp.services.xsd.SalidaAccionFarmaEnlace; import com.qsoft.wmp.services.xsd.SalidaConsulta; import java.util.List; import java.util.Map; @@ -105,11 +106,25 @@ public class ServiceUtil { /** * Crear salida ok * + * @param * @param header * @param estado * @param data * @return */ + public static Map crearSalidaAccionOkFarmaenlace(Map resultado) { + //SalidaAccionFarmaEnlace salida = new SalidaAccionFarmaEnlace(); + //salida.setStatus((Boolean) resultado.get("status")); + //salida.setMensaje((String) resultado.get("mensaje")); + //salida.setAutorizacion((String) resultado.get("autorizacion")); + //salida.setReceta((Integer) resultado.get("receta")); + + + //return salida; + return resultado; + } + + public static SalidaAccion crearSalidaAccionOk(HeaderMS header, String estado, List data) { SalidaAccion salida = new SalidaAccion(); salida.setHeaderOut(header); @@ -119,6 +134,7 @@ public class ServiceUtil { salida.getBodyOut().setEstado(estado); salida.getBodyOut().setResultados(data); return salida; - } + } + } diff --git a/src/main/java/com/qsoft/wmp/services/xsd/BodyRecetas.java b/src/main/java/com/qsoft/wmp/services/xsd/BodyRecetas.java new file mode 100644 index 0000000..021a34f --- /dev/null +++ b/src/main/java/com/qsoft/wmp/services/xsd/BodyRecetas.java @@ -0,0 +1,62 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package com.qsoft.wmp.services.xsd; + +import java.util.Map; + +/** + * + * @author james + */ +public class BodyRecetas { + + private Integer tipoConsulta; + private Integer maximoRegistros; + private Integer registroInicio; + private String entidad; + private Map parametros; + + public Integer getTipoConsulta() { + return tipoConsulta; + } + + public void setTipoConsulta(Integer tipoConsulta) { + this.tipoConsulta = tipoConsulta; + } + + public Map getParametros() { + return parametros; + } + + public void setParametros(Map parametros) { + this.parametros = parametros; + } + + public String getEntidad() { + return entidad; + } + + public void setEntidad(String entidad) { + this.entidad = entidad; + } + + public Integer getMaximoRegistros() { + return maximoRegistros; + } + + public void setMaximoRegistros(Integer maximoRegistros) { + this.maximoRegistros = maximoRegistros; + } + + public Integer getRegistroInicio() { + return registroInicio; + } + + public void setRegistroInicio(Integer registroInicio) { + this.registroInicio = registroInicio; + } + +} diff --git a/src/main/java/com/qsoft/wmp/services/xsd/EntradaRecetas.java b/src/main/java/com/qsoft/wmp/services/xsd/EntradaRecetas.java new file mode 100644 index 0000000..c802e56 --- /dev/null +++ b/src/main/java/com/qsoft/wmp/services/xsd/EntradaRecetas.java @@ -0,0 +1,92 @@ +/* + * EntradaConsulta.java + * 15 de feb. de 2017 + * Copyright 2017 TCS. + * Todos los derechos reservados. + */ +package com.qsoft.wmp.services.xsd; + +import com.fasterxml.jackson.annotation.JsonAlias; +import com.qsoft.util.ms.pojo.HeaderMS; +import java.io.Serializable; +import java.util.List; +import java.util.Map; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSeeAlso; + +/** + * Entrada del servicio web. + * + * @author jaime Ruales + * @version $1.0$ + */ +@XmlSeeAlso({HeaderMS.class}) +@XmlAccessorType(XmlAccessType.FIELD) +public class EntradaRecetas implements Serializable { + + private static final long serialVersionUID = 8142263336233087792L; + @XmlElement(name = "receta") + @JsonAlias("receta") + private Map receta; + + @XmlElement(name = "rec_items") + @JsonAlias("rec_items") + private List> rec_items; + + @XmlElement(name = "rec_facturacion") + @JsonAlias("rec_facturacion") + private Map rec_facturacion; + + @XmlElement(name = "rec_credito") + @JsonAlias("rec_credito") + private Map rec_credito; + + @XmlElement(name = "tipo_facturacion") + @JsonAlias("tipo_facturacion") + private String tipo_facturacion; + + public Map getReceta() { + return receta; + } + + public void setReceta(Map receta) { + this.receta = receta; + } + + public List> getRec_items() { + return rec_items; + } + + public void setRec_items(List> rec_items) { + this.rec_items = rec_items; + } + + public Map getRec_facturacion() { + return rec_facturacion; + } + + public void setRec_facturacion(Map rec_facturacion) { + this.rec_facturacion = rec_facturacion; + } + + public Map getRec_credito() { + return rec_credito; + } + + public void setRec_credito(Map rec_credito) { + this.rec_credito = rec_credito; + } + + public String getTipo_facturacion() { + return tipo_facturacion; + } + + public void setTipo_facturacion(String tipo_facturacion) { + this.tipo_facturacion = tipo_facturacion; + } + + +} diff --git a/src/main/java/com/qsoft/wmp/services/xsd/SalidaAccionFarmaEnlace.java b/src/main/java/com/qsoft/wmp/services/xsd/SalidaAccionFarmaEnlace.java new file mode 100644 index 0000000..040c226 --- /dev/null +++ b/src/main/java/com/qsoft/wmp/services/xsd/SalidaAccionFarmaEnlace.java @@ -0,0 +1,78 @@ +package com.qsoft.wmp.services.xsd; + +import com.fasterxml.jackson.annotation.JsonAlias; +import com.qsoft.util.ms.pojo.ErrorMS; +import com.qsoft.util.ms.pojo.HeaderMS; +import java.io.Serializable; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSeeAlso; + + +/** + * Salida del Servicio Web. + * + * @author Jaime Ruales. + * @version $1.0$ + */ +@XmlSeeAlso({HeaderMS.class, ErrorMS.class}) +@XmlAccessorType(XmlAccessType.FIELD) +public class SalidaAccionFarmaEnlace implements Serializable { + + private static final long serialVersionUID = 5403227918589158188L; + + @XmlElement(name = "status") + @JsonAlias("status") + protected Boolean status; + + @XmlElement(name = "mensaje") + @JsonAlias("mensaje") + protected String mensaje; + + @XmlElement(name = "autorizacion") + @JsonAlias("autorizacion") + protected String autorizacion; + + @XmlElement(name = "receta") + @JsonAlias("receta") + protected Integer receta; + + public static long getSerialVersionUID() { + return serialVersionUID; + } + + public void setStatus(Boolean status) { + this.status = status; + } + + + public void setMensaje(String mensaje) { + this.mensaje = mensaje; + } + + public String getMensaje() { + return mensaje; + } + + public void setAutorizacion(String autorizacion) { + this.autorizacion = autorizacion; + } + + public String getAutorizacion() { + return autorizacion; + } + + public void setReceta(Integer receta) { + this.receta = receta; + } + + public Integer getReceta() { + return receta; + } + + + + +} From 67a73c63099baaa549d2cab3adcc523d7db6b760 Mon Sep 17 00:00:00 2001 From: james Date: Tue, 4 Aug 2020 10:58:28 -0500 Subject: [PATCH 2/4] Merge remote-tracking branch 'cruales/cruales' --- .gitignore | 1 + src/main/webapp/WEB-INF/web.xml | 16 +++- src/test/java/com/qsoft/test/FactVen.json | 102 ++++++++++++++------- src/test/java/com/qsoft/test/Tester.java | 43 +++++---- src/test/java/com/qsoft/test/salida.json | 48 ++++++++++ src/test/java/com/qsoft/test/testJson.json | 53 +++++++++-- 6 files changed, 198 insertions(+), 65 deletions(-) create mode 100644 .gitignore create mode 100644 src/test/java/com/qsoft/test/salida.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a6f89c2 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target/ \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml index 0635f06..480839e 100644 --- a/src/main/webapp/WEB-INF/web.xml +++ b/src/main/webapp/WEB-INF/web.xml @@ -1,4 +1,16 @@ - - + + + com.qsoft.wmp.services.rest.ApplicationConfig + + jersey.config.server.provider.classnames + org.glassfish.jersey.jackson.JacksonFeature + + 1 + + + com.qsoft.wmp.services.rest.ApplicationConfig + /servicios/* + diff --git a/src/test/java/com/qsoft/test/FactVen.json b/src/test/java/com/qsoft/test/FactVen.json index 118f8db..8e93149 100644 --- a/src/test/java/com/qsoft/test/FactVen.json +++ b/src/test/java/com/qsoft/test/FactVen.json @@ -4,7 +4,7 @@ "canal": null, "medio": null, "aplicacion": "WeERPV1.0", - "tipoTransaccion": "0101151", + "tipoTransaccion": "0101150", "usuario": "james", "uuid": "2e25aed60f2d4c63e33864a638b906f2df987a9b37ce3f8dafde7b565b2a6c41", "fechaHora": "20/05/2020 23:55:36", @@ -14,45 +14,79 @@ }, "bodyIn": { "tipoAccion": 1, - "entidad": "FacturaCompra", + "entidad": "DetalleLiquidacion", "entidades": [ - { - "facEstablecimiento": "001", - "facPtoEmision": "001", - "facSecuencial": "00000001", - "facClaveAcceso": null, - "facAutorizacion": null, - "facTotalDescuentos": null, - "facTotalImpuestos": null, - "facTotalOtros": null, - "facImporte": null, - "facTotal": null, - "facAdelanto": null, - "facPendiente": null, - "facReferencia": null, - "facPropina": null, - "facFechaRegistro": null, - "facFechaAutorizacion": null, - "facDescripcion": null, - "facObservacion": null, - "facDetalle": null, - "facDinamico": "CUANDO SE ADQUIERE SERVICIOS O CONSUMIBLES QUE NO GENERAN ENTRADA SE AGREGA AQUI", - "ejeCodigo": null, - "empCodigo": null, - "proCodigo": 1, + { + "favCodigo": null, + "favEstablecimiento": "001", + "favPtoEmision": "001", + "favSecuencial": "00000095", + "favReferencia": null, + "favClaveAcceso": null, + "favAutorizacion": null, + "favFechaRegistro": null, + "favFechaAutorizacion": null, + "favTotalImpuestos": null, + "favTotalDescuentos": null, + "favAdelanto": null, + "favPendiente": null, + "favTotalOtros": null, + "favPropina": null, + "favImporte": 50.2, + "favTotal": null, + "favDescripcion": null, + "favObservacion": "Factura de prueba", + "favDinamico": null, "detEstado": null, "detTipo": null, + "cliCodigo": 1, + "ejeCodigo": null, + "sucCodigo": null, "usuCodigo": null, + "cliMailNotifica": "test@qsoftec.com", + "favFechaPago": null, + "favFechaEmision": "2020-07-12 13:19:16", "detalle": [ { - "denCantidad": 2.0, - "denPrecioCompra": 89.3, - "denFecProduccion": 1590073789081, - "denFecCaducidad": 1590073789081, - "artCodigo": 1, - "bodCodigo": 1, - "detUnidad": null, - "entCodigo": null + "defOrden": null, + "defCantidad": null, + "defPrecioUnitario": null, + "defValorDescuentos": null, + "defValorImpuestos": null, + "defValorOtros": null, + "defDetalleAd": null, + "defImporte": null, + "defTotal": null, + "defDescripcion": null, + "artCodigo": null, + "impuesto": [ + { + "imfValor": null, + "imfEstado": null, + "rubCodigo": null + } + ], + "descuento": [ + { + "dsfValor": null, + "dsfEstado": null, + "rubCodigo": null + } + ] + } + ], + "impuesto": [ + { + "imfValor": null, + "imfEstado": null, + "rubCodigo": null + } + ], + "descuento": [ + { + "dsfValor": null, + "dsfEstado": null, + "rubCodigo": null } ] } diff --git a/src/test/java/com/qsoft/test/Tester.java b/src/test/java/com/qsoft/test/Tester.java index f1fed12..0b433cd 100644 --- a/src/test/java/com/qsoft/test/Tester.java +++ b/src/test/java/com/qsoft/test/Tester.java @@ -12,7 +12,8 @@ import com.qsoft.erp.dominio.AccionGenerica; import com.qsoft.erp.dto.DocumentoDTO; import com.qsoft.erp.dto.EstadoLiquidacionDTO; import com.qsoft.erp.dto.LiquidacionDTO; -import com.qsoft.erp.dto.PolizaDTO; +import com.qsoft.erp.dto.RetencionDTO; +import com.qsoft.erp.dto.RubroRetenidoDTO; import com.qsoft.wmp.services.rest.AccionResource; import com.qsoft.wmp.services.rest.ConsultaResource; import com.qsoft.wmp.services.xsd.EntradaAccion; @@ -20,6 +21,7 @@ import com.qsoft.wmp.services.xsd.EntradaConsulta; import com.qsoft.wmp.services.xsd.SalidaConsulta; import java.io.IOException; import java.util.ArrayList; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -32,7 +34,7 @@ public class Tester { public static void main(String[] args) throws IOException { System.out.println("TEST " + DominioConstantes.getDateTime()); - testAccionService(); + testAccionService(); //0101154 } public static void testConsultaService() throws IOException { @@ -67,7 +69,7 @@ public class Tester { ObjectMapper maper = new ObjectMapper(); EntradaAccion entrada = new EntradaAccion(); entrada.getBodyIn().setTipoAccion(AccionGenerica.GUARDA); - entrada.getBodyIn().setEntidad(EntidadEnum.DetalleLiquidacion.name()); + entrada.getBodyIn().setEntidad(EntidadEnum.Retencion.name()); List> entidades = new ArrayList<>(); //TODO: agregar entidades entrada.getBodyIn().setEntidades(entidades); @@ -76,24 +78,25 @@ public class Tester { System.out.println("JSON=> " + s); AccionResource ar = new AccionResource(); System.out.println("POSTING...."); - List data = new ArrayList<>(); - PolizaDTO pol = new PolizaDTO(); - pol.setDetTipoIdentificacion(3); - pol.setPerCedulaTitular("1715060073"); - pol.setDetModalidad(25); - pol.setDetPeriodicidad(17200); - pol.setDetFormaPago(23516); - pol.setDetIfi(17205); - pol.setDetSucursalIfi(23484); - pol.setDetPromocion(23584); - pol.setDetTipoCuenta(17187); - pol.setEmpCodigo(2); - pol.setCedulaDebito("1715060012"); - pol.setCuentaDebito("123456789"); - pol.setPolBroker("Asesor CPN"); + List data = new ArrayList<>(); + + RetencionDTO retencion = new RetencionDTO(); + retencion.setRetEstablecimiento("001"); + retencion.setRetPtoEmision("001"); + retencion.setRetSecuencial("00000095"); + retencion.setRetFechaEmision(new Date()); + retencion.setCliCodigo(1); + retencion.setRetTotalRetenido(50.20); + retencion.setRetReferencia("Retencion para factura de prueba"); + + + List detalle = new ArrayList<>(); + + detalle.add(new RubroRetenidoDTO()); + retencion.setDetalle(detalle); + + data.add(retencion); - data.add(pol); - s = maper.writeValueAsString(data); System.out.println("JSON=> " + s); // SalidaAccion salida = ar.postJson(entrada); diff --git a/src/test/java/com/qsoft/test/salida.json b/src/test/java/com/qsoft/test/salida.json new file mode 100644 index 0000000..c76af45 --- /dev/null +++ b/src/test/java/com/qsoft/test/salida.json @@ -0,0 +1,48 @@ +{ + "headerIn": { + "dispositivo": "WeLaptop", + "canal": "01", + "medio": "01", + "aplicacion": "WeMedicalProV1.0", + "tipoTransaccion": "0101110", + "usuario": "james", + "uuid": "ALGUN TOKEN", + "fechaHora": null, + "idioma": null, + "empresa": null, + "geolocalizacion": null + }, + "bodyIn": { + "tipoNotificacion": 1, + "parametros": { + "[ADJUNTO]": "/data/wmp/poliza/PREMIUM-signed.pdf", + "[ASUNTO]": "Bienvenido al servicio de medicina Prepagada de Caridel", + "[CLIENTE]": "EDISON RAMIRO", + "[COBERTURA]": "25000.0", + "[COMPROBANTE]": "POLIZA", + "[EMAIL]": "karito_634@yahoo.es", + "[EMISOR]": "CARIDEL S.A.", + "[EMISOR_MAIL]": "notificaciones@caridelsa.com", + "[EMISOR_WEB]": "http://cpnsalud.caridel.net/", + "[FECHAEMI]": "01/04/2020 23:40:30", + "[IDENTIFICACION]": "1002366654", + "[NUMDOC]": "POL0000000332", + "[PLAN]": "MASIVOS PREMIUN CPN" + }, + "adjuntos": [ + { + "nombre": "archivo1.pdf", + "archivo": "UklGRoJgAABXRUJQVlA4IHZgAADQAwGdASoAAQABPjEUiEKiISEXq+4MIAMEtQBYU7REd+X/vH7S/lv8ndg......." + }, + { + "nombre": "archivo2.txt", + "archivo": "zU4pk7xWlI3KLzi7huKBDIulPve0zFmNc30vUd3a29NIcoHBLRNxzamSywbh1dGBh2drEZI5qvE4WEvRutK5...." + }, + { + "nombre": "archivo3.jpg", + "archivo": "3qwduvkya8kAXnvUbjh4X7oXRWt59pAIq+77Awuqo6CtaYmslelq0WZP9YG69Ons09NkwRKf5KFfEezMo+6VRyzpEln6qTMMUH0..." + } + ] + } +} + diff --git a/src/test/java/com/qsoft/test/testJson.json b/src/test/java/com/qsoft/test/testJson.json index b0ecf0b..c80c8a1 100644 --- a/src/test/java/com/qsoft/test/testJson.json +++ b/src/test/java/com/qsoft/test/testJson.json @@ -4,20 +4,55 @@ "canal": null, "medio": null, "aplicacion": "WeMedicalProV1.0", - "tipoTransaccion": "0101000", + "tipoTransaccion": "0101154", "usuario": "james", - "uuid": "7cbec0b8ec642ddbd7b9b24a35e39b70938d", + "uuid": "4a410b3e2eebc30e865d6935aec3481bb3d394d863b28157d6f06bcc280635bd", "fechaHora": null, "idioma": null, "empresa": null, "geolocalizacion": null }, "bodyIn": { - "maximoRegistros": 10, - "tipoConsulta": 1, - "entidad": "Empresa", - "parametros": { - "tipoNemonico": "COMERC" - } + "tipoAccion": 1, + "entidad": "Retencion", + "entidades": [ + { + "retCodigo": null, + "retEstablecimiento": "001", + "retPtoEmision": "001", + "retSecuencial": "00000095", + "retTotalBase": null, + "retAutorizacion": null, + "retClaveAcceso": null, + "retFechaEmision": "01/07/2019 14:00:25", + "retFechaRegistro": null, + "retFechaAutorizacion": null, + "retTotalRetenido": 50.2, + "retReferencia": "Retencion para factura de prueba", + "retEstado": null, + "detTipo": null, + "facCodigo": null, + "favCodigo": null, + "usuCodigo": null, + "cliCodigo": 1, + "sucCodigo": null, + "proCodigo": null, + "ejeCodigo": null, + "detalle": [ + { + "rucCodigo": null, + "rucImpuesto": null, + "rucCodSri": null, + "rucBase": null, + "rucPorcentaje": null, + "rucRetencion": null, + "rucDescripcion": null, + "rucFechaRegistro": null, + "retCodigo": null, + "rubCodigo": null + } + ] + } + ] } -} \ No newline at end of file +} From 2b2c59ab288a1cfe3fd95f0f03ea2fe95063cbca Mon Sep 17 00:00:00 2001 From: james Date: Fri, 14 Aug 2020 00:23:13 -0500 Subject: [PATCH 3/4] Cambios contables --- src/test/java/com/qsoft/test/Tester.java | 43 +++--- src/test/java/com/qsoft/test/testJson.json | 164 ++++++++++++++++----- 2 files changed, 149 insertions(+), 58 deletions(-) diff --git a/src/test/java/com/qsoft/test/Tester.java b/src/test/java/com/qsoft/test/Tester.java index 0b433cd..cba9688 100644 --- a/src/test/java/com/qsoft/test/Tester.java +++ b/src/test/java/com/qsoft/test/Tester.java @@ -9,11 +9,16 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.qsoft.erp.constantes.DominioConstantes; import com.qsoft.erp.constantes.EntidadEnum; import com.qsoft.erp.dominio.AccionGenerica; +import com.qsoft.erp.dto.DescuentoFacturaDTO; +import com.qsoft.erp.dto.DetalleEntradaDTO; +import com.qsoft.erp.dto.DetalleFacturaDTO; import com.qsoft.erp.dto.DocumentoDTO; import com.qsoft.erp.dto.EstadoLiquidacionDTO; +import com.qsoft.erp.dto.FacturaCompraDTO; +import com.qsoft.erp.dto.FacturaVentaDTO; +import com.qsoft.erp.dto.ImpuestoFacturaDTO; import com.qsoft.erp.dto.LiquidacionDTO; -import com.qsoft.erp.dto.RetencionDTO; -import com.qsoft.erp.dto.RubroRetenidoDTO; +import com.qsoft.erp.model.FacturaCompra; import com.qsoft.wmp.services.rest.AccionResource; import com.qsoft.wmp.services.rest.ConsultaResource; import com.qsoft.wmp.services.xsd.EntradaAccion; @@ -34,9 +39,10 @@ public class Tester { public static void main(String[] args) throws IOException { System.out.println("TEST " + DominioConstantes.getDateTime()); - testAccionService(); //0101154 + testAccionService(); } + public static void testConsultaService() throws IOException { ObjectMapper maper = new ObjectMapper(); EntradaConsulta entrada = new EntradaConsulta(); @@ -69,7 +75,7 @@ public class Tester { ObjectMapper maper = new ObjectMapper(); EntradaAccion entrada = new EntradaAccion(); entrada.getBodyIn().setTipoAccion(AccionGenerica.GUARDA); - entrada.getBodyIn().setEntidad(EntidadEnum.Retencion.name()); + entrada.getBodyIn().setEntidad(EntidadEnum.FacturaCompra.name()); List> entidades = new ArrayList<>(); //TODO: agregar entidades entrada.getBodyIn().setEntidades(entidades); @@ -78,24 +84,23 @@ public class Tester { System.out.println("JSON=> " + s); AccionResource ar = new AccionResource(); System.out.println("POSTING...."); - List data = new ArrayList<>(); + List data = new ArrayList<>(); - RetencionDTO retencion = new RetencionDTO(); - retencion.setRetEstablecimiento("001"); - retencion.setRetPtoEmision("001"); - retencion.setRetSecuencial("00000095"); - retencion.setRetFechaEmision(new Date()); - retencion.setCliCodigo(1); - retencion.setRetTotalRetenido(50.20); - retencion.setRetReferencia("Retencion para factura de prueba"); + FacturaCompraDTO factura = new FacturaCompraDTO(); + factura.setFacEstablecimiento("001"); + factura.setFacPtoEmision("001"); + factura.setFacSecuencial("00000095"); + factura.setFacFechaEmision(new Date()); + factura.setProCodigo(1); + factura.setFacImporte(50.20); + factura.setFacObservacion("Factura de prueba"); + List detalle = new ArrayList<>(); + + detalle.add(new DetalleEntradaDTO()); + factura.setDetalle(detalle); - List detalle = new ArrayList<>(); - - detalle.add(new RubroRetenidoDTO()); - retencion.setDetalle(detalle); - - data.add(retencion); + data.add(factura); s = maper.writeValueAsString(data); System.out.println("JSON=> " + s); diff --git a/src/test/java/com/qsoft/test/testJson.json b/src/test/java/com/qsoft/test/testJson.json index c80c8a1..428b602 100644 --- a/src/test/java/com/qsoft/test/testJson.json +++ b/src/test/java/com/qsoft/test/testJson.json @@ -4,55 +4,141 @@ "canal": null, "medio": null, "aplicacion": "WeMedicalProV1.0", - "tipoTransaccion": "0101154", + "tipoTransaccion": "0101113", "usuario": "james", - "uuid": "4a410b3e2eebc30e865d6935aec3481bb3d394d863b28157d6f06bcc280635bd", + "uuid": "08dd2f23c2503122ac3e915c1352eb694596528eb8996878886188373eff0a90", "fechaHora": null, "idioma": null, "empresa": null, "geolocalizacion": null }, "bodyIn": { - "tipoAccion": 1, - "entidad": "Retencion", - "entidades": [ - { - "retCodigo": null, - "retEstablecimiento": "001", - "retPtoEmision": "001", - "retSecuencial": "00000095", - "retTotalBase": null, - "retAutorizacion": null, - "retClaveAcceso": null, - "retFechaEmision": "01/07/2019 14:00:25", - "retFechaRegistro": null, - "retFechaAutorizacion": null, - "retTotalRetenido": 50.2, - "retReferencia": "Retencion para factura de prueba", - "retEstado": null, - "detTipo": null, - "facCodigo": null, - "favCodigo": null, - "usuCodigo": null, - "cliCodigo": 1, - "sucCodigo": null, - "proCodigo": null, - "ejeCodigo": null, - "detalle": [ + "tipoAccion": 2, + "entidad": "Persona", + "entidades": [{ + "perCodigo": 2, + "detTipoIdentificacion": 3, + "perIdentificacion": "1715060073", + "perApellidos": "Ruales", + "perNombres": "Jaime", + "perFechaNacimiento": "10/07/1980", + "perDireccion": "TEST JAMES", + "perNacionalidad": "Ecuatorianao", + "perMail": "test_updated@qsoftec.com", + "detGenero": 17204, + "locCodigo": "170150", + "telefono": [ { - "rucCodigo": null, - "rucImpuesto": null, - "rucCodSri": null, - "rucBase": null, - "rucPorcentaje": null, - "rucRetencion": null, - "rucDescripcion": null, - "rucFechaRegistro": null, - "retCodigo": null, - "rubCodigo": null + "detTipo": 17208, + "telNumero": "099666777", + "telObservacion": "Cambio Observacion James", + "telEstado": 1, + "telCodigo": 3490 + }, { + "detTipo": 17208, + "telNumero": "023102108", + "telObservacion": "Cambio estado y observacion", + "telEstado": 0, + "telCodigo": 3491 + }, { + "detTipo": 23586, + "telNumero": "091234567", + "telObservacion": "Este es nuevo", + "telEstado": 0, + "telCodigo": 3495 + }, { + "detTipo": 23584, + "telNumero": "33332342", + "telObservacion": "colonavilus", + "telEstado": 0, + "telCodigo": 3496 + }, { + "detTipo": 23584, + "telNumero": "990000002", + "telObservacion": "aglegal", + "telEstado": 0, + "telCodigo": 3497 + }, { + "detTipo": 23584, + "telNumero": "9299", + "telObservacion": "", + "telEstado": 0, + "telCodigo": 3498 + }, { + "detTipo": 23584, + "telNumero": "099666777", + "telObservacion": "no llame nunca please", + "telEstado": 1, + "telCodigo": 3499 + }, { + "detTipo": 17208, + "telNumero": "7381781278", + "telObservacion": "tirate un paso", + "telEstado": 0, + "telCodigo": 3500 + }, { + "detTipo": 23585, + "telNumero": "0999999", + "telObservacion": "enikma build", + "telEstado": 0, + "telCodigo": 3501 + }, { + "detTipo": 17208, + "telNumero": "02222911", + "telObservacion": "casa", + "telEstado": 0, + "telCodigo": 3503 + }, { + "detTipo": 17208, + "telNumero": "02222", + "telObservacion": "SSS", + "telEstado": 0, + "telCodigo": 3504 + }, { + "detTipo": 17208, + "telNumero": "123123", + "telObservacion": "ssaa", + "telEstado": 0, + "telCodigo": 3506 + }, { + "detTipo": 17208, + "telNumero": "02020239911", + "telObservacion": "hola", + "telEstado": 0, + "telCodigo": 3507 + }, { + "detTipo": 23584, + "telNumero": "4546554", + "telObservacion": "ytyutyut", + "telEstado": 0, + "telCodigo": 3510 + }, { + "detTipo": 23586, + "telNumero": "1111", + "telObservacion": "", + "telEstado": 0, + "telCodigo": 3544 + }, { + "detTipo": 23586, + "telNumero": "0992233213", + "telObservacion": "", + "telEstado": 0, + "telCodigo": 3572 + }, { + "detTipo": 23586, + "telNumero": "11111", + "telObservacion": "telefono jaimito", + "telEstado": 1, + "telCodigo": 3573 + }, { + "detTipo": 23585, + "telNumero": "12311", + "telObservacion": "3aaa", + "telEstado": 0, + "telCodigo": 3574 } ] } ] } -} +} \ No newline at end of file From db1150dfec83ca49977d81aa5d979903fe6d8bd4 Mon Sep 17 00:00:00 2001 From: james Date: Thu, 3 Sep 2020 09:24:10 -0500 Subject: [PATCH 4/4] Cambios finales --- .../wmp/services/rest/ConsultaResource.java | 4 +- src/test/java/com/qsoft/test/testJson.json | 144 ++---------------- 2 files changed, 17 insertions(+), 131 deletions(-) diff --git a/src/main/java/com/qsoft/wmp/services/rest/ConsultaResource.java b/src/main/java/com/qsoft/wmp/services/rest/ConsultaResource.java index 1687889..ad1cfb3 100644 --- a/src/main/java/com/qsoft/wmp/services/rest/ConsultaResource.java +++ b/src/main/java/com/qsoft/wmp/services/rest/ConsultaResource.java @@ -13,6 +13,7 @@ import com.qsoft.erp.dominio.ConsultaGenerica; import com.qsoft.erp.dominio.exception.DominioExcepcion; import com.qsoft.erp.dominio.util.AuditoriaUtil; import com.qsoft.wmp.services.util.ServiceUtil; +import com.qsoft.wmp.services.xsd.BodyEntradaConsulta; import com.qsoft.wmp.services.xsd.EntradaConsulta; import com.qsoft.wmp.services.xsd.SalidaConsulta; import java.util.List; @@ -82,8 +83,9 @@ public class ConsultaResource { // this.auditoria.AddAuditoria(dto); try { List resultado = null; + BodyEntradaConsulta body = entrada.getBodyIn(); resultado = consulta.consultaGenerica(entrada.getHeaderIn(), entrada.getBodyIn().getEntidad(), - entrada.getBodyIn().getParametros(), entrada.getBodyIn().getMaximoRegistros(), entrada.getBodyIn().getTipoConsulta()); + body.getParametros(), body.getMaximoRegistros(), body.getRegistroInicio(), body.getTipoConsulta()); HeaderMS header = entrada.getHeaderIn(); header.setFechaHora(DominioConstantes.getDateTime()); diff --git a/src/test/java/com/qsoft/test/testJson.json b/src/test/java/com/qsoft/test/testJson.json index 428b602..fcfedd7 100644 --- a/src/test/java/com/qsoft/test/testJson.json +++ b/src/test/java/com/qsoft/test/testJson.json @@ -4,141 +4,25 @@ "canal": null, "medio": null, "aplicacion": "WeMedicalProV1.0", - "tipoTransaccion": "0101113", - "usuario": "james", - "uuid": "08dd2f23c2503122ac3e915c1352eb694596528eb8996878886188373eff0a90", + "tipoTransaccion": "0101110", + "usuario": "1715060073", + "uuid": "483983e305e3a278255bc5e95942ee35d48b9b2c58fea756d3d234f3695ce198", "fechaHora": null, "idioma": null, "empresa": null, "geolocalizacion": null }, "bodyIn": { - "tipoAccion": 2, - "entidad": "Persona", - "entidades": [{ - "perCodigo": 2, - "detTipoIdentificacion": 3, - "perIdentificacion": "1715060073", - "perApellidos": "Ruales", - "perNombres": "Jaime", - "perFechaNacimiento": "10/07/1980", - "perDireccion": "TEST JAMES", - "perNacionalidad": "Ecuatorianao", - "perMail": "test_updated@qsoftec.com", - "detGenero": 17204, - "locCodigo": "170150", - "telefono": [ - { - "detTipo": 17208, - "telNumero": "099666777", - "telObservacion": "Cambio Observacion James", - "telEstado": 1, - "telCodigo": 3490 - }, { - "detTipo": 17208, - "telNumero": "023102108", - "telObservacion": "Cambio estado y observacion", - "telEstado": 0, - "telCodigo": 3491 - }, { - "detTipo": 23586, - "telNumero": "091234567", - "telObservacion": "Este es nuevo", - "telEstado": 0, - "telCodigo": 3495 - }, { - "detTipo": 23584, - "telNumero": "33332342", - "telObservacion": "colonavilus", - "telEstado": 0, - "telCodigo": 3496 - }, { - "detTipo": 23584, - "telNumero": "990000002", - "telObservacion": "aglegal", - "telEstado": 0, - "telCodigo": 3497 - }, { - "detTipo": 23584, - "telNumero": "9299", - "telObservacion": "", - "telEstado": 0, - "telCodigo": 3498 - }, { - "detTipo": 23584, - "telNumero": "099666777", - "telObservacion": "no llame nunca please", - "telEstado": 1, - "telCodigo": 3499 - }, { - "detTipo": 17208, - "telNumero": "7381781278", - "telObservacion": "tirate un paso", - "telEstado": 0, - "telCodigo": 3500 - }, { - "detTipo": 23585, - "telNumero": "0999999", - "telObservacion": "enikma build", - "telEstado": 0, - "telCodigo": 3501 - }, { - "detTipo": 17208, - "telNumero": "02222911", - "telObservacion": "casa", - "telEstado": 0, - "telCodigo": 3503 - }, { - "detTipo": 17208, - "telNumero": "02222", - "telObservacion": "SSS", - "telEstado": 0, - "telCodigo": 3504 - }, { - "detTipo": 17208, - "telNumero": "123123", - "telObservacion": "ssaa", - "telEstado": 0, - "telCodigo": 3506 - }, { - "detTipo": 17208, - "telNumero": "02020239911", - "telObservacion": "hola", - "telEstado": 0, - "telCodigo": 3507 - }, { - "detTipo": 23584, - "telNumero": "4546554", - "telObservacion": "ytyutyut", - "telEstado": 0, - "telCodigo": 3510 - }, { - "detTipo": 23586, - "telNumero": "1111", - "telObservacion": "", - "telEstado": 0, - "telCodigo": 3544 - }, { - "detTipo": 23586, - "telNumero": "0992233213", - "telObservacion": "", - "telEstado": 0, - "telCodigo": 3572 - }, { - "detTipo": 23586, - "telNumero": "11111", - "telObservacion": "telefono jaimito", - "telEstado": 1, - "telCodigo": 3573 - }, { - "detTipo": 23585, - "telNumero": "12311", - "telObservacion": "3aaa", - "telEstado": 0, - "telCodigo": 3574 - } - ] + "tipoConsulta": 1, + "entidad": "Liquidacion", + "parametros": { + "Liquidacion": { + "liqCodigo": "235", + "estados": [{ + "usuCodigo": 1 + }] } - ] + } } -} \ No newline at end of file +} +