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();
|
||||
}
|
||||
|
||||
/**
|
||||
* Последняя строка - количество
|
||||
* @param records
|
||||
* @return
|
||||
*/
|
||||
protected int countIssues(Collection<T> records) {
|
||||
return records.size();
|
||||
}
|
||||
|
||||
// Конвертация (поля см. meta.xml)
|
||||
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) {
|
||||
try (PrintWriter out = new PrintWriter(outStream)) {
|
||||
out.print(header.buildString());
|
||||
int counter = 0;
|
||||
int counter = 1; // нумерация начинается с 1
|
||||
int totalSize = records.size();
|
||||
for (T row : records) {
|
||||
ConvertionContext context = new ConvertionContext(mapClass, counter, totalSize);
|
||||
|
|
@ -143,8 +152,8 @@ public abstract class AbstractExporterService<T extends SpcexObjectBase> {
|
|||
out.print(data);
|
||||
counter++;
|
||||
}
|
||||
out.print(totalSize);
|
||||
out.print(lineSeparator);
|
||||
int checkSumCount = countIssues(records);
|
||||
out.print(checkSumCount); // количество
|
||||
out.flush();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,9 @@ import ru.spcex.platform.enumeration.SwtTable;
|
|||
import ru.spcex.platform.imdg.api.ImdgProvider;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Objects;
|
||||
|
||||
@Service
|
||||
public class DF09Exporter extends AbstractExporterService<SDf09> {
|
||||
|
|
@ -70,4 +72,9 @@ public class DF09Exporter extends AbstractExporterService<SDf09> {
|
|||
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 java.time.LocalDateTime;
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Objects;
|
||||
|
||||
|
||||
@Service
|
||||
|
|
@ -71,4 +73,10 @@ public class DF11Exporter extends AbstractExporterService<SDf11> {
|
|||
}
|
||||
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
|
||||
protected String typeForHeader() {
|
||||
return "012";
|
||||
return "580";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -57,8 +57,8 @@ public class DF12Exporter extends AbstractExporterService<SDf12> {
|
|||
stringBuilder.append(context.getCountOfRecord()).append(lineSeparator);
|
||||
stringBuilder.append(context.getTotalCountOfRecords()).append(lineSeparator);
|
||||
stringBuilder.append(":23:").append(record.getDirection()).append(lineSeparator);
|
||||
stringBuilder.append(":35A:").append(record.getQuantity()).append(lineSeparator);
|
||||
stringBuilder.append(":35B:").append(record.getSecurityCode()).append(lineSeparator);
|
||||
stringBuilder.append(":35A:SHS").append(record.getQuantity()).append(lineSeparator);
|
||||
stringBuilder.append(":35B:ISIN ").append(record.getSecurityCode()).append(lineSeparator);
|
||||
stringBuilder.append(":82D:").append(record.getDepoCodeSender()).append(lineSeparator);
|
||||
stringBuilder.append(":87C:").append(record.getDepoCodeAdressee()).append(lineSeparator);
|
||||
return stringBuilder.toString();
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue