常用工具类介绍----蓝凌EKP二次开发资料大全 完整蓝凌二次开发资料 蓝凌 EKP开发实战教程 蓝凌OA二次开发培训资料大全

常用工具类介绍

温馨提醒:

更多资料下载请点-->  蓝凌开发资料大全

Userutil

该类主要是获取用户信息以及用户权限

读取当前用户信息方法

    方法名

方法解读

Public static KMSSUser getKMSSUser()

获取当前登录员工,常用于java代码中

Publicstatic KMSSUser getKMSSUser(HttpServletRequest request)

获取当前登录员工,常用于jsp页面中(和上面的方法基本上没什么区别,getKMSSUser()方便在service和dao中使用)

public static SysOrgPerson getUser()

同getKMSSUser()

public static String getUserName(HttpServletRequest request)

同getKMSSUser(HttpServletRequest request)

public static SysOrgPerson getEveryoneUser()

获取所有者用户

校验权限

    方法名

方法解读

public static boolean checkAuthentication(String url, String mothod)

校验当前用户是否具有某个指定资源的权限。

public static boolean checkUserId(String id)

判断当前用户是否属于某个ID(其中id,可以为个人、岗位、部门、机构、常用群组的ID)。

public static boolean checkUserIds(List<String> ids)

判断当前用户是否属于某个ID(其中id,可以为个人、岗位、部门、机构、常用群组的ID),与上面方法类似。

public static boolean checkUserModel(ISysOrgElement element)

判断当前用户是否属于某个组织架构(其中element,可以为为个人、岗位、部门、机构、常用群组)。

public static boolean checkUserModels(List<?> elements)

判断当前用户是否属于某个组织架构(其中element,可以为为个人、岗位、部门、机构、常用群组),与上面方法类似。

public static boolean checkRole(String role)

判断当前用户是否具有某个角色(如阅读权限GF_SUPPLIER_VIEW)。

public static boolean checkRoles(List<String> roles)

判断当前用户是否具有某个角色,与上面方法类似。

public static boolean checkAreaRole(String role, String areaHierarchyId,

                     SysAuthConstant.AreaIsolation type) throws Exception

判断当前用户是否可以使用某个角色操作目标场所的数据(其中,role是角色,areaHierarchyId是目标场所层级ID,type是场所的可用性类型。ISysAuthConstant.TYPE_VISIBLE_BRANCH

  表示用户可以使用同一分支上所有上下级场所的数据 ;ISysAuthConstant.TYPE_VISIBLE_CHILD

表示用户仅可使用本场所和下级场所的数据)。

public static boolean checkAreaRole(String role, IBaseModel model,

                     SysAuthConstant.AreaIsolation type) throws Exception

判断当前用户是否可以使用某个角色操作目标场所的数据(其中,role是角色,model是目标对象,type是场所的可用性类型。ISysAuthConstant.TYPE_VISIBLE_BRANCH

  表示用户可以使用同一分支上所有上下级场所的数据 ;ISysAuthConstant.TYPE_VISIBLE_CHILD

表示用户仅可使用本场所和下级场所的数据)。

HQLInfoHQLUtil

HQLInfo

构造和描述HQL语句

    方法名

方法解读

public void setDistinctType(int distinctType)

设置查询时自动过滤重复数据的类型(其中,distinctType 为DISTINCT_AUTO,表示系统自己判断是否需要过滤,distinctType 为DISTINCT_NO,表示不过滤重复值,distinctType 为DISTINCT_YES过滤重复值)

public void setFromBlock(String fromBlock)

设置from语句

public void setIsAutoFetch(boolean autoFetch)

设置是否自动展开相关的字段信息, lazy="true"时获得对象的关联实例,lazy="false"就不需要设置fetch了。

public void setJoinBlock(String joinBlock)

设置紧跟在from语句后面的join语句

public void setModelName(String modelName)

设置域模型名称

public void setOrderBy(String orderBy)

设置排序字段

public void setParameter(String key, Object value)

设置HQL参数

public void setPageNo(int pageNo)

设置从第几页开始显示

public void setRowSize(int rowSize)

设置每页显示多少条记录

public void setSelectBlock(String selectBlock)

设置select语句,不设置则返回域模型

