Commit 197be1c883120a629c340367c77310ccd02d773b

Authored by guzijian
1 parent c7ffeb90

feat: 修改班次删除,和规则删除。

Bsth-admin/src/main/java/com/ruoyi/mapper/RuleNumSettingMapper.java
@@ -32,6 +32,8 @@ public interface RuleNumSettingMapper extends BaseMapper<RuleNumSetting> { @@ -32,6 +32,8 @@ public interface RuleNumSettingMapper extends BaseMapper<RuleNumSetting> {
32 * @return 32 * @return
33 */ 33 */
34 List<AttendanceDto> getPeopleListByMonth(@Param("month") String month); 34 List<AttendanceDto> getPeopleListByMonth(@Param("month") String month);
  35 +
  36 + List<SchedulingResponseVo> getSchedulingListById(Long[] ids);
35 } 37 }
36 38
37 39
Bsth-admin/src/main/java/com/ruoyi/num/service/impl/RuleNumServiceImpl.java
@@ -6,19 +6,20 @@ import java.util.Map; @@ -6,19 +6,20 @@ import java.util.Map;
6 import java.util.Objects; 6 import java.util.Objects;
7 import java.util.stream.Collectors; 7 import java.util.stream.Collectors;
8 import java.util.stream.Stream; 8 import java.util.stream.Stream;
9 -  
10 import cn.hutool.core.bean.BeanUtil; 9 import cn.hutool.core.bean.BeanUtil;
  10 +import cn.hutool.core.collection.CollectionUtil;
11 import com.ruoyi.common.utils.DateUtils; 11 import com.ruoyi.common.utils.DateUtils;
12 import com.ruoyi.common.utils.SecurityUtils; 12 import com.ruoyi.common.utils.SecurityUtils;
13 import com.ruoyi.pojo.dto.RuleNumDto; 13 import com.ruoyi.pojo.dto.RuleNumDto;
14 import com.ruoyi.pojo.vo.RuleNumTemplateVo; 14 import com.ruoyi.pojo.vo.RuleNumTemplateVo;
15 import com.ruoyi.pojo.vo.RuleNumVo; 15 import com.ruoyi.pojo.vo.RuleNumVo;
  16 +import com.ruoyi.pojo.vo.SchedulingResponseVo;
  17 +import com.ruoyi.service.RuleNumSettingService;
