本帖最后由 zcbys 于 2023-5-12 16:18 编辑
系统经常出现“Number” is not a constructor的报错提示,以下是报错日志的记录:
org.mozilla.javascript.EvaluatorException: "Number" is not a constructor. (Widget[局人事考勤]-11e7-af1d-99067923-ab80-f9d84f25217d#47)
at org.mozilla.javascript.DefaultErrorReporter.runtimeError(Unknown Source)
at org.mozilla.javascript.Context.reportRuntimeError(Unknown Source)
at org.mozilla.javascript.Context.reportRuntimeError(Unknown Source)
at org.mozilla.javascript.Context.reportRuntimeError1(Unknown Source)
at org.mozilla.javascript.ScriptRuntime.getExistingCtor(Unknown Source)
at org.mozilla.javascript.ScriptRuntime.newObject(Unknown Source)
at org.mozilla.javascript.ScriptRuntime.toObject(Unknown Source)
at org.mozilla.javascript.ScriptRuntime.toObjectOrNull(Unknown Source)
at org.mozilla.javascript.ScriptRuntime.getPropFunctionAndThis(Unknown Source)
at org.mozilla.javascript.gen.c49426._c0(Widget[局人事考勤]-11e7-af1d-99067923-ab80-f9d84f25217d:47)
at org.mozilla.javascript.gen.c49426.call(Widget[局人事考勤]-11e7-af1d-99067923-ab80-f9d84f25217d)
at org.mozilla.javascript.ContextFactory.doTopCall(Unknown Source)
at org.mozilla.javascript.ScriptRuntime.doTopCall(Unknown Source)
at org.mozilla.javascript.gen.c49426.call(Widget[局人事考勤]-11e7-af1d-99067923-ab80-f9d84f25217d)
at org.mozilla.javascript.gen.c49426.exec(Widget[局人事考勤]-11e7-af1d-99067923-ab80-f9d84f25217d)
at cn.myapps.core.macro.runner.JavaScriptRunner.run(JavaScriptRunner.java:135)
at cn.myapps.core.widget.action.PageWidgetRuntimeAction.doDisplayWidget(PageWidgetRuntimeAction.java:184)
at sun.reflect.GeneratedMethodAccessor14016.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:450)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:289)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:252)
at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:563)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at cn.myapps.base.web.filter.PersistenceFilter.doFilter(PersistenceFilter.java:34)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at cn.myapps.base.web.filter.SecurityFilter.doFilter(SecurityFilter.java:149)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.jasig.cas.client.util.AssertionThreadLocalFilter.doFilter(AssertionThreadLocalFilter.java:54)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.jasig.cas.client.util.HttpServletRequestWrapperFilter.doFilter(HttpServletRequestWrapperFilter.java:75)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:197)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at cn.myapps.core.sso.cas.filter.OBPMAuthenticationFilter.doFilter(OBPMAuthenticationFilter.java:87)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.jasig.cas.client.session.SingleSignOutFilter.doFilter(SingleSignOutFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at cn.myapps.base.web.filter.EncodingFilter.doFilter(EncodingFilter.java:28)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1695)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
这段报错代码如下:
- #include "Query";
- //var html = "<div>";
- var html = "<div class='qinjdiv'>";
- html += "<style type='text/css'>";
- html += "@media screen and (max-width: 768px){";
- html += ".qinjdiv {display:none;}";
- html += "}";
- html += "</style>";
- var nianjia = 0;
- var shijia = 0;
- var bingjia = 0;
- var yingong = 0;
- var tanqin = 0;
- var hunjia = 0;
- var sangjia = 0;
- var chanjia = 0;
- var huli = 0;
- var year = getYear(getToday());
- var _statime = year + "-01-01 00:00:00";
- var _endtime = year + "-12-31 23:59:59";
- var _on = "";
- var _off = "";
- var _user = getWebUser().getId();
- var _year = getYear(getToday());
- var _month = getMonth(getToday());
- var _day = getDay(getToday());
- var _star =_year + "-" + _month + "-" + _day + " 00:00:00";
- var _end =_year + "-" + _month + "-" + _day + " 23:59:59";
- var sqlshijia = "select item_l_total from tlk_leave where author = '"+_user+"' and item_category = '事假' and item_starttime between '"+_statime+"' and '"+_endtime+"' ";
- var datasshijia = Query('ece_oa',sqlshijia, getApplication());
- if(datasshijia.length>0){
- for(var j = 0 ; j < datasshijia.length ; j ++){
- shijia = Number(datasshijia[j].get("item_l_total"))+Number(shijia);
- }
- }
- var sqlshijia_co = "select item_l_total from tlk_leave_co where author = '"+_user+"' and item_category = '事假' and item_starttime between '"+_statime+"' and '"+_endtime+"' ";
- var datasshijia_co = Query('ececo_oa',sqlshijia_co, getApplication());
- if(datasshijia_co.length>0){
- for(var j = 0 ; j < datasshijia_co.length ; j ++){
- shijia = Number(datasshijia_co[j].get("item_l_total"))+Number(shijia);
- }
- }
- shijia=shijia.toFixed(2);
复制代码
其中具体报错的语句是47行:- shijia=shijia.toFixed(2);
复制代码
另外有一段代码也报同样的错误,具体代码如下:
- //两个日期之间的日期
- //startTime = "2012-3-25";
- function dayToDay (startTime,endTime){
- var days = [];
- var tempStart = startTime.split("-");
- var dateStart = new Date(tempStart[0],tempStart[1],tempStart[2]);
-
- var tempEnt = endTime.split("-");
- var dateEnt = new Date(tempEnt[0],tempEnt[1],tempEnt[2]);
-
- while((dateEnt.getTime()-dateStart.getTime())>=0){
- var year = dateStart.getFullYear();
- var month = dateStart.getMonth().toString().length==1?"0"+dateStart.getMonth().toString():dateStart.getMonth();
- var day = dateStart.getDate().toString().length==1?"0"+dateStart.getDate():dateStart.getDate();
- days.push(year+"-"+month+"-"+day);
- dateStart.setDate(dateStart.getDate()+1);
- }
- return days;
- }
复制代码
其中具体报错语句是13行:- var month = dateStart.getMonth().toString().length==1?"0"+dateStart.getMonth().toString():dateStart.getMonth();
复制代码
报错的页面刷新后又恢复正常~没有报错~能够正常执行出结果~但是多次刷新中偶尔又会有几次报错~请问怎么回事?
|