关于布尔类型做为通用过滤查询字段说明原创
1人赞赏了该文章
339次浏览
编辑于2021年07月31日 10:58:20
如下图所示,在业务数据源加上了一个布尔类型字段,在通用过滤查询面板报错
通用过滤界面打开报错堆栈如下:
java.lang.NullPointerException: null
at: com.kingdee.eas.base.commonquery.client.CommonFilterUtil.isEnumType(CommonFilterUtil.java:131)
at: com.kingdee.eas.base.commonquery.client.CommonFilterPanel.setCompareCell(CommonFilterPanel.java:2357)
at: com.kingdee.eas.base.commonquery.client.CommonFilterPanel.onMouseClicked(CommonFilterPanel.java:2468)
问题分析:
布尔类型自读对应的计算式#0 一般是xxx.id,对应的返回类型为String,而#0作为计算式时,#0的对应的字段类型必须与数据类型一致,类型为布尔类型,故变通处理方式如下#0用布尔类型代替,查询时用#1做条件即可,类似写法:CASE WHEN EXISTS (SELECT FID FROM T_XXX WHERE FXXX = #1) THEN 1 ELSE 0 END,详参下图。
赞 1
1人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读