Browse Source

Merge remote-tracking branch 'origin/develop' into develop

develop
wangsixiang 6 months ago
parent
commit
3e7f37eb0d
  1. 28
      zc-business/src/main/java/com/zc/business/controller/CodeScanningAlarmController.java
  2. 7
      zc-business/src/main/java/com/zc/business/controller/DcSdhsEventController.java
  3. 2
      zc-business/src/main/java/com/zc/business/service/IDcSdhsEventService.java
  4. 125
      zc-business/src/main/java/com/zc/business/service/impl/DcSdhsEventServiceImpl.java
  5. 25
      zc-business/src/main/java/com/zc/business/service/impl/DcWarningServiceImpl.java

28
zc-business/src/main/java/com/zc/business/controller/CodeScanningAlarmController.java

@ -143,22 +143,20 @@ public class CodeScanningAlarmController extends BaseController {
dcWarning.setOtherConfig(String.valueOf(JSONObject.parseObject(JSONObject.toJSONString(otherConfig))));
dcWarningService.updateDcWarning(dcWarning);
String warningState = oldData.get("warningState").toString();
if (warningState.equals("2")){
DcEventProcess dcEventProcess = new DcEventProcess();
dcEventProcess.setEventId(oldData.get("id").toString());
dcEventProcess.setSource(2);
if (type.equals("video")){
dcEventProcess.setType("mp4");
} else {
dcEventProcess.setType("png");
}
dcEventProcess.setContext(url);
dcEventProcess.setOperatorName("上报人");
dcEventProcess.setOperationTime(new Date());
dcEventProcessMapper.insertDcEventProcess(dcEventProcess);
DcEventProcess dcEventProcess = new DcEventProcess();
dcEventProcess.setEventId(oldData.get("id").toString());
dcEventProcess.setSource(2);
if (type.equals("video")){
dcEventProcess.setType("mp4");
} else {
dcEventProcess.setType("png");
}
dcEventProcess.setContext(url);
dcEventProcess.setOperatorName("上报人");
dcEventProcess.setOperationTime(new Date());
dcEventProcessMapper.insertDcEventProcess(dcEventProcess);
return AjaxResult.success("添加成功");
}

7
zc-business/src/main/java/com/zc/business/controller/DcSdhsEventController.java

@ -198,6 +198,13 @@ public class DcSdhsEventController {
return dcSdhsEventService.selectAccidentType(dcSdhsEventQuery);
}
@ApiOperation("查询天气情况统计")
@PostMapping("/selectWeather")
public AjaxResult selectWeather()
{
return dcSdhsEventService.selectWeather();
}
}

2
zc-business/src/main/java/com/zc/business/service/IDcSdhsEventService.java

@ -32,4 +32,6 @@ public interface IDcSdhsEventService
AjaxResult selectAccidentType(DcSdhsEventQuery dcSdhsEventQuery);
void exportAccidentType(XWPFDocument doc, DcSdhsEventQuery dcSdhsEventQuery);
AjaxResult selectWeather();
}

125
zc-business/src/main/java/com/zc/business/service/impl/DcSdhsEventServiceImpl.java

