私は特定の日にeveryloginの時間を表示したいですが、毎回の日付と時刻を取得します。同様すべてのlogintimeを持つ日付でグループ化するHibernateクエリ
result is:-
date logintime
2016-03-31 2016-03-31 (time)
2016-03-31 2016-03-31 (time)
2016-03-31 2016-03-31 (time)
But I want:-
date logintime
2016-03-31 2016-03-31 (time)
2016-03-31 (time)
2016-03-31 (time)
USERDAOのCLASS:
public List<LoginLog> UserHistory(User user){
String sql="from LoginLog where user = :user";
TypedQuery<LoginLog> query = em.createQuery(sql, LoginLog.class);
query.setParameter("user", user);
List<LoginLog> logs = query.getResultList();
return logs;
}
DEFAULT_USER CLASS
@Override
@Transactional
public LoginLog punchLoginTime(User user) {
LoginLog log = new LoginLog();
log.setLoginTime(new Date());
log.setUser(user);
loginLogDao.create(log);
return log;
}
@Override
@Transactional
public LoginLog punchLogoutTime(User user) {
LoginLog log = getOpenUserLoginLog(user);
log.setLogoutTime(new Date());
long diff=log.getLogoutTime().getTime()-log.getLoginTime().getTime();
log.setTotalTime(diff);
log = loginLogDao.update(log);
return log;
}
@Override
public boolean hasUserStarted(User user) {
LoginLog log = loginLogDao.getOpenLoginLog(user);
if (log == null) {
return false;
} else {
return true;
}
}
@Override
public LoginLog getOpenUserLoginLog(User user) {
return loginLogDao.getOpenLoginLog(user);
}
@Override
public List<LoginLog> UserHistroy(User user) {
return loginLogDao.UserHistory(user);
}
LOGIN_CONTROLLERのCLASS
@RequestMapping(value = "/userloginhistory", method = { RequestMethod.GET })
public String loginHistory(HttpServletRequest request, Model model) {
List<LoginLog> logs = userService.UserHistroy(TimesheetSecutiryUtil
.getLoggedInUser(request.getSession()));
model.addAttribute("loginList", logs);
return "userloginhistory";
}
は、これは誰でも教えてくださいすることができます私はこれに新しいですJsp.Asです私はどうすればいいの?(e Hibernateのクエリによって、またはJSPレベルで、どのようither?)Guavaを使用すると、簡単にmulti mapにList<LoginLog>
を変換し、JSPファイルが利用できるようImmutableListMultimapを返すことができるオプションであれば、あなたに
<table border="1">
<thead>
<tr>
<td>Login Id</td>
<td>Login Time</td>
<td>Logout Time</td>
<td>Total Time(in Minutes)</td>
</tr>
</thead>
<%
List<LoginLog> log = (List<LoginLog>)request.getAttribute("loginList");
if(log != null) {
for(LoginLog login : log) {
%>
<tr>
<td><%=login.getId()%></td>
<td><%=login.getLoginTime()%></td>
<td><%=login.getLogoutTime()%></td>
<td id="a<%=login.getId()%>">
<span id="time<%=login.getId()%>">
<%=login.getTotalTime()%></span> <script>
var milliSeconds = document.getElementById("time<%=login.getId()%>").innerHTML;
var c = convertTime(milliSeconds);
document.getElementById("a<%=login.getId()%>").innerHTML = c;
</script></td>
</tr>
<%
}
}
%>
</table>