Создание новых элементов / строк CSV в Spring Batch Processor в пакетном задании

Резюме: мне нужно экспортировать некоторые CSV-файлы со строками, которые создаются во время пакетного экспорта.

У меня уже есть JdbcItemreader для получения данных из моей БД. Процессор форматирует OutputData в требуемый формат. И у меня есть базовый FlatFileItemWriter, который записывает CSV-файлы

Вот как выглядят мои экспортированные CSV-строки:

040010;0006765;0001420;0008014;+00000018,00;+00000000,00;+00000018,00;+00000000,00;m06;100220;000014;030;CNAME;30;32

040010;0006765;0001420;0008014;+00000018,00;+00000000,00;+00000018,00;+00000000,00;m06;100220;000014;030;CNAME;30;32

Я знаю, что эти строки выглядят некрасиво, но это требование другого импортера CSV. теперь мне нужно вычислить "строки суммы", которые и добавить их перед двумя строками с одинаковыми идентификаторами. Расчетная "итоговая линия" должна выглядеть так:

040010;0006765;0001420;0008014;+00000036,00;+00000000,00;+00000036,00;+00000000,00;m06;100220;000014;030;CNAME;30;31

Итак, окончательный результат должен выглядеть так:

040010;0006765;0001420;0008014;+00000036,00;+00000000,00;+00000036,00;+00000000,00;m06;100220;000014;030;CNAME;30;31
040010;0006765;0001420;0008014;+00000018,00;+00000000,00;+00000018,00;+00000000,00;m06;100220;000014;030;CNAME;30;32   
040010;0006765;0001420;0008014;+00000018,00;+00000000,00;+00000018,00;+00000000,00;m06;100220;000014;030;CNAME;30;32

Вот мои вопросы:

  • можно ли добавлять строки между другими строками в CSV-файле через FlatFileItemWriter? или я должен сгенерировать итоговые строки перед записью файла?
  • возможно ли каким-то образом получить доступ к полному блоку данных в ItemWriter / Processor? так что я могу добавить новые строки в блок перед записью их в файл?

0 ответов

Другие вопросы по тегам