이지우 - 메뉴별 sms 발송번호 수정, 기소유예 sms 자주사용하는 문구 추가, 체험교실 요청사항 반영

This commit is contained in:
jiwoo 2024-01-18 14:21:41 +09:00
parent 1643eb2f0e
commit 404b491eb6
30 changed files with 365 additions and 16 deletions

View File

@ -200,6 +200,18 @@ public class AnotaionSchedule {
vEPrcsDetailVO.setLctrDivCd(lctrDivCd);
vEPrcsDetailVO.setDiffDay(diffDay);
if("10".equals(lctrDivCd)) { //청소년
vEPrcsDetailVO.setSndFlag("C");
}else if("20".equals(lctrDivCd)) { //성인
vEPrcsDetailVO.setSndFlag("S");
}else if("30".equals(lctrDivCd)) { //체험교실
vEPrcsDetailVO.setSndFlag("G");
}else if("40".equals(lctrDivCd)) { //기반강화
vEPrcsDetailVO.setSndFlag("A");
}else { //기소유예
vEPrcsDetailVO.setSndFlag("B");
}
List<VEPrcsDetailVO> VEEduAplctVOList = vEPrcsAplctPrdService.selectOneDayBeforeTrainingStartDate(vEPrcsDetailVO);
for(VEPrcsDetailVO vo : VEEduAplctVOList) {
@ -224,7 +236,7 @@ public class AnotaionSchedule {
// 테스트
String phone = "01083584250";
Map<String, Object> resultMap = sendSMS.VeSendSMS(phone, vEEduAplctVO.getSndCn());
Map<String, Object> resultMap = sendSMS.VeSendSMS(phone, vEEduAplctVO.getSndCn(), vEEduAplctVO.getSndFlag());
//문자 발송 성공 로그

View File

@ -227,6 +227,10 @@ public class VEAStngVO extends ComDefaultVO implements Serializable {
private String atchFileId;
/**
* 자주사용하는 sms 문구
*/
private String smsCn;
@ -1044,5 +1048,11 @@ public class VEAStngVO extends ComDefaultVO implements Serializable {
public void setAtchFileId(String atchFileId) {
this.atchFileId = atchFileId;
}
public String getSmsCn() {
return smsCn;
}
public void setSmsCn(String smsCn) {
this.smsCn = smsCn;
}
}

View File

@ -1015,4 +1015,69 @@ public class CrownixAjaxController {
return modelAndView;
}
/**
* 청소년 결과보고 출력
*
*/
@RequestMapping("/ve/aplct/tngrVisitEdu/eduAplct/tngrRsltRprtListAjax.do")
public ModelAndView tngrRsltRprtListAjax(
VEEduAplctVO vEEduAplctVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
System.out.println(" vEInstrDetailVO.getRsltlist().toString() :: "+vEEduAplctVO.getRsltList().toString());
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectTngrRsltRprtList(vEEduAplctVO);
//복호화
vEEduAplctVOList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduAplctVOList);
JSONArray jsReqInfo = new JSONArray(); //신청인 정보
/*for (int i=0;i<vEEduAplctVOList.size();i++) {
JSONObject jsDrtInfo = new JSONObject(); //전체 정보
jsDrtInfo.put("data_1", vEEduAplctVOList.get(i).getEduHopeDt().substring(5,7));
jsDrtInfo.put("data_2", vEEduAplctVOList.get(i).getEduHopeDt().substring(8,10));
jsDrtInfo.put("data_3", vEEduAplctVOList.get(i).getStrtTm()+ "~" + vEEduAplctVOList.get(i).getEndTm());
jsDrtInfo.put("data_4", vEEduAplctVOList.get(i).getLrnTm()+"");
jsDrtInfo.put("data_5", vEEduAplctVOList.get(i).getScholInsttNm());
jsDrtInfo.put("data_6", vEEduAplctVOList.get(i).getTrgt());
jsDrtInfo.put("data_7", vEEduAplctVOList.get(i).getEduPrsnl());
jsDrtInfo.put("data_8", vEEduAplctVOList.get(i).getInstrNm());
//jsDrtInfo.put("image", "http://119.193.215.98:9989/offedu/uss/ion/pwm/getImage.do?atchFileId="+vEInstrDetailVOList.get(i).getPhtAtchFileId());
jsDrtInfo.put("image", "http://192.168.0.12:8086/offedu/uss/ion/pwm/getImage.do?atchFileId="+vEEduAplctVOList.get(i).getAtchFileId()+"&fileSn=0");
jsReqInfo.add(jsDrtInfo);
}*/
/*15개 출력 테스트용*/
for (int i=0;i<15;i++) {
JSONObject jsDrtInfo = new JSONObject(); //전체 정보
jsDrtInfo.put("data_1", vEEduAplctVOList.get(0).getEduHopeDt().substring(5,7));
jsDrtInfo.put("data_2", vEEduAplctVOList.get(0).getEduHopeDt().substring(8,10));
jsDrtInfo.put("data_3", vEEduAplctVOList.get(0).getStrtTm()+ "~" + vEEduAplctVOList.get(0).getEndTm());
jsDrtInfo.put("data_4", vEEduAplctVOList.get(0).getLrnTm()+"");
jsDrtInfo.put("data_5", vEEduAplctVOList.get(0).getScholInsttNm());
jsDrtInfo.put("data_6", vEEduAplctVOList.get(0).getTrgt());
jsDrtInfo.put("data_7", vEEduAplctVOList.get(0).getEduPrsnl());
jsDrtInfo.put("data_8", vEEduAplctVOList.get(0).getInstrNm());
//jsDrtInfo.put("image", "http://119.193.215.98:9989/offedu/uss/ion/pwm/getImage.do?atchFileId="+vEInstrDetailVOList.get(i).getPhtAtchFileId());
jsDrtInfo.put("image", "http://192.168.0.12:8086/offedu/uss/ion/pwm/getImage.do?atchFileId="+vEEduAplctVOList.get(0).getAtchFileId()+"&fileSn=0");
jsReqInfo.add(jsDrtInfo);
}
modelAndView.addObject("rslts", jsReqInfo);
return modelAndView;
}
}

View File

@ -63,7 +63,7 @@ public class VeSendSMS {
//error_cnt |요청실패 건수 |Integer
//msg_type |메시지 타입 (1. SMS, 2.LMS, 3. MMS) |String
//================================================================
public Map<String, Object> VeSendSMS(String receiver, String msg) throws Exception {
public Map<String, Object> VeSendSMS(String receiver, String msg, String sndFlag) throws Exception {
String result = "";
Map<String, Object> resultMap = new HashMap<>();
@ -92,7 +92,22 @@ public class VeSendSMS {
sms.put("msg", msg); // 메세지 내용
sms.put("receiver", receiver); // 수신번호
//sms.put("destination", "01111111111|담당자,01111111112|홍길동"); // 수신인 %고객명% 치환
sms.put("sender", "055-792-0233"); // 발신번호
/*24.01.18 메뉴별 발신번호 처리ㅏ*/
String sender = "055-792-0233";
if("C".equals(sndFlag)) { // 청소년
sender = "055-792-0233";
}else if("S".equals(sndFlag)) { //성인
sender = "02-2669-0083";
}else if("G".equals(sndFlag)) { //체험교실
sender = "055-792-0234";
}else if("A".equals(sndFlag)) { //기반강화
sender = "02-2669-0082";
}else if("B".equals(sndFlag)) { // 기소유예
sender = "055-792-0223";
}
sms.put("sender", sender); // 발신번호
//sms.put("rdate", ""); // 예약일자 - 20161004 : 2016-10-04일기준
//sms.put("rtime", ""); // 예약시간 - 1930 : 오후 7시30분
//sms.put("testmode_yn", "Y"); // Y 인경우 실제문자 전송X , 자동취소(환불) 처리

View File

@ -107,4 +107,6 @@ public interface VEEduMIXService {
List<VEEduAplctVO> selectAdultRsltRprtList(VEEduAplctVO paramVO) throws Exception;
List<VEEduAplctVO> selectExprnAtchFileDownList(VEEduAplctVO paramVO) throws Exception;
List<VEEduAplctVO> selectTngrRsltRprtList(VEEduAplctVO paramVO) throws Exception;
}

View File

@ -265,5 +265,11 @@ public class VEEduMIXDAO extends EgovAbstractDAO {
@SuppressWarnings("unchecked")
List<VEEduAplctVO> tlist = (List<VEEduAplctVO>) list("VEEduMIXDAO.selectExprnAtchFileDownList", paramVO);
return tlist;
}
}
public List<VEEduAplctVO> selectTngrRsltRprtList(VEEduAplctVO paramVO) {
@SuppressWarnings("unchecked")
List<VEEduAplctVO> tlist = (List<VEEduAplctVO>) list("VEEduMIXDAO.selectTngrRsltRprtList", paramVO);
return tlist;
}
}

View File

@ -236,4 +236,9 @@ public class VEEduMIXServiceImpl implements VEEduMIXService {
public List<VEEduAplctVO> selectExprnAtchFileDownList(VEEduAplctVO paramVO) throws Exception{
return vEEduMIXDAO.selectExprnAtchFileDownList(paramVO);
}
@Override
public List<VEEduAplctVO> selectTngrRsltRprtList(VEEduAplctVO paramVO) throws Exception{
return vEEduMIXDAO.selectTngrRsltRprtList(paramVO);
}
}

View File

@ -2,7 +2,7 @@ package kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service;
import java.util.List;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
import kcc.ve.adv.tngr.stngInfo.service.VEAStngVO;
public interface CndtnTrgtMngService {
@ -32,7 +32,9 @@ public interface CndtnTrgtMngService {
void updateEduStateCdAndReqStateCdAjax(CndtnTrgtMngVO cndtnTrgtMngVO);
VEAStngVO selectSMSSndString(VEAStngVO vEAStngVO);
void updateSMSSndString(VEAStngVO vEAStngVO);
/* //C

View File

@ -5,6 +5,7 @@ import java.util.List;
import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import kcc.ve.adv.tngr.stngInfo.service.VEAStngVO;
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO;
@Repository("cndtnTrgtInfoMngDAO")
@ -157,4 +158,12 @@ public class CndtnTrgtMngDAO extends EgovAbstractDAO {
update("cndtnTrgtInfoMngDAO.updateEduStateCdAndReqStateCdAjax", cndtnTrgtInfoMngVO);
}
public VEAStngVO selectSMSSndString(VEAStngVO vEAStngVO) {
return (VEAStngVO) select("cndtnTrgtInfoMngDAO.selectSMSSndString", vEAStngVO);
}
public void updateSMSSndString(VEAStngVO vEAStngVO) {
update("cndtnTrgtInfoMngDAO.updateSMSSndString", vEAStngVO);
}
}

View File

@ -8,6 +8,7 @@ import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import kcc.ve.adv.tngr.stngInfo.service.VEAStngVO;
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngService;
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO;
@ -89,6 +90,15 @@ public class CndtnTrgtMngServiceImpl implements CndtnTrgtMngService {
return cndtnTrgtInfoMngDAO.memoUpdate(cndtnTrgtInfoMngVO);
}
@Override
public VEAStngVO selectSMSSndString(VEAStngVO vEAStngVO) {
return cndtnTrgtInfoMngDAO.selectSMSSndString(vEAStngVO);
}
@Override
public void updateSMSSndString(VEAStngVO vEAStngVO) {
cndtnTrgtInfoMngDAO.updateSMSSndString(vEAStngVO);
}
}

View File

@ -40,6 +40,7 @@ import kcc.com.utl.user.service.CheckFileUtil;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.adv.tngr.stngInfo.service.VEAStngVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsCntntVO;
@ -1962,8 +1963,45 @@ public class CndtnTrgtMngController {
@RequestMapping("/oprtn/cndtnSspnIdtmt/popup/trgtSendSmsPopup.do")
public String eduDocReqAlertPopup( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , ModelMap model , HttpServletRequest request ) throws Exception {
VEAStngVO vEAStngVO = new VEAStngVO();
vEAStngVO.setStngCd("SND01");
vEAStngVO = cndtnTrgtInfoMngService.selectSMSSndString(vEAStngVO);
model.addAttribute("vEAStngVO", vEAStngVO);
return "oprtn/cndtnSspnIdtmt/popup/trgtSendSmsPopup";
}
@RequestMapping("/oprtn/cndtnSspnIdtmt/popup/smsStringUpdateAjax.do")
public ModelAndView smsStringUpdateAjax( @ModelAttribute("vEEduAplctVO") VEAStngVO vEAStngVO , ModelMap model , HttpServletRequest request ) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "loginFail");
return modelAndView;
}
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
int successCnt = 0;
try {
vEAStngVO.setLastUpdusrId(loginVO.getUniqId()); //esntl_id
vEAStngVO.setCn(vEAStngVO.getSmsCn());
cndtnTrgtInfoMngService.updateSMSSndString(vEAStngVO);
modelAndView.addObject("result", "success");
} catch (Exception ex) {
ex.printStackTrace();
modelAndView.addObject("result", "fail");
}
return modelAndView;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//

View File

@ -568,7 +568,7 @@ public class SndMngController {
String message = "정상적으로 발송되었습니다.";
VeSendSMS sendSMS = new VeSendSMS();
Map<String, Object> resultMap = sendSMS.VeSendSMS(vEEduAplctVO.getClphone(), vEEduAplctVO.getSndCn());
Map<String, Object> resultMap = sendSMS.VeSendSMS(vEEduAplctVO.getClphone(), vEEduAplctVO.getSndCn(), vEEduAplctVO.getSndFlag());
LoginVO loginVO = checkLoginUtil.getAuthLoginVO();

View File

@ -4,6 +4,7 @@
<sqlMap namespace="CndtnTrgtInfoMng">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="CndtnPrcsInfoMngVO" type="kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO"/>
<typeAlias alias="VEAStngVO" type="kcc.ve.adv.tngr.stngInfo.service.VEAStngVO"/>
<!-- 공통 테이블 명 -->
@ -478,4 +479,27 @@
#sspnIdtmtTrgtOrdList[]#
</iterate>
</update>
<select id="cndtnTrgtInfoMngDAO.selectSMSSndString" parameterClass="VEAStngVO" resultClass="VEAStngVO">
/* cndtnTrgtInfoMngDAO.selectSMSSndString */
SELECT
stng_cd AS stngCd,
cn AS cn
FROM VEA_BASIC_INFO_STNG
WHERE
1=1
<isNotEmpty property="stngCd">
AND stng_cd = #stngCd#
</isNotEmpty>
</select>
<update id="cndtnTrgtInfoMngDAO.updateSMSSndString" parameterClass="VEAStngVO">
/* cndtnTrgtInfoMngDAO.updateSMSSndString */
UPDATE VEA_BASIC_INFO_STNG
SET
CN = #cn#,
LAST_UPDT_PNTTM = SYSDATE,
LAST_UPDUSR_ID = #lastUpdusrId#
WHERE stng_cd = #stngCd#
</update>
</sqlMap>

View File

@ -8065,4 +8065,39 @@ VALUES
</iterate>
</select>
<!-- 성인 결과보고 리포트 L page -->
<select id="VEEduMIXDAO.selectTngrRsltRprtList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO" remapResults="true">
/* VEEduMIXDAO.selectEduCmpltCrtfcNmbrList */
SELECT
a.edu_aplct_ord AS eduAplctOrd,
a.schol_instt_nm AS scholInsttNm,
b.lrn_tm AS lrnTm,
b.strt_tm AS strtTm,
b.end_tm AS endTm,
b.edu_hope_dt AS eduHopeDt,
b.trgt AS trgt,
b.prsnl AS eduPrsnl,
c.atch_file_id AS atchFileId,
e.instr_nm AS instrNm
FROM
VE_EDU_APLCT a
LEFT JOIN VE_EDU_CHASI b
ON
a.EDU_APLCT_ORD = b.EDU_APLCT_ORD
LEFT JOIN VE_EDU_RSLT_RPRT c
ON
b.EDU_CHASI_ORD = c.EDU_CHASI_ORD
LEFT JOIN ve_edu_chasi_instr_asgnm d
ON
b.EDU_CHASI_ORD = d.EDU_CHASI_ORD
LEFT JOIN VE_INSTR_DETAIL e
ON
d.USER_ID = e.USER_ID
AND e.instr_div = '10'
AND e.use_yn = 'Y'
WHERE
a.LCTR_DIV_CD = '10'
<iterate open="(" close=")" conjunction="," property="rsltList" prepend="AND b.edu_chasi_ord IN" > #rsltList[]#</iterate>
</select>
</sqlMap>

View File

@ -367,6 +367,7 @@
"교육운영 관리 시스템입니다. 찾아가는 성인 교육에 배정되셨습니다.",
returnData.vEInstrDetailVOList[i].eduAplctOrd,
returnData.vEInstrDetailVOList[i].userId,
"S",
"N"
);
sendEmail(

View File

@ -195,6 +195,7 @@
"교육운영 관리 시스템입니다." + $(this).data('instrnm')+"님의 " + $(this).data('date') + " 교육 강사료는 " + $(this).data('instrfeesum') +"원입니다.",
$(this).val().split('@')[0],
$(this).data('userid'),
"S",
"N"
);
});

View File

@ -210,6 +210,7 @@
"교육운영 관리 시스템입니다.\n" + $(this).data('chrgnm')+"님의 " + $(this).data('date') + " 교육 강의만족도 제출 바랍니다.",
$(this).val().split('@')[0],
$(this).data('userid'),
"S",
"N"
);
sendEmail(
@ -447,7 +448,7 @@
}else{ //개발
var viewer = new m2soft.crownix.Viewer('http://119.193.215.98:8093/ReportingServer/service');
viewer.hideToolbarItem(["save"]);
viewer.openFile('adult_rslts_20240104.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/adultVisitEdu/eduAplct/adultRsltRprtListAjax.do?rsltList='+rsltList+']');
viewer.openFile('adult_rslts_20240104.mrd', '/rf [http://192.168.0.12:8086/offedu/ve/aplct/adultVisitEdu/eduAplct/adultRsltRprtListAjax.do?rsltList='+rsltList+']');
}
}

View File

@ -53,6 +53,7 @@
"교육운영 관리 시스템입니다. 등록하신 체험교실 운영신청 수정요청드립니다.",
"<c:out value="${veEduAplctVO.eduAplctOrd}" />",
"<c:out value='${veEduAplctVO.targetId}'/>",
"G",
"N"
);
}

