From a3caa7bae1ca2fe3f5380f32df5672bb6fa7703c Mon Sep 17 00:00:00 2001 From: mjkhan21 Date: Thu, 3 Apr 2025 09:38:05 +0900 Subject: [PATCH] =?UTF-8?q?getDownloadable(...)=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 6 +++ .../sntris/service/bean/SntrisBean.java | 38 ++++++++++++++++++ .../template/seoul-ntris-prenotice.xlsx | Bin 0 -> 12621 bytes 3 files changed, 44 insertions(+) create mode 100644 src/main/resources/template/seoul-ntris-prenotice.xlsx diff --git a/pom.xml b/pom.xml index b7a2b6c..6b5915a 100644 --- a/pom.xml +++ b/pom.xml @@ -51,6 +51,12 @@ 23.04.01-SNAPSHOT + + cokr.xit.base + xit-docs + 23.04.01-SNAPSHOT + + cokr.xit.interfaces xit-public-info diff --git a/src/main/java/cokr/xit/interfaces/sntris/service/bean/SntrisBean.java b/src/main/java/cokr/xit/interfaces/sntris/service/bean/SntrisBean.java index 2f09c6e..c727825 100644 --- a/src/main/java/cokr/xit/interfaces/sntris/service/bean/SntrisBean.java +++ b/src/main/java/cokr/xit/interfaces/sntris/service/bean/SntrisBean.java @@ -1,10 +1,15 @@ package cokr.xit.interfaces.sntris.service.bean; +import java.io.InputStream; +import java.util.List; import java.util.Map; import java.util.stream.Collectors; +import org.springframework.core.io.ClassPathResource; import org.springframework.stereotype.Component; +import cokr.xit.base.docs.xls.XLSWriter; +import cokr.xit.foundation.Downloadable; import cokr.xit.foundation.component.AbstractBean; import cokr.xit.interfaces.sntris.StatusCodeWSDTO; import cokr.xit.interfaces.sntris.buga.Bu04BugaWSDTO; @@ -37,6 +42,39 @@ public class SntrisBean extends AbstractBean { } } + public Downloadable getDownloadable(Iterable prenotices) { + try (InputStream template = new ClassPathResource("template/seoul-ntris-prenotice.xlsx").getInputStream();) { + return new XLSWriter().worksheet(0).cell(2, 9) + .values(prenotices, prenotice -> List.of(new Object[] { + prenotice.getNapId(), + prenotice.getNapNm(), + prenotice.getJukbalTarget(), + prenotice.getTaxAmt(), + prenotice.getSendYmd(), + prenotice.getSubmitYmd(), + prenotice.getJukbalDtlAddr(), + prenotice.getJukbalYmdHs(), + prenotice.getNapMobilNo(), + prenotice.getNapTelNo(), + prenotice.getLastWorkId(), + prenotice.getJukbalTelNo(), + prenotice.getBigo(), + prenotice.getNapDzipCd(), + prenotice.getNapDzipAddr(), + prenotice.getNapDdtlAddr(), + prenotice.getNapDrefAddr(), + prenotice.getNapZipCd(), + prenotice.getNapZipAddr(), + prenotice.getNapDtlAddr() + })) + .autoWidth() + .getDownloadable() + .setFilename("서울시-세외수입-수기등록.xlsx"); + } catch (Exception e) { + throw runtimeException(e); + } + } + public Ye22NoticeInfoDTO[] getPreNoticeList(Ye22InputDTO input) { try { return fileOfferWS.webGwaseInfo007(input); diff --git a/src/main/resources/template/seoul-ntris-prenotice.xlsx b/src/main/resources/template/seoul-ntris-prenotice.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..5d1436eaef031b6cdbb47896dbcc6210d83da054 GIT binary patch literal 12621 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 literal 0 HcmV?d00001