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 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 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 queryBmTree(HttpServletRequest request) { Map paramMap = new HashMap(); String selectSubSql = "SELECT * FROM GG_ZZJG WHERE ZT = 1 ORDER BY CENGJ,SXH "; List cates = baseDao.queryForList(selectSubSql,paramMap); Map result = new HashMap(); List resultList = new LinkedList(); Map yjgnCache = new HashMap(); for (Map map : cates) { String cengji = map.get("CENGJ").toString(); //一级树 if (cengji.equalsIgnoreCase("1")) { yjgnCache.put(map.get("ID").toString(), map); List ejgnList = new LinkedList(); 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 list = (List)yjgnMap.get("ejTree"); list.add(map); } } } System.out.println(JsonUtil.list2Json(resultList)); return resultList; } @Override public int yhCount(Map 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 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 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 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 getUserListSupportMap(String bmId){ Map support = new HashMap(); StringBuilder sql = new StringBuilder("SELECT A.* FROM GG_USER A WHERE 1=1 AND ZT=1 "); Map param = new HashMap(); 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 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; } }