| | |
| | | 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.daoAllRound.Ar4StatisticsMapper; |
| | | import com.dy.pipIrrGlobal.rtuMw.CodeLocal; |
| | | import com.dy.pipIrrGlobal.rtuMw.Web2RtuMw; |
| | | import com.dy.pipIrrGlobal.voPr.VoOnLineIntake; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.core.env.Environment; |
| | |
| | | private Ar4BaseMapper baseDao; |
| | | |
| | | @Autowired |
| | | private Ar4RemoteMapper remoteDao; |
| | | |
| | | @Autowired |
| | | private Environment env; |
| | | |
| | | @Autowired |
| | |
| | | * 取水口基本信息 |
| | | * @return 取水口基本信息 |
| | | */ |
| | | public QueryResultVo<VoArIntakeRemote> intakeInfo(Long intakeId){ |
| | | public VoArIntakeRemote intakeInfo(Long intakeId){ |
| | | VoArIntakeRemote rVo = new VoArIntakeRemote() ; |
| | | String rtuAddr = this.getRtuAddr(intakeId); |
| | | this.getRtuOnLine(intakeId, rtuAddr, rVo); |
| | | this.getAlarmLastInfo(intakeId, rtuAddr, rVo); |
| | | this.getOpenCloseValveLastInfo(intakeId, rtuAddr, rVo); |
| | | this.getLossAmountLastInfo(intakeId, rtuAddr, rVo); |
| | | return rVo ; |
| | | } |
| | | |
| | | 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 getAlarmLastInfo(Long intakeId, String rtuAddr, VoArIntakeRemote rVo){ |
| | | List<VoArIntakeRemote> list = remoteDao.alarmLastInfo(intakeId); |
| | | if(list != null && list.size() > 0){ |
| | | VoArIntakeRemote vo = list.get(0) ; |
| | | rVo.alarm = vo.alarm ; |
| | | rVo.alarmDt = vo.alarmDt ; |
| | | } |
| | | } |
| | | /** |
| | | * 得到取水口最新开关阀信息 |
| | | * @param intakeId |
| | | */ |
| | | private void getOpenCloseValveLastInfo(Long intakeId, String rtuAddr, VoArIntakeRemote rVo){ |
| | | List<VoArIntakeRemote> list = remoteDao.openCloseValveLastInfo(intakeId); |
| | | if(list != null && list.size() > 0){ |
| | | VoArIntakeRemote vo = list.get(0) ; |
| | | rVo.lastOpenDt = vo.lastOpenDt ; |
| | | rVo.lastCloseDt = vo.lastCloseDt ; |
| | | } |
| | | } |
| | | /** |
| | | * 得到取水口最新漏损信息 |
| | | * @param intakeId |
| | | */ |
| | | private void getLossAmountLastInfo(Long intakeId, String rtuAddr, VoArIntakeRemote rVo){ |
| | | List<VoArIntakeRemote> list = remoteDao.lossLastInfo(intakeId); |
| | | if(list != null && list.size() > 0){ |
| | | VoArIntakeRemote vo = list.get(0) ; |
| | | rVo.lossDt = vo.lossDt ; |
| | | rVo.lossAmount = vo.lossAmount ; |
| | | } |
| | | } |
| | | } |