public void setWhereBlock(String whereBlock)

设置where语句

HQLUtil

HQL语句拼装类, 作用范围:所有代码,直接调用静态方法

    方法名

方法解读

public static String getAutoFetchInfo(HQLInfo hqlInfo)

获取自动fetch的信息,当使用order by时经常需要调用该函数fetch相关信息,例如:hqlInfo.setOrderBy("dycSignatureLog.docUser.fdId");

System.out.println(HQLUtil.getAutoFetchInfo(hqlInfo));会输出left join fetch dycSignatureLog.docUser

public static HQLWrapper buildPreparedLogicIN(String item, List<?> valueList)

public static String buildLogicIN(String item, List valueList)

构造in 预编译语句,若valueList超过1000时,该函数会自动拆分成多个in语句,例如:whereBlock = HQLUtil.buildLogicIN("and gfSupplierMain.fdSupplierMajors.fdId", idList);会把idList中的值

都用or in链接起来。

public static String buildModelIds(List modelList)

取得Model列表的HQL的In查询格式数据

public static Map buildManyToManyIDMap(Session hbmSession, String sql)

从数据库中读取ManyToMany的映射表

PublicstaticMap[]buildManyToManyIDBidirectionalMap(Session hbmSession,String sql)

从数据库中读取ManyToMany的映射表,并构造双向的映射表

public static List fetchManyToManyIDList(List idList, Map idMap)

将相关的ID从ManyToMany的映射表中读出,再添加到ID列表中

private static void fetchManyToManyIDList(String id, List results, Map idMap)

将id以及id相关的ID列表(从ManyToMany的映射表中查出)添加到results列表中,modelName=com.landray.kmss.sys.organization.model.SysOrgPerson

 propertyName=hbmPosts.fdName返回[0]="kmss_list_field_0.fdName";[1]=" left join sysOrgPerson.hbmPosts kmss_list_field_0"

public static String[] formatPropertyWithJoin(String modelName,

                     String propertyName, String startProperty)

根据域模型名称和查询的属性,判断是否应该添加left join语句, 返回值中[0]是left join语句,[1]是封装后的属性。样例:输入

modelName=com.landray.kmss.sys.organization.model.SysOrgPerson propertyName=hbmPosts.fdName  startProperty=sysOrgPerson

返回:

        [0]="kmss_list_field_0.fdName";

        [1]=" left join sysOrgPerson.hbmPosts kmss_list_field_0"

public static String replaceToSQLString(String str)

将“aaa,bbb,ccc”或“aaa;bbb;ccc”的字符串转换为SQL使用的“'aaa','bbb','ccc'

public static String getSqlIDGenerationFunction()

返回当前使用数据库的uuid生成函数

public static Query setParameters(Query query,

                     List<HQLParameter> parameterList)

设置query的预编译参数

ModelUtil

    方法名

方法解读

public static String getModelUrl(Object mainModel)

public static String getModelUrl(Object mainModel, String className)

获取一个域模型的URL,view请求路径。例如:/dyc/signature/dyc_signature_log/dycSignatureLog.do?method

=view&fdId=13f55291ace2cefac9b7a4a4a61be33e

private static String formatModelUrl(Object mainModel, String url)

根据域对象的值对URL中的${property}信息进行替换

public static String getModelClassName(Object mainModel)

判断一个对象是否被Hibernate的延时加载机制给修改,并返回正确的类名

public static String getModelTableName(Object mainModel)

返回HQL语句中用于查询使用的表名,如:sysOrgElement

public static void checkTreeCycle(Object treeModel, Object parent, String parentProperty)

检查树结构的域模型中是否出现了循环嵌套,校验失败后抛出TreeCycleException异常

public static Object clone(Object object)

对象克隆

public static String getModelPropertyString(Object model,

                     String propertyName, String splitStr, Locale locale)

获取域模型中propertyName属性对应的信息,并对枚举、列表等相关信息进行处理

public static String getPropertyType(String modelName, String property)

获取域模型某个属性的类型,返回值为数据字典定义的类型

public static boolean isModelMerge(IBaseModel model)

判断某个域模型是否已经持久化

public static List getModelRoles(String modelName)

根据域模型获取当前模块的角色权限

