forked from Coded/SIPRP
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1590 lines
61 KiB
1590 lines
61 KiB
package shst.medicina.fichasclinicas.logic;
|
|
|
|
import java.sql.Timestamp;
|
|
import java.util.Arrays;
|
|
import java.util.Date;
|
|
import java.util.HashMap;
|
|
import java.util.HashSet;
|
|
import java.util.LinkedList;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Set;
|
|
import java.util.logging.Level;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
import shst.medicina.fichasclinicas.beans.EvoMessageBean;
|
|
import shst.medicina.fichasclinicas.beans.EvoMessageTypeBean;
|
|
import shst.medicina.fichasclinicas.beans.EvoResponseBean;
|
|
import shst.medicina.fichasclinicas.beans.FcFichaConclusoesBeanDataExt;
|
|
import shst.medicina.fichasclinicas.beans.FichaBDDataBean;
|
|
import shst.medicina.fichasclinicas.beans.FichaExchangeBean;
|
|
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;
|
|
import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaAntecedentesOcupacionaisAcidentesTrabalhoBeanData;
|
|
import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaAntecedentesOcupacionaisActividadesAnterioresBeanData;
|
|
import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaAntecedentesOcupacionaisBeanData;
|
|
import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaAntecedentesOcupacionaisDoencasProfissionaisBeanData;
|
|
import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaAntecedentesPessoaisBeanData;
|
|
import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaAntecedentesPessoaisCirurgiasBeanData;
|
|
import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaAntecedentesPessoaisFracturasBeanData;
|
|
import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaAntecedentesPessoaisInternamentosBeanData;
|
|
import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaAptidaoBeanData;
|
|
import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaBeanData;
|
|
import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaClassificacaoIndividualSaudeBeanData;
|
|
import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaDoencasActivasBeanData;
|
|
import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaEsquemaVacinalBeanData;
|
|
import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaExameObjectivoBeanData;
|
|
import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaHabitosBeanData;
|
|
import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaInformacaoPeriodicaBeanData;
|
|
import shst.medicina.fichasclinicas.beans.fichasclinicas.FcFichaProblemasSolucoesBeanData;
|
|
import shst.medicina.fichasclinicas.beans.fichasclinicas.FcMotivosBeanData;
|
|
import shst.medicina.fichasclinicas.beans.fichasclinicas.TrbEstadoCivilBeanData;
|
|
import shst.medicina.fichasclinicas.beans.fichasclinicas.TrbHabilitacoesBeanData;
|
|
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.FcFichaAntecedentesPessoaisCirurgiasData;
|
|
import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaAntecedentesPessoaisData;
|
|
import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaAntecedentesPessoaisFracturasData;
|
|
import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaAntecedentesPessoaisInternamentosData;
|
|
import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaAptidaoData;
|
|
import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaClassificacaoIndividualSaudeData;
|
|
import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaConclusoesData;
|
|
import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaData;
|
|
import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaDoencasActivasData;
|
|
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.FcFichaInformacaoPeriodicaData;
|
|
import shst.medicina.fichasclinicas.data.fichasclinicas.FcFichaProblemasSolucoesData;
|
|
import shst.medicina.fichasclinicas.data.fichasclinicas.FcMotivosData;
|
|
import shst.medicina.fichasclinicas.data.fichasclinicas.FcTipoFichaData;
|
|
import shst.medicina.fichasclinicas.data.fichasclinicas.TrbEstadoCivilData;
|
|
import shst.medicina.fichasclinicas.data.fichasclinicas.TrbHabilitacoesData;
|
|
import shst.medicina.fichasclinicas.data.fichasclinicas.inner.FcTipoFicha;
|
|
import shst.medicina.fichasclinicas.data.shst.EmpresasData;
|
|
import shst.medicina.fichasclinicas.data.shst.EstabelecimentosData;
|
|
import shst.medicina.fichasclinicas.data.shst.TrabalhadoresData;
|
|
import shst.medicina.fichasclinicas.provider.FichasClinicasDataProvider;
|
|
|
|
import com.evolute.module.utilizadores.data.EvoUsrUserData;
|
|
import com.evolute.utils.error.ErrorLogger;
|
|
|
|
|
|
public class FichasClinicasLogic
|
|
{
|
|
|
|
@Autowired(required = true)
|
|
FichasClinicasDataProvider fichasProvider;
|
|
|
|
private static final String[] EMPRESAS_D_to_B = new String[]{EmpresasData.ID,EmpresasData.DESIGNACAO_SOCIAL};
|
|
private static final String[] ESTABELECIMENTOS_D_to_B = new String[]{EstabelecimentosData.ID,EstabelecimentosData.NOME};
|
|
private static final String[] TRABALHADORES_D_to_B = new String[]{TrabalhadoresData.ID,TrabalhadoresData.NOME};
|
|
|
|
private static final String[] FcFicha_D_to_B ;
|
|
private static final String[] FcFichaAntecedentesOcupacionais_D_to_B ;
|
|
private static final String[] FcFichaAntecedentesOcupacionaisAcidentesTrabalho_D_to_B ;
|
|
private static final String[] FcFichaAntecedentesOcupacionaisActividadesAnteriores_D_to_B ;
|
|
private static final String[] FcFichaAntecedentesOcupacionaisDoencasProfissionais_D_to_B ;
|
|
private static final String[] FcFichaAbsentismo_D_to_B ;
|
|
private static final String[] FcFichaActividade_D_to_B ;
|
|
private static final String[] FcFichaAntecedentesFamiliares_D_to_B ;
|
|
private static final String[] FcFichaAntecedentesPessoais_D_to_B ;
|
|
private static final String[] FcFichaAntecedentesPessoaisCirurgias_D_to_B ;
|
|
private static final String[] FcFichaAntecedentesPessoaisFracturas_D_to_B ;
|
|
private static final String[] FcFichaAntecedentesPessoaisInternamentos_D_to_B ;
|
|
private static final String[] FcFichaClassificacaoIndividualSaude_D_to_B ;
|
|
private static final String[] FcFichaConclusoes_D_to_B ;
|
|
private static final String[] FcFichaDoencasActivas_D_to_B ;
|
|
private static final String[] FcFichaEsquemaVacinal_D_to_B ;
|
|
private static final String[] FcFichaExameObjectivo_D_to_B ;
|
|
private static final String[] FcFichaHabitos_D_to_B ;
|
|
private static final String[] FcFichaProblemasSolucoes_D_to_B ;
|
|
private static final String[] FcFichaInformacaoPeriodica_D_to_B ;
|
|
|
|
private static final String[] FcFichaAptidao_D_to_B ;
|
|
|
|
static
|
|
{
|
|
List<String> fieldsToClean = Arrays.asList( new String[]{FcFichaData.CREATED_STAMP, FcFichaData.CREATED_USER_ID, FcFichaData.CREATED_USER_NAME, FcFichaData.DELETED_STAMP, FcFichaData.DELETED_USER_ID, FcFichaData.DELETED_USER_NAME});
|
|
List<String> tmp = new LinkedList<String>();
|
|
|
|
tmp.addAll(Arrays.asList(FcFichaData.FIELD_NAMES));
|
|
tmp.add(FcFichaData.ID);
|
|
tmp.removeAll(fieldsToClean);
|
|
FcFicha_D_to_B = tmp.toArray(new String[]{});
|
|
|
|
tmp.clear();
|
|
tmp.addAll(Arrays.asList(FcFichaAntecedentesOcupacionaisData.FIELD_NAMES));
|
|
tmp.add(FcFichaAntecedentesOcupacionaisData.ID);
|
|
tmp.removeAll(fieldsToClean);
|
|
FcFichaAntecedentesOcupacionais_D_to_B = tmp.toArray(new String[]{});
|
|
|
|
tmp.clear();
|
|
tmp.addAll(Arrays.asList(FcFichaAntecedentesOcupacionaisAcidentesTrabalhoData.FIELD_NAMES));
|
|
tmp.add(FcFichaAntecedentesOcupacionaisAcidentesTrabalhoData.ID);
|
|
tmp.removeAll(fieldsToClean);
|
|
FcFichaAntecedentesOcupacionaisAcidentesTrabalho_D_to_B = tmp.toArray(new String[]{});
|
|
|
|
tmp.clear();
|
|
tmp.addAll(Arrays.asList(FcFichaAntecedentesOcupacionaisActividadesAnterioresData.FIELD_NAMES));
|
|
tmp.add(FcFichaAntecedentesOcupacionaisActividadesAnterioresData.ID);
|
|
tmp.removeAll(fieldsToClean);
|
|
FcFichaAntecedentesOcupacionaisActividadesAnteriores_D_to_B = tmp.toArray(new String[]{});
|
|
|
|
tmp.clear();
|
|
tmp.addAll(Arrays.asList(FcFichaAntecedentesOcupacionaisDoencasProfissionaisData.FIELD_NAMES));
|
|
tmp.add(FcFichaAntecedentesOcupacionaisDoencasProfissionaisData.ID);
|
|
tmp.removeAll(fieldsToClean);
|
|
FcFichaAntecedentesOcupacionaisDoencasProfissionais_D_to_B = tmp.toArray(new String[]{});
|
|
|
|
tmp.clear();
|
|
tmp.addAll(Arrays.asList(FcFichaAbsentismoData.FIELD_NAMES)) ;
|
|
tmp.add(FcFichaAbsentismoData.ID);
|
|
tmp.removeAll(fieldsToClean);
|
|
FcFichaAbsentismo_D_to_B = tmp.toArray(new String[]{});
|
|
|
|
tmp.clear();
|
|
tmp.addAll(Arrays.asList(FcFichaActividadeData.FIELD_NAMES));
|
|
tmp.add(FcFichaActividadeData.ID);
|
|
tmp.removeAll(fieldsToClean);
|
|
FcFichaActividade_D_to_B = tmp.toArray(new String[]{});
|
|
|
|
tmp.clear();
|
|
tmp.addAll(Arrays.asList(FcFichaAntecedentesFamiliaresData.FIELD_NAMES));
|
|
tmp.add(FcFichaAntecedentesFamiliaresData.ID);
|
|
tmp.removeAll(fieldsToClean);
|
|
FcFichaAntecedentesFamiliares_D_to_B = tmp.toArray(new String[]{});
|
|
|
|
tmp.clear();
|
|
tmp.addAll(Arrays.asList(FcFichaAntecedentesPessoaisData.FIELD_NAMES));
|
|
tmp.add(FcFichaAntecedentesPessoaisData.ID);
|
|
tmp.removeAll(fieldsToClean);
|
|
FcFichaAntecedentesPessoais_D_to_B = tmp.toArray(new String[]{});
|
|
|
|
tmp.clear();
|
|
tmp.addAll(Arrays.asList(FcFichaAntecedentesPessoaisCirurgiasData.FIELD_NAMES));
|
|
tmp.add(FcFichaAntecedentesPessoaisCirurgiasData.ID);
|
|
tmp.removeAll(fieldsToClean);
|
|
FcFichaAntecedentesPessoaisCirurgias_D_to_B = tmp.toArray(new String[]{});
|
|
|
|
tmp.clear();
|
|
tmp.addAll(Arrays.asList(FcFichaAntecedentesPessoaisFracturasData.FIELD_NAMES));
|
|
tmp.add(FcFichaAntecedentesPessoaisFracturasData.ID);
|
|
tmp.removeAll(fieldsToClean);
|
|
FcFichaAntecedentesPessoaisFracturas_D_to_B = tmp.toArray(new String[]{});
|
|
|
|
tmp.clear();
|
|
tmp.addAll(Arrays.asList(FcFichaAntecedentesPessoaisInternamentosData.FIELD_NAMES));
|
|
tmp.add(FcFichaAntecedentesPessoaisInternamentosData.ID);
|
|
tmp.removeAll(fieldsToClean);
|
|
FcFichaAntecedentesPessoaisInternamentos_D_to_B = tmp.toArray(new String[]{});
|
|
|
|
tmp.clear();
|
|
tmp.addAll(Arrays.asList(FcFichaClassificacaoIndividualSaudeData.FIELD_NAMES));
|
|
tmp.add(FcFichaClassificacaoIndividualSaudeData.ID);
|
|
tmp.removeAll(fieldsToClean);
|
|
FcFichaClassificacaoIndividualSaude_D_to_B = tmp.toArray(new String[]{});
|
|
|
|
tmp.clear();
|
|
tmp.addAll(Arrays.asList(FcFichaConclusoesData.FIELD_NAMES));
|
|
tmp.add(FcFichaConclusoesData.ID);
|
|
tmp.removeAll(fieldsToClean);
|
|
FcFichaConclusoes_D_to_B = tmp.toArray(new String[]{});
|
|
|
|
tmp.clear();
|
|
tmp.addAll(Arrays.asList(FcFichaDoencasActivasData.FIELD_NAMES));
|
|
tmp.add(FcFichaDoencasActivasData.ID);
|
|
tmp.removeAll(fieldsToClean);
|
|
FcFichaDoencasActivas_D_to_B = tmp.toArray(new String[]{});
|
|
|
|
tmp.clear();
|
|
tmp.addAll(Arrays.asList(FcFichaEsquemaVacinalData.FIELD_NAMES));
|
|
tmp.add(FcFichaEsquemaVacinalData.ID);
|
|
tmp.removeAll(fieldsToClean);
|
|
FcFichaEsquemaVacinal_D_to_B = tmp.toArray(new String[]{});
|
|
|
|
tmp.clear();
|
|
tmp.addAll(Arrays.asList(FcFichaExameObjectivoData.FIELD_NAMES));
|
|
tmp.add(FcFichaExameObjectivoData.ID);
|
|
tmp.removeAll(fieldsToClean);
|
|
FcFichaExameObjectivo_D_to_B = tmp.toArray(new String[]{});
|
|
|
|
tmp.clear();
|
|
tmp.addAll(Arrays.asList(FcFichaHabitosData.FIELD_NAMES));
|
|
tmp.add(FcFichaHabitosData.ID);
|
|
tmp.removeAll(fieldsToClean);
|
|
FcFichaHabitos_D_to_B = tmp.toArray(new String[]{});
|
|
|
|
tmp.clear();
|
|
tmp.addAll(Arrays.asList(FcFichaProblemasSolucoesData.FIELD_NAMES));
|
|
tmp.add(FcFichaProblemasSolucoesData.ID);
|
|
tmp.removeAll(fieldsToClean);
|
|
FcFichaProblemasSolucoes_D_to_B = tmp.toArray(new String[]{});
|
|
|
|
tmp.clear();
|
|
tmp.addAll(Arrays.asList(FcFichaInformacaoPeriodicaData.FIELD_NAMES));
|
|
tmp.add(FcFichaInformacaoPeriodicaData.ID);
|
|
tmp.removeAll(fieldsToClean);
|
|
FcFichaInformacaoPeriodica_D_to_B = tmp.toArray(new String[]{});
|
|
|
|
tmp.clear();
|
|
tmp.addAll(Arrays.asList(FcFichaAptidaoData.FIELD_NAMES));
|
|
tmp.add(FcFichaAptidaoData.ID);
|
|
tmp.removeAll(fieldsToClean);
|
|
FcFichaAptidao_D_to_B = tmp.toArray(new String[]{});
|
|
}
|
|
|
|
|
|
private static final String ADM_COD = "ADMISSAO";
|
|
private static final String PER_INI_COD = "PERIODICA_INICIAL";
|
|
private static final String PER_COD = "PERIODICA";
|
|
private static final String OCA_COD = "OCASIONAL";
|
|
private static final String OCA_PREFIX = "OC_";
|
|
private static final String ENF_COD = "ENFERMAGEM";
|
|
// private static final String ENF_PREFIX = "MC_ENF_";
|
|
private static final String MDC_COD = "MEDICINA_CURATIVA";
|
|
// private static final String MDC_PREFIX = "MC_ENF_";
|
|
private static final String MDC_ENF_PREFIX = "MC_ENF_";
|
|
|
|
private Map<String,Object> filtra(Map<String,Object> in, String[] filtro)
|
|
{
|
|
Map<String,Object> out = new HashMap<String, Object>();
|
|
List<String> to_filter = Arrays.asList(filtro);
|
|
for(String f : in.keySet())
|
|
{
|
|
if(to_filter.contains(f))
|
|
{
|
|
out.put(f, in.get(f));
|
|
}
|
|
}
|
|
|
|
return out;
|
|
}
|
|
|
|
|
|
|
|
public EvoResponseBean<List<EmpresasBeanData>> getEmpresas(EvoUsrUserData user, String filter)
|
|
{
|
|
EvoResponseBean<List<EmpresasBeanData>> result = new EvoResponseBean<List<EmpresasBeanData>>();
|
|
if(user != null)
|
|
{
|
|
try
|
|
{
|
|
List<EmpresasBeanData> outSet = new LinkedList<EmpresasBeanData>();
|
|
for(EmpresasData in : fichasProvider.getEmpresas(user.getId(), filter))
|
|
{
|
|
EmpresasBeanData out = new EmpresasBeanData();
|
|
out.setMapData(in.getPropertiesValues(EMPRESAS_D_to_B));
|
|
outSet.add(out);
|
|
}
|
|
|
|
result.setSuccess(true);
|
|
result.setData(outSet);
|
|
}
|
|
catch(Exception ex)
|
|
{
|
|
result.setSuccess(false);
|
|
EvoMessageBean msg = new EvoMessageBean();
|
|
msg.setType(EvoMessageTypeBean.ERROR);
|
|
msg.setMessageData("Erro ao comunicar com a Base de dados!");
|
|
result.addMessage(msg);
|
|
ErrorLogger.logException(ex, Level.SEVERE);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
result.setSuccess(false);
|
|
EvoMessageBean msg = new EvoMessageBean();
|
|
msg.setType(EvoMessageTypeBean.SESSIONTIMEOUT);
|
|
msg.setMessageData("Utilizador asssociado à sessão inválido/inexistente!");
|
|
result.addMessage(msg);
|
|
}
|
|
return result;
|
|
}
|
|
|
|
public EvoResponseBean<List<EstabelecimentosBeanData>> getEstabelecimentos(EvoUsrUserData user, Integer empresaID, String filter)
|
|
{
|
|
EvoResponseBean<List<EstabelecimentosBeanData>> result = new EvoResponseBean<List<EstabelecimentosBeanData>>();
|
|
if(user != null)
|
|
{
|
|
try
|
|
{
|
|
List<EstabelecimentosBeanData> outSet = new LinkedList<EstabelecimentosBeanData>();
|
|
for(EstabelecimentosData in : fichasProvider.getEstabelecimentos(user.getId(), empresaID, filter))
|
|
{
|
|
EstabelecimentosBeanData out = new EstabelecimentosBeanData();
|
|
out.setMapData(in.getPropertiesValues(ESTABELECIMENTOS_D_to_B));
|
|
outSet.add(out);
|
|
}
|
|
|
|
result.setSuccess(true);
|
|
result.setData(outSet);
|
|
}
|
|
catch(Exception ex)
|
|
{
|
|
result.setSuccess(false);
|
|
EvoMessageBean msg = new EvoMessageBean();
|
|
msg.setType(EvoMessageTypeBean.ERROR);
|
|
msg.setMessageData("Erro ao comunicar com a Base de dados!");
|
|
result.addMessage(msg);
|
|
ErrorLogger.logException(ex, Level.SEVERE);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
result.setSuccess(false);
|
|
EvoMessageBean msg = new EvoMessageBean();
|
|
msg.setType(EvoMessageTypeBean.SESSIONTIMEOUT);
|
|
msg.setMessageData("Utilizador asssociado à sessão inválido/inexistente!");
|
|
result.addMessage(msg);
|
|
}
|
|
return result;
|
|
}
|
|
|
|
public EvoResponseBean<List<TrabalhadoresBeanData>> getTrabalhadores(EvoUsrUserData user, Integer estabelecimentoID, String filter)
|
|
{
|
|
EvoResponseBean<List<TrabalhadoresBeanData>> result = new EvoResponseBean<List<TrabalhadoresBeanData>>();
|
|
if(user != null)
|
|
{
|
|
try
|
|
{
|
|
List<TrabalhadoresBeanData> outSet = new LinkedList<TrabalhadoresBeanData>();
|
|
for(TrabalhadoresData in : fichasProvider.getTrabalhadores(user.getId(), estabelecimentoID, filter))
|
|
{
|
|
TrabalhadoresBeanData out = new TrabalhadoresBeanData();
|
|
out.setMapData(in.getPropertiesValues(TRABALHADORES_D_to_B));
|
|
outSet.add(out);
|
|
}
|
|
|
|
result.setSuccess(true);
|
|
result.setData(outSet);
|
|
}
|
|
catch(Exception ex)
|
|
{
|
|
result.setSuccess(false);
|
|
EvoMessageBean msg = new EvoMessageBean();
|
|
msg.setType(EvoMessageTypeBean.ERROR);
|
|
msg.setMessageData("Erro ao comunicar com a Base de dados!");
|
|
result.addMessage(msg);
|
|
ErrorLogger.logException(ex, Level.SEVERE);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
result.setSuccess(false);
|
|
EvoMessageBean msg = new EvoMessageBean();
|
|
msg.setType(EvoMessageTypeBean.SESSIONTIMEOUT);
|
|
msg.setMessageData("Utilizador asssociado à sessão inválido/inexistente!");
|
|
result.addMessage(msg);
|
|
}
|
|
return result;
|
|
}
|
|
|
|
public EvoResponseBean<TrabalhadorResumeBean> loadTrabalhadorResume(EvoUsrUserData user, Integer trabalhadorID)
|
|
{
|
|
EvoResponseBean<TrabalhadorResumeBean> result = new EvoResponseBean<TrabalhadorResumeBean>();
|
|
if(user != null)
|
|
{
|
|
try
|
|
{
|
|
TrabalhadoresData trab = fichasProvider.getTrabalhador(user.getId(), trabalhadorID, false);
|
|
if(trab != null)
|
|
{
|
|
TrabalhadorResumeBean resultData = new TrabalhadorResumeBean();
|
|
|
|
FcFichaBeanData dadosTrabalhador = new FcFichaBeanData();
|
|
dadosTrabalhador.setTrabalhador_id(trab.getId());
|
|
dadosTrabalhador.setTrabalhador_nome(trab.getNome());
|
|
dadosTrabalhador.setTrabalhador_sexo(trab.getSexo().toUpperCase());
|
|
dadosTrabalhador.setTrabalhador_data_nascimento(trab.getData_nascimento());
|
|
dadosTrabalhador.setTrabalhador_data_admissao(trab.getData_admissao());
|
|
dadosTrabalhador.setTrabalhador_funcao_actual(trab.getFuncao_proposta());
|
|
dadosTrabalhador.setTrabalhador_posto(trab.getLocal_trabalho());
|
|
dadosTrabalhador.setEstabelecimento_id(trab.getEstabelecimento_id());
|
|
EstabelecimentosData estabelecimento = trab.toEstabelecimento_id();
|
|
if(estabelecimento != null)
|
|
{
|
|
dadosTrabalhador.setEstabelecimento_localidade(estabelecimento.getLocalidade());
|
|
dadosTrabalhador.setEstabelecimento_nome(estabelecimento.getNome());
|
|
dadosTrabalhador.setEmpresa_id(estabelecimento.getEmpresa_id());
|
|
EmpresasData empresa = estabelecimento.toEmpresa_id();
|
|
if(empresa != null)
|
|
{
|
|
dadosTrabalhador.setEmpresa_designacao_social(empresa.getDesignacao_social());
|
|
dadosTrabalhador.setEmpresa_ramo_actividade(empresa.getActividade());
|
|
}
|
|
}
|
|
resultData.setDadosTrabalhador(dadosTrabalhador);
|
|
|
|
List<FichaResumeBean> outSet = new LinkedList<FichaResumeBean>();
|
|
for(FcFichaData in : fichasProvider.getFichasTrabalhador(user.getId(), trabalhadorID))
|
|
{
|
|
FichaResumeBean out = new FichaResumeBean();
|
|
out.setId(in.getId());
|
|
out.setData(in.getCreated_stamp());
|
|
String tipo_str = "!INDEFINIDO!";
|
|
FcTipoFicha tipo = in.toTipo_ficha_id() ;
|
|
if(tipo != null)
|
|
{
|
|
tipo_str = tipo.getDescricao();
|
|
}
|
|
out.setTipo(tipo_str);
|
|
out.setResponsavel(in.getCreated_user_name());
|
|
out.setEditable(checkCanWrite(user.getId(),in.getId()));
|
|
out.setConcluido(in.getData_conclusao() != null);
|
|
out.setTipo_id(in.getTipo_ficha_id());
|
|
if(in.toAptidao_id() != null)
|
|
{
|
|
out.setEmissao_ficha_aptidao(in.toAptidao_id().getCreated_stamp());
|
|
}
|
|
outSet.add(out);
|
|
}
|
|
resultData.setFichas(outSet);
|
|
|
|
result.setSuccess(true);
|
|
result.setData(resultData);
|
|
}
|
|
else
|
|
{
|
|
result.setSuccess(false);
|
|
EvoMessageBean msg = new EvoMessageBean();
|
|
msg.setType(EvoMessageTypeBean.ERROR);
|
|
msg.setMessageData("Erro ao carregar Trabalhador!");
|
|
result.addMessage(msg);
|
|
}
|
|
}
|
|
catch(Exception ex)
|
|
{
|
|
result.setSuccess(false);
|
|
EvoMessageBean msg = new EvoMessageBean();
|
|
msg.setType(EvoMessageTypeBean.ERROR);
|
|
msg.setMessageData("Erro ao comunicar com a Base de dados!");
|
|
result.addMessage(msg);
|
|
ErrorLogger.logException(ex, Level.SEVERE);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
result.setSuccess(false);
|
|
EvoMessageBean msg = new EvoMessageBean();
|
|
msg.setType(EvoMessageTypeBean.SESSIONTIMEOUT);
|
|
msg.setMessageData("Utilizador asssociado à sessão inválido/inexistente!");
|
|
result.addMessage(msg);
|
|
}
|
|
return result;
|
|
}
|
|
|
|
public EvoResponseBean<FichaExchangeBean> getFicha(EvoUsrUserData user, Integer fichaID)
|
|
{
|
|
EvoResponseBean<FichaExchangeBean> result = new EvoResponseBean<FichaExchangeBean>();
|
|
if(user != null)
|
|
{
|
|
try
|
|
{
|
|
Boolean canRead = checkCanRead(user.getId(), fichaID);
|
|
|
|
if(canRead != null && canRead)
|
|
{
|
|
FcFichaData fichaBD = fichasProvider.getFicha(fichaID);
|
|
if(fichaBD != null)
|
|
{
|
|
FichaExchangeBean data = new FichaExchangeBean();
|
|
|
|
FcFichaBeanData fichaBean = new FcFichaBeanData();
|
|
|
|
fichaBean.setMapData(fichaBD.getPropertiesValues(FcFicha_D_to_B));
|
|
data.setFicha(fichaBean);
|
|
|
|
FcFichaAntecedentesOcupacionaisData anto =fichaBD.toAntecedentes_ocupacionais_id();
|
|
if(anto != null)
|
|
{
|
|
FcFichaAntecedentesOcupacionaisBeanData antoBean = new FcFichaAntecedentesOcupacionaisBeanData();
|
|
antoBean.setMapData(anto.getPropertiesValues(FcFichaAntecedentesOcupacionais_D_to_B));
|
|
data.setAntecentesOcupacionais(antoBean);
|
|
|
|
List<FcFichaAntecedentesOcupacionaisAcidentesTrabalhoData> antoat = anto.fromFcFichaAntecedentesOcupacionaisAcidentesTrabalho_antecedentes_ocupacionais_id();
|
|
LinkedList<FcFichaAntecedentesOcupacionaisAcidentesTrabalhoBeanData> antoatBean = new LinkedList<FcFichaAntecedentesOcupacionaisAcidentesTrabalhoBeanData>();
|
|
for(FcFichaAntecedentesOcupacionaisAcidentesTrabalhoData at : antoat)
|
|
{
|
|
if(at.getDeleted_stamp() == null)
|
|
{
|
|
FcFichaAntecedentesOcupacionaisAcidentesTrabalhoBeanData atBean = new FcFichaAntecedentesOcupacionaisAcidentesTrabalhoBeanData();
|
|
atBean.setMapData(at.getPropertiesValues(FcFichaAntecedentesOcupacionaisAcidentesTrabalho_D_to_B));
|
|
antoatBean.add(atBean);
|
|
}
|
|
}
|
|
data.setAntecentesOcupacionaisAcidentesTrabalho(antoatBean);
|
|
|
|
|
|
List<FcFichaAntecedentesOcupacionaisActividadesAnterioresData> antoaa = anto.fromFcFichaAntecedentesOcupacionaisActividadesAnteriores_antecedentes_ocupacionais_id();
|
|
LinkedList<FcFichaAntecedentesOcupacionaisActividadesAnterioresBeanData> antoaaBean = new LinkedList<FcFichaAntecedentesOcupacionaisActividadesAnterioresBeanData>();
|
|
for(FcFichaAntecedentesOcupacionaisActividadesAnterioresData at : antoaa)
|
|
{
|
|
if(at.getDeleted_stamp() == null)
|
|
{
|
|
FcFichaAntecedentesOcupacionaisActividadesAnterioresBeanData atBean = new FcFichaAntecedentesOcupacionaisActividadesAnterioresBeanData();
|
|
atBean.setMapData(at.getPropertiesValues(FcFichaAntecedentesOcupacionaisActividadesAnteriores_D_to_B));
|
|
antoaaBean.add(atBean);
|
|
}
|
|
}
|
|
data.setAntecentesOcupacionaisActividadesAnteriores(antoaaBean);
|
|
|
|
|
|
List<FcFichaAntecedentesOcupacionaisDoencasProfissionaisData> antodp = anto.fromFcFichaAntecedentesOcupacionaisDoencasProfissionais_antecedentes_ocupacionais_id();
|
|
LinkedList<FcFichaAntecedentesOcupacionaisDoencasProfissionaisBeanData> antodpBean = new LinkedList<FcFichaAntecedentesOcupacionaisDoencasProfissionaisBeanData>();
|
|
for(FcFichaAntecedentesOcupacionaisDoencasProfissionaisData at : antodp)
|
|
{
|
|
if(at.getDeleted_stamp() == null)
|
|
{
|
|
FcFichaAntecedentesOcupacionaisDoencasProfissionaisBeanData atBean = new FcFichaAntecedentesOcupacionaisDoencasProfissionaisBeanData();
|
|
atBean.setMapData(at.getPropertiesValues(FcFichaAntecedentesOcupacionaisDoencasProfissionais_D_to_B));
|
|
antodpBean.add(atBean);
|
|
}
|
|
}
|
|
data.setAntecentesOcupacionaisDoencasProfissionais(antodpBean);
|
|
|
|
}
|
|
|
|
FcFichaAbsentismoData abs = fichaBD.toAbsentismo_id();
|
|
if(abs != null)
|
|
{
|
|
FcFichaAbsentismoBeanData absBean = new FcFichaAbsentismoBeanData();
|
|
absBean.setMapData(abs.getPropertiesValues(FcFichaAbsentismo_D_to_B));
|
|
data.setAbsentismo(absBean);
|
|
}
|
|
|
|
FcFichaActividadeData act = fichaBD.toActividade_id();
|
|
if(act != null)
|
|
{
|
|
FcFichaActividadeBeanData actBean = new FcFichaActividadeBeanData();
|
|
actBean.setMapData(act.getPropertiesValues(FcFichaActividade_D_to_B));
|
|
data.setActividade(actBean);
|
|
}
|
|
|
|
FcFichaAntecedentesFamiliaresData antf = fichaBD.toAntecedentes_familiares_id();
|
|
if(antf != null)
|
|
{
|
|
FcFichaAntecedentesFamiliaresBeanData antfBean = new FcFichaAntecedentesFamiliaresBeanData();
|
|
antfBean.setMapData(antf.getPropertiesValues(FcFichaAntecedentesFamiliares_D_to_B));
|
|
data.setAntecedentesFamiliares(antfBean);
|
|
}
|
|
|
|
FcFichaAntecedentesPessoaisData antp = fichaBD.toAntecedentes_pessoais_id();
|
|
if(antp != null)
|
|
{
|
|
FcFichaAntecedentesPessoaisBeanData antpBean = new FcFichaAntecedentesPessoaisBeanData();
|
|
antpBean.setMapData(antp.getPropertiesValues(FcFichaAntecedentesPessoais_D_to_B));
|
|
data.setAntecedentesPessoais(antpBean);
|
|
{
|
|
List<FcFichaAntecedentesPessoaisCirurgiasData> antpc = antp.fromFcFichaAntecedentesPessoaisCirurgias_antecedentes_pessoais_id();
|
|
LinkedList<FcFichaAntecedentesPessoaisCirurgiasBeanData> antpcBean = new LinkedList<FcFichaAntecedentesPessoaisCirurgiasBeanData>();
|
|
for(FcFichaAntecedentesPessoaisCirurgiasData apc : antpc)
|
|
{
|
|
if(apc.getDeleted_stamp() == null)
|
|
{
|
|
FcFichaAntecedentesPessoaisCirurgiasBeanData apcBean = new FcFichaAntecedentesPessoaisCirurgiasBeanData();
|
|
apcBean.setMapData(apc.getPropertiesValues(FcFichaAntecedentesPessoaisCirurgias_D_to_B));
|
|
antpcBean.add(apcBean);
|
|
}
|
|
}
|
|
data.setAntecedentesPessoaisCirurgias(antpcBean);
|
|
}
|
|
|
|
{
|
|
List<FcFichaAntecedentesPessoaisFracturasData> antpc = antp.fromFcFichaAntecedentesPessoaisFracturas_antecedentes_pessoais_id();
|
|
LinkedList<FcFichaAntecedentesPessoaisFracturasBeanData> antpcBean = new LinkedList<FcFichaAntecedentesPessoaisFracturasBeanData>();
|
|
for(FcFichaAntecedentesPessoaisFracturasData apc : antpc)
|
|
{
|
|
if(apc.getDeleted_stamp() == null)
|
|
{
|
|
FcFichaAntecedentesPessoaisFracturasBeanData apcBean = new FcFichaAntecedentesPessoaisFracturasBeanData();
|
|
apcBean.setMapData(apc.getPropertiesValues(FcFichaAntecedentesPessoaisFracturas_D_to_B));
|
|
antpcBean.add(apcBean);
|
|
}
|
|
}
|
|
data.setAntecedentesPessoaisFracturas(antpcBean);
|
|
}
|
|
|
|
{
|
|
List<FcFichaAntecedentesPessoaisInternamentosData> antpc = antp.fromFcFichaAntecedentesPessoaisInternamentos_antecedentes_pessoais_id();
|
|
LinkedList<FcFichaAntecedentesPessoaisInternamentosBeanData> antpcBean = new LinkedList<FcFichaAntecedentesPessoaisInternamentosBeanData>();
|
|
for(FcFichaAntecedentesPessoaisInternamentosData apc : antpc)
|
|
{
|
|
if(apc.getDeleted_stamp() == null)
|
|
{
|
|
FcFichaAntecedentesPessoaisInternamentosBeanData apcBean = new FcFichaAntecedentesPessoaisInternamentosBeanData();
|
|
apcBean.setMapData(apc.getPropertiesValues(FcFichaAntecedentesPessoaisInternamentos_D_to_B));
|
|
antpcBean.add(apcBean);
|
|
}
|
|
}
|
|
data.setAntecedentesPessoaisInternamentos(antpcBean);
|
|
}
|
|
}
|
|
|
|
FcFichaClassificacaoIndividualSaudeData cis = fichaBD.toClassificacao_individual_saude_id();
|
|
if(cis != null)
|
|
{
|
|
FcFichaClassificacaoIndividualSaudeBeanData cisBean = new FcFichaClassificacaoIndividualSaudeBeanData();
|
|
cisBean.setMapData(cis.getPropertiesValues(FcFichaClassificacaoIndividualSaude_D_to_B));
|
|
data.setClassificacaoIndividualSaude(cisBean);
|
|
}
|
|
|
|
FcFichaConclusoesData cr = fichaBD.toConclusoes_id();
|
|
if(cr != null)
|
|
{
|
|
FcFichaConclusoesBeanDataExt crBean = new FcFichaConclusoesBeanDataExt();
|
|
crBean.setMapData(cr.getPropertiesValues(FcFichaConclusoes_D_to_B));
|
|
crBean.fillComputedRadios();
|
|
data.setConclusoesResumo(crBean);
|
|
}
|
|
|
|
FcFichaDoencasActivasData da = fichaBD.toDoencas_activas_id();
|
|
if(da != null)
|
|
{
|
|
FcFichaDoencasActivasBeanData daBean = new FcFichaDoencasActivasBeanData();
|
|
daBean.setMapData(da.getPropertiesValues(FcFichaDoencasActivas_D_to_B));
|
|
data.setDoencasActivas(daBean);
|
|
}
|
|
|
|
FcFichaEsquemaVacinalData ev = fichaBD.toEsquema_vacinal_id();
|
|
if(ev != null)
|
|
{
|
|
FcFichaEsquemaVacinalBeanData evBean = new FcFichaEsquemaVacinalBeanData();
|
|
evBean.setMapData(ev.getPropertiesValues(FcFichaEsquemaVacinal_D_to_B));
|
|
data.setEsquemaVacinal(evBean);
|
|
}
|
|
|
|
FcFichaExameObjectivoData eo = fichaBD.toExame_objectivo_id();
|
|
if(eo != null)
|
|
{
|
|
FcFichaExameObjectivoBeanData eoBean = new FcFichaExameObjectivoBeanData();
|
|
eoBean.setMapData(eo.getPropertiesValues(FcFichaExameObjectivo_D_to_B));
|
|
data.setExameObjectivo(eoBean);
|
|
}
|
|
|
|
FcFichaHabitosData fh = fichaBD.toHabitos_id();
|
|
if(fh != null)
|
|
{
|
|
FcFichaHabitosBeanData fhBean = new FcFichaHabitosBeanData();
|
|
fhBean.setMapData(fh.getPropertiesValues(FcFichaHabitos_D_to_B));
|
|
data.setHabitos(fhBean);
|
|
}
|
|
|
|
FcFichaProblemasSolucoesData ps = fichaBD.toProblemas_solucoes_id();
|
|
if(ps != null)
|
|
{
|
|
FcFichaProblemasSolucoesBeanData psBean = new FcFichaProblemasSolucoesBeanData();
|
|
psBean.setMapData(ps.getPropertiesValues(FcFichaProblemasSolucoes_D_to_B));
|
|
data.setProblemasSolucoes(psBean);
|
|
}
|
|
|
|
FcFichaInformacaoPeriodicaData fpd = fichaBD.toInformacao_periodica_id();
|
|
if(fpd != null)
|
|
{
|
|
FcFichaInformacaoPeriodicaBeanData fpdBean = new FcFichaInformacaoPeriodicaBeanData();
|
|
fpdBean.setMapData(fpd.getPropertiesValues(FcFichaInformacaoPeriodica_D_to_B));
|
|
data.setInformacaoPeriodica(fpdBean);
|
|
}
|
|
|
|
result.setSuccess(true);
|
|
result.setData(data);
|
|
}
|
|
else
|
|
{
|
|
result.setSuccess(false);
|
|
EvoMessageBean msg = new EvoMessageBean();
|
|
msg.setType(EvoMessageTypeBean.ERROR);
|
|
msg.setMessageData("Ficha Inválida!");
|
|
result.addMessage(msg);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
result.setSuccess(false);
|
|
EvoMessageBean msg = new EvoMessageBean();
|
|
msg.setType(EvoMessageTypeBean.SECURITYEXCEPTION);
|
|
msg.setMessageData("Erro sem permissão de leitura da ficha!");
|
|
result.addMessage(msg);
|
|
}
|
|
}
|
|
catch(Exception ex)
|
|
{
|
|
result.setSuccess(false);
|
|
EvoMessageBean msg = new EvoMessageBean();
|
|
msg.setType(EvoMessageTypeBean.ERROR);
|
|
msg.setMessageData("Erro ao comunicar com a Base de dados!");
|
|
result.addMessage(msg);
|
|
ErrorLogger.logException(ex, Level.SEVERE);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
result.setSuccess(false);
|
|
EvoMessageBean msg = new EvoMessageBean();
|
|
msg.setType(EvoMessageTypeBean.SESSIONTIMEOUT);
|
|
msg.setMessageData("Utilizador asssociado à sessão inválido/inexistente!");
|
|
result.addMessage(msg);
|
|
}
|
|
return result;
|
|
}
|
|
|
|
public EvoResponseBean<FichaExchangeBean> saveFicha(EvoUsrUserData user, FichaExchangeBean fichaBean)
|
|
{
|
|
EvoResponseBean<FichaExchangeBean> result = new EvoResponseBean<FichaExchangeBean>();
|
|
if(user != null)
|
|
{
|
|
try
|
|
{
|
|
if(fichaBean.getFicha() != null)
|
|
{
|
|
Boolean canWrite = checkCanWrite(user.getId(), fichaBean.getFicha().getId());
|
|
|
|
if(canWrite != null && canWrite)
|
|
{
|
|
FcFichaData fichaBD = null;
|
|
String operacao = null;
|
|
|
|
if(fichaBean.getFicha().getId() != null)
|
|
{
|
|
fichaBD = fichasProvider.getFicha(fichaBean.getFicha().getId());
|
|
operacao ="Actualização";
|
|
|
|
}
|
|
else
|
|
{
|
|
fichaBD = new FcFichaData();
|
|
fichaBD.setCreated_user_name(user.getName());
|
|
fichaBD.setCreated_user_id(user.getId());
|
|
operacao = "Criação";
|
|
}
|
|
|
|
Map<String,Object> values = filtra(fichaBean.getFicha().getMapData(),FcFicha_D_to_B) ;
|
|
Date data_conclusao_server = null;
|
|
|
|
if( fichaBean.getFicha().getData_conclusao() != null)
|
|
{
|
|
Map<Integer,Date> serverDates = fichasProvider.getServerDateFichaConclusion(fichaBean.getFicha().getId());
|
|
if(fichaBean.getFicha().getId() == null || serverDates.get(fichaBean.getFicha().getId()) == null)
|
|
{
|
|
data_conclusao_server = serverDates.get(0);
|
|
}
|
|
|
|
}
|
|
if(data_conclusao_server != null)
|
|
{
|
|
values.put(FcFichaData.DATA_CONCLUSAO,data_conclusao_server);
|
|
}
|
|
else
|
|
{
|
|
values.remove(FcFichaData.DATA_CONCLUSAO);
|
|
}
|
|
|
|
fichaBD.setHashData(values);
|
|
|
|
|
|
Set<com.evolute.entity.evo.EvoDataObject<com.evolute.entity.utils.IntegerPrimaryKey>> thingsToSave = new HashSet<com.evolute.entity.evo.EvoDataObject<com.evolute.entity.utils.IntegerPrimaryKey>>();
|
|
|
|
if(fichaBean.getAntecentesOcupacionais() != null )
|
|
{
|
|
FcFichaAntecedentesOcupacionaisData fd = null;
|
|
if(fichaBean.getAntecentesOcupacionais().getId() != null)
|
|
{
|
|
fd = fichaBD.toAntecedentes_ocupacionais_id();
|
|
}
|
|
if(fd == null)
|
|
{
|
|
fd = new FcFichaAntecedentesOcupacionaisData();
|
|
fd.setCreated_user_name(user.getName());
|
|
fd.setCreated_user_id(user.getId());
|
|
}
|
|
fd.setHashData(filtra(fichaBean.getAntecentesOcupacionais().getMapData(),FcFichaAntecedentesOcupacionais_D_to_B));
|
|
fichaBD.setToAntecedentes_ocupacionais_id(fd);
|
|
}
|
|
|
|
if(fichaBean.getAntecentesOcupacionaisAcidentesTrabalho() != null )//&& fichaBean.getAntecentesOcupacionaisAcidentesTrabalho().size() > 0)
|
|
{
|
|
FcFichaAntecedentesOcupacionaisData fd = null;
|
|
if(fichaBD.toAntecedentes_ocupacionais_id() != null)
|
|
{
|
|
fd = fichaBD.toAntecedentes_ocupacionais_id();
|
|
}
|
|
else
|
|
{
|
|
fd = new FcFichaAntecedentesOcupacionaisData();
|
|
fichaBD.setToAntecedentes_ocupacionais_id(fd);
|
|
}
|
|
|
|
List<FcFichaAntecedentesOcupacionaisAcidentesTrabalhoData> aoatBDlist = fd.fromFcFichaAntecedentesOcupacionaisAcidentesTrabalho_antecedentes_ocupacionais_id() ;
|
|
Map<Integer,FcFichaAntecedentesOcupacionaisAcidentesTrabalhoData> naBD = new HashMap<Integer, FcFichaAntecedentesOcupacionaisAcidentesTrabalhoData>();
|
|
for(FcFichaAntecedentesOcupacionaisAcidentesTrabalhoData elem : aoatBDlist)
|
|
{
|
|
elem.setDeleted_stamp(new Timestamp(System.currentTimeMillis()));
|
|
elem.setDeleted_user_id(user.getId());
|
|
elem.setDeleted_user_name(user.getName());
|
|
naBD.put(elem.getId(), elem);
|
|
|
|
thingsToSave.add(elem);
|
|
}
|
|
for(FcFichaAntecedentesOcupacionaisAcidentesTrabalhoBeanData item : fichaBean.getAntecentesOcupacionaisAcidentesTrabalho())
|
|
{
|
|
FcFichaAntecedentesOcupacionaisAcidentesTrabalhoData aoatBD = null;
|
|
if(item.getId() != null && naBD.containsKey(item.getId()))
|
|
{
|
|
aoatBD = naBD.get(item.getId());
|
|
aoatBD.setDeleted_stamp(null);
|
|
aoatBD.setDeleted_user_id(null);
|
|
aoatBD.setDeleted_user_name(null);
|
|
|
|
}
|
|
else
|
|
{
|
|
aoatBD = new FcFichaAntecedentesOcupacionaisAcidentesTrabalhoData();
|
|
aoatBD.setCreated_user_name(user.getName());
|
|
aoatBD.setCreated_user_id(user.getId());
|
|
thingsToSave.add(aoatBD);
|
|
}
|
|
aoatBD.setHashData(filtra(item.getMapData(),FcFichaAntecedentesOcupacionaisAcidentesTrabalho_D_to_B));
|
|
aoatBD.setToAntecedentes_ocupacionais_id(fd);
|
|
}
|
|
}
|
|
|
|
if(fichaBean.getAntecentesOcupacionaisActividadesAnteriores() != null )//&& fichaBean.getAntecentesOcupacionaisActividadesAnteriores().size() > 0)
|
|
{
|
|
FcFichaAntecedentesOcupacionaisData fd = null;
|
|
if(fichaBD.toAntecedentes_ocupacionais_id() != null)
|
|
{
|
|
fd = fichaBD.toAntecedentes_ocupacionais_id();
|
|
}
|
|
else
|
|
{
|
|
fd = new FcFichaAntecedentesOcupacionaisData();
|
|
fichaBD.setToAntecedentes_ocupacionais_id(fd);
|
|
}
|
|
|
|
List<FcFichaAntecedentesOcupacionaisActividadesAnterioresData> aoaaBDlist = fd.fromFcFichaAntecedentesOcupacionaisActividadesAnteriores_antecedentes_ocupacionais_id() ;
|
|
Map<Integer,FcFichaAntecedentesOcupacionaisActividadesAnterioresData> naBD = new HashMap<Integer, FcFichaAntecedentesOcupacionaisActividadesAnterioresData>();
|
|
for(FcFichaAntecedentesOcupacionaisActividadesAnterioresData elem : aoaaBDlist)
|
|
{
|
|
elem.setDeleted_stamp(new Timestamp(System.currentTimeMillis()));
|
|
elem.setDeleted_user_id(user.getId());
|
|
elem.setDeleted_user_name(user.getName());
|
|
naBD.put(elem.getId(), elem);
|
|
|
|
thingsToSave.add(elem);
|
|
}
|
|
for(FcFichaAntecedentesOcupacionaisActividadesAnterioresBeanData item : fichaBean.getAntecentesOcupacionaisActividadesAnteriores())
|
|
{
|
|
FcFichaAntecedentesOcupacionaisActividadesAnterioresData aoaaBD = null;
|
|
if(item.getId() != null && naBD.containsKey(item.getId()))
|
|
{
|
|
aoaaBD = naBD.get(item.getId());
|
|
aoaaBD.setDeleted_stamp(null);
|
|
aoaaBD.setDeleted_user_id(null);
|
|
aoaaBD.setDeleted_user_name(null);
|
|
|
|
}
|
|
else
|
|
{
|
|
aoaaBD = new FcFichaAntecedentesOcupacionaisActividadesAnterioresData();
|
|
aoaaBD.setCreated_user_name(user.getName());
|
|
aoaaBD.setCreated_user_id(user.getId());
|
|
thingsToSave.add(aoaaBD);
|
|
}
|
|
aoaaBD.setHashData(filtra(item.getMapData(),FcFichaAntecedentesOcupacionaisActividadesAnteriores_D_to_B));
|
|
aoaaBD.setToAntecedentes_ocupacionais_id(fd);
|
|
}
|
|
}
|
|
|
|
if(fichaBean.getAntecentesOcupacionaisDoencasProfissionais() != null )//&& fichaBean.getAntecentesOcupacionaisDoencasProfissionais().size() > 0)
|
|
{
|
|
FcFichaAntecedentesOcupacionaisData fd = null;
|
|
if(fichaBD.toAntecedentes_ocupacionais_id() != null)
|
|
{
|
|
fd = fichaBD.toAntecedentes_ocupacionais_id();
|
|
}
|
|
else
|
|
{
|
|
fd = new FcFichaAntecedentesOcupacionaisData();
|
|
fichaBD.setToAntecedentes_ocupacionais_id(fd);
|
|
}
|
|
|
|
List<FcFichaAntecedentesOcupacionaisDoencasProfissionaisData> aodpBDlist = fd.fromFcFichaAntecedentesOcupacionaisDoencasProfissionais_antecedentes_ocupacionais_id() ;
|
|
Map<Integer,FcFichaAntecedentesOcupacionaisDoencasProfissionaisData> naBD = new HashMap<Integer, FcFichaAntecedentesOcupacionaisDoencasProfissionaisData>();
|
|
for(FcFichaAntecedentesOcupacionaisDoencasProfissionaisData elem : aodpBDlist)
|
|
{
|
|
elem.setDeleted_stamp(new Timestamp(System.currentTimeMillis()));
|
|
elem.setDeleted_user_id(user.getId());
|
|
elem.setDeleted_user_name(user.getName());
|
|
naBD.put(elem.getId(), elem);
|
|
|
|
thingsToSave.add(elem);
|
|
}
|
|
for(FcFichaAntecedentesOcupacionaisDoencasProfissionaisBeanData item : fichaBean.getAntecentesOcupacionaisDoencasProfissionais())
|
|
{
|
|
FcFichaAntecedentesOcupacionaisDoencasProfissionaisData aodpBD = null;
|
|
if(item.getId() != null && naBD.containsKey(item.getId()))
|
|
{
|
|
aodpBD = naBD.get(item.getId());
|
|
aodpBD.setDeleted_stamp(null);
|
|
aodpBD.setDeleted_user_id(null);
|
|
aodpBD.setDeleted_user_name(null);
|
|
|
|
}
|
|
else
|
|
{
|
|
aodpBD = new FcFichaAntecedentesOcupacionaisDoencasProfissionaisData();
|
|
aodpBD.setCreated_user_name(user.getName());
|
|
aodpBD.setCreated_user_id(user.getId());
|
|
thingsToSave.add(aodpBD);
|
|
}
|
|
aodpBD.setHashData(filtra(item.getMapData(),FcFichaAntecedentesOcupacionaisDoencasProfissionais_D_to_B));
|
|
aodpBD.setToAntecedentes_ocupacionais_id(fd);
|
|
}
|
|
}
|
|
|
|
if(fichaBean.getAbsentismo() != null )
|
|
{
|
|
FcFichaAbsentismoData fd = null;
|
|
if(fichaBean.getAbsentismo().getId() != null)
|
|
{
|
|
fd = fichaBD.toAbsentismo_id();
|
|
}
|
|
if(fd == null)
|
|
{
|
|
fd = new FcFichaAbsentismoData();
|
|
fd.setCreated_user_name(user.getName());
|
|
fd.setCreated_user_id(user.getId());
|
|
}
|
|
fd.setHashData(filtra(fichaBean.getAbsentismo().getMapData(),FcFichaAbsentismo_D_to_B));
|
|
fichaBD.setToAbsentismo_id(fd);
|
|
}
|
|
|
|
if(fichaBean.getActividade() != null )
|
|
{
|
|
FcFichaActividadeData fd = null;
|
|
if(fichaBean.getActividade().getId() != null)
|
|
{
|
|
fd = fichaBD.toActividade_id();
|
|
}
|
|
if(fd == null)
|
|
{
|
|
fd = new FcFichaActividadeData();
|
|
fd.setCreated_user_name(user.getName());
|
|
fd.setCreated_user_id(user.getId());
|
|
}
|
|
fd.setHashData(filtra(fichaBean.getActividade().getMapData(),FcFichaActividade_D_to_B));
|
|
fichaBD.setToActividade_id(fd);
|
|
}
|
|
|
|
if(fichaBean.getAntecedentesFamiliares() != null )
|
|
{
|
|
FcFichaAntecedentesFamiliaresData fd = null;
|
|
if(fichaBean.getAntecedentesFamiliares().getId() != null)
|
|
{
|
|
fd = fichaBD.toAntecedentes_familiares_id();
|
|
}
|
|
if(fd == null)
|
|
{
|
|
fd = new FcFichaAntecedentesFamiliaresData();
|
|
fd.setCreated_user_name(user.getName());
|
|
fd.setCreated_user_id(user.getId());
|
|
}
|
|
fd.setHashData(filtra(fichaBean.getAntecedentesFamiliares().getMapData(),FcFichaAntecedentesFamiliares_D_to_B));
|
|
fichaBD.setToAntecedentes_familiares_id(fd);
|
|
}
|
|
|
|
|
|
if(fichaBean.getAntecedentesPessoais() != null )
|
|
{
|
|
FcFichaAntecedentesPessoaisData fd = null;
|
|
if(fichaBean.getAntecedentesPessoais().getId() != null)
|
|
{
|
|
fd = fichaBD.toAntecedentes_pessoais_id();
|
|
}
|
|
if(fd == null)
|
|
{
|
|
fd = new FcFichaAntecedentesPessoaisData();
|
|
fd.setCreated_user_name(user.getName());
|
|
fd.setCreated_user_id(user.getId());
|
|
}
|
|
fd.setHashData(filtra(fichaBean.getAntecedentesPessoais().getMapData(),FcFichaAntecedentesPessoais_D_to_B));
|
|
fichaBD.setToAntecedentes_pessoais_id(fd);
|
|
}
|
|
|
|
|
|
if(fichaBean.getAntecedentesPessoaisCirurgias() != null )//&& fichaBean.getAntecedentesPessoaisCirurgias().size() > 0)
|
|
{
|
|
FcFichaAntecedentesPessoaisData fd = null;
|
|
if(fichaBD.toAntecedentes_pessoais_id() != null)
|
|
{
|
|
fd = fichaBD.toAntecedentes_pessoais_id();
|
|
}
|
|
else
|
|
{
|
|
fd = new FcFichaAntecedentesPessoaisData();
|
|
fichaBD.setToAntecedentes_pessoais_id(fd);
|
|
}
|
|
|
|
List<FcFichaAntecedentesPessoaisCirurgiasData> apXBDlist = fd.fromFcFichaAntecedentesPessoaisCirurgias_antecedentes_pessoais_id();
|
|
Map<Integer,FcFichaAntecedentesPessoaisCirurgiasData> naBD = new HashMap<Integer, FcFichaAntecedentesPessoaisCirurgiasData>();
|
|
for(FcFichaAntecedentesPessoaisCirurgiasData elem : apXBDlist)
|
|
{
|
|
elem.setDeleted_stamp(new Timestamp(System.currentTimeMillis()));
|
|
elem.setDeleted_user_id(user.getId());
|
|
elem.setDeleted_user_name(user.getName());
|
|
naBD.put(elem.getId(), elem);
|
|
|
|
thingsToSave.add(elem);
|
|
}
|
|
for(FcFichaAntecedentesPessoaisCirurgiasBeanData item : fichaBean.getAntecedentesPessoaisCirurgias())
|
|
{
|
|
FcFichaAntecedentesPessoaisCirurgiasData apXBD = null;
|
|
if(item.getId() != null && naBD.containsKey(item.getId()))
|
|
{
|
|
apXBD = naBD.get(item.getId());
|
|
apXBD.setDeleted_stamp(null);
|
|
apXBD.setDeleted_user_id(null);
|
|
apXBD.setDeleted_user_name(null);
|
|
|
|
}
|
|
else
|
|
{
|
|
apXBD = new FcFichaAntecedentesPessoaisCirurgiasData();
|
|
apXBD.setCreated_user_name(user.getName());
|
|
apXBD.setCreated_user_id(user.getId());
|
|
thingsToSave.add(apXBD);
|
|
}
|
|
apXBD.setHashData(filtra(item.getMapData(),FcFichaAntecedentesPessoaisCirurgias_D_to_B));
|
|
apXBD.setToAntecedentes_pessoais_id(fd);
|
|
}
|
|
}
|
|
|
|
|
|
if(fichaBean.getAntecedentesPessoaisFracturas() != null )//&& fichaBean.getAntecedentesPessoaisFracturas().size() > 0)
|
|
{
|
|
FcFichaAntecedentesPessoaisData fd = null;
|
|
if(fichaBD.toAntecedentes_pessoais_id() != null)
|
|
{
|
|
fd = fichaBD.toAntecedentes_pessoais_id();
|
|
}
|
|
else
|
|
{
|
|
fd = new FcFichaAntecedentesPessoaisData();
|
|
fichaBD.setToAntecedentes_pessoais_id(fd);
|
|
}
|
|
|
|
List<FcFichaAntecedentesPessoaisFracturasData> apXBDlist = fd.fromFcFichaAntecedentesPessoaisFracturas_antecedentes_pessoais_id();
|
|
Map<Integer,FcFichaAntecedentesPessoaisFracturasData> naBD = new HashMap<Integer, FcFichaAntecedentesPessoaisFracturasData>();
|
|
for(FcFichaAntecedentesPessoaisFracturasData elem : apXBDlist)
|
|
{
|
|
elem.setDeleted_stamp(new Timestamp(System.currentTimeMillis()));
|
|
elem.setDeleted_user_id(user.getId());
|
|
elem.setDeleted_user_name(user.getName());
|
|
naBD.put(elem.getId(), elem);
|
|
|
|
thingsToSave.add(elem);
|
|
}
|
|
for(FcFichaAntecedentesPessoaisFracturasBeanData item : fichaBean.getAntecedentesPessoaisFracturas())
|
|
{
|
|
FcFichaAntecedentesPessoaisFracturasData apXBD = null;
|
|
if(item.getId() != null && naBD.containsKey(item.getId()))
|
|
{
|
|
apXBD = naBD.get(item.getId());
|
|
apXBD.setDeleted_stamp(null);
|
|
apXBD.setDeleted_user_id(null);
|
|
apXBD.setDeleted_user_name(null);
|
|
|
|
}
|
|
else
|
|
{
|
|
apXBD = new FcFichaAntecedentesPessoaisFracturasData();
|
|
apXBD.setCreated_user_name(user.getName());
|
|
apXBD.setCreated_user_id(user.getId());
|
|
thingsToSave.add(apXBD);
|
|
}
|
|
apXBD.setHashData(filtra(item.getMapData(),FcFichaAntecedentesPessoaisFracturas_D_to_B));
|
|
apXBD.setToAntecedentes_pessoais_id(fd);
|
|
}
|
|
}
|
|
|
|
if(fichaBean.getAntecedentesPessoaisInternamentos() != null ) //&& fichaBean.getAntecedentesPessoaisInternamentos().size() > 0)
|
|
{
|
|
FcFichaAntecedentesPessoaisData fd = null;
|
|
if(fichaBD.toAntecedentes_pessoais_id() != null)
|
|
{
|
|
fd = fichaBD.toAntecedentes_pessoais_id();
|
|
}
|
|
else
|
|
{
|
|
fd = new FcFichaAntecedentesPessoaisData();
|
|
fichaBD.setToAntecedentes_pessoais_id(fd);
|
|
}
|
|
|
|
List<FcFichaAntecedentesPessoaisInternamentosData> apXBDlist = fd.fromFcFichaAntecedentesPessoaisInternamentos_antecedentes_pessoais_id();
|
|
Map<Integer,FcFichaAntecedentesPessoaisInternamentosData> naBD = new HashMap<Integer, FcFichaAntecedentesPessoaisInternamentosData>();
|
|
for(FcFichaAntecedentesPessoaisInternamentosData elem : apXBDlist)
|
|
{
|
|
elem.setDeleted_stamp(new Timestamp(System.currentTimeMillis()));
|
|
elem.setDeleted_user_id(user.getId());
|
|
elem.setDeleted_user_name(user.getName());
|
|
naBD.put(elem.getId(), elem);
|
|
|
|
thingsToSave.add(elem);
|
|
}
|
|
for(FcFichaAntecedentesPessoaisInternamentosBeanData item : fichaBean.getAntecedentesPessoaisInternamentos())
|
|
{
|
|
FcFichaAntecedentesPessoaisInternamentosData apXBD = null;
|
|
if(item.getId() != null && naBD.containsKey(item.getId()))
|
|
{
|
|
apXBD = naBD.get(item.getId());
|
|
apXBD.setDeleted_stamp(null);
|
|
apXBD.setDeleted_user_id(null);
|
|
apXBD.setDeleted_user_name(null);
|
|
|
|
}
|
|
else
|
|
{
|
|
apXBD = new FcFichaAntecedentesPessoaisInternamentosData();
|
|
apXBD.setCreated_user_name(user.getName());
|
|
apXBD.setCreated_user_id(user.getId());
|
|
thingsToSave.add(apXBD);
|
|
}
|
|
apXBD.setHashData(filtra(item.getMapData(),FcFichaAntecedentesPessoaisInternamentos_D_to_B));
|
|
apXBD.setToAntecedentes_pessoais_id(fd);
|
|
}
|
|
}
|
|
|
|
if(fichaBean.getClassificacaoIndividualSaude() != null )
|
|
{
|
|
FcFichaClassificacaoIndividualSaudeData fd = null;
|
|
if(fichaBean.getClassificacaoIndividualSaude().getId() != null)
|
|
{
|
|
fd = fichaBD.toClassificacao_individual_saude_id();
|
|
}
|
|
if(fd == null)
|
|
{
|
|
fd = new FcFichaClassificacaoIndividualSaudeData();
|
|
fd.setCreated_user_name(user.getName());
|
|
fd.setCreated_user_id(user.getId());
|
|
}
|
|
fd.setHashData(filtra(fichaBean.getClassificacaoIndividualSaude().getMapData(),FcFichaClassificacaoIndividualSaude_D_to_B));
|
|
fichaBD.setToClassificacao_individual_saude_id(fd);
|
|
}
|
|
|
|
if(fichaBean.getConclusoesResumo() != null )
|
|
{
|
|
FcFichaConclusoesData fd = null;
|
|
fichaBean.getConclusoesResumo().fromComputedRadios();
|
|
if(fichaBean.getConclusoesResumo().getId() != null)
|
|
{
|
|
fd = fichaBD.toConclusoes_id();
|
|
}
|
|
if(fd == null)
|
|
{
|
|
fd = new FcFichaConclusoesData();
|
|
fd.setCreated_user_name(user.getName());
|
|
fd.setCreated_user_id(user.getId());
|
|
}
|
|
fd.setHashData(filtra(fichaBean.getConclusoesResumo().getMapData(),FcFichaConclusoes_D_to_B));
|
|
fichaBD.setToConclusoes_id(fd);
|
|
}
|
|
|
|
if(fichaBean.getDoencasActivas() != null )
|
|
{
|
|
FcFichaDoencasActivasData fd = null;
|
|
if(fichaBean.getDoencasActivas().getId() != null)
|
|
{
|
|
fd = fichaBD.toDoencas_activas_id();
|
|
}
|
|
if(fd == null)
|
|
{
|
|
fd = new FcFichaDoencasActivasData();
|
|
fd.setCreated_user_name(user.getName());
|
|
fd.setCreated_user_id(user.getId());
|
|
}
|
|
fd.setHashData(filtra(fichaBean.getDoencasActivas().getMapData(),FcFichaDoencasActivas_D_to_B));
|
|
fichaBD.setToDoencas_activas_id(fd);
|
|
}
|
|
|
|
if(fichaBean.getEsquemaVacinal() != null )
|
|
{
|
|
FcFichaEsquemaVacinalData fd = null;
|
|
if(fichaBean.getEsquemaVacinal().getId() != null)
|
|
{
|
|
fd = fichaBD.toEsquema_vacinal_id();
|
|
}
|
|
if(fd == null)
|
|
{
|
|
fd = new FcFichaEsquemaVacinalData();
|
|
fd.setCreated_user_name(user.getName());
|
|
fd.setCreated_user_id(user.getId());
|
|
}
|
|
fd.setHashData(filtra(fichaBean.getEsquemaVacinal().getMapData(),FcFichaEsquemaVacinal_D_to_B));
|
|
fichaBD.setToEsquema_vacinal_id(fd);
|
|
}
|
|
|
|
if(fichaBean.getExameObjectivo() != null )
|
|
{
|
|
FcFichaExameObjectivoData fd = null;
|
|
if(fichaBean.getExameObjectivo().getId() != null)
|
|
{
|
|
fd = fichaBD.toExame_objectivo_id();
|
|
}
|
|
if(fd == null)
|
|
{
|
|
fd = new FcFichaExameObjectivoData();
|
|
fd.setCreated_user_name(user.getName());
|
|
fd.setCreated_user_id(user.getId());
|
|
}
|
|
fd.setHashData(filtra(fichaBean.getExameObjectivo().getMapData(),FcFichaExameObjectivo_D_to_B));
|
|
fichaBD.setToExame_objectivo_id(fd);
|
|
}
|
|
|
|
if(fichaBean.getHabitos() != null )
|
|
{
|
|
FcFichaHabitosData fd = null;
|
|
if(fichaBean.getHabitos().getId() != null)
|
|
{
|
|
fd = fichaBD.toHabitos_id();
|
|
}
|
|
if(fd == null)
|
|
{
|
|
fd = new FcFichaHabitosData();
|
|
fd.setCreated_user_name(user.getName());
|
|
fd.setCreated_user_id(user.getId());
|
|
}
|
|
fd.setHashData(filtra(fichaBean.getHabitos().getMapData(),FcFichaHabitos_D_to_B));
|
|
fichaBD.setToHabitos_id(fd);
|
|
}
|
|
|
|
if(fichaBean.getProblemasSolucoes() != null )
|
|
{
|
|
FcFichaProblemasSolucoesData fd = null;
|
|
if(fichaBean.getProblemasSolucoes().getId() != null)
|
|
{
|
|
fd = fichaBD.toProblemas_solucoes_id();
|
|
}
|
|
if(fd == null)
|
|
{
|
|
fd = new FcFichaProblemasSolucoesData();
|
|
fd.setCreated_user_name(user.getName());
|
|
fd.setCreated_user_id(user.getId());
|
|
}
|
|
fd.setHashData(filtra(fichaBean.getProblemasSolucoes().getMapData(),FcFichaProblemasSolucoes_D_to_B));
|
|
fichaBD.setToProblemas_solucoes_id(fd);
|
|
}
|
|
if(fichaBean.getInformacaoPeriodica() != null )
|
|
{
|
|
FcFichaInformacaoPeriodicaData fd = null;
|
|
if(fichaBean.getInformacaoPeriodica().getId() != null)
|
|
{
|
|
fd = fichaBD.toInformacao_periodica_id();
|
|
}
|
|
if(fd == null)
|
|
{
|
|
fd = new FcFichaInformacaoPeriodicaData();
|
|
fd.setCreated_user_name(user.getName());
|
|
fd.setCreated_user_id(user.getId());
|
|
}
|
|
fd.setHashData(filtra(fichaBean.getInformacaoPeriodica().getMapData(),FcFichaInformacaoPeriodica_D_to_B));
|
|
fichaBD.setToInformacao_periodica_id(fd);
|
|
}
|
|
|
|
|
|
fichasProvider.atomSave(fichaBD, thingsToSave);
|
|
result = getFicha(user, fichaBD.getId());
|
|
EvoMessageBean msg = new EvoMessageBean();
|
|
msg.setType(EvoMessageTypeBean.INFO);
|
|
msg.setMessageData(operacao+" da ficha com sucesso!");
|
|
result.addMessage(msg);
|
|
}
|
|
else
|
|
{
|
|
result.setSuccess(false);
|
|
EvoMessageBean msg = new EvoMessageBean();
|
|
msg.setType(EvoMessageTypeBean.SECURITYEXCEPTION);
|
|
msg.setMessageData("Erro, sem permissão para guardar a ficha!");
|
|
result.addMessage(msg);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
result.setSuccess(false);
|
|
EvoMessageBean msg = new EvoMessageBean();
|
|
msg.setType(EvoMessageTypeBean.ERROR);
|
|
msg.setMessageData("Ficha Inválida!");
|
|
result.addMessage(msg);
|
|
}
|
|
|
|
}
|
|
catch(Exception ex)
|
|
{
|
|
result.setSuccess(false);
|
|
EvoMessageBean msg = new EvoMessageBean();
|
|
msg.setType(EvoMessageTypeBean.ERROR);
|
|
msg.setMessageData("Erro ao comunicar com a Base de dados!");
|
|
result.addMessage(msg);
|
|
ErrorLogger.logException(ex, Level.SEVERE);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
result.setSuccess(false);
|
|
EvoMessageBean msg = new EvoMessageBean();
|
|
msg.setType(EvoMessageTypeBean.SESSIONTIMEOUT);
|
|
msg.setMessageData("Utilizador asssociado à sessão inválido/inexistente!");
|
|
result.addMessage(msg);
|
|
}
|
|
return result;
|
|
}
|
|
|
|
|
|
public EvoResponseBean<FichaBDDataBean> getDadosFichaFromBD( EvoUsrUserData user, Integer tipoFichaID)
|
|
{
|
|
EvoResponseBean<FichaBDDataBean> result = new EvoResponseBean<FichaBDDataBean>();
|
|
if(user != null)
|
|
{
|
|
try
|
|
{
|
|
FcTipoFichaData tipo_ficha = fichasProvider.getTipoFichaByID(tipoFichaID);
|
|
FichaBDDataBean resData = new FichaBDDataBean();
|
|
|
|
if(tipo_ficha != null)
|
|
{
|
|
if(ADM_COD.equalsIgnoreCase(tipo_ficha.getCodigo()) || PER_INI_COD.equalsIgnoreCase(tipo_ficha.getCodigo()))
|
|
{
|
|
{
|
|
List<TrbHabilitacoesData> in_list = fichasProvider.getHabilitacoes();
|
|
List<TrbHabilitacoesBeanData> out_list = new LinkedList<TrbHabilitacoesBeanData>();
|
|
for(TrbHabilitacoesData in : in_list)
|
|
{
|
|
TrbHabilitacoesBeanData out = new TrbHabilitacoesBeanData();
|
|
out.setMapData(in.getPropertiesValues(new String[]{TrbHabilitacoesData.ID,TrbHabilitacoesData.CODIGO,TrbHabilitacoesData.DESCRICAO,TrbHabilitacoesData.TEM_INFO_EXTRA}));
|
|
out_list.add(out);
|
|
}
|
|
resData.setHabilitacoes(out_list);
|
|
}
|
|
{
|
|
List<TrbEstadoCivilData> in_list = fichasProvider.getEstadosCivis();
|
|
List<TrbEstadoCivilBeanData> out_list = new LinkedList<TrbEstadoCivilBeanData>();
|
|
for(TrbEstadoCivilData in : in_list)
|
|
{
|
|
TrbEstadoCivilBeanData out = new TrbEstadoCivilBeanData();
|
|
out.setMapData(in.getPropertiesValues(new String[]{TrbEstadoCivilData.ID,TrbEstadoCivilData.CODIGO,TrbEstadoCivilData.DESCRICAO}));
|
|
out_list.add(out);
|
|
}
|
|
resData.setEstadosCivis(out_list);
|
|
}
|
|
}
|
|
else if( OCA_COD.equalsIgnoreCase(tipo_ficha.getCodigo()) || ENF_COD.equalsIgnoreCase(tipo_ficha.getCodigo()) || MDC_COD.equalsIgnoreCase(tipo_ficha.getCodigo()) )
|
|
{
|
|
List<FcMotivosData> in_list = null;
|
|
if( OCA_COD.equalsIgnoreCase(tipo_ficha.getCodigo()) )
|
|
{
|
|
in_list = fichasProvider.getMotivos(OCA_PREFIX);
|
|
}
|
|
else
|
|
{
|
|
in_list = fichasProvider.getMotivos(MDC_ENF_PREFIX);
|
|
}
|
|
List<FcMotivosBeanData> out_list = new LinkedList<FcMotivosBeanData>();
|
|
for(FcMotivosData in : in_list)
|
|
{
|
|
FcMotivosBeanData out = new FcMotivosBeanData();
|
|
out.setMapData(in.getPropertiesValues(new String[]{FcMotivosData.ID,FcMotivosData.CODIGO,FcMotivosData.DESCRICAO,FcMotivosData.PRECISA_DETALHE}));
|
|
out_list.add(out);
|
|
}
|
|
resData.setMotivos(out_list);
|
|
}
|
|
}
|
|
|
|
result.setSuccess(true);
|
|
result.setData(resData);
|
|
}
|
|
catch(Exception ex)
|
|
{
|
|
result.setSuccess(false);
|
|
EvoMessageBean msg = new EvoMessageBean();
|
|
msg.setType(EvoMessageTypeBean.ERROR);
|
|
msg.setMessageData("Erro ao comunicar com a Base de dados!");
|
|
result.addMessage(msg);
|
|
ErrorLogger.logException(ex, Level.SEVERE);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
result.setSuccess(false);
|
|
EvoMessageBean msg = new EvoMessageBean();
|
|
msg.setType(EvoMessageTypeBean.SESSIONTIMEOUT);
|
|
msg.setMessageData("Utilizador asssociado à sessão inválido/inexistente!");
|
|
result.addMessage(msg);
|
|
}
|
|
return result;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private Boolean checkCanRead(Integer id, Integer fichaID) {
|
|
/// TODO - CAN READ
|
|
/// FIXME - CAN READ
|
|
return true;
|
|
}
|
|
|
|
private Boolean checkCanWrite(Integer userID, Integer fichaID)
|
|
{
|
|
/// TODO - CAN WRITE
|
|
/// FIXME - CAN WRITE
|
|
return true;
|
|
}
|
|
|
|
|
|
|
|
public EvoResponseBean<FichaExchangeBean> getFichaAptidao(EvoUsrUserData user, Integer fichaID)
|
|
{
|
|
EvoResponseBean<FichaExchangeBean> result = new EvoResponseBean<FichaExchangeBean>();
|
|
if(user != null)
|
|
{
|
|
try
|
|
{
|
|
FcFichaData fichaBD = fichasProvider.getFicha(fichaID);
|
|
|
|
|
|
FichaExchangeBean data = new FichaExchangeBean();
|
|
|
|
FcFichaBeanData fichaBean = new FcFichaBeanData();
|
|
|
|
fichaBean.setMapData(fichaBD.getPropertiesValues(FcFicha_D_to_B));
|
|
data.setFicha(fichaBean);
|
|
|
|
|
|
FcTipoFicha tipo_ficha = fichaBD.toTipo_ficha_id();
|
|
if(tipo_ficha != null)
|
|
{
|
|
if
|
|
(
|
|
ADM_COD.equalsIgnoreCase(tipo_ficha.getCodigo()) ||
|
|
PER_INI_COD.equalsIgnoreCase(tipo_ficha.getCodigo()) ||
|
|
PER_COD.equalsIgnoreCase(tipo_ficha.getCodigo())
|
|
)
|
|
{
|
|
|
|
|
|
FcFichaConclusoesData cr = fichaBD.toConclusoes_id();
|
|
if(cr != null)
|
|
{
|
|
FcFichaConclusoesBeanDataExt crBean = new FcFichaConclusoesBeanDataExt();
|
|
crBean.setMapData(cr.getPropertiesValues(FcFichaConclusoes_D_to_B));
|
|
crBean.fillComputedRadios();
|
|
data.setConclusoesResumo(crBean);
|
|
}
|
|
|
|
|
|
FcFichaAptidaoData ap = fichaBD.toAptidao_id();
|
|
if(ap != null)
|
|
{
|
|
FcFichaConclusoesBeanDataExt crBean = new FcFichaConclusoesBeanDataExt();
|
|
crBean.setMapData(ap.getPropertiesValues(FcFichaAptidao_D_to_B));
|
|
crBean.fillComputedRadios();
|
|
data.setConclusoesResumo(crBean);
|
|
}
|
|
else
|
|
{
|
|
data.setAptidao(new FcFichaAptidaoBeanData());
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
|
|
}
|
|
|
|
result.setSuccess(true);
|
|
result.setData(data);
|
|
}
|
|
else
|
|
{
|
|
|
|
result.setSuccess(false);
|
|
EvoMessageBean msg = new EvoMessageBean();
|
|
msg.setType(EvoMessageTypeBean.ERROR);
|
|
msg.setMessageData("Ficha inválida!");
|
|
result.addMessage(msg);
|
|
}
|
|
}
|
|
catch(Exception ex)
|
|
{
|
|
result.setSuccess(false);
|
|
EvoMessageBean msg = new EvoMessageBean();
|
|
msg.setType(EvoMessageTypeBean.ERROR);
|
|
msg.setMessageData("Erro ao comunicar com a Base de dados!");
|
|
result.addMessage(msg);
|
|
ErrorLogger.logException(ex, Level.SEVERE);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
result.setSuccess(false);
|
|
EvoMessageBean msg = new EvoMessageBean();
|
|
msg.setType(EvoMessageTypeBean.SESSIONTIMEOUT);
|
|
msg.setMessageData("Utilizador asssociado à sessão inválido/inexistente!");
|
|
result.addMessage(msg);
|
|
}
|
|
return result;
|
|
}
|
|
|
|
|
|
|
|
public EvoResponseBean<FichaExchangeBean> saveFichaAptidao(EvoUsrUserData user, FichaExchangeBean fichaBean)
|
|
{
|
|
EvoResponseBean<FichaExchangeBean> result = new EvoResponseBean<FichaExchangeBean>();
|
|
|
|
try{
|
|
FcFichaData fichaBD = fichasProvider.getFicha(fichaBean.getFicha().getId());
|
|
|
|
if(fichaBean.getAptidao() != null )
|
|
{
|
|
FcFichaAptidaoData fd = null;
|
|
if(fichaBean.getAptidao().getId() != null)
|
|
{
|
|
fd = fichaBD.toAptidao_id();
|
|
}
|
|
if(fd == null)
|
|
{
|
|
fd = new FcFichaAptidaoData();
|
|
fd.setCreated_user_name(user.getName());
|
|
fd.setCreated_user_id(user.getId());
|
|
}
|
|
fd.setHashData(filtra(fichaBean.getActividade().getMapData(),FcFichaActividade_D_to_B));
|
|
fichaBD.setToAptidao_id(fd);
|
|
}
|
|
}
|
|
catch(Exception ex)
|
|
{
|
|
result.setSuccess(false);
|
|
EvoMessageBean msg = new EvoMessageBean();
|
|
msg.setType(EvoMessageTypeBean.ERROR);
|
|
msg.setMessageData("Erro ao comunicar com a Base de dados!");
|
|
result.addMessage(msg);
|
|
ErrorLogger.logException(ex, Level.SEVERE);
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
|
|
}
|