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

QQ登录

只需一步,快速开始

查看: 4349|回复: 8

[结贴] 编码: JUSTEP150210; KSQL拼接查询报错

[复制链接]

21

主题

122

帖子

442

积分

中级会员

Rank: 3Rank: 3

积分
442
QQ
发表于 2017-5-9 16:08:36 | 显示全部楼层 |阅读模式
版本: BeX5V3.5 小版本号:
数据库: MS SQLServer 服务器操作系统: Windows 应用服务器: Tomcat
客户端操作系统: Windows 7 浏览器: Chrome
总是提示这个错误,可以确认,是KSQL拼接的问题,怎么修改?
编码: JUSTEP150210; 提示: 执行KSQL出错, KSQL: UPDATE articleMove articleMove SET articleMove.f1stName='system', articleMove.f1sID='PSN01', articleMove.f1stTime=:currentDateTime()articleMove.f1stAdvice ='已确认!' where articleMove='3AB07020D64B43A29FD89F3BCAD10B63'

import java.text.SimpleDateFormat;
import java.util.Iterator;

import com.justep.system.context.ContextHelper;
import com.justep.system.data.KSQL;
import com.justep.system.data.Row;
import com.justep.system.data.Table;
import com.justep.system.process.ProcessUtils;
import com.justep.system.util.BizUtils;

public class OutboundProcess {
//生成连续的出库单编号CKD20161010001
        public static void outboundProcessBeforeSaveArticleMoveAction() {
                //拿到前台传过来的TABLE参数
                Table table=(Table)ContextHelper.getActionContext().getParameter("table");
                //拿到新增的行
                Iterator<Row>  rows=table.iterator(com.justep.system.data.ModifyState.NEW);
                //生成当前日期的字符串
                SimpleDateFormat sDateFormat=new SimpleDateFormat("yyyyMMdd");
                String sDate=sDateFormat.format(new java.util.Date());
                //配置单据编号字符串
                while (rows.hasNext()){
                    Row row=rows.next();
                   //给FNO字段赋值                  
                   row.setValue("fNo", BizUtils.createNextSequenceString("CKD"+sDate, "0000"));
                }       
        }
//出库申请环节完毕后,将销售计划意见加入库表
        public static void applyAfterAdvance() {
                        try{
        String taskID=ProcessUtils.getProcessContext().getTask().getId();   //拿到当前流程ID
        String ksql = "select SA_Task.sContent from SA_Task SA_Task where SA_Task= '"+taskID+"'";
        com.justep.system.data.Table table = KSQL.select(ksql, null, "/system/data", null);//查出当前流程记录
          Iterator<Row> rows=table.iterator();                                                  //拿到操作者意见
          Row row=rows.next();
          String sContent=row.getString("sContent");
          

        //如果操作者留下了附言,将附言记录到库表中
        if(sContent!=null){
             String key=ProcessUtils.getProcessData1();
             String ksql1="UPDATE articleMove articleMove SET articleMove.fReportAdvice ='"+sContent+"' where articleMove='"+key+"'";
             KSQL.executeUpdate(ksql1, null, "/DEMOERP/DEMOERP/data", null);//将操作者意见存进库表中
             }
                }catch(Exception e){
             throw new RuntimeException(e.getMessage());
                }
        }
//出库环节完毕后,将库管员姓名,ID,时间,意见写出库表中
        public static void outboundAfterAdvance() {
                try{
        String taskID=ProcessUtils.getProcessContext().getTask().getId();   //拿到当前流程ID
        String ksql = "select SA_Task.sContent  from SA_Task SA_Task  where SA_Task='"+taskID+"'";
        com.justep.system.data.Table table=KSQL.select(ksql, null, "/system/data", null);//查出当前流程记录
          Iterator<Row> rows=table.iterator();                                                     //拿到操作者意见
          Row row=rows.next();
          String sContent=row.getString("sContent");
        //如果操作者留下了附言,将附言记录到库表中
          
             String key=ProcessUtils.getProcessData1();
             String ksql1="UPDATE articleMove articleMove SET articleMove.f1stName='"+ContextHelper.getOperator().getName()+"', articleMove.f1sID='"+ContextHelper.getOperator().getID()+"', articleMove.f1stTime=:currentDateTime()";
             if(sContent!=null)
             ksql1=ksql1+"articleMove.f1stAdvice ='"+sContent+"'" ;
             ksql1=ksql1+" where articleMove='"+key+"'";
             KSQL.executeUpdate(ksql1, null, "/DEMOERP/DEMOERP/data", null);//将操作者意见存进库表中
             
             /**更新收货意见
             if(sContent!=null){
                     String key=ProcessUtils.getProcessData1();
                     String ksql1 = "UPDATE articleMove articleMove SET articleMove.f1stAdvice ='"+sContent+"' where articleMove='"+key+"'";
                     KSQL.executeUpdate(ksql1, null, "/DEMOERP/DEMOERP/data", null);//将操作者意见存进库表中
                           }
                **/
                }catch(Exception e){
                throw new RuntimeException(e.getMessage());
                }
        }
//流程异常结束时,更新流程状态
        public static void outboundProcessAfterAbort() {
                        try{
                String key=ProcessUtils.getProcessData1();//拿到当前主表ID
                String ksql = "UPDATE articleMove articleMove SET articleMove.fProcState='已终止' where articleMove='"+key+"'";
                KSQL.executeUpdate(ksql, null, "/DEMOERP/DEMOERP/data", null);
                }catch(Exception e){
                throw new RuntimeException(e.getMessage());
                }

        }
        //流程正常结束时,更新流程状态
        public static void outboundProcessAfterAdvance() {
          try{
                String key=ProcessUtils.getProcessData1();//拿到当前主表ID
                String ksql = "UPDATE articleMove articleMove SET articleMove.fProcState='已完成' where articleMove='"+key+"'";
                KSQL.executeUpdate(ksql, null, "/DEMOERP/DEMOERP/data", null);
                }catch(Exception e){
                throw new RuntimeException(e.getMessage());
                }
}
}



