package com.cabletech.business.workflow.fault.dao;
import org.springframework.stereotype.Repository;
import com.cabletech.business.workflow.fault.model.FaultAlert;
import com.cabletech.common.base.BaseDao;
import com.cabletech.common.util.Page;
/**
* 故障处理及时Dao
*
* @author 杨隽 2012-03-15 创建
*/
@SuppressWarnings("rawtypes")
@Repository
public class FaultHandledOnTimeDao extends BaseDao {
/**
* 获取故障处理及时信息列表
*
* @param page
* Page 分页信息数据
* @param condition
* String 查询条件
* @return Page 分页信息数据
*/
@SuppressWarnings("unchecked")
public Page getList(Page page, String condition) {
StringBuffer sql = new StringBuffer("");
sql.append(" select ui.id as contractorid,ui.name as contractorname, ");
sql.append(" count(*) as fault_sum, ");
sql.append(" sum(decode(sign(wt.deadline-wr.reply_time),-1,1,0)) as overtime_fault_sum, ");
sql.append(" to_char(100.0*decode(count(*),null,0,0,0,(count(*)-sum(decode(sign(wt.deadline-wr.reply_time),-1,1,0)))/count(*)),'FM990.09')||'%' as OVERTIME_RATE ");
sql.append(" from wtrouble_alarm wa ");
sql.append(" join wtrouble_sendtask wt on wa.id=wt.alarm_id ");
sql.append(" join wtrouble_reply wr on wt.id=wr.task_id ");
sql.append(" join view_org ui on wt.maintenance_id=ui.id ");
sql.append(" where wa.ignore_state='");
sql.append(FaultAlert.FINISHED_STATE);
sql.append("' ");
sql.append(condition);
sql.append(" group by ui.id,ui.name ");
return super.findSQLPage(page, sql.toString());
}
}