Index: ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManagerImpl.java =================================================================== diff -u -r34075 -r34092 --- ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManagerImpl.java (.../WashAndDisinfectRecordManagerImpl.java) (revision 34075) +++ ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManagerImpl.java (.../WashAndDisinfectRecordManagerImpl.java) (revision 34092) @@ -80,6 +80,8 @@ import com.forgon.disinfectsystem.entity.becleanitem.ClassifyBasket; import com.forgon.disinfectsystem.entity.idcarddefinition.IDCardDefinition; import com.forgon.disinfectsystem.entity.idcardinstance.IDCardInstance; +import com.forgon.disinfectsystem.entity.packing.PackingRecord; +import com.forgon.disinfectsystem.entity.packing.PackingRecord_ClassifyBasket; import com.forgon.disinfectsystem.entity.packing.PackingTask; import com.forgon.disinfectsystem.entity.qualitymonitoringmanager.qualitymonitoring.QualityMonitoringInstance; import com.forgon.disinfectsystem.entity.recyclingrecord.RecyclingRecord; @@ -1878,18 +1880,15 @@ if (washEndtime.length() == 16){ washEndtime += ":00"; } - String timeEqualSql = " and substring(ti.washStartTime,1,19) = convert(varchar(19),wr.startDate,120) " - + " and substring(ti.washEndTime,1,19) = convert(varchar(19),wr.endDate,120) "; - if(dbConnection.isOracle()){ - timeEqualSql = " and substr(ti.washStartTime,1,19) = to_char(wr.startDate,'yyyy-mm-dd HH24:MI:SS') " - + " and substr(ti.washEndTime,1,19) = to_char(wr.endDate,'yyyy-mm-dd HH24:MI:SS')" ; - } - String sql = " select count(*) from washanddisinfectRecord wr,tousseInstance ti,packingRecord pr where pr.id = ti.packingRecord_id " - + " and ti.disinfectIdentification = wr.disinfectIdentification " - + " and ti.disinfectProgram = wr.disinfectProgram " - + timeEqualSql - + " and wr.id = " + id.toString() - + " and pr.packTime < " + dateQueryAdapter.stringFieldToDate("'" + washEndtime+ "'"); + String sql = String.format("select count(*) from %s wdr " + + " join ClassifyBasket_WashRecord cbw on cbw.WashAndDisinfectRecord_ID = wdr.id " + + " join %s prcb on prcb.classifyBasketId = cbw.ClassifyBasket_ID " + + " join %s pr on pr.id = prcb.packingRecordId " + + " and wdr.id = " + id.toString() + + " and pr.packTime < " + dateQueryAdapter.stringFieldToDate("'" + washEndtime+ "'"), + WashAndDisinfectRecord.class.getSimpleName(), + PackingRecord_ClassifyBasket.class.getSimpleName(), + PackingRecord.class.getSimpleName()); int amount = 0; ResultSet result = objectDao.executeSql(sql); try {