public static List getModelRolesInMap(String modelName)

根据模块的域模型名存取该模块的角色权限

StringUtil

常用字符转换方法

    方法名

方法解读

public static boolean isNull(String str)

判断一个字符串是否为null或空

public static boolean isNotNull(String str)

判断一个字符串非空

public static String getString(String s)

过滤字符串null

public static String escape(String sourceStr)

URL编码,其功能等同于javascript的escape函数

public static String unescape(String sourceStr)

URL解码,功能相当于javascript的unescape函数。

本方法保证 不论参数s是否经过escape()编码,均能得到正确的“解码”结果

public static String XMLEscape(String src)

转换字符串中HTML/XML敏感的字符

public static String getParameter(String query, String param)

获取query中的参数值, 样例:a=1&b=2,注意:不带?符号

public static Map getParameterMap(String query, String splitStr)

将query的值转换为哈希表,哈希表的格式类似request.getParameterMap 样例:a=1,b=2,其中splitStr=

public static String setQueryParameter(String query, String param,                     String value)

替换URL中?后面部分的参数

public static String replace(String srcText, String fromStr, String toStr)

替换字符串中的指定字符,类似String.replaceAll的方法,

               但去除了正则表达式的应用

public static String formatUrl(String url)

public static String formatUrl(String url, boolean isNeedDNS)

格式化URL,若传递的参数中以/开始,该函数会自动添加DNS和ContextPath

public static String linkString(String leftStr, String linkStr,

                       String rightStr)

连接字符串,常用与HQL语句的拼装,当左边值为空时返回右边值,当右边值为空时返回左边值,左右的值都不为空时返回左边值+连接串+右边值

public static int getIntFromString(String value, int defaultValue)

将字符串转换为数字,如果有错,采用缺省值

public static String[] mergeStringArray(String[] ary1, String[] ary2)

合并2个string[],并去掉重复项

public static String[] emptyArray2Null(String[] ary1)

空的数组返回null

public static String clearScriptTag(String html)

过滤html标签

ArrayUtil

数组比较的方法和数组的转换

    方法名

方法解读

public static boolean isListSame(List list1, List list2)

判断两个列表中的内容是否一样(忽略顺序)

public static boolean isListIntersect(List list1, List list2)

判断两个列表中是否有交集

public static boolean isArraySame(Object[] objArr1, Object[] objArr2)

判断两个数组的内容是否一样(忽略顺序)

public static boolean isArrayContains(Object[] objArr1, Object[] objArr2)

判断objArr1是否包含了objArr2

public static boolean isArrayIntersect(Object[] objArr1, Object[] objArr2)

判断两个数组中是否有交集

public static String[] toStringArray(Object[] objs)

将所有类型的数组转换为String数组

public static String[] joinProperty(List objList, String properties,String split)

从一个bean列表中提取某个属性的值,并用指定的分隔符拼凑成字符串返回,需要提取的值,若需要提取多个属性,使用:分隔,如:fdId:fname

public static void concatTwoList(List fromList, List toList)

将fromList中的元素添加到toList中,过滤重复值

public static boolean isEmpty(List list)

判断list是否为null或empty

public static boolean isEmpty(Collection collection)

判断集合是否为null或empty

public static List convertArrayToList(Object[] objects)

数组转为List

public static String concat(String[] arr, char c)

字符串数组转为字符串,使用指定字符连接数组元素

DataUtil

日期转换类 转换一个 java.util.Date 对象到一个字符串以及 一个字符串到一个 java.util.Date 对象

    方法名

方法解读

public static Date convertStringToDate(String strDate, String pattern)

将字符串转换为Date类型

public static Date convertStringToDate(String strDate, String type,Locale locale)

将字符串转换为Date类型,type 见本类中的TYPE_*常量

public static String convertDateToString(Date aDate, String pattern)

将Date转换为字符串

public static String convertDateToString(Date aDate, String type,Locale locale)

将Date转换为字符串,type 见本类中的TYPE_*常量

public static long getDateTimeNumber(Date date, Date time)

将日期、时间合并成长整型数据

public static long getDateNumber(Date date)

将日期的时间部分清除后,转换成long类型

public static Date getDate(int day)

