package com.cabletech.business.workflow.wmaintain.dao;
import org.springframework.stereotype.Repository;
import com.cabletech.business.workflow.wmaintain.model.WMaintainSite;
/**
* 计划维护站点Dao
*
* @author 杨隽 2012-04-11 创建
* @author 杨隽 2012-04-18 添加deleteSite()方法
*
*/
@Repository
public class WMaintainSiteDao extends WMaintainBaseDao<WMaintainSite, String> {
/**
* 根据查询条件获取sql语句
*
* @return String 生成后的sql语句
*/
@Override
public String getBusinessTableSql() {
// TODO Auto-generated method stub
StringBuffer sqlBuffer = new StringBuffer("");
sqlBuffer.append(" SELECT ws.*,rm.NAME AS RS_NAME, ");
sqlBuffer.append(" rm.ADDRESS,DECODE(SIGN(( ");
sqlBuffer.append(" SELECT SUM(DECODE( ");
sqlBuffer.append(" wr.MAINTAIN_RESULT,null,1,'',1,0) ");
sqlBuffer.append(" ) ");
sqlBuffer.append(" FROM WMAINTAIN_RESULT wr ");
sqlBuffer.append(" WHERE wr.MAINTAIN_ID=ws.ID ");
sqlBuffer.append(" )-0),1,'RED', ");
sqlBuffer.append(" DECODE(SIGN(( ");
sqlBuffer.append(" SELECT SUM(DECODE( ");
sqlBuffer.append(" wr.MAINTAIN_RESULT,'");
sqlBuffer.append(WMaintainSite.CANNOT_MAINTAIN_STATE);
sqlBuffer.append("',1,0)) ");
sqlBuffer.append(" FROM WMAINTAIN_RESULT wr ");
sqlBuffer.append(" WHERE wr.MAINTAIN_ID=ws.ID ");
sqlBuffer.append(" )-0),1,'YELLOW','BLACK')) AS SITE_MAINTAIN_STATE, ");
sqlBuffer.append(" wp.PATROL_GROUP,wp.BUSINESS_TYPE ");
sqlBuffer.append(" FROM WMAINTAIN_SITE ws ");
sqlBuffer.append(" JOIN WMAINTAIN_PLAN wp ON wp.ID=ws.PLAN_ID ");
sqlBuffer.append(" LEFT JOIN RS_RESOURCERECORD_V rm ");
sqlBuffer.append(" ON rm.ID=ws.RS_ID ");
sqlBuffer.append(" AND rm.TYPE=wp.BUSINESS_TYPE ");
sqlBuffer.append(" WHERE 1=1 ");
return sqlBuffer.toString();
}
/**
* 根据计划编号删除计划维护站点信息
*
* @param planId
* String 计划编号
*/
public void deleteSite(String planId) {
StringBuffer sqlBuffer = new StringBuffer("");
sqlBuffer.append(" DELETE FROM WMAINTAIN_SITE ws ");
sqlBuffer.append(" WHERE ws.PLAN_ID='");
sqlBuffer.append(planId);
sqlBuffer.append("' ");
super.getJdbcTemplate().execute(sqlBuffer.toString());
}
}