이지우 - 기소유예, 성인찾교 수정요청 항목들 작업

This commit is contained in:
jiwoo 2024-02-29 17:24:57 +09:00
parent 9cdae62730
commit 6aa5328c6c
13 changed files with 371 additions and 14 deletions

View File

@ -1004,6 +1004,8 @@ public class CommonWebController {
vEEduChasiVO.setEduChasiOrd(p_step01_list.get(i).getEduChasiOrd()); vEEduChasiVO.setEduChasiOrd(p_step01_list.get(i).getEduChasiOrd());
vEEduChasiVO.setInstrDiv("20"); vEEduChasiVO.setInstrDiv("20");
vEEduChasiVO = vVEEduChasiService.selectDetail(vEEduChasiVO); vEEduChasiVO = vVEEduChasiService.selectDetail(vEEduChasiVO);
vEEduChasiVO.setAplctPhone(egovCryptoUtil.decrypt(vEEduChasiVO.getAplctPhone()));
vEEduChasiVO.setAplctMail(egovCryptoUtil.decrypt(vEEduChasiVO.getAplctMail()));
vEEduChasiVO.setStrtTm(vEEduChasiVO.getStrtTm().substring(0,2) + ":" + vEEduChasiVO.getStrtTm().substring(2)); vEEduChasiVO.setStrtTm(vEEduChasiVO.getStrtTm().substring(0,2) + ":" + vEEduChasiVO.getStrtTm().substring(2));
vEEduChasiVO.setEndTm(vEEduChasiVO.getEndTm().substring(0,2) + ":" + vEEduChasiVO.getEndTm().substring(2)); vEEduChasiVO.setEndTm(vEEduChasiVO.getEndTm().substring(0,2) + ":" + vEEduChasiVO.getEndTm().substring(2));
vEEduChasiVOList.add(vEEduChasiVO); vEEduChasiVOList.add(vEEduChasiVO);

View File

@ -123,6 +123,7 @@ public class VeSendMail {
if(!"".equals(Cn) if(!"".equals(Cn)
&& Cn != null && Cn != null
&& !"SS".equals(sndFlag) && !"SS".equals(sndFlag)
&& !"SSS".equals(sndFlag)
) { ) {
Cn = Cn.replaceAll("\n", "<br/>"); Cn = Cn.replaceAll("\n", "<br/>");
} }

View File

@ -359,6 +359,8 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
private String qestnrId10; private String qestnrId10;
private String qustnrTmplatId; private String qustnrTmplatId;
private String trgtSex; //대상자 성별
public String getPrcsAplctPrdOrd() { public String getPrcsAplctPrdOrd() {
return prcsAplctPrdOrd; return prcsAplctPrdOrd;
@ -474,6 +476,7 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
private List<String> rsltList; //결과보고 타겟ORD 목록 private List<String> rsltList; //결과보고 타겟ORD 목록
private String prfsnFld; //강사 전문분야 private String prfsnFld; //강사 전문분야
private String mberId; //사용자 로그인 ID private String mberId; //사용자 로그인 ID
private String aplctUserId; //사용자 ID
public String getSpecialWorkAllow() { public String getSpecialWorkAllow() {
@ -2066,6 +2069,18 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
public void setSiteIdCd(String siteIdCd) { public void setSiteIdCd(String siteIdCd) {
this.siteIdCd = siteIdCd; this.siteIdCd = siteIdCd;
} }
public String getTrgtSex() {
return trgtSex;
}
public void setTrgtSex(String trgtSex) {
this.trgtSex = trgtSex;
}
public String getAplctUserId() {
return aplctUserId;
}
public void setAplctUserId(String aplctUserId) {
this.aplctUserId = aplctUserId;
}
} }

View File

@ -145,6 +145,12 @@ public class VEEduChasiVO extends ComDefaultVO implements Serializable {
private String eduPlaceCd; //교육장소 코드 private String eduPlaceCd; //교육장소 코드
private String aplctPhone; //신청자 연락처
private String aplctUserId; //신청자 ID
private String aplctMail; //신청자 메일
private String aplctAddr; //신청자 주소
private String aplctaddrDetail;//신청자 상세주소
public String getQustnrQesitmId10Cnt() { public String getQustnrQesitmId10Cnt() {
return qustnrQesitmId10Cnt; return qustnrQesitmId10Cnt;
} }
@ -754,4 +760,35 @@ public class VEEduChasiVO extends ComDefaultVO implements Serializable {
this.eduPlaceCd = eduPlaceCd; this.eduPlaceCd = eduPlaceCd;
} }
public String getAplctPhone() {
return aplctPhone;
}
public void setAplctPhone(String aplctPhone) {
this.aplctPhone = aplctPhone;
}
public String getAplctUserId() {
return aplctUserId;
}
public void setAplctUserId(String aplctUserId) {
this.aplctUserId = aplctUserId;
}
public String getAplctMail() {
return aplctMail;
}
public void setAplctMail(String aplctMail) {
this.aplctMail = aplctMail;
}
public String getAplctAddr() {
return aplctAddr;
}
public void setAplctAddr(String aplctAddr) {
this.aplctAddr = aplctAddr;
}
public String getAplctaddrDetail() {
return aplctaddrDetail;
}
public void setAplctaddrDetail(String aplctaddrDetail) {
this.aplctaddrDetail = aplctaddrDetail;
}
} }

View File

@ -775,6 +775,9 @@ public class CndtnPrcsInfoMngController {
excelVO.setEmail(vo.getEmail()); excelVO.setEmail(vo.getEmail());
excelVO.setPhone(vo.getPhone()); excelVO.setPhone(vo.getPhone());
excelVO.setSbmtPnttm(vo.getSbmtPnttm()); excelVO.setSbmtPnttm(vo.getSbmtPnttm());
excelVO.setTrgtSex(vo.getTrgtSex());
excelVO.setDBirth(vo.getDBirth());
excelVO.setTrgtNm(vo.getTrgtNm());
ComDefaultCodeVO codeParam = new ComDefaultCodeVO(); ComDefaultCodeVO codeParam = new ComDefaultCodeVO();
codeParam.setCodeId("VE0003"); codeParam.setCodeId("VE0003");
@ -793,15 +796,15 @@ public class CndtnPrcsInfoMngController {
// 세팅값 // 세팅값
String title = "조건부 기소유예 - 교육신청 목록"; String title = "조건부 기소유예 - 교육신청 목록";
int[] width = { int[] width = {
4000, 4000, 4000, 4000, 4000 4000, 4000, 4000, 4000, 4000, 4000, 4000
}; // 너비 }; // 너비
String[] header = { String[] header = {
"신청자", "이메일", "핸드폰", "신청일", "상태" "신청자", "이메일", "핸드폰", "생년월일", "성별", "신청일", "상태"
}; };
String[] order = { String[] order = {
"UserNm", "Email", "Phone", "SbmtPnttm", "AprvlCd" "TrgtNm", "Email", "Phone", "DBirth", "TrgtSex", "SbmtPnttm", "AprvlCd"
}; };
// 호출 // 호출

View File

@ -30,6 +30,8 @@ public class ExcelVO extends ComDefaultVO implements Serializable {
private String email; private String email;
private String phone; private String phone;
private String prvsQs; private String prvsQs;
private String trgtSex;
private String trgtNm;
public String getUserNm() { public String getUserNm() {
return userNm; return userNm;
} }
@ -96,6 +98,18 @@ public class ExcelVO extends ComDefaultVO implements Serializable {
public void setPrvsQs(String prvsQs) { public void setPrvsQs(String prvsQs) {
this.prvsQs = prvsQs; this.prvsQs = prvsQs;
} }
public String getTrgtSex() {
return trgtSex;
}
public void setTrgtSex(String trgtSex) {
this.trgtSex = trgtSex;
}
public String getTrgtNm() {
return trgtNm;
}
public void setTrgtNm(String trgtNm) {
this.trgtNm = trgtNm;
}

View File

@ -509,6 +509,21 @@ public class SndMngController {
.replace("[[_EduYear_]]", vEEduAplctVO.getEduYear()) .replace("[[_EduYear_]]", vEEduAplctVO.getEduYear())
; ;
//성인 - 강사배정 확정 신청자에게 가는 메일. 메일 템플릿에 강사,소속 추가
if("SSS".equals(vEEduAplctVO.getSndFlag())){
cn = this.getTemplateWithInstr()
.replace("[[_InsttNm_]]", vEEduAplctVO.getInsttNm())
.replace("[[_Addr_]]", vEEduAplctVO.getAddr())
.replace("[[_HopeSbjct_]]", vEEduAplctVO.getHopeSbjct())
.replace("[[_EduTrgt_]]", vEEduAplctVO.getEduTrgt())
.replace("[[_EduPrsnl_]]", vEEduAplctVO.getEduPrsnl())
.replace("[[_EduHopeDt_]]", vEEduAplctVO.getEduHopeDt())
.replace("[[_EduYear_]]", vEEduAplctVO.getEduYear())
.replace("[[_InstrNm_]]", vEEduAplctVO.getInstrNm())
.replace("[[_Blng_]]", vEEduAplctVO.getBlng())
;
}
vEEduAplctVO.setSndCn(cn); vEEduAplctVO.setSndCn(cn);
@ -799,7 +814,112 @@ public class SndMngController {
" <span style=\"color:#e95504;\">3. 강사참석확인서</span>: 저작권배움터 완료목록에서 양식을 다운로드 받으신 후,<br>강사서명 날인후 스캔본 업로드 요청<br><br>\n" + " <span style=\"color:#e95504;\">3. 강사참석확인서</span>: 저작권배움터 완료목록에서 양식을 다운로드 받으신 후,<br>강사서명 날인후 스캔본 업로드 요청<br><br>\n" +
" <span style=\"color:#926b5d; font-weight: bold;\">※ 교육 시 강의 녹화, 재사용, 배포 등은 저작권법 위반이므로 사전에 강사와 협의가 필요합니다.</span><br><br>\n" + " <span style=\"color:#926b5d; font-weight: bold;\">※ 교육 시 강의 녹화, 재사용, 배포 등은 저작권법 위반이므로 사전에 강사와 협의가 필요합니다.</span><br><br>\n" +
" 1~3의 요청사항은 교육 완료 후 일주일 이내 시스템 반영 부탁드립니다.<br>\n" + " 1~3의 요청사항은 교육 완료 후 일주일 이내 시스템 반영 부탁드립니다.<br>\n" +
" 기타 문의사항은 한국저작권위원회 교육운영팀 <a href=\"055-792-0224\" style=\"color:#2f2f2f;\">055-792-0224</a> 으로 연락하여 주시기 바랍니다.<br><br>\n" + " 기타 문의사항은 한국저작권위원회 교육운영팀 <a href=\"055-792-0233\" style=\"color:#2f2f2f;\">055-792-0233</a> 으로 연락하여 주시기 바랍니다.<br><br>\n" +
" 감사합니다. \n" +
" </p>\n" +
" </td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td style=\"padding:60px 0 0;\">\n" +
" <table width=\"800\" bgcolor=\"#f8f8f8\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" style=\"padding:22px 0;border-top:1px solid #cecece; color:#666;\">\n" +
" <tbody>\n" +
" <tr>\n" +
" <td align=\"left\" style=\"padding:0 28px;\">\n" +
" <a href=\"https://edu-copyright.or.kr/offedu/\" rel=\"noreferrer noopener\" style=\"vertical-align:middle;display:table-cell\" target=\"_blank\" data-saferedirecturl=\"https://www.google.com/url?q=https://edu-copyright.or.kr/offedu/&amp;source=gmail&amp;ust=1647666525852000&amp;usg=AOvVaw3aJ4SNBKmUaX89PBd69nPC\"><img alt=\"한국저작권위원회-통합회원 로고\" src=\"https://ci5.googleusercontent.com/proxy/0JqqeL8s5aHiWESa7Hkqq7DoxHF0qGfEGwL3ZsfXSpyh-P9mJolNp4QpMbgMj_A7cR44XGl1C3MdSjQ50oR_vqWDIv87H1E=s0-d-e1-ft#https://oneid.copyright.or.kr/images/mail/f_logo.gif\" style=\"border:0px currentColor;vertical-align:middle; width:150px;\" class=\"CToWUd\"></a>\n" +
" </td>\n" +
" <td align=\"left\" style=\"font-family:'Noto Sans KR';font-size:15px;letter-spacing:-0.2px;\">\n" +
" <p style=\"margin:0px 0px 11px;padding:0px\">본 메일은 발신전용으로 회신하지 않습니다.</p>\n" +
" <p style=\"margin:0px;padding:0px\"><span style=\"font-weight:bold\">진주</span> [우 52852] 경상남도 진주시 소호로 117, 1/2/5층. <span>&nbsp;대표번호 : 055.792.0000</span><br> <span style=\"font-weight:bold\">서울</span> [우 04323] 서울특별시 용산구 후암로 107, 5/16층. <span>&nbsp;대표번호 : 02.2669.0010</span></p>\n" +
" </td>\n" +
" </tr>\n" +
" </tbody>\n" +
" </table>\n" +
" </td>\n" +
" </tr>\n" +
" </tbody>\n" +
" </table>\n" +
"</body>\n" +
"</html>";
}
private String getTemplateWithInstr() {
return "<!DOCTYPE html>\n" +
"<html lang=\"ko\">\n" +
"<head>\n" +
" <meta charset=\"UTF-8\">\n" +
" <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n" +
" <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />\n" +
" <meta name=\"viewport\" content=\"\" />\n" +
" <meta name=\"Keywords\" content=\"\" />\n" +
" <meta name=\"Description\" content=\"\" />\n" +
"</head>\n" +
"<body>\n" +
" <table align=\"center\" width=\"800\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" style=\"border:5px solid rgb(241,89,34);\">\n" +
" <tbody>\n" +
" <tr>\n" +
" <td align=\"left\" bgcolor=\"#ffffff\" style=\"padding:25px 40px 0 40px;\">\n" +
" <a href=\"https://edu-copyright.or.kr/offedu/web/main/mainPage.do\" rel=\"noreferrer noopener\" target=\"_blank\" data-saferedirecturl=\"https://www.google.com/url?q=https://edu-copyright.or.kr/offedu/&amp;source=gmail&amp;ust=1647666525851000&amp;usg=AOvVaw0ZroUFKmk2_yTWKT0iYs_q\"><img alt=\"한국저작권위원회-통합회원 로고\" src=\"https://edu-copyright.or.kr/offedu/visitEdu/usr/publish/images/common/ci.png\" style=\"width:170px; border:0px currentColor;vertical-align:middle\"></a>\n" +
" </td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td style=\"padding:0 50px;\">\n" +
" <p style=\"text-align: center; font-size:27px; font-weight: bold; padding:25px 0 5px 0; letter-spacing: -1px; border-top:3px solid #f16c23; font-family: 'Noto Sans KR', sans-serif !important;\">찾아가는 저작권 교육 일정 안내<br></p>\n" +
" </td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td align=\"center\" bgcolor=\"#ffffff\" style=\"padding:0;\">\n" +
" <table cellspacing=\"0\" cellpadding=\"0\" style=\"width:700px; border-top:2px solid #b1b1b1; border-bottom:1px solid #b1b1b1; font-size:15px; color:#333; margin:0 0 40px 0; padding:0; background:#e0e0e0; \">\n" +
" <colgroup>\n" +
" <col width=\"15%;\">\n" +
" <col width=\"35%;\">\n" +
" <col width=\"15%;\">\n" +
" <col width=\"35%;\">\n" +
" </colgroup>\n" +
" <tr style=\"border-bottom:1px solid #cecece;\">\n" +
" <th style=\"line-height:20px; padding:10px 0; background:#f5f5f5; border-bottom:1px solid #e0e0e0;font-size:14px; color:#666;\">교&nbsp;육&nbsp;명</th>\n" +
" <td colspan=\"3\" style=\"line-height:20px; padding:12px 0 10px 15px; background:#fff; border-bottom:1px solid #e0e0e0;\">[[_EduYear_]]년 찾아가는 저작권 교육</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <th style=\"line-height:20px; padding:10px 0; background:#f5f5f5; border-bottom:1px solid #e0e0e0;font-size:14px; color:#666;\">의&nbsp;뢰&nbsp;처</th>\n" +
" <td colspan=\"3\" style=\"line-height:20px; padding:12px 0 10px 15px; background:#fff; border-bottom:1px solid #e0e0e0;\">[[_InsttNm_]]</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <th style=\"line-height:20px; padding:10px 0; background:#f5f5f5; border-bottom:1px solid #e0e0e0;font-size:14px; color:#666;\">일&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;시</th>\n" +
" <td colspan=\"3\" style=\"line-height:20px; padding:12px 0 10px 15px; background:#fff; border-bottom:1px solid #e0e0e0;\">[[_EduHopeDt_]]</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <th style=\"line-height:20px; padding:10px 0; background:#f5f5f5; border-bottom:1px solid #e0e0e0;font-size:14px; color:#666;\">교육장소</th>\n" +
" <td colspan=\"3\" style=\"line-height:20px; padding:12px 0 10px 15px; background:#fff; border-bottom:1px solid #e0e0e0;\">[[_Addr_]]</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <th style=\"line-height:20px; padding:10px 0; background:#f5f5f5; border-bottom:1px solid #e0e0e0;font-size:14px; color:#666;\">강의주제</th>\n" +
" <td colspan=\"3\" style=\"line-height:20px; padding:12px 0 10px 15px; background:#fff; border-bottom:1px solid #e0e0e0; font-weight: bold;\">[[_HopeSbjct_]]</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <th style=\"line-height:20px; padding:10px 0; background:#f5f5f5; border-bottom:1px solid #e0e0e0;font-size:14px; color:#666;\">대&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;상</th>\n" +
" <td style=\"line-height:20px; padding:12px 0 10px 15px; background:#fff; border-bottom:1px solid #e0e0e0;\">[[_EduTrgt_]]</td>\n" +
" <th style=\"line-height:20px; padding:10px 0; background:#f5f5f5; border-bottom:1px solid #e0e0e0;font-size:14px; color:#666;\">인&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;원</th>\n" +
" <td style=\"line-height:20px; padding:12px 0 10px 15px; background:#fff; border-bottom:1px solid #e0e0e0;\">[[_EduPrsnl_]]</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <th style=\"line-height:20px; padding:10px 0; background:#f5f5f5; border-bottom:1px solid #e0e0e0;font-size:14px; color:#666;\">강&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;사</th>\n" +
" <td style=\"line-height:20px; padding:12px 0 10px 15px; background:#fff; border-bottom:1px solid #e0e0e0;\">[[_InstrNm_]]</td>\n" +
" <th style=\"line-height:20px; padding:10px 0; background:#f5f5f5; border-bottom:1px solid #e0e0e0;font-size:14px; color:#666;\">소&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;속</th>\n" +
" <td style=\"line-height:20px; padding:12px 0 10px 15px; background:#fff; border-bottom:1px solid #e0e0e0;\">[[_Blng_]]</td>\n" +
" </tr>\n" +
" </table>\n" +
" <p style=\"width:640px; font-size:14px; text-align:left; padding:20px 30px; color:#2f2f2f; border:3px solid #e0e0e0; line-height: 20px;\">\n" +
" 저작권 교육을 신청해 주셔서 대단히 감사드리며, 원활한 교육 진행과 사후관리를 위해 몇가지 요청사항 전달드립니다.<br><br>\n" +
" <span style=\"color:#e95504;\">1. 결과보고서</span>: 저작권배움터 완료목록에서 교육사진 업로드<br>\n" +
" <span style=\"padding:0 0 0 8px; display: block;\">- 오프라인: 강사 전면 강의 모습, 전경 등 2매 이상 촬영<span style=\"color:#926b5d; padding:0 0 0 2px;\"><br>\n\n(※수강생 식별되지 않도록 뒷모습 쵤영 당부)</span></span>\n" +
" <span style=\"padding:0 0 0 8px; display: block;\">- 온라인: 참석자 및 강의 모습을 포함한 캡쳐 화면 등 2매 이상</span>\n" +
" <span style=\"color:#e95504;\">2. 만족도조사</span>:<br>\n" +
" <span style=\"padding:0 0 0 8px; display: block;\">- 설문지 양식을 출력하여 조사 후 설문등록</span>\n" +
" <span style=\"padding:0 0 0 8px; display: block;\">- QR코드를 이용하여 조사 후 설문등록 저장</span>\n" +
" <span style=\"color:#e95504;\">3. 강사참석확인서</span>: 저작권배움터 완료목록에서 양식을 다운로드 받으신 후,<br>강사서명 날인후 스캔본 업로드 요청<br><br>\n" +
" <span style=\"color:#926b5d; font-weight: bold;\">※ 교육 시 강의 녹화, 재사용, 배포 등은 저작권법 위반이므로 사전에 강사와 협의가 필요합니다.</span><br><br>\n" +
" 1~3의 요청사항은 교육 완료 후 일주일 이내 시스템 반영 부탁드립니다.<br>\n" +
" 기타 문의사항은 한국저작권위원회 교육운영팀 <a href=\"055-792-0233\" style=\"color:#2f2f2f;\">055-792-0233</a> 으로 연락하여 주시기 바랍니다.<br><br>\n" +
" 감사합니다. \n" + " 감사합니다. \n" +
" </p>\n" + " </p>\n" +
" </td>\n" + " </td>\n" +

View File

@ -174,6 +174,15 @@
SELECT SELECT
<include refid="VEEduChasiDAO.select_column_name"/> <include refid="VEEduChasiDAO.select_column_name"/>
, E.INSTT_NM AS insttNm , E.INSTT_NM AS insttNm
, E.EDU_SLCT_CD AS eduSlctCd
, E.HOPE_SBJCT AS hopeSbjct
, E.EDU_TRGT AS eduTrgt
, E.EDU_PRSNL AS eduPrsnl
, E.CLPHONE AS aplctPhone
, E.USER_ID AS aplctUserId
, E.EMAIL AS aplctMail
, E.ADDR AS aplctAddr
, E.ADDR_DETAIL AS aplctaddrDetail
FROM <include refid="VEEduChasiDAO.join_table_name"/> FROM <include refid="VEEduChasiDAO.join_table_name"/>
LEFT JOIN ve_edu_aplct E LEFT JOIN ve_edu_aplct E
ON A.EDU_APLCT_ORD = E.EDU_APLCT_ORD ON A.EDU_APLCT_ORD = E.EDU_APLCT_ORD

View File

@ -430,7 +430,11 @@
AND a.edu_aplct_ord = lersltD.edu_aplct_ord ) THEN 1 AND a.edu_aplct_ord = lersltD.edu_aplct_ord ) THEN 1
ELSE 0 ELSE 0
END AS qestRsltExists, END AS qestRsltExists,
vsit.TRGT_NM AS trgtNm vsit.TRGT_NM AS trgtNm,
CASE
WHEN vsit.sex = 'M' THEN '남성'
WHEN vsit.sex = 'F' THEN '여성'
ELSE '' END trgtSex
FROM FROM
<include refid="VEEduMIXDAO.table_name"/> a <include refid="VEEduMIXDAO.table_name"/> a
JOIN ve_prcs_aplct_prd vpap ON JOIN ve_prcs_aplct_prd vpap ON
@ -1145,7 +1149,10 @@
FROM ve_edu_chasi_instr_asgnm a FROM ve_edu_chasi_instr_asgnm a
, ve_instr_detail b , ve_instr_detail b
WHERE a.user_id=b.user_id WHERE a.user_id=b.user_id
AND b.use_yn='Y' AND b.use_yn='Y'
<isNotEmpty property="lctrDivCd">
AND b.INSTR_DIV = #lctrDivCd#
</isNotEmpty>
) I ) I
ON ( ON (
@ -2842,6 +2849,7 @@
FROM ( FROM (
SELECT SELECT
a.edu_aplct_ord AS eduAplctOrd , a.edu_aplct_ord AS eduAplctOrd ,
a.user_Id AS aplctUserId,
TO_CHAR(a.aprvl_pnttm,'YYYY-MM-DD') AS aprvlPnttm , TO_CHAR(a.aprvl_pnttm,'YYYY-MM-DD') AS aprvlPnttm ,
a.edu_slct_cd AS eduSlctCd , a.edu_slct_cd AS eduSlctCd ,
a.edu_slct_area_cd AS eduSlctAreaCd , a.edu_slct_area_cd AS eduSlctAreaCd ,

View File

@ -147,7 +147,8 @@
if(statusVal == VeConstants.APRVL_CD_60 ){ if(statusVal == VeConstants.APRVL_CD_60 ){
//교육확정 시 SMS, 메일 안내 //교육확정 시 SMS, 메일 안내
try{ try{
statusChgSndSms();
fncCfnContent( fncCfnContent(
"${pageContext.request.contextPath}/kccadr/oprtn/pblc/emailSndCfnAjax.do", "${pageContext.request.contextPath}/kccadr/oprtn/pblc/emailSndCfnAjax.do",
@ -157,11 +158,8 @@
}catch (e) { }catch (e) {
} }
// 확정일경우에 확정 목록으로 가도록 설정
fncGoCnfrmList();
}else{
fncGoDetail();
} }
fncGoDetail();
} }
}, },
error:function(request , status, error){ error:function(request , status, error){
@ -207,6 +205,19 @@
); );
} }
function statusChgSndSms(){
var p_smsMsg = "신청하신 교육이 확정되었습니다. 자세한 내용은 메일 확인 바랍니다"
fncContent(
"${pageContext.request.contextPath}/kccadr/oprtn/pblc/offeduSMSSndAjax.do",
"10", //코드 10:sms 20:mail
p_smsMsg,
"S"
);
}
//이메일 발송 //이메일 발송
function fncSndEmail(){ function fncSndEmail(){

View File

@ -305,6 +305,7 @@
<input type="hidden" name="userId" id="userId" value="<c:out value='${info.userId}'/>"/> <!-- 사용자 아이디 --> <input type="hidden" name="userId" id="userId" value="<c:out value='${info.userId}'/>"/> <!-- 사용자 아이디 -->
<!-- validator 체크를 위한 핸드폰, 이메일 input --> <!-- validator 체크를 위한 핸드폰, 이메일 input -->
<input type="hidden" name="clphone" id="clphone" value=""/><!-- 연락처(핸드폰) --> <input type="hidden" name="clphone" id="clphone" value=""/><!-- 연락처(핸드폰) -->
<input type="hidden" name="phone" id="phone" value=""/><!-- 연락처(전화번호) -->
<input type="hidden" name="email" id="email" value=""/><!-- 이메일 --> <input type="hidden" name="email" id="email" value=""/><!-- 이메일 -->
<input type="hidden" name="limitcount" id="limitcount" value="1" /><!-- 최대 업로드 파일갯수 --> <input type="hidden" name="limitcount" id="limitcount" value="1" /><!-- 최대 업로드 파일갯수 -->
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${info.eduAplctOrd}" /> <input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${info.eduAplctOrd}" />

View File

@ -366,14 +366,34 @@
success:function(returnData){ success:function(returnData){
if(returnData.result=="success"){ if(returnData.result=="success"){
alert("상태가 변경 되었습니다."); alert("상태가 변경 되었습니다.");
//sms, 메일 발송 //sms, 메일 발송 - 강사
if(returnData.vEInstrDetailVOList != null){ if(returnData.vEInstrDetailVOList != null){
for(var i=0; i<returnData.vEInstrDetailVOList.length; i++){ for(var i=0; i<returnData.vEInstrDetailVOList.length; i++){
var hopeDt = returnData.vEEduChasiVOList[i].eduHopeDt; var hopeDt = returnData.vEEduChasiVOList[i].eduHopeDt;
var strtTm = returnData.vEEduChasiVOList[i].strtTm; var strtTm = returnData.vEEduChasiVOList[i].strtTm;
var endTm = returnData.vEEduChasiVOList[i].endTm; var endTm = returnData.vEEduChasiVOList[i].endTm;
var insttNm = returnData.vEEduChasiVOList[i].insttNm; var insttNm = returnData.vEEduChasiVOList[i].insttNm;
var aplctMail = returnData.vEEduChasiVOList[i].aplctMail;
var hopeSbjct = returnData.vEEduChasiVOList[i].hopeSbjct;
var addr = returnData.vEEduChasiVOList[i].aplctAddr + ' ' + returnData.vEEduChasiVOList[i].aplctaddrDetail;
var eduSlctCd = returnData.vEEduChasiVOList[i].eduSlctCd;
var eduSlct = '온라인'
if(eduSlctCd = '10'){
addr = '온라인';
}else{
eduSlct = '오프라인';
}
var eduTrgt = returnData.vEEduChasiVOList[i].eduTrgt;
var eduPrsnl = returnData.vEEduChasiVOList[i].eduPrsnl;
var eduHopeDt = hopeDt + ' ' + strtTm + ' ~ ' + endTm + '(' +returnData.vEEduChasiVOList[i].lrnTm + '분)';
var eduYear = hopeDt.substring(0,4);
var eduAplctOrd = returnData.vEEduChasiVOList[i].eduAplctOrd;
var instrNm = returnData.vEInstrDetailVOList[i].instrNm;
var blng = returnData.vEInstrDetailVOList[i].blng;
try{ try{
//강사
sendSms( sendSms(
returnData.vEInstrDetailVOList[i].phone, returnData.vEInstrDetailVOList[i].phone,
"아래 교육이 확정되었으니, 자세한 사항은 시스템(저작권 배움터)을 통하여 확인하시어 일정에 차질이 없도록 준비 부탁드립니다."+ "아래 교육이 확정되었으니, 자세한 사항은 시스템(저작권 배움터)을 통하여 확인하시어 일정에 차질이 없도록 준비 부탁드립니다."+
@ -394,11 +414,81 @@
"S", "S",
"N" "N"
); );
//사용자
sendSms(
returnData.vEEduChasiVOList[i].aplctPhone,
"신청하신 교육의 강사배정이 확정되었습니다. 자세한 내용은 메일 확인 바랍니다.",
returnData.vEInstrDetailVOList[i].eduAplctOrd,
returnData.vEInstrDetailVOList[i].aplctUserId,
"S",
"N"
);
/* sendEmail(
returnData.vEInstrDetailVOList[i].email,
"아래 교육이 확정되었으니, 자세한 사항은 시스템(저작권 배움터)을 통하여 확인하시어 일정에 차질이 없도록 준비 부탁드립니다."+
"\n일시 : "+ hopeDt + " " + strtTm + " ~ " + endTm +
"\n기관 : "+ insttNm,
returnData.vEInstrDetailVOList[i].eduAplctOrd,
returnData.vEInstrDetailVOList[i].userId,
"S",
"N"
); */
fncCfnContent(
"${pageContext.request.contextPath}/kccadr/oprtn/pblc/emailSndCfnAjax.do",
"20",
"SSS",
aplctMail,
hopeSbjct,
insttNm,
addr,
eduSlct,
eduTrgt,
eduPrsnl,
eduHopeDt,
eduYear,
eduAplctOrd,
instrNm,
blng
)
} }
catch (e) { catch (e) {
} }
} }
} }
//sms, 메일 발송 - 신청자
/* $('input:checkbox[name="chk"]:checked').each(function() {
var eduhopedt = $(this).data('eduhopedt');
var strtTm = $(this).data('strttm');
var endTm = $(this).data('endtm');
var insttNm = $(this).data('insttnm');
sendSms(
$(this).data('phone'),
"신청하신 교육의 강사배정이 확정되었습니다. 자세한 내용은 메일 확인 바랍니다.",
$(this).val().split('@')[0],
$(this).data('userid'),
"S",
"N"
);
sendEmail(
$(this).data('email'),
"아래 교육이 확정되었으니, 자세한 사항은 시스템(저작권 배움터)을 통하여 확인하시어 일정에 차질이 없도록 준비 부탁드립니다."+
"\n일시 : "+ hopeDt + " " + strtTm + " ~ " + endTm +
"\n기관 : "+ insttNm,
$(this).val().split('@')[0],
$(this).data('userid'),
"S",
"N"
);
}); */
fncGoList(); fncGoList();
}else{ }else{
alert("강사 자동 배정 중에 오류가 발생 되었습니다."); alert("강사 자동 배정 중에 오류가 발생 되었습니다.");
@ -413,6 +503,46 @@
} }
//배정 확정 메일 - 템플릿 사용
function fncCfnContent(p_url, p_sndCd, p_sndFlag,email,hopeSbjct,insttNm,addr,eduSlct,eduTrgt,eduPrsnl,eduHopeDt,eduYear,eduAplctOrd,instrNm,blng){
$.ajax({
type: "POST",
// enctype: 'multipart/form-data',
url:p_url,
//data: data,
data:{
"sndCd": p_sndCd
, "sndFlag": p_sndFlag
// , "eduAplctOrd": $("#eduAplctOrd").val()
, "email": email
, "hopeSbjct": hopeSbjct // 희망주제
, "insttNm": insttNm // 기관(단체)명 - 의뢰처
, "addr": addr // 주소
, "eduSlct": eduSlct // 온라인 / 오프라인
, "eduTrgt": eduTrgt // 교육대상
, "eduPrsnl": eduPrsnl // 교육인원
, "eduHopeDt": eduHopeDt // 교육 일시
, "eduYear": eduYear // 교육명에 들어갈 교육명 년도
, "eduAplctOrd" : eduAplctOrd
, "instrNm" : instrNm
, "blng" : blng
},
dataType:'json',
success:function(returnData){
if(returnData.result == "success"){
alert(returnData.message);
}else{
alert(returnData.message);
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
// 엑셀다운로드 // 엑셀다운로드
function excelDownLoad() { function excelDownLoad() {
var listForm = document.listForm ; var listForm = document.listForm ;
@ -683,6 +813,8 @@
<input name="chk" class="${list.asgnmAprvlCd}" <input name="chk" class="${list.asgnmAprvlCd}"
value="${list.eduAplctOrd}@${list.eduChasiOrd}" data-phone="<c:out value='${list.clphone}' />" value="${list.eduAplctOrd}@${list.eduChasiOrd}" data-phone="<c:out value='${list.clphone}' />"
data-email="<c:out value='${list.email}' />" data-cnt="<c:out value='${list.cnt}'/>" data-lctr="<c:out value='${list.userId}' />" data-email="<c:out value='${list.email}' />" data-cnt="<c:out value='${list.cnt}'/>" data-lctr="<c:out value='${list.userId}' />"
data-aplctuserid="${list.aplctUserId}" data-eduhopedt="${list.eduHopeDt}" data-strttm="${list.strtTm}"
data-endtm="${list.endTm}" data-insttnm="${list.insttNm}"
title="Check" type="checkbox"/> title="Check" type="checkbox"/>
</td> </td>
<td> <td>

View File

@ -703,10 +703,14 @@ $(document).ready(function(){
<%-- <button type="button" class="btnType04" onclick="fncEduReg('<c:out value="${list.prcsAplctPrdOrd}"/>');">신청</button> --%> <%-- <button type="button" class="btnType04" onclick="fncEduReg('<c:out value="${list.prcsAplctPrdOrd}"/>');">신청</button> --%>
<%-- <button type="button" class="btnType04" data-info="<c:out value="${list.prcsAplctPrdOrd}"/>" data-tooltip="target_confirm_popup" >신청</button> --%> <%-- <button type="button" class="btnType04" data-info="<c:out value="${list.prcsAplctPrdOrd}"/>" data-tooltip="target_confirm_popup" >신청</button> --%>
<!-- --> <!-- -->
<button type="button" class="btnType04" data-info="<c:out value='${list.prcsAplctPrdOrd}'/>" data-tooltip="sub36_pop02"
<%-- <button type="button" class="btnType04" data-info="<c:out value='${list.prcsAplctPrdOrd}'/>" data-tooltip="sub36_pop02"
onclick="fncAplctPopup('<c:out value="${list.prcsAplctPrdOrd}"/>','','','10','select' onclick="fncAplctPopup('<c:out value="${list.prcsAplctPrdOrd}"/>','','','10','select'
,'','','' ,'','',''
)" title="팝업 열림">신청</button> )" title="팝업 열림">신청</button> --%>
<button type="button" class="btnType04" data-info="<c:out value='${list.prcsAplctPrdOrd}'/>" data-tooltip="sub36_pop02"
onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" title="팝업 열림">신청</button>
</td> </td>