Index: ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/device/service/GetingeDataManagerImpl.java =================================================================== diff -u -r40611 -r41141 --- ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/device/service/GetingeDataManagerImpl.java (.../GetingeDataManagerImpl.java) (revision 40611) +++ ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/device/service/GetingeDataManagerImpl.java (.../GetingeDataManagerImpl.java) (revision 41141) @@ -626,16 +626,16 @@ if( line.contains("") && line.contains("")) { cycleCounter = getValueByKey(line,"PROCCYCLE"); - if(isExistDataForGetingeCommon(cycleCounter, machineNumber)){ - break; - } gtRecord.setCycles(Long.valueOf(cycleCounter)); }else if(line.contains("") && line.contains("")){ phase = getValueByKey(line,"PHASE"); }else if( line.contains("") && line.contains("")) { String timeStr = getValueByKey(line,"PROCSTARTTIME"); startDate = gedDate(timeStr); + if(isExistDataForGetingeCommon(startDate, machineNumber)){ + break; + } String beginStartTimeStr = null; String endStartTimeStr = null; if(sterilizaMatchPatternForDate || !DeviceInterface.PARAMATCHINGMETHOD_CYCLECOUNTER.equals(devInterface.getParaMatchingMethod())){ @@ -1292,15 +1292,18 @@ /** * 验证此机器号此灭菌锅次的数据是否已经保存过,避免重复保存 * @param machineNumber 机器号 - * @param operationTimes 运转次数 * @return */ - private boolean isExistDataForGetingeCommon(String cycleCounter, String machineNumber){ + private boolean isExistDataForGetingeCommon(Date startTime, String machineNumber){ + Date beginStartTime = new Date(startTime.getTime() - 1*60*1000); + Date endStartTime = new Date(startTime.getTime() + 1*60*1000); + String beginStartTimeStr = ForgonDateUtils.safelyFormatDate(beginStartTime,ForgonDateUtils.SIMPLEDATEFORMAT_YYYYMMDDHHMMSS,""); + String endStartTimeStr = ForgonDateUtils.safelyFormatDate(endStartTime,ForgonDateUtils.SIMPLEDATEFORMAT_YYYYMMDDHHMMSS,""); String sql = "select count(*) from " + GtCommonSterilizerRecord.class.getSimpleName() + " where machineNumber='" + machineNumber - +"' and cycles=" + cycleCounter; + + " and " + dateQueryAdapter.dateAreaSql("startDate", beginStartTimeStr, endStartTimeStr, false);; if(objectDao.countBySql(sql) > 0){ return true; }