SchedulingServiceV1Impl.java
2.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package com.ruoyi.scheduling.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.scheduling.domain.DriverSchedulingV1;
import com.ruoyi.scheduling.domain.SchedulingDateEntity;
import com.ruoyi.scheduling.mapper.SchedulingMapperV1;
import com.ruoyi.scheduling.service.SchedulingServiceV1;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.text.ParseException;
import java.util.Date;
import java.util.List;
@Service
public class SchedulingServiceV1Impl extends ServiceImpl<SchedulingMapperV1, DriverSchedulingV1> implements SchedulingServiceV1 {
@Override
public List<DriverSchedulingV1> queryByJobCodeAndSchedulingDate(String jobCode, Date date) {
LambdaQueryWrapper<DriverSchedulingV1> wrapper = new LambdaQueryWrapper<>();
SchedulingDateEntity entity = switchSchedulingDate(date);
wrapper.eq(DriverSchedulingV1::getJobCode, jobCode);
wrapper.and(wr -> {
String dateStr = DateUtils.YYYY_MM_DD.format(date);
wr.likeRight(DriverSchedulingV1::getScheduleDate, dateStr).or().between(DriverSchedulingV1::getFcsjT, entity.getStartDate().getTime(), entity.getEndDate().getTime());
});
wrapper.orderByAsc(DriverSchedulingV1::getFcsjT);
return list(wrapper);
}
@Override
public List<DriverSchedulingV1> queryByNbbmAndDate(String nbbm, Date date) {
LambdaQueryWrapper<DriverSchedulingV1> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(DriverSchedulingV1::getNbbm, nbbm).eq(DriverSchedulingV1::getScheduleDate, date);
return list(wrapper);
}
@Override
public SchedulingDateEntity switchSchedulingDate(Date date) {
String dateStr = DateUtils.FAST_YYYY_MM_DD.format(org.apache.commons.lang3.time.DateUtils.addDays(date, 1));
dateStr = StringUtils.join(dateStr, " 06:30:30");
try {
Date date1 = DateUtils.FAST_YYYY_MM_DDHHMMSS.parse(dateStr);
Date date2 = org.apache.commons.lang3.time.DateUtils.addMinutes(date,-80);
SchedulingDateEntity entity = new SchedulingDateEntity();
entity.setStartDate(date2);
entity.setEndDate(date1);
return entity;
} catch (ParseException e) {
throw new RuntimeException(e);
}
}
}