Commit 07fa481a authored by 赵啸非's avatar 赵啸非

修改导出动态列

parent 5948ffc1
......@@ -16,4 +16,6 @@ public class AttendanceRecordDetailVo extends BaseEntityLong {
private String title;
private Long staffId;
}
......@@ -41,6 +41,7 @@ public class AttendanceRecordServiceImpl extends AbstractCRUDServiceImpl<Attenda
protected void findAfter(AttendanceRecordEntity params, PageInfo pageInfo, Context context, List<AttendanceRecordEntity> list) throws AppException {
list.stream().map(item -> {
List<AttendanceRecordDetailEntity> attendanceRecordDetailEntities = attendanceRecordDetailService.find(new AttendanceRecordDetailQuery().recordId(item.getId()));
item.setAttendanceRecordDetailList(attendanceRecordDetailEntities);
return item;
}).collect(Collectors.toList());
......@@ -51,7 +52,9 @@ public class AttendanceRecordServiceImpl extends AbstractCRUDServiceImpl<Attenda
Map<Long, List<AttendanceRecordDetailEntity>> collect = attendanceRecordDetailService.find(new AttendanceRecordDetailQuery()).parallelStream().collect(Collectors.groupingBy(x -> x.getRecordId()));
list.stream().map(item -> {
List<AttendanceRecordDetailEntity> attendanceRecordDetailEntities = collect.getOrDefault(item.getId(), new ArrayList<>());
attendanceRecordDetailEntities.forEach(i -> {
i.setStaffId(item.getStaffId());
});
//List<AttendanceRecordDetailEntity> attendanceRecordDetailEntities = attendanceRecordDetailService.find(new AttendanceRecordDetailQuery().recordId(item.getId()));
item.setAttendanceRecordDetailList(attendanceRecordDetailEntities);
return item;
......@@ -111,6 +114,8 @@ public class AttendanceRecordServiceImpl extends AbstractCRUDServiceImpl<Attenda
long beLate = attendanceRecordEntities.parallelStream()
.flatMap(item -> item.getAttendanceRecordDetailList().stream())
.filter(f -> GoWorkResultEnum.迟到.getValue() == f.getGoWorkResult() || OffWorkResultEnum.迟到.getValue() == f.getOffWorkResult())
.map(i->i.getStaffId())
.distinct()
.count();
attendStatInfo.setBeLate(beLate);
......@@ -118,23 +123,27 @@ public class AttendanceRecordServiceImpl extends AbstractCRUDServiceImpl<Attenda
long leaveEarly = attendanceRecordEntities.parallelStream()
.flatMap(item -> item.getAttendanceRecordDetailList().stream())
.filter(f -> GoWorkResultEnum.早退.getValue() == f.getGoWorkResult() || OffWorkResultEnum.早退.getValue() == f.getOffWorkResult())
.map(i->i.getStaffId())
.distinct()
.count();
attendStatInfo.setLeaveEarly(leaveEarly);
//缺卡
//缺卡
long lackOfCards = attendanceRecordEntities.parallelStream()
.flatMap(item -> item.getAttendanceRecordDetailList().stream())
.filter(f -> GoWorkResultEnum.缺卡.getValue() == f.getGoWorkResult() || OffWorkResultEnum.缺卡.getValue() == f.getOffWorkResult())
.map(i->i.getStaffId())
.distinct()
.count();
attendStatInfo.setLackOfCards(lackOfCards);
//未考勤
long noAtt=lackOfCards;
long noAtt = lackOfCards;
long att = total - noAtt;
if (att!=0L){
if (att != 0L) {
BigDecimal bigDecimal = new BigDecimal(att).divide(new BigDecimal(total)).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_CEILING);
attendStatInfo.setAttPercentage(bigDecimal.toString()+"%");
}else{
attendStatInfo.setAttPercentage(bigDecimal.toString() + "%");
} else {
attendStatInfo.setAttPercentage("0%");
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment