Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
张雷
/
skboot-zhongye
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
构建
提交
问题看板
文件
提交
网络
比较
分支
标签
894cdb10
由
康伟
编写于
2025-03-14 12:27:39 +0800
浏览文件
选项
浏览文件
标签
下载
差异文件
Merge remote-tracking branch 'origin/master'
2 个父辈
ca152b2d
b2c7b5be
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
45 行增加
和
21 行删除
sk-module-biz/src/main/java/com/skua/modules/statistics/entity/EquipmentInfoDuration.java
sk-module-inspection/src/main/java/com/skua/modules/inspection/mapper/xml/InspectionPlanMapper.xml
sk-module-inspection/src/main/java/com/skua/modules/inspection/service/impl/InspectionAnalysisServiceImpl.java
sk-module-system/src/main/java/com/skua/modules/websocket/WebSocket.java
sk-module-biz/src/main/java/com/skua/modules/statistics/entity/EquipmentInfoDuration.java
查看文件 @
894cdb1
package
com
.
skua
.
modules
.
statistics
.
entity
;
import
java.io.Serializable
;
import
java.util.Date
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
...
...
@@ -12,9 +10,6 @@ import io.swagger.annotations.ApiModelProperty;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
netscape.javascript.JSUtil
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
org.jeecgframework.poi.excel.annotation.Excel
;
/**
...
...
sk-module-inspection/src/main/java/com/skua/modules/inspection/mapper/xml/InspectionPlanMapper.xml
查看文件 @
894cdb1
...
...
@@ -3,7 +3,13 @@
<mapper
namespace=
"com.skua.modules.inspection.mapper.InspectionPlanMapper"
>
<select
id=
"getPage"
resultType=
"com.skua.modules.inspection.entity.InspectionPlan"
>
select * from inspection_plan p
select p.*,ifnull(e.equip_count,0) as equip_count from inspection_plan p
LEFT join
(select n.inspection_plan_id,count(g.equip_info_id) equip_count
from inspection_plan_point n
left join inspection_point_fill_group g on n.inspection_point_id = g.inspection_point_id
where g.equip_info_id != '' GROUP BY n.inspection_plan_id
) e on p.id = e.inspection_plan_id
where p.del_flag = '0'
<if
test=
"departId!=null and departId!=''"
>
AND p.depart_id = #{departId}
...
...
sk-module-inspection/src/main/java/com/skua/modules/inspection/service/impl/InspectionAnalysisServiceImpl.java
查看文件 @
894cdb1
package
com
.
skua
.
modules
.
inspection
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.skua.core.context.BaseContextHandler
;
import
com.skua.core.util.ConvertUtils
;
import
com.skua.core.util.DateUtils
;
...
...
@@ -369,12 +370,18 @@ public class InspectionAnalysisServiceImpl implements IInspectionAnalysisService
inspectionTaskIndicatorsVO
.
setAbnormalRate
(
"0"
);
inspectionTaskIndicatorsVO
.
setProcessedAbnormalRate
(
"0"
);
//查询时间内巡检任务信息
InspectionTaskVO
inspectionTaskVO
=
new
InspectionTaskVO
();
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"
);
inspectionTaskVO
.
setStartTime
(
inspectionTaskVO
.
getStartTime
()
+
" 00:00:00"
);
inspectionTaskVO
.
setEndTime
(
inspectionTaskVO
.
getEndTime
()
+
" 23:59:59"
);
}
List
<
InspectionTask
>
inspectionTaskList
=
inspectionTaskService
.
list
(
inspectionTaskQueryWrapper
);
// List<InspectionTask> inspectionTaskList = inspectionTaskService.list(inspectionTaskQueryWrapper);
IPage
<
InspectionTask
>
pageList
=
inspectionTaskService
.
getPage
(
null
,
inspectionTaskVO
);
List
<
InspectionTask
>
inspectionTaskList
=
pageList
.
getRecords
();
//各状态的数量
Map
<
String
,
List
<
InspectionTask
>>
taskStateMap
=
new
HashMap
<>();
List
<
InspectionTask
>
inspectionTasks
;
...
...
@@ -393,13 +400,13 @@ public class InspectionAnalysisServiceImpl implements IInspectionAnalysisService
//未检任务
List
<
InspectionTask
>
notCheckedInspectionTaskList
=
taskStateMap
.
get
(
"3"
)
==
null
?
new
ArrayList
<>()
:
taskStateMap
.
get
(
"3"
);
//进行中任务
List
<
InspectionTask
>
inProgressInspectionTaskList
=
taskStateMap
.
get
(
"1"
)
==
null
?
new
ArrayList
<>()
:
taskStateMap
.
get
(
"1"
);
//
List<InspectionTask> inProgressInspectionTaskList = taskStateMap.get("1") == null ? new ArrayList<>() : taskStateMap.get("1");
//已检任务数
int
checkedInspectionTaskCount
=
checkedInspectionTaskList
.
size
();
//未检任务数
int
notCheckedInspectionTaskCount
=
notCheckedInspectionTaskList
.
size
();
//进行中任务数
int
inProgressInspectionTaskCount
=
inProgressInspectionTaskList
.
size
();
//
int inProgressInspectionTaskCount = inProgressInspectionTaskList.size();
//已检任务ID集合
List
<
String
>
checkedInspectionTaskIdList
=
checkedInspectionTaskList
.
stream
().
map
(
InspectionTask:
:
getId
).
collect
(
Collectors
.
toList
());
if
(
checkedInspectionTaskIdList
.
size
()
>
0
)
{
...
...
@@ -442,12 +449,12 @@ public class InspectionAnalysisServiceImpl implements IInspectionAnalysisService
processInstanceStateMap
.
put
(
state
,
tempProcessInstanceIdList
);
}
//异常项数量(问题上报)
Integer
abnormalItemsCount
=
problemReportPlanList
.
size
();
//
Integer abnormalItemsCount = problemReportPlanList.size();
//已处理异常项数量(问题上报)
Integer
processedAbnormalItemsCount
=
0
;
if
(
processInstanceStateMap
!=
null
&&
processInstanceStateMap
.
get
(
FlowEngineConstant
.
STATUS_FINISHED
)
!=
null
)
{
processedAbnormalItemsCount
=
processInstanceStateMap
.
get
(
FlowEngineConstant
.
STATUS_FINISHED
).
size
();
}
//
Integer processedAbnormalItemsCount = 0;
//
if (processInstanceStateMap != null && processInstanceStateMap.get(FlowEngineConstant.STATUS_FINISHED) != null) {
//
processedAbnormalItemsCount = processInstanceStateMap.get(FlowEngineConstant.STATUS_FINISHED).size();
//
}
//完成率
String
completionRate
=
"0"
;
if
(
totalInspectionTaskCount
!=
0
)
{
...
...
@@ -464,14 +471,14 @@ public class InspectionAnalysisServiceImpl implements IInspectionAnalysisService
abnormalRate
=
numberFormat
.
format
(
abnormalInspectionTaskCount
/
(
double
)
checkedInspectionTaskCount
*
100
);
}
//异常项处理率
String
processedAbnormalRate
=
"0"
;
if
(
abnormalItemsCount
!=
0
)
{
processedAbnormalRate
=
numberFormat
.
format
(
processedAbnormalItemsCount
/
(
double
)
abnormalItemsCount
*
100
);
}
//
String processedAbnormalRate = "0";
//
if (abnormalItemsCount != 0) {
//
processedAbnormalRate = numberFormat.format(processedAbnormalItemsCount / (double)abnormalItemsCount * 100);
//
}
inspectionTaskIndicatorsVO
.
setCompletionRate
(
completionRate
);
inspectionTaskIndicatorsVO
.
setUnCompletionRate
(
unCompletionRate
);
inspectionTaskIndicatorsVO
.
setAbnormalRate
(
abnormalRate
);
inspectionTaskIndicatorsVO
.
setProcessedAbnormalRate
(
processedAbnormalRate
);
//
inspectionTaskIndicatorsVO.setProcessedAbnormalRate(processedAbnormalRate);
}
return
inspectionTaskIndicatorsVO
;
}
...
...
@@ -940,7 +947,7 @@ public class InspectionAnalysisServiceImpl implements IInspectionAnalysisService
}
inspectionAbnormalItemsTrendVO
.
setInspectionTaskDate
(
date
);
if
(
totalCheckeItemsCount
-
checkedItemsCount
<
0
){
inspectionAbnormalItemsTrendVO
.
setNotCheckedItemsCount
(
0
);
inspectionAbnormalItemsTrendVO
.
setNotCheckedItemsCount
(
checkedItemsCount
-
totalCheckeItemsCount
);
}
else
{
inspectionAbnormalItemsTrendVO
.
setNotCheckedItemsCount
(
totalCheckeItemsCount
-
checkedItemsCount
);
}
...
...
sk-module-system/src/main/java/com/skua/modules/websocket/WebSocket.java
查看文件 @
894cdb1
...
...
@@ -49,13 +49,29 @@ public class WebSocket {
@OnMessage
public
void
onMessage
(
String
message
)
{
//log.info("【websocket消息】收到客户端消息:"+message);
log
.
info
(
"【websocket消息】收到客户端消息:"
+
message
);
sendAiMessage
(
message
);
//发送消息给AI
JSONObject
obj
=
new
JSONObject
();
obj
.
put
(
"cmd"
,
"heartcheck"
);
//业务类型
obj
.
put
(
"msgTxt"
,
"心跳响应"
);
//消息内容
session
.
getAsyncRemote
().
sendText
(
obj
.
toJSONString
());
}
public
void
sendAiMessage
(
String
message
)
{
//message中是否包含“AiMessage”
if
(
message
.
contains
(
"AiMessage"
)){
//以:分割message
String
[]
str
=
message
.
split
(
":"
);
if
(
str
.
length
>
1
){
JSONObject
obj
=
new
JSONObject
();
obj
.
put
(
"cmd"
,
"ai"
);
obj
.
put
(
"type"
,
"menu"
);
obj
.
put
(
"questen"
,
str
[
1
]);
sendOneMessage
(
"e9ca23d68d884d4ebb19d07889727dae"
,
obj
.
toJSONString
());
}
}
}
// 此为广播消息
public
void
sendAllMessage
(
String
message
)
{
log
.
info
(
"【websocket消息】广播消息:"
+
message
);
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论