Index: ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/device/service/LowTemperatureManagerImpl.java =================================================================== diff -u -r28044 -r28207 --- ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/device/service/LowTemperatureManagerImpl.java (.../LowTemperatureManagerImpl.java) (revision 28044) +++ ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/device/service/LowTemperatureManagerImpl.java (.../LowTemperatureManagerImpl.java) (revision 28207) @@ -200,6 +200,7 @@ String yearToDay = null; String stageName = null; boolean skipCycle = false; + String message = ""; while ((line = br.readLine()) != null) { if(skipCycle && !line.contains("设备编号")){//如果本次循环已经保存过,就到下次设备编号行时再读取 continue; @@ -222,26 +223,67 @@ yearToDay = "20" + lowStartDateStr.substring(0,lowStartDateStr.indexOf("日")+1); lowStartDateStr = yearToDay + " " + lowStartDateHH + ":"+lowStartDateMM; Date lowStartDate = sdf.parse(lowStartDateStr); + if(lowTempSterilizerRecord.getStartDate() != null){ + message = fileName + "格式错误或缺失,请检查补全:启动时间被覆盖,被覆盖时间" + sdf.format(lowTempSterilizerRecord.getStartDate()) + ",覆盖时间:" + lowStartDateStr; + skipCycle = true; + appLogManager.saveLog(AcegiHelper.getLoginUser(), + Log.MODEL_DEVICE_INTERFACE, Log.TYPE_ADD, + message); + continue; + } lowTempSterilizerRecord.setStartDate(lowStartDate); }else if(line.contains("灭菌锅次")){ String potTimesStr = line.substring(line.indexOf(":") + 1).replace("次", "").trim(); Long potTimes = Long.valueOf(potTimesStr); + if(lowTempSterilizerRecord.getPotTimes() != null){ + message = fileName + "格式错误或缺失,请检查补全:灭菌锅次被覆盖,被覆盖锅次" + sdf.format(lowTempSterilizerRecord.getPotTimes()) + ",覆盖锅次:" + potTimes; + skipCycle = true; + appLogManager.saveLog(AcegiHelper.getLoginUser(), + Log.MODEL_DEVICE_INTERFACE, Log.TYPE_ADD, + message); + continue; + } if(isExistData(lowTempSterilizerRecord.getMachineNumber(), potTimes)){//如果已经存在,就到下次设备编号行再读取 skipCycle = true; continue; } - lowTempSterilizerRecordList.add(lowTempSterilizerRecord); lowTempSterilizerRecord.setPotTimes(potTimes); }else if(line.contains("程序名称")){ String programName = line.substring(line.indexOf(":") + 1).trim(); + if(StringUtils.isNotBlank(lowTempSterilizerRecord.getProgramName())){ + message = fileName + "格式错误或缺失,请检查补全:程序名称被覆盖"; + skipCycle = true; + appLogManager.saveLog(AcegiHelper.getLoginUser(), + Log.MODEL_DEVICE_INTERFACE, Log.TYPE_ADD, + message); + continue; + } lowTempSterilizerRecord.setProgramName(programName); }else if(line.contains("结束时间")){ String lowendDateStr = line.substring(line.indexOf(":") + 1).trim().replace(" ", ""); Date endDate = sdf.parse(yearToDay + " " + lowendDateStr); + if(lowTempSterilizerRecord.getEndDate() != null){ + message = fileName + "格式错误或缺失,请检查补全:结束时间被覆盖,被覆盖时间" + sdf.format(lowTempSterilizerRecord.getEndDate()) + ",覆盖时间:" + yearToDay + " " + lowendDateStr; + skipCycle = true; + appLogManager.saveLog(AcegiHelper.getLoginUser(), + Log.MODEL_DEVICE_INTERFACE, Log.TYPE_ADD, + message); + lowTempSterilizerRecordList.remove(lowTempSterilizerRecord); + continue; + } lowTempSterilizerRecord.setEndDate(endDate); }else if(line.contains("灭菌周期")){ String sterilizationCycle = line.substring(line.indexOf(":") + 1).trim(); + if(StringUtils.isNotBlank(lowTempSterilizerRecord.getSterilizationCycle())){ + message = fileName + "格式错误或缺失,请检查补全:灭菌周期被覆盖"; + skipCycle = true; + appLogManager.saveLog(AcegiHelper.getLoginUser(), + Log.MODEL_DEVICE_INTERFACE, Log.TYPE_ADD, + message); + continue; + } lowTempSterilizerRecord.setSterilizationCycle(sterilizationCycle); + lowTempSterilizerRecordList.add(lowTempSterilizerRecord); }else if(line.contains("--------------")){ if(startStageDetails){//做标记 读到阶段信息开头 startStageDetails = false;