Index: ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManagerImpl.java =================================================================== diff -u -r23826 -r24089 --- ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManagerImpl.java (.../WashAndDisinfectRecordManagerImpl.java) (revision 23826) +++ ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManagerImpl.java (.../WashAndDisinfectRecordManagerImpl.java) (revision 24089) @@ -1445,10 +1445,14 @@ + " where wd.deviceInterfaceID = '" + devInterfaceId + "' and wd.machineNo = '" + machineNo + "' and wd.cycleCounter = " + cycleCounter; - String washDataOfChangLongTableString = "select count(*) c from WashDataOfChangLong wdcl" - + " where wdcl.deviceInterfaceID = '" + devInterfaceId - + "' and wdcl.machineNo = '" + machineNo - + "' and wdcl.cycleCounter = " + cycleCounter; + String washDataOfChangLongTableString = ""; + //如果设备接口id为整数时(方法的第一行已经进行了判断,此处不用再次判空),才会统计 + if(StringUtils.isNumeric(devInterfaceId)){ + washDataOfChangLongTableString = "select count(*) c from "+ WashDataOfChangLong.class.getSimpleName() +" wdcl" + + " where wdcl.deviceInterfaceID = " + devInterfaceId + + " and wdcl.machineNo = '" + machineNo + + "' and wdcl.cycleCounter = " + cycleCounter; + } String queryString = String.format("select sum(c) from ( %s union %s ) tempTable", washDataTableString,washDataOfChangLongTableString); // Query query = session.createQuery(queryString);