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
ebf0f365
Commit
ebf0f365
authored
Oct 15, 2021
by
kongfm
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修复相似警情查找 及 警情任务结束mqtt 消息
parent
26bb3fad
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
102 additions
and
43 deletions
+102
-43
AlertPaperInfoDto.java
...ejoin/amos/boot/module/tzs/api/dto/AlertPaperInfoDto.java
+3
-0
AlertCalledController.java
...boot/module/tzs/biz/controller/AlertCalledController.java
+10
-1
AlertCalledServiceImpl.java
...t/module/tzs/biz/service/impl/AlertCalledServiceImpl.java
+4
-1
ESAlertCalledService.java
...oot/module/tzs/biz/service/impl/ESAlertCalledService.java
+78
-41
RepairConsultServiceImpl.java
...module/tzs/biz/service/impl/RepairConsultServiceImpl.java
+7
-0
No files found.
amos-boot-module/amos-boot-module-api/amos-boot-module-tzs-api/src/main/java/com/yeejoin/amos/boot/module/tzs/api/dto/AlertPaperInfoDto.java
View file @
ebf0f365
...
...
@@ -63,4 +63,7 @@ public class AlertPaperInfoDto {
@ApiModelProperty
(
value
=
"电梯设备编码"
)
private
String
elevatorCode
;
@ApiModelProperty
(
value
=
"警情结束时间"
)
private
Date
finishTime
;
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-tzs-biz/src/main/java/com/yeejoin/amos/boot/module/tzs/biz/controller/AlertCalledController.java
View file @
ebf0f365
...
...
@@ -24,6 +24,7 @@ import com.yeejoin.amos.boot.module.tzs.api.dto.AlertPaperInfoDto;
import
com.yeejoin.amos.boot.module.tzs.api.dto.ESAlertCalledDto
;
import
com.yeejoin.amos.boot.module.tzs.api.dto.ESAlertCalledRequestDto
;
import
com.yeejoin.amos.boot.module.tzs.api.entity.AlertCalled
;
import
com.yeejoin.amos.boot.module.tzs.api.entity.DispatchPaper
;
import
com.yeejoin.amos.boot.module.tzs.api.entity.Elevator
;
import
com.yeejoin.amos.boot.module.tzs.api.entity.WechatRelation
;
import
com.yeejoin.amos.boot.module.tzs.api.enums.AlertStageEnums
;
...
...
@@ -195,7 +196,10 @@ public class AlertCalledController extends BaseController {
alertCalledDto
.
setUseStatus
(
elevator
.
getUseStatus
());
alertCalledDto
.
setUseSiteCategory
(
elevator
.
getUseSiteCategory
());
alertCalledDto
.
setAlarmType
(
AlertStageEnums
.
getEnumById
(
alertCalledDto
.
getAlarmTypeCode
()).
getValue
());
alertCalledDto
.
setEquipmentClassification
(
"电梯"
);
alertCalledDto
.
setEquipmentClassificationCode
(
"3000"
);
alertCalledDto
.
setCity
(
elevator
.
getCity
());
alertCalledDto
.
setDistrict
(
elevator
.
getDistrict
());
AlertCalledDto
alertCalledDtoReturn
=
iAlertCalledService
.
createAlertCalled
(
alertCalledDto
);
return
ResponseHelper
.
buildResponse
(
alertCalledDtoReturn
);
}
...
...
@@ -232,6 +236,11 @@ public class AlertCalledController extends BaseController {
alertPaperInfoDto
.
setAlertStatus
(
alertCalled
.
getAlertStage
());
alertPaperInfoDto
.
setElevatorId
(
elevator
.
getSequenceNbr
()
+
""
);
alertPaperInfoDto
.
setElevatorCode
(
elevator
.
getRegisterCode
());
DispatchPaper
paper
=
dispatchPaperServiceImpl
.
getOne
(
new
LambdaQueryWrapper
<
DispatchPaper
>().
eq
(
DispatchPaper:
:
getIsDelete
,
false
).
eq
(
DispatchPaper:
:
getAlertId
,
alertId
));
if
(
paper
!=
null
)
{
alertPaperInfoDto
.
setFinishTime
(
paper
.
getFeedbackFinishTime
());
}
return
ResponseHelper
.
buildResponse
(
alertPaperInfoDto
);
}
...
...
amos-boot-module/amos-boot-module-biz/amos-boot-module-tzs-biz/src/main/java/com/yeejoin/amos/boot/module/tzs/biz/service/impl/AlertCalledServiceImpl.java
View file @
ebf0f365
...
...
@@ -387,7 +387,8 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall
// 警情基本信息
AlertCalled
alertCalled
=
BeanDtoVoUtils
.
convert
(
alertCalledObjsDto
.
getAlertCalledDto
(),
AlertCalled
.
class
);
alertCalled
.
setEquipmentClassification
(
"电梯"
);
alertCalled
.
setEquipmentClassificationCode
(
"3000"
);
alertCalled
.
setCallTime
(
DateUtils
.
longStr2Date
(
alertCalled
.
getCallTimeStr
()));
// 判断是否归并警情
...
...
@@ -425,6 +426,8 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall
queryWrapper
.
eq
(
Elevator:
:
getRescueCode
,
alertCalled
.
getDeviceId
());
Elevator
elevator
=
iElevatorService
.
getOne
(
queryWrapper
);
alertCalled
.
setEquipmentId
(
elevator
.
getSequenceNbr
());
alertCalled
.
setCity
(
elevator
.
getCity
());
alertCalled
.
setDistrict
(
elevator
.
getDistrict
());
this
.
save
(
alertCalled
);
// 动态表单
...
...
amos-boot-module/amos-boot-module-biz/amos-boot-module-tzs-biz/src/main/java/com/yeejoin/amos/boot/module/tzs/biz/service/impl/ESAlertCalledService.java
View file @
ebf0f365
...
...
@@ -116,6 +116,7 @@ public class ESAlertCalledService {
esAlertCalled
.
setAlertStatus
(
alertCalled
.
getAlertStatus
());
esAlertCalled
.
setEmergencyCall
(
alertCalled
.
getEmergencyCall
());
esAlertCalled
.
setDeviceId
(
alertCalled
.
getDeviceId
());
esAlertCalled
.
setUseUnit
(
alertCalled
.
getUseUnit
());
if
(
alertCalled
.
getAlertStatus
())
{
esAlertCalled
.
setAlertStatusStr
(
AlertStatusEnum
.
CLOSED
.
getCode
());
...
...
@@ -141,13 +142,11 @@ public class ESAlertCalledService {
public
Page
<
ESAlertCalledDto
>
queryByKeys
(
ESAlertCalledRequestDto
alertCalledVo
,
int
current
,
int
size
)
{
Page
<
ESAlertCalledDto
>
result
=
new
Page
<
ESAlertCalledDto
>(
current
,
size
);
String
[]
alertStatus
=
alertCalledVo
.
getAlertStatus
();
if
(
ValidationUtil
.
isEmpty
(
alertStatus
))
{
return
result
;
}
AlertCalled
alertCalled
=
BeanDtoVoUtils
.
convert
(
alertCalledVo
.
getAlertCalledDto
(),
AlertCalled
.
class
);
if
(
ValidationUtil
.
isEmpty
(
alertCalled
))
{
...
...
@@ -157,54 +156,92 @@ public class ESAlertCalledService {
* 通用匹配规则,条件构建
*/
BoolQueryBuilder
boolMust
=
QueryBuilders
.
boolQuery
();
//警情状态
BoolQueryBuilder
qb0
=
QueryBuilders
.
boolQuery
();
for
(
String
status
:
alertStatus
)
//警情状态
BoolQueryBuilder
qbstatus
=
QueryBuilders
.
boolQuery
();
for
(
String
status
:
alertStatus
)
{
AlertStatusEnum
alertStatusEnum
=
AlertStatusEnum
.
getEnum
(
status
);
if
(!
ValidationUtil
.
isEmpty
(
alertStatusEnum
))
AlertStatusEnum
alertStatusEnum
=
AlertStatusEnum
.
getEnum
(
status
);
if
(!
ValidationUtil
.
isEmpty
(
alertStatusEnum
))
{
qb0
.
should
(
QueryBuilders
.
termQuery
(
"alertStatusStr.keyword"
,
alertStatusEnum
.
getCode
()));
qbstatus
.
should
(
QueryBuilders
.
termQuery
(
"alertStatusStr.keyword"
,
alertStatusEnum
.
getCode
()));
}
}
boolMust
.
must
(
qb0
);
//接警时间,距离当前时间不超过两个小时的
long
currentTime
=
System
.
currentTimeMillis
()
;
currentTime
=
currentTime
-
120
*
60
*
1000
;
BoolQueryBuilder
qb1
=
QueryBuilders
.
boolQuery
()
.
filter
(
QueryBuilders
.
rangeQuery
(
"callTimeLong"
).
gte
(
currentTime
));
boolMust
.
must
(
qb1
);
//报警电话一致
if
(!
ValidationUtil
.
isEmpty
(
alertCalled
.
getEmergencyCall
())
&&
!
ValidationUtil
.
isEmpty
(
alertCalled
.
getContactPhone
()))
boolMust
.
must
(
qbstatus
);
// 如果没有搜索条件不搜索
boolean
flag
=
true
;
// ①事发地点一致,或相距不超过200米的;&& ②警情类别一致;&& ③报警时间:距离当前时间不超过两小时的
if
(!
ValidationUtil
.
isEmpty
(
alertCalled
.
getAddress
())
&&
!
ValidationUtil
.
isEmpty
(
alertCalled
.
getAlarmTypeCode
())
&&
!
ValidationUtil
.
isEmpty
(
alertCalled
.
getAlarmTypeCode
()))
{
BoolQueryBuilder
qb2
=
QueryBuilders
.
boolQuery
()
.
should
(
QueryBuilders
.
termQuery
(
"emergencyCall.keyword"
,
alertCalled
.
getEmergencyCall
()))
.
should
(
QueryBuilders
.
termQuery
(
"contactPhone.keyword"
,
alertCalled
.
getContactPhone
()));
boolMust
.
must
(
qb2
);
flag
=
false
;
BoolQueryBuilder
qb0
=
QueryBuilders
.
boolQuery
();
BoolQueryBuilder
temp1
=
QueryBuilders
.
boolQuery
()
.
filter
(
QueryBuilders
.
matchQuery
(
"address"
,
alertCalled
.
getAddress
()));
qb0
.
must
(
temp1
);
BoolQueryBuilder
temp2
=
QueryBuilders
.
boolQuery
()
.
filter
(
QueryBuilders
.
matchQuery
(
"alarmTypeCode"
,
alertCalled
.
getAlarmTypeCode
()));
qb0
.
must
(
temp2
);
//接警时间,距离当前时间不超过两个小时的
long
currentTime
=
System
.
currentTimeMillis
()
;
currentTime
=
currentTime
-
120
*
60
*
1000
;
BoolQueryBuilder
temp3
=
QueryBuilders
.
boolQuery
()
.
filter
(
QueryBuilders
.
rangeQuery
(
"callTimeLong"
).
gte
(
currentTime
));
qb0
.
must
(
temp3
);
boolMust
.
should
(
qb0
);
}
//事发地点一致,或相距不超过200米的
if
(!
ValidationUtil
.
isEmpty
(
alertCalled
.
getAddress
()))
{
BoolQueryBuilder
qb3
=
QueryBuilders
.
boolQuery
()
.
filter
(
QueryBuilders
.
matchQuery
(
"address"
,
alertCalled
.
getAddress
()));
boolMust
.
should
(
qb3
);
// 报警电话一致;
if
(!
ValidationUtil
.
isEmpty
(
alertCalled
.
getEmergencyCall
()))
{
flag
=
false
;
BoolQueryBuilder
tempQb
=
QueryBuilders
.
boolQuery
();
BoolQueryBuilder
tempQb1
=
QueryBuilders
.
boolQuery
()
.
filter
(
QueryBuilders
.
termQuery
(
"emergencyCall.keyword"
,
alertCalled
.
getEmergencyCall
()));
tempQb
.
must
(
tempQb1
);
boolMust
.
should
(
tempQb
);
}
//警情类型一致
BoolQueryBuilder
qb4
=
QueryBuilders
.
boolQuery
()
.
filter
(
QueryBuilders
.
termQuery
(
"alarmTypeCode"
,
alertCalled
.
getAlarmTypeCode
()));
boolMust
.
must
(
qb4
);
//使用单位名称一致
if
(!
ValidationUtil
.
isEmpty
(
alertCalled
.
getUseUnit
()))
{
BoolQueryBuilder
qb5
=
QueryBuilders
.
boolQuery
()
.
filter
(
QueryBuilders
.
termQuery
(
"useUnit.keyword"
,
alertCalled
.
getUseUnit
()));
boolMust
.
must
(
qb5
);
// 使用单位名称一致;&& ②警情类别一致;&& ③报警时间:距离当前时间不超过两小时的
if
(!
ValidationUtil
.
isEmpty
(
alertCalled
.
getUseUnit
())
&&
!
ValidationUtil
.
isEmpty
(
alertCalled
.
getAlarmTypeCode
())
)
{
flag
=
false
;
BoolQueryBuilder
qb0
=
QueryBuilders
.
boolQuery
();
BoolQueryBuilder
temp1
=
QueryBuilders
.
boolQuery
()
.
filter
(
QueryBuilders
.
termQuery
(
"useUnit.keyword"
,
alertCalled
.
getUseUnit
()));
qb0
.
must
(
temp1
);
BoolQueryBuilder
temp2
=
QueryBuilders
.
boolQuery
()
.
filter
(
QueryBuilders
.
termQuery
(
"alarmTypeCode.keyword"
,
alertCalled
.
getAlarmTypeCode
()));
qb0
.
must
(
temp2
);
//接警时间,距离当前时间不超过两个小时的
long
currentTime
=
System
.
currentTimeMillis
()
;
currentTime
=
currentTime
-
120
*
60
*
1000
;
BoolQueryBuilder
temp3
=
QueryBuilders
.
boolQuery
()
.
filter
(
QueryBuilders
.
rangeQuery
(
"callTimeLong"
).
gte
(
currentTime
));
qb0
.
must
(
temp3
);
boolMust
.
should
(
qb0
);
}
//电梯识别码一致
if
(!
ValidationUtil
.
isEmpty
(
alertCalled
.
getDeviceId
()))
{
BoolQueryBuilder
qb6
=
QueryBuilders
.
boolQuery
()
// 电梯识别码一致;&& ③报警时间:距离当前时间不超过两小时的
if
(!
ValidationUtil
.
isEmpty
(
alertCalled
.
getDeviceId
()))
{
flag
=
false
;
BoolQueryBuilder
qb0
=
QueryBuilders
.
boolQuery
();
BoolQueryBuilder
temp
=
QueryBuilders
.
boolQuery
()
.
filter
(
QueryBuilders
.
termQuery
(
"deviceId.keyword"
,
alertCalled
.
getDeviceId
()));
boolMust
.
must
(
qb6
);
qb0
.
must
(
temp
);
//接警时间,距离当前时间不超过两个小时的
long
currentTime
=
System
.
currentTimeMillis
()
;
currentTime
=
currentTime
-
120
*
60
*
1000
;
BoolQueryBuilder
temp2
=
QueryBuilders
.
boolQuery
()
.
filter
(
QueryBuilders
.
rangeQuery
(
"callTimeLong"
).
gte
(
currentTime
));
qb0
.
must
(
temp2
);
boolMust
.
should
(
qb0
);
}
boolMust
.
minimumShouldMatch
(
1
);
//至少满足一个
if
(
flag
)
{
// 不搜素
return
result
;
}
/**
...
...
amos-boot-module/amos-boot-module-biz/amos-boot-module-tzs-biz/src/main/java/com/yeejoin/amos/boot/module/tzs/biz/service/impl/RepairConsultServiceImpl.java
View file @
ebf0f365
...
...
@@ -10,6 +10,7 @@ import com.yeejoin.amos.boot.module.tzs.api.dto.AlertCalledFormDto;
import
com.yeejoin.amos.boot.module.tzs.api.dto.DispatchPaperFormDto
;
import
com.yeejoin.amos.boot.module.tzs.api.dto.RepairConsultDto
;
import
com.yeejoin.amos.boot.module.tzs.api.dto.RescueProcessDto
;
import
com.yeejoin.amos.boot.module.tzs.api.entity.AlertCalled
;
import
com.yeejoin.amos.boot.module.tzs.api.entity.AlertFormValue
;
import
com.yeejoin.amos.boot.module.tzs.api.entity.DispatchPaper
;
import
com.yeejoin.amos.boot.module.tzs.api.entity.DispatchTask
;
...
...
@@ -275,6 +276,12 @@ public class RepairConsultServiceImpl extends BaseService<RepairConsultDto,Repai
// 警情伤亡消息 矩阵 消息
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"alertId"
,
String
.
valueOf
(
alertCalledVo
.
getSequenceNbr
()));
// KRJY 的 repaired complainantBack 和 reportorBack 警情完成
if
(
CZHJ
==
DispatchPaperEnums
.
reportorBack
||
CZHJ
==
DispatchPaperEnums
.
complainantBack
)
{
jsonObject
.
put
(
"finished"
,
true
);
}
else
if
(
CZHJ
==
DispatchPaperEnums
.
repaired
&&
alertCalledVo
.
getAlarmTypeCode
().
equals
(
AlertStageEnums
.
KRJY
.
getId
()))
{
jsonObject
.
put
(
"finished"
,
true
);
}
try
{
emqKeeper
.
getMqttClient
().
publish
(
alertHeartpushTopic
,
jsonObject
.
toString
().
getBytes
(
"UTF-8"
),
1
,
false
);
emqKeeper
.
getMqttClient
().
publish
(
alertMatrixpushTopic
,
jsonObject
.
toString
().
getBytes
(
"UTF-8"
),
1
,
false
);
...
...
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