From 53577e22b0c2714ecc3654e1f8275652bcfa3b5a Mon Sep 17 00:00:00 2001 From: ialbert Date: Thu, 7 May 2026 12:46:07 +0300 Subject: [PATCH] http://jira.mfd.msk:8088/browse/CLS-999 --- .../clearing/dflt/management/listener/TaskListener.java | 5 +++-- .../management/service/OrderCurrencyTriExportService.java | 6 +++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/listener/TaskListener.java b/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/listener/TaskListener.java index 418e5ee40..f6c00556b 100644 --- a/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/listener/TaskListener.java +++ b/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/listener/TaskListener.java @@ -3,7 +3,7 @@ package ru.spcex.clearing.dflt.management.listener; import java.io.IOException; import java.math.BigDecimal; import java.math.RoundingMode; -import java.nio.charset.StandardCharsets; +import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.Path; import java.time.Instant; @@ -63,6 +63,7 @@ public class TaskListener extends QueueConsumer implements InitializingBean { private final DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS"); private final Path storagePath; private final SendOrdersTypes sendOrdersTypes; + private final Charset winCharset = Charset.forName("windows-1251"); @Autowired public TaskListener(Consumer kafkaQueue, @@ -162,7 +163,7 @@ public class TaskListener extends QueueConsumer implements InitializingBean { String content = orderCurrencyTriExportService.exportToTri(orders); Path fileName = storagePath.resolve(String.format("KS_TS_ORDERS_%s.tri", LocalDateTime.now().format(formatter))); - Files.writeString(fileName, content, StandardCharsets.UTF_8); + Files.writeString(fileName, content, winCharset); if (SendOrdersTypes.FIX == sendOrdersTypes) { log.info("send command to fix service..."); kafkaSender.sendRequestToQueue(Consts.SDOR_FIX_TASK, req.getRequestPayload()); diff --git a/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/service/OrderCurrencyTriExportService.java b/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/service/OrderCurrencyTriExportService.java index b8be32989..230b046c9 100644 --- a/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/service/OrderCurrencyTriExportService.java +++ b/clearing-parent/default-management/src/main/java/ru/spcex/clearing/dflt/management/service/OrderCurrencyTriExportService.java @@ -114,13 +114,17 @@ public class OrderCurrencyTriExportService { return null; } - return formatDecimal(rates.getValue()); + return formatDecimalRate(rates.getValue()); } private String formatDecimal(BigDecimal value) { return value == null ? "" : value.toPlainString(); } + private String formatDecimalRate(BigDecimal value) { + return value == null ? "" : value.stripTrailingZeros().toPlainString(); + } + private String nullSafe(Object value) { return value == null ? "" : String.valueOf(value); }