/****************************************************************************** * 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 querySignItemList(String sql,List 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 lstItems = query.list(); return lstItems; } /** * ²éѯǩµ½Ã÷ϸ(ÓÅ»¯°æ±¾) * @param sql * @param args * @return * @throws ParseException */ @SuppressWarnings({ "unchecked" }) public List querySignItemListNew(final String sql,final List args) { // ²éѯµÃµ½½á¹û List resultLst = this.findBySql(sql, args); List lst = new ArrayList(); 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 querySignItemListStat(String hql, List args) { List lstitems = new ArrayList(); SchSignStatistics item; List lst = (List) 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> querySignHistoryList(final String hql, final Pager page, final List args) { List> lstMap = new ArrayList>(); Map map = null; List lst = this.findList(hql, page, args, Object[].class); for (Object[] obj : lst) { map = new HashMap(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 querySignItemListCom(String hql,List args) { List lstitems = new ArrayList(); SchSignStatistics item; List lst = (List) 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 querySchSignStatisticses(String hql,List args ) { List result = new ArrayList(); SchSignStatistics statistics ; List lst = (List) 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 querySignItemListCom(final String hql, final Pager page, final List args) { List lst = this.findList(hql, page, args, Object[].class); List lstitems = new ArrayList(); 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; } }