Commit fdf4f546 authored by KeYong's avatar KeYong

Merge branch 'dev_bitmap' of 172.16.10.76:moa/amos-boot-biz into dev_bitmap

parents 46110d9e 2df4f85f
......@@ -146,7 +146,7 @@ public class EquipmentSpecificAlarm extends BaseEntity {
@ApiModelProperty(value = "设备编码")
@TableField(exist = false)
private String code;
private String equipmentSpecificCode;
@ApiModelProperty(value = "消防系统名称",notes = "告警详情时使用")
@TableField(exist = false)
......
......@@ -51,6 +51,30 @@ public class EquipmentSpecificIndex extends BaseEntity {
@TableField("equipment_index_key")
private String equipmentIndexKey;
/**
* 颜色
*/
@TableField(value = "emergency_level_color")
private String emergencyLevelColor;
/**
* 是否告警:0-否;1-是
*/
@TableField(value = "is_alarm")
private Integer isAlarm;
/**
* 紧急程度枚举(1:紧急,2:严重,3:轻微,4:正常,5:无效,6:备用,7:其他)
*/
@TableField(value = "emergency_level")
private String emergencyLevel;
/**
* 紧急程度描述
*/
@TableField(value = "emergency_level_describe")
private String emergencyLevelDescribe;
@TableField(exist = false)
private String nameKey;
......@@ -109,28 +133,14 @@ public class EquipmentSpecificIndex extends BaseEntity {
@ApiModelProperty(value = "设备所属系统ids")
@TableField(exist = false)
private String systemId;
@ApiModelProperty(value = "详细位置")
@TableField(exist = false)
private String location;
@ApiModelProperty(value = "所属建筑id")
@TableField(exist = false)
private String buildId;
/**
* 颜色
*/
@TableField(value = "emergency_level_color")
private String emergencyLevelColor;
/**
* 是否告警:0-否;1-是
*/
@TableField(value = "is_alarm")
private Integer isAlarm;
/**
* 紧急程度枚举(1:紧急,2:严重,3:轻微,4:正常,5:无效,6:备用,7:其他)
*/
@TableField(value = "emergency_level")
private String emergencyLevel;
/**
* 紧急程度描述
*/
@TableField(value = "emergency_level_describe")
private String emergencyLevelDescribe;
}
package com.yeejoin.equipmanage.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.equipmanage.common.datasync.entity.FireEquipmentFireAlarm;
import com.yeejoin.equipmanage.common.datasync.vo.AppAlarmExtVo;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarm;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarmLog;
......@@ -28,4 +29,7 @@ public interface EquipmentSpecificAlarmLogMapper extends BaseMapper<EquipmentSpe
List<AppAlarmExtVo> findByIdListNoBuildId(@Param("list") List<Long> idBNullList);
List<EquipmentSpecificAlarmLog> getIsConfirmByAlarmId(@Param("equipmentSpecificAlarmId") Long equipmentSpecificAlarmId, @Param("isConfirm") String isConfirm);
List<FireEquipmentFireAlarm> getFireEquipAlarmLogDetailsById(@Param("list") List<Long> ids);
}
......@@ -109,7 +109,7 @@ public interface EquipmentSpecificMapper extends BaseMapper<EquipmentSpecific> {
IPage<SourceNameByEquipSpeIdVO> getSourceNameList(IPage page, Long warehouseStructureId, Long sourceId, String equipmentName, String equipmentCode);
FireEquipment getEquipSpecificDetail(EquipmentSpecific equipmentSpecific);
FireEquipment getEquipSpecificDetail(Long id);
List<EquipmentCategory> getEquipSpeTypeByQrcode(@Param("qrCode") String qrCode);
......@@ -199,4 +199,7 @@ public interface EquipmentSpecificMapper extends BaseMapper<EquipmentSpecific> {
List<Map<String, String>> getBoxTropicsIndexDetails();
String getEquipmentBySpecificId(@Param("specificId") Long specificId);
List<Map<String,String>> getStationInfo();
}
......@@ -1425,7 +1425,7 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
@Override
public FireEquipment getEquipSpecificDetail(EquipmentSpecific equipmentSpecific) {
return equipmentSpecificMapper.getEquipSpecificDetail(equipmentSpecific);
return equipmentSpecificMapper.getEquipSpecificDetail(equipmentSpecific.getId());
}
@Override
......
......@@ -71,6 +71,7 @@ import com.yeejoin.equipmanage.common.vo.Token;
import com.yeejoin.equipmanage.common.vo.TopicEntityVo;
import com.yeejoin.equipmanage.fegin.SystemctlFeign;
import com.yeejoin.equipmanage.mapper.CarMapper;
import com.yeejoin.equipmanage.mapper.EquipmentSpecificAlarmLogMapper;
import com.yeejoin.equipmanage.mapper.EquipmentSpecificAlarmMapper;
import com.yeejoin.equipmanage.mapper.EquipmentSpecificIndexMapper;
import com.yeejoin.equipmanage.mapper.EquipmentSpecificMapper;
......@@ -125,6 +126,9 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
@Autowired
EquipmentSpecificAlarmMapper equipmentSpecificAlarmMapper;
@Autowired
EquipmentSpecificAlarmLogMapper equipmentSpecificAlarmLogMapper;
@Autowired
@Lazy
......@@ -429,7 +433,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
FireEquipment fireEquipment = iEquipmentSpecificSerivce.getEquipSpecificDetail(specific);
if (!ObjectUtils.isEmpty(fireEquipment)) {
action.setLocation(fireEquipment.getPosition());
action.setCode(fireEquipment.getCode());
action.setEquipmentSpecificCode(fireEquipment.getCode());
action.setBuildId(fireEquipment.getBuildId());
}
equipmentSpecificAlarmService.saveOrUpdate(action);
......@@ -851,7 +855,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
action.setEquipmentSpecificName(equipmentSpcIndex.getEquipmentSpecificName());
action.setEquipmentCode(equipmentSpcIndex.getEquipmentCode());
// 冗余字段,alarm_log表更新时使用
action.setCode(equipmentSpcIndex.getEquipmentSpecificCode());
action.setEquipmentSpecificCode(equipmentSpcIndex.getEquipmentSpecificCode());
equipmentSpecificAlarms.add(action);
});
}
......@@ -897,27 +901,28 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
private EquipmentSpecificAlarmLog addEquipAlarmLogRecord(EquipmentSpecificAlarm equipmentSpecificAlarm) {
EquipmentSpecificAlarmLog equipmentSpecificAlarmLog = new EquipmentSpecificAlarmLog();
equipmentSpecificAlarmLog.setOrgCode(equipmentSpecificAlarm.getOrgCode());
BeanUtils.copyProperties(equipmentSpecificAlarm, equipmentSpecificAlarmLog);
// equipmentSpecificAlarmLog.setOrgCode(equipmentSpecificAlarm.getOrgCode());
equipmentSpecificAlarmLog.setCreateDate(new Date());
equipmentSpecificAlarmLog.setSystemIds(equipmentSpecificAlarm.getSystemIds());
equipmentSpecificAlarmLog.setEquipmentSpecificId(equipmentSpecificAlarm.getEquipmentSpecificId());
equipmentSpecificAlarmLog.setIotCode(equipmentSpecificAlarm.getIotCode());
equipmentSpecificAlarmLog.setSystemCodes(equipmentSpecificAlarm.getSystemCodes());
equipmentSpecificAlarmLog.setEquipmentCode(equipmentSpecificAlarm.getEquipmentCode());
equipmentSpecificAlarmLog.setEquipmentSpecificName(equipmentSpecificAlarm.getEquipmentSpecificName());
equipmentSpecificAlarmLog.setEquipmentDetailId(equipmentSpecificAlarm.getEquipmentDetailId());
equipmentSpecificAlarmLog.setEquipmentId(equipmentSpecificAlarm.getEquipmentId());
equipmentSpecificAlarmLog.setType(equipmentSpecificAlarm.getType());
equipmentSpecificAlarmLog.setEquipmentSpecificIndexValue(equipmentSpecificAlarm.getEquipmentSpecificIndexValue());
equipmentSpecificAlarmLog.setEquipmentSpecificIndexKey(equipmentSpecificAlarm.getEquipmentSpecificIndexKey());
equipmentSpecificAlarmLog.setEquipmentSpecificIndexName(equipmentSpecificAlarm.getEquipmentSpecificIndexName());
equipmentSpecificAlarmLog.setEquipmentIndexId(equipmentSpecificAlarm.getEquipmentIndexId());
// equipmentSpecificAlarmLog.setSystemIds(equipmentSpecificAlarm.getSystemIds());
// equipmentSpecificAlarmLog.setEquipmentSpecificId(equipmentSpecificAlarm.getEquipmentSpecificId());
// equipmentSpecificAlarmLog.setIotCode(equipmentSpecificAlarm.getIotCode());
// equipmentSpecificAlarmLog.setSystemCodes(equipmentSpecificAlarm.getSystemCodes());
// equipmentSpecificAlarmLog.setEquipmentCode(equipmentSpecificAlarm.getEquipmentCode());
// equipmentSpecificAlarmLog.setEquipmentSpecificName(equipmentSpecificAlarm.getEquipmentSpecificName());
// equipmentSpecificAlarmLog.setEquipmentDetailId(equipmentSpecificAlarm.getEquipmentDetailId());
// equipmentSpecificAlarmLog.setEquipmentId(equipmentSpecificAlarm.getEquipmentId());
// equipmentSpecificAlarmLog.setType(equipmentSpecificAlarm.getType());
// equipmentSpecificAlarmLog.setEquipmentSpecificIndexValue(equipmentSpecificAlarm.getEquipmentSpecificIndexValue());
// equipmentSpecificAlarmLog.setEquipmentSpecificIndexKey(equipmentSpecificAlarm.getEquipmentSpecificIndexKey());
// equipmentSpecificAlarmLog.setEquipmentSpecificIndexName(equipmentSpecificAlarm.getEquipmentSpecificIndexName());
// equipmentSpecificAlarmLog.setEquipmentIndexId(equipmentSpecificAlarm.getEquipmentIndexId());
equipmentSpecificAlarmLog.setEquipmentSpecificAlarmId(equipmentSpecificAlarm.getId());
equipmentSpecificAlarmLog.setLocation(equipmentSpecificAlarm.getLocation());
equipmentSpecificAlarmLog.setAlarmReason(equipmentSpecificAlarm.getAlamReason());
equipmentSpecificAlarmLog.setEquipmentSpecificCode(equipmentSpecificAlarm.getCode());
equipmentSpecificAlarmLog.setBuildId(equipmentSpecificAlarm.getBuildId());
equipmentSpecificAlarmLog.setStatus(equipmentSpecificAlarm.getStatus());
// equipmentSpecificAlarmLog.setLocation(equipmentSpecificAlarm.getLocation());
// equipmentSpecificAlarmLog.setAlarmReason(equipmentSpecificAlarm.getAlamReason());
// equipmentSpecificAlarmLog.setEquipmentSpecificCode(equipmentSpecificAlarm.getEquipmentSpecificCode());
// equipmentSpecificAlarmLog.setBuildId(equipmentSpecificAlarm.getBuildId());
// equipmentSpecificAlarmLog.setStatus(equipmentSpecificAlarm.getStatus());
boolean bool = equipmentSpecificAlarmLogService.save(equipmentSpecificAlarmLog);
// 同步告警消息给平台
if (amosSwitch && bool) {
......@@ -953,7 +958,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
equipmentSpecificAlarm.setEquipmentCode(equipmentSpecificIndex.getEquipmentCode());
equipmentSpecificAlarm.setEquipmentId(equipmentSpecificIndex.getEquipmentId());
equipmentSpecificAlarm.setEquipmentDetailId(equipmentSpecificIndex.getEquipmentDetailId());
equipmentSpecificAlarm.setCode(equipmentSpecificIndex.getEquipmentSpecificCode());
equipmentSpecificAlarm.setEquipmentSpecificCode(equipmentSpecificIndex.getEquipmentSpecificCode());
equipmentSpecificAlarm.setEmergencyLevel(equipmentSpecificIndex.getEmergencyLevel());
equipmentSpecificAlarm.setEmergencyLevelColor(equipmentSpecificIndex.getEmergencyLevelColor());
equipmentSpecificAlarm.setEmergencyLevelDescribe(equipmentSpecificIndex.getEmergencyLevelDescribe());
......@@ -1129,7 +1134,6 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
private void equipRealTimeDate(List<IotDataVO> iotDatalist, List<EquipmentSpecificIndex> indexList){
List<EquipmentSpecificIndex> equipmentSpecificIndexList = new ArrayList<>();
List<EquipmentSpecificAlarm> equipmentSpecificAlarms = new ArrayList<>();
List<EquipmentSpecificAlarmLog> equipmentAlarmLogs = new ArrayList<>();
List<IndexStateVo> indexStateList = new ArrayList<>();
// 存储温度数据至内存中(火眼)
iotDataListToCacheMap(iotDatalist);
......@@ -1144,6 +1148,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
equipmentSpeIndex.setValue(value);
equipmentSpeIndex.setValueLabel(valueTranslate(value, equipmentSpecificIndex.getValueEnum()));
equipmentSpeIndex.setUpdateDate(new Date());
equipmentSpecificIndexService.updateById(equipmentSpeIndex);
equipmentSpecificIndexList.add(equipmentSpeIndex);
......@@ -1152,8 +1157,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
// 向预控系统发送消息
sendEquipSpecIndexToAutosysTopic(equipmentSpeIndex);
// 添加指标报告
saveEquipmentAlarmReportDay(equipmentSpeIndex);
......@@ -1169,9 +1173,131 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
}
});
//向画布推送
publishDataToCanvas(equipmentSpecificIndexList);
// 首页性能指标数据订阅
mqttSendGateway.sendToMqtt(indexTopic, JSON.toJSONString(indexStateList));
// 报警数据保存
saveOrUpdateEquipAlarm(equipmentSpecificAlarms);
}
public void saveOrUpdateEquipAlarm(List<EquipmentSpecificAlarm> equipmentSpecificAlarms){
if(ObjectUtils.isEmpty(equipmentSpecificAlarms)){
return;
}
equipmentSpecificAlarmService.saveOrUpdateBatch(equipmentSpecificAlarms);
List<EquipmentSpecificAlarmLog> equipmentAlarmLogs = new ArrayList<>();
equipmentSpecificAlarms.forEach(action->{
if (AlarmStatusEnum.BJ.getCode() == action.getStatus()) {
equipmentAlarmLogs.add(addEquipAlarmLogRecord(action));
if (ValidationUtil.isEmpty(action.getAlamContent())) {
action.setAlamContent(action.getEquipmentSpecificName() + action.getEquipmentSpecificIndexName());
}
mqttSendGateway.sendToMqtt(TopicEnum.EQDQR.getTopic(), JSONArray.toJSON(action).toString());
} else {
upAlarmLogStatus(action.getIotCode(), action.getEquipmentSpecificIndexKey(), equipmentSpecificAlarmLogService);
mqttSendGateway.sendToMqtt(TopicEnum.EQYQR.getTopic(), JSONArray.toJSON(action).toString());
bool = Boolean.TRUE;
}
});
// 数字换流站数据处理(高斯库同步及南瑞告警推送)
if (syncSwitch && !ObjectUtils.isEmpty(equipmentAlarmLogs)) {
List<FireEquipmentFireAlarm> alarmList = createFireEquipmentFireAlarmVo(equipmentAlarmLogs);
if (!CollectionUtils.isEmpty(alarmList)) {
Map<String, List<FireEquipmentFireAlarm>> collect = alarmList.stream().collect(Collectors.groupingBy(FireEquipmentFireAlarm::getType));
for (String key : collect.keySet()) {
List<FireEquipmentFireAlarm> list = collect.get(key);
if (!CollectionUtils.isEmpty(list)) {
if ("FIREALARM".equalsIgnoreCase(key)) {
syncDataService.syncCreatedFireEquipAlarm(list);
} else if ("BREAKDOWN".equalsIgnoreCase(key)) {
List<FireEquipmentFaultAlarm> faultAlarms = list.stream().map(x -> {
FireEquipmentFaultAlarm fireEquipmentFaultAlarm = new FireEquipmentFaultAlarm();
BeanUtils.copyProperties(x, fireEquipmentFaultAlarm);
return fireEquipmentFaultAlarm;
}).collect(Collectors.toList());
syncDataService.syncCreatedFireEquiptFaultAlarm(faultAlarms);
} else if ("SHIELD".equalsIgnoreCase(key)) {
List<FireEquipmentDefectAlarm> defectAlarms = list.stream().map(x -> {
FireEquipmentDefectAlarm fireEquipmentFaultAlarm = new FireEquipmentDefectAlarm();
BeanUtils.copyProperties(x, fireEquipmentFaultAlarm);
return fireEquipmentFaultAlarm;
}).collect(Collectors.toList());
syncDataService.syncCreatedFireEquipDefectAlarm(defectAlarms);
}
}
}
}
syncDataService.syncCreatedSendAlarm(equipmentAlarmLogs);
}
}
/**
* 组装数字换流站平台告警数据
* @param equipmentSpecificIndex
* @return
*/
private List<FireEquipmentFireAlarm> createFireEquipmentFireAlarmVo(List<EquipmentSpecificAlarmLog> equipmentAlarmLogs){
Map<String,String> stationInfo = equipmentSpecificMapper.getStationInfo().get(0);
List<FireEquipmentFireAlarm> alarmList = new ArrayList<>();
equipmentAlarmLogs.forEach(action->{
FireEquipmentFireAlarm alarm = new FireEquipmentFireAlarm();
BeanUtils.copyProperties(action, alarm);
// alarm.setAlarmReason(action.getAlarmReason());
alarm.setAliasname(action.getEquipmentSpecificIndexName());
// alarm.setConfirmDate(action.getConfirmDate());
// alarm.setConfirmType(action.getConfirmType());
// alarm.setConfirmUser(action.getConfirmUser());
// alarm.setCreateDate(action.getCreateDate());
alarm.setEquipmentMeasurementId(action.getEquipmentIndexId().toString());
alarm.setEquipmentMeasurementMRid(action.getEquipmentIndexId().toString());
alarm.setFieldLabel(action.getEquipmentSpecificIndexKey());
alarm.setFieldName(action.getEquipmentSpecificIndexName());
alarm.setFireEquipmentId(action.getEquipmentSpecificId().toString());
alarm.setFireEquipmentMRid(action.getEquipmentSpecificCode());
alarm.setFireEquipmentName(action.getEquipmentSpecificName());
alarm.setFrequency(1);
alarm.setId(action.getId().toString());
alarm.setMrid(action.getId().toString());
alarm.setName(action.getEquipmentSpecificIndexName());
alarm.setRecoveryDate(action.getUpdateDate());
// alarm.setResolveResult(action.getResolveResult());
alarm.setStationCode(ObjectUtils.isEmpty(stationInfo)?"":stationInfo.get("stationCode"));
alarm.setStationName(ObjectUtils.isEmpty(stationInfo)?"":stationInfo.get("stationName"));
// alarm.setType(action.getType());
// alarm.setUpdateDate(action.getUpdateDate());
alarm.setValue(action.getEquipmentSpecificIndexValue());
alarmList.add(alarm);
});
return alarmList;
}
/**
* 高斯库同步指标修改
* @param equipmentSpecificIndexList
*/
private void syncSpecificIndexsToGS(List<EquipmentSpecificIndex> equipmentSpecificIndexList){
if (ObjectUtils.isEmpty(equipmentSpecificIndexList) && syncSwitch) {
// 数据同步
List<EquipmentIndexVO> fireEquipMeasurementCollect = new ArrayList<>();
equipmentSpecificIndexList.forEach(action->{
EquipmentIndexVO equipmentIndexVO = new EquipmentIndexVO();
BeanUtils.copyProperties(action, equipmentIndexVO);
});
if (0 < fireEquipMeasurementCollect.size()) {
syncDataService.syncCreatedFireEquipMeasurement(fireEquipMeasurementCollect);
}
}
}
......@@ -1219,7 +1345,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
action.setEquipmentSpecificName(equipmentSpcIndex.getEquipmentSpecificName());
action.setEquipmentCode(equipmentSpcIndex.getEquipmentCode());
// 冗余字段,alarm_log表更新时使用
action.setCode(equipmentSpcIndex.getEquipmentSpecificCode());
action.setEquipmentSpecificCode(equipmentSpcIndex.getEquipmentSpecificCode());
equipmentSpecificAlarms.add(action);
});
}
......@@ -1227,10 +1353,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
return equipmentSpecificAlarms;
}
private void sendSpecIndexsToCanvasTopic(List<EquipmentSpecificIndex> equipmentSpecificIndexList){
}
/**
* 发送数据至换流站
* @param
......@@ -1260,6 +1383,31 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
});
}
public void send(){
//TODO 数字化换流站组态屏数据推送,需要在事务提交之后,否侧事务隔离查询不出数据
// TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
// @Override
// public void afterCommit() {
// iEquipmentSpecificSerivce.integrationPageSysDataRefresh(topicEntity.getCode());
// iEquipmentSpecificSerivce.updateEquipmentSpecIndexRealtimeData(equipmentSpecificIndexList);
// //数字换流站站使用
// mqttSendGateway.sendToMqtt(TopicEnum.EQZXDT.getTopic(), "");
// if (!equipmentAlarmLogs.isEmpty() || bool) {
// JSONObject jsonObject = new JSONObject();
// jsonObject.put("seqNo", UUID.randomUUID().toString().replace("-", "").toLowerCase());
// mqttSendGateway.sendToMqtt(TopicEnum.ALARM_LOG_INSERT.getTopic(), jsonObject.toString());
// if (syncSwitch) {
// syncDataService.syncCreatedSendAlarm(equipmentAlarmLogs);
// }
// }
// }
// });
}
/**
* 更新数据报表表
* @param equipmentSpecificIndex
*/
private void saveEquipmentAlarmReportDay(EquipmentSpecificIndex equipmentSpecificIndex){
SimpleDateFormat sdf = new SimpleDateFormat(DateUtils.DATE_PATTERN);
EquipmentAlarmReportDay equipmentAlarmReportDay = addEquipAlarmReportRecord(equipmentSpecificIndex);
......
......@@ -110,4 +110,42 @@
</if>
</where>
</select>
<select id="getFireEquipAlarmLogDetailsById"
resultType="com.yeejoin.equipmanage.common.datasync.entity.FireEquipmentFireAlarm">
SELECT
sal.id,
es.id AS fireEquipmentId,
si.id AS equipmentMeasurementId,
ei.name_key AS fieldName,
ei.`name` AS fieldLabel,
IFNULL(si.`value`,'') AS `value`,
sa.frequency,
sa.`status`,
sa.type,
IFNULL(es.code,'') AS fireEquipmentMRid,
'' AS equipmentMeasurementMRid,
ed.`name` AS fireEquipmentName,
sa.recovery_date,
sal.create_date,
sal.update_date,
sal.alarm_reason AS description,
IFNULL(sal.equipment_specific_name,'') AS `name`,
IFNULL(sal.equipment_specific_code,'') AS mrid
FROM
wl_equipment_specific_alarm_log sal
LEFT JOIN wl_equipment_specific_alarm sa ON sal.equipment_specific_alarm_id = sa.id
LEFT JOIN wl_equipment_specific es ON sa.equipment_specific_id = es.id
LEFT JOIN wl_equipment_specific_index si ON es.id = si.equipment_specific_id
LEFT JOIN wl_equipment_detail ed ON ed.id = es.equipment_detail_id
LEFT JOIN wl_equipment_index ei ON si.equipment_index_id = ei.id
<where>
<if test="list != null and list.size > 0">
sal.id IN
<foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</where>
</select>
</mapper>
\ No newline at end of file
......@@ -61,12 +61,15 @@
wesi.is_alarm as isAlarm,
wesi.emergency_level_color as emergencyLevelColor,
wesi.emergency_level as emergencyLevel,
wesi.emergency_level_describe as emergencyLevelDescribe
wesi.emergency_level_describe as emergencyLevelDescribe,
TRIM(CONCAT_WS(' ',wes.position,sd.description)) AS location,
sd.warehouse_structure_id AS buildId
FROM
wl_equipment_specific_index AS wesi
LEFT JOIN wl_equipment_specific AS wes ON wes.id = wesi.equipment_specific_id
LEFT JOIN wl_equipment_detail ed ON ed.id = wes.equipment_detail_id
LEFT JOIN wl_equipment_index AS wei ON wei.id = wesi.equipment_index_id
LEFT JOIN wl_stock_detail sd ON sd.equipment_specific_id = wes.id
WHERE
wes.iot_code = #{iotCode} and wei.is_iot = true
</select>
......
......@@ -1473,4 +1473,13 @@
where
wes.id = #{specificId}
</select>
<select id="getStationInfo" resultType="Map">
SELECT
`name` AS stationName,
station_code AS stationCode
FROM
f_station_info
LIMIT 1
</select>
</mapper>
\ No newline at end of file
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