From d7bde6c5fa636efa6db4616edbe9460c0ac81167 Mon Sep 17 00:00:00 2001 From: Ricardo Santos Date: Wed, 2 Jul 2014 19:30:45 +0000 Subject: [PATCH] git-svn-id: https://svn.coded.pt/svn/SIPRP@1955 bb69d46d-e84e-40c8-a05a-06db0d633741 --- .../beans/FichaExchangeBean.java | 12 +- .../logic/FichasClinicasLogic.java | 145 +++++++++++++++++- .../webservices/jaxrs/FichasClinicasImpl.java | 8 +- 3 files changed, 153 insertions(+), 12 deletions(-) diff --git a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/beans/FichaExchangeBean.java b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/beans/FichaExchangeBean.java index b15cdf2f..ed9e8ed6 100644 --- a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/beans/FichaExchangeBean.java +++ b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/beans/FichaExchangeBean.java @@ -13,9 +13,9 @@ import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaAntecedentesPess import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaAntecedentesPessoaisCirurgiasBeanData; import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaAntecedentesPessoaisFracturasBeanData; import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaAntecedentesPessoaisInternamentosBeanData; +import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaAptidaoBeanData; import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaBeanData; import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaClassificacaoIndividualSaudeBeanData; -import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaConclusoesBeanData; import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaDoencasActivasBeanData; import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaEsquemaVacinalBeanData; import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaExameObjectivoBeanData; @@ -58,6 +58,8 @@ public class FichaExchangeBean { private FcFichaProblemasSolucoesBeanData problemasSolucoes; private FcFichaInformacaoPeriodicaBeanData informacaoPeriodica; + + private FcFichaAptidaoBeanData aptidao; @@ -233,6 +235,14 @@ public class FichaExchangeBean { this.informacaoPeriodica = informacaoPeriodica; } + public FcFichaAptidaoBeanData getAptidao() { + return aptidao; + } + + public void setAptidao(FcFichaAptidaoBeanData aptidao) { + this.aptidao = aptidao; + } + diff --git a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/logic/FichasClinicasLogic.java b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/logic/FichasClinicasLogic.java index b6be2d19..bd2fffbb 100644 --- a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/logic/FichasClinicasLogic.java +++ b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/logic/FichasClinicasLogic.java @@ -32,6 +32,7 @@ import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaAntecedentesPess import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaAntecedentesPessoaisCirurgiasBeanData; import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaAntecedentesPessoaisFracturasBeanData; import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaAntecedentesPessoaisInternamentosBeanData; +import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaAptidaoBeanData; import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaBeanData; import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaClassificacaoIndividualSaudeBeanData; import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaDoencasActivasBeanData; @@ -57,6 +58,7 @@ import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaAntecedentesPesso import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaAntecedentesPessoaisData; import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaAntecedentesPessoaisFracturasData; import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaAntecedentesPessoaisInternamentosData; +import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaAptidaoData; import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaClassificacaoIndividualSaudeData; import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaConclusoesData; import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaData; @@ -110,6 +112,8 @@ public class FichasClinicasLogic private static final String[] FcFichaHabitos_D_to_B ; private static final String[] FcFichaProblemasSolucoes_D_to_B ; private static final String[] FcFichaInformacaoPeriodica_D_to_B ; + + private static final String[] FcFichaAptidao_D_to_B ; static { @@ -233,12 +237,19 @@ public class FichasClinicasLogic tmp.addAll(Arrays.asList(FcFichaInformacaoPeriodicaData.FIELD_NAMES)); tmp.add(FcFichaInformacaoPeriodicaData.ID); tmp.removeAll(fieldsToClean); - FcFichaInformacaoPeriodica_D_to_B = tmp.toArray(new String[]{}); + FcFichaInformacaoPeriodica_D_to_B = tmp.toArray(new String[]{}); + + tmp.clear(); + tmp.addAll(Arrays.asList(FcFichaAptidaoData.FIELD_NAMES)); + tmp.add(FcFichaAptidaoData.ID); + tmp.removeAll(fieldsToClean); + FcFichaAptidao_D_to_B = tmp.toArray(new String[]{}); } private static final String ADM_COD = "ADMISSAO"; - private static final String PER_INI_COD = "PERIODICA_INICIAL "; + private static final String PER_INI_COD = "PERIODICA_INICIAL"; + private static final String PER_COD = "PERIODICA"; private static final String OCA_COD = "OCASIONAL"; private static final String OCA_PREFIX = "OC_"; private static final String ENF_COD = "ENFERMAGEM"; @@ -1444,16 +1455,134 @@ public class FichasClinicasLogic public EvoResponseBean getFichaAptidao(EvoUsrUserData user, Integer fichaID) { - // TODO Auto-generated method stub - return null; + EvoResponseBean result = new EvoResponseBean(); + if(user != null) + { + try + { + FcFichaData fichaBD = fichasProvider.getFicha(fichaID); + + + FichaExchangeBean data = new FichaExchangeBean(); + + FcFichaBeanData fichaBean = new FcFichaBeanData(); + + fichaBean.setMapData(fichaBD.getPropertiesValues(FcFicha_D_to_B)); + data.setFicha(fichaBean); + + + FcTipoFicha tipo_ficha = fichaBD.toTipo_ficha_id(); + if(tipo_ficha != null) + { + if + ( + ADM_COD.equalsIgnoreCase(tipo_ficha.getCodigo()) || + PER_INI_COD.equalsIgnoreCase(tipo_ficha.getCodigo()) || + PER_COD.equalsIgnoreCase(tipo_ficha.getCodigo()) + ) + { + + + FcFichaConclusoesData cr = fichaBD.toConclusoes_id(); + if(cr != null) + { + FcFichaConclusoesBeanDataExt crBean = new FcFichaConclusoesBeanDataExt(); + crBean.setMapData(cr.getPropertiesValues(FcFichaConclusoes_D_to_B)); + crBean.fillComputedRadios(); + data.setConclusoesResumo(crBean); + } + + + FcFichaAptidaoData ap = fichaBD.toAptidao_id(); + if(ap != null) + { + FcFichaConclusoesBeanDataExt crBean = new FcFichaConclusoesBeanDataExt(); + crBean.setMapData(ap.getPropertiesValues(FcFichaAptidao_D_to_B)); + crBean.fillComputedRadios(); + data.setConclusoesResumo(crBean); + } + else + { + data.setAptidao(new FcFichaAptidaoBeanData()); + } + + } + else + { + + } + + result.setSuccess(true); + result.setData(data); + } + else + { + + result.setSuccess(false); + EvoMessageBean msg = new EvoMessageBean(); + msg.setType(EvoMessageTypeBean.ERROR); + msg.setMessageData("Ficha inválida!"); + result.addMessage(msg); + } + } + catch(Exception ex) + { + result.setSuccess(false); + EvoMessageBean msg = new EvoMessageBean(); + msg.setType(EvoMessageTypeBean.ERROR); + msg.setMessageData("Erro ao comunicar com a Base de dados!"); + result.addMessage(msg); + ErrorLogger.logException(ex, Level.SEVERE); + } + } + else + { + result.setSuccess(false); + EvoMessageBean msg = new EvoMessageBean(); + msg.setType(EvoMessageTypeBean.SESSIONTIMEOUT); + msg.setMessageData("Utilizador asssociado à sessão inválido/inexistente!"); + result.addMessage(msg); + } + return result; } - public EvoResponseBean saveFichaAptidao(EvoUsrUserData user, FichaExchangeBean ficha) - { - // TODO Auto-generated method stub - return null; + public EvoResponseBean saveFichaAptidao(EvoUsrUserData user, FichaExchangeBean fichaBean) + { + EvoResponseBean result = new EvoResponseBean(); + + try{ + FcFichaData fichaBD = fichasProvider.getFicha(fichaBean.getFicha().getId()); + + if(fichaBean.getAptidao() != null ) + { + FcFichaAptidaoData fd = null; + if(fichaBean.getAptidao().getId() != null) + { + fd = fichaBD.toAptidao_id(); + } + if(fd == null) + { + fd = new FcFichaAptidaoData(); + fd.setCreated_user_name(user.getName()); + fd.setCreated_user_id(user.getId()); + } + fd.setHashData(filtra(fichaBean.getActividade().getMapData(),FcFichaActividade_D_to_B)); + fichaBD.setToAptidao_id(fd); + } + } + catch(Exception ex) + { + result.setSuccess(false); + EvoMessageBean msg = new EvoMessageBean(); + msg.setType(EvoMessageTypeBean.ERROR); + msg.setMessageData("Erro ao comunicar com a Base de dados!"); + result.addMessage(msg); + ErrorLogger.logException(ex, Level.SEVERE); + } + + return result; } diff --git a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxrs/FichasClinicasImpl.java b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxrs/FichasClinicasImpl.java index e82f463e..072d14f6 100644 --- a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxrs/FichasClinicasImpl.java +++ b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxrs/FichasClinicasImpl.java @@ -157,7 +157,7 @@ public class FichasClinicasImpl { String login = (String) auth.get("user"); String pass = (String) auth.get("pass"); - EvoResponseBean rsp = new EvoResponseBean(); + EvoResponseBean rsp = new EvoResponseBean(); EvoMessageBean mb = new EvoMessageBean(); rsp.addMessage(mb); @@ -222,7 +222,7 @@ public class FichasClinicasImpl { @Path("/checkLogin") @Produces(MediaType.APPLICATION_JSON) public Response checkLogin(@Context HttpServletRequest req) { - EvoResponseBean rsp = new EvoResponseBean(); + EvoResponseBean rsp = new EvoResponseBean(); EvoMessageBean mb = new EvoMessageBean(); rsp.addMessage(mb); @@ -280,7 +280,7 @@ public class FichasClinicasImpl { @Path("/doLogout") @Produces(MediaType.APPLICATION_JSON) public Response doLogout(@Context HttpServletRequest req) { - EvoResponseBean rsp = new EvoResponseBean(); + EvoResponseBean rsp = new EvoResponseBean(); EvoMessageBean mb = new EvoMessageBean(); rsp.addMessage(mb); @@ -331,6 +331,8 @@ public class FichasClinicasImpl { DirectoryFileUtils dff = new DirectoryFileUtils(); //TODO: check the alternative to getRealPath + + @SuppressWarnings("deprecation") String basePath = req.getRealPath("/static/html/app"); File baseFolder = new File(basePath);