SQL语句:
/**
* <p>Method :queryMzjInfo
* <p>Description : 民政局信息查询
*
* @param mzjInfo
* @param pageNum
* @param pageSize
* @return
*/
@SuppressWarnings("unchecked")
public List<FrkMzjMbstjbxx> queryMzjInfo(final MzjQueryConditionPoJo mzjInfo, final int
pageNum, final int pageSize) {
return (List<FrkMzjMbstjbxx>)this.getHibernateTemplate().executeFind(new
HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException,
SQLException {
StringBuffer queryHQL = new StringBuffer();
queryHQL.append("SELECT " +
"T.MZFRJBQKID, T.DWBH, T.ZZJGDM, T.DJSJ, T.DJBM,
T.BMDJZH, T.BMJHM, T.DWMC, T.FDDBRXM, " +
"(SELECT MAX(CODE_NAME) FROM C##ZCK_HXK.UP_CODELIST
WHERE CODE_VALUE = T.ZJLX AND CODETYPE = 'CB16') AS ZZLXNAME, " +
"T.ZJHM, T.DZ, T.YB, T.DH, T.HYFL, T.MZFL, T.FZJG,
T.MJZZFZRS, T.CYRS, T.ZLSHGZSRS, T.SHGZSRS, T.ZXKJZD, T.GDZCYJ, T.BNSRHJ, T.BNFYHJ, T.YWZGBM,
T.KBZJ, " +
"(SELECT MAX(CODE_NAME) FROM C##ZCK_HXK.UP_CODELIST
WHERE CODE_VALUE = T.SFJLDZZ AND CODETYPE = 'CEX01') AS SFJLDZZNAME, " +
"T.NJSJ,T.ZJLX, T.SFJLDZZ,T.DNSFNJ, " +
"(SELECT MAX(CODE_NAME) FROM C##ZCK_HXK.UP_CODELIST
WHERE CODE_VALUE = T.DNSFNJ AND CODETYPE = 'CEX01') AS DNSFNJNAME " +
"FROM FRK_MZJ_MBSTJBXX T,FRK_JCXX T1 WHERE
(T1.ZZJGDM = T.ZZJGDM OR T1.JGMC = T.DWMC) ");
List<Object> params = new ArrayList<Object>();
if(mzjInfo != null)
{
//组织机构代码
if(StringUtils.isNotBlank(mzjInfo.getZzjgdm())){
queryHQL.append(" AND T.ZZJGDM = ? ");
params.add(mzjInfo.getZzjgdm());
}
//单位名称
if(StringUtils.isNotBlank(mzjInfo.getDwmc())){
queryHQL.append(" AND T.DWMC LIKE ? ");
params.add("%" + mzjInfo.getDwmc() + "%");
}
//登记时间自
if(mzjInfo.getDjsjfrom()!=null){
queryHQL.append(" AND T.DJSJ >= ? ");
params.add(mzjInfo.getDjsjfrom());
}
//登记时间至
if(mzjInfo.getDjsjto()!=null){
queryHQL.append(" AND T.DJSJ <= ? ");
params.add(mzjInfo.getDjsjto());
}
//登记部门
if(StringUtils.isNotBlank(mzjInfo.getDjbm())){
queryHQL.append(" AND T.DJBM LIKE ? ");
params.add("%" + mzjInfo.getDjbm() + "%");
}
//部门交换码
if(StringUtils.isNotBlank(mzjInfo.getBmjhm())){
queryHQL.append(" AND T.BMJHM = ? ");
params.add(mzjInfo.getBmjhm());
}
}
queryHQL.append(" ORDER BY T.DJSJ DESC,T.MZFRJBQKID DESC");
Query query = ((SQLQuery) session.createSQLQuery(queryHQL.toString
())).
addScalar("mzfrjbqkid", Hibernate.STRING).
addScalar("dwbh", Hibernate.STRING).
addScalar("zzjgdm", Hibernate.STRING).
addScalar("djsj", Hibernate.DATE).
addScalar("djbm", Hibernate.STRING).
addScalar("bmdjzh", Hibernate.STRING).
addScalar("bmjhm", Hibernate.STRING).
addScalar("dwmc", Hibernate.STRING).
addScalar("fddbrxm", Hibernate.STRING).
addScalar("zjlx", Hibernate.STRING).
addScalar("zjhm", Hibernate.STRING).
addScalar("dz", Hibernate.STRING).
addScalar("yb", Hibernate.STRING).
addScalar("dh", Hibernate.STRING).
addScalar("hyfl", Hibernate.STRING).
addScalar("mzfl", Hibernate.STRING).
addScalar("fzjg", Hibernate.LONG).
addScalar("mjzzfzrs", Hibernate.INTEGER).
addScalar("cyrs", Hibernate.INTEGER).
addScalar("zlshgzsrs", Hibernate.INTEGER).
addScalar("shgzsrs", Hibernate.INTEGER).
addScalar("zxkjzd", Hibernate.STRING).
addScalar("gdzcyj", Hibernate.BIG_DECIMAL).
addScalar("bnsrhj", Hibernate.BIG_DECIMAL).
addScalar("bnfyhj", Hibernate.BIG_DECIMAL).
addScalar("ywzgbm", Hibernate.STRING).
addScalar("kbzj", Hibernate.BIG_DECIMAL).
addScalar("sfjldzz", Hibernate.STRING).
addScalar("njsj", Hibernate.DATE).
addScalar("dnsfnj", Hibernate.STRING).
addScalar("zzlxname", Hibernate.STRING).
addScalar("sfjldzzname", Hibernate.STRING).
addScalar("dnsfnjname", Hibernate.STRING).
setResultTransformer(Transformers.aliasToBean
(FrkMzjMbstjbxx.class));
if(params!=null){
for(int i=0;i<params.size();i++){
query.setParameter(i, params.get(i));
}
}
if(pageSize>0){
query.setMaxResults(pageSize);
query.setFirstResult((pageNum-1)*pageSize);
}
return query.list();
}
});
}
/**
* <p>Method :queryMzjInfoCount
* <p>Description : 民政局信息查询记录数
*
* @param mzjInfo
* @return
*/
public Integer queryMzjInfoCount(final MzjQueryConditionPoJo mzjInfo){
return (Integer)this.getHibernateTemplate().execute(new HibernateCallback() {
public Integer doInHibernate(Session session)throws HibernateException, SQLException {
StringBuffer queryHQL = new StringBuffer();
queryHQL.append("SELECT COUNT(*) FROM FRK_MZJ_MBSTJBXX T,FRK_JCXX
T1 WHERE (T1.ZZJGDM = T.ZZJGDM OR T1.JGMC = T.DWMC) ");
List<Object> params = new ArrayList<Object>();
if(mzjInfo != null)
{
//组织机构代码
if(StringUtils.isNotBlank(mzjInfo.getZzjgdm())){
queryHQL.append(" AND T.ZZJGDM = ? ");
params.add(mzjInfo.getZzjgdm());
}
//单位名称
if(StringUtils.isNotBlank(mzjInfo.getDwmc())){
queryHQL.append(" AND T.DWMC LIKE ? ");
params.add("%" + mzjInfo.getDwmc() + "%");
}
//登记时间自
if(mzjInfo.getDjsjfrom()!=null){
queryHQL.append(" AND T.DJSJ >= ? ");
params.add(mzjInfo.getDjsjfrom());
}
//登记时间至
if(mzjInfo.getDjsjto()!=null){
queryHQL.append(" AND T.DJSJ <= ? ");
params.add(mzjInfo.getDjsjto());
}
//登记部门
if(StringUtils.isNotBlank(mzjInfo.getDjbm())){
queryHQL.append(" AND T.DJBM LIKE ? ");
params.add("%" + mzjInfo.getDjbm() + "%");
}
//部门交换码
if(StringUtils.isNotBlank(mzjInfo.getBmjhm())){
queryHQL.append(" AND T.BMJHM = ? ");
params.add(mzjInfo.getBmjhm());
}
}
Query query = (SQLQuery) session.createSQLQuery(queryHQL.toString
());
if(params!=null){
for(int i=0;i<params.size();i++){
query.setParameter(i, params.get(i));
}
}
Object[] result = query.list().toArray();
return ((BigDecimal)result[0]).intValue();
}
});
}