diff --git a/trunk/SiprpWebFichasClinicas/WebContent/WEB-INF/web.xml b/trunk/SiprpWebFichasClinicas/WebContent/WEB-INF/web.xml index 36eae161..6a235cc9 100644 --- a/trunk/SiprpWebFichasClinicas/WebContent/WEB-INF/web.xml +++ b/trunk/SiprpWebFichasClinicas/WebContent/WEB-INF/web.xml @@ -8,6 +8,18 @@ metadata-complete="false" > SIPRP Fichas Clinicas + + + + + + CorsFilter + org.apache.catalina.filters.CorsFilter + + + CorsFilter + /* + @@ -98,6 +110,7 @@ + diff --git a/trunk/SiprpWebFichasClinicas/build/app.properties b/trunk/SiprpWebFichasClinicas/build/app.properties index 9d918ff3..814eaeba 100644 Binary files a/trunk/SiprpWebFichasClinicas/build/app.properties and b/trunk/SiprpWebFichasClinicas/build/app.properties differ diff --git a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/beans/EvoMessageTypeBean.class b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/beans/EvoMessageTypeBean.class index 8ba5d9a7..b83c1a3a 100644 Binary files a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/beans/EvoMessageTypeBean.class and b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/beans/EvoMessageTypeBean.class differ diff --git a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/beans/EvoResponseBean.class b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/beans/EvoResponseBean.class index c6116b4c..73fe4709 100644 Binary files a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/beans/EvoResponseBean.class and b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/beans/EvoResponseBean.class differ diff --git a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/beans/FichaResumeBean.class b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/beans/FichaResumeBean.class new file mode 100644 index 00000000..30e3e52e Binary files /dev/null and b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/beans/FichaResumeBean.class differ diff --git a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/beans/TrabalhadorResumeBean.class b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/beans/TrabalhadorResumeBean.class new file mode 100644 index 00000000..38320f24 Binary files /dev/null and b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/beans/TrabalhadorResumeBean.class differ diff --git a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/beans/fichasclinicas/inner/FcFichaAntecedentesOcupacionaisDoencasProfissionaisBean.class b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/beans/fichasclinicas/inner/FcFichaAntecedentesOcupacionaisDoencasProfissionaisBean.class index 7d3dc47b..d810228c 100644 Binary files a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/beans/fichasclinicas/inner/FcFichaAntecedentesOcupacionaisDoencasProfissionaisBean.class and b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/beans/fichasclinicas/inner/FcFichaAntecedentesOcupacionaisDoencasProfissionaisBean.class differ diff --git a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/beans/fichasclinicas/inner/FcFichaBean.class b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/beans/fichasclinicas/inner/FcFichaBean.class index 0d462530..c4e0be4c 100644 Binary files a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/beans/fichasclinicas/inner/FcFichaBean.class and b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/beans/fichasclinicas/inner/FcFichaBean.class differ diff --git a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/beans/fichasclinicas/inner/package.xml b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/beans/fichasclinicas/inner/package.xml index 1b57d218..13a62848 100644 --- a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/beans/fichasclinicas/inner/package.xml +++ b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/beans/fichasclinicas/inner/package.xml @@ -568,6 +568,16 @@ + + + + + + + + + + @@ -1524,12 +1534,12 @@ - - + + - - + + diff --git a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/data/fichasclinicas/inner/FcFicha.class b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/data/fichasclinicas/inner/FcFicha.class index bcf80b37..09486aa7 100644 Binary files a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/data/fichasclinicas/inner/FcFicha.class and b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/data/fichasclinicas/inner/FcFicha.class differ diff --git a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/data/fichasclinicas/inner/FcFichaAntecedentesOcupacionaisDoencasProfissionais.class b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/data/fichasclinicas/inner/FcFichaAntecedentesOcupacionaisDoencasProfissionais.class index 6a85923c..b0d4a18a 100644 Binary files a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/data/fichasclinicas/inner/FcFichaAntecedentesOcupacionaisDoencasProfissionais.class and b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/data/fichasclinicas/inner/FcFichaAntecedentesOcupacionaisDoencasProfissionais.class differ diff --git a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/data/fichasclinicas/inner/FcTipoFicha.class b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/data/fichasclinicas/inner/FcTipoFicha.class index 7bee8c70..c964b930 100644 Binary files a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/data/fichasclinicas/inner/FcTipoFicha.class and b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/data/fichasclinicas/inner/FcTipoFicha.class differ diff --git a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/data/fichasclinicas/inner/package.xml b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/data/fichasclinicas/inner/package.xml index d9cd23ab..cee61494 100644 --- a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/data/fichasclinicas/inner/package.xml +++ b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/data/fichasclinicas/inner/package.xml @@ -568,6 +568,16 @@ + + + + + + + + + + @@ -1524,12 +1534,12 @@ - - + + - - + + diff --git a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/logic/LoginLogic.class b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/logic/LoginLogic.class new file mode 100644 index 00000000..4a96e221 Binary files /dev/null and b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/logic/LoginLogic.class differ diff --git a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservice/FichasClinicasWS.class b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservice/FichasClinicasWS.class deleted file mode 100644 index d9bb7f44..00000000 Binary files a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservice/FichasClinicasWS.class and /dev/null differ diff --git a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservice/FichasClinicasWSImpl.class b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservice/FichasClinicasWSImpl.class deleted file mode 100644 index bc8eb186..00000000 Binary files a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservice/FichasClinicasWSImpl.class and /dev/null differ diff --git a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/FichasClinicas.class b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/IFichasClinicas.class similarity index 86% rename from trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/FichasClinicas.class rename to trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/IFichasClinicas.class index 25a9d5d7..991b5a4a 100644 Binary files a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/FichasClinicas.class and b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/IFichasClinicas.class differ diff --git a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/ILogin.class b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/ILogin.class new file mode 100644 index 00000000..eff638a7 Binary files /dev/null and b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/ILogin.class differ diff --git a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/jaxrs/FichasClinicas.class b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/jaxrs/FichasClinicas.class index 25da0ad2..0acc26c9 100644 Binary files a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/jaxrs/FichasClinicas.class and b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/jaxrs/FichasClinicas.class differ diff --git a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/jaxrs/FichasClinicasImpl.class b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/jaxrs/FichasClinicasImpl.class index 05f5a0ab..b5691c99 100644 Binary files a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/jaxrs/FichasClinicasImpl.class and b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/jaxrs/FichasClinicasImpl.class differ diff --git a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/jaxrs/JSONSQLDateSerializer.class b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/jaxrs/JSONSQLDateSerializer.class new file mode 100644 index 00000000..7c658629 Binary files /dev/null and b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/jaxrs/JSONSQLDateSerializer.class differ diff --git a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/jaxrs/JSONSQLDateSerializerModule$1.class b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/jaxrs/JSONSQLDateSerializerModule$1.class new file mode 100644 index 00000000..e6717d4f Binary files /dev/null and b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/jaxrs/JSONSQLDateSerializerModule$1.class differ diff --git a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/jaxrs/JSONSQLDateSerializerModule.class b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/jaxrs/JSONSQLDateSerializerModule.class new file mode 100644 index 00000000..5e996f51 Binary files /dev/null and b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/jaxrs/JSONSQLDateSerializerModule.class differ diff --git a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/jaxrs/ObjectMapperResolver.class b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/jaxrs/ObjectMapperResolver.class index 0bb372c3..0cdda40c 100644 Binary files a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/jaxrs/ObjectMapperResolver.class and b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/jaxrs/ObjectMapperResolver.class differ diff --git a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/jaxrs/RestAppConfig.class b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/jaxrs/RestAppConfig.class index d60d3821..29fc0441 100644 Binary files a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/jaxrs/RestAppConfig.class and b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/jaxrs/RestAppConfig.class differ diff --git a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/jaxws/FichasClinicas.class b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/jaxws/FichasClinicas.class index 797a18b2..e078e593 100644 Binary files a/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/jaxws/FichasClinicas.class and b/trunk/SiprpWebFichasClinicas/build/shst/medicina/fichasclinicas/webservices/jaxws/FichasClinicas.class differ diff --git a/trunk/SiprpWebFichasClinicas/build/siprp_fichasclinicas.properties b/trunk/SiprpWebFichasClinicas/build/siprp_fichasclinicas.properties index 9ec83335..cfbb8078 100644 --- a/trunk/SiprpWebFichasClinicas/build/siprp_fichasclinicas.properties +++ b/trunk/SiprpWebFichasClinicas/build/siprp_fichasclinicas.properties @@ -1,4 +1,4 @@ -#Tue, 22 Apr 2014 18:47:35 +0100 +#Tue, 29 Apr 2014 17:33:15 +0100 -timestamp=2014/04/22 18\:47 +timestamp=2014/04/29 17\:33 user=rsantos diff --git a/trunk/SiprpWebFichasClinicas/dist/siprp_fichasclinicas.jar b/trunk/SiprpWebFichasClinicas/dist/siprp_fichasclinicas.jar index 1d2a5a6b..474d7d99 100644 Binary files a/trunk/SiprpWebFichasClinicas/dist/siprp_fichasclinicas.jar and b/trunk/SiprpWebFichasClinicas/dist/siprp_fichasclinicas.jar differ diff --git a/trunk/SiprpWebFichasClinicas/dist/siprp_fichasclinicas.war b/trunk/SiprpWebFichasClinicas/dist/siprp_fichasclinicas.war index d9785da9..215efc40 100644 Binary files a/trunk/SiprpWebFichasClinicas/dist/siprp_fichasclinicas.war and b/trunk/SiprpWebFichasClinicas/dist/siprp_fichasclinicas.war differ diff --git a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/beans/EvoMessageTypeBean.java b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/beans/EvoMessageTypeBean.java index 451ad214..960627ff 100644 --- a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/beans/EvoMessageTypeBean.java +++ b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/beans/EvoMessageTypeBean.java @@ -6,7 +6,8 @@ public enum EvoMessageTypeBean INFO("INFO"), QUESTION("QUESTION"), WARNING("WARNING"), - SECURITYEXCEPTION("SECURITYEXCEPTION"); + SECURITYEXCEPTION("SECURITYEXCEPTION"), + SESSIONTIMEOUT("SESSIONTIMEOUT"); private final String type; diff --git a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/beans/EvoResponseBean.java b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/beans/EvoResponseBean.java index f2d3ea13..b7be2d1b 100644 --- a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/beans/EvoResponseBean.java +++ b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/beans/EvoResponseBean.java @@ -5,16 +5,16 @@ import java.util.List; public class EvoResponseBean { - private boolean sucess; + private boolean success; private Object data; private List messages = new LinkedList(); - public boolean isSucess() { - return sucess; + public boolean isSuccess() { + return success; } - public void setSucess(boolean sucess) { - this.sucess = sucess; + public void setSuccess(boolean sucess) { + this.success = sucess; } public Object getData() { diff --git a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/beans/FichaResumeBean.java b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/beans/FichaResumeBean.java new file mode 100644 index 00000000..6b042134 --- /dev/null +++ b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/beans/FichaResumeBean.java @@ -0,0 +1,71 @@ +package shst.medicina.fichasclinicas.beans; + +import java.util.Date; + + +public class FichaResumeBean +{ + + private int id; + + private Date data; + + private String tipo; + + private String responsavel; + + private boolean editable; + + private boolean concluido; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public Date getData() { + return data; + } + + public void setData(Date data) { + this.data = data; + } + + public String getTipo() { + return tipo; + } + + public void setTipo(String tipo) { + this.tipo = tipo; + } + + public String getResponsavel() { + return responsavel; + } + + public void setResponsavel(String responsavel) { + this.responsavel = responsavel; + } + + public boolean isEditable() { + return editable; + } + + public void setEditable(boolean editable) { + this.editable = editable; + } + + public boolean isConcluido() { + return concluido; + } + + public void setConcluido(boolean concluido) { + this.concluido = concluido; + } + + + +} diff --git a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/beans/TrabalhadorResumeBean.java b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/beans/TrabalhadorResumeBean.java new file mode 100644 index 00000000..25917347 --- /dev/null +++ b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/beans/TrabalhadorResumeBean.java @@ -0,0 +1,35 @@ +package shst.medicina.fichasclinicas.beans; + +import java.util.List; + +import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaBeanData; + +public class TrabalhadorResumeBean +{ + private FcFichaBeanData dadosTrabalhador; + + private List fichas; + + public FcFichaBeanData getDadosTrabalhador() + { + return dadosTrabalhador; + } + + public void setDadosTrabalhador(FcFichaBeanData dadosTrabalhador) + { + this.dadosTrabalhador = dadosTrabalhador; + } + + public List getFichas() + { + return fichas; + } + + public void setFichas(List fichas) + { + this.fichas = fichas; + } + + + +} diff --git a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/beans/fichasclinicas/inner/FcFichaAntecedentesOcupacionaisDoencasProfissionaisBean.java b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/beans/fichasclinicas/inner/FcFichaAntecedentesOcupacionaisDoencasProfissionaisBean.java index 59796777..e15a66c4 100644 --- a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/beans/fichasclinicas/inner/FcFichaAntecedentesOcupacionaisDoencasProfissionaisBean.java +++ b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/beans/fichasclinicas/inner/FcFichaAntecedentesOcupacionaisDoencasProfissionaisBean.java @@ -20,8 +20,8 @@ public class FcFichaAntecedentesOcupacionaisDoencasProfissionaisBean implements private Integer deleted_user_id; private String deleted_user_name; private Integer antecedentes_ocupacionais_id; - private Boolean suspeitada; - private Boolean declarada; + private String suspeitada; + private String declarada; private Date data_suspeita; private Date data_declaracao; @@ -39,8 +39,8 @@ public class FcFichaAntecedentesOcupacionaisDoencasProfissionaisBean implements setDeleted_user_id( (Integer)map.get( "deleted_user_id") ); setDeleted_user_name( (String)map.get( "deleted_user_name") ); setAntecedentes_ocupacionais_id( (Integer)map.get( "antecedentes_ocupacionais_id") ); - setSuspeitada( (Boolean)map.get( "suspeitada") ); - setDeclarada( (Boolean)map.get( "declarada") ); + setSuspeitada( (String)map.get( "suspeitada") ); + setDeclarada( (String)map.get( "declarada") ); setData_suspeita( (Date)map.get( "data_suspeita") ); setData_declaracao( (Date)map.get( "data_declaracao") ); } @@ -143,22 +143,22 @@ public class FcFichaAntecedentesOcupacionaisDoencasProfissionaisBean implements this.antecedentes_ocupacionais_id = antecedentes_ocupacionais_id; } - public Boolean getSuspeitada() + public String getSuspeitada() { return this.suspeitada; } - public void setSuspeitada(Boolean suspeitada) + public void setSuspeitada(String suspeitada) { this.suspeitada = suspeitada; } - public Boolean getDeclarada() + public String getDeclarada() { return this.declarada; } - public void setDeclarada(Boolean declarada) + public void setDeclarada(String declarada) { this.declarada = declarada; } diff --git a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/beans/fichasclinicas/inner/FcFichaBean.java b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/beans/fichasclinicas/inner/FcFichaBean.java index f7e6f3f6..f95b974a 100644 --- a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/beans/fichasclinicas/inner/FcFichaBean.java +++ b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/beans/fichasclinicas/inner/FcFichaBean.java @@ -60,6 +60,8 @@ public class FcFichaBean implements Serializable private Integer doencas_activas_id; private Integer antecedentes_familiares_id; private String motivo_detalhe; + private Date data_conclusao; + private Integer tipo_ficha_id; public FcFichaBean() { @@ -115,6 +117,8 @@ public class FcFichaBean implements Serializable setDoencas_activas_id( (Integer)map.get( "doencas_activas_id") ); setAntecedentes_familiares_id( (Integer)map.get( "antecedentes_familiares_id") ); setMotivo_detalhe( (String)map.get( "motivo_detalhe") ); + setData_conclusao( (Date)map.get( "data_conclusao") ); + setTipo_ficha_id( (Integer)map.get( "tipo_ficha_id") ); } public Map getMapData() @@ -168,6 +172,8 @@ public class FcFichaBean implements Serializable map.put( "doencas_activas_id", getDoencas_activas_id() ); map.put( "antecedentes_familiares_id", getAntecedentes_familiares_id() ); map.put( "motivo_detalhe", getMotivo_detalhe() ); + map.put( "data_conclusao", getData_conclusao() ); + map.put( "tipo_ficha_id", getTipo_ficha_id() ); return map; } @@ -651,5 +657,25 @@ public class FcFichaBean implements Serializable this.motivo_detalhe = motivo_detalhe; } + public Date getData_conclusao() + { + return this.data_conclusao; + } + + public void setData_conclusao(Date data_conclusao) + { + this.data_conclusao = data_conclusao; + } + + public Integer getTipo_ficha_id() + { + return this.tipo_ficha_id; + } + + public void setTipo_ficha_id(Integer tipo_ficha_id) + { + this.tipo_ficha_id = tipo_ficha_id; + } + } diff --git a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/beans/fichasclinicas/inner/package.xml b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/beans/fichasclinicas/inner/package.xml index 1b57d218..13a62848 100644 --- a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/beans/fichasclinicas/inner/package.xml +++ b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/beans/fichasclinicas/inner/package.xml @@ -568,6 +568,16 @@ + + + + + + + + + + @@ -1524,12 +1534,12 @@ - - + + - - + + diff --git a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/data/fichasclinicas/inner/FcFicha.java b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/data/fichasclinicas/inner/FcFicha.java index 6e25ffab..a2fc9100 100644 --- a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/data/fichasclinicas/inner/FcFicha.java +++ b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/data/fichasclinicas/inner/FcFicha.java @@ -149,6 +149,12 @@ public class FcFicha extends com.evolute.entity.evo.EvoDataObject LAZY_LOADED_OBJECTS = new java.util.HashMap< String, Boolean >(); @@ -208,6 +214,9 @@ public class FcFicha extends com.evolute.entity.evo.EvoDataObjectfromFcFicha_tipo_ficha_id() + { + java.util.List result = new java.util.LinkedList< shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaData >(); + if ( getPrimaryKey() != null ) + { + try + { + result = fromReference( shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaData.class , getPrimaryKey().getMap().get("id"), "tipo_ficha_id" ); + } + catch( com.evolute.entity.evo.EvoDataException edex ) + { + throw new RuntimeException( edex ); + } + } + return result; + } + public Timestamp getCreated_stamp() { try diff --git a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/data/fichasclinicas/inner/package.xml b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/data/fichasclinicas/inner/package.xml index d9cd23ab..cee61494 100644 --- a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/data/fichasclinicas/inner/package.xml +++ b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/data/fichasclinicas/inner/package.xml @@ -568,6 +568,16 @@ + + + + + + + + + + @@ -1524,12 +1534,12 @@ - - + + - - + + diff --git a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/logic/FichasClinicasLogic.java b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/logic/FichasClinicasLogic.java index 1bc48f61..0cc20c8b 100644 --- a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/logic/FichasClinicasLogic.java +++ b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/logic/FichasClinicasLogic.java @@ -26,4 +26,6 @@ public class FichasClinicasLogic } return instance; } + + //TODO mover a logica dos ws para aki ... } diff --git a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/logic/LoginLogic.java b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/logic/LoginLogic.java new file mode 100644 index 00000000..7b67046d --- /dev/null +++ b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/logic/LoginLogic.java @@ -0,0 +1,6 @@ +package shst.medicina.fichasclinicas.logic; + +public class LoginLogic +{ + //public boolean doLogin(String username, String password, ) +} diff --git a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/FichasClinicas.java b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/IFichasClinicas.java similarity index 96% rename from trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/FichasClinicas.java rename to trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/IFichasClinicas.java index 3f70b19a..720ba774 100644 --- a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/FichasClinicas.java +++ b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/IFichasClinicas.java @@ -5,7 +5,7 @@ import shst.medicina.fichasclinicas.beans.FichaEMCurativaEnfBean; import shst.medicina.fichasclinicas.beans.FichaEOcasionalBean; import shst.medicina.fichasclinicas.beans.FichaEPeriodicoBean; -public interface FichasClinicas { +public interface IFichasClinicas { public T getEmpresas(String filter); diff --git a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/ILogin.java b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/ILogin.java new file mode 100644 index 00000000..9b1a6055 --- /dev/null +++ b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/ILogin.java @@ -0,0 +1,23 @@ +package shst.medicina.fichasclinicas.webservices; + +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.ws.rs.core.Response; + + +public interface ILogin { + + //T doLogin(Map auth); + + //T checkLogin(); + + //T doLogout(); + + Response doLogin(HttpServletRequest req, Map auth); + + Response checkLogin(HttpServletRequest req); + + Response doLogout(HttpServletRequest req); + +} diff --git a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxrs/FichasClinicas.java b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxrs/FichasClinicas.java index 8cabd394..c8a574dd 100644 --- a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxrs/FichasClinicas.java +++ b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxrs/FichasClinicas.java @@ -2,9 +2,10 @@ package shst.medicina.fichasclinicas.webservices.jaxrs; import javax.ws.rs.core.Response; -import shst.medicina.fichasclinicas.beans.FichaEAdmissaoInicialBean; +import shst.medicina.fichasclinicas.webservices.IFichasClinicas; +import shst.medicina.fichasclinicas.webservices.ILogin; -public interface FichasClinicas extends shst.medicina.fichasclinicas.webservices.FichasClinicas +public interface FichasClinicas extends IFichasClinicas, ILogin { } \ No newline at end of file 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 21b58fe7..ac2ea623 100644 --- a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxrs/FichasClinicasImpl.java +++ b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxrs/FichasClinicasImpl.java @@ -2,9 +2,15 @@ package shst.medicina.fichasclinicas.webservices.jaxrs; +import java.sql.Timestamp; import java.util.Collection; +import java.util.HashMap; import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import javax.servlet.http.HttpServletRequest; import javax.ws.rs.Consumes; import javax.ws.rs.DefaultValue; import javax.ws.rs.GET; @@ -12,6 +18,7 @@ import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; +import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; @@ -26,6 +33,8 @@ import shst.medicina.fichasclinicas.beans.FichaEAdmissaoInicialBean; import shst.medicina.fichasclinicas.beans.FichaEMCurativaEnfBean; import shst.medicina.fichasclinicas.beans.FichaEOcasionalBean; import shst.medicina.fichasclinicas.beans.FichaEPeriodicoBean; +import shst.medicina.fichasclinicas.beans.FichaResumeBean; +import shst.medicina.fichasclinicas.beans.TrabalhadorResumeBean; import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaAbsentismoBeanData; import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaActividadeBeanData; import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaAntecedentesFamiliaresBeanData; @@ -41,16 +50,41 @@ import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaEsquemaVacinalBe import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaExameObjectivoBeanData; import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaHabitosBeanData; import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaProblemasSolucoesBeanData; +import shst.medicina.fichasclinicas.beans.fichasclinicas.FcTipoFichaBeanData; import shst.medicina.fichasclinicas.beans.shst.EmpresasBeanData; +import shst.medicina.fichasclinicas.beans.shst.EstabelecimentosBeanData; +import shst.medicina.fichasclinicas.beans.shst.TrabalhadoresBeanData; +import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaAbsentismoData; +import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaActividadeData; +import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaAntecedentesFamiliaresData; +import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaAntecedentesOcupacionaisAcidentesTrabalhoData; +import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaAntecedentesOcupacionaisActividadesAnterioresData; +import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaAntecedentesOcupacionaisData; +import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaAntecedentesOcupacionaisDoencasProfissionaisData; +import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaClassificacaoIndividualSaudeData; +import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaConclusoesData; +import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaData; +import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaDoencasData; +import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaEsquemaVacinalData; +import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaExameObjectivoData; +import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaHabitosData; +import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaProblemasSolucoesData; +import shst.medicina.fichasclinicas.data.fichasclinicas.FcTipoFichaData; +import shst.medicina.fichasclinicas.data.fichasclinicas.inner.FcTipoFicha; import shst.medicina.fichasclinicas.data.shst.EmpresasData; +import shst.medicina.fichasclinicas.data.shst.EstabelecimentosData; +import shst.medicina.fichasclinicas.data.shst.TrabalhadoresData; +import com.evolute.module.utilizadores.data.EvoUsrUserData; +import com.evolute.module.utilizadores.users.provider.UsersDataProvider; import com.evolute.utils.error.ErrorLogger; import com.evolute.utils.sql.Expression; import com.evolute.utils.sql.Field; @Path("/fichasclinicas") -public class FichasClinicasImpl implements FichasClinicas { +public class FichasClinicasImpl { + @Autowired(required = true) @@ -63,222 +97,1213 @@ public class FichasClinicasImpl implements FichasClinicas { - /* (non-Javadoc) - * @see shst.medicina.fichasclinicas.webservices.jaxrs.FichasClinicas#getEmpresas(java.lang.String) - */ - @Override + @GET @Path("/getEmpresas") @Produces(MediaType.APPLICATION_JSON) - public Response getEmpresas(@DefaultValue("") @QueryParam("filter") String filter) { - - Collection result = new LinkedList(); + public Response getEmpresas(@Context HttpServletRequest req, @DefaultValue("") @QueryParam("filter") String filter) + { + EvoResponseBean rsp = new EvoResponseBean(); - Expression dataFilter = new Field(EmpresasData.INACTIVO).isDifferent("y").and(new Field(EmpresasData.DATA_CANCELAMENTO).isEqual(null)); + if(req.getSession().getAttribute("user") != null) + { - try - { - Collection bdLoad = siprpProvidersBean - .getENTITY_PROVIDER() - .listLoad(EmpresasData.class, dataFilter, new String[]{EmpresasData.DESIGNACAO_SOCIAL}, null); + Collection result = new LinkedList(); - for(EmpresasData bdElem : bdLoad) + Expression dataFilter = new Field(EmpresasData.INACTIVO).isDifferent("y").and(new Field(EmpresasData.DATA_CANCELAMENTO).isEqual(null)); + if(!filter.isEmpty()) { - EmpresasBeanData resultElem = new EmpresasBeanData(); - resultElem.setMapData(bdElem.getPropertiesValues(new String[]{EmpresasData.ID,EmpresasData.DESIGNACAO_SOCIAL})); + dataFilter = dataFilter.and(new Field(EmpresasData.DESIGNACAO_SOCIAL).isILike("%"+filter+"%")) ; + } + + try + { + Collection bdLoad = siprpProvidersBean + .getENTITY_PROVIDER() + .listLoad(EmpresasData.class, dataFilter, new String[]{EmpresasData.DESIGNACAO_SOCIAL}, null); - result.add(resultElem); + for(EmpresasData bdElem : bdLoad) + { + EmpresasBeanData resultElem = new EmpresasBeanData(); + resultElem.setMapData(bdElem.getPropertiesValues(new String[]{EmpresasData.ID,EmpresasData.DESIGNACAO_SOCIAL})); + + result.add(resultElem); + } + + + } + catch (Exception ex) + { + ErrorLogger.logException(ex); } - - - } - catch (Exception ex) + rsp.setSuccess(true); + rsp.setData(result); + } + else { - ErrorLogger.logException(ex); + rsp.setSuccess(false); + EvoMessageBean mb = new EvoMessageBean(); + mb.setType(EvoMessageTypeBean.SESSIONTIMEOUT); + mb.setMessageData("sessão expirada"); + + rsp.addMessage(mb); } - - EvoResponseBean rsp = new EvoResponseBean(); - rsp.setData(result); - rsp.setSucess(true); - - EvoMessageBean mb = new EvoMessageBean(); - mb.setType(EvoMessageTypeBean.INFO); - mb.setMessageData("filter: "+filter); - - rsp.addMessage(mb); return Response.status(200).entity(rsp).build(); } - /* (non-Javadoc) - * @see shst.medicina.fichasclinicas.webservices.jaxrs.FichasClinicas#getEstabelecimentos(int, java.lang.String) - */ - @Override + @GET @Path("/getEstabelecimentos") @Produces(MediaType.APPLICATION_JSON) - public Response getEstabelecimentos(@DefaultValue("0") @QueryParam("empresaID") int empresaID,@DefaultValue("") @QueryParam("filter") String filter) + public Response getEstabelecimentos(@Context HttpServletRequest req, @DefaultValue("0") @QueryParam("empresaID") int empresaID,@DefaultValue("") @QueryParam("filter") String filter) { EvoResponseBean rsp = new EvoResponseBean(); - rsp.setData(null); - rsp.setSucess(true); - EvoMessageBean mb = new EvoMessageBean(); - mb.setType(EvoMessageTypeBean.INFO); - mb.setMessageData("empresaID:"+empresaID+" ;filter: "+filter); + if(req.getSession().getAttribute("user") != null) + { - rsp.addMessage(mb); + Collection result = new LinkedList(); + + Expression dataFilter = new Field(EstabelecimentosData.INACTIVO).isDifferent("y").and(new Field(EstabelecimentosData.EMPRESA_ID).isEqual(empresaID)); + if(!filter.isEmpty()) + { + dataFilter = dataFilter.and(new Field(EstabelecimentosData.NOME).isILike("%"+filter+"%")) ; + } + + try + { + Collection bdLoad = siprpProvidersBean + .getENTITY_PROVIDER() + .listLoad(EstabelecimentosData.class, dataFilter, new String[]{EstabelecimentosData.NOME}, null); + + for(EstabelecimentosData bdElem : bdLoad) + { + EstabelecimentosBeanData resultElem = new EstabelecimentosBeanData(); + resultElem.setMapData(bdElem.getPropertiesValues(new String[]{EstabelecimentosData.ID,EstabelecimentosData.NOME})); + + result.add(resultElem); + } + + + } + catch (Exception ex) + { + ErrorLogger.logException(ex); + } + rsp.setSuccess(true); + rsp.setData(result); + } + else + { + rsp.setSuccess(false); + EvoMessageBean mb = new EvoMessageBean(); + mb.setType(EvoMessageTypeBean.SESSIONTIMEOUT); + mb.setMessageData("sessão expirada"); + + rsp.addMessage(mb); + } return Response.status(200).entity(rsp).build(); } - /* (non-Javadoc) - * @see shst.medicina.fichasclinicas.webservices.jaxrs.FichasClinicas#getTrabalhadores(int, java.lang.String) - */ - @Override + @GET @Path("/getTrabalhadores") @Produces(MediaType.APPLICATION_JSON) - public Response getTrabalhadores(@DefaultValue("0") @QueryParam("estabelecimentoID") int estabelecimentoID,@DefaultValue("") @QueryParam("filter") String filter) + public Response getTrabalhadores(@Context HttpServletRequest req, @DefaultValue("0") @QueryParam("estabelecimentoID") int estabelecimentoID,@DefaultValue("") @QueryParam("filter") String filter) { EvoResponseBean rsp = new EvoResponseBean(); - rsp.setData(null); - rsp.setSucess(true); - EvoMessageBean mb = new EvoMessageBean(); - mb.setType(EvoMessageTypeBean.INFO); - mb.setMessageData("estabelecimento:"+estabelecimentoID+" ;filter: "+filter); + if(req.getSession().getAttribute("user") != null) + { - rsp.addMessage(mb); + Collection result = new LinkedList(); + + Expression dataFilter = new Field(TrabalhadoresData.INACTIVO).isDifferent("y").and(new Field(TrabalhadoresData.ESTABELECIMENTO_ID).isEqual(estabelecimentoID)).and(new Field(TrabalhadoresData.DATA_DEMISSAO).isEqual(null)); + if(!filter.isEmpty()) + { + dataFilter = dataFilter.and(new Field("PLAIN("+TrabalhadoresData.NOME+")").isILike("%"+filter+"%")) ; + } + + try + { + Collection bdLoad = siprpProvidersBean + .getENTITY_PROVIDER() + .listLoad(TrabalhadoresData.class, dataFilter, new String[]{TrabalhadoresData.NOME}, null); + + for(TrabalhadoresData bdElem : bdLoad) + { + TrabalhadoresBeanData resultElem = new TrabalhadoresBeanData(); + resultElem.setMapData(bdElem.getPropertiesValues(new String[]{TrabalhadoresData.ID,TrabalhadoresData.NOME})); + + result.add(resultElem); + } + + + } + catch (Exception ex) + { + ErrorLogger.logException(ex); + } + rsp.setSuccess(true); + rsp.setData(result); + } + else + { + rsp.setSuccess(false); + EvoMessageBean mb = new EvoMessageBean(); + mb.setType(EvoMessageTypeBean.SESSIONTIMEOUT); + mb.setMessageData("sessão expirada"); + + rsp.addMessage(mb); + } return Response.status(200).entity(rsp).build(); } - /* (non-Javadoc) - * @see shst.medicina.fichasclinicas.webservices.jaxrs.FichasClinicas#getFichaAdmissao(int, int) - */ - @Override + @GET @Path("/getFichaEAdmissaoInicial") @Produces(MediaType.APPLICATION_JSON) - public Response getFichaEAdmissaoInicial(@DefaultValue("0") @QueryParam("fichaID") int fichaID,@DefaultValue("0") @QueryParam("trabalhadorID") int trabalhadorID) + public Response getFichaEAdmissaoInicial(@Context HttpServletRequest req, @DefaultValue("0") @QueryParam("fichaID") int fichaID) { - FichaEAdmissaoInicialBean var = new FichaEAdmissaoInicialBean(); - var.setAbsentismo(new FcFichaAbsentismoBeanData()); - var.setActividade(new FcFichaActividadeBeanData()); - var.setAntecedentesFamiliares(new FcFichaAntecedentesFamiliaresBeanData()); - var.setAntecedentesPessoais(new FcFichaDoencasBeanData()); - var.setAntecentesOcupacionais(new FcFichaAntecedentesOcupacionaisBeanData()); - var.setAntecentesOcupacionaisAcidentesTrabalho(new LinkedList()); - var.setAntecentesOcupacionaisActividadesAnteriores(new LinkedList()); - var.setAntecentesOcupacionaisDoencasProfissionais(new LinkedList()); - var.setClassificacaoIndividualSaude(new FcFichaClassificacaoIndividualSaudeBeanData()); - var.setConclusoesResumo(new FcFichaConclusoesBeanData()); - var.setDoencasActivas(new FcFichaDoencasBeanData()); - var.setEsquemaVacinal(new FcFichaEsquemaVacinalBeanData()); - var.setExameObjectivo(new FcFichaExameObjectivoBeanData()); - var.setFicha(new FcFichaBeanData()); - var.setHabitos(new FcFichaHabitosBeanData()); - var.setProblemasSolucoes(new FcFichaProblemasSolucoesBeanData()); - - - - - - - - - - - - - - - - - - - EvoResponseBean rsp = new EvoResponseBean(); - rsp.setData(var); - rsp.setSucess(true); - - EvoMessageBean mb = new EvoMessageBean(); - mb.setType(EvoMessageTypeBean.INFO); - mb.setMessageData("ficha: "+fichaID+" ;opcional_trabalhadorID:"+trabalhadorID); - - rsp.addMessage(mb); + if(req.getSession().getAttribute("user") != null) + { + FcFichaData ficha=null; + try { + ficha = fichasProvidersBean.getENTITY_PROVIDER().load(FcFichaData.class, new Object[]{fichaID,null}, new String[]{FcFichaData.ID,FcFichaData.DELETED_STAMP}); + + if(ficha != null) + { + FichaEAdmissaoInicialBean var = new FichaEAdmissaoInicialBean(); + + FcFichaBeanData fichaBean = new FcFichaBeanData(); + fichaBean.setMapData(ficha.getPropertiesValues(fichaBean.getMapData().keySet().toArray(new String[]{}))); + var.setFicha(fichaBean); + + FcFichaAbsentismoData abs = ficha.toAbsentismo_id(); + if(abs != null) + { + FcFichaAbsentismoBeanData absBean = new FcFichaAbsentismoBeanData(); + absBean.setMapData(abs.getPropertiesValues(absBean.getMapData().keySet().toArray(new String[]{}))); + var.setAbsentismo(absBean); + } + + FcFichaActividadeData act = ficha.toActividade_id(); + if(act != null) + { + FcFichaActividadeBeanData actBean = new FcFichaActividadeBeanData(); + actBean.setMapData(act.getPropertiesValues(actBean.getMapData().keySet().toArray(new String[]{}))); + var.setActividade(actBean); + } + + + FcFichaAntecedentesFamiliaresData antf = ficha.toAntecedentes_familiares_id(); + if(antf != null) + { + FcFichaAntecedentesFamiliaresBeanData antfBean = new FcFichaAntecedentesFamiliaresBeanData(); + antfBean.setMapData(antf.getPropertiesValues(antfBean.getMapData().keySet().toArray(new String[]{}))); + var.setAntecedentesFamiliares(antfBean); + } + + FcFichaDoencasData antp = ficha.toAntecedentes_pessoais_id(); + if(antp != null) + { + FcFichaDoencasBeanData antpBean = new FcFichaDoencasBeanData(); + antpBean.setMapData(antp.getPropertiesValues(antpBean.getMapData().keySet().toArray(new String[]{}))); + var.setAntecedentesPessoais(antpBean); + } + + + FcFichaAntecedentesOcupacionaisData anto =ficha.toAntecedentes_ocupacionais_id(); + if(anto != null) + { + FcFichaAntecedentesOcupacionaisBeanData antoBean = new FcFichaAntecedentesOcupacionaisBeanData(); + antoBean.setMapData(anto.getPropertiesValues(antoBean.getMapData().keySet().toArray(new String[]{}))); + var.setAntecentesOcupacionais(antoBean); + + List antoat = anto.fromFcFichaAntecedentesOcupacionaisAcidentesTrabalho_antecedentes_ocupacionais_id(); + LinkedList antoatBean = new LinkedList(); + for(FcFichaAntecedentesOcupacionaisAcidentesTrabalhoData at : antoat) + { + if(at.getDeleted_stamp() == null) + { + FcFichaAntecedentesOcupacionaisAcidentesTrabalhoBeanData atBean = new FcFichaAntecedentesOcupacionaisAcidentesTrabalhoBeanData(); + atBean.setMapData(at.getPropertiesValues(atBean.getMapData().keySet().toArray(new String[]{}))); + antoatBean.add(atBean); + } + } + var.setAntecentesOcupacionaisAcidentesTrabalho(antoatBean); + + + List antoaa = anto.fromFcFichaAntecedentesOcupacionaisActividadesAnteriores_antecedentes_ocupacionais_id(); + LinkedList antoaaBean = new LinkedList(); + for(FcFichaAntecedentesOcupacionaisActividadesAnterioresData at : antoaa) + { + if(at.getDeleted_stamp() == null) + { + FcFichaAntecedentesOcupacionaisActividadesAnterioresBeanData atBean = new FcFichaAntecedentesOcupacionaisActividadesAnterioresBeanData(); + atBean.setMapData(at.getPropertiesValues(atBean.getMapData().keySet().toArray(new String[]{}))); + antoaaBean.add(atBean); + } + } + var.setAntecentesOcupacionaisActividadesAnteriores(antoaaBean); + + + List antodp = anto.fromFcFichaAntecedentesOcupacionaisDoencasProfissionais_antecedentes_ocupacionais_id(); + LinkedList antodpBean = new LinkedList(); + for(FcFichaAntecedentesOcupacionaisDoencasProfissionaisData at : antodp) + { + if(at.getDeleted_stamp() == null) + { + FcFichaAntecedentesOcupacionaisDoencasProfissionaisBeanData atBean = new FcFichaAntecedentesOcupacionaisDoencasProfissionaisBeanData(); + atBean.setMapData(at.getPropertiesValues(atBean.getMapData().keySet().toArray(new String[]{}))); + antodpBean.add(atBean); + } + } + var.setAntecentesOcupacionaisDoencasProfissionais(antodpBean); + + } + + FcFichaClassificacaoIndividualSaudeData cis = ficha.toClassificacao_individual_saude_id(); + if(cis != null) + { + FcFichaClassificacaoIndividualSaudeBeanData cisBean = new FcFichaClassificacaoIndividualSaudeBeanData(); + cisBean.setMapData(cis.getPropertiesValues(cisBean.getMapData().keySet().toArray(new String[]{}))); + var.setClassificacaoIndividualSaude(cisBean); + } + + FcFichaConclusoesData cr = ficha.toConclusoes_id(); + if(cr != null) + { + FcFichaConclusoesBeanData crBean = new FcFichaConclusoesBeanData(); + crBean.setMapData(cr.getPropertiesValues(crBean.getMapData().keySet().toArray(new String[]{}))); + var.setConclusoesResumo(crBean); + } + + + FcFichaDoencasData da = ficha.toDoencas_activas_id(); + if(da != null) + { + FcFichaDoencasBeanData daBean = new FcFichaDoencasBeanData(); + daBean.setMapData(da.getPropertiesValues(daBean.getMapData().keySet().toArray(new String[]{}))); + var.setDoencasActivas(daBean); + } + + + FcFichaEsquemaVacinalData ev = ficha.toEsquema_vacinal_id(); + if(ev != null) + { + FcFichaEsquemaVacinalBeanData evBean = new FcFichaEsquemaVacinalBeanData(); + evBean.setMapData(ev.getPropertiesValues(evBean.getMapData().keySet().toArray(new String[]{}))); + var.setEsquemaVacinal(evBean); + } + + + FcFichaExameObjectivoData eo = ficha.toExame_objectivo_id(); + if(eo != null) + { + FcFichaExameObjectivoBeanData eoBean = new FcFichaExameObjectivoBeanData(); + eoBean.setMapData(eo.getPropertiesValues(eoBean.getMapData().keySet().toArray(new String[]{}))); + var.setExameObjectivo(eoBean); + } + + + FcFichaHabitosData fh = ficha.toHabitos_id(); + if(fh != null) + { + FcFichaHabitosBeanData fhBean = new FcFichaHabitosBeanData(); + fhBean.setMapData(fh.getPropertiesValues(fhBean.getMapData().keySet().toArray(new String[]{}))); + var.setHabitos(fhBean); + } + + + FcFichaProblemasSolucoesData ps = ficha.toProblemas_solucoes_id(); + if(ps != null) + { + FcFichaProblemasSolucoesBeanData psBean = new FcFichaProblemasSolucoesBeanData(); + psBean.setMapData(ps.getPropertiesValues(psBean.getMapData().keySet().toArray(new String[]{}))); + var.setProblemasSolucoes(psBean); + } + + rsp.setSuccess(true); + rsp.setData(var); + } + else + { + rsp.setSuccess(false); + EvoMessageBean mb = new EvoMessageBean(); + mb.setType(EvoMessageTypeBean.ERROR); + mb.setMessageData("ID de ficha inválido!"); + rsp.addMessage(mb); + } + + } + catch(Exception ex) + { + rsp.setSuccess(false); + EvoMessageBean mb = new EvoMessageBean(); + mb.setType(EvoMessageTypeBean.ERROR); + mb.setMessageData("Erro ao carregar a Ficha!"); + rsp.addMessage(mb); + } + } + else + { + rsp.setSuccess(false); + EvoMessageBean mb = new EvoMessageBean(); + mb.setType(EvoMessageTypeBean.SESSIONTIMEOUT); + mb.setMessageData("sessão expirada"); + + rsp.addMessage(mb); + } return Response.status(200).entity(rsp).build(); } - /* (non-Javadoc) - * @see shst.medicina.fichasclinicas.webservices.jaxrs.FichasClinicas#sendFichaAdmissao(shst.medicina.fichasclinicas.webservices.jaxrs.FichaAdmissaoInicial) - */ - @Override + private static Map mapCleaner(Map in) + { + Map out = new HashMap(); + for(Entry e : in.entrySet()) + { + if(!(e.getKey().equals("id")||(e.getValue() == null))) + { + out.put(e.getKey(), e.getValue()); + } + } + return out; + } + + @POST @Path("/sendFichaEAdmissaoInicial") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) - public Response sendFichaEAdmissaoInicial(FichaEAdmissaoInicialBean ficha) + public Response sendFichaEAdmissaoInicial(@Context HttpServletRequest req, FichaEAdmissaoInicialBean ficha) throws Exception { + EvoResponseBean rsp = new EvoResponseBean(); - rsp.setData(ficha); - rsp.setSucess(true); - EvoMessageBean mb = new EvoMessageBean(); - mb.setType(EvoMessageTypeBean.INFO); - mb.setMessageData("echo: "+ficha); + EvoUsrUserData user = (EvoUsrUserData) req.getSession().getAttribute("user") ; +// EvoUsrUserData user = new EvoUsrUserData(); +// user.setName("fake admin"); +// user.setId(1); - rsp.addMessage(mb); + if( user != null) + { + Object trx = null; + try + { + if(ficha.getFicha() != null) + { + String operation = null; + FichaEAdmissaoInicialBean rspdata = new FichaEAdmissaoInicialBean(); + + + trx = fichasProvidersBean.getENTITY_PROVIDER().begin(); + + FcFichaData ff = null; + + if(ficha.getFicha().getId() != null) + { + ff = fichasProvidersBean.getENTITY_PROVIDER().load(FcFichaData.class, ficha.getFicha().getId()); + operation = "Actualização"; + } + if(ff == null) + { + ff = new FcFichaData(); + ff.setProvider(fichasProvidersBean.getENTITY_PROVIDER()); + ff.setCreated_user_name(user.getName()); + ff.setCreated_user_id(user.getId()); + operation = "Criação"; + } + ff.setHashData(mapCleaner(ficha.getFicha().getMapData())); + + + if(ficha.getAntecentesOcupacionais() != null ) + { + FcFichaAntecedentesOcupacionaisData fd = null; + if(ficha.getAntecentesOcupacionais().getId() != null) + { + fd = fichasProvidersBean.getENTITY_PROVIDER().load(FcFichaAntecedentesOcupacionaisData.class, ficha.getAntecentesOcupacionais().getId()); + } + if(fd == null) + { + fd = new FcFichaAntecedentesOcupacionaisData(); + fd.setProvider(fichasProvidersBean.getENTITY_PROVIDER()); + fd.setCreated_user_name(user.getName()); + fd.setCreated_user_id(user.getId()); + } + fd.setHashData(mapCleaner(ficha.getAntecentesOcupacionais().getMapData())); + + fd.save(trx); + ficha.getAntecentesOcupacionais().setId(fd.getId()); + ff.setAntecedentes_ocupacionais_id(fd.getId()); + FcFichaAntecedentesOcupacionaisBeanData fdb = new FcFichaAntecedentesOcupacionaisBeanData(); + fdb.setId(fd.getId()); + rspdata.setAntecentesOcupacionais(fdb); + + if(ficha.getAntecentesOcupacionaisAcidentesTrabalho() != null) + { + List aoat = new LinkedList(); + List notDel = new LinkedList(); + for(FcFichaAntecedentesOcupacionaisAcidentesTrabalhoBeanData item : ficha.getAntecentesOcupacionaisAcidentesTrabalho()) + { + FcFichaAntecedentesOcupacionaisAcidentesTrabalhoData itemBD = null; + if(item.getId() != null) + { + itemBD = fichasProvidersBean.getENTITY_PROVIDER().load(FcFichaAntecedentesOcupacionaisAcidentesTrabalhoData.class, item.getId()); + } + if(itemBD == null) + { + itemBD = new FcFichaAntecedentesOcupacionaisAcidentesTrabalhoData(); + itemBD.setProvider(fichasProvidersBean.getENTITY_PROVIDER()); + itemBD.setCreated_user_name(user.getName()); + itemBD.setCreated_user_id(user.getId()); + } + itemBD.setHashData(mapCleaner(item.getMapData())); + itemBD.setAntecedentes_ocupacionais_id(fd.getId()); + itemBD.setDeleted_stamp(null); + + itemBD.save(trx); + item.setId(itemBD.getId()); + notDel.add(itemBD.getId()); + FcFichaAntecedentesOcupacionaisAcidentesTrabalhoBeanData itemb = new FcFichaAntecedentesOcupacionaisAcidentesTrabalhoBeanData(); + itemb.setId(itemBD.getId()); + aoat.add(itemb); + } + List toDel = fichasProvidersBean.getENTITY_PROVIDER().listLoad(FcFichaAntecedentesOcupacionaisAcidentesTrabalhoData.class, new Field(FcFichaAntecedentesOcupacionaisAcidentesTrabalhoData.ANTECEDENTES_OCUPACIONAIS_ID).isEqual(fd.getId()).and(new Field(FcFichaAntecedentesOcupacionaisAcidentesTrabalhoData.ID).notIn(notDel)), null, null); + for(FcFichaAntecedentesOcupacionaisAcidentesTrabalhoData del : toDel) + { + del.setDeleted_stamp(new Timestamp(System.currentTimeMillis())); + del.setDeleted_user_name(user.getName()); + del.setDeleted_user_id(user.getId()); + del.save(trx); + } + rspdata.setAntecentesOcupacionaisAcidentesTrabalho(aoat); + } + + if(ficha.getAntecentesOcupacionaisActividadesAnteriores() != null) + { + List aoaa = new LinkedList(); + List notDel = new LinkedList(); + for(FcFichaAntecedentesOcupacionaisActividadesAnterioresBeanData item : ficha.getAntecentesOcupacionaisActividadesAnteriores()) + { + FcFichaAntecedentesOcupacionaisActividadesAnterioresData itemBD = null; + if(item.getId() != null) + { + itemBD = fichasProvidersBean.getENTITY_PROVIDER().load(FcFichaAntecedentesOcupacionaisActividadesAnterioresData.class, item.getId()); + } + if(itemBD == null) + { + itemBD = new FcFichaAntecedentesOcupacionaisActividadesAnterioresData(); + itemBD.setProvider(fichasProvidersBean.getENTITY_PROVIDER()); + itemBD.setCreated_user_name(user.getName()); + itemBD.setCreated_user_id(user.getId()); + } + itemBD.setHashData(mapCleaner(item.getMapData())); + itemBD.setAntecedentes_ocupacionais_id(fd.getId()); + itemBD.setDeleted_stamp(null); + + itemBD.save(trx); + item.setId(itemBD.getId()); + notDel.add(itemBD.getId()); + FcFichaAntecedentesOcupacionaisActividadesAnterioresBeanData itemb = new FcFichaAntecedentesOcupacionaisActividadesAnterioresBeanData(); + itemb.setId(itemBD.getId()); + aoaa.add(itemb); + } + List toDel = fichasProvidersBean.getENTITY_PROVIDER().listLoad(FcFichaAntecedentesOcupacionaisActividadesAnterioresData.class, new Field(FcFichaAntecedentesOcupacionaisActividadesAnterioresData.ANTECEDENTES_OCUPACIONAIS_ID).isEqual(fd.getId()).and(new Field(FcFichaAntecedentesOcupacionaisActividadesAnterioresData.ID).notIn(notDel)), null, null); + for(FcFichaAntecedentesOcupacionaisActividadesAnterioresData del : toDel) + { + del.setDeleted_stamp(new Timestamp(System.currentTimeMillis())); + del.setDeleted_user_name(user.getName()); + del.setDeleted_user_id(user.getId()); + del.save(trx); + } + rspdata.setAntecentesOcupacionaisActividadesAnteriores(aoaa); + } + + if(ficha.getAntecentesOcupacionaisDoencasProfissionais() != null) + { + List aodp = new LinkedList(); + List notDel = new LinkedList(); + for(FcFichaAntecedentesOcupacionaisDoencasProfissionaisBeanData item : ficha.getAntecentesOcupacionaisDoencasProfissionais()) + { + FcFichaAntecedentesOcupacionaisDoencasProfissionaisData itemBD = null; + if(item.getId() != null) + { + itemBD = fichasProvidersBean.getENTITY_PROVIDER().load(FcFichaAntecedentesOcupacionaisDoencasProfissionaisData.class, item.getId()); + } + if(itemBD == null) + { + itemBD = new FcFichaAntecedentesOcupacionaisDoencasProfissionaisData(); + itemBD.setProvider(fichasProvidersBean.getENTITY_PROVIDER()); + itemBD.setCreated_user_name(user.getName()); + itemBD.setCreated_user_id(user.getId()); + } + itemBD.setHashData(mapCleaner(item.getMapData())); + itemBD.setAntecedentes_ocupacionais_id(fd.getId()); + itemBD.setDeleted_stamp(null); + + itemBD.save(trx); + item.setId(itemBD.getId()); + notDel.add(itemBD.getId()); + FcFichaAntecedentesOcupacionaisDoencasProfissionaisBeanData itemb = new FcFichaAntecedentesOcupacionaisDoencasProfissionaisBeanData(); + itemb.setId(itemBD.getId()); + aodp.add(itemb); + } + List toDel = fichasProvidersBean.getENTITY_PROVIDER().listLoad(FcFichaAntecedentesOcupacionaisDoencasProfissionaisData.class, new Field(FcFichaAntecedentesOcupacionaisDoencasProfissionaisData.ANTECEDENTES_OCUPACIONAIS_ID).isEqual(fd.getId()).and(new Field(FcFichaAntecedentesOcupacionaisDoencasProfissionaisData.ID).notIn(notDel)), null, null); + for(FcFichaAntecedentesOcupacionaisDoencasProfissionaisData del : toDel) + { + del.setDeleted_stamp(new Timestamp(System.currentTimeMillis())); + del.setDeleted_user_name(user.getName()); + del.setDeleted_user_id(user.getId()); + del.save(trx); + } + rspdata.setAntecentesOcupacionaisDoencasProfissionais(aodp); + } + + } + + if(ficha.getAbsentismo() != null ) + { + FcFichaAbsentismoData fd = null; + if(ficha.getAbsentismo().getId() != null) + { + fd = fichasProvidersBean.getENTITY_PROVIDER().load(FcFichaAbsentismoData.class,ficha.getAbsentismo().getId()); + } + if(fd == null) + { + fd = new FcFichaAbsentismoData(); + fd.setProvider(fichasProvidersBean.getENTITY_PROVIDER()); + fd.setCreated_user_name(user.getName()); + fd.setCreated_user_id(user.getId()); + } + fd.setHashData(mapCleaner(ficha.getAbsentismo().getMapData())); + + fd.save(trx); + ficha.getAbsentismo().setId(fd.getId()); + ff.setAbsentismo_id(fd.getId()); + FcFichaAbsentismoBeanData fdb = new FcFichaAbsentismoBeanData(); + fdb.setId(fd.getId()); + rspdata.setAbsentismo(fdb); + } + + + if(ficha.getActividade() != null ) + { + FcFichaActividadeData fd = null; + if(ficha.getActividade().getId() != null) + { + fd = fichasProvidersBean.getENTITY_PROVIDER().load(FcFichaActividadeData.class,ficha.getActividade().getId()); + } + if(fd == null) + { + fd = new FcFichaActividadeData(); + fd.setProvider(fichasProvidersBean.getENTITY_PROVIDER()); + fd.setCreated_user_name(user.getName()); + fd.setCreated_user_id(user.getId()); + } + fd.setHashData(mapCleaner(ficha.getActividade().getMapData())); + + fd.save(trx); + ficha.getActividade().setId(fd.getId()); + ff.setActividade_id(fd.getId()); + FcFichaActividadeBeanData fdb = new FcFichaActividadeBeanData(); + fdb.setId(fd.getId()); + rspdata.setActividade(fdb); + } + + + if(ficha.getAntecedentesFamiliares() != null ) + { + FcFichaAntecedentesFamiliaresData fd = null; + if(ficha.getAntecedentesFamiliares().getId() != null) + { + fd = fichasProvidersBean.getENTITY_PROVIDER().load(FcFichaAntecedentesFamiliaresData.class,ficha.getAntecedentesFamiliares().getId()); + } + if(fd == null) + { + fd = new FcFichaAntecedentesFamiliaresData(); + fd.setProvider(fichasProvidersBean.getENTITY_PROVIDER()); + fd.setCreated_user_name(user.getName()); + fd.setCreated_user_id(user.getId()); + } + fd.setHashData(mapCleaner(ficha.getAntecedentesFamiliares().getMapData())); + + fd.save(trx); + ficha.getAntecedentesFamiliares().setId(fd.getId()); + ff.setAntecedentes_familiares_id(fd.getId()); + FcFichaAntecedentesFamiliaresBeanData fdb = new FcFichaAntecedentesFamiliaresBeanData(); + fdb.setId(fd.getId()); + rspdata.setAntecedentesFamiliares(fdb); + } + + + if(ficha.getAntecedentesPessoais() != null ) + { + FcFichaDoencasData fd = null; + if(ficha.getAntecedentesPessoais().getId() != null) + { + fd = fichasProvidersBean.getENTITY_PROVIDER().load(FcFichaDoencasData.class,ficha.getAntecedentesPessoais().getId()); + } + if(fd == null) + { + fd = new FcFichaDoencasData(); + fd.setProvider(fichasProvidersBean.getENTITY_PROVIDER()); + fd.setCreated_user_name(user.getName()); + fd.setCreated_user_id(user.getId()); + } + fd.setHashData(mapCleaner(ficha.getAntecedentesPessoais().getMapData())); + + fd.save(trx); + ficha.getAntecedentesPessoais().setId(fd.getId()); + ff.setAntecedentes_pessoais_id(fd.getId()); + FcFichaDoencasBeanData fdb = new FcFichaDoencasBeanData(); + fdb.setId(fd.getId()); + rspdata.setAntecedentesPessoais(fdb); + } + + if(ficha.getClassificacaoIndividualSaude() != null ) + { + FcFichaClassificacaoIndividualSaudeData fd = null; + if(ficha.getClassificacaoIndividualSaude().getId() != null) + { + fd = fichasProvidersBean.getENTITY_PROVIDER().load(FcFichaClassificacaoIndividualSaudeData.class,ficha.getClassificacaoIndividualSaude().getId()); + } + if(fd == null) + { + fd = new FcFichaClassificacaoIndividualSaudeData(); + fd.setProvider(fichasProvidersBean.getENTITY_PROVIDER()); + fd.setCreated_user_name(user.getName()); + fd.setCreated_user_id(user.getId()); + } + fd.setHashData(mapCleaner(ficha.getClassificacaoIndividualSaude().getMapData())); + + fd.save(trx); + ficha.getClassificacaoIndividualSaude().setId(fd.getId()); + ff.setClassificacao_individual_saude_id(fd.getId()); + FcFichaClassificacaoIndividualSaudeBeanData fdb = new FcFichaClassificacaoIndividualSaudeBeanData(); + fdb.setId(fd.getId()); + rspdata.setClassificacaoIndividualSaude(fdb); + } + + if(ficha.getConclusoesResumo() != null ) + { + FcFichaConclusoesData fd = null; + if(ficha.getConclusoesResumo().getId() != null) + { + fd = fichasProvidersBean.getENTITY_PROVIDER().load(FcFichaConclusoesData.class,ficha.getConclusoesResumo().getId()); + } + if(fd == null) + { + fd = new FcFichaConclusoesData(); + fd.setProvider(fichasProvidersBean.getENTITY_PROVIDER()); + fd.setCreated_user_name(user.getName()); + fd.setCreated_user_id(user.getId()); + } + fd.setHashData(mapCleaner(ficha.getConclusoesResumo().getMapData())); + + fd.save(trx); + ficha.getConclusoesResumo().setId(fd.getId()); + ff.setConclusoes_id(fd.getId()); + FcFichaConclusoesBeanData fdb = new FcFichaConclusoesBeanData(); + fdb.setId(fd.getId()); + rspdata.setConclusoesResumo(fdb); + } + + + if(ficha.getDoencasActivas() != null ) + { + FcFichaDoencasData fd = null; + if(ficha.getDoencasActivas().getId() != null) + { + fd = fichasProvidersBean.getENTITY_PROVIDER().load(FcFichaDoencasData.class,ficha.getDoencasActivas().getId()); + } + if(fd == null) + { + fd = new FcFichaDoencasData(); + fd.setProvider(fichasProvidersBean.getENTITY_PROVIDER()); + fd.setCreated_user_name(user.getName()); + fd.setCreated_user_id(user.getId()); + } + fd.setHashData(mapCleaner(ficha.getDoencasActivas().getMapData())); + + fd.save(trx); + ficha.getDoencasActivas().setId(fd.getId()); + ff.setDoencas_activas_id(fd.getId()); + FcFichaDoencasBeanData fdb = new FcFichaDoencasBeanData(); + fdb.setId(fd.getId()); + rspdata.setDoencasActivas(fdb); + } + + + if(ficha.getEsquemaVacinal() != null ) + { + FcFichaEsquemaVacinalData fd = null; + if(ficha.getEsquemaVacinal().getId() != null) + { + fd = fichasProvidersBean.getENTITY_PROVIDER().load(FcFichaEsquemaVacinalData.class,ficha.getEsquemaVacinal().getId()); + } + if(fd == null) + { + fd = new FcFichaEsquemaVacinalData(); + fd.setProvider(fichasProvidersBean.getENTITY_PROVIDER()); + fd.setCreated_user_name(user.getName()); + fd.setCreated_user_id(user.getId()); + } + fd.setHashData(mapCleaner(ficha.getEsquemaVacinal().getMapData())); + + fd.save(trx); + ficha.getEsquemaVacinal().setId(fd.getId()); + ff.setEsquema_vacinal_id(fd.getId()); + FcFichaEsquemaVacinalBeanData fdb = new FcFichaEsquemaVacinalBeanData(); + fdb.setId(fd.getId()); + rspdata.setEsquemaVacinal(fdb); + } + + + if(ficha.getExameObjectivo() != null ) + { + FcFichaExameObjectivoData fd = null; + if(ficha.getExameObjectivo().getId() != null) + { + fd = fichasProvidersBean.getENTITY_PROVIDER().load(FcFichaExameObjectivoData.class,ficha.getExameObjectivo().getId()); + } + if(fd == null) + { + fd = new FcFichaExameObjectivoData(); + fd.setProvider(fichasProvidersBean.getENTITY_PROVIDER()); + fd.setCreated_user_name(user.getName()); + fd.setCreated_user_id(user.getId()); + } + fd.setHashData(mapCleaner(ficha.getExameObjectivo().getMapData())); + + fd.save(trx); + ficha.getExameObjectivo().setId(fd.getId()); + ff.setExame_objectivo_id(fd.getId()); + FcFichaExameObjectivoBeanData fdb = new FcFichaExameObjectivoBeanData(); + fdb.setId(fd.getId()); + rspdata.setExameObjectivo(fdb); + } + + + if(ficha.getHabitos() != null ) + { + FcFichaHabitosData fd = null; + if(ficha.getHabitos().getId() != null) + { + fd = fichasProvidersBean.getENTITY_PROVIDER().load(FcFichaHabitosData.class,ficha.getHabitos().getId()); + } + if(fd == null) + { + fd = new FcFichaHabitosData(); + fd.setProvider(fichasProvidersBean.getENTITY_PROVIDER()); + fd.setCreated_user_name(user.getName()); + fd.setCreated_user_id(user.getId()); + } + fd.setHashData(mapCleaner(ficha.getHabitos().getMapData())); + + fd.save(trx); + ficha.getHabitos().setId(fd.getId()); + ff.setHabitos_id(fd.getId()); + FcFichaHabitosBeanData fdb = new FcFichaHabitosBeanData(); + fdb.setId(fd.getId()); + rspdata.setHabitos(fdb); + } + + + if(ficha.getProblemasSolucoes() != null ) + { + FcFichaProblemasSolucoesData fd = null; + if(ficha.getProblemasSolucoes().getId() != null) + { + fd = fichasProvidersBean.getENTITY_PROVIDER().load(FcFichaProblemasSolucoesData.class,ficha.getProblemasSolucoes().getId()); + } + if(fd == null) + { + fd = new FcFichaProblemasSolucoesData(); + fd.setProvider(fichasProvidersBean.getENTITY_PROVIDER()); + fd.setCreated_user_name(user.getName()); + fd.setCreated_user_id(user.getId()); + } + fd.setHashData(mapCleaner(ficha.getProblemasSolucoes().getMapData())); + + fd.save(trx); + ficha.getProblemasSolucoes().setId(fd.getId()); + ff.setProblemas_solucoes_id(fd.getId()); + FcFichaProblemasSolucoesBeanData fdb = new FcFichaProblemasSolucoesBeanData(); + fdb.setId(fd.getId()); + rspdata.setProblemasSolucoes(fdb); + + } + + ///TODO get timestamp da bd + if(ficha.getFicha().getData_conclusao() != null) + { + ff.setData_conclusao(new Timestamp(System.currentTimeMillis())); + ficha.getFicha().setData_conclusao(new Timestamp(System.currentTimeMillis())); + } + + ff.save(trx); + ficha.getFicha().setId(ff.getId()); + FcFichaBeanData rspdata_ficha = new FcFichaBeanData(); + rspdata.setFicha(rspdata_ficha); + rspdata_ficha.setId(ff.getId()); + + + fichasProvidersBean.getENTITY_PROVIDER().commit(trx); + + rsp.setSuccess(true); +// rsp.setData(rspdata); + rsp.setData(ficha); + EvoMessageBean mb = new EvoMessageBean(); + rsp.setSuccess(true); + mb.setType(EvoMessageTypeBean.INFO); + mb.setMessageData(operation+" da ficha com sucesso!"); + + rsp.addMessage(mb); + } + else + { + rsp.setSuccess(false); + EvoMessageBean mb = new EvoMessageBean(); + mb.setType(EvoMessageTypeBean.ERROR); + mb.setMessageData("Erro Ficha Inválida!"); + + rsp.addMessage(mb); + } + } + catch(Exception ex) + { + if(trx != null) + { + fichasProvidersBean.getENTITY_PROVIDER().rollback(trx); + } + + rsp.setSuccess(false); + EvoMessageBean mb = new EvoMessageBean(); + mb.setType(EvoMessageTypeBean.ERROR); + mb.setMessageData("Erro ao gravar Ficha!"+ex); + + rsp.addMessage(mb); + + ex.printStackTrace(); + } + } + else + { + rsp.setSuccess(false); + EvoMessageBean mb = new EvoMessageBean(); + mb.setType(EvoMessageTypeBean.SESSIONTIMEOUT); + mb.setMessageData("sessão expirada"); + + rsp.addMessage(mb); + } return Response.status(200).entity(rsp).build(); + } - @Override - public Response getFichaEMCurativaEnf(int fichaID, int trabalhadorID) { + + @GET + @Path("/getFichaEMCurativaEnf") + @Produces(MediaType.APPLICATION_JSON) + public Response getFichaEMCurativaEnf(@Context HttpServletRequest req, @DefaultValue("0") @QueryParam("fichaID") int fichaID) + { // TODO Auto-generated method stub return null; } - @Override + + @POST + @Path("/sendFichaEMCurativaEnf") + @Produces(MediaType.APPLICATION_JSON) + @Consumes(MediaType.APPLICATION_JSON) public Response sendFichaEMCurativaEnf(FichaEMCurativaEnfBean ficha) { // TODO Auto-generated method stub return null; } - @Override - public Response getFichaEOcasional(int fichaID, int trabalhadorID) { + @GET + @Path("/getFichaEOcasional") + @Produces(MediaType.APPLICATION_JSON) + public Response getFichaEOcasional(@DefaultValue("0") @QueryParam("fichaID") int fichaID,@DefaultValue("0") @QueryParam("trabalhadorID") int trabalhadorID) { // TODO Auto-generated method stub return null; } - @Override + + @POST + @Path("/sendFichaEOcasional") + @Produces(MediaType.APPLICATION_JSON) + @Consumes(MediaType.APPLICATION_JSON) public Response sendFichaEOcasional(FichaEOcasionalBean ficha) { // TODO Auto-generated method stub return null; } - @Override - public Response getFichaEPeriodico(int fichaID, int trabalhadorID) { + + @GET + @Path("/getFichaEPeriodico") + @Produces(MediaType.APPLICATION_JSON) + public Response getFichaEPeriodico(@DefaultValue("0") @QueryParam("fichaID") int fichaID,@DefaultValue("0") @QueryParam("trabalhadorID") int trabalhadorID) { // TODO Auto-generated method stub return null; } - @Override + + @POST + @Path("/sendFichaEPeriodico") + @Produces(MediaType.APPLICATION_JSON) + @Consumes(MediaType.APPLICATION_JSON) public Response sendFichaEPeriodico(FichaEPeriodicoBean ficha) { // TODO Auto-generated method stub return null; } + + + @POST + @Path("/doLogin") + @Produces(MediaType.APPLICATION_JSON) + @Consumes(MediaType.APPLICATION_JSON) + public Response doLogin(@Context HttpServletRequest req, Map auth) { + String login = (String) auth.get("user"); + String pass = (String) auth.get("pass"); + + EvoResponseBean rsp = new EvoResponseBean(); + EvoMessageBean mb = new EvoMessageBean(); + rsp.addMessage(mb); + + EvoUsrUserData user = null; + + try + { + ///TODO integração com o springsecurity que esta em falta devido a nao ser usado de momento + ///TODO adicionar o envio de permissoes para o interface grafico poder ligar/desligar funcionalidades + user = UsersDataProvider.getProvider().loadUserByUsernamePasswordActive(login, pass, null); + if(user != null ) + { + user.setLast_login(new Timestamp(System.currentTimeMillis())); + user.save(); + req.getSession().setAttribute("user", user); + + Map loginData = new HashMap(); + loginData.put("username", user.getName()); + + List tfl = fichasProvidersBean.getENTITY_PROVIDER().listLoad(FcTipoFichaData.class, new Field(FcTipoFichaData.DELETED_STAMP).isEqual(null), new String[]{FcTipoFichaData.DESCRICAO}, null); + List tflBean = new LinkedList(); + for(FcTipoFichaData i : tfl) + { + FcTipoFichaBeanData ib = new FcTipoFichaBeanData(); + ib.setMapData(i.getPropertiesValues(new String[]{FcTipoFichaData.ID,FcTipoFichaData.DESCRICAO})); + tflBean.add(ib); + } + loginData.put("tipoFichas", tflBean); + + + rsp.setData(loginData); + rsp.setSuccess(true); + mb.setType(EvoMessageTypeBean.INFO); + mb.setMessageData("login com sucesso"); + } + else + { + rsp.setData(false); + rsp.setSuccess(false); + mb.setType(EvoMessageTypeBean.SECURITYEXCEPTION); + mb.setMessageData("utilizador e/ou password inválidos"); + } + + + } + catch (Exception e) + { + rsp.setData(false); + rsp.setSuccess(false); + mb.setType(EvoMessageTypeBean.ERROR); + mb.setMessageData("Erro no processo de validação do login!"); + } + + return Response.status(200).entity(rsp).build(); + + } + + + @GET + @Path("/checkLogin") + @Produces(MediaType.APPLICATION_JSON) + public Response checkLogin(@Context HttpServletRequest req) { + EvoResponseBean rsp = new EvoResponseBean(); + EvoMessageBean mb = new EvoMessageBean(); + rsp.addMessage(mb); + + if(req.getSession().getAttribute("user") != null ) + { + try + { + EvoUsrUserData user = (EvoUsrUserData) req.getSession().getAttribute("user"); + + Map loginData = new HashMap(); + loginData.put("username", user.getName()); + + List tfl = fichasProvidersBean.getENTITY_PROVIDER().listLoad(FcTipoFichaData.class, new Field(FcTipoFichaData.DELETED_STAMP).isEqual(null), new String[]{FcTipoFichaData.DESCRICAO}, null); + List tflBean = new LinkedList(); + for(FcTipoFichaData i : tfl) + { + FcTipoFichaBeanData ib = new FcTipoFichaBeanData(); + ib.setMapData(i.getPropertiesValues(new String[]{FcTipoFichaData.ID,FcTipoFichaData.DESCRICAO})); + tflBean.add(ib); + } + loginData.put("tipoFichas", tflBean); + + + rsp.setData(loginData); + + + rsp.setSuccess(true); + mb.setType(EvoMessageTypeBean.INFO); + mb.setMessageData("sessão activa"); + } + catch (Exception e) + { + rsp.setData(false); + rsp.setSuccess(false); + mb.setType(EvoMessageTypeBean.ERROR); + mb.setMessageData("Erro no processo de validação do login!"); + } + + } + else + { + rsp.setData(false); + rsp.setSuccess(false); + mb.setType(EvoMessageTypeBean.SECURITYEXCEPTION); + mb.setMessageData("sem sessão ou sessão expirada"); + } + + return Response.status(200).entity(rsp).build(); + } + + + @POST + @Path("/doLogout") + @Produces(MediaType.APPLICATION_JSON) + public Response doLogout(@Context HttpServletRequest req) { + EvoResponseBean rsp = new EvoResponseBean(); + EvoMessageBean mb = new EvoMessageBean(); + rsp.addMessage(mb); + + req.getSession().removeAttribute("user"); + + rsp.setData(true); + rsp.setSuccess(true); + mb.setType(EvoMessageTypeBean.INFO); + mb.setMessageData("logout com sucesso"); + + + return Response.status(200).entity(rsp).build(); + } + + @GET + @Path("/getResumoTrabalhador") + @Produces(MediaType.APPLICATION_JSON) + public Response getResumoTrabalhador(@Context HttpServletRequest req, @DefaultValue("0") @QueryParam("trabalhadorID") int trabalhadorID) { + EvoResponseBean rsp = new EvoResponseBean(); + EvoMessageBean mb = new EvoMessageBean(); + + + if(req.getSession().getAttribute("user") != null ) + { + try + { + TrabalhadorResumeBean tr = new TrabalhadorResumeBean(); + + + TrabalhadoresData trab = siprpProvidersBean.getENTITY_PROVIDER().load(TrabalhadoresData.class, trabalhadorID); + FcFichaBeanData dadosTrab = new FcFichaBeanData(); + + dadosTrab.setTrabalhador_id(trab.getId()); + dadosTrab.setTrabalhador_nome(trab.getNome()); + dadosTrab.setTrabalhador_sexo(trab.getSexo().toUpperCase()); + dadosTrab.setTrabalhador_data_nascimento(trab.getData_nascimento()); + dadosTrab.setTrabalhador_data_admissao(trab.getData_admissao()); + dadosTrab.setTrabalhador_funcao_actual(trab.getFuncao_proposta()); + dadosTrab.setTrabalhador_posto(trab.getLocal_trabalho()); + dadosTrab.setEstabelecimento_id(trab.getEstabelecimento_id()); + + EstabelecimentosData est = trab.toEstabelecimento_id(); + dadosTrab.setEstabelecimento_localidade(est.getLocalidade()); + dadosTrab.setEstabelecimento_nome(est.getNome()); + dadosTrab.setEmpresa_id(est.getEmpresa_id()); + + EmpresasData emp = est.toEmpresa_id(); + dadosTrab.setEmpresa_designacao_social(emp.getDesignacao_social()); + dadosTrab.setEmpresa_ramo_actividade(emp.getActividade()); + tr.setDadosTrabalhador(dadosTrab); + + List fichasBD = fichasProvidersBean.getENTITY_PROVIDER().listLoad(FcFichaData.class, new Field(FcFichaData.TRABALHADOR_ID).isEqual(trabalhadorID).and(new Field(FcFichaData.DELETED_STAMP).isEqual(null)), null, null); + List fichas = new LinkedList(); + + for(FcFichaData fbd : fichasBD) + { + FichaResumeBean fichaR = new FichaResumeBean(); + fichaR.setId(fbd.getId()); + fichaR.setData(fbd.getCreated_stamp()); + String tipo_str = "-INDEFINIDO-"; + FcTipoFicha tipo = fbd.toTipo_ficha_id() ; + if(tipo != null) + { + tipo_str = tipo.getDescricao(); + } + fichaR.setTipo(tipo_str); + fichaR.setResponsavel(fbd.getCreated_user_name()); + fichaR.setEditable(true); + fichaR.setConcluido(fbd.getData_conclusao()!=null); + + fichas.add(fichaR); + } + + tr.setFichas(fichas); + + rsp.setSuccess(true); + rsp.setData(tr); + + } + catch (Exception e) + { + rsp.setSuccess(false); + mb.setType(EvoMessageTypeBean.ERROR); + mb.setMessageData("Ocorreu um erro ao carregar os dados do Trabalhador"); + rsp.addMessage(mb); + e.printStackTrace(); + } + + } + else + { + rsp.setData(false); + rsp.setSuccess(false); + mb.setType(EvoMessageTypeBean.SECURITYEXCEPTION); + mb.setMessageData("Sem sessão ou sessão expirada"); + rsp.addMessage(mb); + } + + return Response.status(200).entity(rsp).build(); + } + + } diff --git a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxrs/JSONSQLDateSerializer.java b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxrs/JSONSQLDateSerializer.java new file mode 100644 index 00000000..c727aa93 --- /dev/null +++ b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxrs/JSONSQLDateSerializer.java @@ -0,0 +1,23 @@ +package shst.medicina.fichasclinicas.webservices.jaxrs; + +import java.io.IOException; +import java.sql.Date; +import java.text.SimpleDateFormat; + +import org.codehaus.jackson.JsonGenerator; +import org.codehaus.jackson.JsonProcessingException; +import org.codehaus.jackson.map.JsonSerializer; +import org.codehaus.jackson.map.SerializerProvider; + +public class JSONSQLDateSerializer extends JsonSerializer{ + + private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"); + + @Override + public void serialize(Date date, JsonGenerator gen, SerializerProvider provider) throws IOException, JsonProcessingException + { + String formattedDate = dateFormat.format(date); + gen.writeString(formattedDate); + } + +} diff --git a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxrs/JSONSQLDateSerializerModule.java b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxrs/JSONSQLDateSerializerModule.java new file mode 100644 index 00000000..577aacd3 --- /dev/null +++ b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxrs/JSONSQLDateSerializerModule.java @@ -0,0 +1,73 @@ +package shst.medicina.fichasclinicas.webservices.jaxrs; + +import java.io.IOException; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; + +import org.codehaus.jackson.JsonParser; +import org.codehaus.jackson.JsonProcessingException; +import org.codehaus.jackson.Version; +import org.codehaus.jackson.map.DeserializationContext; +import org.codehaus.jackson.map.JsonDeserializer; +import org.codehaus.jackson.map.Module; +import org.codehaus.jackson.map.module.SimpleAbstractTypeResolver; +import org.codehaus.jackson.map.module.SimpleDeserializers; +import org.codehaus.jackson.map.module.SimpleSerializers; + +public class JSONSQLDateSerializerModule extends Module { + + @Override + public String getModuleName() { + return "JSONSQLDateSerializerModule"; + } + + @Override + public void setupModule(SetupContext context) { + SimpleSerializers ss = new SimpleSerializers(); + + ss.addSerializer(java.sql.Date.class, new JSONSQLDateSerializer()); + + context.addSerializers(ss); + + + SimpleDeserializers ds = new SimpleDeserializers(); + + ds.addDeserializer(java.util.Date.class, new JsonDeserializer(){ + private final SimpleDateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"); + private final SimpleDateFormat dateFormat2 = new SimpleDateFormat("yyyy-MM-dd"); + + @Override + public Date deserialize(JsonParser arg0, DeserializationContext arg1) throws IOException, JsonProcessingException { + + java.util.Date dd = null; + try + { + dd = dateFormat1.parse(arg0.getText()); + } + catch(ParseException pel1) + { + try + { + dd = dateFormat2.parse(arg0.getText()); + } + catch(ParseException pel2) + { + throw new IOException(arg0.getText()); + } + } + + + + return dd; + }}); + + context.addDeserializers(ds); + } + + @Override + public Version version() { + return new Version(0, 0, 0, "boot"); + } + +} diff --git a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxrs/ObjectMapperResolver.java b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxrs/ObjectMapperResolver.java index 2401f5a4..3f8d6fab 100644 --- a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxrs/ObjectMapperResolver.java +++ b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxrs/ObjectMapperResolver.java @@ -1,5 +1,7 @@ package shst.medicina.fichasclinicas.webservices.jaxrs; +import java.text.SimpleDateFormat; + import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import javax.ws.rs.ext.ContextResolver; @@ -19,11 +21,19 @@ public class ObjectMapperResolver implements ContextResolver { public ObjectMapperResolver() { mapper = new ObjectMapper(); - //mapper.enable(Feature.INDENT_OUTPUT); - mapper.setSerializationInclusion(Inclusion.NON_EMPTY); + mapper.enable(Feature.INDENT_OUTPUT); + //mapper.setSerializationInclusion(Inclusion.NON_EMPTY); mapper.setVisibility(JsonMethod.GETTER, Visibility.NONE); mapper.setVisibility(JsonMethod.FIELD, Visibility.ANY); + // para formatar as datas em ISO8601 + // -datas normais + mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ")); + // -datas em java.sql.date + mapper.registerModule(new JSONSQLDateSerializerModule()); + + + } @Override diff --git a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxrs/RestAppConfig.java b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxrs/RestAppConfig.java index bd7472cf..25322d8e 100644 --- a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxrs/RestAppConfig.java +++ b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxrs/RestAppConfig.java @@ -10,9 +10,11 @@ public class RestAppConfig extends ResourceConfig { public RestAppConfig () { - //register(ObjectMapperResolver.class); + register(ObjectMapperResolver.class); + register(JSONSQLDateSerializer.class); register(FichasClinicasImpl.class); register(RequestContextFilter.class); register(JacksonFeature.class); + } } diff --git a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxws/FichasClinicas.java b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxws/FichasClinicas.java index c1b94bbd..055d5e11 100644 --- a/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxws/FichasClinicas.java +++ b/trunk/SiprpWebFichasClinicas/src/shst/medicina/fichasclinicas/webservices/jaxws/FichasClinicas.java @@ -9,7 +9,7 @@ import shst.medicina.fichasclinicas.beans.EvoResponseBean; @WebService() @SOAPBinding( style = Style.DOCUMENT ) -public interface FichasClinicas extends shst.medicina.fichasclinicas.webservices.FichasClinicas +public interface FichasClinicas extends shst.medicina.fichasclinicas.webservices.IFichasClinicas { }