HistoryDevByCx/二开源码/京福/jg/.svn/pristine/22/22b5a95b31e618d831f0eba63cf...

121 lines
5.0 KiB
Plaintext

package com.api.login.cmd.login;
import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import weaver.general.BaseBean;
import weaver.general.GCONST;
import weaver.general.Util;
import weaver.hrm.User;
import weaver.hrm.company.DepartmentComInfo;
import weaver.hrm.company.SubCompanyComInfo;
import weaver.hrm.job.JobTitlesComInfo;
import weaver.hrm.resource.ResourceComInfo;
import weaver.login.Account;
import weaver.login.VerifyLogin;
import java.util.*;
import javax.servlet.http.HttpServletRequest;
public class GetAccountListCmd extends AbstractCommonCommand<Map<String, Object>> {
HttpServletRequest request = null;
public GetAccountListCmd(Map<String, Object> params, User user) {
this.params = params;
this.user = user;
}
public GetAccountListCmd(Map<String, Object> params, User user, HttpServletRequest request) {
this.params = params;
this.user = user;
this.request = request;
}
@Override
public Map<String, Object> execute(CommandContext commandContext) {
Map<String, Object> result = new HashMap<String, Object>();
Map<String, Object> data = new HashMap<String, Object>();
try {
ResourceComInfo rci = new ResourceComInfo();
SubCompanyComInfo scci = new SubCompanyComInfo();
DepartmentComInfo dci = new DepartmentComInfo();
JobTitlesComInfo jtci = new JobTitlesComInfo();
List<Map<String, Object>> accountlist = new ArrayList<Map<String, Object>>();
if (GCONST.getMOREACCOUNTLANDING()) {
if (user.getUID() != 1) {
VerifyLogin VerifyLogin = new VerifyLogin();
List accounts = VerifyLogin.getAccountsById(user.getUID());
request.getSession(true).setAttribute("accounts", accounts);
if (accounts != null && accounts.size() > 1) {
Iterator<Map<String, Object>> iterator = accounts.iterator();
while (iterator.hasNext()) {
Account a = (Account) iterator.next();
Map<String, Object> item = new HashMap<String, Object>();
item.put("userid", "" + a.getId());
item.put("usertype", "" + a.getType());
item.put("username", rci.getResourcename("" + a.getId()));
item.put("icon", rci.getMessagerUrls("" + a.getId()));
item.put("jobs", jtci.getJobTitlesname("" + a.getJobtitleid()));
item.put("subcompanyid", a.getSubcompanyid());
item.put("subcompanyname", scci.getSubCompanyname("" + a.getSubcompanyid()));
item.put("deptid", a.getDepartmentid());
item.put("deptname", dci.getDepartmentname("" + a.getDepartmentid()));
item.put("iscurrent", user.getUID() == a.getId() ? "1" : "0");
accountlist.add(item);
}
}
}
}
if (accountlist.size() == 0) {
Map<String, Object> item = new HashMap<String, Object>();
item.put("userid", "" + user.getUID());
item.put("username", rci.getResourcename("" + user.getUID()));
item.put("icon", rci.getMessagerUrls("" + user.getUID()));
item.put("jobs", jtci.getJobTitlesname(rci.getJobTitle(user.getUID()+"")));
item.put("subcompanyid", rci.getSubCompanyID("" +user.getUID()));
item.put("subcompanyname", scci.getSubCompanyname(rci.getSubCompanyID("" +user.getUID()) ));
item.put("deptid", rci.getDepartmentID("" +user.getUID()));
item.put("deptname", dci.getDepartmentname(rci.getDepartmentID("" +user.getUID())));
item.put("iscurrent", "1");
accountlist.add(item);
}
data.put("userid", "" + user.getUID());
data.put("username", rci.getResourcename("" + user.getUID()));
data.put("icon", rci.getMessagerUrls("" + user.getUID()));
data.put("jobs", jtci.getJobTitlesname(rci.getJobTitle(user.getUID()+"")));
data.put("subcompanyid", rci.getSubCompanyID("" +user.getUID()));
data.put("subcompanyname", scci.getSubCompanyname(rci.getSubCompanyID("" +user.getUID()) ));
data.put("deptid", rci.getDepartmentID("" +user.getUID()));
data.put("deptname", dci.getDepartmentname(rci.getDepartmentID("" +user.getUID())));
data.put("iscurrent", "1");
data.put("accountlist", accountlist);
BaseBean bb = new BaseBean();
String showMore = Util.null2String(bb.getPropValue("ThemeConfig", "frontend.showAccountMore"));
String showSearch = Util.null2String(bb.getPropValue("ThemeConfig", "frontend.showAccountSearch"));
String fontSetting = Util.null2String(bb.getPropValue("ThemeConfig", "frontend.fontSetting"));
data.put("showMore", !"0".equals(showMore));
data.put("showSearch", "1".equals(showSearch));
data.put("fontSetting", "1".equals(fontSetting));
data.put("userLanguage", "" + user.getLanguage());
} catch (Exception e) {
writeLog(e);
}
result.put("data", data);
return result;
}
@Override
public BizLogContext getLogContext() {
return null;
}
}