| | |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.awt.print.Book; |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<Bookings> getMyBookings(Integer userId, String dateMsg) { |
| | | return bookingsMapper.selectList(new QueryWrapper<Bookings>() |
| | | .apply(" id in ( select u.OBJ_ID from meeting_user_rel u where u.USER_ID = '" + userId + "' and u.ISDELETED = 0 and OBJ_TYPE = 1 ) ") |
| | | .eq("ISDELETED",MeetConstants.ZERO) |
| | | // .eq("STATUS",MeetConstants.ZERO) |
| | | .apply(" ROOM_ID in ( select r.id from meeting_rooms r where r.ISDELETED = 0 and r.STATUS = 0 )") |
| | | .like(StringUtils.isNotBlank(dateMsg), "START_TIME", dateMsg)); |
| | | public List<Bookings> getMyBookings(Integer userId, String dateMsg,Integer queryType) { |
| | | if(queryType==null ){ |
| | | queryType =1; |
| | | } |
| | | |
| | | return bookingsMapper.selectJoinList(Bookings.class,new MPJLambdaWrapper<Bookings>() |
| | | .selectAll(Bookings.class) |
| | | .leftJoin(Rooms.class,Rooms::getId,Bookings::getRoomId) |
| | | .exists(queryType!=3,"( select u.OBJ_ID from meeting_user_rel u where u.OBJ_ID =t.id and u.USER_ID = '" + userId + "' and u.ISDELETED = 0 and OBJ_TYPE = 1 ) ") |
| | | .exists(queryType==3,"( select u.OBJ_ID from meeting_user_rel u where u.OBJ_ID =t1.id and u.USER_ID = '" + userId + "' and u.ISDELETED = 0 and OBJ_TYPE = 0 ) ") |
| | | .eq(Bookings::getIsdeleted,MeetConstants.ZERO) |
| | | .eq(Rooms::getIsdeleted,MeetConstants.ZERO) |
| | | .eq(Rooms::getStatus,MeetConstants.ZERO) |
| | | // .eq("STATUS",MeetConstants.ZERO) |
| | | .like(StringUtils.isNotBlank(dateMsg), Bookings::getStartTime, dateMsg)); |
| | | } |
| | | |
| | | /** |
| | | * 我的预约/我的会议 |
| | |
| | | * @param pageWrap |
| | | * @return |
| | | */ |
| | | public IPage<Bookings> getMyMeetingPageNew(PageWrap<Bookings> pageWrap) { |
| | | IPage<Bookings> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); |
| | | MPJLambdaWrapper<Bookings> queryWrapper = new MPJLambdaWrapper<>(); |
| | | Utils.MP.blankToNull(pageWrap.getModel()); |
| | | |
| | | queryWrapper.selectAll(Bookings.class); |
| | | queryWrapper.selectAs(Rooms::getName, Bookings::getRoomName); |
| | | queryWrapper.selectAs(SystemUser::getRealname, Bookings::getRealName); |
| | | queryWrapper.selectAs(Company::getName, Bookings::getDepartmentName); |
| | | queryWrapper.select(" CASE WHEN t.START_TIME_REAL IS NULL AND t.`STATUS` = 0 THEN 1 WHEN ( ( t.END_TIME < now() AND t.`STATUS` = 0 ) or t.`STATUS` = 2 ) THEN 3 WHEN t.`STATUS` = 1 THEN 5 ELSE 2 END meetingStatus "); |
| | | queryWrapper.leftJoin(Rooms.class, Rooms::getId, Bookings::getRoomId); |
| | | queryWrapper.leftJoin(SystemUser.class, SystemUser::getId, Bookings::getCreator); |
| | | queryWrapper.leftJoin(Company.class,Company::getId,SystemUser::getCompanyId); |
| | | queryWrapper.orderByDesc(Bookings::getCreateDate); |
| | | queryWrapper.eq(Bookings::getIsdeleted, MeetConstants.ZERO); |
| | | queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getRoomsName()), |
| | | j -> j.like(Bookings::getName,pageWrap.getModel().getRoomsName()).or().like(Rooms::getName, pageWrap.getModel().getRoomsName())) |
| | | .exists(pageWrap.getModel().getQueryType().equals(MeetConstants.ONE) && !Objects.isNull(pageWrap.getModel().getUserId()), |
| | | " select u.id from meeting_user_rel u where t.id = u.OBJ_ID and u.USER_ID = '" + pageWrap.getModel().getUserId() + "' and u.ISDELETED = 0 and u.OBJ_TYPE = 1 ") |
| | | .eq(pageWrap.getModel().getQueryType().equals(MeetConstants.TWO) |
| | | && !Objects.isNull(pageWrap.getModel().getUserId()), Bookings::getCreator, pageWrap.getModel().getUserId()) |
| | | .like(StringUtils.isNotBlank(pageWrap.getModel().getQueryDate()), Bookings::getStartTime, pageWrap.getModel().getQueryDate()) |
| | | .eq(!Objects.isNull(pageWrap.getModel().getRoomsId()), Bookings::getRoomId, pageWrap.getModel().getRoomsId()) |
| | | .apply(!Objects.isNull(pageWrap.getModel().getStatus()) && pageWrap.getModel().getStatus().equals(MeetConstants.ONE), |
| | | " now() < t.END_TIME and t.STATUS = 0 ") |
| | | .and(!Objects.isNull(pageWrap.getModel().getStatus()) && pageWrap.getModel().getStatus().equals(MeetConstants.TWO), |
| | | j -> j.apply("now() >= t.END_TIME ").or() |
| | | .eq(" t.STATUS", MeetConstants.ONE)) |
| | | .eq(Rooms::getIsdeleted,MeetConstants.ZERO) |
| | | .eq(Rooms::getStatus,MeetConstants.ZERO) |
| | | .eq(Bookings::getIsdeleted,MeetConstants.ZERO) |
| | | .apply(Objects.nonNull(pageWrap.getModel().getMeetingStatus()) |
| | | &&Constants.equalsInteger(pageWrap.getModel().getMeetingStatus(),Constants.ONE), |
| | | " ( now() < t.START_TIME and t.status = 0 ) " |
| | | ) |
| | | .apply(Objects.nonNull(pageWrap.getModel().getMeetingStatus()) |
| | | &&Constants.equalsInteger(pageWrap.getModel().getMeetingStatus(),Constants.TWO), |
| | | " ( now() >= t.START_TIME and t.END_TIME >= now() and t.status = 0 ) " |
| | | ) |
| | | .apply(Objects.nonNull(pageWrap.getModel().getMeetingStatus()) |
| | | &&Constants.equalsInteger(pageWrap.getModel().getMeetingStatus(),Constants.THREE), |
| | | " ( ( now() >t.END_TIME and t.`STATUS` = 0 ) or t.`STATUS` = 2 ) " |
| | | ) |
| | | .apply(Objects.nonNull(pageWrap.getModel().getMeetingStatus()) |
| | | &&Constants.equalsInteger(pageWrap.getModel().getMeetingStatus(),Constants.FOUR), |
| | | " now() < t.START_TIME AND SUBDATE( t.START_TIME, INTERVAL 120 MINUTE ) < NOW() " |
| | | ) |
| | | .eq(Objects.nonNull(pageWrap.getModel().getMeetingStatus()) |
| | | &&Constants.equalsInteger(pageWrap.getModel().getMeetingStatus(),Constants.FIVE), |
| | | Bookings::getStatus,MeetConstants.ONE |
| | | ) |
| | | .orderByDesc(Constants.equalsInteger(pageWrap.getModel().getQueryType(),MeetConstants.TWO),Bookings::getCreateDate) |
| | | .orderByAsc(Constants.equalsInteger(pageWrap.getModel().getQueryType(),MeetConstants.ONE),Bookings::getStartTime); |
| | | |
| | | IPage<Bookings> result = bookingsJoinMapper.selectJoinPage(page, Bookings.class, queryWrapper); |
| | | return result; |
| | | } |
| | | @Override |
| | | public IPage<MeetingListResponse> getMyMeetingPage(PageWrap<MeetingPageRequest> pageWrap) { |
| | | |
| | | QueryWrapper queryWrapper = new QueryWrapper<MeetingListResponse>() |
| | | .and(StringUtils.isNotBlank(pageWrap.getModel().getRoomsName()), |
| | | j -> j.like("a.NAME",pageWrap.getModel().getRoomsName()).or() |
| | | .like(" b.NAME", pageWrap.getModel().getRoomsName())) |
| | | j -> j.like("a.NAME",pageWrap.getModel().getRoomsName()).or().like(" b.NAME", pageWrap.getModel().getRoomsName())) |
| | | .exists(pageWrap.getModel().getQueryType().equals(MeetConstants.ONE) && !Objects.isNull(pageWrap.getModel().getUserId()), |
| | | " select 1 from meeting_user_rel u where a.id = u.OBJ_ID and u.USER_ID = '" + pageWrap.getModel().getUserId() + "' and u.ISDELETED = 0 and OBJ_TYPE = 1 ") |
| | | .exists(pageWrap.getModel().getQueryType().equals(MeetConstants.THREE) && !Objects.isNull(pageWrap.getModel().getUserId()), |
| | | " select 1 from meeting_user_rel u where b.id = u.OBJ_ID and u.USER_ID = '" + pageWrap.getModel().getUserId() + "' and u.ISDELETED = 0 and OBJ_TYPE = 0 ")//管理员查看 |
| | | .eq(pageWrap.getModel().getQueryType().equals(MeetConstants.TWO) && !Objects.isNull(pageWrap.getModel().getUserId()), "a.CREATOR", pageWrap.getModel().getUserId()) |
| | | .like(StringUtils.isNotBlank(pageWrap.getModel().getQueryDate()), "a.START_TIME", pageWrap.getModel().getQueryDate()) |
| | | .eq(!Objects.isNull(pageWrap.getModel().getRoomsId()), "b.id", pageWrap.getModel().getRoomsId()) |
| | | .apply(!Objects.isNull(pageWrap.getModel().getStatus()) && pageWrap.getModel().getStatus().equals(MeetConstants.ONE), " now() < a.END_TIME and a.STATUS = 0 ") |
| | | .and(!Objects.isNull(pageWrap.getModel().getStatus()) && pageWrap.getModel().getStatus().equals(MeetConstants.TWO), |
| | | .apply(!Objects.isNull(pageWrap.getModel().getStatus()) |
| | | && pageWrap.getModel().getStatus().equals(MeetConstants.ONE), |
| | | " now() < a.END_TIME and a.STATUS = 0 ") |
| | | .and(!Objects.isNull(pageWrap.getModel().getStatus()) |
| | | && pageWrap.getModel().getStatus().equals(MeetConstants.TWO), |
| | | j -> j.apply("now() >= a.END_TIME ").or() |
| | | .eq(" a.STATUS", MeetConstants.ONE)) |
| | | .eq("b.ISDELETED",MeetConstants.ZERO) |
| | |
| | | // .orderByDesc(!Objects.isNull(pageWrap.getModel().getStatus())&&pageWrap.getModel().getStatus().equals(MeetConstants.TWO),"a.START_TIME") |
| | | // .orderByAsc(Objects.isNull(pageWrap.getModel().getStatus())||pageWrap.getModel().getStatus().equals(MeetConstants.ONE),"a.START_TIME") |
| | | .orderByDesc(Constants.equalsInteger(pageWrap.getModel().getQueryType(),MeetConstants.TWO),"a.CREATE_DATE") |
| | | .orderByAsc(Constants.equalsInteger(pageWrap.getModel().getQueryType(),MeetConstants.ONE),"a.START_TIME"); |
| | | .orderByAsc(Constants.equalsInteger(pageWrap.getModel().getQueryType(),MeetConstants.ONE) |
| | | || Constants.equalsInteger(pageWrap.getModel().getQueryType(),MeetConstants.THREE),"a.START_TIME"); |
| | | |
| | | IPage<MeetingListResponse> page = bookingsMapper.myMeetingPage(pageWrap.toPage(), queryWrapper); |
| | | this.dealMeetingStatus(page.getRecords()); |