Index: forgon-core/src/main/java/com/forgon/log/service/LogManager.java =================================================================== diff -u -r12579 -r13961 --- forgon-core/src/main/java/com/forgon/log/service/LogManager.java (.../LogManager.java) (revision 12579) +++ forgon-core/src/main/java/com/forgon/log/service/LogManager.java (.../LogManager.java) (revision 13961) @@ -1,5 +1,6 @@ package com.forgon.log.service; +import java.util.Date; import java.util.List; import java.util.Map; @@ -38,4 +39,6 @@ public String findLogs(Map> parameterMap); + public Date getLastDateByOpetType(String operationType); + } Index: ssts-web/src/main/java/com/forgon/disinfectsystem/systemwarning/service/SystemWarningManagerImpl.java =================================================================== diff -u -r12672 -r13961 --- ssts-web/src/main/java/com/forgon/disinfectsystem/systemwarning/service/SystemWarningManagerImpl.java (.../SystemWarningManagerImpl.java) (revision 12672) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/systemwarning/service/SystemWarningManagerImpl.java (.../SystemWarningManagerImpl.java) (revision 13961) @@ -24,6 +24,7 @@ import com.forgon.disinfectsystem.entity.recall.RecallRecord; import com.forgon.disinfectsystem.entity.recall.RecallRecordItem; import com.forgon.disinfectsystem.entity.systemwarning.SystemWarningItemVO; +import com.forgon.log.service.LogManager; import com.forgon.security.model.User; import com.forgon.security.model.UserAttribute; import com.forgon.security.service.OperationManager; @@ -55,6 +56,12 @@ private UserManager userManager; + private LogManager appLogManager; + + public void setAppLogManager(LogManager appLogManager) { + this.appLogManager = appLogManager; + } + public void setUserManager(UserManager userManager) { this.userManager = userManager; } @@ -308,6 +315,24 @@ warningList.add(vo); } } + // 清洗机灭菌炉接口连接异常提示 + boolean isSupplyRoomUser = supplyRoomConfigManager.isSupplyRoomUser(AcegiHelper.getLoginUser()); + if(isSupplyRoomUser) + { + Date lastData = appLogManager.getLastDateByOpetType("设备接口异常"); + Date now = new Date(); + if(lastData != null) + { + long diff = now.getTime() - lastData.getTime(); + long mins = diff / (1000 * 60); + if( mins <= 5){ + SystemWarningItemVO vo = new SystemWarningItemVO(); + vo.setWarningItemType("清洗机灭菌炉接口异常"); + vo.setWarningAmount(1); + warningList.add(vo); + } + } + } return warningList; } Index: forgon-core/src/main/java/com/forgon/log/service/LogManagerImpl.java =================================================================== diff -u -r13416 -r13961 --- forgon-core/src/main/java/com/forgon/log/service/LogManagerImpl.java (.../LogManagerImpl.java) (revision 13416) +++ forgon-core/src/main/java/com/forgon/log/service/LogManagerImpl.java (.../LogManagerImpl.java) (revision 13961) @@ -183,4 +183,26 @@ log.setOperationDescription(description); objectDao.save(log); } + public Date getLastDateByOpetType(String operationType){ + if(StringUtils.isBlank(operationType)) + return null; + try{ + String sql = String.format("where po.operationType=\'%s\' and po.id = (select max(id) from %s where operationType=\'%s\')", + operationType, + Log.class.getSimpleName(), + operationType); + Log log = (Log) objectDao.getBySql(Log.class.getSimpleName(), sql); + if( log != null) + { + String date = log.getLogDate() + " " + log.getLogTime(); + SimpleDateFormat sim=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); + Date lastDate = sim.parse(date); + return lastDate; + } + }catch(Exception e){ + e.printStackTrace(); + return null; + } + return null; + } }