| | |
| | | import com.ruoyi.collaborativeApproval.vo.SearchMeetingDraftVo; |
| | | import com.ruoyi.collaborativeApproval.vo.SearchMeetingRoomVo; |
| | | import com.ruoyi.collaborativeApproval.vo.SearchMeetingUseVo; |
| | | import com.ruoyi.common.exception.ServiceException; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.framework.web.domain.R; |
| | | import com.ruoyi.project.system.domain.SysUser; |
| | | import com.ruoyi.project.system.mapper.SysUserMapper; |
| | | import com.ruoyi.project.system.service.ISysNoticeService; |
| | | import com.ruoyi.staff.mapper.StaffJoinLeaveRecordMapper; |
| | | import com.ruoyi.staff.pojo.StaffJoinLeaveRecord; |
| | | import com.ruoyi.staff.mapper.StaffOnJobMapper; |
| | | import com.ruoyi.staff.pojo.StaffOnJob; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.time.LocalDateTime; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | |
| | | private final MeetDraftMapper meetDraftMapper; |
| | | |
| | | private final MeetApplicationMapper meetApplicationMapper; |
| | | private final StaffJoinLeaveRecordMapper staffJoinLeaveRecordMapper; |
| | | private final StaffOnJobMapper staffOnJobMapper; |
| | | |
| | | private final MeetingMinutesMapper meetingMinutesMapper; |
| | | private final SysUserMapper userMapper; |
| | | private final ISysNoticeService sysNoticeService; |
| | | |
| | | |
| | | @Override |
| | | public IPage<MeetingRoom> getMeetingRoomList(SearchMeetingRoomVo vo) { |
| | |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void deleteMeetingRoom(Long id) { |
| | | if (id == null){ |
| | | throw new ServiceException("删除会议室失败,会议室ID不能为空"); |
| | | } |
| | | |
| | | LocalDateTime now = LocalDateTime.now(); |
| | | List<MeetApplication> meetApplicationList = meetApplicationMapper.selectList(Wrappers.<MeetApplication>lambdaQuery() |
| | | .eq(MeetApplication::getRoomId, id) |
| | | .gt(MeetApplication::getEndTime, now) |
| | | .in(MeetApplication::getStatus, Arrays.asList(0, 1))); |
| | | |
| | | if (!meetApplicationList.isEmpty()){ |
| | | throw new ServiceException("删除会议室失败,该会议室尚有未开始或进行中的有效会议预约"); |
| | | } |
| | | |
| | | meetingRoomMapper.deleteById(id); |
| | | } |
| | | |
| | |
| | | .filter(s -> !s.isEmpty()) |
| | | .map(Long::valueOf) |
| | | .map(staffId -> { |
| | | StaffJoinLeaveRecord record = staffJoinLeaveRecordMapper.selectById(staffId); |
| | | StaffOnJob record = staffOnJobMapper.selectById(staffId); |
| | | if (record == null) { |
| | | return null; |
| | | } |
| | |
| | | if (!userIds.isEmpty()) { |
| | | sysNoticeService.simpleNoticeByUser( |
| | | "会议通知", |
| | | "会议主题:" + application.getTitle() + "\n" + |
| | | "会议时间:" + application.getStartTime() + "-" + application.getEndTime() + "\n" + |
| | | "会议主题:" + application.getTitle() + "\t" + |
| | | "会议时间:" + application.getStartTime() + "-" + application.getEndTime() + "\t" + |
| | | "发起人:" + application.getApplicant(), |
| | | userIds, |
| | | application.getTenantId(), |
| | | "" |
| | | ); |
| | | } |