package com.cabletech.business.wplan.patrolitem.condition;
import com.cabletech.business.base.condition.BusinessConditionUtils;
import com.cabletech.business.base.condition.ConditionGenerate;
import com.cabletech.business.base.condition.ConditionGenerateUtils;
import com.cabletech.business.base.condition.QueryParameter;
import com.cabletech.business.wplan.patrolitem.condition.parameter.ItemQueryParameter;
import com.cabletech.business.wplan.patrolitem.model.PatrolItem;
import com.cabletech.common.base.SysConstant;
import com.cabletech.common.util.Page;
/**
* 巡检项查询条件生成器接口基类
*
* @author 杨隽 2012-02-14 创建
* @author 杨隽 2012-04-26 添加getBusinessTableDataInCondition()方法
*
*/
public abstract class BaseConditionGenerate implements ConditionGenerate {
protected StringBuffer businessDataCondition = new StringBuffer("");
@SuppressWarnings("rawtypes")
protected Page page = new Page(SysConstant.DEFAULT_PAGE_SIZE);
/**
* 获取业务表单查询条件sql语句
*/
@Override
public String getBusinessTableDataCondition() {
// TODO Auto-generated method stub
return businessDataCondition.toString();
}
/**
* 获取业务表单内联查询条件sql语句
*
* @return String 业务表单内联查询条件sql语句
*/
public String getBusinessTableDataInCondition() {
return "";
}
/**
* 获取分页信息数据
*/
@SuppressWarnings("rawtypes")
@Override
public Page getPage() {
// TODO Auto-generated method stub
return page;
}
@SuppressWarnings("rawtypes")
@Override
public void setPage(Page page) {
// TODO Auto-generated method stub
this.page = page;
}
/**
* 根据查询条件参数生成查询条件的条件sql
*
* @param parameter
* ItemQueryParameter 查询条件参数
* @param queryCondition
* StringBuffer 查询条件sql存放缓冲区
*/
public void getConditionSqlByParameter(ItemQueryParameter parameter,
StringBuffer queryCondition) {
parameter.setAlias("wpsi");
if (ItemQueryParameter.NO_SHOW_ALL.equals(parameter.getShowAll())) {
parameter.setColumnName("state");
parameter.setValue(PatrolItem.ITEM_START_USING_STATE);
queryCondition.append(ConditionGenerateUtils
.getConditionEqualByAndLogicOperator(parameter));
}
parameter.setColumnName("item_id");
parameter.setValue(parameter.getItemId());
queryCondition.append(ConditionGenerateUtils
.getConditionEqualByAndLogicOperator(parameter));
parameter.setAlias("wpi");
parameter.setColumnName("business_type");
parameter.setValue(parameter.getBusinessType());
queryCondition.append(ConditionGenerateUtils
.getConditionEqualByAndLogicOperator(parameter));
parameter.setColumnName("regionid");
parameter.setValue(parameter.getRegionId());
queryCondition.append(BusinessConditionUtils
.getRegionCondition(parameter));
}
/**
* 传入参数判断
*
* @param parameter
* QueryParameter 传入的参数
* @return boolean 传入参数是否为空
*/
protected boolean preSetParameter(QueryParameter parameter) {
if (QueryParameter.isNull(parameter)) {
return false;
}
if (!QueryParameter.IS_QUERY_PARAMETER.equals(parameter.getIsQuery())) {
parameter.clear();
}
return true;
}
}