Commit d7fb5ebf authored by KeYong's avatar KeYong

Merge branch 'develop_station' into developer

parents 5492919b 4a5e22d1
...@@ -179,7 +179,7 @@ public class FireEquipment implements Serializable { ...@@ -179,7 +179,7 @@ public class FireEquipment implements Serializable {
@ApiModelProperty(value = "资产生命周期日期") @ApiModelProperty(value = "资产生命周期日期")
@TableField("lifecycledate") @TableField("lifecycledate")
private String lifecycledate = ""; private Date lifecycledate;
@ApiModelProperty(value = "资产生命周期状态") @ApiModelProperty(value = "资产生命周期状态")
@TableField("lifecyclestate") @TableField("lifecyclestate")
......
...@@ -105,6 +105,8 @@ public class EquipmentSpecificAlarmServiceImpl extends ServiceImpl<EquipmentSpec ...@@ -105,6 +105,8 @@ public class EquipmentSpecificAlarmServiceImpl extends ServiceImpl<EquipmentSpec
CommonPageInfoParam param = new CommonPageInfoParam(); CommonPageInfoParam param = new CommonPageInfoParam();
if (AlarmTypeEnum.GZGJ.getCode().equals(alarmType)) { if (AlarmTypeEnum.GZGJ.getCode().equals(alarmType)) {
param.setIsFireAlarm("false"); param.setIsFireAlarm("false");
} else if (AlarmTypeEnum.HZGJ.getCode().equals(alarmType)) {
param.setAlarmType(alarmType);
} }
List<HashMap<String, Object>> list = this.baseMapper.getAlarmList(param); List<HashMap<String, Object>> list = this.baseMapper.getAlarmList(param);
List<EquipmentAlarmDownloadVO> equipmentDownloads = handleExportData(ids, list); List<EquipmentAlarmDownloadVO> equipmentDownloads = handleExportData(ids, list);
......
...@@ -416,6 +416,17 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM ...@@ -416,6 +416,17 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
this.update(new LambdaUpdateWrapper<EquipmentSpecific>().set(EquipmentSpecific::getAgencyId, equipmentSpecific.getAgencyId()).set(EquipmentSpecific::getTeamId, equipmentSpecific.getTeamId()).eq(EquipmentSpecific::getId, equipmentSpecific.getId())); this.update(new LambdaUpdateWrapper<EquipmentSpecific>().set(EquipmentSpecific::getAgencyId, equipmentSpecific.getAgencyId()).set(EquipmentSpecific::getTeamId, equipmentSpecific.getTeamId()).eq(EquipmentSpecific::getId, equipmentSpecific.getId()));
if (equipmentSpecific.getStockDetail() != null && equipmentSpecific.getStockDetail().getWarehouseStructureId() != null) { if (equipmentSpecific.getStockDetail() != null && equipmentSpecific.getStockDetail().getWarehouseStructureId() != null) {
equipmentSpecific.setWarehouseStructureId(equipmentSpecific.getStockDetail().getWarehouseStructureId()); equipmentSpecific.setWarehouseStructureId(equipmentSpecific.getStockDetail().getWarehouseStructureId());
// 更新alarm表没有复位的装备位置信息
LambdaQueryWrapper<EquipmentSpecificAlarm> queryWrapper = new LambdaQueryWrapper();
queryWrapper.eq(EquipmentSpecificAlarm::getEquipmentSpecificId, equipmentSpecific.getId());
queryWrapper.ne(EquipmentSpecificAlarm::getStatus, AlarmStatusEnum.HF.getCode());
List<EquipmentSpecificAlarm> alarms = equipmentSpecificAlarmService.getBaseMapper().selectList(queryWrapper);
if (0 < alarms.size()) {
alarms.stream().map(x -> x.setLocation(equipmentSpecific.getPosition() + " "
+ null == equipmentSpecific.getStockDetail().getDescription() ? "" : equipmentSpecific.getStockDetail().getDescription())).collect(Collectors.toList());
equipmentSpecificAlarmService.updateBatchById(alarms);
}
} }
boolean updateById = this.updateById(equipmentSpecific); boolean updateById = this.updateById(equipmentSpecific);
if (updateById) { if (updateById) {
...@@ -474,17 +485,6 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM ...@@ -474,17 +485,6 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
equipmentSpecific.getStockDetail().setDescription(detail.getArea()); equipmentSpecific.getStockDetail().setDescription(detail.getArea());
stockDetailService.save(equipmentSpecific.getStockDetail()); stockDetailService.save(equipmentSpecific.getStockDetail());
// 更新alarm表没有复位的装备位置信息
LambdaQueryWrapper<EquipmentSpecificAlarm> queryWrapper = new LambdaQueryWrapper();
queryWrapper.eq(EquipmentSpecificAlarm::getEquipmentSpecificId, equipmentSpecific.getId());
queryWrapper.ne(EquipmentSpecificAlarm::getStatus, AlarmStatusEnum.HF.getCode());
List<EquipmentSpecificAlarm> alarms = equipmentSpecificAlarmService.getBaseMapper().selectList(queryWrapper);
if (0 < alarms.size()) {
alarms.stream().map(x -> x.setLocation(equipmentSpecific.getPosition() + " "
+ equipmentSpecific.getStockDetail().getDescription())).collect(Collectors.toList());
equipmentSpecificAlarmService.updateBatchById(alarms);
}
//生成入库单 //生成入库单
StockBill stockBill = buildStockBills(equipmentSpecific, reginParams, agencyUserModel); StockBill stockBill = buildStockBills(equipmentSpecific, reginParams, agencyUserModel);
stockBillService.save(stockBill); stockBillService.save(stockBill);
......
...@@ -282,7 +282,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService { ...@@ -282,7 +282,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
} }
static void upAlarmLogStatus(String iotCode, String equipmentSpecificIndexKey, IEquipmentSpecificAlarmLogService equipmentSpecificAlarmLogService) { public static List<EquipmentSpecificAlarmLog> upAlarmLogStatus(String iotCode, String equipmentSpecificIndexKey, IEquipmentSpecificAlarmLogService equipmentSpecificAlarmLogService) {
LambdaQueryWrapper<EquipmentSpecificAlarmLog> queryWrapper = new LambdaQueryWrapper(); LambdaQueryWrapper<EquipmentSpecificAlarmLog> queryWrapper = new LambdaQueryWrapper();
queryWrapper.eq(EquipmentSpecificAlarmLog::getIotCode, iotCode); queryWrapper.eq(EquipmentSpecificAlarmLog::getIotCode, iotCode);
queryWrapper.eq(EquipmentSpecificAlarmLog::getEquipmentSpecificIndexKey, equipmentSpecificIndexKey); queryWrapper.eq(EquipmentSpecificAlarmLog::getEquipmentSpecificIndexKey, equipmentSpecificIndexKey);
...@@ -295,6 +295,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService { ...@@ -295,6 +295,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
if (!logs.isEmpty()) { if (!logs.isEmpty()) {
equipmentSpecificAlarmLogService.updateBatchById(logs); equipmentSpecificAlarmLogService.updateBatchById(logs);
} }
return logs;
} }
public void publishDataToCanvas(List<EquipmentSpecificIndex> indexList) { public void publishDataToCanvas(List<EquipmentSpecificIndex> indexList) {
...@@ -321,10 +322,19 @@ public class MqttReceiveServiceImpl implements MqttReceiveService { ...@@ -321,10 +322,19 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
} }
Map<String, Object> map = JSON.parseObject(JSON.toJSONString(equipmentStateVo)); Map<String, Object> map = JSON.parseObject(JSON.toJSONString(equipmentStateVo));
map.put(canvasTopic, topicObject); map.put(canvasTopic, topicObject);
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
@Override
public void afterCompletion(int status) {
if (TransactionSynchronization.STATUS_COMMITTED == status) {
// 发送数据至画布 // 发送数据至画布
mqttSendGateway.sendToMqtt(canvasTopic, JSON.toJSONString(map)); mqttSendGateway.sendToMqtt(canvasTopic, JSON.toJSONString(map));
} }
} }
});
}
}
void syncSystemctlMsg(EquipmentSpecificAlarmLog equipmentSpecificAlarmLog) { void syncSystemctlMsg(EquipmentSpecificAlarmLog equipmentSpecificAlarmLog) {
try { try {
...@@ -679,8 +689,6 @@ public class MqttReceiveServiceImpl implements MqttReceiveService { ...@@ -679,8 +689,6 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
} }
} }
}); });
//向画布推送
publishDataToCanvas(equipmentSpecificIndexList);
// 首页性能指标数据订阅 // 首页性能指标数据订阅
mqttSendGateway.sendToMqtt(indexTopic, JSON.toJSONString(indexStateList)); mqttSendGateway.sendToMqtt(indexTopic, JSON.toJSONString(indexStateList));
...@@ -697,6 +705,8 @@ public class MqttReceiveServiceImpl implements MqttReceiveService { ...@@ -697,6 +705,8 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
//则更新拓扑节点数据及告警状态 //则更新拓扑节点数据及告警状态
updateNodeDateByEquipId(equipmentSpecificIndexList); updateNodeDateByEquipId(equipmentSpecificIndexList);
//向画布推送
publishDataToCanvas(equipmentSpecificIndexList);
} }
...@@ -714,23 +724,20 @@ public class MqttReceiveServiceImpl implements MqttReceiveService { ...@@ -714,23 +724,20 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
} }
mqttSendGateway.sendToMqtt(TopicEnum.EQDQR.getTopic(), JSONArray.toJSON(action).toString()); mqttSendGateway.sendToMqtt(TopicEnum.EQDQR.getTopic(), JSONArray.toJSON(action).toString());
} else { } else {
upAlarmLogStatus(action.getIotCode(), action.getEquipmentSpecificIndexKey(), equipmentSpecificAlarmLogService); equipmentAlarmLogs.addAll(upAlarmLogStatus(action.getIotCode(), action.getEquipmentSpecificIndexKey(), equipmentSpecificAlarmLogService));
mqttSendGateway.sendToMqtt(TopicEnum.EQYQR.getTopic(), JSONArray.toJSON(action).toString()); mqttSendGateway.sendToMqtt(TopicEnum.EQYQR.getTopic(), JSONArray.toJSON(action).toString());
bool = Boolean.TRUE; bool = Boolean.TRUE;
} }
}); });
if(ObjectUtils.isEmpty(equipmentAlarmLogs)){
return;
}
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() { TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
@Override @Override
public void afterCommit() { public void afterCommit() {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("seqNo", UUID.randomUUID().toString().replace("-", "").toLowerCase()); jsonObject.put("seqNo", UUID.randomUUID().toString().replace("-", "").toLowerCase());
mqttSendGateway.sendToMqtt(TopicEnum.ALARM_LOG_INSERT.getTopic(), jsonObject.toString()); mqttSendGateway.sendToMqtt(TopicEnum.ALARM_LOG_INSERT.getTopic(), jsonObject.toString());
mqttSendGateway.sendToMqtt(TopicEnum.EQZXDT.getTopic(), "");
// 数字换流站数据处理(高斯库同步及南瑞告警推送) // 数字换流站数据处理(高斯库同步及南瑞告警推送)
if (syncSwitch) { if (syncSwitch) {
List<FireEquipmentFireAlarm> alarmList = createFireEquipmentFireAlarmVo(equipmentAlarmLogs); List<FireEquipmentFireAlarm> alarmList = createFireEquipmentFireAlarmVo(equipmentAlarmLogs);
...@@ -761,9 +768,11 @@ public class MqttReceiveServiceImpl implements MqttReceiveService { ...@@ -761,9 +768,11 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
} }
// 向南瑞平台推送报警消息 // 向南瑞平台推送报警消息
if(!bool){
syncDataService.syncCreatedSendAlarm(equipmentAlarmLogs); syncDataService.syncCreatedSendAlarm(equipmentAlarmLogs);
} }
} }
}
}); });
} }
...@@ -913,7 +922,6 @@ public class MqttReceiveServiceImpl implements MqttReceiveService { ...@@ -913,7 +922,6 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() { TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
@Override @Override
public void afterCommit() { public void afterCommit() {
mqttSendGateway.sendToMqtt(TopicEnum.EQZXDT.getTopic(), "");
mqttSendGateway.sendToMqtt(TopicEnum.EQXXTJ.getTopic(), ""); mqttSendGateway.sendToMqtt(TopicEnum.EQXXTJ.getTopic(), "");
iEquipmentSpecificSerivce.integrationPageSysDataRefresh(topicEntity.getCode()); iEquipmentSpecificSerivce.integrationPageSysDataRefresh(topicEntity.getCode());
iEquipmentSpecificSerivce.updateEquipmentSpecIndexRealtimeData(equipmentSpecificIndexList); iEquipmentSpecificSerivce.updateEquipmentSpecIndexRealtimeData(equipmentSpecificIndexList);
...@@ -960,7 +968,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService { ...@@ -960,7 +968,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
} }
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace();
} }
return ""; return "";
} }
......
...@@ -1299,58 +1299,114 @@ ...@@ -1299,58 +1299,114 @@
xhsanhj, xhsanhj,
xhsangz, xhsangz,
xhsanpb, xhsanpb,
ABS(xhsan - xhsanhj- xhsangz-xhsanpb) as xhszc, (xhszc - noZcTotal) AS xhszc,
xhsan xhsan
from FROM
(select (
(SELECT SELECT
(
SELECT
count(1) count(1)
FROM `wl_equipment_specific_index` s FROM
where s.equipment_index_key = 'FAS_FireHydrantButton_FireAlarm' `wl_equipment_specific_index` s
and s.`value` = 'true') as xhsanhj, WHERE
(SELECT s.equipment_index_key = 'FAS_FireHydrantButton_FireAlarm'
AND s.`value` = 'true'
) AS xhsanhj,
(
SELECT
count(1) count(1)
FROM `wl_equipment_specific_index` s FROM
where s.equipment_index_key = 'FAS_FireHydrantButton_Fault' `wl_equipment_specific_index` s
and s.`value` = 'true') as xhsangz, WHERE
(SELECT s.equipment_index_key = 'FAS_FireHydrantButton_Fault'
AND s.`value` = 'true'
) AS xhsangz,
(
SELECT
count(1) count(1)
FROM `wl_equipment_specific_index` s FROM
where s.equipment_index_key = 'FAS_FireHydrantButton_Shield' `wl_equipment_specific_index` s
and s.`value` = 'true') as xhsanpb, WHERE
(SELECT s.equipment_index_key = 'FAS_FireHydrantButton_Shield'
AND s.`value` = 'true'
) AS xhsanpb,
(
SELECT
count(1) count(1)
from FROM
`wl_equipment_specific_index` si `wl_equipment_specific_index` si
where WHERE
si.equipment_index_key = 'FAS_FireHydrantButton_FireAlarm') as xhsan si.equipment_index_key = 'FAS_FireHydrantButton_FireAlarm'
) as hydrant ) AS xhsan,
(
SELECT
count(
DISTINCT equipment_specific_id
)
FROM
`wl_equipment_specific_index` s
WHERE
(
s.`value` = 'false'
OR s.`value` IS NULL
)
AND (
s.equipment_index_key = 'FAS_FireHydrantButton_FireAlarm'
OR s.equipment_index_key = 'FAS_FireHydrantButton_Fault'
OR s.equipment_index_key = 'FAS_FireHydrantButton_Shield'
)
) AS xhszc,
(
SELECT
count(
DISTINCT equipment_specific_id
)
FROM
`wl_equipment_specific_index` s
WHERE
(
s.`value` = 'true'
)
AND (
s.equipment_index_key = 'FAS_FireHydrantButton_FireAlarm'
OR s.equipment_index_key = 'FAS_FireHydrantButton_Fault'
OR s.equipment_index_key = 'FAS_FireHydrantButton_Shield'
)
) AS noZcTotal
) AS hydrant
</select> </select>
<select id="fireWaterSysCollectingDevice" resultType="java.util.Map"> <select id="fireWaterSysCollectingDevice" resultType="java.util.Map">
SELECT SELECT
sbfcjzzyc, sbfcjzzyc,
sbfcjzzbs, sbfcjzzbs,
(sbfcjzz-sbfcjzzyc-sbfcjzzbs) as sbfcjzzzc, ( sbfcjzzzc - noZcTotal ) AS sbfcjzzzc,
sbfcjzz sbfcjzz
from FROM
(select (
(SELECT SELECT
count(1) ( SELECT count( 1 ) FROM `wl_equipment_specific_index` s WHERE s.equipment_index_key = 'FHS_CollectingDevice_DeviceAbnormal' AND s.`value` = 'true' ) AS sbfcjzzyc,
FROM `wl_equipment_specific_index` s ( SELECT count( 1 ) FROM `wl_equipment_specific_index` s WHERE s.equipment_index_key = 'FHS_CollectingDevice_DeviceLock' AND s.`value` = 'true' ) AS sbfcjzzbs,
where s.equipment_index_key = 'FHS_CollectingDevice_DeviceAbnormal' (
and s.`value` = 'true') as sbfcjzzyc, SELECT
(SELECT count( DISTINCT equipment_specific_id )
count(1) FROM
FROM `wl_equipment_specific_index` s `wl_equipment_specific_index` s
where s.equipment_index_key = 'FHS_CollectingDevice_DeviceLock' WHERE
and s.`value` = 'true') as sbfcjzzbs, ( s.`value` = 'false' OR s.`value` IS NULL )
(SELECT AND ( s.equipment_index_key = 'FHS_CollectingDevice_DeviceAbnormal' )
count(1) ) AS sbfcjzz,
from (
`wl_equipment_specific_index` si SELECT
where count( DISTINCT equipment_specific_id )
si.equipment_index_key = 'FHS_CollectingDevice_DeviceAbnormal') as sbfcjzz FROM
) as collectingDevice `wl_equipment_specific_index` s
WHERE
( s.`value` = 'false' OR s.`value` IS NULL )
AND s.equipment_index_key = 'FHS_CollectingDevice_DeviceAbnormal'
) AS sbfcjzzzc,
( SELECT count( DISTINCT equipment_specific_id ) FROM `wl_equipment_specific_index` s WHERE ( s.`value` = 'true' ) AND s.equipment_index_key = 'FHS_CollectingDevice_DeviceAbnormal' ) AS noZcTotal
) AS collectingDevice
</select> </select>
<select id="fireWaterSysWaterPump" resultType="java.util.Map"> <select id="fireWaterSysWaterPump" resultType="java.util.Map">
select select
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment