From 5720a0b6cb13fcecc7fb810c7a7f0ad124ce6048 Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期五, 20 六月 2025 22:09:24 +0800
Subject: [PATCH] 包机组修改

---
 src/main/java/com/whyc/service/BaojigroupService.java |  121 ++++++++++++++++++++++++++++++++-------
 1 files changed, 98 insertions(+), 23 deletions(-)

diff --git a/src/main/java/com/whyc/service/BaojigroupService.java b/src/main/java/com/whyc/service/BaojigroupService.java
index 861c352..851ef60 100644
--- a/src/main/java/com/whyc/service/BaojigroupService.java
+++ b/src/main/java/com/whyc/service/BaojigroupService.java
@@ -3,6 +3,7 @@
 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.dto.Response;
 import com.whyc.mapper.*;
 import com.whyc.pojo.db_station.PowerInf;
@@ -15,10 +16,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Service
@@ -43,7 +41,7 @@
     public void insertNeiZhi(Integer baojiId){
         List<BaojigroupUsr> list=new ArrayList<>();
         QueryWrapper wrapper=new QueryWrapper();
-        wrapper.lt("uid",99);
+        wrapper.lt("id",99);
         List<User> uList=UserMapper.selectList(wrapper);
         for (User uinf:uList) {
             BaojigroupUsr baojiusr=new BaojigroupUsr();
@@ -59,7 +57,7 @@
         //楠岃瘉鍖呮満缁勫悕鏄惁閲嶅
         //灏嗗唴缃敤鎴峰姞鍏ュ埌鍖呮満缁勪笅
         QueryWrapper wrapper=new QueryWrapper();
-        wrapper.eq("baoji_name",baojiName);
+        wrapper.eq("baoji_group_name",baojiName);
         wrapper.last("limit 1");
         Baojigroup baoji=mapper.selectOne(wrapper);
         if(baoji!=null){
@@ -68,14 +66,14 @@
             baoji=new Baojigroup();
             baoji.setBaojiGroupName(baojiName);
             int bl=mapper.insert(baoji);
-            if(bl>0){
+            /*if(bl>0){
                 //灏嗗唴缃敤鎴峰姞鍏ュ埌鍖呮満缁勪笅
                 QueryWrapper wrapper1=new QueryWrapper();
-                wrapper1.eq("baoji_name",baojiName);
+                wrapper1.eq("baoji_group_name",baojiName);
                 wrapper1.last("limit 1");
                 baoji=mapper.selectOne(wrapper1);
                 insertNeiZhi(baoji.getBaojiGroupId());
-            }
+            }*/
             return new Response().set(1,bl>0,"娣诲姞鍖呮満缁勬垚鍔�");
         }
 
@@ -83,8 +81,8 @@
     //缂栬緫鍖呮満缁�
     public Response updateBaoji(Integer id, String baojiName) {
         UpdateWrapper wrapper=new UpdateWrapper();
-        wrapper.eq("id",id);
-        wrapper.set("baoji_name",baojiName);
+        wrapper.eq("baoji_group_id",id);
+        wrapper.set("baoji_group_name",baojiName);
         int bl=mapper.update((Baojigroup) ActionUtil.objeNull,wrapper);
         return new Response().set(1,bl>0,"缂栬緫鍖呮満缁勬垚鍔�");
     }
@@ -93,22 +91,22 @@
     public Response delBaoji(Integer id) {
         //鍏堝垹闄ゅ寘鏈虹粍瀵瑰簲浜轰笅鐨勮褰�
         UpdateWrapper wrapper1=new UpdateWrapper();
-        wrapper1.eq("baoji_id",id);
+        wrapper1.eq("baoji_group_id",id);
         bjUsrmapper.delete(wrapper1);
-        //鍐嶅垹闄ゅ寘鏈虹粍瀵瑰簲涓嬬殑鏈烘埧鍜岄攣
+        //鍐嶅垹闄ゅ寘鏈虹粍瀵瑰簲涓嬬殑鏈烘埧鍜岀數婧�
         UpdateWrapper wrapper2=new UpdateWrapper();
-        wrapper2.eq("baoji_id",id);
+        wrapper2.eq("baoji_group_id",id);
         bjPowermapper.delete(wrapper2);
         //鏈�鍚庡垹闄ゅ寘鏈虹粍
         UpdateWrapper wrapper=new UpdateWrapper();
-        wrapper.eq("id",id);
+        wrapper.eq("baoji_group_id",id);
         int bl=mapper.delete(wrapper);
         return new Response().set(1,bl>0,"鍒犻櫎鍖呮満缁勬垚鍔�");
     }
     //鏌ヨ鍖呮満缁勫強鍖呮満缁勫搴旂殑鐢ㄦ埛鍜屽搴旀満鎴垮拰閿�
     public Response getAllBaojiInf() {
         QueryWrapper wrapper=new QueryWrapper();
-        wrapper.orderByAsc("id");
+        wrapper.orderByAsc("baoji_group_id");
         List<Baojigroup> baojiList=mapper.selectList(wrapper);
         for (Baojigroup bj:baojiList) {
             //鏌ヨ鍖呮満缁勫搴旂殑鐢ㄦ埛淇℃伅
@@ -120,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) {
@@ -150,8 +175,8 @@
         List<User> relatedUserList = bjUsrmapper.getUserList(id);
         //鏌ヨ鍖呮満缁勬湭娣诲姞鐨勭敤鎴蜂俊鎭�
         QueryWrapper wrapper=new QueryWrapper();
-        wrapper.select("uid", "uname");
-        wrapper.gt("uid",100);
+        wrapper.select("id", "name");
+        wrapper.gt("id",100);
         List<User> allUserList = UserMapper.selectList(wrapper);
         List<User> notRelatedUserList = allUserList.stream().filter(User -> !relatedUserList.contains(User)).collect(Collectors.toList());
 
@@ -177,7 +202,7 @@
     public Response getBaojiUserByUid(Integer uid) {
         //鏌ヨ褰撳墠浜烘墍鍦ㄥ寘鏈虹粍
         QueryWrapper wrapper=new QueryWrapper();
-        wrapper.select("baoji_id");
+        wrapper.select("baoji_group_id");
         if(uid>100){
             wrapper.eq("uid",uid);
         }
@@ -199,6 +224,56 @@
         QueryWrapper wrapper=new QueryWrapper();
         wrapper.eq("uid",id);
         List<BaojigroupUsr> list=bjUsrmapper.selectList(wrapper);
-        return list == null?0:1 ;
+        return list.size()>0?1:0 ;
+    }
+    /*璁剧疆鍖呮満缁勬爣璁�
+    * 鈶犲皢鍖呮満缁勮缃垚鐝粍鏃讹紝鍒ゆ柇褰撳墠鍖呮満缁勫唴鐨勭數婧愭槸鍚﹀湪鍏朵粬璁剧疆鎴愮彮缁勭殑鍖呮満缁勫唴锛岃嫢鍦ㄥ垯鎻愮ず褰撳墠鐢垫簮宸插湪鍏朵粬鐝粍涓�傚惁鍒欐墽琛岃缃彮缁勯�昏緫銆�
+    *
+    * */
+    public Response updateTeamFlag(Integer baoJiGroupId, Integer flag) {
+        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,"褰撳墠鍖呯粍涓嬬數婧愬凡瀛樺湪鐝粍涓�");
+                }
+            }
+        }
+        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,"璁剧疆瀹屾垚");
+    }
+    //鍒犻櫎鍖呮満缁勪笅鐨勭數婧�
+    public void delPowerInBaoji(Integer pid) {
+        UpdateWrapper<BaojigroupPower> update = Wrappers.update();
+        update.eq("power_id",pid);
+        bjPowermapper.delete(update);
+    }
+
+    //鍒犻櫎鍖呮満缁勪笅鐨勬満鎴�
+    public void delStationInBaoji(Integer sid) {
+        UpdateWrapper<BaojigroupPower> update = Wrappers.update();
+        update.eq("station_id",sid);
+        bjPowermapper.delete(update);
+    }
+    //鏌ヨ鏈烘埧鎵�鍦ㄧ殑鐝粍
+    public String getGroupName(Integer powerId) {
+        String groupName = powerInfMapper.getGroupName(powerId);
+        if(groupName==null||groupName.length()<0){
+            groupName="none";
+        }
+        return  groupName;
+    }
+    //鏌ヨ鎵�鏈夌殑鍖呮満缁勫悕闆嗗悎锛堢彮缁勶級
+    public List<Baojigroup> getGroupList() {
+        QueryWrapper wrapper=new QueryWrapper();
+        wrapper.eq("team_flag",1);
+        List<Baojigroup> list=mapper.selectList(wrapper);
+        return list;
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1