package cn.ksource.web.facade.impl;
|
|
import java.util.HashMap;
|
import java.util.LinkedList;
|
import java.util.List;
|
import java.util.Map;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import org.apache.commons.lang.StringUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import cn.ksource.beans.GG_USER;
|
import cn.ksource.beans.GG_ZZJG;
|
import cn.ksource.core.dao.BaseDao;
|
import cn.ksource.core.dao.SqlParameter;
|
import cn.ksource.core.page.PageInfo;
|
import cn.ksource.core.util.DefaultUtil;
|
import cn.ksource.core.util.EqualUtil;
|
import cn.ksource.core.util.JsonUtil;
|
import cn.ksource.core.util.StringUtil;
|
import cn.ksource.core.web.PasswordEncoder;
|
import cn.ksource.core.web.TreeNode;
|
import cn.ksource.core.web.WebUtil;
|
import cn.ksource.web.facade.YhglFacade;
|
import cn.ksource.web.service.UserService;
|
import cn.ksource.web.service.ZzjgService;
|
|
|
@Service("yhglFacade")
|
public class YhglFacadeImpl implements YhglFacade {
|
|
@Autowired
|
private BaseDao baseDao;
|
|
@Autowired
|
private ZzjgService zzjgService;
|
|
@Autowired
|
private UserService userService;
|
|
@Override
|
public TreeNode getZzjgTree() {
|
return zzjgService.getZzjgTree();
|
}
|
|
@Override
|
public List<Map> getBmUserList(String bmbh) {
|
|
String sql = "SELECT * FROM GG_USER WHERE 1=1 ";
|
|
if (StringUtils.isNotBlank(bmbh) && !bmbh.toString().equalsIgnoreCase("0")) {
|
sql += " AND SSBMBH=:bmbh ";
|
} else {
|
|
}
|
sql += " ORDER BY ACCOUNTTYPE asc ";
|
|
List<Map> list = baseDao.queryForList(sql,new SqlParameter("bmbh",bmbh));
|
|
/*for (Map map : list) {
|
map.put("LOGINTYPE", DefaultUtil.defautIfTrue(EqualUtil.isStringEqual(map.get("LOGINTYPE"), "1"), "密码登录", "USBKey登录"));
|
map.put("ACCOUNTTYPE", DefaultUtil.defautIfTrue(EqualUtil.isStringEqual(map.get("ACCOUNTTYPE"), "1"), "领导帐号", "工作人员"));
|
}*/
|
|
return list;
|
}
|
|
@Override
|
public void execInitUserPwd(String userid,String loginname) {
|
userService.updatePwd(loginname, userService.getDefaultPwd());
|
}
|
|
@Override
|
public void execDisableUser(String userid,String status) {
|
GG_USER user = new GG_USER(userid);
|
user.setZt(Integer.valueOf(status));
|
user.update();
|
/*userService.updateUserInfoCache(loginname);*/
|
}
|
|
@Override
|
public boolean isLoginNameExists(String loginname) {
|
return userService.isLoginNameExists(loginname);
|
}
|
|
@Override
|
public GG_USER addOrUpdateGG_USER(GG_USER user) {
|
if (StringUtils.isBlank(user.getId())) {
|
user.setZt(1);
|
user.setZhlx(2);
|
user.setKm_score(0);
|
user.setPassword(PasswordEncoder.encode("88888888"));
|
}
|
System.out.println(user.getSsbmbh());
|
GG_ZZJG ssbm = new GG_ZZJG(user.getSsbmbh()).getInstanceById();
|
user.setSscj(ssbm.getCengj());
|
|
if (user.getSscj().intValue() == 4) {
|
user.setSijbmbh(user.getSsbmbh());
|
user.setSjbmbh(ssbm.getSjbh());
|
user.setEjbmbh(new GG_ZZJG(user.getSjbmbh()).getInstanceById().getSjbh());
|
user.setYjbmbh(new GG_ZZJG(user.getEjbmbh()).getInstanceById().getSjbh());
|
}
|
if (user.getSscj().intValue() == 3) {
|
user.setSijbmbh(null);
|
user.setSjbmbh(user.getSsbmbh());
|
user.setEjbmbh(ssbm.getSjbh());
|
user.setYjbmbh(new GG_ZZJG(user.getEjbmbh()).getInstanceById().getSjbh());
|
}
|
if (user.getSscj().intValue() == 2) {
|
user.setSijbmbh(null);
|
user.setSjbmbh(null);
|
user.setEjbmbh(user.getSsbmbh());
|
user.setYjbmbh(ssbm.getSjbh());
|
}
|
if (user.getSscj().intValue() == 1) {
|
user.setSijbmbh(null);
|
user.setSjbmbh(null);
|
user.setEjbmbh(null);
|
user.setYjbmbh(user.getSsbmbh());
|
}
|
user.insertOrUpdate();
|
return user;
|
}
|
|
@Override
|
public List<Map> queryBmTree(HttpServletRequest request) {
|
Map paramMap = new HashMap();
|
String selectSubSql = "SELECT * FROM GG_ZZJG WHERE ZT = 1 ORDER BY CENGJ,SXH ";
|
List<Map> cates = baseDao.queryForList(selectSubSql,paramMap);
|
Map result = new HashMap();
|
|
List<Map> resultList = new LinkedList<Map>();
|
|
Map<String, Map> yjgnCache = new HashMap<String, Map>();
|
|
for (Map map : cates) {
|
String cengji = map.get("CENGJ").toString();
|
//一级树
|
if (cengji.equalsIgnoreCase("1")) {
|
yjgnCache.put(map.get("ID").toString(), map);
|
List<Map> ejgnList = new LinkedList<Map>();
|
map.put("ejTree", ejgnList);
|
resultList.add(map);
|
continue;
|
}
|
//二级树
|
if (cengji.equalsIgnoreCase("2")) {
|
String pId = map.get("SJBH").toString();
|
if(yjgnCache.containsKey(pId)) {
|
Map yjgnMap = yjgnCache.get(pId);
|
List<Map> list = (List<Map>)yjgnMap.get("ejTree");
|
list.add(map);
|
}
|
}
|
}
|
System.out.println(JsonUtil.list2Json(resultList));
|
return resultList;
|
}
|
|
@Override
|
public int yhCount(Map<String,String> params) {
|
StringBuilder builder = new StringBuilder("SELECT COUNT(A.ID) FROM GG_USER A LEFT JOIN GG_ZZJG B ON A.SSBMBH = B.ID WHERE 1=1 ");
|
Map paramMap = new HashMap();
|
String bmId = params.get("bmId");
|
if(StringUtil.notEmpty(bmId)) {
|
builder.append(" AND A.SSBMBH = :bmId ");
|
paramMap.put("bmId", bmId);
|
}
|
|
String zsxm = params.get("zsxm");
|
if(StringUtil.notEmpty(zsxm)) {
|
builder.append(" AND A.ZSXM LIKE :zsxm ");
|
paramMap.put("zsxm", "%"+zsxm+"%");
|
}
|
|
String sjhm = params.get("sjhm");
|
if(StringUtil.notEmpty(sjhm)) {
|
builder.append(" AND A.SJHM like :sjhm ");
|
paramMap.put("sjhm", "%"+sjhm+"%");
|
}
|
|
String deskid = params.get("deskid");
|
if(StringUtil.notEmpty(deskid)) {
|
builder.append(" AND A.DESKID = :deskid ");
|
paramMap.put("deskid", deskid);
|
}
|
|
String zt = params.get("zt");
|
if(StringUtil.notEmpty(zt)) {
|
builder.append(" AND A.ZT = :zt ");
|
paramMap.put("zt", zt);
|
}
|
|
int count = baseDao.queryForInteger(builder.toString(), paramMap);
|
return count;
|
}
|
|
@Override
|
public PageInfo yhData(PageInfo pageInfo,Map<String,String> params) {
|
StringBuilder builder = new StringBuilder("SELECT A.*,B.ID BMID,B.JGMC,B.ZT BMSTATE FROM GG_USER A LEFT JOIN GG_ZZJG B ON A.SSBMBH = B.ID WHERE 1 = 1 ");
|
Map paramMap = new HashMap();
|
String bmId = params.get("bmId");
|
if(StringUtil.notEmpty(bmId)) {
|
builder.append(" AND A.SSBMBH = :bmId ");
|
paramMap.put("bmId", bmId);
|
}
|
|
String zsxm = params.get("zsxm");
|
if(StringUtil.notEmpty(zsxm)) {
|
builder.append(" AND A.ZSXM LIKE :zsxm ");
|
paramMap.put("zsxm", "%"+zsxm+"%");
|
}
|
|
String sjhm = params.get("sjhm");
|
if(StringUtil.notEmpty(sjhm)) {
|
builder.append(" AND A.SJHM like :sjhm ");
|
paramMap.put("sjhm", "%"+sjhm+"%");
|
}
|
|
String zt = params.get("zt");
|
if(StringUtil.notEmpty(zt)) {
|
builder.append(" AND A.ZT = :zt ");
|
paramMap.put("zt", zt);
|
}
|
|
builder.append(" ORDER BY A.LOGINNAME ");
|
|
PageInfo info = baseDao.queryforSplitPageInfo(pageInfo, builder.toString(), paramMap);
|
|
return info;
|
}
|
|
@Override
|
public PageInfo userListData(PageInfo pageInfo, String bmId) {
|
Map<String,Object> support = getUserListSupportMap(bmId);
|
String sql = support.get("sql").toString();
|
Map param = (Map)support.get("param");
|
PageInfo info = baseDao.queryforSplitPageInfo(pageInfo, sql, param);
|
return info;
|
}
|
|
@Override
|
public int userListCount(String bmId) {
|
Map<String,Object> support = getUserListSupportMap(bmId);
|
String sql = " select count(*) from ( " + support.get("sql").toString() + " ) t";
|
Map param = (Map)support.get("param");
|
int count = baseDao.queryForInteger(sql.toString(), param);
|
return count;
|
}
|
|
private Map<String,Object> getUserListSupportMap(String bmId){
|
Map<String,Object> support = new HashMap<String,Object>();
|
StringBuilder sql = new StringBuilder("SELECT A.* FROM GG_USER A WHERE 1=1 AND ZT=1 ");
|
Map<String,String> param = new HashMap<String,String>();
|
if(StringUtil.notEmpty(bmId)) {
|
sql.append(" AND A.SSBMBH = :bmId ");
|
param.put("bmId", bmId);
|
}
|
sql.append(" ORDER BY A.LOGINNAME ");
|
support.put("sql", sql.toString());
|
support.put("param", param);
|
return support;
|
}
|
|
@Override
|
public Map queryfordesktop() {
|
List<Map> list = baseDao.queryForList("select A.ID,A.DESKTOP_NAME from GG_DESKTOP A");
|
|
Map deskMap = new HashMap();
|
for(Map map : list) {
|
deskMap.put(map.get("ID"), map.get("DESKTOP_NAME"));
|
}
|
return deskMap;
|
}
|
|
@Override
|
public Map queryPartnerUserNum() {
|
Map resultMap = new HashMap();
|
String selectSql = "SELECT COUNT(ID) FROM GG_USER WHERE ZT=1 ";
|
int count = baseDao.queryForInteger(selectSql);
|
|
//查询该加盟商下最多可以添加多少员工
|
String selectUser = "SELECT USER_ACCOUNT_NUM FROM SC_PARTNER_INFO ";
|
int moreNum = baseDao.queryForInteger(selectUser);
|
|
if(moreNum>count) {
|
resultMap.put("result", 1);
|
} else {
|
resultMap.put("result", 2);
|
}
|
resultMap.put("nowNum", count);
|
resultMap.put("maxNum", moreNum);
|
return resultMap;
|
}
|
|
@Override
|
public Map queryUserDetail(String id) {
|
String selectSql = " SELECT A.*,B.DESKTOP_NAME FROM GG_USER A LEFT JOIN GG_DESKTOP B ON A.DESKID = B.ID WHERE A.ID = :userId ";
|
|
Map user = baseDao.queryForMap(selectSql,new SqlParameter("userId",id));
|
return user;
|
}
|
}
|