|
@@ -68,16 +68,15 @@ public class ScheduleUserChangeServiceImpl extends SuperServiceImpl<ScheduleUser
|
|
@Override
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public ScheduleUserChange save(ScheduleUserChangeSaveDTO data) {
|
|
public ScheduleUserChange save(ScheduleUserChangeSaveDTO data) {
|
|
-
|
|
|
|
- // 判断换班信息是否合理,
|
|
|
|
- // 1.换班人和被让换班人不能是同一天同一班次 2.换班人其他班次不能和被换班人的日期,班次一致
|
|
|
|
- for(long applyFrequency : data.getApplyList()){
|
|
|
|
- ScheduleUserChange existUserSchedule = this.baseMapper.selectOne(Wraps.<ScheduleUserChange>lbQ().eq(ScheduleUserChange::getApplyTime,data.getApplyTime()).eq(ScheduleUserChange::getApplyUserId,data.getApplyUserId()));
|
|
|
|
- if(null != existUserSchedule){
|
|
|
|
|
|
+ ScheduleUserChange existUserSchedule = this.baseMapper.selectOne(Wraps.<ScheduleUserChange>lbQ().eq(ScheduleUserChange::getApplyTime,data.getApplyTime()).eq(ScheduleUserChange::getApplyUserId,data.getApplyUserId()));
|
|
|
|
+ if(null != existUserSchedule){
|
|
|
|
+ // 判断换班信息是否合理,
|
|
|
|
+ // 1.换班人和被让换班人不能是同一天同一班次 2.换班人其他班次不能和被换班人的日期,班次一致
|
|
|
|
+ for(long applyFrequency : data.getApplyList()){
|
|
ScheduleUserChangeDate exsitScheduleUserChangeDate = scheduleUserChangeDateService.getOne(Wraps.<ScheduleUserChangeDate>lbQ().eq(ScheduleUserChangeDate::getChangeId,existUserSchedule.getId()).eq(ScheduleUserChangeDate::getFrequencyId,applyFrequency));
|
|
ScheduleUserChangeDate exsitScheduleUserChangeDate = scheduleUserChangeDateService.getOne(Wraps.<ScheduleUserChangeDate>lbQ().eq(ScheduleUserChangeDate::getChangeId,existUserSchedule.getId()).eq(ScheduleUserChangeDate::getFrequencyId,applyFrequency));
|
|
if(null != exsitScheduleUserChangeDate){
|
|
if(null != exsitScheduleUserChangeDate){
|
|
ScheduleFrequency scheduleFrequency = scheduleFrequencyService.getById(exsitScheduleUserChangeDate.getFrequencyId());
|
|
ScheduleFrequency scheduleFrequency = scheduleFrequencyService.getById(exsitScheduleUserChangeDate.getFrequencyId());
|
|
- isFalse(null != exsitScheduleUserChangeDate,"当前选择的换班["+data.getChangeTime() + "-" + scheduleFrequency.getName().getKey() +"]申请已存在,请重新选择");
|
|
|
|
|
|
+ isFalse(null != exsitScheduleUserChangeDate,"当前选择的换班["+data.getChangeTime() + "-" + scheduleFrequency.getName().getData() +"]申请已存在,请重新选择");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -100,6 +99,26 @@ public class ScheduleUserChangeServiceImpl extends SuperServiceImpl<ScheduleUser
|
|
@Override
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public ScheduleUserChange update(ScheduleUserChangeUpdateDTO data) {
|
|
public ScheduleUserChange update(ScheduleUserChangeUpdateDTO data) {
|
|
|
|
+ ScheduleUserChange existUserSchedule = this.baseMapper.selectOne(Wraps.<ScheduleUserChange>lbQ().eq(ScheduleUserChange::getApplyTime,data.getApplyTime()).eq(ScheduleUserChange::getApplyUserId,data.getApplyUserId()));
|
|
|
|
+ if(null != existUserSchedule){
|
|
|
|
+ List<ScheduleUserChangeDate> hisUserChangeDate = scheduleUserChangeDateService.list(Wraps.<ScheduleUserChangeDate>lbQ().eq(ScheduleUserChangeDate::getChangeId,existUserSchedule.getId()).eq(ScheduleUserChangeDate::getType,"1"));
|
|
|
|
+ List<Long> changeList = hisUserChangeDate.stream().map((map) -> {
|
|
|
|
+ return map.getFrequencyId();
|
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ for(long applyFrequency : data.getApplyList()){
|
|
|
|
+ ScheduleUserChangeDate exsitScheduleUserChangeDate = scheduleUserChangeDateService.getOne(Wraps.<ScheduleUserChangeDate>lbQ().eq(ScheduleUserChangeDate::getChangeId,existUserSchedule.getId()).eq(ScheduleUserChangeDate::getFrequencyId,applyFrequency));
|
|
|
|
+ if(null != exsitScheduleUserChangeDate && !changeList.contains(exsitScheduleUserChangeDate.getFrequencyId())){
|
|
|
|
+ ScheduleFrequency scheduleFrequency = scheduleFrequencyService.getById(exsitScheduleUserChangeDate.getFrequencyId());
|
|
|
|
+ isFalse(null != exsitScheduleUserChangeDate,"当前选择的换班["+data.getChangeTime() + "-" + scheduleFrequency.getName().getData() +"]申请已存在,请重新选择");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ for(long changeFrequency : data.getChangeList()){
|
|
|
|
+ List<ScheduleUserDate> userScheduleUserDate = scheduleUserDateService.list(Wraps.<ScheduleUserDate>lbQ().eq(ScheduleUserDate::getDate,data.getChangeTime()).eq(ScheduleUserDate::getUserId,data.getApplyUserId()).eq(ScheduleUserDate::getFrequencyId,changeFrequency));
|
|
|
|
+ isFalse(userScheduleUserDate.size() > 0,"更换班表不能选择自己排班的班次");
|
|
|
|
+ }
|
|
|
|
+
|
|
ScheduleUserChange bean = BeanPlusUtil.toBean(data, ScheduleUserChange.class);
|
|
ScheduleUserChange bean = BeanPlusUtil.toBean(data, ScheduleUserChange.class);
|
|
updateById(bean);
|
|
updateById(bean);
|
|
|
|
|