Browse Source

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

develop
wangsixiang 3 months ago
parent
commit
a031a81a64
  1. 59
      zc-business/src/main/java/com/zc/business/controller/WeatherForecastController.java
  2. 117
      zc-business/src/main/java/com/zc/business/controller/WordController.java

59
zc-business/src/main/java/com/zc/business/controller/WeatherForecastController.java

@ -213,7 +213,66 @@ public class WeatherForecastController extends BaseController {
}
@Scheduled(cron = "0 45 * * * ?")
public void HourWeather(){
HashMap<String, Object> parameter = new HashMap<>();
parameter.put("forecastHour",UniversalEnum.TWENTY_FOUR.getNumber());
parameter.put("managerId","YG10201");
parameter.put("roadId","G003537");
parameter.put("stakeNum","K60+000|K105+000|K145+000|K165+000|K175+000|K190+000|K200+000|K205+000");
//拿到获取到的桩号值并处理拆分
String stakeNum = String.valueOf(parameter.get("stakeNum"));
String[] split = stakeNum.split("[|]");
StringBuilder numStake = new StringBuilder();
//循环执行查询周围最近的5的倍数的桩号(集团接口需求 桩号从K50+000开始 K55+000 K60+000……以此类推)
for (int i = UniversalEnum.ZERO.getNumber(); i < split.length; i++) {
String[] split1 = split[i].split("[+]");
String k = split1[UniversalEnum.ZERO.getNumber()].replace(UniversalEnum.CAPITAL_K.getValue(), UniversalEnum.EMPTY_STRING.getValue());
int parseInt = Integer.parseInt(k);
numStake.append(UniversalEnum.CAPITAL_K.getValue()).append(findNearestMultipleOfFive(parseInt)).append("+000");
if (i != split.length - UniversalEnum.ONE.getNumber()) {
numStake.append(UniversalEnum.VERTICAL_LINE.getValue());
}
}
parameter.put("stakeNum", numStake);
try {
OkHttp okHttp = new OkHttp();
RequestParams requestParams = new RequestParams(parameter);
Response response // 请求响应
= okHttp
.headers(new HashMap<>())
.url(UniversalEnum.CURRENT_WEATHER_AND_FORECAST_INFORMATION.getValue()) // 请求地址
//.url("http://10.166.133.9:38999/api/weather_service/get_weather_info_jh") // 请求地址
.data(requestParams)
.post(); // 请求方法
if (response.body() != null) {
JSONObject jsonResult = JSONObject.parseObject(response.body().string());
//判断请求是否成功 成功则判断data字段数组长度是否为0 否则获取redis中的缓存进行返回
if (jsonResult.getInteger("code") == UniversalEnum.TWO_HUNDRED.getNumber()) {
JSONArray data = jsonResult.getJSONArray("data");
;
JSONArray jsonArray = processingWeatherData(data);
//判断返回data是否不为0 不为0则将数据进行返回 为0则获取redis中的缓存进行返回
if (jsonArray.size() != UniversalEnum.ZERO.getNumber()) {
redisCache.deleteObject("twentyFourHourWeather");
redisCache.setCacheObject("twentyFourHourWeather", jsonArray);
}
}
}
}catch (Exception ignored) {
logger.error(String.valueOf(ignored));
}
}
/*
* 当前气象及预报信息查询
* */

117
zc-business/src/main/java/com/zc/business/controller/WordController.java

