package com.vci.client.portal.utility; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import com.vci.client.common.providers.ServiceProvider; import com.vci.corba.common.VCIError; import com.vci.corba.omd.atm.AttribItem; import com.vci.corba.omd.etm.EnumChild; import com.vci.corba.omd.etm.EnumItem; import com.vci.omd.objects.OtherInfo; public class PRM { private String showCols = "3"; private String formQtName = ""; private List prmItemList; /** * form查询模板名字 * @return */ public String getShowCols() { return showCols; } public void setShowCols(String showCols) { this.showCols = showCols; } public String getFormQtName() { return formQtName; } public void setFormQtName(String formQtName) { this.formQtName = formQtName; } public List getPrmItemList() { return prmItemList; } public void setPrmItemList(List prmItemList) { this.prmItemList = prmItemList; } /** * field 与 显示名字 * @return */ public Map getColAndNameMap(){ if(this.prmItemList == null || this.prmItemList.size() <= 0){ return null; } Map map = new LinkedHashMap(); for(int i = 0; i < this.prmItemList.size(); i++){ PRMItem p = this.prmItemList.get(i); String itemField = p.getItemField(); if(itemField == null || itemField.equals("")){ continue; } String[] fields = itemField.split("\\."); String field = fields[fields.length - 1]; String name = p.getItemName(); map.put(itemField, name); //将枚举类型的枚举名或者日期标识_DATE放入map //key为_field String itemType = p.getItemType(); String _field = "_" + itemField; if(itemType.equals("select") || itemType.equals("checkbox")){ try { AttribItem attr; attr = ServiceProvider.getOMDService().getAttributeService().getAttribItemByName(field); OtherInfo otherInfo = OtherInfo.getOtherInfoByText(attr.other); String enumName = otherInfo.getEnumName(); if (enumName != null && !enumName.equals("")) { EnumItem enumItem = ServiceProvider.getOMDService().getEnumService().getEmItemByName(enumName); StringBuilder stb = new StringBuilder("全部"); for(EnumChild child : enumItem.children){ stb.append(","); stb.append(child.name); } map.put(_field, stb.toString()); } } catch (VCIError e) { // TODO Auto-generated catch block e.printStackTrace(); } }else if(itemType.equals("date") || itemType.equals("time") || itemType.equals("datetime")){ map.put(_field, "_DATE"); } } if(map.size() == 0){ return null; } return map; } }