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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
package cn.ksource.web.service.xtgl.xtgn.impl;
 
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
import javax.annotation.Resource;
 
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service;
 
import cn.ksource.beans.GG_XTGN;
import cn.ksource.core.dao.BaseDao;
import cn.ksource.core.dao.SqlParameter;
import cn.ksource.core.util.ConvertUtil;
import cn.ksource.core.web.TreeNode;
import cn.ksource.web.Constants;
import cn.ksource.web.service.xtgl.xtgn.XtgnService;
 
@Service("xtgnService")
public class XtgnServiceImpl implements XtgnService {
 
    @Resource(name="baseDao")
    private BaseDao baseDao;
    
    @Override
    public Map getXtgnTree() {
        TreeNode root = new TreeNode("0","系统功能");
        Map rootAttrMap = new HashMap();
        rootAttrMap.put("type", 0);
        root.setAttributes(rootAttrMap);
        
        String sql = "SELECT ID,GNMC,TYPE,SXH,SMALL_IMAGE,SJBH FROM GG_XTGN ORDER BY TYPE ASC,SXH ASC";
        List<Map> xtgnList = baseDao.queryForList(sql, new SqlParameter());
        Map<String, TreeNode> yjgnCache = new HashMap<String, TreeNode>();
        Map<String, TreeNode> ejgnCache = new HashMap<String, TreeNode>();
        
        for (Map map : xtgnList) {
            //一级功能
            if (map.get("type").toString().equalsIgnoreCase("1")) {
                TreeNode yjTree = new TreeNode(map.get("ID").toString(),map.get("GNMC").toString());
                yjTree.setIconCls(ConvertUtil.obj2Str(map.get("SMALL_IMAGE")));
                yjTree.setIsOpen(false);
                Map attrMap = new HashMap();
                attrMap.put("type", 1);
                yjTree.setAttributes(attrMap);
                
                root.addChild(yjTree);
                yjgnCache.put(ConvertUtil.obj2Str(map.get("ID")), yjTree);
                continue;
            }
            if (map.get("type").toString().equalsIgnoreCase("2")) {
                TreeNode ejTree = new TreeNode(map.get("ID").toString(),map.get("GNMC").toString());
                ejTree.setIconCls(ConvertUtil.obj2Str(map.get("SMALL_IMAGE")));
                
                Map attrMap = new HashMap();
                attrMap.put("type", 2);
                ejTree.setAttributes(attrMap);
                ejTree.setIsOpen(false);
                yjgnCache.get(ConvertUtil.obj2Str(map.get("SJBH"))).addChild(ejTree);
                ejgnCache.put(ConvertUtil.obj2Str(map.get("ID")), ejTree);
                continue;
            }
            if (map.get("type").toString().equalsIgnoreCase("3")) {
                TreeNode sjTree = new TreeNode(map.get("ID").toString(),map.get("GNMC").toString());
                
                Map attrMap = new HashMap();
                attrMap.put("type", 3);
                sjTree.setAttributes(attrMap);
                sjTree.setIconCls(ConvertUtil.obj2Str(map.get("SMALL_IMAGE")));
                ejgnCache.get(ConvertUtil.obj2Str(map.get("SJBH"))).addChild(sjTree);
            }
        }
        Map resultMap = new HashMap();
        resultMap.put("TreeNode", root);
        return resultMap;
    }
    
 
    @Override
    public List<Map> getXtgnList(String id) {
        String sql = "SELECT * FROM GG_XTGN WHERE 1=1 " ;
        if (StringUtils.isBlank(id) || StringUtils.equalsIgnoreCase(id, "0")) {   
            sql += " AND SJBH IS NULL ";
        } else {
            sql += " AND  SJBH = :id ";
        }
        sql += "ORDER BY TYPE ASC,SXH ASC";
        List<Map> list = baseDao.queryForList(sql,new SqlParameter("id",id));
        for (Map map : list) {
            map.put("_TYPE", Constants.getGG_XTGN_TYPE_Label(ConvertUtil.obj2Integer(map.get("TYPE"))));
        }
        return list;
    }
 
    @Override
    public void deleteXtgn(String id) {
        new GG_XTGN(id).deleteById();
    }
 
    @Override
    public Map getXtgnInfo(String id) {
        return baseDao.queryForMap("SELECT * FROM GG_XTGN WHERE ID=:id",new SqlParameter("id",id));
    }
 
    @Override
    public List<Map> gntzJson(String id) {
        
        GG_XTGN xtgn = new GG_XTGN(id).getInstanceById();
        if (xtgn.getType() == 1) {
            return new ArrayList<Map>();
        }
        
        String sql = "SELECT * FROM GG_XTGN WHERE TYPE=:type AND ID != :sjbh ORDER BY TYPE ASC,SXH ASC";
        List<Map> list = baseDao.queryForList(sql,new SqlParameter("type",xtgn.getType()-1).addValue("sjbh", xtgn.getSjbh()));
        for (Map map : list) {
            map.put("_TYPE", Constants.getGG_XTGN_TYPE_Label(ConvertUtil.obj2Integer(map.get("TYPE"))));
        }
        return list;
    }
 
    
}