청소년 강의교환 완료

This commit is contained in:
hylee 2024-01-04 17:01:06 +09:00
parent 7dfc20464b
commit 8e5f9c0d21
8 changed files with 411 additions and 152 deletions

View File

@ -252,65 +252,6 @@ public class VEAdultAsgnmController {
// return "/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmRqstList";
}
@RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/popup/instrAsgnmListExchnPopup.do")
public String instrAsgnmListExchnPopup(
@ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO
, ModelMap model
, RedirectAttributes redirectAttributes
, HttpSession session
, HttpServletRequest request
) throws Exception {
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
if (loginVO == null || ssoLoginVO == null) {
return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다.
}
model.addAttribute("ssoLoginVO", ssoLoginVO);
model.addAttribute("loginVO", loginVO);
//로그인 처리====================================
//3.pageing step1
PaginationInfo paginationInfo = this.setPagingStep1(vEInstrAsgnmVO);
//4. pageing step2
vEInstrAsgnmVO = this.setPagingStep2(vEInstrAsgnmVO, paginationInfo);
vEInstrAsgnmVO.setUserId(loginVO.getUniqId());
vEInstrAsgnmVO.setInstrDiv("20");
vEInstrAsgnmVO.setHstryCd("10");
try {
System.out.println("session.getAttribute(menuNo).toString()");
System.out.println(session.getAttribute("menuNo").toString());
vEInstrAsgnmVO.setMenuNo(session.getAttribute("menuNo").toString());
}catch(Exception ex) {
ex.printStackTrace();
vEInstrAsgnmVO.setMenuNo("9991100");
}
vEInstrAsgnmVO.setSearchAsgnmAprvlCd("20");
List<VEInstrAsgnmVO> vEInstrAsgnmVOList = vEAsgnmMIXService.selectAsgnmRqstPagingList(vEInstrAsgnmVO);
//6.pageing step3
paginationInfo = this.setPagingStep3(vEInstrAsgnmVOList, paginationInfo);
model.addAttribute("paginationInfo", paginationInfo);
//fee 계산하기
//feeSum4Dp
// vEInstrAsgnmVOList = VisitEduTransUtil.transData4feeSum(vEInstrAsgnmVOList);
//대상 리스트, 페이징 정보 전달
model.addAttribute("vEInstrAsgnmVOList", vEInstrAsgnmVOList);
return "/web/ve/instr/adultVisitEdu/asgnmInfo/popup/instrAsgnmListExchnPopup";
}
//성인강사 강의 추가신청 목록
@RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmAddRqstList.do")

View File

@ -129,4 +129,13 @@ public interface VEAsgnmMIXService {
List<VEInstrAsgnmVO> findAllFromVeaLctrExchnInfo(VEInstrAsgnmVO vEInstrVO);
void delFromVeaLctrExchn(VEInstrAsgnmVO vEInstrAsgnmVO);
void udpateToEduAplctOrdFromVeaLctrExchn(VEInstrAsgnmVO vEInstrAsgnmVO);
void updateveUserIdFromEduChasiInstrAsgnm(VEInstrAsgnmVO vEInstrAsgnmVO);
VEInstrAsgnmVO findByExchnOrdFromVeaLctrExchnInfo(VEInstrAsgnmVO vEInstrAsgnmVO);
}

View File

@ -232,4 +232,20 @@ public class VEAsgnmMIXDAO extends EgovAbstractDAO {
return (List<VEInstrAsgnmVO>) list("VEAsgnmMIXDAO.findAllFromVeaLctrExchnInfo", vEInstrVO);
}
public void delFromVeaLctrExchn(VEInstrAsgnmVO vEInstrAsgnmVO) {
delete("VEAsgnmMIXDAO.delFromVeaLctrExchn", vEInstrAsgnmVO);
}
public void udpateToEduAplctOrdFromVeaLctrExchn(VEInstrAsgnmVO vEInstrAsgnmVO) {
update("VEAsgnmMIXDAO.udpateToEduAplctOrdFromVeaLctrExchn", vEInstrAsgnmVO);
}
public void updateveUserIdFromEduChasiInstrAsgnm(VEInstrAsgnmVO vEInstrAsgnmVO) {
update("VEAsgnmMIXDAO.updateveUserIdFromEduChasiInstrAsgnm", vEInstrAsgnmVO);
}
public VEInstrAsgnmVO findByExchnOrdFromVeaLctrExchnInfo(VEInstrAsgnmVO vEInstrAsgnmVO) {
return (VEInstrAsgnmVO) select("VEAsgnmMIXDAO.findByExchnOrdFromVeaLctrExchnInfo", vEInstrAsgnmVO);
}
}

