2012-12-06 52 views
1

我創建了一個碧玉報告,其參數爲datetrfromdatetrto。 過濾順利除了當兩個參數攜帶諸如在兩個相同日期但不同時間之間過濾 - jasper

datetrfrom>= '15-12-2012'

datetrto<= '15-12-2012'

,由在15-12-2012處理不會出來的數據相同的數據。

我在JSP試過這樣:

function ShowReport(){ 
var param='';    

var timestart = ' 00:00:00' 
var timeend = ' 23:59:59' 

var datetrFrom = document.forms['report']['datetransfrom'].value; 
datetrFrom.split("-") 

    //i split n join back the date to change the format from dd-MM-yyyy to yyyy-MM-dd 
    var dtf = [datetrFrom[6],datetrFrom[7],datetrFrom[8],datetrFrom[9],datetrFrom[5],datetrFrom[3],datetrFrom[4],datetrFrom[2],datetrFrom[0],datetrFrom[1] ].join('') 
datetrfr = dtf + timestart; //i join the date with the timestart to create format yyyy-MM-dd hh:mm:ss 

    var datetrTo = document.forms['report']['datetransto'].value; 
datetrTo.split("-") 

    var dtt = [datetrTo[6],datetrTo[7],datetrTo[8],datetrTo[9],datetrTo[5],datetrTo[3],datetrTo[4],datetrTo[2],datetrTo[0],datetrTo[1] ].join('') 

    datetrto = dtt + timeend; //i join the date with the timeend to create format yyyy-MM-dd hh:mm:ss 
    param = param + '@@dtTFrom=='+datetrfr+'@@dtTTo=='+datetrto; 

@@dtTFrom@@dtTTo是我在碧玉報告中使用的參數。

這是我在where子句中做我的碧玉報告:

where record_line_status='NO' 
and datetime_process >= convert(date, $P{dtTFrom},105) 
and datetime_process <= convert(date, $P{dtTTo},105) 

但我的報告仍然無法正常工作。誰能幫我?

回答

0

我在這裏解決了我的問題。 這是我在我的JSP新的編碼:

function ShowReport(){ 
      var param='';    

         var timestart = ' 00:00:00' 

         var timeend = ' 23:59:59' 

         var orgFrom = document.forms['report']['org_id'].value; 
         param = param + 'orgFrom=='+orgFrom;  

         var datetrFrom = document.forms['report']['datetransfrom'].value; 
         var datefromsplit = datetrFrom.split('-'); 
         var datefromjoin = [datefromsplit[2], datefromsplit[1], datefromsplit[0]].join('-'); 
         var datefromsend = datefromjoin + timestart; 

         var datetrTo = document.forms['report']['datetransto'].value; 
         var datetosplit = datetrTo.split('-'); 
         var datetojoin = [datetosplit[2], datetosplit[1], datetosplit[0]].join('-'); 
         var datetosend = datetojoin + timeend; 


         param = param + '@@dtTFrom=='+datefromsend+'@@dtTTo=='+datetosend; 

,這是我在where子句中做我的碧玉報告:

where ep_lpp04_temp.record_line_status='No' 
and EP_LPP04_TEMP.datetime_process >= convert(datetime, $P{dtTFrom}, 120) 
AND EP_LPP04_TEMP.datetime_process <= convert(datetime, $P{dtTTo}, 120) 

順便說一下我的參數類是

java.lang.string 

相關問題