Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 1509 → Rev 1510

/branches/v3/impl/src/java/pt/estgp/estgweb/services/users/LoadUsersService.java
66,12 → 66,13
return null;
return UserView.getViews(users);
}
public List<UserView> LoadTeachersWithUnitsInLast3Years(String area) throws ServiceException
public List<UserView> LoadTeachersWithUnitsInLast3Years() throws ServiceException
{
List<User> users = DaoFactory.getTeacherDaoImpl().loadByAreaWithUnitsInLast3Years(area, DaoFactory.getConfigurationDaoImpl().getInterfaceImportYear());
if(users == null)
//area no more implemented
List<Long> usersIds = DaoFactory.getTeacherDaoImpl().loadByAreaWithUnitsInLast3Years(DaoFactory.getConfigurationDaoImpl().getInterfaceImportYear());
if(usersIds == null)
return null;
return UserView.getViews(users);
return UserView.getViewsFromIds(usersIds);
}
 
 
/branches/v3/impl/src/java/pt/estgp/estgweb/domain/views/UserView.java
654,6 → 654,18
}
return views;
}
 
public static List<UserView> getViewsFromIds(List<Long> usersIds)
{
if(usersIds == null)
return null;
List<UserView> views = new ArrayList<UserView>();
for(Long uId: usersIds)
{
views.add(new UserView(DaoFactory.getUserDaoImpl().load(uId)));
}
return views;
}
public static List<UserView> getTeacherViews(List<Teacher> users)
{
if(users == null)
/branches/v3/impl/src/java/pt/estgp/estgweb/domain/dao/impl/TeacherDaoImpl.java
1,6 → 1,9
package pt.estgp.estgweb.domain.dao.impl;
 
import jomm.dao.impl.AbstractDao;
import org.apache.log4j.Logger;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Projections;
import org.hibernate.exception.GenericJDBCException;
22,6 → 25,7
*/
public class TeacherDaoImpl extends TeacherDao
{
private static final Logger logger = Logger.getLogger(TeacherDaoImpl.class);
private TeacherDaoImpl(){}
 
// protected Class getReferenceClass() {
64,25 → 68,34
}
}
 
public List<User> loadByAreaWithUnitsInLast3Years(String area, String year)
public List<Long> loadByAreaWithUnitsInLast3Years( String importYear)
{
try
{
 
String lastYear = DatesUtils.getPreviousImportYear(year);
String lastYear = DatesUtils.getPreviousImportYear(importYear);
String twoYearsAgo = DatesUtils.getPreviousImportYear(lastYear);
 
System.out.println(lastYear);
System.out.println(twoYearsAgo);
Criteria c = createCriteria();
c.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
if(area != null && area.trim().length()>0)
c.add(eq("mainArea",area));
c.createAlias("teachedUnits","t", JoinFragment.INNER_JOIN).add(or(eq("t.importYear",year),or(eq("t.importYear",lastYear),eq("t.importYear",twoYearsAgo))));
return c.addOrder(Order.asc("name")).list();
 
 
Query q = AbstractDao.getCurrentSession().createQuery(
"select t.id from " + Teacher.class.getName() + " t " +
"join t.teachedUnits tu " +
"where tu.importYear = :importYear or " +
"tu.importYear = :lastYear or " +
"tu.importYear = :twoYearsAgo " +
"order by t.name");
q.setString("importYear",importYear);
q.setString("lastYear",lastYear);
q.setString("twoYearsAgo",twoYearsAgo);
 
return q.list();
}
catch(GenericJDBCException e)
{
logger.error(e,e);
throw e;
}
}
/branches/v3/impl/src/java/pt/estgp/estgweb/web/controllers/contacts/ContactsController.java
37,8 → 37,10
String area = request.getParameter("area");
request.setAttribute("area",area);
IServiceManager sm = ServiceManager.getInstance();
String[] names = new String[]{"area"};
Object[] args = new Object[]{area};
//String[] names = new String[]{"area"};
//Object[] args = new Object[]{area};
String[] names = new String[]{};
Object[] args = new Object[]{};
List<UserView> teachers = (List<UserView>) sm.execute(RequestUtils.getRequester(request, response), "LoadTeachersWithUnitsInLast3Years", args, names);
request.setAttribute("teachers",teachers);
return mapping.findForward("contactTeachers");