Создание новых позиций / строк CSV в Spring Batch Processor в Batch Job - PullRequest
0 голосов
/ 19 февраля 2020

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

У меня уже есть JdbcItemreader для получения данных из моей БД. Процессор форматирует выходные данные в требуемый формат. И у меня есть базовый c 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 Importer. Теперь мне нужно вычислить «сумму строк», и добавить их перед двумя строками с одинаковыми идентификаторами. Рассчитанная «строка суммы» должна выглядеть следующим образом:

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? так что я могу добавить новые строки в чанк перед записью их в файл?
...