Commit acb92bf7 authored by 赵啸非's avatar 赵啸非

修正列表循环查询数据库

parent d761c467
......@@ -39,28 +39,26 @@ public class AttendanceRecordServiceImpl extends AbstractCRUDServiceImpl<Attenda
@Override
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());
protected void findAfter(AttendanceRecordEntity params,PageInfo pageInfo, Context context, List<AttendanceRecordEntity> list) throws AppException {
fillSubData(list);
super.findAfter(params,pageInfo, context, list);
}
@Override
protected void findAfter(AttendanceRecordEntity entity, Context context, List<AttendanceRecordEntity> list) throws AppException {
//Map<Long, List<AttendanceRecordDetailEntity>> collect = attendanceRecordDetailService.find(new AttendanceRecordDetailQuery()).parallelStream().collect(Collectors.groupingBy(x -> x.getRecordId()));
list.stream().map(item -> {
List<AttendanceRecordDetailEntity> attendanceRecordDetailEntities = attendanceRecordDetailService.find(new AttendanceRecordDetailQuery().recordId(item.getId()));
if(CollectionUtils.isNotEmpty(attendanceRecordDetailEntities)) {
attendanceRecordDetailEntities.forEach(i -> {
i.setStaffId(item.getStaffId());
});
protected void findAfter(AttendanceRecordEntity params, Context context, List<AttendanceRecordEntity> list) throws AppException {
fillSubData(list);
super.findAfter(params, context, list);
}
//List<AttendanceRecordDetailEntity> attendanceRecordDetailEntities = attendanceRecordDetailService.find(new AttendanceRecordDetailQuery().recordId(item.getId()));
private void fillSubData(List<AttendanceRecordEntity> list) {
List<Long> idList = list.stream().map(i -> i.getId()).collect(Collectors.toList());
AttendanceRecordDetailQuery attendanceRecordDetailQuery = new AttendanceRecordDetailQuery();
attendanceRecordDetailQuery.setRecordIdList(idList);
Map<Long, List<AttendanceRecordDetailEntity>> attendanceRecordDetailListMap = attendanceRecordDetailService.find(attendanceRecordDetailQuery).stream().collect(Collectors.groupingBy(AttendanceRecordDetailEntity::getRecordId));
list.forEach(item ->{
List<AttendanceRecordDetailEntity> attendanceRecordDetailEntities = attendanceRecordDetailListMap.get(item.getId());
attendanceRecordDetailEntities.forEach(i -> i.setStaffId(item.getStaffId()));
item.setAttendanceRecordDetailList(attendanceRecordDetailEntities);
return item;
}).collect(Collectors.toList());
} );
}
@Override
......
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