package com.vci.server.query.util; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.LinkedHashSet; import java.util.List; import java.util.Set; import com.vci.server.base.utility.OmdHelper; import com.vci.server.cache.OMCacheProvider; /** * 服务端的查询工具类 * 修改链接类型查询的缓慢的问题时修改,不确定Tool是否被客户端引用,因此单独实现所需的方法 * @author weidy * */ public class ServerTool { public static final DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); /** * 视图cols * viewName.col as col2 * @param ltName * @return */ public static List getViewColsWithAlias(String[] btNames, String viewName) { List cols = new ArrayList(); String[] sysAbItems = OmdHelper.getBTSysANames(); for(String sysAbItem : sysAbItems){ cols.add(viewName + "." + sysAbItem + " AS " + sysAbItem + "2"); } Set userAttrNameSet = getUserAttrNameSet(btNames); for(String userAttrName : userAttrNameSet){ cols.add(viewName + "." + userAttrName + " AS " + userAttrName + "2"); } return cols; } /** * 获取业务类型属性总集合 * @param btNames * @return */ private static Set getUserAttrNameSet(String[] btNames){ Set set = new LinkedHashSet(); try{ for(String btName : btNames){ //String[] abNames = ServerServiceProvider.getOMDService().getBTMService().getBtmApNameArray(btName); String[] abNames = OMCacheProvider.getBizType(btName).apNameArray; for(String abName : abNames){ set.add(abName); } } } catch (Throwable e) { e.printStackTrace(); } return set; } }