Merge remote-tracking branch 'origin/master'
1 文件已重命名
79个文件已修改
2个文件已添加
1个文件已删除
| | |
| | | * 功能码 |
| | | */ |
| | | public String code ; |
| | | |
| | | /** |
| | | * 不返回中间件对命令处理结果(true:不返回处理结果,false或null:返回处理结果) |
| | | */ |
| | | public Boolean noRtMwDealRes ; |
| | | |
| | | /** |
| | | * rtu返回命令结果 发向目的地web URL |
| | |
| | | s += (rtuAddr == null ? "" : ("Rtu地址=" + rtuAddr + "\n")); |
| | | s += "命令类型=" + (type.equals(CommandType.innerCommand)?"内部命令":"RTU命令") + "\n" ; |
| | | s += (code == null ? "" : ("功能码=" + code + "\n")) ; |
| | | s += "是否返回中间件对命令处理结果=" + (noRtMwDealRes == null?"是":(noRtMwDealRes?"是":"否") + "\n") ; |
| | | s += (rtuResultSendWebUrl == null ? "" : ("回调网址=" + rtuResultSendWebUrl + "\n")); |
| | | if(param != null){ |
| | | s += "参数:" + param ; |
| | | } |
| | |
| | | public Command setCode(String code) { |
| | | this.code = code; |
| | | return this ; |
| | | } |
| | | @SuppressWarnings("unused") |
| | | public Boolean getNoRtMwDealRes() { |
| | | return noRtMwDealRes; |
| | | } |
| | | @SuppressWarnings("unused") |
| | | public void setNoRtMwDealRes(Boolean noRtMwDealRes) { |
| | | this.noRtMwDealRes = noRtMwDealRes; |
| | | } |
| | | public Object getParam() { |
| | | return param; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | */ |
| | | protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { |
| | | DataV202404 dV1 = (DataV202404)data.getSubData() ; |
| | | DataCd02Vo cdData = new DataCd02Vo() ; |
| | | DataCd02Vo cdData = new DataCd02Vo(CodeV202404.getCodeName(dataCode)) ; |
| | | dV1.subData = cdData ; |
| | | cdData.controllerType = ByteUtil.bytes2Hex(bs, false, ProtocolConstantV206V202404.dataIndex, 1) ; |
| | | cdData.projectNo = 0 + bs[ProtocolConstantV206V202404.dataIndex + 1]; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | */ |
| | | protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { |
| | | DataV202404 dV1 = (DataV202404)data.getSubData() ; |
| | | DataCd10Vo cdData = new DataCd10Vo() ; |
| | | DataCd10Vo cdData = new DataCd10Vo(CodeV202404.getCodeName(dataCode)) ; |
| | | dV1.subData = cdData ; |
| | | int index = ProtocolConstantV206V202404.dataIndex ; |
| | | cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | if(cvo.flowNo.length() != 12){ |
| | | throw new Exception("流水号必须是12位数字") ; |
| | | } |
| | | byte[] bs = new byte[40] ; |
| | | byte[] bs = new byte[43] ; |
| | | int index = 0 ; |
| | | bs[index] = (byte)(Integer.parseInt(cvo.controllerType, 16)); |
| | | |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | */ |
| | | protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { |
| | | DataV202404 dV1 = (DataV202404)data.getSubData() ; |
| | | DataCd50Vo cdData = new DataCd50Vo() ; |
| | | DataCd50Vo cdData = new DataCd50Vo(CodeV202404.getCodeName(dataCode)) ; |
| | | dV1.subData = cdData ; |
| | | int index = ProtocolConstantV206V202404.dataIndex ; |
| | | cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | if(hasRecord == 1){ |
| | | //有记录 |
| | | List<DataCd55Vo> list = new ArrayList<>() ; |
| | | DataCd55Vo vo = this.doParseData(bs, index, bsLen, controllerType, projectNo) ; |
| | | index++ ; |
| | | DataCd55Vo vo = this.doParseData(bs, index, bsLen, dataCode, controllerType, projectNo) ; |
| | | while(vo != null){ |
| | | index += 35 ; |
| | | list.add(vo) ; |
| | | vo = this.doParseData(bs, index, bsLen, controllerType, projectNo) ; |
| | | vo = this.doParseData(bs, index, bsLen, dataCode, controllerType, projectNo) ; |
| | | } |
| | | dV1.subData = list ; |
| | | }else{ |
| | |
| | | } |
| | | } |
| | | |
| | | private DataCd55Vo doParseData(byte[] bs, int index, int bsLen, String controllerType,Integer projectNo) throws Exception{ |
| | | //每条数据占39字节 |
| | | private DataCd55Vo doParseData(byte[] bs, int index, int bsLen, String dataCode, String controllerType,Integer projectNo) throws Exception{ |
| | | //每条数据占35字节 |
| | | if(bsLen - index > 35){ |
| | | DataCd55Vo cdData = new DataCd55Vo() ; |
| | | DataCd55Vo cdData = new DataCd55Vo(CodeV202404.getCodeName(dataCode)) ; |
| | | |
| | | cdData.controllerType = controllerType ; |
| | | cdData.projectNo = projectNo ; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | */ |
| | | protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { |
| | | DataV202404 dV1 = (DataV202404)data.getSubData() ; |
| | | DataCd56Vo cdData = new DataCd56Vo() ; |
| | | DataCd56Vo cdData = new DataCd56Vo(CodeV202404.getCodeName(dataCode)) ; |
| | | dV1.subData = cdData ; |
| | | int index = ProtocolConstantV206V202404.dataIndex ; |
| | | cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | if(hasRecord == 1){ |
| | | //有记录 |
| | | List<DataCd5CVo> list = new ArrayList<>() ; |
| | | DataCd5CVo vo = this.doParseData(bs, index, bsLen, controllerType, projectNo) ; |
| | | index++ ; |
| | | DataCd5CVo vo = this.doParseData(bs, index, bsLen, dataCode, controllerType, projectNo) ; |
| | | while(vo != null){ |
| | | index += 16 ; |
| | | list.add(vo) ; |
| | | vo = this.doParseData(bs, index, bsLen, controllerType, projectNo) ; |
| | | vo = this.doParseData(bs, index, bsLen, dataCode, controllerType, projectNo) ; |
| | | } |
| | | dV1.subData = list ; |
| | | }else{ |
| | |
| | | } |
| | | } |
| | | |
| | | private DataCd5CVo doParseData(byte[] bs, int index, int bsLen, String controllerType,Integer projectNo) throws Exception{ |
| | | //每条数据占39字节 |
| | | private DataCd5CVo doParseData(byte[] bs, int index, int bsLen, String dataCode, String controllerType,Integer projectNo) throws Exception{ |
| | | //每条数据占16字节 |
| | | if(bsLen - index > 16){ |
| | | DataCd5CVo cdData = new DataCd5CVo() ; |
| | | DataCd5CVo cdData = new DataCd5CVo(CodeV202404.getCodeName(dataCode)) ; |
| | | |
| | | cdData.controllerType = controllerType ; |
| | | cdData.projectNo = projectNo ; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | if(hasRecord == 1){ |
| | | //有记录 |
| | | List<DataCd65Vo> list = new ArrayList<>() ; |
| | | DataCd65Vo vo = this.doParseData(bs, index, bsLen, controllerType, projectNo) ; |
| | | index++ ; |
| | | DataCd65Vo vo = this.doParseData(bs, index, bsLen, dataCode, controllerType, projectNo) ; |
| | | while(vo != null){ |
| | | index += 39 ; |
| | | index += 43 ; |
| | | list.add(vo) ; |
| | | vo = this.doParseData(bs, index, bsLen, controllerType, projectNo) ; |
| | | vo = this.doParseData(bs, index, bsLen, dataCode, controllerType, projectNo) ; |
| | | } |
| | | dV1.subData = list ; |
| | | }else{ |
| | |
| | | } |
| | | } |
| | | |
| | | private DataCd65Vo doParseData(byte[] bs, int index, int bsLen, String controllerType,Integer projectNo) throws Exception{ |
| | | //每条数据占39字节 |
| | | if(bsLen - index > 39){ |
| | | DataCd65Vo cdData = new DataCd65Vo() ; |
| | | private DataCd65Vo doParseData(byte[] bs, int index, int bsLen, String dataCode, String controllerType,Integer projectNo) throws Exception{ |
| | | //每条数据占43字节 |
| | | if(bsLen - index > 43){ |
| | | DataCd65Vo cdData = new DataCd65Vo(CodeV202404.getCodeName(dataCode)) ; |
| | | |
| | | cdData.controllerType = controllerType ; |
| | | cdData.projectNo = projectNo ; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | */ |
| | | protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { |
| | | DataV202404 dV1 = (DataV202404)data.getSubData() ; |
| | | DataCd68Vo cdData = new DataCd68Vo() ; |
| | | DataCd68Vo cdData = new DataCd68Vo(CodeV202404.getCodeName(dataCode)) ; |
| | | dV1.subData = cdData ; |
| | | int index = ProtocolConstantV206V202404.dataIndex ; |
| | | cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | byte[] bytes = GlCreate.createStart2Cd(para.rtuAddr, para.commandCode); |
| | | if(para.param != null){ |
| | | DataCd80_5BVo cdData = (DataCd80_5BVo)para.param ; |
| | | byte[] bs = new byte[2] ; |
| | | byte[] bs = new byte[3] ; |
| | | bs[0] = (byte)(Integer.parseInt(cdData.getControllerType(), 16)); |
| | | bs[1] = cdData.projectNo.byteValue() ; |
| | | GlCreate.createTp(bs, 2) ; |
| | | bs[2] = 0x01 ;//01:成功 81:失败 |
| | | //GlCreate.createTp(bs, 2) ; |
| | | bytes = ByteUtil.bytesMerge(bytes, bs) ; |
| | | }else{ |
| | | throw new Exception("下行命令参数据为null") ; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | */ |
| | | protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { |
| | | DataV202404 dV1 = (DataV202404)data.getSubData() ; |
| | | DataCd81Vo cdData = new DataCd81Vo() ; |
| | | DataCd81Vo cdData = new DataCd81Vo(CodeV202404.getCodeName(dataCode)) ; |
| | | dV1.subData = cdData ; |
| | | |
| | | int index = ProtocolConstantV206V202404.dataIndex ; |
| | |
| | | cdData.projectNo = (int)bs[index]; |
| | | |
| | | index++ ; |
| | | GlParse.parseRtuDt(bs, index) ; |
| | | cdData.rtuDt = GlParse.parseRtuDt(bs, index) ; |
| | | |
| | | index += 6 ; |
| | | GlParse.parseAlarmAndState(bs, index, cdData) ; |
| | | GlParse.parseAlarmAndState(bs, index, cdData) ;//四个字节 |
| | | } |
| | | } |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | */ |
| | | protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { |
| | | DataV202404 dV1 = (DataV202404)data.getSubData() ; |
| | | DataCd83Vo cdData = new DataCd83Vo() ; |
| | | DataCd83Vo cdData = new DataCd83Vo(CodeV202404.getCodeName(dataCode)) ; |
| | | dV1.subData = cdData ; |
| | | int index = ProtocolConstantV206V202404.dataIndex ; |
| | | cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | */ |
| | | protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { |
| | | DataV202404 dV1 = (DataV202404)data.getSubData() ; |
| | | DataCd84Vo cdData = new DataCd84Vo() ; |
| | | DataCd84Vo cdData = new DataCd84Vo(CodeV202404.getCodeName(dataCode)) ; |
| | | dV1.subData = cdData ; |
| | | int index = ProtocolConstantV206V202404.dataIndex ; |
| | | cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ; |
| | |
| | | index++ ; |
| | | cdData.icCardAddr = ByteUtil.bytes2Hex(bs, false, index, 4) ; |
| | | |
| | | index += 8 ; |
| | | index += 4 ; |
| | | cdData.icCardNo = GlParse.parseIcCardNo(bs, index, 6, 2) ; |
| | | |
| | | index += 8 ; |
| | |
| | | cdData.waterRemainUser = ByteUtil.BCD2Long_LE(bs, index, index + 4)/100.0D ; |
| | | |
| | | index += 5 ; |
| | | GlParse.parseAlarmAndState(bs, index, cdData) ; |
| | | GlParse.parseAlarmAndState(bs, index, cdData) ;//四个字节 |
| | | |
| | | } |
| | | |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | */ |
| | | protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { |
| | | DataV202404 dV1 = (DataV202404)data.getSubData() ; |
| | | DataCd86Vo cdData = new DataCd86Vo() ; |
| | | DataCd86Vo cdData = new DataCd86Vo(CodeV202404.getCodeName(dataCode)) ; |
| | | dV1.subData = cdData ; |
| | | int index = ProtocolConstantV206V202404.dataIndex ; |
| | | cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | */ |
| | | protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { |
| | | DataV202404 dV1 = (DataV202404)data.getSubData() ; |
| | | DataCd87Vo cdData = new DataCd87Vo() ; |
| | | DataCd87Vo cdData = new DataCd87Vo(CodeV202404.getCodeName(dataCode)) ; |
| | | dV1.subData = cdData ; |
| | | int index = ProtocolConstantV206V202404.dataIndex ; |
| | | cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | */ |
| | | protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { |
| | | DataV202404 dV1 = (DataV202404)data.getSubData() ; |
| | | DataCd88Vo cdData = new DataCd88Vo() ; |
| | | DataCd88Vo cdData = new DataCd88Vo(CodeV202404.getCodeName(dataCode)) ; |
| | | dV1.subData = cdData ; |
| | | int index = ProtocolConstantV206V202404.dataIndex ; |
| | | cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | */ |
| | | protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { |
| | | DataV202404 dV1 = (DataV202404)data.getSubData() ; |
| | | DataCd8AVo cdData = new DataCd8AVo() ; |
| | | DataCd8AVo cdData = new DataCd8AVo(CodeV202404.getCodeName(dataCode)) ; |
| | | dV1.subData = cdData ; |
| | | int index = ProtocolConstantV206V202404.dataIndex ; |
| | | cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | */ |
| | | protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { |
| | | DataV202404 dV1 = (DataV202404)data.getSubData() ; |
| | | DataCd92_A2Vo cdData = new DataCd92_A2Vo() ; |
| | | DataCd92_A2Vo cdData = new DataCd92_A2Vo(CodeV202404.getCodeName(dataCode)) ; |
| | | dV1.subData = cdData ; |
| | | int index = ProtocolConstantV206V202404.dataIndex ; |
| | | cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | |
| | | MidResultToRtu midRs = new MidResultToRtu() ; |
| | | midRs.protocolName = para.protocolName ;//协议名称 |
| | | midRs.rtuResultSendWebUrl = para.rtuResultSendWebUrl ; |
| | | midRs.rtuAddr = para.rtuAddr ;//Rtu地址 |
| | | midRs.commandId = para.commandId ;//命令ID,发起命令的客户端(web端)生成,以匹配命令结果 |
| | | midRs.downCode = para.commandCode ;//下行命令功能码; |
| | |
| | | */ |
| | | protected void doParse(byte[] bs, int bsLen, String dataCode, Data data) throws Exception { |
| | | DataV202404 dV1 = (DataV202404)data.getSubData() ; |
| | | DataCdC2Vo cdData = new DataCdC2Vo() ; |
| | | DataCdC2Vo cdData = new DataCdC2Vo(CodeV202404.getCodeName(dataCode)) ; |
| | | dV1.subData = cdData ; |
| | | int index = ProtocolConstantV206V202404.dataIndex ; |
| | | cdData.controllerType = ByteUtil.bytes2Hex(bs, false, index, 1) ; |
| | |
| | | GlParse.parseRtuDt(bs, index); |
| | | |
| | | index+= 6 ; |
| | | GlParse.parseAlarmAndState(bs, index, cdData); |
| | | GlParse.parseAlarmAndState(bs, index, cdData);//四个字节 |
| | | } |
| | | } |
| | |
| | | vo.alarmWaterMeterBreak = (byte)(b >> 6 & 1) ; |
| | | vo.alarmEleMeterFault = (byte)(b >> 7 & 1) ; |
| | | |
| | | index++ ; |
| | | b = bs[index] ; |
| | | b = bs[index + 1] ; |
| | | vo.alarm0MoneyRemain = (byte)(b & 0x1) ; |
| | | vo.alarmInnerDoor = (byte)(b >> 1 & 1) ; |
| | | vo.alarmOuterDoor = (byte)(b >> 2 & 1) ; |
| | |
| | | cdData.elePrice = elePrice/100.0D; |
| | | |
| | | index += 2 ; |
| | | GlParse.parseAlarmAndState(bs, index, cdData) ; |
| | | GlParse.parseAlarmAndState(bs, index, cdData) ;//四个字节 |
| | | |
| | | index += 2 ; |
| | | index += 4 ; |
| | | int aVolt = ByteUtil.BCD2Int_LE(bs, index, index + 1) ; |
| | | cdData.aVolt = aVolt/10.0D; |
| | | |
| | |
| | | cdData.thisDuration = ByteUtil.BCD2Int_LE(bs, index, index + 1) ; |
| | | |
| | | index += 2 ; |
| | | GlParse.parseAlarmAndState(bs, index, cdData) ; |
| | | GlParse.parseAlarmAndState(bs, index, cdData) ;//四个字节 |
| | | } |
| | | /** |
| | | * 分析功能93、A3数据 |
| | |
| | | cdData.thisDuration = ByteUtil.BCD2Int_LE(bs, index, index + 1) ; |
| | | |
| | | index += 2 ; |
| | | GlParse.parseAlarmAndState(bs, index, cdData) ; |
| | | GlParse.parseAlarmAndState(bs, index, cdData) ;//四个字节 |
| | | } |
| | | } |
| | |
| | | sb.append(" 剩余水量报警 : ") ; |
| | | sb.append(alarmWaterRemain == null?"未知":(alarmWaterRemain.byteValue() == 0 ? "正常":(alarmWaterRemain.byteValue() == 1 ? "报警":"未知"))) ; |
| | | sb.append("\n") ; |
| | | sb.append(" 剩余水量为0关泵/阀 : ") ; |
| | | sb.append(alarm0WaterRemain == null?"未知":(alarm0WaterRemain.byteValue() == 0 ? "正常":(alarm0WaterRemain.byteValue() == 1 ? "剩余水量为0关泵/阀":"未知"))) ; |
| | | sb.append(" 剩余0水量关泵/阀 : ") ; |
| | | sb.append(alarm0WaterRemain == null?"未知":(alarm0WaterRemain.byteValue() == 0 ? "正常":(alarm0WaterRemain.byteValue() == 1 ? "关泵/阀":"未知"))) ; |
| | | sb.append("\n") ; |
| | | sb.append(" 年度超采 : ") ; |
| | | sb.append(alarmExceedYear == null?"未知":(alarmExceedYear.byteValue() == 0 ? "正常":(alarmExceedYear.byteValue() == 1 ? "报警":"未知"))) ; |
| | |
| | | sb.append(" 电表故障 : ") ; |
| | | sb.append(alarmEleMeterFault == null?"未知":(alarmEleMeterFault.byteValue() == 0 ? "正常":(alarmEleMeterFault.byteValue() == 1 ? "报警":"未知"))) ; |
| | | sb.append("\n") ; |
| | | sb.append(" 剩余0金额 : ") ; |
| | | sb.append(alarm0MoneyRemain == null?"未知":(alarm0MoneyRemain.byteValue() == 0 ? "正常":(alarm0MoneyRemain.byteValue() == 1 ? "报警":"未知"))) ; |
| | | sb.append(" 剩余0金额关泵/阀 : ") ; |
| | | sb.append(alarm0MoneyRemain == null?"未知":(alarm0MoneyRemain.byteValue() == 0 ? "正常":(alarm0MoneyRemain.byteValue() == 1 ? "关泵/阀":"未知"))) ; |
| | | sb.append("\n") ; |
| | | sb.append(" 控制器内门 : ") ; |
| | | sb.append(alarmInnerDoor == null?"未知":(alarmInnerDoor.byteValue() == 0 ? "正常":(alarmInnerDoor.byteValue() == 1 ? "报警":"未知"))) ; |
| | |
| | | sb.append(" 三相电欠压 : ") ; |
| | | sb.append(alarmEleLowVolt == null?"未知":(alarmEleLowVolt.byteValue() == 0 ? "正常":(alarmEleLowVolt.byteValue() == 1 ? "报警":"未知"))) ; |
| | | sb.append("\n") ; |
| | | sb.append(" IC卡使能 : ") ; |
| | | sb.append(stateIcEnable == null?"未知":(stateIcEnable.byteValue() == 0 ? "支持":(stateIcEnable.byteValue() == 1 ? "不支持":"未知"))) ; |
| | | sb.append(" IC卡功能 : ") ; |
| | | sb.append(stateIcEnable == null?"未知":(stateIcEnable.byteValue() == 0 ? "不支持":(stateIcEnable.byteValue() == 1 ? "支持":"未知"))) ; |
| | | sb.append("\n") ; |
| | | |
| | | return sb.toString() ; |
| | |
| | | public Integer projectNo ;//项目编号: |
| | | public String status ;//保持在线状态: F0 登录,F1 退出登录,F2 在线保持 |
| | | |
| | | public String comName ;//命令名称 |
| | | |
| | | public DataCd02Vo(String comName){ |
| | | this.comName = comName ; |
| | | } |
| | | |
| | | public String toString(){ |
| | | StringBuffer sb = new StringBuffer() ; |
| | | sb.append(" 链路检测 : \n") ; |
| | | sb.append(" " + comName + " : \n") ; |
| | | sb.append(" 请求状态 : ") ; |
| | | sb.append(status == null?"未知":(status.equals("F0")?"登录":(status.equals("F1")?"退出登录":(status.equals("F2")?"在线保持":status)))) ; |
| | | sb.append("\n") ; |
| | |
| | | public Integer projectNo ;//项目编号: |
| | | public String rtuNewAddr ;//控制器新地址 |
| | | |
| | | public String comName ;//命令名称 |
| | | |
| | | public DataCd10Vo(String comName){ |
| | | this.comName = comName ; |
| | | } |
| | | |
| | | public String toString(){ |
| | | StringBuffer sb = new StringBuffer() ; |
| | | sb.append(" 设置终端地址应答 : \n") ; |
| | | sb.append(" " + comName + " : \n") ; |
| | | sb.append(" 控制器类型 : ") ; |
| | | sb.append(controllerType == null?"未知":(controllerType.equals("01")?"测控一体阀":(controllerType.equals("57")?"井电控制器":"未知"))) ; |
| | | sb.append("\n") ; |
| | |
| | | public Integer projectNo ;//项目编号: |
| | | public String rtuAddr;//控制器新地址 |
| | | |
| | | public String comName ;//命令名称 |
| | | |
| | | public DataCd50Vo(String comName){ |
| | | this.comName = comName ; |
| | | } |
| | | |
| | | public String toString(){ |
| | | StringBuffer sb = new StringBuffer() ; |
| | | sb.append(" 设置终端地址应答 : \n") ; |
| | | sb.append(" " + comName + " : \n") ; |
| | | sb.append(" 控制器类型 : ") ; |
| | | sb.append(controllerType == null?"未知":(controllerType.equals("01")?"测控一体阀":(controllerType.equals("57")?"井电控制器":"未知"))) ; |
| | | sb.append("\n") ; |
| | |
| | | public Boolean success ;//命令结果(true成功, false失败) |
| | | public String dt ;//充值时间(yyyy-mm-dd HH:mm:ss) |
| | | |
| | | public String comName ;//命令名称 |
| | | |
| | | public DataCd55Vo(String comName){ |
| | | this.comName = comName ; |
| | | } |
| | | |
| | | public String toString(){ |
| | | StringBuffer sb = new StringBuffer() ; |
| | | sb.append(" 查询设备终端充值记录 : \n") ; |
| | | sb.append(" " + comName + " : \n") ; |
| | | sb.append(" 控制器类型 : ") ; |
| | | sb.append(controllerType == null?"未知":(controllerType.equals("01")?"测控一体阀":(controllerType.equals("57")?"井电控制器":"未知"))) ; |
| | | sb.append("\n") ; |
| | |
| | | public Integer waterAlarm ;//剩余水量报警值,单位:m3。整数,取值范围0~65535 |
| | | public Integer moneyAlarm ;//剩余金额报警值,单位:元。整数,取值范围0~65535 |
| | | |
| | | public String comName ;//命令名称 |
| | | |
| | | public DataCd56Vo(String comName){ |
| | | this.comName = comName ; |
| | | } |
| | | |
| | | public String toString(){ |
| | | StringBuffer sb = new StringBuffer() ; |
| | | sb.append(" 查询设备终端剩余水量和剩余金额报警值 : \n") ; |
| | | sb.append(" " + comName + " : \n") ; |
| | | sb.append(" 控制器类型 : ") ; |
| | | sb.append(controllerType == null?"未知":(controllerType.equals("01")?"测控一体阀":(controllerType.equals("57")?"井电控制器":"未知"))) ; |
| | | sb.append("\n") ; |
| | |
| | | public Double farmerAmountDay ;//当日用户用水量,2个小数点 |
| | | public Double lossAmountDay ;//当日漏损水量,2个小数点 |
| | | |
| | | public String comName ;//命令名称 |
| | | |
| | | public DataCd5CVo(String comName){ |
| | | this.comName = comName ; |
| | | } |
| | | |
| | | public String toString(){ |
| | | StringBuffer sb = new StringBuffer() ; |
| | | sb.append(" 查询设备终端的历史日记录 : \n") ; |
| | | sb.append(" " + comName + " : \n") ; |
| | | sb.append(" 控制器类型 : ") ; |
| | | sb.append(controllerType == null?"未知":(controllerType.equals("01")?"测控一体阀":(controllerType.equals("57")?"井电控制器":"未知"))) ; |
| | | sb.append("\n") ; |
| | |
| | | public String rtuEndDt ;//本次结束时间 (yyyy-mm-dd HH:MM:SS) |
| | | public Byte useWaterType ;//用水方式(0x00:正常刷卡开泵/阀用水 0x01:平台远程开泵/阀用水 0x02:用户远程开泵/阀用水 0x03:测试卡,0x04:其它) |
| | | |
| | | public String comName ;//命令名称 |
| | | |
| | | public DataCd65Vo(String comName){ |
| | | this.comName = comName ; |
| | | } |
| | | |
| | | public String toString(){ |
| | | StringBuffer sb = new StringBuffer() ; |
| | | sb.append(" 查询设备终端用户用水记录 : \n") ; |
| | | sb.append(" " + comName + " : \n") ; |
| | | sb.append(" 控制器类型 : ") ; |
| | | sb.append(controllerType == null?"未知":(controllerType.equals("01")?"测控一体阀":(controllerType.equals("57")?"井电控制器":"未知"))) ; |
| | | sb.append("\n") ; |
| | |
| | | public Integer maxAmountYear ;//机井年最大用水量 单位:m3 整数,取值范围0~99999999 |
| | | public Double limitLevel ;//水位下限 单位:m 取值范围:0~9999.99 |
| | | |
| | | public String comName ;//命令名称 |
| | | |
| | | public DataCd68Vo(String comName){ |
| | | this.comName = comName ; |
| | | } |
| | | |
| | | public String toString(){ |
| | | StringBuffer sb = new StringBuffer() ; |
| | | sb.append(" 查询机井年最大开采量和水位下限 : \n") ; |
| | | sb.append(" " + comName + " : \n") ; |
| | | sb.append(" 控制器类型 : ") ; |
| | | sb.append(controllerType == null?"未知":(controllerType.equals("01")?"测控一体阀":(controllerType.equals("57")?"井电控制器":"未知"))) ; |
| | | sb.append("\n") ; |
| | |
| | | public Integer projectNo ;//项目编号: |
| | | public String rtuDt ;//设备上报的日期时间(yyyy-mm-dd HH:MM:SS) |
| | | |
| | | public String comName ;//命令名称 |
| | | |
| | | public DataCd81Vo(String comName){ |
| | | this.comName = comName ; |
| | | } |
| | | |
| | | public String toString(){ |
| | | StringBuffer sb = new StringBuffer() ; |
| | | sb.append(" 设备终端随机自报 : \n") ; |
| | | sb.append(" " + comName + " : \n") ; |
| | | sb.append(" 控制器类型 : ") ; |
| | | sb.append(controllerType == null?"未知":(controllerType.equals("01")?"测控一体阀":(controllerType.equals("57")?"井电控制器":"未知"))) ; |
| | | sb.append("\n") ; |
| | |
| | | sb.append(" 设备时钟 : ") ; |
| | | sb.append(rtuDt == null?"未知":rtuDt) ; |
| | | sb.append("\n") ; |
| | | sb.append(" 泵状态 : ") ; |
| | | sb.append(statePump == null?"未知":(statePump.byteValue()==1?"泵/阀开":(statePump.byteValue()==0?"泵/阀关":"未知"))) ; |
| | | sb.append("\n") ; |
| | | sb.append(" 剩余水量报警 : ") ; |
| | | sb.append(alarmWaterRemain == null?"未知":(alarmWaterRemain.byteValue()==1?"小于报警上限":(alarmWaterRemain.byteValue()==0?"正常":"未知"))) ; |
| | | sb.append("\n") ; |
| | | sb.append(" 剩余水量为0关泵/阀 : ") ; |
| | | sb.append(alarm0WaterRemain == null?"未知":(alarm0WaterRemain.byteValue()==1?"归零关泵/阀":(alarm0WaterRemain.byteValue()==0?"正常":"未知"))) ; |
| | | sb.append("\n") ; |
| | | sb.append(" 年度超采 : ") ; |
| | | sb.append(alarmExceedYear == null?"未知":(alarmExceedYear.byteValue()==1?"报警":(alarmExceedYear.byteValue()==0?"正常":"未知"))) ; |
| | | sb.append("\n") ; |
| | | sb.append(" 外部流量计故障 : ") ; |
| | | sb.append(alarmWaterMeterFault == null?"未知":(alarmWaterMeterFault.byteValue()==1?"报警":(alarmWaterMeterFault.byteValue()==0?"正常":"未知"))) ; |
| | | sb.append("\n") ; |
| | | sb.append(" 偷水 : ") ; |
| | | sb.append(alarmSteal == null?"未知":(alarmSteal.byteValue()==1?"报警":(alarmSteal.byteValue()==0?"正常":"未知"))) ; |
| | | sb.append("\n") ; |
| | | sb.append(" 流量计损坏 : ") ; |
| | | sb.append(alarmWaterMeterBreak == null?"未知":(alarmWaterMeterBreak.byteValue()==1?"报警":(alarmWaterMeterBreak.byteValue()==0?"正常":"未知"))) ; |
| | | sb.append("\n") ; |
| | | sb.append(" 电表故障 : ") ; |
| | | sb.append(alarmEleMeterFault == null?"未知":(alarmEleMeterFault.byteValue()==1?"报警":(alarmEleMeterFault.byteValue()==0?"正常":"未知"))) ; |
| | | sb.append("\n") ; |
| | | sb.append(" 剩余金额为0关泵/阀 : ") ; |
| | | sb.append(alarm0MoneyRemain == null?"未知":(alarm0MoneyRemain.byteValue()==1?"报警":(alarm0MoneyRemain.byteValue()==0?"正常":"未知"))) ; |
| | | sb.append("\n") ; |
| | | sb.append(" 控制器内门 : ") ; |
| | | sb.append(alarmInnerDoor == null?"未知":(alarmInnerDoor.byteValue()==1?"报警":(alarmInnerDoor.byteValue()==0?"正常":"未知"))) ; |
| | | sb.append("\n") ; |
| | | sb.append(" 控制器外门 : ") ; |
| | | sb.append(alarmOuterDoor == null?"未知":(alarmOuterDoor.byteValue()==1?"报警":(alarmOuterDoor.byteValue()==0?"正常":"未知"))) ; |
| | | sb.append("\n") ; |
| | | sb.append(" 交流缺项 : ") ; |
| | | sb.append(alarmEleMiss == null?"未知":(alarmEleMiss.byteValue()==1?"报警":(alarmEleMiss.byteValue()==0?"正常":"未知"))) ; |
| | | sb.append("\n") ; |
| | | sb.append(" 交流过流 : ") ; |
| | | sb.append(alarmEleExceed == null?"未知":(alarmEleExceed.byteValue()==1?"报警":(alarmEleExceed.byteValue()==0?"正常":"未知"))) ; |
| | | sb.append("\n") ; |
| | | sb.append(" 三相电欠压 : ") ; |
| | | sb.append(alarmEleLowVolt == null?"未知":(alarmEleLowVolt.byteValue()==1?"报警":(alarmEleLowVolt.byteValue()==0?"正常":"未知"))) ; |
| | | sb.append("\n") ; |
| | | sb.append(" IC卡使能 : ") ; |
| | | sb.append(stateIcEnable == null?"未知":(stateIcEnable.byteValue()==1?"支持":(stateIcEnable.byteValue()==0?"不支持":"未知"))) ; |
| | | sb.append("\n") ; |
| | | return sb.toString() ; |
| | | return sb.toString() + super.toString() ; |
| | | } |
| | | |
| | | } |
| | |
| | | public Double batteryVolt ;//后备电池电压 |
| | | public Double rtuDt ;//上报时间(yyyy-mm-dd HH) |
| | | |
| | | public String comName ;//命令名称 |
| | | |
| | | public DataCd83Vo(String comName){ |
| | | this.comName = comName ; |
| | | } |
| | | |
| | | public String toString(){ |
| | | StringBuffer sb = new StringBuffer() ; |
| | | sb.append(" 机井定点上报(每天12点上报) : \n") ; |
| | | sb.append(" " + comName + " : \n") ; |
| | | sb.append(" 控制器类型 : ") ; |
| | | sb.append(controllerType == null?"未知":(controllerType.equals("01")?"测控一体阀":(controllerType.equals("57")?"井电控制器":"未知"))) ; |
| | | sb.append("\n") ; |
| | |
| | | public Double moneyRemainUser ;//用户剩余金额, 单位0.01元 |
| | | public Double waterRemainUser ;//用户剩余水量, 单位0.01m3 |
| | | |
| | | public String comName ;//命令名称 |
| | | |
| | | public DataCd84Vo(String comName){ |
| | | this.comName = comName ; |
| | | } |
| | | |
| | | public String toString(){ |
| | | StringBuffer sb = new StringBuffer() ; |
| | | sb.append(" 机井定点上报(每天12点上报) : \n") ; |
| | | sb.append(" " + comName + " : \n") ; |
| | | sb.append(" 控制器类型 : ") ; |
| | | sb.append(controllerType == null?"未知":(controllerType.equals("01")?"测控一体阀":(controllerType.equals("57")?"井电控制器":"未知"))) ; |
| | | sb.append("\n") ; |
| | |
| | | |
| | | public String toString(){ |
| | | StringBuffer sb = new StringBuffer() ; |
| | | sb.append(" 平台/APP远程关闭水泵/阀门 : \n") ; |
| | | sb.append(" " + comName + " : \n") ; |
| | | sb.append(" 控制器类型 : ") ; |
| | | sb.append(controllerType == null?"未知":(controllerType.equals("01")?"测控一体阀":(controllerType.equals("57")?"井电控制器":"未知"))) ; |
| | | sb.append("\n") ; |
| | |
| | | public String ip ;//IP |
| | | public Integer port ;//端口号 |
| | | |
| | | public String comName ;//命令名称 |
| | | |
| | | public DataCd86Vo(String comName){ |
| | | this.comName = comName ; |
| | | } |
| | | |
| | | public String toString(){ |
| | | StringBuffer sb = new StringBuffer() ; |
| | | sb.append(" 查询控制器IP地址 : \n") ; |
| | | sb.append(" " + comName + " : \n") ; |
| | | sb.append(" 控制器类型 : ") ; |
| | | sb.append(controllerType == null?"未知":(controllerType.equals("01")?"测控一体阀":(controllerType.equals("57")?"井电控制器":"未知"))) ; |
| | | sb.append("\n") ; |
| | |
| | | public String domain ;//域名 |
| | | public Integer port ;//端口号 |
| | | |
| | | public String comName ;//命令名称 |
| | | |
| | | public DataCd87Vo(String comName){ |
| | | this.comName = comName ; |
| | | } |
| | | |
| | | public String toString(){ |
| | | StringBuffer sb = new StringBuffer() ; |
| | | sb.append(" 查询控制器域名 : \n") ; |
| | | sb.append(" " + comName + " : \n") ; |
| | | sb.append(" 控制器类型 : ") ; |
| | | sb.append(controllerType == null?"未知":(controllerType.equals("01")?"测控一体阀":(controllerType.equals("57")?"井电控制器":"未知"))) ; |
| | | sb.append("\n") ; |
| | |
| | | public Integer projectNo ;//项目编号: |
| | | public String registerNo ;//注册号(16字节hex) |
| | | |
| | | public String comName ;//命令名称 |
| | | |
| | | public DataCd88Vo(String comName){ |
| | | this.comName = comName ; |
| | | } |
| | | |
| | | public String toString(){ |
| | | StringBuffer sb = new StringBuffer() ; |
| | | sb.append(" 查询控制器域名 : \n") ; |
| | | sb.append(" " + comName + " : \n") ; |
| | | sb.append(" 控制器类型 : ") ; |
| | | sb.append(controllerType == null?"未知":(controllerType.equals("01")?"测控一体阀":(controllerType.equals("57")?"井电控制器":"未知"))) ; |
| | | sb.append("\n") ; |
| | |
| | | public Float hardVersion ;//硬件版本号 |
| | | public Float protocolVersion ;//协议版本号 |
| | | |
| | | public String comName ;//命令名称 |
| | | |
| | | public DataCd8AVo(String comName){ |
| | | this.comName = comName ; |
| | | } |
| | | |
| | | public String toString(){ |
| | | StringBuffer sb = new StringBuffer() ; |
| | | sb.append(" 设备登录 : \n") ; |
| | | sb.append(" " + comName + " : \n") ; |
| | | sb.append(" 控制器类型 : ") ; |
| | | sb.append(controllerType == null?"未知":(controllerType.equals("01")?"测控一体阀":(controllerType.equals("57")?"井电控制器":"未知"))) ; |
| | | sb.append("\n") ; |
| | |
| | | public Byte opType ;//开阀类型: 01:平台开泵/阀 02:用户开泵/阀 |
| | | public Byte opResult ;//开启泵/阀结果: 0x00:成功 0x81:失败 |
| | | |
| | | public String comName ;//命令名称 |
| | | |
| | | public DataCd92_A2Vo(String comName){ |
| | | this.comName = comName ; |
| | | } |
| | | |
| | | public String toString(){ |
| | | StringBuffer sb = new StringBuffer() ; |
| | | sb.append(" 平台/APP远程关闭水泵/阀门 : \n") ; |
| | | sb.append(" " + comName + " : \n") ; |
| | | sb.append(" 控制器类型 : ") ; |
| | | sb.append(controllerType == null?"未知":(controllerType.equals("01")?"测控一体阀":(controllerType.equals("57")?"井电控制器":"未知"))) ; |
| | | sb.append("\n") ; |
| | |
| | | this.comName = comName ; |
| | | } |
| | | |
| | | |
| | | public String toString(){ |
| | | StringBuffer sb = new StringBuffer() ; |
| | | sb.append(" 平台/APP远程关闭水泵/阀门 : \n") ; |
| | | sb.append(" " + comName + " : \n") ; |
| | | sb.append(" 控制器类型 : ") ; |
| | | sb.append(controllerType == null?"未知":(controllerType.equals("01")?"测控一体阀":(controllerType.equals("57")?"井电控制器":"未知"))) ; |
| | | sb.append("\n") ; |
| | |
| | | public Boolean success ;//执行结果(true成功, false失败) |
| | | public String rutDt ;//设备时钟 |
| | | |
| | | public String comName ;//命令名称 |
| | | |
| | | public DataCdC2Vo(String comName){ |
| | | this.comName = comName ; |
| | | } |
| | | |
| | | public String toString(){ |
| | | StringBuffer sb = new StringBuffer() ; |
| | | sb.append(" 开关水泵/阀门结果上报 : \n") ; |
| | | sb.append(" " + comName + " : \n") ; |
| | | sb.append(" 控制器类型 : ") ; |
| | | sb.append(controllerType == null?"未知":(controllerType.equals("01")?"测控一体阀":(controllerType.equals("57")?"井电控制器":"未知"))) ; |
| | | sb.append("\n") ; |
| | |
| | | } |
| | | |
| | | public void deal(Data data) { |
| | | if (data.rtuResultSendWebUrl != null && data.rtuResultSendWebUrl.trim().equals("")) { |
| | | if (data.rtuResultSendWebUrl != null && !data.rtuResultSendWebUrl.trim().equals("")) { |
| | | String url = UriComponentsBuilder.fromUriString(data.rtuResultSendWebUrl) |
| | | .build() |
| | | .toUriString(); |
| | |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | assert response != null; |
| | | //assert response != null; |
| | | } else { |
| | | log.error("严重错误,在com.dy.aceMw.web.comResult.CommandResultDeal里,处理的是RTU命令结果Node,但数据中rtuResultSendWebUrl为空"); |
| | | } |
| | |
| | | <base |
| | | isLowPower="false" |
| | | onlyOneProtocol="true" |
| | | downComandMaxResendTimes="3" |
| | | downComandMaxResendTimes="1" |
| | | commandSendInterval="3" |
| | | cachWaitResultTimeout="60" |
| | | offLineCachTimeout="86400" |
| | |
| | | package com.dy.pipIrrMwTestWeb; |
| | | |
| | | import com.dy.common.webUtil.BaseResponse; |
| | | import com.dy.pipIrrMwTestWeb.test.Test; |
| | | import com.dy.pipIrrMwTestWeb.test.CommandCtrl; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.boot.CommandLineRunner; |
| | | import org.springframework.boot.SpringApplication; |
| | |
| | | }) |
| | | } |
| | | ) |
| | | public class PipIrrMwTestWebApplication implements CommandLineRunner { |
| | | public class PipIrrMwTestWebApplication{ |
| | | |
| | | @Autowired |
| | | private Test test ; |
| | | private CommandCtrl test ; |
| | | |
| | | public static void main(String[] args) { |
| | | SpringApplication.run(PipIrrMwTestWebApplication.class, args); |
| | | } |
| | | /** |
| | | * Spring容器启动完成后,执行下面方法 |
| | | * @param args 参数 |
| | | * @throws Exception 异常 |
| | | */ |
| | | @Override |
| | | public void run(String... args) throws Exception { |
| | | BaseResponse res = test.test() ; |
| | | System.out.println(res.toString()); |
| | | } |
| | | |
| | | } |
File was renamed from pipIrr-platform/pipIrr-web/pipIrr-mwTest-web/src/main/java/com/dy/pipIrrMwTestWeb/test/TestSupport.java |
| | |
| | | * @Date: 2024/5/14 17:32 |
| | | * @Description |
| | | */ |
| | | public class TestSupport { |
| | | public class ComSupport { |
| | | protected static String mwUrlTest = "http://127.0.0.1:8070/rtuMw/com/test" ; |
| | | protected static String mwUrlSendCom = "http://127.0.0.1:8070/rtuMw/com/send" ; |
| | | |
| | | protected static String rtuAddr = "37142501020100215" ; |
| | | protected static String rtuResultSendWebUrl = "http://127.0.0.1:8080/test" ; |
| | | protected static String rtuResultSendWebUrl = "http://127.0.0.1:65535/test/comRes/receive" ; |
| | | |
| | | protected static String controllerType = "57" ; |
| | | protected static Integer projectNo = 10 ; |
| | | protected static String controllerType = "57" ;//控制器类型 |
| | | protected static Integer projectNo = 10 ;//项目编码 |
| | | |
| | | protected static String icCardAddr = "04BEA5BB" ; |
| | | protected static String icCardNo = "04BEA5BB" ; |
| | | protected static String icCardAddr = "04BEA5BB" ;//IC卡地址 |
| | | protected static String icCardNo = "37142501020500001" ;//IC卡编号(用户卡序列号) |
| | | |
| | | |
| | | private RestTemplate restTemplate; |
| | | |
| | | @Autowired |
| | | public void setRestTemplate(RestTemplate restTemplate){ |
| | | this.restTemplate = restTemplate ; |
| | | } |
| | | private RestTemplate restTemplate; |
| | | |
| | | |
| | | protected ComCdXyVo comCdXyVo(){ |
| | | ComCdXyVo comVo = new ComCdXyVo() ; |
| | |
| | | com.code = code ; |
| | | com.rtuAddr = rtuAddr ; |
| | | com.type = CommandType.outerCommand ; |
| | | com.noRtMwDealRes = false ; |
| | | com.rtuResultSendWebUrl = rtuResultSendWebUrl ; |
| | | |
| | | com.param = param ; |
| | |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | assert response != null; |
| | | return response.getBody(); |
| | | } |
| | | |
| | |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | assert response != null; |
| | | return response.getBody(); |
| | | } |
| | | |
New file |
| | |
| | | package com.dy.pipIrrMwTestWeb.test; |
| | | |
| | | import com.dy.common.mw.protocol.p206V202404.CodeV202404; |
| | | import com.dy.common.mw.protocol.p206V202404.downVos.*; |
| | | import com.dy.common.webUtil.BaseResponse; |
| | | import com.dy.common.webUtil.BaseResponseUtils; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | /** |
| | | * @Author: liurunyu |
| | | * @Date: 2024/5/14 14:20 |
| | | * @Description |
| | | */ |
| | | @Slf4j |
| | | @RestController |
| | | @RequestMapping(path="com") |
| | | @SuppressWarnings("unchecked")//java版本越高,对泛型约束越严,所以配置SuppressWarnings("unchecked") |
| | | public class CommandCtrl extends ComSupport { |
| | | |
| | | @GetMapping(path = "test") |
| | | public BaseResponse<String> test() { |
| | | //return this.connect() ;//连接通信中间件测试 |
| | | return this.cdXY(CodeV202404.cd_30) ;//发送固定参数XY的命令 |
| | | //return this.cd55(1) ; |
| | | //return this.cd15() ; |
| | | //return this.cd16() ; |
| | | //return this.cd22() ; |
| | | //return this.cd31() ; |
| | | } |
| | | |
| | | /** |
| | | * 测试连通性 |
| | | * @return |
| | | */ |
| | | private BaseResponse connect(){ |
| | | return this.sendTest() ; |
| | | } |
| | | |
| | | //发送固定参数的命令 |
| | | private BaseResponse cdXY(String code){ |
| | | return this.sendCom2Mw(this.command(code, this.comCdXyVo(), null)) ; |
| | | } |
| | | |
| | | //设置终端地址(AFN=0x10H) |
| | | private BaseResponse cd10(){ |
| | | ComCd10Vo comVo = new ComCd10Vo() ; |
| | | comVo.controllerType = CommandCtrl.controllerType ; |
| | | comVo.projectNo = CommandCtrl.projectNo ; |
| | | comVo.rtuNewAddr = CommandCtrl.rtuAddr ; |
| | | return this.sendCom2Mw(this.command(CodeV202404.cd_10, comVo, null)) ; |
| | | } |
| | | //远程用户充值 (AFN=0x15H) |
| | | private BaseResponse cd15(){ |
| | | ComCd15Vo comVo = new ComCd15Vo() ; |
| | | comVo.controllerType = CommandCtrl.controllerType ; |
| | | comVo.projectNo = CommandCtrl.projectNo ; |
| | | comVo.icCardAddr = CommandCtrl.icCardAddr ;//IC卡地址(8位数字或字母) |
| | | comVo.icCardNo = CommandCtrl.icCardNo ;//用户卡序列号(17位数字)(6字节BCD,2字节HEX) |
| | | comVo.chargeMoney = 20.0 ;//单位:元 2位小数点(最大值 99999999.99) |
| | | comVo.chargeWater = 20.0 ;//单位:m3 2位小数点(最大值 99999999.99) |
| | | comVo.flowNo = "123456789012" ;//流水号(12位数字) |
| | | |
| | | return this.sendCom2Mw(this.command(CodeV202404.cd_15, comVo, null)) ; |
| | | } |
| | | //设置设备终端剩余水量和剩余金额报警值 (AFN=0x16H) |
| | | private BaseResponse cd16(){ |
| | | ComCd16Vo comVo = new ComCd16Vo() ; |
| | | comVo.controllerType = CommandCtrl.controllerType ; |
| | | comVo.projectNo = CommandCtrl.projectNo ; |
| | | comVo.waterAlarm = 100 ;//剩余水量报警值,单位:m3。整数,取值范围0~9999 |
| | | comVo.moneyAlarm = 3 ;//剩余金额报警值,单位:元。整数,取值范围0~9999 |
| | | |
| | | return this.sendCom2Mw(this.command(CodeV202404.cd_16, comVo, null)) ; |
| | | } |
| | | //设置设备终端IP地址 (AFN=0x21H) |
| | | private BaseResponse cd21(){ |
| | | ComCd21Vo comVo = new ComCd21Vo() ; |
| | | comVo.controllerType = CommandCtrl.controllerType ; |
| | | comVo.projectNo = CommandCtrl.projectNo ; |
| | | comVo.channel = 1 ;//IP通道号(取值范围 1、2). |
| | | comVo.ip = "111.222.123.321" ;//IP(例如 125.235.35.89) |
| | | comVo.port = 60000 ;///端口号(0~65536) |
| | | |
| | | return this.sendCom2Mw(this.command(CodeV202404.cd_21, comVo, null)) ; |
| | | } |
| | | //设置机井年最大开采量和水位下限 (AFN=0x22H) |
| | | private BaseResponse cd22(){ |
| | | ComCd22Vo comVo = new ComCd22Vo() ; |
| | | comVo.controllerType = CommandCtrl.controllerType ; |
| | | comVo.projectNo = CommandCtrl.projectNo ; |
| | | comVo.maxAmountYear = 12345 ;//机井年最大用水量单位:m3 整数,取值范围0~99999999 |
| | | comVo.limitLevel = 123.4; //水位下限 单位:m 取值范围:0~9999.99 |
| | | |
| | | return this.sendCom2Mw(this.command(CodeV202404.cd_22, comVo, null)) ; |
| | | } |
| | | //设置设备终端域名(AFN=0x23H) |
| | | private BaseResponse cd23(){ |
| | | ComCd23Vo comVo = new ComCd23Vo() ; |
| | | comVo.controllerType = CommandCtrl.controllerType ; |
| | | comVo.projectNo = CommandCtrl.projectNo ; |
| | | comVo.channel = 1 ;//IP通道号(取值范围 1、2). |
| | | comVo.domain = "www.baidu.com" ;//域名(例如 dayuyanjiuyuan.to),最大长度42字符 |
| | | comVo.port = 60000 ;///端口号(0~65536) |
| | | |
| | | return this.sendCom2Mw(this.command(CodeV202404.cd_23, comVo, null)) ; |
| | | } |
| | | //设置设备终端注册号(AFN=0x24H) |
| | | private BaseResponse cd24(){ |
| | | ComCd24Vo comVo = new ComCd24Vo() ; |
| | | comVo.controllerType = CommandCtrl.controllerType ; |
| | | comVo.projectNo = CommandCtrl.projectNo ; |
| | | comVo.registerNo = "102030405060708090" ;//域名(例如 dayuyanjiuyuan.to),最大长度42字符 |
| | | |
| | | return this.sendCom2Mw(this.command(CodeV202404.cd_24, comVo, null)) ; |
| | | } |
| | | //设置设备终端年用水量(AFN=0x24H) |
| | | private BaseResponse cd26(){ |
| | | ComCd26Vo comVo = new ComCd26Vo() ; |
| | | comVo.controllerType = CommandCtrl.controllerType ; |
| | | comVo.projectNo = CommandCtrl.projectNo ; |
| | | comVo.ipChannel = 1 ;//IP通道号 0x01:1通道 0x02:2通道. |
| | | comVo.maxAmountYear = 123456 ;//设备终端年用水量 单位:m3 整数,取值范围0~99999999 |
| | | |
| | | return this.sendCom2Mw(this.command(CodeV202404.cd_26, comVo, null)) ; |
| | | } |
| | | //设置设备终端用水有效(AFN=0x31H) |
| | | private BaseResponse cd31(){ |
| | | ComCd31Vo comVo = new ComCd31Vo() ; |
| | | comVo.controllerType = CommandCtrl.controllerType ; |
| | | comVo.projectNo = CommandCtrl.projectNo ; |
| | | comVo.valid = false ;//有效性 |
| | | |
| | | return this.sendCom2Mw(this.command(CodeV202404.cd_31, comVo, null)) ; |
| | | } |
| | | //查询遥测终端充值记录 (AFN=0x55H) |
| | | private BaseResponse cd55(int page){ |
| | | ComCd55Vo comVo = new ComCd55Vo() ; |
| | | comVo.controllerType = CommandCtrl.controllerType ; |
| | | comVo.projectNo = CommandCtrl.projectNo ; |
| | | comVo.page = page ;//分页(取值范围1、2、3、4、5、6、7、8、9) |
| | | |
| | | return this.sendCom2Mw(this.command(CodeV202404.cd_55, comVo, null)) ; |
| | | } |
| | | //查询设备终端用户用水记录(AFN=0x65H) |
| | | private BaseResponse cd65(int page){ |
| | | ComCd65Vo comVo = new ComCd65Vo() ; |
| | | comVo.controllerType = CommandCtrl.controllerType ; |
| | | comVo.projectNo = CommandCtrl.projectNo ; |
| | | comVo.page = page ; |
| | | return this.sendCom2Mw(this.command(CodeV202404.cd_65, comVo, null)) ; |
| | | } |
| | | //查询控制器IP地址(AFN=0x86H) |
| | | private BaseResponse cd86(){ |
| | | ComCd86Vo comVo = new ComCd86Vo() ; |
| | | comVo.controllerType = CommandCtrl.controllerType ; |
| | | comVo.projectNo = CommandCtrl.projectNo ; |
| | | comVo.channel = 1 ;//IP通道号(取值范围 1、2). |
| | | return this.sendCom2Mw(this.command(CodeV202404.cd_86, comVo, null)) ; |
| | | } |
| | | //查询控制器域名(AFN=0x87H) |
| | | private BaseResponse cd87(){ |
| | | ComCd87Vo comVo = new ComCd87Vo() ; |
| | | comVo.controllerType = CommandCtrl.controllerType ; |
| | | comVo.projectNo = CommandCtrl.projectNo ; |
| | | comVo.channel = 1 ;//IP通道号(取值范围 1、2). |
| | | return this.sendCom2Mw(this.command(CodeV202404.cd_87, comVo, null)) ; |
| | | } |
| | | //平台/APP远程开启水泵/阀门(AFN=0x92H/AFN=0xA2H) |
| | | private BaseResponse cd92(){ |
| | | ComCd92_A2Vo comVo = new ComCd92_A2Vo() ; |
| | | comVo.controllerType = CommandCtrl.controllerType ; |
| | | comVo.projectNo = CommandCtrl.projectNo ; |
| | | //comVo.icCardAddr = Test.icCardAddr ;//IC卡地址(8位数字或字母) |
| | | comVo.icCardNo = CommandCtrl.icCardNo ;//用户卡序列号(17位数字)(6字节BCD,2字节HEX) |
| | | comVo.waterRemain = 123.45 ;//单位:元 2位小数点(最大值 99999999.99) |
| | | comVo.moneyRemain = 234.56 ;//单位:m3 2位小数点(最大值 99999999.99) |
| | | comVo.waterPrice = 0.8 ;//水量单价 单位:元, 2个小数点 |
| | | comVo.elePrice = 1.2 ;//电量单价 单位:元, 2个小数点 |
| | | comVo.orderNo = "1234567890123456" ;//订单号(16位数字) |
| | | |
| | | return this.sendCom2Mw(this.command(CodeV202404.cd_92, comVo, null)) ; |
| | | } |
| | | //平台/APP远程开启水泵/阀门(AFN=0x92H/AFN=0xA2H) |
| | | private BaseResponse cdA2(){ |
| | | ComCd92_A2Vo comVo = new ComCd92_A2Vo() ; |
| | | comVo.controllerType = CommandCtrl.controllerType ; |
| | | comVo.projectNo = CommandCtrl.projectNo ; |
| | | //comVo.icCardAddr = Test.icCardAddr ;//IC卡地址(8位数字或字母) |
| | | comVo.icCardNo = CommandCtrl.icCardNo ;//用户卡序列号(17位数字)(6字节BCD,2字节HEX) |
| | | comVo.waterRemain = 123.45 ;//单位:元 2位小数点(最大值 99999999.99) |
| | | comVo.moneyRemain = 234.56 ;//单位:m3 2位小数点(最大值 99999999.99) |
| | | comVo.waterPrice = 0.8 ;//水量单价 单位:元, 2个小数点 |
| | | comVo.elePrice = 1.2 ;//电量单价 单位:元, 2个小数点 |
| | | comVo.orderNo = "1234567890123456" ;//订单号(16位数字) |
| | | |
| | | return this.sendCom2Mw(this.command(CodeV202404.cd_A2, comVo, null)) ; |
| | | } |
| | | |
| | | //平台/APP远程关闭水泵/阀门(AFN=0x93H/AFN=0xA3H) |
| | | private BaseResponse cd93(){ |
| | | ComCd93_A3Vo comVo = new ComCd93_A3Vo() ; |
| | | comVo.controllerType = CommandCtrl.controllerType ; |
| | | comVo.projectNo = CommandCtrl.projectNo ; |
| | | comVo.icCardNo = CommandCtrl.icCardNo ;//用户卡序列号(17位数字)(6字节BCD,2字节HEX) |
| | | comVo.orderNo = "1234567890123456" ;//订单号(16位数字) |
| | | |
| | | return this.sendCom2Mw(this.command(CodeV202404.cd_93, comVo, null)) ; |
| | | } |
| | | //平台/APP远程关闭水泵/阀门(AFN=0x93H/AFN=0xA3H) |
| | | private BaseResponse cdA3(){ |
| | | ComCd93_A3Vo comVo = new ComCd93_A3Vo() ; |
| | | comVo.controllerType = CommandCtrl.controllerType ; |
| | | comVo.projectNo = CommandCtrl.projectNo ; |
| | | comVo.icCardNo = CommandCtrl.icCardNo ;//用户卡序列号(17位数字)(6字节BCD,2字节HEX) |
| | | comVo.orderNo = "1234567890123456" ;//订单号(16位数字) |
| | | |
| | | return this.sendCom2Mw(this.command(CodeV202404.cd_A3, comVo, null)) ; |
| | | } |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.dy.pipIrrMwTestWeb.test; |
| | | |
| | | import com.dy.common.mw.protocol.Data; |
| | | import com.dy.common.webUtil.BaseResponse; |
| | | import com.dy.common.webUtil.BaseResponseUtils; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.http.MediaType; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * @Author: liurunyu |
| | | * @Date: 2024/5/18 11:04 |
| | | * @Description |
| | | */ |
| | | @Slf4j |
| | | @RestController |
| | | @RequestMapping(path="comRes") |
| | | @SuppressWarnings("unchecked")//java版本越高,对泛型约束越严,所以配置SuppressWarnings("unchecked") |
| | | public class CommandResultCtrl { |
| | | |
| | | @PostMapping(path = "receive", consumes = MediaType.APPLICATION_JSON_VALUE) |
| | | public BaseResponse<String> receive(@RequestBody Data data) { |
| | | log.info(data.toString()) ; |
| | | return BaseResponseUtils.buildSuccess("ok"); |
| | | } |
| | | } |
| | |
| | | enabled: false |
| | | port: 65535 |
| | | servlet: |
| | | context-path: /test/web #web访问上下文路径 |
| | | context-path: /test #web访问上下文路径 |
| | | encoding: |
| | | #取消默认的字符集编码 |
| | | enabled: true |