View File

@ -285,6 +285,7 @@
$("#smsMsg").val(),
$(this).val(),
$(this).data('userid'),
"B",
"N"
);
}

View File

@ -256,6 +256,7 @@
"교육운영 관리 시스템입니다." + $(this).data('instrnm')+"님의 " + $(this).data('date') + " 교육 강사료는 " + $(this).data('instrfeesum') +"원입니다.",
$(this).val().split('@')[0],
$(this).data('userid'),
"B",
"N"
);
});

View File

@ -57,11 +57,36 @@
close();
}
function smsUpdate(){
$("#smsCn").val($("#smsCnTxtArea").val());
var frm = new FormData(document.getElementById("smsStringForm"));
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/oprtn/cndtnSspnIdtmt/popup/smsStringUpdateAjax.do",
data:frm,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
alert("저장 되었습니다.");
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
</script>
</head>
<body>
<form id="smsStringForm" name="smsStringForm" method="post">
<input type="hidden" name="smsCn" id="smsCn" value=""/>
<input type="hidden" name="stngCd" value="SND01"/>
</form>
<!-- cont -->
<div class="area_popup">
<div class="cont_popup">
@ -100,7 +125,37 @@
</div>
</div>
</div>
<div class="cont_tit" style="padding: 0 0 20px 0; margin-bottom: 30px;">
<h2>
</h2>
</div>
<table class="pop_tb_type02">
<colgroup>
<col style="width: 140px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p>자주사용하는 문구</p>
</th>
<td colspan="3"><textarea rows="" cols="" id="smsCnTxtArea">${vEAStngVO.cn}</textarea></td>
</tr>
</tbody>
</table>
<div class="btnArea">
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btn_type01" onclick="smsUpdate();" title="전송">저장</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
</div>
</div>

View File

@ -279,7 +279,7 @@
return;
}
document.popForm.action = "<c:url value='/oprtn/cndtnSspnIdtmt/popup/trgtSendSmsPopup.do'/>";
window.open("#", "_trgtSendSmsPopup", "scrollbars = no, top=100px, left=100px, height=550px, width=750px");
window.open("#", "_trgtSendSmsPopup", "scrollbars = no, top=100px, left=100px, height=650px, width=750px");
document.popForm.target = "_trgtSendSmsPopup";
document.popForm.submit();
@ -298,6 +298,7 @@
cn,
$(this).data('sspnidtmttrgtord'),
$(this).data('userid'),
"B",
"N"
);
});

