Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
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
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
项目统一框架
amos-boot-biz
Commits
9653642d
Commit
9653642d
authored
Jul 11, 2022
by
wujiang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交定制统计接口
parent
8f95fc9f
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
143 additions
and
7 deletions
+143
-7
DocStatisticsResource.java
.../amos/knowledgebase/controller/DocStatisticsResource.java
+22
-3
StatisticsRecordMapper.java
...os/knowledgebase/face/orm/dao/StatisticsRecordMapper.java
+5
-0
StatisticsRecordService.java
...s/knowledgebase/face/service/StatisticsRecordService.java
+44
-2
StatisticsRecordMapper.xml
...base/src/main/resources/mapper/StatisticsRecordMapper.xml
+72
-2
No files found.
amos-boot-module/amos-boot-module-biz/amos-boot-module-knowledgebase-biz/src/main/java/com/yeejoin/amos/knowledgebase/controller/DocStatisticsResource.java
View file @
9653642d
...
@@ -147,7 +147,7 @@ public class DocStatisticsResource {
...
@@ -147,7 +147,7 @@ public class DocStatisticsResource {
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@ApiOperation
(
value
=
"文档总数统计"
)
@ApiOperation
(
value
=
"文档总数统计"
)
@RequestMapping
(
value
=
"/doc/statistics"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/doc/statistics"
,
method
=
RequestMethod
.
GET
)
public
ResponseModel
docStatistics
(
@RequestParam
(
value
=
"categoryName"
)
String
categoryName
,
public
ResponseModel
docStatistics
(
@RequestParam
(
value
=
"categoryName"
,
required
=
false
)
String
categoryName
,
@RequestParam
(
value
=
"startDate"
,
required
=
false
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
Date
startDate
,
@RequestParam
(
value
=
"startDate"
,
required
=
false
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
Date
startDate
,
@RequestParam
(
value
=
"endDate"
,
required
=
false
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
Date
endDate
,
@RequestParam
(
value
=
"endDate"
,
required
=
false
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
Date
endDate
,
@RequestParam
(
value
=
"mode"
,
required
=
false
)
String
mode
)
{
@RequestParam
(
value
=
"mode"
,
required
=
false
)
String
mode
)
{
...
@@ -167,12 +167,31 @@ public class DocStatisticsResource {
...
@@ -167,12 +167,31 @@ public class DocStatisticsResource {
}
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@ApiOperation
(
value
=
"标签总数统计"
)
@RequestMapping
(
value
=
"/tag-time-chart/statistics"
,
method
=
RequestMethod
.
GET
)
public
ResponseModel
tagTimeChartStatistics
(
@RequestParam
(
value
=
"startDate"
,
required
=
false
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
Date
startDate
,
@RequestParam
(
value
=
"endDate"
,
required
=
false
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
Date
endDate
,
@RequestParam
(
value
=
"split"
)
List
<
Integer
>
split
,
@RequestParam
(
value
=
"unit"
)
String
unit
)
{
return
ResponseHelper
.
buildResponse
(
statisticsRecordService
.
tagTimeChartStatistics
(
startDate
,
endDate
,
split
,
unit
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@ApiOperation
(
value
=
"文档总数统计"
)
@ApiOperation
(
value
=
"文档总数统计"
)
@RequestMapping
(
value
=
"/doc-chart/statistics"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/doc-chart/statistics"
,
method
=
RequestMethod
.
GET
)
public
ResponseModel
docChartStatistics
(
public
ResponseModel
docChartStatistics
(
@RequestParam
(
value
=
"startDate"
,
required
=
false
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
Date
startDate
,
@RequestParam
(
value
=
"startDate"
,
required
=
false
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
Date
startDate
,
@RequestParam
(
value
=
"endDate"
,
required
=
false
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
Date
endDate
)
{
@RequestParam
(
value
=
"endDate"
,
required
=
false
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
Date
endDate
)
{
return
ResponseHelper
return
ResponseHelper
.
buildResponse
(
statisticsRecordService
.
docChartStatistics
(
startDate
,
endDate
));
.
buildResponse
(
statisticsRecordService
.
docChartStatistics
(
startDate
,
endDate
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@ApiOperation
(
value
=
"文档燃烧物质总数统计"
)
@RequestMapping
(
value
=
"/doc-burn-chart/statistics"
,
method
=
RequestMethod
.
GET
)
public
ResponseModel
docBurnChartStatistics
(
@RequestParam
(
value
=
"startDate"
,
required
=
false
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
Date
startDate
,
@RequestParam
(
value
=
"endDate"
,
required
=
false
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
Date
endDate
)
{
return
ResponseHelper
.
buildResponse
(
statisticsRecordService
.
docBurnChartStatistics
(
startDate
,
endDate
));
}
}
}
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-knowledgebase-biz/src/main/java/com/yeejoin/amos/knowledgebase/face/orm/dao/StatisticsRecordMapper.java
View file @
9653642d
...
@@ -51,5 +51,9 @@ public interface StatisticsRecordMapper extends BaseMapper<KnowlegeStatisticsRec
...
@@ -51,5 +51,9 @@ public interface StatisticsRecordMapper extends BaseMapper<KnowlegeStatisticsRec
List
<
Map
<
String
,
Object
>>
tagChartStatistics
(
String
tag
,
Date
startDate
,
Date
endDate
,
String
splitSQL
);
List
<
Map
<
String
,
Object
>>
tagChartStatistics
(
String
tag
,
Date
startDate
,
Date
endDate
,
String
splitSQL
);
List
<
Map
<
String
,
Object
>>
tagTimeChartStatistics
(
Date
startDate
,
Date
endDate
,
String
splitSQL
);
List
<
Map
<
String
,
Object
>>
docChartStatistics
(
Date
startDate
,
Date
endDate
);
List
<
Map
<
String
,
Object
>>
docChartStatistics
(
Date
startDate
,
Date
endDate
);
List
<
Map
<
String
,
Object
>>
docBurnChartStatistics
(
Date
startDate
,
Date
endDate
);
}
}
\ No newline at end of file
amos-boot-module/amos-boot-module-biz/amos-boot-module-knowledgebase-biz/src/main/java/com/yeejoin/amos/knowledgebase/face/service/StatisticsRecordService.java
View file @
9653642d
...
@@ -264,7 +264,7 @@ public class StatisticsRecordService
...
@@ -264,7 +264,7 @@ public class StatisticsRecordService
int
year
=
cal
.
get
(
Calendar
.
YEAR
);
int
year
=
cal
.
get
(
Calendar
.
YEAR
);
list
.
forEach
(
i
->
{
list
.
forEach
(
i
->
{
if
(
"year"
.
equals
(
mode
))
{
if
(
"year"
.
equals
(
mode
))
{
if
(
i
.
get
(
"date"
)
!=
null
&&
Integer
.
valueOf
((
String
)(
i
.
get
(
"date"
)))
<=
year
)
{
if
(
i
.
get
(
"date"
)
!=
null
&&
Integer
.
valueOf
((
String
)
(
i
.
get
(
"date"
)))
<=
year
)
{
map
.
put
((
String
)
i
.
get
(
"date"
),
i
.
get
(
"datas"
));
map
.
put
((
String
)
i
.
get
(
"date"
),
i
.
get
(
"datas"
));
}
}
}
else
{
}
else
{
...
@@ -288,7 +288,7 @@ public class StatisticsRecordService
...
@@ -288,7 +288,7 @@ public class StatisticsRecordService
int
year
=
cal
.
get
(
Calendar
.
YEAR
);
int
year
=
cal
.
get
(
Calendar
.
YEAR
);
list
.
forEach
(
i
->
{
list
.
forEach
(
i
->
{
if
(
"year"
.
equals
(
mode
))
{
if
(
"year"
.
equals
(
mode
))
{
if
(
i
.
get
(
"date"
)
!=
null
&&
Integer
.
valueOf
((
String
)
(
i
.
get
(
"date"
)))
<=
year
)
{
if
(
i
.
get
(
"date"
)
!=
null
&&
Integer
.
valueOf
((
String
)
(
i
.
get
(
"date"
)))
<=
year
)
{
map
.
put
((
String
)
i
.
get
(
"date"
),
i
.
get
(
"datas"
));
map
.
put
((
String
)
i
.
get
(
"date"
),
i
.
get
(
"datas"
));
}
}
}
else
{
}
else
{
...
@@ -328,6 +328,35 @@ public class StatisticsRecordService
...
@@ -328,6 +328,35 @@ public class StatisticsRecordService
return
map
;
return
map
;
}
}
public
Map
<
String
,
Object
>
tagTimeChartStatistics
(
Date
startDate
,
Date
endDate
,
List
<
Integer
>
split
,
String
unit
)
{
endDate
=
getLastDayOfMonth
(
endDate
);
List
<
Map
<
String
,
Object
>>
list
=
new
ArrayList
<
Map
<
String
,
Object
>>();
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
StringBuffer
sb
=
new
StringBuffer
();
sb
.
append
(
"elt(interval(kdc.TAG_VALUE"
);
for
(
int
s
:
split
)
{
sb
.
append
(
","
).
append
(
s
);
}
sb
.
append
(
")"
);
String
last
=
""
;
for
(
int
s
:
split
)
{
if
(
StringUtils
.
isNotEmpty
(
last
))
{
sb
.
append
(
",'"
).
append
(
last
).
append
(
"-"
).
append
(
s
).
append
(
unit
).
append
(
"'"
);
}
last
=
String
.
valueOf
(
s
);
}
sb
.
append
(
",'"
).
append
(
last
).
append
(
unit
).
append
(
"以上'"
).
append
(
")"
);
// String sql="elt(interval(ktv.TAG_VALUE,0, 5, 10, 40), 'less100', '100to500',
// '500to1000', 'more1000K')";
list
=
this
.
baseMapper
.
tagTimeChartStatistics
(
startDate
,
endDate
,
sb
.
toString
());
list
.
forEach
(
i
->
{
if
(
i
.
get
(
"level"
)
!=
null
)
{
map
.
put
((
String
)
i
.
get
(
"level"
),
i
.
get
(
"datas"
));
}
});
return
map
;
}
public
Map
<
String
,
Object
>
docChartStatistics
(
Date
startDate
,
Date
endDate
)
{
public
Map
<
String
,
Object
>
docChartStatistics
(
Date
startDate
,
Date
endDate
)
{
endDate
=
getLastDayOfMonth
(
endDate
);
endDate
=
getLastDayOfMonth
(
endDate
);
List
<
Map
<
String
,
Object
>>
list
=
new
ArrayList
<
Map
<
String
,
Object
>>();
List
<
Map
<
String
,
Object
>>
list
=
new
ArrayList
<
Map
<
String
,
Object
>>();
...
@@ -341,6 +370,19 @@ public class StatisticsRecordService
...
@@ -341,6 +370,19 @@ public class StatisticsRecordService
return
map
;
return
map
;
}
}
public
Map
<
String
,
Object
>
docBurnChartStatistics
(
Date
startDate
,
Date
endDate
)
{
endDate
=
getLastDayOfMonth
(
endDate
);
List
<
Map
<
String
,
Object
>>
list
=
new
ArrayList
<
Map
<
String
,
Object
>>();
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
list
=
this
.
baseMapper
.
docBurnChartStatistics
(
startDate
,
endDate
);
list
.
forEach
(
i
->
{
if
(
i
.
get
(
"level"
)
!=
null
)
{
map
.
put
((
String
)
i
.
get
(
"level"
),
i
.
get
(
"datas"
));
}
});
return
map
;
}
private
static
Date
getLastDayOfMonth
(
Date
date
)
{
private
static
Date
getLastDayOfMonth
(
Date
date
)
{
Calendar
cal
=
Calendar
.
getInstance
();
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
setTime
(
date
);
cal
.
setTime
(
date
);
...
...
amos-boot-system-knowledgebase/src/main/resources/mapper/StatisticsRecordMapper.xml
View file @
9653642d
...
@@ -359,15 +359,85 @@
...
@@ -359,15 +359,85 @@
<select
id=
"docChartStatistics"
resultType=
"java.util.Map"
<select
id=
"docChartStatistics"
resultType=
"java.util.Map"
parameterType=
"java.util.Map"
>
parameterType=
"java.util.Map"
>
SELECT
SELECT
*
FROM
(SELECT
COUNT(1) AS datas,kdca.CATEGORY_NAME AS categoryName
COUNT(1) AS datas,kdca.CATEGORY_NAME AS categoryName
FROM
FROM
knowledge_doc_c
ontent kdc
knowledge_doc_c
ategory kdca
LEFT JOIN knowledge_doc_c
ategory kdca
ON kdca.SEQUENCE_NBR=kdc.DIRECTORY_ID
LEFT JOIN knowledge_doc_c
ontent kdc
ON 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_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
LEFT JOIN knowledge_tag_value ktv_time ON kti_time.SEQUENCE_NBR = ktv_time.INSTANCE_SEQ
WHERE
WHERE
ktv_time.TAG_VALUE BETWEEN #{startDate} AND #{endDate}
ktv_time.TAG_VALUE BETWEEN #{startDate} AND #{endDate}
GROUP BY
GROUP BY
kdca.CATEGORY_NAME
kdca.CATEGORY_NAME
UNION ALL
SELECT
0,
kdca.CATEGORY_NAME AS categoryName
FROM knowledge_doc_category kdca
) T1
GROUP BY categoryName
</select>
<select
id=
"tagTimeChartStatistics"
resultType=
"java.util.Map"
parameterType=
"java.util.Map"
>
SELECT
COUNT(1) AS datas ,${splitSQL} AS level
FROM
(
SELECT
HOUR(IF(TIMEDIFF( ktv2.TAG_VALUE, ktv.TAG_VALUE )
<
0,0,TIMEDIFF( ktv2.TAG_VALUE, ktv.TAG_VALUE ))) AS TAG_VALUE,
kdc.SEQUENCE_NBR
FROM
knowledge_doc_content kdc
LEFT JOIN knowledge_tag_instance kti ON kti.TARGET_SEQ = kdc.SEQUENCE_NBR
AND kti.TAG_NAME = '到场时间'
LEFT JOIN knowledge_tag_value ktv ON kti.SEQUENCE_NBR = ktv.INSTANCE_SEQ
LEFT JOIN knowledge_tag_instance kti2 ON kti2.TARGET_SEQ = kdc.SEQUENCE_NBR
AND kti2.TAG_NAME = '撤离时间'
LEFT JOIN knowledge_tag_value ktv2 ON kti2.SEQUENCE_NBR = ktv2.INSTANCE_SEQ
WHERE
ktv.TAG_VALUE IS NOT NULL
AND ktv2.TAG_VALUE IS NOT NULL
GROUP BY
kdc.SEQUENCE_NBR
) kdc
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
ktv_time.TAG_VALUE BETWEEN #{startDate} AND #{endDate}
GROUP BY
${splitSQL}
</select>
<select
id=
"docBurnChartStatistics"
resultType=
"java.util.Map"
parameterType=
"java.util.Map"
>
SELECT * FROM (
SELECT
COUNT( 1 ) AS datas,
kti.TAG_NAME AS level
FROM
knowledge_tag_instance kti
LEFT JOIN knowledge_tag_instance kti_time ON kti_time.TARGET_SEQ = kti.TARGET_SEQ
AND kti_time.TAG_NAME = '发生时间'
LEFT JOIN knowledge_tag_value ktv_time ON kti_time.SEQUENCE_NBR = ktv_time.INSTANCE_SEQ
WHERE
( kti.TAG_NAME = '燃烧物质a类固体' OR kti.TAG_NAME = '燃烧物质b类液体' OR kti.TAG_NAME = '燃烧物质c类气体' OR kti.TAG_NAME = '燃烧物质d类金属' )
AND (ktv_time.TAG_VALUE BETWEEN #{startDate} AND #{endDate})
GROUP BY
kti.TAG_NAME
UNION ALL
SELECT
0,
kti.TAG_NAME AS level
FROM knowledge_tag_instance kti
WHERE ( kti.TAG_NAME = '燃烧物质a类固体' OR kti.TAG_NAME = '燃烧物质b类液体' OR kti.TAG_NAME = '燃烧物质c类气体' OR kti.TAG_NAME = '燃烧物质d类金属' )
GROUP BY
kti.TAG_NAME) t1
GROUP BY
t1.level
</select>
</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