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;
|
}
|
|
|
}
|