Index: ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/device/service/XinHuaDataManagerImpl.java =================================================================== diff -u -r30445 -r30475 --- ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/device/service/XinHuaDataManagerImpl.java (.../XinHuaDataManagerImpl.java) (revision 30445) +++ ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/device/service/XinHuaDataManagerImpl.java (.../XinHuaDataManagerImpl.java) (revision 30475) @@ -39,6 +39,7 @@ import com.forgon.disinfectsystem.filemanager.FtpFileManager; import com.forgon.disinfectsystem.sterilizationmanager.sterilizationrecord.service.SterilizationRecordManager; import com.forgon.disinfectsystem.washanddisinfectmanager.washanddisinfectrecord.service.WashAndDisinfectRecordManager; +import com.forgon.exception.SystemException; import com.forgon.log.model.Log; import com.forgon.log.service.LogManager; import com.forgon.tools.FileSystemHelper; @@ -418,8 +419,8 @@ boolean onlyRemoveReadedFile = jsObject.optBoolean("onlyRemoveReadedFile"); boolean isEnd = jsObject.optBoolean("isEnd");//清洗是否为已结束 if(!onlyRemoveReadedFile){ - machineNumber = jsObject.getString("machineNumber");//机器号 - cycleCounter = jsObject.getString("cycleCounter");//循环次数 + machineNumber = jsObject.optString("machineNumber");//机器号 + cycleCounter = jsObject.optString("cycleCounter");//循环次数 String startTimeStr = jsObject.optString("startTime");//第一条数据的时间 Integer recordAmount = jsObject.optInt("recordAmount"); //更新清洗记录的温度压力数据条数 @@ -1003,6 +1004,10 @@ reusltJson.put("startTime", washDateList.get(0).getTime()); reusltJson.put("recordAmount", washDateList.size()); } + //文件只有结束阶段的数据时,直接移走文件 + if(isEnd && CollectionUtils.isEmpty(washDateList)){ + reusltJson.put("onlyRemoveReadedFile", true); + } return reusltJson; }catch (FileNotFoundException e) { logger.warn(e.getMessage()); @@ -1192,6 +1197,9 @@ for(Rinser rs : rinsers) { if(StringUtils.equals(devInterface.getDeviceModel(), DeviceInterface.XINHUA_Repaid_A_520)){ + if(StringUtils.isBlank(startTimeStr)){ + throw new SystemException("文件格式错误:时间为空!"); + } //NYSY-30 新华清洗机的清洗记录与设备参数的数据文件匹配规则改为按清洗开始时间匹配 Date startTime = DateTools.coverStrToDate(startTimeStr, "yyyy-MM-dd HH:mm:ss"); Date beginStartTime = new Date(startTime.getTime() - 10*60*1000);