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

QQ登录

只需一步,快速开始

查看: 4523|回复: 7

[结贴] queryAction中增加了后台条件,但是查询不到数据

[复制链接]

58

主题

180

帖子

743

积分

高级会员

Rank: 4

积分
743
QQ
发表于 2018-12-18 21:21:07 | 显示全部楼层 |阅读模式
版本: BeX5V3.5 小版本号:
数据库: Oracle 服务器操作系统: Windows 应用服务器: Tomcat
客户端操作系统: Windows 7 浏览器: Chrome
TIM图片20181218212025.png



subSRM_Pub_BaseCodeTree.fSRMOgnCode in (:currentSRMOgnCode())

自己写了一个自定义函数,获取过滤的数据,返回的形式是 A,B,C 形式。当返回的是一个值得时候,也就是A的时候是有效的,当返回的是多个值,A,B,C的时候条件就不能生效,也不知道这个query具体执行的SQL是怎么样的,请问这个要如何解决。

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35918
发表于 2018-12-19 09:15:43 | 显示全部楼层
java中看看返回多个值的时候具体怎么拼接的

http://docs.wex5.com/bex5-server-question-list-10033/
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

58

主题

180

帖子

743

积分

高级会员

Rank: 4

积分
743
QQ
 楼主| 发表于 2018-12-19 10:35:41 | 显示全部楼层
jishuang 发表于 2018-12-19 09:15
java中看看返回多个值的时候具体怎么拼接的

http://docs.wex5.com/bex5-server-question-list-10033/ ...

我这边需要改标准的queryAction,在里面加限制条件,跟这里的好像有点不一样,

如果参照这里的方法,我是不是在query的condition里直接传带where XX IN (A,B,C) 这样形式的一个参数
回复 支持 反对

使用道具 举报

58

主题

180

帖子

743

积分

高级会员

Rank: 4

积分
743
QQ
 楼主| 发表于 2018-12-19 11:11:40 | 显示全部楼层
jishuang 发表于 2018-12-19 09:15
java中看看返回多个值的时候具体怎么拼接的

http://docs.wex5.com/bex5-server-question-list-10033/ ...

测了我一楼的方式报错如下,能否协助远程看一下



2018-12-19 11:08:14 excute stream action, params:{"accept":"application/json","action":"querySubSRM_Auth_VenReferSubMainAction","actionFlag":"__action_0__","activity":"mainActivity","contentType":"json","executeContext":"","executor":"","parameters":{"columns":"fCreateDate,fCreateDeptID,fCreateDeptName,fCreateOgnID,fCreateOgnName,fCreatePosID,fCreatePosName,fCreatePsnCode,fCreatePsnFID,fCreatePsnFName,fCreatePsnID,fCreatePsnName,fCreateTime,fMasterID,fName,fSRMOgnCode,fSRMOgnID,fSRMSupplierCode,fSupplierDutyParagraph,fUseStatus,fUseStatusName,fVenCode,fVenName,subSRM_Auth_VenReferSub,version","limit":20,"offset":0,"orderBy":"fCreateTime DESC","variables":{}},"process":"/subSRM/authorization/process/subSRMAuthManage/subSRMAuthManageProcess","translateParameter":{"cellnameByRelation":false,"dataType":"row-list","includeState":true,"rowsConfig":{"concept":"subSRM_Auth_VenReferSub","sequence":"fCreateDate,fCreateDeptID,fCreateDeptName,fCreateOgnID,fCreateOgnName,fCreatePosID,fCreatePosName,fCreatePsnCode,fCreatePsnFID,fCreatePsnFName,fCreatePsnID,fCreatePsnName,fCreateTime,fMasterID,fName,fSRMOgnCode,fSRMOgnID,fSRMSupplierCode,fSupplierDutyParagraph,fUseStatus,fUseStatusName,fVenCode,fVenName,subSRM_Auth_VenReferSub,version"},"transformIdcolumn":true,"useNamespace":true}}
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at com.justep.system.action.Engine.invokeActions(Native Method)
        at com.justep.system.action.Engine.invokeActions(Unknown Source)
        at com.justep.business.server.BusinessServer.doAction(Unknown Source)
        at com.justep.business.server.BusinessServer.doExcute(Unknown Source)
        at com.justep.business.server.BusinessServer.excute(Unknown Source)
        at com.justep.business.server.BusinessServer.excute(Unknown Source)
        at com.justep.business.server.BusinessServerServlet.execService(Unknown Source)
        at com.justep.business.server.BusinessServerServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at com.justep.x.bs.BusinessServerServlet.service(Unknown Source)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:745)
