폐기결과통보서, 폐기결과보고서 한글파일 서식 추가
parent
849fa8d813
commit
632a38fd6f
@ -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<String,String> globalVariable = new HashMap<String,String>();
|
||||||
|
String gigwanjang = sggNm+"장";
|
||||||
|
gigwanjang = spreadBySpace(gigwanjang,4);
|
||||||
|
globalVariable.put("gigwanjang", gigwanjang);
|
||||||
|
printOption.setGlobalVariable(globalVariable);
|
||||||
|
|
||||||
|
//샘플 데이터
|
||||||
|
List<DataObject> 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<charArr.length; i++) {
|
||||||
|
result += spaces + Character.toString(charArr[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value="/makeDisposeResultReportHwp.do")
|
||||||
|
public ModelAndView makeDisposeResultReportHwp(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<String,String> globalVariable = new HashMap<String,String>();
|
||||||
|
String gigwanjang = sggNm+"장";
|
||||||
|
gigwanjang = spreadBySpace(gigwanjang,4);
|
||||||
|
globalVariable.put("gigwanjang", gigwanjang);
|
||||||
|
printOption.setGlobalVariable(globalVariable);
|
||||||
|
|
||||||
|
//샘플 데이터
|
||||||
|
List<DataObject> dataobjectList = this.makeSample();
|
||||||
|
List<String> 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<DataObject> makeSample(){
|
||||||
|
List<DataObject> dataobjectList = new ArrayList<DataObject>();
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -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<DataObject> 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<DataObject> 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<String> getDownloadDataNames() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -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<DataObject> data2 = null; //폐기전 사진
|
||||||
|
private List<DataObject> data3 = null; //폐기증거 사진
|
||||||
|
|
||||||
|
public DisposeResultReport(Print print, PrintOption printOption, List<DataObject> dataObjectList, List<String> 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>();
|
||||||
|
|
||||||
|
DataObject page = null;
|
||||||
|
for(int i=0;i<data.size();i++) {
|
||||||
|
|
||||||
|
int mod = (i+1) % 6;
|
||||||
|
if(mod == 0) {
|
||||||
|
mod = 6;
|
||||||
|
}
|
||||||
|
if(mod == 1) {
|
||||||
|
page = new DataObject();
|
||||||
|
}
|
||||||
|
page.set("폐기전사진"+mod+"제목", data.get(i).string("prductNm"));
|
||||||
|
page.set("폐기전사진"+mod+"경로", data.get(i).string("filePath"));
|
||||||
|
|
||||||
|
if(mod == 6 || i == data.size()-1) {
|
||||||
|
data2.add(page);
|
||||||
|
page = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.data3 = new ArrayList<DataObject>();
|
||||||
|
for(int i=0;i<afterPhotoPaths.size();i++) {
|
||||||
|
|
||||||
|
int mod = (i+1) % 6;
|
||||||
|
if(mod == 0) {
|
||||||
|
mod = 6;
|
||||||
|
}
|
||||||
|
if(mod == 1) {
|
||||||
|
page = new DataObject();
|
||||||
|
page.set("폐기증거제목", "폐기 증거");
|
||||||
|
}
|
||||||
|
|
||||||
|
page.set("폐기증거사진"+mod+"경로", afterPhotoPaths.get(i));
|
||||||
|
|
||||||
|
if(mod == 6 || i == afterPhotoPaths.size()-1) {
|
||||||
|
data3.add(page);
|
||||||
|
page = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public HWPFormat makeFile(){
|
||||||
|
HWPFile hwpFile = HWPWriter.classpath(this.formatFilePath);
|
||||||
|
this.writer = new HWPWriter(hwpFile);
|
||||||
|
|
||||||
|
runAsWriter();
|
||||||
|
String tempPath = this.print.pathForNewFile();
|
||||||
|
writer.write(tempPath);
|
||||||
|
resultFilesPath.add(tempPath);
|
||||||
|
|
||||||
|
writer = null;
|
||||||
|
currentRunCount++;
|
||||||
|
|
||||||
|
|
||||||
|
//사진 첨부
|
||||||
|
formatFilePath = "template/hwp/dispose_result_report_before_photo.hwp";
|
||||||
|
maxRunCount += data2.size();
|
||||||
|
|
||||||
|
while(currentRunCount != maxRunCount) {
|
||||||
|
HWPFile hwpFile_i = HWPWriter.classpath(this.formatFilePath);
|
||||||
|
this.writer = new HWPWriter(hwpFile_i);
|
||||||
|
runAsWriter();
|
||||||
|
String tempPath_i = this.print.pathForNewFile();
|
||||||
|
writer.write(tempPath_i);
|
||||||
|
resultFilesPath.add(tempPath_i);
|
||||||
|
|
||||||
|
writer = null;
|
||||||
|
currentRunCount++;
|
||||||
|
}
|
||||||
|
|
||||||
|
formatFilePath = "template/hwp/dispose_result_report_after_photo.hwp";
|
||||||
|
maxRunCount += data3.size();
|
||||||
|
|
||||||
|
while(currentRunCount != maxRunCount) {
|
||||||
|
System.out.println("123123123132123");
|
||||||
|
System.out.println(currentRunCount);
|
||||||
|
System.out.println(maxRunCount);
|
||||||
|
HWPFile hwpFile_i = HWPWriter.classpath(this.formatFilePath);
|
||||||
|
this.writer = new HWPWriter(hwpFile_i);
|
||||||
|
runAsWriter();
|
||||||
|
String tempPath_i = this.print.pathForNewFile();
|
||||||
|
writer.write(tempPath_i);
|
||||||
|
resultFilesPath.add(tempPath_i);
|
||||||
|
|
||||||
|
writer = null;
|
||||||
|
currentRunCount++;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.merge();
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void runAsWriter() {
|
||||||
|
|
||||||
|
if(this.formatFilePath.equals("template/hwp/dispose_result_report.hwp")) {
|
||||||
|
List<DataObject> 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<String> getDownloadDataNames() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue