MonitorLotPortalAction.java
package com.mycim.webapp.actions.monitorlotportal;
import com.fa.sesa.threadlocal.LocalContext;
import com.mycim.framework.jdbc.Page;
import com.mycim.framework.utils.lang.StringUtils;
import com.mycim.framework.utils.lang.collections.MapUtils;
import com.mycim.framework.utils.lang.math.NumberUtils;
import com.mycim.framework.utils.lang.time.DateUtils;
import com.mycim.valueobject.ObjectList;
import com.mycim.webapp.TemplateLocation;
import com.mycim.webapp.WebUtils;
import com.mycim.webapp.actions.NpwSetupAction;
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.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 批次查询
*
* @author .kang.zhang
* @version 6.0.0
* @date 2019-12-12
**/
public class MonitorLotPortalAction extends NpwSetupAction {
@Override
public ActionForward init(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
String[] types = new String[]{"EQUIPMENTLOCATION"};
registerOptionType(LocalContext.getFacilityRrn(), Arrays.asList(types), request);
int tabMaxCount = Integer.MAX_VALUE;
String tabMaxCountStr = sysService.getRefFileValue("$PORTAL_TAB_MAX_COUNT", "LOTPORTAL", "DATA_1_VALUE");
if (StringUtils.isNotBlank(tabMaxCountStr) && NumberUtils.isNumber(tabMaxCountStr)) {
tabMaxCount = NumberUtils.toInt(tabMaxCountStr, Integer.MAX_VALUE);
}
request.setAttribute("totalTabCount", tabMaxCount);
return mapping.findForward("lotPortal");
}
public Map query(Map<String, Object> params) {
String pageSize = MapUtils.getString(params, "limit");
String pageNo = MapUtils.getString(params, "page");
Map lotPortalFormMap = getConditionMapByMap(params);
Page page = new Page();
page.setPageSize(Long.valueOf(pageSize));
page.setPageNo(Long.valueOf(pageNo));
page = dmmLotService.queryMonitorLotInfo(page, lotPortalFormMap);
Map<String, Object> map = new HashMap<>(4);
map.put("data", page.getResults());
map.put("totalCount", page.getTotalItems());
return map;
}
public ActionForward exportMonitorLotInfo(HttpServletRequest request,
HttpServletResponse response) throws Exception {
Map<String, Object> argMap = getConditionMapByRequest(request);
Map dataMap = dmmLotService.queryAllMonitorLotInfo(argMap);
List<Map> data = (List<Map>) dataMap.get("data");
// 导出
String exportDateTime = DateUtils.getNowTime(DateUtils.DATE_FORMAT4NOSPLICING);
String fileName = "MonitorLotInfo" + exportDateTime + ".xlsx";
Map<String, Object> titles = WebUtils.getExportTitles(request);
WebUtils.exportExcel(fileName, titles, data, TemplateLocation.DMM_LOT_INFO, response);
return WebUtils.NULLActionForward;
}
private Map getConditionMapByMap(Map<String, Object> params) {
Map<String, Object> lotPortalFormMap = new HashMap<String, Object>();
lotPortalFormMap.put("eqptLocationCondition", MapUtils.getString(params, "eqptLocationCondition"));
lotPortalFormMap.put("eqptIdCondition", MapUtils.getString(params, "eqptIdCondition"));
lotPortalFormMap.put("carrierIdCondition", MapUtils.getString(params, "carrierIdCondition"));
String dmmProcessIdCondition = MapUtils.getString(params, "dmmProcessIdCondition");
long dmmProcessIdConditionRrn = this
.getInstanceRrn(dmmProcessIdCondition, LocalContext.getFacilityRrn(), ObjectList.WFL_KEY);
lotPortalFormMap.put("dmmProcessIdConditionRrn", dmmProcessIdConditionRrn);
lotPortalFormMap.put("startDateCondition", MapUtils.getString(params, "startDateCondition"));
lotPortalFormMap.put("endDateCondition", MapUtils.getString(params, "endDateCondition"));
lotPortalFormMap.put("showAll", MapUtils.getString(params, "showAll"));
return lotPortalFormMap;
}
private Map getConditionMapByRequest(HttpServletRequest request) {
Map<String, Object> lotPortalFormMap = new HashMap<String, Object>();
lotPortalFormMap.put("eqptLocationCondition", StringUtils.trim(request.getParameter("eqptLocationCondition")));
lotPortalFormMap.put("eqptIdCondition", StringUtils.trim(request.getParameter("eqptIdCondition")));
lotPortalFormMap.put("carrierIdCondition", StringUtils.trim(request.getParameter("carrierIdCondition")));
String dmmProcessIdCondition = StringUtils.trim(request.getParameter("dmmProcessIdCondition"));
long dmmProcessIdConditionRrn = this
.getInstanceRrn(dmmProcessIdCondition, LocalContext.getFacilityRrn(), ObjectList.WFL_KEY);
lotPortalFormMap.put("dmmProcessIdConditionRrn", dmmProcessIdConditionRrn);
lotPortalFormMap.put("startDateCondition", StringUtils.trim(request.getParameter("startDateCondition")));
lotPortalFormMap.put("endDateCondition", StringUtils.trim(request.getParameter("endDateCondition")));
return lotPortalFormMap;
}
}