diff --git a/src/main/java/kcc/com/cmm/aspect/LoggerAspect.java b/src/main/java/kcc/com/cmm/aspect/LoggerAspect.java index 1bd24a97..36452a2c 100644 --- a/src/main/java/kcc/com/cmm/aspect/LoggerAspect.java +++ b/src/main/java/kcc/com/cmm/aspect/LoggerAspect.java @@ -88,7 +88,7 @@ public class LoggerAspect { logBuffer.append("└ [●●●●●●●●●●●●●●●●●●●●●●●●●●●●]"); log.info(logBuffer.toString(), logList.toArray()); - System.out.println("Throwable Log ::: "); + System.out.println("Throwable Log ::: "+ throwable.toString()); throw throwable; } } diff --git a/src/main/java/kcc/kccadr/accdnt/ars/web/AdjstReqStatusPdfController.java b/src/main/java/kcc/kccadr/accdnt/ars/web/AdjstReqStatusPdfController.java index 7ec8c0a7..477ade00 100644 --- a/src/main/java/kcc/kccadr/accdnt/ars/web/AdjstReqStatusPdfController.java +++ b/src/main/java/kcc/kccadr/accdnt/ars/web/AdjstReqStatusPdfController.java @@ -34,6 +34,8 @@ import com.epapyrus.pdf.pg.entity.BookMarkPage; import com.epapyrus.pdf.pg.entity.Merge; import com.epapyrus.pdf.pg.entity.PdfConversion; import com.epapyrus.pdf.pg.entity.TextWatermark; +import com.mashape.unirest.http.HttpResponse; +import com.mashape.unirest.http.Unirest; import kcc.com.cmm.service.EgovFileMngService; import kcc.com.cmm.service.FileVO; @@ -1250,6 +1252,85 @@ public class AdjstReqStatusPdfController { return modelAndView; } + /** + * 종결사건 단권화 파일 다운르도 + */ + @RequestMapping(value = "/kccadr/adjPgrMgr/apm/regStreamDocsAPI.do") + public ModelAndView regStreamDocsAPI(PdfConversionVO pdfConversionVO) { + + ModelAndView modelAndView = new ModelAndView("jsonView"); +// String accessToken = "eyJjdHkiOiJKV1QiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiZGlyIn0..wPlmcQ9_3F7DIUi--a5CYg.svTX0D57aaST4tDmDAmd4jXk_sAac491b51VLn49OJwT5__ytx_T4Z1Jt3qX-HY1sQS3xqaBqt9JmTyyKXSCDrai4dNnirNRHj-_tu2loFZiPNEm7oXaH50eZkU_uJQOVwvN1Zxct_MotJOOwoAI1xEIBiMCA3CjFFgbW3PEIZnCmp-Tjv1TJuVumBOgfQgCwzcNYr30EMKg6Go7ECsxkBxldFy52a7YGzMkdj6_qv0.Ez6gSV4sNmBnW1gx7U8TKw"; + //alert 메세지 + //결과 flag + + try { + PdfConversionVO tmpPdfConversionVO = pdfConversionService.selectConversionPdf(pdfConversionVO); + + /* + String request = "http://192.168.0.176:8085/streamdocs/v4/auth"; + String queryParam = "?id=admin&password=streamdocs-admin"; + String apiURL = request + queryParam; + + HttpResponse response = Unirest.post(apiURL) + .asString(); + + System.out.println("응답코드 : " + response.getStatus()); + System.out.println("response : " + response.getBody()); + */ + + try { + + File uFile = new File(pdfMakepathOut + tmpPdfConversionVO.getAdrSeq() +"/result/", "bookmark.pdf"); + + String requestUrl="http://192.168.0.176:8085/streamdocs/v4/documents"; + HttpResponse response=Unirest.post(requestUrl) + .field("pdf", pdfMakepathOut + tmpPdfConversionVO.getAdrSeq() +"/result/", "bookmark.pdf") + .field("name","sample.pdf") + .field("docName","singleDocsample.pdf") + .field("lifespan","1M") + .field("category","singleDocTest") + .field("description","singleDocSample") + .field("password","1234") + .field("save",false) + .asString(); + + /* + String requestUrl="http://192.168.0.176:8085/streamdocs/v4/documents/external-resources"; + String filePath = pdfMakepathOut + tmpPdfConversionVO.getAdrSeq() +"/result/bookmark.pdf"; + HttpResponse response = Unirest.post(requestUrl) + .header("Content-Type", "application/json") + .body("{\"externalResource\":\"file:/"+filePath+"\"}") + .asString(); + System.out.println("filePath : "+ filePath); + +*/ + + System.out.println("!!!!!"); + System.out.println(response.getStatus()); + System.out.println(response.getBody()); + + + } catch (Exception e) { + System.out.println("Exception "); + e.printStackTrace(); + // TODO: handle exception + } + + + modelAndView.addObject("result", "success"); +// modelAndView.addObject("data", response); + modelAndView.addObject("message", "성공"); + + }catch (Exception e) { + e.printStackTrace(); + System.out.println(e.getMessage()); + modelAndView.addObject("result", "fail"); + modelAndView.addObject("message", "요청에 실패하였습니다."); + } + + return modelAndView; + } + diff --git a/src/main/java/kcc/kccadr/cmm/service/impl/SMSOracleServiceImpl.java b/src/main/java/kcc/kccadr/cmm/service/impl/SMSOracleServiceImpl.java index a0148f75..4244ada4 100644 --- a/src/main/java/kcc/kccadr/cmm/service/impl/SMSOracleServiceImpl.java +++ b/src/main/java/kcc/kccadr/cmm/service/impl/SMSOracleServiceImpl.java @@ -640,8 +640,8 @@ public class SMSOracleServiceImpl extends EgovAbstractServiceImpl implements SM KakaoAtSendVO apiVO = new KakaoAtSendVO(); //msgTy별 템플릿 코드 가져오기 - String msgTy = (String) map.get("msgTy"); - String templateCode = msgMgrDAO.selectMsgMgrTemplateCode(msgTy); + String smsTy = (String) map.get("smsTy"); + String templateCode = msgMgrDAO.selectMsgMgrTemplateCode(smsTy); apiVO.setSendTo(rpplPhone); apiVO.setTemplateCode(templateCode); diff --git a/src/main/java/kcc/kccadr/message/SchedulerUtil.java b/src/main/java/kcc/kccadr/message/SchedulerUtil.java index 4a377cd7..1e0a5bd3 100644 --- a/src/main/java/kcc/kccadr/message/SchedulerUtil.java +++ b/src/main/java/kcc/kccadr/message/SchedulerUtil.java @@ -1,17 +1,23 @@ package kcc.kccadr.message; import java.net.InetAddress; +import java.net.NetworkInterface; +import java.net.SocketException; +import java.util.Enumeration; import java.util.List; import javax.annotation.Resource; import javax.sql.DataSource; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; +import kcc.com.cmm.aspect.LoggerAspect; import kcc.kccadr.message.service.KakaoAtSendService; import kcc.kccadr.message.service.KakaoAtSendVO; import kcc.kccadr.message.web.KakaoAtSendAPI; @@ -24,8 +30,11 @@ import net.javacrumbs.shedlock.spring.annotation.EnableSchedulerLock; @Service("SchedulerUtil") @EnableScheduling @EnableSchedulerLock(defaultLockAtMostFor = "PT30S") // Scheduler Lock 사용 가능 설정 (기본 30초동안 Lock) +//@EnableSchedulerLock(defaultLockAtMostFor = "PT1M") // Scheduler Lock 사용 가능 설정 public class SchedulerUtil { + private static final Logger log = LoggerFactory.getLogger(LoggerAspect.class); + @Value("#{globalSettings['Globals.BizPpurio.siteUrl']}") private String apiUrl; @@ -40,27 +49,56 @@ public class SchedulerUtil { //로컬 테스트용 아이피 허용 private String myLocalIp = "192.168.0.40"; - //개발서버 테스트용 아이피 허용 - private String devIp = "119.193.215.98"; + //개발서버 테스트용 아이피 허용(외부) + private String devOutIp = "119.193.215.98"; + //개발서버 테스트용 아이피 허용(내부) + private String devInIp = "119.193.215.98"; //운영 외부망 WAS1 private String dmzIp1 = "222.231.43.66"; //운영 외부망 WAS2 private String dmzIp2 = "222.231.43.69"; + private String containerIp = "172.25.0.2"; + //10분마다 실행 - @Scheduled(cron = "0 0/10 * * * *") - @SchedulerLock(name = "kakaoAtSendPrcs", lockAtMostForString = ONE_MIN, lockAtLeastForString = ONE_MIN) +// @Scheduled(cron = "0 0/1 * * * *") + //1분마다 실행 + @Scheduled(cron = "0 0/1 * * * *") +// @SchedulerLock(name = "kakaoAtSendPrcs", lockAtMostForString = ONE_MIN, lockAtLeastForString = ONE_MIN) public void kakaoAtSendPrcs() throws Exception { - - String ip = null; + System.out.println("===========at scheduler run============"); + log.error("===========at scheduler run============"); + + + String hostAddr = null; + + //모든 OS에서 서버 고정 IP를 가져오기 + try { + Enumeration nienum = NetworkInterface.getNetworkInterfaces(); + while (nienum.hasMoreElements()) { + NetworkInterface ni = nienum.nextElement(); + Enumeration kk= ni.getInetAddresses(); + while (kk.hasMoreElements()) { + InetAddress inetAddress = kk.nextElement(); + if (!inetAddress.isLoopbackAddress() && + !inetAddress.isLinkLocalAddress() && + inetAddress.isSiteLocalAddress()) { + hostAddr = inetAddress.getHostAddress().toString(); + } + } + } + } catch (SocketException e) { + e.printStackTrace(); + } try { - ip = InetAddress.getLocalHost().getHostAddress(); - - System.out.println("===========at scheduler run============"); - System.out.println("server ip ============" + ip); - if(ip.equals(myLocalIp) || ip.equals(devIp) || ip.equals(dmzIp1) || ip.equals(dmzIp2) ) { + System.out.println("server ip ============" + hostAddr); + log.error("server ip ============" + hostAddr); + + +// if(hostAddr.equals(myLocalIp) || hostAddr.equals(devOutIp) || hostAddr.equals(devInIp) || hostAddr.equals(dmzIp1) || hostAddr.equals(dmzIp2) || hostAddr.equals(containerIp) ) { + if(hostAddr.equals(containerIp) ) { //접속 서버 별 분기처리 필요 List list = kakaoAtSendService.selectKakaoAtList(); @@ -79,13 +117,15 @@ public class SchedulerUtil { } } - System.out.println("===========at scheduler finish============"); + } catch (Exception e) { System.out.println(e.getMessage()); } + System.out.println("===========at scheduler finish============"); + log.error("===========at scheduler finish============"); } @Bean diff --git a/src/main/java/kcc/kccadr/msg/service/impl/MsgMgrDAO.java b/src/main/java/kcc/kccadr/msg/service/impl/MsgMgrDAO.java index 90d04768..4976fd7f 100644 --- a/src/main/java/kcc/kccadr/msg/service/impl/MsgMgrDAO.java +++ b/src/main/java/kcc/kccadr/msg/service/impl/MsgMgrDAO.java @@ -32,8 +32,8 @@ public class MsgMgrDAO extends EgovAbstractDAO { } //발송유형별 알림톡 템플릿 코드 가져오기 - public String selectMsgMgrTemplateCode(String msgTy) throws Exception{ - return (String) select("MsgMgrDAO.selectMsgMgrTemplateCode", msgTy); + public String selectMsgMgrTemplateCode(String smsTy) throws Exception{ + return (String) select("MsgMgrDAO.selectMsgMgrTemplateCode", smsTy); } diff --git a/src/main/resources/egovframework/egovProps/globals_local.properties b/src/main/resources/egovframework/egovProps/globals_local.properties index 954b3ff0..3a3ae148 100644 --- a/src/main/resources/egovframework/egovProps/globals_local.properties +++ b/src/main/resources/egovframework/egovProps/globals_local.properties @@ -205,6 +205,6 @@ Globals.Kakao.Key=bf3de0d897afe0e4bef0775f7086f048 # \uce74\uce74\uc624\uc54c\ub9bc\ud1a1(\ube44\uc988\ubfcc\ub9ac\uc624) API URL #\uac1c\ubc1c\uc11c\ubc84 -#Globals.BizPpurio.siteUrl=https://dev-api.bizppurio.com +Globals.BizPpurio.siteUrl=https://dev-api.bizppurio.com #\uc2e4\uc11c\ubc84 -Globals.BizPpurio.siteUrl=https://api.bizppurio.com +#Globals.BizPpurio.siteUrl=https://api.bizppurio.com diff --git a/src/main/resources/egovframework/sqlmap/kccadr/msg/Msg_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/kccadr/msg/Msg_SQL_Mysql.xml index 5e26275f..f40398aa 100644 --- a/src/main/resources/egovframework/sqlmap/kccadr/msg/Msg_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/kccadr/msg/Msg_SQL_Mysql.xml @@ -75,7 +75,7 @@ TEMPLATE_CODE AS templateCode FROM ADR_MSG_MGR - WHERE MSG_TY = #msgTy# + WHERE MSG_TY = #smsTy# diff --git a/src/main/webapp/WEB-INF/jsp/kccadr/adjPgrMgr/apm/apmTab1.jsp b/src/main/webapp/WEB-INF/jsp/kccadr/adjPgrMgr/apm/apmTab1.jsp index 7dc807fb..9080a35b 100644 --- a/src/main/webapp/WEB-INF/jsp/kccadr/adjPgrMgr/apm/apmTab1.jsp +++ b/src/main/webapp/WEB-INF/jsp/kccadr/adjPgrMgr/apm/apmTab1.jsp @@ -74,8 +74,11 @@ commonPopWindowopenForm("/kccadr/adjPgrMgr/apm/popup/docRegPop.do" , "750", "550", "docRegPop", $("#pop")); } + // DB 데이터 확인 function fnc_is_prcs_finish(){ - var data = new FormData(document.getElementById("pop")) + var data = new FormData(document.getElementById("pop")); + + console.log("data : ", data); $.ajax({ type: "POST", @@ -102,12 +105,51 @@ error: function (e) {console.log("ERROR : ", e); } }); } + + // Pdf 뷰어솔루션 + function fn_reg_streamDocs(){ + var data = new FormData(document.getElementById("pop")); + + console.log("data : ", data); + + $.ajax({ + type: "POST", + url: "/kccadr/adjPgrMgr/apm/regStreamDocsAPI.do", + + data: data, + dataType:'json', + async: false, + processData: false, + contentType: false, + cache: false, + success: function (returnData, status) { + console.log('returnData : ', returnData); +// console.log('returnData : ', returnData.result); + + if(returnData.result == 'success'){ + +// fn_read_streamDocs()(); + + }else{ + + alert(returnData.message); + } + }, + error: function (e) {console.log("ERROR : ", e); } + }); + } function fnc_download_endFile(){ var adrSeq = document.pop.adrSeq.value; window.open(""); } + + function fn_read_streamDocs(){ + var adrSeq = document.pop.adrSeq.value; + window.open("http://192.168.0.176:8085/streamdocs/view/sd;streamdocsId=-Q_zRU0tisIOGyXPQpUgZvES1CSm7zhp78sXUx_y11Q"); + } + // function fn_viewPop(code) { // console.log('code : ', code); @@ -136,9 +178,9 @@ -
- -
+<%--
--%> + +<%--
--%>
@@ -312,6 +354,7 @@ <%-- --%> +