From 2753ad7aee272a5a5a8a0124b1feea5a1e4cc83e Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期五, 20 六月 2025 22:40:52 +0800
Subject: [PATCH] 电源告警参数返回

---
 src/main/java/com/whyc/service/BaojigroupService.java |   75 +++++++++++++++++++++++--------------
 1 files changed, 46 insertions(+), 29 deletions(-)

diff --git a/src/main/java/com/whyc/service/BaojigroupService.java b/src/main/java/com/whyc/service/BaojigroupService.java
index 4c79d73..851ef60 100644
--- a/src/main/java/com/whyc/service/BaojigroupService.java
+++ b/src/main/java/com/whyc/service/BaojigroupService.java
@@ -118,15 +118,42 @@
         }
         return new Response().setII(1,baojiList!=null,baojiList,"鏌ヨ鍖呮満缁勫強鍖呮満缁勫搴旂殑鐢ㄦ埛鍜屽搴旀満鎴垮拰閿�");
     }
-    //鍖呮満缁勬坊鍔犳満鎴垮拰閿亅绉婚櫎鏈烘埧鍜岄攣
+    //鍖呮満缁勬坊鍔犳満鎴垮拰鐢垫簮|绉婚櫎鏈烘埧鍜岀數婧�
+    //鈶�)灏嗙數婧愭坊鍔犲埌鐝粍鍖呮満缁勪腑鏃堕渶妫�鏌ヨ鐢垫簮鏄惁鍦ㄥ叾浠栧寘鏈虹粍涓瓨鍦�,鑻ュ瓨鍦ㄥ垯鎻愮ず褰撳墠鐢垫簮宸插湪鍏朵粬鐝粍(鍙彁绀哄瓨鍦ㄧ殑鐝粍鍚嶇О)涓瓨鍦紝鑻ヤ笉瀛樺湪鍒欐墽琛屾坊鍔犻�昏緫銆�
     @Transactional
