reports-service точность 2 знака после запятой
This commit is contained in:
parent
2d2a0f5b9c
commit
9e9229588c
4 changed files with 38 additions and 7 deletions
|
|
@ -6,12 +6,12 @@ import ru.spcex.clearing.reports.reports.AbstractReport;
|
|||
import ru.spcex.platform.utils.time.TimeUtil;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
public abstract class ReportDataCollector<T extends AbstractReport> {
|
||||
public static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("dd.MM.yyyy");
|
||||
|
|
@ -55,9 +55,17 @@ public abstract class ReportDataCollector<T extends AbstractReport> {
|
|||
return val.toString();
|
||||
}
|
||||
|
||||
|
||||
protected String toString(Double val) {
|
||||
if (val == null) return null;
|
||||
// точность 2 знака после запятой.
|
||||
return String.format(Locale.US, "%.2f", val.doubleValue());
|
||||
}
|
||||
|
||||
protected String toString(BigDecimal val) {
|
||||
if (val == null) return null;
|
||||
return val.toString();
|
||||
// точность 2 знака после запятой.
|
||||
return val.setScale(2, RoundingMode.HALF_UP).toString();
|
||||
}
|
||||
|
||||
protected String toString(Instant val) {
|
||||
|
|
|
|||
|
|
@ -130,8 +130,8 @@ public class Bt17_1_P1_collector extends ReportDataCollector<ReportBR_0420315_P1
|
|||
ReportBR_0420315_P1.Info_0420315_P1 info_0420315_p1 = new ReportBR_0420315_P1.Info_0420315_P1(company.getId().toString(),
|
||||
company.getFullName(),
|
||||
onMarketString,
|
||||
String.valueOf(contractorQty),
|
||||
String.valueOf(liabilitiesAmount));
|
||||
toString(contractorQty),
|
||||
toString(liabilitiesAmount));
|
||||
reportBR_0420315_p1.getRows().add(info_0420315_p1);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -58,8 +58,8 @@ public class Bt17_1_P2_collector extends ReportDataCollector<ReportBR_0420315_P2
|
|||
|
||||
ReportBR_0420315_P2 reportBR_0420315_p2 = new ReportBR_0420315_P2(startDate, endDate,
|
||||
"BR",
|
||||
String.valueOf(contractorQty),
|
||||
String.valueOf(liabilitiesAmount));
|
||||
toString(contractorQty),
|
||||
toString(liabilitiesAmount));
|
||||
|
||||
return reportBR_0420315_p2;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package ru.spcex.clearing.reports.services;
|
|||
import org.junit.jupiter.api.Test;
|
||||
import ru.spcex.clearing.reports.reports.AbstractReport;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
|
@ -35,6 +36,28 @@ class ReportDataCollectorTest extends ReportDataCollector {
|
|||
assertEquals("26.12.2022", instance.toString(val));
|
||||
}
|
||||
|
||||
@Test
|
||||
void testToString3() {
|
||||
ReportDataCollectorTest instance = new ReportDataCollectorTest();
|
||||
assertEquals(null, instance.toString((BigDecimal)null));
|
||||
assertEquals("0.00", instance.toString(BigDecimal.ZERO));
|
||||
assertEquals("1.10", instance.toString(BigDecimal.valueOf(1.10)));
|
||||
assertEquals("100.12", instance.toString(BigDecimal.valueOf(100.12)));
|
||||
assertEquals("100.12", instance.toString(BigDecimal.valueOf(100.120012)));
|
||||
assertEquals("100.13", instance.toString(BigDecimal.valueOf(100.125012)));
|
||||
}
|
||||
|
||||
@Test
|
||||
void testToString4() {
|
||||
ReportDataCollectorTest instance = new ReportDataCollectorTest();
|
||||
assertEquals(null, instance.toString((Double) null));
|
||||
assertEquals("0.00", instance.toString(0.0));
|
||||
assertEquals("1.10", instance.toString(1.10));
|
||||
assertEquals("100.12", instance.toString(100.12));
|
||||
assertEquals("100.12", instance.toString(100.120012));
|
||||
assertEquals("100.13", instance.toString(100.125012));
|
||||
}
|
||||
|
||||
@Override
|
||||
public AbstractReport collectReportWithPeriod(LocalDate startDate, LocalDate endDate) {
|
||||
throw new IllegalStateException("test");
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue