Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Obtiene una lista de los cargos ocupados por el MSPE
- * @param idFuncionario - ide del funcionario del que se obtendran los datos
- * @param puesto - indica si incluir la informacion del puesto
- * @param puesto_cargo - indica si incluir la informacion del cargo
- * @param puesto_cargo_cuerpo - indica si incluir la informacion del cuerpo
- * @param funcionario - indica si incluir la informacion de funcionario
- * @param funcionario_tratamiento - indica si incluir la informacion de tratamiento
- * @return
- * @throws Exception
- */
- @Override
- public List<DTOCargoFuncionario> getCargosFuncionario(Integer idFuncionario,boolean puesto,boolean puesto_cargo,boolean puesto_cargo_cuerpo,boolean funcionario,boolean funcionario_tratamiento,boolean documentoAlta)throws Exception
- {
- logger.info("getCargosFuncionario:"+idFuncionario);
- Criteria criteria = getSession().createCriteria(DTOCargoFuncionario.class,"cf");
- criteria.add(Restrictions.eq("cf.idFuncionario",idFuncionario));
- criteria.createAlias("cf.dtoMotivoIngreso","cf_motivoIngreso",JoinType.LEFT_OUTER_JOIN);
- criteria.createAlias("cf.documentoAlta","cf_documentoAlta",JoinType.LEFT_OUTER_JOIN);
- criteria.createAlias("cf.puesto", "cf_puesto",JoinType.LEFT_OUTER_JOIN);
- criteria.createAlias("cf_puesto.areaAdscripcion", "cf_puesto_areaAdscripcion",JoinType.LEFT_OUTER_JOIN);
- criteria.createAlias("cf.funcionario","cf_funcionario",JoinType.LEFT_OUTER_JOIN);
- criteria.createAlias("cf_funcionario.tratamiento","cf_funcionario_tratamiento",JoinType.LEFT_OUTER_JOIN);
- criteria.setFetchMode("cf_puesto_areaAdscripcion", FetchMode.JOIN);
- if(puesto)
- {
- criteria.setFetchMode("puesto", FetchMode.JOIN);
- }
- if(puesto_cargo)
- {
- criteria.setFetchMode("puesto.cargo", FetchMode.JOIN);
- }
- if(puesto_cargo_cuerpo)
- {
- criteria.setFetchMode("puesto.cargo.cuerpo", FetchMode.JOIN);
- }
- if(funcionario)
- {
- criteria.setFetchMode("cf_funcionario", FetchMode.JOIN);
- }
- if(funcionario_tratamiento)
- {
- criteria.setFetchMode("cf_funcionario_tratamiento", FetchMode.JOIN);
- }
- if(documentoAlta)
- {
- criteria.setFetchMode("cf_documentoAlta", FetchMode.JOIN);
- }
- Integer valores[]=new Integer[3];
- valores[0]=INGRESO;
- valores[1]=READSCRIPCION;
- valores[2]=MOVIMIENTO_INTERNO;
- criteria.add(Restrictions.in("cf_motivoIngreso.idTipoMovimiento",valores));
- criteria.add(Restrictions.eq("cf_motivoIngreso.claseMovimiento",PERMANENTE));
- criteria.add(Restrictions.isNotNull("cf.fechaBajaAsignacion"));
- criteria.addOrder(Order.desc("cf.fechaAltaAsignacion"));
- @SuppressWarnings("unchecked")
- List<DTOCargoFuncionario>listaTemp=(List<DTOCargoFuncionario>)criteria.list();
- logger.info("Numero de plazas: "+listaTemp.size());
- return listaTemp;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement