Commit af7bf0e0 authored by zhengjiangtao's avatar zhengjiangtao

Merge branch 'develop_20200601' of http://172.16.10.76/bank/AmosBankRoot into develop_20200601

parents f989e487 a2f36f92
......@@ -14,12 +14,4 @@ import org.springframework.transaction.annotation.Transactional;
*/
@Repository
public interface BankInfoDao extends IBaseRepository<BankInfo, Long> {
@Query(value="select * from b_bank_info where source_id =?1",nativeQuery=true )
BankInfo findBySourceId(Long sourseId);
@Modifying
@Transactional
@Query(value="update b_bank_info set status = ?1 where source_id =?2",nativeQuery=true )
void updateBySourceId(int status, Long sourseId);
}
package com.yeejoin.amos.bank.dto;
/**
* @Author: xinglei
* @Description:
* @Date: 2020/6/3 16:08
*/
public class BankInfoDTO {
private String name;
private String img;
private String lng;
private String lat;
private String pamsPosition;
private String eName;
private String aName;
private int isCenter;
private String sourceIdStr;
private String sourceNameStr;
private int status;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getImg() {
return img;
}
public void setImg(String img) {
this.img = img;
}
public String getLng() {
return lng;
}
public void setLng(String lng) {
this.lng = lng;
}
public String getLat() {
return lat;
}
public void setLat(String lat) {
this.lat = lat;
}
public String getPamsPosition() {
return pamsPosition;
}
public void setPamsPosition(String pamsPosition) {
this.pamsPosition = pamsPosition;
}
public String geteName() {
return eName;
}
public void seteName(String eName) {
this.eName = eName;
}
public String getaName() {
return aName;
}
public void setaName(String aName) {
this.aName = aName;
}
public int getIsCenter() {
return isCenter;
}
public void setIsCenter(int isCenter) {
this.isCenter = isCenter;
}
public String getSourceIdStr() {
return sourceIdStr;
}
public void setSourceIdStr(String sourceIdStr) {
this.sourceIdStr = sourceIdStr;
}
public String getSourceNameStr() {
return sourceNameStr;
}
public void setSourceNameStr(String sourceNameStr) {
this.sourceNameStr = sourceNameStr;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
}
......@@ -17,7 +17,7 @@ public enum CommTopic {
* 通道告警模拟
*/
AISLE_DEVICE("bank/aisle/alarm"),
/**
* 自建系统ping
*/
......
......@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.bank.dao.BankInfoDao;
import com.yeejoin.amos.bank.dao.mapper.BankInfoMapper;
import com.yeejoin.amos.bank.entity.BankInfo;
import com.yeejoin.amos.bank.webSocket.AmosWsClient;
import com.yeejoin.amos.bank.webSocket.WebsocketParam;
......@@ -18,6 +19,8 @@ import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.component.emq.EmqKeeper;
import org.typroject.tyboot.component.emq.EmqxListener;
import java.util.Map;
@Component
public class EquipmentListener extends EmqxListener implements InitializingBean {
......@@ -27,7 +30,7 @@ public class EquipmentListener extends EmqxListener implements InitializingBean
private EmqKeeper emqKeeper;
@Autowired
private BankInfoDao bankInfoDao;
private BankInfoMapper bankInfoMapper;
@Autowired
private AmosWsClient client;
......@@ -57,15 +60,18 @@ public class EquipmentListener extends EmqxListener implements InitializingBean
private void blueprintMsgtransfer(MqttMessage mqttMessage) {
try {
String jsonStr = new String(mqttMessage.getPayload());
logger.error(">>>>>>>>>>>>>>>>>jsonStr", jsonStr);
JSONObject parseObject = JSON.parseObject(jsonStr);
Long eqpId = parseObject.getLong("eqpId");
JSONArray jsonArray = parseObject.getJSONArray("metricDatas");
logger.info(">>>>>>>>>>>>>>>>>jsonStr", jsonStr);
JSONArray jsonArray = JSON.parseObject(jsonStr).getJSONArray("metricDatas");
if (ObjectUtils.isEmpty(jsonArray)) {
return;
}
// JSONArray eqpConfig = parseObject.getJSONArray("eqpConfigMap");
// JSONObject eqpConfigValue = JSONObject.parseObject(eqpConfig.getString(0));
// String sourceName = eqpConfigValue.getString("valueStr");
jsonArray.forEach(e -> {
JSONObject object = (JSONObject) e;
Long eqpId = object.getLong("eqpId");
String string = object.getString("metricJson");
if (!StringUtil.isNotEmpty(string)) {
return;
......@@ -74,10 +80,13 @@ public class EquipmentListener extends EmqxListener implements InitializingBean
JSONObject metricJson = JSONObject.parseObject(string);
String communication = metricJson.get("communication").toString();
int status = communication.equals("正常") ? 0 : 1;
BankInfo bankInfo = bankInfoDao.findBySourceId(eqpId);
if (status != bankInfo.getStatus()) {
bankInfoDao.updateBySourceId(status, eqpId);
pushAisleAlarm();
int sourceIdStatus = bankInfoMapper.findBySourceId(eqpId);
if (status != sourceIdStatus) {
bankInfoMapper.updateBySourceId(status, eqpId);
Map<String, Object> resultMap = bankInfoMapper.selectBankInfoBySourceId(eqpId);
resultMap.put("eqpId", eqpId);
pushAisleAlarm(resultMap);
logger.info("=======aisle状态有变化=====");
}
});
......@@ -91,8 +100,8 @@ public class EquipmentListener extends EmqxListener implements InitializingBean
/**
* 发送通道刷新标识
*/
public void pushAisleAlarm() {
WebsocketParam param = new WebsocketParam("aisleAlarm", "aisleRefresh");
public void pushAisleAlarm(Map<String, Object> result) {
WebsocketParam param = new WebsocketParam("aisleAlarm", JSON.toJSONString(result));
client.sendMessage(param);
}
}
package com.yeejoin.amos.bank.dao.mapper;
import com.yeejoin.amos.bank.dto.BankInfoDTO;
import com.yeejoin.amos.spc.business.dao.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* @Author: xinglei
* @Description:
* @Date: 2020/6/3 15:59
*/
public interface BankInfoMapper extends BaseMapper {
List<BankInfoDTO> selectBankInfoList();
int findBySourceId(@Param("sourceId")Long sourceId);
void updateBySourceId(@Param("status") int status, @Param("sourceId")Long sourceId);
/**
* 跟着设备ID查询当前银行状态
* @param sourceId
* @return
*/
Map<String, Object> selectBankInfoBySourceId(@Param("sourceId")Long sourceId);
}
......@@ -4,7 +4,9 @@ package com.yeejoin.amos.bank.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.bank.dao.BankInfoDao;
import com.yeejoin.amos.bank.dao.mapper.AutoInspectionMapper;
import com.yeejoin.amos.bank.dao.mapper.BankInfoMapper;
import com.yeejoin.amos.bank.dao.repository.IAutoInspectionRepository;
import com.yeejoin.amos.bank.dto.BankInfoDTO;
import com.yeejoin.amos.bank.entity.AutoInspection;
import com.yeejoin.amos.bank.entity.BankInfo;
import com.yeejoin.amos.bank.service.IAutoInspectionService;
......@@ -30,7 +32,7 @@ public class AutoInspectionServiceImpl extends GenericManagerImpl<AutoInspection
private AutoInspectionMapper autoInspectionMapper;
@Autowired
private BankInfoDao bankInfoDao;
private BankInfoMapper bankInfoMapper;
@Override
public List<AutoInspection> findAbnormalByMonitorItemNameAndHost(String monitorItemName, String monitorHostMachine) {
......@@ -148,9 +150,9 @@ public class AutoInspectionServiceImpl extends GenericManagerImpl<AutoInspection
public Map<String, Object> bankInfoList() {
Map<String, Object> map = new HashMap();
List<BankInfo> bankInfoList = bankInfoDao.findAll();
List<BankInfo> centerList = bankInfoList.stream().filter(x -> x.getIsCenter() == 1).distinct().collect(Collectors.toList());
List<BankInfo> unCenterList = bankInfoList.stream().filter(x -> x.getIsCenter() == 0).distinct().collect(Collectors.toList());
List<BankInfoDTO> bankInfoList = bankInfoMapper.selectBankInfoList();
List<BankInfoDTO> centerList = bankInfoList.stream().filter(x -> x.getIsCenter() == 1).distinct().collect(Collectors.toList());
List<BankInfoDTO> unCenterList = bankInfoList.stream().filter(x -> x.getIsCenter() == 0).distinct().collect(Collectors.toList());
map.put("centerList",centerList);
map.put("unCenterList",unCenterList);
......
......@@ -75,7 +75,6 @@ public class AlarmController extends BaseController {
// }
//获取当前登录人公司orgcode
ReginParams reginParams =getSelectedOrgInfo();
String code=reginParams.getCompany().getOrgCode();
......
......@@ -8,6 +8,7 @@ import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import javax.validation.ConstraintViolationException;
import com.yeejoin.amos.spc.exception.YeeException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.transaction.TransactionSystemException;
......@@ -148,9 +149,8 @@ public class BaseController {
return result;
} catch (InnerInvokException e) {
System.err.println("get user info fail");
throw new YeeException(e.getMessage());
}
return null;
}
protected String getUserId() {
......
......@@ -29,11 +29,12 @@
(SELECT name from b_bank_info where name = #{city}) as sname,
(SELECT lng from b_bank_info where name = #{city}) as slng,
(SELECT lat from b_bank_info where name = #{city}) as slat,
IF(status=1,"异常","正常") as alarmState,
IF(max(Be.status)=1,"异常","正常") as alarmState,
`NAME` as ename,
img AS imgSrc,
lng AS elng,
lat AS elat from b_bank_info where name != #{city}
lat AS elat from b_bank_info Bi left join b_bank_equipment Be on Bi.id = Be.bank_id
where Bi.name != #{city} group by Bi.id
</select>
<select id="pamsAisleSummary" resultType="java.util.HashMap">
......
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.bank.dao.mapper.BankInfoMapper">
<sql id="bankInfoField" >
Bi.`id` id,
Bi.`img` img,
Bi.`lng` lng,
Bi.`lat` lat,
Bi.`name` name,
Bi.`an_name` aName,
Bi.`en_name` eName,
Bi.`is_center` isCenter,
Bi.`pams_position` pamsPosition,
</sql>
<select id="selectBankInfoList" resultType="com.yeejoin.amos.bank.dto.BankInfoDTO">
select
<include refid="bankInfoField"/>
GROUP_CONCAT(Be.source_id) as sourceIdStr,
GROUP_CONCAT(Be.source_name) as sourceNameStr,
max(Be.status) as `status`
from b_bank_info Bi left join b_bank_equipment Be on Bi.id = Be.bank_id group by Bi.id
</select>
<select id="findBySourceId" resultType="int">
select status from b_bank_equipment where 1=1 and source_id = #{sourceId}
</select>
<update id="updateBySourceId">
update b_bank_equipment
<set>
<if test="status!=null">
status=#{status}
</if>
</set>
where source_id = #{sourceId}
</update>
<select id="selectBankInfoBySourceId" resultType="java.util.HashMap">
select Bi.`name` as name, max(Be.`status`) as `status` from b_bank_info Bi left join b_bank_equipment Be on Bi.id = Be.bank_id
where Bi.id = (select bank_id from b_bank_equipment where source_id = #{sourceId})
</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