PcdCleanCycleAction.java
package com.mycim.webapp.actions.pcd;
import com.fa.sesa.exception.Assert;
import com.fa.sesa.exception.Errors;
import com.fa.sesa.i18n.I18nUtils;
import com.fa.sesa.threadlocal.LocalContext;
import com.mycim.framework.utils.lang.StringUtils;
import com.mycim.framework.utils.lang.collections.CollectionUtils;
import com.mycim.valueobject.MessageIdList;
import com.mycim.valueobject.ems.PcdClean;
import com.mycim.valueobject.sys.ReferenceFileDetail;
import com.mycim.webapp.WebUtils;
import com.mycim.webapp.actions.CarrierSetupAction;
import com.mycim.webapp.forms.RootForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class PcdCleanCycleAction extends CarrierSetupAction {
public ActionForward toPcdStartClean(ActionMapping mapping, RootForm form) {
return mapping.findForward("toPcdStartClean");
}
public ActionForward toPcdEndClean(ActionMapping mapping, RootForm form) {
return mapping.findForward("toPcdEndClean");
}
public String getCleanEqptInfo(HttpServletRequest request) {
long facilityRrn = LocalContext.getFacilityRrn();
String eqptId = WebUtils.getParameterUpperCase("eqptId", request);
String msg = StringUtils.EMPTY;
if (StringUtils.isNotBlank(eqptId)) {
List<ReferenceFileDetail> eqptSetList = carrierService.getCleanEqptRefDetailInfo(eqptId, facilityRrn);
if (CollectionUtils.isNotEmpty(eqptSetList)) {
String inUseFlag = carrierService.checkCleanEqptIsInUse(eqptId, facilityRrn);
if (StringUtils.isNotBlank(inUseFlag)) {
msg = inUseFlag;
}
} else {
msg = I18nUtils.getMessage("pcd.pcd_missing");
}
}
return msg;
}
public List<Map<String, Object>> checkOutCleanEqpt(Map paramMap) {
long facilityRrn = LocalContext.getFacilityRrn();
String eqptId = StringUtils.trim(paramMap.get("eqptId").toString());
String msg = "";
Assert.isTrue(StringUtils.isNotBlank(eqptId),
Errors.create().key(MessageIdList.PCD_CHOICE_EQP_DO_CLEAN).content("请选择清洗作业的设备!").build());
List<ReferenceFileDetail> cleanEqptInfo = carrierService.getCleanEqptRefDetailInfo(eqptId, facilityRrn);
Assert.isTrue(CollectionUtils.isNotEmpty(cleanEqptInfo),
Errors.create().key(MessageIdList.PCD_NO_CLEANING_EQPT_ID).content("{} is not exist!!")
.args(eqptId).build());
List<PcdClean> cleaningPcdList = carrierService.getCleaningPcdByEqpt(eqptId, facilityRrn);
Assert.isFalse(CollectionUtils.isEmpty(cleaningPcdList),
Errors.create().key(MessageIdList.PCD_NO_CLEANING_PCD).content("当前设备没有正在清洗的PCD!").build());
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("cleaningPcdList", cleaningPcdList);
map.put("cleanEqptInfo", cleanEqptInfo);
list.add(map);
return list;
}
public String batchOutClean(Map map) {
long facilityRrn = LocalContext.getFacilityRrn();
String user = LocalContext.getUserId();
String eqptId = map.get("eqptId").toString();
String cstIds = map.get("cstIds").toString();
String podIds = map.get("podIds").toString();
String doorIds = map.get("doorIds").toString();
String msg = StringUtils.EMPTY;
Assert.isFalse(StringUtils.isBlank(eqptId),
Errors.create().key(MessageIdList.PCD_CHOICE_EQP_DO_CLEAN).content("请选择清洗作业的设备!").build());
Assert.isFalse(StringUtils.isBlank(cstIds) && StringUtils.isBlank(podIds) && StringUtils.isBlank(doorIds),
Errors.create().key(MessageIdList.PCD_POD_DOOR_CASSETTE_ALL_EMPTY)
.content("Pod,Cassette,Door 不能全都为空!!").build());
carrierService.batchOutClean(facilityRrn, eqptId, cstIds, podIds, doorIds, user);
msg = I18nUtils.getMessage(MessageIdList.PCD_OUT_CLEAN_SUCCESS);
return msg;
}
public String batchInClean(Map map) {
long facilityRrn = LocalContext.getFacilityRrn();
String user = LocalContext.getUserId();
String eqptId = map.get("eqptId").toString();
String cstIds = map.get("cstIds").toString();
String podIds = map.get("podIds").toString();
String doorIds = map.get("doorIds").toString();
String msg = StringUtils.EMPTY;
Assert.isFalse(StringUtils.isBlank(eqptId),
Errors.create().key(MessageIdList.PCD_CHOICE_EQP_DO_CLEAN).content("请选择清洗作业的设备!").build());
Assert.isFalse(StringUtils.isBlank(cstIds) && StringUtils.isBlank(podIds) && StringUtils.isBlank(doorIds),
Errors.create().key(MessageIdList.PCD_POD_DOOR_CASSETTE_ALL_EMPTY)
.content("Pod,Cassette,Door 不能全都为空!!").build());
carrierService.batchInClean(facilityRrn, eqptId, cstIds, podIds, doorIds, user);
msg = I18nUtils.getMessage(MessageIdList.PCD_IN_CLEAN_SUCCESS);
return msg;
}
}