Dear Gurus,
I just had another test and I think I'd found the solution to the bug.
The issue is the type conversion in the file FindInventoryEventPlan.groovy.
The original code below
// set the page parameters
viewIndex = Integer.valueOf(parameters.VIEW_INDEX ?: 0)
viewSize = parameters.VIEW_SIZE ?:
EntityUtilProperties.getPropertyAsInteger("widget",
"widget.form.defaultViewSize", 20)
listSize = 0
if (inventoryList)
listSize = inventoryList.size()
lowIndex = viewIndex * viewSize
highIndex = (viewIndex + 1) * viewSize
Shall be changed to
// set the page parameters
viewIndex = Integer.valueOf(parameters.VIEW_INDEX ?: 0)
viewSize = Integer.valueOf(parameters.VIEW_SIZE ?:
EntityUtilProperties.getPropertyAsInteger("widget",
"widget.form.defaultViewSize", 20))
listSize = 0
if (inventoryList)
listSize = inventoryList.size()
lowIndex = viewIndex * viewSize
highIndex = (viewIndex + 1) * viewSize
Then the issue would be solved.
After testing it, it works like charms.
I think it shall be updated in next release.
HIH.
B.R.
Schumann
-----邮件原件-----
发件人: Schumann Ye <[email protected]>
发送时间: 2018年5月3日 22:31
收件人: [email protected]
主题: 答复: Manufacturing Component - MRP FindInventoryEventPlan Error
Dear Gurus,
Here below are the full text of the error description.
It looks like that there is a type error existing for
java.lang.Integer.multiply() function when the returning results are more than
20 (default value defined in widget.properties).
2018-05-03 22:23:57,096 |http-nio-443-exec-4 |ScriptUtil
|W| Error running script at location
[component://manufacturing/groovyScripts/mrp/FindInventoryEventPlan.groovy]: gro
ng.MissingMethodException: No signature of method: java.lang.Integer.multiply()
is applicable for argument types: (java.lang.String) values: [20] Possible
solutions: multiply(java.lang.Number), multiply(java.lang.Character)
groovy.lang.MissingMethodException: No signature of method:
java.lang.Integer.multiply() is applicable for argument types:
(java.lang.String) values: [20] Possible solutions: multiply(java.lang.Number),
multiply(java.lang.Character)
at
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:58)
~[groovy-all-2.4.5.jar:2.4.5]
at
org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:49)
~[groovy-all-2.4.5.jar:2.4.5]
at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
~[groovy-all-2.4.5.jar:2.4.5]
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
~[groovy-all-2.4.5.jar:2.4.5]
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
~[groovy-all-2.4.5.jar:2.4.5]
at FindInventoryEventPlan.run(FindInventoryEventPlan.groovy:77) ~[?:?]
at
org.apache.ofbiz.base.util.GroovyUtil.runScriptAtLocation(GroovyUtil.java:204)
~[ofbiz.jar:?]
at
org.apache.ofbiz.base.util.ScriptUtil.executeScript(ScriptUtil.java:342)
[ofbiz.jar:?]
at
org.apache.ofbiz.base.util.ScriptUtil.executeScript(ScriptUtil.java:324)
[ofbiz.jar:?]
at
org.apache.ofbiz.widget.model.AbstractModelAction$Script.runAction(AbstractModelAction.java:633)
[ofbiz.jar:?]
at
org.apache.ofbiz.widget.model.AbstractModelAction.runSubActions(AbstractModelAction.java:142)
[ofbiz.jar:?]
at
org.apache.ofbiz.widget.model.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:273)
[ofbiz.jar:?]
at
org.apache.ofbiz.widget.model.ModelScreen.renderScreenString(ModelScreen.java:164)
[ofbiz.jar:?]
at
org.apache.ofbiz.widget.renderer.ScreenRenderer.render(ScreenRenderer.java:136)
[ofbiz.jar:?]
at
org.apache.ofbiz.widget.renderer.ScreenRenderer.render(ScreenRenderer.java:98)
[ofbiz.jar:?]
at
org.apache.ofbiz.widget.renderer.macro.MacroScreenViewHandler.render(MacroScreenViewHandler.java:157)
[ofbiz.jar:?]
at
org.apache.ofbiz.webapp.control.RequestHandler.renderView(RequestHandler.java:984)
[ofbiz.jar:?]
at
org.apache.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:648)
[ofbiz.jar:?]
at
org.apache.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:210)
[ofbiz.jar:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
[javax.servlet-api-3.1.0.jar:3.1.0]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
[javax.servlet-api-3.1.0.jar:3.1.0]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
[tomcat-catalina-8.0.42.jar:8.0.42]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
[tomcat-catalina-8.0.42.jar:8.0.42]
at
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
[tomcat-embed-websocket-8.0.39.jar:8.0.39]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
[tomcat-catalina-8.0.42.jar:8.0.42]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
[tomcat-catalina-8.0.42.jar:8.0.42]
at
org.apache.ofbiz.webapp.control.ContextFilter.doFilter(ContextFilter.java:196)
[ofbiz.jar:?]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
[tomcat-catalina-8.0.42.jar:8.0.42]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
[tomcat-catalina-8.0.42.jar:8.0.42]
at
org.apache.ofbiz.webapp.control.ControlFilter.doFilter(ControlFilter.java:156)
[ofbiz.jar:?]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
[tomcat-catalina-8.0.42.jar:8.0.42]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
[tomcat-catalina-8.0.42.jar:8.0.42]
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
[tomcat-catalina-8.0.42.jar:8.0.42]
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)
[tomcat-catalina-8.0.42.jar:8.0.42]
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
[tomcat-catalina-8.0.42.jar:8.0.42]
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
[tomcat-catalina-8.0.42.jar:8.0.42]
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
[tomcat-catalina-8.0.42.jar:8.0.42]
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
[tomcat-catalina-8.0.42.jar:8.0.42]
at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
[tomcat-catalina-8.0.42.jar:8.0.42]
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502)
[tomcat-catalina-8.0.42.jar:8.0.42]
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1104)
[tomcat-coyote-8.0.42.jar:8.0.42]
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
[tomcat-coyote-8.0.42.jar:8.0.42]
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1519)
[tomcat-coyote-8.0.42.jar:8.0.42]
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1475)
[tomcat-coyote-8.0.42.jar:8.0.42]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[?:1.8.0_131]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[?:1.8.0_131]
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
[tomcat-util-8.0.42.jar:8.0.42]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]
B.R.
Schumann
-----邮件原件-----
发件人: Schumann Ye <[email protected]>
发送时间: 2018年5月3日 21:38
收件人: [email protected]
主题: Manufacturing Component - MRP FindInventoryEventPlan Error
Dear Guru,
I had encountered another issue in Manufacturing component, for which I had
created a JIRA note OFBIZ-10392.
Brief info as follows:
After MRP run, in the screen of "Find Inventory Event Planned", the proper
results show up after clicking the "Find" button with a certain "From Date" and
leaving the "Product ID" empty.
Because there are more than 20 records (which exceeds the default viewSize 20,
as defined in the widget.properties), so there are more than 1 page.
When I hit "Next", it shows me the following error:
Because I am new to groovy, can anyone pls help me out?
Thanks
:ERROR MESSAGE:
org.apache.ofbiz.widget.renderer.ScreenRenderException: Error rendering screen
component://manufacturing/widget/manufacturing/MrpScreens.xml#FindMrpPlannedEvents<https://issues.apache.org/jira/browse/OFBIZ-10392?filter=-2>:
java.lang.IllegalArgumentException: Error running script at location
[component://manufacturing/groovyScripts/mrp/FindInventoryEventPlan.groovy]:
groovy.lang.MissingMethodException: No signature of method:
java.lang.Integer.multiply() is applicable for argument types:
(java.lang.String) values: [20] Possible solutions: multiply(java.lang.Number),
multiply(java.lang.Character) (Error running script at location
[component://manufacturing/groovyScripts/mrp/FindInventoryEventPlan.groovy]:
groovy.lang.MissingMethodException: No signature of method:
java.lang.Integer.multiply() is applicable for argument types:
(java.lang.String) values: [20] Possible solutions: multiply(java.lang.Number),
multiply(java.lang.Character))
Thanks
Best Regards
Schumann