Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java =================================================================== diff -u -r30332 -r30372 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 30332) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 30372) @@ -1379,8 +1379,35 @@ } return count; } - @Override + public int getSterilerRecordsCount(String devInterfaceId, String machineNo, + Date startDate) { + if(!DatabaseUtil.isPoIdValid(devInterfaceId) || StringUtils.isBlank(machineNo) || startDate == null){ + return 0; + } + Session session = objectDao.getHibernateSession(); + String beginStartTimeStr = ForgonDateUtils.safelyFormatDate(new Date(startDate.getTime() - 10*60*1000),ForgonDateUtils.SIMPLEDATEFORMAT_YYYYMMDDHHMMSS,""); + String endStartTimeStr = ForgonDateUtils.safelyFormatDate(new Date(startDate.getTime() + 10*60*1000),ForgonDateUtils.SIMPLEDATEFORMAT_YYYYMMDDHHMMSS,""); + + String queryString = "select count(*) from SterilizerRecord s" + + " where s.deviceInterfaceID = :devInterfaceId" + + " and s.machineNo = :machineNo" + + " and " + dateQueryAdapter.dateAreaSql("s.procStartTime", beginStartTimeStr, endStartTimeStr, false); + + Query query = session.createQuery(queryString); + + query.setParameter("devInterfaceId", devInterfaceId); + query.setParameter("machineNo", machineNo); + + + int count = 0; + Long result = (Long)query.uniqueResult(); + if (result != null && StringUtils.isNumeric(result + "")){ + count = result.intValue(); + } + return count; + } + @Override public int getSterilerRecordsCount(String devInterfaceId, String machineNo, String startDate) { String date = ""; if (StringUtils.isNotBlank(startDate)) { Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManager.java =================================================================== diff -u -r30209 -r30372 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManager.java (.../SterilizationRecordManager.java) (revision 30209) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManager.java (.../SterilizationRecordManager.java) (revision 30372) @@ -531,4 +531,13 @@ * @throws IOException */ public void saveSterileRecordPic(String filename,byte[] picData, Long id); + /** + * 获取一些接口的灭菌参数条数 + * @param devInterfaceId + * @param machineNo + * @param startDate + * @return + */ + public int getSterilerRecordsCount(String devInterfaceId, String machineNo, Date startDate); + } Index: ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/device/service/BelimedDataManagerImpl.java =================================================================== diff -u -r30371 -r30372 --- ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/device/service/BelimedDataManagerImpl.java (.../BelimedDataManagerImpl.java) (revision 30371) +++ ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/device/service/BelimedDataManagerImpl.java (.../BelimedDataManagerImpl.java) (revision 30372) @@ -543,10 +543,9 @@ SterilizationRecord record = sterilizationRecordManager .getSterilizationRecordById(id); // 灭菌记录的的温度压力数据条数 - Long count = (long) sterilizationRecordManager - .getSterilerRecordsCount(record.getSterilizer() - .getDeviceInterfaceId(), record.getSterilizer() - .getMachineNumber(), record.getCycleCounter()); + Long count = (long) sterilizationRecordManager.getSterilerRecordsCount(record.getSterilizer() + .getDeviceInterfaceId(), record.getSterilizer() + .getMachineNumber(), record.getStartDate()); record.setSterilizerRecordAmount(count); sterilizationRecordManager.saveOrUpdate(record); }