Commit 197be1c883120a629c340367c77310ccd02d773b
1 parent
c7ffeb90
feat: 修改班次删除,和规则删除。
Showing
6 changed files
with
59 additions
and
4 deletions
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
Bsth-admin/src/main/java/com/ruoyi/service/impl/RuleNumSettingServiceImpl.java
| ... | ... | @@ -339,6 +339,11 @@ public class RuleNumSettingServiceImpl extends ServiceImpl<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> | ... | ... |