EqpMonitorWflInfoGridAction.java
package com.mycim.webapp.actions.dmmwflinfogrid;
import com.mycim.framework.utils.lang.StringUtils;
import com.mycim.framework.utils.lang.collections.MapUtils;
import com.mycim.framework.utils.msg.JsonUtils;
import com.mycim.valueobject.prp.EqpMonitorModel;
import com.mycim.valueobject.prp.EqpMonitorStep;
import com.mycim.valueobject.wip.Lot;
import com.mycim.webapp.WebUtils;
import com.mycim.webapp.actions.NpwSetupAction;
import com.mycim.webapp.forms.EqpMonitorWflInfoForm;
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;
/**
* DmmWflInfoGridAction
*
* @author chaoyu.song
* @version 6.0.0
* @date 2020/5/28
**/
public class EqpMonitorWflInfoGridAction extends NpwSetupAction {
private final String TREE_BEFORE = "treebefore";
private final String TREE_BEFORE_CURRENT = "treebeforeandcurrent";
private final String TREE_AFTER = "treeafter";
private final String TREE_AFTER_CURRENT = "treeafterandcurrent";
private final String TREE_GRID_ALL = "treeGridAll";
private final String FILTER_TYPE = "FILTERTYPE";
private final String EXECUTIONRRN = "EXECUTIONRRN";
private final String TREE_REWORK_ALL = "treeReworkAll";
@Override
public ActionForward init(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
EqpMonitorWflInfoForm theform = (EqpMonitorWflInfoForm) form;
String orientateCurrByFLowSeq = WebUtils.getParameter("orientateCurrByFLowSeq", request);
request.setAttribute("CONDTIONFORM_INIT_VALUES", JsonUtils.toString(theform));
request.setAttribute("orientateCurrByFLowSeq",
StringUtils.isNotBlank(orientateCurrByFLowSeq) ? orientateCurrByFLowSeq : "");
request.setAttribute("callbackFlag", request.getParameter("callbackFlag"));
return mapping.findForward("init");
}
/**
* @param request
* @return
*/
public List<Map<String, Object>> qryDmmWflInfoGrid(Map<String, Object> paramMap, HttpServletRequest request) {
String lotId = MapUtils.getString(paramMap, "lotId");
Lot lot = lotQueryService.getLot(lotId);
EqpMonitorModel model = dmmService.getDmmModelByWfl(lot.getRouteRrn(), lot.getRouteVersion());
List<EqpMonitorStep> stepsInfo = dmmService
.getDmmModelStepsInfo(model.getModelRrn(), lot.getRouteVersion().toString());
return buildDmmProcessStepInfo(stepsInfo, lot);
}
private List<Map<String, Object>> buildDmmProcessStepInfo(List<EqpMonitorStep> stepList, Lot lot) {
List nodes = new ArrayList<>();
// DMM path,除了operationStepRrn不一样,其余都一致
String wflStepPath = lot.getWflStepPath();
String wflStepPathPreix = lot.getWflStepPath().substring(0, wflStepPath.lastIndexOf("."));
for (EqpMonitorStep step : stepList) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("modelSeq", step.getModelSeq());
map.put("eqptId", StringUtils.isBlank(step.getEqptId()) ? "" : step.getEqptId());
map.put("slot", StringUtils.isBlank(step.getEqptId()) ? "" : step.getSlot());
map.put("recipeId", StringUtils.isBlank(step.getRecipeId()) ? "" : step.getRecipeId());
map.put("parameterId", StringUtils.isBlank(step.getParameterId()) ? "" : step.getParameterId());
map.put("formula", StringUtils.isBlank(step.getCalculateFormula()) ? "" : step.getCalculateFormula());
map.put("spec", getLimitString(step.getLowerLimit(), step.getUpperLimit()));
map.put("measurationFlag", step.getMeasurationFlag() == null ? "N" : "Y");
map.put("entityGroupId", StringUtils.isBlank(step.getEntityGroupId()) ? "" : step.getEntityGroupId());
map.put("parameterSetId", StringUtils.isBlank(step.getParameterSetId()) ? "" : step.getParameterSetId());
map.put("operationId", StringUtils.isBlank(step.getOperationId()) ? "" : step.getOperationId());
map.put("operationDesc", StringUtils.isBlank(step.getOperationDesc()) ? "" : step.getOperationDesc());
map.put("contaimnation", StringUtils.isBlank(step.getContaimnation()) ? "" : step.getContaimnation());
map.put("processLocation", StringUtils.isBlank(step.getProcessLocation()) ? "" : step.getProcessLocation());
map.put("stageId", StringUtils.isBlank(step.getStageId()) ? "" : step.getStageId());
map.put("stepSeq", StringUtils.isBlank(step.getStepSeq()) ? "" : step.getStepSeq());
map.put("type", StringUtils.isBlank(step.getDmmType()) ? "" : step.getDmmType());
map.put("waferNum", StringUtils.isBlank(step.getWaferNum()) ? "" : step.getWaferNum());
map.put("routeRrn", lot.getRouteRrn());
map.put("routeId", lot.getRouteId());
map.put("processRrn", lot.getProcessRrn());
map.put("processId", lot.getProcessId());
map.put("stepNumber", wflStepPathPreix + "." + step.getWorkflowStepRrn());
nodes.add(map);
}
return nodes;
}
}