View File

@ -216,4 +216,25 @@ public class VEAsgnmMIXServiceImpl implements VEAsgnmMIXService {
return vEAsgnmMIXDAO.findAllFromVeaLctrExchnInfo(vEInstrVO);
}
@Override
public void delFromVeaLctrExchn(VEInstrAsgnmVO vEInstrAsgnmVO) {
vEAsgnmMIXDAO.delFromVeaLctrExchn(vEInstrAsgnmVO);
}
@Override
public void udpateToEduAplctOrdFromVeaLctrExchn(VEInstrAsgnmVO vEInstrAsgnmVO) {
vEAsgnmMIXDAO.udpateToEduAplctOrdFromVeaLctrExchn(vEInstrAsgnmVO);
}
@Override
public void updateveUserIdFromEduChasiInstrAsgnm(VEInstrAsgnmVO vEInstrAsgnmVO) {
vEAsgnmMIXDAO.updateveUserIdFromEduChasiInstrAsgnm(vEInstrAsgnmVO);
}
@Override
public VEInstrAsgnmVO findByExchnOrdFromVeaLctrExchnInfo(VEInstrAsgnmVO vEInstrAsgnmVO) {
return vEAsgnmMIXDAO.findByExchnOrdFromVeaLctrExchnInfo(vEInstrAsgnmVO);
}
}

View File