91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2017-5-9 17:28:29 | 显示全部楼层
少了空格
ksql.png
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

21

主题

122

帖子

442

积分

中级会员

Rank: 3Rank: 3

积分
442
QQ
 楼主| 发表于 2017-5-9 18:56:40 | 显示全部楼层
       String ksql1="UPDATE articleMove articleMove SET articleMove.f1stName='"+ContextHelper.getOperator().getName()+"', articleMove.f1sID='"+ContextHelper.getOperator().getID()+"', articleMove.f1stTime=:currentDateTime()";
             if(sContent!=null)
             ksql1=ksql1+"articleMove.f1stAdvice ='"+sContent+"'" ;
             ksql1=ksql1+" where articleMove='"+key+"'";
             KSQL.executeUpdate(ksql1, null, "/DEMOERP/DEMOERP/data", null);//将操作者意见存进库表中

请问,这个空间格应该加在哪里?怎么拼接?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2017-5-10 09:47:57 | 显示全部楼层
在上面画圈的后面或者下面画圈的前面都可以啊
ksql.png
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

21

主题

122

帖子

442

积分

中级会员

Rank: 3Rank: 3

积分
442
QQ
 楼主| 发表于 2017-5-10 11:12:49 | 显示全部楼层
articleMove.f1stTime=:currentDateTime() ";或是ksql1=ksql1+" articleMove.f1stAdvice ='"+sContent+"'" ;
你是说这样吗?这两种我都试了,提报一样的错误。
能把正确的贴出来吗?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2017-5-10 13:35:02 | 显示全部楼层
把具体的错误信息发一下
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

21

主题

122

帖子

442

积分

中级会员

Rank: 3Rank: 3

积分
442
QQ
 楼主| 发表于 2017-5-10 13:37:32 | 显示全部楼层
本帖最后由 一诺佳人 于 2017-5-10 13:39 编辑

网页上提示
编码: JUSTEP150210; 提示: 执行KSQL出错, KSQL: UPDATE articleMove articleMove SET articleMove.f1stName= 'system', articleMove.f1sID='PSN01', articleMove.f1stTime=:currentDateTime() articleMove.f1stAdvice ='萨达' where articleMove='3AB07020D64B43A29FD89F3BCAD10B63'
隐藏详细
java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor127.invoke(Unknown Source)
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: 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.invokeAction(Native Method)
at com.justep.system.action.Engine.invokeAction(Unknown Source)
at com.justep.model.impl.UtilImplementInstance.invokeAction(Unknown Source)
at com.justep.model.impl.UtilImplementInstance.invokeAction(Unknown Source)
at com.justep.system.action.ActionUtils.invokeAction(Unknown Source)
at com.justep.system.process.ProcessUtils.advanceProcess(Unknown Source)
at ExternalProcessProcedure.advanceProcess(ExternalProcessProcedure.java:30)
... 26 more
Caused by: java.lang.RuntimeException: 编码: JUSTEP150210; 提示: 执行KSQL出错, KSQL: UPDATE articleMove articleMove SET articleMove.f1stName= 'system', articleMove.f1sID='PSN01', articleMove.f1stTime=:currentDateTime() articleMove.f1stAdvice ='萨达' where articleMove='3AB07020D64B43A29FD89F3BCAD10B63'
at OutboundProcess.outboundAfterAdvance(OutboundProcess.java:75)
... 37 more
TOMCAT上提示
编码: JUSTEP150210; 提示: 执行KSQL出错, KSQL: UPDATE articleMove articleMove SET articleMove.f1stName= 'system', articleMove.f1sID='PSN01', articleMove.f1stTime=:currentDateTime() articleMove.f1stAdvice ='萨达' where articleMove='3AB07020D64B43A29FD89F3BCAD10B63'
        at OutboundProcess.outboundAfterAdvance(OutboundProcess.java:75)

回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2017-5-10 14:23:17 | 显示全部楼层
把空格改为,你前面都知道用,自己仔细看看ksql就能看出问题
ksql.png
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

21

主题

122

帖子

442

积分

中级会员

Rank: 3Rank: 3

积分
442
QQ
 楼主| 发表于 2017-5-10 16:00:36 | 显示全部楼层
搞定了。不是空格的原因,而是有个字段名拼写错误导致的,结贴吧,感谢耐心指导!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 13:53 , Processed in 0.067256 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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