调整
This commit is contained in:
parent
92e1d7edea
commit
c6f82c55f8
@ -1090,6 +1090,47 @@ status 状态码 String 1表示成功;其余表示失败
|
|||||||
return rtList;
|
return rtList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<NumberTimeTableVo> queryYearAttendanceTrend(Map<String, Object> map) {
|
||||||
|
Date today = new Date();
|
||||||
|
List<WorkerAttendance> attendanceList = workerAttendanceMapper.selectList(new LambdaQueryWrapper<WorkerAttendance>()
|
||||||
|
.eq(WorkerAttendance::getProjectSn, MapUtils.getString(map, "projectSn"))
|
||||||
|
.ge(WorkerAttendance::getCreateTime, cn.hutool.core.date.DateUtil.beginOfYear(today))
|
||||||
|
.le(WorkerAttendance::getCreateTime, cn.hutool.core.date.DateUtil.endOfYear(today))
|
||||||
|
);
|
||||||
|
Map<String, List<WorkerAttendance>> timeDateListMap = attendanceList.stream().map(workerAttendance -> {
|
||||||
|
workerAttendance.setCreateTimeHour(DateUtil.format(DateUtil.parse(workerAttendance.getCreateTime()), "yyyy-MM"));
|
||||||
|
return workerAttendance;
|
||||||
|
}).collect(Collectors.groupingBy(WorkerAttendance::getCreateTimeHour));
|
||||||
|
ArrayList<NumberTimeTableVo> rtList = new ArrayList<>();
|
||||||
|
int month = DateUtil.month(new Date());
|
||||||
|
Set<String> inSet = new HashSet<>();
|
||||||
|
for (int i = month - 1; i >= 0; i--) {
|
||||||
|
String format = DateUtil.format(DateUtil.offsetMonth(new Date(), i), "yyyy-MM");
|
||||||
|
List<WorkerAttendance> workerAttendances = timeDateListMap.get(format);
|
||||||
|
NumberTimeTableVo vo = new NumberTimeTableVo();
|
||||||
|
if (CollUtil.isNotEmpty(workerAttendances)) {
|
||||||
|
workerAttendances.sort((o1, o2) -> {
|
||||||
|
if (o1.getCreateTime() == null || o2.getCreateTime() == null) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return o1.getCreateTime().compareTo(o2.getCreateTime());
|
||||||
|
});
|
||||||
|
for (WorkerAttendance workerAttendance : workerAttendances) {
|
||||||
|
if (Objects.equals(workerAttendance.getPassType(), 1)) {
|
||||||
|
inSet.add(workerAttendance.getPersonSn());
|
||||||
|
} else if (Objects.equals(workerAttendance.getPassType(), 2)) {
|
||||||
|
inSet.remove(workerAttendance.getPersonSn());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
vo.setNum(Math.max(inSet.size(), 0));
|
||||||
|
vo.setTime(format);
|
||||||
|
rtList.add(vo);
|
||||||
|
}
|
||||||
|
return rtList;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<NumberTimeTableVo> queryAttendanceTrend(Map<String, Object> map) {
|
public List<NumberTimeTableVo> queryAttendanceTrend(Map<String, Object> map) {
|
||||||
if (StringUtils.isBlank(MapUtils.getString(map, QUERY_START_TIME)) || StringUtils.isBlank(MapUtils.getString(map, QUERY_END_TIME))) {
|
if (StringUtils.isBlank(MapUtils.getString(map, QUERY_START_TIME)) || StringUtils.isBlank(MapUtils.getString(map, QUERY_END_TIME))) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user