+新排序
This commit is contained in:
parent
f0369975e8
commit
d0477bb8f7
@ -3,33 +3,102 @@
|
||||
<mapper namespace="cn.axzo.msg.center.dal.mapper.PendingMessageRecordMapper">
|
||||
|
||||
<select id="queryByTemplateCodes" resultType="cn.axzo.msg.center.domain.entity.PendingMessageRecord">
|
||||
select * from (
|
||||
<if test="isNowDay">
|
||||
SELECT * from (SELECT * FROM pending_message_record WHERE DATE(create_at) <![CDATA[<]]> DATE(#{selectDate})
|
||||
AND (state = ('HAS_BEEN_SENT') or (state = ('COMPLETED') and DATE(update_at) = DATE(#{selectDate})))
|
||||
AND is_delete = 0
|
||||
AND executor_person_id=#{personId} AND template_code IN<foreach collection="pendingCalendarCodeDTO.allCodes" index="index" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach> ORDER BY create_at ASC) old_pending_message
|
||||
union ALL
|
||||
</if>
|
||||
select * from (SELECT * FROM pending_message_record WHERE DATE(create_at) = DATE(#{selectDate}) AND state IN('HAS_BEEN_SENT','COMPLETED')
|
||||
AND is_delete = 0
|
||||
AND executor_person_id=#{personId} AND template_code IN<foreach collection="pendingCalendarCodeDTO.constructionCodes" index="index" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach> ORDER BY create_at,state DESC) new_pending_message
|
||||
union all
|
||||
SELECT * FROM (SELECT * FROM pending_message_record WHERE DATE(create_at) = DATE(#{selectDate}) AND state IN('HAS_BEEN_SENT','COMPLETED')
|
||||
AND is_delete = 0
|
||||
AND executor_person_id=#{personId} AND template_code IN<foreach collection="pendingCalendarCodeDTO.punchInCodes" index="index" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach> ORDER BY create_at,state DESC) new_pending_message1
|
||||
union all
|
||||
SELECT * FROM(SELECT * FROM pending_message_record WHERE DATE(create_at) = DATE(#{selectDate}) AND state IN('HAS_BEEN_SENT','COMPLETED')
|
||||
AND is_delete = 0
|
||||
AND executor_person_id=#{personId} AND template_code IN<foreach collection="pendingCalendarCodeDTO.clockInCodes" index="index" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach> ORDER BY create_at,state DESC) new_pending_message2
|
||||
ORDER BY create_at DESC )ccc
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
(
|
||||
<if test="isNowDay">
|
||||
(SELECT
|
||||
old_undo.*,1 AS flag
|
||||
FROM
|
||||
(SELECT
|
||||
*
|
||||
FROM
|
||||
pending_message_record
|
||||
WHERE DATE(create_at) <![CDATA[<]]> DATE (#{selectDate})
|
||||
AND (state = ('HAS_BEEN_SENT'))
|
||||
AND is_delete = 0
|
||||
AND executor_person_id = #{personId}
|
||||
AND template_code IN <foreach collection="pendingCalendarCodeDTO.constructionCodes" index="index" item="item" open="(" separator="," close=")">#{item}</foreach>
|
||||
ORDER BY create_at ASC) old_undo)
|
||||
UNION
|
||||
ALL
|
||||
</if>
|
||||
(SELECT
|
||||
new_todo.*,2 AS flag
|
||||
FROM
|
||||
(SELECT
|
||||
*
|
||||
FROM
|
||||
pending_message_record
|
||||
WHERE DATE (create_at) = DATE (#{selectDate})
|
||||
AND state IN ('HAS_BEEN_SENT')
|
||||
AND is_delete = 0
|
||||
AND executor_person_id = #{personId}
|
||||
AND template_code IN <foreach collection="pendingCalendarCodeDTO.constructionCodes" index="index" item="item" open="(" separator="," close=")">#{item}</foreach>
|
||||
ORDER BY create_at DESC) new_todo)
|
||||
UNION
|
||||
ALL
|
||||
(SELECT
|
||||
new_todo_3.*,3 AS flag
|
||||
FROM
|
||||
(SELECT
|
||||
*
|
||||
FROM
|
||||
pending_message_record
|
||||
WHERE DATE (create_at) = DATE (#{selectDate})
|
||||
AND state IN ('HAS_BEEN_SENT')
|
||||
AND is_delete = 0
|
||||
AND executor_person_id = #{personId}
|
||||
AND template_code IN <foreach collection="pendingCalendarCodeDTO.punchInCodes" index="index" item="item" open="(" separator="," close=")">#{item}</foreach>
|
||||
ORDER BY create_at DESC) new_todo_3)
|
||||
UNION
|
||||
ALL
|
||||
(SELECT
|
||||
new_todo_4.*,4 AS flag
|
||||
FROM
|
||||
(SELECT
|
||||
*
|
||||
FROM
|
||||
pending_message_record
|
||||
WHERE DATE (create_at) = DATE (#{selectDate})
|
||||
AND state IN ('HAS_BEEN_SENT')
|
||||
AND is_delete = 0
|
||||
AND executor_person_id = #{personId}
|
||||
AND template_code IN <foreach collection="pendingCalendarCodeDTO.clockInCodes" index="index" item="item" open="(" separator="," close=")">#{item}</foreach>
|
||||
ORDER BY create_at DESC) new_todo_4)
|
||||
UNION
|
||||
ALL
|
||||
(SELECT
|
||||
all_new_do.*,5 AS flag
|
||||
FROM
|
||||
(SELECT
|
||||
*
|
||||
FROM
|
||||
pending_message_record
|
||||
WHERE DATE (create_at) = DATE (#{selectDate})
|
||||
AND state = 'COMPLETED'
|
||||
AND is_delete = 0
|
||||
AND executor_person_id = #{personId}
|
||||
AND template_code IN <foreach collection="pendingCalendarCodeDTO.allCodes" index="index" item="item" open="(" separator="," close=")">#{item}</foreach>
|
||||
ORDER BY create_at DESC) all_new_do)
|
||||
UNION
|
||||
ALL
|
||||
<if test="isNowDay">
|
||||
(SELECT
|
||||
old_do.*,6 AS flag
|
||||
FROM
|
||||
(SELECT
|
||||
*
|
||||
FROM
|
||||
pending_message_record
|
||||
WHERE DATE(create_at) <![CDATA[<]]> DATE(#{selectDate})
|
||||
AND (state = ('COMPLETED') AND update_at = DATE(#{selectDate}))
|
||||
AND is_delete = 0
|
||||
AND executor_person_id = #{personId}
|
||||
AND template_code IN <foreach collection="pendingCalendarCodeDTO.constructionCodes" index="index" item="item" open="(" separator="," close=")">#{item}</foreach>
|
||||
ORDER BY create_at DESC) old_do)
|
||||
</if>
|
||||
) ccc ORDER BY flag ASC
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user