|
版本: |
X5.2.4 |
小版本号: |
2249 |
|
|
数据库: |
Oracle |
服务器操作系统: |
Windows |
应用服务器: |
Tomcat |
客户端操作系统: |
Windows 7 |
浏览器: |
Chrome |
|
|
报表用的是ACTION进行数据查询,SQL语句在PLSQL中运行正常,报错语句:
Caused by: com.justep.report.exception.ReportServerException: 执行sqlQueryAction时报错!SELECT KHMC,WLMC,HTBH,GLHTH,KZSL,WBDJ,KZYH,KZRQ,DQRQ,XYZLX,LCID,WBJE,YWLX,HTQDRQ,ZGSDS,CM,XHG,BXGS,BXF,JKZZS,SJF,DLF,GJF,BGF,XCF,SFWBJE,WKF,CIQSL FROM (SELECT DISTINCT A.KHMC,A.WLMC,A.HTBH,A.GLHTH,A.KZSL,A.WBDJ,A.KZYH,A.KZRQ,A.DQRQ,A.XYZLX,A.LCID,A.WBJE,A.YWLX,(SELECT QDRQ FROM JKHTB F WHERE F.HTNO=A.HTNO) AS HTQDRQ,(SELECT SUM(ZGSDS) FROM SFHKB D WHERE D.HTNO=A.HTNO AND A.YWLX=D.YWLX) AS ZGSDS,(SELECT CM FROM FYPJB B WHERE B.HTNO=A.HTNO AND B.DJMC='商检费') AS CM,(SELECT XHG FROM FYPJB B WHERE B.HTNO=A.HTNO AND B.DJMC='商检费') AS XHG,(SELECT KHMC FROM FYPJB B WHERE B.HTNO=A.HTNO AND B.DJMC='保险费') AS BXGS,(SELECT JE FROM FYPJB B WHERE B.HTNO=A.HTNO AND B.DJMC='保险费') AS BXF,(SELECT JE FROM FYPJB B WHERE B.HTNO=A.HTNO AND B.DJMC='进口增值税') AS JKZZS,(SELECT JE FROM FYPJB B WHERE B.HTNO=A.HTNO AND B.DJMC='商检费') AS SJF,(SELECT JE FROM FYPJB B WHERE B.HTNO=A.HTNO AND B.DJMC='代理费') AS DLF, (SELECT JE FROM FYPJB B WHERE B.HTNO=A.HTNO AND B.DJMC='港建费') AS GJF, (SELECT JE FROM FYPJB B WHERE B.HTNO=A.HTNO AND B.DJMC='港口作业包干费') AS BGF, (SELECT JE FROM FYPJB B WHERE B.HTNO=A.HTNO AND B.DJMC='小船费') AS XCF, (SELECT SUM(WBJE) FROM SFHKB D WHERE D.HTNO=A.HTNO AND A.YWLX=D.YWLX ) AS SFWBJE,(SELECT WBTZJE FROM WKB C WHERE A.HTNO=C.HTNO AND A.YWLX=C.YWLX) AS WKF, (SELECT CIQSL FROM GKRKB E WHERE A.HTNO=E.HTNO AND YWLX='进口') AS CIQSL,A.DJR FROM XYZXXB A,SFHKB D,FYPJB B,WKB C,GKRKB E WHERE B.HTNO=D.HTNO AND C.YWLX=D.YWLX) where 1=1 and TRUNC(HTQDRQ) between to_date('null','YYYY-MM-DD') and to_date('null','YYYY-MM-DD')
at com.justep.report.controller.DataController.a(Unknown Source)
at com.justep.report.controller.DataController.a(Unknown Source)
... 20 more
按照论坛上的方法都试了,不加
if(!"".equals(KSSJ)&&!"".equals(JSSJ))
{
oracle += " and TRUNC(HTQDRQ) between to_date('"+KSSJ+"','YYYY-MM-DD') and to_date('"+JSSJ+"','YYYY-MM-DD')";
}
的时候正常。
JS里获取时间语句如下:
var data1 = justep.xbl('data1');
//reportData
var reportDate = justep.xbl('ds1');
//得到开始时间
if(data1.getValue('KSSJ').trim() != ''){
var d1 = data1.getValue('KSSJ');
d1 = d1.substr(0, 22);
d1 = d1.replace("T", " ");
reportDate.setStringVar('KSSJ', d1);
}
//得到结束时间
if(data1.getValue('JSSJ').trim() != ''){
var d2 = data1.getValue('JSSJ');
d2 = d2.substr(0, 22);
d2 = d2.replace("T", " ");
reportDate.setStringVar('JSSJ', d2);
}
//刷新报表
justep.xbl('report1').refresh();
求解决,求远程。 |
|