/**
* RepDefineDetailDao.java 2010/08/13
*/
package com.ycsoft.report.dao.config;
import java.util.List;
import org.springframework.stereotype.Component;
import com.ycsoft.commons.helper.StringHelper;
import com.ycsoft.daos.abstracts.BaseEntityDao;
import com.ycsoft.daos.core.JDBCException;
import com.ycsoft.daos.core.Pager;
import com.ycsoft.report.bean.RepDefineLog;
/**
* RepDefineDetailDao -> REP_DEFINE_DETAIL table's operator
*/
@Component
public class RepDefineLogDao extends BaseEntityDao<RepDefineLog> {
/**
* default empty constructor
*/
public RepDefineLogDao() {
}
/**
* 查询该操作员具有权限的日志
*
* @param optr_id
* @param start
* @param limit
* @return
* @throws JDBCException
*/
public Pager<RepDefineLog> queryLog(String optr_id,String rep_id, Integer start,
Integer limit) throws JDBCException {
if(StringHelper.isEmpty(rep_id)){
String sql = StringHelper
.append(
"select log.rep_id,log.rep_name,log.optr_login_name,log.create_date,",
" decode(log.update_type,'UPDATE','更新','创建') update_type,log.remark",
" from (select res.res_id",
" from s_optr_role r,rep_define d,s_role_resource r_res,s_resource res",
" where r.role_id=r_res.role_id and r_res.res_id=res.res_id and res.res_id=d.rep_id",
" and r.optr_id=? ",
" union ",
" select res.res_id from rep_define d,s_optr_resource o,s_resource res ",
" where res.res_id=o.res_id and res.res_id=d.rep_id ",
" and o.optr_id=? ",
") a,rep_define_log log",
" where a.res_id=log.rep_id",
" order by log.create_date desc");
return createQuery(sql,optr_id,optr_id).setStart(start).setLimit(limit).page();
}else{
String sql = StringHelper
.append(
"select log.rep_id,log.rep_name,log.optr_login_name,log.create_date,",
" decode(log.update_type,'UPDATE','更新','创建') update_type,log.remark",
" from (select res.res_id",
" from s_optr_role r,rep_define d,s_role_resource r_res,s_resource res",
" where r.role_id=r_res.role_id and r_res.res_id=res.res_id and res.res_id=d.rep_id",
" and r.optr_id=? and d.rep_id=?",
" union ",
" select res.res_id from rep_define d,s_optr_resource o,s_resource res ",
" where res.res_id=o.res_id and res.res_id=d.rep_id and o.optr_id=? and d.rep_id=?) a,rep_define_log log",
" where a.res_id=log.rep_id",
" order by log.create_date desc");
return createQuery(sql,optr_id,rep_id,optr_id,rep_id).setStart(start).setLimit(limit).page();
}
}
}