功能调整
This commit is contained in:
@@ -55,6 +55,7 @@ import java.text.DecimalFormat;
|
||||
import java.time.Duration;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -234,7 +235,7 @@ public class DataServiceImpl implements IDataService {
|
||||
commonQueryParam.setColumnName("Apf_ModWorkingSts");
|
||||
commonQueryParam.setResultName("value");
|
||||
commonQueryParam.setTableName("apf_data");
|
||||
commonQueryParam.setStartTime(param.getEndTime()+" 00:00:00");
|
||||
commonQueryParam.setStartTime(param.getStartTime()+" 00:00:00");
|
||||
commonQueryParam.setEndTime(param.getEndTime()+" 23:59:59");
|
||||
commonQueryParam.setLineId(param.getLineId());
|
||||
commonQueryParam.setDataType("Apf_ModType");
|
||||
@@ -342,8 +343,22 @@ public class DataServiceImpl implements IDataService {
|
||||
EachModuleVO.HarmonicVo last = dataList.get(dataList.size() - 1);
|
||||
moduleVO.setModuleState(last.getStateDesc());
|
||||
//如果模块掉线超过30分钟,则续上数据
|
||||
int timeCompare = compareWithCurrentTime(commonQueryParam.getEndTime());
|
||||
LocalDateTime currentTime;
|
||||
switch (timeCompare) {
|
||||
case -1:
|
||||
case 0:
|
||||
currentTime = LocalDateTime.now();
|
||||
break;
|
||||
case 1:
|
||||
currentTime = LocalDateTime.parse(commonQueryParam.getEndTime(), DatePattern.NORM_DATETIME_FORMATTER);
|
||||
break;
|
||||
default:
|
||||
currentTime = LocalDateTime.now();
|
||||
System.out.println("比较失败");
|
||||
}
|
||||
|
||||
LocalDateTime givenTime = last.getTime();
|
||||
LocalDateTime currentTime = LocalDateTime.now();
|
||||
Duration duration = Duration.between(givenTime, currentTime);
|
||||
boolean isMoreThan30Minutes = duration.toMinutes() > 30;
|
||||
if (isMoreThan30Minutes) {
|
||||
@@ -408,6 +423,17 @@ public class DataServiceImpl implements IDataService {
|
||||
return result;
|
||||
}
|
||||
|
||||
public int compareWithCurrentTime(String timeString) {
|
||||
// 定义日期时间格式
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
// 解析字符串时间为LocalDateTime对象
|
||||
LocalDateTime specifiedTime = LocalDateTime.parse(timeString, formatter);
|
||||
// 获取当前时间
|
||||
LocalDateTime currentTime = LocalDateTime.now();
|
||||
// 比较两个时间
|
||||
return currentTime.compareTo(specifiedTime);
|
||||
}
|
||||
|
||||
|
||||
public ReqAndResDto.Req askApfModuleData(Integer mid, Integer clDId, Integer idx) {
|
||||
ReqAndResDto.Req reqAndResParam = new ReqAndResDto.Req();
|
||||
|
||||
@@ -112,7 +112,6 @@ public class StatisticsDataDataServiceImpl implements IStatisticsDataDataService
|
||||
List<CsLineLatestData> list3 = csLineLatestDataFeignClient.listData().getData();
|
||||
equipmentDeliveryList.forEach(dev->{
|
||||
List<CsLinePO> list = devMap.get(dev.getId());
|
||||
|
||||
if (CollectionUtil.isNotEmpty(list)) {
|
||||
list.forEach(line->{
|
||||
DevDetailDTO dto = csLedgerFeignClient.queryDevDetail(dev.getId()).getData();
|
||||
@@ -157,10 +156,8 @@ public class StatisticsDataDataServiceImpl implements IStatisticsDataDataService
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user