package com.cabletech.business.sysmanager.dao;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Repository;
import com.cabletech.business.sysmanager.model.GprsMo;
import com.cabletech.common.base.BaseDao;
import com.cabletech.common.util.Page;
/**
* GPRS日志查询
* @author wangt
*
*/
@SuppressWarnings("rawtypes")
@Repository
public class GprsMoDao extends BaseDao {
/**
* 查询
* @param page
* @param parameters
* @return
*/
public Page<Map<String, Object>> getQueryList(
Page<Map<String, Object>> page, Map<String, Object> parameters) {
StringBuffer sql = new StringBuffer();
sql.append("select g.keyid,g.content,g.receive_time,p.NAME patrolname,o.ORGNAME orgname,r.regionname from gprs_mo g ")
.append(" left join base_terminalinfo b on g.deviceid=b.terminalid left join view_patrolgroup p on b.ownerid= p.ID left join view_org o on p.ORGID = o.ID ")
.append(" left join region r on o.REGIONID = r.REGIONID ")
.append(" where 1=1 ")
.append(getCondition(parameters));
this.logger.info(sql);
return super.getSQLPageAll(page, sql.toString());
}
/**
* 封装条件
* @param parameters
* @return
*/
private String getCondition(Map<String, Object> parameters) {
StringBuffer sql = new StringBuffer();
String orgid = (String)parameters.get("orgid");
String regionid = (String)parameters.get("regionid");
String patrolid = (String)parameters.get("patrolid");
if(StringUtils.isNotBlank(patrolid)){
sql.append(" and b.ownerid = '");
sql.append(patrolid);
sql.append("' ");
}else{
if(StringUtils.isNotBlank(orgid)){
sql.append(" and o.orgid in (select id from view_org start with id = '");
sql.append(orgid);
sql.append("' connect by prior id=parentid) ");
}else{
if(StringUtils.isNotBlank(regionid)){
sql.append(" and o.regionid in(select regionid from view_region start with regionid = '");
sql.append(regionid);
sql.append("' connect by prior regionid=parentid) ");
}
}
}
if (parameters.get("begindate") != null
&& !"".equals(parameters.get("begindate"))) { // 职位
sql.append(" and g.receive_time >= to_date('"
+ parameters.get("begindate") + "','yyyy-MM-dd HH24:mi:ss') ");
}
if (parameters.get("enddate") != null
&& !"".equals(parameters.get("enddate"))) {// 考核期间
sql.append(" and g.receive_time <= to_date('" + parameters.get("enddate")
+ "','yyyy-MM-dd HH24:mi:ss') ");
}
return sql.toString();
}
}