ResistMappingAction.java
package com.mycim.webapp.actions.resistMapping;
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.jdbc.Page;
import com.mycim.framework.utils.beans.BeanUtils;
import com.mycim.framework.utils.lang.StringUtils;
import com.mycim.framework.utils.lang.collections.MapUtils;
import com.mycim.valueobject.MessageIdList;
import com.mycim.valueobject.ems.ResistEnum;
import com.mycim.valueobject.ems.ResistEqptMapping;
import com.mycim.valueobject.ems.ResistMapping;
import com.mycim.webapp.actions.ResistSetupAction;
import com.mycim.webapp.forms.ResistMappingForm;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.beanutils.converters.DateConverter;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.Map;
/**
* @author yanbing.chen
* @version 6.0.0
* @date 2019/10/30
**/
public class ResistMappingAction extends ResistSetupAction {
public ActionForward initResistMapping(HttpServletRequest request, ActionMapping mapping) {
return mapping.findForward("resistMapping");
}
public Map queryResistMapping(Map argMap) {
Page resistMappingPage = new Page(MapUtils.getInteger(argMap, "page"), MapUtils.getInteger(argMap, "limit"));
resistMappingPage = resistService.qryResistMappingByPage(resistMappingPage, argMap);
Map pageJson = new HashMap();
pageJson.put("totalItems", resistMappingPage.getTotalItems() + "");
pageJson.put("items", resistMappingPage.getResults());
return pageJson;
}
public void checkResistNo(ResistMapping mapping) {
String resistNo = mapping.getResistNo().toUpperCase();
ResistMapping resistMapping = resistService.getResistMappingByResistNo(resistNo);
Assert.isFalse(resistMapping != null, Errors.create().key(MessageIdList.RESIST_RESISTMAPPING_IS_EXIST)
.content("ResistMapping is exist!").build());
}
public void addResistMapping(ResistMappingForm theform) {
String user = LocalContext.getUserId();
theform.setResistNo(StringUtils.trimToUpperCase(theform.getResistNo()));
theform.setResistName(StringUtils.trimToUpperCase(theform.getResistName()));
theform.setMaterialNo(StringUtils.trimToUpperCase(theform.getMaterialNo()));
String resistNo = theform.getResistNo();
ResistMapping resistMappingTmp = resistService.getResistMappingByResistNo(resistNo);
Assert.isFalse(resistMappingTmp != null, Errors.create().key(MessageIdList.RESIST_RESISTMAPPING_IS_EXIST)
.content("ResistMapping is exist!").build());
validParams(theform);
ResistMapping resistMapping = new ResistMapping();
ConvertUtils.register(new DateConverter(null), java.util.Date.class);
BeanUtils.copyProperties(theform, resistMapping);
resistMapping.setCreateBy(user);
resistMapping.setModifyBy(user);
resistService.addResistMapping(resistMapping);
}
public void modifyResistMapping(ResistMappingForm theform) {
String user = LocalContext.getUserId();
theform.setResistNo(StringUtils.trimToUpperCase(theform.getResistNo()));
theform.setResistName(StringUtils.trimToUpperCase(theform.getResistName()));
theform.setMaterialNo(StringUtils.trimToUpperCase(theform.getMaterialNo()));
String resistNo = theform.getResistNo();
ResistMapping resistMappingTmp = resistService.getResistMappingByResistNo(resistNo);
Assert.isFalse(resistMappingTmp == null, Errors.create().key(MessageIdList.RESIST_RESISTMAPPING_MISSING)
.content("ResistMapping is missing!").build());
validParams(theform);
ResistMapping resistMapping = new ResistMapping();
ConvertUtils.register(new DateConverter(null), java.util.Date.class);
BeanUtils.copyProperties(theform, resistMapping);
resistMapping.setModifyBy(user);
resistService.modifyResistMapping(resistMapping);
}
public void deleteResistMapping(ResistMappingForm theform) {
String user = LocalContext.getUserId();
String resistNo = StringUtils.trimToUpperCase(theform.getResistNo());
ResistMapping resistMapping = resistService.getResistMappingByResistNo(resistNo);
Assert.isFalse(resistMapping == null, Errors.create().key(MessageIdList.RESIST_RESISTMAPPING_MISSING)
.content("ResistMapping is missing!").build());
Map<String, Object> argMap = new HashMap<String, Object>();
argMap.put("resistNo", resistNo);
Page page = new Page(1, 2);
page = resistService.qryResistByPage(page, argMap);
Assert.isFalse(page.getResults() != null && !page.getResults().isEmpty(),
Errors.create().key(MessageIdList.RESIST_USED_BY_RESIST)
.content("ResistMapping is used by resist!").build());
ResistEqptMapping mapping = new ResistEqptMapping();
mapping.setResistNo(resistMapping.getResistNo());
page = new Page(1, 2);
page = resistService.qryResistEqptMappingByPage(mapping, page);
Assert.isFalse(page.getResults() != null && !page.getResults().isEmpty(),
Errors.create().key(MessageIdList.RESIST_USED_BY_RESIST_MAPPING)
.content("ResistMapping " + "is used by " + "resist eqpt " + "mapping!").build());
resistMapping.setModifyBy(user);
resistService.deleteResistMapping(resistMapping);
}
private void validParams(ResistMappingForm theform) {
String language = I18nUtils.getCurrentLanguage().toString();
StringBuilder sb = new StringBuilder();
if (StringUtils.isBlank(theform.getResistNo()) || theform.getResistNo().length() != 7) {
sb.append(StringUtils.equalsIgnoreCase("EN", language) ? "Length of ResistNo must be 7!</br>" :
"ResistNo长度必须是7" + "!</br>");
}
if (StringUtils.isBlank(theform.getResistName())) {
sb.append(StringUtils.equalsIgnoreCase("EN", language) ? "ResistName cannot be empty!</br>" :
"ResistName " + "不能为空!</br>");
}
if (StringUtils.isBlank(theform.getMaterialNo())) {
sb.append(StringUtils.equalsIgnoreCase("EN", language) ? "MaterialNo cannot be empty!</br>" :
"MaterialNo " + "不能为空!</br>");
}
if (convertTime(StringUtils.trimToUpperCase(theform.getDefrostTime())) == 0) {
sb.append(StringUtils.equalsIgnoreCase("EN", language) ? "Defrost Time not a valid time!" : " 退冰时间无效 !");
}
if (StringUtils
.equalsIgnoreCase(theform.getLifeTimeType(), ResistEnum.BUFFER_DAYS_AFTER_DEFROST_TYPE.getValue())) {
if (theform.getBufferDays() <= 0) {
sb.append(StringUtils.equalsIgnoreCase("EN", language) ? "Buffer days cannot be empty!" : "缓冲时间不能为空 !");
}
}
Assert.isFalse(StringUtils.isNotEmpty(sb.toString()), Errors.create().content(sb.toString()).build());
theform.setDefrosTimsec(convertTime(StringUtils.trimToUpperCase(theform.getDefrostTime())));
}
}