swt-exporter http://jira.mfd.msk:8088/browse/CLS-317 поправил формат
This commit is contained in:
parent
8d4c38a9cb
commit
4382cc5572
4 changed files with 30 additions and 6 deletions
|
|
@ -127,6 +127,15 @@ public abstract class AbstractExporterService<T extends SpcexObjectBase> {
|
||||||
return sdfImdg.getAllValues();
|
return sdfImdg.getAllValues();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Последняя строка - количество
|
||||||
|
* @param records
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
protected int countIssues(Collection<T> records) {
|
||||||
|
return records.size();
|
||||||
|
}
|
||||||
|
|
||||||
// Конвертация (поля см. meta.xml)
|
// Конвертация (поля см. meta.xml)
|
||||||
protected abstract String convertRecord(T record, ConvertionContext context);
|
protected abstract String convertRecord(T record, ConvertionContext context);
|
||||||
|
|
||||||
|
|
@ -135,7 +144,7 @@ public abstract class AbstractExporterService<T extends SpcexObjectBase> {
|
||||||
protected void makeSWTData(SWTHeaderData header, Collection<T> records, OutputStream outStream) {
|
protected void makeSWTData(SWTHeaderData header, Collection<T> records, OutputStream outStream) {
|
||||||
try (PrintWriter out = new PrintWriter(outStream)) {
|
try (PrintWriter out = new PrintWriter(outStream)) {
|
||||||
out.print(header.buildString());
|
out.print(header.buildString());
|
||||||
int counter = 0;
|
int counter = 1; // нумерация начинается с 1
|
||||||
int totalSize = records.size();
|
int totalSize = records.size();
|
||||||
for (T row : records) {
|
for (T row : records) {
|
||||||
ConvertionContext context = new ConvertionContext(mapClass, counter, totalSize);
|
ConvertionContext context = new ConvertionContext(mapClass, counter, totalSize);
|
||||||
|
|
@ -143,8 +152,8 @@ public abstract class AbstractExporterService<T extends SpcexObjectBase> {
|
||||||
out.print(data);
|
out.print(data);
|
||||||
counter++;
|
counter++;
|
||||||
}
|
}
|
||||||
out.print(totalSize);
|
int checkSumCount = countIssues(records);
|
||||||
out.print(lineSeparator);
|
out.print(checkSumCount); // количество
|
||||||
out.flush();
|
out.flush();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,9 @@ import ru.spcex.platform.enumeration.SwtTable;
|
||||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class DF09Exporter extends AbstractExporterService<SDf09> {
|
public class DF09Exporter extends AbstractExporterService<SDf09> {
|
||||||
|
|
@ -70,4 +72,9 @@ public class DF09Exporter extends AbstractExporterService<SDf09> {
|
||||||
return stringBuilder.toString();
|
return stringBuilder.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected int countIssues(Collection<SDf09> records) {
|
||||||
|
return (int) records.stream().map(SDf09::getSecurityCode).filter(Objects::nonNull).distinct().count();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,9 @@ import ru.spcex.platform.enumeration.SwtTable;
|
||||||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
|
|
@ -71,4 +73,10 @@ public class DF11Exporter extends AbstractExporterService<SDf11> {
|
||||||
}
|
}
|
||||||
return swtHeaderData;
|
return swtHeaderData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected int countIssues(Collection<SDf11> records) {
|
||||||
|
return (int) records.stream().map(SDf11::getSecurityCode).filter(Objects::nonNull).distinct().count();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ public class DF12Exporter extends AbstractExporterService<SDf12> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String typeForHeader() {
|
protected String typeForHeader() {
|
||||||
return "012";
|
return "580";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -57,8 +57,8 @@ public class DF12Exporter extends AbstractExporterService<SDf12> {
|
||||||
stringBuilder.append(context.getCountOfRecord()).append(lineSeparator);
|
stringBuilder.append(context.getCountOfRecord()).append(lineSeparator);
|
||||||
stringBuilder.append(context.getTotalCountOfRecords()).append(lineSeparator);
|
stringBuilder.append(context.getTotalCountOfRecords()).append(lineSeparator);
|
||||||
stringBuilder.append(":23:").append(record.getDirection()).append(lineSeparator);
|
stringBuilder.append(":23:").append(record.getDirection()).append(lineSeparator);
|
||||||
stringBuilder.append(":35A:").append(record.getQuantity()).append(lineSeparator);
|
stringBuilder.append(":35A:SHS").append(record.getQuantity()).append(lineSeparator);
|
||||||
stringBuilder.append(":35B:").append(record.getSecurityCode()).append(lineSeparator);
|
stringBuilder.append(":35B:ISIN ").append(record.getSecurityCode()).append(lineSeparator);
|
||||||
stringBuilder.append(":82D:").append(record.getDepoCodeSender()).append(lineSeparator);
|
stringBuilder.append(":82D:").append(record.getDepoCodeSender()).append(lineSeparator);
|
||||||
stringBuilder.append(":87C:").append(record.getDepoCodeAdressee()).append(lineSeparator);
|
stringBuilder.append(":87C:").append(record.getDepoCodeAdressee()).append(lineSeparator);
|
||||||
return stringBuilder.toString();
|
return stringBuilder.toString();
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue