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.
 
 
 
 
 

100 lines
4.1 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.stats.FactGroupGridDailyDao">
<resultMap type="com.epmet.entity.stats.FactGroupGridDailyEntity" id="factGroupGridDailyMap">
<result property="id" column="ID"/>
<result property="agencyId" column="AGENCY_ID"/>
<result property="gridId" column="GRID_ID"/>
<result property="dateId" column="DATE_ID"/>
<result property="weekId" column="WEEK_ID"/>
<result property="monthId" column="MONTH_ID"/>
<result property="yearId" column="YEAR_ID"/>
<result property="quarterId" column="QUARTER_ID"/>
<result property="gridTotal" column="GRID_TOTAL"/>
<result property="groupTotal" column="GROUP_TOTAL"/>
<result property="groupMemberTotal" column="GROUP_MEMBER_TOTAL"/>
<result property="groupMemberAvgCount" column="GROUP_MEMBER_AVG_COUNT"/>
<result property="groupMedian" column="GROUP_MEDIAN"/>
<result property="groupIncr" column="GROUP_INCR"/>
<result property="groupMemberMaxCount" column="GROUP_MEMBER_MAX_COUNT"/>
<result property="maxMemberGroupId" column="MAX_MEMBER_GROUP_ID"/>
<result property="groupMemberMinCount" column="GROUP_MEMBER_MIN_COUNT"/>
<result property="minMemberGroupId" column="MIN_MEMBER_GROUP_ID"/>
<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>
<insert id="insertGroupGridDaily">
INSERT INTO fact_group_grid_daily (ID, CUSTOMER_ID, AGENCY_ID, GRID_ID, DATE_ID, WEEK_ID, MONTH_ID, YEAR_ID, QUARTER_ID, GRID_TOTAL,
GROUP_TOTAL, GROUP_MEMBER_TOTAL, GROUP_MEMBER_AVG_COUNT, GROUP_MEDIAN, GROUP_INCR, GROUP_MEMBER_MAX_COUNT, MAX_MEMBER_GROUP_ID,
GROUP_MEMBER_MIN_COUNT, MIN_MEMBER_GROUP_ID, DEL_FLAG, REVISION, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME)
VALUES
<foreach collection="formDto" item="grid" separator=",">
(
REPLACE(UUID(),'-',''),
#{grid.customerId},
#{grid.agencyId},
#{grid.gridId},
#{grid.dateId},
#{grid.weekId},
#{grid.monthId},
#{grid.yearId},
#{grid.quarterId},
#{grid.gridTotal},
#{grid.groupTotal},
#{grid.groupMemberTotal},
#{grid.groupMemberAvgCount},
#{grid.groupMedian},
#{grid.groupIncr},
#{grid.groupMemberMaxCount},
#{grid.maxMemberGroupId},
#{grid.groupMemberMinCount},
#{grid.minMemberGroupId},
#{grid.delFlag},
#{grid.revision},
#{grid.createdBy},
NOW(),
#{grid.updatedBy},
NOW()
)
</foreach>
</insert>
<!-- 删除已存在的数据【当天】防止当天数据多条 -->
<delete id="deleteInsertDateId">
DELETE
FROM
fact_group_grid_daily
WHERE
date_id = #{dateId}
AND customer_id = #{customerId}
limit 1000
</delete>
<!-- 根据机关级别查询小组数据 -->
<select id="selectGroupCountByOrgLevel" resultType="com.epmet.entity.evaluationindex.screen.ScreenUserTotalDataEntity">
SELECT
<choose>
<when test='"grid" == orgLevel'>GRID_ID AS orgId,GROUP_TOTAL AS groupTotal</when>
<otherwise>AGENCY_ID AS orgId,GROUP_TOTAL_COUNT AS groupTotal</otherwise>
</choose>
FROM
<choose>
<when test='"grid" == orgLevel'>fact_group_grid_daily</when>
<otherwise>fact_group_agency_daily</otherwise>
</choose>
WHERE
DEL_FLAG = '0'
AND CUSTOMER_ID = #{customerId}
AND DATE_ID = #{dateId}
</select>
</mapper>