Commit 76b37a4d authored by maoying's avatar maoying

解决冲突

parents fad02218 060a9a98
......@@ -49,6 +49,9 @@
<foreach collection="buildingIds" item="buildingId" open="(" close=")" separator=",">
#{buildingId}
</foreach>
</if>
<if test="buildingId != null and buildingId != -1 and buildingId != '-1'">
AND c.`building_id`= #{buildingId}
</if>
<if test="fireEnduranceRate != null and fireEnduranceRate != ''">
AND c.`fire_endurance_rate`= #{fireEnduranceRate}
......
......@@ -101,4 +101,12 @@ public class EquipmentSpecificIndex extends BaseEntity {
@TableField(exist = false)
private String valueEnum;
@ApiModelProperty(value = "设备CODE")
@TableField(exist = false)
private String equipmentSpecificCode;
@ApiModelProperty(value = "设备所属系统ids")
@TableField(exist = false)
private String systemId;
}
......@@ -9,11 +9,14 @@ import lombok.Data;
@Data
@ApiModel(description = "性能指标类")
public class SpeIndexVo {
private String key;
private String name;
private String value;
private String key = "";
private String name = "";
private String value = "";
private String typeCode;
private String typeCode = "";
private Long equipmentSpecificId;
}
......@@ -547,7 +547,18 @@ public class FireFightingSystemController extends AbstractBaseController {
/**
* 设备报警信息
* 获取点位图,区域树数据
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "获取点位图,区域树数据", notes = "消防系统点位图使用")
@GetMapping(value = "/point/tree")
public List<PointTreeVo> getPointTree(@RequestParam(required = false) String systemId) {
return fireFightingSystemService.getPointTree(systemId, getOrgCode());
}
/**
* 设备指标数据查询
*
* @param id
* @return
......
package com.yeejoin.equipmanage.service.impl;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.stream.Collectors;
//import net.sf.json.JSONObject;
import com.sun.org.apache.xpath.internal.operations.Bool;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.support.TransactionSynchronization;
import org.springframework.transaction.support.TransactionSynchronizationManager;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.component.feign.config.InnerInvokException;
import com.yeejoin.amos.feign.systemctl.model.MessageModel;
import com.yeejoin.equipmanage.common.datasync.entity.FireEquipment;
import com.yeejoin.equipmanage.common.datasync.entity.FireEquipmentDefectAlarm;
import com.yeejoin.equipmanage.common.datasync.entity.FireEquipmentFaultAlarm;
import com.yeejoin.equipmanage.common.datasync.entity.FireEquipmentFireAlarm;
import com.yeejoin.equipmanage.common.dto.TemperatureAlarmDto;
import com.yeejoin.equipmanage.common.entity.CarProperty;
import com.yeejoin.equipmanage.common.entity.EquipmentAlarmReportDay;
import com.yeejoin.equipmanage.common.entity.EquipmentDetail;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecific;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarm;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarmLog;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecificIndex;
import com.yeejoin.equipmanage.common.entity.FireFightingSystemEntity;
import com.yeejoin.equipmanage.common.entity.*;
import com.yeejoin.equipmanage.common.entity.publics.BaseEntity;
import com.yeejoin.equipmanage.common.entity.vo.CarIndexVo;
import com.yeejoin.equipmanage.common.entity.vo.CarPropertyVo;
import com.yeejoin.equipmanage.common.entity.vo.EquipmentIndexVO;
import com.yeejoin.equipmanage.common.entity.vo.EquipmentSpecificVo;
import com.yeejoin.equipmanage.common.entity.vo.EquipmentStateVo;
import com.yeejoin.equipmanage.common.entity.vo.IndexStateVo;
import com.yeejoin.equipmanage.common.enums.AlarmStatusEnum;
import com.yeejoin.equipmanage.common.enums.AlarmTypeEnum;
import com.yeejoin.equipmanage.common.enums.CarForGisEnum;
import com.yeejoin.equipmanage.common.enums.EquipAndCarEnum;
import com.yeejoin.equipmanage.common.enums.EquipmentIndexLabelsEnum;
import com.yeejoin.equipmanage.common.enums.EquipmentRiskTypeEnum;
import com.yeejoin.equipmanage.common.enums.NBalarmEnum;
import com.yeejoin.equipmanage.common.enums.RiskLeverForAutoSys;
import com.yeejoin.equipmanage.common.enums.TemperatureAlarm;
import com.yeejoin.equipmanage.common.enums.TopicEnum;
import com.yeejoin.equipmanage.common.enums.TrueOrFalseEnum;
import com.yeejoin.equipmanage.common.entity.vo.*;
import com.yeejoin.equipmanage.common.enums.*;
import com.yeejoin.equipmanage.common.utils.DateUtils;
import com.yeejoin.equipmanage.common.utils.EquipmentStateUtil;
import com.yeejoin.equipmanage.common.utils.StringUtil;
import com.yeejoin.equipmanage.common.vo.CarIndexGisVo;
import com.yeejoin.equipmanage.common.vo.EquipmentIndexLabelsVo;
import com.yeejoin.equipmanage.common.vo.EquipmentVo;
import com.yeejoin.equipmanage.common.vo.IotDataVO;
import com.yeejoin.equipmanage.common.vo.Token;
import com.yeejoin.equipmanage.common.vo.TopicEntityVo;
import com.yeejoin.equipmanage.common.vo.*;
import com.yeejoin.equipmanage.fegin.SystemctlFeign;
import com.yeejoin.equipmanage.mapper.CarMapper;
import com.yeejoin.equipmanage.mapper.EquipmentSpecificAlarmMapper;
import com.yeejoin.equipmanage.mapper.EquipmentSpecificIndexMapper;
import com.yeejoin.equipmanage.mapper.EquipmentSpecificMapper;
import com.yeejoin.equipmanage.mapper.FireFightingSystemMapper;
import com.yeejoin.equipmanage.mapper.*;
import com.yeejoin.equipmanage.remote.RemoteSecurityService;
import com.yeejoin.equipmanage.service.ICarPropertyService;
import com.yeejoin.equipmanage.service.IEquipmentAlarmReportDayService;
import com.yeejoin.equipmanage.service.IEquipmentDetailService;
import com.yeejoin.equipmanage.service.IEquipmentIndexService;
import com.yeejoin.equipmanage.service.IEquipmentService;
import com.yeejoin.equipmanage.service.IEquipmentSpecificAlarmLogService;
import com.yeejoin.equipmanage.service.IEquipmentSpecificAlarmService;
import com.yeejoin.equipmanage.service.IEquipmentSpecificIndexSerivce;
import com.yeejoin.equipmanage.service.IEquipmentSpecificIndexService;
import com.yeejoin.equipmanage.service.IEquipmentSpecificSerivce;
import com.yeejoin.equipmanage.service.IFireFightingSystemService;
import com.yeejoin.equipmanage.service.IMainIotMonitorSerivce;
import com.yeejoin.equipmanage.service.ISyncDataService;
import com.yeejoin.equipmanage.service.MqttReceiveService;
import com.yeejoin.equipmanage.service.MqttSendGateway;
import com.yeejoin.equipmanage.service.*;
import com.yeejoin.equipmanage.utils.BeanUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.support.TransactionSynchronization;
import org.springframework.transaction.support.TransactionSynchronizationManager;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
//import net.sf.json.JSONObject;
/**
* @author keyong
......@@ -209,8 +154,6 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
@Value("${isSendApp}")
private Boolean isSendApp;
private static final String A = "A";
private final static Map staticMap = new HashMap();
private static Boolean bool = Boolean.FALSE;
......@@ -311,21 +254,21 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
equipmentSpecificIndex.setValue(value);
String enumStr = equipmentSpecificIndex.getValueEnum();
if (!ObjectUtils.isEmpty(enumStr)) {
try {
JSONArray jsonArray = JSONArray.parseArray(enumStr);
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
if (jsonObject.get("key").equals(value)) {
equipmentSpeIndex.setValueLabel(jsonObject.getString("label"));
equipmentSpecificIndex.setValueLabel(jsonObject.getString("label"));
}
}
} catch (Exception e) {
try {
JSONArray jsonArray = JSONArray.parseArray(enumStr);
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
if (jsonObject.get("key").equals(value)) {
equipmentSpeIndex.setValueLabel(jsonObject.getString("label"));
equipmentSpecificIndex.setValueLabel(jsonObject.getString("label"));
}
}
} catch (Exception e) {
}
}
}
equipmentSpecificIndexList.add(equipmentSpeIndex);
equipmentSpecificAlarms.addAll(addIndexAlarmRecord(equipmentSpeIndex, iotDatalist));
equipmentAlarmReports.add(addEquipAlarmReportRecord(equipmentSpeIndex));
......@@ -447,7 +390,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
equipmentSpecificAlarmService.saveOrUpdate(action);
if (AlarmStatusEnum.BJ.getCode() == action.getStatus()) {
equipmentAlarmLogs.add(addEquipAlarmLogRecord(action));
if (ValidationUtil.isEmpty(action.getAlamContent())){
if (ValidationUtil.isEmpty(action.getAlamContent())) {
action.setAlamContent(action.getEquipmentSpecificName() + action.getEquipmentSpecificIndexName());
}
mqttSendGateway.sendToMqtt(TopicEnum.EQDQR.getTopic(), JSONArray.toJSON(action).toString());
......@@ -759,7 +702,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
x.setCleanTime(new Date());
x.setStatus(AlarmStatusEnum.HF.getCode());
});
if(!logs.isEmpty()){
if (!logs.isEmpty()) {
equipmentSpecificAlarmLogService.updateBatchById(logs);
}
}
......@@ -779,7 +722,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
DateUtils.date2LongStr(equipmentSpecificAlarmLog.getCreateDate()));
model.setBody(body);
model.setMsgType("iotMonitor");
if (isSendApp){
if (isSendApp) {
model.setIsSendApp(true);
model.setTerminal("APP/WEB");
} else {
......@@ -803,7 +746,8 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
EquipmentSpecificIndex equipmentSpecificIndex = handleTemperatureAlarm(equipmentSpcIndex, iotDatalist);
List<EquipmentSpecificAlarm> equipmentSpecificAlarms = new ArrayList<>();
EquipmentSpecificAlarm equipmentSpecificAlarm = new EquipmentSpecificAlarm();
equipmentSpecificAlarm.setSystemIds(equipmentSpcIndex.getSystemId());
equipmentSpecificAlarm.setSystemCodes(this.getSystemCodeBySpeId(equipmentSpcIndex.getSystemId()));
if (EquipmentRiskTypeEnum.GZ.getCode().equals(equipmentSpecificIndex.getTypeCode()) || EquipmentRiskTypeEnum.HZGJ.getCode().equals(equipmentSpecificIndex.getTypeCode())
|| EquipmentRiskTypeEnum.PB.getCode().equals(equipmentSpecificIndex.getTypeCode())) {
List<EquipmentSpecificAlarm> indexAlarms = equipmentSpecificAlarmMapper.findEquipmentSpecificAlarmByEquipmentSpecificIdAndEquipmentIndexIdAndStatusIstrue(equipmentSpecificIndex.getEquipmentSpecificId(), equipmentSpecificIndex.getEquipmentIndexId());
......@@ -811,7 +755,6 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
if (verifyNB(equipmentSpecificIndex.getNameKey())) {
return getNbEquipAlarmList(indexAlarms, equipmentSpecificIndex, equipmentSpecificAlarm);
}
// 报警表新增信息
if (ObjectUtils.isEmpty(indexAlarms) && (TrueOrFalseEnum.real.value.equals(equipmentSpecificIndex.getValue()))) {
addEquipmentSpecificAlarm(equipmentSpecificAlarms, equipmentSpecificIndex, equipmentSpecificAlarm);
......@@ -828,6 +771,9 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
action.setStatus(AlarmStatusEnum.HF.getCode());
}
action.setUpdateDate(new Date());
// 更新所在系统,设备可能编辑过
action.setSystemIds(equipmentSpcIndex.getSystemId());
action.setSystemCodes(this.getSystemCodeBySpeId(equipmentSpcIndex.getSystemId()));
equipmentSpecificAlarms.add(action);
});
}
......@@ -836,27 +782,13 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
return equipmentSpecificAlarms;
}
public String getSystemCodeBySpeId(EquipmentSpecific equipmentSpecific) {
List<FireFightingSystemEntity> sys = new ArrayList<>();
String[] ids;
String sysIds = equipmentSpecific.getSystemId();
private String getSystemCodeBySpeId(String sysIds) {
if (StringUtil.isNotEmpty(sysIds)) {
if (-1 != sysIds.indexOf(",")) {
ids = sysIds.split(",");
sys = fireFightingSystemMapper.getFightingSysByIds(ids);
} else {
FireFightingSystemEntity entity = fireFightingSystemMapper.selectById(Long.valueOf(sysIds));
sys.add(entity);
}
List<FireFightingSystemEntity> sys = fireFightingSystemMapper.getFightingSysByIds(sysIds.split(","));
return sys.stream().map(FireFightingSystemEntity::getCode).collect(Collectors.joining(","));
} else {
return null;
}
StringBuilder sb = new StringBuilder();
sys.forEach(x -> {
if (0 < sb.length()) {
sb.append(",");
}
sb.append(x.getCode());
});
return sb.toString();
}
private EquipmentAlarmReportDay addEquipAlarmReportRecord(EquipmentSpecificIndex equipmentSpecificIndex) {
......@@ -943,23 +875,13 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
} else if (EquipmentRiskTypeEnum.PB.getCode().equals(equipmentSpecificIndex.getTypeCode())) {
equipmentSpecificAlarm.setType(EquipmentRiskTypeEnum.PB.getCode());
}
equipmentSpecificAlarm.setCreateDate(new Date());
equipmentSpecificAlarm.setUpdateDate(new Date());
QueryWrapper<EquipmentSpecific> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("id", equipmentSpecificIndex.getEquipmentSpecificId());
EquipmentSpecific specific = equipmentSpecificMapper.selectOne(queryWrapper);
equipmentSpecificAlarm.setSystemIds(specific.getSystemId());
if (!ValidationUtil.isEmpty(specific.getSystemId())) {
String codes = this.getSystemCodeBySpeId(specific);
equipmentSpecificAlarm.setSystemCodes(codes);
}
equipmentSpecificAlarm.setEquipmentCode(equipmentSpecificIndex.getEquipmentCode());
equipmentSpecificAlarm.setEquipmentId(equipmentSpecificIndex.getEquipmentId());
equipmentSpecificAlarm.setEquipmentDetailId(equipmentSpecificIndex.getEquipmentDetailId());
equipmentSpecificAlarm.setCode(specific.getCode());
equipmentSpecificAlarm.setCode(equipmentSpecificIndex.getEquipmentSpecificCode());
equipmentSpecificAlarms.add(equipmentSpecificAlarm);
return equipmentSpecificAlarms;
}
......@@ -968,7 +890,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
List<EquipmentSpecificAlarm> equipmentSpecificAlarmList = new ArrayList<>();
if (ValidationUtil.isEmpty(indexAlarms)) { // 告警表为空,新增告警数据
addEquipmentSpecificAlarm(equipmentSpecificAlarmList, equipmentSpecificIndex, equipmentSpecificAlarm);
if (!checkStateIsNormal(equipmentSpecificAlarm, equipmentSpecificIndex)){
if (!checkStateIsNormal(equipmentSpecificAlarm, equipmentSpecificIndex)) {
return equipmentSpecificAlarmList;
} else {
equipmentSpecificAlarmList.clear();
......@@ -988,6 +910,9 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
} else {
action.setFrequency((action.getFrequency() + 1));
}
// 更新所在系统,设备可能编辑过
action.setSystemIds(equipmentSpecificIndex.getSystemId());
action.setSystemCodes(this.getSystemCodeBySpeId(equipmentSpecificIndex.getSystemId()));
action.setUpdateDate(new Date());
equipmentSpecificAlarmList.add(action);
});
......
......@@ -55,7 +55,9 @@
wesi.update_date AS updateDate,
ed.code AS equipmentCode,
ed.equipment_id AS equipmentId,
ed.id AS equipmentDetailId
ed.id AS equipmentDetailId,
wes.code as equipmentSpecificCode,
wes.system_id as systemId
FROM
wl_equipment_specific_index AS wesi
LEFT JOIN wl_equipment_specific AS wes ON wes.id = wesi.equipment_specific_id
......
......@@ -334,21 +334,53 @@
p_point p
</select>
<select id="getSpeIndex" resultType="com.yeejoin.equipmanage.common.vo.SpeIndexVo">
select * from (
select
eqin.name_key as `key`,
eqin.name as name,
eqin.type_code,
spein.update_date as updateDate,
if (eqin.unit is null, spein.value,concat(spein.value,eqin.unit)) as value
from
wl_equipment_specific_index as spein
left join wl_equipment_index as eqin on spein.equipment_index_id = eqin.id
where
spein.equipment_specific_id = #{id}
order by eqin.sort_num) as dat
where `key` is not null and `key` != ''
ORDER BY dat.updateDate DESC
SELECT
*
FROM
(
SELECT
eqin.name_key AS `key`,
eqin.`name` AS `name`,
eqin.type_code,
spein.update_date AS updateDate,
spein.equipment_specific_id as equipmentSpecificId,
IF (
eqin.unit IS NULL,
IF (
(
ISNULL(spein.value_label)
OR spein.value_label = ''
),
spein.`value`,
spein.value_label
),
concat(
IF (
(
ISNULL(spein.value_label)
OR spein.value_label = ''
),
spein.`value`,
spein.value_label
),
' ',
eqin.unit
)
) AS `value`
FROM
wl_equipment_specific_index AS spein
LEFT JOIN wl_equipment_index AS eqin ON spein.equipment_index_id = eqin.id
WHERE
spein.equipment_specific_id = #{id}
ORDER BY
eqin.sort_num
) AS dat
WHERE
`key` IS NOT NULL
AND `key` != ''
ORDER BY
dat.updateDate DESC
</select>
<select id="getSpeIndexIn" resultType="com.yeejoin.equipmanage.common.vo.SpeIndexVo">
select * from (
......
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