日照智慧社区接口服务
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

<?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>