-    public void updateStationAndLockList(List<BaojigroupPower> BaojigroupPowerList, int operationFlag) {
+    public Response updateStationAndLockList(List<BaojigroupPower> BaojigroupPowerList, int operationFlag) {
         if(operationFlag==1){
-            bjPowermapper.insertBatchSomeColumn(BaojigroupPowerList);
+            List<BaojigroupPower> addList=new ArrayList<>();
+            List<BaojigroupPower> unaddList=new ArrayList<>();
+            for (BaojigroupPower bjp:BaojigroupPowerList) {
+                //妫�娴嬪惁鍦ㄥ叾浠栧寘鏈虹粍涓瓨鍦�,鑻ュ瓨鍦ㄥ垯鎻愮ず褰撳墠鐢垫簮宸插湪鍏朵粬鐝粍(鍙彁绀哄瓨鍦ㄧ殑鐝粍鍚嶇О)涓瓨鍦�
+                int flag=checkPowerIsInBanzu(bjp.getPowerId());
+                if(flag==1){
+                    unaddList.add(bjp);
+                    return new Response().setII(1,false,unaddList,"瀛樺湪鐢垫簮宸叉坊鍔犺繃鐝粍");
+                }
+            }
+            bjPowermapper.insertBatchSomeColumn(addList);
+            return new Response().set(1, true,"娣诲姞鎴愬姛");
+
         }else{
             bjPowermapper.deleteStationAndLockList(BaojigroupPowerList);
+            return new Response().set(1,true,"绉婚櫎鎴愬姛");
         }
     }
+    //妫�娴嬪惁鍦ㄥ叾浠栧寘鏈虹粍涓瓨鍦�,鑻ュ瓨鍦ㄥ垯鎻愮ず褰撳墠鐢垫簮宸插湪鍏朵粬鐝粍(鍙彁绀哄瓨鍦ㄧ殑鐝粍鍚嶇О)涓瓨鍦�
+    private int checkPowerIsInBanzu(Integer powerId) {
+        int flag=0;
+        List<BaojigroupPower> List=bjPowermapper.checkPower(powerId);
+        if(List!=null&&List.size()>0){
+            List<Integer> flagList=List.stream().map(BaojigroupPower::getTeamFlag).collect(Collectors.toList());
+            if (flagList != null && flagList.contains(1)) {
+                flag=1;
+            }
+        }
+        return flag;
+    }
+
     //鍖呮満缁勬坊鍔犵敤鎴穦绉婚櫎鐢ㄦ埛
     @Transactional
     public void updateUserList(List<BaojigroupUsr> baoJiGroupUserList, int operationFlag) {
@@ -199,36 +226,26 @@
         List<BaojigroupUsr> list=bjUsrmapper.selectList(wrapper);
         return list.size()>0?1:0 ;
     }
-    //璁剧疆鍖呮満缁勬爣璁�
+    /*璁剧疆鍖呮満缁勬爣璁�
+    * 鈶犲皢鍖呮満缁勮缃垚鐝粍鏃讹紝鍒ゆ柇褰撳墠鍖呮満缁勫唴鐨勭數婧愭槸鍚﹀湪鍏朵粬璁剧疆鎴愮彮缁勭殑鍖呮満缁勫唴锛岃嫢鍦ㄥ垯鎻愮ず褰撳墠鐢垫簮宸插湪鍏朵粬鐝粍涓�傚惁鍒欐墽琛岃缃彮缁勯�昏緫銆�
+    *
+    * */
     public Response updateTeamFlag(Integer baoJiGroupId, Integer flag) {
-        if(flag==1) {
-            //鏌ヨ瑕佽缃殑鍖呮満缁勭殑绔欑偣
-            QueryWrapper<BaojigroupPower> query = Wrappers.query();
-            query.select("baoji_group_id", "station_id").eq("baoji_group_id", baoJiGroupId);
-            List<BaojigroupPower> stationIdList = bjPowermapper.selectList(query);
-            stationIdList = stationIdList.stream().distinct().collect(Collectors.toList());
-            //鏌ヨ鍏朵粬鐨勭粍,鍖呭惈鐨勬墍鏈夌珯鐐�
-            List<BaojigroupPower> stationIdListWithDischargePlanFlag = bjPowermapper.getStationIdListWithDischargePlanFlag();
-            stationIdListWithDischargePlanFlag = stationIdListWithDischargePlanFlag.stream().distinct().collect(Collectors.toList());
-            List<BaojigroupPower> repeatedStationIdList = new LinkedList<>();
-            for (int i = 0; i < stationIdList.size(); i++) {
-                BaojigroupPower baojiGroupBattGroup = stationIdList.get(i);
-                for (int j = 0; j < stationIdListWithDischargePlanFlag.size(); j++) {
-                    BaojigroupPower baojiGroupBattGroupWithFlag = stationIdListWithDischargePlanFlag.get(j);
-                    if (baojiGroupBattGroupWithFlag.getStationId().equals(baojiGroupBattGroup.getStationId())) {
-                        repeatedStationIdList.add(baojiGroupBattGroupWithFlag);
-                        break;
-                    }
+        if(flag==1){
+            //1妫�娴嬪綋鍓嶅寘鏈虹粍涓嬬殑鐢垫簮鏄惁鍦ㄥ叾浠栧寘鏈虹粍涓瓨鍦紝鍒欐煡鐪嬭鍖呮満缁勬槸鍚︿负鐝粍
+            List<BaojigroupPower> powerList=bjPowermapper.checkPwrIsInBanzu(baoJiGroupId);
+            //2.鑻ュ瓨鍦ㄤ竴鏉″垯杩斿洖锛岃嫢涓嶅瓨鍦ㄤ慨鏀逛负鐝粍
+            if(powerList!=null&&powerList.size()>0){
+                List<Integer> flagList=powerList.stream().map(BaojigroupPower::getTeamFlag).collect(Collectors.toList());
+                if (flagList != null && flagList.contains(1)) {
+                    return new Response().set(1,false,"褰撳墠鍖呯粍涓嬬數婧愬凡瀛樺湪鐝粍涓�");
                 }
             }
-            //鏌ヨ閲嶅绔欑偣鐨勪俊鎭�
-            if (repeatedStationIdList.size() > 0) {
-                return new Response().setII(1, false, repeatedStationIdList, "璁剧疆澶辫触");
-            }
         }
-        UpdateWrapper<Baojigroup> update = Wrappers.update();
-        update.set("team_flag",flag).eq("baoji_group_id",baoJiGroupId);
-        mapper.update((Baojigroup) ActionUtil.objeNull,update);
+        UpdateWrapper wrapper = new UpdateWrapper();
+        wrapper.set("team_flag",flag);
+        wrapper.eq("baoji_group_id",baoJiGroupId);
+        mapper.update(null,wrapper);
         return new Response().set(1,true,"璁剧疆瀹屾垚");
     }
     //鍒犻櫎鍖呮満缁勪笅鐨勭數婧�

--
Gitblit v1.9.1