Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r33242 -r33243 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 33242) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 33243) @@ -13243,33 +13243,34 @@ groupByPackageSizeSql = ",td.parentID,cb.basketSize "; joinSqlForPackageSize = " left join ClassifyBasket cb on cb.id=tit.classifyBasket_id "; } - String startTime = ""; - String endTime = ""; String customTimePeriodSql = ""; if(DatabaseUtil.isPoIdValid(customTimePeriodId)){ CustomTimePeriod customTimePeriod = (CustomTimePeriod)objectDao.getById(CustomTimePeriod.class.getSimpleName(), customTimePeriodId); if("发货时间".equals(timeType)){ + String startTime = customTimePeriod.getStartTime(); + String endTime = customTimePeriod.getEndTime(); + String timeFieldQueryStatementSql = null; if(dbConnection.isSqlServer()){ String[] startTimeArr = startTime.split(":"); String startTimeHour = startTimeArr[0]; String startTimeMinute = startTimeArr[1]; String[] endTimeArr = endTime.split(":"); String endTimeHour = endTimeArr[0]; String endTimeMinute = endTimeArr[1]; - customTimePeriodSql = " and (tit.invoiceSendTime2 is not null and (datepart(hour,tit.invoiceSendTime2)="+ startTimeHour +" and datepart(MINUTE,tit.invoiceSendTime2)>="+ startTimeMinute + timeFieldQueryStatementSql = " and (tit.invoiceSendTime2 is not null and (datepart(hour,tit.invoiceSendTime2)="+ startTimeHour +" and datepart(MINUTE,tit.invoiceSendTime2)>="+ startTimeMinute + " or datepart(hour,tit.invoiceSendTime2)="+ endTimeHour +" and datepart(MINUTE,tit.invoiceSendTime2)<= " + endTimeMinute + " or datepart(hour,tit.invoiceSendTime2)>"+ startTimeHour +" and datepart(hour,tit.invoiceSendTime2)< " + endTimeHour + " ) or tit.invoiceSendTime2 is null and " + " (datepart(hour,tit.invoiceSendTime)="+ startTimeHour +" and datepart(MINUTE,tit.invoiceSendTime)>="+ startTimeMinute + " or datepart(hour,tit.invoiceSendTime)="+ endTimeHour +" and datepart(MINUTE,tit.invoiceSendTime)<= " + endTimeMinute + " or datepart(hour,tit.invoiceSendTime)>"+ startTimeHour +" and datepart(hour,tit.invoiceSendTime)< " + endTimeHour + ")) "; }else if(dbConnection.isOracle()){ - customTimePeriodSql = " and (tit.invoiceSendTime2 is not null and TO_CHAR(tit.invoiceSendTime2, 'hh24:mi:ss') BETWEEN '" + timeFieldQueryStatementSql = " and (tit.invoiceSendTime2 is not null and TO_CHAR(tit.invoiceSendTime2, 'hh24:mi:ss') BETWEEN '" + startTime +":00' AND '" + endTime +":00' or tit.invoiceSendTime2 is null and tit.invoiceSendTime BETWEEN '" + startTime +":00' AND '" + endTime + ":00')"; }else{ - customTimePeriodSql = ""; + timeFieldQueryStatementSql = ""; } }else{ customTimePeriodSql = getTimeFieldQueryStatement(dbConnection, customTimePeriod.getStartTime(), customTimePeriod.getEndTime(), timeFieldName);