diff --git a/pom.xml b/pom.xml
index 87dac35..f5109ad 100644
--- a/pom.xml
+++ b/pom.xml
@@ -66,7 +66,13 @@
mariadb-java-client
runtime
-
+
+
+ cokr.xit.app
+ app-support
+ 0.0.1-SNAPSHOT
+
+
diff --git a/src/main/java/cokr/xit/adds/DocController.java b/src/main/java/cokr/xit/adds/DocController.java
new file mode 100644
index 0000000..74a038c
--- /dev/null
+++ b/src/main/java/cokr/xit/adds/DocController.java
@@ -0,0 +1,347 @@
+package cokr.xit.adds;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.servlet.ModelAndView;
+
+import cokr.xit.adds.cmmn.hwp.format.DisposeResultNotice;
+import cokr.xit.adds.cmmn.hwp.format.DisposeResultReport;
+import cokr.xit.applib.Print;
+import cokr.xit.applib.PrintOption;
+import cokr.xit.base.file.FileInfo;
+import cokr.xit.base.file.FileInfo.Relation;
+import cokr.xit.base.file.service.FileService;
+import cokr.xit.foundation.data.DataObject;
+import cokr.xit.foundation.web.AbstractController;
+
+@Controller
+@RequestMapping(value="/doc")
+public class DocController extends AbstractController {
+
+ @Resource(name="fileService")
+ FileService fileService;
+
+ private String sggNm = "용인시";
+
+ @RequestMapping(value="/makeDisposeResultNoticeHwp.do")
+ public ModelAndView makeDisposeResultNoticeHwp(String dscMngId) {
+
+ ModelAndView mav = new ModelAndView();
+ mav.setViewName("jsonView");
+
+ if(dscMngId == null || dscMngId.equals("")) {
+
+ return mav;
+ }
+
+
+ //출력일시,출력작업자
+ Print print = new Print();
+ print.setPrintRequestUserInfo(currentUser());
+
+ //개인정보표시여부,기관장 등
+ PrintOption printOption = new PrintOption();
+ Map globalVariable = new HashMap();
+ String gigwanjang = sggNm+"장";
+ gigwanjang = spreadBySpace(gigwanjang,4);
+ globalVariable.put("gigwanjang", gigwanjang);
+ printOption.setGlobalVariable(globalVariable);
+
+ //샘플 데이터
+ List dataobjectList = this.makeSample();
+
+ DisposeResultNotice disposeResultNotice = new DisposeResultNotice(print, printOption, dataobjectList);
+ String resultFilePath = disposeResultNotice.makeFile().andGetPath();
+
+ File file = new File(resultFilePath);
+ Relation rel = new Relation().setInfoType("200").setSubType("01").setInfoKey(dscMngId);
+ FileInfo fileInfo = new FileInfo.Factory().create(rel, file);
+ int effected= fileService.create(fileInfo);
+ String fileId = fileInfo.getId();
+ file.delete();
+
+ mav.addObject("fileId",fileId);
+ return mav;
+ }
+
+ private String spreadBySpace(String str, int spaceCnt) {
+ String result = "";
+
+ String spaces = "";
+ for(int i=1; i<=spaceCnt; i++) {
+ spaces += " ";
+ }
+
+ char[] charArr = str.toCharArray();
+ result += Character.toString(charArr[0]);
+ for(int i=1; i globalVariable = new HashMap();
+ String gigwanjang = sggNm+"장";
+ gigwanjang = spreadBySpace(gigwanjang,4);
+ globalVariable.put("gigwanjang", gigwanjang);
+ printOption.setGlobalVariable(globalVariable);
+
+ //샘플 데이터
+ List dataobjectList = this.makeSample();
+ List dataobjectList2 = List.of(
+ "files/attachment/dsuse/2024/05/25/001.jpg",
+ "files/attachment/dsuse/2024/05/25/002.jpg",
+ "files/attachment/dsuse/2024/05/25/003.jpg",
+ "files/attachment/dsuse/2024/05/25/004.jpg",
+ "files/attachment/dsuse/2024/05/25/005.jpg",
+ "files/attachment/dsuse/2024/05/25/006.jpg",
+ "files/attachment/dsuse/2024/05/25/007.jpg"
+ );
+
+ DisposeResultReport disposeResultReport = new DisposeResultReport(print, printOption, dataobjectList, dataobjectList2);
+ String resultFilePath = disposeResultReport.makeFile().andGetPath();
+
+ File file = new File(resultFilePath);
+ Relation rel = new Relation().setInfoType("200").setSubType("02").setInfoKey(dscMngId);
+ FileInfo fileInfo = new FileInfo.Factory().create(rel, file);
+ int effected= fileService.create(fileInfo);
+ String fileId = fileInfo.getId();
+ file.delete();
+
+ mav.addObject("fileId",fileId);
+ return mav;
+ }
+
+
+ public List makeSample(){
+ List dataobjectList = new ArrayList();
+ dataobjectList.add(new DataObject()
+ .set("bsshNm", "메디칼약국")
+ .set("indutyNm", "마약류취급소매업자")
+ .set("bsshCd", "D04343033")
+ .set("dsuseDe", "20240501")
+ .set("dsuseSeCdNm", "공무원임회") //ADDS03
+ .set("dsusePrvCdNm", "유효기간경과") //ADDS04
+ .set("dsuseLoc", "수지구보건소 검사실")
+ .set("dsuseMthCdNm", "가수분해") //ADDS05
+ .set("nrcdSeNm", "마약")
+ .set("prductNm", "자낙스정0.5mg")
+ .set("prductCd", "08806489012648")
+ .set("minDistbQy", "30")
+ .set("stdPackngStleNm", "정")
+ .set("mnfNo", "FJ6892")
+ .set("prdValidDe", "20240323")
+ .set("pceQy", "2")
+ .set("pceCoUnitNm", "정")
+ .set("filePath", "files/attachment/dsusedtl/2024/05/24/001.jpg")
+ );
+ dataobjectList.add(new DataObject()
+ .set("bsshNm", "메디약국")
+ .set("indutyNm", "마약류취급소매업자")
+ .set("bsshCd", "D14343033")
+ .set("dsuseDe", "20240501")
+ .set("dsuseSeCdNm", "보건소폐기") //ADDS03
+ .set("dsusePrvCdNm", "유효기간경과") //ADDS04
+ .set("dsuseLoc", "수지구보건소 검사실")
+ .set("dsuseMthCdNm", "가수분해") //ADDS05
+ .set("nrcdSeNm", "항정")
+ .set("prductNm", "아쿠아폴주20밀리리터(프로포폴)(20ml)")
+ .set("prductCd", "08806489012648")
+ .set("minDistbQy", "31")
+ .set("stdPackngStleNm", "정")
+ .set("mnfNo", "FJ6892")
+ .set("prdValidDe", "20240323")
+ .set("pceQy", "3")
+ .set("pceCoUnitNm", "정")
+ .set("filePath", "files/attachment/dsusedtl/2024/05/24/002.jpg")
+ );
+ dataobjectList.add(new DataObject()
+ .set("bsshNm", "메디약국")
+ .set("indutyNm", "마약류취급소매업자")
+ .set("bsshCd", "D14343033")
+ .set("dsuseDe", "20240501")
+ .set("dsuseSeCdNm", "보건소폐기") //ADDS03
+ .set("dsusePrvCdNm", "유효기간경과") //ADDS04
+ .set("dsuseLoc", "수지구보건소 검사실")
+ .set("dsuseMthCdNm", "가수분해") //ADDS05
+ .set("nrcdSeNm", "항정")
+ .set("prductNm", "자낙스정0.4mg")
+ .set("prductCd", "08806489012648")
+ .set("minDistbQy", "31")
+ .set("stdPackngStleNm", "정")
+ .set("mnfNo", "FJ6892")
+ .set("prdValidDe", "20240323")
+ .set("pceQy", "3")
+ .set("pceCoUnitNm", "정")
+ .set("filePath", "files/attachment/dsusedtl/2024/05/24/003.jpg")
+ );
+ dataobjectList.add(new DataObject()
+ .set("bsshNm", "메디약국")
+ .set("indutyNm", "마약류취급소매업자")
+ .set("bsshCd", "D14343033")
+ .set("dsuseDe", "20240501")
+ .set("dsuseSeCdNm", "보건소폐기") //ADDS03
+ .set("dsusePrvCdNm", "유효기간경과") //ADDS04
+ .set("dsuseLoc", "수지구보건소 검사실")
+ .set("dsuseMthCdNm", "가수분해") //ADDS05
+ .set("nrcdSeNm", "항정")
+ .set("prductNm", "베리콜시럽")
+ .set("prductCd", "08806489012648")
+ .set("minDistbQy", "31")
+ .set("stdPackngStleNm", "정")
+ .set("mnfNo", "FJ6892")
+ .set("prdValidDe", "20240323")
+ .set("pceQy", "3")
+ .set("pceCoUnitNm", "정")
+ .set("filePath", "files/attachment/dsusedtl/2024/05/24/004.jpg")
+ );
+ dataobjectList.add(new DataObject()
+ .set("bsshNm", "메디약국")
+ .set("indutyNm", "마약류취급소매업자")
+ .set("bsshCd", "D14343033")
+ .set("dsuseDe", "20240501")
+ .set("dsuseSeCdNm", "보건소폐기") //ADDS03
+ .set("dsusePrvCdNm", "유효기간경과") //ADDS04
+ .set("dsuseLoc", "수지구보건소 검사실")
+ .set("dsuseMthCdNm", "가수분해") //ADDS05
+ .set("nrcdSeNm", "항정")
+ .set("prductNm", "자낙스정0.3mg")
+ .set("prductCd", "08806489012648")
+ .set("minDistbQy", "31")
+ .set("stdPackngStleNm", "정")
+ .set("mnfNo", "FJ6892")
+ .set("prdValidDe", "20240323")
+ .set("pceQy", "3")
+ .set("pceCoUnitNm", "정")
+ .set("filePath", "files/attachment/dsusedtl/2024/05/24/005.jpg")
+ );
+ dataobjectList.add(new DataObject()
+ .set("bsshNm", "메디약국")
+ .set("indutyNm", "마약류취급소매업자")
+ .set("bsshCd", "D14343033")
+ .set("dsuseDe", "20240501")
+ .set("dsuseSeCdNm", "보건소폐기") //ADDS03
+ .set("dsusePrvCdNm", "유효기간경과") //ADDS04
+ .set("dsuseLoc", "수지구보건소 검사실")
+ .set("dsuseMthCdNm", "가수분해") //ADDS05
+ .set("nrcdSeNm", "항정")
+ .set("prductNm", "자낙스정0.2mg")
+ .set("prductCd", "08806489012648")
+ .set("minDistbQy", "31")
+ .set("stdPackngStleNm", "정")
+ .set("mnfNo", "FJ6892")
+ .set("prdValidDe", "20240323")
+ .set("pceQy", "3")
+ .set("pceCoUnitNm", "정")
+ .set("filePath", "files/attachment/dsusedtl/2024/05/24/006.jpg")
+ );
+ dataobjectList.add(new DataObject()
+ .set("bsshNm", "메디약국")
+ .set("indutyNm", "마약류취급소매업자")
+ .set("bsshCd", "D14343033")
+ .set("dsuseDe", "20240501")
+ .set("dsuseSeCdNm", "보건소폐기") //ADDS03
+ .set("dsusePrvCdNm", "유효기간경과") //ADDS04
+ .set("dsuseLoc", "수지구보건소 검사실")
+ .set("dsuseMthCdNm", "가수분해") //ADDS05
+ .set("nrcdSeNm", "항정")
+ .set("prductNm", "자낙스정0.1mg")
+ .set("prductCd", "08806489012648")
+ .set("minDistbQy", "31")
+ .set("stdPackngStleNm", "정")
+ .set("mnfNo", "FJ6892")
+ .set("prdValidDe", "20240323")
+ .set("pceQy", "3")
+ .set("pceCoUnitNm", "정")
+ .set("filePath", "files/attachment/dsusedtl/2024/05/24/007.jpg")
+ );
+ dataobjectList.add(new DataObject()
+ .set("bsshNm", "메디약국")
+ .set("indutyNm", "마약류취급소매업자")
+ .set("bsshCd", "D14343033")
+ .set("dsuseDe", "20240501")
+ .set("dsuseSeCdNm", "보건소폐기") //ADDS03
+ .set("dsusePrvCdNm", "유효기간경과") //ADDS04
+ .set("dsuseLoc", "수지구보건소 검사실")
+ .set("dsuseMthCdNm", "가수분해") //ADDS05
+ .set("nrcdSeNm", "항정")
+ .set("prductNm", "자낙스정0.6mg")
+ .set("prductCd", "08806489012648")
+ .set("minDistbQy", "31")
+ .set("stdPackngStleNm", "정")
+ .set("mnfNo", "FJ6892")
+ .set("prdValidDe", "20240323")
+ .set("pceQy", "3")
+ .set("pceCoUnitNm", "정")
+ .set("filePath", "files/attachment/dsusedtl/2024/05/24/008.jpg")
+ );
+ dataobjectList.add(new DataObject()
+ .set("bsshNm", "메디약국")
+ .set("indutyNm", "마약류취급소매업자")
+ .set("bsshCd", "D14343033")
+ .set("dsuseDe", "20240501")
+ .set("dsuseSeCdNm", "보건소폐기") //ADDS03
+ .set("dsusePrvCdNm", "유효기간경과") //ADDS04
+ .set("dsuseLoc", "수지구보건소 검사실")
+ .set("dsuseMthCdNm", "가수분해") //ADDS05
+ .set("nrcdSeNm", "항정")
+ .set("prductNm", "자낙스정0.7mg")
+ .set("prductCd", "08806489012648")
+ .set("minDistbQy", "31")
+ .set("stdPackngStleNm", "정")
+ .set("mnfNo", "FJ6892")
+ .set("prdValidDe", "20240323")
+ .set("pceQy", "3")
+ .set("pceCoUnitNm", "정")
+ .set("filePath", "files/attachment/dsusedtl/2024/05/24/009.jpg")
+ );
+ dataobjectList.add(new DataObject()
+ .set("bsshNm", "메디약국")
+ .set("indutyNm", "마약류취급소매업자")
+ .set("bsshCd", "D14343033")
+ .set("dsuseDe", "20240501")
+ .set("dsuseSeCdNm", "보건소폐기") //ADDS03
+ .set("dsusePrvCdNm", "유효기간경과") //ADDS04
+ .set("dsuseLoc", "수지구보건소 검사실")
+ .set("dsuseMthCdNm", "가수분해") //ADDS05
+ .set("nrcdSeNm", "항정")
+ .set("prductNm", "자낙스정0.8mg")
+ .set("prductCd", "08806489012648")
+ .set("minDistbQy", "31")
+ .set("stdPackngStleNm", "정")
+ .set("mnfNo", "FJ6892")
+ .set("prdValidDe", "20240323")
+ .set("pceQy", "3")
+ .set("pceCoUnitNm", "정")
+ .set("filePath", "files/attachment/dsusedtl/2024/05/24/010.jpg")
+ );
+ return dataobjectList;
+ }
+
+}
diff --git a/src/main/java/cokr/xit/adds/cmmn/hwp/format/DisposeResultNotice.java b/src/main/java/cokr/xit/adds/cmmn/hwp/format/DisposeResultNotice.java
new file mode 100644
index 0000000..186986b
--- /dev/null
+++ b/src/main/java/cokr/xit/adds/cmmn/hwp/format/DisposeResultNotice.java
@@ -0,0 +1,65 @@
+package cokr.xit.adds.cmmn.hwp.format;
+
+import java.util.List;
+import java.util.stream.IntStream;
+
+import cokr.xit.applib.Print;
+import cokr.xit.applib.PrintOption;
+import cokr.xit.applib.hwp.format.HWPFormat;
+import cokr.xit.foundation.data.DataFormat;
+import cokr.xit.foundation.data.DataObject;
+
+public class DisposeResultNotice extends HWPFormat {
+
+ public DisposeResultNotice(Print print, PrintOption printOption, List dataObjectList) {
+ super(print, printOption, dataObjectList);
+
+ this.maxRunCount = 1;
+ this.formatFilePath = "template/hwp/dispose_result_notice.hwp";
+ this.print.setFormatKorName("폐기결과통보서");
+ this.print.setFormatName("disposeResultNotice");
+ }
+
+ @Override
+ protected void runAsWriter() {
+
+ List list = IntStream.rangeClosed(1, data.size()).boxed().map(i -> {
+ DataObject one = data.get(i-1);
+ return (DataObject) new DataObject()
+ .set("연번-항목", i)
+ .set("폐기신청인-업소명", one.string("bsshNm"))
+ .set("폐기신청인-허가종별", one.string("indutyNm"))
+ .set("폐기신청인-마약류취급자식별번호", one.string("bsshCd"))
+ .set("폐기정보-폐기일자", DataFormat.yyyy_mm_dd(one.string("dsuseDe")))
+ .set("폐기정보-폐기종류", one.string("dsuseSeCdNm"))
+ .set("폐기정보-폐기사유", one.string("dsusePrvCdNm"))
+ .set("폐기정보-폐기장소", one.string("dsuseLoc"))
+ .set("폐기정보-폐기방법", one.string("dsuseMthCd"))
+ .set("제품정보-구분", one.string("nrcdSeNm"))
+ .set("제품정보-제품명", one.string("prductNm"))
+ .set("제품정보-품목코드", one.string("prductCd"))
+ .set("제품정보-최소유통단위", one.string("minDistbQy")+one.string("stdPackngStleNm"))
+ .set("제품정보-제조번호", one.string("mnfNo"))
+ .set("제품정보-유효기한", DataFormat.yyyy_mm_dd(one.string("prdValidDe")))
+ .set("폐기량-수량", one.string("pceQy")+one.string("pceCoUnitNm"))
+ ;
+ }).toList();
+ writer.table(0, 2, 1).setValues(list);
+
+ String currentTime = print.getPrintRequestDt();
+ String year = currentTime.substring(0, 4);
+ String month = currentTime.substring(4, 6);
+ String day = currentTime.substring(6, 8);
+ String yyyymmdd = year+month+day;
+ writer.setValue("연월일", DataFormat.yyyy_mm_dd(yyyymmdd));
+
+ String gigwanjang = printOption.getGlobalVariable().get("gigwanjang");
+ writer.setValue("기관장", gigwanjang);
+ }
+
+ @Override
+ public List getDownloadDataNames() {
+ return null;
+ }
+
+}
diff --git a/src/main/java/cokr/xit/adds/cmmn/hwp/format/DisposeResultReport.java b/src/main/java/cokr/xit/adds/cmmn/hwp/format/DisposeResultReport.java
new file mode 100644
index 0000000..9de3fcd
--- /dev/null
+++ b/src/main/java/cokr/xit/adds/cmmn/hwp/format/DisposeResultReport.java
@@ -0,0 +1,223 @@
+package cokr.xit.adds.cmmn.hwp.format;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.IntStream;
+
+import cokr.xit.applib.Print;
+import cokr.xit.applib.PrintOption;
+import cokr.xit.applib.hwp.format.HWPFormat;
+import cokr.xit.base.docs.hwp.HWPWriter;
+import cokr.xit.foundation.data.DataFormat;
+import cokr.xit.foundation.data.DataObject;
+import kr.dogfoot.hwplib.object.HWPFile;
+
+public class DisposeResultReport extends HWPFormat {
+ private List data2 = null; //폐기전 사진
+ private List data3 = null; //폐기증거 사진
+
+ public DisposeResultReport(Print print, PrintOption printOption, List dataObjectList, List afterPhotoPaths) {
+ super(print, printOption, dataObjectList);
+
+ this.maxRunCount = 1;
+ this.formatFilePath = "template/hwp/dispose_result_report.hwp";
+ this.print.setFormatKorName("폐기결과보고서");
+ this.print.setFormatName("disposeResultReport");
+
+ this.data2 = new ArrayList();
+
+ DataObject page = null;
+ for(int i=0;i();
+ for(int i=0;i list = IntStream.rangeClosed(1, data.size()).boxed().map(i -> {
+ DataObject one = data.get(i-1);
+ return (DataObject) new DataObject()
+ .set("항목", i)
+ .set("폐기신청인-업소명", one.string("bsshNm"))
+ .set("폐기신청인-허가종별", one.string("indutyNm"))
+ .set("폐기신청인-마약류취급자식별번호", one.string("bsshCd"))
+ .set("폐기정보-폐기일자", DataFormat.yyyy_mm_dd(one.string("dsuseDe")))
+ .set("폐기정보-폐기종류", one.string("dsuseSeCdNm"))
+ .set("폐기정보-폐기사유", one.string("dsusePrvCdNm"))
+ .set("폐기정보-폐기장소", one.string("dsuseLoc"))
+ .set("폐기정보-폐기방법", one.string("dsuseMthCd"))
+ .set("제품정보-구분", one.string("nrcdSeNm"))
+ .set("제품정보-제품명", one.string("prductNm"))
+ .set("제품정보-품목코드", one.string("prductCd"))
+ .set("제품정보-최소유통단위", one.string("minDistbQy")+one.string("stdPackngStleNm"))
+ .set("제품정보-제조번호", one.string("mnfNo"))
+ .set("제품정보-유효기한", DataFormat.yyyy_mm_dd(one.string("prdValidDe")))
+ .set("폐기량-수량", one.string("pceQy")+one.string("pceCoUnitNm"))
+ ;
+ }).toList();
+
+ writer.table(0, 3, 1).setValues(list);
+
+ String currentTime = print.getPrintRequestDt();
+ String year = currentTime.substring(0, 4);
+ String month = currentTime.substring(4, 6);
+ String day = currentTime.substring(6, 8);
+ writer.setValue("연", year);
+ writer.setValue("월", month);
+ writer.setValue("일", day);
+
+ String gigwanjang = printOption.getGlobalVariable().get("gigwanjang");
+ writer.setValue("기관장", gigwanjang);
+
+ } else if(this.formatFilePath.equals("template/hwp/dispose_result_report_before_photo.hwp")){
+
+ DataObject one = data2.get(currentRunCount-1);
+ DataObject newObj = new DataObject();
+ if(!one.string("폐기전사진1경로").equals("")) {
+ newObj.set("폐기전사진1제목", one.string("폐기전사진1제목"));
+ newObj.set("폐기전사진1", writer.image().add(one.string("폐기전사진1경로")));
+ }
+ if(!one.string("폐기전사진2경로").equals("")) {
+ newObj.set("폐기전사진2제목", one.string("폐기전사진2제목"));
+ newObj.set("폐기전사진2", writer.image().add(one.string("폐기전사진2경로")));
+ }
+ if(!one.string("폐기전사진3경로").equals("")) {
+ newObj.set("폐기전사진3제목", one.string("폐기전사진3제목"));
+ newObj.set("폐기전사진3", writer.image().add(one.string("폐기전사진3경로")));
+ }
+ if(!one.string("폐기전사진4경로").equals("")) {
+ newObj.set("폐기전사진4제목", one.string("폐기전사진4제목"));
+ newObj.set("폐기전사진4", writer.image().add(one.string("폐기전사진4경로")));
+ }
+ if(!one.string("폐기전사진5경로").equals("")) {
+ newObj.set("폐기전사진5제목", one.string("폐기전사진5제목"));
+ newObj.set("폐기전사진5", writer.image().add(one.string("폐기전사진5경로")));
+ }
+ if(!one.string("폐기전사진6경로").equals("")) {
+ newObj.set("폐기전사진6제목", one.string("폐기전사진6제목"));
+ newObj.set("폐기전사진6", writer.image().add(one.string("폐기전사진6경로")));
+ }
+ writer.table(0, 0, 4).setValues(List.of(newObj));
+
+ } else if(this.formatFilePath.equals("template/hwp/dispose_result_report_after_photo.hwp")){
+ DataObject one = data3.get(currentRunCount-1-data2.size());
+ DataObject newObj = new DataObject();
+ newObj.set("폐기증거제목", one.string("폐기증거제목"));
+
+ if(!one.string("폐기증거사진1경로").equals("")) {
+ newObj.set("폐기증거사진1", writer.image().add(one.string("폐기증거사진1경로")));
+ }
+ if(!one.string("폐기증거사진2경로").equals("")) {
+ newObj.set("폐기증거사진2", writer.image().add(one.string("폐기증거사진2경로")));
+ }
+ if(!one.string("폐기증거사진3경로").equals("")) {
+ newObj.set("폐기증거사진3", writer.image().add(one.string("폐기증거사진3경로")));
+ }
+ if(!one.string("폐기증거사진4경로").equals("")) {
+ newObj.set("폐기증거사진4", writer.image().add(one.string("폐기증거사진4경로")));
+ }
+ if(!one.string("폐기증거사진5경로").equals("")) {
+ newObj.set("폐기증거사진5", writer.image().add(one.string("폐기증거사진5경로")));
+ }
+ if(!one.string("폐기증거사진6경로").equals("")) {
+ newObj.set("폐기증거사진6", writer.image().add(one.string("폐기증거사진6경로")));
+ }
+ writer.table(0, 0, 3).setValues(List.of(newObj));
+ }
+ }
+
+ @Override
+ public List getDownloadDataNames() {
+ return null;
+ }
+
+}
diff --git a/src/main/resources/sql/mapper/base/file-mapper.xml b/src/main/resources/sql/mapper/base/file-mapper.xml
index a585733..655f5f1 100644
--- a/src/main/resources/sql/mapper/base/file-mapper.xml
+++ b/src/main/resources/sql/mapper/base/file-mapper.xml
@@ -27,7 +27,8 @@
SELECT '02' INF_TYPE, 'article/' DIR FROM DUAL UNION
SELECT '100' INF_TYPE, 'attachment/dsuse' DIR FROM DUAL UNION
- SELECT '110' INF_TYPE, 'document/dsuse' DIR FROM DUAL
+ SELECT '110' INF_TYPE, 'attachment/dsusedtl' DIR FROM DUAL UNION
+ SELECT '200' INF_TYPE, 'document/dsuse' DIR FROM DUAL
) FILE_DIRS
diff --git a/src/main/resources/template/hwp/dispose_result_notice.hwp b/src/main/resources/template/hwp/dispose_result_notice.hwp
new file mode 100644
index 0000000..b313932
Binary files /dev/null and b/src/main/resources/template/hwp/dispose_result_notice.hwp differ
diff --git a/src/main/resources/template/hwp/dispose_result_report.hwp b/src/main/resources/template/hwp/dispose_result_report.hwp
new file mode 100644
index 0000000..d33cf4b
Binary files /dev/null and b/src/main/resources/template/hwp/dispose_result_report.hwp differ
diff --git a/src/main/resources/template/hwp/dispose_result_report_after_photo.hwp b/src/main/resources/template/hwp/dispose_result_report_after_photo.hwp
new file mode 100644
index 0000000..0ca1b60
Binary files /dev/null and b/src/main/resources/template/hwp/dispose_result_report_after_photo.hwp differ
diff --git a/src/main/resources/template/hwp/dispose_result_report_before_photo.hwp b/src/main/resources/template/hwp/dispose_result_report_before_photo.hwp
new file mode 100644
index 0000000..9c3742d
Binary files /dev/null and b/src/main/resources/template/hwp/dispose_result_report_before_photo.hwp differ