This commit is contained in:
myname 2024-01-12 14:45:33 +09:00
commit f940d00135
28 changed files with 966 additions and 260 deletions

View File

@ -381,12 +381,27 @@ public class MyPageController {
, ModelMap model , ModelMap model
) throws Exception { ) throws Exception {
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); // 권한에 따른 로그인 정보 가져오기 // try {
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
if (loginVO == null || ssoLoginVO == null) {
//이전 url 처리(beforeSiteUrl)_이준호_220228추가
return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다.
// return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다.
}
notifyManageService.updateM7DaysUseYnN();
//1.pageing step1 //1.pageing step1
PaginationInfo paginationInfo = this.setNotiPagingStep1(notifyManageVO); PaginationInfo paginationInfo = this.setNotiPagingStep1(notifyManageVO);
//2. pageing step2 //2. pageing step2
notifyManageVO = this.setNotiPagingStep2(notifyManageVO, paginationInfo); notifyManageVO = this.setNotiPagingStep2(notifyManageVO, paginationInfo);
// //
notifyManageVO.setToUserId(loginVO.getUniqId()); notifyManageVO.setToUserId(loginVO.getUniqId());
@ -412,7 +427,10 @@ public class MyPageController {
//대상 리스트, 페이징 정보 전달 //대상 리스트, 페이징 정보 전달
model.addAttribute("list", notifyManageVOList); model.addAttribute("list", notifyManageVOList);
// } catch (Exception e) {
// e.printStackTrace();
// // TODO: handle exception
// }
// return "web/my/myQnaMngList"; // return "web/my/myQnaMngList";
return "web/my/myNotifyMngList"; return "web/my/myNotifyMngList";
} }

View File

@ -59,6 +59,8 @@ public interface NotifyManageService {
int selectNotifyCnt(String uniqId); int selectNotifyCnt(String uniqId);
void updateM7DaysUseYnN();
} }

View File

@ -45,6 +45,8 @@ public class NotifyManageVO extends ComDefaultVO implements Serializable {
private String useYn; private String useYn;
private String mngUserId; private String mngUserId;
private String mngUserNm; private String mngUserNm;
public String getCmmNotifyOrd() { public String getCmmNotifyOrd() {
return cmmNotifyOrd; return cmmNotifyOrd;
} }

View File

@ -82,5 +82,9 @@ public class NotifyManageDAO extends EgovAbstractDAO {
return (int) select("VEANotifyDAO.selectNotifyCnt", uniqId); return (int) select("VEANotifyDAO.selectNotifyCnt", uniqId);
} }
public void updateM7DaysUseYnN() {
update("VEANotifyDAO.updateM7DaysUseYnN");
}
} }

View File

@ -386,4 +386,10 @@ public class NotifyManageServiceImpl extends EgovAbstractServiceImpl implements
public int selectNotifyCnt(String uniqId) { public int selectNotifyCnt(String uniqId) {
return notifyManageDAO.selectNotifyCnt(uniqId); return notifyManageDAO.selectNotifyCnt(uniqId);
} }
@Override
public void updateM7DaysUseYnN() {
notifyManageDAO.updateM7DaysUseYnN();
}
} }

View File

