起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4313|回复: 6

[结贴] 总是报以下错误,怎么解决啊?

[复制链接]

14

主题

39

帖子

115

积分

初级会员

Rank: 2

积分
115
QQ
发表于 2014-7-28 15:53:52 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
aused by: com.justep.model.exception.ModelException: 编码: JUSTEP154064; 提示: 计算表达式(getRole(currentPersonMemberID())='员工') or (getRole(currentPersonMemberID())='职员')出错
        at com.justep.model.exception.ModelException.create(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.evaluate(Unknown Source)
        at com.justep.system.process.ExpressEngine.calculate(Unknown Source)
        at com.justep.system.process.ExpressEngine.calculateBoolean(Unknown Source)
        at com.justep.system.process.ActivityEnabledEngine.unitfy(Unknown Source)
        at com.justep.system.process.ActivityEnabledEngine.isActiveActivity(Unknown Source)
        at com.justep.system.process.ActivityEnabledEngine.a(Unknown Source)
        at com.justep.system.process.ActivityEnabledEngine.execute(Unknown Source)
        at com.justep.system.process.ProcessQueryEngine.a(Unknown Source)
        at com.justep.system.process.ProcessQueryEngine.outPlace(Unknown Source)
        at com.justep.system.process.ProcessQueryEngine.outActivityInstance(Unknown Source)
        at com.justep.system.process.AdvanceProcessQueryEngine.d(Unknown Source)
        at com.justep.system.process.AdvanceProcessQueryEngine.a(Unknown Source)
        at com.justep.system.process.AdvanceProcessQueryEngine.execute(Unknown Source)
        at com.justep.system.process.ProcessEngine.advanceQuery(Unknown Source)
        at ProcessProcedure.advanceProcessQuery(ProcessProcedure.java:268)
        ... 35 more
Caused by: com.justep.model.exception.ModelException: 编码: JUSTEP154075; 提示: 调用函数getRole出错
        at com.justep.model.exception.ModelException.create(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.functionExpression(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.constExpression(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.unaryExpression(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.multiExpression(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.addExpression(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.compExpression(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.notExpression(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.andExpression(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.orExpression(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.unaryExpression(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.multiExpression(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.addExpression(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.compExpression(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.notExpression(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.andExpression(Unknown Source)
        at com.justep.system.ksql.parser.ExpressionImpl.orExpression(Unknown Source)
        ... 50 more
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:592)
        ... 66 more
Caused by: com.justep.exception.BusinessException: 编码: JUSTEP150210; 提示: 执行KSQL出错, KSQL: SELECT opr.sName FROM SA_OPRole opr where opr=(SELECT opa.sAuthorizeRoleID FROM SA_OPAuthorize opa where opa.sOrgID like 'PSN01@ORG01%')
        at com.justep.exception.BusinessException.create(Unknown Source)
        at com.justep.system.data.impl.TableUtilsImplement.ksqlSelect(Unknown Source)
        at com.justep.system.data.impl.TableUtilsImplement.ksqlSelect(Unknown Source)
        at com.justep.system.data.impl.TableUtilsImplement.ksqlSelect(Unknown Source)
        at com.justep.system.data.KSQL.select(Unknown Source)
        at FindRole.getRoleById(FindRole.java:18)
        ... 70 more
Caused by: com.justep.exception.BusinessException: 编码: JUSTEP150039; 提示: 执行sql: (SELECT  opr.SNAME AS sName FROM SA_OPRole opr  WHERE opr.sID = (SELECT  opa.sAuthorizeRoleID AS sAuthorizeRoleID FROM SA_OPAuthorize opa  WHERE opa.SORGID LIKE ?)), binds: [PSN01@ORG01%]出错
        at com.justep.exception.BusinessException.create(Unknown Source)
        at com.justep.system.ksql.KSQLUtils.execSqlSelect(Unknown Source)
        ... 75 more
Caused by: java.sql.SQLException: 子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
        at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:365)
        at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2781)
        at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2224)
        at net.sourceforge.jtds.jdbc.TdsCore.isDataInResultSet(TdsCore.java:792)
        at net.sourceforge.jtds.jdbc.JtdsResultSet.<init>(JtdsResultSet.java:146)
        at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQLQuery(JtdsStatement.java:424)
        at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeQuery(JtdsPreparedStatement.java:693)
        at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
        at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
        ... 76 more


欢迎大家关注本店铺微信公众号码:雪花淘衣坊!http://recall.taobao.com

45

主题

4492

帖子

3960

积分

论坛元老

Rank: 8Rank: 8

积分
3960
QQ
发表于 2014-7-28 16:06:43 | 显示全部楼层
本帖最后由 fpj 于 2014-7-28 16:07 编辑

1、你写的KSQL有问题
opr=(SELECT )     如果select 后有多个值 ,那个 opr= 就会有错,你改成  opr in  (select) 试试;

2、计算表达式有问题
getRole 是你自定义的函数吗?我知道在 BIZ Java里可以用 ContextHelper.getOperator().getRoles(),直接获取当前操作者的角色

评分

参与人数 1 +4 收起 理由
jishuang + 4 赞一个!

查看全部评分

向前进,向前进,我们……
回复 支持 反对

使用道具 举报

14

主题

39

帖子

115

积分

初级会员

Rank: 2

积分
115
QQ
 楼主| 发表于 2014-7-28 16:16:35 | 显示全部楼层
fpj 发表于 2014-7-28 16:06
1、你写的KSQL有问题
opr=(SELECT )     如果select 后有多个值 ,那个 opr= 就会有错,你改成  opr in  ( ...

getRole这个函数是系统自带的函数,不是我自己定义的,奇怪的是我用什么函数都是报错的,我怀疑是权限的问题
欢迎大家关注本店铺微信公众号码:雪花淘衣坊!http://recall.taobao.com
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36149
发表于 2014-7-28 17:22:54 | 显示全部楼层
(SELECT opa.sAuthorizeRoleID FROM SA_OPAuthorize opa where opa.sOrgID like 'PSN01@ORG01%')
返回的值是多个

where opr=(SELECT opa.sAuthorizeRoleID FROM SA_OPAuthorize opa where opa.sOrgID like 'PSN01@ORG01%')不能用=

改为in
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

14

主题

39

帖子

115

积分

初级会员

Rank: 2

积分
115
QQ
 楼主| 发表于 2014-7-29 09:00:25 | 显示全部楼层
jishuang 发表于 2014-7-28 17:22
(SELECT opa.sAuthorizeRoleID FROM SA_OPAuthorize opa where opa.sOrgID like 'PSN01@ORG01%')
返回的值 ...

问题是在哪里改啊。这应该是系统自带的,不是我自己写的东西啊
欢迎大家关注本店铺微信公众号码:雪花淘衣坊!http://recall.taobao.com
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36149
发表于 2014-7-29 09:39:29 | 显示全部楼层
平台没有提供getRole这个函数,这个函数应该是自己自定义的,看看自定义的函数中拼的ksql是不是不正确
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

14

主题

39

帖子

115

积分

初级会员

Rank: 2

积分
115
QQ
 楼主| 发表于 2014-7-29 10:22:29 | 显示全部楼层
jishuang 发表于 2014-7-29 09:39
平台没有提供getRole这个函数,这个函数应该是自己自定义的,看看自定义的函数中拼的ksql是不是不正确 ...

好的,找到了,谢谢您的解答!
欢迎大家关注本店铺微信公众号码:雪花淘衣坊!http://recall.taobao.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-5-9 16:21 , Processed in 0.066694 second(s), 29 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表