@ -7,6 +7,7 @@ import com.ruoyi.common.utils.StakeMarkUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.zc.business.constant.RedisKeyConstants;
import com.zc.business.controller.WeatherForecastController;
import com.zc.business.domain.DcSdhsEvent;
import com.zc.business.domain.DcSdhsEventQuery;
import com.zc.business.enums.UniversalEnum;
@ -48,6 +49,8 @@ public class DcSdhsEventServiceImpl implements IDcSdhsEventService {
@Autowired
private RedisCache redisCache;
@Autowired
private WeatherForecastController weatherForecastController;
@Override
@ -742,4 +745,126 @@ public class DcSdhsEventServiceImpl implements IDcSdhsEventService {
addDescription(doc,UniversalEnum.NO_DATA_AVAILABLE.getValue());
}
}
/**
* @Description 查询天气情况统计
*
* @author liuwenge
* @date 2024/8/21 17:14
* @param
* @return com.ruoyi.common.core.domain.AjaxResult
*/
@Override
public AjaxResult selectWeather(){
HashMap<String,Object> params = new HashMap<>();
params.put("roadId",UniversalEnum.ROAD_ID.getValue());
params.put("stakeNum",UniversalEnum.STAKE_NUM.getValue());
params.put("forecastHour",UniversalEnum.TWENTY_FOUR.getValue());
AjaxResult ajaxResult = weatherForecastController.currentWeatherAndForecastInformation(params);
Map<String,Object> result = new HashMap<>();
Map<String,Object> column = new HashMap<>();
List<Map<String,Object>> dataList = new ArrayList<>();
if (ajaxResult.get("code").equals(UniversalEnum.TWO_HUNDRED.getNumber())) {
List<Map<String,Object>> data = (List<Map<String,Object>>) ajaxResult.get("data");
if (data != null && data.size() != UniversalEnum.ZERO.getNumber()){
DateTimeFormatter parseFormatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
data.forEach(dataItem ->{
Map<String,Object> regionMap = new HashMap<>();
if (UniversalEnum.STAKE_NUM_K60.getValue().equals(dataItem.get("stakeNum"))){
regionMap.put("regionName","长清区");
List<Map<String,Object>> weatherList = (List<Map<String,Object>>) dataItem.get("forecastList");
weatherList = weatherList.stream()
.sorted(Comparator.comparing(map -> LocalDateTime.parse(map.get("weatherTime").toString(), parseFormatter)))
.collect(Collectors.toList());
for (int i = UniversalEnum.ZERO.getNumber(); i < weatherList.size(); i++) {
//第一行 格式化时间
LocalDateTime localDateTime = LocalDateTime.parse(weatherList.get(i).get("weatherTime").toString(), parseFormatter);
DateTimeFormatter formatFormatter = DateTimeFormatter.ofPattern("dd日HH时");
column.put("time"+(i+1),localDateTime.format(formatFormatter));
regionMap.put("time"+(i+1),weatherList.get(i).get("weatherDescription").toString());
}
} else if (UniversalEnum.STAKE_NUM_K105.getValue().equals(dataItem.get("stakeNum"))){
regionMap.put("regionName","平阴县");
List<Map<String,Object>> weatherList = (List<Map<String,Object>>) dataItem.get("forecastList");
weatherList = weatherList.stream()
.sorted(Comparator.comparing(map -> LocalDateTime.parse(map.get("weatherTime").toString(), parseFormatter)))
.collect(Collectors.toList());
for (int i = UniversalEnum.ZERO.getNumber(); i < weatherList.size(); i++) {
regionMap.put("time"+(i+1),weatherList.get(i).get("weatherDescription").toString());
}
} else if (UniversalEnum.STAKE_NUM_K145.getValue().equals(dataItem.get("stakeNum"))){
regionMap.put("regionName","东平县");
List<Map<String,Object>> weatherList = (List<Map<String,Object>>) dataItem.get("forecastList");
weatherList = weatherList.stream()
.sorted(Comparator.comparing(map -> LocalDateTime.parse(map.get("weatherTime").toString(), parseFormatter)))
.collect(Collectors.toList());
for (int i = UniversalEnum.ZERO.getNumber(); i < weatherList.size(); i++) {
regionMap.put("time"+(i+1),weatherList.get(i).get("weatherDescription").toString());
}
} else if (UniversalEnum.STAKE_NUM_K165.getValue().equals(dataItem.get("stakeNum"))){
regionMap.put("regionName","汶上县");
List<Map<String,Object>> weatherList = (List<Map<String,Object>>) dataItem.get("forecastList");
weatherList = weatherList.stream()
.sorted(Comparator.comparing(map -> LocalDateTime.parse(map.get("weatherTime").toString(), parseFormatter)))
.collect(Collectors.toList());
for (int i = UniversalEnum.ZERO.getNumber(); i < weatherList.size(); i++) {
regionMap.put("time"+(i+1),weatherList.get(i).get("weatherDescription").toString());
}
} else if (UniversalEnum.STAKE_NUM_K175.getValue().equals(dataItem.get("stakeNum"))){
regionMap.put("regionName","梁山县");
List<Map<String,Object>> weatherList = (List<Map<String,Object>>) dataItem.get("forecastList");
weatherList = weatherList.stream()
.sorted(Comparator.comparing(map -> LocalDateTime.parse(map.get("weatherTime").toString(), parseFormatter)))
.collect(Collectors.toList());
for (int i = UniversalEnum.ZERO.getNumber(); i < weatherList.size(); i++) {
regionMap.put("time"+(i+1),weatherList.get(i).get("weatherDescription").toString());
}
} else if (UniversalEnum.STAKE_NUM_K190.getValue().equals(dataItem.get("stakeNum"))){
regionMap.put("regionName","嘉祥县");
List<Map<String,Object>> weatherList = (List<Map<String,Object>>) dataItem.get("forecastList");
weatherList = weatherList.stream()
.sorted(Comparator.comparing(map -> LocalDateTime.parse(map.get("weatherTime").toString(), parseFormatter)))
.collect(Collectors.toList());
for (int i = UniversalEnum.ZERO.getNumber(); i < weatherList.size(); i++) {
regionMap.put("time"+(i+1),weatherList.get(i).get("weatherDescription").toString());
}
} else if (UniversalEnum.STAKE_NUM_K200.getValue().equals(dataItem.get("stakeNum"))){
regionMap.put("regionName","巨野县");
List<Map<String,Object>> weatherList = (List<Map<String,Object>>) dataItem.get("forecastList");
weatherList = weatherList.stream()
.sorted(Comparator.comparing(map -> LocalDateTime.parse(map.get("weatherTime").toString(), parseFormatter)))
.collect(Collectors.toList());
for (int i = UniversalEnum.ZERO.getNumber(); i < weatherList.size(); i++) {
regionMap.put("time"+(i+1),weatherList.get(i).get("weatherDescription").toString());
}
} else if (UniversalEnum.STAKE_NUM_K205.getValue().equals(dataItem.get("stakeNum"))){
regionMap.put("regionName","郓城县");
List<Map<String,Object>> weatherList = (List<Map<String,Object>>) dataItem.get("forecastList");
weatherList = weatherList.stream()
.sorted(Comparator.comparing(map -> LocalDateTime.parse(map.get("weatherTime").toString(), parseFormatter)))
.collect(Collectors.toList());
for (int i = UniversalEnum.ZERO.getNumber(); i < weatherList.size(); i++) {
regionMap.put("time"+(i+1),weatherList.get(i).get("weatherDescription").toString());
}
}
dataList.add(regionMap);
});
} else {
return AjaxResult.error("暂无数据");
}
} else {
return AjaxResult.error("查询失败");
}
result.put("column",column);
result.put("dataList",dataList);
return AjaxResult.success(result);
}
}

