Commit fbde6ca3 authored by 田涛's avatar 田涛

Merge remote-tracking branch 'origin/dev_upgrade-1225' into dev_upgrade-1225

parents 884ca37e d1db89e9
package com.yeejoin.dataprocess.common.enums; package com.yeejoin.amos.fas.common.enums;
/** /**
* @ProjectName: YeeFireDataProcessRoot * @ProjectName: YeeFireDataProcessRoot
......
package com.yeejoin.amos.fas.business.action; package com.yeejoin.amos.fas.business.action;
import java.io.IOException;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.ConcurrentHashMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
...@@ -38,7 +12,6 @@ import com.yeejoin.amos.fas.business.action.el.ELEvaluationContext; ...@@ -38,7 +12,6 @@ import com.yeejoin.amos.fas.business.action.el.ELEvaluationContext;
import com.yeejoin.amos.fas.business.action.model.ContingencyEvent; import com.yeejoin.amos.fas.business.action.model.ContingencyEvent;
import com.yeejoin.amos.fas.business.action.model.ContingencyRo; import com.yeejoin.amos.fas.business.action.model.ContingencyRo;
import com.yeejoin.amos.fas.business.action.model.DeviceRo; import com.yeejoin.amos.fas.business.action.model.DeviceRo;
import com.yeejoin.amos.fas.business.action.model.SetpEnum;
import com.yeejoin.amos.fas.business.action.mq.WebMqttComponent; import com.yeejoin.amos.fas.business.action.mq.WebMqttComponent;
import com.yeejoin.amos.fas.business.action.result.ActionResult; import com.yeejoin.amos.fas.business.action.result.ActionResult;
import com.yeejoin.amos.fas.business.action.result.SafteyPlanResult; import com.yeejoin.amos.fas.business.action.result.SafteyPlanResult;
...@@ -66,6 +39,25 @@ import com.yeejoin.amos.fas.dao.entity.ContingencyPlanInstance; ...@@ -66,6 +39,25 @@ import com.yeejoin.amos.fas.dao.entity.ContingencyPlanInstance;
import com.yeejoin.amos.fas.dao.entity.Equipment; import com.yeejoin.amos.fas.dao.entity.Equipment;
import com.yeejoin.amos.fas.dao.entity.PlanDetail; import com.yeejoin.amos.fas.dao.entity.PlanDetail;
import com.yeejoin.amos.fas.dao.entity.PlanOperationRecord; import com.yeejoin.amos.fas.dao.entity.PlanOperationRecord;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import java.io.IOException;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
//import com.yeejoin.amos.fas.business.service.intfc.FireStengthService; //import com.yeejoin.amos.fas.business.service.intfc.FireStengthService;
......
...@@ -22,7 +22,8 @@ import java.util.stream.Collectors; ...@@ -22,7 +22,8 @@ import java.util.stream.Collectors;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import com.yeejoin.amos.fas.business.util.DataSyncUtil; import com.yeejoin.amos.fas.business.util.*;
import com.yeejoin.amos.fas.common.enums.AstDataSyncTopic;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -96,9 +97,6 @@ import com.yeejoin.amos.fas.business.service.intfc.IEquipmentService; ...@@ -96,9 +97,6 @@ import com.yeejoin.amos.fas.business.service.intfc.IEquipmentService;
import com.yeejoin.amos.fas.business.service.intfc.IRiskSourceService; import com.yeejoin.amos.fas.business.service.intfc.IRiskSourceService;
import com.yeejoin.amos.fas.business.service.intfc.IView3dService; import com.yeejoin.amos.fas.business.service.intfc.IView3dService;
import com.yeejoin.amos.fas.business.service.model.ContingencyDeviceStatus; import com.yeejoin.amos.fas.business.service.model.ContingencyDeviceStatus;
import com.yeejoin.amos.fas.business.util.DateUtils;
import com.yeejoin.amos.fas.business.util.JexlUtil;
import com.yeejoin.amos.fas.business.util.RpnUtils;
import com.yeejoin.amos.fas.business.vo.EquipCommunicationData; import com.yeejoin.amos.fas.business.vo.EquipCommunicationData;
import com.yeejoin.amos.fas.business.vo.EquipmentSpecificIndexVo; import com.yeejoin.amos.fas.business.vo.EquipmentSpecificIndexVo;
import com.yeejoin.amos.fas.business.vo.Toke; import com.yeejoin.amos.fas.business.vo.Toke;
...@@ -266,7 +264,7 @@ public class RiskSourceServiceImpl implements IRiskSourceService { ...@@ -266,7 +264,7 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
riskSource.setStatus(oldRiskSource.getStatus()); riskSource.setStatus(oldRiskSource.getStatus());
} }
iRiskSourceDao.saveAndFlush(riskSource); iRiskSourceDao.saveAndFlush(riskSource);
dataSyncUtil.astDataSync(String.join("_", com.yeejoin.dataprocess.common.enums.AstDataSyncTopic.AST_REGION_SAVE.getValue(), String.valueOf(riskSource.getId())), JSON.toJSONString(riskSource)); dataSyncUtil.astDataSync(String.join("_", AstDataSyncTopic.AST_REGION_SAVE.getValue(), String.valueOf(riskSource.getId())), JSON.toJSONString(riskSource));
return riskSource; return riskSource;
} }
...@@ -287,17 +285,17 @@ public class RiskSourceServiceImpl implements IRiskSourceService { ...@@ -287,17 +285,17 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
} }
//1、删除风险点 //1、删除风险点
iRiskSourceDao.deleteById(rId); iRiskSourceDao.deleteById(rId);
dataSyncUtil.astDataSync(String.join("_", com.yeejoin.dataprocess.common.enums.AstDataSyncTopic.AST_REGION_DELETE_BY_ID.getValue(), String.valueOf(rId)), String.valueOf(rId)); dataSyncUtil.astDataSync(String.join("_", AstDataSyncTopic.AST_REGION_DELETE_BY_ID.getValue(), String.valueOf(rId)), String.valueOf(rId));
//2.删除关联建筑关系,防止对站服务有问题,捕获异常,不影响业务正常秩序 //2.删除关联建筑关系,防止对站服务有问题,捕获异常,不影响业务正常秩序
try { try {
rs.ifPresent(r->{ rs.ifPresent(r -> {
if(r.getSourceId() != null){ if (r.getSourceId() != null) {
iEquipManageFeign.unbindRelation(r.getSourceId()); iEquipManageFeign.unbindRelation(r.getSourceId());
} }
}); });
} catch (Exception e) { } catch (Exception e) {
log.error(e.getMessage(),e); log.error(e.getMessage(), e);
} }
} }
//3.重新计算rpn //3.重新计算rpn
...@@ -312,7 +310,7 @@ public class RiskSourceServiceImpl implements IRiskSourceService { ...@@ -312,7 +310,7 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
@Override @Override
public void deleteById(Long id) { public void deleteById(Long id) {
iRiskSourceDao.deleteById(id); iRiskSourceDao.deleteById(id);
dataSyncUtil.astDataSync(String.join("_", com.yeejoin.dataprocess.common.enums.AstDataSyncTopic.AST_REGION_DELETE_BY_ID.getValue(), String.valueOf(id)), String.valueOf(id)); dataSyncUtil.astDataSync(String.join("_", AstDataSyncTopic.AST_REGION_DELETE_BY_ID.getValue(), String.valueOf(id)), String.valueOf(id));
} }
@Override @Override
...@@ -321,7 +319,7 @@ public class RiskSourceServiceImpl implements IRiskSourceService { ...@@ -321,7 +319,7 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
Optional<RiskSource> op = iRiskSourceDao.findBySourceId(synBo.getId()); Optional<RiskSource> op = iRiskSourceDao.findBySourceId(synBo.getId());
RiskSource riskSource; RiskSource riskSource;
//1.同步上级 //1.同步上级
if(op.isPresent()){ if (op.isPresent()) {
//有就更新,业务只能调整上级 //有就更新,业务只能调整上级
riskSource = op.get(); riskSource = op.get();
riskSource.setParentId(synBo.getParentId()); riskSource.setParentId(synBo.getParentId());
...@@ -329,23 +327,23 @@ public class RiskSourceServiceImpl implements IRiskSourceService { ...@@ -329,23 +327,23 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
} else { } else {
//无则插入 //无则插入
riskSource = new RiskSource(); riskSource = new RiskSource();
Bean.copyExistPropertis(synBo,riskSource); Bean.copyExistPropertis(synBo, riskSource);
fillBasicParams(userId, orgCode, synBo.getId(), riskSource); fillBasicParams(userId, orgCode, synBo.getId(), riskSource);
riskSource = iRiskSourceDao.save(riskSource); riskSource = iRiskSourceDao.save(riskSource);
} }
dataSyncUtil.astDataSync(String.join("_", com.yeejoin.dataprocess.common.enums.AstDataSyncTopic.AST_REGION_SAVE.getValue(), String.valueOf(riskSource.getId())), JSON.toJSONString(riskSource)); dataSyncUtil.astDataSync(String.join("_", AstDataSyncTopic.AST_REGION_SAVE.getValue(), String.valueOf(riskSource.getId())), JSON.toJSONString(riskSource));
//2.同步下级(只有一级) //2.同步下级(只有一级)
if(!CollectionUtils.isEmpty(synBo.getChildren())){ if (!CollectionUtils.isEmpty(synBo.getChildren())) {
RiskSource finalRiskSource = riskSource; RiskSource finalRiskSource = riskSource;
List<RiskSource> children = synBo.getChildren().stream().map(s->{ List<RiskSource> children = synBo.getChildren().stream().map(s -> {
RiskSource t = new RiskSource(); RiskSource t = new RiskSource();
Bean.copyExistPropertis(s,t); Bean.copyExistPropertis(s, t);
fillBasicParams(userId, orgCode, s.getId(), t); fillBasicParams(userId, orgCode, s.getId(), t);
t.setParentId(finalRiskSource.getId()); t.setParentId(finalRiskSource.getId());
return t; return t;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
iRiskSourceDao.saveAll(children); iRiskSourceDao.saveAll(children);
dataSyncUtil.astDataSync(com.yeejoin.dataprocess.common.enums.AstDataSyncTopic.AST_REGION_SAVE_ALL.getValue(), JSON.toJSONString(children)); dataSyncUtil.astDataSync(String.join("_", AstDataSyncTopic.AST_REGION_SAVE_ALL.getValue(), RandomUtil.buildNo()), JSON.toJSONString(children));
} }
return riskSource; return riskSource;
} }
...@@ -363,11 +361,11 @@ public class RiskSourceServiceImpl implements IRiskSourceService { ...@@ -363,11 +361,11 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
@Override @Override
public Boolean removeBind(Long instanceId) { public Boolean removeBind(Long instanceId) {
Optional<RiskSource> exist = iRiskSourceDao.findBySourceId(instanceId); Optional<RiskSource> exist = iRiskSourceDao.findBySourceId(instanceId);
if(exist.isPresent()){ if (exist.isPresent()) {
RiskSource riskSource = exist.get(); RiskSource riskSource = exist.get();
riskSource.setSourceId(null); riskSource.setSourceId(null);
iRiskSourceDao.save(riskSource); iRiskSourceDao.save(riskSource);
dataSyncUtil.astDataSync(String.join("_", com.yeejoin.dataprocess.common.enums.AstDataSyncTopic.AST_REGION_SAVE.getValue(), String.valueOf(riskSource.getId())), JSON.toJSONString(riskSource)); dataSyncUtil.astDataSync(String.join("_", AstDataSyncTopic.AST_REGION_SAVE.getValue(), String.valueOf(riskSource.getId())), JSON.toJSONString(riskSource));
} }
return exist.isPresent(); return exist.isPresent();
} }
...@@ -645,7 +643,7 @@ public class RiskSourceServiceImpl implements IRiskSourceService { ...@@ -645,7 +643,7 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
contingencyRo.setTelemetryMap(telemetryMap); contingencyRo.setTelemetryMap(telemetryMap);
List<String> plan = this.getNumberPlan(Long.parseLong(contingencyRo.getEquipmentId())); List<String> plan = this.getNumberPlan(Long.parseLong(contingencyRo.getEquipmentId()));
if(plan.size()>0){ if (plan.size() > 0) {
log.debug("开始调用规则"); log.debug("开始调用规则");
Object result = ruleTrigger.publish(contingencyRo, "换流站消防专项预案/" + plan.get(0), ArrayUtils.toArray(equipment.getName())); Object result = ruleTrigger.publish(contingencyRo, "换流站消防专项预案/" + plan.get(0), ArrayUtils.toArray(equipment.getName()));
log.debug("规则调用返回==", result); log.debug("规则调用返回==", result);
...@@ -1016,7 +1014,7 @@ public class RiskSourceServiceImpl implements IRiskSourceService { ...@@ -1016,7 +1014,7 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
topicEntity.setMessage(JSON.toJSONString(equipmentSpecificIndexVo)); topicEntity.setMessage(JSON.toJSONString(equipmentSpecificIndexVo));
String data = JSON.toJSONString(topicEntity); String data = JSON.toJSONString(topicEntity);
System.out.println(data); System.out.println(data);
iEquipmentHandlerService.handlerMqttMessage("",data ); iEquipmentHandlerService.handlerMqttMessage("", data);
return "SUCCESS"; return "SUCCESS";
} }
...@@ -1039,7 +1037,7 @@ public class RiskSourceServiceImpl implements IRiskSourceService { ...@@ -1039,7 +1037,7 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
topicEntity.setMessage(JSON.toJSONString(equipmentSpecificIndexVo)); topicEntity.setMessage(JSON.toJSONString(equipmentSpecificIndexVo));
topicEntity.setEquipment(equipment); topicEntity.setEquipment(equipment);
String data = JSON.toJSONString(topicEntity); String data = JSON.toJSONString(topicEntity);
iEquipmentHandlerService.handlerMqttMessage("",data ); iEquipmentHandlerService.handlerMqttMessage("", data);
if (equipment != null) { if (equipment != null) {
equipment.setStartTime(DateUtil.getDateNow()); equipment.setStartTime(DateUtil.getDateNow());
equipment.setEndTime(null); equipment.setEndTime(null);
...@@ -1830,7 +1828,7 @@ public class RiskSourceServiceImpl implements IRiskSourceService { ...@@ -1830,7 +1828,7 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
riskSource.setRpni(null); riskSource.setRpni(null);
riskSource.setRiskLevelId(null); riskSource.setRiskLevelId(null);
iRiskSourceDao.save(riskSource); iRiskSourceDao.save(riskSource);
dataSyncUtil.astDataSync(String.join("_", com.yeejoin.dataprocess.common.enums.AstDataSyncTopic.AST_REGION_SAVE.getValue(), String.valueOf(riskSource.getId())), JSON.toJSONString(riskSource)); dataSyncUtil.astDataSync(String.join("_", AstDataSyncTopic.AST_REGION_SAVE.getValue(), String.valueOf(riskSource.getId())), JSON.toJSONString(riskSource));
return; return;
} }
BigDecimal rpn = rpnValueBo.getRpn(); BigDecimal rpn = rpnValueBo.getRpn();
...@@ -1844,7 +1842,7 @@ public class RiskSourceServiceImpl implements IRiskSourceService { ...@@ -1844,7 +1842,7 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
} }
} }
iRiskSourceDao.save(riskSource); iRiskSourceDao.save(riskSource);
dataSyncUtil.astDataSync(String.join("_", com.yeejoin.dataprocess.common.enums.AstDataSyncTopic.AST_REGION_SAVE.getValue(), String.valueOf(riskSource.getId())), JSON.toJSONString(riskSource)); dataSyncUtil.astDataSync(String.join("_", AstDataSyncTopic.AST_REGION_SAVE.getValue(), String.valueOf(riskSource.getId())), JSON.toJSONString(riskSource));
this.updateParentRpn(riskSource.getParentId()); this.updateParentRpn(riskSource.getParentId());
} }
} }
...@@ -1985,7 +1983,7 @@ public class RiskSourceServiceImpl implements IRiskSourceService { ...@@ -1985,7 +1983,7 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
return null; return null;
} }
public List<String> getNumberPlan(Long id){ public List<String> getNumberPlan(Long id) {
List<String> ruleId = planDetailMapper.getRuleIdByEquipment(id); List<String> ruleId = planDetailMapper.getRuleIdByEquipment(id);
return ruleId; return ruleId;
} }
......
...@@ -17,6 +17,7 @@ import java.util.function.Function; ...@@ -17,6 +17,7 @@ import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.yeejoin.amos.fas.business.util.DataSyncUtil; import com.yeejoin.amos.fas.business.util.DataSyncUtil;
import com.yeejoin.amos.fas.common.enums.*;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -56,14 +57,6 @@ import com.yeejoin.amos.fas.business.vo.ExceptionRegionVo; ...@@ -56,14 +57,6 @@ import com.yeejoin.amos.fas.business.vo.ExceptionRegionVo;
import com.yeejoin.amos.fas.business.vo.SafetyIndexDetailVo; import com.yeejoin.amos.fas.business.vo.SafetyIndexDetailVo;
import com.yeejoin.amos.fas.business.vo.TodaySafetyIndexVo; import com.yeejoin.amos.fas.business.vo.TodaySafetyIndexVo;
import com.yeejoin.amos.fas.business.vo.View3dNodeVo; import com.yeejoin.amos.fas.business.vo.View3dNodeVo;
import com.yeejoin.amos.fas.common.enums.CheckStatusEnum;
import com.yeejoin.amos.fas.common.enums.DataRefreshTypeEum;
import com.yeejoin.amos.fas.common.enums.PlanTaskDetailStatusEnum;
import com.yeejoin.amos.fas.common.enums.ResourceTypeDefEnum;
import com.yeejoin.amos.fas.common.enums.RiskSourceLevelEum;
import com.yeejoin.amos.fas.common.enums.RiskSourceRegionEum;
import com.yeejoin.amos.fas.common.enums.RpnChangeTypeEum;
import com.yeejoin.amos.fas.common.enums.StatisticsErrorTypeEum;
import com.yeejoin.amos.fas.core.common.request.CommonPageable; import com.yeejoin.amos.fas.core.common.request.CommonPageable;
import com.yeejoin.amos.fas.core.common.request.DateUtil; import com.yeejoin.amos.fas.core.common.request.DateUtil;
import com.yeejoin.amos.fas.core.common.response.CoordDTO; import com.yeejoin.amos.fas.core.common.response.CoordDTO;
...@@ -252,7 +245,7 @@ public class View3dServiceImpl implements IView3dService { ...@@ -252,7 +245,7 @@ public class View3dServiceImpl implements IView3dService {
if(ue4Rotation != null) riskSource.setUe4Rotation(pointBo.getUe4Rotation()); if(ue4Rotation != null) riskSource.setUe4Rotation(pointBo.getUe4Rotation());
if(position3d != null) riskSource.setPosition3d(position3d); if(position3d != null) riskSource.setPosition3d(position3d);
iRiskSourceDao.save(riskSource); iRiskSourceDao.save(riskSource);
dataSyncUtil.astDataSync(String.join("_", com.yeejoin.dataprocess.common.enums.AstDataSyncTopic.AST_REGION_SAVE.getValue(), String.valueOf(riskSource.getId())), JSON.toJSONString(riskSource)); dataSyncUtil.astDataSync(String.join("_", AstDataSyncTopic.AST_REGION_SAVE.getValue(), String.valueOf(riskSource.getId())), JSON.toJSONString(riskSource));
} }
} }
......
package com.yeejoin.amos.fas.business.util;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
import java.util.concurrent.ThreadLocalRandom;
public class RandomUtil {
private static ThreadLocalRandom threadLocalRandom;
public static String buildOrderNo() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
String newDate = sdf.format(new Date());
String result = "";
Random random = new Random();
for (int i = 0; i < 3; i++) {
result += random.nextInt(10);
}
return newDate + result;
}
/**
* @param resourceType 资源类型
* @param companyCode 单位编号
* @Description Random存在性能问题可能造成线程阻塞问题,使
* 用性能更加卓越的threadLocalRandom(线程安全的单例模式)生成随机数
* 四位随机数无法保证不可重复性,如果对不可重复要求高,请使用其他工具
* @Author songLei
* @Return String
* @Date 2020/12/18 11:49
*/
public static String buildNo(String resourceType, String companyCode) {
threadLocalRandom = ThreadLocalRandom.current();
int num = threadLocalRandom.nextInt(1000, 9999);
return resourceType + companyCode + num;
}
public static String buildNo() {
threadLocalRandom = ThreadLocalRandom.current();
int num = threadLocalRandom.nextInt(1000, 9999);
return String.valueOf(num);
}
}
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