OutFactoryInitAction.java

package com.mycim.webapp.actions.outfactory.outfactoryInfo;

import com.fa.sesa.threadlocal.LocalContext;
import com.mycim.framework.utils.beans.PropertyUtils;
import com.mycim.valueobject.ObjectList;
import com.mycim.valueobject.consts.TransactionNames;
import com.mycim.valueobject.ems.Entity;
import com.mycim.valueobject.wip.OutFactory;
import com.mycim.webapp.actions.WipSetupAction;
import com.mycim.webapp.forms.outfactory.OutFactoryForm;
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;

/**
 * @author liuji.li
 * @version 6.0.0
 * @date 2019/10/25
 **/
public class OutFactoryInitAction extends WipSetupAction {
    @Override
    public ActionForward init(ActionMapping mapping, ActionForm form, HttpServletRequest request,
                              HttpServletResponse response) {
        return mapping.getInputForward();
    }

    public ActionForward initOutFactory(ActionMapping mapping, ActionForm form, HttpServletRequest request,
                                        HttpServletResponse response) {
        long facilityRrn = LocalContext.getFacilityRrn();
        OutFactoryForm off = (OutFactoryForm) form;
        off.setOutFactoryId(off.getOutFactoryId().trim().toUpperCase());
        String outFactoryId = off.getOutFactoryId();

        OutFactory outFactory = wipService.getOutFactoryById(outFactoryId);
        Entity entity = new Entity(outFactoryId, getNamedSpace(ObjectList.OUT_FACTORY, facilityRrn),
                                   ObjectList.OUT_FACTORY);
        if (outFactory == null) {
            off.setNamedSpace(entity.getNamedSpace());
            off.setOperationType(TransactionNames.CREATE_KEY);
        } else {
            PropertyUtils.copyProperties(off, outFactory);
            off.setNamedSpace(entity.getNamedSpace());
            off.setOperationType(TransactionNames.MODIFY_KEY);
        }
        request.setAttribute("off", off);
        return mapping.findForward("editOutFactory");
    }

}