/******************************************************************************
|
* Copyright (C) 2015 Shenzhen Penguin Network Technology Co., Ltd
|
* All Rights Reserved.
|
* ±¾Èí¼þΪÉîÛÚÊÐÆó¶ìÍøÂç¿Æ¼¼ÓÐÏÞ¹«Ë¾¿ª·¢ÑÐÖÆ¡£Î´¾±¾¹«Ë¾ÕýʽÊéÃæÍ¬Ò⣬ÆäËûÈκθöÈË¡¢ÍÅÌå
|
* ²»µÃʹÓᢸ´ÖÆ¡¢Ð޸Ļò·¢²¼±¾Èí¼þ.
|
*****************************************************************************/
|
|
package com.qxueyou.scc.exercise.dao;
|
|
import java.text.ParseException;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
import org.hibernate.SQLQuery;
|
import org.hibernate.Session;
|
import org.hibernate.transform.Transformers;
|
import org.springframework.orm.hibernate4.HibernateCallback;
|
import org.springframework.stereotype.Repository;
|
|
import com.qxueyou.scc.base.dao.BaseDAO;
|
import com.qxueyou.scc.base.model.Pager;
|
import com.qxueyou.scc.base.model.Result;
|
import com.qxueyou.scc.base.util.DateUtils;
|
import com.qxueyou.scc.exercise.model.ExerciseAnalisisResult;
|
import com.qxueyou.scc.exercise.model.ExerciseGroup;
|
import com.qxueyou.scc.exercise.model.ExerciseGroupItemRe;
|
import com.qxueyou.scc.exercise.model.ExerciseItem;
|
|
@Repository(value="exerciseDAO")
|
/**
|
* ×Ô¶¯×¢ÈësessionFactory
|
*
|
* @author µËÖ¾ÓÀ
|
* @since JDK1.6
|
* @history 2010-07-28 Ïĵ»¢ н¨
|
*/
|
|
public class ExerciseDAO extends BaseDAO {
|
|
|
/**
|
* ×é×°²éѯÁ·Ï°ÌâÄ¿ ˳Ðò¡¢Ëæ»úÁ·Ï°
|
* @return
|
*/
|
@SuppressWarnings("unchecked")
|
public List<ExerciseItem> queryExtendExerciseItem(String hql,
|
List<Object> args) {
|
List<ExerciseItem> lstitems = new ArrayList<ExerciseItem>();
|
ExerciseItem item;
|
List<Object[]> lst = (List<Object[]>) this.getHibernateTemplate().find(hql, args.toArray());
|
ExerciseAnalisisResult analisisResult=null;
|
for (Object[] obj : lst) {
|
item = (ExerciseItem) obj[0];
|
item.setExerciseExtendId(String.valueOf(obj[1]));
|
item.setExerciseRecordId(String.valueOf(obj[2]));
|
analisisResult= new ExerciseAnalisisResult();
|
analisisResult.setCurrTitleNumber(String.valueOf(obj[3] == null ? 0 :obj[3]));
|
analisisResult.setExerAccuracy(String.valueOf(obj[4] == null ? 0 :obj[4]));
|
analisisResult.setExerCorrectCount(String.valueOf(obj[5] == null ? 0 :obj[5]));
|
item.setAnalisisResult(analisisResult);
|
lstitems.add(item);
|
}
|
|
return lstitems;
|
}
|
|
/**
|
*²éѯ´íÌâ ÊղضÔÓ¦µÄÁ·Ï°¼Ç¼
|
* @return
|
* @throws ParseException
|
*/
|
@SuppressWarnings({ "unchecked"})
|
public List<ExerciseItem> queryExerciceItemList(String hql,
|
List<Object> args){
|
List<ExerciseItem> lstitems = new ArrayList<ExerciseItem>();
|
ExerciseItem item;
|
List<Object[]> lst = (List<Object[]>) this.getHibernateTemplate().find(hql, args.toArray());
|
try {
|
for (Object[] obj : lst) {
|
item = (ExerciseItem) obj[0];
|
item.setExerciseGroupId(String.valueOf(obj[1]));
|
item.setUpdateTime(DateUtils.convertStringToDate(String.valueOf(obj[2]), "yyyy-MM-dd HH:mm:ss"));
|
lstitems.add(item);
|
}
|
} catch (Exception e) {
|
|
}
|
|
return lstitems;
|
}
|
|
/**
|
* ¸ù¾Ýhql²éѯ,·µ»ØÁбí·ÖÒ³Êý¾Ý
|
*
|
* @param hql ²éѯÓï¾ä
|
* @param args ²ÎÊý
|
* @param cls ·µ»ØÀàÐÍ
|
* @return
|
*/
|
@SuppressWarnings("unchecked")
|
public List<Map<String,String>> queryRecentRecords(final String sql, final Pager page, final List<Object> args) {
|
// ²éѯµÃµ½½á¹û
|
|
List<Object[]> resultLst = this.getHibernateTemplate().execute(
|
new HibernateCallback<List<Object[]>>() {
|
public List<Object[]> doInHibernate(Session session) {
|
SQLQuery query = session.createSQLQuery(sql);
|
|
int i = 0;
|
for (Object arg : args) {
|
query.setParameter(i++, arg);
|
}
|
query.setFirstResult(page.getPageSize()
|
* (page.getPageNum() - 1));
|
query.setMaxResults(page.getPageSize());
|
return query.list();
|
}
|
});
|
|
List<Map<String,String>> lst = new ArrayList<Map<String,String>>();
|
Map<String, String> map = null;
|
|
for (Object[] obj : resultLst) {
|
map = new HashMap<String, String>();
|
map.put("groupId", String.valueOf(obj[0]));
|
map.put("type", String.valueOf(obj[1]));
|
map.put("name", String.valueOf(obj[2]));
|
map.put("recordId", String.valueOf(obj[3]));
|
map.put("attribute2", String.valueOf(obj[4]));
|
map.put("attribute1", String.valueOf(obj[5]));
|
map.put("schedule", String.valueOf(obj[6]));
|
map.put("allCount", String.valueOf(obj[7]));
|
|
lst.add(map);
|
}
|
|
return lst;
|
}
|
|
/**
|
* ¸ù¾Ýhql²éѯ,·µ»ØÁбí·ÖÒ³Êý¾Ý
|
*
|
* @param hql ²éѯÓï¾ä
|
* @param args ²ÎÊý
|
* @param cls ·µ»ØÀàÐÍ
|
* @return
|
*/
|
@SuppressWarnings({"unchecked" })
|
public List<Map<String,String>> queryExerciseRecentRecords(final String sql, final List<Object> args) {
|
// ²éѯµÃµ½½á¹û
|
List<Object[]> resultLst = this.getHibernateTemplate().execute(new HibernateCallback<List<Object[]>>() {
|
|
public List<Object[]> doInHibernate(Session session) {
|
SQLQuery query = session.createSQLQuery(sql);
|
|
int i = 0;
|
for (Object arg : args) {
|
query.setParameter(i++, arg);
|
}
|
return query.list();
|
}
|
});
|
|
List<Map<String,String>> lst = new ArrayList<Map<String,String>>();
|
Map<String, String> map = null;
|
|
for (Object[] obj : resultLst) {
|
map = new HashMap<String, String>();
|
map.put("groupId", String.valueOf(obj[0]));
|
map.put("titleMaxNumber", String.valueOf(obj[1]));
|
map.put("status", String.valueOf(obj[2]));
|
map.put("doCount", String.valueOf(obj[3]));
|
|
lst.add(map);
|
}
|
|
return lst;
|
}
|
|
/**
|
*²éѯÁ·Ï°ÁÐ±í£¬»¹Ðè²éѯÁªÏµÏÂÃæÏ°Ìâ¸öÊý
|
* @return
|
*/
|
@SuppressWarnings("unchecked")
|
public List<ExerciseGroup> queryExerciceGroupList(String sql,List<Object> args) {
|
|
Session session = this.getSessionFactory().getCurrentSession();
|
SQLQuery query = session.createSQLQuery(sql);
|
query.setResultTransformer(Transformers.aliasToBean(ExerciseGroup.class));
|
for(int i = 0;args !=null && i < args.size() ; i++ ){
|
query.setParameter(i, args.get(i));
|
}
|
|
return query.list();
|
}
|
|
public Result deleteExerciseItemRe(ExerciseGroupItemRe objExerciseItemRe){
|
|
this.getHibernateTemplate().delete(objExerciseItemRe);
|
|
return new Result(true);
|
|
}
|
|
}
|