Commit 989e3531 authored by suhuiguang's avatar suhuiguang

1. f_safety_index_change_log 新增字段创建日期-全景监控

2.修改安全指数流水服务-全景监控
parent c39590ad
...@@ -8,6 +8,7 @@ public enum DataRefreshTypeEum { ...@@ -8,6 +8,7 @@ public enum DataRefreshTypeEum {
/** /**
* 数据刷新触发原因 * 数据刷新触发原因
*/ */
dateChange("日切","dateChange"),
rpn("rpn变化","rpn"), rpn("rpn变化","rpn"),
alarm("设备报警","alarm"), alarm("设备报警","alarm"),
planTask("检查任务","planTask"), planTask("检查任务","planTask"),
......
package com.yeejoin.amos.fas.dao.entity; package com.yeejoin.amos.fas.dao.entity;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.NamedQuery; import javax.persistence.NamedQuery;
import javax.persistence.Table; import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;
/** /**
* The persistent class for the fire_car database table. * 安全指数日流水
*
*/ */
@Entity @Entity
@Table(name="f_safety_index_change_log") @Table(name="f_safety_index_change_log")
@NamedQuery(name="SafetyIndexChangeLog.findAll", query="SELECT s FROM SafetyIndexChangeLog s") @NamedQuery(name="SafetyIndexChangeLog.findAll", query="SELECT s FROM SafetyIndexChangeLog s")
public class SafetyIndexChangeLog implements Serializable{ public class SafetyIndexChangeLog extends BasicEntity{
private static final long serialVersionUID = 1L;
@Id /**
@GeneratedValue(strategy=GenerationType.IDENTITY) * 安全指数
@Column(name = "ID",nullable=false,unique=true) */
private Long id;
@Column(name="safety_index") @Column(name="safety_index")
private BigDecimal safetyIndex; private BigDecimal safetyIndex;
/**
* 流水日期
*/
@Column(name="collect_date") @Column(name="collect_date")
private Date collectDate; private Date collectDate;
/**
* 机构
*/
@Column(name="org_code") @Column(name="org_code")
private String orgCode; private String orgCode;
/**
* 备注
*/
@Column(name="remark") @Column(name="remark")
private String remark; private String remark;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public BigDecimal getSafetyIndex() { public BigDecimal getSafetyIndex() {
return safetyIndex; return safetyIndex;
} }
......
...@@ -203,11 +203,11 @@ public class View3dController extends BaseController { ...@@ -203,11 +203,11 @@ public class View3dController extends BaseController {
return CommonResponseUtil.success(view3dService.get3dPointsByModel(orgCode,model)); return CommonResponseUtil.success(view3dService.get3dPointsByModel(orgCode,model));
} }
@Scheduled(cron = "${param.safetyIndexchange.cron}") @Scheduled(cron = "${param.safetyIndexChange.cron}")
@ApiOperation(value = "更新安全指数",notes = "更新安全指数") @ApiOperation(value = "安全指数日流生成",notes = "安全指数日流生成定时任务")
@GetMapping(value = "safetyIndex/refresh") @GetMapping(value = "safetyIndex/schJobTest")
public CommonResponse safetyIndexRefresh(){ public CommonResponse safetyIndexLog(@ApiParam(value = "格式:yyyy-MM-dd", required = false) @RequestParam(required = false) String runData){
view3dService.safetyIndexRefresh(); view3dService.safetyIndexLogGenJob(runData);
return CommonResponseUtil.success(); return CommonResponseUtil.success();
} }
......
package com.yeejoin.amos.fas.business.service.impl; package com.yeejoin.amos.fas.business.service.impl;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
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;
...@@ -31,42 +12,33 @@ import com.yeejoin.amos.fas.business.bo.SafetyExecuteBo; ...@@ -31,42 +12,33 @@ import com.yeejoin.amos.fas.business.bo.SafetyExecuteBo;
import com.yeejoin.amos.fas.business.constants.FasConstant; import com.yeejoin.amos.fas.business.constants.FasConstant;
import com.yeejoin.amos.fas.business.dao.mapper.PatrolMapper; import com.yeejoin.amos.fas.business.dao.mapper.PatrolMapper;
import com.yeejoin.amos.fas.business.dao.mapper.View3dMapper; import com.yeejoin.amos.fas.business.dao.mapper.View3dMapper;
import com.yeejoin.amos.fas.business.dao.repository.IEquipmentDao; import com.yeejoin.amos.fas.business.dao.repository.*;
import com.yeejoin.amos.fas.business.dao.repository.IFireCarDao;
import com.yeejoin.amos.fas.business.dao.repository.IFireEquipmentDao;
import com.yeejoin.amos.fas.business.dao.repository.IFireStationDao;
import com.yeejoin.amos.fas.business.dao.repository.IRiskLevelDao;
import com.yeejoin.amos.fas.business.dao.repository.IRiskSourceDao;
import com.yeejoin.amos.fas.business.dao.repository.ISafetyIndexChangeLogDao;
import com.yeejoin.amos.fas.business.dao.repository.IWaterResourceDao;
import com.yeejoin.amos.fas.business.feign.IDutyModeServer; import com.yeejoin.amos.fas.business.feign.IDutyModeServer;
import com.yeejoin.amos.fas.business.feign.RemoteWebSocketServer; import com.yeejoin.amos.fas.business.feign.RemoteWebSocketServer;
import com.yeejoin.amos.fas.business.service.intfc.IDataRefreshService;
import com.yeejoin.amos.fas.business.service.intfc.IView3dService; import com.yeejoin.amos.fas.business.service.intfc.IView3dService;
import com.yeejoin.amos.fas.business.vo.ErrorContentVo; import com.yeejoin.amos.fas.business.vo.*;
import com.yeejoin.amos.fas.business.vo.ExceptionRegionVo; import com.yeejoin.amos.fas.common.enums.*;
import com.yeejoin.amos.fas.business.vo.SafetyIndexDetailVo;
import com.yeejoin.amos.fas.business.vo.TodaySafetyIndexVo;
import com.yeejoin.amos.fas.business.vo.View3dNodeVo;
import com.yeejoin.amos.fas.common.enums.CheckStatusEnum;
import com.yeejoin.amos.fas.common.enums.PlanTaskDetailStatusEnum;
import com.yeejoin.amos.fas.common.enums.ResourceTypeDefEnum;
import com.yeejoin.amos.fas.common.enums.RpnChangeTypeEum;
import com.yeejoin.amos.fas.common.enums.StatisticsErrorTypeEum;
import com.yeejoin.amos.fas.common.enums.View3dRefreshAreaEum;
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.RegionTreeResponse; import com.yeejoin.amos.fas.core.common.response.RegionTreeResponse;
import com.yeejoin.amos.fas.core.util.CommonResponse; import com.yeejoin.amos.fas.core.util.CommonResponse;
import com.yeejoin.amos.fas.core.util.CommonResponseUtil; import com.yeejoin.amos.fas.core.util.CommonResponseUtil;
import com.yeejoin.amos.fas.core.util.StringUtil; import com.yeejoin.amos.fas.core.util.StringUtil;
import com.yeejoin.amos.fas.dao.entity.Equipment; import com.yeejoin.amos.fas.dao.entity.*;
import com.yeejoin.amos.fas.dao.entity.FireCar;
import com.yeejoin.amos.fas.dao.entity.FireEquipment;
import com.yeejoin.amos.fas.dao.entity.FireStation;
import com.yeejoin.amos.fas.dao.entity.RiskLevel;
import com.yeejoin.amos.fas.dao.entity.RiskSource;
import com.yeejoin.amos.fas.dao.entity.SafetyIndexChangeLog;
import com.yeejoin.amos.fas.dao.entity.WaterResource;
import com.yeejoin.amos.fas.exception.YeeException; import com.yeejoin.amos.fas.exception.YeeException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/** /**
* @author DELL * @author DELL
...@@ -105,6 +77,9 @@ public class View3dServiceImpl implements IView3dService { ...@@ -105,6 +77,9 @@ public class View3dServiceImpl implements IView3dService {
@Value("${param.system.online.date}") @Value("${param.system.online.date}")
private String onLineDate; private String onLineDate;
@Autowired
private IDataRefreshService iDataRefreshService;
@Override @Override
...@@ -510,37 +485,26 @@ public class View3dServiceImpl implements IView3dService { ...@@ -510,37 +485,26 @@ public class View3dServiceImpl implements IView3dService {
} }
@Override @Override
public void safetyIndexRefresh() { public void safetyIndexLogGenJob(String runData) {
try { Date collectDate = StringUtil.isNotEmpty(runData) ? DateUtil.formatDate(runData,DateUtil.DATE_DEFAULT_FORMAT) : DateUtil.getDayBefore(new Date());
List<RiskSource> riskSources = iRiskSourceDao.findByParentId(0l); //1.安全指数流水生成
List<SafetyIndexChangeLog> sageTyIndexs = new ArrayList<>(); try {
sageTyIndexs = riskSources.stream().map(riskSource -> { List<RiskSource> riskSources = iRiskSourceDao.findByParentId(0L);
List<SafetyIndexChangeLog> safetyIndexChangeLogs = new ArrayList<>();
safetyIndexChangeLogs = riskSources.stream().map(riskSource -> {
SafetyIndexChangeLog safetyIndexChangeLog = new SafetyIndexChangeLog(); SafetyIndexChangeLog safetyIndexChangeLog = new SafetyIndexChangeLog();
safetyIndexChangeLog.setOrgCode(riskSource.getOrgCode()); safetyIndexChangeLog.setOrgCode(riskSource.getOrgCode());
double changeRpnToSafetyIndex = this.changeRpnToSafetyIndex(riskSource.getRpn()); double changeRpnToSafetyIndex = this.changeRpnToSafetyIndex(riskSource.getRpn());
safetyIndexChangeLog.setSafetyIndex(BigDecimal.valueOf(changeRpnToSafetyIndex)); safetyIndexChangeLog.setSafetyIndex(BigDecimal.valueOf(changeRpnToSafetyIndex));
safetyIndexChangeLog.setCollectDate(new Date()); safetyIndexChangeLog.setCollectDate(collectDate);
return safetyIndexChangeLog; return safetyIndexChangeLog;
}).collect(Collectors.toList());; }).collect(Collectors.toList());;
iSafetyIndexChangeLogDao.saveAll(sageTyIndexs); iSafetyIndexChangeLogDao.saveAll(safetyIndexChangeLogs);
} catch (Exception e) {
log.error("更新失败: " + e.getMessage());
e.printStackTrace();
}
this.sendRefreshDate();
}
//推送刷新数据消息
private void sendRefreshDate() {
HashMap<String, String> message = new HashMap<>();
message.put("refreshType", View3dRefreshAreaEum.all.getCode());
try {
remoteWebSocketServer.sendMessage("refreshDate", JSON.toJSONString(message));
} catch (Exception e) { } catch (Exception e) {
log.error("推送消息失败!!!"); log.error("安全指数流水生成失败: " + e.getMessage());
e.printStackTrace();
} }
//2.通知日切进行数据刷新
iDataRefreshService.refreshViewData(DataRefreshTypeEum.dateChange.getCode());
} }
} }
...@@ -128,7 +128,8 @@ public interface IView3dService { ...@@ -128,7 +128,8 @@ public interface IView3dService {
CommonResponse get3dPointsByModel(String orgCode,String model); CommonResponse get3dPointsByModel(String orgCode,String model);
/** /**
* 刷新安全指数 * 安全指数流水生成
* @param runData 日切日期
*/ */
void safetyIndexRefresh(); void safetyIndexLogGenJob(String runData);
} }
...@@ -44,7 +44,7 @@ spring.http.multipart.MaxRequestSize = 50480000 ...@@ -44,7 +44,7 @@ spring.http.multipart.MaxRequestSize = 50480000
windows.img.path = D:\\ windows.img.path = D:\\
linux.img.path = / linux.img.path = /
# dutyMode.fegin.name=AMOSDUTYMODE
param.safetyIndexchange.cron = 0 0 2 * * ? param.safetyIndexChange.cron = 0 0 2 * * ?
...@@ -182,4 +182,15 @@ ...@@ -182,4 +182,15 @@
<column name="type"/> <column name="type"/>
</createIndex> </createIndex>
</changeSet> </changeSet>
<changeSet author="suhuiguang" id="1588140925893-1">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="f_safety_index_change_log" columnName="create_date"/>
</not>
</preConditions>
<comment>f_safety_index_change_log add column create_date</comment>
<sql>
alter table `f_safety_index_change_log` add column `create_date` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间';
</sql>
</changeSet>
</databaseChangeLog> </databaseChangeLog>
\ 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