Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
device-back
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
1
议题
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Matrix
device-back
Commits
c1521770
提交
c1521770
authored
11月 22, 2021
作者:
zhoushaopan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(维修模块): 优化查询维修管理中的查询速度
优化查询维修管理中的查询速度
上级
707f960c
显示空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
25 行增加
和
7 行删除
+25
-7
RepairController.java
...m/tykj/dev/device/repair/controller/RepairController.java
+25
-7
没有找到文件。
dev-repair/src/main/java/com/tykj/dev/device/repair/controller/RepairController.java
浏览文件 @
c1521770
...
...
@@ -1841,6 +1841,7 @@ public class RepairController {
public
ResponseEntity
getRepairList
(
@RequestBody
RepairTaskSelectVo
repairTaskSelectVo
)
{
Integer
type
=
repairTaskSelectVo
.
getType
();
String
unitName
=
userUtils
.
getCurrentUserUnitName
();
Integer
unitId
=
userUtils
.
getCurrentUnitId
();
//是否有年份筛选
Integer
year
=
repairTaskSelectVo
.
getYear
();
Boolean
hasYear
=
year
!=
null
&&
year
>
0
;
...
...
@@ -1855,8 +1856,10 @@ public class RepairController {
repairDetails
.
forEach
(
RepairDetail:
:
setConfigName
);
//所在为当前单位
// List<RepairDetail> repairDetails1 = repairDetails.stream().filter(repairDetail -> repairDetail.getLocationUnit().equals(unitName)).collect(Collectors.toList());
// List<RepairDetail> repairDetails1 = repairDetails.stream().filter(repairDetail ->
// unitsService.findById(repairDetail.getLocationUnitId()).getName().equals(unitName)).collect(Collectors.toList());
List
<
RepairDetail
>
repairDetails1
=
repairDetails
.
stream
().
filter
(
repairDetail
->
unitsService
.
findById
(
repairDetail
.
getLocationUnitId
()).
getName
().
equals
(
unitName
)).
collect
(
Collectors
.
toList
());
repairDetail
.
getLocationUnitId
().
equals
(
unitId
)).
collect
(
Collectors
.
toList
());
//默认按照时间排序
List
<
CustomOrder
>
orders
=
repairTaskSelectVo
.
getOrders
();
List
<
RepairDetail
>
repairDetails2
=
repairDetails1
.
stream
().
sorted
(
Comparator
.
comparing
(
RepairDetail:
:
getUpdateTime
)).
collect
(
Collectors
.
toList
());
...
...
@@ -1876,19 +1879,30 @@ public class RepairController {
// //进行时间上面的优化
List
<
Integer
>
sendRepairIds
=
repairDetails1
.
stream
().
map
(
RepairDetail:
:
getDeviceRepairBillId
).
collect
(
Collectors
.
toList
());
//key为发起单位
Map
<
String
,
List
<
RepairBill
>>
listMap
=
deviceRepairBillService
.
findByIds
(
sendRepairIds
).
stream
().
collect
(
Collectors
.
groupingBy
(
RepairBill:
:
getSendUnit
));
if
(!
listMap
.
containsKey
(
unitName
)){
// Map<String, List<RepairBill>> listMap = deviceRepairBillService.findByIds(sendRepairIds).stream()
// .collect(Collectors.groupingBy(RepairBill::getSendUnit));
Map
<
Integer
,
List
<
RepairBill
>>
listMap
=
deviceRepairBillService
.
findByIds
(
sendRepairIds
).
stream
()
.
collect
(
Collectors
.
groupingBy
(
RepairBill:
:
getSendUnitId
));
// if (!listMap.containsKey(unitName)){
// List<WaitingRepairEquipmentVo> waitingRepairEquipments = new ArrayList<>();
// return ResponseEntity.ok(PageUtil.getPerPage(repairTaskSelectVo.getPage(), repairTaskSelectVo.getSize(), waitingRepairEquipments, repairTaskSelectVo.getPageable()));
// }
if
(!
listMap
.
containsKey
(
unitId
)){
List
<
WaitingRepairEquipmentVo
>
waitingRepairEquipments
=
new
ArrayList
<>();
return
ResponseEntity
.
ok
(
PageUtil
.
getPerPage
(
repairTaskSelectVo
.
getPage
(),
repairTaskSelectVo
.
getSize
(),
waitingRepairEquipments
,
repairTaskSelectVo
.
getPageable
()));
}
List
<
RepairBill
>
repairBills
=
listMap
.
get
(
unitName
);
// List<RepairBill> repairBills = listMap.get(unitName);
List
<
RepairBill
>
repairBills
=
listMap
.
get
(
unitId
);
//拿到当前发起单位是自己的 维修id
List
<
Integer
>
ids
=
repairBills
.
stream
().
map
(
RepairBill:
:
getId
).
collect
(
Collectors
.
toList
());
// List<RepairDetail> repairDetails2 = repairDetails1.stream().filter(repairDetail -> ids.contains(repairDetail.getDeviceRepairBillId()))
// .filter(repairDetail -> !repairDetail.getLocationUnit().equals(unitName))
// .collect(Collectors.toList());
// List<RepairDetail> repairDetails2 = repairDetails1.stream().filter(repairDetail -> ids.contains(repairDetail.getDeviceRepairBillId()))
// .filter(repairDetail -> !unitsService.findById(repairDetail.getLocationUnitId()).getName().equals(unitName))
// .collect(Collectors.toList());
List
<
RepairDetail
>
repairDetails2
=
repairDetails1
.
stream
().
filter
(
repairDetail
->
ids
.
contains
(
repairDetail
.
getDeviceRepairBillId
()))
.
filter
(
repairDetail
->
!
unitsService
.
findById
(
repairDetail
.
getLocationUnitId
()).
getName
().
equals
(
unitName
))
.
filter
(
repairDetail
->
!
repairDetail
.
getLocationUnitId
().
equals
(
unitId
))
.
collect
(
Collectors
.
toList
());
//原来代码
// List<RepairDetail> repairDetails2 = repairDetails1.stream().filter(
...
...
@@ -1932,8 +1946,10 @@ public class RepairController {
repairDetails
.
forEach
(
RepairDetail:
:
setConfigName
);
//所在在当前单位的
// List<RepairDetail> repairDetails2 = repairDetails.stream().filter(repairDetail -> repairDetail.getLocationUnit().equals(unitName)).collect(Collectors.toList());
// List<RepairDetail> repairDetails2 = repairDetails.stream().filter(repairDetail ->
// unitsService.findById(repairDetail.getLocationUnitId()).getName().equals(unitName)).collect(Collectors.toList());
List
<
RepairDetail
>
repairDetails2
=
repairDetails
.
stream
().
filter
(
repairDetail
->
unitsService
.
findById
(
repairDetail
.
getLocationUnitId
()).
getName
().
equals
(
unitName
)).
collect
(
Collectors
.
toList
());
repairDetail
.
getLocationUnitId
().
equals
(
unitId
)).
collect
(
Collectors
.
toList
());
List
<
WaitingRepairEquipmentVo
>
waitingRepairEquipments
=
new
ArrayList
<>();
for
(
RepairDetail
repairDetail
:
repairDetails2
)
{
TaskBto
taskBto
=
taskService
.
getParentTaskIsNull
(
repairDetail
.
getDeviceRepairBillId
(),
5
);
...
...
@@ -2020,7 +2036,9 @@ public class RepairController {
throw
new
ApiException
(
"区县没有维修完成列表"
);
}
repairDetails
.
forEach
(
RepairDetail:
:
setConfigName
);
List
<
RepairDetail
>
repairDetails2
=
repairDetails
.
stream
().
filter
(
repairDetail
->
!
hasYear
||
repairDetail
.
getUpdateTime
().
getYear
()
==
year
-
1900
).
collect
(
Collectors
.
toList
());
List
<
RepairDetail
>
repairDetails2
=
repairDetails
.
stream
()
.
filter
(
repairDetail
->
!
hasYear
||
repairDetail
.
getUpdateTime
().
getYear
()
==
year
-
1900
)
.
collect
(
Collectors
.
toList
());
//按照时间排序
List
<
RepairDetail
>
repairDetailList
=
repairDetails2
.
stream
().
sorted
(
Comparator
.
comparing
(
RepairDetail:
:
getUpdateTime
)).
collect
(
Collectors
.
toList
());
List
<
RepairDetail
>
finalList
=
sortMethod
(
repairTaskSelectVo
.
getOrders
(),
repairDetailList
,
repairDetails
);
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论