16 import org.springframework.beans.factory.annotation.Autowired; 18 import org.springframework.beans.factory.annotation.Autowired;
17 import org.springframework.stereotype.Service; 19 import org.springframework.stereotype.Service;
18 import com.ruoyi.num.mapper.RuleNumMapper; 20 import com.ruoyi.num.mapper.RuleNumMapper;
19 import com.ruoyi.num.domain.RuleNum; 21 import com.ruoyi.num.domain.RuleNum;
20 import com.ruoyi.num.service.IRuleNumService; 22 import com.ruoyi.num.service.IRuleNumService;
21 -  
22 import static com.ruoyi.common.RuleSchedulingProperties.*; 23 import static com.ruoyi.common.RuleSchedulingProperties.*;
23 24
24 /** 25 /**
@@ -33,6 +34,9 @@ public class RuleNumServiceImpl implements IRuleNumService @@ -33,6 +34,9 @@ public class RuleNumServiceImpl implements IRuleNumService
33 @Autowired 34 @Autowired
34 private RuleNumMapper ruleNumMapper; 35 private RuleNumMapper ruleNumMapper;
35 36
  37 + @Autowired
  38 + private RuleNumSettingService ruleNumSettingService;
  39 +
36 /** 40 /**
37 * 查询班次管理 41 * 查询班次管理
38 * 42 *
@@ -97,7 +101,12 @@ public class RuleNumServiceImpl implements IRuleNumService @@ -97,7 +101,12 @@ public class RuleNumServiceImpl implements IRuleNumService
97 @Override 101 @Override
98 public int deleteRuleNumByIds(Long[] ids) 102 public int deleteRuleNumByIds(Long[] ids)
99 { 103 {
100 - return ruleNumMapper.deleteRuleNumByIds(ids); 104 + // TODO 检查改班次是被使用 使用后提示
  105 + List<SchedulingResponseVo> list = ruleNumSettingService.getSchedulingListById(ids);
  106 + if (CollectionUtil.isEmpty(list)){
  107 + return ruleNumMapper.deleteRuleNumByIds(ids);
  108 + }
  109 + throw new RuntimeException("该班次正在被使用,请在排班设置中解绑该班次!");
101 } 110 }
102 111
103 /** 112 /**
Bsth-admin/src/main/java/com/ruoyi/scheduling/service/impl/RuleSchedulingServiceImpl.java
@@ -2,17 +2,23 @@ package com.ruoyi.scheduling.service.impl; @@ -2,17 +2,23 @@ package com.ruoyi.scheduling.service.impl;
2 2
3 import java.text.SimpleDateFormat; 3 import java.text.SimpleDateFormat;
4 import java.util.ArrayList; 4 import java.util.ArrayList;
  5 +import java.util.Arrays;
5 import java.util.Date; 6 import java.util.Date;
6 import java.util.List; 7 import java.util.List;
7 import java.util.stream.Collectors; 8 import java.util.stream.Collectors;
8 9
9 import cn.hutool.core.collection.CollectionUtil; 10 import cn.hutool.core.collection.CollectionUtil;
  11 +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
10 import com.ruoyi.common.utils.DateUtils; 12 import com.ruoyi.common.utils.DateUtils;
11 import com.ruoyi.common.utils.SecurityUtils; 13 import com.ruoyi.common.utils.SecurityUtils;
  14 +import com.ruoyi.domain.RuleNumSetting;
  15 +import com.ruoyi.domain.RuleSettingScheduling;
12 import com.ruoyi.pojo.dto.AttendanceDto; 16 import com.ruoyi.pojo.dto.AttendanceDto;
13 import com.ruoyi.pojo.dto.RuleSchedulingDto; 17 import com.ruoyi.pojo.dto.RuleSchedulingDto;
14 import com.ruoyi.pojo.vo.RuleSchedulingResponseVo; 18 import com.ruoyi.pojo.vo.RuleSchedulingResponseVo;
15 import com.ruoyi.pojo.vo.RuleSchedulingVo; 19 import com.ruoyi.pojo.vo.RuleSchedulingVo;
  20 +import com.ruoyi.service.RuleNumSettingService;
  21 +import com.ruoyi.service.RuleSettingSchedulingService;
16 import org.springframework.beans.BeanUtils; 22 import org.springframework.beans.BeanUtils;
17 import org.springframework.beans.factory.annotation.Autowired; 23 import org.springframework.beans.factory.annotation.Autowired;
18 import org.springframework.stereotype.Service; 24 import org.springframework.stereotype.Service;
@@ -34,6 +40,12 @@ public class RuleSchedulingServiceImpl implements IRuleSchedulingService { @@ -34,6 +40,12 @@ public class RuleSchedulingServiceImpl implements IRuleSchedulingService {
34 @Autowired 40 @Autowired
35 private RuleSchedulingMapper ruleSchedulingMapper; 41 private RuleSchedulingMapper ruleSchedulingMapper;
36 42
  43 + @Autowired
  44 + private RuleSettingSchedulingService ruleSettingSchedulingService;
  45 +
  46 + @Autowired
  47 + private RuleNumSettingService ruleNumSettingService;
  48 +
37 /** 49 /**
38 * 查询排版规则 50 * 查询排版规则
39 * 51 *
@@ -107,7 +119,20 @@ public class RuleSchedulingServiceImpl implements IRuleSchedulingService { @@ -107,7 +119,20 @@ public class RuleSchedulingServiceImpl implements IRuleSchedulingService {
107 */ 119 */
108 @Override 120 @Override
109 public int deleteRuleSchedulingByIds(Long[] ids) { 121 public int deleteRuleSchedulingByIds(Long[] ids) {
110 - return ruleSchedulingMapper.deleteRuleSchedulingByIds(ids); 122 + // TODO 检查是否有做绑定
  123 + LambdaQueryWrapper<RuleSettingScheduling> qw = new LambdaQueryWrapper<>();
  124 + qw.in(RuleSettingScheduling::getRuleSchedulingId, Arrays.asList(ids));
  125 + List<RuleSettingScheduling> list = ruleSettingSchedulingService.list(qw);
  126 + if (CollectionUtil.isEmpty(list)) {
  127 + return ruleSchedulingMapper.deleteRuleSchedulingByIds(ids);
  128 + }
  129 + String prompt = "";
  130 + List<Integer> settingIds = list.stream().map(RuleSettingScheduling::getSettingId).distinct().collect(Collectors.toList());
  131 + List<RuleNumSetting> settingList = ruleNumSettingService.listByIds(settingIds);
  132 + for (RuleNumSetting setting : settingList) {
  133 + prompt = prompt + setting.getRuleDictName()+ ",";
  134 + }
  135 + throw new RuntimeException("该排班规则已班次名称为" + prompt.replaceFirst(",$", "。") + "等班次绑定,请在排班设置中解绑后删除!");
111 } 136 }
112 137
113 /** 138 /**
Bsth-admin/src/main/java/com/ruoyi/service/RuleNumSettingService.java
@@ -46,4 +46,6 @@ public interface RuleNumSettingService extends IService&lt;RuleNumSetting&gt; { @@ -46,4 +46,6 @@ public interface RuleNumSettingService extends IService&lt;RuleNumSetting&gt; {
46 * @return 46 * @return
47 */ 47 */
48 List<AttendanceDto> getPeopleListByMonth(String month); 48 List<AttendanceDto> getPeopleListByMonth(String month);
  49 +
  50 + List<SchedulingResponseVo> getSchedulingListById(Long[] ids);
