RecipeSetupAction.java
package com.mycim.webapp.actions;
import com.fa.sesa.threadlocal.LocalContext;
import com.mycim.framework.context.spring.SpringContext;
import com.mycim.framework.utils.lang.collections.CollectionUtils;
import com.mycim.server.ctx.service.CtxService;
import com.mycim.server.ecn.service.EcnService;
import com.mycim.server.ems.service.EmsService;
import com.mycim.server.rcp.service.RecipeService;
import com.mycim.valueobject.ObjectList;
import com.mycim.valueobject.bas.NamedObject;
import com.mycim.valueobject.bas.ObjectVersion;
import com.mycim.valueobject.consts.VersionStatus;
import com.mycim.valueobject.prp.Recipe;
import com.mycim.valueobject.prp.RecipeVersion;
import com.mycim.webapp.Constants;
import com.mycim.webapp.forms.RecipeVersionInfoForm;
import java.util.List;
/**
* recipe Setup 功能
*
* @author pinyan.song
* @version 6.0.0
* @date 2019-9-3
**/
public class RecipeSetupAction extends AbstractAction {
protected CtxService ctxService = SpringContext.getBean(CtxService.class);
protected RecipeService recipeService = SpringContext.getBean(RecipeService.class);
protected EcnService ecnService = SpringContext.getBean(EcnService.class);
protected EmsService emsService = SpringContext.getBean(EmsService.class);
protected void process(NamedObject instance) {
String action = instance.getTransId();
instance.setTransPerformedby(LocalContext.getUserId());
if (Constants.CREATE_KEY.equals(action)) {
if (instance instanceof Recipe) {
recipeService.insertRecipe(setDefaultParam(instance));
}
} else if (Constants.MODIFY_KEY.equals(action)) {
if (instance instanceof Recipe) {
recipeService.updateRecipe(setDefaultParam(instance));
}
} else if (Constants.DELETE_KEY.equals(action)) {
if (instance instanceof Recipe) {
recipeService.deleteRecipe(setDefaultParam(instance));
}
}
}
protected boolean checkVersionEditEnable(List versionObjects) {
if (CollectionUtils.isNotEmpty(versionObjects)) {
for (Object version : versionObjects) {
ObjectVersion versionObject = (ObjectVersion) version;
if ((versionObject.getVersionStatus() == null) ||
VersionStatus.UNFROZEN_KEY.equalsIgnoreCase(versionObject.getVersionStatus()) ||
VersionStatus.FROZEN_KEY.equalsIgnoreCase(versionObject.getVersionStatus())) {
return true;
}
}
}
return false;
}
protected String checkObjectDeleteEnable(List<? extends ObjectVersion> versionObjects) {
String checked = "true";
if (CollectionUtils.isNotEmpty(versionObjects)) {
checked = "false";
}
return checked;
}
protected boolean checkVersionEditEnable(ObjectVersion objectVersion) {
boolean checked = false;
if ((objectVersion.getVersionStatus() == null) ||
VersionStatus.UNFROZEN_KEY.equalsIgnoreCase(objectVersion.getVersionStatus())) {
checked = true;
}
return checked;
}
protected Recipe getRecipeInfo(RecipeVersionInfoForm theform) {
Recipe recipe = new Recipe(theform.getInstanceId(),
getNamedSpace(ObjectList.RECIPE_KEY, LocalContext.getFacilityRrn()),
ObjectList.RECIPE_KEY);
recipe = (Recipe) getInstance(recipe);
recipe.setTransPerformedby(LocalContext.getUserId());
if (recipe.getInstanceRrn() == 0) {
return recipe;
} else {
recipe.setVersions(baseService.getObjectVersions(recipe));
}
return recipe;
}
@Override
protected NamedObject getInstance(NamedObject instance) {
NamedObject qryInstance = null;
if (instance instanceof Recipe) {
qryInstance = recipeService.getRecipe(instance.getInstanceId(), instance.getNamedSpace());
} else if (instance instanceof RecipeVersion) {
qryInstance = recipeService.getRecipeVersion((RecipeVersion) instance);
}
if (qryInstance == null) {
return instance;
}
return qryInstance;
}
}