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

视图查询报错

[复制链接]
中信银行 发表于 2016-3-17 16:44:32 | 显示全部楼层 |阅读模式
本帖最后由 myApps 于 2016-3-18 13:49 编辑

视图使用连表查询sql,请见截图。
后台打印出该sql在sqlserver中可以查到对应的结果,但是在点击视图查询时,前台报错null,后台报错
java.lang.NullPointerException
        at cn.myapps.core.dynaform.view.html.ViewHtmlBean.toHTMLText(ViewHtmlBean.java:994)
        at org.apache.jsp.portal.dwz.dynaform.view.listView_jsp._jspService(listView_jsp.java:1433)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
        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.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:96)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
        at org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:164)
        at cn.myapps.base.web.ServletResult.OBPMServletDispatcherResult.doExecute(OBPMServletDispatcherResult.java:34)
        at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186)
        at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:371)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:275)
        at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
        at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:167)
        at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
        at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)
        at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
        at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
        at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
        at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:239)
        at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
        at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:239)
        at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
        at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
        at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:73)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
        at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:91)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
        at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:252)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
        at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
        at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
        at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
     

附sql代码:
var sql="";
var month=getItemValueAsString("考勤月");
var type=getItemValueAsString("请假种类");
var dep=getItemValueAsString("部门");

sql="SELECT ";
sql=sql+" b.DOMAINID as DOMAINID,a.[item_考勤月度] as item_考勤月度,b.[ITEM_请假人] as item_姓名,        b.[ITEM_员工编号] as ITEM_员工编号,        b.[ITEM_职务] as item_职务,        b.[ITEM_用工形式] as item_用工形式,        b.[ITEM_所属部门] as item_所属部门,        b.[ITEM_请假种类] as item_请假种类,         b.statelabel as item_假单状态,";
sql=sql+"  b.[ITEM_开始时间] as item_请假开始时间,b.[ITEM_结束时间] as item_请假结束时间,b.[ITEM_申请单号] as item_假单编号,";
sql=sql+" sum (CASE WHEN (        a.[item_是否工作日] = 'true') THEN        1 ELSE        0  END) AS item_扣除工资天数,COUNT (a.[ITEM_请假单号])  AS  item_实际天数 ";
sql=sql+" FROM weiguanjia.dbo.tlk_请假明细 a,weiguanjia.dbo.[TLK_请假表单] b ";
sql=sql+" WHERE         a.ITEM_请假单号 = b.ITEM_申请单号  AND b.statelabel != '终止' ";
if (month!=null && month.trim().length() > 0){
   sql = sql+"  and a.ITEM_考勤月度='"+month+"'";
}
if (type!=null && type.trim().length() > 0){
   sql = sql+"  and b.ITEM_请假种类='"+type+"'";
}
if (dep!=null && dep.trim().length() > 0){
   sql = sql+"  and b.ITEM_所属部门='"+dep+"'";
}
sql=sql+" GROUP BY        b.[ITEM_请假人],b.[ITEM_员工编号],b.[ITEM_职务],b.[ITEM_用工形式],b.[ITEM_所属部门],b.[ITEM_请假种类],b.statelabel,b.[ITEM_开始时间],b.[ITEM_结束时间],b.[ITEM_申请单号],a.[item_考勤月度],b.DOMAINID";
sql=sql+" order by b.[ITEM_所属部门],b.[ITEM_请假人],b.[ITEM_请假种类],b.[ITEM_开始时间]";
println("=====sql:"+sql);
sql;

本帖子中包含更多资源

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

×
myApps 发表于 2016-3-18 13:45:42 | 显示全部楼层
建议你检查一下你的数据库是否与我们的系统配置正确,或者再到“列“ 那里逐条删除排查试试看
回复

使用道具 举报

myApps 发表于 2016-3-18 15:58:40 | 显示全部楼层
经过我和客户的沟通,发现是“order by"语句的错误,如果删除“order by”就可以运行了。
回复

使用道具 举报

本版积分规则

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

GMT+8, 2026-8-14 07:13

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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