@ -46,6 +46,7 @@ import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiService;
import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiVO;
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO;
@Controller
@ -162,12 +163,16 @@ public class VEAsgnmController {
paginationInfo = this.setPagingStep3(vEInstrAsgnmVOList, paginationInfo);
model.addAttribute("paginationInfo", paginationInfo);
System.out.println("===");
System.out.println("===");
System.out.println("===");
// 교환상태 확인
vEInstrAsgnmVOList.stream().forEach(t-> {
if("20".equals(t.getAsgnmAprvlCd())) {
VEInstrAsgnmVO veaLctrExchnInfo = vEAsgnmMIXService.findByEduAplctOrdAndEduChasiOrdFromVeaLctrExchnInfo(t);
if(veaLctrExchnInfo != null) {
t.setInstrNm(egovCryptoUtil.decrypt(veaLctrExchnInfo.getInstrNm()));
t.setExchnOrd(veaLctrExchnInfo.getExchnOrd());
t.setExchnCd(veaLctrExchnInfo.getExchnCd());
}
@ -280,7 +285,114 @@ public class VEAsgnmController {
return "/web/ve/instr/tngrVisitEdu/asgnmInfo/popup/instrAsgnmListExchnPopup";
}
/**
* 강의교환 신청취소
*/
@RequestMapping("/web/ve/instr/tngrVisitEdu/asgnmInfo/delFromVeaLctrExchn.do")
public ModelAndView userConfirmAjax(
@ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO
, 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;
}
try {
vEAsgnmMIXService.delFromVeaLctrExchn(vEInstrAsgnmVO);
modelAndView.addObject("result", "success");
modelAndView.addObject("msg", "교환신청을 취소하였습니다");
return modelAndView;
} catch (Exception e) {
return modelAndView;
}
}
/**
* @methodName : userConfirmAjax
* @author : 이호영
* @date : 2024.01.04
* @description : 강의교환 완료 처리
* @param vEInstrAsgnmVO
* @param model
* @param request
* @return
* @throws Exception
*/
@RequestMapping("/web/ve/instr/tngrVisitEdu/asgnmInfo/insertVeaLctrExchnCmpltAjax.do")
public ModelAndView insertVeaLctrExchnCmpltAjax(
@ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
//로그인 처리====================================
//로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "loginFail");
return modelAndView;
}
vEInstrAsgnmVO.setLastUpdusrId(loginVO.getUniqId());
System.out.println("vEInstrAsgnmVO :: "+ vEInstrAsgnmVO.getEduAplctOrd());
System.out.println("vEInstrAsgnmVO :: "+ vEInstrAsgnmVO.getEduChasiOrd());
System.out.println("vEInstrAsgnmVO To:: "+ vEInstrAsgnmVO.getToEduAplctOrd());
System.out.println("vEInstrAsgnmVO To:: "+ vEInstrAsgnmVO.getToEduChasiOrd());
System.out.println("vEInstrAsgnmVO :: "+ vEInstrAsgnmVO.getExchnOrd());
try {
// 강의교환 테이블 udpate
vEAsgnmMIXService.udpateToEduAplctOrdFromVeaLctrExchn(vEInstrAsgnmVO);
// 강의교환 정보를 가져옴
// userId와 toUserId가져오기 위함
VEInstrAsgnmVO vEInstrAsgnmInfoVO = vEAsgnmMIXService.findByExchnOrdFromVeaLctrExchnInfo(vEInstrAsgnmVO);
// to_user_id user_id 치환
// where EDU_APLCT_ORD, EDU_CHASI_ORD
VEInstrAsgnmVO updateVO = new VEInstrAsgnmVO();
updateVO.setEduAplctOrd(vEInstrAsgnmInfoVO.getEduAplctOrd());
updateVO.setEduChasiOrd(vEInstrAsgnmInfoVO.getEduChasiOrd());
updateVO.setUserId(vEInstrAsgnmInfoVO.getToUserId());
vEAsgnmMIXService.updateveUserIdFromEduChasiInstrAsgnm(updateVO);
updateVO.setEduAplctOrd(vEInstrAsgnmInfoVO.getToEduAplctOrd());
updateVO.setEduChasiOrd(vEInstrAsgnmInfoVO.getToEduChasiOrd());
updateVO.setUserId(vEInstrAsgnmInfoVO.getUserId());
vEAsgnmMIXService.updateveUserIdFromEduChasiInstrAsgnm(updateVO);
modelAndView.addObject("result", "success");
modelAndView.addObject("msg", "교환신청을 취소하였습니다");
return modelAndView;
} catch (Exception e) {
return modelAndView;
}
}
@RequestMapping("/web/ve/instr/tngrVisitEdu/asgnmInfo/popup/instrAsgnmListPopup.do")

View File

@ -4971,44 +4971,124 @@
<!-- 교육,차시 pk값과 userId로 교환신청강의가 있는지 확인 -->
<select id="VEAsgnmMIXDAO.findByEduAplctOrdAndEduChasiOrdFromVeaLctrExchnInfo" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
/*findByEduAplctOrdAndEduChasiOrdFromVeaLctrExchnInfo*/
SELECT
EXCHN_ORD as exchnOrd,
EDU_APLCT_ORD as eduAplctOrd,
EDU_CHASI_ORD as eduChasiOrd,
USER_ID as userId,
EXCHN_CD as exchnCd,
TO_USER_ID as toUserId,
TO_EDU_APLCT_ORD as toEduAplctOrd,
TO_EDU_CHASI_ORD as toEduChasiOrd,
FRST_REGIST_PNTTM as frstRegistPnttm,
FRST_REGISTER_ID as frstRegisterId,
LAST_UPDT_PNTTM as lastUpdtPnttm,
LAST_UPDUSR_ID as lastUpdusrId
a.EXCHN_ORD as exchnOrd,
a.EDU_APLCT_ORD as eduAplctOrd,
a.EDU_CHASI_ORD as eduChasiOrd,
a.USER_ID as userId,
a.EXCHN_CD as exchnCd,
a.TO_USER_ID as toUserId,
a.TO_EDU_APLCT_ORD as toEduAplctOrd,
a.TO_EDU_CHASI_ORD as toEduChasiOrd,
a.FRST_REGIST_PNTTM as frstRegistPnttm,
a.FRST_REGISTER_ID as frstRegisterId,
a.LAST_UPDT_PNTTM as lastUpdtPnttm,
a.LAST_UPDUSR_ID as lastUpdusrId,
d.INSTR_NM AS instrNm
FROM
VEA_LCTR_EXCHN
VEA_LCTR_EXCHN a
LEFT JOIN VE_INSTR_DETAIL d ON
a.USER_ID = d.user_id
AND d.USE_YN = 'Y'
WHERE
EDU_APLCT_ORD = #eduAplctOrd#
AND EDU_CHASI_ORD = #eduChasiOrd#
AND USER_ID = #userId#
a.EDU_APLCT_ORD = #eduAplctOrd#
AND a.EDU_CHASI_ORD = #eduChasiOrd#
AND a.USER_ID = #userId#
</select>
<!-- 교육,차시 pk값과 userId로 교환신청강의가 있는지 확인 -->
<select id="VEAsgnmMIXDAO.findByExchnOrdFromVeaLctrExchnInfo" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
/*findByEduAplctOrdAndEduChasiOrdFromVeaLctrExchnInfo*/
SELECT
a.EXCHN_ORD as exchnOrd,
a.EDU_APLCT_ORD as eduAplctOrd,
a.EDU_CHASI_ORD as eduChasiOrd,
a.USER_ID as userId,
a.EXCHN_CD as exchnCd,
a.TO_USER_ID as toUserId,
a.TO_EDU_APLCT_ORD as toEduAplctOrd,
a.TO_EDU_CHASI_ORD as toEduChasiOrd,
a.FRST_REGIST_PNTTM as frstRegistPnttm,
a.FRST_REGISTER_ID as frstRegisterId,
a.LAST_UPDT_PNTTM as lastUpdtPnttm,
a.LAST_UPDUSR_ID as lastUpdusrId,
d.INSTR_NM AS instrNm
FROM
VEA_LCTR_EXCHN a
LEFT JOIN VE_INSTR_DETAIL d ON
a.USER_ID = d.user_id
AND d.USE_YN = 'Y'
WHERE
a.EXCHN_ORD = #exchnOrd#
</select>
<delete id="VEAsgnmMIXDAO.delFromVeaLctrExchn" parameterClass="VEInstrAsgnmVO">
DELETE from
VEA_LCTR_EXCHN
where
EXCHN_ORD = #exchnOrd#
</delete>
<update id="VEAsgnmMIXDAO.udpateToEduAplctOrdFromVeaLctrExchn" parameterClass="VEInstrAsgnmVO">
/* VEAsgnmMIXDAO.udpateToEduAplctOrdFromVeaLctrExchn */
UPDATE
VEA_LCTR_EXCHN
SET
TO_EDU_APLCT_ORD = #toEduAplctOrd#
, TO_EDU_CHASI_ORD = #toEduChasiOrd#
, EXCHN_CD = '20'
, LAST_UPDT_PNTTM = SYSDATE
, LAST_UPDUSR_ID = #lastUpdusrId#
where
EXCHN_ORD = #exchnOrd#
</update>
<update id="VEAsgnmMIXDAO.updateveUserIdFromEduChasiInstrAsgnm" parameterClass="VEInstrAsgnmVO">
/* VEAsgnmMIXDAO.updateveUserIdFromEduChasiInstrAsgnm */
UPDATE
ve_edu_chasi_instr_asgnm
SET
user_id = #userId#
where
EDU_APLCT_ORD = #eduAplctOrd#
AND EDU_CHASI_ORD = #eduChasiOrd#
</update>
<select id="VEAsgnmMIXDAO.findAllFromVeaLctrExchnInfo" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
/* VEAsgnmMIXDAO.findAllFromVeaLctrExchnInfo */
SELECT
a.USER_ID
, d.INSTR_NM AS instrNm
, a.EDU_APLCT_ORD as eduAplctOrd
, a.EDU_CHASI_ORD as eduChasiOrd
, c.edu_hope_dt
, TO_CHAR(TO_DATE(c.STRT_TM, 'HH24MI'), 'HH24:MI') AS strtTm
, TO_CHAR(TO_DATE(c.END_TM, 'HH24MI'), 'HH24:MI') AS endTm
, b.EDU_SLCT_AREA_CD AS eduSlctAreaCd
, b.schol_instt_nm AS scholInsttNm
, c.TRGT AS trgt
a.USER_ID ,
a.EXCHN_ORD AS exchnOrd,
a.EDU_APLCT_ORD AS eduAplctOrd,
a.EDU_CHASI_ORD AS eduChasiOrd,
a.USER_ID AS userId,
a.EXCHN_CD AS exchnCd,
a.TO_USER_ID AS toUserId,
a.TO_EDU_APLCT_ORD AS toEduAplctOrd,
a.TO_EDU_CHASI_ORD AS toEduChasiOrd,
TO_CHAR(a.frst_regist_pnttm,'YYYY-MM-DD') AS frstRegistPnttm,
a.FRST_REGISTER_ID AS frstRegisterId,
a.LAST_UPDT_PNTTM AS lastUpdtPnttm,
a.LAST_UPDUSR_ID AS lastUpdusrId ,
d.INSTR_NM AS instrNm ,
a.EDU_APLCT_ORD AS eduAplctOrd ,
a.EDU_CHASI_ORD AS eduChasiOrd ,
c.edu_hope_dt AS eduHopeDt,
TO_CHAR(TO_DATE(c.STRT_TM, 'HH24MI'), 'HH24:MI') AS strtTm ,
TO_CHAR(TO_DATE(c.END_TM, 'HH24MI'), 'HH24:MI') AS endTm ,
b.EDU_SLCT_AREA_CD AS eduSlctAreaCd ,
b.SCHOL_INSTT_NM AS scholInsttNm ,
c.TRGT AS trgt
FROM
VEA_LCTR_EXCHN a
LEFT JOIN VE_EDU_APLCT b

View File

@ -11,6 +11,15 @@
$( document ).ready(function(){
//청소년강사인지 체크
tngrInstrCheck();
$("#ingId").click(function(){
console.log('!! ', $(this).data('ord'));
$('#exchnNm').text($(this).data('info'));
$('#exchnForm #exchnOrd').val($(this).data('ord'));
});
});
function fncGoCreate() {
@ -85,11 +94,11 @@
}
function fn_eduExchnPopup(exchnOrd){
function fn_eduExchnPopup(exchnOrd, eduAplctOrd, eduChasiOrd){
var data ={
"exchnOrd": exchnOrd
, "eduAplctOrd": eduAplctOrd
, "eduChasiOrd": eduChasiOrd
}
commonPopLayeropen(
@ -101,6 +110,44 @@
, "instrAsgnmListPopup"
);
}
function fn_confirm(){
var data = new FormData(document.getElementById("exchnForm"));
var url = "${pageContext.request.contextPath}/web/ve/instr/tngrVisitEdu/asgnmInfo/delFromVeaLctrExchn.do";
if(!confirm("강의교환신청을 하시겠습니까?")) return;
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
console.log('returnData : ', returnData);
if(returnData.result == "success"){
// 대상자 테이블 pk 값
var sspnIdtmtTrgtOrd = returnData.id;
alert(returnData.msg);
location.reload();
// 교육 신청 ajax
// 대상자 이름, 생년월일, 대상자TB ID
}else{
alert(returnData.msg);
}
// fn_target_confirm_clean();
// location.reload();
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
</script>
<!-- cont -->
@ -268,20 +315,13 @@
<c:when test="${list.asgnmAprvlCd eq '20'}">
<c:if test="${empty list.exchnOrd }">
<c:set var="exchnCd" value="신청" />
<button type="button" class="btnType04" onclick="fn_eduRegPopup('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');" ><c:out value='${exchnCd}'/></button>
</c:if>
<c:if test="${not empty list.exchnOrd
and list.exchnCd eq '10'}">
<c:set var="exchnCd" value="진행중" />
<button type="button" class="btnType04" id="ingId" data-info="<c:out value="${list.instrNm}"/>" data-ord="<c:out value="${list.exchnOrd}"/>" data-tooltip="target_confirm_popup" ><c:out value='${exchnCd}'/></button>
</c:if>
<c:if test="${not empty list.exchnOrd
and list.exchnCd eq '20'}">
<c:set var="exchnCd" value="완료" />
</c:if>
<c:if test="${not empty list.exchnOrd
and list.exchnCd eq '30'}">
<c:set var="exchnCd" value="거절" />
</c:if>
<button type="button" class="btnType04" onclick="fn_eduRegPopup('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');" ><c:out value='${exchnCd}'/></button>
</c:when>
<c:otherwise>
-
@ -403,62 +443,57 @@
<div class="tb_list01">
<table>
<colgroup>
<%-- <col style="width: 8%;"> --%>
<col style="width: 8%;">
<col style="width: 15%;">
<col style="width: 8%;">
<col style="width: auto">
<col style="width: 10%;">
<col style="width: 15%;">
<col style="width: 12%;">
<col style="width: 12%;">
</colgroup>
<thead>
<tr>
<!-- <th scope="col">번호</th> -->
<th scope="col">요청자</th>
<th scope="col">요청시간</th>
<th scope="col">요청상태</th>
<th scope="col">교육일자</th>
<th scope="col">차시</th>
<th scope="col">지역</th>
<th scope="col">기관(학교)명</th>
<th scope="col">교육대상</th>
<th scope="col">교환요청일자</th>
<th scope="col"></th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${veaLctrExchnInfo}" varStatus="status">
<%-- <fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyy.MM.dd"/> <!-- 요일 구하기 --> --%>
<tr>
<%-- <td onclick="fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');" style="cursor:pointer;"> --%>
<!-- <p> -->
<%-- <c:if test="${vEInstrAsgnmVO.searchSortOrd eq 'desc' }"> --%>
<%-- <c:out value="${ ( paginationInfo.totalRecordCount - ((vEInstrAsgnmVO.pageIndex -1)*vEInstrAsgnmVO.pageUnit) ) - status.index }"/> --%>
<%-- </c:if> --%>
<%-- <c:if test="${vEInstrAsgnmVO.searchSortOrd eq 'asc' }"> --%>
<%-- <c:out value="${(vEInstrAsgnmVO.pageIndex - 1) * vEInstrAsgnmVO.pageUnit + status.count}"/> --%>
<%-- </c:if> --%>
<!-- </p> -->
<!-- </td> -->
<td><p><c:out value='${list.instrNm}'/></p></td>
<td><p><c:out value='${list.eduHopeDt}'/></p></td>
<td><p><c:out value='${list.strtTm}'/> ~ <c:out value='${list.endTm}'/></p></td>
<td><ve:code codeId="VE0008" code="${list.eduSlctAreaCd}"/></td>
<td><p><c:out value='${list.scholInsttNm}'/></p></td>
<td><p><c:out value='${list.trgt}'/></p></td>
<td><p><c:out value='${list.frstRegistPnttm}'/></p></td>
<td><p><c:out value='${list.exchnCd}'/></p></td>
<td>
<c:choose>
<c:when test="${not empty list.exchnOrd
and list.exchnCd eq '10'}">
<c:set var="exchnCd" value="확인" />
<button type="button" class="btnType04" onclick="fn_eduExchnPopup('<c:out value="${list.exchnOrd}"/>','<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');" >확인</button>
</c:when>
<c:when test="${not empty list.exchnOrd
and list.exchnCd eq '20'}">
<c:set var="exchnCd" value="완료" />
완료
</c:when>
<c:when test="${not empty list.exchnOrd
and list.exchnCd eq '30'}">
<c:set var="exchnCd" value="거절" />
거절
</c:when>
</c:choose>
<button type="button" class="btnType04" onclick="fn_eduExchnPopup('<c:out value="${list.exchnOrd}"/>');" ><c:out value='${exchnCd}'/></button>
</td>
</tr>
</c:forEach>
<c:if test="${empty veaLctrExchnInfo}">
<tr><td colspan="4"><spring:message code="common.nodata.msg" /></td></tr>
<tr><td colspan="8"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
@ -468,3 +503,45 @@
<!-- </div> -->
</div>
<form id="exchnForm" name="exchnForm">
<input type="hidden" id="exchnOrd" name="exchnOrd" />
</form>
<!-- 교육대상자 확인 -->
<div class="tooltip-wrap">
<div class="popup_wrap popType01" tabindex="0" data-tooltip-con="target_confirm_popup" data-focus="target_confirm_popup" data-focus-prev="target_confirm_popup_close">
<div class="popup_tit">
<p>교환신청 대상자</p>
<button class="btn_popup_close tooltip-close" data-focus="target_confirm_popup_close" title="팝업 닫기"><i></i></button>
</div>
<div class="popup_cont">
<div class="cont_body">
<div class="pop_tb_type01" style="overflow:visible;">
<table>
<colgroup>
<col style="width:38%;">
<col style="width:auto;">
</colgroup>
<tr>
<th>성명</th>
<td id="exchnNm">
</td>
</tr>
</table>
</div>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btnType05" onclick="fn_confirm()">취소</button>
<button type="button" class="btnType02 tooltip-close" id="target_confirm_popup-close" data-focus="target_confirm_popup-close" data-focus-next="target_confirm_popup">취소</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
</div>
</div>

