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<String, String> params){
|
Map<String, Object> support = new HashMap<String, Object>();
|
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<String, String> 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<String, String> params,PageInfo pageInfo) {
|
Map support = getCfgcateSupport(params);
|
String sql = support.get("sql").toString();
|
return baseDao.queryforSplitPageInfo(pageInfo, sql, params);
|
}
|
|
|
}
|