Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
张雷
/
skboot-zhongye
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
构建
提交
问题看板
文件
提交
网络
比较
分支
标签
99fae81f
由
sonin
编写于
2025-03-26 16:48:35 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
巡检分析异常巡检统计
1 个父辈
e98581cd
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
78 行增加
和
18 行删除
sk-module-inspection/src/main/java/com/skua/modules/inspection/service/impl/InspectionAnalysisServiceImpl.java
sk-module-inspection/src/main/java/com/skua/modules/inspection/vo/InspectionAbnormalItemsTrendVO.java
sk-module-inspection/src/main/java/com/skua/modules/inspection/service/impl/InspectionAnalysisServiceImpl.java
查看文件 @
99fae81
...
...
@@ -6,6 +6,7 @@ import com.skua.core.context.BaseContextHandler;
import
com.skua.core.context.SpringContextUtils
;
import
com.skua.core.util.ConvertUtils
;
import
com.skua.core.util.DateUtils
;
import
com.skua.modules.biz.IBusinessService
;
import
com.skua.modules.common.service.ICommonSqlService
;
import
com.skua.modules.flow.business.service.FlowBusinessService
;
import
com.skua.modules.flow.engine.constant.FlowEngineConstant
;
...
...
@@ -57,6 +58,8 @@ public class InspectionAnalysisServiceImpl implements IInspectionAnalysisService
private
IInspectionTaskPointFillGroupService
inspectionTaskPointFillGroupService
;
@Autowired
private
IInspectionTaskFillGroupFillService
inspectionTaskFillGroupFillService
;
@Autowired
private
IBusinessService
businessService
;
@Autowired
private
ICommonSqlService
commonSqlService
;
...
...
@@ -1075,15 +1078,11 @@ public class InspectionAnalysisServiceImpl implements IInspectionAnalysisService
Integer
abnormalCheckedItemsCount
=
0
;
for
(
String
tempInspectionTaskId
:
tempInspectionTaskIdList
)
{
totalCheckeItemsCount
+=
ConvertUtils
.
getInt
(
taskCheckeItemsCountMap
.
get
(
tempInspectionTaskId
),
0
);
checkedItemsCount
+=
ConvertUtils
.
getInt
(
taskCheckedItemsCountMap
.
get
(
tempInspectionTaskId
),
0
);
checkedItemsCount
+=
Math
.
min
(
ConvertUtils
.
getInt
(
taskCheckeItemsCountMap
.
get
(
tempInspectionTaskId
),
0
),
ConvertUtils
.
getInt
(
taskCheckedItemsCountMap
.
get
(
tempInspectionTaskId
),
0
)
);
abnormalCheckedItemsCount
+=
ConvertUtils
.
getInt
(
abnormalTaskCheckedItemsCountMap
.
get
(
tempInspectionTaskId
),
0
);
}
inspectionAbnormalItemsTrendVO
.
setInspectionTaskDate
(
date
);
if
(
totalCheckeItemsCount
-
checkedItemsCount
<
0
){
inspectionAbnormalItemsTrendVO
.
setNotCheckedItemsCount
(
checkedItemsCount
-
totalCheckeItemsCount
);
}
else
{
inspectionAbnormalItemsTrendVO
.
setNotCheckedItemsCount
(
totalCheckeItemsCount
-
checkedItemsCount
);
}
inspectionAbnormalItemsTrendVO
.
setAbnormalItemsCount
(
abnormalCheckedItemsCount
);
inspectionAbnormalItemsTrendVOList
.
add
(
inspectionAbnormalItemsTrendVO
);
}
...
...
@@ -1100,7 +1099,80 @@ public class InspectionAnalysisServiceImpl implements IInspectionAnalysisService
* @return
*/
public
List
<
InspectionAbnormalItemsTrendVO
>
getInspectionAbnormalItemsTrendDetail
(
String
departIds
,
String
startDate
,
String
endDate
){
return
inspectionAnalysisMapper
.
getInspectionAbnormalItemsTrendDetail
(
departIds
,
startDate
,
endDate
);
List
<
InspectionAbnormalItemsTrendVO
>
inspectionAbnormalItemsTrendVOList
=
new
ArrayList
<>();
//查询时间内已巡检任务信息
QueryWrapper
<
InspectionTask
>
inspectionTaskQueryWrapper
=
new
QueryWrapper
();
if
(
StringUtils
.
isNotBlank
(
startDate
)
&&
StringUtils
.
isNotBlank
(
endDate
))
{
inspectionTaskQueryWrapper
.
ge
(
"inspection_cycle_start_date"
,
startDate
+
" 00:00:00"
);
inspectionTaskQueryWrapper
.
le
(
"inspection_cycle_start_date"
,
endDate
+
" 23:59:59"
);
}
inspectionTaskQueryWrapper
.
in
(
"task_state"
,
"2"
,
"3"
);
List
<
InspectionTask
>
inspectionTaskList
=
inspectionTaskService
.
list
(
inspectionTaskQueryWrapper
);
// 巡检任务按照departId分组
Map
<
String
,
List
<
String
>>
departId2inspectionTaskIdMap
=
new
LinkedHashMap
<>();
for
(
InspectionTask
inspectionTask
:
inspectionTaskList
)
{
String
departId
=
inspectionTask
.
getDepartId
();
List
<
String
>
inspectionTaskIdList
=
departId2inspectionTaskIdMap
.
computeIfAbsent
(
departId
,
k
->
new
ArrayList
<>());
inspectionTaskIdList
.
add
(
inspectionTask
.
getId
());
}
// 使用stream对inspectionTaskList进行分组操作,按照巡检周期起始日期进行分组
Map
<
String
,
List
<
String
>>
inspectionDateMap
=
inspectionTaskList
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
inspectionTask
->
DateUtils
.
format
(
inspectionTask
.
getInspectionCycleStartDate
(),
"yyyy-MM-dd"
),
Collectors
.
mapping
(
InspectionTask:
:
getId
,
Collectors
.
toList
())
));
//巡检任务ID集合
List
<
String
>
inspectionTaskIdList
=
inspectionTaskList
.
stream
().
map
(
InspectionTask:
:
getId
).
collect
(
Collectors
.
toList
());
Map
<
String
,
Integer
>
taskCheckeItemsCountMap
=
new
HashMap
<>();
Map
<
String
,
Integer
>
taskCheckedItemsCountMap
=
new
HashMap
<>();
Map
<
String
,
Integer
>
abnormalTaskCheckedItemsCountMap
=
new
HashMap
<>();
if
(
inspectionTaskIdList
.
size
()
>
0
)
{
//查询每个巡检任务的填报项数量
QueryWrapper
<
InspectionTaskFillGroupFill
>
inspectionTaskFillGroupFillQueryWrapper
=
new
QueryWrapper
<>();
inspectionTaskFillGroupFillQueryWrapper
.
in
(
"inspection_task_id"
,
inspectionTaskIdList
);
inspectionTaskFillGroupFillQueryWrapper
.
select
(
"inspection_task_id inspectionTaskId, count(inspection_task_id) count"
);
inspectionTaskFillGroupFillQueryWrapper
.
groupBy
(
"inspection_task_id"
);
List
<
Map
<
String
,
Object
>>
taskCheckeItemsCountList
=
inspectionTaskFillGroupFillService
.
listMaps
(
inspectionTaskFillGroupFillQueryWrapper
);
taskCheckeItemsCountMap
=
taskCheckeItemsCountList
.
stream
().
collect
(
Collectors
.
toMap
(
map
->
ConvertUtils
.
getString
(
map
.
get
(
"inspectionTaskId"
)),
map
->
ConvertUtils
.
getInt
(
map
.
get
(
"count"
))));
//查询巡检任务已填报的数据
QueryWrapper
<
InspectionTaskFillContent
>
inspectionTaskFillContentQueryWrapper
=
new
QueryWrapper
<>();
inspectionTaskFillContentQueryWrapper
.
in
(
"inspection_task_id"
,
inspectionTaskIdList
);
inspectionTaskFillContentQueryWrapper
.
groupBy
(
"inspection_task_id"
);
inspectionTaskFillContentQueryWrapper
.
select
(
"inspection_task_id inspectionTaskId, count(inspection_task_id) count"
);
inspectionTaskFillContentQueryWrapper
.
isNotNull
(
"fill_content"
);
inspectionTaskFillContentQueryWrapper
.
ne
(
"fill_content"
,
""
);
List
<
Map
<
String
,
Object
>>
taskCheckedItemsCountList
=
inspectionTaskFillContentService
.
listMaps
(
inspectionTaskFillContentQueryWrapper
);
taskCheckedItemsCountMap
=
taskCheckedItemsCountList
.
stream
().
collect
(
Collectors
.
toMap
(
map
->
ConvertUtils
.
getString
(
map
.
get
(
"inspectionTaskId"
)),
map
->
ConvertUtils
.
getInt
(
map
.
get
(
"count"
))));
//查询巡检任务异常填报数量
inspectionTaskFillContentQueryWrapper
.
eq
(
"choice_state"
,
"0"
);
List
<
Map
<
String
,
Object
>>
abnormalTaskCheckedItemsCountList
=
inspectionTaskFillContentService
.
listMaps
(
inspectionTaskFillContentQueryWrapper
);
abnormalTaskCheckedItemsCountMap
=
abnormalTaskCheckedItemsCountList
.
stream
().
collect
(
Collectors
.
toMap
(
map
->
ConvertUtils
.
getString
(
map
.
get
(
"inspectionTaskId"
)),
map
->
ConvertUtils
.
getInt
(
map
.
get
(
"count"
))));
}
InspectionAbnormalItemsTrendVO
inspectionAbnormalItemsTrendVO
;
// 翻译
Map
<
String
,
String
>
sysDepartDictMap
=
businessService
.
dictMap
(
"sys_depart"
,
null
);
for
(
Map
.
Entry
<
String
,
List
<
String
>>
entry:
departId2inspectionTaskIdMap
.
entrySet
())
{
String
departId
=
entry
.
getKey
();
List
<
String
>
tempInspectionTaskIdList
=
entry
.
getValue
();
inspectionAbnormalItemsTrendVO
=
new
InspectionAbnormalItemsTrendVO
();
//巡检任务Id集合查询对应任务填报项数量
//总的填报项数量
Integer
totalCheckeItemsCount
=
0
;
//已填报的填报项数量
Integer
checkedItemsCount
=
0
;
//异常填报项数量
Integer
abnormalCheckedItemsCount
=
0
;
for
(
String
tempInspectionTaskId
:
tempInspectionTaskIdList
)
{
totalCheckeItemsCount
+=
ConvertUtils
.
getInt
(
taskCheckeItemsCountMap
.
get
(
tempInspectionTaskId
),
0
);
checkedItemsCount
+=
Math
.
min
(
ConvertUtils
.
getInt
(
taskCheckeItemsCountMap
.
get
(
tempInspectionTaskId
),
0
),
ConvertUtils
.
getInt
(
taskCheckedItemsCountMap
.
get
(
tempInspectionTaskId
),
0
));
abnormalCheckedItemsCount
+=
ConvertUtils
.
getInt
(
abnormalTaskCheckedItemsCountMap
.
get
(
tempInspectionTaskId
),
0
);
}
inspectionAbnormalItemsTrendVO
.
setDepartName
(
StringUtils
.
isEmpty
(
departId
)
?
departId
:
sysDepartDictMap
.
get
(
departId
));
inspectionAbnormalItemsTrendVO
.
setNotCheckedItemsCount
(
totalCheckeItemsCount
-
checkedItemsCount
);
inspectionAbnormalItemsTrendVO
.
setAbnormalItemsCount
(
abnormalCheckedItemsCount
);
inspectionAbnormalItemsTrendVOList
.
add
(
inspectionAbnormalItemsTrendVO
);
}
return
inspectionAbnormalItemsTrendVOList
;
}
//InspectionEquipInfoListVO
...
...
sk-module-inspection/src/main/java/com/skua/modules/inspection/vo/InspectionAbnormalItemsTrendVO.java
查看文件 @
99fae81
...
...
@@ -34,16 +34,4 @@ public class InspectionAbnormalItemsTrendVO {
private
Integer
notCheckedItemsCount
;
@ApiModelProperty
(
value
=
"异常项数量"
)
private
Integer
abnormalItemsCount
;
public
Integer
getNotCheckedItemsCount
()
{
if
(
totalCount
!=
null
&&
checkedItemsCount
!=
null
)
{
if
(
totalCount
-
checkedItemsCount
<
0
)
{
return
checkedItemsCount
-
totalCount
;
}
else
{
return
totalCount
-
checkedItemsCount
;
}
}
else
{
return
0
;
}
}
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论