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
{
}