From ece8b20c38ff285098c3542fbdd78ca17a78516b Mon Sep 17 00:00:00 2001 From: "adel.ka" Date: Sat, 1 Nov 2025 14:11:26 +0300 Subject: [PATCH] Revert "SUPPORT-9528: sort fix" This reverts commit a134a96b27067e888acca239ced68cb4177edb05. --- .../ru/micord/ervu/journal/JournalDto.java | 12 ------- .../ervu/journal/mapper/JournalDtoMapper.java | 32 ++++++++++--------- .../JournalInMemoryStaticGridLoadService.java | 3 +- .../java/ru/micord/ervu/util/DateUtils.java | 16 ---------- 4 files changed, 18 insertions(+), 45 deletions(-) diff --git a/backend/src/main/java/ru/micord/ervu/journal/JournalDto.java b/backend/src/main/java/ru/micord/ervu/journal/JournalDto.java index 90f374b8..cbc23a70 100644 --- a/backend/src/main/java/ru/micord/ervu/journal/JournalDto.java +++ b/backend/src/main/java/ru/micord/ervu/journal/JournalDto.java @@ -1,13 +1,10 @@ package ru.micord.ervu.journal; -import java.time.Instant; - public class JournalDto { private Integer documentNumber; private String fileId; private String departureDateTime; - private Instant departureInstant; private String fileName; private Integer filePatternCode; private String senderFio; @@ -27,15 +24,6 @@ public class JournalDto { return this; } - public Instant getDepartureInstant() { - return departureInstant; - } - - public JournalDto setDepartureInstant(Instant departureInstant) { - this.departureInstant = departureInstant; - return this; - } - public String getFileId() { return fileId; } diff --git a/backend/src/main/java/ru/micord/ervu/journal/mapper/JournalDtoMapper.java b/backend/src/main/java/ru/micord/ervu/journal/mapper/JournalDtoMapper.java index c7e0d3ed..f23b7fb4 100644 --- a/backend/src/main/java/ru/micord/ervu/journal/mapper/JournalDtoMapper.java +++ b/backend/src/main/java/ru/micord/ervu/journal/mapper/JournalDtoMapper.java @@ -1,12 +1,14 @@ package ru.micord.ervu.journal.mapper; +import java.time.LocalDateTime; +import java.time.ZoneOffset; import java.time.ZonedDateTime; +import java.time.format.DateTimeFormatter; import ervu_lkrp_ul.ervu_lkrp_ul.db_beans.public_.tables.records.InteractionLogRecord; import ru.micord.ervu.journal.JournalDto; import ru.micord.ervu.journal.JournalFileInfo; import ru.micord.ervu.journal.SenderInfo; -import ru.micord.ervu.util.DateUtils; import static ru.micord.ervu.util.StringUtils.convertToFio; @@ -15,15 +17,9 @@ public class JournalDtoMapper { public static JournalDto mapToJournalDto(JournalFileInfo journalFileInfo, JournalFileInfo.JournalFileDetails journalFileDetails) { SenderInfo senderInfo = journalFileInfo.getSenderInfo(); - ZonedDateTime zonedDateTime = DateUtils.changeTimeZoneKeepingInstant( - journalFileDetails.getDepartureDateTime(), - journalFileDetails.getTimeZone() - ); - return new JournalDto() .setFileId(journalFileDetails.getFileId()) - .setDepartureDateTime(DateUtils.formatWithBracketsTimezone(zonedDateTime)) - .setDepartureInstant(zonedDateTime.toInstant()) + .setDepartureDateTime(parseDateTime(journalFileDetails.getDepartureDateTime(), journalFileDetails.getTimeZone())) .setFileName(journalFileDetails.getFileName()) .setFilePatternCode(journalFileDetails.getFilePatternCode()) .setSenderFio(convertToFio(senderInfo.getFirstName(), senderInfo.getMiddleName(), @@ -37,14 +33,9 @@ public class JournalDtoMapper { } public static JournalDto mapToJournalDto(InteractionLogRecord record) { - ZonedDateTime zonedDateTime = DateUtils.changeTimeZoneKeepingInstant( - record.getSentDate().toLocalDateTime(), - record.getOffset() - ); - return new JournalDto() - .setDepartureDateTime(DateUtils.formatWithBracketsTimezone(zonedDateTime)) - .setDepartureInstant(zonedDateTime.toInstant()) + .setDepartureDateTime( + parseDateTime(record.getSentDate().toLocalDateTime(), record.getOffset())) .setFileName(record.getFileName()) .setFilePatternCode(Integer.valueOf(record.getForm())) .setSenderFio(record.getSender()) @@ -54,4 +45,15 @@ public class JournalDtoMapper { .setRowsError(0) .setFileId(record.getFileId()); } + + private static String parseDateTime(LocalDateTime dateTime, String timeZone) { + if (timeZone == null) { + timeZone = "+00:00"; + } + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss"); + ZonedDateTime utcZoned = dateTime.atZone(ZoneOffset.UTC); + ZoneOffset offset = ZoneOffset.of(timeZone); + ZonedDateTime zonedDateTime = utcZoned.withZoneSameInstant(offset); + return zonedDateTime.format(formatter) + " (" + timeZone + ")"; + } } diff --git a/backend/src/main/java/ru/micord/ervu/service/grid/impl/JournalInMemoryStaticGridLoadService.java b/backend/src/main/java/ru/micord/ervu/service/grid/impl/JournalInMemoryStaticGridLoadService.java index 43405951..18edee51 100644 --- a/backend/src/main/java/ru/micord/ervu/service/grid/impl/JournalInMemoryStaticGridLoadService.java +++ b/backend/src/main/java/ru/micord/ervu/service/grid/impl/JournalInMemoryStaticGridLoadService.java @@ -1,6 +1,5 @@ package ru.micord.ervu.service.grid.impl; -import java.time.LocalDateTime; import java.util.Arrays; import java.util.Comparator; import java.util.List; @@ -86,7 +85,7 @@ public class JournalInMemoryStaticGridLoadService implements HashSet seenFileIds = new HashSet<>(); return Stream.concat(dbJournalList.stream(), ervuJournalList.stream()) .filter(journal -> seenFileIds.add(journal.getFileId())) - .sorted(Comparator.comparing(JournalDto::getDepartureInstant).reversed()) + .sorted(Comparator.comparing(JournalDto::getDepartureDateTime).reversed()) .map(journal -> journal .setDocumentNumber(counter.getAndIncrement()) diff --git a/backend/src/main/java/ru/micord/ervu/util/DateUtils.java b/backend/src/main/java/ru/micord/ervu/util/DateUtils.java index 435e4476..c954a1dc 100644 --- a/backend/src/main/java/ru/micord/ervu/util/DateUtils.java +++ b/backend/src/main/java/ru/micord/ervu/util/DateUtils.java @@ -17,26 +17,10 @@ public final class DateUtils { private static final DateTimeFormatter DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss"); private static final DateTimeFormatter DATE_TIME_WITH_TIMEZONE_FORMATTER = DateTimeFormatter.ofPattern( "yyyy-MM-dd'T'HH:mm:ss.SSSX"); - private static final DateTimeFormatter DATE_TIME_WITH_TIMEZONE_IN_BRACKETS = DateTimeFormatter.ofPattern( - "dd.MM.yyyy HH:mm:ss (XXX)"); private DateUtils() { } - public static ZonedDateTime changeTimeZoneKeepingInstant(LocalDateTime dateTime, String timeZone) { - if (timeZone == null) { - timeZone = "+00:00"; - } - - ZonedDateTime utcZoned = dateTime.atZone(ZoneOffset.UTC); - ZoneOffset offset = ZoneOffset.of(timeZone); - return utcZoned.withZoneSameInstant(offset); - } - - public static String formatWithBracketsTimezone(ZonedDateTime zonedDateTime) { - return zonedDateTime.format(DATE_TIME_WITH_TIMEZONE_IN_BRACKETS); - } - public static String getCurrentFormattedDateTimeWithZone(){ ZonedDateTime now = ZonedDateTime.now(); return now.format(DATE_TIME_WITH_TIMEZONE_FORMATTER);