|
@@ -6,10 +6,10 @@ import com.welampiot.service.LampInfoLogService;
|
|
import com.welampiot.utils.ToolUtils;
|
|
import com.welampiot.utils.ToolUtils;
|
|
import com.welampiot.vo.AllAlarmInfoLogVO;
|
|
import com.welampiot.vo.AllAlarmInfoLogVO;
|
|
import com.welampiot.vo.LampLogVO;
|
|
import com.welampiot.vo.LampLogVO;
|
|
-import lombok.val;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
+import java.text.DecimalFormat;
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
@@ -98,16 +98,17 @@ public class LampInfoLogServiceImpl implements LampInfoLogService {
|
|
LocalDateTime end = parseLocalDateTime(nowTime).withHour(23);
|
|
LocalDateTime end = parseLocalDateTime(nowTime).withHour(23);
|
|
|
|
|
|
Integer lightTime = lastLightTime;
|
|
Integer lightTime = lastLightTime;
|
|
|
|
+ DecimalFormat df = new DecimalFormat("0.##");
|
|
for (LocalDateTime time = first; time.isBefore(end); time = time.plusHours(1)) {
|
|
for (LocalDateTime time = first; time.isBefore(end); time = time.plusHours(1)) {
|
|
LampInfoLogDTO current = logs.get(time);
|
|
LampInfoLogDTO current = logs.get(time);
|
|
|
|
|
|
if (current != null) {
|
|
if (current != null) {
|
|
int value = current.getWorkTimeTotal() - lightTime;
|
|
int value = current.getWorkTimeTotal() - lightTime;
|
|
if (value < 0) value = current.getWorkTimeTotal();
|
|
if (value < 0) value = current.getWorkTimeTotal();
|
|
- dataList.add(value);
|
|
|
|
|
|
+ dataList.add(df.format(value / 60.0));
|
|
lightTime = current.getWorkTimeTotal();
|
|
lightTime = current.getWorkTimeTotal();
|
|
} else {
|
|
} else {
|
|
- dataList.add(0);
|
|
|
|
|
|
+ dataList.add("0");
|
|
}
|
|
}
|
|
String timeStr = time.format(formatter);
|
|
String timeStr = time.format(formatter);
|
|
dateList.add(timeStr);
|
|
dateList.add(timeStr);
|
|
@@ -123,52 +124,4 @@ public class LampInfoLogServiceImpl implements LampInfoLogService {
|
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
return LocalDateTime.parse(dateStr, formatter).withMinute(0).withSecond(0);
|
|
return LocalDateTime.parse(dateStr, formatter).withMinute(0).withSecond(0);
|
|
}
|
|
}
|
|
-
|
|
|
|
- public static void main(String[] args) {
|
|
|
|
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
|
- String nowTime = "2024-12-13 14:01:15"; // 假设这是你从 ToolUtils.getNowTime() 获取的时间字符串
|
|
|
|
- LocalDateTime first = parseLocalDateTime(nowTime).withHour(0);
|
|
|
|
- LocalDateTime end = parseLocalDateTime(nowTime).withHour(23);
|
|
|
|
- System.out.println("first = " + first.format(formatter));
|
|
|
|
- System.out.println("end = " + end.format(formatter));
|
|
|
|
- System.out.println("first = " + first.minusHours(1).format(formatter));
|
|
|
|
-
|
|
|
|
- List<LampInfoLogDTO> list = new ArrayList<>();
|
|
|
|
- val lampInfoLogDTO = new LampInfoLogDTO();
|
|
|
|
- lampInfoLogDTO.setUpdateTime("2024-12-13 08:12:25");
|
|
|
|
- lampInfoLogDTO.setWorkTimeTotal(234);
|
|
|
|
-
|
|
|
|
- val lampInfoLogDTO1 = new LampInfoLogDTO();
|
|
|
|
- lampInfoLogDTO1.setUpdateTime("2024-12-13 08:38:56");
|
|
|
|
- lampInfoLogDTO1.setWorkTimeTotal(236);
|
|
|
|
-
|
|
|
|
- val lampInfoLogDTO2 = new LampInfoLogDTO();
|
|
|
|
- lampInfoLogDTO2.setUpdateTime("2024-12-13 10:12:25");
|
|
|
|
- lampInfoLogDTO2.setWorkTimeTotal(238);
|
|
|
|
-
|
|
|
|
- val lampInfoLogDTO3 = new LampInfoLogDTO();
|
|
|
|
- lampInfoLogDTO3.setUpdateTime("2024-12-13 11:12:25");
|
|
|
|
- lampInfoLogDTO3.setWorkTimeTotal(239);
|
|
|
|
-
|
|
|
|
- val lampInfoLogDTO4 = new LampInfoLogDTO();
|
|
|
|
- lampInfoLogDTO4.setUpdateTime("2024-12-13 12:22:23");
|
|
|
|
- lampInfoLogDTO4.setWorkTimeTotal(240);
|
|
|
|
-
|
|
|
|
- val lampInfoLogDTO5 = new LampInfoLogDTO();
|
|
|
|
- lampInfoLogDTO5.setUpdateTime("2024-12-13 12:45:25");
|
|
|
|
- lampInfoLogDTO5.setWorkTimeTotal(241);
|
|
|
|
- list.add(lampInfoLogDTO);
|
|
|
|
- list.add(lampInfoLogDTO1);
|
|
|
|
- list.add(lampInfoLogDTO2);
|
|
|
|
- list.add(lampInfoLogDTO3);
|
|
|
|
- list.add(lampInfoLogDTO4);
|
|
|
|
- list.add(lampInfoLogDTO5);
|
|
|
|
-
|
|
|
|
- Map<LocalDateTime, LampInfoLogDTO> logs = list.stream()
|
|
|
|
- .collect(Collectors.toMap(
|
|
|
|
- log -> parseLocalDateTime(log.getUpdateTime()),
|
|
|
|
- log -> log,
|
|
|
|
- (existing, replacement) -> existing.getUpdateTime().compareTo(replacement.getUpdateTime()) > 0 ? existing : replacement));
|
|
|
|
- System.out.println("logs = " + logs);
|
|
|
|
- }
|
|
|
|
}
|
|
}
|