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 32 * @return
33 33 */
34 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 6 import java.util.Objects;
7 7 import java.util.stream.Collectors;
8 8 import java.util.stream.Stream;
9   -
10 9 import cn.hutool.core.bean.BeanUtil;
  10 +import cn.hutool.core.collection.CollectionUtil;
11 11 import com.ruoyi.common.utils.DateUtils;
12 12 import com.ruoyi.common.utils.SecurityUtils;
13 13 import com.ruoyi.pojo.dto.RuleNumDto;
14 14 import com.ruoyi.pojo.vo.RuleNumTemplateVo;
15 15 import com.ruoyi.pojo.vo.RuleNumVo;
  16 +import com.ruoyi.pojo.vo.SchedulingResponseVo;
  17 +import com.ruoyi.service.RuleNumSettingService;
16 18 import org.springframework.beans.factory.annotation.Autowired;
17 19 import org.springframework.stereotype.Service;
18 20 import com.ruoyi.num.mapper.RuleNumMapper;
19 21 import com.ruoyi.num.domain.RuleNum;
20 22 import com.ruoyi.num.service.IRuleNumService;
21   -
22 23 import static com.ruoyi.common.RuleSchedulingProperties.*;
23 24  
24 25 /**
... ... @@ -33,6 +34,9 @@ public class RuleNumServiceImpl implements IRuleNumService
33 34 @Autowired
34 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 101 @Override
98 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 2  
3 3 import java.text.SimpleDateFormat;
4 4 import java.util.ArrayList;
  5 +import java.util.Arrays;
5 6 import java.util.Date;
6 7 import java.util.List;
7 8 import java.util.stream.Collectors;
8 9  
9 10 import cn.hutool.core.collection.CollectionUtil;
  11 +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
10 12 import com.ruoyi.common.utils.DateUtils;
11 13 import com.ruoyi.common.utils.SecurityUtils;
  14 +import com.ruoyi.domain.RuleNumSetting;
  15 +import com.ruoyi.domain.RuleSettingScheduling;
12 16 import com.ruoyi.pojo.dto.AttendanceDto;
13 17 import com.ruoyi.pojo.dto.RuleSchedulingDto;
14 18 import com.ruoyi.pojo.vo.RuleSchedulingResponseVo;
15 19 import com.ruoyi.pojo.vo.RuleSchedulingVo;
  20 +import com.ruoyi.service.RuleNumSettingService;
  21 +import com.ruoyi.service.RuleSettingSchedulingService;
16 22 import org.springframework.beans.BeanUtils;
17 23 import org.springframework.beans.factory.annotation.Autowired;
18 24 import org.springframework.stereotype.Service;
... ... @@ -34,6 +40,12 @@ public class RuleSchedulingServiceImpl implements IRuleSchedulingService {
34 40 @Autowired
35 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 119 */
108 120 @Override
109 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 46 * @return
47 47 */
48 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 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 347 private List<DriverScheduling> handleOtherPostsScheduling() {
343 348 QueryWrapper<RuleAttendanceMain> qw = new QueryWrapper<>();
344 349 qw.lambda()
... ...
Bsth-admin/src/main/resources/mapper/RuleNumSettingMapper.xml
... ... @@ -112,5 +112,17 @@
112 112 DATE_FORMAT( scheduling_date, '%Y-%m' ) = #{month}
113 113 )
114 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 128 </mapper>
... ...