Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-zx-biz
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Jobs
Commits
Open sidebar
项目统一框架
一体化_户用光伏项目代码
amos-boot-zx-biz
Commits
79102718
Commit
79102718
authored
Jul 08, 2022
by
wujiang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交统计代码
parent
9d79da1b
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
361 additions
and
179 deletions
+361
-179
StatisticsRecordMapper.xml
...base/src/main/resources/mapper/StatisticsRecordMapper.xml
+361
-179
No files found.
amos-boot-system-knowledgebase/src/main/resources/mapper/StatisticsRecordMapper.xml
View file @
79102718
<?xml version="1.0" encoding="UTF-8"?>
<?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">
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yeejoin.amos.knowledgebase.face.orm.dao.StatisticsRecordMapper"
>
<mapper
namespace=
"com.yeejoin.amos.knowledgebase.face.orm.dao.StatisticsRecordMapper"
>
<update
id=
"deleteAll"
>
<update
id=
"deleteAll"
>
truncate table knowlege_statistics_record
truncate table knowlege_statistics_record
</update>
</update>
<!-- 灾情数量同比环比 -->
<!-- 灾情数量同比环比 -->
<select
id=
"selectDisasterCount"
resultType=
"java.util.Map"
>
<select
id=
"selectDisasterCount"
resultType=
"java.util.Map"
>
SELECT
SELECT
(SELECT
(SELECT
COUNT(1)
COUNT(1)
FROM
FROM
knowlege_statistics_record
knowlege_statistics_record
WHERE record_name = "DISASTER_RECORD"
WHERE record_name =
AND DATE(disaster_time) BETWEEN DATE_ADD(
"DISASTER_RECORD"
CURDATE(),
AND DATE(disaster_time) BETWEEN DATE_ADD(
INTERVAL - DAY(CURDATE()) + 1 DAY
CURDATE(),
)
INTERVAL - DAY(CURDATE()) + 1 DAY
AND LAST_DAY(CURDATE())) AS currentMonthCount,
)
(SELECT
AND LAST_DAY(CURDATE())) AS
COUNT(1)
currentMonthCount,
FROM
(SELECT
knowlege_statistics_record
COUNT(1)
WHERE record_name = "DISASTER_RECORD"
FROM
AND DATE(disaster_time) BETWEEN DATE_SUB(
knowlege_statistics_record
CURDATE() - DAY(CURDATE()) + 1,
WHERE
INTERVAL 1 MONTH
record_name = "DISASTER_RECORD"
)
AND DATE(disaster_time) BETWEEN
AND LAST_DAY(DATE_SUB(NOW(), INTERVAL 1 MONTH))) AS lastMonthCount,
DATE_SUB(
(SELECT
CURDATE() - DAY(CURDATE()) + 1,
COUNT(1)
INTERVAL 1 MONTH
FROM
)
knowlege_statistics_record
AND
WHERE record_name = "DISASTER_RECORD"
LAST_DAY(DATE_SUB(NOW(), INTERVAL 1 MONTH))) AS lastMonthCount,
AND DATE(disaster_time) BETWEEN DATE_SUB(
(SELECT
CURDATE() - DAY(CURDATE()) + 1,
COUNT(1)
INTERVAL 2 MONTH
FROM
)
knowlege_statistics_record
AND LAST_DAY(DATE_SUB(NOW(), INTERVAL 2 MONTH))) AS last2MonthCount,
WHERE record_name =
(SELECT
"DISASTER_RECORD"
COUNT(1)
AND DATE(disaster_time) BETWEEN DATE_SUB(
FROM
CURDATE() -
knowlege_statistics_record
DAY(CURDATE()) + 1,
WHERE record_name = "DISASTER_RECORD"
INTERVAL 2 MONTH
AND DATE(disaster_time) BETWEEN DATE_SUB(
)
CURDATE() - DAY(CURDATE()) + 1,
AND LAST_DAY(DATE_SUB(NOW(),
INTERVAL 1 YEAR
INTERVAL 2 MONTH))) AS last2MonthCount,
)
(SELECT
AND LAST_DAY(DATE_SUB(CURDATE(), INTERVAL 1 YEAR))) AS lastYearCurrentMonthCount,
COUNT(1)
(SELECT
FROM
COUNT(1)
knowlege_statistics_record
FROM
WHERE record_name = "DISASTER_RECORD"
knowlege_statistics_record
AND
WHERE record_name = "DISASTER_RECORD"
DATE(disaster_time) BETWEEN DATE_SUB(
AND DATE(disaster_time) BETWEEN DATE_SUB(
CURDATE() - DAY(CURDATE()) + 1,
DATE_SUB(
INTERVAL 1 YEAR
CURDATE() - DAY(CURDATE()) + 1,
)
INTERVAL 1 MONTH
AND LAST_DAY(DATE_SUB(CURDATE(), INTERVAL 1 YEAR))) AS
),
lastYearCurrentMonthCount,
INTERVAL 1 YEAR
(SELECT
)
COUNT(1)
AND LAST_DAY(
FROM
DATE_SUB(
knowlege_statistics_record
DATE_SUB(CURDATE(), INTERVAL 1 YEAR),
WHERE record_name = "DISASTER_RECORD"
INTERVAL 1 MONTH
AND
)
DATE(disaster_time) BETWEEN DATE_SUB(
)) AS lastYearLastMonthCount,
DATE_SUB(
(SELECT
CURDATE() -
COUNT(1)
DAY(CURDATE()) + 1,
FROM
INTERVAL 1 MONTH
knowlege_statistics_record
),
WHERE record_name = "DISASTER_RECORD"
INTERVAL 1 YEAR
AND DATE(disaster_time) BETWEEN CONCAT(
)
YEAR(NOW()),
AND LAST_DAY(
'-',
DATE_SUB(
LPAD((QUARTER(CURDATE()) - 1) * 3+1, 2, '0'),
DATE_SUB(CURDATE(), INTERVAL 1 YEAR),
'-01'
INTERVAL 1 MONTH
)
)
AND LAST_DAY(
)) AS
CONCAT(
lastYearLastMonthCount,
YEAR(NOW()),
(SELECT
'-',
COUNT(1)
LPAD(QUARTER(NOW()) * 3, 2, 0),
FROM
'-01'
knowlege_statistics_record
)
WHERE record_name = "DISASTER_RECORD"
)) AS currentQuarterCount,
AND DATE(disaster_time) BETWEEN
(SELECT
CONCAT(
COUNT(1)
YEAR(NOW()),
FROM
'-',
knowlege_statistics_record
LPAD((QUARTER(CURDATE()) - 1) * 3+1, 2, '0'),
WHERE record_name = "DISASTER_RECORD"
'-01'
AND DATE(disaster_time) BETWEEN DATE_SUB(
)
CONCAT(
AND LAST_DAY(
YEAR(NOW()),
CONCAT(
'-',
YEAR(NOW()),
LPAD((QUARTER(CURDATE()) - 1) * 3+1, 2, '0'),
'-',
'-01'
LPAD(QUARTER(NOW()) * 3, 2,
),
0),
INTERVAL 1 QUARTER
'-01'
)
)
AND DATE_SUB(
)) AS currentQuarterCount,
CONCAT(
(SELECT
YEAR(NOW()),
COUNT(1)
'-',
FROM
LPAD((QUARTER(CURDATE()) - 1) * 3+1, 2, '0'),
knowlege_statistics_record
'-01'
WHERE record_name = "DISASTER_RECORD"
),
AND
INTERVAL 1 DAY
DATE(disaster_time) BETWEEN DATE_SUB(
)) AS lastQuarterCount,
CONCAT(
(SELECT
YEAR(NOW()),
COUNT(1)
'-',
FROM
LPAD((QUARTER(CURDATE()) - 1) * 3+1, 2, '0'),
knowlege_statistics_record
'-01'
WHERE record_name = "DISASTER_RECORD"
),
AND DATE(disaster_time) BETWEEN DATE_SUB(
INTERVAL 1 QUARTER
CONCAT(
)
YEAR(NOW()),
AND DATE_SUB(
'-',
CONCAT(
LPAD((QUARTER(CURDATE()) - 1) * 3+1, 2, '0'),
YEAR(NOW()),
'-01'
'-',
),
LPAD((QUARTER(CURDATE()) - 1) *
INTERVAL 1 YEAR
3+1, 2, '0'),
)
'-01'
AND DATE_SUB(
),
LAST_DAY(
INTERVAL 1 DAY
CONCAT(
)) AS lastQuarterCount,
YEAR(NOW()),
(SELECT
'-',
COUNT(1)
LPAD(QUARTER(NOW()) * 3, 2, 0),
FROM
'-01'
knowlege_statistics_record
)
WHERE record_name =
),
"DISASTER_RECORD"
INTERVAL 1 YEAR
AND DATE(disaster_time) BETWEEN DATE_SUB(
)) AS lastYearCurrentQuarterCount,
CONCAT(
(SELECT
YEAR(NOW()),
COUNT(1)
'-',
FROM
LPAD((QUARTER(CURDATE()) - 1) * 3+1, 2, '0'),
knowlege_statistics_record
'-01'
WHERE record_name = "DISASTER_RECORD"
),
AND DATE(disaster_time) BETWEEN CONCAT(YEAR(CURDATE()), '-01-01')
INTERVAL 1 YEAR
AND CONCAT(YEAR(CURDATE()), '-12-31')) AS currentYearCount,
)
(SELECT
AND DATE_SUB(
COUNT(1)
LAST_DAY(
FROM
CONCAT(
knowlege_statistics_record
YEAR(NOW()),
WHERE record_name = "DISASTER_RECORD"
'-',
AND DATE(disaster_time) BETWEEN CONCAT(
LPAD(QUARTER(NOW()) * 3, 2, 0),
YEAR(DATE_SUB(CURDATE(), INTERVAL 1 YEAR)),
'-01'
'-01-01'
)
)
),
AND CONCAT(
INTERVAL 1 YEAR
YEAR(DATE_SUB(CURDATE(), INTERVAL 1 YEAR)),
)) AS
'-12-31'
lastYearCurrentQuarterCount,
)) AS lastYearCount
(SELECT
</select>
COUNT(1)
FROM
knowlege_statistics_record
WHERE record_name = "DISASTER_RECORD"
AND
DATE(disaster_time) BETWEEN CONCAT(YEAR(CURDATE()), '-01-01')
AND
CONCAT(YEAR(CURDATE()), '-12-31')) AS currentYearCount,
(SELECT
COUNT(1)
FROM
knowlege_statistics_record
WHERE record_name =
"DISASTER_RECORD"
AND DATE(disaster_time) BETWEEN CONCAT(
YEAR(DATE_SUB(CURDATE(), INTERVAL 1 YEAR)),
'-01-01'
)
AND CONCAT(
YEAR(DATE_SUB(CURDATE(), INTERVAL 1 YEAR)),
'-12-31'
)) AS lastYearCount
</select>
<!-- 燃烧物质分类查询 -->
<!-- 燃烧物质分类查询 -->
<select
id=
"selectCategoryByName"
resultType=
"java.util.Map"
parameterType=
"java.lang.String"
>
<select
id=
"selectCategoryByName"
resultType=
"java.util.Map"
SELECT
parameterType=
"java.lang.String"
>
category_value category, count(1) quantity
SELECT
FROM
category_value category, count(1) quantity
knowlege_statistics_record
FROM
WHERE record_name = #{recordName}
knowlege_statistics_record
group by category_value
WHERE record_name = #{recordName}
</select>
group by
category_value
<select
id=
"selectCountByNameAndDateRange"
resultType=
"java.util.Map"
parameterType=
"java.util.Map"
>
</select>
SELECT
DATE_FORMAT(disaster_time, #{format}) AS period,
<select
id=
"selectCountByNameAndDateRange"
SUM(COUNT_VALUE) quantity
resultType=
"java.util.Map"
parameterType=
"java.util.Map"
>
FROM
SELECT
knowlege_statistics_record
DATE_FORMAT(disaster_time, #{format}) AS period,
WHERE record_name = #{recordName}
SUM(COUNT_VALUE) quantity
<if
test=
"dateRangeLeft != null"
>
FROM
AND DATE_FORMAT(disaster_time, #{format})
<![CDATA[ >= ]]>
DATE_FORMAT(#{dateRangeLeft}, #{format})
knowlege_statistics_record
</if>
WHERE
<if
test=
"dateRangeRight != null"
>
record_name = #{recordName}
AND DATE_FORMAT(disaster_time, #{format})
<![CDATA[ <= ]]>
DATE_FORMAT(#{dateRangeRight}, #{format})
<if
test=
"dateRangeLeft != null"
>
</if>
AND DATE_FORMAT(disaster_time, #{format})
<![CDATA[ >= ]]>
GROUP BY period
DATE_FORMAT(#{dateRangeLeft}, #{format})
ORDER BY period ASC
</if>
</select>
<if
test=
"dateRangeRight != null"
>
AND DATE_FORMAT(disaster_time, #{format})
<![CDATA[ <= ]]>
DATE_FORMAT(#{dateRangeRight}, #{format})
</if>
GROUP BY period
ORDER BY period ASC
</select>
<select
id=
"tagStatisticsMonth"
resultType=
"java.util.Map"
parameterType=
"java.util.Map"
>
SELECT * FROM (
SELECT
SUM( ktv.TAG_VALUE ) AS
datas,DATE_FORMAT(ktv.REC_DATE,'%Y-%m') AS date
FROM
knowledge_tag_value ktv
LEFT JOIN knowledge_tag_instance kti ON
kti.SEQUENCE_NBR =
ktv.INSTANCE_SEQ
WHERE
TAG_NAME = #{tag} AND
ktv.REC_DATE BETWEEN #{startDate} AND #{endDate}
GROUP BY
DATE_FORMAT(ktv.REC_DATE,'%Y-%m')
UNION all
SELECT
0 AS datas,
DATE_FORMAT( @cdate := DATE_ADD( @cdate, INTERVAL + 1 MONTH ), '%Y-%m'
) date
FROM
( SELECT @cdate := DATE_ADD( DATE_SUB( #{startDate},
INTERVAL + 2 MONTH
), INTERVAL + 1 MONTH ) FROM knowledge_tag_value )
AS t1
WHERE
@cdate
<
DATE_SUB( #{endDate} , INTERVAL + 0 MONTH )
) as
t2
GROUP BY date ASC
</select>
<select
id=
"tagStatisticsYear"
resultType=
"java.util.Map"
parameterType=
"java.util.Map"
>
SELECT * FROM (
SELECT
SUM( ktv.TAG_VALUE ) AS
datas,DATE_FORMAT(ktv.REC_DATE,'%Y') AS date
FROM
knowledge_tag_value
ktv
LEFT JOIN knowledge_tag_instance kti ON kti.SEQUENCE_NBR =
ktv.INSTANCE_SEQ
WHERE
TAG_NAME = #{tag} AND ktv.REC_DATE BETWEEN
#{startDate} AND #{endDate}
GROUP BY
DATE_FORMAT(ktv.REC_DATE,'%Y')
UNION all
SELECT
0 AS datas,
DATE_FORMAT( @cdate := DATE_ADD( @cdate,
INTERVAL + 1 YEAR ), '%Y' ) date
FROM
( SELECT @cdate := DATE_ADD(
DATE_SUB( #{startDate}, INTERVAL + 2 YEAR
), INTERVAL + 1 YEAR ) FROM
knowledge_tag_value ) AS t1
WHERE
@cdate
<
DATE_SUB( #{endDate} ,
INTERVAL + 0 YEAR )
) as t2
GROUP BY date ASC
</select>
<select
id=
"docStatisticsMonth"
resultType=
"java.util.Map"
parameterType=
"java.util.Map"
>
SELECT * FROM (
SELECT
COUNT(1) AS datas,DATE_FORMAT(kdc.REC_DATE,'%Y-%m')AS date
FROM
knowledge_doc_content kdc
LEFT JOIN knowledge_doc_category kdca ON
kdca.SEQUENCE_NBR=kdc.DIRECTORY_ID
WHERE
kdc.REC_DATE BETWEEN #{startDate} AND #{endDate}
<if
test=
"categoryName != null and categoryName != ''"
>
AND kdca.CATEGORY_NAME=#{categoryName}
</if>
GROUP BY
DATE_FORMAT(kdc.REC_DATE,'%Y-%m')
UNION all
SELECT
0 AS datas,
DATE_FORMAT( @cdate := DATE_ADD( @cdate, INTERVAL + 1 MONTH ), '%Y-%m' ) date
FROM
( SELECT @cdate := DATE_ADD( DATE_SUB(#{startDate}, INTERVAL + 2 MONTH
), INTERVAL + 1 MONTH ) FROM knowledge_tag_value ) AS t1
WHERE
@cdate
<
DATE_SUB(#{endDate}, INTERVAL + 0 MONTH )
) AS t2
GROUP BY date ASC
</select>
<select
id=
"docStatisticsYear"
resultType=
"java.util.Map"
parameterType=
"java.util.Map"
>
SELECT * FROM (
SELECT
COUNT(1) AS datas,DATE_FORMAT(kdc.REC_DATE,'%Y')AS date
FROM
knowledge_doc_content kdc
LEFT JOIN knowledge_doc_category kdca ON
kdca.SEQUENCE_NBR=kdc.DIRECTORY_ID
WHERE
kdc.REC_DATE BETWEEN #{startDate} AND #{endDate}
<if
test=
"categoryName != null and categoryName != ''"
>
AND kdca.CATEGORY_NAME=#{categoryName}
</if>
GROUP BY
DATE_FORMAT(kdc.REC_DATE,'%Y')
UNION all
SELECT
0 AS datas,
DATE_FORMAT( @cdate := DATE_ADD( @cdate, INTERVAL + 1 MONTH ), '%Y') date
FROM
( SELECT @cdate := DATE_ADD( DATE_SUB(#{startDate}, INTERVAL + 2 MONTH
), INTERVAL + 1 MONTH ) FROM knowledge_tag_value ) AS t1
WHERE
@cdate
<
DATE_SUB(#{endDate}, INTERVAL + 0 MONTH )
) AS t2
GROUP BY date ASC
</select>
<select
id=
"tagChartStatistics"
resultType=
"java.util.Map"
parameterType=
"java.util.Map"
>
SELECT
COUNT(1) AS datas,${splitSQL} AS level
FROM
knowledge_doc_content kdc
LEFT JOIN knowledge_tag_instance kti ON kti.TARGET_SEQ = kdc.SEQUENCE_NBR
LEFT JOIN knowledge_tag_value ktv ON kti.SEQUENCE_NBR =
ktv.INSTANCE_SEQ
WHERE
TAG_NAME = #{tag} AND ktv.REC_DATE BETWEEN #{startDate}AND #{endDate}
GROUP BY
${splitSQL}
</select>
<select
id=
"docChartStatistics"
resultType=
"java.util.Map"
parameterType=
"java.util.Map"
>
SELECT
COUNT(1) AS datas,kdca.CATEGORY_NAME AS categoryName
FROM
knowledge_doc_content kdc
LEFT JOIN knowledge_doc_category kdca ON
kdca.SEQUENCE_NBR=kdc.DIRECTORY_ID
WHERE
kdc.REC_DATE BETWEEN #{startDate} AND #{endDate}
GROUP BY
kdca.CATEGORY_NAME
</select>
</mapper>
</mapper>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment