forked from rongchao/epmet-cloud-rizhao
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.
121 lines
5.0 KiB
121 lines
5.0 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.FactGroupAgencyDailyDao">
|
|
|
|
<resultMap type="com.epmet.entity.stats.FactGroupAgencyDailyEntity" id="factGroupAgencyDailyMap">
|
|
<result property="id" column="ID"/>
|
|
<result property="agencyId" column="AGENCY_ID"/>
|
|
<result property="pid" column="PID"/>
|
|
<result property="dateId" column="DATE_ID"/>
|
|
<result property="weekId" column="WEEK_ID"/>
|
|
<result property="monthId" column="MONTH_ID"/>
|
|
<result property="quarterId" column="QUARTER_ID"/>
|
|
<result property="yearId" column="YEAR_ID"/>
|
|
<result property="gridTotal" column="GRID_TOTAL"/>
|
|
<result property="groupTotalCount" column="GROUP_TOTAL_COUNT"/>
|
|
<result property="groupMemberTotalCount" column="GROUP_MEMBER_TOTAL_COUNT"/>
|
|
<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="insertGroupAgencyDaily">
|
|
INSERT INTO fact_group_agency_daily (
|
|
ID, CUSTOMER_ID, AGENCY_ID, PID, DATE_ID, WEEK_ID, MONTH_ID, QUARTER_ID, YEAR_ID, GRID_TOTAL, GROUP_TOTAL_COUNT, GROUP_MEMBER_TOTAL_COUNT,
|
|
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="agencyList" item="agency" separator=",">
|
|
(
|
|
REPLACE(UUID(),'-',''),
|
|
#{agency.customerId},
|
|
#{agency.agencyId},
|
|
#{agency.pid},
|
|
#{agency.dateId},
|
|
#{agency.weekId},
|
|
#{agency.monthId},
|
|
#{agency.quarterId},
|
|
#{agency.yearId},
|
|
#{agency.gridTotal},
|
|
#{agency.groupTotalCount},
|
|
#{agency.groupMemberTotalCount},
|
|
#{agency.groupMemberAvgCount},
|
|
#{agency.groupMedian},
|
|
#{agency.groupIncr},
|
|
#{agency.groupMemberMaxCount},
|
|
IFNULL(#{agency.maxMemberGroupId},NULL),
|
|
#{agency.groupMemberMinCount},
|
|
IFNULL(#{agency.minMemberGroupId},NULL),
|
|
#{agency.delFlag},
|
|
#{agency.revision},
|
|
#{agency.createdBy},
|
|
NOW(),
|
|
#{agency.updatedBy},
|
|
NOW()
|
|
)
|
|
</foreach>
|
|
</insert>
|
|
|
|
<!-- 获取 网格小组【机关-日统计】的最后一天数据 -->
|
|
<select id="getLastDayAgency" resultType="com.epmet.dto.group.form.AgencyMonthlyFormDTO" parameterType="java.lang.String">
|
|
SELECT
|
|
ID AS id,
|
|
customer_id AS customerId,
|
|
AGENCY_ID AS agencyId,
|
|
PID AS pid,
|
|
MONTH_ID AS monthId,
|
|
QUARTER_ID AS quarterId,
|
|
YEAR_ID AS yearId,
|
|
GRID_TOTAL AS gridTotal,
|
|
GROUP_TOTAL_COUNT AS groupTotal,
|
|
GROUP_MEMBER_TOTAL_COUNT AS groupMemberTotal,
|
|
GROUP_MEMBER_AVG_COUNT AS groupMemberAvgCount,
|
|
GROUP_MEDIAN AS groupMedian,
|
|
GROUP_INCR AS groupIncr,
|
|
GROUP_MEMBER_MAX_COUNT AS groupMemberMaxCount,
|
|
MAX_MEMBER_GROUP_ID AS maxMemberGroupId,
|
|
GROUP_MEMBER_MIN_COUNT AS groupMemberMinCount,
|
|
MIN_MEMBER_GROUP_ID AS minMemberGroupId
|
|
FROM
|
|
fact_group_agency_daily
|
|
WHERE
|
|
del_flag = '0'
|
|
AND date_id = #{dateId}
|
|
</select>
|
|
|
|
<!-- 查询 月的小组增量 -->
|
|
<select id="getMonthGroupIncr" resultType="com.epmet.dto.group.result.AgencyGroupMonthlyResultDTO" parameterType="java.lang.String">
|
|
SELECT
|
|
agency_id AS agencyId,
|
|
SUM( group_incr ) AS monthGroupIncr
|
|
FROM
|
|
fact_group_agency_daily
|
|
WHERE
|
|
del_flag = '0'
|
|
AND month_id = #{monthId}
|
|
GROUP BY
|
|
agency_id
|
|
</select>
|
|
|
|
<!-- 删除当天已存在数据 -->
|
|
<delete id="deleteInsertAgencyDailyByDateId">
|
|
DELETE
|
|
FROM
|
|
fact_group_agency_daily
|
|
WHERE
|
|
date_id = #{dateId}
|
|
AND customer_id = #{customerId}
|
|
</delete>
|
|
|
|
</mapper>
|