mirror of
https://gitee.com/elegant_wings/dbd-meeting.git
synced 2025-06-21 18:19:36 +08:00
107 lines
4.8 KiB
XML
107 lines
4.8 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<!DOCTYPE mapper
|
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
<mapper namespace="com.ics.admin.mapper.MeetingStatsMapper">
|
|
<!-- 会议室统计 第一行 -->
|
|
<select id="roomStats" resultType="com.ics.admin.vo.MRStatsVo">
|
|
<![CDATA[
|
|
select
|
|
count(name) zs ,sum(booking) booking,sum(going) going
|
|
from (
|
|
select room.name,
|
|
case when count(mr.id)>0 then 1 else 0 end as booking,
|
|
case when count(case when mr.status=9 then 1 else null end)>0 then 1 else 0 end as going
|
|
from ics_meeting_room room left join ics_meeting_reservation mr on room.id=mr.room_id
|
|
and room.delete_flag=0 and mr.delete_flag=0 and mr.status>3 and mr.start LIKE CONCAT(#{day}, '%')
|
|
group by room.name
|
|
) zj
|
|
]]>
|
|
</select>
|
|
|
|
<!-- 日历 第二行左 -->
|
|
<select id="calendar" resultType="com.ics.admin.vo.MRStatsVo">
|
|
<![CDATA[
|
|
select
|
|
id,sn,title,DATE_FORMAT(start,'%Y-%m-%d') name,
|
|
CONCAT(DATE_FORMAT(start,'%Y-%m-%d %H:%i'), '~',DATE_FORMAT(`end`,'%H:%i')) time,user_org org
|
|
from ics_meeting_reservation mr where mr.delete_flag=0 and mr.status>3 and start like CONCAT(#{month}, '%') order by start
|
|
]]>
|
|
</select>
|
|
|
|
<!-- 会议状态 第二行右上 -->
|
|
<select id="meetingStats" resultType="com.ics.admin.vo.MRStatsVo">
|
|
<![CDATA[
|
|
select sum(`wait`) `wait`,sum(going) going,sum(closed) closed from
|
|
(select
|
|
case when mr.status=7 then 1 else 0 end as `wait`,
|
|
case when mr.status=9 then 1 else 0 end as going,
|
|
case when mr.status=11 then 1 else 0 end as closed
|
|
from ics_meeting_reservation mr where mr.delete_flag=0 and mr.status>=7
|
|
) zj
|
|
]]>
|
|
</select>
|
|
|
|
<!-- 会议待办 第二行右下 -->
|
|
<select id="meetingAudit" resultType="com.ics.admin.vo.MRStatsVo">
|
|
<![CDATA[
|
|
select
|
|
id,title,CONCAT(DATE_FORMAT(start,'%Y-%m-%d %H:%i'), '~',DATE_FORMAT(`end`,'%H:%i')) `time`,user_org org
|
|
from ics_meeting_reservation mr where mr.delete_flag=0 and mr.status=5 order by mr.start limit 10
|
|
]]>
|
|
</select>
|
|
|
|
<!-- ====下面为图表======== -->
|
|
<!--会议室使用排名-->
|
|
<select id="roomRankStats" resultType="com.ics.admin.vo.MRStatsVo">
|
|
<![CDATA[
|
|
select room.name name,count(mr.id) value
|
|
from ics_meeting_room room left join ics_meeting_reservation mr
|
|
on room.id=mr.room_id and room.delete_flag=0 and mr.delete_flag=0 and mr.status>7 and mr.start between #{start} and #{end}
|
|
GROUP BY room.name order by room.id
|
|
]]>
|
|
</select>
|
|
|
|
<!-- 服务情况 -->
|
|
<select id="serveStats" resultType="com.ics.admin.vo.MRStatsVo">
|
|
<![CDATA[
|
|
select type.dict_label name,count(zj.id) value from sys_dict_data type left join
|
|
(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 order by type.dict_sort
|
|
]]>
|
|
</select>
|
|
|
|
<!-- 会议室形式统计 -->
|
|
<select id="roomTypeStats" resultType="com.ics.admin.vo.MRStatsVo">
|
|
<![CDATA[
|
|
select type.dict_label name,count(jl.id) value from sys_dict_data type left join
|
|
(select room.type_id typeid,mr.id from ics_meeting_room room,ics_meeting_reservation mr
|
|
where mr.room_id=room.id and room.delete_flag=0 and mr.delete_flag=0
|
|
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_type order by type.dict_sort
|
|
]]>
|
|
</select>
|
|
|
|
<!-- 部门开会情况 -->
|
|
<select id="orgMeetingStats" resultType="com.ics.admin.vo.MRStatsVo">
|
|
<![CDATA[
|
|
select mr.user_org name,count(mr.id) value from ics_meeting_reservation mr
|
|
where mr.delete_flag=0 and mr.status>7 and mr.start between #{start} and #{end}
|
|
GROUP BY mr.user_org order by value desc limit 10
|
|
]]>
|
|
</select>
|
|
|
|
<!-- 开会情况 -->
|
|
<select id="everyDayStats" resultType="com.ics.admin.vo.MRStatsVo">
|
|
<![CDATA[
|
|
select rq name,count(id) value FROM(
|
|
select id,DATE_FORMAT(start,'%m月%d日') rq from ics_meeting_reservation mr where mr.delete_flag=0 and mr.status>7 and mr.start between #{start} and #{end}
|
|
) d GROUP BY rq order by rq limit 20
|
|
]]>
|
|
</select>
|
|
|
|
</mapper> |