RemeasureRecipeAction.java

package com.mycim.webapp.actions.step;

import com.fa.sesa.exception.Assert;
import com.fa.sesa.exception.Errors;
import com.fa.sesa.threadlocal.LocalContext;
import com.mycim.framework.utils.lang.StringUtils;
import com.mycim.valueobject.ObjectList;
import com.mycim.valueobject.consts.OcapConts;
import com.mycim.valueobject.consts.SpecifiedActionEnum;
import com.mycim.valueobject.ocap.dto.OcapDoActionDTO;
import com.mycim.valueobject.ocap.dto.RemeasurementDTO;
import com.mycim.valueobject.prp.Recipe;

import javax.servlet.http.HttpServletRequest;
import java.util.Objects;

/**
 * @author songpy
 * @version 1.0.0
 * @date 2021/5/25
 **/
public class RemeasureRecipeAction extends RemeasureAction {
    public RemeasureRecipeAction() {
        this.actionType = SpecifiedActionEnum.REMEASURE_RECIPE;
    }

    @Override
    protected void buildRemeasurementDatas(OcapDoActionDTO ocapDoActionDTO, RemeasurementDTO remeasurementDTO) {
        super.buildRemeasurementDatas(ocapDoActionDTO, remeasurementDTO);
        Assert.isFalse(StringUtils.isEmpty(remeasurementDTO.getRecipeId()),
                       Errors.create().content("Please choose Recipe!").build());
        Recipe recipe = recipeService.getRecipe(remeasurementDTO.getRecipeId(),
                                                getNamedSpace(ObjectList.RECIPE_KEY, LocalContext.getFacilityRrn()));
        Assert.isFalse(Objects.isNull(recipe) || recipe.getInstanceRrn() <= 0,
                       Errors.create().content("Can not find the recipe {}").args(remeasurementDTO.getRecipeId())
                             .build());
        ocapDoActionDTO.getTransDatas().put(OcapConts.MapKey.KEY_REMEASURE_RECIPE_ID, remeasurementDTO.getRecipeId());
    }

    @Override
    protected void setActionUrl(HttpServletRequest request) {
        request.setAttribute(ACTION_URL_KEY, "ocapStepRemeasureRecipe.do");
    }

}