AbstractSpcStepAction.java

package com.mycim.webapp.actions.step;

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.webapp.WebUtils;
import com.mycim.webapp.actions.OcapStepAbstractAction;
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.List;
import java.util.Map;

/**
 * 与spc相关的步骤
 *
 * @author songpy
 * @version 1.0.0
 * @date 2021/5/25
 **/
public abstract class AbstractSpcStepAction extends OcapStepAbstractAction {
    /**
     * Action方法
     */
    public ActionForward initOfflineData(ActionMapping mapping, ActionForm form, HttpServletRequest request,
                                         HttpServletResponse response) {
        // 获取参数
        String jobId = WebUtils.getParameter("jobId", request);
        String ocapId = WebUtils.getParameter("ocapId", request);
        String ocapRrn = WebUtils.getParameter("ocapRrn", request);
        String eqptId = WebUtils.getParameter("eqptId", request);
        // String workflowStepRrn = WebUtils.getParameter("workflowStepRrn", request);

        String jobInfo = StringUtils.EMPTY;
        // 获取spc job信息
        String nonRTJobsString = null;
        nonRTJobsString = spcService.getNonRTJob(eqptId);

        if (StringUtils.isNotBlank(nonRTJobsString)) {
            List<Map> nonRTJobs = JsonUtils.toList(nonRTJobsString, Map.class);
            for (Map<String, Object> obj : nonRTJobs) {
                String JobID = MapUtils.getString(obj, "JobID");
                if (StringUtils.equals(jobId, JobID)) {
                    jobInfo = JsonUtils.toString(obj);
                    break;
                }
            }
        }
        specialHandling(request);
        if (StringUtils.isNotBlank(jobInfo)) {
            jobInfo = StringUtils.replace(jobInfo, "\\", "\\\\");
        }
        request.setAttribute("jobInfo", jobInfo);
        request.setAttribute("jobId", jobId);
        request.setAttribute("eqptId", eqptId);
        request.setAttribute("ocapId", ocapId);
        request.setAttribute("ocapRrn", ocapRrn);

        return mapping.findForward("nonRtInit");
    }

    abstract void specialHandling(HttpServletRequest request);

}