@ -642,8 +642,12 @@ public class EgovCryptoUtil {
public List<VEEduAplctVO> decryptVeEduAplctList(List<VEEduAplctVO> vEPrcsDetailVOList) { public List<VEEduAplctVO> decryptVeEduAplctList(List<VEEduAplctVO> vEPrcsDetailVOList) {
for(VEEduAplctVO vo : vEPrcsDetailVOList) { for(VEEduAplctVO vo : vEPrcsDetailVOList) {
vo.setEmail(this.decrypt(vo.getEmail()));
vo.setChrgNm(this.decrypt(vo.getChrgNm())); vo.setChrgNm(this.decrypt(vo.getChrgNm()));
vo.setUserNm(this.decrypt(vo.getUserNm())); vo.setUserNm(this.decrypt(vo.getUserNm()));
vo.setUserId(this.decrypt(vo.getUserId()));
vo.setPhone(this.decrypt(vo.getPhone()));
vo.setPhone(this.decrypt(vo.getPhone()));
vo.setPhone(this.decrypt(vo.getPhone())); vo.setPhone(this.decrypt(vo.getPhone()));
if (StringUtils.isNotEmpty( vo.getTrgtNm()) ) vo.setTrgtNm(this.decrypt(vo.getTrgtNm().trim())); if (StringUtils.isNotEmpty( vo.getTrgtNm()) ) vo.setTrgtNm(this.decrypt(vo.getTrgtNm().trim()));
// } // }

View File

@ -532,6 +532,11 @@ public class SspnIdtmtController {
public ModelAndView fndthEduPrcsAplctPrdMngRegAjax( public ModelAndView fndthEduPrcsAplctPrdMngRegAjax(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, ModelMap model , ModelMap model
// ㄴㅇㄹㄴㅇㄹㄴㅇㄹ
, HttpServletRequest request , HttpServletRequest request
) throws Exception { ) throws Exception {

View File

@ -30,6 +30,7 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
private String lastUpdusrId; // 수정자 private String lastUpdusrId; // 수정자
private String sndFlag; private String sndFlag;
private String popup;
//ve_prcs_aplct_prd //ve_prcs_aplct_prd
private String prcsAplctPrdOrd; //과정신청기간순번 private String prcsAplctPrdOrd; //과정신청기간순번
@ -50,7 +51,7 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
//ve_edu_aplct //ve_edu_aplct
private String eduAplctOrd; //교육신청순번 private String eduAplctOrd; //교육신청순번
private List<String> eduAplctOrdList; //교육신청순번 private List<String> eduAplctOrdList; //교육신청순번
private List<String> sspnIdtmtTrgtOrdList; //교육신청순번 private List<String> sspnIdtmtTrgtOrdList;
private String eduChasiOrd; //교육차시순번 private String eduChasiOrd; //교육차시순번
private String cnt; private String cnt;
@ -949,6 +950,12 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
public void setSndFlag(String sndFlag) { public void setSndFlag(String sndFlag) {
this.sndFlag = sndFlag; this.sndFlag = sndFlag;
} }
public String getPopup() {
return popup;
}
public void setPopup(String popup) {
this.popup = popup;
}
public String getFeeSbmtYn() { public String getFeeSbmtYn() {
return feeSbmtYn; return feeSbmtYn;
} }

View File

@ -2,6 +2,8 @@ package kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service;
import java.util.List; import java.util.List;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
public interface CndtnTrgtMngService { public interface CndtnTrgtMngService {
@ -28,6 +30,8 @@ public interface CndtnTrgtMngService {
//비공개메모 update //비공개메모 update
int memoUpdate(CndtnTrgtMngVO cndtnTrgtInfoMngVO) throws Exception; int memoUpdate(CndtnTrgtMngVO cndtnTrgtInfoMngVO) throws Exception;
void updateEduStateCdAndReqStateCdAjax(CndtnTrgtMngVO cndtnTrgtMngVO);

View File

@ -153,4 +153,8 @@ public class CndtnTrgtMngDAO extends EgovAbstractDAO {
return update("cndtnTrgtInfoMngDAO.memoUpdate", cndtnTrgtInfoMngVO); return update("cndtnTrgtInfoMngDAO.memoUpdate", cndtnTrgtInfoMngVO);
} }
public void updateEduStateCdAndReqStateCdAjax(CndtnTrgtMngVO cndtnTrgtInfoMngVO) {
update("cndtnTrgtInfoMngDAO.updateEduStateCdAndReqStateCdAjax", cndtnTrgtInfoMngVO);
}
} }

View File

@ -78,10 +78,17 @@ public class CndtnTrgtMngServiceImpl implements CndtnTrgtMngService {
cndtnTrgtInfoMngDAO.bulkInsert(trgtExcelVOList); cndtnTrgtInfoMngDAO.bulkInsert(trgtExcelVOList);
} }
@Override
public void updateEduStateCdAndReqStateCdAjax(CndtnTrgtMngVO cndtnTrgtMngVO) {
cndtnTrgtInfoMngDAO.updateEduStateCdAndReqStateCdAjax(cndtnTrgtMngVO);
}
//비공개메모 update //비공개메모 update
@Override @Override
public int memoUpdate(CndtnTrgtMngVO cndtnTrgtInfoMngVO) throws Exception { public int memoUpdate(CndtnTrgtMngVO cndtnTrgtInfoMngVO) throws Exception {
return cndtnTrgtInfoMngDAO.memoUpdate(cndtnTrgtInfoMngVO); return cndtnTrgtInfoMngDAO.memoUpdate(cndtnTrgtInfoMngVO);
} }
} }

View File

@ -255,6 +255,47 @@ public class CndtnTrgtMngController {
return "oprtn/cndtnSspnIdtmt/trgtList"; return "oprtn/cndtnSspnIdtmt/trgtList";
} }
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/updateEduStateCdAndReqStateCdAjax.do")
public ModelAndView updateEduStateCdAndReqStateCdAjax(
@ModelAttribute("vEPrcsDetailVO") CndtnTrgtMngVO cndtnTrgtMngVO
, 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(); //권한에 따른 로그인 정보 가져오기
cndtnTrgtMngVO.setLastUpdusrId(loginVO.getUniqId());
try {
cndtnTrgtInfoMngService.updateEduStateCdAndReqStateCdAjax(cndtnTrgtMngVO);
modelAndView.addObject("result", "success");
} catch (Exception ex) {
ex.printStackTrace();
modelAndView.addObject("result", "");
}
return modelAndView;
}
/** /**
* @methodName : getUserWork * @methodName : getUserWork
* @author : 이호영 * @author : 이호영

View File

@ -1154,6 +1154,9 @@ public class CndtnPrcsInfoMngController {
"lctrDivCd" : $("#lctrDivCd").val() "lctrDivCd" : $("#lctrDivCd").val()
}; };
*/ */
// 알림
notifyManageService.insertNotifyAprvlCd5060ForUser( notifyManageService.insertNotifyAprvlCd5060ForUser(
loginVO loginVO
, vEPrcsDetailVO.getPrcsAplctPrdOrd() , vEPrcsDetailVO.getPrcsAplctPrdOrd()
@ -1187,6 +1190,7 @@ public class CndtnPrcsInfoMngController {
} }
/** /**
* 기소유예 교육확정상세 > 이수/미이수 체크버튼 처리 * 기소유예 교육확정상세 > 이수/미이수 체크버튼 처리
*/ */
@ -1465,6 +1469,86 @@ public class CndtnPrcsInfoMngController {
/**
* @methodName : fndthInstrAsgnmPopup
* @author : 이호영
* @date : 2024.01.11
* @description : 대상자목록에서 강제 배정하는 popup
* @param vEPrcsDetailVO
* @param model
* @param redirectAttributes
* @param session
* @param request
* @return
* @throws Exception
*/
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/popup/cndtnEduAsgnmPopup.do")
public String cndtnEduAsgnmPopup(
// @ModelAttribute("vEInstrDetailVO") VEInstrDetailVO vEInstrDetailVO
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, ModelMap model
, RedirectAttributes redirectAttributes
, HttpSession session
, HttpServletRequest request
) throws Exception {
//로그인 처리====================================
//로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo;
//로그인 처리====================================
//1.pageing step1
PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO);
//임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함
//paginationInfo.setRecordCountPerPage(10000);
//2. pageing step2
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
//기반강화 조회
vEPrcsDetailVO.setLctrDivCd(LCTR_DIV_CD); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){
String selectCondition = "AND b.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')";
vEPrcsDetailVO.setSelectPagingListQuery(selectCondition);
}
if(StringUtil.isNotEmpty(vEPrcsDetailVO.getPrcsKind())){
String[] splited = vEPrcsDetailVO.getPrcsKind().split(",");
vEPrcsDetailVO.setSearchStatusArr(splited);
}
if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) {
//vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모
}
// 값만 존재하면됨
// popup일떄 접수중인것만 표시
vEPrcsDetailVO.setPopup("true");
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.selectPagingList4Fndth(vEPrcsDetailVO);
//3.pageing step3
paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo);
model.addAttribute("paginationInfo", paginationInfo);
//대상 리스트, 페이징 정보 전달
model.addAttribute("list", vEPrcsDetailVOList);
return "/oprtn/cndtnSspnIdtmt/popup/cndtnEduAsgnmPopup";
}
/** /**
* 1.기반강화 강사배치 팝업 function * 1.기반강화 강사배치 팝업 function
*/ */
@ -2003,7 +2087,10 @@ public class CndtnPrcsInfoMngController {
// 데이터가 있으면 삭제 // 데이터가 있으면 삭제
if(vEDetail_DVO != null) { if(vEDetail_DVO != null) {
vEDetailVO.setAplctStateCd("30"); // 이호영 20240112
// 반려값 추가 (VEA003 - 50:반려)
// vEDetailVO.setAplctStateCd("30");
vEDetailVO.setAplctStateCd("50");
vEAPrcsAplctPrdInstrAsgnmService.updateAprvlCdEduAplctDetail(vEDetailVO); vEAPrcsAplctPrdInstrAsgnmService.updateAprvlCdEduAplctDetail(vEDetailVO);
} }

View File

@ -27,6 +27,7 @@
, FRST_REGISTER_ID , FRST_REGISTER_ID
, LAST_UPDT_PNTTM , LAST_UPDT_PNTTM
, LAST_UPDUSR_ID , LAST_UPDUSR_ID
, USE_YN
</sql> </sql>
@ -43,7 +44,8 @@
a.FRST_REGIST_PNTTM as frstRegistPnttm , a.FRST_REGIST_PNTTM as frstRegistPnttm ,
a.FRST_REGISTER_ID as frstRegisterId , a.FRST_REGISTER_ID as frstRegisterId ,
a.LAST_UPDT_PNTTM as lastUpdtPnttm , a.LAST_UPDT_PNTTM as lastUpdtPnttm ,
a.LAST_UPDUSR_ID as lastUpdusrId a.LAST_UPDUSR_ID as lastUpdusrId ,
a.USE_YN as useYn
</sql> </sql>
@ -56,6 +58,7 @@
<include refid="VEANotifyDAO.table_name"/> a <include refid="VEANotifyDAO.table_name"/> a
WHERE WHERE
a.TO_USER_ID = #toUserId# a.TO_USER_ID = #toUserId#
and a.USE_YN = 'Y'
ORDER BY ORDER BY
a.NOTIFY_CHK a.NOTIFY_CHK
, a.FRST_REGIST_PNTTM desc , a.FRST_REGIST_PNTTM desc
@ -80,6 +83,7 @@
, #frstRegisterId# , #frstRegisterId#
, '' , ''
, '' , ''
, 'Y'
) )
</insert> </insert>
@ -155,5 +159,10 @@
</select> </select>
<update id="VEANotifyDAO.updateM7DaysUseYnN">
UPDATE VEA_CMM_NOTIFY
SET USE_YN = 'N'
WHERE FRST_REGIST_PNTTM <![CDATA[ <= ]]> SYSDATE - 7;
</update>
</sqlMap> </sqlMap>

View File

@ -332,7 +332,6 @@
</select> </select>
<!-- 기소유예 대상자 확인 STEP01 --> <!-- 기소유예 대상자 확인 STEP01 -->
<select id="cndtnTrgtInfoMngDAO.findByTrgtNmAndDBirthAndUserIdAndEduStateCd" parameterClass="CndtnPrcsInfoMngVO" resultClass="String"> <select id="cndtnTrgtInfoMngDAO.findByTrgtNmAndDBirthAndUserIdAndEduStateCd" parameterClass="CndtnPrcsInfoMngVO" resultClass="String">
/* cndtnTrgtInfoMngDAO.findByTrgtNmAndDBirthAndUserIdAndEduStateCd */ /* cndtnTrgtInfoMngDAO.findByTrgtNmAndDBirthAndUserIdAndEduStateCd */
@ -464,4 +463,19 @@
,RMRKS = #rmrks# ,RMRKS = #rmrks#
WHERE SSPN_IDTMT_TRGT_ORD = #sspnIdtmtTrgtOrd# WHERE SSPN_IDTMT_TRGT_ORD = #sspnIdtmtTrgtOrd#
</update> </update>
<update id="cndtnTrgtInfoMngDAO.updateEduStateCdAndReqStateCdAjax" parameterClass="CndtnPrcsInfoMngVO">
/* cndtnTrgtInfoMngDAO.memoUpdate */
UPDATE <include refid="CndtnTrgtInfoMngDAO.table_name"/>
SET
REQ_STATE_CD = #reqStateCd#
, EDU_STATE_CD = #eduStateCd#
, LAST_UPDT_PNTTM = SYSDATE
, LAST_UPDUSR_ID = #lastUpdusrId#
WHERE SSPN_IDTMT_TRGT_ORD IN
<iterate property="sspnIdtmtTrgtOrdList" open="(" close=")" conjunction=",">
#sspnIdtmtTrgtOrdList[]#
</iterate>
</update>
</sqlMap> </sqlMap>

View File

@ -409,6 +409,11 @@
AND b.prcs_nm LIKE '%'|| #searchKeyword# ||'%' AND b.prcs_nm LIKE '%'|| #searchKeyword# ||'%'
</isNotEmpty> </isNotEmpty>
<isNotEmpty property="popup">
AND a.DDLN_CD IS null
AND TO_DATE(a.STRT_PNTTM , 'YYYY.MM.DD') <![CDATA[ <= ]]> TO_DATE(SYSDATE , 'YYYY.MM.DD')
AND TO_DATE(a.END_PNTTM , 'YYYY.MM.DD') >= TO_DATE(SYSDATE , 'YYYY.MM.DD')
</isNotEmpty>

View File

@ -507,11 +507,11 @@
<table> <table>
<colgroup> <colgroup>
<col style="width: 5%"> <col style="width: 5%">
<col style="width: 10%">
<col style="width: 5%"> <col style="width: 5%">
<col style="width: 5%"> <col style="width: 20%">
<col style="width: 5%"> <col style="width: 17%">
<col style="width: 210px;"> <col style="width: 13%">
<col style="width: 110px;">
<col style="width: auto;"> <col style="width: auto;">
<col style="width: 210px;"> <col style="width: 210px;">
</colgroup> </colgroup>
@ -534,14 +534,14 @@
<c:forEach var="list" items="${listPrcsAplct}" varStatus="status"> <c:forEach var="list" items="${listPrcsAplct}" varStatus="status">
<tr> <tr>
<td> <td>
<c:choose> <%-- <c:choose> --%>
<c:when test="${list.aplctStateCd ne 30 and list.aplctStateCd ne 35}"> <%-- <c:when test="${list.aplctStateCd ne 30 and list.aplctStateCd ne 35}"> --%>
<input name="chk" class="${list.asgnmAprvlCd}" <input name="chk" class="${list.asgnmAprvlCd}"
value="${list.eduAplctOrd}" title="Check" type="checkbox"/> value="${list.eduAplctOrd}" title="Check" type="checkbox"/>
</c:when> <%-- </c:when> --%>
<c:otherwise> <%-- <c:otherwise> --%>
</c:otherwise> <%-- </c:otherwise> --%>
</c:choose> <%-- </c:choose> --%>
</td> </td>
<td> <td>
<c:out value="${list.trgtNm}"/> <c:out value="${list.trgtNm}"/>
@ -569,15 +569,19 @@
</c:if> </c:if>
</td> </td>
<td> <td>
<c:choose> <%-- <c:choose> --%>
<c:when test="${list.aplctStateCd ne 30 and list.aplctStateCd ne 35}"> <%-- <c:when test="${list.aplctStateCd ne 30 and list.aplctStateCd ne 35}"> --%>
<button type="button" class="btn_type04" onclick="updateEduAplctOrd('20', '<c:out value="${list.eduAplctOrd }" />', '<c:out value="${info.prcsAplctPrdOrd }"/>')">승인</button> <button type="button" class="btn_type04" onclick="updateEduAplctOrd('20', '<c:out value="${list.eduAplctOrd }" />', '<c:out value="${info.prcsAplctPrdOrd }"/>')">승인</button>
<button type="button" class="btn_type05" onclick="updateEduAplctOrd('30', '<c:out value="${list.eduAplctOrd }" />', '<c:out value="${info.prcsAplctPrdOrd }"/>')">반려</button> <button type="button" class="btn_type05" onclick="updateEduAplctOrd('30', '<c:out value="${list.eduAplctOrd }" />', '<c:out value="${info.prcsAplctPrdOrd }"/>')">반려</button>
</c:when> <%-- </c:when> --%>
<c:otherwise> <%-- <c:when test="${list.aplctStateCd ne 30 and list.aplctStateCd ne 35}"> --%>
<button type="button" class="btn_type05" onclick="fnCnclPopup('<c:out value="${list.eduAplctOrd }" />', '<c:out value="${info.prcsAplctPrdOrd }"/>')">취소요청</button> <%-- <button type="button" class="btn_type04" onclick="updateEduAplctOrd('20', '<c:out value="${list.eduAplctOrd }" />', '<c:out value="${info.prcsAplctPrdOrd }"/>')">승인</button> --%>
</c:otherwise> <%-- <button type="button" class="btn_type05" onclick="updateEduAplctOrd('30', '<c:out value="${list.eduAplctOrd }" />', '<c:out value="${info.prcsAplctPrdOrd }"/>')">반려</button> --%>
</c:choose> <%-- </c:when> --%>
<%-- <c:otherwise> --%>
<%-- <button type="button" class="btn_type05" onclick="fnCnclPopup('<c:out value="${list.eduAplctOrd }" />', '<c:out value="${info.prcsAplctPrdOrd }"/>')">취소요청</button> --%>
<%-- </c:otherwise> --%>
<%-- </c:choose> --%>
</td> </td>
</c:forEach> </c:forEach>
</c:when> </c:when>

View File

@ -0,0 +1,245 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%
/**
* @Class Name : instrAsgnmPopup.jsp
* @Description : 강사배치 팝업
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.08.09 김봉호 최초 생성
* @author 안주영
* @since 2022.1.8
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<%-- <script type="text/javascript" src="<c:url value='/js/ve/tmapJS.js'/>"></script> --%>
<script type="text/javascript">
</script>
<title>강사배치 팝업</title>
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
console.log('<c:out value="${vEPrcsDetailVO.sspnIdtmtTrgtOrdList}" />')
});
function chkAll(obj) {
// 모든 체크박스의 상태를 헤더 체크박스의 상태와 동일하게 설정
$("input[name='chk']").prop('checked', $(obj).prop('checked'));
}
function fn_insert() {
// 대상자 의뢰취소 - 취소에 취소 (복구)
function fn_updateCancelReqStatus(p_eduStateCd, p_reqStateCd) {
var prcsAplctPrdOrdList = [];
console.log('Start');
var chk = false;
// "chk" 이름을 가진 체크박스가 체크된 항목들을 순회
$("input[name='chk']:checked").each(function() {
prcsAplctPrdOrdList.push($(this).val());
});
// 선택된 항목이 없으면 경고 메시지를 표시하고 함수를 종료
if (prcsAplctPrdOrdList.length === 0) {
alert("선택된 항목이 없습니다. 선택 후 다시 시도하세요.");
return false;
}
var dataToSend = {
"prcsAplctPrdOrdList" : prcsAplctPrdOrdList
// , "eduStateCd" : p_eduStateCd
// , "reqStateCd" : p_reqStateCd
};
if(!confirm("교육배정을 하시겠습니까?")){
return;
}
//================
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/updateEduStateCdAndReqStateCdAjax.do'/>";
// AJAX 호출을 통해 서버에 데이터 전송
$.ajax({
type : "POST",
url : url,
data : $.param(dataToSend, true), // 직렬화 , 컨트롤러에서 @ModelAttribute로 받을 수 있음
// contentType : 'application/json',
dataType : 'json',
success : function(returnData) {
if (returnData.result == "success") {
alert("변경 처리 되었습니다.");
window.location.reload();
} else {
alert("변경 중 오류가 발생하였습니다.");
}
},
error : function(jqXHR, textStatus, errorThrown) {
console.error("AJAX Error:", textStatus, errorThrown);
console.error("Response:", jqXHR.responseText);
}
});
}
}
</script>
</head>
<body>
<div class="area_popup supm_popup">
<div class="cont_popup">
<form:form id="insertForm" name="insertForm" method="post" onsubmit="return false;">
<!-- <input type="hidden" name="eduAplctOrd" id="eduAplctOrd"/> -->
<!-- <input type="hidden" name="eduChasiOrd" id="eduChasiOrd"/> -->
<!-- <input type="hidden" name="userId" id="userId" /> -->
<!-- <input type="hidden" name="asgnmAprvlCd" id="asgnmAprvlCd" value="30"/> VE0019 배정 승인 코드 30 확정 -->
<input type="hidden" name="sspnIdtmtTrgtOrdList" id="sspnIdtmtTrgtOrdList" value="<c:out value="${vEPrcsDetailVO.sspnIdtmtTrgtOrdList}" />" />
</form:form>
<form:form id="listForm" name="listForm" method="post" onsubmit="return false;">
<input type="hidden" name="pageIndex" value="<c:out value='${vEEduAplctVO.pageIndex}' default='1' />"/>
<input type="hidden" name="pageUnit" value="5" />
<input type="hidden" name="rsdne" value="" />
<div class="area_popup">
<div class="cont_popup">
<!-- list_top -->
<%-- <div class="list_top">
<div class="list_top_1">
<div class="util_left">
<p>강사검색</p>
</div>
<ve:select codeId="VE0008" name="searchEduSlctAreaCd" id="searchEduSlctAreaCd" css="class='sel_type1'"
selectedText="${vEEduAplctVO.rsdne}" defaultValue=''
defaultText='전체'
/>
<div class="util_right">
<input type="text" id="searchKeyword" name="searchKeyword" class="search_input" placeholder="검색어를 입력하세요" value="${vEPrcsDetailVO.searchKeyword }">
<button type="button" class="btn_type08" onclick="linkPage(1); return false;">검색</button>
</div>
</div>
</div> --%>
<div class="pop_tb_tit01">
<p>교육목록</p>
</div>
<div class="list_util">
<p class="list_util_p"><span><c:out value="${paginationInfo.totalRecordCount}" /></span>건의 접수가 검색되었습니다.</p>
<div>
<select class="sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px" class="sel_type1">
<option value='10' <c:if test="${vEPrcsDetailVO.pageUnit == '10' or vEPrcsDetailVO.pageUnit == ''}">selected</c:if>>10줄</option>
<option value='20' <c:if test="${vEPrcsDetailVO.pageUnit == '20'}">selected</c:if>>20줄</option>
<option value='30' <c:if test="${vEPrcsDetailVO.pageUnit == '30'}">selected</c:if>>30줄</option>
<option value='100' <c:if test="${vEPrcsDetailVO.pageUnit == '100'}">selected</c:if>>100줄</option>
</select>
<%--<button type="button" class="btn_down_excel">엑셀 다운로드</button>--%>
</div>
</div>
<div class="pop_tb_type01">
<!-- list -->
<table>
<colgroup>
<col style="width: 5%">
<col style="width: 5%">
<col style="width: 10%">
<col style="width: auto">
<col style="width: 180px;">
<col style="width: 180px;">
<col style="width: 10%">
</colgroup>
<thead>
<tr>
<th><input type="checkbox" name="checkAll" id="checkAll" onclick="chkAll(this);" /><label for="checkAll"></label></th>
<th>NO</th>
<th>대면구분</th>
<th>과정명</th>
<th>신청기간</th>
<th>교육일자</th>
<th>신청자/정원</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<tr class="listCount">
<td>
<input name="chk"
value="${list.prcsAplctPrdOrd}" title="Check" type="checkbox"/>
</td>
<td>
<c:out value="${status.count}"/>
</td>
<td>
<kc:code codeId="VEA001" code="${list.prcsDiv}"/>
</td>
<td>
<c:out value="${list.prcsNm}"/>(<c:out value="${list.prcsAplctPrdOrd}"/>)
</td>
<td>
<c:out value="${list.strtPnttm}"/>~<c:out value="${list.endPnttm}"/>
</td>
<td>
<%-- <c:out value="${list.eduStrtPnttm}"/>~<c:out value="${list.eduDdlnPnttm}"/> --%>
<c:out value="${list.eduStrtPnttm}"/>
</td>
<td>
<c:out value="${list.nosCnt1}"/>/<c:out value="${list.nos}"/>
</td>
</tr>
</c:forEach>
<c:if test="${empty list}">
<tr><td colspan="7"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<!-- //list -->
<!-- page -->
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
<div class="btn_wrap_pop btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btn_type03" onclick="self.close();">닫기</button>
<button type="button" class="btn_type04" onclick="fn_insert();">신청</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
</form:form>
</div>
</div>
</body>
</html>

View File

@ -239,10 +239,211 @@
$(".memoTr").fadeIn(); $(".memoTr").fadeIn();
} }
} }
function chkAll(obj) {
// 모든 체크박스의 상태를 헤더 체크박스의 상태와 동일하게 설정
$("input[name='chk']").prop('checked', $(obj).prop('checked'));
}
// 대상자 의뢰취소
function fn_updateReqStatus(p_eduStateCd, p_reqStateCd) {
var sspnIdtmtTrgtOrdList = [];
console.log('Start');
var chk = false;
// "chk" 이름을 가진 체크박스가 체크된 항목들을 순회
$("input[name='chk']:checked").each(function() {
var sspnIdtmtTrgtOrdValue = $(this).val();
sspnIdtmtTrgtOrdList.push(sspnIdtmtTrgtOrdValue);
// 교육상태가 대기/ 연기 인지 확인
// 그 외에 값이면 loop 나온 뒤 경고 alert 실행 후 function 종료
if($(this).data('eduinfo') != 10
&& $(this).data('eduinfo') != 50
){
chk = true;
return;
}
});
if(chk){
alert("교육상태가 '교육대기','연기' 외에 다른 상태값이 있습니다.");
// 초기화
sspnIdtmtTrgtOrdList = [];
return;
}
// 선택된 항목이 없으면 경고 메시지를 표시하고 함수를 종료
if (sspnIdtmtTrgtOrdList.length === 0) {
alert("선택된 항목이 없습니다. 선택 후 다시 시도하세요.");
return false;
}
var dataToSend = {
"sspnIdtmtTrgtOrdList" : sspnIdtmtTrgtOrdList,
"eduStateCd" : p_eduStateCd,
"reqStateCd" : p_reqStateCd
};
if(!confirm("의뢰취소를 하시겠습니까?")){
return;
}
// AJAX 호출을 통해 서버에 데이터 전송
this.fn_cmmAjax(dataToSend);
}
// 대상자 의뢰취소 - 취소에 취소 (복구)
function fn_updateCancelReqStatus(p_eduStateCd, p_reqStateCd) {
var sspnIdtmtTrgtOrdList = [];
console.log('Start');
var chk = false;
// "chk" 이름을 가진 체크박스가 체크된 항목들을 순회
$("input[name='chk']:checked").each(function() {
var sspnIdtmtTrgtOrdValue = $(this).val();
sspnIdtmtTrgtOrdList.push(sspnIdtmtTrgtOrdValue);
// 교육상태가 대기/ 연기 인지 확인
// 그 외에 값이면 loop 나온 뒤 경고 alert 실행 후 function 종료
if($(this).data('eduinfo') != 60
){
chk = true;
return;
}
});
if(chk){
alert("교육상태가 '교육취소'외에 다른 상태값이 있습니다.");
// 초기화
sspnIdtmtTrgtOrdList = [];
return;
}
// 선택된 항목이 없으면 경고 메시지를 표시하고 함수를 종료
if (sspnIdtmtTrgtOrdList.length === 0) {
alert("선택된 항목이 없습니다. 선택 후 다시 시도하세요.");
return false;
}
var dataToSend = {
"sspnIdtmtTrgtOrdList" : sspnIdtmtTrgtOrdList,
"eduStateCd" : p_eduStateCd,
"reqStateCd" : p_reqStateCd
};
if(!confirm("의뢰취소복구를 하시겠습니까?")){
return;
}
this.fn_cmmAjax(dataToSend);
}
function fn_cmmAjax(dataToSend){
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/updateEduStateCdAndReqStateCdAjax.do'/>";
// AJAX 호출을 통해 서버에 데이터 전송
$.ajax({
type : "POST",
url : url,
data : $.param(dataToSend, true), // 직렬화 , 컨트롤러에서 @ModelAttribute로 받을 수 있음
// contentType : 'application/json',
dataType : 'json',
success : function(returnData) {
if (returnData.result == "success") {
alert("변경 처리 되었습니다.");
window.location.reload();
} else {
alert("변경 중 오류가 발생하였습니다.");
}
},
error : function(jqXHR, textStatus, errorThrown) {
console.error("AJAX Error:", textStatus, errorThrown);
console.error("Response:", jqXHR.responseText);
}
});
}
// 강사 배치
function fn_eduAsgnm(prcsAplctPrdOrd) {
var sspnIdtmtTrgtOrdList = [];
var chk = false;
// "chk" 이름을 가진 체크박스가 체크된 항목들을 순회
$("input[name='chk']:checked").each(function() {
var sspnIdtmtTrgtOrdValue = $(this).val();
sspnIdtmtTrgtOrdList.push(sspnIdtmtTrgtOrdValue);
// 교육상태가 대기/ 연기 인지 확인
// 그 외에 값이면 loop 나온 뒤 경고 alert 실행 후 function 종료
if($(this).data('eduinfo') != 10
){
chk = true;
return;
}
});
if(chk){
alert("교육상태가 '교육대기'외에 다른 상태값이 있습니다.");
// 초기화
sspnIdtmtTrgtOrdList = [];
return;
}
// 선택된 항목이 없으면 경고 메시지를 표시하고 함수를 종료
if (sspnIdtmtTrgtOrdList.length === 0) {
alert("선택된 항목이 없습니다. 선택 후 다시 시도하세요.");
return false;
}
var dataToSend = {
"sspnIdtmtTrgtOrdList" : sspnIdtmtTrgtOrdList
};
var form = document.popForm;
form.sspnIdtmtTrgtOrdList.value = sspnIdtmtTrgtOrdList;
// form.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/popup/fndthInstrAsgnmPopup.do'/>";
form.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/popup/cndtnEduAsgnmPopup.do'/>";
window.open("#", "_securityPop", "scrollbars = no, top=100px, left=100px, height=750px, width=950px");
form.target = "_securityPop";
form.submit();
}
</script> </script>
<title>교육과정관리</title> <title>교육과정관리</title>
</head> </head>
<body> <body>
<form id="popForm" name="popForm" method="post" >
<input type="hidden" id="sspnIdtmtTrgtOrdList" name="sspnIdtmtTrgtOrdList" value="" />
</form>
<form id="excelForm" name="excelForm" method="post" > <form id="excelForm" name="excelForm" method="post" >
</form> </form>
<form id="detailForm" name="detailForm" method="post" > <form id="detailForm" name="detailForm" method="post" >
@ -374,6 +575,7 @@
<div class="tb_type01"> <div class="tb_type01">
<table> <table>
<colgroup> <colgroup>
<col style="width: 5%">
<col style="width: 10%"> <col style="width: 10%">
<col style="width: 10%"> <col style="width: 10%">
<col style="width: 2px"> <col style="width: 2px">
@ -388,6 +590,7 @@
</colgroup> </colgroup>
<thead> <thead>
<tr> <tr>
<th><input type="checkbox" name="checkAll" id="checkAll" onclick="chkAll(this);" /><label for="checkAll"></label></th>
<th>의뢰일</th> <th>의뢰일</th>
<th>사건번호</th> <th>사건번호</th>
<th>관할청</th> <th>관할청</th>
@ -403,34 +606,37 @@
</thead> </thead>
<tbody> <tbody>
<c:forEach var="list" items="${list}" varStatus="status"> <c:forEach var="list" items="${list}" varStatus="status">
<tr class="listCount" onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;"> <tr class="listCount">
<%-- <td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;"> --%>
<%-- <c:out value='${list.prcsNm}'/> --%>
<!-- </td> -->
<td> <td>
<input name="chk"
value="${list.sspnIdtmtTrgtOrd}" data-eduInfo="${list.eduStateCd }"
data-reqInfo="${list.reqStateCd }" title="Check" type="checkbox"/>
</td>
<td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;">
<c:set var="reqPnttm" value="${fn:substring(list.reqPnttm, 0, 10)}" /> <c:set var="reqPnttm" value="${fn:substring(list.reqPnttm, 0, 10)}" />
<%-- <fmt:formatDate value="${list.reqPnttm }" pattern="yyyy-MM-dd" /> --%> <%-- <fmt:formatDate value="${list.reqPnttm }" pattern="yyyy-MM-dd" /> --%>
<c:out value="${reqPnttm }" /> <c:out value="${reqPnttm }" />
</td> </td>
<td> <td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;">
<c:out value="${list.vntYear }" />형제<c:out value="${list.vntNmbr }" /> <c:out value="${list.vntYear }" />형제<c:out value="${list.vntNmbr }" />
</td> </td>
<td> <td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;">
<ve:code codeId="VEA008" code="${list.cmptntAthrt }"/> <ve:code codeId="VEA008" code="${list.cmptntAthrt }"/>
</td> </td>
<td> <td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;">
<c:out value="${list.dBirth }" /> <c:out value="${list.dBirth }" />
</td> </td>
<td> <td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;">
<c:out value="${list.trgtNm }" /> <c:out value="${list.trgtNm }" />
</td> </td>
<td> <td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;">
<ve:code codeId="COM014" code="${list.sex }"/> <ve:code codeId="COM014" code="${list.sex }"/>
</td> </td>
<td> <td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;">
<c:out value="${list.reqNmbr }" /> <c:out value="${list.reqNmbr }" />
</td> </td>
<td> <td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;">
<ve:code codeId="VEA005" code="${list.reqStateCd }"/> <ve:code codeId="VEA005" code="${list.reqStateCd }"/>
</td> </td>
<td> <td>
@ -473,6 +679,9 @@
<div class="btn_center"> <div class="btn_center">
</div> </div>
<div class="btn_right"> <div class="btn_right">
<button type="button" class="btn_type04" onclick="fn_updateCancelReqStatus(10, 10); return false;">의뢰취소복구</button>
<button type="button" class="btn_type05" onclick="fn_updateReqStatus(60, 40); return false;">의뢰취소</button>
<!-- <button type="button" class="btn_type02" onclick="fn_eduAsgnm(); return false;">교육배정</button> -->
<button type="button" class="btn_type01" onclick="fncCreate(); return false;">등록</button> <button type="button" class="btn_type01" onclick="fncCreate(); return false;">등록</button>
</div> </div>
</div> </div>

View File

@ -283,7 +283,8 @@
</tr> </tr>
</thead> </thead>
<c:forEach var="list" items="${adultList}" varStatus="status" begin="0" end="2"> <c:forEach var="list" items="${adultList}" varStatus="status" begin="0" end="2">
<tr onclick="goAdultDetail('<c:out value="${list.eduAplctOrd}"/>')"> <tr onclick="goAdultDetail('<c:out value="${list.eduAplctOrd}"/>')"
tabindex="0" onkeypress="if(event.keyCode == 13){goAdultDetail('<c:out value="${list.eduAplctOrd}"/>')}">
<!-- <tr > --> <!-- <tr > -->
<td>${list.eduHopeDt}</td> <td>${list.eduHopeDt}</td>
<td><kc:code codeId="VE0007" code="${list.eduSlctCd}"/></td> <td><kc:code codeId="VE0007" code="${list.eduSlctCd}"/></td>
@ -368,7 +369,7 @@
<c:forEach var="list" items="${exprnList}" varStatus="status" begin="0" end="2"> <c:forEach var="list" items="${exprnList}" varStatus="status" begin="0" end="2">
<tr onclick="fncGoDetail('${list.eduAplctOrd}')"> <tr onclick="fncGoDetail('${list.eduAplctOrd}')">
<td> <td>
<a href="javascript:fncGoDetail('${list.eduAplctOrd}');" > <a href="javascript:fncGoDetail('${list.eduAplctOrd}');">
<fmt:parseDate value="${list.frstRegistPnttm}" var="year" pattern="yyyy.MM.dd"/> <fmt:parseDate value="${list.frstRegistPnttm}" var="year" pattern="yyyy.MM.dd"/>
<fmt:formatDate value="${year}" pattern="yyyy년"/> <fmt:formatDate value="${year}" pattern="yyyy년"/>
</a> </a>
@ -408,7 +409,7 @@
</thead> </thead>
<tbody> <tbody>
<c:forEach var="list" items="${fndtnList}" varStatus="status" begin="0" end="2"> <c:forEach var="list" items="${fndtnList}" varStatus="status" begin="0" end="2">
<tr onclick="fncFndtnGoDetail('${list.prcsAplctPrdOrd}')"> <tr onclick="fncFndtnGoDetail('${list.prcsAplctPrdOrd}')" tabindex="0" onkeypress="if(event.keyCode == 13){fncFndtnGoDetail('${list.prcsAplctPrdOrd}')}">
<td> <td>
<c:out value="${list.prcsNm}"/> <c:out value="${list.prcsNm}"/>
</td> </td>
@ -461,10 +462,10 @@
<tbody> <tbody>
<c:forEach var="list" items="${qnaList}" varStatus="status" begin="0" end="2"> <c:forEach var="list" items="${qnaList}" varStatus="status" begin="0" end="2">
<tr> <tr>
<td onclick="qnaGoDetail('<c:out value="${list.prcsAplctPrdQnaOrd }" />');" style="cursor:pointer;"> <td onclick="qnaGoDetail('<c:out value="${list.prcsAplctPrdQnaOrd }" />');" style="cursor:pointer;" tabindex="0" onkeypress="if(event.keyCode == 13){qnaGoDetail('<c:out value="${list.prcsAplctPrdQnaOrd }" />');}">
<ve:code codeId="VE0011" code="${list.lctrDivCd }" /> <ve:code codeId="VE0011" code="${list.lctrDivCd }" />
</td> </td>
<td onclick="qnaGoDetail('<c:out value="${list.prcsAplctPrdQnaOrd }" />');" style="cursor:pointer;"> <td onclick="qnaGoDetail('<c:out value="${list.prcsAplctPrdQnaOrd }" />');" style="cursor:pointer;" tabindex="0" onkeypress="if(event.keyCode == 13){qnaGoDetail('<c:out value="${list.prcsAplctPrdQnaOrd }" />');}">
<c:out value="${list.qnaCn }" /> <c:out value="${list.qnaCn }" />
</td> </td>
<td> <td>

View File

@ -94,10 +94,10 @@ function fncGoDetail(p_pk){
<tbody> <tbody>
<c:forEach var="list" items="${list}"> <c:forEach var="list" items="${list}">
<tr> <tr>
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdQnaOrd }" />');" style="cursor:pointer;"> <td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdQnaOrd }" />');" style="cursor:pointer;" tabindex="0" onkeypress="if(event.keyCode == 13){fncGoDetail('<c:out value="${list.prcsAplctPrdQnaOrd }" />');}">
<ve:code codeId="VE0011" code="${list.lctrDivCd }" /> <ve:code codeId="VE0011" code="${list.lctrDivCd }" />
</td> </td>
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdQnaOrd }" />');" style="cursor:pointer;"> <td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdQnaOrd }" />');" style="cursor:pointer;" tabindex="0" onkeypress="if(event.keyCode == 13){fncGoDetail('<c:out value="${list.prcsAplctPrdQnaOrd }" />');}">
<c:out value="${list.qnaCn }" /> <c:out value="${list.qnaCn }" />
</td> </td>
<td> <td>

View File

@ -128,7 +128,7 @@
</div> </div>
<div class="tb_type01 tb_write"> <div class="tb_type01 tb_write">
<table> <table>
<caption>운영신청 상세 (th 명)을 보여주는 표</caption> <caption>운영신청 상세 : 신청일, 처리상태 등의 정보제공</caption>
<colgroup> <colgroup>
<col style="width: 220px;"> <col style="width: 220px;">
<col style="width: auto;"> <col style="width: auto;">
@ -209,6 +209,7 @@
</div> </div>
<div class="tb_type01 tb_write"> <div class="tb_type01 tb_write">
<table> <table>
<caption>신청자 정보 : 학교(기관)명, 학교지역특성, 교사명, 성별, 휴대폰, 전화, 이메일, 주소, 담당교과, 생년월일, 체험교실운영여부, 신청경로 등의 정보제공</caption>
<colgroup> <colgroup>
<col style="width: 220px;"> <col style="width: 220px;">
<col style="width: auto;"> <col style="width: auto;">

View File

@ -445,7 +445,7 @@ $(document).ready(function(){
<td> <td>
<kc:code codeId="VEA001" code="${list.prcsDiv}"/> <kc:code codeId="VEA001" code="${list.prcsDiv}"/>
</td> </td>
<td class="prcsNm_popNm" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" style="cursor:pointer;"> <td class="prcsNm_popNm" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" style="cursor:pointer;" tabindex="0" onkeypress="if(event.keyCode == 13){fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');}">
<c:out value="${list.prcsNm}"/>(<c:out value="${list.prcsAplctPrdOrd}"/>) <c:out value="${list.prcsNm}"/>(<c:out value="${list.prcsAplctPrdOrd}"/>)
</td> </td>
<td> <td>

View File

@ -164,7 +164,7 @@ $(document).ready(function(){
</div> </div>
<div class="popup_cont"> <div class="popup_cont">
<div class="cont_body"> <div class="cont_body">
<div class="pop_tb_type01" style="overflow:visible;"> <div class="pop_tb_type01" style="overflow:visible; margin-bottom: 15px;">
<table> <table>
<caption>신청인정보 : 성명, 생년월일, 핸드폰, 이메일, 소속기업, 분야, 저작권 교육 수강 여부, 교육관련 사전질의 등의 정보입력</caption> <caption>신청인정보 : 성명, 생년월일, 핸드폰, 이메일, 소속기업, 분야, 저작권 교육 수강 여부, 교육관련 사전질의 등의 정보입력</caption>
<colgroup> <colgroup>
@ -179,6 +179,7 @@ $(document).ready(function(){
<p>성명</p> <p>성명</p>
</th> </th>
<td> <td>
<label for="chrgNm" class="label">성명 입력</label>
<input type="text" class="twoRow" name="chrgNm" id="chrgNm"/> <input type="text" class="twoRow" name="chrgNm" id="chrgNm"/>
</td> </td>
<th scope="row"> <th scope="row">
@ -195,12 +196,14 @@ $(document).ready(function(){
<p>핸드폰</p> <p>핸드폰</p>
</th> </th>
<td> <td>
<label for="phone" class="label">핸드폰 번호 입력</label>
<input type="text" class="twoRow" name="phone" id="phone"/> <input type="text" class="twoRow" name="phone" id="phone"/>
</td> </td>
<th scope="row"> <th scope="row">
<p>이메일</p> <p>이메일</p>
</th> </th>
<td> <td>
<label for="email" class="label">이메일 입력</label>
<input type="text" class="twoRow" name="email" id="email"/> <input type="text" class="twoRow" name="email" id="email"/>
</td> </td>
</tr> </tr>
@ -209,6 +212,7 @@ $(document).ready(function(){
<p>소속기업</p> <p>소속기업</p>
</th> </th>
<td> <td>
<label for="insttNm" class="label">소속기업 입력</label>
<input type="text" class="twoRow" name="insttNm" id="insttNm"/> <input type="text" class="twoRow" name="insttNm" id="insttNm"/>
</td> </td>
</tr> </tr>
@ -217,6 +221,7 @@ $(document).ready(function(){
<p>분야</p> <p>분야</p>
</th> </th>
<td> <td>
<label for="fldSelect" class="label">분야 선택</label>
<ve:select codeId="VEA014" id="fldSelect" css="class='selType1'" <ve:select codeId="VEA014" id="fldSelect" css="class='selType1'"
selectedValue="" defaultValue='' selectedValue="" defaultValue=''
defaultText="선택" defaultText="선택"
@ -231,6 +236,7 @@ $(document).ready(function(){
<p>저작권 교육 수강 여부</p> <p>저작권 교육 수강 여부</p>
</th> </th>
<td> <td>
<label for="lctrYn" class="label">저작권 교육 수강 여부 입력</label>
<input type="text" class="lctrYn" name="lctrYn" id="lctrYn"/> <input type="text" class="lctrYn" name="lctrYn" id="lctrYn"/>
</td> </td>
</tr> </tr>
@ -239,6 +245,7 @@ $(document).ready(function(){
<p>교육관련 사전질의</p> <p>교육관련 사전질의</p>
</th> </th>
<td colspan="2"> <td colspan="2">
<label for="prvsQs" class="label">교육관련 사전질의 입력</label>
<input type="text" name="prvsQs" id="prvsQs" style="width: 100%;"/> <input type="text" name="prvsQs" id="prvsQs" style="width: 100%;"/>
</td> </td>
</tr> </tr>
@ -250,17 +257,24 @@ $(document).ready(function(){
</tbody> </tbody>
</table> </table>
</div> </div>
<pre>개인정보 처리 동의서
한국저작권위원회에서는 귀하의 개인정보를 중요시하며, 개인정보보호법 제15조, 제17조, 제22조, 제23조 및 제24조에 따라 아래와 같이 개인정보 처리에 관하여 동의를 얻고자 합니다. <div class="pop_text">
<p class="title">개인정보 처리 동의서
<p class="sub_te">한국저작권위원회에서는 귀하의 개인정보를 중요시하며, 개인정보보호법 제15조, 제17조, 제22조, 제23조 및 제24조에 따라 아래와 같이 개인정보 처리에 관하여 동의를 얻고자 합니다.</p>
<ul>
<li>
&lt;개인정보 수집 및 이용에 대한 동의&gt;
<ul>
<li>ο 개인정보의 수집 이용 목적 : 이수증 발급, 이수자 관리 </li>
<li>ο 수집하는 개인정보 항목 : 성명, 생년월일, 휴대전화, 이메일</li>
<li>ο 개인정보의 보유 및 이용기간 : 사업 종료시까지</li>
<li>ο 동의를 거부할 권리가 있다는 사실 및 동의 거부에 따른 불이익이 있는 경우에는 그 불이익의 내용 : 귀하의 개인정보 제공 및 동의를 거부할 권리가 있으며, 위 항목 동의 거부시 수강신청 및 이수증 발급이 어려워질 수 있음</li>
</ul>
</li>
</ul>
</div>
&lt;개인정보 수집 및 이용에 대한 동의 &gt; <div class="pop_btn_wrap btn_layout01 ar_bt">
ο 개인정보의 수집 이용 목적 : 이수증 발급, 이수자 관리
ο 수집하는 개인정보 항목 : 성명, 생년월일, 휴대전화, 이메일
ο 개인정보의 보유 및 이용기간 : 사업 종료시까지
ο 동의를 거부할 권리가 있다는 사실 및 동의 거부에 따른 불이익이 있는 경우에는 그 불이익의 내용 : 귀하의 개인정보 제공 및 동의를 거부할 권리가 있으며, 위 항목 동의 거부시 수강신청 및 이수증 발급이 어려워질 수 있음
</pre>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left"> <div class="btn_left">
</div> </div>
<div class="btn_center"> <div class="btn_center">

View File

@ -99,28 +99,28 @@
} }
} }
function fncCancleSubmit(){ // function fncCancleSubmit(){
if(confirm("교육신청 취소하시겠습니까?")){ // if(confirm("교육신청 취소하시겠습니까?")){
$.ajax({ // $.ajax({
type:"POST", // type:"POST",
url:"${pageContext.request.contextPath}/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctStatusAjax.do", // url:"${pageContext.request.contextPath}/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctStatusAjax.do",
data: { // data: {
"eduAplctOrd" : $("#eduAplctOrd").val() , // "eduAplctOrd" : $("#eduAplctOrd").val() ,
"useYn" : 'N' // "useYn" : 'N'
}, // },
dataType:'json', // dataType:'json',
success:function(returnData){ // success:function(returnData){
if(returnData.rsCnt > 0){ // if(returnData.rsCnt > 0){
alert("교육신청 취소되었습니다."); // alert("교육신청 취소되었습니다.");
fncGoList(); // fncGoList();
} // }
}, // },
error:function(request , status, error){ // error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); // alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
} // }
}); // });
} // }
} // }
// 대상자 이름, 생년월일, 대상자TB ID // 대상자 이름, 생년월일, 대상자TB ID

View File

@ -618,6 +618,7 @@ $(document).ready(function(){
<!-- list --> <!-- list -->
<div class="tb_list01"> <div class="tb_list01">
<table> <table>
<caption>강의목록 : 교육구분, 과정명, 신청기간, 교육일자, 신청자/정원, 상태, 교육신청 등의 정보제공</caption>
<colgroup> <colgroup>
<%-- <col style="width: 5%"> --%> <%-- <col style="width: 5%"> --%>
<col style="width: 10%"> <col style="width: 10%">
@ -631,13 +632,13 @@ $(document).ready(function(){
<thead> <thead>
<tr> <tr>
<!-- <th>NO</th> --> <!-- <th>NO</th> -->
<th>교육구분</th> <th scope=“col”>교육구분</th>
<th>과정명</th> <th scope=“col”>과정명</th>
<th>신청기간</th> <th scope=“col”>신청기간</th>
<th>교육일자</th> <th scope=“col”>교육일자</th>
<th>신청자/정원</th> <th scope=“col”>신청자/정원</th>
<th>상태</th> <th scope=“col”>상태</th>
<th>교육신청</th> <th scope=“col”>교육신청</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -649,7 +650,7 @@ $(document).ready(function(){
<td> <td>
<kc:code codeId="VEA001" code="${list.prcsDiv}"/> <kc:code codeId="VEA001" code="${list.prcsDiv}"/>
</td> </td>
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" style="cursor:pointer;"> <td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" style="cursor:pointer;" tabindex="0" onkeypress="if(event.keyCode == 13){fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');}">
<c:out value="${list.prcsNm}"/>(<c:out value="${list.prcsAplctPrdOrd}"/>) <c:out value="${list.prcsNm}"/>(<c:out value="${list.prcsAplctPrdOrd}"/>)
</td> </td>
<td> <td>

View File

@ -231,18 +231,21 @@ $(document).ready(function(){
<div class="cont_body"> <div class="cont_body">
<div class="pop_tb_type01" style="overflow:visible;"> <div class="pop_tb_type01" style="overflow:visible;">
<table> <table>
<caption>교육대상자 확인 : 성명, 주민번호앞자리, 성별 등의 정보입력</caption>
<colgroup> <colgroup>
<col style="width:38%;"> <col style="width:38%;">
<col style="width:auto;"> <col style="width:auto;">
</colgroup> </colgroup>
<tbody>
<tr> <tr>
<th>성명</th> <th scope=“row”>성명</th>
<td> <td>
<label for="trgtNm" class="label">성명 입력</label>
<input type="text" id="trgtNm"> <input type="text" id="trgtNm">
</td> </td>
</tr> </tr>
<tr> <tr>
<th>주민번호앞자리</th> <th scope=“row”>주민번호앞자리</th>
<td> <td>
<div class="calendar_wrap"> <div class="calendar_wrap">
<duet-date-picker identifier="date" id="dBirth" class="startDate" id="" min="1940-01-01"></duet-date-picker> <duet-date-picker identifier="date" id="dBirth" class="startDate" id="" min="1940-01-01"></duet-date-picker>
@ -251,13 +254,13 @@ $(document).ready(function(){
</td> </td>
</tr> </tr>
<tr> <tr>
<th>성별</th> <th scope=“row”>성별</th>
<td> <td>
<input type="radio" id="sexM" name="sex" value="M" checked="checked"> <label class="" for="sexM">남성</label> <input type="radio" id="sexM" name="sex" value="M" checked="checked"> <label class="" for="sexM">남성</label>
<input type="radio" id="sexF" name="sex" value="F"> <label class="" for="sexF">여성</label> <input type="radio" id="sexF" name="sex" value="F"> <label class="" for="sexF">여성</label>
</td> </td>
</tr> </tr>
</tbody>
</table> </table>
</div> </div>

View File

@ -111,6 +111,15 @@
/* 기소유예 - 교육취소 */ /* 기소유예 - 교육취소 */
.btnType01.right {float:right; margin:0 0 5px 0;} .btnType01.right {float:right; margin:0 0 5px 0;}
/*신청인 정보 팝업 수정 */
.pop_text{border: 1px solid #d5d5d5; padding: 15px; margin: 0 0 -5px 0;}
.pop_text .title{margin: 0 0 10px 0; font-weight: 500;}
.pop_text .sub_te{font-size: 15px; color :#666; margin: 0 0 10px 0; line-height: 1.2;}
.pop_text ul{color :#666; line-height: 1.4; font-size: 14px;}
.ar_bt{background-color: #f5f5f5; padding: 10px 0; margin: 0 0 -5px 0;}
@media all and (max-width: 767px){ @media all and (max-width: 767px){
.popup_cont {padding: 10px;} .popup_cont {padding: 10px;}
.popup_wrap.popType02 {width: 360px;} .popup_wrap.popType02 {width: 360px;}