| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206 |
- <?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.inspur.mapper.PartyAttendanceRecordMapper">
-
- <resultMap type="com.inspur.domain.partywork.PartyAttendanceRecord" id="PartyAttendanceRecordResult">
- <result property="id" column="id" />
- <result property="meetingId" column="meeting_id" />
- <result property="type" column="type" />
- <result property="memberId" column="member_id" />
- <result property="memberName" column="name" />
- <result property="username" column="name" />
- <result property="sex" column="gender" />
- <result property="picPath" column="pic_path" />
- <result property="attendanceStatus" column="attendance_status" />
- <result property="createTime" column="create_time" />
- <result property="signTime" column="sign_time" />
- <result property="attence_time" column="sign_time" />
- <result property="attendanceCount" column="attendance_count" />
- </resultMap>
- <resultMap type="com.inspur.domain.partywork.PartyAttendanceVo" id="PartyAttendanceResult">
- <result property="title" column="title" />
- <result property="attendanceStatus" column="attendance_status" />
- <result property="wxcode_url" column="code_img_url" />
- <result property="address" column="address" />
- <result property="type" column="type" />
- <result property="djOrgid" column="dj_orgid" />
- <result property="begin_time" column="begin_time" />
- <result property="end_time" column="end_time" />
- <result property="from_org" column="from_org" />
- <result property="join_num" column="join_num" />
- <result property="wxcode_url" column="wxcode_url" />
- <result property="join_member" column="join_member" />
- <result property="status" column="status" />
- <result property="code_url" column="code_url" />
- <result property="num" column="num" />
- <result property="percent" column="percent" />
- </resultMap>
- <sql id="selectPartyAttendanceRecordVo">
- select r.id, r.meeting_id,m.name, m.gender, m.pic_path, r.type, r.member_id, r.attendance_status, r.create_time,r.sign_time from party_attendance_record r
- left join party_member_manage m on m.id = r.member_id
- </sql>
- <select id="selectPartyAttendanceRecordList" parameterType="com.inspur.domain.partywork.PartyAttendanceRecord" resultMap="PartyAttendanceRecordResult">
- <include refid="selectPartyAttendanceRecordVo"/>
- <where>
- <if test="meetingId != null "> and r.meeting_id = #{meetingId}</if>
- <if test="type != null "> and r.type = #{type}</if>
- <if test="memberId != null "> and member_id = #{memberId}</if>
- <if test="attendanceStatus != null "> and r.attendance_status = #{attendanceStatus}</if>
- <if test="memberName != null "> and m.name like concat('%', #{memberName}, '%') </if>
- and r.id not in (select id from party_attendance_record where member_id in(select member_id from party_attendance_record where meeting_id = #{meetingId} and attendance_status = '2') and (attendance_status = '1' or attendance_status = '0'))
- </where>
- </select>
- <select id="selectAttendanceRecordList" parameterType="Long" resultMap="PartyAttendanceRecordResult">
- <include refid="selectPartyAttendanceRecordVo"/>
- <where>
- <if test="id != null "> and r.meeting_id = #{id}</if>
- and attendance_status = '1'
- </where>
- order by sign_time
- </select>
- <select id="selectAttendanceRecord2List" parameterType="Long" resultMap="PartyAttendanceRecordResult">
- <include refid="selectPartyAttendanceRecordVo"/>
- <where>
- <if test="id != null "> and r.meeting_id = #{id}</if>
- and attendance_status = '0'
- </where>
- order by sign_time
- </select>
- <select id="selectleaveList" parameterType="Long" resultMap="PartyAttendanceRecordResult">
- <include refid="selectPartyAttendanceRecordVo"/>
- <where>
- <if test="id != null "> and r.meeting_id = #{id}</if>
- and attendance_status = '2'
- </where>
- </select>
- <select id="selectAttendance" parameterType="Long" resultMap="PartyAttendanceResult">
- select DISTINCT a.id, a.title, a.type, a.dj_orgid, a.attendance_status,a.code_img_url, a.address, a.begin_time, a.end_time, a.from_org, a.join_num, a.join_member, a.num, concat(round(a.num/a.join_num*100 ,2) ,'%') as percent
- from (select me.id, me.title, me.type, me.dj_orgid, me.attendance_status, me.code_img_url, me.address, me.begin_time, me.end_time, me.from_org,(select count(id) from party_attendance_record where meeting_id = #{id} and attendance_status = '1') as num,
- (select count(id) as num from party_attendance_record where meeting_id = #{id}) as join_num,
- (select GROUP_CONCAT(org.name SEPARATOR ',') AS name
- from party_meeting_msg_ref msg
- left join party_org_manage org on msg.msg_id = org.id
- where msg.type = '1' and msg.meeting_id = #{id}) as join_member
- from party_meeting_info me
- left join party_attendance_record re on me.id = re.meeting_id
- where me.id = #{id}) a
- </select>
- <select id="selectPartyAttendanceList" parameterType="com.inspur.domain.screen.MenuDataReqVo" resultMap="PartyAttendanceRecordResult">
- <include refid="selectPartyAttendanceRecordVo"/>
- <where>
- <if test="id != null"> and id = #{id}</if>
- <if test="keywords != null and keywords != ''"> and topic like concat('%', #{keywords}, '%')</if>
- <if test="begintime != null"><!-- 开始时间检索 -->
- and date_format(startdata,'%Y%m%d %H:%i:%S') >= date_format(#{begintime},'%Y%m%d %H:%i:%S')
- </if>
- <if test="endtime != null"><!-- 结束时间检索 -->
- and date_format(enddata,'%Y%m%d %H:%i:%S') <= date_format(#{endtime},'%Y%m%d %H:%i:%S')
- </if>
- </where>
- </select>
- <select id="selectPartyAttendanceRecordById" parameterType="Long" resultMap="PartyAttendanceRecordResult">
- <include refid="selectPartyAttendanceRecordVo"/>
- where r.id = #{id}
- </select>
-
- <insert id="insertPartyAttendanceRecord" parameterType="com.inspur.domain.partywork.PartyAttendanceRecord" useGeneratedKeys="true" keyProperty="id">
- insert into party_attendance_record
- <trim prefix="(" suffix=")" suffixOverrides=",">
- <if test="meetingId != null">meeting_id,</if>
- <if test="type != null">type,</if>
- <if test="memberId != null">member_id,</if>
- <if test="attendanceStatus != null">attendance_status,</if>
- <if test="createTime != null">create_time,</if>
- <if test="reason != null">reason,</if>
- </trim>
- <trim prefix="values (" suffix=")" suffixOverrides=",">
- <if test="meetingId != null">#{meetingId},</if>
- <if test="type != null">#{type},</if>
- <if test="memberId != null">#{memberId},</if>
- <if test="attendanceStatus != null">#{attendanceStatus},</if>
- <if test="createTime != null">#{createTime},</if>
- <if test="reason != null">#{reason},</if>
- </trim>
- </insert>
- <update id="updataAppAttendanceRecord" parameterType="com.inspur.domain.partywork.PartyAttendanceRecord">
- update party_attendance_record
- <trim prefix="SET" suffixOverrides=",">
- <if test="attendanceStatus != null">attendance_status = #{attendanceStatus},</if>
- <if test="reason != null">reason = #{reason},</if>
- </trim>
- where id = #{id}
- </update>
- <update id="updatePartyAttendanceRecord" parameterType="com.inspur.domain.partywork.PartyAttendanceRecord">
- update party_attendance_record
- <trim prefix="SET" suffixOverrides=",">
- <if test="meetingId != null">meeting_id = #{meetingId},</if>
- <if test="type != null">type = #{type},</if>
- <if test="memberId != null">member_id = #{memberId},</if>
- <if test="attendanceStatus != null">attendance_status = #{attendanceStatus},</if>
- <if test="createTime != null">create_time = #{createTime},</if>
- </trim>
- where id = #{id}
- </update>
- <update id="updateAppAttendanceRecord" parameterType="com.inspur.domain.partywork.PartyAttendanceRecord">
- update party_attendance_record
- <trim prefix="SET" suffixOverrides=",">
- <if test="attendanceStatus != null">attendance_status = #{attendanceStatus},</if>
- <if test="createTime != null">sign_time = #{createTime},</if>
- <if test="signtype != null">sign_type = #{signtype},</if>
- </trim>
- where meeting_id = #{meetingId}
- and member_id = #{memberId}
- </update>
- <delete id="deletePartyAttendanceRecordById" parameterType="Long">
- delete from party_attendance_record where id = #{id}
- </delete>
- <delete id="deletePartyAttendanceRecordByIds" parameterType="String">
- delete from party_attendance_record where id in
- <foreach item="id" collection="array" open="(" separator="," close=")">
- #{id}
- </foreach>
- </delete>
- <delete id="deletePartyAttendanceRecordByMeetingId" parameterType="Long">
- delete from party_attendance_record where meeting_id = #{id}
- </delete>
- <update id="updatePartyAttendanceRecordByMeetingId" parameterType="Long">
- update party_attendance_record set attendance_status = 1,sign_Time = now() where meeting_id = #{meetingId} and attendance_status=0
- </update>
- <select id="getAttendanceRateByMeeting" parameterType="Long" resultMap="PartyAttendanceRecordResult">
- select count(1) as attendance_count,m.attendance_status from party_attendance_record m
- WHERE
- m.meeting_id in
- <foreach collection="ids" item="id" open="(" close=")" separator=",">
- #{id}
- </foreach>
- GROUP BY attendance_status
- </select>
- <update id="updatePartyAttendanceRecordByMeetingAndMemeber" parameterType="com.inspur.domain.partywork.PartyAttendanceRecord">
- update party_attendance_record set attendance_status = 2 where meeting_id = #{meetingId} and member_id=#{memberId}
- </update>
- <update id="updateStatusByMeetingIdAndMemberId">
- update party_attendance_record set attendance_status = #{attendanceStatus},sign_Time = now() where meeting_id = #{meetingId} and member_id=#{memberId}
- </update>
- </mapper>
|