日照智慧社区接口服务
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

96 lines
3.2 KiB

<?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.epmet.dao.MemoAttrDao">
<select id="memosToRemind" resultType="com.epmet.dto.result.MemosToRemindResultDTO">
SELECT a.memoId, a.remindTime, a.type, a.typeName, a.content FROM (
SELECT
ma.id memoId,
ma.remind_time remindTime,
ma.type type,
'人员关怀' typeName,
mc.content content
FROM
memo_attr ma
INNER JOIN memo_concern mc ON ma.type = 'concern' AND ma.id = mc.id
WHERE
ma.del_flag = '0'
AND mc.del_flag = '0'
AND ma.read_flag = '0'
AND ma.receiver = #{userId}
<choose>
<when test='remindTime != "" and remindTime != null'>
AND ma.remind_time = #{remindTime}
</when>
<otherwise>
AND ma.remind_time <![CDATA[<=]]> NOW()
</otherwise>
</choose>
UNION ALL
SELECT
ma.id memoId,
ma.remind_time remindTime,
ma.type type,
'难点堵点' typeName,
md.content content
FROM
memo_attr ma
INNER JOIN memo_difficulty md ON ma.type = 'difficulty' AND ma.id = md.id
WHERE
ma.del_flag = '0'
AND md.del_flag = '0'
AND ma.read_flag = '0'
AND ma.receiver = #{userId}
<choose>
<when test='remindTime != "" and remindTime != null'>
AND ma.remind_time = #{remindTime}
</when>
<otherwise>
AND ma.remind_time <![CDATA[<=]]> NOW()
</otherwise>
</choose>
UNION ALL
SELECT
ma.id memoId,
ma.remind_time remindTime,
ma.type type,
'工作日志' typeName,
mwd.content content
FROM
memo_attr ma
INNER JOIN memo_work_diary mwd ON ma.type = 'work_diary' AND ma.id = mwd.id
WHERE
ma.del_flag = '0'
AND mwd.del_flag = '0'
AND ma.read_flag = '0'
AND ma.receiver = #{userId}
<choose>
<when test='remindTime != "" and remindTime != null'>
AND ma.remind_time = #{remindTime}
</when>
<otherwise>
AND ma.remind_time <![CDATA[<=]]> NOW()
</otherwise>
</choose>
) a ORDER BY a.remindTime ASC
</select>
<select id="memoTime" resultType="java.lang.String">
SELECT DISTINCT
DATE_FORMAT(remind_time, '%Y-%m-%d %H:%i') remindTime
FROM
memo_attr
WHERE
del_flag = '0'
AND receiver = #{userId}
AND remind_time > NOW()
AND remind_time <![CDATA[<]]> CURDATE() + 1
ORDER BY remind_time ASC
</select>
</mapper>