| | |
| | | import com.dy.common.webUtil.QueryResultVo; |
| | | import com.dy.pipIrrGlobal.VoAllRound.VoArIntakeRemote; |
| | | import com.dy.pipIrrGlobal.daoAllRound.Ar4BaseMapper; |
| | | import com.dy.pipIrrGlobal.daoAllRound.Ar4RemoteMapper; |
| | | import com.dy.pipIrrGlobal.rtuMw.CodeLocal; |
| | | import com.dy.pipIrrGlobal.rtuMw.Web2RtuMw; |
| | | import com.dy.pipIrrGlobal.voPr.VoOnLineIntake; |
| | |
| | | private Ar4BaseMapper baseDao; |
| | | |
| | | @Autowired |
| | | private Ar4RemoteMapper remoteDao; |
| | | |
| | | @Autowired |
| | | private Environment env; |
| | | |
| | | @Autowired |
| | |
| | | */ |
| | | public QueryResultVo<VoArIntakeRemote> intakeInfo(Long intakeId){ |
| | | VoArIntakeRemote rVo = new VoArIntakeRemote() ; |
| | | String rtuAddr = this.getRtuAddr(intakeId); |
| | | this.getRtuOnLine(intakeId, rtuAddr, rVo); |
| | | this.getAlarmInfo(intakeId, rtuAddr, rVo); |
| | | this.getOpenCloseValveInfo(intakeId, rtuAddr, rVo); |
| | | return null ; |
| | | } |
| | | |
| | | String rtuAddr = null ; |
| | | /** |
| | | * 获取取水口对应的RTU地址 |
| | | * @param intakeId 取水口ID |
| | | * @return RTU地址 |
| | | */ |
| | | private String getRtuAddr(Long intakeId){ |
| | | List<String> rtuAddrs = baseDao.intakeRtuAddr(intakeId) ; |
| | | if(rtuAddrs != null && rtuAddrs.size() > 0){ |
| | | rtuAddr = rtuAddrs.get(0) ; |
| | | return rtuAddrs.get(0) ; |
| | | } |
| | | return null ; |
| | | } |
| | | |
| | | /** |
| | | * 得到取水RTU在线情况 |
| | | * @param intakeId |
| | | * @param rtuAddr |
| | | * @param rVo |
| | | */ |
| | | private void getRtuOnLine(Long intakeId, String rtuAddr, VoArIntakeRemote rVo){ |
| | | if(rtuAddr != null){ |
| | | //向通信中间件发关命令,查询部分RTU在线情况 |
| | | Command com = this.createInnerCommand(CodeLocal.onLinePart); |
| | |
| | | log.error("通信中间件返回内部命令结果为null"); |
| | | } |
| | | } |
| | | |
| | | return null ; |
| | | } |
| | | /** |
| | | * 得到取水口最新报警信息 |
| | | * @param intakeId |
| | | */ |
| | | private void getAlarmInfo(Long intakeId, String rtuAddr, VoArIntakeRemote rVo){ |
| | | List<VoArIntakeRemote> list = remoteDao.alarmInfo(intakeId); |
| | | if(list != null && list.size() > 0){ |
| | | VoArIntakeRemote vo = list.get(0) ; |
| | | rVo.alarm = vo.alarm ; |
| | | rVo.alarmDt = vo.alarmDt ; |
| | | } |
| | | } |
| | | /** |
| | | * 得到取水口最新开关阀信息 |
| | | * @param intakeId |
| | | */ |
| | | private void getOpenCloseValveInfo(Long intakeId, String rtuAddr, VoArIntakeRemote rVo){ |
| | | List<VoArIntakeRemote> list = remoteDao.openCloseValveInfo(intakeId); |
| | | if(list != null && list.size() > 0){ |
| | | VoArIntakeRemote vo = list.get(0) ; |
| | | rVo.lastOpenDt = vo.lastOpenDt ; |
| | | rVo.lastCloseDt = vo.lastCloseDt ; |
| | | } |
| | | } |
| | | } |