View File

@ -255,6 +255,7 @@
"교육운영 관리 시스템입니다." + $(this).data('instrnm')+"님의 " + $(this).data('date') + " 교육 강사료는 " + $(this).data('instrfeesum') +"원입니다.",
$(this).val().split('@')[0],
$(this).data('userid'),
"A",
"N"
);
});

View File

@ -267,6 +267,7 @@
$("#smsMsg").val(),
$(this).val(),
$(this).data('userid'),
"A",
"N"
);
}

View File

@ -155,6 +155,7 @@
"교육운영 관리 시스템입니다. 신청하신 찾아가는 청소년 교육이 확정되었습니다.",
'<c:out value="${info.eduAplctOrd}" />',
'<c:out value="${info.userId}" />',
"C",
"N"
);
sendEmail(

View File

@ -195,6 +195,7 @@
"교육운영 관리 시스템입니다." + $(this).data('instrnm')+"님의 " + $(this).data('date') + " 교육 강사료는 " + $(this).data('instrfeesum') +"원입니다.",
$(this).val().split('@')[0],
$(this).data('userid'),
"C",
"N"
);
});

View File

@ -330,6 +330,7 @@
"교육운영 관리 시스템입니다.\n" + $(this).data('chrgnm')+"님의 " + $(this).data('date') + " 교육 강의만족도 제출 바랍니다.",
$(this).val().split('@')[0],
$(this).data('userid'),
"C",
"N"
);
sendEmail(
@ -481,7 +482,7 @@
data-lctr="${list.userId}" value="${list.eduAplctOrd}@${list.eduChasiOrd}" data-phone="<c:out value='${list.clphone}' />" data-cnt="<c:out value='${list.cnt}' />"
data-date="<c:out value='${list.eduHopeDt}' /> <c:out value='${list.strtTm}' /> ~ <c:out value='${list.endTm}' />"
data-email="<c:out value='${list.email}' />" data-chrgnm="<c:out value='${list.chrgNm}' />" data-userId="<c:out value='${list.userId}' />"
title="Check" type="checkbox"/>
data-educhasiord="<c:out value='${list.eduChasiOrd}' />" title="Check" type="checkbox"/>
</td>
<td onclick="fncGoDetail('${list.eduAplctOrd}','${list.eduChasiOrd}');" style="cursor:pointer">
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyy.MM.dd"/>
@ -530,7 +531,8 @@
<!-- //page -->
<div class="btn_wrap btn_layout01">
<div class="btn_left">
<button type="button" class="btn_type06" onclick="fncExcelDownLoad();return false;">결과보고다운로드</button>
<!-- <button type="button" class="btn_type06" onclick="fncExcelDownLoad();return false;">결과보고다운로드</button> -->
<button type="button" class="btn_type06" onclick="chkRprtPrint();return false;">결과보고다운로드</button>
<button type="button" class="btn_type06" onclick="eduRsltFileChk();return false;">첨부파일다운</button>
</div>
<div class="btn_center">
@ -563,5 +565,49 @@
</form:form>
<a href="#" onclick="javascript:linkTempPage('1'); return false;">.</a>
<spring:eval expression="@property['Globals.prod.islocal']" var="isLocal"/>
<c:choose>
<c:when test="${isLocal eq 'real'}">
<script src="http://101.79.81.151/ReportingServer/html5/js/crownix-viewer.min.js"></script>
<link rel="stylesheet" type="text/css" href="http://101.79.81.151/ReportingServer/html5/css/crownix-viewer.min.css">
</c:when>
<c:otherwise>
<script src="http://119.193.215.98:8093/ReportingServer/html5/js/crownix-viewer.min.js"></script>
<link rel="stylesheet" type="text/css" href="http://119.193.215.98:8093/ReportingServer/html5/css/crownix-viewer.min.css">
</c:otherwise>
</c:choose>
<script>
/*
* 오버레이 방식
*/
function chkRprtPrint(){
var isLocal = '${isLocal}';
var rsltList = [];
// "chk" 이름을 가진 체크박스가 체크된 항목들을 순회
$("input[name='chk']:checked").each(function() {
var eduAplctOrdValue = $(this).data('educhasiord');
rsltList.push(eduAplctOrdValue);
});
if (rsltList.length === 0) {
alert("선택된 항목이 없습니다. 선택 후 다시 시도하세요.");
return false;
}
if(isLocal == 'real'){ //운영
var viewer = new m2soft.crownix.Viewer('http://101.79.81.151/ReportingServer/service');
viewer.hideToolbarItem(["save"]);
viewer.openFile('tnrg_rslts_240117.mrd', '/rf [http://101.79.81.151/offedu/ve/aplct/tngrVisitEdu/eduAplct/tngrRsltRprtListAjax.do?rsltList='+rsltList+']');
}else{ //개발
var viewer = new m2soft.crownix.Viewer('http://119.193.215.98:8093/ReportingServer/service');
viewer.hideToolbarItem(["save"]);
viewer.openFile('tnrg_rslts_240117.mrd', '/rf [http://192.168.0.12:8086/offedu/ve/aplct/tngrVisitEdu/eduAplct/tngrRsltRprtListAjax.do?rsltList='+rsltList+']');
}
}
</script>
</body>
</html>

View File

@ -60,6 +60,7 @@
$('#cn').val(),
"<c:out value='${vEEduAplctVO.eduAplctOrd}'/>",
"<c:out value='${vEEduAplctVO.targetId}'/>",
"C",
"Y"
);
});

