From a6d1b5d325decd675c3d691c5a9ae6f130d3bd2c Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期五, 16 五月 2025 16:49:24 +0800
Subject: [PATCH] 标记包机组是否为班组

---
 src/main/java/com/whyc/mapper/BaojigroupPowerMapper.java    |    2 ++
 src/main/resources/mapper/BaojigroupPowerMapper.xml         |    6 ++++++
 src/main/java/com/whyc/controller/BaojiGroupController.java |    8 ++++----
 src/main/java/com/whyc/service/BaojigroupService.java       |   44 +++++++++++++++++++++++++++++++++-----------
 4 files changed, 45 insertions(+), 15 deletions(-)

diff --git a/src/main/java/com/whyc/controller/BaojiGroupController.java b/src/main/java/com/whyc/controller/BaojiGroupController.java
index 09d2ee2..56a6c10 100644
--- a/src/main/java/com/whyc/controller/BaojiGroupController.java
+++ b/src/main/java/com/whyc/controller/BaojiGroupController.java
@@ -22,10 +22,10 @@
     @Autowired
     private BaojigroupService service;
 
-    @ApiOperation("鏍囪鍖呮満缁勬槸鍚︿负鐝粍")
-    @GetMapping("setBaojiTeam")
-    public Response setBaojiTeam(@RequestParam Integer  id, @RequestParam Integer teamFalg) {
-        return service.setBaojiTeam(id,teamFalg);
+    @PostMapping("updateTeamFlag")
+    @ApiOperation("璁剧疆鍖呮満缁勬爣璁�")
+    public Response updateTeamFlag(@RequestParam Integer baoJiGroupId,@RequestParam Integer flag){
+        return service.updateTeamFlag(baoJiGroupId,flag);
     }
     @ApiOperation("娣诲姞鍖呮満缁�")
     @GetMapping("addBaoji")
diff --git a/src/main/java/com/whyc/mapper/BaojigroupPowerMapper.java b/src/main/java/com/whyc/mapper/BaojigroupPowerMapper.java
index 464050b..c00d1a2 100644
--- a/src/main/java/com/whyc/mapper/BaojigroupPowerMapper.java
+++ b/src/main/java/com/whyc/mapper/BaojigroupPowerMapper.java
@@ -18,4 +18,6 @@
     List<Integer> getLocIdByStationidAndBjId(@Param("stationId") Integer stationId, @Param("baojiId") Integer baojiId);
 
     List<PowerInf> getPowerList(@Param("id") int id);
+    //鏌ヨ鍏朵粬鐨勭粍,鍖呭惈鐨勬墍鏈夌珯鐐�
+    List<BaojigroupPower> getStationIdListWithDischargePlanFlag();
 }
\ No newline at end of file
diff --git a/src/main/java/com/whyc/service/BaojigroupService.java b/src/main/java/com/whyc/service/BaojigroupService.java
index f703a1b..d0f3048 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
@@ -201,12 +199,36 @@
         List<BaojigroupUsr> list=bjUsrmapper.selectList(wrapper);
         return list.size()>0?1:0 ;
     }
-    //鏍囪鍖呮満缁勬槸鍚︿负鐝粍
-    public Response setBaojiTeam(Integer id, Integer teamFalg) {
-        UpdateWrapper wrapper=new UpdateWrapper();
-        wrapper.eq("baoji_group_id",id);
-        wrapper.set("team_flag",teamFalg);
-        int bl=mapper.update(null,wrapper);
-        return new Response().set(1,bl>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 (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);
+        return new Response().set(1,true,"璁剧疆瀹屾垚");
     }
 }
\ No newline at end of file
diff --git a/src/main/resources/mapper/BaojigroupPowerMapper.xml b/src/main/resources/mapper/BaojigroupPowerMapper.xml
index b54f9e1..1e1fd11 100644
--- a/src/main/resources/mapper/BaojigroupPowerMapper.xml
+++ b/src/main/resources/mapper/BaojigroupPowerMapper.xml
@@ -49,4 +49,10 @@
         and bl.baoji_group_id = #{id}
         order by s.station_name
     </select>
+    <select id="getStationIdListWithDischargePlanFlag" resultType="com.whyc.pojo.db_user.BaojigroupPower">
+        SELECT gb.baoji_group_id,gb.station_id,g.baoji_group_name,b.provice,b.city,b.country,b.station_name
+        FROM db_user.tb_baojigroup g,db_user.tb_baojigroup_power gb,db_station.tb_station_inf b
+        where g.baoji_group_id = gb.baoji_group_id and gb.station_id = b.station_id
+          and g.team_flag = 1
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1