<?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.cloudroam.mapper.MeetingMapperCustom">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="BaseResultMap" type="com.cloudroam.model.MeetingDO">
|
<id column="id" property="id" />
|
<result column="create_time" property="createTime" />
|
<result column="update_time" property="updateTime" />
|
<result column="delete_time" property="deleteTime" />
|
<result column="meeting_title" property="meetingTitle" />
|
<result column="meeting_date" property="meetingDate" />
|
<result column="meeting_type" property="meetingType" />
|
<result column="meeting_content" property="meetingContent" />
|
<result column="meeting_start_time" property="meetingStartTime" />
|
<result column="meeting_end_time" property="meetingEndTime" />
|
<result column="create_user_id" property="createUserId" />
|
<result column="create_user_name" property="createUserName" />
|
<result column="update_user_id" property="updateUserId" />
|
<result column="update_user_name" property="updateUserName" />
|
|
<result column="is_commit" property="isCommit" />
|
<result column="commit_user_id" property="commitUserId" />
|
<result column="commit_user_name" property="commitUserName" />
|
<result column="commit_time" property="commitTime" />
|
|
</resultMap>
|
|
|
<resultMap id="UserDOResultMap" type="com.cloudroam.model.UserDO">
|
<id column="user_id" property="id"/>
|
<result column="username" property="username"/>
|
<result column="nickname" property="nickname"/>
|
<result column="avatar" property="avatar"/>
|
<result column="email" property="email"/>
|
</resultMap>
|
|
<resultMap id="ResultMapWithUser" type="com.cloudroam.bo.meeting.MeetingBO">
|
<id column="id" property="id" />
|
<result column="create_time" property="createTime" />
|
<result column="update_time" property="updateTime" />
|
<result column="delete_time" property="deleteTime" />
|
<result column="meeting_title" property="meetingTitle" />
|
<result column="meeting_date" property="meetingDate" />
|
<result column="meeting_type" property="meetingType" />
|
<result column="meeting_content" property="meetingContent" />
|
<result column="meeting_start_time" property="meetingStartTime" />
|
<result column="meeting_end_time" property="meetingEndTime" />
|
<result column="create_user_id" property="createUserId" />
|
<result column="create_user_name" property="createUserName" />
|
<result column="update_user_id" property="updateUserId" />
|
<result column="update_user_name" property="updateUserName" />
|
|
<result column="is_commit" property="isCommit" />
|
<result column="commit_user_id" property="commitUserId" />
|
<result column="commit_user_name" property="commitUserName" />
|
<result column="commit_time" property="commitTime" />
|
|
<result column="meeting_type_name" property="meetingTypeName" />
|
|
|
|
<!-- 嵌套查询获取员工列表-->
|
<collection property="userDOList" resultMap="UserDOResultMap" />
|
</resultMap>
|
<delete id="delProjectDailyProcess">
|
update project_daily set daily_process_meeting_id=null ,daily_process_state=null,daily_process_remark=null,daily_process_user_id=null,daily_process_user_name=null,daily_process_time=null where daily_process_meeting_id=#{id}
|
</delete>
|
<delete id="delMeetingUserByMeetingId">
|
delete from meeting_user_re where meeting_id=#{id}
|
</delete>
|
|
|
<select id="selectMeetingWithRelation" resultMap="ResultMapWithUser">
|
select m.* ,u.id as user_id,u.username,u.nickname,u.avatar,u.email,meeting_type.label as meeting_type_name
|
from meeting m
|
left join meeting_user_re mr
|
on m.id=mr.meeting_id
|
left join lin_user u
|
on mr.meeting_user_id=u.id
|
left join ( select label,value from sys_dict_item where dict_type='meeting_type' ) meeting_type
|
on m.meeting_type=meeting_type.`value`
|
where m.is_deleted=0
|
<if test=" dto.keyword !=null and dto.keyword !='' ">
|
and (
|
m.meeting_title like concat('%',#{dto.keyword},'%')
|
or m.meeting_content like concat('%',#{dto.keyword},'%')
|
)
|
</if>
|
<if test=" dto.startTime !=null and dto.startTime !='' ">
|
and m.meeting_date >= #{dto.startTime}
|
</if>
|
<if test=" dto.endTime !=null and dto.endTime !='' ">
|
and m.meeting_date <= #{dto.endTime}
|
</if>
|
<if test=" dto.meetingType !=null and dto.meetingType !='' ">
|
and m.meeting_type=#{dto.meetingType}
|
</if>
|
<if test=" dto.id !=null and dto.id !='' ">
|
and m.id=#{dto.id}
|
</if>
|
|
</select>
|
<select id="selectMeetingPage" resultType="com.cloudroam.bo.meeting.MeetingBO">
|
select m.* ,user_list.meeting_user_names,meeting_type.label as meeting_type_name
|
from meeting m
|
left join (
|
select
|
mr.meeting_id, GROUP_CONCAT(u.nickname) as meeting_user_names
|
from meeting_user_re mr
|
left join lin_user u
|
on mr.meeting_user_id=u.id
|
group by mr.meeting_id
|
)user_list
|
on m.id=user_list.meeting_id
|
left join ( select label,value from sys_dict_item where dict_type='meeting_type' ) meeting_type
|
on m.meeting_type=meeting_type.`value`
|
where m.is_deleted=0
|
|
|
<if test=" dto.keyword !=null and dto.keyword !='' ">
|
and (
|
m.meeting_title like concat('%',#{dto.keyword},'%')
|
or m.meeting_content like concat('%',#{dto.keyword},'%')
|
)
|
</if>
|
<if test=" dto.startTime !=null and dto.startTime !='' ">
|
and m.meeting_date >= #{dto.startTime}
|
</if>
|
<if test=" dto.endTime !=null and dto.endTime !='' ">
|
and m.meeting_date <= #{dto.endTime}
|
</if>
|
<if test=" dto.meetingType !=null and dto.meetingType !='' ">
|
and m.meeting_type=#{dto.meetingType}
|
</if>
|
<if test=" dto.id !=null and dto.id !='' ">
|
and m.id=#{dto.id}
|
</if>
|
|
order by meeting_date desc
|
|
</select>
|
|
</mapper>
|