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,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<RuleNumSetting> { | @@ -46,4 +46,6 @@ public interface RuleNumSettingService extends IService<RuleNumSetting> { | ||
| 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<RuleNumSettingMapper, | @@ -339,6 +339,11 @@ public class RuleNumSettingServiceImpl extends ServiceImpl<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> |