Merge branch 'tolag3'

This commit is contained in:
leejunho 2025-01-08 14:19:52 +09:00
commit 9bb8bef0d6
12 changed files with 559 additions and 24 deletions

View File

@ -0,0 +1,29 @@
package kcc.com.pdf.service;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import kcc.com.pdf.service.PdfVO.Option;
import java.io.IOException;
import java.util.List;
public class PdfJsonSerializerOption extends JsonSerializer<List<?>> {
@Override
public void serialize(List<?> Option, JsonGenerator gen, SerializerProvider serializers) throws IOException {
if (Option == null || Option.isEmpty()) {
gen.writeNull();
return;
}
if (Option.size() == 1) {
// 옵션이 하나일 객체로 직렬화
serializers.defaultSerializeValue(Option.get(0), gen);
} else {
// 옵션이 여러 개일 배열로 직렬화
serializers.defaultSerializeValue(Option, gen);
}
}
}

View File

@ -0,0 +1,29 @@
package kcc.com.pdf.service;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import kcc.com.pdf.service.PdfVO.Options;
import java.io.IOException;
import java.util.List;
public class PdfJsonSerializerOptions extends JsonSerializer<List<Options>> {
@Override
public void serialize(List<Options> options, JsonGenerator gen, SerializerProvider serializers) throws IOException {
if (options == null || options.isEmpty()) {
gen.writeNull();
return;
}
if (options.size() == 1) {
// 옵션이 하나일 객체로 직렬화
serializers.defaultSerializeValue(options.get(0), gen);
} else {
// 옵션이 여러 개일 배열로 직렬화
serializers.defaultSerializeValue(options, gen);
}
}
}

View File

@ -0,0 +1,7 @@
package kcc.com.pdf.service;
import java.util.Map;
public interface PdfService {
Map<String, String> conversionPdf(String caseNo) throws Exception;
}

View File

@ -0,0 +1,52 @@
package kcc.com.pdf.service;
import java.util.ArrayList;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class PdfVO {
private String inputUri;
private String outputUri;
private String name;
private List<SubTask> subtasks = new ArrayList<>();
@Getter
@Setter
@NoArgsConstructor
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public static class SubTask {
private String type;
@JsonSerialize(using = PdfJsonSerializerOption.class)
private List<Options> options = new ArrayList<>();
}
@Getter
@Setter
@NoArgsConstructor
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public static class Options {
private String mergeSrcUri;
private String pages;
@JsonSerialize(using = PdfJsonSerializerOption.class)
private List<Option> option = new ArrayList<>();
}
@Getter
@Setter
@NoArgsConstructor
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public static class Option {
private String label;
private Boolean htmlUrlResource;
}
}

View File

@ -0,0 +1,10 @@
package kcc.com.pdf.service.impl;
import org.springframework.stereotype.Repository;
import kcc.com.cmm.service.impl.EgovComAbstractDAO;
@Repository("pdfDAO")
public class PdfDAO extends EgovComAbstractDAO {
}

View File