Caused by: com.justep.exception.BusinessException: 编码: JUSTEP150210; 提示: 执行KSQL出错, KSQL: SELECT subSRM_Auth_VenReferSub.*,subSRM_Auth_VenReferMain.fSRMSupplierCode as fSRMSupplierCode,subSRM_Auth_VenReferMain.fSupplierDutyParagraph as fSupplierDutyParagraph,subSRM_Pub_BaseCodeTree.fName as fName  FROM subSRM_Auth_VenReferSub subSRM_Auth_VenReferSub  optional  join subSRM_Auth_VenReferMain subSRM_Auth_VenReferMain on subSRM_Auth_VenReferSub.fMasterID = subSRM_Auth_VenReferMain optional  join subSRM_Pub_BaseCodeTree subSRM_Pub_BaseCodeTree on subSRM_Auth_VenReferSub.fSRMOgnID = subSRM_Pub_BaseCodeTree.fSRMOgnID WHERE (:currentSRMOgnCode()) ORDER BY fCreateTime DESC LIMIT 0, 20
--> sql: SELECT  subSRM_Auth_VenReferSub.FCREATEDATE AS fCreateDate, subSRM_Auth_VenReferSub.FCREATEDEPTID AS fCreateDeptID, subSRM_Auth_VenReferSub.FCREATEDEPTNAME AS fCreateDeptName, subSRM_Auth_VenReferSub.FCREATEOGNID AS fCreateOgnID, subSRM_Auth_VenReferSub.FCREATEOGNNAME AS fCreateOgnName, subSRM_Auth_VenReferSub.FCREATEPOSID AS fCreatePosID, subSRM_Auth_VenReferSub.FCREATEPOSNAME AS fCreatePosName, subSRM_Auth_VenReferSub.FCREATEPSNCODE AS fCreatePsnCode, subSRM_Auth_VenReferSub.FCREATEPSNFID AS fCreatePsnFID, subSRM_Auth_VenReferSub.FCREATEPSNFNAME AS fCreatePsnFName, subSRM_Auth_VenReferSub.FCREATEPSNID AS fCreatePsnID, subSRM_Auth_VenReferSub.FCREATEPSNNAME AS fCreatePsnName, subSRM_Auth_VenReferSub.FCREATETIME AS fCreateTime, subSRM_Auth_VenReferSub.FMASTERID AS fMasterID, subSRM_Pub_BaseCodeTree.FNAME AS fName, subSRM_Auth_VenReferSub.FSRMOGNCODE AS fSRMOgnCode, subSRM_Auth_VenReferSub.FSRMOGNID AS fSRMOgnID, subSRM_Auth_VenReferMain.FSRMSUPPLIERCODE AS fSRMSupplierCode, subSRM_Auth_VenReferMain.FSUPPLIERDUTYPARAGRAPH AS fSupplierDutyParagraph, subSRM_Auth_VenReferSub.FUSESTATUS AS fUseStatus, subSRM_Auth_VenReferSub.FUSESTATUSNAME AS fUseStatusName, subSRM_Auth_VenReferSub.FVENCODE AS fVenCode, subSRM_Auth_VenReferSub.FVENNAME AS fVenName, subSRM_Auth_VenReferSub.fID AS subSRM_Auth_VenReferSub, subSRM_Auth_VenReferSub.VERSION AS version FROM SUBSRM_AUTH_VENREFERSUB subSRM_Auth_VenReferSub LEFT JOIN SUBSRM_AUTH_VENREFERMAIN subSRM_Auth_VenReferMain ON subSRM_Auth_VenReferSub.FMASTERID = subSRM_Auth_VenReferMain.fID LEFT JOIN subSRM_Pub_BaseCodeTree subSRM_Pub_BaseCodeTree ON subSRM_Auth_VenReferSub.FSRMOGNID = subSRM_Pub_BaseCodeTree.FSRMOGNID  WHERE  ?   ORDER BY fCreateTime DESC
--> binds: [ 1=1 and  subSRM_Auth_VenReferSub.fSRMOgnCode in ('0020') ]
        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.BizData.query(Unknown Source)
        at BizProcedure.query(BizProcedure.java:12)
        ... 27 more
