ObjectAttributesAction.java
package com.mycim.webapp.actions.setting.system.objectAttribute;
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.MapUtils;
import com.mycim.webapp.WebUtils;
import com.mycim.webapp.actions.SystemSetupAction;
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;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* objectattributes 处理
*
* @author pinyan.song
* @version 6.0.0
* @date 2019-10-14
**/
public class ObjectAttributesAction extends SystemSetupAction {
@Override
public ActionForward init(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) throws Exception {
String objType = WebUtils.getParameter("objecttype", request);
request.setAttribute("objType", objType);
Long objectRrn = WebUtils.getParameterLong("objectrrn", request);
request.setAttribute("objectRrn", objectRrn);
Long facilityRrn = LocalContext.getFacilityRrn();
List<Map> attributes = sysService
.getAllAttributes(objectRrn.longValue(), baseService.getNamedSpace(facilityRrn, objType), objType,
I18nUtils.getCurrentLanguage());
for (Map o : attributes) {
if (StringUtils.isEmpty(MapUtils.getString(o, "LABELTEXT"))) {
o.put("LABELTEXT", StringUtils.EMPTY);
}
if (StringUtils.isEmpty(MapUtils.getString(o, "DEFAULTVALUE"))) {
o.put("DEFAULTVALUE", StringUtils.EMPTY);
}
if (StringUtils.isEmpty(MapUtils.getString(o, "ATTRIBUTEVALUE"))) {
o.put("ATTRIBUTEVALUE", StringUtils.EMPTY);
}
}
request.setAttribute("attributes", attributes);
if (request.getParameter("modify") != null) {
List<Map> objectAttributeValues = new ArrayList();
String[] attributeValues = request.getParameterValues("attributeValue");
String[] fieldRrns = request.getParameterValues("fieldRrn");
long instanceRrn = objectRrn.longValue();
for (int i = 0; i < attributeValues.length; i++) {
Map attributeValue = new HashMap();
attributeValue.put("instanceRrn", new Long(instanceRrn).toString());
attributeValue.put("instanceVersion", "1");
attributeValue.put("fieldRrn", fieldRrns[i]);
attributeValue.put("attributeValue", attributeValues[i]);
objectAttributeValues.add(attributeValue);
}
sysService.maintainAttribute(objectAttributeValues);
}
return mapping.getInputForward();
}
}