@ -0,0 +1,145 @@
package kcc.com.pdf.service.impl;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import kcc.com.pdf.service.PdfService;
import kcc.com.pdf.service.PdfVO;
@Service("PdfService")
public class PdfServiceImpl extends EgovAbstractServiceImpl implements PdfService {
@Resource(name="pdfDAO")
private PdfDAO pdfDAO;
@Override
public Map<String, String> conversionPdf(
String caseNo
) throws Exception {
/*
* pg관리자페이지에서 해당 옵션 true로 설정
* pg.exec.merge.insertBookmark
*
* validation
* - 변환 가능 확장자
* - dap, ppt, pptx, pptm, pps, ppsx, xls, xlsx, xlsm, xlsb, doc, docx, docm, dotx, rtf, odt, odp, ods, odg, hwp, hml, hwpx, dwg, dwf, dxf, dgn, url, mht, mhtml, htm, html, jpg, jpe, jpeg, tif, tiff, gif, png, bmp, j2k, psd
*
* 1. 표지pdf 생성 베이스로 사용
* - inputUri
* 2. merge 파일들 추가
* - label 기능을 책갈피 기능으로 대체
* -
*
* 테이블 설계
* - 사건번호(pk), 요청id, name(pk), 상태, 결과 파일 경로
*
* https://fairnet.kofair.or.kr/clip/ClipReport4/ClipReportViewer/ClipReport4PdfDown2.do?CLIPDATA_CASENO=%EA%B0%80%EB%A7%B92025-0003&CLIPDATA_RCEPTNO=20250102-040&CLIPDATA_USERTYPE=&CLIPDATA_SEQNO=&crfNm=reqPrint
*
*/
/*
* ##############################################################pdf 병합##############################################################
*/
/*
* step 1
* - caseNo에 따른 rceptNo정보 가져오기
*/
/*
* step 2
* - caseNo 또는 rceptNo 따른 첨부파일 가져오기
* - 변환 가능 확장자
* - dap, ppt, pptx, pptm, pps, ppsx, xls, xlsx, xlsm, xlsb, doc, docx, docm, dotx, rtf, odt, odp, ods, odg, hwp, hml, hwpx, dwg, dwf, dxf, dgn, url, mht, mhtml, htm, html, jpg, jpe, jpeg, tif, tiff, gif, png, bmp, j2k, psd
* - label에 realFileNm 넣기
* ! 파일명에 따라 변환이 제대로 되는지 확인
*/
/*
* step 3
* - 신청서 clipreport 파일 가져오기
* - setHtmlUrlResource 옵션 false로 설정
*/
/*
* step 4
* - api call
* - db에 responsse data 저장
*/
/*
* ##############################################################pdf 작업 callback##############################################################
*/
/*
* step 1
* - callback 받은 데이터 db 저장(상태, 결과파일 경로)
*/
/*
* ##############################################################pdf 작업 상태 조회##############################################################
*/
/*
* step 1
* - 사건번호로 DB조회
*/
// PDF 변환을 위한 PdfVO 객체 생성
PdfVO pdfVO = new PdfVO();
pdfVO.setInputUri("file:/Z:/inputFile/1.pptx");
pdfVO.setOutputUri("file:/Z:/resultFile/test01.pdf");
pdfVO.setName("merge-sample");
PdfVO.SubTask mergeTask = new PdfVO.SubTask();
mergeTask.setType("merge");
PdfVO.Options options1 = new PdfVO.Options();
options1.setMergeSrcUri("file:/Z:/inputFile/2.pdf");
PdfVO.Options options4 = new PdfVO.Options();
options4.setMergeSrcUri("https://fairnet.kofair.or.kr/clip/ClipReport4/ClipReportViewer/ClipReport4PdfDown2.do?CLIPDATA_CASENO=%EA%B0%80%EB%A7%B92025-0003&CLIPDATA_RCEPTNO=20250102-040&CLIPDATA_USERTYPE=&CLIPDATA_SEQNO=&crfNm=reqPrint");
PdfVO.Option option1 = new PdfVO.Option();
option1.setLabel("2.pdf");
PdfVO.Option option4 = new PdfVO.Option();
option4.setLabel("5.html");
option4.setHtmlUrlResource(false);
options1.getOption().add(option1);
options4.getOption().add(option4);
mergeTask.getOptions().add(options1);
mergeTask.getOptions().add(options4);
pdfVO.getSubtasks().add(mergeTask);
// ObjectMapper를 사용하여 PdfVO 객체를 JSON 문자열로 변환
ObjectMapper objectMapper = new ObjectMapper();
String body = objectMapper.writeValueAsString(pdfVO);
// PDF Gateway REST API 호출
HttpResponse<String> response = Unirest.post("http://192.168.0.31:8888/pdf-gateway/api/job/build")
.header("Content-Type", "application/json")
.body(body)
.asString();
System.out.println(response.getBody());
return null;
}
}

View File