Caused by: com.justep.exception.BusinessException: 编码: JUSTEP150039; 提示: 执行sql: SELECT  subSRM_Auth_VenReferSub.FCREATEDATE AS fCreateDate, subSRM_Auth_VenReferSub.FCREATEDEPTID AS fCreateDeptID, subSRM_Auth_VenReferSub.FCREATEDEPTNAME AS fCreateDeptName, subSRM_Auth_VenReferSub.FCREATEOGNID AS fCreateOgnID, subSRM_Auth_VenReferSub.FCREATEOGNNAME AS fCreateOgnName, subSRM_Auth_VenReferSub.FCREATEPOSID AS fCreatePosID, subSRM_Auth_VenReferSub.FCREATEPOSNAME AS fCreatePosName, subSRM_Auth_VenReferSub.FCREATEPSNCODE AS fCreatePsnCode, subSRM_Auth_VenReferSub.FCREATEPSNFID AS fCreatePsnFID, subSRM_Auth_VenReferSub.FCREATEPSNFNAME AS fCreatePsnFName, subSRM_Auth_VenReferSub.FCREATEPSNID AS fCreatePsnID, subSRM_Auth_VenReferSub.FCREATEPSNNAME AS fCreatePsnName, subSRM_Auth_VenReferSub.FCREATETIME AS fCreateTime, subSRM_Auth_VenReferSub.FMASTERID AS fMasterID, subSRM_Pub_BaseCodeTree.FNAME AS fName, subSRM_Auth_VenReferSub.FSRMOGNCODE AS fSRMOgnCode, subSRM_Auth_VenReferSub.FSRMOGNID AS fSRMOgnID, subSRM_Auth_VenReferMain.FSRMSUPPLIERCODE AS fSRMSupplierCode, subSRM_Auth_VenReferMain.FSUPPLIERDUTYPARAGRAPH AS fSupplierDutyParagraph, subSRM_Auth_VenReferSub.FUSESTATUS AS fUseStatus, subSRM_Auth_VenReferSub.FUSESTATUSNAME AS fUseStatusName, subSRM_Auth_VenReferSub.FVENCODE AS fVenCode, subSRM_Auth_VenReferSub.FVENNAME AS fVenName, subSRM_Auth_VenReferSub.fID AS subSRM_Auth_VenReferSub, subSRM_Auth_VenReferSub.VERSION AS version FROM SUBSRM_AUTH_VENREFERSUB subSRM_Auth_VenReferSub LEFT JOIN SUBSRM_AUTH_VENREFERMAIN subSRM_Auth_VenReferMain ON subSRM_Auth_VenReferSub.FMASTERID = subSRM_Auth_VenReferMain.fID LEFT JOIN subSRM_Pub_BaseCodeTree subSRM_Pub_BaseCodeTree ON subSRM_Auth_VenReferSub.FSRMOGNID = subSRM_Pub_BaseCodeTree.FSRMOGNID  WHERE  ?   ORDER BY fCreateTime DESC, binds: [ 1=1 and  subSRM_Auth_VenReferSub.fSRMOgnCode in ('0020') ]出错
        at com.justep.exception.BusinessException.create(Unknown Source)
        at com.justep.system.ksql.KSQLUtils.execSqlSelect(Unknown Source)
        ... 32 more
Caused by: java.sql.SQLException: ORA-00920: 无效的关系运算符

        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
        at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
        at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:213)
        at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:796)
        at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1031)
        at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:836)
        at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1124)
        at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3285)
        at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3329)
        at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
        at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
        ... 33 more
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35918
发表于 2018-12-19 11:24:57 | 显示全部楼层
java.sql.SQLException: ORA-00920: 无效的关系运算符这个是数据库标准的报错信息,到网上查找一下
queryAciton自己重新的,java中拼接in的条件的时候按发的链接去参考,参数传的默认就是一个字符串,要自己给解析出来设置

获取直接在条件中把条件设置后自己只是传后面的参数去控制
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

58

主题

180

帖子

743

积分

高级会员

Rank: 4

积分
743
QQ
 楼主| 发表于 2018-12-19 12:21:08 | 显示全部楼层
jishuang 发表于 2018-12-19 11:24
java.sql.SQLException: ORA-00920: 无效的关系运算符这个是数据库标准的报错信息,到网上查找一下
queryA ...

因为这个过滤条件我需要在后台执行,有什么案例或方法可以参考吗,我需要先根据当前人的身份判断他可以查询哪一类的数据,然后in这些数据类型

是否可以通过执行前或执行后规则加过滤,有没有标准的方法可以参考
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35918
发表于 2018-12-19 13:23:12 | 显示全部楼层
queryAciton自己重写,java中自己判断去判断是否拼接条件,拼接in的条件的时候按发的链接去参考
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

58

主题

180

帖子

743

积分

高级会员

Rank: 4

积分
743
QQ
 楼主| 发表于 2018-12-21 09:45:22 | 显示全部楼层
jishuang 发表于 2018-12-19 13:23
queryAciton自己重写,java中自己判断去判断是否拼接条件,拼接in的条件的时候按发的链接去参考 ...

使用了另外的方法来控制数据了,看了下query重写,其他地方可以应用,可以结贴,谢谢
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 21:05 , Processed in 0.075785 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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