src/main/java/com/whyc/controller/DeviceSetparamController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/dto/CmdDto/DevCmd.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/mapper/DeviceSetparamMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/pojo/db_ram_db/DeviceSetparam.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/BatttestdataInfService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/DeviceSetparamService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/webSocket/RealTimeSocket.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/DeviceSetparamMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/whyc/controller/DeviceSetparamController.java
New file @@ -0,0 +1,43 @@ package com.whyc.controller; import com.whyc.dto.Response; import com.whyc.pojo.db_ram_db.DeviceSetparam; import com.whyc.pojo.db_user.User; import com.whyc.service.DeviceSetparamService; import com.whyc.util.ActionUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @RestController @Api(tags = "设备远程控制管理") @RequestMapping("devSetparam") public class DeviceSetparamController { @Autowired private DeviceSetparamService service; @ApiOperation("设置放电参数") @PostMapping("updateParam") public Response updateParam(@RequestBody DeviceSetparam param) { return service.updateParam(param); } @ApiOperation("读取放电参数") @GetMapping("getParam") public Response getParam(@RequestParam int devId, @RequestParam int battGroupNum) { return service.getParam(devId, battGroupNum); } @ApiOperation("远程重启") @GetMapping("restart") public Response restart(@RequestParam int devId, @RequestParam int battGroupNum) { return service.restart(devId, battGroupNum); } @ApiOperation("远程核容") @GetMapping("startDis") public Response startDis(@RequestParam int devId, @RequestParam int battGroupNum) { return service.startDis(devId, battGroupNum); } } src/main/java/com/whyc/dto/CmdDto/DevCmd.java
New file @@ -0,0 +1,21 @@ package com.whyc.dto.CmdDto; public class DevCmd { final public static int CMD_Start=81; final public static int CMD_Stop=83; final public static int CMD_StartAck=82; final public static int CMD_StopAck=84; final public static int CMD_SetDischargeParm=40; //设置参数 final public static int CMD_GetDischargeParm=41; //读取参数 final public static int CMD_SetDischargeParmAck=39; final public static int CMD_GetDischargeParmAck=48; public static final int CMD_StartDischarge = 0x25; //启动放电37 public static final int CMD_StartDischargeAck = 0x26; //启动放电成功38 public static final int CMD_StopDischarge = 0x23; //停止放电35 public static final int CMD_StopDischargeAck = 0x24; //停止放电成功36 public static final int CMD_ResetSystemAck = 0x0F;//15 public static final int CMD_ResetSystem = 0x10;//重启16 } src/main/java/com/whyc/mapper/DeviceSetparamMapper.java
New file @@ -0,0 +1,10 @@ package com.whyc.mapper; import com.whyc.pojo.db_ram_db.DeviceSetparam; public interface DeviceSetparamMapper extends CustomMapper<DeviceSetparam>{ //设置放电参数 Boolean updateParam(DeviceSetparam param); //读取放电参数 DeviceSetparam getParam(int devId, int battGroupNum); } src/main/java/com/whyc/pojo/db_ram_db/DeviceSetparam.java
@@ -1,6 +1,7 @@ package com.whyc.pojo.db_ram_db; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; @@ -32,7 +33,7 @@ private Long num; @ApiModelProperty(value = "设备ID") private Long devId; private Integer devId; @ApiModelProperty(value = "远程命令") private Integer opCmd; @@ -85,5 +86,19 @@ @ApiModelProperty(value = "标称容量") private Integer moncapstd; @TableField(exist = false) private String battgroupName; @TableField(exist = false) private String stationName; @TableField(exist = false) private String provice; @TableField(exist = false) private String city; @TableField(exist = false) private String country; @TableField(exist = false) private String fullName; } src/main/java/com/whyc/service/BatttestdataInfService.java
@@ -44,4 +44,15 @@ PageInfo pageInfo=new PageInfo(list); return new Response().setII(1,list.size()>0,pageInfo,"蓄电池核容信息统计"); } //获取上一次标准核容信息(标准核容的界定为单测核容时间达 2小时及以上的核容测试) public BatttestdataInf getLastStandardTestData(Integer battgroupId) { QueryWrapper wrapper = new QueryWrapper(); wrapper.eq("battgroup_id", battgroupId); wrapper.eq("data_available", 1); wrapper.eq("test_type", 3); wrapper.eq("test_starttype", 3); wrapper.last(" and test_timelong >= 7200 ORDER BY test_starttime DESC "); BatttestdataInf tinf = mapper.selectOne(wrapper); return tinf; } } src/main/java/com/whyc/service/DeviceSetparamService.java
New file @@ -0,0 +1,108 @@ package com.whyc.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.github.pagehelper.PageHelper; import com.whyc.dto.CmdDto.DevCmd; import com.whyc.dto.Response; import com.whyc.mapper.DeviceSetparamMapper; import com.whyc.pojo.db_ram_db.DeviceSetparam; import com.whyc.util.ActionUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class DeviceSetparamService { @Autowired(required = false) private DeviceSetparamMapper mapper; //机房命令操作设备时的cmd和ack校验 test_type -->默认启动测试的类型 public boolean sendCmdToDev(int cmd, int test_type, int dev_id, int battGroupNum) { int cmd_ack = 0; switch (cmd) { case DevCmd.CMD_Start: cmd_ack = DevCmd.CMD_StartAck; break; case DevCmd.CMD_Stop: cmd_ack = DevCmd.CMD_StopAck; break; case DevCmd.CMD_SetDischargeParm: cmd_ack = DevCmd.CMD_SetDischargeParmAck; break; case DevCmd.CMD_GetDischargeParm: cmd_ack = DevCmd.CMD_GetDischargeParmAck; break; case DevCmd.CMD_StartDischarge: cmd_ack = DevCmd.CMD_StartDischargeAck; break; case DevCmd.CMD_StopDischarge: cmd_ack = DevCmd.CMD_StopDischargeAck; break; case DevCmd.CMD_ResetSystem: cmd_ack = DevCmd.CMD_ResetSystemAck; default: return false; } UpdateWrapper updateWrapper=new UpdateWrapper(); updateWrapper.set("op_cmd",cmd); updateWrapper.set("battgroupnum",battGroupNum); if(test_type > 0 && (cmd == DevCmd.CMD_Start||cmd == DevCmd.CMD_Stop)){ //启动测试时未点击设定参数按钮,会出现启动内阻测试bug修复 updateWrapper.set("test_cmd",test_type); } updateWrapper.eq("dev_id",dev_id); int flag=mapper.update((DeviceSetparam) ActionUtil.objeNull,updateWrapper); boolean res_exe = false; if(flag>0) { PageHelper.startPage(1,1); QueryWrapper queryWrapper=new QueryWrapper(); queryWrapper.eq("dev_id",dev_id); for(int n=0; n<40; n++) { DeviceSetparam DeviceSetparam=mapper.selectOne(queryWrapper); if(DeviceSetparam!=null){ if(DeviceSetparam.getOpCmd()==cmd_ack){ res_exe = true; break; } try { Thread.sleep(500); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } }else { break; } } } return res_exe; } //设置放电参数 public Response updateParam(DeviceSetparam param) { Boolean b=mapper.updateParam(param); boolean bl=false; if(b){ bl=sendCmdToDev(DevCmd.CMD_SetDischargeParm,0,param.getDevId(),param.getBattgroupnum()); } return new Response().set(1,bl,bl==true?"设置参数成功!":"设置参数失败,请检查网络!"); } //读取参数 public Response getParam(int devId, int battGroupNum) { PageHelper.startPage(1, 1); QueryWrapper wrapper = new QueryWrapper(); wrapper.eq("dev_id", devId); boolean bl = sendCmdToDev(DevCmd.CMD_GetDischargeParm,0, devId, battGroupNum); DeviceSetparam param = mapper.getParam(devId,battGroupNum); return new Response().setII(1, bl, param, bl == true ? "读取参数成功!" : "读取放电参数,请检查网络!"); } //远程重启 public Response restart(int devId, int battGroupNum) { boolean bl = sendCmdToDev(DevCmd.CMD_ResetSystem,0, devId, battGroupNum); return new Response().set(1,bl,bl==true?"设备远程重启成功!":"设备远程重启失败!"); } //远程核容 public Response startDis(int devId, int battGroupNum) { boolean bl = sendCmdToDev(DevCmd.CMD_Start,DevCmd.CMD_StartDischarge, devId, battGroupNum); return new Response().set(1,bl,bl==true?"远程核容成功!":"远程核容失败!"); } } src/main/java/com/whyc/webSocket/RealTimeSocket.java
@@ -5,6 +5,7 @@ import com.whyc.dto.RealTimeDto; import com.whyc.dto.Response; import com.whyc.factory.BattCapFactory; import com.whyc.pojo.db_batt_testdata.BatttestdataInf; import com.whyc.pojo.db_ram_db.BattRtstate; import com.whyc.pojo.db_ram_db.DeviceState; import com.whyc.pojo.db_ram_db.PwrdevAcdcdata; @@ -298,7 +299,15 @@ //获取系统概述界面信息 private Response getSystemPage(RealTimeDto realDto) { try { //实时获取电池组信息 BattRtstate battRtstate = battRtstateService.getBattRealInfo(realDto.getBattgroupId()); //实时获取设备信息 DeviceState deviceState = deviceStateService.getDevRealInfo(realDto.getDevId()); //获取上一次标准核容信息 BatttestdataInf tinfData= batttestdataInfService.getLastStandardTestData(realDto.getBattgroupId()); //获取近半小时电源数据 //获取近半小时整流器数据 //获取近半小时核容设备数据 }catch (Exception e) { e.printStackTrace(); } src/main/resources/mapper/DeviceSetparamMapper.xml
New file @@ -0,0 +1,31 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.whyc.mapper.DeviceSetparamMapper"> <update id="updateParam"> update db_ram_db.tb_device_setparam set hourrate=#{hourrate}, discurr=#{discurr}, discap=#{discap}, distime=#{distime}, groupvol_low=#{groupvolLow}, monomervol_low=#{monomervolow}, monomerlowcount=#{monomerlowcount}, onlinevollowaction=#{onlinevollowaction}, dcvolhighlimit=#{dcvolhighlimit}, chargecurrset=#{chargecurrset}, monomertmp_high=#{monomertmpHigh}, monvolstd=#{monvolstd}, diswaittime=#{diswaittime}, moncapstd=#{moncapstd} where dev_id = #{devId} </update> <select id="getParam" resultType="com.whyc.pojo.db_ram_db.DeviceSetparam"> select tb_device_setparam.*, tb_batt_inf.battgroup_name, tb_batt_inf.dev_name,tb_station_inf.station_name, tb_station_inf.provice, tb_station_inf.city, tb_station_inf.country, tb_station_inf.full_name from db_ram_db.tb_device_setparam, db_station.tb_batt_inf, db_station.tb_station_inf where tb_device_setparam.dev_id = tb_batt_inf.dev_id and tb_batt_inf.station_id = tb_station_inf.station_id and dev_id = #{devId} and battgroup_num = #{battGroupNum} </select> </mapper>