SelectCommand scmd = DAOFactory.getSelectCommand(clazz);
Long problemId = problemvalue.getProblemId();
Filter filter = DAOFactory.getFilter("problemId", SQLOperator.EQUAL,
problemId);
scmd.setFilter(filter);
Session session = SessionFactory.openSession();
ArrayList problemvalues = session.query(scmd);
// 标题
buffer
.append("<div class=\"t1\"><div class=\"ico\"><div class=\"icomment\"></div></div>");
buffer.append("对于问题的价值现有<span style=\"color:#FF0000\">"
+ problemvalues.size() + "</span>个讨论</div>");
// 投票面板,先从缓存中得到目前用户的信息,然后查看ProblemvalueTypeValue表,是否已经投过票了,这里更高的效率应该是用主子表查询
SysUserCache userCache = (SysUserCache) request.getSession()
.getAttribute(Globals.SYS_USER_CACHE);
Long userId = userCache.getUser().getUserId();
pvtv.setProblemId(problemvalue.getProblemId());
// evaluation所有人的关于这个问题可理解行的没有过期的投票结果。
ArrayList evaluation_num = cdp.query(pvtv);
pvtv.setCreatorId(userId);
// 当前登陆者关于这个问题可理解行的没有过期的投票结果。
ArrayList myevaluation = cdp.query(pvtv);
o = BeanUtil
.getEmptyObject("cn.edu.pku.dr.requirement.elicitation.data.ProblemvalueTypeValue");
clazz = o.getClass();
scmd = DAOFactory.getSelectCommand(clazz);
Filter filter2 = DAOFactory.getFilter("creatorId", SQLOperator.EQUAL,
userId);
scmd.setFilter(filter2);
// 查询当前用户是否有或者有过评论
ArrayList myallevaluation = session.query(scmd);
session.close();
// todo:有没有问题应该是针对problem版本的,现在是针problemId,以后需要修改
if (myallevaluation.size() > 0) {
if (myevaluation.size() == 0) {
buffer
.append("<div class=\"bc0\" style=\"padding:0px 0pt;\" id=\"notyetvoting\"><div class=\"t2\">问题已修改,请重新投票 <span class=\"f12 gray\" style=\"font-weight:normal\">目前有 "