<?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.BusinessDailyMapperCustom">
|
|
<!-- 通用查询映射结果 -->
|
<resultMap id="BaseResultMap" type="com.cloudroam.model.BusinessDailyDO">
|
<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="project_id" property="projectId" />
|
<result column="meeting_id" property="meetingId" />
|
<result column="business_date" property="businessDate" />
|
<result column="business_content" property="businessContent" />
|
<result column="business_start_time" property="businessStartTime" />
|
<result column="business_end_time" property="businessEndTime" />
|
<result column="remark" property="remark" />
|
<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_deleted" property="isDeleted" />
|
<result column="delete_user_id" property="deleteUserId" />
|
<result column="delete_user_name" property="deleteUserName" />
|
</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.businessDaily.BusinessDailyBO">
|
<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="project_id" property="projectId" />
|
<result column="project_name" property="projectName" />
|
<result column="business_date" property="businessDate" />
|
<result column="business_content" property="businessContent" />
|
<result column="business_start_time" property="businessStartTime" />
|
<result column="business_end_time" property="businessEndTime" />
|
<result column="remark" property="remark" />
|
<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_deleted" property="isDeleted" />
|
<result column="meeting_title" property="meetingTitle" />
|
|
|
|
<!-- 嵌套查询获取员工列表-->
|
<collection property="userDOList" resultMap="UserDOResultMap" />
|
</resultMap>
|
<delete id="delBusinessDailyByMeetingId">
|
|
|
</delete>
|
|
<select id="getBusinessDailyWithRelation" resultMap="ResultMapWithUser">
|
select m.* ,u.id as user_id,u.username,u.nickname,u.avatar,u.email,p.project_name,meeting.meeting_title
|
from business_daily m
|
left join business_daily_user_re mr
|
on m.id=mr.bussiness_daily_id
|
left join lin_user u
|
on mr.user_id=u.id
|
left join project_info p
|
on m.project_id=p.id
|
LEFT JOIN (select * from meeting m where m.is_deleted=0) meeting
|
on m.meeting_id=meeting.id
|
where m.is_deleted=0
|
<if test=" dto.keyword !=null and dto.keyword !='' ">
|
and (
|
m.business_content like concat('%',#{dto.keyword},'%')
|
or m.remark like concat('%',#{dto.keyword},'%')
|
)
|
</if>
|
<if test=" dto.startTime !=null and dto.startTime !='' ">
|
and m.business_date >= #{dto.startTime}
|
</if>
|
<if test=" dto.endTime !=null and dto.endTime !='' ">
|
and m.business_date <= #{dto.endTime}
|
</if>
|
|
<if test=" dto.projectId !=null and dto.projectId !='' ">
|
and m.project_id = #{dto.projectId}
|
</if>
|
|
<if test=" dto.meetingId !=null and dto.meetingId !='' ">
|
and m.meeting_id = #{dto.meetingId}
|
</if>
|
|
<if test=" dto.id !=null and dto.id !='' ">
|
and m.id = #{dto.id}
|
</if>
|
order by m.business_date desc, m.create_time desc
|
</select>
|
<select id="getBusinessDailyPage" resultType="com.cloudroam.bo.businessDaily.BusinessDailyBO">
|
select m.* ,user_list.business_user_names,p.project_name,meeting.meeting_title
|
from business_daily m
|
left join (
|
select mr.bussiness_daily_id,GROUP_CONCAT(u.nickname) as business_user_names
|
from business_daily_user_re mr
|
left join lin_user u
|
on mr.user_id=u.id
|
group by mr.bussiness_daily_id
|
)user_list
|
on m.id=user_list.bussiness_daily_id
|
left join project_info p
|
on m.project_id=p.id
|
LEFT JOIN (select * from meeting m where m.is_deleted=0) meeting
|
on m.meeting_id=meeting.id
|
where m.is_deleted=0
|
<if test=" dto.keyword !=null and dto.keyword !='' ">
|
and (
|
m.business_content like concat('%',#{dto.keyword},'%')
|
or m.remark like concat('%',#{dto.keyword},'%')
|
)
|
</if>
|
<if test=" dto.startTime !=null and dto.startTime !='' ">
|
and m.business_date >= #{dto.startTime}
|
</if>
|
<if test=" dto.endTime !=null and dto.endTime !='' ">
|
and m.business_date <= #{dto.endTime}
|
</if>
|
|
<if test=" dto.projectId !=null and dto.projectId !='' ">
|
and m.project_id = #{dto.projectId}
|
</if>
|
|
<if test=" dto.meetingId !=null and dto.meetingId !='' ">
|
and m.meeting_id = #{dto.meetingId}
|
</if>
|
|
<if test=" dto.id !=null and dto.id !='' ">
|
and m.id = #{dto.id}
|
</if>
|
order by m.business_date desc, m.create_time desc
|
</select>
|
|
</mapper>
|