49 } 51 }
Bsth-admin/src/main/java/com/ruoyi/service/impl/RuleNumSettingServiceImpl.java
@@ -339,6 +339,11 @@ public class RuleNumSettingServiceImpl extends ServiceImpl&lt;RuleNumSettingMapper, @@ -339,6 +339,11 @@ public class RuleNumSettingServiceImpl extends ServiceImpl&lt;RuleNumSettingMapper,
339 return baseMapper.getPeopleListByMonth(month); 339 return baseMapper.getPeopleListByMonth(month);
340 } 340 }
341 341
  342 + @Override
  343 + public List<SchedulingResponseVo> getSchedulingListById(Long[] ids) {
  344 + return baseMapper.getSchedulingListById(ids);
  345 + }
  346 +
342 private List<DriverScheduling> handleOtherPostsScheduling() { 347 private List<DriverScheduling> handleOtherPostsScheduling() {
343 QueryWrapper<RuleAttendanceMain> qw = new QueryWrapper<>(); 348 QueryWrapper<RuleAttendanceMain> qw = new QueryWrapper<>();
344 qw.lambda() 349 qw.lambda()
Bsth-admin/src/main/resources/mapper/RuleNumSettingMapper.xml
@@ -112,5 +112,17 @@ @@ -112,5 +112,17 @@
112 DATE_FORMAT( scheduling_date, '%Y-%m' ) = #{month} 112 DATE_FORMAT( scheduling_date, '%Y-%m' ) = #{month}
113 ) 113 )
114 </select> 114 </select>
  115 + <select id="getSchedulingListById" resultType="com.ruoyi.pojo.vo.SchedulingResponseVo">
  116 + SELECT
  117 + setting.*,
  118 + num.rule_dict_name,
  119 + num.rule_type
  120 + FROM
  121 + `rule_num_setting` setting,rule_num num
  122 + WHERE setting.rule_num_id in
  123 + <foreach collection="array" item="id" open="(" close=")" separator=",">
  124 + #{id}
  125 + </foreach>
  126 + </select>
115 127
116 </mapper> 128 </mapper>