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.
101 lines
3.6 KiB
101 lines
3.6 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.modules.group.dao.ResiGroupAchievementStatsDao">
|
|
|
|
<resultMap type="com.epmet.modules.group.entity.ResiGroupAchievementStatsEntity" id="resiGroupAchievementStatsMap">
|
|
<result property="id" column="ID"/>
|
|
<result property="customerId" column="CUSTOMER_ID"/>
|
|
<result property="groupId" column="GROUP_ID"/>
|
|
<result property="achievementId" column="ACHIEVEMENT_ID"/>
|
|
<result property="achievementName" column="ACHIEVEMENT_NAME"/>
|
|
<result property="arriveTime" column="ARRIVE_TIME"/>
|
|
<result property="currentValue" column="CURRENT_VALUE"/>
|
|
<result property="targetValue" column="TARGET_VALUE"/>
|
|
<result property="isArrive" column="IS_ARRIVE"/>
|
|
<result property="delFlag" column="DEL_FLAG"/>
|
|
<result property="revision" column="REVISION"/>
|
|
<result property="createdBy" column="CREATED_BY"/>
|
|
<result property="createdTime" column="CREATED_TIME"/>
|
|
<result property="updatedBy" column="UPDATED_BY"/>
|
|
<result property="updatedTime" column="UPDATED_TIME"/>
|
|
</resultMap>
|
|
<select id="selectUnAchieved" resultType="com.epmet.resi.group.dto.group.ResiGroupAchievementStatsDTO">
|
|
SELECT
|
|
ACHIEVEMENT_ID,
|
|
ACHIEVEMENT_NAME,
|
|
CURRENT_VALUE,
|
|
TARGET_VALUE
|
|
FROM
|
|
resi_group_achievement_stats
|
|
WHERE DEL_FLAG = '0'
|
|
AND GROUP_ID = #{groupId}
|
|
AND IS_ARRIVE = 0
|
|
ORDER BY
|
|
CURRENT_VALUE / TARGET_VALUE ASC
|
|
LIMIT 3
|
|
</select>
|
|
<select id="selectLastUnAchieved" resultMap="resiGroupAchievementStatsMap">
|
|
SELECT
|
|
ID, CUSTOMER_ID, GROUP_ID, ACHIEVEMENT_ID, ACHIEVEMENT_NAME, ACHIEVEMENT_TYPE, ARRIVE_TIME, CURRENT_VALUE, TARGET_VALUE, IS_ARRIVE
|
|
FROM
|
|
resi_group_achievement_stats
|
|
WHERE DEL_FLAG = '0'
|
|
AND GROUP_ID = #{groupId}
|
|
AND CUSTOMER_ID = #{customerId}
|
|
AND ACHIEVEMENT_TYPE = #{achievementType}
|
|
AND IS_ARRIVE = 0
|
|
</select>
|
|
<insert id="saveOrUpdate">
|
|
INSERT INTO resi_group_achievement_stats
|
|
(
|
|
ID,
|
|
CUSTOMER_ID,
|
|
GROUP_ID,
|
|
ACHIEVEMENT_ID,
|
|
ACHIEVEMENT_NAME,
|
|
ACHIEVEMENT_TYPE,
|
|
ARRIVE_TIME,
|
|
CURRENT_VALUE,
|
|
TARGET_VALUE,
|
|
IS_ARRIVE,
|
|
DEL_FLAG,
|
|
REVISION,
|
|
CREATED_BY,
|
|
CREATED_TIME,
|
|
UPDATED_BY,
|
|
UPDATED_TIME
|
|
)
|
|
VALUES
|
|
<foreach collection="list" item="item" separator=",">
|
|
(
|
|
#{item.id},
|
|
#{item.customerId},
|
|
#{item.groupId},
|
|
#{item.achievementId},
|
|
#{item.achievementName},
|
|
#{item.achievementType},
|
|
#{item.arriveTime},
|
|
#{item.currentValue},
|
|
#{item.targetValue},
|
|
#{item.isArrive},
|
|
#{item.delFlag},
|
|
#{item.revision},
|
|
#{item.createdBy},
|
|
#{item.createdTime},
|
|
#{item.updatedBy},
|
|
#{item.updatedTime}
|
|
)
|
|
</foreach>
|
|
ON DUPLICATE KEY UPDATE
|
|
<if test="updateAll">
|
|
CURRENT_VALUE = values(CURRENT_VALUE),
|
|
TARGET_VALUE = values(TARGET_VALUE),
|
|
IS_ARRIVE = VALUES(IS_ARRIVE),
|
|
UPDATED_TIME = VALUES(UPDATED_TIME),
|
|
</if>
|
|
UPDATED_BY = VALUES(UPDATED_BY)
|
|
</insert>
|
|
|
|
|
|
</mapper>
|
|
|