25
zc-business/src/main/java/com/zc/business/service/impl/DcWarningServiceImpl.java

@ -18,6 +18,7 @@ import com.zc.business.enums.UniversalEnum;
import com.zc.business.enums.ValueConverter;
import com.zc.business.enums.WarningSubclassEnum;
import com.zc.business.mapper.DcEventMapper;
import com.zc.business.mapper.DcEventProcessMapper;
import com.zc.business.mapper.DcProcessConfigMapper;
import com.zc.business.mapper.DcWarningMapper;
import com.zc.business.service.IDcEventService;
@ -67,6 +68,8 @@ public class DcWarningServiceImpl implements IDcWarningService {
@Autowired
private DcEventProcessServiceImpl dcEventProcessService;
@Autowired
private DcEventProcessMapper dcEventProcessMapper;
@Autowired
private IDcTrafficPoliceService dcTrafficPoliceService;
@Autowired
private DcProcessConfigMapper dcProcessConfigMapper;
@ -272,6 +275,28 @@ public class DcWarningServiceImpl implements IDcWarningService {
}
//事件推送至 Websocket
int i = dcWarningMapper.insertDcWarning(dcWarning);//如果没有配置策略直接加入数据库;
//扫码报警提前插入处置记录
if (dcWarning.getWarningSource() == 5){
DcEventProcess dcEventProcess = new DcEventProcess();
dcEventProcess.setEventId(uuid);
dcEventProcess.setSource(2);
JSONObject otherConfig = new JSONObject(dcWarning.getOtherConfig());
String phone = otherConfig.getString("phone");
String direction = "1".equals(dcWarning.getDirection()) ? "菏泽方向" : "济南方向";
int eventType = ValueConverter.convertValueHost(dcWarning.getWarningType());
String typeName = ValueConverter.eventTypeName(String.valueOf(eventType));
String context = dcWarning.getStakeMark() + direction + "," + phone + "上报了一起" + typeName + "事件";
dcEventProcess.setContext(context);
dcEventProcess.setOperatorName("上报人");
dcEventProcess.setOperationTime(new Date());
dcEventProcessMapper.insertDcEventProcess(dcEventProcess);
}
extracted(dcWarning);
return i;
}

Loading…
Cancel
Save