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 lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; /** * @Author: liurunyu * @Date: 2024/5/14 14:20 * @Description */ @Slf4j @RestController @RequestMapping(path="comP206V202404") @SuppressWarnings("unchecked")//java版本越高,对泛型约束越严,所以配置SuppressWarnings("unchecked") public class CommandP206V202404Ctrl extends ComSupportP206V202404 { @GetMapping(path = "test") public BaseResponse test() { //return this.connect() ;//连接通信中间件测试 //return this.cdXY(CodeV202404.cd_9C) ;//发送固定参数XY的命令 //return this.cd55(1) ; //return this.cd15() ; //return this.cd16() ; //return this.cd21() ; //return this.cd22() ; //return this.cd23() ; //return this.cd24() ; //return this.cd26() ; //return this.cd31() ; //return this.cd86() ; //return this.cd87() ; return this.cd92() ; //return this.cd93() ; //return this.cd9C() ; } /** * 测试连通性 * @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 = CommandP206V202404Ctrl.controllerType ; comVo.projectNo = CommandP206V202404Ctrl.projectNo ; comVo.rtuNewAddr = CommandP206V202404Ctrl.rtuAddr ; return this.sendCom2Mw(this.command(CodeV202404.cd_10, comVo, null)) ; } //远程用户充值 (AFN=0x15H) private BaseResponse cd15(){ ComCd15Vo comVo = new ComCd15Vo() ; comVo.controllerType = CommandP206V202404Ctrl.controllerType ; comVo.projectNo = CommandP206V202404Ctrl.projectNo ; comVo.icCardAddr = CommandP206V202404Ctrl.icCardAddr ;//IC卡地址(8位数字或字母) comVo.icCardNo = CommandP206V202404Ctrl.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 = CommandP206V202404Ctrl.controllerType ; comVo.projectNo = CommandP206V202404Ctrl.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 = CommandP206V202404Ctrl.controllerType ; comVo.projectNo = CommandP206V202404Ctrl.projectNo ; comVo.channel = 1 ;//IP通道号(取值范围 1、2). comVo.ip = "8.140.180.59" ;//IP(例如 125.235.35.89) comVo.port = 6001 ;///端口号(0~65536) return this.sendCom2Mw(this.command(CodeV202404.cd_21, comVo, null)) ; } //设置机井年最大开采量和水位下限 (AFN=0x22H) private BaseResponse cd22(){ ComCd22Vo comVo = new ComCd22Vo() ; comVo.controllerType = CommandP206V202404Ctrl.controllerType ; comVo.projectNo = CommandP206V202404Ctrl.projectNo ; comVo.maxAmountYear = 99998888 ;//机井年最大用水量单位:m3 整数,取值范围0~99999999 comVo.limitLevel = 9978.60; //水位下限 单位: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 = CommandP206V202404Ctrl.controllerType ; comVo.projectNo = CommandP206V202404Ctrl.projectNo ; comVo.channel = 1 ;//IP通道号(取值范围 1、2). comVo.domain = "dayuyanjiuyuan.top" ;//域名(例如 dayuyanjiuyuan.top),最大长度42字符 comVo.port = 6001 ;///端口号(0~65536) return this.sendCom2Mw(this.command(CodeV202404.cd_23, comVo, null)) ; } //设置设备终端注册号(AFN=0x24H) private BaseResponse cd24(){ ComCd24Vo comVo = new ComCd24Vo() ; comVo.controllerType = CommandP206V202404Ctrl.controllerType ; comVo.projectNo = CommandP206V202404Ctrl.projectNo ; comVo.registerNo = "10203040506070809000" ;// return this.sendCom2Mw(this.command(CodeV202404.cd_24, comVo, null)) ; } //设置设备终端年用水量(AFN=0x24H) private BaseResponse cd26(){ ComCd26Vo comVo = new ComCd26Vo() ; comVo.controllerType = CommandP206V202404Ctrl.controllerType ; comVo.projectNo = CommandP206V202404Ctrl.projectNo ; comVo.maxAmountYear = 200 ;//设备终端年用水量 单位:m3 整数,取值范围0~99999999 return this.sendCom2Mw(this.command(CodeV202404.cd_26, comVo, null)) ; } //设置设备终端用水有效(AFN=0x31H) private BaseResponse cd31(){ ComCd31Vo comVo = new ComCd31Vo() ; comVo.controllerType = CommandP206V202404Ctrl.controllerType ; comVo.projectNo = CommandP206V202404Ctrl.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 = CommandP206V202404Ctrl.controllerType ; comVo.projectNo = CommandP206V202404Ctrl.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 = CommandP206V202404Ctrl.controllerType ; comVo.projectNo = CommandP206V202404Ctrl.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 = CommandP206V202404Ctrl.controllerType ; comVo.projectNo = CommandP206V202404Ctrl.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 = CommandP206V202404Ctrl.controllerType ; comVo.projectNo = CommandP206V202404Ctrl.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 = CommandP206V202404Ctrl.controllerType ; comVo.projectNo = CommandP206V202404Ctrl.projectNo ; //comVo.icCardAddr = Test.icCardAddr ;//IC卡地址(8位数字或字母) comVo.icCardNo = CommandP206V202404Ctrl.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 = CommandP206V202404Ctrl.controllerType ; comVo.projectNo = CommandP206V202404Ctrl.projectNo ; //comVo.icCardAddr = Test.icCardAddr ;//IC卡地址(8位数字或字母) comVo.icCardNo = CommandP206V202404Ctrl.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 = CommandP206V202404Ctrl.controllerType ; comVo.projectNo = CommandP206V202404Ctrl.projectNo ; comVo.icCardNo = CommandP206V202404Ctrl.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 cd9C(){ ComCd9CVo comVo = new ComCd9CVo() ; comVo.controllerType = CommandP206V202404Ctrl.controllerType ; comVo.projectNo = CommandP206V202404Ctrl.projectNo ; comVo.icCardAddr = "04BEA5BB" ;// return this.sendCom2Mw(this.command(CodeV202404.cd_9C, comVo, null)) ; } //平台/APP远程关闭水泵/阀门(AFN=0x93H/AFN=0xA3H) private BaseResponse cdA3(){ ComCd93_A3Vo comVo = new ComCd93_A3Vo() ; comVo.controllerType = CommandP206V202404Ctrl.controllerType ; comVo.projectNo = CommandP206V202404Ctrl.projectNo ; comVo.icCardNo = CommandP206V202404Ctrl.icCardNo ;//用户卡序列号(17位数字)(6字节BCD,2字节HEX) comVo.orderNo = "1234567890123456" ;//订单号(16位数字) return this.sendCom2Mw(this.command(CodeV202404.cd_A3, comVo, null)) ; } }