|  |  | 
 |  |  |             po.intakeId = controller==null?null:controller.getIntakeId() ; | 
 |  |  |             po.rtuAddr = rtuAddr ; | 
 |  |  |             po.valueFrom(dV1_0_1, rtuDt, alarmVo, stateVo); | 
 |  |  |             if(alarmVo.hasAlarm()){ | 
 |  |  |             if(alarmVo.hasAlarmExcludeLoss()){ | 
 |  |  |                 po.sendMsTime = System.currentTimeMillis() ; | 
 |  |  |                 this.sendMessage(controller, alarmVo); | 
 |  |  |             } | 
 |  |  |             sv.saveRmAlarmStateLast(po) ; | 
 |  |  |         }else{ | 
 |  |  |             if(po.sendMsTime == null){ | 
 |  |  |                 if(alarmVo.hasAlarm()) { | 
 |  |  |                 if(alarmVo.hasAlarmExcludeLoss()) { | 
 |  |  |                     po.sendMsTime = System.currentTimeMillis(); | 
 |  |  |                     this.sendMessage(controller, alarmVo); | 
 |  |  |                 } | 
 |  |  |             }else{ | 
 |  |  |                 if(alarmVo.hasAlarm()){ | 
 |  |  |                 if(alarmVo.hasAlarmExcludeLoss()){ | 
 |  |  |                     Long now = System.currentTimeMillis() ; | 
 |  |  |                     if(((now - po.sendMsTime) / (1000 * 60)) > ServerProperties.sendDingDingAlarmMsInterval){ | 
 |  |  |                         //大于规定的间隔时间 | 
 |  |  | 
 |  |  |      * @param alarmVo | 
 |  |  |      */ | 
 |  |  |     private void sendMessage(PrController controller, DataAlarmVo alarmVo){ | 
 |  |  |         String ms = "取水口“" + controller.getIntakeName() + "”产生报警:" + alarmVo.alarmContent() ; | 
 |  |  |         String ms = "取水口“" + controller.getIntakeName() + "”产生报警:" + alarmVo.alarmContentExcludeLoss() ; | 
 |  |  |         try{ | 
 |  |  |             SendMsCache.cacheMs(ms); | 
 |  |  |         }catch (Exception e){ |