| | |
| | | @Autowired |
| | | private CKPowerDevBattRtStateService stateService; |
| | | |
| | | @Autowired |
| | | private CKPowerDevBattRsAlarmService rsAlarmService; |
| | | |
| | | @Autowired |
| | | private CkpowerdevBattRsalarmSetService rsAlarmSetService; |
| | | |
| | | public Response updateMon(BattRtSetDto setDto) { |
| | | List<CKPowerDevBattRtDataSet> dataSetList = setDto.getDataSetList(); |
| | | Integer battIndex = dataSetList.get(0).getBattIndex(); |
| | | CkpowerdevBattRsalarmSet rsAlarmSet = setDto.getRsAlarmSet(); |
| | | //查询data和state表数据并设置到对应的set表 |
| | | updateDataFromDataAndStateToSet(dataSetList); |
| | | updateDataFromDataAndStateAndAlarmToSet(dataSetList); |
| | | //设置state_set表,与李军沟通确定,组端和单体设置,都采用设置下面这个cmd值.因为单体和组端会一起设置 |
| | | int opCmd; |
| | | if(battIndex == 0) { |
| | |
| | | stateSet.setBattIndex(battIndex); |
| | | stateSet.setOpCmd(opCmd); |
| | | update(stateSet); |
| | | //设置rsalarm_set |
| | | rsAlarmSetService.update(rsAlarmSet); |
| | | //读取opCmd返回是否成功 |
| | | QueryWrapper<CKPowerDevBattRtStateSet> query = Wrappers.query(); |
| | | Response opStatus =OpCmdUtil.getOpStatus(mapper, query, opCmd,20,battIndex); |
| | |
| | | update(stateSet); |
| | | } |
| | | |
| | | private void updateDataFromDataAndStateToSet(List<CKPowerDevBattRtDataSet> dataSetList) { |
| | | private void updateDataFromDataAndStateAndAlarmToSet(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); |
| | | CkpowerdevBattRsalarm rsAlarm = rsAlarmService.get(); |
| | | |
| | | //属性迁移 |
| | | List<CKPowerDevBattRtDataSet> rtSetDataList = new LinkedList<>(); |
| | | CKPowerDevBattRtStateSet stateSet = new CKPowerDevBattRtStateSet(); |
| | | CkpowerdevBattRsalarmSet rsAlarmSet = new CkpowerdevBattRsalarmSet(); |
| | | for (CKPowerDevBattRtData temp : rtDataList) { |
| | | CKPowerDevBattRtDataSet set = new CKPowerDevBattRtDataSet(); |
| | | BeanUtils.copyProperties(temp,set); |
| | | rtSetDataList.add(set); |
| | | } |
| | | BeanUtils.copyProperties(state,stateSet); |
| | | BeanUtils.copyProperties(rsAlarm,rsAlarmSet); |
| | | //rt表数据更新到set表中 |
| | | dataSetService.updateBatch(rtSetDataList); |
| | | update(stateSet); |
| | | rsAlarmSetService.update(rsAlarmSet); |
| | | |
| | | } |
| | | |