获取日期(获取当天日期getDate(0))

public static long getTimeNubmer(Date date)

将时间的日期部分清除后,转换成long类型

public static Date getTimeByNubmer(long l)

将一个不包含日期的时间量,转换为Date类型,其中的日期为当天

SpringBeanUtil

    方法名

方法解读

public static boolean isInit()

判断是否SpringBeanUtil是否已经初始化

publicstaticApplicationContext getApplicationContext()

获取spring的applicationContext

publicstaticvoid setApplicationContext(ApplicationContext applicationContext)

设置spring的applicationContext

public static List getBeansForType(Class type)

根据类型返回bean列表

public static List getBeansForType(Class type, String exceptBeanName)

根据类型返回bean列表(去除exceptBeanName)

public static Object getBean(String beanName)

根据名称获取spring的bean,例如:sysAttMainService = (ISysAttMainCoreInnerService) getBean("sysAttMainService");

NumberUtil

常用的数据格式转换方法

    方法名

方法解读

public static String roundDecimal(Object value)

用###,###.##格式化字符串值

public static String roundDecimal(Object value, String pattern)

用指定格式格式化字符串值

public static String roundDecimal(double fTemp)

保留两位小数

public static String roundDecimal(double fTemp, int pos)

保留指定的位小数

public static double correctDouble(double d)

修正double的误差

ResourceUtil

    方法名

方法解读

public static String getString(String key)

获取默认资源的值,默认值的是src里面的资源文件,例如:资源文件中button.add=新增;则getString(” button.add”);返回新增。

public static String getString(String key, String bundle)

获取指定bundle的的资源值,资源文件中button.add=新增;则getString(”table.dycSignatureMain”,’’gf-supplier’);返回签名管理。

public static String getString(String key, Locale locale)

获取用户选择的语言环境的资源值,默认为zh-CN

public static String getString(String key, String bundle, Locale locale)

获取指定bundle和用户选择的语言环境的资源值,默认为zh-CN

private static Locale getLocaleByUser()

获取当前用户的locale

private static Locale getLocaleByUser(HttpServletRequest request)

获取当前用户的locale

public static String getOfficialString(String key)

获取官方的资源值,官方指的是Locale 为zh-CN

public static String getOfficialString(String key, String bundle)

获取指定bundle的官方的资源值

public static String getString(HttpSession session, String key)

获取指定语言的资源值

public static String getString(HttpSession session, String bundle,String key)

获取指定bundle和语言环境的资源值

public static String getStringValue(String key, String bundle,Locale locale)

获取指定bundle和语言环境的资源值

public static String getString(String key, String bundle, Locale locale,Object arg)

获取指定bundle和语言环境的资源值,并自动将资源值中的{0}替换为arg,例如资源文件中table.dycSignatureMain=签名管理{0},代码中String rs = ResourceUtil.getString("table.dycSignatureMain",

                "dyc-signature", locale, "dd");返回签名管理dd

public static String getString(String key, String bundle, Locale locale,Object[] args)

获取指定bundle和语言环境的资源值,并自动将资源值中的{i}替换为args[i],例如资源文件中table.dycSignatureMain=签名管理{0}{1},代码中String[] a = { "dd", "fdf" };

String rs = ResourceUtil.getString("table.dycSignatureMain",

                "dyc-signature", locale, a);返回签名管理ddfdf

public static String getKmssConfigString(String key)

获取kmss-config.proerties的信息,例如: getKmssConfigString("kmss.lang.official")返回的zh-CN

public static Locale getLocale(String lang)

根据语言设置获取语言locale

ObjectUtil

    方法名

方法解读

public static boolean equals(Object obj1, Object obj2)

比较两个对象是否相等(同时处理null的情况),当两个对象都为空时返回true

public static boolean equals(Object obj1, Object obj2,boolean bothNullReturn)

比较两个对象是否相等(同时处理null的情况),当两个对象都为空时返回指定值bothNullReturn

public static Long parseLong(Object value)

将一个对象转换为Long类型

public static Double parseDouble(Object value)

将一个对象转换为Double类型

public static PropertyDescriptor getPropertyDescriptor(Class c,String property)

校验某个类的某个属性是否能够执行get或set方法

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值