src/main/java/com/whyc/controller/CKPowerDevBattRtStateSetController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/dto/BattRtSetDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/CKPowerDevBattRtDataService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/CKPowerDevBattRtStateService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/CKPowerDevBattRtStateSetService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/websocket/CKRtAndSignalAndHrSocket.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/whyc/controller/CKPowerDevBattRtStateSetController.java
@@ -22,10 +22,16 @@ @Autowired private CKPowerDevBattRtStateSetService service; @ApiOperation("设置") @ApiOperation("设置单体") @PostMapping("update") public Response update(@RequestBody BattRtSetDto set){ return service.update(set); public Response updateMon(@RequestBody BattRtSetDto set){ return service.updateMon(set); } @ApiOperation("设置组端") @PostMapping("updateGroup") public Response updateGroup(@RequestBody CKPowerDevBattRtStateSet set){ return service.updateGroup(set); } src/main/java/com/whyc/dto/BattRtSetDto.java
@@ -8,16 +8,16 @@ public class BattRtSetDto { private CKPowerDevBattRtDataSet dataSet; private List<CKPowerDevBattRtDataSet> dataSetList; private CKPowerDevBattRtStateSet stateSet; private List<CKPowerDevBattSetLog> logList; public CKPowerDevBattRtDataSet getDataSet() { return dataSet; public List<CKPowerDevBattRtDataSet> getDataSetList() { return dataSetList; } public void setDataSet(CKPowerDevBattRtDataSet dataSet) { this.dataSet = dataSet; public void setDataSetList(List<CKPowerDevBattRtDataSet> dataSetList) { this.dataSetList = dataSetList; } public CKPowerDevBattRtStateSet getStateSet() { src/main/java/com/whyc/service/CKPowerDevBattRtDataService.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.whyc.mapper.CKPowerDevBattRtDataMapper; import com.whyc.pojo.db_ckpwrdev_data_rt.CKPowerDevBattRtData; import com.whyc.pojo.db_ckpwrdev_data_rt.CKPowerDevBattRtState; import com.whyc.pojo.db_ckpwrdev_inf.CKPwrDevInf; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -40,4 +41,19 @@ query.le("mon_num",ckPwrDevInf.getBattMonCount()); return mapper.selectList(query); } /**单体列表查询*/ public List<CKPowerDevBattRtData> getMonList(Integer battIndex, List<Integer> monNumList) { QueryWrapper<CKPowerDevBattRtData> query = Wrappers.query(); if(battIndex!=null) { if(battIndex == -1) { //首页上使用,默认只查组1 query.eq("batt_index", 0); }else{ query.eq("batt_index", battIndex); } } query.in("mon_num",monNumList); return mapper.selectList(query); } } src/main/java/com/whyc/service/CKPowerDevBattRtStateService.java
@@ -15,9 +15,15 @@ @Resource private CKPowerDevBattRtStateMapper mapper; public CKPowerDevBattRtState get() { public CKPowerDevBattRtState get(Integer battIndex) { QueryWrapper<CKPowerDevBattRtState> query = Wrappers.query(); query.eq("batt_index",0); if(battIndex!=null) { if(battIndex == -1) { //首页上使用,默认只查组1 query.eq("batt_index", 0); }else{ query.eq("batt_index", battIndex); } } query.last(" limit 1"); return mapper.selectOne(query); } src/main/java/com/whyc/service/CKPowerDevBattRtStateSetService.java
@@ -1,6 +1,8 @@ package com.whyc.service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.whyc.constant.CMD_Constant; import com.whyc.dto.BattRtSetDto; @@ -17,6 +19,9 @@ import java.util.Date; import java.util.LinkedList; import java.util.List; import java.util.stream.Collectors; import static com.baomidou.mybatisplus.core.toolkit.Wrappers.update; @Service public class CKPowerDevBattRtStateSetService { @@ -39,10 +44,11 @@ @Autowired private CKPowerDevBattRtStateService stateService; public Response update(BattRtSetDto set) { CKPowerDevBattRtDataSet dataSet = set.getDataSet(); public Response updateMon(BattRtSetDto set) { List<CKPowerDevBattRtDataSet> dataSetList = set.getDataSetList(); CKPowerDevBattRtStateSet stateSet = set.getStateSet(); updateDataFromDataAndStateToSet(dataSet.getBattIndex()); //查询data和state表数据并设置到对应的set表 updateDataFromDataAndStateToSet(dataSetList); //设置state_set表,与李军沟通确定,组端和单体设置,都采用设置下面这个cmd值.因为单体和组端会一起设置 if(stateSet.getBattIndex() == 0) { stateSet.setOpCmd(CMD_Constant.CMD_SetBatt1MonData); @@ -51,9 +57,9 @@ }else{ return new Response().set(0,"未指定具体的电池组或电池组超出2组,无法设置"); } mapper.update(stateSet,null); //设置data_set表 TODO 待确定是设置单体时 所有单体还是某个单体 dataSetService.update(dataSet); update(stateSet); //设置data_set表 dataSetService.updateBatch(dataSetList); //读取opCmd返回是否成功 QueryWrapper<CKPowerDevBattRtStateSet> query = Wrappers.query(); Response opStatus =OpCmdUtil.getOpStatus(mapper, query, stateSet.getOpCmd(),20,set.getStateSet().getBattIndex()); @@ -74,9 +80,38 @@ return opStatus; } private void updateDataFromDataAndStateToSet(Integer battIndex) { List<CKPowerDevBattRtData> rtDataList = dataService.getList(battIndex); CKPowerDevBattRtState state = stateService.get(); public Response updateGroup(CKPowerDevBattRtStateSet stateSet) { //查询state表数据并设置到对应的set表 updateDataFromStateToSet(stateSet.getBattIndex()); //设置state_set表,与李军沟通确定,组端和单体设置,都采用设置下面这个cmd值.因为单体和组端会一起设置 if(stateSet.getBattIndex() == 0) { stateSet.setOpCmd(CMD_Constant.CMD_SetBatt1MonData); }else if(stateSet.getBattIndex() == 1){ stateSet.setOpCmd(CMD_Constant.CMD_SetBatt2MonData); }else{ return new Response().set(0,"未指定具体的电池组或电池组超出2组,无法设置"); } update(stateSet); //读取opCmd返回是否成功 QueryWrapper<CKPowerDevBattRtStateSet> query = Wrappers.query(); Response opStatus =OpCmdUtil.getOpStatus(mapper, query, stateSet.getOpCmd(),20,stateSet.getBattIndex()); return opStatus; } private void updateDataFromStateToSet(Integer battIndex) { CKPowerDevBattRtState state = stateService.get(battIndex); CKPowerDevBattRtStateSet stateSet = new CKPowerDevBattRtStateSet(); BeanUtils.copyProperties(state,stateSet); update(stateSet); } private void updateDataFromDataAndStateToSet(List<CKPowerDevBattRtDataSet> dataSetList) { Integer battIndex = dataSetList.get(0).getBattIndex(); List<Integer> monNumList = dataSetList.stream().map(CKPowerDevBattRtDataSet::getMonNum).collect(Collectors.toList()); //获取实时表数据并写入set表 List<CKPowerDevBattRtData> rtDataList = dataService.getMonList(battIndex,monNumList); CKPowerDevBattRtState state = stateService.get(battIndex); //属性迁移 List<CKPowerDevBattRtDataSet> rtSetDataList = new LinkedList<>(); @@ -87,8 +122,15 @@ rtSetDataList.add(set); } BeanUtils.copyProperties(state,stateSet); //rt表数据更新到set表中 TODO 待确定是设置单体时 所有单体还是某个单体 //dataSetService.update(); //rt表数据更新到set表中 dataSetService.updateBatch(rtSetDataList); update(stateSet); } private void update(CKPowerDevBattRtStateSet stateSet) { UpdateWrapper<CKPowerDevBattRtStateSet> update = Wrappers.update(); update.eq("batt_index",stateSet.getBattIndex()); mapper.update(stateSet,update); } } src/main/java/com/whyc/websocket/CKRtAndSignalAndHrSocket.java
@@ -70,7 +70,7 @@ while (!currentThread().isInterrupted()) { CKPowerDevRt ckPowerDevRt = ckPowerDevRtService.get(); CKPowerDevSignal ckPowerDevSignal = ckPowerDevSignalService.get(); CKPowerDevBattRtState ckPowerDevBattRtState = ckPowerDevBattRtStateService.get(); CKPowerDevBattRtState ckPowerDevBattRtState = ckPowerDevBattRtStateService.get(-1); List<CKPowerDevBattRtData> ckPowerDevBattRtData = ckPowerDevBattRtDataService.getList(-1); session.getBasicRemote().sendObject(new Response<>().setV(1,ckPowerDevRt,ckPowerDevSignal,ckPowerDevBattRtState,ckPowerDevBattRtData,new Date(),"查询完成")); sleep(4000);