Index: ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/device/service/XinHuaDataManagerImpl.java =================================================================== diff -u -r29058 -r29241 --- ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/device/service/XinHuaDataManagerImpl.java (.../XinHuaDataManagerImpl.java) (revision 29058) +++ ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/device/service/XinHuaDataManagerImpl.java (.../XinHuaDataManagerImpl.java) (revision 29241) @@ -548,6 +548,25 @@ //若长度为40 且 阶段编号为"100"则:表明为结束阶段 if("100".equals(line.substring(14,17)) && 40 == line.length()){ isEnd =true; + SterilizerRecord record = new SterilizerRecord(); + String timeStr = line.substring(17,29); + Date startDate = gedDate(timeStr); + record.setProcStartTime(startDate); + record.setCycleCounter(machineData.optLong("cycleCounter")); + record.setMachineNo(machineNumber); + record.setDeviceInterfaceID(devInterface.getId().toString()); + record.setTime(new SimpleDateFormat(DateTools.COMMON_DATE_HMS).format(startDate)); + String piMbar = line.substring(29,34); + String t1Temp = line.substring(34,39); + record.setP1Mbar(StringTools.romoveUselessZeroToNumberStr(piMbar));//室内压力(去掉前面无用的0) + record.setT1Temp(StringTools.romoveUselessZeroToNumberStr(t1Temp));//室内温度(去掉前面无用的0) + String programNo_source = line.substring(12,14);//程序编号 + String phase_source = line.substring(14,17);//程序阶段号 + String phase = SterilizerRecord.STERILIZERRECORD_PHASE_XINHUA.get(phase_source);//阶段号对应的阶段 + record.setPhase(phase);//阶段 + record.setProgramNo(programNo_source); + objectDao.saveOrUpdate(record); + break; }; //保存灭菌参数 SterilizerRecord record = new SterilizerRecord(); @@ -568,9 +587,6 @@ record.setPhase(phase);//阶段 record.setProgramNo(programNo_source); objectDao.saveOrUpdate(record); - if(isEnd){ - break; - } } //4、 // 保存本次读取的文件大小,用于下次判断,在此期间,文件是否有被修改过