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
bd0e3901
Commit
bd0e3901
authored
May 05, 2023
by
lisong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
稳压泵、管网压力、水池水箱泡沫罐告警事件添加逻辑
parent
cfe32d1c
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
270 additions
and
53 deletions
+270
-53
EquipmentIndexMapper.java
.../com/yeejoin/equipmanage/mapper/EquipmentIndexMapper.java
+2
-0
PumpSendMessage.java
.../java/com/yeejoin/equipmanage/quartz/PumpSendMessage.java
+4
-0
IEquipmentSpecificAlarmLogService.java
...quipmanage/service/IEquipmentSpecificAlarmLogService.java
+6
-0
EquipmentSpecificAlarmLogServiceImpl.java
...ge/service/impl/EquipmentSpecificAlarmLogServiceImpl.java
+150
-5
MqttReceiveServiceImpl.java
...join/equipmanage/service/impl/MqttReceiveServiceImpl.java
+58
-15
EquipmentIndexMapper.xml
...-equip/src/main/resources/mapper/EquipmentIndexMapper.xml
+17
-0
MarqueeDataMapper.xml
...tem-equip/src/main/resources/mapper/MarqueeDataMapper.xml
+33
-33
No files found.
amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/mapper/EquipmentIndexMapper.java
View file @
bd0e3901
...
@@ -66,4 +66,6 @@ public interface EquipmentIndexMapper extends BaseMapper<EquipmentIndex> {
...
@@ -66,4 +66,6 @@ public interface EquipmentIndexMapper extends BaseMapper<EquipmentIndex> {
List
<
EquipmentIndex
>
getPerfQutoaIotList
(
Long
id
);
List
<
EquipmentIndex
>
getPerfQutoaIotList
(
Long
id
);
List
<
String
>
getGruopName
(
Long
equipmentId
);
List
<
String
>
getGruopName
(
Long
equipmentId
);
EquipmentIndex
getMessage
(
@Param
(
"equipmentSpecificId"
)
Long
equipmentSpecificId
,
@Param
(
"equipmentIndexKey"
)
String
equipmentIndexKey
);
}
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/quartz/PumpSendMessage.java
View file @
bd0e3901
...
@@ -11,6 +11,7 @@ import com.yeejoin.equipmanage.common.vo.Token;
...
@@ -11,6 +11,7 @@ import com.yeejoin.equipmanage.common.vo.Token;
import
com.yeejoin.equipmanage.fegin.SystemctlFeign
;
import
com.yeejoin.equipmanage.fegin.SystemctlFeign
;
import
com.yeejoin.equipmanage.mapper.MarqueeDataMapper
;
import
com.yeejoin.equipmanage.mapper.MarqueeDataMapper
;
import
com.yeejoin.equipmanage.remote.RemoteSecurityService
;
import
com.yeejoin.equipmanage.remote.RemoteSecurityService
;
import
com.yeejoin.equipmanage.service.IEquipmentSpecificAlarmLogService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.quartz.Job
;
import
org.quartz.Job
;
import
org.quartz.JobExecutionContext
;
import
org.quartz.JobExecutionContext
;
...
@@ -36,6 +37,7 @@ public class PumpSendMessage implements Job {
...
@@ -36,6 +37,7 @@ public class PumpSendMessage implements Job {
SystemctlFeign
systemctlFeign
=
(
SystemctlFeign
)
jobDataMap
.
get
(
"systemctlFeign"
);
SystemctlFeign
systemctlFeign
=
(
SystemctlFeign
)
jobDataMap
.
get
(
"systemctlFeign"
);
RemoteSecurityService
remoteSecurityService
=
(
RemoteSecurityService
)
jobDataMap
.
get
(
"remoteSecurityService"
);
RemoteSecurityService
remoteSecurityService
=
(
RemoteSecurityService
)
jobDataMap
.
get
(
"remoteSecurityService"
);
MarqueeDataMapper
marqueeDataMapper
=
(
MarqueeDataMapper
)
jobDataMap
.
get
(
"marqueeDataMapper"
);
MarqueeDataMapper
marqueeDataMapper
=
(
MarqueeDataMapper
)
jobDataMap
.
get
(
"marqueeDataMapper"
);
IEquipmentSpecificAlarmLogService
equipmentSpecificAlarmLogService
=
(
IEquipmentSpecificAlarmLogService
)
jobDataMap
.
get
(
"equipmentSpecificAlarmLogService"
);
MessageModel
model
=
new
MessageModel
();
MessageModel
model
=
new
MessageModel
();
model
.
setSendTime
(
new
Date
());
model
.
setSendTime
(
new
Date
());
...
@@ -64,6 +66,8 @@ public class PumpSendMessage implements Job {
...
@@ -64,6 +66,8 @@ public class PumpSendMessage implements Job {
marqueeData
.
setType
(
"漏水提醒"
);
marqueeData
.
setType
(
"漏水提醒"
);
marqueeData
.
setCreateDate
(
new
Date
());
marqueeData
.
setCreateDate
(
new
Date
());
marqueeDataMapper
.
insert
(
marqueeData
);
marqueeDataMapper
.
insert
(
marqueeData
);
// 稳压泵漏水告警添加告警事件信息
equipmentSpecificAlarmLogService
.
pressurePumpDisposeAlarm
(
equipmentSpecific
.
getId
());
}
}
model
.
setBody
(
body
);
model
.
setBody
(
body
);
...
...
amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/service/IEquipmentSpecificAlarmLogService.java
View file @
bd0e3901
...
@@ -2,6 +2,7 @@ package com.yeejoin.equipmanage.service;
...
@@ -2,6 +2,7 @@ package com.yeejoin.equipmanage.service;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.yeejoin.equipmanage.common.entity.EquipmentSpecific
;
import
com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarm
;
import
com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarm
;
import
com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarmLog
;
import
com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarmLog
;
import
com.yeejoin.equipmanage.common.entity.dto.EquipmentAlarmLogDto
;
import
com.yeejoin.equipmanage.common.entity.dto.EquipmentAlarmLogDto
;
...
@@ -61,4 +62,9 @@ public interface IEquipmentSpecificAlarmLogService extends IService<EquipmentSpe
...
@@ -61,4 +62,9 @@ public interface IEquipmentSpecificAlarmLogService extends IService<EquipmentSpe
* @return
* @return
*/
*/
Page
<
EquipmentAlarmLogDto
>
getEquipAlarmLog
(
String
id
,
String
startTime
,
String
endTime
,
long
pageSize
,
long
current
);
Page
<
EquipmentAlarmLogDto
>
getEquipAlarmLog
(
String
id
,
String
startTime
,
String
endTime
,
long
pageSize
,
long
current
);
void
pressurePumpDisposeAlarm
(
Long
equipmentSpecificId
);
void
pressurePumpRestore
(
Long
equipmentSpecificId
);
}
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/service/impl/EquipmentSpecificAlarmLogServiceImpl.java
View file @
bd0e3901
package
com
.
yeejoin
.
equipmanage
.
service
.
impl
;
package
com
.
yeejoin
.
equipmanage
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
import
com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarm
;
import
com.yeejoin.equipmanage.common.entity.*
;
import
com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarmLog
;
import
com.yeejoin.equipmanage.common.entity.FireFightingSystemEntity
;
import
com.yeejoin.equipmanage.common.entity.dto.EquipmentAlarmLogDto
;
import
com.yeejoin.equipmanage.common.entity.dto.EquipmentAlarmLogDto
;
import
com.yeejoin.equipmanage.common.entity.vo.EquiplistSpecificBySystemVO
;
import
com.yeejoin.equipmanage.common.entity.vo.EquiplistSpecificBySystemVO
;
import
com.yeejoin.equipmanage.common.enums.AlarmStatusEnum
;
import
com.yeejoin.equipmanage.common.utils.DateUtils
;
import
com.yeejoin.equipmanage.common.utils.DateUtils
;
import
com.yeejoin.equipmanage.fegin.IotFeign
;
import
com.yeejoin.equipmanage.fegin.IotFeign
;
import
com.yeejoin.equipmanage.fegin.VideoFeignClient
;
import
com.yeejoin.equipmanage.fegin.VideoFeignClient
;
import
com.yeejoin.equipmanage.mapper.EquipmentSpecificAlarmLogMapper
;
import
com.yeejoin.equipmanage.mapper.*
;
import
com.yeejoin.equipmanage.mapper.FireFightingSystemMapper
;
import
com.yeejoin.equipmanage.service.IESeqService
;
import
com.yeejoin.equipmanage.service.IESeqService
;
import
com.yeejoin.equipmanage.service.IEquipmentSpecificAlarmLogService
;
import
com.yeejoin.equipmanage.service.IEquipmentSpecificAlarmLogService
;
import
liquibase.pro.packaged.S
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
...
@@ -28,6 +31,7 @@ import java.util.Date;
...
@@ -28,6 +31,7 @@ import java.util.Date;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
/**
* @author keyong
* @author keyong
...
@@ -42,6 +46,22 @@ public class EquipmentSpecificAlarmLogServiceImpl extends ServiceImpl<EquipmentS
...
@@ -42,6 +46,22 @@ public class EquipmentSpecificAlarmLogServiceImpl extends ServiceImpl<EquipmentS
@Autowired
@Autowired
EquipmentSpecificAlarmLogMapper
equipmentSpecificAlarmLogMapper
;
EquipmentSpecificAlarmLogMapper
equipmentSpecificAlarmLogMapper
;
@Autowired
EquipmentSpecificAlarmMapper
equipmentSpecificAlarmMapper
;
@Autowired
EquipmentSpecificMapper
equipmentSpecificMapper
;
@Autowired
EquipmentSpecificAlarmServiceImpl
equipmentSpecificAlarmService
;
@Autowired
EquipmentIndexMapper
equipmentIndexMapper
;
@Value
(
"${equipment.pressurepump.start}"
)
private
String
pressurePumpStart
;
@Autowired
@Autowired
FireFightingSystemMapper
fireFightingSystemMapper
;
FireFightingSystemMapper
fireFightingSystemMapper
;
...
@@ -141,6 +161,130 @@ public class EquipmentSpecificAlarmLogServiceImpl extends ServiceImpl<EquipmentS
...
@@ -141,6 +161,130 @@ public class EquipmentSpecificAlarmLogServiceImpl extends ServiceImpl<EquipmentS
}
}
@Override
public
void
pressurePumpDisposeAlarm
(
Long
equipmentSpecificId
)
{
EquipmentSpecific
equipmentSpecific
=
equipmentSpecificMapper
.
selectById
(
equipmentSpecificId
);
EquipmentSpecificAlarm
equipmentSpecificAlarm
=
new
EquipmentSpecificAlarm
();
String
sysCodes
=
null
;
Map
<
String
,
Object
>
stationCode
=
equipmentSpecificMapper
.
getStationCode
(
equipmentSpecificId
);
EquipmentIndex
equipmentIndex
=
equipmentIndexMapper
.
getMessage
(
equipmentSpecificId
,
pressurePumpStart
);
LambdaQueryWrapper
<
EquipmentSpecificAlarm
>
lambda
=
new
QueryWrapper
<
EquipmentSpecificAlarm
>().
lambda
();
lambda
.
eq
(
EquipmentSpecificAlarm:
:
getEquipmentSpecificId
,
equipmentSpecific
.
getId
());
lambda
.
eq
(
EquipmentSpecificAlarm:
:
getEquipmentSpecificIndexKey
,
equipmentSpecific
.
getRealtimeIotIndexKey
());
lambda
.
eq
(
EquipmentSpecificAlarm:
:
getStatus
,
AlarmStatusEnum
.
BJ
.
getCode
());
lambda
.
orderByDesc
(
EquipmentSpecificAlarm:
:
getCreateDate
);
lambda
.
last
(
"limit 1"
);
EquipmentSpecificAlarm
specificAlarm
=
equipmentSpecificAlarmMapper
.
selectOne
(
lambda
);
// 已存在稳压泵漏水告警信息,告警频率+1
if
(!
ObjectUtils
.
isEmpty
(
specificAlarm
))
{
specificAlarm
.
setFrequency
(
specificAlarm
.
getFrequency
()
+
1
);
equipmentSpecificAlarmMapper
.
updateById
(
specificAlarm
);
BeanUtils
.
copyProperties
(
specificAlarm
,
equipmentSpecificAlarm
);
}
else
{
equipmentSpecificAlarm
.
setEquipmentSpecificId
(
equipmentSpecific
.
getId
());
equipmentSpecificAlarm
.
setEquipmentSpecificName
(
equipmentSpecific
.
getName
());
equipmentSpecificAlarm
.
setOrgCode
(
equipmentSpecific
.
getOrgCode
());
equipmentSpecificAlarm
.
setIotCode
(
equipmentSpecific
.
getIotCode
());
equipmentSpecificAlarm
.
setEquipmentSpecificIndexName
(
"漏水提醒"
);
equipmentSpecificAlarm
.
setEquipmentSpecificIndexKey
(
equipmentIndex
.
getPerfQuotaDefinitionId
());
equipmentSpecificAlarm
.
setEquipmentSpecificIndexValue
(
"true"
);
equipmentSpecificAlarm
.
setStatus
(
AlarmStatusEnum
.
BJ
.
getCode
());
equipmentSpecificAlarm
.
setFrequency
(
1
);
equipmentSpecificAlarm
.
setType
(
equipmentIndex
.
getTypeCode
());
equipmentSpecificAlarm
.
setEquipmentIndexId
(
equipmentIndex
.
getId
());
equipmentSpecificAlarm
.
setSystemIds
(
equipmentSpecific
.
getSystemId
());
equipmentSpecificAlarm
.
setEquipmentCode
(
equipmentSpecific
.
getEquipmentCode
());
equipmentSpecificAlarm
.
setEquipmentDetailId
(
equipmentSpecific
.
getEquipmentDetailId
());
equipmentSpecificAlarm
.
setLocation
(
equipmentSpecific
.
getPosition
());
equipmentSpecificAlarm
.
setBizOrgCode
(
equipmentSpecific
.
getBizOrgCode
());
equipmentSpecificAlarm
.
setBizOrgName
(
equipmentSpecific
.
getBizOrgName
());
equipmentSpecificAlarm
.
setEmergencyLevel
(
equipmentIndex
.
getEmergencyLevel
());
equipmentSpecificAlarm
.
setEmergencyLevelColor
(
equipmentIndex
.
getEmergencyLevelColor
());
equipmentSpecificAlarm
.
setEmergencyLevelDescribe
(
equipmentIndex
.
getEmergencyLevelDescribe
());
equipmentSpecificAlarm
.
setEquipmentId
(
ObjectUtils
.
isEmpty
(
equipmentIndex
.
getEquipmentId
())
?
null
:
Long
.
parseLong
(
equipmentIndex
.
getEquipmentId
()));
if
(!
ObjectUtils
.
isEmpty
(
stationCode
))
{
equipmentSpecificAlarm
.
setStationCode
(
stationCode
.
get
(
"station_code"
).
toString
());
equipmentSpecificAlarm
.
setStationName
(
stationCode
.
get
(
"station_name"
).
toString
());
}
if
(!
ObjectUtils
.
isEmpty
(
equipmentSpecificAlarm
.
getSystemIds
()))
{
sysCodes
=
getSysCodes
(
equipmentSpecificAlarm
.
getSystemIds
());
equipmentSpecificAlarm
.
setSystemCodes
(
ObjectUtils
.
isEmpty
(
sysCodes
)
?
null
:
sysCodes
);
}
equipmentSpecificAlarmMapper
.
insert
(
equipmentSpecificAlarm
);
}
EquipmentSpecificAlarmLog
equipmentSpecificAlarmLog
=
new
EquipmentSpecificAlarmLog
();
BeanUtils
.
copyProperties
(
equipmentSpecificAlarm
,
equipmentSpecificAlarmLog
);
equipmentSpecificAlarmLog
.
setId
(
null
);
equipmentSpecificAlarmLog
.
setEquipmentSpecificAlarmId
(
equipmentSpecificAlarm
.
getId
());
equipmentSpecificAlarmLog
.
setEquipmentSpecificCode
(
equipmentSpecific
.
getCode
());
equipmentSpecificAlarmLog
.
setEquipmentId
(
ObjectUtils
.
isEmpty
(
equipmentIndex
.
getEquipmentId
())
?
null
:
Long
.
parseLong
(
equipmentIndex
.
getEquipmentId
()));
equipmentSpecificAlarmLog
.
setBuildId
(
equipmentSpecific
.
getWarehouseStructureId
().
toString
());
equipmentSpecificAlarmLog
.
setEmergencyLevel
(
equipmentIndex
.
getEmergencyLevel
());
equipmentSpecificAlarmLog
.
setEmergencyLevelColor
(
equipmentIndex
.
getEmergencyLevelColor
());
equipmentSpecificAlarmLog
.
setEmergencyLevelDescribe
(
equipmentIndex
.
getEmergencyLevelDescribe
());
if
(!
ObjectUtils
.
isEmpty
(
sysCodes
))
{
equipmentSpecificAlarmLog
.
setSystemCodes
(
sysCodes
);
}
if
(!
ObjectUtils
.
isEmpty
(
stationCode
))
{
equipmentSpecificAlarmLog
.
setStationCode
(
stationCode
.
get
(
"station_code"
).
toString
());
equipmentSpecificAlarmLog
.
setStationName
(
stationCode
.
get
(
"station_name"
).
toString
());
}
equipmentSpecificAlarmLogMapper
.
insert
(
equipmentSpecificAlarmLog
);
}
private
String
getSysCodes
(
String
systemId
){
if
(!
ObjectUtils
.
isEmpty
(
systemId
))
{
List
<
FireFightingSystemEntity
>
codes
=
fireFightingSystemMapper
.
getFightingSysByIds
(
systemId
.
split
(
","
));
if
(!
ObjectUtils
.
isEmpty
(
codes
))
{
return
codes
.
stream
().
map
(
FireFightingSystemEntity:
:
getCode
).
collect
(
Collectors
.
joining
(
","
));
}
}
return
null
;
}
@Override
public
void
pressurePumpRestore
(
Long
equipmentSpecificId
)
{
// 修改报警数据为正常
Date
date
=
new
Date
();
SimpleDateFormat
formatter
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
String
dateString
=
formatter
.
format
(
date
);
LambdaQueryWrapper
<
EquipmentSpecificAlarm
>
lambda
=
new
QueryWrapper
<
EquipmentSpecificAlarm
>().
lambda
();
lambda
.
eq
(
EquipmentSpecificAlarm:
:
getEquipmentSpecificId
,
equipmentSpecificId
);
lambda
.
eq
(
EquipmentSpecificAlarm:
:
getStatus
,
AlarmStatusEnum
.
BJ
.
getCode
());
lambda
.
eq
(
EquipmentSpecificAlarm:
:
getEquipmentSpecificIndexKey
,
pressurePumpStart
);
List
<
EquipmentSpecificAlarm
>
equipmentSpecificAlarms
=
equipmentSpecificAlarmMapper
.
selectList
(
lambda
);
if
(!
ObjectUtils
.
isEmpty
(
equipmentSpecificAlarms
)){
equipmentSpecificAlarms
.
forEach
(
item
->{
item
.
setStatus
(
AlarmStatusEnum
.
HF
.
getCode
());
item
.
setRecoveryDate
(
date
);
item
.
setConfirmType
(
item
.
getType
());
item
.
setEquipmentSpecificIndexValue
(
"false"
);
});
equipmentSpecificAlarmService
.
saveOrUpdateBatch
(
equipmentSpecificAlarms
);
}
LambdaQueryWrapper
<
EquipmentSpecificAlarmLog
>
lambdaLog
=
new
QueryWrapper
<
EquipmentSpecificAlarmLog
>().
lambda
();
lambdaLog
.
eq
(
EquipmentSpecificAlarmLog:
:
getEquipmentSpecificId
,
equipmentSpecificId
);
lambdaLog
.
eq
(
EquipmentSpecificAlarmLog:
:
getStatus
,
AlarmStatusEnum
.
BJ
.
getCode
());
lambdaLog
.
eq
(
EquipmentSpecificAlarmLog:
:
getEquipmentSpecificIndexKey
,
pressurePumpStart
);
List
<
EquipmentSpecificAlarmLog
>
equipmentSpecificAlarmLogs
=
equipmentSpecificAlarmLogMapper
.
selectList
(
lambdaLog
);
if
(!
ObjectUtils
.
isEmpty
(
equipmentSpecificAlarmLogs
)){
equipmentSpecificAlarmLogs
.
forEach
(
item
->{
item
.
setAlarmReason
(
item
.
getEquipmentSpecificName
()
+
"引起设备报警"
);
item
.
setResolveResult
(
dateString
+
"系统收到设备复归(已消除)信号,系统自动处理。"
);
item
.
setConfirmUser
(
""
);
item
.
setConfirmUserName
(
"系统自动处理"
);
item
.
setConfirmDate
(
date
);
item
.
setCleanTime
(
date
);
item
.
setConfirmType
(
item
.
getType
());
item
.
setEquipmentSpecificIndexValue
(
"false"
);
item
.
setStatus
(
AlarmStatusEnum
.
HF
.
getCode
());
});
this
.
updateBatchById
(
equipmentSpecificAlarmLogs
);
}
}
}
}
\ No newline at end of file
amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/service/impl/MqttReceiveServiceImpl.java
View file @
bd0e3901
...
@@ -128,6 +128,11 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
...
@@ -128,6 +128,11 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
*/
*/
private
final
static
String
FHS_WirelessliquidDetector_WaterLevel
=
"FHS_WirelessliquidDetector_WaterLevel"
;
private
final
static
String
FHS_WirelessliquidDetector_WaterLevel
=
"FHS_WirelessliquidDetector_WaterLevel"
;
/**
* 水箱液位
*/
private
final
static
String
CAFS_WaterTank_WaterTankLevel
=
"CAFS_WaterTank_WaterTankLevel"
;
static
EquipmentSpecificMapper
equipmentSpecificMapper
;
static
EquipmentSpecificMapper
equipmentSpecificMapper
;
@Autowired
@Autowired
...
@@ -366,6 +371,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
...
@@ -366,6 +371,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
// 存储温度数据至内存中(火眼)
// 存储温度数据至内存中(火眼)
iotDataListToCacheMap
(
iotDatalist
);
iotDataListToCacheMap
(
iotDatalist
);
iotDatalist
.
forEach
(
iotDataVO
->
{
iotDatalist
.
forEach
(
iotDataVO
->
{
boolean
alarmFlag
=
false
;
String
indexKey
=
iotDataVO
.
getKey
();
String
indexKey
=
iotDataVO
.
getKey
();
String
indexValue
=
iotDataVO
.
getValue
().
toString
();
String
indexValue
=
iotDataVO
.
getValue
().
toString
();
// 稳压泵启停信号处理
// 稳压泵启停信号处理
...
@@ -405,19 +411,29 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
...
@@ -405,19 +411,29 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
// 火眼数据构造告警指标逻辑
// 火眼数据构造告警指标逻辑
equipmentSpecificIndex
=
handleTemperatureAlarm
(
equipmentSpeIndex
,
iotDatalist
);
equipmentSpecificIndex
=
handleTemperatureAlarm
(
equipmentSpeIndex
,
iotDatalist
);
// 指标告警处理
//管网压力、泡沫罐信息、水箱液位告警处理
if
(
equipmentSpecificIndex
.
getIsAlarm
()
!=
null
&&
1
==
equipmentSpecificIndex
.
getIsAlarm
())
{
equipmentSpecificAlarms
.
addAll
(
createIndexAlarmRecord
(
equipmentSpecificIndex
));
}
//管网压力和泡沫罐信息处理
if
(
iotDataVO
.
getKey
().
toLowerCase
().
equals
(
CAFS_FoamTank_FoamTankLevel
.
toLowerCase
())
||
if
(
iotDataVO
.
getKey
().
toLowerCase
().
equals
(
CAFS_FoamTank_FoamTankLevel
.
toLowerCase
())
||
FHS_PipePressureDetector_PipePressure
.
toLowerCase
().
equals
(
iotDataVO
.
getKey
().
toLowerCase
()))
{
FHS_PipePressureDetector_PipePressure
.
toLowerCase
().
equals
(
iotDataVO
.
getKey
().
toLowerCase
())
||
doFoamTankLevel
(
iotDataVO
,
equipmentSpecificIndex
);
iotDataVO
.
getKey
().
toLowerCase
().
equals
(
CAFS_WaterTank_WaterTankLevel
.
toLowerCase
()))
{
alarmFlag
=
doFoamTankLevel
(
iotDataVO
,
equipmentSpecificIndex
);
}
}
//消防水池液位处理
//消防水池液位处理
if
(
iotDataVO
.
getKey
().
toLowerCase
().
equals
(
FHS_FirePoolDevice_WaterLevel
.
toLowerCase
())
||
if
(
iotDataVO
.
getKey
().
toLowerCase
().
equals
(
FHS_FirePoolDevice_WaterLevel
.
toLowerCase
())
||
iotDataVO
.
getKey
().
toLowerCase
().
equals
(
FHS_WirelessliquidDetector_WaterLevel
.
toLowerCase
()))
{
iotDataVO
.
getKey
().
toLowerCase
().
equals
(
FHS_WirelessliquidDetector_WaterLevel
.
toLowerCase
()))
{
doWaterPoolLevel
(
iotDataVO
,
equipmentSpecificIndex
);
alarmFlag
=
doWaterPoolLevel
(
iotDataVO
,
equipmentSpecificIndex
);
}
// 遥测数据生成告警事件、日志处理
if
(
iotDataVO
.
getKey
().
toLowerCase
().
equals
(
CAFS_FoamTank_FoamTankLevel
.
toLowerCase
())
||
FHS_PipePressureDetector_PipePressure
.
toLowerCase
().
equals
(
iotDataVO
.
getKey
().
toLowerCase
())
||
iotDataVO
.
getKey
().
toLowerCase
().
equals
(
CAFS_WaterTank_WaterTankLevel
.
toLowerCase
())
||
iotDataVO
.
getKey
().
toLowerCase
().
equals
(
FHS_FirePoolDevice_WaterLevel
.
toLowerCase
())
||
iotDataVO
.
getKey
().
toLowerCase
().
equals
(
FHS_WirelessliquidDetector_WaterLevel
.
toLowerCase
()))
{
handlingAlarms
(
equipmentSpecificIndex
,
alarmFlag
);
}
// 指标告警处理
if
(
equipmentSpecificIndex
.
getIsAlarm
()
!=
null
&&
1
==
equipmentSpecificIndex
.
getIsAlarm
())
{
equipmentSpecificAlarms
.
addAll
(
createIndexAlarmRecord
(
equipmentSpecificIndex
));
}
}
// 遥测遥信数据推送云端kafka
// 遥测遥信数据推送云端kafka
JSONObject
jsonObjectXf
=
new
JSONObject
();
JSONObject
jsonObjectXf
=
new
JSONObject
();
...
@@ -568,16 +584,22 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
...
@@ -568,16 +584,22 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
}
}
private
void
handlingAlarms
(
EquipmentSpecificIndex
equipmentSpecificIndex
,
boolean
alarmFlag
){
equipmentSpecificIndex
.
setIsAlarm
(
1
);
equipmentSpecificIndex
.
setValue
(
String
.
valueOf
(
alarmFlag
));
}
/**
/**
* 泡沫罐 或 者管网压力 消息发送
* 泡沫罐 或 者管网压力 消息发送
* @param iotDataVO iotDataVO
* @param iotDataVO iotDataVO
* @param equipmentSpecificIndex equipmentSpecificIndex
* @param equipmentSpecificIndex equipmentSpecificIndex
*/
*/
private
void
doFoamTankLevel
(
IotDataVO
iotDataVO
,
EquipmentSpecificIndex
equipmentSpecificIndex
)
{
private
boolean
doFoamTankLevel
(
IotDataVO
iotDataVO
,
EquipmentSpecificIndex
equipmentSpecificIndex
)
{
boolean
alarmFlag
=
false
;
MessageModel
model
=
new
MessageModel
();
MessageModel
model
=
new
MessageModel
();
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
if
(
iotDataVO
.
getKey
().
toLowerCase
().
equals
(
CAFS_FoamTank_FoamTankLevel
.
toLowerCase
()))
{
if
(
iotDataVO
.
getKey
().
toLowerCase
().
equals
(
CAFS_FoamTank_FoamTankLevel
.
toLowerCase
())
||
iotDataVO
.
getKey
().
toLowerCase
().
equals
(
CAFS_WaterTank_WaterTankLevel
.
toLowerCase
())
)
{
map
=
fireFightingSystemMapper
.
getFoamTankLevel
(
equipmentSpecificIndex
.
getEquipmentSpecificId
());
map
=
fireFightingSystemMapper
.
getFoamTankLevel
(
equipmentSpecificIndex
.
getEquipmentSpecificId
());
}
else
{
}
else
{
map
=
fireFightingSystemMapper
.
getPipeNetwork
(
equipmentSpecificIndex
.
getEquipmentSpecificId
());
map
=
fireFightingSystemMapper
.
getPipeNetwork
(
equipmentSpecificIndex
.
getEquipmentSpecificId
());
...
@@ -620,7 +642,9 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
...
@@ -620,7 +642,9 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
log
.
error
(
"调用平台出错!"
);
log
.
error
(
"调用平台出错!"
);
}
}
log
.
info
(
String
.
format
(
"调用平台消息服务成功:%s"
,
JSON
.
toJSONString
(
model
)));
log
.
info
(
String
.
format
(
"调用平台消息服务成功:%s"
,
JSON
.
toJSONString
(
model
)));
alarmFlag
=
true
;
}
}
return
alarmFlag
;
}
}
/**
/**
...
@@ -629,7 +653,8 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
...
@@ -629,7 +653,8 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
* @param iotDataVO iotDataVO
* @param iotDataVO iotDataVO
* @param equipmentSpecificIndex equipmentSpecificIndex
* @param equipmentSpecificIndex equipmentSpecificIndex
*/
*/
private
void
doWaterPoolLevel
(
IotDataVO
iotDataVO
,
EquipmentSpecificIndex
equipmentSpecificIndex
)
{
private
boolean
doWaterPoolLevel
(
IotDataVO
iotDataVO
,
EquipmentSpecificIndex
equipmentSpecificIndex
)
{
boolean
alarmFlag
=
false
;
MessageModel
model
=
new
MessageModel
();
MessageModel
model
=
new
MessageModel
();
Map
<
String
,
Object
>
map
=
fireFightingSystemMapper
.
getWaterPoolLevel
(
equipmentSpecificIndex
.
getEquipmentSpecificId
());
Map
<
String
,
Object
>
map
=
fireFightingSystemMapper
.
getWaterPoolLevel
(
equipmentSpecificIndex
.
getEquipmentSpecificId
());
if
(!
ObjectUtils
.
isEmpty
(
map
))
{
if
(!
ObjectUtils
.
isEmpty
(
map
))
{
...
@@ -682,8 +707,10 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
...
@@ -682,8 +707,10 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
Token
token
=
remoteSecurityService
.
getServerToken
();
Token
token
=
remoteSecurityService
.
getServerToken
();
systemctlFeign
.
create
(
token
.
getAppKey
(),
token
.
getProduct
(),
token
.
getToke
(),
model
);
systemctlFeign
.
create
(
token
.
getAppKey
(),
token
.
getProduct
(),
token
.
getToke
(),
model
);
log
.
info
(
String
.
format
(
"调用平台消息服务成功:%s"
,
JSON
.
toJSONString
(
model
)));
log
.
info
(
String
.
format
(
"调用平台消息服务成功:%s"
,
JSON
.
toJSONString
(
model
)));
alarmFlag
=
true
;
}
}
}
}
return
alarmFlag
;
}
}
private
BigDecimal
getBigDecimal
(
Object
value
)
{
private
BigDecimal
getBigDecimal
(
Object
value
)
{
...
@@ -1523,6 +1550,12 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
...
@@ -1523,6 +1550,12 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
// 2. 校验
// 2. 校验
if
(!
ObjectUtils
.
isEmpty
(
data
.
getUpdateDate
()))
{
if
(!
ObjectUtils
.
isEmpty
(
data
.
getUpdateDate
()))
{
checkValueByDate
(
data
,
newDate
,
pressurePumpEnum
);
checkValueByDate
(
data
,
newDate
,
pressurePumpEnum
);
}
else
{
// 稳压泵漏水告警恢复
List
<
EquipmentSpecificIndex
>
collect
=
equipmentSpeIndexList
.
stream
().
filter
(
item
->
!
ObjectUtils
.
isEmpty
(
item
.
getIotCode
())
&&
item
.
getIotCode
().
equals
(
topicEntity
.
getIotCode
())).
collect
(
Collectors
.
toList
());
if
(!
ObjectUtils
.
isEmpty
(
collect
)
&&
!
ObjectUtils
.
isEmpty
(
collect
.
get
(
0
))
&&
!
ObjectUtils
.
isEmpty
(
collect
.
get
(
0
).
getEquipmentId
())){
equipmentSpecificAlarmLogService
.
pressurePumpRestore
(
collect
.
get
(
0
).
getEquipmentId
());
}
}
}
});
});
}
}
...
@@ -1548,7 +1581,8 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
...
@@ -1548,7 +1581,8 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
StringUtil
.
isNotEmpty
(
e
.
getValue
())
&&
e
.
getIotCode
().
equals
(
iotCode
)
&&
pressurePumpStart
.
equals
(
e
.
getEquipmentIndexKey
())).
sorted
(
Comparator
.
comparing
(
EquipmentSpecificIndex:
:
getUpdateDate
).
reversed
())
StringUtil
.
isNotEmpty
(
e
.
getValue
())
&&
e
.
getIotCode
().
equals
(
iotCode
)
&&
pressurePumpStart
.
equals
(
e
.
getEquipmentIndexKey
())).
sorted
(
Comparator
.
comparing
(
EquipmentSpecificIndex:
:
getUpdateDate
).
reversed
())
.
collect
(
Collectors
.
toList
());
.
collect
(
Collectors
.
toList
());
if
(!
CollectionUtils
.
isEmpty
(
lastStop
))
{
if
(!
CollectionUtils
.
isEmpty
(
lastStop
))
{
equipmentSpecificIndex
=
getIotDate
(
equipmentSpecificIndex
,
lastStop
,
prefix
,
suffix
,
"false"
);
EquipmentSpecificIndex
aFalse
=
getIotDate
(
equipmentSpecificIndex
,
lastStop
,
prefix
,
suffix
,
"false"
);
BeanUtils
.
copyProperties
(
aFalse
,
equipmentSpecificIndex
);
}
}
break
;
break
;
case
LAST_START:
case
LAST_START:
...
@@ -1562,7 +1596,9 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
...
@@ -1562,7 +1596,9 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
StringUtil
.
isNotEmpty
(
e
.
getValue
())
&&
e
.
getIotCode
().
equals
(
iotCode
)
&&
pressurePumpStart
.
equals
(
e
.
getEquipmentIndexKey
())).
sorted
(
Comparator
.
comparing
(
EquipmentSpecificIndex:
:
getUpdateDate
).
reversed
())
StringUtil
.
isNotEmpty
(
e
.
getValue
())
&&
e
.
getIotCode
().
equals
(
iotCode
)
&&
pressurePumpStart
.
equals
(
e
.
getEquipmentIndexKey
())).
sorted
(
Comparator
.
comparing
(
EquipmentSpecificIndex:
:
getUpdateDate
).
reversed
())
.
collect
(
Collectors
.
toList
());
.
collect
(
Collectors
.
toList
());
if
(!
CollectionUtils
.
isEmpty
(
lastStart
))
{
if
(!
CollectionUtils
.
isEmpty
(
lastStart
))
{
equipmentSpecificIndex
=
getIotDate
(
equipmentSpecificIndex
,
lastStart
,
prefix
,
suffix
,
"true"
);
EquipmentSpecificIndex
aTrue
=
getIotDate
(
equipmentSpecificIndex
,
lastStart
,
prefix
,
suffix
,
"true"
);
BeanUtils
.
copyProperties
(
aTrue
,
equipmentSpecificIndex
);
}
}
break
;
break
;
case
LATELY_STOP:
case
LATELY_STOP:
...
@@ -1570,7 +1606,9 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
...
@@ -1570,7 +1606,9 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
StringUtil
.
isNotEmpty
(
e
.
getValue
())
&&
pressurePumpStart
.
equals
(
e
.
getEquipmentIndexKey
())).
sorted
(
Comparator
.
comparing
(
EquipmentSpecificIndex:
:
getUpdateDate
).
reversed
())
StringUtil
.
isNotEmpty
(
e
.
getValue
())
&&
pressurePumpStart
.
equals
(
e
.
getEquipmentIndexKey
())).
sorted
(
Comparator
.
comparing
(
EquipmentSpecificIndex:
:
getUpdateDate
).
reversed
())
.
collect
(
Collectors
.
toList
());
.
collect
(
Collectors
.
toList
());
if
(!
CollectionUtils
.
isEmpty
(
latelyStop
))
{
if
(!
CollectionUtils
.
isEmpty
(
latelyStop
))
{
equipmentSpecificIndex
=
getIotDate
(
equipmentSpecificIndex
,
latelyStop
,
prefix
,
null
,
"false"
);
EquipmentSpecificIndex
aFalse
=
getIotDate
(
equipmentSpecificIndex
,
latelyStop
,
prefix
,
null
,
"false"
);
BeanUtils
.
copyProperties
(
aFalse
,
equipmentSpecificIndex
);
}
}
break
;
break
;
case
LATELY_START:
case
LATELY_START:
...
@@ -1578,7 +1616,9 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
...
@@ -1578,7 +1616,9 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
StringUtil
.
isNotEmpty
(
e
.
getValue
())
&&
pressurePumpStart
.
equals
(
e
.
getEquipmentIndexKey
())).
sorted
(
Comparator
.
comparing
(
EquipmentSpecificIndex:
:
getUpdateDate
).
reversed
())
StringUtil
.
isNotEmpty
(
e
.
getValue
())
&&
pressurePumpStart
.
equals
(
e
.
getEquipmentIndexKey
())).
sorted
(
Comparator
.
comparing
(
EquipmentSpecificIndex:
:
getUpdateDate
).
reversed
())
.
collect
(
Collectors
.
toList
());
.
collect
(
Collectors
.
toList
());
if
(!
CollectionUtils
.
isEmpty
(
latelyStart
))
{
if
(!
CollectionUtils
.
isEmpty
(
latelyStart
))
{
equipmentSpecificIndex
=
getIotDate
(
equipmentSpecificIndex
,
latelyStart
,
prefix
,
null
,
"true"
);
EquipmentSpecificIndex
aTrue
=
getIotDate
(
equipmentSpecificIndex
,
latelyStart
,
prefix
,
null
,
"true"
);
BeanUtils
.
copyProperties
(
aTrue
,
equipmentSpecificIndex
);
}
}
break
;
break
;
case
PUMP_START_TIME:
case
PUMP_START_TIME:
...
@@ -1685,6 +1725,8 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
...
@@ -1685,6 +1725,8 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
marqueeData
.
setType
(
"漏水提醒"
);
marqueeData
.
setType
(
"漏水提醒"
);
marqueeData
.
setCreateDate
(
new
Date
());
marqueeData
.
setCreateDate
(
new
Date
());
marqueeDataMapper
.
insert
(
marqueeData
);
marqueeDataMapper
.
insert
(
marqueeData
);
// 稳压泵告警事件生成
equipmentSpecificAlarmLogService
.
pressurePumpDisposeAlarm
(
data
.
getEquipmentId
());
}
}
switch
(
pumpMessageEnum
)
{
switch
(
pumpMessageEnum
)
{
...
@@ -1765,6 +1807,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
...
@@ -1765,6 +1807,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
parameter
.
put
(
"remoteSecurityService"
,
remoteSecurityService
);
parameter
.
put
(
"remoteSecurityService"
,
remoteSecurityService
);
parameter
.
put
(
"systemctlFeign"
,
systemctlFeign
);
parameter
.
put
(
"systemctlFeign"
,
systemctlFeign
);
parameter
.
put
(
"marqueeDataMapper"
,
marqueeDataMapper
);
parameter
.
put
(
"marqueeDataMapper"
,
marqueeDataMapper
);
parameter
.
put
(
"equipmentSpecificAlarmLogService"
,
equipmentSpecificAlarmLogService
);
QuartzManager
.
addJob
(
jobName
,
PUMP_JOB_GROUP_NAME
,
triggerName
,
PUMP_TRIGGER_GROUP_NAME
,
PumpSendMessage
.
class
,
cron
,
parameter
);
QuartzManager
.
addJob
(
jobName
,
PUMP_JOB_GROUP_NAME
,
triggerName
,
PUMP_TRIGGER_GROUP_NAME
,
PumpSendMessage
.
class
,
cron
,
parameter
);
}
}
}
}
...
...
amos-boot-system-equip/src/main/resources/mapper/EquipmentIndexMapper.xml
View file @
bd0e3901
...
@@ -230,4 +230,21 @@
...
@@ -230,4 +230,21 @@
select equipment_detail_id from wl_equipment_specific where id = #{id})
select equipment_detail_id from wl_equipment_specific where id = #{id})
)
)
</select>
</select>
<select
id=
"getMessage"
resultType=
"com.yeejoin.equipmanage.common.entity.EquipmentIndex"
>
SELECT
wei.id,
wei.equipment_id as equipmentId,
wei.name_key as perfQuotaDefinitionId,
wei.emergency_level as emergencyLevel,
wei.emergency_level_describe as emergencyLevelDescribe,
wei.emergency_level_color as emergencyLevelColor,
wei.type_code as typeCode ,
wei.name as perfQuotaName
FROM
`wl_equipment_index` wei
LEFT JOIN wl_equipment_specific_index wesi ON wei.id = wesi.equipment_index_id
WHERE
wesi.equipment_specific_id = #{equipmentSpecificId}
AND wesi.equipment_index_key = #{equipmentIndexKey}
</select>
</mapper>
</mapper>
amos-boot-system-equip/src/main/resources/mapper/MarqueeDataMapper.xml
View file @
bd0e3901
...
@@ -64,39 +64,39 @@
...
@@ -64,39 +64,39 @@
wles.biz_org_code like concat (#{param.bizOrgCode},'%')
wles.biz_org_code like concat (#{param.bizOrgCode},'%')
</if>
</if>
</where>
</where>
UNION ALL
--
UNION ALL
SELECT
--
SELECT
equipment_specific_id id,
--
equipment_specific_id id,
NULL org_code,
--
NULL org_code,
null fireEquipmentId,
--
null fireEquipmentId,
NULL equipDetailId,
--
NULL equipDetailId,
NULL fireEquipmentCode,
--
NULL fireEquipmentCode,
null systemId,
--
null systemId,
NULL fireEquipmentName,
--
NULL fireEquipmentName,
NULL alamContent,
--
NULL alamContent,
NULL handleStatus,
--
NULL handleStatus,
NULL cleanStatus,
--
NULL cleanStatus,
NULL handleType,
--
NULL handleType,
NULL fireEquipmentIndexId,
--
NULL fireEquipmentIndexId,
NULL fireEquipmentSpecificIndexKey,
--
NULL fireEquipmentSpecificIndexKey,
type fireEquipmentSpecificIndexName,
--
type fireEquipmentSpecificIndexName,
NULL buildId,
--
NULL buildId,
NULL imgUrl,
--
NULL imgUrl,
NULL fireEquipmentPointValue,
--
NULL fireEquipmentPointValue,
NULL typeCode,
--
NULL typeCode,
NULL type,
--
NULL type,
date_format( create_date, '%Y-%m-%d %H:%i:%s' ) createDate,
--
date_format( create_date, '%Y-%m-%d %H:%i:%s' ) createDate,
NULL warehouseStructureName,
--
NULL warehouseStructureName,
NULL equipmentName,
--
NULL equipmentName,
NAME equipmentSpecificName,
--
NAME equipmentSpecificName,
position,
--
position,
id messageId,
--
id messageId,
message_type messageType,
--
message_type messageType,
is_read isRead
--
is_read isRead
FROM
--
FROM
wl_marquee_data
--
wl_marquee_data
WHERE
--
WHERE
is_read = '0'
--
is_read = '0'
ORDER BY createDate DESC
ORDER BY createDate DESC
</select>
</select>
</mapper>
</mapper>
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