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 0000000..5d1436e Binary files /dev/null and b/src/main/resources/template/seoul-ntris-prenotice.xlsx differ