package cn.ksource.web.facade.uc.configure; import java.util.HashMap; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import cn.ksource.core.dao.BaseDao; import cn.ksource.core.page.PageInfo; import cn.ksource.core.util.StringUtil; @Service("ucConfigureFacade") public class UcConfigureFacadeImpl implements UcConfigureFacade { @Autowired BaseDao baseDao; private Map getCfgcateSupport(Map params){ Map support = new HashMap(); StringBuilder sql = new StringBuilder(); sql.append(" select a.*,b.state fstate "); sql.append(" from cmdb_ci_base a left join cmdb_ci_flow b on a.bus_id = b.id "); sql.append(" where 1=1 "); //客户id if (StringUtil.isNotBlank(params.get("customer_Id"))) { sql.append(" and a.CUS_ID=:customer_Id "); } //所属单位id if (StringUtil.isNotBlank(params.get("sub_customer_id"))) { sql.append(" and a.SUB_CUS_ID=:sub_customer_id "); } //三级分类id if (StringUtil.isNotBlank(params.get("thirdCateId"))) { sql.append(" and a.LV3_ID=:thirdCateId "); } //过保标志 if (StringUtil.isNotBlank(params.get("gbFlag"))) { sql.append(" and a.gb_time < date_format(now(),'%Y%m%d') "); } //创建人 if (StringUtil.isNotBlank(params.get("createId"))) { sql.append(" and a.create_id=:createId and a.bus_id<>'' "); } //流程状态 if (StringUtil.isNotBlank(params.get("fstate"))) { sql.append(" and b.state=:fstate "); } //配置状态 if (StringUtil.isNotBlank(params.get("state"))) { sql.append(" and a.state=:state "); } //当前处理人 if (StringUtil.isNotBlank(params.get("dealId"))) { sql.append(" and b.cur_id=:dealId "); } //搜索码 if(StringUtil.isNotBlank(params.get("searchCode"))){ params.put("searchCode","%"+params.get("searchCode")+"%"); sql.append(" and a.searchcode like :searchCode "); } //配置分类 if(StringUtil.isNotBlank(params.get("categoryId"))){ sql.append(" and a.LV3_ID=:categoryId "); } if(StringUtil.isNotBlank(params.get("templateKey"))){ sql.append(" and exists ( "); sql.append(" select r.bus_id from ( "); sql.append(" select bus_id from flow_record where deal_id=:dealId and template_key=:templateKey "); sql.append(" group by bus_id ) r where r.bus_id = b.id ) "); } sql.append(" order by a.create_time desc "); support.put("sql", sql.toString()); support.put("param", params); return support; } @Override public int queryCiListCount(Map params) { Map support = getCfgcateSupport(params); String sql = "select count(*) from ( " + support.get("sql").toString() + " ) t "; return baseDao.queryForInteger(sql, params); } @Override public PageInfo queryCiListData(Map params,PageInfo pageInfo) { Map support = getCfgcateSupport(params); String sql = support.get("sql").toString(); return baseDao.queryforSplitPageInfo(pageInfo, sql, params); } }