package com.cabletech.business.workflow.wmaintain.dao; import org.springframework.stereotype.Repository; /** * 维修作业计划中资源查询Dao * * @author 杨隽 2012-04-23 创建 * @author 杨隽 2012-06-04 修改问题站点重复的bug问题 * @author 杨隽 2012-06-06 修改问题站点选择的bug问题 * */ @SuppressWarnings("rawtypes") @Repository public class WMaintainResourceDao extends WMaintainBaseDao { /** * 根据查询条件获取sql语句 * * @return String 生成后的sql语句 */ @Override public String getBusinessTableSql() { // TODO Auto-generated method stub StringBuffer sqlBuffer = new StringBuffer(""); sqlBuffer.append(" SELECT * FROM ( "); sqlBuffer.append(" SELECT DISTINCT wpr.ID,wpr.SUBITEM_ID, "); sqlBuffer.append(" res.ADDRESS,wer.RESOURCE_TYPE, "); sqlBuffer.append(" wer.RESOURCE_ID, "); sqlBuffer.append(" wer.RESOURCE_TYPE||'_'||wer.RESOURCE_ID AS RES_, "); sqlBuffer.append(" wps.SUBITEM_NAME,wpr.SUBITEM_PATROL, "); sqlBuffer.append(" wp.ID AS PLAN_ID,wp.PLAN_NAME AS PLAN_NAME, "); sqlBuffer.append(" nvl(res.NAME,'未命名') AS RS_NAME, "); sqlBuffer.append(" wp.START_TIME,wp.PATROL_GROUP_ID, "); sqlBuffer.append(" wp.BUSINESS_TYPE "); putTableToSql(sqlBuffer); sqlBuffer.append(" ) t_ WHERE 1=1 "); return sqlBuffer.toString(); } /** * 将业务数据表的from语句放到sql缓冲区中 * * @param sqlBuffer * StringBuffer sql缓冲区 */ private void putTableToSql(StringBuffer sqlBuffer) { sqlBuffer.append(" FROM WPLAN_PATROLRECORD wpr "); sqlBuffer.append(" JOIN WPLAN_EXECUTERESULT wer "); sqlBuffer.append(" ON wpr.EXECUTERESULT_ID=wer.ID "); sqlBuffer.append(" JOIN WPLAN_PATROLINFO wp "); sqlBuffer.append(" ON wer.PLAN_ID=wp.ID "); sqlBuffer.append(" JOIN WPLAN_PATROLSUBITEM wps "); sqlBuffer.append(" ON wpr.SUBITEM_ID=wps.ID "); sqlBuffer.append(" JOIN RS_RESOURCERECORD_V res "); sqlBuffer.append(" ON res.ID=wer.RESOURCE_ID "); sqlBuffer.append(" AND res.TYPE=wp.BUSINESS_TYPE "); sqlBuffer.append(" WHERE wps.EXCEPTION_VALUE=wpr.SUBITEM_PATROL "); sqlBuffer.append(super.getInnerCondition()); } }