/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"); |