View File

@ -37,7 +37,7 @@ function fncScholList(paramObj) {
}
commonPopLayeropen(
"${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/asgnmInfo/popup/instrAsgnmListExchnPopup.do"
"${pageContext.request.contextPath}/web/ve/instr/tngrVisitEdu/asgnmInfo/popup/instrAsgnmListExchnPopup.do"
, 800
, 800
, paramObj
@ -46,15 +46,18 @@ function fncScholList(paramObj) {
);
}
function fcnCallData(toUserId) {
function fn_eduRegPopup(eduAplctOrd, eduChasiOrd) {
document.reqForm.toUserId.value = toUserId;
document.reqForm.toEduAplctOrd.value = eduAplctOrd;
document.reqForm.toEduChasiOrd.value = eduChasiOrd;
var data = new FormData(document.getElementById("reqForm"));
if(confirm("강의교환을 신청하시겠습니까?")){
if(!confirm("강의교환신청을 완료 처리 하시겠습니까?")) return;
$.ajax({
type: "POST",
url:"<c:url value='/web/ve/instr/adultVisitEdu/asgnmInfo/insertVeaLctrExchnAjax.do'/>",
url:"<c:url value='/web/ve/instr/tngrVisitEdu/asgnmInfo/insertVeaLctrExchnCmpltAjax.do'/>",
data: data,
dataType:'json',
async: false,
@ -63,7 +66,7 @@ function fncScholList(paramObj) {
cache: false,
success: function (returnData, status) {
if(status == 'success'){
alert("완료되었습니다..");
alert("완료되었습니다.");
location.reload();
} else if(status== 'fail'){
alert("처리에 실패하였습니다.");
@ -71,7 +74,6 @@ function fncScholList(paramObj) {
},
error: function (e) { alert("처리에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
}
@ -80,14 +82,15 @@ function fncScholList(paramObj) {
</script>
<form id="reqForm" name="reqForm">
<input type="hidden" name="toUserId" value="" />
<input type="hidden" name="eduAplctOrd" value="<c:out value="${vEPrcsDetailVO.eduAplctOrd}" />" />
<input type="hidden" name="eduChasiOrd" value="<c:out value="${vEPrcsDetailVO.eduChasiOrd}" />" />
<input type="hidden" name="eduAplctOrd" value="<c:out value="${vEInstrAsgnmVO.eduAplctOrd}" />" />
<input type="hidden" name="eduChasiOrd" value="<c:out value="${vEInstrAsgnmVO.eduChasiOrd}" />" />
<input type="hidden" name="toEduAplctOrd" value="" />
<input type="hidden" name="toEduChasiOrd" value="" />
<input type="hidden" name="exchnOrd" value="<c:out value="${vEInstrAsgnmVO.exchnOrd}" />" />
</form>
<form:form id="listForm" name="listForm" commandName="vEEduAplctVO">
<input type="hidden" name="pageIndex" value="<c:out value='${vEPrcsDetailVO.pageIndex}' default='1' />"/>
<input type="hidden" name="pageIndex" value="<c:out value='${vEInstrAsgnmVO.pageIndex}' default='1' />"/>
@ -212,7 +215,7 @@ function fncScholList(paramObj) {
</c:choose>
</td>
<td>
<button type="button" class="btnType01" onclick="fn_eduRegPopup('${list.userId}');">교환</button>
<button type="button" class="btnType01" onclick="fn_eduRegPopup('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');">교환</button>
</td>
</tr>
</c:forEach>