@ -24,14 +24,13 @@ import org.springframework.web.bind.annotation.RequestParam;
import egovframework.rte.psl.dataaccess.util.EgovMap;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.CmmUtil;
import kcc.com.pdf.service.PdfService;
import kcc.com.snd.service.SendService;
import kcc.com.snd.service.SendSmsVO;
import kcc.utill.OzUtill;
import kcc.xxx.service.XxxService;
import kcc.xxx.service.XxxVO;
import seed.com.gtm.service.BaseService;
import seed.com.user.mypage.MyPageService;
import seed.map.T_MEMBER;
import seed.utils.FairnetUtils;
@Controller
@ -48,12 +47,12 @@ public class XxxController {
@Autowired
private MyPageService service2;
@Autowired
private BaseService bservice;
@Resource
private OzUtill ozUtill;
@Resource(name = "PdfService")
private PdfService pdfService;
@RequestMapping("/xxx/xxxTest.do")
public String xxxTest() throws Exception {
@ -327,6 +326,21 @@ public class XxxController {
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@RequestMapping("/web/xxx/xxxPdfConversion.do")
public String xxxPdfConversion() {
try {
pdfService.conversionPdf("가맹2025-0003");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}

View File

@ -811,9 +811,26 @@ public class BaseController {
oof.addConnectionData("*","XE");
// String requestQuery = URLDecoder.decode(request.getQueryString());
String requestQuery = URLDecoder.decode(session.getAttribute("query_clip").toString());
// String requestQuery = URLDecoder.decode(session.getAttribute("query_clip").toString());
String parmes = "";
Enumeration<?> e = request.getParameterNames();
String[] queryList = requestQuery.split("&");
while (e.hasMoreElements()) {
String key = (String) e.nextElement();
String Values = request.getParameter(key);
if (key.startsWith("CLIPDATA_")) {
if(parmes.equals("")) {
parmes += key + "=" + Values;
} else {
parmes += "&" + key + "=" + Values;
}
}
}
String[] queryList = parmes.split("&");
for(int i=0; i<queryList.length; i++) {
String[] query = queryList[i].split("=");

View File

@ -8,27 +8,27 @@ dataconnection.count=3
################################# \uac1c\ubc1c #################################
#dataconnection1.conntype=jdbc
#dataconnection1.type=Oracle
#dataconnection1.dbname=XE
#dataconnection1.version=
#dataconnection1.url=jdbc:oracle:thin:@119.193.215.98:1524:XE
#dataconnection1.user=FAIRNETUR
#dataconnection1.password=FAIRNETUR@#$
#dataconnection1.encoding=
#dataconnection1.decoding=
################################# \uac1c\ubc1c #################################
################################# \uc2e4\uc11c\ubc84 #################################
dataconnection1.conntype=jdbc
dataconnection1.type=Oracle
dataconnection1.dbname=XE
dataconnection1.version=
dataconnection1.url=jdbc:oracle:thin:@211.245.106.125:1521:kofairdb
dataconnection1.user=newcasedb
dataconnection1.password=newcasedb1130
dataconnection1.url=jdbc:oracle:thin:@119.193.215.98:1524:XE
dataconnection1.user=FAIRNETUR
dataconnection1.password=FAIRNETUR@#$
dataconnection1.encoding=
dataconnection1.decoding=
################################# \uac1c\ubc1c #################################
################################# \uc2e4\uc11c\ubc84 #################################
#dataconnection1.conntype=jdbc
#dataconnection1.type=Oracle
#dataconnection1.dbname=XE
#dataconnection1.version=
#dataconnection1.url=jdbc:oracle:thin:@211.245.106.125:1521:kofairdb
#dataconnection1.user=newcasedb
#dataconnection1.password=newcasedb1130
#dataconnection1.encoding=
#dataconnection1.decoding=
################################# \uc2e4\uc11c\ubc84 #################################
dataconnection2.conntype=jdbc

View File

@ -1,9 +1,9 @@
# License key Value!!
#\uAC1C\uBC1C\uC790\uB85C\uCEEC
#key=license
key=license
#\uAC1C\uBC1C\uC11C\uBC84
#key=qxl04+oK4y3vvoBqp/lqF86H0r88nTliyx1TVIS5+JSjl4/thf9vFFYP4FNkcR78gmwVouVKtzPwERFBD9rh1uhB7YkUPnnSo4EAf9XUHyGF1T/XHBBogB9Nh2Zby7CSTY366djkwF2blTxdbcNHvB6TKolr2pbWQtMhuYhLGbk=
#\uC2E4\uC11C\uBC84
key=I7p8BAksAJfmgja1vI9GE0ecBRpRao1lFo3gItvToaBKHVXv9Zk0BIXtjxbgNXYgVF1H3fkBkKbVSKbHJtBxgr2meVI9FNqMSTwV60mgyRFAhoFHbhsocmtG9zNtrtTAjo9OXaXmTGzCDlDmXmhE6///fNv9h3vUHdRhW8j8FaU=
#key=I7p8BAksAJfmgja1vI9GE0ecBRpRao1lFo3gItvToaBKHVXv9Zk0BIXtjxbgNXYgVF1H3fkBkKbVSKbHJtBxgr2meVI9FNqMSTwV60mgyRFAhoFHbhsocmtG9zNtrtTAjo9OXaXmTGzCDlDmXmhE6///fNv9h3vUHdRhW8j8FaU=

View File

@ -303,3 +303,137 @@ Caused by: java.io.IOException: 현재 연결은 원격 호스트에 의해 강
[CLIP report Server - Report Key 32296459b003417d9dfde716a0056cdc Thread 158. | INFO 2025-01-07 16:42:10] : Last Document saved!
[CLIP report Server - Report Key 32296459b003417d9dfde716a0056cdc Thread 158. | INFO 2025-01-07 16:42:10] : Database Connection Close Start
[CLIP report Server - Report Key 32296459b003417d9dfde716a0056cdc Thread 158. | INFO 2025-01-07 16:42:10] : Database Connection Close End : TimeMillis : 1ms, HH:MM:SS : 00:00:00
[CLIP report Server - Report Key 07260d5a85d64756b3f6b0c581e2509c Thread 0. | INFO 2025-01-07 19:58:27] : Report Read Time : TimeMillis : 12ms, HH:MM:SS : 00:00:00
[CLIP report Server - Report Key 07260d5a85d64756b3f6b0c581e2509c Thread 0. | INFO CODE=10 | 2025-01-07 19:58:27] : 리포트 생성을 시작합니다.
[CLIP report Server - Report Key 07260d5a85d64756b3f6b0c581e2509c Thread 0. | DEBUG CODE=10100 | 2025-01-07 19:58:27] : [SQLDS2] Data Query : SELECT
TO_CHAR(CASE_DATE, 'YYYY. MM. DD.') AS CASE_DATE,
CASE_NO,
CASE_GUBUN,
(SELECT MEMBER_NAME FROM T_MEMBER WHERE MEMBER_ID = M.CASE_EXAMINER) AS CASE_EXAMINER,
(SELECT APPLCNT_COMPANY FROM C_CASEAPPLCNT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS APPLCNT_COMPANY,
(SELECT COMPANY_CEO FROM C_CASEAPPLCNT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS COMPANY_CEO,
(SELECT ZIP FROM C_CASEAPPLCNT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS ZIP,
(SELECT ROAD_ADDR1 FROM C_CASEAPPLCNT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS ROAD_ADDR1,
(SELECT ROAD_ADDR2 FROM C_CASEAPPLCNT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS ROAD_ADDR2,
(SELECT TEL FROM C_CASEAPPLCNT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS TEL,
(SELECT FAX FROM C_CASEAPPLCNT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS FAX,
(SELECT BIZR_NO FROM C_CASEAPPLCNT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS BIZR_NO,
(SELECT CPR_NO FROM C_CASEAPPLCNT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS CPR_NO,
(SELECT CASE WHEN (SELECT count(*) cnt FROM C_CASERESPONDENT WHERE CASE_NO = M.CASE_NO) > 1 THEN RESPONDENT_COMPANY||' 외 ' ||(SELECT count(*)-1 cnt FROM C_CASERESPONDENT WHERE CASE_NO = M.CASE_NO)||' 별지 참조'
ELSE RESPONDENT_COMPANY END
FROM C_CASERESPONDENT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS RESPONDENT_COMPANY,
(SELECT RESPONDENT_CEO FROM C_CASERESPONDENT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS RESPONDENT_CEO,
(SELECT ZIP FROM C_CASERESPONDENT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS RES_ZIP,
(SELECT ROAD_ADDR1 FROM C_CASERESPONDENT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS RES_ROAD_ADDR1,
(SELECT ROAD_ADDR2 FROM C_CASERESPONDENT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS RES_ROAD_ADDR2,
(SELECT TEL FROM C_CASERESPONDENT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS RES_TEL,
(SELECT FAX FROM C_CASERESPONDENT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS RES_FAX,
(SELECT BIZR_NO FROM C_CASERESPONDENT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS RES_BIZR_NO,
(SELECT CPR_NO FROM C_CASERESPONDENT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS RES_CPR_NO,
(SELECT TO_CHAR(REG_DT, 'YYYY. MM. DD.') FROM C_RCEPTMST WHERE RCEPT_NO = M.RCEPT_NO) AS REG_DT,
(SELECT APPLCNT_NM FROM C_RCEPTMST WHERE RCEPT_NO = M.RCEPT_NO) AS APPLCNT_NM
FROM C_MASTER M
WHERE CASE_NO = '하도2024-0543'
[CLIP report Server - Report Key 07260d5a85d64756b3f6b0c581e2509c Thread 0. | DEBUG 2025-01-07 19:58:27] : [SQLDS2] Database Info - Product Name : Oracle, Product Version : Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production, Driver Name : Oracle JDBC driver, Driver Version : 23.2.0.0.0
[CLIP report Server - Report Key 07260d5a85d64756b3f6b0c581e2509c Thread 0. | INFO 2025-01-07 19:58:27] : [SQLDS2] Connection Time : TimeMillis : 49ms, HH:MM:SS : 00:00:00
[CLIP report Server - Report Key 07260d5a85d64756b3f6b0c581e2509c Thread 0. | INFO 2025-01-07 19:58:27] : [SQLDS2] executeQuery : TimeMillis : 6ms, HH:MM:SS : 00:00:00
[CLIP report Server - Report Key 07260d5a85d64756b3f6b0c581e2509c Thread 0. | INFO CODE=501 | 2025-01-07 19:58:27] : [SQLDS2] Database data load rows : 1
[CLIP report Server - Report Key 07260d5a85d64756b3f6b0c581e2509c Thread 0. | DEBUG CODE=10100 | 2025-01-07 19:58:27] : [SQLDS6] Data Query : SELECT
RESPONDENT_COMPANY,
RESPONDENT_CEO,
'('||ZIP||') '||ROAD_ADDR1||' '||ROAD_ADDR2 ADDR
FROM C_CASERESPONDENT
WHERE CASE_NO = '하도2024-0543'
[CLIP report Server - Report Key 07260d5a85d64756b3f6b0c581e2509c Thread 0. | INFO 2025-01-07 19:58:27] : [SQLDS6] executeQuery : TimeMillis : 3ms, HH:MM:SS : 00:00:00
[CLIP report Server - Report Key 07260d5a85d64756b3f6b0c581e2509c Thread 0. | INFO CODE=501 | 2025-01-07 19:58:27] : [SQLDS6] Database data load rows : 1
[CLIP report Server - Report Key 07260d5a85d64756b3f6b0c581e2509c Thread 0. | DEBUG CODE=10100 | 2025-01-07 19:58:27] : [SQLDS3] Data Query : SELECT
CASE_NO,
CASE_GUBUN,
(SELECT APPLCNT_COMPANY FROM C_CASEAPPLCNT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS APPLCNT_COMPANY,
(SELECT COMPANY_CEO FROM C_CASEAPPLCNT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS COMPANY_CEO,
(SELECT APPLICATION_OBJ FROM C_CASESTTUS WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS APPLICATION_OBJ,
(SELECT APPLICATION_REASON FROM C_CASESTTUS WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS APPLICATION_REASON
FROM C_MASTER M
WHERE CASE_NO = '하도2024-0543'
[CLIP report Server - Report Key 07260d5a85d64756b3f6b0c581e2509c Thread 0. | INFO 2025-01-07 19:58:27] : [SQLDS3] executeQuery : TimeMillis : 3ms, HH:MM:SS : 00:00:00
[CLIP report Server - Report Key 07260d5a85d64756b3f6b0c581e2509c Thread 0. | INFO CODE=501 | 2025-01-07 19:58:27] : [SQLDS3] Database data load rows : 1
[CLIP report Server - Report Key 07260d5a85d64756b3f6b0c581e2509c Thread 0. | DEBUG CODE=10100 | 2025-01-07 19:58:27] : [SQLDS5] Data Query : SELECT
FILE_NAME
FROM C_CASEFILE
WHERE FILE_NO = '20241014-001'
AND DEL_GUBUN = 'N'
[CLIP report Server - Report Key 07260d5a85d64756b3f6b0c581e2509c Thread 0. | INFO 2025-01-07 19:58:27] : [SQLDS5] executeQuery : TimeMillis : 2ms, HH:MM:SS : 00:00:00
[CLIP report Server - Report Key 07260d5a85d64756b3f6b0c581e2509c Thread 0. | WARNING CODE=3152 | 2025-01-07 19:58:27] : [SQLDS5] Database Data가 없습니다.
[CLIP report Server - Report Key 07260d5a85d64756b3f6b0c581e2509c Thread 0. | INFO CODE=11 | 2025-01-07 19:58:27] : 리포트 생성이 끝났습니다.
[CLIP report Server - Report Key 07260d5a85d64756b3f6b0c581e2509c Thread 0. | INFO 2025-01-07 19:58:27] : Report Build Time : TimeMillis : 125ms, HH:MM:SS : 00:00:00
[CLIP report Server - Report Key 07260d5a85d64756b3f6b0c581e2509c Thread 0. | INFO 2025-01-07 19:58:27] : Total Page Count saved!
[CLIP report Server - Report Key 07260d5a85d64756b3f6b0c581e2509c Thread 0. | INFO 2025-01-07 19:58:27] : Last Document saved!
[CLIP report Server - Report Key 07260d5a85d64756b3f6b0c581e2509c Thread 0. | INFO 2025-01-07 19:58:27] : Database Connection Close Start
[CLIP report Server - Report Key 07260d5a85d64756b3f6b0c581e2509c Thread 0. | INFO 2025-01-07 19:58:27] : Database Connection Close End : TimeMillis : 3ms, HH:MM:SS : 00:00:00
[CLIP report Server - Report Key 9819e4437e3545f1a584026bfa4d08a3 Thread 0. | INFO 2025-01-07 20:01:53] : Report Read Time : TimeMillis : 8ms, HH:MM:SS : 00:00:00
[CLIP report Server - Report Key 9819e4437e3545f1a584026bfa4d08a3 Thread 0. | INFO CODE=10 | 2025-01-07 20:01:53] : 리포트 생성을 시작합니다.
[CLIP report Server - Report Key 9819e4437e3545f1a584026bfa4d08a3 Thread 0. | DEBUG CODE=10100 | 2025-01-07 20:01:53] : [SQLDS2] Data Query : SELECT
TO_CHAR(CASE_DATE, 'YYYY. MM. DD.') AS CASE_DATE,
CASE_NO,
CASE_GUBUN,
(SELECT MEMBER_NAME FROM T_MEMBER WHERE MEMBER_ID = M.CASE_EXAMINER) AS CASE_EXAMINER,
(SELECT APPLCNT_COMPANY FROM C_CASEAPPLCNT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS APPLCNT_COMPANY,
(SELECT COMPANY_CEO FROM C_CASEAPPLCNT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS COMPANY_CEO,
(SELECT ZIP FROM C_CASEAPPLCNT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS ZIP,
(SELECT ROAD_ADDR1 FROM C_CASEAPPLCNT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS ROAD_ADDR1,
(SELECT ROAD_ADDR2 FROM C_CASEAPPLCNT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS ROAD_ADDR2,
(SELECT TEL FROM C_CASEAPPLCNT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS TEL,
(SELECT FAX FROM C_CASEAPPLCNT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS FAX,
(SELECT BIZR_NO FROM C_CASEAPPLCNT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS BIZR_NO,
(SELECT CPR_NO FROM C_CASEAPPLCNT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS CPR_NO,
(SELECT CASE WHEN (SELECT count(*) cnt FROM C_CASERESPONDENT WHERE CASE_NO = M.CASE_NO) > 1 THEN RESPONDENT_COMPANY||' 외 ' ||(SELECT count(*)-1 cnt FROM C_CASERESPONDENT WHERE CASE_NO = M.CASE_NO)||' 별지 참조'
ELSE RESPONDENT_COMPANY END
FROM C_CASERESPONDENT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS RESPONDENT_COMPANY,
(SELECT RESPONDENT_CEO FROM C_CASERESPONDENT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS RESPONDENT_CEO,
(SELECT ZIP FROM C_CASERESPONDENT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS RES_ZIP,
(SELECT ROAD_ADDR1 FROM C_CASERESPONDENT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS RES_ROAD_ADDR1,
(SELECT ROAD_ADDR2 FROM C_CASERESPONDENT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS RES_ROAD_ADDR2,
(SELECT TEL FROM C_CASERESPONDENT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS RES_TEL,
(SELECT FAX FROM C_CASERESPONDENT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS RES_FAX,
(SELECT BIZR_NO FROM C_CASERESPONDENT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS RES_BIZR_NO,
(SELECT CPR_NO FROM C_CASERESPONDENT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS RES_CPR_NO,
(SELECT TO_CHAR(REG_DT, 'YYYY. MM. DD.') FROM C_RCEPTMST WHERE RCEPT_NO = M.RCEPT_NO) AS REG_DT,
(SELECT APPLCNT_NM FROM C_RCEPTMST WHERE RCEPT_NO = M.RCEPT_NO) AS APPLCNT_NM
FROM C_MASTER M
WHERE CASE_NO = '하도2024-0543'
[CLIP report Server - Report Key 9819e4437e3545f1a584026bfa4d08a3 Thread 0. | DEBUG 2025-01-07 20:01:53] : [SQLDS2] Database Info - Product Name : Oracle, Product Version : Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production, Driver Name : Oracle JDBC driver, Driver Version : 23.2.0.0.0
[CLIP report Server - Report Key 9819e4437e3545f1a584026bfa4d08a3 Thread 0. | INFO 2025-01-07 20:01:53] : [SQLDS2] Connection Time : TimeMillis : 47ms, HH:MM:SS : 00:00:00
[CLIP report Server - Report Key 9819e4437e3545f1a584026bfa4d08a3 Thread 0. | INFO 2025-01-07 20:01:53] : [SQLDS2] executeQuery : TimeMillis : 5ms, HH:MM:SS : 00:00:00
[CLIP report Server - Report Key 9819e4437e3545f1a584026bfa4d08a3 Thread 0. | INFO CODE=501 | 2025-01-07 20:01:53] : [SQLDS2] Database data load rows : 1
[CLIP report Server - Report Key 9819e4437e3545f1a584026bfa4d08a3 Thread 0. | DEBUG CODE=10100 | 2025-01-07 20:01:53] : [SQLDS6] Data Query : SELECT
RESPONDENT_COMPANY,
RESPONDENT_CEO,
'('||ZIP||') '||ROAD_ADDR1||' '||ROAD_ADDR2 ADDR
FROM C_CASERESPONDENT
WHERE CASE_NO = '하도2024-0543'
[CLIP report Server - Report Key 9819e4437e3545f1a584026bfa4d08a3 Thread 0. | INFO 2025-01-07 20:01:53] : [SQLDS6] executeQuery : TimeMillis : 2ms, HH:MM:SS : 00:00:00
[CLIP report Server - Report Key 9819e4437e3545f1a584026bfa4d08a3 Thread 0. | INFO CODE=501 | 2025-01-07 20:01:53] : [SQLDS6] Database data load rows : 1
[CLIP report Server - Report Key 9819e4437e3545f1a584026bfa4d08a3 Thread 0. | DEBUG CODE=10100 | 2025-01-07 20:01:53] : [SQLDS3] Data Query : SELECT
CASE_NO,
CASE_GUBUN,
(SELECT APPLCNT_COMPANY FROM C_CASEAPPLCNT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS APPLCNT_COMPANY,
(SELECT COMPANY_CEO FROM C_CASEAPPLCNT WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS COMPANY_CEO,
(SELECT APPLICATION_OBJ FROM C_CASESTTUS WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS APPLICATION_OBJ,
(SELECT APPLICATION_REASON FROM C_CASESTTUS WHERE CASE_NO = M.CASE_NO AND ROWNUM = 1) AS APPLICATION_REASON
FROM C_MASTER M
WHERE CASE_NO = '하도2024-0543'
[CLIP report Server - Report Key 9819e4437e3545f1a584026bfa4d08a3 Thread 0. | INFO 2025-01-07 20:01:53] : [SQLDS3] executeQuery : TimeMillis : 3ms, HH:MM:SS : 00:00:00
[CLIP report Server - Report Key 9819e4437e3545f1a584026bfa4d08a3 Thread 0. | INFO CODE=501 | 2025-01-07 20:01:53] : [SQLDS3] Database data load rows : 1
[CLIP report Server - Report Key 9819e4437e3545f1a584026bfa4d08a3 Thread 0. | DEBUG CODE=10100 | 2025-01-07 20:01:53] : [SQLDS5] Data Query : SELECT
FILE_NAME
FROM C_CASEFILE
WHERE FILE_NO = '20241014-001'
AND DEL_GUBUN = 'N'
[CLIP report Server - Report Key 9819e4437e3545f1a584026bfa4d08a3 Thread 0. | INFO 2025-01-07 20:01:53] : [SQLDS5] executeQuery : TimeMillis : 2ms, HH:MM:SS : 00:00:00
[CLIP report Server - Report Key 9819e4437e3545f1a584026bfa4d08a3 Thread 0. | WARNING CODE=3152 | 2025-01-07 20:01:53] : [SQLDS5] Database Data가 없습니다.
[CLIP report Server - Report Key 9819e4437e3545f1a584026bfa4d08a3 Thread 0. | INFO CODE=11 | 2025-01-07 20:01:53] : 리포트 생성이 끝났습니다.
[CLIP report Server - Report Key 9819e4437e3545f1a584026bfa4d08a3 Thread 0. | INFO 2025-01-07 20:01:53] : Report Build Time : TimeMillis : 123ms, HH:MM:SS : 00:00:00
[CLIP report Server - Report Key 9819e4437e3545f1a584026bfa4d08a3 Thread 0. | INFO 2025-01-07 20:01:53] : Total Page Count saved!
[CLIP report Server - Report Key 9819e4437e3545f1a584026bfa4d08a3 Thread 0. | INFO 2025-01-07 20:01:53] : Last Document saved!
[CLIP report Server - Report Key 9819e4437e3545f1a584026bfa4d08a3 Thread 0. | INFO 2025-01-07 20:01:53] : Database Connection Close Start
[CLIP report Server - Report Key 9819e4437e3545f1a584026bfa4d08a3 Thread 0. | INFO 2025-01-07 20:01:53] : Database Connection Close End : TimeMillis : 3ms, HH:MM:SS : 00:00:00

View File

@ -0,0 +1,98 @@
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<%@page import="org.apache.poi.util.SystemOutLogger"%>
<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="com.clipsoft.clipreport.oof.OOFFile"%>
<%@page import="com.clipsoft.clipreport.oof.OOFDocument"%>
<%@page import="java.io.File"%>
<%@page import="java.util.Enumeration"%>
<%@page import="com.clipsoft.clipreport.server.service.ReportUtil"%>
<%@page import="com.clipsoft.clipreport.server.service.ClipReportExport"%>
<%@ page import="java.net.URLDecoder" %>
<%
String crfNm = request.getParameter("crfNm");
OOFDocument oof = OOFDocument.newOOF();
OOFFile file = oof.addFile("crf.root", "%root%/crf/"+crfNm+".crf");
// oof.addConnectionData("*","oracle1");
oof.addConnectionData("*","XE");
// String requestQuery = URLDecoder.decode(request.getQueryString());
String requestQuery = URLDecoder.decode(session.getAttribute("query_clip").toString());
String[] queryList = requestQuery.split("&");
for(int i=0; i<queryList.length; i++) {
String[] query = queryList[i].split("=");
if (query[0].startsWith("CLIPDATA_")) {
if(query.length == 2) {
oof.addField(query[0], query[1]);
} else if(query.length == 1) {
oof.addField(query[0], "");
}
}
}
%>
<%@include file="Property.jsp"%>
<%
//세션을 활용하여 리포트키들을 관리하지 않는 옵션
//request.getSession().setAttribute("ClipReport-SessionList-Allow", false);
//String resultKey = ReportUtil.createReport(request, oof, "false", "false", request.getRemoteAddr(), propertyPath);
String resultKey = ClipReportExport.createExportForPDF(request, response.getOutputStream(), propertyPath, oof, null);
//oof 문서가 xml 일 경우 (oof.toString())
//String resultKey = ReportUtil.createReport(request, oof.toString(), "false", "false", "localhost", propertyPath);
System.out.println(">>>>>>>>>>>>>resultKey>>>>>>>>>>>>>>"+resultKey);
System.out.println(">>>>>>>>>>>>>propertyPath>>>>>>>>>>>>>>"+propertyPath);
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Report</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="stylesheet" type="text/css" href="/css/clipreport.css">
<link rel="stylesheet" type="text/css" href="/css/UserConfig.css">
<link rel="stylesheet" type="text/css" href="/css/font.css">
<script type='text/javascript' src='/js/jquery-1.11.1.js'></script>
<script type='text/javascript' src='/js/clipreport.js'></script>
<script type='text/javascript' src='/js/UserConfig.js'></script>
<script type='text/javascript'>
$(document).ready(function() {
});
var urlPath = document.location.protocol + "//" + document.location.host;
function html2xml(divPath){
var reportkey = "<%=resultKey%>";
var crfNm = "<%=crfNm%>";
//var report = createImportJSPReport(urlPath + "/ClipReport4/Clip.jsp", reportkey, document.getElementById(divPath));
//var report = createImportJSPReport("http://localhost/clip/ClipReport4/Clip/ClipReport4.do?re=eee", reportkey, document.getElementById(divPath));
/*var url = urlPath+"/clip/ClipReport4/Clip/ClipReport4.do?";
var report = createImportJSPReport(url, reportkey, document.getElementById(divPath));*/
// var report = createImportJSPReport(urlPath + "/ClipReport4/Clip.jsp", reportkey, document.getElementById(divPath));
var report = createImportJSPReport(urlPath + "/clip/ClipReport4/ClipReportViewer/ClipReport4_clip.do", reportkey, document.getElementById(divPath));
//실행
//report.setSlidePage(true);
if(crfNm != '15_1_daytimeBusiness'){
if(crfNm == 'mediationAllList'){
report.setSaveDirectExcelOption("report",3, true, false, true, false, 600, 100, 10, 1, 100, false);
}else if(crfNm == '03_1_resultStatsArea' || crfNm == '03_2_resultStatsArea'){
report.setSaveDirectExcelOption("report",3, true, false, true, false, 300, 100, 10, 1, 100, false);
}else{
report.setSaveDirectExcelOption("report",3, true, false, true, false, 100, 100, 10, 1, 100, false);
}
}
// report.setDirectPrint(true);
report.view();
}
</script>
</head>
<body onload="html2xml('targetDiv1')">
<div id="targetDiv1" style="position:absolute;top:5px;left:5px;right:5px;bottom:5px;"></div>
</body>
</html>