@ -1,7 +1,11 @@
package com.zc.business.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.utils.DateUtils;
import com.zc.business.domain.DcTollStationStatisticsData;
import com.zc.business.enums.TrafficDataPeriodTypeEnum;
@ -59,6 +63,9 @@ public class WordController {
@Autowired
private IDcGantryStatisticsDataService dcGantryStatisticsDataService;
@Autowired
private RedisCache redisCache;
@PostMapping("/trafficSituationReport")
@ApiOperation("导出通行情况快报")
@ -155,11 +162,14 @@ public class WordController {
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);
if (ajaxResult.get("code").equals(UniversalEnum.TWO_HUNDRED.getNumber())) {
JSONArray jsonArray = redisCache.getCacheObject("twentyFourHourWeather");
// AjaxResult ajaxResult = weatherForecastController.currentWeatherAndForecastInformation(params);
if (jsonArray != null) {
List<Map<String,Object>> data = (List<Map<String,Object>>) ajaxResult.get("data");
List<Map<String,Object>> data = (List<Map<String,Object>>) JSON.toJSON(jsonArray);
if (data != null && data.size() != UniversalEnum.ZERO.getNumber()){
XWPFTable table = doc.createTable(UniversalEnum.NINE.getNumber(), UniversalEnum.TEN.getNumber());
@ -171,15 +181,13 @@ public class WordController {
DateTimeFormatter parseFormatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
data.forEach(dataItem ->{
List<Map<String,Object>> weatherList = (List<Map<String,Object>>) dataItem.get("forecastList");
if (weatherList != null && weatherList.size() > 0){
weatherList = weatherList.stream()
.sorted(Comparator.comparing(map -> LocalDateTime.parse(map.get("weatherTime").toString(), parseFormatter)))
.collect(Collectors.toList());
if (UniversalEnum.STAKE_NUM_K60.getValue().equals(dataItem.get("stakeNum"))){
setTableFonts(table.getRow(UniversalEnum.ONE.getNumber()).getCell(UniversalEnum.ZERO.getNumber()), UniversalEnum.CHANG_QING_DISTRICT.getValue());
if (UniversalEnum.STAKE_NUM_K60.getValue().equals(dataItem.get("stakeNum"))){
setTableFonts(table.getRow(UniversalEnum.ONE.getNumber()).getCell(UniversalEnum.ZERO.getNumber()), UniversalEnum.CHANG_QING_DISTRICT.getValue());
List<Map<String,Object>> weatherList = (List<Map<String,Object>>) dataItem.get("forecastList");
if (weatherList != null && weatherList.size() > 0){
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);
@ -187,40 +195,83 @@ public class WordController {
setTableFonts(table.getRow(UniversalEnum.ZERO.getNumber()).getCell(i+UniversalEnum.ONE.getNumber()),localDateTime.format(formatFormatter));
setTableFonts(table.getRow(UniversalEnum.ONE.getNumber()).getCell(i+UniversalEnum.ONE.getNumber()), weatherList.get(i).get("weatherDescription").toString());
}
} else if (UniversalEnum.STAKE_NUM_K105.getValue().equals(dataItem.get("stakeNum"))){
setTableFonts(table.getRow(UniversalEnum.TWO.getNumber()).getCell(UniversalEnum.ZERO.getNumber()), UniversalEnum.PING_YIN_COUNTY.getValue());
}
} else if (UniversalEnum.STAKE_NUM_K105.getValue().equals(dataItem.get("stakeNum"))){
setTableFonts(table.getRow(UniversalEnum.TWO.getNumber()).getCell(UniversalEnum.ZERO.getNumber()), UniversalEnum.PING_YIN_COUNTY.getValue());
List<Map<String,Object>> weatherList = (List<Map<String,Object>>) dataItem.get("forecastList");
if (weatherList != null && weatherList.size() > 0) {
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++) {
setTableFonts(table.getRow(UniversalEnum.TWO.getNumber()).getCell(i+UniversalEnum.ONE.getNumber()), weatherList.get(i).get("weatherDescription").toString());
setTableFonts(table.getRow(UniversalEnum.TWO.getNumber()).getCell(i + UniversalEnum.ONE.getNumber()), weatherList.get(i).get("weatherDescription").toString());
}
} else if (UniversalEnum.STAKE_NUM_K145.getValue().equals(dataItem.get("stakeNum"))){
setTableFonts(table.getRow(UniversalEnum.THREE.getNumber()).getCell(UniversalEnum.ZERO.getNumber()), UniversalEnum.DONG_PING_COUNTY.getValue());
}
} else if (UniversalEnum.STAKE_NUM_K145.getValue().equals(dataItem.get("stakeNum"))){
setTableFonts(table.getRow(UniversalEnum.THREE.getNumber()).getCell(UniversalEnum.ZERO.getNumber()), UniversalEnum.DONG_PING_COUNTY.getValue());
List<Map<String,Object>> weatherList = (List<Map<String,Object>>) dataItem.get("forecastList");
if (weatherList != null && weatherList.size() > 0) {
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++) {
setTableFonts(table.getRow(UniversalEnum.THREE.getNumber()).getCell(i+UniversalEnum.ONE.getNumber()), weatherList.get(i).get("weatherDescription").toString());
setTableFonts(table.getRow(UniversalEnum.THREE.getNumber()).getCell(i + UniversalEnum.ONE.getNumber()), weatherList.get(i).get("weatherDescription").toString());
}
} else if (UniversalEnum.STAKE_NUM_K165.getValue().equals(dataItem.get("stakeNum"))){
setTableFonts(table.getRow(UniversalEnum.FOUR.getNumber()).getCell(UniversalEnum.ZERO.getNumber()), UniversalEnum.WEN_SHANG_COUNTY.getValue());
}
} else if (UniversalEnum.STAKE_NUM_K165.getValue().equals(dataItem.get("stakeNum"))){
setTableFonts(table.getRow(UniversalEnum.FOUR.getNumber()).getCell(UniversalEnum.ZERO.getNumber()), UniversalEnum.WEN_SHANG_COUNTY.getValue());
List<Map<String,Object>> weatherList = (List<Map<String,Object>>) dataItem.get("forecastList");
if (weatherList != null && weatherList.size() > 0) {
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++) {
setTableFonts(table.getRow(UniversalEnum.FOUR.getNumber()).getCell(i+UniversalEnum.ONE.getNumber()), weatherList.get(i).get("weatherDescription").toString());
setTableFonts(table.getRow(UniversalEnum.FOUR.getNumber()).getCell(i + UniversalEnum.ONE.getNumber()), weatherList.get(i).get("weatherDescription").toString());
}
} else if (UniversalEnum.STAKE_NUM_K175.getValue().equals(dataItem.get("stakeNum"))){
setTableFonts(table.getRow(UniversalEnum.FIVE.getNumber()).getCell(UniversalEnum.ZERO.getNumber()), UniversalEnum.LIANG_SHAN_COUNTY.getValue());
}
} else if (UniversalEnum.STAKE_NUM_K175.getValue().equals(dataItem.get("stakeNum"))){
setTableFonts(table.getRow(UniversalEnum.FIVE.getNumber()).getCell(UniversalEnum.ZERO.getNumber()), UniversalEnum.LIANG_SHAN_COUNTY.getValue());
List<Map<String,Object>> weatherList = (List<Map<String,Object>>) dataItem.get("forecastList");
if (weatherList != null && weatherList.size() > 0) {
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++) {
setTableFonts(table.getRow(UniversalEnum.FIVE.getNumber()).getCell(i+UniversalEnum.ONE.getNumber()), weatherList.get(i).get("weatherDescription").toString());
setTableFonts(table.getRow(UniversalEnum.FIVE.getNumber()).getCell(i + UniversalEnum.ONE.getNumber()), weatherList.get(i).get("weatherDescription").toString());
}
} else if (UniversalEnum.STAKE_NUM_K190.getValue().equals(dataItem.get("stakeNum"))){
setTableFonts(table.getRow(UniversalEnum.SIX.getNumber()).getCell(UniversalEnum.ZERO.getNumber()), UniversalEnum.JIA_XIANG_COUNTY.getValue());
}
} else if (UniversalEnum.STAKE_NUM_K190.getValue().equals(dataItem.get("stakeNum"))){
setTableFonts(table.getRow(UniversalEnum.SIX.getNumber()).getCell(UniversalEnum.ZERO.getNumber()), UniversalEnum.JIA_XIANG_COUNTY.getValue());
List<Map<String,Object>> weatherList = (List<Map<String,Object>>) dataItem.get("forecastList");
if (weatherList != null && weatherList.size() > 0) {
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++) {
setTableFonts(table.getRow(UniversalEnum.SIX.getNumber()).getCell(i+UniversalEnum.ONE.getNumber()), weatherList.get(i).get("weatherDescription").toString());
setTableFonts(table.getRow(UniversalEnum.SIX.getNumber()).getCell(i + UniversalEnum.ONE.getNumber()), weatherList.get(i).get("weatherDescription").toString());
}
} else if (UniversalEnum.STAKE_NUM_K200.getValue().equals(dataItem.get("stakeNum"))){
setTableFonts(table.getRow(UniversalEnum.SEVEN.getNumber()).getCell(UniversalEnum.ZERO.getNumber()), UniversalEnum.JUYE_COUNTY.getValue());
}
} else if (UniversalEnum.STAKE_NUM_K200.getValue().equals(dataItem.get("stakeNum"))){
setTableFonts(table.getRow(UniversalEnum.SEVEN.getNumber()).getCell(UniversalEnum.ZERO.getNumber()), UniversalEnum.JUYE_COUNTY.getValue());
List<Map<String,Object>> weatherList = (List<Map<String,Object>>) dataItem.get("forecastList");
if (weatherList != null && weatherList.size() > 0) {
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++) {
setTableFonts(table.getRow(UniversalEnum.SEVEN.getNumber()).getCell(i+UniversalEnum.ONE.getNumber()), weatherList.get(i).get("weatherDescription").toString());
setTableFonts(table.getRow(UniversalEnum.SEVEN.getNumber()).getCell(i + UniversalEnum.ONE.getNumber()), weatherList.get(i).get("weatherDescription").toString());
}
} else if (UniversalEnum.STAKE_NUM_K205.getValue().equals(dataItem.get("stakeNum"))){
setTableFonts(table.getRow(UniversalEnum.EIGHT.getNumber()).getCell(UniversalEnum.ZERO.getNumber()), UniversalEnum.YUN_CHENG_COUNTY.getValue());
}
} else if (UniversalEnum.STAKE_NUM_K205.getValue().equals(dataItem.get("stakeNum"))){
setTableFonts(table.getRow(UniversalEnum.EIGHT.getNumber()).getCell(UniversalEnum.ZERO.getNumber()), UniversalEnum.YUN_CHENG_COUNTY.getValue());
List<Map<String,Object>> weatherList = (List<Map<String,Object>>) dataItem.get("forecastList");
if (weatherList != null && weatherList.size() > 0) {
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++) {
setTableFonts(table.getRow(UniversalEnum.EIGHT.getNumber()).getCell(i+UniversalEnum.ONE.getNumber()), weatherList.get(i).get("weatherDescription").toString());
setTableFonts(table.getRow(UniversalEnum.EIGHT.getNumber()).getCell(i + UniversalEnum.ONE.getNumber()), weatherList.get(i).get("weatherDescription").toString());
}
}
}

Loading…
Cancel
Save