mirror of
https://gitee.com/elegant_wings/dbd-meeting.git
synced 2025-06-21 17:09:36 +08:00
1、会议室预约记录排序; 待审核、待开始: 日期正序,时间正序,会议编号正序;其他:日期倒序,时间正序,会议编号正序。
2、会议开始前提醒 2小时更改为提前1小时。 3、向音控人员和服务人员 发送会议开始前提醒,会议取消提醒
This commit is contained in:
parent
aca1e9452d
commit
951c0fec06
@ -434,6 +434,7 @@ public class MeetingReservationController extends BaseController {
|
||||
* capacityNum,容纳人数,精确查询
|
||||
* status,预约状态,精确查询
|
||||
* filterDate,预约日期查询,以预约开始时间为准;查询指定日期的所有预约。
|
||||
* startDate,endDate 日期范围筛选,成对出现
|
||||
* sort,排序, create 以创建时间倒序排列;start 以预约会议开始时间倒序排列(默认)
|
||||
*
|
||||
*/
|
||||
@ -443,6 +444,13 @@ public class MeetingReservationController extends BaseController {
|
||||
startPage();
|
||||
Long userId = getLoginStaffId();
|
||||
meetingRecordVo.setUserId(userId);
|
||||
if (StringUtils.isNotBlank(meetingRecordVo.getStartDate()) && StringUtils.isNotBlank(meetingRecordVo.getEndDate()) && meetingRecordVo.getStartDate().length() == 10 && meetingRecordVo.getEndDate().length() == 10) {
|
||||
meetingRecordVo.setStartDate(meetingRecordVo.getStartDate() + " 00:00:00");
|
||||
meetingRecordVo.setEndDate(meetingRecordVo.getEndDate() + " 23:59:59");
|
||||
} else {
|
||||
meetingRecordVo.setStartDate(null);
|
||||
meetingRecordVo.setEndDate(null);
|
||||
}
|
||||
return result(meetingReservationService.selectMeetingReservationList(meetingRecordVo));
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
package com.ics.admin.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.ics.admin.mapper.MeetingStatsMapper;
|
||||
import com.ics.admin.service.IMeetingStatsService;
|
||||
@ -105,19 +104,19 @@ public class IMeetingStatsServiceImpl implements IMeetingStatsService {
|
||||
List<Long> zs = new ArrayList<>();
|
||||
List<MRStatsVo> list = meetingStatsMapper.roomRankStats(start, end);
|
||||
|
||||
System.out.println("会议室使用排名原始数据: " + list.size() + "条");
|
||||
// System.out.println("会议室使用排名原始数据: " + list.size() + "条");
|
||||
for (MRStatsVo mrStatsVo : list) {
|
||||
System.out.println("会议室: " + mrStatsVo.getName() +
|
||||
", 楼层: " + mrStatsVo.getFloor() +
|
||||
", 房间号: " + mrStatsVo.getRoomNum() +
|
||||
", 使用次数: " + mrStatsVo.getValue());
|
||||
// System.out.println("会议室: " + mrStatsVo.getName() +
|
||||
// ", 楼层: " + mrStatsVo.getFloor() +
|
||||
// ", 房间号: " + mrStatsVo.getRoomNum() +
|
||||
// ", 使用次数: " + mrStatsVo.getValue());
|
||||
y.add(mrStatsVo.getName());
|
||||
zs.add(mrStatsVo.getValue());
|
||||
}
|
||||
roomRank.put("y", y);
|
||||
roomRank.put("total", zs);
|
||||
map.put("roomRank", roomRank);
|
||||
System.out.println("处理后的会议室使用排名数据: y=" + y + ", total=" + zs);
|
||||
// System.out.println("处理后的会议室使用排名数据: y=" + y + ", total=" + zs);
|
||||
}
|
||||
if (true) {//服务情况
|
||||
List<Map<String, Object>> serve = new ArrayList<>();
|
||||
|
@ -22,6 +22,7 @@ import com.ics.admin.utils.MeetingRemindContent;
|
||||
import com.ics.admin.utils.MrOperate;
|
||||
import com.ics.admin.vo.MeetingRecordVo;
|
||||
import com.ics.admin.vo.MeetingRoomVo;
|
||||
import com.ics.admin.vo.MeetingWaiterVo;
|
||||
import com.ics.common.core.domain.IcsCustomerStaff;
|
||||
import com.ics.common.utils.DateUtils;
|
||||
import com.ics.common.utils.StringUtils;
|
||||
@ -358,6 +359,15 @@ public class MeetingReservationServiceImpl implements IMeetingReservationService
|
||||
String.format(meetingRemindContent.getMu2(), remindContent, content), currentUserId, now, "1")
|
||||
);
|
||||
}
|
||||
//会议取消服务人员,音控、会务服务都有--start
|
||||
List<MeetingWaiterVo> waiters = meetingWaiterService.selectMeetingWaiterList(meetingReservation.getId());
|
||||
for (MeetingWaiterVo meetingWaiterVo : waiters) {
|
||||
list.add(
|
||||
new RepairRemind(1, meetingReservation.getId(), meetingWaiterVo.getUserId(),
|
||||
String.format(meetingRemindContent.getMu2(), remindContent, content), currentUserId, now, "1")
|
||||
);
|
||||
}
|
||||
//会议取消服务人员,音控、会务服务都有--end
|
||||
}
|
||||
if (status == 3) {//驳回
|
||||
list.add(
|
||||
@ -388,6 +398,15 @@ public class MeetingReservationServiceImpl implements IMeetingReservationService
|
||||
new RepairRemind(1, meetingReservation.getId(), Long.valueOf(meetingReservation.getCreateBy()),
|
||||
String.format(meetingRemindContent.getCu4(), remindContent), currentUserId, now, "1")
|
||||
);
|
||||
//会议开始前提醒服务人员,音控、会务服务都有--start
|
||||
List<MeetingWaiterVo> waiters = meetingWaiterService.selectMeetingWaiterList(meetingReservation.getId());
|
||||
for (MeetingWaiterVo meetingWaiterVo : waiters) {
|
||||
list.add(
|
||||
new RepairRemind(1, meetingReservation.getId(), meetingWaiterVo.getUserId(),
|
||||
String.format(meetingRemindContent.getCu4(), remindContent), currentUserId, now, "1")
|
||||
);
|
||||
}
|
||||
//会议开始前提醒服务人员,音控、会务服务都有--end
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
@ -97,13 +97,13 @@
|
||||
<!-- 分页列表 -->
|
||||
<select id="selectMeetingReservationList" parameterType="com.ics.admin.vo.MeetingRecordVo" resultType="com.ics.admin.vo.MeetingRecordVo">
|
||||
SELECT mr.id, sn, room_id, start, `end`, time_format, title, person_num, leader, booking_user_name, booking_user_phone, user_org_id, user_org, status, operate, mr.remark, mr.ext1, mr.ext2, mr.ext3, mr.create_time createTime,mr.update_time updateTime,
|
||||
floor_id, floor, name, type_id, type_name, device, room_num, area, capacity_num, content, enable, room.ext1 roomExt1, room.ext2 roomExt2, room.ext3 roomExt3, room.remark roomRemark
|
||||
floor_id, floor, name, type_id, type_name, device, room_num, area, capacity_num, content, enable, room.ext1 roomExt1, room.ext2 roomExt2, room.ext3 roomExt3, room.remark roomRemark
|
||||
from ics_meeting_reservation mr inner join ics_meeting_room room on mr.room_id=room.id
|
||||
<if test="role == 3">
|
||||
inner join ics_meeting_waiter wa on mr.id=wa.rid
|
||||
inner join ics_meeting_waiter wa on mr.id=wa.rid
|
||||
</if>
|
||||
where
|
||||
mr.delete_flag=0 and room.delete_flag=0
|
||||
mr.delete_flag=0 and room.delete_flag=0
|
||||
<if test="role == 3">
|
||||
and wa.delete_flag=0 and wa.user_id=#{userId}
|
||||
</if>
|
||||
@ -119,23 +119,23 @@
|
||||
<if test="device != null and device != ''"> AND room.device LIKE CONCAT('%', #{device}, '%')</if>
|
||||
<if test="capacityNum != null"> AND capacity_num <= #{capacityNum}</if>
|
||||
<if test="status != null"> AND status = #{status}</if>
|
||||
<if test="startDate != null and startDate != '' and endDate != null and endDate != ''">
|
||||
AND (start >= CONCAT(#{startDate}, ' 00:00:00') AND start <= CONCAT(#{endDate}, ' 23:59:59'))
|
||||
</if>
|
||||
<if test="filterDate != null and filterDate != '' and (startDate == null or startDate == '')">
|
||||
AND start LIKE CONCAT(#{filterDate}, '%')
|
||||
</if>
|
||||
<if test="filterDate != null and filterDate != ''"> AND start LIKE CONCAT(#{filterDate}, '%')</if>
|
||||
<if test="ext1 != null and ext1 != ''"> AND mr.ext1 is null</if>
|
||||
<if test="startDate != null and startDate != '' and endDate != null and endDate != ''">
|
||||
AND start between #{startDate} AND #{endDate}
|
||||
</if>
|
||||
<choose>
|
||||
<when test="sort != null and sort == 'create'"> order by mr.create_time desc,status</when>
|
||||
<otherwise>
|
||||
/* 按距离当前日期的接近程度排序,最接近的在前面 */
|
||||
order by ABS(DATEDIFF(DATE(start), CURDATE())),
|
||||
/* 按时间段早晚排序,最早的排在前面 */
|
||||
TIME(start) ASC,
|
||||
/* 按会议室编号排序 */
|
||||
room_num + 0 ASC,
|
||||
status
|
||||
<choose>
|
||||
<!-- 待开始、待审核按照日期正序排列,其他为倒序;时间都为正序,会议室编号都为正序,状态都为正序 -->
|
||||
<when test="status == 5 or status == 7">
|
||||
order by start asc,room_num asc,status
|
||||
</when>
|
||||
<otherwise>
|
||||
order by date(start) desc,time(start) ASC,room_num asc,status
|
||||
</otherwise>
|
||||
</choose>
|
||||
</otherwise>
|
||||
</choose>
|
||||
</select>
|
||||
@ -156,11 +156,11 @@
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<!-- 即将开始的会议预约,开始时间小于2小时预约,只提醒一次 -->
|
||||
<!-- 即将开始的会议预约,开始时间小于1小时预约,只提醒一次 -->
|
||||
<select id="getSoonMeetingReservation" resultMap="MeetingReservationResult">
|
||||
<include refid="selectMeetingReservationVo"/>
|
||||
<![CDATA[
|
||||
WHERE delete_flag = 0 and status=7 and TIMESTAMPDIFF(MINUTE,now(),start) <= 120 and TIMESTAMPDIFF(MINUTE,now(),start) >= 115
|
||||
WHERE delete_flag = 0 and status=7 and TIMESTAMPDIFF(MINUTE,now(),start) <= 60 and TIMESTAMPDIFF(MINUTE,now(),start) >= 55
|
||||
]]>
|
||||
</select>
|
||||
<!-- 审核通过的会议预约变成进行中 -->
|
||||
|
@ -69,7 +69,7 @@
|
||||
(select ms.value value,mr.id id
|
||||
from ics_meeting_serve ms,ics_meeting_reservation mr where ms.rid=mr.id and ms.delete_flag=0 and mr.delete_flag=0 and mr.status>7 and mr.start between #{start} and #{end}
|
||||
) zj on type.dict_value=zj.value
|
||||
where type.dict_type='mm_service' and type.status=0 group by type.dict_label, type.dict_sort order by type.dict_sort
|
||||
where type.dict_type='mm_service' and type.status=0 group by type.dict_label order by type.dict_sort
|
||||
]]>
|
||||
</select>
|
||||
|
||||
@ -82,7 +82,7 @@
|
||||
and mr.status>7 and mr.start between #{start} and #{end}) jl
|
||||
on type.dict_value=jl.typeid
|
||||
where type.dict_type='mm_type' and type.status=0
|
||||
group by type.dict_label, type.dict_sort order by type.dict_sort
|
||||
group by type.dict_label order by type.dict_sort
|
||||
]]>
|
||||
</select>
|
||||
|
||||
|
@ -25,7 +25,7 @@ public class MyParkLineHandler implements TenantLineHandler {
|
||||
"ics_apply_settle_file", "ics_apply_move_in_file", "ics_activity","ics_customer_staff","ics_customer","tb_customer_ticket","tb_reservation","tb_reservation_person",
|
||||
"tb_room_content","tb_room_item","tb_room_item_by_room","tb_room_serve_by_room","tb_room_serve","tb_equipment","tb_staff_customer",
|
||||
"tb_room_equipment","tb_room_record","tb_room_serve","tb_showroom","tb_showroom_record","tb_ticket","tb_user_equipment","tb_visitor_person",
|
||||
"ics_repair","ics_repair_remind","ics_repair_address_floor","ics_meeting_reservation","ics_meeting_room"
|
||||
"ics_repair","ics_repair_remind","ics_repair_address_floor","ics_meeting_reservation","ics_meeting_room","ics_meeting_waiter"
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -25,7 +25,7 @@ public class MyTenantLineHandler implements TenantLineHandler {
|
||||
"ics_apply_settle_file", "ics_apply_move_in_file", "ics_activity","ics_customer_staff","ics_customer","tb_customer_ticket","tb_reservation","tb_reservation_person",
|
||||
"tb_room_content","tb_room_item","tb_room_item_by_room","tb_room_serve_by_room","tb_room_serve","tb_equipment","tb_staff_customer",
|
||||
"tb_room_equipment","tb_room_record","tb_room_serve","tb_showroom","tb_showroom_record","tb_ticket","tb_user_equipment","tb_visitor_person",
|
||||
"ics_repair","ics_repair_remind","ics_repair_address_floor","ics_meeting_reservation","ics_meeting_room"
|
||||
"ics_repair","ics_repair_remind","ics_repair_address_floor","ics_meeting_reservation","ics_meeting_room","ics_meeting_waiter"
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -20,7 +20,7 @@ spring:
|
||||
# url: jdbc:mysql://192.168.0.50:3306/dbd-meeting?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
||||
# username: root
|
||||
# password: boyuekeji2023
|
||||
url: jdbc:mysql://222.184.49.22:3306/shoot-hand?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
||||
url: jdbc:mysql://222.184.49.22:3306/shoot-hand-prod?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
||||
username: root
|
||||
password: boyue1!Z
|
||||
# 从库数据源
|
||||
|
Loading…
x
Reference in New Issue
Block a user