From 6320368558f548b4a3a07228e52d5ebed4818401 Mon Sep 17 00:00:00 2001
From: whycxzp <glperry@163.com>
Date: 星期五, 22 十二月 2023 13:20:38 +0800
Subject: [PATCH] 核容设备设置

---
 src/main/java/com/whyc/service/CKPowerDevBattRtStateSetService.java |   64 ++++++++++++++++++++++++++-----
 1 files changed, 53 insertions(+), 11 deletions(-)

diff --git a/src/main/java/com/whyc/service/CKPowerDevBattRtStateSetService.java b/src/main/java/com/whyc/service/CKPowerDevBattRtStateSetService.java
index 7e20a6c..a8aa469 100644
--- a/src/main/java/com/whyc/service/CKPowerDevBattRtStateSetService.java
+++ b/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鍜宻tate琛ㄦ暟鎹苟璁剧疆鍒板搴旂殑set琛�
+        updateDataFromDataAndStateToSet(dataSetList);
         //璁剧疆state_set琛�,涓庢潕鍐涙矡閫氱‘瀹�,缁勭鍜屽崟浣撹缃�,閮介噰鐢ㄨ缃笅闈㈣繖涓猚md鍊�.鍥犱负鍗曚綋鍜岀粍绔細涓�璧疯缃�
         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琛�,涓庢潕鍐涙矡閫氱‘瀹�,缁勭鍜屽崟浣撹缃�,閮介噰鐢ㄨ缃笅闈㈣繖涓猚md鍊�.鍥犱负鍗曚綋鍜岀粍绔細涓�璧疯缃�
+        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);
+    }
 }

--
Gitblit v1.9.1