cy
2022-06-21 129904537f66509f97b285e7eb4f42b3dc349dd0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
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);
    }
    
 
}