package com.cabletech.business.wplan.patrolitem.condition; import org.springframework.stereotype.Service; 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; /** * 巡检项编号和计划模板编号查询条件生成器接口实现 * * @author 杨隽 2012-02-14 创建 * */ @Service public class ItemIdAndTemplateIdConditionGenerate extends BaseConditionGenerate { private StringBuffer joinDataCondition = new StringBuffer(""); @Override public void setQuerySql(QueryParameter parameter) { // TODO Auto-generated method stub super.businessDataCondition = new StringBuffer(""); joinDataCondition = new StringBuffer(""); if (!QueryParameter.isNull(parameter)) { super.getConditionSqlByParameter((ItemQueryParameter) parameter, super.businessDataCondition); } parameter.setAlias("wpsi"); parameter.setColumnName("state"); parameter.setValue(PatrolItem.ITEM_START_USING_STATE); super.businessDataCondition.append(ConditionGenerateUtils .getConditionEqualByAndLogicOperator(parameter)); String templateId = ((ItemQueryParameter) parameter).getTemplateId(); parameter.setAlias("template"); parameter.setColumnName("template_id"); parameter.setValue(templateId); joinDataCondition.append(ConditionGenerateUtils .getConditionEqualByAndLogicOperator(parameter)); } /** * 获取变动连接表单数据信息的sql语句 */ @Override public String getJoinTableSql() { // TODO Auto-generated method stub StringBuffer sqlBuf = new StringBuffer(""); sqlBuf.append(" LEFT JOIN ( "); sqlBuf.append(" SELECT template.* "); sqlBuf.append(" FROM WPLAN_TEMPLATESUBITEM template "); sqlBuf.append(" WHERE 1=1 "); sqlBuf.append(joinDataCondition); sqlBuf.append(" ) join_table "); sqlBuf.append(" ON join_table.subitem_id = business_table.id "); return sqlBuf.toString(); } /** * 获取排序条件sql语句 */ @Override public String getOrder() { // TODO Auto-generated method stub return " ORDER BY business_table.ITEM_ID "; } }