UserQueryAction.java
package com.mycim.webapp.actions.setting.security.userquery;
import com.fa.sesa.threadlocal.LocalContext;
import com.mycim.framework.utils.beans.PropertyUtils;
import com.mycim.framework.utils.lang.StringUtils;
import com.mycim.framework.utils.lang.time.DateUtils;
import com.mycim.valueobject.ObjectList;
import com.mycim.valueobject.security.User;
import com.mycim.webapp.Constants;
import com.mycim.webapp.TemplateLocation;
import com.mycim.webapp.WebUtils;
import com.mycim.webapp.actions.CimSetupAction;
import com.mycim.webapp.forms.security.UserInfoForm;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Desc: user query
* @Author: zengf
* @Date: 2020/9/23
*/
public class UserQueryAction extends CimSetupAction {
@Override
public ActionForward init(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
return mapping.getInputForward();
}
public ActionForward export(ActionMapping mapping, HttpServletRequest request, HttpServletResponse response,
ActionForm form) throws Exception {
query(mapping, form, request);
List<User> userInfos = (List<User>) request.getAttribute("userInfos");
int i = 1;
List<Map> result = new ArrayList<>();
Map temp;
for (User user : userInfos) {
temp = new HashMap();
temp.put("count", i++);
temp.put("instanceId", user.getInstanceId());
temp.put("instanceDesc", user.getInstanceDesc());
temp.put("userName", user.getUserName());
temp.put("localName", user.getLocalName());
temp.put("shiftId", user.getShiftId());
temp.put("userStatus", user.getUserStatus());
temp.put("telMobile", user.getTelMobile());
temp.put("emailAddress", user.getEmailAddress());
temp.put("telOffice", user.getTelOffice());
temp.put("pagerNumber", user.getPagerNumber());
temp.put("ldapId", user.getLdapId());
result.add(temp);
}
Map<String, Object> titles = WebUtils.getExportTitles(request);
String exportDateTime = DateUtils.getNowTime(DateUtils.DATE_FORMAT4NOSPLICING);
String fileName = "userListInfo_" + exportDateTime + ".xlsx";
WebUtils.exportExcel(fileName, titles, result, TemplateLocation.USER_LIST_INFO, response);
return WebUtils.NULLActionForward;
}
public ActionForward query(ActionMapping mapping, ActionForm form, HttpServletRequest request) {
UserInfoForm theform = (UserInfoForm) form;
String userId = StringUtils.trimToUpperCase(theform.getInstanceId());
String userName = StringUtils.trim(theform.getUserName());
String shiftId = StringUtils.trim(theform.getShiftId());
Map<String, Object> param = new HashMap<>(4);
param.put("userId", userId);
param.put("userName", userName);
param.put("shiftId", shiftId);
List<User> userInfos = securityService.getUserInfoForParam(param);
request.setAttribute("userInfos", userInfos);
return mapping.getInputForward();
}
public ActionForward jumpToUser(ActionMapping mapping, ActionForm form, HttpServletRequest request) {
String userId = WebUtils.getParameter("userId", request);
User user = new User(userId, getNamedSpace(ObjectList.USER_KEY, LocalContext.getFacilityRrn()),
ObjectList.USER_KEY);
// According to the instance's object, retrieve the value object
user = (User) getInstance(user);
// Copy value object properties to form bean.
UserInfoForm theform = (UserInfoForm) form;
PropertyUtils.copyProperties(theform, user);
theform.setPasswordConfirm(user.getPassword());
if (user.getInstanceRrn() == 0) {
theform.setTransId(Constants.CREATE_KEY);
theform.setFirstLoginPasswordExpired("on");
return mapping.findForward("modify");
}
if (StringUtils.isNotBlank(theform.getFirstLoginPasswordExpired()) &&
StringUtils.equals(theform.getFirstLoginPasswordExpired(), "1")) {
theform.setFirstLoginPasswordExpired("on");
}
theform.setTransId(Constants.MODIFY_KEY);
//页面跳转控制
theform.setJumpToUser("1");
request.setAttribute("oldPassword", theform.getPassword());
return mapping.findForward("modify");
}
}