package com.cabletech.business.workflow.wmaintain.condition;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Component;
import com.cabletech.business.base.condition.ConditionGenerateUtils;
import com.cabletech.business.base.condition.QueryParameter;
import com.cabletech.business.workflow.wmaintain.model.WMaintainPlan;
/**
* 无线资源计划中存在问题站点查询条件生成器接口实现
*
* @author 杨隽 2012-04-23 创建
* @author 杨隽 2012-04-26 添加putNotMaintainResCondition()方法
*
*/
@Component
public class WmPlanResourceConditionGenerateImpl extends BaseConditionGenerate {
/**
* 根据查询参数来设置查询的sql条件语句
*
* @param parameter
* QueryParameter 查询条件参数
*/
@Override
public void setQuerySql(QueryParameter parameter) {
// TODO Auto-generated method stub
super.businessDataCondition = new StringBuffer("");
parameter.setAlias("t_");
super.putWplanQueryCondition(parameter);
WMaintainPlan plan = (WMaintainPlan) parameter.getEntity();
parameter.setColumnName("resource_type");
parameter.setValue(plan.getResourceType());
super.businessDataCondition.append(ConditionGenerateUtils
.getConditionEqualByAndLogicOperator(parameter));
parameter.setColumnName("resource_id");
parameter.setValue(plan.getResourceId());
super.businessDataCondition.append(ConditionGenerateUtils
.getConditionEqualByAndLogicOperator(parameter));
putNotMaintainResCondition(plan);
}
/**
* 获取排序条件sql语句
*
* @return String 排序条件sql语句
*/
@Override
public String getOrder() {
// TODO Auto-generated method stub
return " ORDER BY business_table.ID ";
}
/**
* 获取变动连接表单数据信息的sql语句
*
* @return String 变动连接表单数据信息的sql语句
*/
@Override
public String getJoinTableSql() {
// TODO Auto-generated method stub
return "";
}
/**
* 将不在维修计划中资源异常项的查询条件sql放到缓冲区中
*
* @param plan
* WMaintainPlan 维修计划查询实体
*/
private void putNotMaintainResCondition(WMaintainPlan plan) {
String id = "-1";
if (StringUtils.isNotBlank(plan.getId())) {
id = plan.getId();
}
super.innerDataCondition = new StringBuffer("");
super.innerDataCondition.append(" AND wp.ID<>'");
super.innerDataCondition.append(id);
super.innerDataCondition.append("' ");
}
}