/******************************************************************************
|
* Copyright (C) 2015 Shenzhen Penguin Network Technology Co., Ltd
|
* All Rights Reserved.
|
* 本软件为深圳市企鹅网络科技有限公司开发研制。未经本公司正式书面同意,其他任何个人、团体
|
* 不得使用、复制、修改或发布本软件.
|
*****************************************************************************/
|
|
package com.qxueyou.scc.school.dao;
|
|
import java.text.ParseException;
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
import org.apache.commons.lang3.StringUtils;
|
import org.hibernate.SQLQuery;
|
import org.hibernate.Session;
|
import org.hibernate.transform.Transformers;
|
import org.springframework.stereotype.Repository;
|
|
import com.qxueyou.scc.base.dao.BaseDAO;
|
import com.qxueyou.scc.base.model.FilePathConstants;
|
import com.qxueyou.scc.base.model.Pager;
|
import com.qxueyou.scc.school.model.SchSignItem;
|
import com.qxueyou.scc.school.model.SchSignStatistics;
|
|
|
@Repository(value="signDAO")
|
/**
|
* 自动注入sessionFactory 签到明细
|
*
|
* @author ody.yuan
|
* @since JDK1.6
|
* @history 2015-04-23
|
*/
|
public class SignDAO extends BaseDAO {
|
|
|
/**
|
* 查询签到明细
|
* @param sql
|
* @param args
|
* @return
|
* @throws ParseException
|
*/
|
@SuppressWarnings("unchecked")
|
public List<SchSignItem> querySignItemList(String sql,List<Object> args) {
|
// 查询结果
|
Session session = this.getSessionFactory().getCurrentSession();
|
SQLQuery query = session.createSQLQuery(sql);
|
query.setResultTransformer(Transformers.aliasToBean(SchSignItem.class));
|
for(int i = 0;args !=null && i < args.size() ; i++ ){
|
query.setParameter(i, args.get(i));
|
}
|
List<SchSignItem> lstItems = query.list();
|
|
return lstItems;
|
}
|
|
/**
|
* 查询签到明细(优化版本)
|
* @param sql
|
* @param args
|
* @return
|
* @throws ParseException
|
*/
|
@SuppressWarnings({ "unchecked" })
|
public List<SchSignStatistics> querySignItemListNew(final String sql,final List<Object> args) {
|
// 查询得到结果
|
List<Object[]> resultLst = this.findBySql(sql, args);
|
|
List<SchSignStatistics> lst = new ArrayList<SchSignStatistics>();
|
SchSignStatistics objSta = null;
|
|
for (Object[] obj : resultLst) {
|
objSta = new SchSignStatistics();
|
objSta.setUserId(String.valueOf(obj[0]));
|
objSta.setUserName(String.valueOf(obj[1]));
|
objSta.setMobilePhone(obj[2] == null?null:String.valueOf(obj[2]));
|
objSta.setRegisteFlag(true);
|
if(Integer.parseInt(String.valueOf(obj[3]))==1){
|
objSta.setInstallFlag(true);
|
}else{
|
objSta.setInstallFlag(false);
|
}
|
objSta.setCompanyName(String.valueOf(obj[4]));
|
objSta.setStatisticsFlag(3);
|
lst.add(objSta);
|
}
|
return lst;
|
}
|
|
/**
|
* 组装查询练习题目 顺序、随机练习
|
* @return
|
*/
|
@SuppressWarnings("unchecked")
|
public List<SchSignStatistics> querySignItemListStat(String hql,
|
List<Object> args) {
|
List<SchSignStatistics> lstitems = new ArrayList<SchSignStatistics>();
|
SchSignStatistics item;
|
List<Object[]> lst = (List<Object[]>) this.getHibernateTemplate().find(hql, args.toArray());
|
for (Object[] obj : lst) {
|
item = (SchSignStatistics) obj[0];
|
item.setUserImgPath(null != obj[1] && StringUtils.isNotBlank(String.valueOf(obj[1])) ? String.valueOf(obj[1]) : FilePathConstants.USER_DEFAULT_IMG );
|
lstitems.add(item);
|
}
|
return lstitems;
|
}
|
|
/**
|
* 组装查询签到历史
|
* @param hql
|
* @param page
|
* @param args
|
* @return
|
*/
|
public List<Map<String, Object>> querySignHistoryList(final String hql, final Pager page, final List<Object> args) {
|
|
List<Map<String, Object>> lstMap = new ArrayList<Map<String, Object>>();
|
Map<String, Object> map = null;
|
|
List<Object[]> lst = this.findList(hql, page, args, Object[].class);
|
|
for (Object[] obj : lst) {
|
map = new HashMap<String, Object>(8);
|
map.put("firstSignTime", obj[0]);
|
map.put("firstSignStatus", obj[1]);
|
map.put("lastSignTime", obj[2]);
|
map.put("lastSignStatus", obj[3]);
|
map.put("signAddress", obj[4]);
|
map.put("signName", obj[5]);
|
map.put("signType", obj[6]);
|
map.put("signStatisticsId", obj[7]);
|
lstMap.add(map);
|
}
|
return lstMap;
|
}
|
|
/**
|
* 组装查询签到、公司名称
|
* @return
|
*/
|
@SuppressWarnings("unchecked")
|
public List<SchSignStatistics> querySignItemListCom(String hql,List<Object> args) {
|
List<SchSignStatistics> lstitems = new ArrayList<SchSignStatistics>();
|
SchSignStatistics item;
|
List<Object[]> lst = (List<Object[]>) this.getHibernateTemplate().find(hql, args.toArray());
|
for (Object[] obj : lst) {
|
item = (SchSignStatistics) obj[0];
|
if(null != obj[1]){
|
item.setAttribute1(String.valueOf(obj[1]));
|
}else{
|
item.setAttribute1("");
|
}
|
lstitems.add(item);
|
}
|
return lstitems;
|
}
|
|
/**
|
* 组装签到记录
|
* @return
|
*/
|
@SuppressWarnings("unchecked")
|
public List<SchSignStatistics> querySchSignStatisticses(String hql,List<Object> args ) {
|
|
List<SchSignStatistics> result = new ArrayList<SchSignStatistics>();
|
SchSignStatistics statistics ;
|
|
List<Object[]> lst = (List<Object[]>) this.getHibernateTemplate().find(hql, args.toArray());
|
for (Object[] obj : lst) {
|
|
statistics = new SchSignStatistics();
|
|
statistics = (SchSignStatistics)obj[0] ;
|
statistics.setCompanyName(null != obj[1] ? String.valueOf(obj[1]) : "" );
|
|
result.add(statistics);
|
}
|
|
return result;
|
}
|
|
public List<SchSignStatistics> querySignItemListCom(final String hql, final Pager page, final List<Object> args) {
|
|
List<Object[]> lst = this.findList(hql, page, args, Object[].class);
|
|
List<SchSignStatistics> lstitems = new ArrayList<SchSignStatistics>();
|
SchSignStatistics item;
|
for (Object[] obj : lst) {
|
item = new SchSignStatistics();
|
item = (SchSignStatistics) obj[0];
|
item.setAttribute1(null != obj[1] ? String.valueOf(obj[1]) : "") ;
|
lstitems.add(item);
|
|
}
|
return lstitems;
|
|
}
|
}
|