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/mapper/BaojigroupPowerMapper.java | 5 ++ src/main/java/com/whyc/pojo/db_user/BaojigroupPower.java | 5 ++ src/main/resources/mapper/BaojigroupPowerMapper.xml | 15 +++++++ src/main/java/com/whyc/controller/BaojiGroupController.java | 8 --- src/main/java/com/whyc/service/BaojigroupService.java | 75 +++++++++++++++++++++++-------------- 5 files changed, 71 insertions(+), 37 deletions(-) diff --git a/src/main/java/com/whyc/controller/BaojiGroupController.java b/src/main/java/com/whyc/controller/BaojiGroupController.java index 56a6c10..f44c894 100644 --- a/src/main/java/com/whyc/controller/BaojiGroupController.java +++ b/src/main/java/com/whyc/controller/BaojiGroupController.java @@ -72,13 +72,7 @@ @PostMapping("updateStationList") @ApiOperation(value = "鍖呮満缁勬坊鍔犳満鎴垮拰鐢垫簮|绉婚櫎鏈烘埧鍜岀數婧�",notes = "operationFlag涓�1,娣诲姞;-1,绉婚櫎") public Response updateStationAndLockList(@RequestBody List<BaojigroupPower> baoJiGroupLockList, @RequestParam int operationFlag){ - service.updateStationAndLockList(baoJiGroupLockList,operationFlag); - if(operationFlag==1) { - return new Response().set(1, true,"娣诲姞鎴愬姛"); - }else{ - return new Response().set(1,true,"绉婚櫎鎴愬姛"); - } - + return service.updateStationAndLockList(baoJiGroupLockList,operationFlag); } diff --git a/src/main/java/com/whyc/mapper/BaojigroupPowerMapper.java b/src/main/java/com/whyc/mapper/BaojigroupPowerMapper.java index 30a4e19..24da5de 100644 --- a/src/main/java/com/whyc/mapper/BaojigroupPowerMapper.java +++ b/src/main/java/com/whyc/mapper/BaojigroupPowerMapper.java @@ -22,5 +22,8 @@ List<BaojigroupPower> getStationIdListWithDischargePlanFlag(); List<BaojigroupPower> getListByUserId(Integer userId); - + //鏌ヨ鍖呮満缁勪笅鐨勭數婧愰兘鍦ㄥ摢浜涘寘鏈虹粍涓嬩笖鍖呮満缁勭殑鐝粍鐘舵�佹槸鍟� + List<BaojigroupPower> checkPwrIsInBanzu(Integer baoJiGroupId); + //妫�娴嬪惁鍦ㄥ叾浠栧寘鏈虹粍涓瓨鍦�,鑻ュ瓨鍦ㄥ垯鎻愮ず褰撳墠鐢垫簮宸插湪鍏朵粬鐝粍(鍙彁绀哄瓨鍦ㄧ殑鐝粍鍚嶇О)涓瓨鍦� + List<BaojigroupPower> checkPower(Integer powerId); } \ No newline at end of file diff --git a/src/main/java/com/whyc/pojo/db_user/BaojigroupPower.java b/src/main/java/com/whyc/pojo/db_user/BaojigroupPower.java index 2ea69be..c4ac6d4 100644 --- a/src/main/java/com/whyc/pojo/db_user/BaojigroupPower.java +++ b/src/main/java/com/whyc/pojo/db_user/BaojigroupPower.java @@ -55,5 +55,10 @@ @TableField(exist = false) private String baoJiGroupName; + @TableField(exist = false) + private Integer teamFlag; + + + } 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,"璁剧疆瀹屾垚"); } //鍒犻櫎鍖呮満缁勪笅鐨勭數婧� diff --git a/src/main/resources/mapper/BaojigroupPowerMapper.xml b/src/main/resources/mapper/BaojigroupPowerMapper.xml index 1d3aff5..30c25bd 100644 --- a/src/main/resources/mapper/BaojigroupPowerMapper.xml +++ b/src/main/resources/mapper/BaojigroupPowerMapper.xml @@ -69,4 +69,19 @@ ) order by g.baoji_group_name </select> + <select id="checkPwrIsInBanzu" resultType="com.whyc.pojo.db_user.BaojigroupPower"> + select tb_baojigroup_power.*,tb_baojigroup.baoji_group_name,tb_baojigroup.team_flag + from db_user.tb_baojigroup_power,db_user.tb_baojigroup + where tb_baojigroup_power.baoji_group_id=tb_baojigroup.baoji_group_id + and tb_baojigroup_power.power_id in + (SELECT power_id from tb_baojigroup_power where baoji_group_id=#{baoJiGroupId} + ) + and tb_baojigroup_power.baoji_group_id!=#{baoJiGroupId} + </select> + <select id="checkPower" resultType="com.whyc.pojo.db_user.BaojigroupPower"> + select tb_baojigroup_power.*,tb_baojigroup.baoji_group_name,tb_baojigroup.team_flag + from db_user.tb_baojigroup_power,db_user.tb_baojigroup + where tb_baojigroup_power.baoji_group_id=tb_baojigroup.baoji_group_id + and tb_baojigroup_power.power_id=#{powerId} + </select> </mapper> \ No newline at end of file -- Gitblit v1.9.1