找回密码
 注册成为天翎用户
查看: 2409|回复: 13

[已解决] Wrapped java.lang.NullPointerException (baselib#2523)

[复制链接]
wenchj 发表于 2022-2-23 11:04:02 | 显示全部楼层 |阅读模式
【myApps/OBPM版本号】:v4.4- sp XX
【浏览器类型】:Chrome/其他
【联系方式-QQ】:请留下您的QQ号码
【联系电话】:    请留下您的联系电话,以便技术同事更好解决您的问题
【问题描述】:Wrapped java.lang.NullPointerException (baselib#2523)
(function(){
var ph = getItemValueAsString("批号");
var dj = getItemValueAsString("等级");
println("update批号"+ph+"等级"+dj);
if(dj == "一等"){
var sql="update tlk_一检入库 set item_一等执行 = '2' where item_批号 = '"+ph+"'";
   println("一等sql"+sql);
var s1 = updateByDSName("gracemj",sql);
}
if(dj == "二等"){
var sql="update tlk_一检入库 set item_二等执行 = '2' where item_批号 = '"+ph+"'";
var s2 = updateByDSName("gracemj",sql);
}
})()

以上为公式内容
以下为报错信息


JsUtil:uodate批号20173760000000097等级二等
org.mozilla.javascript.WrappedException: Wrapped java.lang.NullPointerException (baselib#2523)
at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1757)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:170)
at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:243)
at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:86)
at org.mozilla.javascript.gen.c65645._c130(baselib:2523)
at org.mozilla.javascript.gen.c65645.call(baselib)
at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:97)
at org.mozilla.javascript.gen.c65646._c1(FormName:库存管理/整理二仓库/整理二辅料库_计划出库 Activity(__zqGkI3Ll0K8e0mjUymJ).保存并新增.afterActionScript:12)
at org.mozilla.javascript.gen.c65646.call(FormName:库存管理/整理二仓库/整理二辅料库_计划出库 Activity(__zqGkI3Ll0K8e0mjUymJ).保存并新增.afterActionScript)
at org.mozilla.javascript.optimizer.OptRuntime.call0(OptRuntime.java:57)
at org.mozilla.javascript.gen.c65646._c0(FormName:库存管理/整理二仓库/整理二辅料库_计划出库 Activity(__zqGkI3Ll0K8e0mjUymJ).保存并新增.afterActionScript:1)
at org.mozilla.javascript.gen.c65646.call(FormName:库存管理/整理二仓库/整理二辅料库_计划出库 Activity(__zqGkI3Ll0K8e0mjUymJ).保存并新增.afterActionScript)
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:393)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2834)
at org.mozilla.javascript.gen.c65646.call(FormName:库存管理/整理二仓库/整理二辅料库_计划出库 Activity(__zqGkI3Ll0K8e0mjUymJ).保存并新增.afterActionScript)
at org.mozilla.javascript.gen.c65646.exec(FormName:库存管理/整理二仓库/整理二辅料库_计划出库 Activity(__zqGkI3Ll0K8e0mjUymJ).保存并新增.afterActionScript)
at cn.myapps.runtime.macro.runner.JavaScriptRunner.run(JavaScriptRunner.java:169)
at cn.myapps.common.model.activity.Activity.runAfterActionScript(Activity.java:1649)
at cn.myapps.runtime.activity.service.ActivityRunTimeServiceImpl.runafteractionscript(ActivityRunTimeServiceImpl.java:259)
at cn.myapps.runtime.activity.controller.ActivityController.runAfterActionScript(ActivityController.java:241)
at cn.myapps.runtime.activity.controller.ActivityController$$FastClassBySpringCGLIB$$beafbc81.invoke()
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:746)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)
at cn.myapps.runtime.activity.controller.ActivityController$$EnhancerBySpringCGLIB$$a2cd9cba.runAfterActionScript()
at sun.reflect.GeneratedMethodAccessor946.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:209)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:891)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:991)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:974)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:877)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:851)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at cn.myapps.runtime.common.filter.MultiLanguageFilter.doFilter(MultiLanguageFilter.java:57)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at cn.myapps.base.web.filter.SecurityFilter.doFilter(SecurityFilter.java:337)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at cn.myapps.base.web.filter.PersistenceFilter.doFilter(PersistenceFilter.java:34)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:130)
at org.springframework.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)
at org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:105)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:528)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798)
at org.apache.coyote.AbstractProcessorLight.process(Abst


根据println内容可知已经正确获取到值,值不为空。发生报错为空指针





1、问题描述最好图文并茂,如有视频/脚本可直接放出,这样技术同事在处理该问题时效率更加高效哦~
2、如果该问题已得到解决,请在该帖子下回复\"已解决可结帖\"
 楼主| wenchj 发表于 2022-3-1 15:28:40 | 显示全部楼层
dlq 发表于 2022-2-28 21:59
SQL 语句里 加上 domainid,id,formid  试试

你好,我在C:\Program Files\MyApps\bin\obpm-demo\workspace\gracemj.application路径下
对比了两个文件,gracemj.datasource和毛巾公司.datasource
发现在同样设置下有以下不同,是不是这个地方出现的问题

毛巾公司.datasource这是以前使用的数据源,gracemj.datasource是现在使用的数据源

补充内容 (2022-3-2 16:16):
经过测试,确实是由于.datasource这个文件缺失导致出现的问题。在经过连续测试60个数据无发现异常错误。本贴请结帖。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册成为天翎用户

×
回复

使用道具 举报

tiga 发表于 2022-2-23 17:17:58 | 显示全部楼层
你好,判断字符相等的话,用字符串.equals()试一下
回复

使用道具 举报

 楼主| wenchj 发表于 2022-2-24 13:28:26 | 显示全部楼层
tiga 发表于 2022-2-23 17:17
你好,判断字符相等的话,用字符串.equals()试一下

(function(){
var ph = getItemValueAsString("批号");
var dj = getItemValueAsString("等级");
println("update批号"+ph+"等级"+dj);
if(dj.equals("一等")  ){
var sql="update tlk_一检入库 set item_一等执行 = '2' where item_批号 = '"+ph+"'";
   println("一等sql"+sql);
var s1 = updateByDSName("gracemj",sql);
}
if(dj.equals("二等")  ){
var sql="update tlk_一检入库 set item_二等执行 = '2' where item_批号 = '"+ph+"'";
var s2 = updateByDSName("gracemj",sql);
}
})()

你好,更改如上,使用equals()判断还是出现上述问题
回复

使用道具 举报

tiga 发表于 2022-2-25 10:45:31 | 显示全部楼层
wenchj 发表于 2022-2-24 13:28
(function(){
var ph = getItemValueAsString("批号");
var dj = getItemValueAsString("等级");

你好,请检查一下var sql="update tlk_一检入库 set item_一等执行 = '2' where item_批号 = '"+ph+"'";这里的单双引号是否正确
回复

使用道具 举报

 楼主| wenchj 发表于 2022-2-25 15:07:28 | 显示全部楼层
tiga 发表于 2022-2-25 10:45
你好,请检查一下var sql="update tlk_一检入库 set item_一等执行 = '2' where item_批号 = '"+ph+"'"; ...

你好,这个语句没有问题,放到mysql里也是可以正常执行的。但是一旦报错这个信息后,画面会显示一个√再显示一个X,X的报错就是我发的内容
回复

使用道具 举报

tiga 发表于 2022-2-28 18:27:43 | 显示全部楼层
wenchj 发表于 2022-2-25 15:07
你好,这个语句没有问题,放到mysql里也是可以正常执行的。但是一旦报错这个信息后,画面会显示一个√再 ...

你好,var s2 = updateByDSName("gracemj",sql);请检查一下数据源名称是否正确
回复

使用道具 举报

 楼主| wenchj 发表于 2022-2-28 18:51:18 | 显示全部楼层
tiga 发表于 2022-2-28 18:27
你好,var s2 = updateByDSName("gracemj",sql);请检查一下数据源名称是否正确

你好,之前更换过数据源,更换后的数据源名称为gracemj

更换之后update和inset就经常报这个故障。所写的东西没有问题

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册成为天翎用户

×
回复

使用道具 举报

dlq 发表于 2022-2-28 21:59:41 | 显示全部楼层
wenchj 发表于 2022-2-25 15:07
你好,这个语句没有问题,放到mysql里也是可以正常执行的。但是一旦报错这个信息后,画面会显示一个√再 ...

SQL 语句里 加上 domainid,id,formid  试试
回复

使用道具 举报

 楼主| wenchj 发表于 2022-3-1 09:44:48 | 显示全部楼层
dlq 发表于 2022-2-28 21:59
SQL 语句里 加上 domainid,id,formid  试试

我这用的是update出了问题,querybysql是没有问题的
在update中添加domainid,id,formid用where对比?两个标id和formid都是不一样的怎么用啊
回复

使用道具 举报

本版积分规则

手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-14 09:54

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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