Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
device-new-platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
device-new-platform
Commits
7b8d72d1
Commit
7b8d72d1
authored
Apr 01, 2024
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改统计逻辑
parent
a3c983bc
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
33 additions
and
5 deletions
+33
-5
device-manager/src/main/java/com/mortals/xhx/module/device/web/DeviceMessageStatController.java
...ls/xhx/module/device/web/DeviceMessageStatController.java
+33
-4
device-manager/src/test/java/com/mortals/httpclient/system.http
...-manager/src/test/java/com/mortals/httpclient/system.http
+0
-1
No files found.
device-manager/src/main/java/com/mortals/xhx/module/device/web/DeviceMessageStatController.java
View file @
7b8d72d1
...
@@ -6,13 +6,15 @@ import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
...
@@ -6,13 +6,15 @@ import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
com.mortals.xhx.module.device.model.DeviceMessageStatEntity
;
import
com.mortals.xhx.module.device.model.DeviceMessageStatEntity
;
import
com.mortals.xhx.module.device.service.DeviceMessageStatService
;
import
com.mortals.xhx.module.device.service.DeviceMessageStatService
;
import
com.mortals.xhx.module.product.model.ProductEntity
;
import
com.mortals.xhx.module.product.model.ProductQuery
;
import
com.mortals.xhx.module.product.service.ProductService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
import
java.util.*
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -27,6 +29,8 @@ public class DeviceMessageStatController extends BaseCRUDJsonBodyMappingControll
...
@@ -27,6 +29,8 @@ public class DeviceMessageStatController extends BaseCRUDJsonBodyMappingControll
@Autowired
@Autowired
private
ParamService
paramService
;
private
ParamService
paramService
;
@Autowired
private
ProductService
productService
;
public
DeviceMessageStatController
()
{
public
DeviceMessageStatController
()
{
super
.
setModuleDesc
(
"设备消息统计"
);
super
.
setModuleDesc
(
"设备消息统计"
);
...
@@ -43,10 +47,35 @@ public class DeviceMessageStatController extends BaseCRUDJsonBodyMappingControll
...
@@ -43,10 +47,35 @@ public class DeviceMessageStatController extends BaseCRUDJsonBodyMappingControll
protected
int
doListAfter
(
DeviceMessageStatEntity
query
,
Map
<
String
,
Object
>
model
,
Context
context
)
throws
AppException
{
protected
int
doListAfter
(
DeviceMessageStatEntity
query
,
Map
<
String
,
Object
>
model
,
Context
context
)
throws
AppException
{
List
<
DeviceMessageStatEntity
>
statEntities
=
(
List
<
DeviceMessageStatEntity
>)
model
.
get
(
KEY_RESULT_DATA
);
List
<
DeviceMessageStatEntity
>
statEntities
=
(
List
<
DeviceMessageStatEntity
>)
model
.
get
(
KEY_RESULT_DATA
);
//重新分组返回 [{date:2024-8}]
//重新分组返回 [{date:2024-8}]
if
(!
ObjectUtils
.
isEmpty
(
statEntities
))
{
if
(!
ObjectUtils
.
isEmpty
(
statEntities
))
{
//按月分组
//按月分组
Map
<
Integer
,
Map
<
String
,
List
<
DeviceMessageStatEntity
>>>
collect
=
statEntities
.
stream
().
collect
(
Collectors
.
groupingBy
(
DeviceMessageStatEntity:
:
getMonth
,
Collectors
.
groupingBy
(
DeviceMessageStatEntity:
:
getProductCode
)));
Map
<
Integer
,
Map
<
String
,
List
<
DeviceMessageStatEntity
>>>
collect
=
statEntities
.
stream
().
collect
(
Collectors
.
groupingBy
(
DeviceMessageStatEntity:
:
getMonth
,
Collectors
.
groupingBy
(
DeviceMessageStatEntity:
:
getProductName
,
Collectors
.
toList
())));
Map
<
Integer
,
Integer
>
monthStat
=
statEntities
.
stream
().
collect
(
Collectors
.
groupingBy
(
DeviceMessageStatEntity:
:
getMonth
,
Collectors
.
summingInt
(
x
->
x
.
getAlarmTotalCount
())));
List
<
ProductEntity
>
productEntities
=
new
ArrayList
<
ProductEntity
>();
if
(!
ObjectUtils
.
isEmpty
(
query
.
getProductCodeList
()))
{
ProductQuery
productQuery
=
new
ProductQuery
();
productQuery
.
setProductCodeList
(
query
.
getProductCodeList
());
productEntities
=
productService
.
find
(
productQuery
);
}
else
{
productEntities
=
productService
.
find
(
new
ProductEntity
());
}
for
(
int
i
=
1
;
i
<=
12
;
i
++)
{
if
(!
collect
.
containsKey
(
i
))
{
Map
<
String
,
List
<
DeviceMessageStatEntity
>>
map
=
new
HashMap
<>();
for
(
ProductEntity
productEntity
:
productEntities
)
{
DeviceMessageStatEntity
deviceMessageStatEntity
=
new
DeviceMessageStatEntity
();
deviceMessageStatEntity
.
initAttrValue
();
map
.
put
(
productEntity
.
getProductName
(),
Arrays
.
asList
(
deviceMessageStatEntity
));
}
collect
.
put
(
i
,
map
);
}
if
(
monthStat
.
containsKey
(
i
))
{
monthStat
.
put
(
i
,
0
);
}
}
model
.
put
(
"stat"
,
collect
);
model
.
put
(
"stat"
,
collect
);
model
.
put
(
"monthStat"
,
monthStat
);
}
}
return
super
.
doListAfter
(
query
,
model
,
context
);
return
super
.
doListAfter
(
query
,
model
,
context
);
}
}
...
...
device-manager/src/test/java/com/mortals/httpclient/system.http
View file @
7b8d72d1
...
@@ -104,7 +104,6 @@ Content-Type: application/json
...
@@ -104,7 +104,6 @@ Content-Type: application/json
{
{
"size": -1,
"size": -1,
"groupList": ["productCode","month"],
"groupList": ["productCode","month"],
"productCodeList": ["pdj"],
"year": 2024,
"year": 2024,
"siteId": 1,
"siteId": 1,
"orderColList": [{"colName":"month","sortKind":"asc"}]
"orderColList": [{"colName":"month","sortKind":"asc"}]
...
...
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