| | |
| | | this.irrigationSv = irrigationSv; |
| | | this.prIntakeControllerMapper = prIntakeControllerMapper; |
| | | } |
| | | /** |
| | | * 虚拟卡ID换虚拟卡对象 |
| | | * @param vcId |
| | | * @return |
| | | */ |
| | | |
| | | public VoVirtualCard getVcById(Long vcId) { |
| | | return seVirtualCardMapper.getVcById(vcId); |
| | | } |
| | | |
| | | /** |
| | | * 获取水价 |
| | | * @return |
| | | */ |
| | | |
| | | public Double getPrice() { |
| | | return prWaterPriceMapper.getPrice(); |
| | | } |
| | | |
| | | /** |
| | | * 根据操作员ID获取未关阀记录(包含在线情况) |
| | | * @param operator |
| | | * @return |
| | | */ |
| | | public List<VoUnclosedValve> getUnclosedValves(Long operator) { |
| | | Command com = new Command() ; |
| | | com.id = Command.defaultId; |
| | |
| | | //System.out.println(jsonArray.toJSONString()); |
| | | } |
| | | |
| | | /** |
| | | * 获取未关阀的RTU地址和虚拟卡编号对数组 |
| | | * 遍历数组获取最后命令日志ID集合 |
| | | */ |
| | | List<VoRtuAndVc> rtus = rmCommandHistoryMapper.getUnclosedRtus(operator); |
| | | String comIds = ""; |
| | | if(rtus != null && rtus.size() > 0) { |
| | |
| | | return new ArrayList<>(); |
| | | } |
| | | |
| | | /** |
| | | * 为指定(阀控器地址、水卡编号、无关阀记录)开关阀最新记录添加关阀时间,使之不在未关阀记录中显示 |
| | | * @param rtuAddr |
| | | * @param icCardNo |
| | | * @return |
| | | */ |
| | | public Integer addClostTime(String rtuAddr, String icCardNo) { |
| | | return rmOpenCloseValveLastMapper.addCloseTime(rtuAddr, icCardNo); |
| | | } |
| | | |
| | | /** |
| | | * 根据取水口ID获取与之绑定虚拟卡ID |
| | | * @param intakeId |
| | | * @return |
| | | */ |
| | | public Long getVcIdByIntakeId(Long intakeId) { |
| | | return prIntakeVcMapper.getVcIdByIntakeId(intakeId); |
| | | } |
| | | |
| | | /** |
| | | * 根据水卡编号获取水卡对象,远程充值使用 |
| | | * @param cardId |
| | | * @return |
| | | */ |
| | | public SeClientCard geClientCardByCardId(Long cardId) { |
| | | return seClientCardMapper.selectByPrimaryKey(cardId); |
| | | } |
| | | |
| | | /** |
| | | * 添加命令日志 |
| | | * @param po 命令日志对象 |
| | | * @return 字符串类型的主键 |
| | | */ |
| | | public Long insert(RmCommandHistory po) { |
| | | rmCommandHistoryMapper.insert(po); |
| | | return po.getComId(); |
| | | } |
| | | |
| | | /** |
| | | * 修改命令日志信息 |
| | | * @param po 命令日志对象 |
| | | * @return 影响记录数量 |
| | | */ |
| | | public Integer update(RmCommandHistory po) { |
| | | return rmCommandHistoryMapper.updateByPrimaryKeySelective(po); |
| | | } |
| | | |
| | | /** |
| | | * 取水口名称换取水口ID,扫码开阀使用 |
| | | * @param intakeName |
| | | * @return |
| | | */ |
| | | public Long getIntakeIdByName(String intakeName) { |
| | | return prIntakeMapper.getIntakeIdByName(intakeName); |
| | | } |
| | | |
| | | /** |
| | | * 根据配置类型获取配置值 |
| | | * @param type |
| | | * @return |
| | | */ |
| | | QueryResultVo<List<VoIrrigaterProfile>> getIrrPro(Integer type) { |
| | | QueryResultVo<List<VoIrrigaterProfile>> rsVo = new QueryResultVo<>() ; |
| | | rsVo.obj = rmIrrigateProfileMapper.getIrrPro(type); |
| | | return rsVo ; |
| | | } |
| | | |
| | | /** |
| | | * 添加取水口操作记录,轮灌过程命令下发时使用 |
| | | * @param po |
| | | * @return |
| | | */ |
| | | public Long addIntakeOperate(IrIntakeOperate po) { |
| | | irIntakeOperateMapper.insert(po); |
| | | return po.getId(); |
| | |
| | | // return irIntakeOperateMapper.updateByCommandId(commandId, commandResult); |
| | | //} |
| | | |
| | | /** |
| | | * 定时关阀式计划开阀 |
| | | * @param automaticClose |
| | | * @return |
| | | */ |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public Map planedOpenTimedClose(AutomaticClose automaticClose, Long planId, Byte operatetype, Date startTime, Integer duration) { |
| | | Long intakeId = automaticClose.getIntakeId(); |
| | |
| | | Integer hour = Integer.parseInt(String.format("%tH", plannedOpenTime)); |
| | | Integer minute = Integer.parseInt(String.format("%tM", plannedOpenTime)); |
| | | |
| | | /** |
| | | * 如果农户选择了虚拟卡,则使用该虚拟卡 |
| | | * 如果农户未选择虚拟卡,则根据取水口ID获取与之绑定的虚拟卡 |
| | | * 如果取水口没有与之绑定的虚拟卡,则提示农户选择一张虚拟卡 |
| | | */ |
| | | if(vcId == null) { |
| | | vcId = getVcIdByIntakeId(intakeId); |
| | | if(vcId == null) { |
| | |
| | | param.setMinute(minute); |
| | | param.setOrderNo(orderNo); |
| | | |
| | | /** |
| | | * 构造命令、发送命令并处理请求结果及执行结果 |
| | | * 1 准备参数 |
| | | * 2 调用公共方法 |
| | | */ |
| | | Param myParam = new Param(); |
| | | myParam.setComId(comId); |
| | | myParam.setComType((byte)1); |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 小程序远程开阀 |
| | | * @param valve |
| | | * @param planId |
| | | * @param operatetype |
| | | * @return |
| | | */ |
| | | public Map openWx(ValveOpen valve, Long planId, Byte operatetype) { |
| | | Long intakeId = valve.getIntakeId(); |
| | | String intakeName = valve.getIntakeName(); |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 如果农户选择了虚拟卡,则使用该虚拟卡 |
| | | * 如果农户未选择虚拟卡,则根据取水口ID获取与之绑定的虚拟卡 |
| | | * 如果取水口没有与之绑定的虚拟卡,则提示农户选择一张虚拟卡 |
| | | */ |
| | | if (vcId == null) { |
| | | vcId = getVcIdByIntakeId(intakeId); |
| | | if (vcId == null) { |
| | |
| | | param.elePrice = 0.0; |
| | | param.orderNo = orderNo; |
| | | |
| | | /** |
| | | * 构造命令、发送命令并处理请求结果及执行结果 |
| | | * 1 准备参数 |
| | | * 2 调用公共方法 |
| | | */ |
| | | Param myParam = new Param(); |
| | | myParam.setComId(comId); |
| | | myParam.setComType((byte)1); |
| | |
| | | param.waterPrice = waterPrice; |
| | | param.orderNo = orderNo; |
| | | |
| | | /** |
| | | * 构造命令、发送命令并处理请求结果及执行结果 |
| | | * 1 准备参数 |
| | | * 2 调用公共方法 |
| | | */ |
| | | Param myParam = new Param(); |
| | | myParam.setComId(comId); |
| | | myParam.setComType((byte)1); |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 小程序远程关阀 |
| | | * @param valve |
| | | * @param planId |
| | | * @param operatetype |
| | | * @return |
| | | */ |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public Map closeWx(ValveClose valve, Long planId, Byte operatetype) { |
| | | String rtuAddr = valve.getRtuAddr(); |
| | |
| | | param.icCardNo = vcNum; |
| | | param.orderNo = orderNo; |
| | | |
| | | /** |
| | | * 构造命令、发送命令并处理请求结果及执行结果 |
| | | * 1 准备参数 |
| | | * 2 调用公共方法 |
| | | */ |
| | | Param myParam = new Param(); |
| | | myParam.setComId(comId); |
| | | myParam.setComType((byte)2); |
| | |
| | | param.icCardNo = vcNum; |
| | | param.orderNo = orderNo; |
| | | |
| | | /** |
| | | * 构造命令、发送命令并处理请求结果及执行结果 |
| | | * 1 准备参数 |
| | | * 2 调用公共方法 |
| | | */ |
| | | Param myParam = new Param(); |
| | | myParam.setComId(comId); |
| | | myParam.setComType((byte)2); |