add 会议汇总-数据导出

This commit is contained in:
liao
2023-02-16 16:42:31 +08:00
parent b933b99888
commit c8e00039d1
3 changed files with 63 additions and 0 deletions
@@ -129,6 +129,17 @@ public class PayMeetingController extends JeroController<PayMeeting, IPayMeeting
return Result.OK(pageList);
}
//@RequiresPermissions("otherMeeting:export")
@GetMapping(value = "/exportSummaryXls")
public ModelAndView exportSummaryXls(HttpServletRequest request, MeetingSummary meetingSummary) {
IPage<PayMeeting> queryPageList = payMeetingService.queryMeetingSummary(meetingSummary, -1, -1, request);
//List<Object> exportList = payMeetingService.getExportList(request, queryPageList);
List<Object> exportList = payMeetingService.getExportListSummary(request, queryPageList);
Class<?> aClass = payMeetingService.getaClass(MeetingCommon.OTHER_MEETING_INT);
return super.exportListXls(exportList, aClass, "会议管理");
}
/**
* 企业端-会议-分页列表查询参会人的会议
*/
@@ -90,6 +90,8 @@ public interface IPayMeetingService extends IService<PayMeeting> {
*/
List<Object> getExportList(HttpServletRequest request, IPage<PayMeeting> queryPageList);
List<Object> getExportListSummary(HttpServletRequest request, IPage<PayMeeting> queryPageList);
/**
* 根据参会人id获取会议信息
* @param situationId
@@ -1304,6 +1304,56 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
return exportList;
}
public List<Object> getExportListSummary(HttpServletRequest request, IPage<PayMeeting> queryPageList) {
List<PayMeeting> pageList = queryPageList.getRecords();
// 过滤选中数据
String selections = request.getParameter("selections");
if (oConvertUtils.isNotEmpty(selections)) {
List<String> selectionList = Arrays.asList(selections.split(","));
pageList = pageList.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList());
}
if (pageList.isEmpty()) {
throw new JeroBootException("没有数据");
}
List<Object> exportList = new ArrayList<>();
for (PayMeeting meeting : pageList) {
//查询会议负责人
LoginUser user = sysBaseAPI.getUserById(meeting.getDirectorId());
meeting.setDirectorName(user.getRealname());
meeting.setDirectorPhone(PasswordUtil.decrypt(user.getPhone()));
PayMeetingVO payMeetingVO = new PayMeetingVO();
BeanUtils.copyProperties(meeting, payMeetingVO);
String meetingType = meeting.getMeetingType().toString();
String meetingType1 = sysBaseAPI.translateDict("meeting_type", meetingType);
payMeetingVO.setMeetingType(meetingType1);
payMeetingVO.setHotelContactsList(new ArrayList<>());
String meetingId = meeting.getId();
//会议查询酒店联系人列表
LambdaQueryWrapper<PayMeetingHotelContacts> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayMeetingHotelContacts::getMeetingId, meetingId);
List<PayMeetingHotelContacts> payMeetingHotelContactsList = meetingHotelContactsService.list(wrapper);
payMeetingVO.setHotelContactsList(payMeetingHotelContactsList);
//查询会议联系人列表
LambdaQueryWrapper<PayMeetingContacts> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(PayMeetingContacts::getMeetingId, meetingId);
List<PayMeetingContacts> meetingContactsList = meetingContactsService.list(queryWrapper1);
for (PayMeetingContacts payMeetingContacts : meetingContactsList) {
String meetingContactsId = payMeetingContacts.getMeetingContactsId();
LoginUser loginUser = sysBaseAPI.getUserById(meetingContactsId);
payMeetingContacts.setMeetingContactsName(loginUser.getRealname());
String phone = loginUser.getPhone();
payMeetingContacts.setMeetingContactsPhone(PasswordUtil.decrypt(phone));
}
payMeetingVO.setMeetingContactsList(meetingContactsList);
//保存数据
OtherMeetingExcel otherMeetingExcel = new OtherMeetingExcel();
BeanUtils.copyProperties(payMeetingVO, otherMeetingExcel);
exportList.add(otherMeetingExcel);
}
return exportList;
}
@Override
public PayMeeting getMeetingBySituationId(String situationId) {
PayMeetingSituation meetingSituation = payMeetingSituationService.getById(situationId);