Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/util/UrgentNeedGoodsProcessingCycleHelper.java =================================================================== diff -u -r37240 -r37241 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/util/UrgentNeedGoodsProcessingCycleHelper.java (.../UrgentNeedGoodsProcessingCycleHelper.java) (revision 37240) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/util/UrgentNeedGoodsProcessingCycleHelper.java (.../UrgentNeedGoodsProcessingCycleHelper.java) (revision 37241) @@ -75,15 +75,14 @@ String tousseTypesSql = SqlUtils.getWhereSqlByfilterFieldAndStringValueAndSeparatorFilterAll("temp.tousseType", tousseTypes, ","); String datediffWashTime = null; if(dbConnection.isOracle()){ - datediffWashTime = "EXTRACT(DAY FROM (max(wrwashTime.endDate) - max(wrwashTime.startDate))) * 24 + EXTRACT(HOUR FROM (max(wrwashTime.endDate) - max(wrwashTime.startDate))) * 60 + EXTRACT(MINUTE FROM (max(wrwashTime.endDate) - max(wrwashTime.startDate)))"; + datediffWashTime = "EXTRACT(DAY FROM (wrwashTime.endDate - wrwashTime.startDate)) * 24 + EXTRACT(HOUR FROM (wrwashTime.endDate - wrwashTime.startDate)) * 60 + EXTRACT(MINUTE FROM (wrwashTime.endDate - wrwashTime.startDate))"; }else{ - datediffWashTime = "DATEDIFF(MINUTE,max(wrwashTime.startDate),max(wrwashTime.endDate))"; + datediffWashTime = "DATEDIFF(MINUTE,wrwashTime.startDate,wrwashTime.endDate)"; } - String washTimeFromRecyclingItemSql = ",(select case when max(wrwashTime.endDate) is null then 0 else "+ datediffWashTime +" end from ClassifiedItem ciwashTime " - + "join ClassifyBasket cbwashTime on cbwashTime.id=ciwashTime.classifybasket_id " - + "join ClassifyBasket_WashRecord cwwashTime on cwwashTime.ClassifyBasket_ID=cbwashTime.id " + String washTimeFromRecyclingItemSql = ",(select sum(case when wrwashTime.endDate is null then 0 else "+ datediffWashTime +" end) " + + "from ClassifyBasket_WashRecord cwwashTime " + "join WashAndDisinfectRecord wrwashTime on wrwashTime.id=cwwashTime.WashAndDisinfectRecord_ID " - + "where ciwashTime.recyclingRecordId=rr.id and ciwashTime.tousseDefinitionID=ri.tousseDefinitionId) washTime "; + + "where cwwashTime.ClassifyBasket_ID in(select ciwashTime.classifybasket_id from ClassifiedItem ciwashTime where ciwashTime.recyclingRecordId=rr.id and ciwashTime.tousseDefinitionID=ri.tousseDefinitionId)) washTime "; String sql = "select * from (select * from (" + //--1.使用记录转申请单后的预回收、回收、清洗交接、装配(全部装配+部分装配)