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/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/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/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 9ea92cb..d7817a7 100644
--- a/src/main/java/com/qsoft/wmp/services/util/ServiceUtil.java
+++ b/src/main/java/com/qsoft/wmp/services/util/ServiceUtil.java
@@ -15,6 +15,7 @@ import com.qsoft.util.ms.pojo.HeaderMS;
import com.qsoft.wmp.services.xsd.SalidaAccion;
import com.qsoft.wmp.services.xsd.SalidaConsulta;
import java.util.List;
+import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -111,11 +112,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