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

QQ登录

只需一步,快速开始

查看: 3541|回复: 3

[处理中3] 执行KSQL出错

[复制链接]

12

主题

27

帖子

66

积分

初级会员

Rank: 2

积分
66
QQ
发表于 2018-12-25 11:14:29 | 显示全部楼层 |阅读模式
我在js中写了一个action:
Model.prototype.cRr6VryClick = function(event){
        var mainData = this.comp("dialogData");
        var inspectionTaskId = mainData.getCurrentRowID();
        biz.Request.sendBizRequest({
                                "context" : this.getContext(),
                                "action": "updatefStatus",
                                "parameters" : {"inspectionTaskId":inspectionTaskId},
                                "callback": function(data) {
                                        data.ignoreError = false;
                                        justep.Util.hint("完成离场成功!");
                                }
                        });
        };



然后调用updatefStatus
/**
         * 添加修改状态离场按钮
         * @param inspectionTaskId
         */
        public static void updatefStatus(String inspectionTaskId){
                //检查能否改变为修改离场
                String checkSql = "SELECT t.`fStatus` AS status FROM ci_iy_inspectiontask t WHERE t.`fID` = :inspectionTaskId ";
                Map<String, Object> checkParams = new HashMap<String, Object>();
                checkParams.put("inspectionTaskId", inspectionTaskId);
                Table checkTable = KSQL.select(checkSql, checkParams, "/ciyms/inspection/data", null);
                if (!checkTable.iterator().hasNext() || checkTable.iterator().next().getInteger("status") != 0) {
                        //FIXME(异常处理)
                        return;
                }
                String sql = "UPDATE ci_iy_inspectiontask SET fStatus = 6  WHERE fID = :inspectionTaskId ";
                KSQL.executeUpdate(sql, checkParams, "/ciyms/inspection/data", null);
        }
}


报错信息是:

excute stream action, params:{"accept":"application/json","action":"updatefStatus","actionFlag":"__action_0__","activity":"mainActivity","contentType":"json","executeContext":"","executor":"","parameters":{"inspectionTaskId":"0B1A6AAC068C4C51B68AF4D091B36647"},"process":"/ciyms/inspection/process/inspectionTaskadd/inspectionTaskaddProcess"}
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 t.`fStatus` AS status FROM ci_iy_inspectiontask t WHERE t.`fID` = :inspectionTaskId
--> sql:
--> binds: []
        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 Inspection.updatefStatus(Inspection.java:486)
        ... 27 more
Caused by: com.justep.exception.KSQLException: 编码: JUSTEP154115; 提示: KSQL语法错误, SELECT t^^.`fStatus` AS s中未找到需要的元素, 位置8期望是FROM
        at com.justep.exception.KSQLException.create(Unknown Source)
        at com.justep.system.ksql.token.TokenManager.matchToken(Unknown Source)
        at com.justep.system.ksql.token.TokenManager.match(Unknown Source)
        at com.justep.system.ksql.parser.AbstractParser.fromNode(Unknown Source)
        at com.justep.system.ksql.parser.AbstractParser.selectSentenceNode(Unknown Source)
        at com.justep.system.ksql.parser.QueryParser.start(Unknown Source)
        at com.justep.system.ksql.parser.QueryParser.start(Unknown Source)
        at com.justep.system.ksql.parser.AbstractParser.parse(Unknown Source)
        ... 32 more



91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2018-12-25 12:59:32 | 显示全部楼层
String checkSql = "SELECT t.fStatus AS status FROM ci_iy_inspectiontask t WHERE t = :inspectionTaskId ";
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

12

主题

27

帖子

66

积分

初级会员

Rank: 2

积分
66
QQ
 楼主| 发表于 2018-12-25 15:00:43 | 显示全部楼层
按照你的SQL 修改了,还是报错,编码: JUSTEP154001; 提示: 模块/ciyms/inspection/data中, 没有将概念ci_iy_inspectiontask映射到数据库,检查过,本在ci_iy_inspectiontas已经有了主键,不知道哪里出问题了。

回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2018-12-25 16:20:25 | 显示全部楼层
data目录下打开相应的mapping文件看看这个概念的"是否存到数据库"勾选了吗?

如果是引用其他模板的参考http://bbs.wex5.com/forum.php?mod=viewthread&tid=40985
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-5 07:09 , Processed in 0.065083 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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