Commit 8f95fc9f authored by wujiang's avatar wujiang

修改统计接口

parent 79102718
...@@ -256,12 +256,20 @@ public class StatisticsRecordService ...@@ -256,12 +256,20 @@ public class StatisticsRecordService
Map<String, Object> map = new HashMap<String, Object>(); Map<String, Object> map = new HashMap<String, Object>();
if ("year".equals(mode)) { if ("year".equals(mode)) {
list = this.baseMapper.tagStatisticsYear(tag, startDate, endDate); list = this.baseMapper.tagStatisticsYear(tag, startDate, endDate);
} } else {
{
list = this.baseMapper.tagStatisticsMonth(tag, startDate, endDate); list = this.baseMapper.tagStatisticsMonth(tag, startDate, endDate);
} }
Calendar cal = Calendar.getInstance();
cal.setTime(endDate);
int year = cal.get(Calendar.YEAR);
list.forEach(i -> { list.forEach(i -> {
map.put((String) i.get("date"), i.get("datas")); if ("year".equals(mode)) {
if (i.get("date") != null && Integer.valueOf((String)(i.get("date"))) <= year) {
map.put((String) i.get("date"), i.get("datas"));
}
} else {
map.put((String) i.get("date"), i.get("datas"));
}
}); });
return map; return map;
} }
...@@ -272,12 +280,20 @@ public class StatisticsRecordService ...@@ -272,12 +280,20 @@ public class StatisticsRecordService
Map<String, Object> map = new HashMap<String, Object>(); Map<String, Object> map = new HashMap<String, Object>();
if ("year".equals(mode)) { if ("year".equals(mode)) {
list = this.baseMapper.docStatisticsYear(categoryName, startDate, endDate); list = this.baseMapper.docStatisticsYear(categoryName, startDate, endDate);
} } else {
{
list = this.baseMapper.docStatisticsMonth(categoryName, startDate, endDate); list = this.baseMapper.docStatisticsMonth(categoryName, startDate, endDate);
} }
Calendar cal = Calendar.getInstance();
cal.setTime(endDate);
int year = cal.get(Calendar.YEAR);
list.forEach(i -> { list.forEach(i -> {
map.put((String) i.get("date"), i.get("datas")); if ("year".equals(mode)) {
if (i.get("date") != null &&Integer.valueOf((String)(i.get("date"))) <= year) {
map.put((String) i.get("date"), i.get("datas"));
}
} else {
map.put((String) i.get("date"), i.get("datas"));
}
}); });
return map; return map;
} }
...@@ -305,7 +321,9 @@ public class StatisticsRecordService ...@@ -305,7 +321,9 @@ public class StatisticsRecordService
// '500to1000', 'more1000K')"; // '500to1000', 'more1000K')";
list = this.baseMapper.tagChartStatistics(tag, startDate, endDate, sb.toString()); list = this.baseMapper.tagChartStatistics(tag, startDate, endDate, sb.toString());
list.forEach(i -> { list.forEach(i -> {
map.put((String) i.get("level"), i.get("datas")); if (i.get("level") != null) {
map.put((String) i.get("level"), i.get("datas"));
}
}); });
return map; return map;
} }
......
...@@ -217,17 +217,18 @@ ...@@ -217,17 +217,18 @@
SELECT * FROM ( SELECT * FROM (
SELECT SELECT
SUM( ktv.TAG_VALUE ) AS SUM( ktv.TAG_VALUE ) AS
datas,DATE_FORMAT(ktv.REC_DATE,'%Y-%m') AS date datas,DATE_FORMAT(ktv_time.TAG_VALUE,'%Y-%m') AS date
FROM FROM
knowledge_tag_value ktv knowledge_tag_value ktv
LEFT JOIN knowledge_tag_instance kti ON LEFT JOIN knowledge_tag_instance kti ON kti.SEQUENCE_NBR = ktv.INSTANCE_SEQ
kti.SEQUENCE_NBR = LEFT JOIN knowledge_doc_content kdc ON kdc.SEQUENCE_NBR = kti.TARGET_SEQ
ktv.INSTANCE_SEQ LEFT JOIN knowledge_tag_instance kti_time ON kti_time.TARGET_SEQ = kdc.SEQUENCE_NBR AND kti_time.TAG_NAME = '发生时间'
LEFT JOIN knowledge_tag_value ktv_time ON kti_time.SEQUENCE_NBR = ktv_time.INSTANCE_SEQ
WHERE WHERE
TAG_NAME = #{tag} AND kti.TAG_NAME = #{tag} AND
ktv.REC_DATE BETWEEN #{startDate} AND #{endDate} ktv_time.TAG_VALUE BETWEEN #{startDate} AND #{endDate}
GROUP BY GROUP BY
DATE_FORMAT(ktv.REC_DATE,'%Y-%m') DATE_FORMAT(ktv_time.TAG_VALUE,'%Y-%m')
UNION all UNION all
SELECT SELECT
0 AS datas, 0 AS datas,
...@@ -250,17 +251,18 @@ ...@@ -250,17 +251,18 @@
SELECT * FROM ( SELECT * FROM (
SELECT SELECT
SUM( ktv.TAG_VALUE ) AS SUM( ktv.TAG_VALUE ) AS
datas,DATE_FORMAT(ktv.REC_DATE,'%Y') AS date datas,DATE_FORMAT(ktv_time.TAG_VALUE,'%Y') AS date
FROM FROM
knowledge_tag_value knowledge_tag_value ktv
ktv LEFT JOIN knowledge_tag_instance kti ON kti.SEQUENCE_NBR = ktv.INSTANCE_SEQ
LEFT JOIN knowledge_tag_instance kti ON kti.SEQUENCE_NBR = LEFT JOIN knowledge_doc_content kdc ON kdc.SEQUENCE_NBR = kti.TARGET_SEQ
ktv.INSTANCE_SEQ LEFT JOIN knowledge_tag_instance kti_time ON kti_time.TARGET_SEQ = kdc.SEQUENCE_NBR AND kti_time.TAG_NAME = '发生时间'
LEFT JOIN knowledge_tag_value ktv_time ON kti_time.SEQUENCE_NBR = ktv_time.INSTANCE_SEQ
WHERE WHERE
TAG_NAME = #{tag} AND ktv.REC_DATE BETWEEN kti.TAG_NAME = #{tag} AND
#{startDate} AND #{endDate} ktv_time.TAG_VALUE BETWEEN #{startDate} AND #{endDate}
GROUP BY GROUP BY
DATE_FORMAT(ktv.REC_DATE,'%Y') DATE_FORMAT(ktv_time.TAG_VALUE,'%Y')
UNION all UNION all
SELECT SELECT
0 AS datas, 0 AS datas,
...@@ -282,18 +284,19 @@ ...@@ -282,18 +284,19 @@
parameterType="java.util.Map"> parameterType="java.util.Map">
SELECT * FROM ( SELECT * FROM (
SELECT SELECT
COUNT(1) AS datas,DATE_FORMAT(kdc.REC_DATE,'%Y-%m')AS date COUNT(1) AS datas,DATE_FORMAT(ktv_time.TAG_VALUE,'%Y-%m')AS date
FROM FROM
knowledge_doc_content kdc knowledge_doc_content kdc
LEFT JOIN knowledge_doc_category kdca ON LEFT JOIN knowledge_doc_category kdca ON kdca.SEQUENCE_NBR=kdc.DIRECTORY_ID
kdca.SEQUENCE_NBR=kdc.DIRECTORY_ID LEFT JOIN knowledge_tag_instance kti_time ON kti_time.TARGET_SEQ = kdc.SEQUENCE_NBR AND kti_time.TAG_NAME = '发生时间'
LEFT JOIN knowledge_tag_value ktv_time ON kti_time.SEQUENCE_NBR = ktv_time.INSTANCE_SEQ
WHERE WHERE
kdc.REC_DATE BETWEEN #{startDate} AND #{endDate} ktv_time.TAG_VALUE BETWEEN #{startDate} AND #{endDate}
<if test="categoryName != null and categoryName != ''"> <if test="categoryName != null and categoryName != ''">
AND kdca.CATEGORY_NAME=#{categoryName} AND kdca.CATEGORY_NAME=#{categoryName}
</if> </if>
GROUP BY GROUP BY
DATE_FORMAT(kdc.REC_DATE,'%Y-%m') DATE_FORMAT(ktv_time.TAG_VALUE,'%Y-%m')
UNION all UNION all
SELECT SELECT
0 AS datas, 0 AS datas,
...@@ -311,18 +314,19 @@ ...@@ -311,18 +314,19 @@
parameterType="java.util.Map"> parameterType="java.util.Map">
SELECT * FROM ( SELECT * FROM (
SELECT SELECT
COUNT(1) AS datas,DATE_FORMAT(kdc.REC_DATE,'%Y')AS date COUNT(1) AS datas,DATE_FORMAT(ktv_time.TAG_VALUE,'%Y')AS date
FROM FROM
knowledge_doc_content kdc knowledge_doc_content kdc
LEFT JOIN knowledge_doc_category kdca ON LEFT JOIN knowledge_doc_category kdca ON kdca.SEQUENCE_NBR=kdc.DIRECTORY_ID
kdca.SEQUENCE_NBR=kdc.DIRECTORY_ID LEFT JOIN knowledge_tag_instance kti_time ON kti_time.TARGET_SEQ = kdc.SEQUENCE_NBR AND kti_time.TAG_NAME = '发生时间'
LEFT JOIN knowledge_tag_value ktv_time ON kti_time.SEQUENCE_NBR = ktv_time.INSTANCE_SEQ
WHERE WHERE
kdc.REC_DATE BETWEEN #{startDate} AND #{endDate} ktv_time.TAG_VALUE BETWEEN #{startDate} AND #{endDate}
<if test="categoryName != null and categoryName != ''"> <if test="categoryName != null and categoryName != ''">
AND kdca.CATEGORY_NAME=#{categoryName} AND kdca.CATEGORY_NAME=#{categoryName}
</if> </if>
GROUP BY GROUP BY
DATE_FORMAT(kdc.REC_DATE,'%Y') DATE_FORMAT(ktv_time.TAG_VALUE,'%Y')
UNION all UNION all
SELECT SELECT
0 AS datas, 0 AS datas,
...@@ -343,10 +347,11 @@ ...@@ -343,10 +347,11 @@
FROM FROM
knowledge_doc_content kdc knowledge_doc_content kdc
LEFT JOIN knowledge_tag_instance kti ON kti.TARGET_SEQ = kdc.SEQUENCE_NBR LEFT JOIN knowledge_tag_instance kti ON kti.TARGET_SEQ = kdc.SEQUENCE_NBR
LEFT JOIN knowledge_tag_value ktv ON kti.SEQUENCE_NBR = LEFT JOIN knowledge_tag_value ktv ON kti.SEQUENCE_NBR = ktv.INSTANCE_SEQ
ktv.INSTANCE_SEQ LEFT JOIN knowledge_tag_instance kti_time ON kti_time.TARGET_SEQ = kdc.SEQUENCE_NBR AND kti_time.TAG_NAME = '发生时间'
LEFT JOIN knowledge_tag_value ktv_time ON kti_time.SEQUENCE_NBR = ktv_time.INSTANCE_SEQ
WHERE WHERE
TAG_NAME = #{tag} AND ktv.REC_DATE BETWEEN #{startDate}AND #{endDate} kti.TAG_NAME = #{tag} AND ktv_time.TAG_VALUE BETWEEN #{startDate} AND #{endDate}
GROUP BY GROUP BY
${splitSQL} ${splitSQL}
</select> </select>
...@@ -357,10 +362,11 @@ ...@@ -357,10 +362,11 @@
COUNT(1) AS datas,kdca.CATEGORY_NAME AS categoryName COUNT(1) AS datas,kdca.CATEGORY_NAME AS categoryName
FROM FROM
knowledge_doc_content kdc knowledge_doc_content kdc
LEFT JOIN knowledge_doc_category kdca ON LEFT JOIN knowledge_doc_category kdca ON kdca.SEQUENCE_NBR=kdc.DIRECTORY_ID
kdca.SEQUENCE_NBR=kdc.DIRECTORY_ID LEFT JOIN knowledge_tag_instance kti_time ON kti_time.TARGET_SEQ = kdc.SEQUENCE_NBR AND kti_time.TAG_NAME = '发生时间'
LEFT JOIN knowledge_tag_value ktv_time ON kti_time.SEQUENCE_NBR = ktv_time.INSTANCE_SEQ
WHERE WHERE
kdc.REC_DATE BETWEEN #{startDate} AND #{endDate} ktv_time.TAG_VALUE BETWEEN #{startDate} AND #{endDate}
GROUP BY GROUP BY
kdca.CATEGORY_NAME kdca.CATEGORY_NAME
</select> </select>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment