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

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