diff --git a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/logic/FichasClinicasLogic.java b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/logic/FichasClinicasLogic.java index 534fc8cc..fd89df97 100644 --- a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/logic/FichasClinicasLogic.java +++ b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/logic/FichasClinicasLogic.java @@ -42,7 +42,10 @@ import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaExameObjectivoBe import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaHabitosBeanData; import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaInformacaoPeriodicaBeanData; import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaProblemasSolucoesBeanData; +import shst.medicina.fichasclinicas.beans.fichasclinicas.FcHabitosAlcoolicosBeanData; import shst.medicina.fichasclinicas.beans.fichasclinicas.FcMotivosBeanData; +import shst.medicina.fichasclinicas.beans.fichasclinicas.FcParecerBeanData; +import shst.medicina.fichasclinicas.beans.fichasclinicas.FcPeriodicidadeExameBeanData; import shst.medicina.fichasclinicas.beans.fichasclinicas.TrbEstadoCivilBeanData; import shst.medicina.fichasclinicas.beans.fichasclinicas.TrbHabilitacoesBeanData; import shst.medicina.fichasclinicas.beans.shst.EmpresasBeanData; @@ -73,6 +76,7 @@ import shst.medicina.fichasclinicas.data.fichasclinicas.FcMotivosData; import shst.medicina.fichasclinicas.data.fichasclinicas.FcTipoFichaData; import shst.medicina.fichasclinicas.data.fichasclinicas.TrbEstadoCivilData; import shst.medicina.fichasclinicas.data.fichasclinicas.TrbHabilitacoesData; +import shst.medicina.fichasclinicas.data.fichasclinicas.inner.FcHabitosTabagicos; import shst.medicina.fichasclinicas.data.fichasclinicas.inner.FcTipoFicha; import shst.medicina.fichasclinicas.data.shst.EmpresasData; import shst.medicina.fichasclinicas.data.shst.EstabelecimentosData; @@ -781,6 +785,8 @@ public class FichasClinicasLogic { try { + + FichaExchangeBean bean = new FichaExchangeBean(); FcFichaData ficha = null; if(fichaID != null) @@ -792,14 +798,14 @@ public class FichasClinicasLogic ficha = fichasProvider.getLastFicha(trabalhadorID); } - FichaExchangeBean bean = new FichaExchangeBean(); + FichaComposedBean fichaBean = null; if(null == ficha) { TrabalhadoresData trab = fichasProvider.getTrabalhador(user.getId(), trabalhadorID, false); if(trab != null) { - FichaComposedBean fichaBean = new FichaComposedBean(); + fichaBean = new FichaComposedBean(); FcFichaBeanData dadosTrabalhador = new FcFichaBeanData(); dadosTrabalhador.setTrabalhador_id(trab.getId()); @@ -823,6 +829,7 @@ public class FichasClinicasLogic dadosTrabalhador.setEmpresa_ramo_actividade(empresa.getActividade()); } } + dadosTrabalhador.setTipo_ficha_id(fichaTipoID); fichaBean.setFicha(dadosTrabalhador); bean.setFichaData(fichaBean); @@ -830,9 +837,17 @@ public class FichasClinicasLogic } else { - FichaComposedBean fichaBean = loadFicha(ficha, null==fichaID); + fichaBean = loadFicha(ficha, null==fichaID); + if(null==fichaID) + { + fichaBean.getFicha().setTipo_ficha_id(fichaTipoID); + } bean.setFichaData(fichaBean); } + + bean.setFieldsData(loadRenderData(fichaBean.getFicha().getTipo_ficha_id())); + + result.setData(bean); } catch(Exception ex) @@ -1467,6 +1482,75 @@ public class FichasClinicasLogic } + private FichaRenderDataBean loadRenderData(Integer typoID) throws Exception + { + FcTipoFichaData tipo_ficha = fichasProvider.getTipoFichaByID(typoID); + + FichaRenderDataBean resData = new FichaRenderDataBean(); + + + if(tipo_ficha != null) + { + if(ADM_COD.equalsIgnoreCase(tipo_ficha.getCodigo()) || PER_INI_COD.equalsIgnoreCase(tipo_ficha.getCodigo())) + { + { + List in_list = fichasProvider.getHabilitacoes(); + List out_list = new LinkedList(); + for(TrbHabilitacoesData in : in_list) + { + TrbHabilitacoesBeanData out = new TrbHabilitacoesBeanData(); + out.setMapData(in.getPropertiesValues(new String[]{TrbHabilitacoesData.ID,TrbHabilitacoesData.CODIGO,TrbHabilitacoesData.DESCRICAO,TrbHabilitacoesData.TEM_INFO_EXTRA})); + out_list.add(out); + } + resData.setHabilitacoes(out_list); + } + { + List in_list = fichasProvider.getEstadosCivis(); + List out_list = new LinkedList(); + for(TrbEstadoCivilData in : in_list) + { + TrbEstadoCivilBeanData out = new TrbEstadoCivilBeanData(); + out.setMapData(in.getPropertiesValues(new String[]{TrbEstadoCivilData.ID,TrbEstadoCivilData.CODIGO,TrbEstadoCivilData.DESCRICAO})); + out_list.add(out); + } + resData.setEstadosCivis(out_list); + } + } + else if( OCA_COD.equalsIgnoreCase(tipo_ficha.getCodigo()) || ENF_COD.equalsIgnoreCase(tipo_ficha.getCodigo()) || MDC_COD.equalsIgnoreCase(tipo_ficha.getCodigo()) ) + { + List in_list = null; + if( OCA_COD.equalsIgnoreCase(tipo_ficha.getCodigo()) ) + { + in_list = fichasProvider.getMotivos(OCA_PREFIX); + } + else + { + in_list = fichasProvider.getMotivos(MDC_ENF_PREFIX); + } + List out_list = new LinkedList(); + for(FcMotivosData in : in_list) + { + FcMotivosBeanData out = new FcMotivosBeanData(); + out.setMapData(in.getPropertiesValues(new String[]{FcMotivosData.ID,FcMotivosData.CODIGO,FcMotivosData.DESCRICAO,FcMotivosData.PRECISA_DETALHE})); + out_list.add(out); + } + resData.setMotivos(out_list); + } + + +// List habitosTabagicos = new +// private List habitosAlcoolicos; +// private List perioridadesExame; +// private List pareceres; + + + } + + return resData; + } + + + public EvoResponseBean getDadosFichaFromBD( EvoUsrUserData user, Integer tipoFichaID) { EvoResponseBean result = new EvoResponseBean();