From 98e1148e9cf4e9f7cd9d7ac16c3833457b272bc5 Mon Sep 17 00:00:00 2001 From: hylee Date: Fri, 1 Dec 2023 18:24:37 +0900 Subject: [PATCH] =?UTF-8?q?=EB=A9=94=EC=9D=BC=20=EA=B3=B5=ED=86=B5=20?= =?UTF-8?q?=ED=85=9C=ED=94=8C=EB=A6=BF=20=EC=83=9D=EC=84=B1=20VeSendMail.j?= =?UTF-8?q?ava=20=EC=B0=B8=EC=A1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../schdlr/service/web/AnotaionSchedule.java | 402 +++++-- src/main/java/kcc/ve/cmm/VeSendMail.java | 184 ++- .../service/VEPrcsAplctPrdService.java | 3 + .../prcsInfo/service/VEPrcsDetailVO.java | 30 + .../service/impl/VEPrcsAplctPrdDAO.java | 5 + .../impl/VEPrcsAplctPrdServiceImpl.java | 7 + .../comweb/CommonManageWebController.java | 559 ++++----- .../pblc/sndMng/web/SndMngController.java | 1062 +++++++++-------- .../egovProps/globals_svr.properties | 331 ++--- .../egovProps/globals_tLocal.properties | 332 +++--- .../ve/prcs/VEPrcsAplctPrd_SQL_Tibero.xml | 26 + src/main/webapp/js/ve/sendSmsEmailUtil.js | 8 + 12 files changed, 1686 insertions(+), 1263 deletions(-) diff --git a/src/main/java/kcc/let/schdlr/service/web/AnotaionSchedule.java b/src/main/java/kcc/let/schdlr/service/web/AnotaionSchedule.java index 77cb2fba..3fd17d49 100644 --- a/src/main/java/kcc/let/schdlr/service/web/AnotaionSchedule.java +++ b/src/main/java/kcc/let/schdlr/service/web/AnotaionSchedule.java @@ -1,112 +1,292 @@ -package kcc.let.schdlr.service.web; - -import java.util.List; - -import javax.annotation.Resource; - -import org.springframework.scheduling.annotation.EnableScheduling; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Controller; - -import egovframework.rte.fdl.property.EgovPropertyService; -import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; -import kcc.let.sym.site.service.EgovSiteManagerService; -import kcc.let.sym.site.service.SiteManagerVO; -import kcc.let.uss.umt.service.EgovUserManageService; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; - -@Controller -@EnableScheduling -public class AnotaionSchedule { - /** EgovPropertyService */ - @Resource(name = "propertiesService") - protected EgovPropertyService propertiesService; - - @Resource(name = "egovSiteManagerService") - private EgovSiteManagerService egovSiteManagerService; - - /** userManageService */ - @Resource(name = "userManageService") - private EgovUserManageService userManageService; - - /** vEEduAplctService */ - @Resource(name = "vEEduAplctService") - private VEEduAplctService vEEduAplctService; - - //@RequestMapping("/sym/site/AdminLogMngTest.do") - //@Scheduled(fixedDelay = 1000) -// @Scheduled(cron="30 0 0 * * ?") - public void SchDeleteMember() throws Exception { //설정에 따른 회원삭제 / 관리자로그 설정삭제 - try { - SiteManagerVO siteManagerVO =new SiteManagerVO(); - /** paging */ - PaginationInfo paginationInfo = new PaginationInfo(); - paginationInfo.setCurrentPageNo(siteManagerVO.getPageIndex()); - paginationInfo.setRecordCountPerPage(siteManagerVO.getPageUnit()); - paginationInfo.setPageSize(siteManagerVO.getPageSize()); - siteManagerVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); - siteManagerVO.setLastIndex(paginationInfo.getLastRecordIndex()); - siteManagerVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); - List siteManagerList= egovSiteManagerService.selectSiteManagerList(siteManagerVO) ; - for(SiteManagerVO tempSiteManagerVO : siteManagerList){ - if(!"9".equals(tempSiteManagerVO.getIdWithdrawCd())) { //탈퇴회원 영구보관이 아니면 - userManageService.deleteMemberSchedule(tempSiteManagerVO); - } - - if(null!=tempSiteManagerVO.getAdminlogKpCd() && !"N".equals(tempSiteManagerVO.getAdminlogKpCd())) { //관리자로그 보관설정 영구보관이 아니면 - switch (tempSiteManagerVO.getAdminlogKpCd()) {// M:1개월,3:3개월,6:6개월보관,Y:1년, N:영구보관 - case "M": - tempSiteManagerVO.setAdminlogKpCd("1"); - case "Y": - tempSiteManagerVO.setAdminlogKpCd("12"); - default: - } - userManageService.deleteAdminLogSchedule(tempSiteManagerVO); - } - } - }catch(Exception e) { - System.out.println("Exception Error"); - } - } - - /* - * 매일 새벽1시에 청소년 찾교 신청자 개인 정보 초기화 (담당자, 휴대폰, 전화 , 이메일) - * */ - // Schdule Lock (2분동안) - @Scheduled(cron = "0 0 1 * * ?") - //@Scheduled(cron = "0 * * * * ?") - public void deletePrivacy4tngr() throws Exception { - - // do something... - try { - System.out.println("=============AnotaionSchedule=====deletePrivacy4tngr =============>"); - - //문자 환불, 팩스 환불 - deletePrivacy("10"); - deletePrivacy("TWO"); - /* - // 문자 환불 - schdlrManageService.msgFailPayBack(); - * */ - - - // do something... - - }catch(Exception ex) { - ex.printStackTrace(); - } - } - - //////////////////////////////////////////////// - //개인 정보 삭제 - //////////////////////////////////////////////// - private void deletePrivacy(String p_type) throws Exception { - //개인 정보 삭제 - ve_edu_aplct - System.out.println("==== deletePrivacy ===="+p_type); - VEEduAplctVO paramVO = new VEEduAplctVO(); - paramVO.setLctrDivCd(p_type); - vEEduAplctService.privacyUpdate(paramVO); - - } +package kcc.let.schdlr.service.web; + +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; +import javax.servlet.ServletContext; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Controller; + +import egovframework.rte.fdl.cmmn.exception.FdlException; +import egovframework.rte.fdl.idgnr.EgovIdGnrService; +import egovframework.rte.fdl.property.EgovPropertyService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; +import kcc.com.cmm.LoginVO; +import kcc.com.utl.user.service.CheckLoginUtil; +import kcc.let.sym.site.service.EgovSiteManagerService; +import kcc.let.sym.site.service.SiteManagerVO; +import kcc.let.uss.umt.service.EgovUserManageService; +import kcc.let.utl.fcc.service.EgovCryptoUtil; +import kcc.ve.cmm.VeSendMail; +import kcc.ve.cmm.VeSendSMS; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctSndHstryService; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; + +@Controller +@EnableScheduling +public class AnotaionSchedule { + /** EgovPropertyService */ + @Resource(name = "propertiesService") + protected EgovPropertyService propertiesService; + + @Resource(name = "egovSiteManagerService") + private EgovSiteManagerService egovSiteManagerService; + + /** userManageService */ + @Resource(name = "userManageService") + private EgovUserManageService userManageService; + + /** vEEduAplctService */ + @Resource(name = "vEEduAplctService") + private VEEduAplctService vEEduAplctService; + + // 교육신청발송이력 + @Resource(name = "vEEduAplctSndHstryService") + private VEEduAplctSndHstryService vEEduAplctSndHstryService; + + //snd_hstry id gen + @Resource(name = "sndGnrService") + private EgovIdGnrService sndGnrService; + + //과정차시 관리 + @Resource(name = "vEPrcsAplctPrdService") + private VEPrcsAplctPrdService vEPrcsAplctPrdService; + + @Resource(name = "egovCryptoUtil") + EgovCryptoUtil egovCryptoUtil; + + //@RequestMapping("/sym/site/AdminLogMngTest.do") + //@Scheduled(fixedDelay = 1000) +// @Scheduled(cron="30 0 0 * * ?") + public void SchDeleteMember() throws Exception { //설정에 따른 회원삭제 / 관리자로그 설정삭제 + try { + SiteManagerVO siteManagerVO =new SiteManagerVO(); + /** paging */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(siteManagerVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(siteManagerVO.getPageUnit()); + paginationInfo.setPageSize(siteManagerVO.getPageSize()); + siteManagerVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + siteManagerVO.setLastIndex(paginationInfo.getLastRecordIndex()); + siteManagerVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + List siteManagerList= egovSiteManagerService.selectSiteManagerList(siteManagerVO) ; + for(SiteManagerVO tempSiteManagerVO : siteManagerList){ + if(!"9".equals(tempSiteManagerVO.getIdWithdrawCd())) { //탈퇴회원 영구보관이 아니면 + userManageService.deleteMemberSchedule(tempSiteManagerVO); + } + + if(null!=tempSiteManagerVO.getAdminlogKpCd() && !"N".equals(tempSiteManagerVO.getAdminlogKpCd())) { //관리자로그 보관설정 영구보관이 아니면 + switch (tempSiteManagerVO.getAdminlogKpCd()) {// M:1개월,3:3개월,6:6개월보관,Y:1년, N:영구보관 + case "M": + tempSiteManagerVO.setAdminlogKpCd("1"); + case "Y": + tempSiteManagerVO.setAdminlogKpCd("12"); + default: + } + userManageService.deleteAdminLogSchedule(tempSiteManagerVO); + } + } + }catch(Exception e) { + System.out.println("Exception Error"); + } + } + + /* + * 매일 새벽1시에 청소년 찾교 신청자 개인 정보 초기화 (담당자, 휴대폰, 전화 , 이메일) + * */ + // Schdule Lock (2분동안) + @Scheduled(cron = "0 0 1 * * ?") + //@Scheduled(cron = "0 * * * * ?") + public void deletePrivacy4tngr() throws Exception { + + // do something... + try { + System.out.println("=============AnotaionSchedule=====deletePrivacy4tngr =============>"); + + //문자 환불, 팩스 환불 + deletePrivacy("10"); + deletePrivacy("TWO"); + /* + // 문자 환불 + schdlrManageService.msgFailPayBack(); + * */ + + + // do something... + + }catch(Exception ex) { + ex.printStackTrace(); + } + } + + /** + * @methodName : oneDayBeforeTrainingStartDate + * @author : 이호영 + * @date : 2023.12.01 + * @description : + * @throws Exception + */ + @Scheduled(cron = "0 21 18 * * ?") +// @Scheduled(cron = "0 0 9 * * ?") + public void oneDayBeforeTrainingStartDate() throws Exception { + + // do something... + try { + System.out.println("=============AnotaionSchedule=====deletePrivacy4tngr =============>"); + + + //권한에 따른 로그인 정보 가져오기 + + //메일 발송 부 시작 + //================================================================ + //메일 발송 VeSendMail 파라미터 정리 + //1. sndFlag = 메뉴 구분 + // C -> 찾교청소년 + // Z -> 찾교청소년-교육확정알림(교육배치목록-확정된 강의 알림 버튼) : 청소년>교육확정 메일본문 수정 메뉴에서 관리 + // S -> 찾교성인 + // G -> 체험교실 + // W -> 교육콘텐츠 + // A -> 기반강화 + // B -> 기소유예 + //2. sndTo = 수신자 + //3. vEEduAplctVO = eduAplctOrd(pk) + // sndHstryOrd(pk) + // sndCd(10 - sms, 20 - email) + // sndId(발송자) + // sndCn(발송내용) + //================================================================ + + // 기반 테스트 + this.sendLctrDivCd("50", "2", "A"); + // 기반강화 +// this.sendLctrDivCd50("50", "1", "A"); // LCTR_DIV_CD 50, A 기반강화, 1 하루후 + // 기소유예 +// this.sendLctrDivCd("60", "2", "B"); // LCTR_DIV_CD 60, A 기반강화, 1 하루후 + + + /* + + VeSendSMS sendSMS = new VeSendSMS(); + Map resultMap = sendSMS.VeSendSMS(vEEduAplctVO.getClphone(), vEEduAplctVO.getSndCn()); + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); + + //문자 발송 성공 시 로그 + if("1".equals(resultMap.get("result_code"))){ + String snd_ord = sndGnrService.getNextStringId(); + vEEduAplctVO.setSndHstryOrd(snd_ord); + vEEduAplctVO.setSndId(loginVO.getUniqId()); + vEEduAplctVO.setTrgt(vEEduAplctVO.getClphone()); + vEEduAplctSndHstryService.insert(vEEduAplctVO); + }else { + result = "fail"; + message = resultMap.get("message").toString(); + } + */ + }catch(Exception ex) { + ex.printStackTrace(); + } + } + + private void sendLctrDivCd(String lctrDivCd, String diffDay, String sndFlag) throws Exception { + VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO(); + vEPrcsDetailVO.setLctrDivCd(lctrDivCd); + vEPrcsDetailVO.setDiffDay(diffDay); + + List VEEduAplctVOList = vEPrcsAplctPrdService.selectOneDayBeforeTrainingStartDate(vEPrcsDetailVO); + + for(VEPrcsDetailVO vo : VEEduAplctVOList) { + VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); + vEEduAplctVO.setEduAplctOrd(vo.getEduAplctOrd()); + vEEduAplctVO.setEmail(vo.getEmail()); + vEEduAplctVO.setSndFlag(sndFlag); + + vEEduAplctVO.setSndCn("안녕하세요 \n"+egovCryptoUtil.decrypt(vo.getMberNm())+"님이 신청해주신 \n" + + vo.getPrcsNm()+"교육이 "+vo.getEduStrtPnttm()+"날 시작합니다."); + + System.out.println(" vEEduAplctVO.getSndCn() :: "+vEEduAplctVO.getSndCn()); + this.sendMailModule(vEEduAplctVO); + this.sendSmsModule(vEEduAplctVO); + + } + } + + private void sendSmsModule(VEEduAplctVO vEEduAplctVO) throws Exception { + VeSendSMS sendSMS = new VeSendSMS(); +// String phone = vEEduAplctVO.getClphone(); + // 테스트 + String phone = "01083584250"; + + Map resultMap = sendSMS.VeSendSMS(phone, vEEduAplctVO.getSndCn()); + + + //문자 발송 성공 시 로그 + if("1".equals(resultMap.get("result_code"))){ + String snd_ord = sndGnrService.getNextStringId(); + vEEduAplctVO.setSndHstryOrd(snd_ord); + vEEduAplctVO.setSndId(""); + vEEduAplctVO.setTrgt(vEEduAplctVO.getClphone()); + vEEduAplctSndHstryService.insert(vEEduAplctVO); + }else { + } + + } + + private void sendMailModule(VEEduAplctVO vEEduAplctVO) { + VeSendMail sendMail = new VeSendMail(); + if("".equals(vEEduAplctVO.getSndFlag())) { + vEEduAplctVO.setSndFlag("test"); + } + if("".equals(vEEduAplctVO.getEmail())) { + vEEduAplctVO.setEmail("tolag3@gmail.com"); + } + // 테스트 + // 테스트 + // 테스트 + vEEduAplctVO.setEmail("hehihoho3@gmail.com"); + + try { + + // String message = "정상적으로 발송되었습니다."; + String result = sendMail.VeSendMail(vEEduAplctVO.getSndFlag() // 기반강화 50 , 기소유예 60 + , vEEduAplctVO.getEmail() + , vEEduAplctVO + ); + + if("success".equals(result)) { + //메일 발송 로그 + vEEduAplctVO.setSndHstryOrd(sndGnrService.getNextStringId()); + + vEEduAplctVO.setSndId(""); + vEEduAplctVO.setTrgt(vEEduAplctVO.getEmail()); + vEEduAplctSndHstryService.insert(vEEduAplctVO); + }else { + // message = "발송 실패하였습니다."; + } + + } catch (Exception e) { + e.printStackTrace(); + // TODO: handle exception + } + } + + + //////////////////////////////////////////////// + //개인 정보 삭제 + //////////////////////////////////////////////// + private void deletePrivacy(String p_type) throws Exception { + //개인 정보 삭제 - ve_edu_aplct + System.out.println("==== deletePrivacy ===="+p_type); + VEEduAplctVO paramVO = new VEEduAplctVO(); + paramVO.setLctrDivCd(p_type); + vEEduAplctService.privacyUpdate(paramVO); + + } } \ No newline at end of file diff --git a/src/main/java/kcc/ve/cmm/VeSendMail.java b/src/main/java/kcc/ve/cmm/VeSendMail.java index 9c3da710..d1bde885 100644 --- a/src/main/java/kcc/ve/cmm/VeSendMail.java +++ b/src/main/java/kcc/ve/cmm/VeSendMail.java @@ -1,5 +1,8 @@ package kcc.ve.cmm; +import java.io.File; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; import java.util.Properties; import javax.mail.Authenticator; @@ -9,9 +12,11 @@ import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; +import javax.servlet.ServletContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; import kcc.com.cmm.LoginVO; import kcc.com.cmm.service.EgovFileMngUtil; @@ -20,8 +25,9 @@ import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; public class VeSendMail { private static final Logger LOGGER = LoggerFactory.getLogger(EgovFileMngUtil.class); - - + + @Value("#{globalSettings['Globals.edu.mail.template']}") + private String TEMPLATE_URI; //================================================================ //찾교 메일 발송 계정 ID, PW 넣는 부분 @@ -39,6 +45,8 @@ public class VeSendMail { // S -> 찾교성인 // G -> 체험교실 // W -> 외부협력 + // A -> 실무역량강화 + // B -> 기소유예 //2. sndTo = 수신자 //3. vEEduAplctVO = eduAplctOrd(pk) // sndHstryOrd(pk) @@ -46,8 +54,8 @@ public class VeSendMail { // sndId(발송자) // sndCn(발송내용) //================================================================ - public String VeSendMail(String sndFlag, String sndTo, VEEduAplctVO vEEduAplctVO, LoginVO loginVO) throws Exception { - + public String VeSendMail(String sndFlag, String sndTo, VEEduAplctVO vEEduAplctVO) throws Exception { + String result = "success"; System.out.println("vEEduAplctVO.getClphone1()"); @@ -55,7 +63,7 @@ public class VeSendMail { System.out.println(vEEduAplctVO.getClphone1()); System.out.println(vEEduAplctVO.getClphone2()); System.out.println("vEEduAplctVO.getClphone2()"); - + try { System.out.println("수정_2200317_12:46"); Properties props = new Properties(); @@ -73,9 +81,12 @@ public class VeSendMail { { protected PasswordAuthentication getPasswordAuthentication() { + System.out.println("========== getPasswordAuthentication =========="); String id = "no-reply@copyright.or.kr"; String pw = "Copycopy12!"; - /*231120 - 성인 교육용 메일 정보 불일치 > 전부 청소년 메일로 우선 사용*/ + /*231120 - 성인 교육용 메일 정보 불일치 > 전부 청소년 메일로 우선 사용 + * 20231201 - school@copyright.or.kr 만 발송 가능 + * */ id = "school@copyright.or.kr"; pw = "dustndnjs2669!"; /*if("C".equals(sndFlag) || "Z".equals(sndFlag)) { @@ -97,7 +108,7 @@ public class VeSendMail { pw = vEEduAplctVO.getClphone2(); }*/ - + System.out.println(id); System.out.println(pw); System.out.println("vEEduAplctVO.getClphone3()"); @@ -119,19 +130,45 @@ public class VeSendMail { //메일제목 message.setSubject("[한국저작권위원회] 찾아가는 교육서비스_알림"); + + + /* + * 20231201 + * 공통 템플릿에 사용할 데이터 this.getTemplate() 참조 + * */ + String name=""; // 담당자명 + String phone="";// 폰번호 + String email="";// 메일 + + // C -> 찾교청소년 + // S -> 찾교성인 + // G -> 체험교실 + // W -> 외부협력 + // A -> 실무역량강화 + // B -> 기소유예 //발송메일 주소 String fromAddr = "no-reply@copyright.or.kr"; - if("C".equals(sndFlag)) { - fromAddr = "school@copyright.or.kr"; - }else if("Z".equals(sndFlag)) { + if("C".equals(sndFlag)) { // 청소년 +// fromAddr = "school@copyright.or.kr"; + name= "여부복 주임";// 담당자명 + phone="055-792-0224";// 폰번호 + email="\r\n" + "\r\n" + ""; - } + }else if("A".equals(sndFlag)) { // 실무역량 + /* + * 실무역량 + * 담당자: 김현아 차장 + * 연락처: 02-2669-0082 + * + * */ + + name="김현아 차장"; // 담당자명 + phone="02-2669-0082";// 폰번호 + email="hyuna@copyright.or.kr";// 메일 + // test + fromAddr = email; + }else if("B".equals(sndFlag)) { // 기반강화 + /* + * 교육조건부 기소유예 + * 담당자: 최홍석 주임 + * 연락처: 055-792-0223 + * */ + + name="최홍석 주임"; // 담당자명 + phone="055-792-0223";// 폰번호 + email="";// 메일 + } + + // 이 아이디만 인증가능 + fromAddr = "school@copyright.or.kr"; + + /* 템플릿 만들기 + * 청소년 성인 체험교실도 Cn 데이터 확인후 조건문 추가 + * AnotaionSchedule 211 라인 참조 + * */ + if("A".equals(sndFlag) // A -> 기반강화 + || "B".equals(sndFlag) // B -> 기소유예 +// || "C".equals(sndFlag) // C -> 찾교청소년 +// || "S".equals(sndFlag) // S -> 찾교성인 +// || "G".equals(sndFlag) // G -> 체험교실 + ) { + + String emailContent = ""; + + emailContent = this.getTemplate() + .replace("[[_Name_]]", name) + .replace("[[_Phone_]]", phone) + .replace("[[_Phone_tel_]]", phone) + .replace("[[_Email_]]", email) + .replace("[[_Content_]]", Cn) + ; + Cn = emailContent; + } + + +// * C -> 찾교청소년 +// * S -> 찾교성인 +// * G -> 체험교실 +// * W -> 외부협력 +// * A -> 실무역량강화 +// * B -> 기소유예 InternetAddress fromAddress = new InternetAddress(fromAddr); InternetAddress toAddress = new InternetAddress(sndTo); + System.out.println(fromAddr); + System.out.println(sndTo); + System.out.println(Cn); message.setFrom(fromAddress); message.addRecipient(Message.RecipientType.TO, toAddress ); @@ -203,5 +300,60 @@ public class VeSendMail { return result; } + + private String getTemplate() { + return "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "" + + "\r\n" + + " \r\n" + + " \r\n" + + "
" + + "\"한국저작권위원회-통합회원" + + "
" + + "

" + + "[[_Content_]]" + + "

" + + "

감사합니다." + + "

[[_Name_]] 드림" + + "
☎ [[_Phone_]]" + + "
☎ [[_Email_]]" + + "

" + + "
" + + "" + + "" + + "" + + " \r\n" + + " \r\n" + + " \r\n" + + " \r\n" + + "
\r\n" + + " \"한국저작권위원회-통합회원\r\n" + + " \r\n" + + "

본 메일은 발신전용으로 회신하지 않습니다.

\r\n" + + "

진주 [우 52852] 경상남도 진주시 충의로 19, 1/2/5층.  대표번호 : 055.792.0000
서울 [우 04323] 서울특별시 용산구 후암로 107, 5/16층.  대표번호 : 02.2669.0010

\r\n" + + "
\r\n" + + "
\r\n" + + "\r\n" + + ""; + } + } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsAplctPrdService.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsAplctPrdService.java index 1fcd95d4..d779eea6 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsAplctPrdService.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsAplctPrdService.java @@ -3,6 +3,7 @@ package kcc.ve.instr.tngrVisitEdu.prcsInfo.service; import java.util.List; import java.util.Map; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO; public interface VEPrcsAplctPrdService { @@ -59,4 +60,6 @@ public interface VEPrcsAplctPrdService { Map findAllSspnldtmtDashboardCnt(VEPrcsDetailVO vEPrcsDetailVO); + List selectOneDayBeforeTrainingStartDate(VEPrcsDetailVO vEPrcsDetailVO); + } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java index 1b2a544b..0f4f9ce4 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java @@ -29,6 +29,8 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { private String lastUpdtPnttm; // 수정일시 private String lastUpdusrId; // 수정자 + private String sndFlag; + //ve_prcs_aplct_prd private String prcsAplctPrdOrd; //과정신청기간순번 private String lctrDivCd; //강의구분코드 VE0011 10 - 청소년 강의, 20 - 성인 강의 @@ -120,6 +122,8 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { private String instrDiv; private String instrCnt; private String userId; + private String email; + private String clphone; @@ -173,6 +177,8 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { private String lctrYn; // 저작권 교육 수강 여부 private String prvsQs; // 교육관련 사전질의 + private String diffDay; // + public String getSearchDiv() { return searchDiv; @@ -838,6 +844,30 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { public void setPrvsQs(String prvsQs) { this.prvsQs = prvsQs; } + public String getDiffDay() { + return diffDay; + } + public void setDiffDay(String diffDay) { + this.diffDay = diffDay; + } + public String getEmail() { + return email; + } + public void setEmail(String email) { + this.email = email; + } + public String getClphone() { + return clphone; + } + public void setClphone(String clphone) { + this.clphone = clphone; + } + public String getSndFlag() { + return sndFlag; + } + public void setSndFlag(String sndFlag) { + this.sndFlag = sndFlag; + } } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdDAO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdDAO.java index 06a6789e..cf136268 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdDAO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdDAO.java @@ -6,6 +6,7 @@ import java.util.Map; import org.springframework.stereotype.Repository; import egovframework.rte.psl.dataaccess.EgovAbstractDAO; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; @@ -127,5 +128,9 @@ public class VEPrcsAplctPrdDAO extends EgovAbstractDAO { public List selectSchduleManagerList(VEPrcsDetailVO vEPrcsDetailVO) { return (List) list("VEPrcsAplctPrdDAO.selectSchduleManagerList", vEPrcsDetailVO); } + + public List selectOneDayBeforeTrainingStartDate(VEPrcsDetailVO vEPrcsDetailVO) { + return (List) list("VEPrcsAplctPrdDAO.selectOneDayBeforeTrainingStartDate", vEPrcsDetailVO); + } } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdServiceImpl.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdServiceImpl.java index fccef726..90f5bb97 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdServiceImpl.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdServiceImpl.java @@ -9,6 +9,7 @@ import javax.annotation.Resource; import org.springframework.stereotype.Service; import egovframework.rte.fdl.idgnr.EgovIdGnrService; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService; @@ -137,4 +138,10 @@ public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService { return vEPrcsAplctPrdDAO.selectSchduleManagerList(vEPrcsDetailVO); } + @Override + public List selectOneDayBeforeTrainingStartDate(VEPrcsDetailVO vEPrcsDetailVO) { + return vEPrcsAplctPrdDAO.selectOneDayBeforeTrainingStartDate(vEPrcsDetailVO); + + } + } diff --git a/src/main/java/kcc/ve/oprtn/comweb/CommonManageWebController.java b/src/main/java/kcc/ve/oprtn/comweb/CommonManageWebController.java index 2a38e02a..8e7acc94 100644 --- a/src/main/java/kcc/ve/oprtn/comweb/CommonManageWebController.java +++ b/src/main/java/kcc/ve/oprtn/comweb/CommonManageWebController.java @@ -1,278 +1,281 @@ -package kcc.ve.oprtn.comweb; - -import java.util.List; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; - -import org.springframework.stereotype.Controller; -import org.springframework.ui.ModelMap; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import egovframework.rte.fdl.idgnr.EgovIdGnrService; -import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; -import kcc.com.cmm.LoginVO; -import kcc.com.utl.user.service.CheckLoginUtil; -import kcc.let.uss.umt.service.EgovUserManageService; -import kcc.let.uss.umt.service.UserManageVO; -import kcc.ve.adv.tngr.stngInfo.service.VEAStngService; -import kcc.ve.adv.tngr.stngInfo.service.VEAStngVO; -import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoMIXService; -import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoService; -import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoVO; -import kcc.ve.cmm.VeSendMail; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctSndHstryService; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; -import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsCntntVO; -import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService; - -@Controller -@RequestMapping("/kccadr/oprtn/comm") -public class CommonManageWebController { - - @Resource(name = "scholInfoService") - private ScholInfoService scholInfoService; - - @Resource(name = "scholInfoMIXService") - private ScholInfoMIXService scholInfoMIXService; - - @Resource(name = "vEEduAplctService") - private VEEduAplctService vEEduAplctService; - - @Resource(name = "vEPrcsOnlnCntntService") - private VEPrcsOnlnCntntService vEPrcsOnlnCntntService; - - //로그인 체크 util - @Resource(name = "checkLoginUtil") - private CheckLoginUtil checkLoginUtil; - - //snd_hstry id gen - @Resource(name = "sndGnrService") - private EgovIdGnrService sndGnrService; - - // 교육신청발송이력 - @Resource(name = "vEEduAplctSndHstryService") - private VEEduAplctSndHstryService vEEduAplctSndHstryService; - - - //회원조회 - @Resource(name = "userManageService") - private EgovUserManageService userManageService; - - - //강의 회차 정보 - @Resource(name = "vEAStngService") - private VEAStngService vEAStngService; - - - /** - * 학교정보 검색 팝업 리스트 - */ - @RequestMapping("popup/scholPopList.do") - public String exprnClsrmAplctList(@ModelAttribute("scholInfoVO") ScholInfoVO scholInfoVO , ModelMap model , HttpServletRequest request ) throws Exception { - PaginationInfo paginationInfo = new PaginationInfo(); - paginationInfo.setCurrentPageNo(scholInfoVO.getPageIndex()); - paginationInfo.setRecordCountPerPage(scholInfoVO.getPageUnit()); - paginationInfo.setPageSize(5); - - // paging step2 - scholInfoVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); - scholInfoVO.setLastIndex(paginationInfo.getLastRecordIndex()); - scholInfoVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); - - if("".equals(scholInfoVO.getSearchSortCnd())){ //최초조회시 최신것 조회List - scholInfoVO.setSearchSortCnd("schol_nm"); - scholInfoVO.setSearchSortOrd("desc"); - } - - - //검색 조건 - String selectCondition = new String(); - if (!"".equals(scholInfoVO.getSearchKeyword())) { - selectCondition += " AND A.SCHOL_NM LIKE '%"+scholInfoVO.getSearchKeyword()+"%' "; - } - - //2.2 학교종류 - /*if(StringUtil.isNotEmpty(scholInfoVO.getSearchCondition())){ - selectCondition += "AND DECODE(schol_grade_nm, '초등학교','10', '중학교','20', '고등학교','30',IF (INSTR(schol_grade_nm,'각종학교')>0,'40','50')) IN ('"+scholInfoVO.getSearchCondition()+"')"; - }*/ - if (!"".equals(scholInfoVO.getSearchCondition())) { - if(scholInfoVO.getSearchCondition().equals("10")) { - selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%초등%' "; - }else if(scholInfoVO.getSearchCondition().equals("20")) { - selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%중학%' "; - }else if(scholInfoVO.getSearchCondition().equals("30")) { - selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%고등%' "; - }else if(scholInfoVO.getSearchCondition().equals("40")) { - selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%특수%' "; - }else if(scholInfoVO.getSearchCondition().equals("50")) { - selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%각종%' "; - } - } - scholInfoVO.setSelectPagingListQuery(selectCondition); - - - List scholInfoVOList = scholInfoMIXService.selectPagingList(scholInfoVO); - //3.paging step3 - int totCnt = 0; - if(scholInfoVOList.size() > 0) totCnt = scholInfoVOList.get(0).getTotCnt(); - paginationInfo.setTotalRecordCount(totCnt); - - model.addAttribute("paginationInfo", paginationInfo); - //학교정보 리스트, 페이징 정보 전달 - model.addAttribute("scholList", scholInfoVOList); - return "oprtn/cmm/scholPopListBower"; - } - - /** - * 학교정보 검색 팝업 리스트 - */ - @RequestMapping("popup/rejectPopup.do") - public String rejectPopup(@ModelAttribute("veEduAplctVO") VEEduAplctVO veEduAplctVO , ModelMap model , HttpServletRequest request ) throws Exception { - return "oprtn/cmm/rejectPopup"; - } - - @RequestMapping(value="/eduAplctStatusAjax.do") - public ModelAndView eduAplctStatusAjax(HttpServletRequest request , ModelMap model , VEEduAplctVO vEEduAplctVO) throws Exception { - ModelAndView modelAndView = new ModelAndView(); - modelAndView.setViewName("jsonView"); - - //권한에 따른 로그인 정보 가져오기 - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); - vEEduAplctVO.setLastUpdusrId(loginVO.getUniqId()); - int rs = vEEduAplctService.statusUpdate(vEEduAplctVO); - - //교육콘텐츠 교육승인 상태로 변경 시 메일발송 - if("40".equals(vEEduAplctVO.getLctrDivCd()) && "20".equals(vEEduAplctVO.getAprvlCd())) { - VeSendMail sendMail = new VeSendMail(); - vEEduAplctVO.setSndCd("20"); - //메일발송 - String mailResult = sendMail.VeSendMail("W", vEEduAplctVO.getEmail(), vEEduAplctVO, loginVO); - - if("success".equals(mailResult)) { - //메일 발송 로그 - String snd_ord = sndGnrService.getNextStringId(); - vEEduAplctVO.setSndHstryOrd(snd_ord); - vEEduAplctVO.setSndId(loginVO.getUniqId()); - vEEduAplctSndHstryService.insert(vEEduAplctVO); - } - } - modelAndView.addObject("rsCnt", rs); - modelAndView.addObject("result", "success"); - return modelAndView; - } - - //교육신청 리스트에서 일괄 상태변경 처리 - @RequestMapping(value="/eduAplctStatusListAjax.do") - public ModelAndView eduAplctStatusListAjax(HttpServletRequest request , ModelMap model , VEEduAplctVO veEduAplctVO) throws Exception { - - ModelAndView modelAndView = new ModelAndView(); - modelAndView.setViewName("jsonView"); - - int rs = 0; - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - - try { - String[] splitChk = veEduAplctVO.getChk().split(","); - - for(int i=0; i userList = userManageService.selectOffeduUserList(userManageVO); - //3.paging step3 - int totCnt = 0; - if(userList.size() > 0) totCnt = userList.get(0).getTotCnt(); - paginationInfo.setTotalRecordCount(totCnt); - - model.addAttribute("paginationInfo", paginationInfo); - //학교정보 리스트, 페이징 정보 전달 - model.addAttribute("userList", userList); - return "oprtn/cmm/userPopListBower"; - } - - /** - * 회차 검색 팝업 리스트 - */ - @RequestMapping("popup/rndsPopList.do") - public String rndsPopList( - @ModelAttribute("searchVO") VEAStngVO vEAStngVO - , ModelMap model - , HttpServletRequest request - ) throws Exception { - - - //VEAStngVO vEAStngVO = new VEAStngVO(); - List rndsList = vEAStngService.selectList_VEALRS(vEAStngVO); - - //회차 정보리스트 - model.addAttribute("rndsList", rndsList); - return "oprtn/cmm/rndsPopList"; - } -} +package kcc.ve.oprtn.comweb; + +import java.util.List; + +import javax.annotation.Resource; +import javax.servlet.ServletContext; +import javax.servlet.http.HttpServletRequest; + +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.servlet.ModelAndView; + +import egovframework.rte.fdl.idgnr.EgovIdGnrService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; +import kcc.com.cmm.LoginVO; +import kcc.com.utl.user.service.CheckLoginUtil; +import kcc.let.uss.umt.service.EgovUserManageService; +import kcc.let.uss.umt.service.UserManageVO; +import kcc.ve.adv.tngr.stngInfo.service.VEAStngService; +import kcc.ve.adv.tngr.stngInfo.service.VEAStngVO; +import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoMIXService; +import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoService; +import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoVO; +import kcc.ve.cmm.VeSendMail; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctSndHstryService; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsCntntVO; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService; + +@Controller +@RequestMapping("/kccadr/oprtn/comm") +public class CommonManageWebController { + + @Resource(name = "scholInfoService") + private ScholInfoService scholInfoService; + + @Resource(name = "scholInfoMIXService") + private ScholInfoMIXService scholInfoMIXService; + + @Resource(name = "vEEduAplctService") + private VEEduAplctService vEEduAplctService; + + @Resource(name = "vEPrcsOnlnCntntService") + private VEPrcsOnlnCntntService vEPrcsOnlnCntntService; + + //로그인 체크 util + @Resource(name = "checkLoginUtil") + private CheckLoginUtil checkLoginUtil; + + //snd_hstry id gen + @Resource(name = "sndGnrService") + private EgovIdGnrService sndGnrService; + + // 교육신청발송이력 + @Resource(name = "vEEduAplctSndHstryService") + private VEEduAplctSndHstryService vEEduAplctSndHstryService; + + + //회원조회 + @Resource(name = "userManageService") + private EgovUserManageService userManageService; + + + //강의 회차 정보 + @Resource(name = "vEAStngService") + private VEAStngService vEAStngService; + + + /** + * 학교정보 검색 팝업 리스트 + */ + @RequestMapping("popup/scholPopList.do") + public String exprnClsrmAplctList(@ModelAttribute("scholInfoVO") ScholInfoVO scholInfoVO , ModelMap model , HttpServletRequest request ) throws Exception { + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(scholInfoVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(scholInfoVO.getPageUnit()); + paginationInfo.setPageSize(5); + + // paging step2 + scholInfoVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + scholInfoVO.setLastIndex(paginationInfo.getLastRecordIndex()); + scholInfoVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + if("".equals(scholInfoVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + scholInfoVO.setSearchSortCnd("schol_nm"); + scholInfoVO.setSearchSortOrd("desc"); + } + + + //검색 조건 + String selectCondition = new String(); + if (!"".equals(scholInfoVO.getSearchKeyword())) { + selectCondition += " AND A.SCHOL_NM LIKE '%"+scholInfoVO.getSearchKeyword()+"%' "; + } + + //2.2 학교종류 + /*if(StringUtil.isNotEmpty(scholInfoVO.getSearchCondition())){ + selectCondition += "AND DECODE(schol_grade_nm, '초등학교','10', '중학교','20', '고등학교','30',IF (INSTR(schol_grade_nm,'각종학교')>0,'40','50')) IN ('"+scholInfoVO.getSearchCondition()+"')"; + }*/ + if (!"".equals(scholInfoVO.getSearchCondition())) { + if(scholInfoVO.getSearchCondition().equals("10")) { + selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%초등%' "; + }else if(scholInfoVO.getSearchCondition().equals("20")) { + selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%중학%' "; + }else if(scholInfoVO.getSearchCondition().equals("30")) { + selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%고등%' "; + }else if(scholInfoVO.getSearchCondition().equals("40")) { + selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%특수%' "; + }else if(scholInfoVO.getSearchCondition().equals("50")) { + selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%각종%' "; + } + } + scholInfoVO.setSelectPagingListQuery(selectCondition); + + + List scholInfoVOList = scholInfoMIXService.selectPagingList(scholInfoVO); + //3.paging step3 + int totCnt = 0; + if(scholInfoVOList.size() > 0) totCnt = scholInfoVOList.get(0).getTotCnt(); + paginationInfo.setTotalRecordCount(totCnt); + + model.addAttribute("paginationInfo", paginationInfo); + //학교정보 리스트, 페이징 정보 전달 + model.addAttribute("scholList", scholInfoVOList); + return "oprtn/cmm/scholPopListBower"; + } + + /** + * 학교정보 검색 팝업 리스트 + */ + @RequestMapping("popup/rejectPopup.do") + public String rejectPopup(@ModelAttribute("veEduAplctVO") VEEduAplctVO veEduAplctVO , ModelMap model , HttpServletRequest request ) throws Exception { + return "oprtn/cmm/rejectPopup"; + } + + @RequestMapping(value="/eduAplctStatusAjax.do") + public ModelAndView eduAplctStatusAjax(HttpServletRequest request + , ModelMap model + , VEEduAplctVO vEEduAplctVO) throws Exception { + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + //권한에 따른 로그인 정보 가져오기 + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); + vEEduAplctVO.setLastUpdusrId(loginVO.getUniqId()); + int rs = vEEduAplctService.statusUpdate(vEEduAplctVO); + + //교육콘텐츠 교육승인 상태로 변경 시 메일발송 + if("40".equals(vEEduAplctVO.getLctrDivCd()) && "20".equals(vEEduAplctVO.getAprvlCd())) { + VeSendMail sendMail = new VeSendMail(); + vEEduAplctVO.setSndCd("20"); + //메일발송 + String mailResult = sendMail.VeSendMail("W", vEEduAplctVO.getEmail(), vEEduAplctVO); + + if("success".equals(mailResult)) { + //메일 발송 로그 + String snd_ord = sndGnrService.getNextStringId(); + vEEduAplctVO.setSndHstryOrd(snd_ord); + vEEduAplctVO.setSndId(loginVO.getUniqId()); + vEEduAplctSndHstryService.insert(vEEduAplctVO); + } + } + modelAndView.addObject("rsCnt", rs); + modelAndView.addObject("result", "success"); + return modelAndView; + } + + //교육신청 리스트에서 일괄 상태변경 처리 + @RequestMapping(value="/eduAplctStatusListAjax.do") + public ModelAndView eduAplctStatusListAjax(HttpServletRequest request , ModelMap model , VEEduAplctVO veEduAplctVO) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + int rs = 0; + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + + try { + String[] splitChk = veEduAplctVO.getChk().split(","); + + for(int i=0; i userList = userManageService.selectOffeduUserList(userManageVO); + //3.paging step3 + int totCnt = 0; + if(userList.size() > 0) totCnt = userList.get(0).getTotCnt(); + paginationInfo.setTotalRecordCount(totCnt); + + model.addAttribute("paginationInfo", paginationInfo); + //학교정보 리스트, 페이징 정보 전달 + model.addAttribute("userList", userList); + return "oprtn/cmm/userPopListBower"; + } + + /** + * 회차 검색 팝업 리스트 + */ + @RequestMapping("popup/rndsPopList.do") + public String rndsPopList( + @ModelAttribute("searchVO") VEAStngVO vEAStngVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + + //VEAStngVO vEAStngVO = new VEAStngVO(); + List rndsList = vEAStngService.selectList_VEALRS(vEAStngVO); + + //회차 정보리스트 + model.addAttribute("rndsList", rndsList); + return "oprtn/cmm/rndsPopList"; + } +} diff --git a/src/main/java/kcc/ve/oprtn/pblc/sndMng/web/SndMngController.java b/src/main/java/kcc/ve/oprtn/pblc/sndMng/web/SndMngController.java index e9f70a8c..fa17481a 100644 --- a/src/main/java/kcc/ve/oprtn/pblc/sndMng/web/SndMngController.java +++ b/src/main/java/kcc/ve/oprtn/pblc/sndMng/web/SndMngController.java @@ -1,530 +1,532 @@ -package kcc.ve.oprtn.pblc.sndMng.web; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Properties; - -import javax.annotation.Resource; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Controller; -import org.springframework.ui.ModelMap; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.servlet.ModelAndView; - -import egovframework.rte.fdl.idgnr.EgovIdGnrService; -import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; -import kcc.com.cmm.LoginVO; -import kcc.com.cmm.service.EgovCmmUseService; -import kcc.com.cmm.service.EgovFileMngService; -import kcc.com.cmm.service.EgovFileMngUtil; -import kcc.com.utl.user.service.CheckAdrProcessUtil; -import kcc.com.utl.user.service.CheckFileUtil; -import kcc.com.utl.user.service.CheckLoginUtil; -import kcc.kccadr.adjreqmgr.service.AdjReqMgrService; -import kcc.kccadr.cmm.service.SMSOracleService; -import kcc.kccadr.kccadrCom.service.KccadrMgrUdtService; -import kcc.let.sym.ccm.cde.service.EgovCcmCmmnDetailCodeManageService; -import kcc.let.uss.ion.cnt.service.CntManageVO; -import kcc.let.uss.ion.cnt.service.EgovCntManageService; -import kcc.let.utl.fcc.service.EgovCryptoUtil; -import kcc.ve.cmm.VeSendMail; -import kcc.ve.cmm.VeSendSMS; -import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService; -import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduPnltyService; -import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeService; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctSndHstryService; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctUnqIsuesService; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduCnfrmDsgnService; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService; -import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrMixService; -import kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrAreaMngService; -import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService; -import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService; - -/** - * 발송관리 - * 발송관리에 관한 controller 클래스를 정의한다. - * @author 조용준 - * @since 2021.12.16 - * @version 1.0 - * @see - * - *
- * << 개정이력(Modification Information) >>
- *
- *   수정일      수정자           수정내용
- *  -------    --------    ---------------------------
- *   2021.12.16  조용준          최초 생성
- *
- * 
- */ - -@Controller -@RequestMapping("/kccadr/oprtn/pblc") -public class SndMngController { - - private static final Logger LOGGER = LoggerFactory.getLogger(SndMngController.class); - - //로그인 체크 util - @Resource(name = "checkLoginUtil") - private CheckLoginUtil checkLoginUtil; - - //과정 관리 - @Resource(name = "vEPrcsService") - private VEPrcsService vEPrcsService; - - //신청과정 관리 - @Resource(name = "vEEduMIXService") - private VEEduMIXService vEEduMIXService; - - //강의지역 관리 - @Resource(name = "vELctrAreaMngService") - private VELctrAreaMngService vELctrAreaMngService; - - - - //교육신청 - @Resource(name = "vEEduAplctService") - private VEEduAplctService vEEduAplctService; - - //교육과정신청 - @Resource(name = "vEPrcsMIXService") - private VEPrcsMIXService vEPrcsMIXService; - - //차시 - @Resource(name = "vEEduChasiService") - private VEEduChasiService vVEEduChasiService; - - - // 교육신청 서비스단 - @Resource(name = "AdjReqMgrService") - private AdjReqMgrService adjReqMgrService; - - // eGov 공통코드 - @Resource(name = "EgovCmmUseService") - private EgovCmmUseService cmmUseService; - - @Resource(name = "EgovFileMngService") - private EgovFileMngService fileService; - - // global 프로퍼티 - @Resource(name="globalSettings") - protected Properties propertiesService; - - //첨부파일 경로, realPath 설정 - @Resource(name="EgovFileMngUtil") - private EgovFileMngUtil fileUtil; - - // 첨부파일 정보 - @Resource(name="EgovFileMngService") - private EgovFileMngService fileMngService; - - //암복호화 유틸 - @Resource(name = "egovCryptoUtil") - EgovCryptoUtil egovCryptoUtil; - - - @Resource(name="KccadrMgrUdtService") - private KccadrMgrUdtService kccadrMgrUdtService; - - // 교육신청 서비스단 - @Resource(name = "checkAdrProcessUtil") - private CheckAdrProcessUtil checkAdrProcessUtil; - - // 강의배정정보 - @Resource(name = "vEAsgnmMIXService") - private VEAsgnmMIXService vEAsgnmMIXService; - - //파일 체크 util - @Resource(name = "checkFileUtil") - private CheckFileUtil checkFileUtil; - - //교육확정안 - @Resource(name = "vEEduCnfrmDsgnService") - private VEEduCnfrmDsgnService vEEduCnfrmDsgnService; - - // 교육패널티 - @Resource(name = "vEEduPnltyService") - private VEEduPnltyService vEEduPnltyService; - - // 특이사항 - @Resource(name = "vEEduAplctUnqIsuesService") - private VEEduAplctUnqIsuesService vEEduAplctUnqIsuesService; - - // 강사료 - @Resource(name = "vEInstrFeeService") - private VEInstrFeeService vEInstrFeeService; - - // 강사목록 - @Resource(name = "vEInstrMixService") - private VEInstrMixService vEInstrMixService; - - @Resource(name = "CmmnDetailCodeManageService") - private EgovCcmCmmnDetailCodeManageService cmmnDetailCodeManageService; - - // 교육신청발송이력 - @Resource(name = "vEEduAplctSndHstryService") - private VEEduAplctSndHstryService vEEduAplctSndHstryService; - - //snd_hstry id gen - @Resource(name = "sndGnrService") - private EgovIdGnrService sndGnrService; - - //snd_hstry id gen - @Resource(name = "SMSOracleService") - private SMSOracleService smsOracleService; - - @Resource(name = "egovCntManageService") - private EgovCntManageService egovCntManageService; - - /** - * 오라클 연동 테스트 - */ - - @RequestMapping(value="oracleTest.do") - public void oracleTest() { - - } - - /** - * sms 발송 - */ - - @RequestMapping(value="smsSndAjax.do") - public ModelAndView smsSndAjax( - VEEduAplctVO vEEduAplctVO - //, RedirectAttributes redirectAttributes - , ModelMap model - //, HttpServletRequest request - ) throws Exception { - - ModelAndView modelAndView = new ModelAndView(); - modelAndView.setViewName("jsonView"); - - //System.out.println("@@@@@@@ 문자전송 시작 ----------------------------------"); - - //로그인 처리==================================== - //로그인 정보 가져오기 - /* - String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); - if (!"".equals(s_oprtnLoginCheckNInfo)) { - modelAndView.addObject("result", "loginFail"); - return modelAndView; - } - */ - - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - //SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - - //로그인 처리==================================== - - - try { - String returnMsg = ""; - if(!"".equals(vEEduAplctVO.getChk()) && vEEduAplctVO.getChk() != null) { - //MAIL - String[] splitChk = vEEduAplctVO.getChk().split(","); - String[] phones = vEEduAplctVO.getClphone().split(","); - String[] emails = {}; - - //String[] sendChk = {}; //발송정보체크용 - List sendChk = new ArrayList<>(); - - VeSendMail sendMail = new VeSendMail(); - if("Z".equals(vEEduAplctVO.getSndFlag())) { - emails = vEEduAplctVO.getEmail().split(","); - } - - for(int i=0; i 청소년>교육확정 메일본문 수정 메뉴에서 관리 - if("Z".equals(vEEduAplctVO.getSndFlag())) { - vEEduAplctVO.setEmail(emails[i]); - CntManageVO cntManageVO = new CntManageVO(); - //본문적용소스 - cntManageVO.setCntId("CNT_000000000001"); - cntManageVO.setCntDtId("CNTDT_0000000001"); - - cntManageVO = egovCntManageService.selectCntDtDetail(cntManageVO); - vEEduAplctVO.setSndCn(cntManageVO.getCntCn()); - - String result = sendMail.VeSendMail(vEEduAplctVO.getSndFlag(), vEEduAplctVO.getEmail(), vEEduAplctVO, loginVO); - if("success".equals(result)) { - //메일 발송 로그 - String snd_mail_ord = sndGnrService.getNextStringId(); - vEEduAplctVO.setSndHstryOrd(snd_mail_ord); - vEEduAplctVO.setSndCd("20"); //문자:10, 메일:20 - vEEduAplctSndHstryService.insert(vEEduAplctVO); - returnMsg = "succ"; - } - } - } - } - } - if(returnMsg == "fail") { - modelAndView.addObject("result", "fail"); - } else if(returnMsg == "succ") { - modelAndView.addObject("result", "success"); - } - - - } else { - //SMS - String snd_ord = sndGnrService.getNextStringId(); - vEEduAplctVO.setSndHstryOrd(snd_ord); - - vEEduAplctVO.setSndId(loginVO.getUniqId()); - //System.out.println("@@@@@@@ 오라클 시작 ----------------------------------"); - returnMsg = smsOracleService.insertSmsSend(vEEduAplctVO); - //System.out.println("@@@@@@@ 오라클 끝 ----------------------------------"); - - //System.out.println("@@@@@@@ 히스토리 시작 ----------------------------------"); - vEEduAplctSndHstryService.insert(vEEduAplctVO); - //System.out.println("@@@@@@@ 히스토리 끝 ----------------------------------"); - - if(returnMsg == "fail") { - //System.out.println("@@@@@@@ fail ----------------------------------"); - modelAndView.addObject("result", "fail"); - } else if(returnMsg == "succ") { - //System.out.println("@@@@@@@ success ----------------------------------"); - modelAndView.addObject("result", "success"); - } - } - }catch(Exception ex) { - //System.out.println("@@@@@@@ ex ----------------------------------"); - ex.printStackTrace(); - } - return modelAndView; - } - - /** - * 메일 발송 - */ - - /** - * @param vEEduAplctVO - * @param model - * @return - * @throws Exception - */ - @RequestMapping(value="emailSndAjax.do") - public ModelAndView emailSndAjax( - VEEduAplctVO vEEduAplctVO - //, RedirectAttributes redirectAttributes - , ModelMap model - //, HttpServletRequest request - ) throws Exception { - - ModelAndView modelAndView = new ModelAndView(); - modelAndView.setViewName("jsonView"); - - //권한에 따른 로그인 정보 가져오기 - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); - - //메일 발송 부 시작 - //================================================================ - //메일 발송 VeSendMail 파라미터 정리 - //1. sndFlag = 메뉴 구분 - // C -> 찾교청소년 - // Z -> 찾교청소년-교육확정알림(교육배치목록-확정된 강의 알림 버튼) : 청소년>교육확정 메일본문 수정 메뉴에서 관리 - // S -> 찾교성인 - // G -> 체험교실 - // W -> 교육콘텐츠 - //2. sndTo = 수신자 - //3. vEEduAplctVO = eduAplctOrd(pk) - // sndHstryOrd(pk) - // sndCd(10 - sms, 20 - email) - // sndId(발송자) - // sndCn(발송내용) - //================================================================ - VeSendMail sendMail = new VeSendMail(); - - if("".equals(vEEduAplctVO.getSndFlag())) { - vEEduAplctVO.setSndFlag("test"); - } - if("".equals(vEEduAplctVO.getEmail())) { - vEEduAplctVO.setEmail("tolag3@gmail.com"); - } - - String message = "정상적으로 발송되었습니다."; - String result = sendMail.VeSendMail(vEEduAplctVO.getSndFlag(), vEEduAplctVO.getEmail(), vEEduAplctVO, loginVO); - - if("success".equals(result)) { - //메일 발송 로그 - String snd_ord = sndGnrService.getNextStringId(); - vEEduAplctVO.setSndHstryOrd(snd_ord); - - vEEduAplctVO.setSndId(loginVO.getUniqId()); - vEEduAplctVO.setTrgt(vEEduAplctVO.getEmail()); - vEEduAplctSndHstryService.insert(vEEduAplctVO); - }else { - message = "발송 실패하였습니다."; - } - - //메일 발송 부 끝 - modelAndView.addObject("result", result); - modelAndView.addObject("message", message); - - - return modelAndView; - - } - - - //================================================================ - //찾교 관리자 SMS 발송 - 알리고 API - //사용자 ID : Identifier - //발급 키 : ny3v5te9d8131byxllc8c0v7cmx7jqo1 - - //*Request - // POST /send/ HTTP/1.1 - // Host: apis.aligo.in - // Service Port: 443 - - //key |인증용 API Key |필수 |String - //user_id |사용자id |필수 |String - //sender |발신자 전화번호 (최대 16bytes) |필수 |String - //receiver |수신자 전화번호 - 컴마(,)분기 입력 |필수 |String - //msg |메시지 내용 |필수 |String (1~2,000Byte) - //msg_type |SMS(단문) , LMS(장문), MMS(그림문자) 구분 |X |String - //title |문자제목(LMS,MMS만 허용) |X |String (1~44Byte) - //destination |%고객명% 치환용 입력 |X |String - //rdate |예약일 (현재일이상) |X |YYYYMMDD - //rtime |예약시간 - 현재시간기준 10분이후 |X |HHII - //image1 |첨부이미지 (image 또는 image1) |X |JPEG,PNG,GIF - //image2 |첨부이미지 |X |JPEG,PNG,GIF - //image3 |첨부이미지 |X |JPEG,PNG,GIF - //testmode_yn |연동테스트시 Y 적용 |X |String - - //*Response - //result_code |결과코드(API 수신유무) |Integer - //message |결과 메시지( result_code 가 0 보다 작은경우 실패사유 표기) |String - //msg_id |메시지 고유 ID |Integer - //success_cnt |요청성공 건수 |Integer - //error_cnt |요청실패 건수 |Integer - //msg_type |메시지 타입 (1. SMS, 2.LMS, 3. MMS) |String - //================================================================ - @RequestMapping(value="offeduSMSSndAjax.do") - public ModelAndView offeduSMSSndAjax(VEEduAplctVO vEEduAplctVO) throws Exception { - - ModelAndView modelAndView = new ModelAndView(); - modelAndView.setViewName("jsonView"); - - String result = "success"; - String message = "정상적으로 발송되었습니다."; - - VeSendSMS sendSMS = new VeSendSMS(); - Map resultMap = sendSMS.VeSendSMS(vEEduAplctVO.getClphone(), vEEduAplctVO.getSndCn()); - - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); - - //문자 발송 성공 시 로그 - if("1".equals(resultMap.get("result_code"))){ - String snd_ord = sndGnrService.getNextStringId(); - vEEduAplctVO.setSndHstryOrd(snd_ord); - vEEduAplctVO.setSndId(loginVO.getUniqId()); - vEEduAplctVO.setTrgt(vEEduAplctVO.getClphone()); - vEEduAplctSndHstryService.insert(vEEduAplctVO); - }else { - result = "fail"; - message = resultMap.get("message").toString(); - } - modelAndView.addObject("result", result); - modelAndView.addObject("message", message); - return modelAndView; - } - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // - // private function - // - // - - //페이징을 위한 처리 step1 - 페이징 기본 정보 설정 - private PaginationInfo setPagingStep1( - VEEduAplctVO p_vEEduAplctVO - )throws Exception{ - // pageing step1 - PaginationInfo paginationInfo = new PaginationInfo(); - paginationInfo.setCurrentPageNo(p_vEEduAplctVO.getPageIndex()); - paginationInfo.setRecordCountPerPage(p_vEEduAplctVO.getPageUnit()); - paginationInfo.setPageSize(p_vEEduAplctVO.getPageSize()); - - return paginationInfo; - } - - - //페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 및 검색 조건 초기화 - private VEEduAplctVO setPagingStep2( - VEEduAplctVO p_vEEduAplctVO - , PaginationInfo p_paginationInfo - )throws Exception{ - // pageing step2 - p_vEEduAplctVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex()); - p_vEEduAplctVO.setLastIndex(p_paginationInfo.getLastRecordIndex()); - p_vEEduAplctVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage()); - - if("".equals(p_vEEduAplctVO.getSearchSortCnd())){ //최초조회시 최신것 조회List - p_vEEduAplctVO.setSearchSortCnd("prcs_ord"); - p_vEEduAplctVO.setSearchSortOrd("desc"); - } - - return p_vEEduAplctVO; - } - - - //페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기 - private PaginationInfo setPagingStep3( - List p_vEEduAplctVOList - - , PaginationInfo p_paginationInfo - )throws Exception{ - // pageing step3 - int totCnt = 0; - if(p_vEEduAplctVOList.size() > 0) totCnt = p_vEEduAplctVOList.get(0).getTotCnt(); - p_paginationInfo.setTotalRecordCount(totCnt); - - return p_paginationInfo; - } -} +package kcc.ve.oprtn.pblc.sndMng.web; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Properties; + +import javax.annotation.Resource; +import javax.servlet.ServletContext; +import javax.servlet.http.HttpServletRequest; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.servlet.ModelAndView; + +import egovframework.rte.fdl.idgnr.EgovIdGnrService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; +import kcc.com.cmm.LoginVO; +import kcc.com.cmm.service.EgovCmmUseService; +import kcc.com.cmm.service.EgovFileMngService; +import kcc.com.cmm.service.EgovFileMngUtil; +import kcc.com.utl.user.service.CheckAdrProcessUtil; +import kcc.com.utl.user.service.CheckFileUtil; +import kcc.com.utl.user.service.CheckLoginUtil; +import kcc.kccadr.adjreqmgr.service.AdjReqMgrService; +import kcc.kccadr.cmm.service.SMSOracleService; +import kcc.kccadr.kccadrCom.service.KccadrMgrUdtService; +import kcc.let.sym.ccm.cde.service.EgovCcmCmmnDetailCodeManageService; +import kcc.let.uss.ion.cnt.service.CntManageVO; +import kcc.let.uss.ion.cnt.service.EgovCntManageService; +import kcc.let.utl.fcc.service.EgovCryptoUtil; +import kcc.ve.cmm.VeSendMail; +import kcc.ve.cmm.VeSendSMS; +import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService; +import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduPnltyService; +import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeService; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctSndHstryService; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctUnqIsuesService; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduCnfrmDsgnService; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService; +import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrMixService; +import kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrAreaMngService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService; + +/** + * 발송관리 + * 발송관리에 관한 controller 클래스를 정의한다. + * @author 조용준 + * @since 2021.12.16 + * @version 1.0 + * @see + * + *
+ * << 개정이력(Modification Information) >>
+ *
+ *   수정일      수정자           수정내용
+ *  -------    --------    ---------------------------
+ *   2021.12.16  조용준          최초 생성
+ *
+ * 
+ */ + +@Controller +@RequestMapping("/kccadr/oprtn/pblc") +public class SndMngController { + + private static final Logger LOGGER = LoggerFactory.getLogger(SndMngController.class); + + //로그인 체크 util + @Resource(name = "checkLoginUtil") + private CheckLoginUtil checkLoginUtil; + + //과정 관리 + @Resource(name = "vEPrcsService") + private VEPrcsService vEPrcsService; + + //신청과정 관리 + @Resource(name = "vEEduMIXService") + private VEEduMIXService vEEduMIXService; + + //강의지역 관리 + @Resource(name = "vELctrAreaMngService") + private VELctrAreaMngService vELctrAreaMngService; + + + + //교육신청 + @Resource(name = "vEEduAplctService") + private VEEduAplctService vEEduAplctService; + + //교육과정신청 + @Resource(name = "vEPrcsMIXService") + private VEPrcsMIXService vEPrcsMIXService; + + //차시 + @Resource(name = "vEEduChasiService") + private VEEduChasiService vVEEduChasiService; + + + // 교육신청 서비스단 + @Resource(name = "AdjReqMgrService") + private AdjReqMgrService adjReqMgrService; + + // eGov 공통코드 + @Resource(name = "EgovCmmUseService") + private EgovCmmUseService cmmUseService; + + @Resource(name = "EgovFileMngService") + private EgovFileMngService fileService; + + // global 프로퍼티 + @Resource(name="globalSettings") + protected Properties propertiesService; + + //첨부파일 경로, realPath 설정 + @Resource(name="EgovFileMngUtil") + private EgovFileMngUtil fileUtil; + + // 첨부파일 정보 + @Resource(name="EgovFileMngService") + private EgovFileMngService fileMngService; + + //암복호화 유틸 + @Resource(name = "egovCryptoUtil") + EgovCryptoUtil egovCryptoUtil; + + + @Resource(name="KccadrMgrUdtService") + private KccadrMgrUdtService kccadrMgrUdtService; + + // 교육신청 서비스단 + @Resource(name = "checkAdrProcessUtil") + private CheckAdrProcessUtil checkAdrProcessUtil; + + // 강의배정정보 + @Resource(name = "vEAsgnmMIXService") + private VEAsgnmMIXService vEAsgnmMIXService; + + //파일 체크 util + @Resource(name = "checkFileUtil") + private CheckFileUtil checkFileUtil; + + //교육확정안 + @Resource(name = "vEEduCnfrmDsgnService") + private VEEduCnfrmDsgnService vEEduCnfrmDsgnService; + + // 교육패널티 + @Resource(name = "vEEduPnltyService") + private VEEduPnltyService vEEduPnltyService; + + // 특이사항 + @Resource(name = "vEEduAplctUnqIsuesService") + private VEEduAplctUnqIsuesService vEEduAplctUnqIsuesService; + + // 강사료 + @Resource(name = "vEInstrFeeService") + private VEInstrFeeService vEInstrFeeService; + + // 강사목록 + @Resource(name = "vEInstrMixService") + private VEInstrMixService vEInstrMixService; + + @Resource(name = "CmmnDetailCodeManageService") + private EgovCcmCmmnDetailCodeManageService cmmnDetailCodeManageService; + + // 교육신청발송이력 + @Resource(name = "vEEduAplctSndHstryService") + private VEEduAplctSndHstryService vEEduAplctSndHstryService; + + //snd_hstry id gen + @Resource(name = "sndGnrService") + private EgovIdGnrService sndGnrService; + + //snd_hstry id gen + @Resource(name = "SMSOracleService") + private SMSOracleService smsOracleService; + + @Resource(name = "egovCntManageService") + private EgovCntManageService egovCntManageService; + + /** + * 오라클 연동 테스트 + */ + + @RequestMapping(value="oracleTest.do") + public void oracleTest() { + + } + + /** + * sms 발송 + */ + + @RequestMapping(value="smsSndAjax.do") + public ModelAndView smsSndAjax( + VEEduAplctVO vEEduAplctVO + //, RedirectAttributes redirectAttributes + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + //System.out.println("@@@@@@@ 문자전송 시작 ----------------------------------"); + + //로그인 처리==================================== + //로그인 정보 가져오기 + /* + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) { + modelAndView.addObject("result", "loginFail"); + return modelAndView; + } + */ + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + //SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + //로그인 처리==================================== + + + try { + String returnMsg = ""; + if(!"".equals(vEEduAplctVO.getChk()) && vEEduAplctVO.getChk() != null) { + //MAIL + String[] splitChk = vEEduAplctVO.getChk().split(","); + String[] phones = vEEduAplctVO.getClphone().split(","); + String[] emails = {}; + + //String[] sendChk = {}; //발송정보체크용 + List sendChk = new ArrayList<>(); + + VeSendMail sendMail = new VeSendMail(); + if("Z".equals(vEEduAplctVO.getSndFlag())) { + emails = vEEduAplctVO.getEmail().split(","); + } + + for(int i=0; i 청소년>교육확정 메일본문 수정 메뉴에서 관리 + if("Z".equals(vEEduAplctVO.getSndFlag())) { + vEEduAplctVO.setEmail(emails[i]); + CntManageVO cntManageVO = new CntManageVO(); + //본문적용소스 + cntManageVO.setCntId("CNT_000000000001"); + cntManageVO.setCntDtId("CNTDT_0000000001"); + + cntManageVO = egovCntManageService.selectCntDtDetail(cntManageVO); + vEEduAplctVO.setSndCn(cntManageVO.getCntCn()); + + String result = sendMail.VeSendMail(vEEduAplctVO.getSndFlag(), vEEduAplctVO.getEmail(), vEEduAplctVO); + if("success".equals(result)) { + //메일 발송 로그 + String snd_mail_ord = sndGnrService.getNextStringId(); + vEEduAplctVO.setSndHstryOrd(snd_mail_ord); + vEEduAplctVO.setSndCd("20"); //문자:10, 메일:20 + vEEduAplctSndHstryService.insert(vEEduAplctVO); + returnMsg = "succ"; + } + } + } + } + } + if(returnMsg == "fail") { + modelAndView.addObject("result", "fail"); + } else if(returnMsg == "succ") { + modelAndView.addObject("result", "success"); + } + + + } else { + //SMS + String snd_ord = sndGnrService.getNextStringId(); + vEEduAplctVO.setSndHstryOrd(snd_ord); + + vEEduAplctVO.setSndId(loginVO.getUniqId()); + //System.out.println("@@@@@@@ 오라클 시작 ----------------------------------"); + returnMsg = smsOracleService.insertSmsSend(vEEduAplctVO); + //System.out.println("@@@@@@@ 오라클 끝 ----------------------------------"); + + //System.out.println("@@@@@@@ 히스토리 시작 ----------------------------------"); + vEEduAplctSndHstryService.insert(vEEduAplctVO); + //System.out.println("@@@@@@@ 히스토리 끝 ----------------------------------"); + + if(returnMsg == "fail") { + //System.out.println("@@@@@@@ fail ----------------------------------"); + modelAndView.addObject("result", "fail"); + } else if(returnMsg == "succ") { + //System.out.println("@@@@@@@ success ----------------------------------"); + modelAndView.addObject("result", "success"); + } + } + }catch(Exception ex) { + //System.out.println("@@@@@@@ ex ----------------------------------"); + ex.printStackTrace(); + } + return modelAndView; + } + + /** + * 메일 발송 + */ + + /** + * @param vEEduAplctVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping(value="emailSndAjax.do") + public ModelAndView emailSndAjax( + VEEduAplctVO vEEduAplctVO + //, RedirectAttributes redirectAttributes + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + //권한에 따른 로그인 정보 가져오기 + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); + + //메일 발송 부 시작 + //================================================================ + //메일 발송 VeSendMail 파라미터 정리 + //1. sndFlag = 메뉴 구분 + // C -> 찾교청소년 + // Z -> 찾교청소년-교육확정알림(교육배치목록-확정된 강의 알림 버튼) : 청소년>교육확정 메일본문 수정 메뉴에서 관리 + // S -> 찾교성인 + // G -> 체험교실 + // W -> 교육콘텐츠 + //2. sndTo = 수신자 + //3. vEEduAplctVO = eduAplctOrd(pk) + // sndHstryOrd(pk) + // sndCd(10 - sms, 20 - email) + // sndId(발송자) + // sndCn(발송내용) + //================================================================ + VeSendMail sendMail = new VeSendMail(); + + if("".equals(vEEduAplctVO.getSndFlag())) { + vEEduAplctVO.setSndFlag("test"); + } + if("".equals(vEEduAplctVO.getEmail())) { + vEEduAplctVO.setEmail("tolag3@gmail.com"); + } + + String message = "정상적으로 발송되었습니다."; + String result = sendMail.VeSendMail(vEEduAplctVO.getSndFlag(), vEEduAplctVO.getEmail(), vEEduAplctVO); + + if("success".equals(result)) { + //메일 발송 로그 + String snd_ord = sndGnrService.getNextStringId(); + vEEduAplctVO.setSndHstryOrd(snd_ord); + + vEEduAplctVO.setSndId(loginVO.getUniqId()); + vEEduAplctVO.setTrgt(vEEduAplctVO.getEmail()); + vEEduAplctSndHstryService.insert(vEEduAplctVO); + }else { + message = "발송 실패하였습니다."; + } + + //메일 발송 부 끝 + modelAndView.addObject("result", result); + modelAndView.addObject("message", message); + + + return modelAndView; + + } + + + //================================================================ + //찾교 관리자 SMS 발송 - 알리고 API + //사용자 ID : Identifier + //발급 키 : ny3v5te9d8131byxllc8c0v7cmx7jqo1 + + //*Request + // POST /send/ HTTP/1.1 + // Host: apis.aligo.in + // Service Port: 443 + + //key |인증용 API Key |필수 |String + //user_id |사용자id |필수 |String + //sender |발신자 전화번호 (최대 16bytes) |필수 |String + //receiver |수신자 전화번호 - 컴마(,)분기 입력 |필수 |String + //msg |메시지 내용 |필수 |String (1~2,000Byte) + //msg_type |SMS(단문) , LMS(장문), MMS(그림문자) 구분 |X |String + //title |문자제목(LMS,MMS만 허용) |X |String (1~44Byte) + //destination |%고객명% 치환용 입력 |X |String + //rdate |예약일 (현재일이상) |X |YYYYMMDD + //rtime |예약시간 - 현재시간기준 10분이후 |X |HHII + //image1 |첨부이미지 (image 또는 image1) |X |JPEG,PNG,GIF + //image2 |첨부이미지 |X |JPEG,PNG,GIF + //image3 |첨부이미지 |X |JPEG,PNG,GIF + //testmode_yn |연동테스트시 Y 적용 |X |String + + //*Response + //result_code |결과코드(API 수신유무) |Integer + //message |결과 메시지( result_code 가 0 보다 작은경우 실패사유 표기) |String + //msg_id |메시지 고유 ID |Integer + //success_cnt |요청성공 건수 |Integer + //error_cnt |요청실패 건수 |Integer + //msg_type |메시지 타입 (1. SMS, 2.LMS, 3. MMS) |String + //================================================================ + @RequestMapping(value="offeduSMSSndAjax.do") + public ModelAndView offeduSMSSndAjax(VEEduAplctVO vEEduAplctVO) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + String result = "success"; + String message = "정상적으로 발송되었습니다."; + + VeSendSMS sendSMS = new VeSendSMS(); + Map resultMap = sendSMS.VeSendSMS(vEEduAplctVO.getClphone(), vEEduAplctVO.getSndCn()); + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); + + //문자 발송 성공 시 로그 + if("1".equals(resultMap.get("result_code"))){ + String snd_ord = sndGnrService.getNextStringId(); + vEEduAplctVO.setSndHstryOrd(snd_ord); + vEEduAplctVO.setSndId(loginVO.getUniqId()); + vEEduAplctVO.setTrgt(vEEduAplctVO.getClphone()); + vEEduAplctSndHstryService.insert(vEEduAplctVO); + }else { + result = "fail"; + message = resultMap.get("message").toString(); + } + modelAndView.addObject("result", result); + modelAndView.addObject("message", message); + return modelAndView; + } + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // + // + // private function + // + // + + //페이징을 위한 처리 step1 - 페이징 기본 정보 설정 + private PaginationInfo setPagingStep1( + VEEduAplctVO p_vEEduAplctVO + )throws Exception{ + // pageing step1 + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(p_vEEduAplctVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(p_vEEduAplctVO.getPageUnit()); + paginationInfo.setPageSize(p_vEEduAplctVO.getPageSize()); + + return paginationInfo; + } + + + //페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 및 검색 조건 초기화 + private VEEduAplctVO setPagingStep2( + VEEduAplctVO p_vEEduAplctVO + , PaginationInfo p_paginationInfo + )throws Exception{ + // pageing step2 + p_vEEduAplctVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex()); + p_vEEduAplctVO.setLastIndex(p_paginationInfo.getLastRecordIndex()); + p_vEEduAplctVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage()); + + if("".equals(p_vEEduAplctVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + p_vEEduAplctVO.setSearchSortCnd("prcs_ord"); + p_vEEduAplctVO.setSearchSortOrd("desc"); + } + + return p_vEEduAplctVO; + } + + + //페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기 + private PaginationInfo setPagingStep3( + List p_vEEduAplctVOList + + , PaginationInfo p_paginationInfo + )throws Exception{ + // pageing step3 + int totCnt = 0; + if(p_vEEduAplctVOList.size() > 0) totCnt = p_vEEduAplctVOList.get(0).getTotCnt(); + p_paginationInfo.setTotalRecordCount(totCnt); + + return p_paginationInfo; + } +} diff --git a/src/main/resources/egovframework/egovProps/globals_svr.properties b/src/main/resources/egovframework/egovProps/globals_svr.properties index 45c6f811..b2504aa9 100644 --- a/src/main/resources/egovframework/egovProps/globals_svr.properties +++ b/src/main/resources/egovframework/egovProps/globals_svr.properties @@ -1,164 +1,167 @@ -#----------------------------------------------------------------------- -# -# globals.properties : \uc2dc\uc2a4\ud15c -# -#----------------------------------------------------------------------- -# 1. key = value \uad6c\uc870\uc785\ub2c8\ub2e4. -# 2. key\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \ud3ec\ud568\ubd88\uac00, value\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \uac00\ub2a5 -# 3. key\uac12\uc73c\ub85c \ud55c\uae00\uc744 \uc0ac\uc6a9\ubd88\uac00, value\uac12\uc740 \ud55c\uae00\uc0ac\uc6a9\uc774 \uac00\ub2a5 -# 4. \uc904\uc744 \ubc14\uafc0 \ud544\uc694\uac00 \uc788\uc73c\uba74 '\'\ub97c \ub77c\uc778\uc758 \ub05d\uc5d0 \ucd94\uac00(\ub9cc\uc57d '\'\ubb38\uc790\ub97c \uc0ac\uc6a9\ud574\uc57c \ud558\ub294 \uacbd\uc6b0\ub294 '\\'\ub97c \uc0ac\uc6a9) -# 5. Windows\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '\\' or '/' ('\' \uc0ac\uc6a9\ud558\uba74 \uc548\ub428) -# 6. Unix\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '/' -# 7. \uc8fc\uc11d\ubb38 \ucc98\ub9ac\ub294 #\uc0ac\uc6a9 -# 8. value\uac12 \ub4a4\uc5d0 \uc2a4\ud398\uc774\uc2a4\uac00 \uc874\uc7ac\ud558\ub294 \uacbd\uc6b0 \uc11c\ube14\ub9bf\uc5d0\uc11c \ucc38\uc870\ud560\ub54c\ub294 \uc5d0\ub7ec\ubc1c\uc0dd\ud560 \uc218 \uc788\uc73c\ubbc0\ub85c trim()\ud558\uac70\ub098 \ub9c8\uc9c0\ub9c9 \uacf5\ubc31\uc5c6\uc774 properties \uac12\uc744 \uc124\uc815\ud560\uac83 -#----------------------------------------------------------------------- - -# \uc6b4\uc601\uc11c\ubc84 \ud0c0\uc785(WINDOWS, UNIX) -Globals.OsType = WINDOWS - -# G4C \uc5f0\uacb0\uc6a9 IP (localhost) -Globals.LocalIp = 127.0.0.1 - -# DB\uc11c\ubc84 \ud0c0\uc785(mysql,oracle,altibase,tibero) - datasource \ubc0f sqlMap \ud30c\uc77c \uc9c0\uc815\uc5d0 \uc0ac\uc6a9\ub428 -Globals.DbType = tibero -# \uac1c\ubc1c\uc6a9 DB \uc11c\ubc84 tibero \uc5f0\ub3d9 -Globals.UserName= EDUSCE -Globals.Password= edusce#23 - -Globals.DriverClassName=com.tmax.tibero.jdbc.TbDriver -#\ub85c\uceec DB -#Globals.Url=jdbc:tibero:thin:@192.168.0.30:8633:tibero -#\uc6b4\uc601 \uac1c\ubc1cDB - \ud14c\uc2a4\ud2b8 \uc644\ub8cc \ud6c4 \uc6b4\uc601 DB\ub85c \ubcc0\uacbd \uc608\uc815 -Globals.Url=jdbc:tibero:thin:@10.255.3.58:8629:copydb -#\uc6b4\uc601 DB -#Globals.Url=jdbc:tibero:thin:@172.17.0.10:8629:copydb - - -# \uc800\uc791\uc704 \ubb38\uc790\uc804\uc1a1 DB(\uac1c\ubc1c) -Globals.SMSDB.DriverClassName=oracle.jdbc.driver.OracleDriver -Globals.SMSDB.Url=jdbc:oracle:thin:@192.168.0.118:1521:xe -Globals.SMSDB.UserName=KCCADR -Globals.SMSDB.Password=kccadr -# \uc800\uc791\uc704 \ubb38\uc790\uc804\uc1a1 DB(\uc6b4\uc601) -#Globals.SMSDB.DriverClassName=oracle.jdbc.driver.OracleDriver -#Globals.SMSDB.Url=jdbc:oracle:thin:@222.231.43.26:1521:ora10g -#Globals.SMSDB.UserName=smsmanager -#Globals.SMSDB.Password=eksanswk2014 - -Globals.SMSDB.SendTelNo=02-2669-0042 -Globals.SMSDB.TrId=kccadr - -# \uc800\uc791\uc704 \uba54\uc77c\uc804\uc1a1 -Globals.KccMail.URI=https://mail.copyright.or.kr/mail_api/form_send_mail -Globals.KccMail.api_key=#!@mail5455 -Globals.KccMail.sender=adr@copyright.or.kr -Globals.KccMail.title=[\ud55c\uad6d\uc800\uc791\uad8c\uc704\uc6d0\ud68c] \ubd84\uc7c1\uc870\uc815\uc2dc\uc2a4\ud15c \uc54c\ub9bc - - -#SSO \uc811\uc18d\uc815\ubcf4 -#\uac1c\ubc1c\uc11c\ubc84 -Globals.sso.ssoUri=https://devsso.copyright.or.kr/oauth2/token.do -Globals.sso.clientId=30354835c3684ff79e7fb1bfd3a768f6 -Globals.sso.clientSecret=1ueil5ee05wr0t1gjy1ppt212 -Globals.sso.scope=http://sso.copyright.or.kr -Globals.sso.returnSiteUrl=http://219.240.88.15:8091/web/user/login/ssoUsrModifyResult.do -Globals.sso.returnSiteCode=SITE011 - -#\uc2e4\uc11c\ubc84 -#Globals.sso.ssoUri=https://sso.copyright.or.kr/oauth2/token.do -#Globals.sso.clientId=30354835c3684ff79e7fb1bfd3a768f6 -#Globals.sso.clientSecret=1ueil5ee05wr0t1gjy1ppt212 -#Globals.sso.scope=http://sso.copyright.or.kr -#Globals.sso.returnSiteUrl=http://adr.copyright.or.kr/web/user/login/ssoUsrModifyResult.do -#Globals.sso.returnSiteCode=SITE011 - -#SSO \ud1b5\ud569\ud68c\uc6d0\uc0ac\uc774\ud2b8 URL -#\uac1c\ubc1c\uc11c\ubc84 -Globals.sso.joinUrl=https://devoneid.copyright.or.kr/member/signUp/signUpStep1.do -Globals.sso.modifyUrl=https://devoneid.copyright.or.kr/member/baseInfo/baseInfoModify.do -Globals.sso.idFindUrl=https://devoneid.copyright.or.kr/member/infoFind/idFindStep1.do -Globals.sso.pwFindUrl=https://devoneid.copyright.or.kr/member/infoFind/passFindStep1.do -#\uc2e4\uc11c\ubc84 -#Globals.sso.joinUrl=https://oneid.copyright.or.kr/member/signUp/signUpStep1.do -#Globals.sso.modifyUrl=https://oneid.copyright.or.kr/member/baseInfo/baseInfoModify.do -#Globals.sso.idFindUrl=https://oneid.copyright.or.kr/member/infoFind/idFindStep1.do -#Globals.sso.pwFindUrl=https://oneid.copyright.or.kr/member/infoFind/passFindStep1.do - -# MainPage Setting(admin) -Globals.MainPage = /cmm/main/mainPage.do -#\ucee8\ud150\uce20 \ud30c\uc77c\uc704\uce58 -#Globals.ckeditorUploadDir=/home/file/ckeditor/ -Globals.ckeditorUploadDir=/usr/local/tomcat/file/ckeditor/ -#TEST SERVER -Globals.RealCntFileFolder=C:/eGovFrameDev-3.9.0-64bit_ncms/workspace/ncms39/src/main/webapp/WEB-INF/jsp/cnt/ -Globals.Solr.url=http://localhost:8983/solr - -#SNS \ub85c\uadf8\uc778 KEY \uac12 -#ITN \ub124\uc774\ubc84 -Globals.kcc.naver.clentId=d9Ohvhty_RVsfrq9p_2J -Globals.kcc.naver.clientSecret=kwiEmpkLg5 -Globals.kcc.naver.returnUrl=http://localhost:80/snsLogin/naverOauth.do -#ITN \uce74\uce74\uc624 -Globals.kcc.kakao.restApiKey=10b66ad0c44b68b659855ddd64db2c44 -Globals.kcc.kakao.returnUrl=http://localhost:80/snsLogin/kakaoOauth.do - -#\uc0ac\uc774\ud2b8 \uc544\uc774\ub514 \uc81c\uac70\ub85c JSP\uc5d0\uc11c siteId/siteNm \ubcf4\uc5ec\uc8fc\uae30 \uc704\ud574 -Globals.homepage.siteId=kccadr -Globals.homepage.siteNm=\uc804\uc790\uc870\uc815\uc2dc\uc2a4\ud15c - -#pdf-url -##=====================================1.local(http://192.168.0.34:7080)============================================================= -##pdf\ubcc0\ud658\uc11c\ubc84 - WAS \uc5d0\uc11c \ud638\ucd9c\ud558\ub294 PDF \ubcc0\ud658 \uc11c\ubc84 IP \uc815\ubcf4\ub97c \ub123\ub294\ub2e4. -#Globals.pdf.serverUrl=192.168.0.200 - - -##\uc6f9\ud398\uc774\uc9c0\ub97c pdf\ub85c \ubcc0\ud658\ud558\uae30 \uc704\ud55c api \ud638\ucd9curl - \uc870\uc815\uc2e0\uccad\uc11c \ub4f1 - WAS \uc11c\ubc84 \uc815\ubcf4\ub97c \ub123\ub294\ub2e4. -#Globals.pdf.apiUrl=http://192.168.0.34:7080 - - -##pdf \uc11c\ubc84\uc758 \ub124\ud2b8\uc6cc\ud06c \uacbd\ub85c -##pdf\ubcc0\ud658 \uc11c\ube0c\ub97c \uc704\ud55c path - 1.pdf\ubcc0\ud658\uc758 \uacb0\uacfc\ubb3c\uc774 \uc0dd\uc131\ub418\ub294 \uacbd\ub85c - PDF \ubcc0\ud658 \uc11c\ubc84\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 \ud3f4\ub354 \uc815\ubcf4\ub97c \ub123\ub294\ub2e4. -#Globals.pdf.filepath.out=file:/z:/out/ - - -##tomcat upload \uacbd\ub85c -##\ud30c\uc77c \uad00\ub9ac\ub97c \uc704\ud55c path - 2.pdf\ubcc0\ud658\uc744 \uc704\ud55c \uc5c5\ub85c\ub4dc \ud30c\uc77c \uacbd\ub85c - WAS \uc11c\ubc84\uc5d0\uc11c PDF \ubcc0\ud658 \uc9c0\uc6d0\uc744 \uc704\ud574 \uc81c\uc5b4 \ud558\ub294 \uacbd\ub85c -#Globals.pdf.makepath=y:/ - -##\ud30c\uc77c \uad00\ub9ac\ub97c \uc704\ud55c path - 3.pdf\ubcc0\ud658\uc758 \uacb0\uacfc\ubb3c\uc774 \uc0dd\uc131\ub418\ub294 \uacbd\ub85c - WAS \uc11c\ubc84\uc5d0\uc11c PDF \ubcc0\ud658 \uc9c0\uc6d0\uc744 \uc704\ud574 \uc81c\uc5b4 \ud558\ub294 \uacbd\ub85c -#Globals.pdf.makepath.out=y:/out/ - - -##pdf\ubcc0\ud658 \ud30c\uc77c\uc758 \uc6f9\uc811\uadfc\uc744 \uc704\ud55c path - 4.pdf\ubcc0\ud658\uc758 \uacb0\uacfc\ubb3c\uc744 \uc6f9\uc5d0\uc11c \uc811\uadfc\ud558\uae30 \uc704\ud55c \uacbd\ub85c - \ubcc0\ud658\ub41c PDF \ud30c\uc77c\uc744 \uc6f9\ud398\uc774\uc9c0\uc5d0\uc11c \uc811\uadfc\ud558\uae30 \uc704\ud574 \uc124\uc815\ub41c \uacbd\ub85c \uc815\ubcf4 -#Globals.pdf.webpath=/pdf/out/ - -##=====================================2.\uac1c\ubc1c\uc11c\ubc84(http://219.240.88.15:8091)============================================================= -## \uc0c1\uc138 \ud56d\ubaa9\uc5d0 \ub300\ud55c \uc124\uba85\uc740 \uc0c1\ub2e8\uc5d0\uc11c \ud655\uc778 \ubc14\ub78d\ub2c8\ub2e4. -Globals.pdf.serverUrl=192.168.0.200 -Globals.pdf.apiUrl=http://219.240.88.15:8091 -Globals.pdf.filepath.out=file:/z:/out/ -Globals.pdf.makepath=/usr/local/tomcat/file/sht/ -Globals.pdf.makepath.out=/usr/local/tomcat/file/sht/out/ -Globals.pdf.webpath=/pdf/out/ - -##=====================================3.\uc2e4\uc11c\ubc84(192.168.39.143, 192.168.39.144)============================================================= -## \uc0c1\uc138 \ud56d\ubaa9\uc5d0 \ub300\ud55c \uc124\uba85\uc740 \uc0c1\ub2e8\uc5d0\uc11c \ud655\uc778 \ubc14\ub78d\ub2c8\ub2e4. -#Globals.pdf.serverUrl=192.168.39.147 -#Globals.pdf.apiUrl=http://192.168.39.143:8080 -#Globals.pdf.filepath.out=file:/z:/out/ -#Globals.pdf.makepath=/usr/local/tomcat/file/sht/ -#Globals.pdf.makepath.out=/usr/local/tomcat/file/sht/out/ -#Globals.pdf.webpath=/pdf/out/ - -#prod \uac1c\ubc1c, \uc2e4\uc11c\ubc84 \uad6c\ubd84\uac12 -#\ub85c\uceec -#Globals.prod.islocal=local -#\uc6b4\uc601 \uac1c\ubc1c -#Globals.prod.islocal=dev -#\uc6b4\uc601 -Globals.prod.islocal=real - - -#\ub300\uc6a9\ub7c9 innorix license -Globals.Innorix.License=dev -Globals.Innorix.FilePath=/usr/local/tomcat/file/sht/ \ No newline at end of file +#----------------------------------------------------------------------- +# +# globals.properties : \uc2dc\uc2a4\ud15c +# +#----------------------------------------------------------------------- +# 1. key = value \uad6c\uc870\uc785\ub2c8\ub2e4. +# 2. key\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \ud3ec\ud568\ubd88\uac00, value\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \uac00\ub2a5 +# 3. key\uac12\uc73c\ub85c \ud55c\uae00\uc744 \uc0ac\uc6a9\ubd88\uac00, value\uac12\uc740 \ud55c\uae00\uc0ac\uc6a9\uc774 \uac00\ub2a5 +# 4. \uc904\uc744 \ubc14\uafc0 \ud544\uc694\uac00 \uc788\uc73c\uba74 '\'\ub97c \ub77c\uc778\uc758 \ub05d\uc5d0 \ucd94\uac00(\ub9cc\uc57d '\'\ubb38\uc790\ub97c \uc0ac\uc6a9\ud574\uc57c \ud558\ub294 \uacbd\uc6b0\ub294 '\\'\ub97c \uc0ac\uc6a9) +# 5. Windows\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '\\' or '/' ('\' \uc0ac\uc6a9\ud558\uba74 \uc548\ub428) +# 6. Unix\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '/' +# 7. \uc8fc\uc11d\ubb38 \ucc98\ub9ac\ub294 #\uc0ac\uc6a9 +# 8. value\uac12 \ub4a4\uc5d0 \uc2a4\ud398\uc774\uc2a4\uac00 \uc874\uc7ac\ud558\ub294 \uacbd\uc6b0 \uc11c\ube14\ub9bf\uc5d0\uc11c \ucc38\uc870\ud560\ub54c\ub294 \uc5d0\ub7ec\ubc1c\uc0dd\ud560 \uc218 \uc788\uc73c\ubbc0\ub85c trim()\ud558\uac70\ub098 \ub9c8\uc9c0\ub9c9 \uacf5\ubc31\uc5c6\uc774 properties \uac12\uc744 \uc124\uc815\ud560\uac83 +#----------------------------------------------------------------------- + +# \uc6b4\uc601\uc11c\ubc84 \ud0c0\uc785(WINDOWS, UNIX) +Globals.OsType = WINDOWS + +# G4C \uc5f0\uacb0\uc6a9 IP (localhost) +Globals.LocalIp = 127.0.0.1 + +# DB\uc11c\ubc84 \ud0c0\uc785(mysql,oracle,altibase,tibero) - datasource \ubc0f sqlMap \ud30c\uc77c \uc9c0\uc815\uc5d0 \uc0ac\uc6a9\ub428 +Globals.DbType = tibero +# \uac1c\ubc1c\uc6a9 DB \uc11c\ubc84 tibero \uc5f0\ub3d9 +Globals.UserName= EDUSCE +Globals.Password= edusce#23 + +Globals.DriverClassName=com.tmax.tibero.jdbc.TbDriver +#\ub85c\uceec DB +#Globals.Url=jdbc:tibero:thin:@192.168.0.30:8633:tibero +#\uc6b4\uc601 \uac1c\ubc1cDB - \ud14c\uc2a4\ud2b8 \uc644\ub8cc \ud6c4 \uc6b4\uc601 DB\ub85c \ubcc0\uacbd \uc608\uc815 +Globals.Url=jdbc:tibero:thin:@10.255.3.58:8629:copydb +#\uc6b4\uc601 DB +#Globals.Url=jdbc:tibero:thin:@172.17.0.10:8629:copydb + + +# \uc800\uc791\uc704 \ubb38\uc790\uc804\uc1a1 DB(\uac1c\ubc1c) +Globals.SMSDB.DriverClassName=oracle.jdbc.driver.OracleDriver +Globals.SMSDB.Url=jdbc:oracle:thin:@192.168.0.118:1521:xe +Globals.SMSDB.UserName=KCCADR +Globals.SMSDB.Password=kccadr +# \uc800\uc791\uc704 \ubb38\uc790\uc804\uc1a1 DB(\uc6b4\uc601) +#Globals.SMSDB.DriverClassName=oracle.jdbc.driver.OracleDriver +#Globals.SMSDB.Url=jdbc:oracle:thin:@222.231.43.26:1521:ora10g +#Globals.SMSDB.UserName=smsmanager +#Globals.SMSDB.Password=eksanswk2014 + +Globals.SMSDB.SendTelNo=02-2669-0042 +Globals.SMSDB.TrId=kccadr + +# \uc800\uc791\uc704 \uba54\uc77c\uc804\uc1a1 +Globals.KccMail.URI=https://mail.copyright.or.kr/mail_api/form_send_mail +Globals.KccMail.api_key=#!@mail5455 +Globals.KccMail.sender=adr@copyright.or.kr +Globals.KccMail.title=[\ud55c\uad6d\uc800\uc791\uad8c\uc704\uc6d0\ud68c] \ubd84\uc7c1\uc870\uc815\uc2dc\uc2a4\ud15c \uc54c\ub9bc + + +#SSO \uc811\uc18d\uc815\ubcf4 +#\uac1c\ubc1c\uc11c\ubc84 +Globals.sso.ssoUri=https://devsso.copyright.or.kr/oauth2/token.do +Globals.sso.clientId=30354835c3684ff79e7fb1bfd3a768f6 +Globals.sso.clientSecret=1ueil5ee05wr0t1gjy1ppt212 +Globals.sso.scope=http://sso.copyright.or.kr +Globals.sso.returnSiteUrl=http://219.240.88.15:8091/web/user/login/ssoUsrModifyResult.do +Globals.sso.returnSiteCode=SITE011 + +#\uc2e4\uc11c\ubc84 +#Globals.sso.ssoUri=https://sso.copyright.or.kr/oauth2/token.do +#Globals.sso.clientId=30354835c3684ff79e7fb1bfd3a768f6 +#Globals.sso.clientSecret=1ueil5ee05wr0t1gjy1ppt212 +#Globals.sso.scope=http://sso.copyright.or.kr +#Globals.sso.returnSiteUrl=http://adr.copyright.or.kr/web/user/login/ssoUsrModifyResult.do +#Globals.sso.returnSiteCode=SITE011 + +#SSO \ud1b5\ud569\ud68c\uc6d0\uc0ac\uc774\ud2b8 URL +#\uac1c\ubc1c\uc11c\ubc84 +Globals.sso.joinUrl=https://devoneid.copyright.or.kr/member/signUp/signUpStep1.do +Globals.sso.modifyUrl=https://devoneid.copyright.or.kr/member/baseInfo/baseInfoModify.do +Globals.sso.idFindUrl=https://devoneid.copyright.or.kr/member/infoFind/idFindStep1.do +Globals.sso.pwFindUrl=https://devoneid.copyright.or.kr/member/infoFind/passFindStep1.do +#\uc2e4\uc11c\ubc84 +#Globals.sso.joinUrl=https://oneid.copyright.or.kr/member/signUp/signUpStep1.do +#Globals.sso.modifyUrl=https://oneid.copyright.or.kr/member/baseInfo/baseInfoModify.do +#Globals.sso.idFindUrl=https://oneid.copyright.or.kr/member/infoFind/idFindStep1.do +#Globals.sso.pwFindUrl=https://oneid.copyright.or.kr/member/infoFind/passFindStep1.do + +# MainPage Setting(admin) +Globals.MainPage = /cmm/main/mainPage.do +#\ucee8\ud150\uce20 \ud30c\uc77c\uc704\uce58 +#Globals.ckeditorUploadDir=/home/file/ckeditor/ +Globals.ckeditorUploadDir=/usr/local/tomcat/file/ckeditor/ +#TEST SERVER +Globals.RealCntFileFolder=C:/eGovFrameDev-3.9.0-64bit_ncms/workspace/ncms39/src/main/webapp/WEB-INF/jsp/cnt/ +Globals.Solr.url=http://localhost:8983/solr + +#SNS \ub85c\uadf8\uc778 KEY \uac12 +#ITN \ub124\uc774\ubc84 +Globals.kcc.naver.clentId=d9Ohvhty_RVsfrq9p_2J +Globals.kcc.naver.clientSecret=kwiEmpkLg5 +Globals.kcc.naver.returnUrl=http://localhost:80/snsLogin/naverOauth.do +#ITN \uce74\uce74\uc624 +Globals.kcc.kakao.restApiKey=10b66ad0c44b68b659855ddd64db2c44 +Globals.kcc.kakao.returnUrl=http://localhost:80/snsLogin/kakaoOauth.do + +#\uc0ac\uc774\ud2b8 \uc544\uc774\ub514 \uc81c\uac70\ub85c JSP\uc5d0\uc11c siteId/siteNm \ubcf4\uc5ec\uc8fc\uae30 \uc704\ud574 +Globals.homepage.siteId=kccadr +Globals.homepage.siteNm=\uc804\uc790\uc870\uc815\uc2dc\uc2a4\ud15c + +#pdf-url +##=====================================1.local(http://192.168.0.34:7080)============================================================= +##pdf\ubcc0\ud658\uc11c\ubc84 - WAS \uc5d0\uc11c \ud638\ucd9c\ud558\ub294 PDF \ubcc0\ud658 \uc11c\ubc84 IP \uc815\ubcf4\ub97c \ub123\ub294\ub2e4. +#Globals.pdf.serverUrl=192.168.0.200 + + +##\uc6f9\ud398\uc774\uc9c0\ub97c pdf\ub85c \ubcc0\ud658\ud558\uae30 \uc704\ud55c api \ud638\ucd9curl - \uc870\uc815\uc2e0\uccad\uc11c \ub4f1 - WAS \uc11c\ubc84 \uc815\ubcf4\ub97c \ub123\ub294\ub2e4. +#Globals.pdf.apiUrl=http://192.168.0.34:7080 + + +##pdf \uc11c\ubc84\uc758 \ub124\ud2b8\uc6cc\ud06c \uacbd\ub85c +##pdf\ubcc0\ud658 \uc11c\ube0c\ub97c \uc704\ud55c path - 1.pdf\ubcc0\ud658\uc758 \uacb0\uacfc\ubb3c\uc774 \uc0dd\uc131\ub418\ub294 \uacbd\ub85c - PDF \ubcc0\ud658 \uc11c\ubc84\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 \ud3f4\ub354 \uc815\ubcf4\ub97c \ub123\ub294\ub2e4. +#Globals.pdf.filepath.out=file:/z:/out/ + + +##tomcat upload \uacbd\ub85c +##\ud30c\uc77c \uad00\ub9ac\ub97c \uc704\ud55c path - 2.pdf\ubcc0\ud658\uc744 \uc704\ud55c \uc5c5\ub85c\ub4dc \ud30c\uc77c \uacbd\ub85c - WAS \uc11c\ubc84\uc5d0\uc11c PDF \ubcc0\ud658 \uc9c0\uc6d0\uc744 \uc704\ud574 \uc81c\uc5b4 \ud558\ub294 \uacbd\ub85c +#Globals.pdf.makepath=y:/ + +##\ud30c\uc77c \uad00\ub9ac\ub97c \uc704\ud55c path - 3.pdf\ubcc0\ud658\uc758 \uacb0\uacfc\ubb3c\uc774 \uc0dd\uc131\ub418\ub294 \uacbd\ub85c - WAS \uc11c\ubc84\uc5d0\uc11c PDF \ubcc0\ud658 \uc9c0\uc6d0\uc744 \uc704\ud574 \uc81c\uc5b4 \ud558\ub294 \uacbd\ub85c +#Globals.pdf.makepath.out=y:/out/ + + +##pdf\ubcc0\ud658 \ud30c\uc77c\uc758 \uc6f9\uc811\uadfc\uc744 \uc704\ud55c path - 4.pdf\ubcc0\ud658\uc758 \uacb0\uacfc\ubb3c\uc744 \uc6f9\uc5d0\uc11c \uc811\uadfc\ud558\uae30 \uc704\ud55c \uacbd\ub85c - \ubcc0\ud658\ub41c PDF \ud30c\uc77c\uc744 \uc6f9\ud398\uc774\uc9c0\uc5d0\uc11c \uc811\uadfc\ud558\uae30 \uc704\ud574 \uc124\uc815\ub41c \uacbd\ub85c \uc815\ubcf4 +#Globals.pdf.webpath=/pdf/out/ + +##=====================================2.\uac1c\ubc1c\uc11c\ubc84(http://219.240.88.15:8091)============================================================= +## \uc0c1\uc138 \ud56d\ubaa9\uc5d0 \ub300\ud55c \uc124\uba85\uc740 \uc0c1\ub2e8\uc5d0\uc11c \ud655\uc778 \ubc14\ub78d\ub2c8\ub2e4. +Globals.pdf.serverUrl=192.168.0.200 +Globals.pdf.apiUrl=http://219.240.88.15:8091 +Globals.pdf.filepath.out=file:/z:/out/ +Globals.pdf.makepath=/usr/local/tomcat/file/sht/ +Globals.pdf.makepath.out=/usr/local/tomcat/file/sht/out/ +Globals.pdf.webpath=/pdf/out/ + +##=====================================3.\uc2e4\uc11c\ubc84(192.168.39.143, 192.168.39.144)============================================================= +## \uc0c1\uc138 \ud56d\ubaa9\uc5d0 \ub300\ud55c \uc124\uba85\uc740 \uc0c1\ub2e8\uc5d0\uc11c \ud655\uc778 \ubc14\ub78d\ub2c8\ub2e4. +#Globals.pdf.serverUrl=192.168.39.147 +#Globals.pdf.apiUrl=http://192.168.39.143:8080 +#Globals.pdf.filepath.out=file:/z:/out/ +#Globals.pdf.makepath=/usr/local/tomcat/file/sht/ +#Globals.pdf.makepath.out=/usr/local/tomcat/file/sht/out/ +#Globals.pdf.webpath=/pdf/out/ + +#prod \uac1c\ubc1c, \uc2e4\uc11c\ubc84 \uad6c\ubd84\uac12 +#\ub85c\uceec +#Globals.prod.islocal=local +#\uc6b4\uc601 \uac1c\ubc1c +#Globals.prod.islocal=dev +#\uc6b4\uc601 +Globals.prod.islocal=real + + +#\ub300\uc6a9\ub7c9 innorix license +Globals.Innorix.License=dev +Globals.Innorix.FilePath=/usr/local/tomcat/file/sht/ + +#\uad50\uc721 \uc54c\ub9bc \uba54\uc77c \ud15c\ud50c\ub9bf +Globals.edu.mail.template=/template/offeduMain.html \ No newline at end of file diff --git a/src/main/resources/egovframework/egovProps/globals_tLocal.properties b/src/main/resources/egovframework/egovProps/globals_tLocal.properties index 5a9f7d91..3aa2906b 100644 --- a/src/main/resources/egovframework/egovProps/globals_tLocal.properties +++ b/src/main/resources/egovframework/egovProps/globals_tLocal.properties @@ -1,164 +1,168 @@ -#----------------------------------------------------------------------- -# -# globals.properties : \uc2dc\uc2a4\ud15c -# -#----------------------------------------------------------------------- -# 1. key = value \uad6c\uc870\uc785\ub2c8\ub2e4. -# 2. key\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \ud3ec\ud568\ubd88\uac00, value\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \uac00\ub2a5 -# 3. key\uac12\uc73c\ub85c \ud55c\uae00\uc744 \uc0ac\uc6a9\ubd88\uac00, value\uac12\uc740 \ud55c\uae00\uc0ac\uc6a9\uc774 \uac00\ub2a5 -# 4. \uc904\uc744 \ubc14\uafc0 \ud544\uc694\uac00 \uc788\uc73c\uba74 '\'\ub97c \ub77c\uc778\uc758 \ub05d\uc5d0 \ucd94\uac00(\ub9cc\uc57d '\'\ubb38\uc790\ub97c \uc0ac\uc6a9\ud574\uc57c \ud558\ub294 \uacbd\uc6b0\ub294 '\\'\ub97c \uc0ac\uc6a9) -# 5. Windows\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '\\' or '/' ('\' \uc0ac\uc6a9\ud558\uba74 \uc548\ub428) -# 6. Unix\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '/' -# 7. \uc8fc\uc11d\ubb38 \ucc98\ub9ac\ub294 #\uc0ac\uc6a9 -# 8. value\uac12 \ub4a4\uc5d0 \uc2a4\ud398\uc774\uc2a4\uac00 \uc874\uc7ac\ud558\ub294 \uacbd\uc6b0 \uc11c\ube14\ub9bf\uc5d0\uc11c \ucc38\uc870\ud560\ub54c\ub294 \uc5d0\ub7ec\ubc1c\uc0dd\ud560 \uc218 \uc788\uc73c\ubbc0\ub85c trim()\ud558\uac70\ub098 \ub9c8\uc9c0\ub9c9 \uacf5\ubc31\uc5c6\uc774 properties \uac12\uc744 \uc124\uc815\ud560\uac83 -#----------------------------------------------------------------------- - -# \uc6b4\uc601\uc11c\ubc84 \ud0c0\uc785(WINDOWS, UNIX) -Globals.OsType = WINDOWS - -# G4C \uc5f0\uacb0\uc6a9 IP (localhost) -Globals.LocalIp = 127.0.0.1 - -# DB\uc11c\ubc84 \ud0c0\uc785(mysql,oracle,altibase,tibero) - datasource \ubc0f sqlMap \ud30c\uc77c \uc9c0\uc815\uc5d0 \uc0ac\uc6a9\ub428 -Globals.DbType = tibero -# \uac1c\ubc1c\uc6a9 DB \uc11c\ubc84 tibero \uc5f0\ub3d9 -Globals.UserName= teduUr -Globals.Password= tedu1234 - -Globals.DriverClassName=com.tmax.tibero.jdbc.TbDriver -#\ub85c\uceec DB -Globals.Url=jdbc:tibero:thin:@192.168.0.30:8633:tibero -#\uc6b4\uc601 \uac1c\ubc1cDB -#Globals.Url=jdbc:tibero:thin:@10.255.3.58:8629:copydb -#\uc6b4\uc601 DB -#Globals.Url=jdbc:tibero:thin:@172.17.0.10:8629:copydb - - -# \uc800\uc791\uc704 \ubb38\uc790\uc804\uc1a1 DB(\uac1c\ubc1c) -Globals.SMSDB.DriverClassName=oracle.jdbc.driver.OracleDriver -Globals.SMSDB.Url=jdbc:oracle:thin:@192.168.0.118:1521:xe -Globals.SMSDB.UserName=KCCADR -Globals.SMSDB.Password=kccadr -# \uc800\uc791\uc704 \ubb38\uc790\uc804\uc1a1 DB(\uc6b4\uc601) -#Globals.SMSDB.DriverClassName=oracle.jdbc.driver.OracleDriver -#Globals.SMSDB.Url=jdbc:oracle:thin:@222.231.43.26:1521:ora10g -#Globals.SMSDB.UserName=smsmanager -#Globals.SMSDB.Password=eksanswk2014 - -Globals.SMSDB.SendTelNo=02-2669-0042 -Globals.SMSDB.TrId=kccadr - -# \uc800\uc791\uc704 \uba54\uc77c\uc804\uc1a1 -Globals.KccMail.URI=https://mail.copyright.or.kr/mail_api/form_send_mail -Globals.KccMail.api_key=#!@mail5455 -Globals.KccMail.sender=adr@copyright.or.kr -Globals.KccMail.title=[\ud55c\uad6d\uc800\uc791\uad8c\uc704\uc6d0\ud68c] \ubd84\uc7c1\uc870\uc815\uc2dc\uc2a4\ud15c \uc54c\ub9bc - - -#SSO \uc811\uc18d\uc815\ubcf4 -#\uac1c\ubc1c\uc11c\ubc84 -Globals.sso.ssoUri=https://devsso.copyright.or.kr/oauth2/token.do -Globals.sso.clientId=30354835c3684ff79e7fb1bfd3a768f6 -Globals.sso.clientSecret=1ueil5ee05wr0t1gjy1ppt212 -Globals.sso.scope=http://sso.copyright.or.kr -Globals.sso.returnSiteUrl=http://219.240.88.15:8091/web/user/login/ssoUsrModifyResult.do -Globals.sso.returnSiteCode=SITE011 - -#\uc2e4\uc11c\ubc84 -#Globals.sso.ssoUri=https://sso.copyright.or.kr/oauth2/token.do -#Globals.sso.clientId=30354835c3684ff79e7fb1bfd3a768f6 -#Globals.sso.clientSecret=1ueil5ee05wr0t1gjy1ppt212 -#Globals.sso.scope=http://sso.copyright.or.kr -#Globals.sso.returnSiteUrl=http://adr.copyright.or.kr/web/user/login/ssoUsrModifyResult.do -#Globals.sso.returnSiteCode=SITE011 - -#SSO \ud1b5\ud569\ud68c\uc6d0\uc0ac\uc774\ud2b8 URL -#\uac1c\ubc1c\uc11c\ubc84 -Globals.sso.joinUrl=https://devoneid.copyright.or.kr/member/signUp/signUpStep1.do -Globals.sso.modifyUrl=https://devoneid.copyright.or.kr/member/baseInfo/baseInfoModify.do -Globals.sso.idFindUrl=https://devoneid.copyright.or.kr/member/infoFind/idFindStep1.do -Globals.sso.pwFindUrl=https://devoneid.copyright.or.kr/member/infoFind/passFindStep1.do -#\uc2e4\uc11c\ubc84 -#Globals.sso.joinUrl=https://oneid.copyright.or.kr/member/signUp/signUpStep1.do -#Globals.sso.modifyUrl=https://oneid.copyright.or.kr/member/baseInfo/baseInfoModify.do -#Globals.sso.idFindUrl=https://oneid.copyright.or.kr/member/infoFind/idFindStep1.do -#Globals.sso.pwFindUrl=https://oneid.copyright.or.kr/member/infoFind/passFindStep1.do - -# MainPage Setting(admin) -Globals.MainPage = /cmm/main/mainPage.do -#\ucee8\ud150\uce20 \ud30c\uc77c\uc704\uce58 -#Globals.ckeditorUploadDir=/home/file/ckeditor/ -Globals.ckeditorUploadDir=/usr/local/tomcat/file/ckeditor/ -#TEST SERVER -Globals.RealCntFileFolder=C:/eGovFrameDev-3.9.0-64bit_ncms/workspace/ncms39/src/main/webapp/WEB-INF/jsp/cnt/ -Globals.Solr.url=http://localhost:8983/solr - -#SNS \ub85c\uadf8\uc778 KEY \uac12 -#ITN \ub124\uc774\ubc84 -Globals.kcc.naver.clentId=d9Ohvhty_RVsfrq9p_2J -Globals.kcc.naver.clientSecret=kwiEmpkLg5 -Globals.kcc.naver.returnUrl=http://localhost:80/snsLogin/naverOauth.do -#ITN \uce74\uce74\uc624 -Globals.kcc.kakao.restApiKey=10b66ad0c44b68b659855ddd64db2c44 -Globals.kcc.kakao.returnUrl=http://localhost:80/snsLogin/kakaoOauth.do - -#\uc0ac\uc774\ud2b8 \uc544\uc774\ub514 \uc81c\uac70\ub85c JSP\uc5d0\uc11c siteId/siteNm \ubcf4\uc5ec\uc8fc\uae30 \uc704\ud574 -Globals.homepage.siteId=kccadr -Globals.homepage.siteNm=\uc804\uc790\uc870\uc815\uc2dc\uc2a4\ud15c - -#pdf-url -##=====================================1.local(http://192.168.0.34:7080)============================================================= -##pdf\ubcc0\ud658\uc11c\ubc84 - WAS \uc5d0\uc11c \ud638\ucd9c\ud558\ub294 PDF \ubcc0\ud658 \uc11c\ubc84 IP \uc815\ubcf4\ub97c \ub123\ub294\ub2e4. -#Globals.pdf.serverUrl=192.168.0.200 - - -##\uc6f9\ud398\uc774\uc9c0\ub97c pdf\ub85c \ubcc0\ud658\ud558\uae30 \uc704\ud55c api \ud638\ucd9curl - \uc870\uc815\uc2e0\uccad\uc11c \ub4f1 - WAS \uc11c\ubc84 \uc815\ubcf4\ub97c \ub123\ub294\ub2e4. -#Globals.pdf.apiUrl=http://192.168.0.34:7080 - - -##pdf \uc11c\ubc84\uc758 \ub124\ud2b8\uc6cc\ud06c \uacbd\ub85c -##pdf\ubcc0\ud658 \uc11c\ube0c\ub97c \uc704\ud55c path - 1.pdf\ubcc0\ud658\uc758 \uacb0\uacfc\ubb3c\uc774 \uc0dd\uc131\ub418\ub294 \uacbd\ub85c - PDF \ubcc0\ud658 \uc11c\ubc84\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 \ud3f4\ub354 \uc815\ubcf4\ub97c \ub123\ub294\ub2e4. -#Globals.pdf.filepath.out=file:/z:/out/ - - -##tomcat upload \uacbd\ub85c -##\ud30c\uc77c \uad00\ub9ac\ub97c \uc704\ud55c path - 2.pdf\ubcc0\ud658\uc744 \uc704\ud55c \uc5c5\ub85c\ub4dc \ud30c\uc77c \uacbd\ub85c - WAS \uc11c\ubc84\uc5d0\uc11c PDF \ubcc0\ud658 \uc9c0\uc6d0\uc744 \uc704\ud574 \uc81c\uc5b4 \ud558\ub294 \uacbd\ub85c -#Globals.pdf.makepath=y:/ - -##\ud30c\uc77c \uad00\ub9ac\ub97c \uc704\ud55c path - 3.pdf\ubcc0\ud658\uc758 \uacb0\uacfc\ubb3c\uc774 \uc0dd\uc131\ub418\ub294 \uacbd\ub85c - WAS \uc11c\ubc84\uc5d0\uc11c PDF \ubcc0\ud658 \uc9c0\uc6d0\uc744 \uc704\ud574 \uc81c\uc5b4 \ud558\ub294 \uacbd\ub85c -#Globals.pdf.makepath.out=y:/out/ - - -##pdf\ubcc0\ud658 \ud30c\uc77c\uc758 \uc6f9\uc811\uadfc\uc744 \uc704\ud55c path - 4.pdf\ubcc0\ud658\uc758 \uacb0\uacfc\ubb3c\uc744 \uc6f9\uc5d0\uc11c \uc811\uadfc\ud558\uae30 \uc704\ud55c \uacbd\ub85c - \ubcc0\ud658\ub41c PDF \ud30c\uc77c\uc744 \uc6f9\ud398\uc774\uc9c0\uc5d0\uc11c \uc811\uadfc\ud558\uae30 \uc704\ud574 \uc124\uc815\ub41c \uacbd\ub85c \uc815\ubcf4 -#Globals.pdf.webpath=/pdf/out/ - -##=====================================2.\uac1c\ubc1c\uc11c\ubc84(http://219.240.88.15:8091)============================================================= -## \uc0c1\uc138 \ud56d\ubaa9\uc5d0 \ub300\ud55c \uc124\uba85\uc740 \uc0c1\ub2e8\uc5d0\uc11c \ud655\uc778 \ubc14\ub78d\ub2c8\ub2e4. -Globals.pdf.serverUrl=192.168.0.200 -Globals.pdf.apiUrl=http://219.240.88.15:8091 -Globals.pdf.filepath.out=file:/z:/out/ -Globals.pdf.makepath=/usr/local/tomcat/file/sht/ -Globals.pdf.makepath.out=/usr/local/tomcat/file/sht/out/ -Globals.pdf.webpath=/pdf/out/ - -##=====================================3.\uc2e4\uc11c\ubc84(192.168.39.143, 192.168.39.144)============================================================= -## \uc0c1\uc138 \ud56d\ubaa9\uc5d0 \ub300\ud55c \uc124\uba85\uc740 \uc0c1\ub2e8\uc5d0\uc11c \ud655\uc778 \ubc14\ub78d\ub2c8\ub2e4. -#Globals.pdf.serverUrl=192.168.39.147 -#Globals.pdf.apiUrl=http://192.168.39.143:8080 -#Globals.pdf.filepath.out=file:/z:/out/ -#Globals.pdf.makepath=/usr/local/tomcat/file/sht/ -#Globals.pdf.makepath.out=/usr/local/tomcat/file/sht/out/ -#Globals.pdf.webpath=/pdf/out/ - -#prod \uac1c\ubc1c, \uc2e4\uc11c\ubc84 \uad6c\ubd84\uac12 -#\ub85c\uceec -Globals.prod.islocal=local -#\uc6b4\uc601 \uac1c\ubc1c -#Globals.prod.islocal=dev -#\uc6b4\uc601 -#Globals.prod.islocal=real - - -#\ub300\uc6a9\ub7c9 innorix license -Globals.Innorix.License=dev -Globals.Innorix.FilePath=/usr/local/tomcat/file/sht/ \ No newline at end of file +#----------------------------------------------------------------------- +# +# globals.properties : \uc2dc\uc2a4\ud15c +# +#----------------------------------------------------------------------- +# 1. key = value \uad6c\uc870\uc785\ub2c8\ub2e4. +# 2. key\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \ud3ec\ud568\ubd88\uac00, value\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \uac00\ub2a5 +# 3. key\uac12\uc73c\ub85c \ud55c\uae00\uc744 \uc0ac\uc6a9\ubd88\uac00, value\uac12\uc740 \ud55c\uae00\uc0ac\uc6a9\uc774 \uac00\ub2a5 +# 4. \uc904\uc744 \ubc14\uafc0 \ud544\uc694\uac00 \uc788\uc73c\uba74 '\'\ub97c \ub77c\uc778\uc758 \ub05d\uc5d0 \ucd94\uac00(\ub9cc\uc57d '\'\ubb38\uc790\ub97c \uc0ac\uc6a9\ud574\uc57c \ud558\ub294 \uacbd\uc6b0\ub294 '\\'\ub97c \uc0ac\uc6a9) +# 5. Windows\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '\\' or '/' ('\' \uc0ac\uc6a9\ud558\uba74 \uc548\ub428) +# 6. Unix\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '/' +# 7. \uc8fc\uc11d\ubb38 \ucc98\ub9ac\ub294 #\uc0ac\uc6a9 +# 8. value\uac12 \ub4a4\uc5d0 \uc2a4\ud398\uc774\uc2a4\uac00 \uc874\uc7ac\ud558\ub294 \uacbd\uc6b0 \uc11c\ube14\ub9bf\uc5d0\uc11c \ucc38\uc870\ud560\ub54c\ub294 \uc5d0\ub7ec\ubc1c\uc0dd\ud560 \uc218 \uc788\uc73c\ubbc0\ub85c trim()\ud558\uac70\ub098 \ub9c8\uc9c0\ub9c9 \uacf5\ubc31\uc5c6\uc774 properties \uac12\uc744 \uc124\uc815\ud560\uac83 +#----------------------------------------------------------------------- + +# \uc6b4\uc601\uc11c\ubc84 \ud0c0\uc785(WINDOWS, UNIX) +Globals.OsType = WINDOWS + +# G4C \uc5f0\uacb0\uc6a9 IP (localhost) +Globals.LocalIp = 127.0.0.1 + +# DB\uc11c\ubc84 \ud0c0\uc785(mysql,oracle,altibase,tibero) - datasource \ubc0f sqlMap \ud30c\uc77c \uc9c0\uc815\uc5d0 \uc0ac\uc6a9\ub428 +Globals.DbType = tibero +# \uac1c\ubc1c\uc6a9 DB \uc11c\ubc84 tibero \uc5f0\ub3d9 +Globals.UserName= teduUr +Globals.Password= tedu1234 + +Globals.DriverClassName=com.tmax.tibero.jdbc.TbDriver +#\ub85c\uceec DB +Globals.Url=jdbc:tibero:thin:@192.168.0.30:8633:tibero +#\uc6b4\uc601 \uac1c\ubc1cDB +#Globals.Url=jdbc:tibero:thin:@10.255.3.58:8629:copydb +#\uc6b4\uc601 DB +#Globals.Url=jdbc:tibero:thin:@172.17.0.10:8629:copydb + + +# \uc800\uc791\uc704 \ubb38\uc790\uc804\uc1a1 DB(\uac1c\ubc1c) +Globals.SMSDB.DriverClassName=oracle.jdbc.driver.OracleDriver +Globals.SMSDB.Url=jdbc:oracle:thin:@192.168.0.118:1521:xe +Globals.SMSDB.UserName=KCCADR +Globals.SMSDB.Password=kccadr +# \uc800\uc791\uc704 \ubb38\uc790\uc804\uc1a1 DB(\uc6b4\uc601) +#Globals.SMSDB.DriverClassName=oracle.jdbc.driver.OracleDriver +#Globals.SMSDB.Url=jdbc:oracle:thin:@222.231.43.26:1521:ora10g +#Globals.SMSDB.UserName=smsmanager +#Globals.SMSDB.Password=eksanswk2014 + +Globals.SMSDB.SendTelNo=02-2669-0042 +Globals.SMSDB.TrId=kccadr + +# \uc800\uc791\uc704 \uba54\uc77c\uc804\uc1a1 +Globals.KccMail.URI=https://mail.copyright.or.kr/mail_api/form_send_mail +Globals.KccMail.api_key=#!@mail5455 +Globals.KccMail.sender=adr@copyright.or.kr +Globals.KccMail.title=[\ud55c\uad6d\uc800\uc791\uad8c\uc704\uc6d0\ud68c] \ubd84\uc7c1\uc870\uc815\uc2dc\uc2a4\ud15c \uc54c\ub9bc + + +#SSO \uc811\uc18d\uc815\ubcf4 +#\uac1c\ubc1c\uc11c\ubc84 +Globals.sso.ssoUri=https://devsso.copyright.or.kr/oauth2/token.do +Globals.sso.clientId=30354835c3684ff79e7fb1bfd3a768f6 +Globals.sso.clientSecret=1ueil5ee05wr0t1gjy1ppt212 +Globals.sso.scope=http://sso.copyright.or.kr +Globals.sso.returnSiteUrl=http://219.240.88.15:8091/web/user/login/ssoUsrModifyResult.do +Globals.sso.returnSiteCode=SITE011 + +#\uc2e4\uc11c\ubc84 +#Globals.sso.ssoUri=https://sso.copyright.or.kr/oauth2/token.do +#Globals.sso.clientId=30354835c3684ff79e7fb1bfd3a768f6 +#Globals.sso.clientSecret=1ueil5ee05wr0t1gjy1ppt212 +#Globals.sso.scope=http://sso.copyright.or.kr +#Globals.sso.returnSiteUrl=http://adr.copyright.or.kr/web/user/login/ssoUsrModifyResult.do +#Globals.sso.returnSiteCode=SITE011 + +#SSO \ud1b5\ud569\ud68c\uc6d0\uc0ac\uc774\ud2b8 URL +#\uac1c\ubc1c\uc11c\ubc84 +Globals.sso.joinUrl=https://devoneid.copyright.or.kr/member/signUp/signUpStep1.do +Globals.sso.modifyUrl=https://devoneid.copyright.or.kr/member/baseInfo/baseInfoModify.do +Globals.sso.idFindUrl=https://devoneid.copyright.or.kr/member/infoFind/idFindStep1.do +Globals.sso.pwFindUrl=https://devoneid.copyright.or.kr/member/infoFind/passFindStep1.do +#\uc2e4\uc11c\ubc84 +#Globals.sso.joinUrl=https://oneid.copyright.or.kr/member/signUp/signUpStep1.do +#Globals.sso.modifyUrl=https://oneid.copyright.or.kr/member/baseInfo/baseInfoModify.do +#Globals.sso.idFindUrl=https://oneid.copyright.or.kr/member/infoFind/idFindStep1.do +#Globals.sso.pwFindUrl=https://oneid.copyright.or.kr/member/infoFind/passFindStep1.do + +# MainPage Setting(admin) +Globals.MainPage = /cmm/main/mainPage.do +#\ucee8\ud150\uce20 \ud30c\uc77c\uc704\uce58 +#Globals.ckeditorUploadDir=/home/file/ckeditor/ +Globals.ckeditorUploadDir=/usr/local/tomcat/file/ckeditor/ +#TEST SERVER +Globals.RealCntFileFolder=C:/eGovFrameDev-3.9.0-64bit_ncms/workspace/ncms39/src/main/webapp/WEB-INF/jsp/cnt/ +Globals.Solr.url=http://localhost:8983/solr + +#SNS \ub85c\uadf8\uc778 KEY \uac12 +#ITN \ub124\uc774\ubc84 +Globals.kcc.naver.clentId=d9Ohvhty_RVsfrq9p_2J +Globals.kcc.naver.clientSecret=kwiEmpkLg5 +Globals.kcc.naver.returnUrl=http://localhost:80/snsLogin/naverOauth.do +#ITN \uce74\uce74\uc624 +Globals.kcc.kakao.restApiKey=10b66ad0c44b68b659855ddd64db2c44 +Globals.kcc.kakao.returnUrl=http://localhost:80/snsLogin/kakaoOauth.do + +#\uc0ac\uc774\ud2b8 \uc544\uc774\ub514 \uc81c\uac70\ub85c JSP\uc5d0\uc11c siteId/siteNm \ubcf4\uc5ec\uc8fc\uae30 \uc704\ud574 +Globals.homepage.siteId=kccadr +Globals.homepage.siteNm=\uc804\uc790\uc870\uc815\uc2dc\uc2a4\ud15c + +#pdf-url +##=====================================1.local(http://192.168.0.34:7080)============================================================= +##pdf\ubcc0\ud658\uc11c\ubc84 - WAS \uc5d0\uc11c \ud638\ucd9c\ud558\ub294 PDF \ubcc0\ud658 \uc11c\ubc84 IP \uc815\ubcf4\ub97c \ub123\ub294\ub2e4. +#Globals.pdf.serverUrl=192.168.0.200 + + +##\uc6f9\ud398\uc774\uc9c0\ub97c pdf\ub85c \ubcc0\ud658\ud558\uae30 \uc704\ud55c api \ud638\ucd9curl - \uc870\uc815\uc2e0\uccad\uc11c \ub4f1 - WAS \uc11c\ubc84 \uc815\ubcf4\ub97c \ub123\ub294\ub2e4. +#Globals.pdf.apiUrl=http://192.168.0.34:7080 + + +##pdf \uc11c\ubc84\uc758 \ub124\ud2b8\uc6cc\ud06c \uacbd\ub85c +##pdf\ubcc0\ud658 \uc11c\ube0c\ub97c \uc704\ud55c path - 1.pdf\ubcc0\ud658\uc758 \uacb0\uacfc\ubb3c\uc774 \uc0dd\uc131\ub418\ub294 \uacbd\ub85c - PDF \ubcc0\ud658 \uc11c\ubc84\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 \ud3f4\ub354 \uc815\ubcf4\ub97c \ub123\ub294\ub2e4. +#Globals.pdf.filepath.out=file:/z:/out/ + + +##tomcat upload \uacbd\ub85c +##\ud30c\uc77c \uad00\ub9ac\ub97c \uc704\ud55c path - 2.pdf\ubcc0\ud658\uc744 \uc704\ud55c \uc5c5\ub85c\ub4dc \ud30c\uc77c \uacbd\ub85c - WAS \uc11c\ubc84\uc5d0\uc11c PDF \ubcc0\ud658 \uc9c0\uc6d0\uc744 \uc704\ud574 \uc81c\uc5b4 \ud558\ub294 \uacbd\ub85c +#Globals.pdf.makepath=y:/ + +##\ud30c\uc77c \uad00\ub9ac\ub97c \uc704\ud55c path - 3.pdf\ubcc0\ud658\uc758 \uacb0\uacfc\ubb3c\uc774 \uc0dd\uc131\ub418\ub294 \uacbd\ub85c - WAS \uc11c\ubc84\uc5d0\uc11c PDF \ubcc0\ud658 \uc9c0\uc6d0\uc744 \uc704\ud574 \uc81c\uc5b4 \ud558\ub294 \uacbd\ub85c +#Globals.pdf.makepath.out=y:/out/ + + +##pdf\ubcc0\ud658 \ud30c\uc77c\uc758 \uc6f9\uc811\uadfc\uc744 \uc704\ud55c path - 4.pdf\ubcc0\ud658\uc758 \uacb0\uacfc\ubb3c\uc744 \uc6f9\uc5d0\uc11c \uc811\uadfc\ud558\uae30 \uc704\ud55c \uacbd\ub85c - \ubcc0\ud658\ub41c PDF \ud30c\uc77c\uc744 \uc6f9\ud398\uc774\uc9c0\uc5d0\uc11c \uc811\uadfc\ud558\uae30 \uc704\ud574 \uc124\uc815\ub41c \uacbd\ub85c \uc815\ubcf4 +#Globals.pdf.webpath=/pdf/out/ + +##=====================================2.\uac1c\ubc1c\uc11c\ubc84(http://219.240.88.15:8091)============================================================= +## \uc0c1\uc138 \ud56d\ubaa9\uc5d0 \ub300\ud55c \uc124\uba85\uc740 \uc0c1\ub2e8\uc5d0\uc11c \ud655\uc778 \ubc14\ub78d\ub2c8\ub2e4. +Globals.pdf.serverUrl=192.168.0.200 +Globals.pdf.apiUrl=http://219.240.88.15:8091 +Globals.pdf.filepath.out=file:/z:/out/ +Globals.pdf.makepath=/usr/local/tomcat/file/sht/ +Globals.pdf.makepath.out=/usr/local/tomcat/file/sht/out/ +Globals.pdf.webpath=/pdf/out/ + +##=====================================3.\uc2e4\uc11c\ubc84(192.168.39.143, 192.168.39.144)============================================================= +## \uc0c1\uc138 \ud56d\ubaa9\uc5d0 \ub300\ud55c \uc124\uba85\uc740 \uc0c1\ub2e8\uc5d0\uc11c \ud655\uc778 \ubc14\ub78d\ub2c8\ub2e4. +#Globals.pdf.serverUrl=192.168.39.147 +#Globals.pdf.apiUrl=http://192.168.39.143:8080 +#Globals.pdf.filepath.out=file:/z:/out/ +#Globals.pdf.makepath=/usr/local/tomcat/file/sht/ +#Globals.pdf.makepath.out=/usr/local/tomcat/file/sht/out/ +#Globals.pdf.webpath=/pdf/out/ + +#prod \uac1c\ubc1c, \uc2e4\uc11c\ubc84 \uad6c\ubd84\uac12 +#\ub85c\uceec +Globals.prod.islocal=local +#\uc6b4\uc601 \uac1c\ubc1c +#Globals.prod.islocal=dev +#\uc6b4\uc601 +#Globals.prod.islocal=real + + +#\ub300\uc6a9\ub7c9 innorix license +Globals.Innorix.License=dev +Globals.Innorix.FilePath=/usr/local/tomcat/file/sht/ + +#\uad50\uc721 \uc54c\ub9bc \uba54\uc77c \ud15c\ud50c\ub9bf +#Globals.edu.mail.template=/template/offeduMain.html +Globals.edu.mail.template=template/offeduMain.html \ No newline at end of file diff --git a/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Tibero.xml index 8ee08f02..81f9d216 100644 --- a/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Tibero.xml @@ -796,4 +796,30 @@ AND SUBSTRING(a.EDU_STRT_PNTTM, 1, 7) = TO_CHAR(TO_DATE(#sTodate#,'YYYYMMDD')+ 7,'YYYY.MM') + + diff --git a/src/main/webapp/js/ve/sendSmsEmailUtil.js b/src/main/webapp/js/ve/sendSmsEmailUtil.js index 2e1ca787..6ab28d3a 100644 --- a/src/main/webapp/js/ve/sendSmsEmailUtil.js +++ b/src/main/webapp/js/ve/sendSmsEmailUtil.js @@ -22,6 +22,14 @@ function sendSms( ); } +/* sndFlag = 메뉴 구분 + * C -> 찾교청소년 + * S -> 찾교성인 + * G -> 체험교실 + * W -> 외부협력 + * A -> 실무역량강화 + * B -> 기소유예 + * */ //이메일 발송 function sendEmail( p_receiver, // 수신자