public List getQueryList(Map paramMap, int start, int maxResults) throws DataAccessException, HibernateException,
InstantiationException, IllegalAccessException, InvocationTargetException, NoSuchMethodException {
String woNo = "";
String woSubject = "";
Date creationDateFrom = null;
Date creationDateEnd = null; if (paramMap.get("woNo") != null) {
woNo = (String) paramMap.get("woNo");
}
;
if (paramMap.get("woSubject") != null) {
woSubject = (String) paramMap.get("woSubject");
}
if (paramMap.get("creationDateFrom") != null) {
creationDateFrom = (Date) paramMap.get("creationDateFrom");
}
if (paramMap.get("creationDateEnd") != null) {
creationDateEnd = (Date) paramMap.get("creationDateEnd");
} StringBuffer buf = new StringBuffer();
buf.append("select abh.*,");
buf.append("fw.wo_no bill_code,");
buf.append("fw.wo_type bill_type,");
buf.append("fw.wo_subject bill_title,");
buf.append("fw.created_date creation_date,");
buf.append("fw.process_instance_id process_instance_id,");
buf.append("'transated' task_type,");
buf.append("(select au.user_name from arch_user au where au.user_id=abh.created_by) created_name,");
buf.append("(select ao.org_name from arch_org ao where ao.org_id=abh.arch_org_company_id) region_company_segment,");
buf.append("(select ao.org_name from arch_org ao where ao.org_id=abh.arch_org_dept_id) region_dept_segment");
buf.append(" from FAS_WORKORDER fw, ACCOUNT_BILL_HEAD abh where 1 = 1 ");
buf.append(" and fw.businessid = abh.account_bill_head_id");
buf.append(" and fw.wo_no like :woNo");
buf.append(" and fw.wo_subject like :woSubject");
buf.append(" and fw.created_date between nvl(:creationDateFrom,fw.created_date) and nvl(:creationDateEnd,sysdate)");
buf.append(" order by fw.created_date desc"); List beanList = null;
Session session = null;
try {
session = accountBillHeadDAO.getHibernateTemplate().getSessionFactory().openSession();
//获得本地sql查询对象
SQLQuery query = session.createSQLQuery(buf.toString());
//设置字符串参数
query.setString("woNo", "%" + woNo + "%");
query.setString("woSubject", "%" + woSubject + "%");
//设置日期参数
query.setDate("creationDateFrom", creationDateFrom);
query.setDate("creationDateEnd", creationDateEnd);
//设置分页
query.setFirstResult(start);
query.setMaxResults(maxResults);
query.setResultTransformer(new ExtColumnToBean(AccountBillHeadVOImpl.class)); beanList = query.list();
} catch (RuntimeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
session.flush();
session.close();
}
return beanList;
}
05-11 18:08