View File

@ -30,7 +30,7 @@
$("#file_temp").click();
});
$("#limitcount").val("5");
$("#limitcount").val("1");
//파일첨부관련 설정들===============================================
@ -130,7 +130,8 @@
<input type="hidden" name="eduChasiOrd" value="<c:out value="${vEInstrAsgnmVO.eduChasiOrd}" />" />
<input type="hidden" id="userId" name="userId" value="<c:out value="${vEInstrAsgnmVO.userId}" />" />
<input type="hidden" name="sbmtYn" id="sbmtYn" value="" />
<input type="hidden" name="limitcount" id="limitcount" value="5" /><!-- 최대 업로드 파일갯수 -->
<input type="hidden" name="limitcount" id="limitcount" value="1" /><!-- 최대 업로드 파일갯수 -->
<input type="hidden" name="allrowFileExtsn" value="JPG,PNG,JPEG" /><!-- 확장자 제한-->
<div class="popup_wrap popType03" tabindex="0" data-tooltip-con="sub35_pop03" data-focus="sub35_pop03" data-focus-prev="sub35_pop03_close">
<div class="popup_tit">

View File

@ -4,7 +4,9 @@ function sendSms(
p_cn, //내용
p_logSeq, //로그에 남길 pk
p_trgtId, //받는사용자pk
p_alertYn // 발송 후 alert 여부
p_flag, // p_flag -> 'C' 청소년 , 'S' 성인 , 'G' 체험교실, 'A' 기반강화, 'B' 기소유예
p_alertYn // 발송 후 alert 여부
){
if (p_cn==""){
@ -14,7 +16,7 @@ function sendSms(
sendContent(
p_receiver,
p_cn,
"",
p_flag,
"10", //코드 10:sms 20:mail
p_logSeq,
p_trgtId,