관리자 실무/기소 이수 처리 시 이수번호 생성

This commit is contained in:
hylee 2023-12-06 18:12:08 +09:00
parent 0768732828
commit 63a153bca0
15 changed files with 2323 additions and 1147 deletions

View File

@ -3,6 +3,7 @@ package kcc.com.utl.fcc.service;
import java.security.SecureRandom;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
@ -862,4 +863,7 @@ public class EgovDateUtil {
return timeStr;
}
public static String getYear() {
return Integer.toString(LocalDate.now().getYear());
}
}

View File

@ -0,0 +1,218 @@
package kcc.let.my.web;
import java.io.OutputStream;
import java.security.SecureRandom;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Map.Entry;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.support.SessionStatus;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import org.springmodules.validation.commons.DefaultBeanValidator;
import com.penta.scpdb.ScpDbAgent;
import com.sci.v2.pcc.secu.SciSecuManager;
import com.sci.v2.pcc.secu.hmac.SciHmac;
import NiceID.Check.CPClient;
import egovframework.rte.fdl.property.EgovPropertyService;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import egovframework.rte.psl.dataaccess.util.EgovMap;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.ComDefaultCodeVO;
import kcc.com.cmm.EgovMessageSource;
import kcc.com.cmm.EgovMultiPartEmail;
import kcc.com.cmm.LoginVO;
import kcc.com.cmm.ReadVO;
import kcc.com.cmm.UserVO;
import kcc.com.cmm.service.EgovCmmUseService;
import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.service.EgovFileMngUtil;
import kcc.com.cmm.service.FileVO;
import kcc.com.cmm.service.ReadService;
import kcc.com.cmm.util.StringUtil;
import kcc.com.cmm.util.WebUtil;
import kcc.com.uss.ion.cnf.service.ProhibitMngService;
import kcc.com.uss.ion.cnf.service.WordFilterService;
import kcc.com.uss.ion.cnf.service.WordFilterVO;
import kcc.com.utl.fcc.service.EgovStringUtil;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.cop.bbs.service.Board;
import kcc.let.cop.bbs.service.BoardChgHst;
import kcc.let.cop.bbs.service.BoardMaster;
import kcc.let.cop.bbs.service.BoardMasterVO;
import kcc.let.cop.bbs.service.BoardVO;
import kcc.let.cop.bbs.service.EgovBBSAttributeManageService;
import kcc.let.cop.bbs.service.EgovBBSManageService;
import kcc.let.sym.mnu.mpm.service.EgovMenuManageService;
import kcc.let.sym.mnu.mpm.service.MenuManageVO;
import kcc.let.sym.site.service.EgovSiteManagerService;
import kcc.let.sym.site.service.SiteManagerVO;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.utl.sim.service.EgovClntInfo;
import kcc.ve.cmm.VeConstants;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
/**
* 게시물 관리를 위한 컨트롤러 클래스
*
* @author 공통 서비스 개발팀 이삼섭
* @since 2009.03.19
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.19 이삼섭 최초 생성
* 2009.06.29 한성곤 2단계 기능 추가 (댓글관리, 만족도조사)
* 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성
*
* </pre>
*/
@Controller
public class MyPageController {
// 로그인 체크 util
@Resource(name = "checkLoginUtil")
private CheckLoginUtil checkLoginUtil;
// 교육과정신청
@Resource(name = "vEEduMIXService")
private VEEduMIXService vEEduMIXService;
private static final Logger LOGGER = LoggerFactory.getLogger(MyPageController.class);
@RequestMapping(value = { "/web/my/myPageDashBoard.do" })
public String selectFaqListWeb(HttpServletRequest request, @ModelAttribute("searchVO") BoardMasterVO boardMasterVO,
ModelMap model, BoardVO boardVO, RedirectAttributes redirectAttributes) throws Exception {
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); //로그인 정보가 없으면 로그인 페이지로 이동한다.
}
/*
* 청소년 진행목록
*/
{
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
// 청소년
// 사용자 교육신청 차시 리스트
VEEduChasiVO vEEduChasiVO = new VEEduChasiVO();
vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
vEEduChasiVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_10);
vEEduChasiVO.setAprvlCd(VeConstants.STATUS_CD_EDU_SELCT);
vEEduChasiVO.setUserId(loginVO.getUniqId());
vEEduChasiVO.setRecordCountPerPage(1000000);
vEEduChasiVO.setFirstIndex(0);
// List<VEEduChasiVO> vEEduChasiVOList =
// vEEduMIXService.selectChasiList(vEEduChasiVO);
vEEduChasiVO.setPageIndex(vEEduAplctVO.getPageIndex());
vEEduChasiVO.setPageUnit(vEEduAplctVO.getPageUnit());
vEEduChasiVO.setPageSize(vEEduAplctVO.getPageSize());
List<VEEduChasiVO> tngrList = vEEduMIXService.selectChasiListMypage(vEEduChasiVO);
Map<String, String> tngrMap = tngrList.stream()
.collect(Collectors.partitioningBy(vo -> "30".equals(vo.getAsgnmAprvlCd()), Collectors.counting()))
.entrySet().stream()
.collect(Collectors.toMap(
entry -> entry.getKey() ? "tngrEnd" : "tngrIng",
entry -> entry.getValue().toString()
)
);
model.addAttribute("tngrMap", tngrMap);
model.addAttribute("vtngrList", tngrList);
}
/*
* 성인 진행목록
*/
{
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
// 청소년
// 사용자 교육신청 차시 리스트
VEEduChasiVO vEEduChasiVO = new VEEduChasiVO();
vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
vEEduChasiVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20);
vEEduChasiVO.setAprvlCd(VeConstants.STATUS_CD_EDU_SELCT);
vEEduChasiVO.setUserId(loginVO.getUniqId());
vEEduChasiVO.setRecordCountPerPage(1000000);
vEEduChasiVO.setFirstIndex(0);
// List<VEEduChasiVO> vEEduChasiVOList =
// vEEduMIXService.selectChasiList(vEEduChasiVO);
vEEduChasiVO.setPageIndex(vEEduAplctVO.getPageIndex());
vEEduChasiVO.setPageUnit(vEEduAplctVO.getPageUnit());
vEEduChasiVO.setPageSize(vEEduAplctVO.getPageSize());
List<VEEduChasiVO> vEEduChasiVOList = vEEduMIXService.selectChasiListMypage(vEEduChasiVO);
Map<String, String> tngrMap = vEEduChasiVOList.stream()
.collect(Collectors.partitioningBy(vo -> "30".equals(vo.getAsgnmAprvlCd()), Collectors.counting()))
.entrySet().stream()
.collect(Collectors.toMap(
entry -> entry.getKey() ? "adultEnd" : "adultIng",
entry -> entry.getValue().toString()
)
);
model.addAttribute("adultMap", tngrMap);
}
// return "/web/cop/bbs/FaqListAjax";
return "web/my/myPageDashBoard";
}
}

View File

@ -1,6 +1,7 @@
package kcc.ve.instr.tngrVisitEdu.eduInfo.service;
import java.io.Serializable;
import java.util.List;
import kcc.com.cmm.ComDefaultVO;
import kcc.com.cmm.service.FileVO;
@ -156,6 +157,13 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
private String qustnrRsltCnt; //설문응답 수량
private String eduCmpltCrtfcNmbr;
private List<String> eduAplctOrdList; //교육신청순번
private List<String> sspnIdtmtTrgtOrdList; //교육신청순번
public int getChasi() {
return chasi;
}
@ -1807,6 +1815,24 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
public void setPrvsQs(String prvsQs) {
this.prvsQs = prvsQs;
}
public String getEduCmpltCrtfcNmbr() {
return eduCmpltCrtfcNmbr;
}
public void setEduCmpltCrtfcNmbr(String eduCmpltCrtfcNmbr) {
this.eduCmpltCrtfcNmbr = eduCmpltCrtfcNmbr;
}
public List<String> getEduAplctOrdList() {
return eduAplctOrdList;
}
public void setEduAplctOrdList(List<String> eduAplctOrdList) {
this.eduAplctOrdList = eduAplctOrdList;
}
public List<String> getSspnIdtmtTrgtOrdList() {
return sspnIdtmtTrgtOrdList;
}
public void setSspnIdtmtTrgtOrdList(List<String> sspnIdtmtTrgtOrdList) {
this.sspnIdtmtTrgtOrdList = sspnIdtmtTrgtOrdList;
}
}

View File

@ -42,6 +42,8 @@ public interface VEEduMIXService {
List<VEEduChasiVO> selectChasiList(VEEduChasiVO vEEduChasiVO) throws Exception;
List<VEEduChasiVO> selectChasiListMypage(VEEduChasiVO vEEduChasiVO) throws Exception;
//설문지 분리 정보 추가(기본, 신청인)
List<VEEduChasiVO> selectChasiList202312(VEEduChasiVO vEEduChasiVO) throws Exception;
@ -92,4 +94,6 @@ public interface VEEduMIXService {
//저작권 체험교실 이력 과정 목록
List<VEEduAplctVO> selectExprnHstryPagingList(VEEduAplctVO paramVO) throws Exception;
List<VEEduAplctVO> selectEduCmpltCrtfcNmbrList(VEEduAplctVO vEEduAplctVO) throws Exception;
}

View File

@ -106,6 +106,13 @@ public class VEEduMIXDAO extends EgovAbstractDAO {
return tlist;
}
//차시별 강사배치 리스트
public List<VEEduChasiVO> selectChasiListMypage(VEEduChasiVO vEEduChasiVO) throws Exception {
@SuppressWarnings("unchecked")
List<VEEduChasiVO> tlist = (List<VEEduChasiVO>) list("VEEduMIXDAO.selectChasiListMypage", vEEduChasiVO);
return tlist;
}
//차시별 강사배치 리스트
public List<VEEduChasiVO> selectChasiList202312(VEEduChasiVO vEEduChasiVO) throws Exception {
@SuppressWarnings("unchecked")
@ -229,4 +236,8 @@ public class VEEduMIXDAO extends EgovAbstractDAO {
return tlist;
}
public List<VEEduAplctVO> selectEduCmpltCrtfcNmbrList(VEEduAplctVO vEEduAplctVO) {
return (List<VEEduAplctVO>) list("VEEduMIXDAO.selectEduCmpltCrtfcNmbrList", vEEduAplctVO);
}
}

View File

@ -91,6 +91,11 @@ public class VEEduMIXServiceImpl implements VEEduMIXService {
return vEEduMIXDAO.selectChasiList(vEEduChasiVO);
}
@Override
public List<VEEduChasiVO> selectChasiListMypage(VEEduChasiVO vEEduChasiVO) throws Exception {
return vEEduMIXDAO.selectChasiListMypage(vEEduChasiVO);
}
@Override
public List<VEEduChasiVO> selectChasiList202312(VEEduChasiVO vEEduChasiVO) throws Exception {
return vEEduMIXDAO.selectChasiList202312(vEEduChasiVO);
@ -201,4 +206,9 @@ public class VEEduMIXServiceImpl implements VEEduMIXService {
public List<VEEduAplctVO> selectExprnHstryPagingList(VEEduAplctVO paramVO) throws Exception{
return vEEduMIXDAO.selectExprnHstryPagingList(paramVO);
}
@Override
public List<VEEduAplctVO> selectEduCmpltCrtfcNmbrList(VEEduAplctVO vEEduAplctVO) throws Exception {
return vEEduMIXDAO.selectEduCmpltCrtfcNmbrList(vEEduAplctVO);
}
}

View File

@ -1,6 +1,8 @@
package kcc.ve.oprtn.cndtnSspnIdtmt.web;
import java.util.Comparator;
import java.util.List;
import java.util.Optional;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@ -26,6 +28,7 @@ import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.service.FileVO;
import kcc.com.cmm.service.impl.CmmUseDAO;
import kcc.com.cmm.util.StringUtil;
import kcc.com.utl.fcc.service.EgovDateUtil;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
@ -888,6 +891,13 @@ public class CndtnPrcsInfoMngController {
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
// System.out.println("vEEduAplctVO.getPrcsAplctPrdOrd() : "+ vEEduAplctVO.getPrcsAplctPrdOrd());
System.out.println("vEEduAplctVO.getEduAplctOrd() : "+ vEEduAplctVO.getEduAplctOrd());
// 이수 상태라면
if("20".equals(vEEduAplctVO.getAplctStateCd())) {
vEEduAplctVO.setEduCmpltCrtfcNmbr(this.cmpltChkAndMakeNmber(vEEduAplctVO.getLctrDivCd()));
}
// 신청상세정보 상태값 update
vEEduAplctVO.setLastUpdusrId(loginVO.getUniqId());
vEEduMIXService.updateAplctStateCd(vEEduAplctVO);
@ -905,6 +915,29 @@ public class CndtnPrcsInfoMngController {
return modelAndView;
}
private String cmpltChkAndMakeNmber(String lctrDivCd) throws Exception {
// 현재 년도
String currentYear = String.valueOf(java.time.Year.now());
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
vEEduAplctVO.setLctrDivCd(lctrDivCd);
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectEduCmpltCrtfcNmbrList(vEEduAplctVO);
// 값이 있으면 있는 값에 최대값 구하고
// 값이 없으면 초기값 설정
String maxCrtfcNmbr = vEEduAplctVOList.stream()
.map(VEEduAplctVO::getEduCmpltCrtfcNmbr)
.max(Comparator.comparingInt(item -> Integer.parseInt(item.split("-")[1])))
.orElse( currentYear + "-00000"); // 기본값 설정
int nextNumber = Integer.parseInt(maxCrtfcNmbr.split("-")[1]) + 1;
return currentYear + "-" + String.format("%05d", nextNumber);
}
/**
* 기소유예 신청자 상태값 변경
*/
@ -980,11 +1013,48 @@ public class CndtnPrcsInfoMngController {
try {
vEPrcsDetailVO.setLastUpdusrId(loginVO.getUniqId());
// 교육 신청 테이블에 신청자 상태값 update
vEAPrcsAplctPrdInstrAsgnmService.updateAplctStateCdListAjax(vEPrcsDetailVO);
// 대상자 테이블에 update
vEAPrcsAplctPrdInstrAsgnmService.updateEduStateCdListAjax(vEPrcsDetailVO);
// if("20".equals(vEPrcsDetailVO.getAplctStateCd())) {
// vEPrcsDetailVO.setEduCmpltCrtfcNmbr(this.cmpltChkAndMakeNmber(vEPrcsDetailVO.getLctrDivCd()));
// }
//
String eduCmpltCrtfcNmbr = "";
String currentYear = String.valueOf(java.time.Year.now());
if("20".equals(vEPrcsDetailVO.getAplctStateCd())) {
for(String eduAplctOrd : vEPrcsDetailVO.getEduAplctOrdList()) {
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
vEEduAplctVO.setAplctStateCd(vEPrcsDetailVO.getAplctStateCd());
vEEduAplctVO.setLastUpdusrId(loginVO.getUniqId());
vEEduAplctVO.setPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
vEEduAplctVO.setEduAplctOrd(eduAplctOrd);
if(StringUtils.isEmpty(eduCmpltCrtfcNmbr)) {
eduCmpltCrtfcNmbr = this.cmpltChkAndMakeNmber(vEPrcsDetailVO.getLctrDivCd());
}else {
eduCmpltCrtfcNmbr = currentYear + "-" + String.format("%05d", Integer.parseInt(eduCmpltCrtfcNmbr.split("-")[1])+1);
}
vEEduAplctVO.setEduCmpltCrtfcNmbr(eduCmpltCrtfcNmbr);
vEEduMIXService.updateAplctStateCd(vEEduAplctVO);
}
}else {
vEAPrcsAplctPrdInstrAsgnmService.updateAplctStateCdListAjax(vEPrcsDetailVO);
}
// 교육 신청 테이블에 신청자 상태값 update
if(vEPrcsDetailVO.getSspnIdtmtTrgtOrdList() != null && !vEPrcsDetailVO.getSspnIdtmtTrgtOrdList().isEmpty())
{
// 대상자 테이블에 update
vEAPrcsAplctPrdInstrAsgnmService.updateEduStateCdListAjax(vEPrcsDetailVO);
}
modelAndView.addObject("result", "success");
} catch (Exception ex) {

View File

@ -3769,6 +3769,7 @@
ON (
B.EDU_APLCT_ORD=D0.EDU_APLCT_ORD
AND b.edu_chasi_ord=d0.edu_chasi_ord
AND d0.asgnm_aprvl_cd='30' /* 강사가 교육확정한 경우만 보여짐 */
)
@ -3855,6 +3856,177 @@
<isNotEqual property="pageIndex" compareValue="0">
/*
LIMIT recordCountPerPage OFFSET firstIndex
*/
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
</isNotEqual>
</select>
<!-- 차시별 강사배치 리스트 page -->
<select id="VEEduMIXDAO.selectChasiListMypage" parameterClass="VEEduChasiVO" resultClass="VEEduChasiVO">
/* VEEduMIXDAO.selectChasiList */
SELECT COUNT(1) OVER() AS totCnt ,
ROWNUM AS rowNo ,
A.EDU_APLCT_ORD AS eduAplctOrd
, D0.ASGNM_APRVL_CD AS asgnmAprvlCd
, A.LCTR_DIV_CD AS lctrDivCd
, A.addr AS sAddr
, D.ADDR AS iAddr
, A.EDU_PRSNL AS eduPrsnl
, A.schol_instt_nm AS scholInsttNm
, A.edu_place AS eduPlace
, A.INSTT_NM AS InsttNm
, A.hope_sbjct AS hopeSbjct
, A.INSTT_DIV_CD AS insttDivCd
, A.EDU_SLCT_CD AS eduSlctCd
, B.EDU_CHASI_ORD AS eduChasiOrd
/*
, TO_CHAR(B.EDU_HOPE_DT,'YYYY.MM.DD') AS eduHopeDt
*/
, B.EDU_HOPE_DT AS eduHopeDt
, B.STRT_TM AS strtTm
, B.END_TM AS endTm
, B.LRN_TM AS lrnTm
, B.DIV_CD AS divCd
, B.TRGT AS trgt
, B.PRSNL AS prsnl
, TO_CHAR(B.FRST_REGIST_PNTTM,'YYYY-MM-DD') AS frstRegistPnttm
, B.FRST_REGISTER_ID AS frstRegisterId
, TO_CHAR(B.LAST_UPDT_PNTTM,'YYYY-MM-DD') AS lastUpdtPnttm
, B.LAST_UPDUSR_ID AS lastUpdusrId
, B.LRN_SBJCT AS lrnSbjct
, B.LRN_CN AS lrnCn
, B.RMRKS AS rmrks
, B.INSTR_CNFRM_CD AS instrCnfrmCd
, B.INSTR_CNFRM_PNTTM AS instrCnfrmPnttm
, B.INSTR_CNFRM_ID AS instrCnfrmId
, D.INSTR_DETAIL_ORD AS instrDetailOrd
, D.USER_ID AS userId
, D.INSTR_NM AS instrNm
, D.PHONE AS phone
, D.EMAIL AS email
, D.POST AS post
, D.ADDR AS addr
, D.ADDR_DETAIL AS addrDetail
, D.RSDNE AS rsdne
, D.D_BIRTH AS dBirth
, D.FINAL_SCHOL AS finalSchol
, D.MJR AS mjr
, D.APPT_YR AS apptYr
, D.APPT_DIV AS apptDiv
, D.ACTVT_CARER AS actvtCarer
, D.MN_LCTR_CN AS mnLctrCn
, D.PHT_ATCH_FILE_ID AS PhtAtchFileId
, D.BLNG AS blng
, D.PSTN AS pstn
, D.PRFSN_FLD AS prfsnFld
, D.SBMT_YN AS sbmtYn
, D.SBMT_PNTTM AS sbmtPnttm
, D.APRVL_CD AS aprvlCd
, D.APRVL_PNTTM AS aprvlPnttm
, D.APRVL_ID AS aprvlId
, E.prfrn_fld_cd AS prfrnFldCd
, E.APRVL_CN AS aprvlCn
, F.qustnr_respond_id AS qustnrRespondId
, G.sbmt_yn AS acmdtSbmtYn
, G.aprvl_cd AS acmdtAprvlCd
, H.oneway_dstnc AS onewayDstnc
, A.rslt_atch_file_id AS rsltAtchFileId
FROM
VE_EDU_APLCT A
, VE_EDU_CHASI B
LEFT OUTER JOIN ve_edu_chasi_instr_asgnm D0
ON (
B.EDU_APLCT_ORD=D0.EDU_APLCT_ORD
)
LEFT OUTER JOIN VE_INSTR_DETAIL D
ON (
D0.user_id = D.USER_ID
AND D.instr_div = #instrDiv#
AND D.USE_YN = 'Y'
)
LEFT OUTER JOIN VE_LCTR_STNG E
ON (D0.user_id = E.user_id
AND E.instr_div = #instrDiv#
AND E.USE_YN = 'Y'
)
LEFT OUTER JOIN lettnqustnrrespondinfo F
ON (
B.edu_aplct_ord = F.edu_aplct_ord
AND B.edu_chasi_ord = F.edu_chasi_ord
)
/*
LEFT OUTER JOIN ve_acmdt_aplct G
ON (
B.edu_aplct_ord = g.edu_aplct_ord
AND B.edu_chasi_ord = g.edu_chasi_ord
)
*/
LEFT OUTER JOIN (
SELECT b00.*
FROM (
SELECT edu_aplct_ord, edu_chasi_ord, MAX(acmdt_aplct_ord) AS acmdt_aplct_ord
FROM ve_acmdt_aplct
WHERE sbmt_yn='Y'
AND use_yn='Y'
GROUP BY edu_aplct_ord, edu_chasi_ord
) a00
, ve_acmdt_aplct b00
WHERE 1=1
AND a00.edu_aplct_ord=b00.edu_aplct_ord
AND a00.edu_chasi_ord=b00.edu_chasi_ord
AND a00.acmdt_aplct_ord=b00.acmdt_aplct_ord
) G
ON (
B.edu_aplct_ord = g.edu_aplct_ord
AND B.edu_chasi_ord = g.edu_chasi_ord
)
LEFT OUTER JOIN ve_edu_instr_dstnc H
ON (
B.edu_aplct_ord = h.edu_aplct_ord
AND D0.user_id = h.user_id
)
WHERE 1=1
AND NVL(A.USE_YN, 'Y') <![CDATA[ <> ]]> 'N'
AND A.EDU_APLCT_ORD = B.EDU_APLCT_ORD
<isNotEmpty property="eduAplctOrd">
AND A.EDU_APLCT_ORD = #eduAplctOrd#
</isNotEmpty>
<isNotEmpty property="lctrDivCd">
AND A.LCTR_DIV_CD = #lctrDivCd#
</isNotEmpty>
<isNotEmpty property="aprvlCd">
AND A.APRVL_CD=#aprvlCd#
</isNotEmpty>
<isNotEmpty property="userId">
AND A.USER_ID = #userId#
</isNotEmpty>
<isNotEmpty property="searchStartDt">
AND b.EDU_HOPE_DT <![CDATA[ >= ]]> REPLACE(#searchStartDt#, '.' , '')
</isNotEmpty>
<isNotEmpty property="searchEndDt">
AND b.EDU_HOPE_DT <![CDATA[ <= ]]> REPLACE(#searchEndDt#, '.' , '')
</isNotEmpty>
ORDER BY 1
, B.EDU_HOPE_DT DESC
<isEmpty property="orderByQuery">
, A.EDU_APLCT_ORD DESC
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
<isNotEqual property="pageIndex" compareValue="0">
/*
LIMIT recordCountPerPage OFFSET firstIndex
@ -6039,6 +6211,9 @@ VALUES
, aplct_pnttm = SYSDATE
, last_updusr_id = #lastUpdusrId#
, last_updt_pnttm = SYSDATE
<isNotEmpty property="eduCmpltCrtfcNmbr">
, EDU_CMPLT_CRTFC_NMBR = #eduCmpltCrtfcNmbr#
</isNotEmpty>
WHERE
prcs_aplct_prd_ord = #prcsAplctPrdOrd#
AND edu_aplct_ord = #eduAplctOrd#
@ -6636,4 +6811,20 @@ VALUES
</isNotEmpty>
</select>
<select id="VEEduMIXDAO.selectEduCmpltCrtfcNmbrList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
/* VEEduMIXDAO.selectEduCmpltCrtfcNmbrList */
SELECT
vad.PRCS_APLCT_PRD_ORD as prcsAplctPrdOrd
, vea.LCTR_DIV_CD as lctrDivCd
, vad.EDU_CMPLT_CRTFC_NMBR as eduCmpltCrtfcNmbr
FROM
VEA_APLCT_DETAIL_INFO vad
LEFT JOIN VE_EDU_APLCT vea
ON vad.EDU_APLCT_ORD = vea.EDU_APLCT_ORD
WHERE vea.LCTR_DIV_CD = #lctrDivCd#
AND vad.EDU_CMPLT_CRTFC_NMBR IS NOT null
AND vad.EDU_CMPLT_CRTFC_NMBR LIKE TO_CHAR(SYSDATE, 'YYYY') || '%'; /* 현재연도로 시작하는지 확인 */
</select>
</sqlMap>

View File

@ -137,6 +137,7 @@
UPDATE VEA_APLCT_DETAIL_INFO
SET aplct_state_cd = #aplctStateCd#
,aplct_pnttm = SYSDATE
,edu_cmplt_crtfc_nmbr = #eduCmpltCrtfcNmbr#
,last_updusr_id = #lastUpdusrId#
,last_updt_pnttm = sysdate
WHERE edu_aplct_ord IN

View File

@ -100,10 +100,12 @@
function fn_statusChg(aplctStateCd, eduAplctOrd, sspnIdtmtTrgtOrd){
document.statusChgForm.eduAplctOrd.value = eduAplctOrd ;
document.statusChgForm.aplctStateCd.value = aplctStateCd ;
document.statusChgForm.eduStateCd.value = aplctStateCd ;
document.statusChgForm.sspnIdtmtTrgtOrd.value = sspnIdtmtTrgtOrd ;
var data = new FormData(document.getElementById("statusChgForm"));
if(confirm("상태변경을 하시겠습니까?")){
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/updateAplctStateCdAjax.do'/>";
@ -187,7 +189,8 @@
"sspnIdtmtTrgtOrdList": selectsspnIdtmtTrgtOrd,
"aplctStateCd": p_aplctStateCd,
"eduStateCd": p_aplctStateCd,
"prcsAplctPrdOrd": p_prcsAplctPrdOrd
"prcsAplctPrdOrd": p_prcsAplctPrdOrd,
"lctrDivCd": '60'
};
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/updateAplctStateCdListAjax.do'/>";
@ -246,6 +249,7 @@
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd"/>
<input type="hidden" name="eduStateCd" id="eduStateCd"/>
<input type="hidden" name="sspnIdtmtTrgtOrd" id="sspnIdtmtTrgtOrd"/>
<input type="hidden" name="lctrDivCd" value="60" />
</form>
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
</form:form>
@ -492,6 +496,7 @@
<c:out value="${list.vs_clphone}"/>
</td>
<td>
<!--10 미이수, 20 이수 -->
<ve:code codeId="VEA003" code="${list.aplctStateCd}"/>
</td>
<td>

View File

@ -163,7 +163,8 @@
var dataToSend = {
"eduAplctOrdList": selectedEduAplctOrd,
"aplctStateCd": p_aplctStateCd,
"prcsAplctPrdOrd": p_prcsAplctPrdOrd
"prcsAplctPrdOrd": p_prcsAplctPrdOrd,
"lctrDivCd": '50'
};
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/updateAplctStateCdListAjax.do'/>";
@ -233,6 +234,7 @@
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${vEPrcsDetailVO.prcsAplctPrdOrd}' />"/>
<input type="hidden" name="aplctStateCd" id="aplctStateCd"/>
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd"/>
<input type="hidden" name="lctrDivCd" value="50"/>
</form>
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
</form:form>

View File

@ -253,6 +253,7 @@ function usrJoin(){
<div class="area_right">
<p class="login_after"><c:out value="${LoginVO.id}"/><span>님</span></p>
<p class="login_after"><a href="<c:url value="/web/my/myPageDashBoard.do" />" title="새창열림">마이페이지</a></p>
<!-- e배움터 로그인 연동으로 인하여 개발, 운영 구분 -->
<c:if test="${environment eq 'real' }">
<p class="login_info"><a href="https://edu-copyright.or.kr/user/member/loginForm.do" title="새창열림">회원정보 수정</a></p>

View File

@ -0,0 +1,632 @@
<%--
Class Name : FaqListAjax.jsp
Description : (사용자)자주하는 질문 Ajax
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2009.03.19 이삼섭 최초 생성
2011.08.31 JJY 경량환경 버전 생성
author : 공통서비스 개발팀 이삼섭
since : 2009.03.19
--%>
<%@ 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<head>
<script type="text/javascript">
$( document ).ready(function() {
});
function goTngrDetail(p_param1){
var listForm = document.listForm ;
listForm.eduAplctOrd.value = p_param1 ;
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/aplct/tngrVisitEdu/eduEnd/eduEndDetail.do").submit();
}
</script>
</head>
<body>
<form id="listForm" name="listForm">
<input type="hidden" name="eduAplctOrd" id="adrSeq" value="" />
</form>
<div class="cont_wrap mypage_wrap">
<div class="cont_tit">
<h2>마이페이지</h2>
<div class="sns_go">
<button type="button" title="새창열림" onclick="window.open('http://www.facebook.com/koreacopyright')"><img
src="/offedu/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
</div>
</div>
<ul class="mypage">
<li>
<div class="wrap">
<div class="title">
<p><img src="/offedu/visitEdu/usr/publish/images/content/mypage_icon01.png" alt="찾아가는 교육 청소년 마이페이지 아이콘"> 찾교(청소년)</p>
</div>
<div class="inner_text">
<a href="<c:url value='/web/ve/aplct/tngrVisitEdu/eduEnd/eduEndList.do' />">
<p><i></i>교육진행 <span>${tngrMap['tngrIng']}</span>건</p>
</a>
<a href="<c:url value='/web/ve/aplct/tngrVisitEdu/eduEnd/eduEndList.do' />">
<p><i></i>교육종료 <span>${tngrMap['tngrEnd']}</span>건</p>
</a>
</div>
</div>
</li>
<li>
<div class="wrap">
<div class="title">
<p><img src="/offedu/visitEdu/usr/publish/images/content/mypage_icon02.png" alt="찾아가는 성인 마이페이지 아이콘"> 찾교(성인)</p>
</div>
<div class="inner_text">
<a href="<c:url value='/web/ve/aplct/adultVisitEdu/eduEnd/eduEndList.do' />">
<p><i></i>교육진행 <span>${adultMap['adultIng']}</span>건</p>
</a>
<a href="<c:url value='/web/ve/aplct/adultVisitEdu/eduEnd/eduEndList.do' />">
<p><i></i>교육종료 <span>${adultMap['adultEnd']}</span>건</p>
</a>
</div>
</div>
</li>
<li>
<div class="wrap">
<div class="title">
<p><img src="/offedu/visitEdu/usr/publish/images/content/mypage_icon03.png" alt="체험교실 마이페이지 아이콘"> 찾교(체험교실)</p>
</div>
<div class="inner_text">
<a href="#">
<p><i></i>교육진행 <span>10</span>건</p>
</a>
<a href="#">
<p><i></i>교육종료 <span>05</span>건</p>
</a>
</div>
</div>
</li>
<li>
<div class="wrap">
<div class="title">
<p><img src="/offedu/visitEdu/usr/publish/images/content/mypage_icon04.png" alt="실무역량강화 마이페이지 아이콘"> 실무역량강화</p>
</div>
<div class="inner_text">
<a href="#">
<p><i></i>교육진행 <span>05</span>건</p>
</a>
<a href="#">
<p><i></i>교육종료 <span>18</span>건</p>
</a>
</div>
</div>
</li>
</ul>
<div class="mypage_table first_line">
<div class="tb_list02 right">
<div class="tb_tit02">
<div class="tb_tit02_left">
<div class="t_best">찾아가는 교육 청소년</div>
</div>
<div class="btn_wrap1">
<button type="button" title="찾아가는 교육 청소년 더보기" class="con_more" onclick="location.href='<c:url value="/web/ve/aplct/tngrVisitEdu/eduEnd/eduEndList.do" />'">더보기</button>
</div>
</div>
<table>
<caption>찾아가는 교육 청소년 목록표</caption>
<colgroup>
<col style="width:15%;">
<col style="width:12%;">
<col style="width:12%;">
<col style="width:15%;">
</colgroup>
<thead>
<tr>
<th>교육일</th>
<th>신청유형</th>
<th>신청상태</th>
<th>설문</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${vtngrList}" varStatus="status" begin="0" end="2">
<tr onclick="goTngrDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');">
<!-- <tr > -->
<td>${list.eduHopeDt}</td>
<td><kc:code codeId="VE0007" code="${list.eduSlctCd}"/></td>
<td>
<c:choose>
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_230}">
<span class="app_status1">대기</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_SBMT}">
<span class="app_status1">교육신청</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_CFRM}">
<span class="app_status2">교육승인</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_RJT}">
<span class="app_status4">교육반려</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_CAN}">
<span class="app_status4">교육취소</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_CHI_CMPT}">
<span class="app_status4">선정완료</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_EDT_REQ}">
<span class="app_status3">수정요청</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_EDT_CMPT}">
<span class="app_status3">수정완료</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_EDU_SELCT}">
<span class="app_status1">교육확정</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_WAIT}">
<span class="app_status1">대기</span>
</c:when>
<c:otherwise>
-
</c:otherwise>
</c:choose>
</td>
<td>
<c:choose>
<c:when test="${not empty list.qustnrRespondId}">
제출
</c:when>
<c:otherwise>
미제출
</c:otherwise>
</c:choose>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<div class="tb_list02">
<div class="tb_tit02">
<div class="tb_tit02_left">
<div class="t_best">찾아가는 교육 성인</div>
</div>
<div class="btn_wrap1">
<button type="button" title="찾아가는 교육 성인 더보기" class="con_more" onclick="location.href='#'">더보기</button>
</div>
</div>
<table>
<caption>찾아가는 교육 성인 목록표</caption>
<colgroup>
<col style="width:15%;">
<col style="width:12%;">
<col style="width:12%;">
<col style="width:15%;">
</colgroup>
<thead>
<tr>
<th>교육일</th>
<th>신청유형</th>
<th>신청상태</th>
<th>설문</th>
</tr>
</thead>
<tbody>
<tr onclick="location.href='#'">
<td>2023-07-26</td>
<td>오프라인</td>
<td>교육예정</td>
<td>미완료</td>
</tr>
<tr onclick="location.href='#'">
<td>2023-07-26</td>
<td>온라인</td>
<td>교육완료</td>
<td>완료</td>
</tr>
<tr onclick="location.href='#'">
<td>2023-07-21</td>
<td>오프라인</td>
<td>교육취소</td>
<td>-</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="mypage_table">
<div class="tb_list02 right">
<div class="tb_tit02">
<div class="tb_tit02_left">
<div class="t_best">체험교실</div>
</div>
<div class="btn_wrap1">
<button type="button" title="체험교실 더보기" class="con_more" onclick="location.href='#'">더보기</button>
</div>
</div>
<table>
<caption>체험교실 목록표</caption>
<colgroup>
<col style="width:15%;">
<col style="width:12%;">
<col style="width:12%;">
<col style="width:15%;">
</colgroup>
<thead>
<tr>
<th>운영연도</th>
<th>교육내용</th>
<th>처리상태</th>
<th>결과보고서</th>
</tr>
</thead>
<tbody>
<tr onclick="location.href='#'">
<td>2023년</td>
<td>담당교과</td>
<td>운영확정</td>
<td>미제출</td>
</tr>
<tr onclick="location.href='#'">
<td>2022년</td>
<td>체육</td>
<td>운영종료</td>
<td>제출완료</td>
</tr>
<tr onclick="location.href='#'">
<td>2023년</td>
<td>교과수업</td>
<td>운영종료</td>
<td>제출완료</td>
</tr>
</tbody>
</table>
</div>
<div class="tb_list02">
<div class="tb_tit02">
<div class="tb_tit02_left">
<div class="t_best">실무역량강화 교육</div>
</div>
<div class="btn_wrap1">
<button type="button" title="실무역량강화 교육 더보기" class="con_more" onclick="location.href='#'">더보기</button>
</div>
</div>
<table>
<caption>실무역량강화 교육 목록표</caption>
<colgroup>
<col style="width:15%;">
<col style="width:12%;">
<col style="width:12%;">
<col style="width:15%;">
</colgroup>
<thead>
<tr>
<th>교육일</th>
<th>신청상태</th>
<th>설문</th>
<th>이수증</th>
</tr>
</thead>
<tbody>
<tr onclick="location.href='#'">
<td>2023-07-26</td>
<td>오프라인</td>
<td>교육예정</td>
<td>-</td>
</tr>
<tr onclick="location.href='#'">
<td>2023-07-26</td>
<td>온라인</td>
<td>교육완료</td>
<td>출력</td>
</tr>
<tr onclick="location.href='#'">
<td>2023-07-21</td>
<td>오프라인</td>
<td>교육취소</td>
<td>-</td>
</tr>
</tbody>
</table>
</div>
</div>
<!-- moblie table -->
<div class="tb_list01_m mypage_m">
<div class="tb_tit02">
<div class="tb_tit02_left">
<div class="t_best">찾아가는 교육 청소년</div>
</div>
<div class="btn_wrap1">
<button type="button" title="찾아가는 교육 청소년 더보기" class="con_more" onclick="location.href='#'">더보기</button>
</div>
</div>
<div class="mypage_m_list">
<a href="#">
<ul style="border-top: 2px solid #000;">
<li>
<span>교육일</span>
<span>2023-07-26</span>
</li>
<li>
<span>신청유형</span>
<span>오프라인</span>
</li>
<li>
<span>신청상태</span>
<span>교육예정</span>
</li>
<li>
<span>설문</span>
<span>미완료</span>
</li>
</ul>
</a>
<a href="#">
<ul>
<li>
<span>교육일</span>
<span>2023-07-26</span>
</li>
<li>
<span>신청유형</span>
<span>오프라인</span>
</li>
<li>
<span>신청상태</span>
<span>교육확정</span>
</li>
<li>
<span>설문</span>
<span>완료</span>
</li>
</ul>
</a>
<a href="#">
<ul>
<li>
<span>교육일</span>
<span>2023-07-21</span>
</li>
<li>
<span>신청유형</span>
<span>오프라인</span>
</li>
<li>
<span>신청상태</span>
<span>교육취소</span>
</li>
<li>
<span>설문</span>
<span>-</span>
</li>
</ul>
</a>
</div>
</div>
<div class="tb_list01_m mypage_m">
<div class="tb_tit02">
<div class="tb_tit02_left">
<div class="t_best">찾아가는 교육 성인</div>
</div>
<div class="btn_wrap1">
<button type="button" title="찾아가는 교육 성인 더보기" class="con_more" onclick="location.href='#'">더보기</button>
</div>
</div>
<div class="mypage_m_list">
<a href="#">
<ul style="border-top: 2px solid #000;">
<li>
<span>교육일</span>
<span>2023-07-26</span>
</li>
<li>
<span>신청유형</span>
<span>오프라인</span>
</li>
<li>
<span>신청상태</span>
<span>교육예정</span>
</li>
<li>
<span>설문</span>
<span>미완료</span>
</li>
</ul>
</a>
<a href="#">
<ul>
<li>
<span>교육일</span>
<span>2023-07-26</span>
</li>
<li>
<span>신청유형</span>
<span>온라인</span>
</li>
<li>
<span>신청상태</span>
<span>교육완료</span>
</li>
<li>
<span>설문</span>
<span>완료</span>
</li>
</ul>
</a>
<a href="#">
<ul>
<li>
<span>교육일</span>
<span>2023-07-21</span>
</li>
<li>
<span>신청유형</span>
<span>오프라인</span>
</li>
<li>
<span>신청상태</span>
<span>교육취소</span>
</li>
<li>
<span>설문</span>
<span>-</span>
</li>
</ul>
</a>
</div>
</div>
<div class="tb_list01_m mypage_m">
<div class="tb_tit02">
<div class="tb_tit02_left">
<div class="t_best">체험교실</div>
</div>
<div class="btn_wrap1">
<button type="button" title="체험교실 더보기" class="con_more" onclick="location.href='#'">더보기</button>
</div>
</div>
<div class="mypage_m_list">
<a href="#">
<ul style="border-top: 2px solid #000;">
<li>
<span>운영연도</span>
<span>2023년</span>
</li>
<li>
<span>교육내용</span>
<span>담당교과</span>
</li>
<li>
<span>처리상태</span>
<span>운영확정</span>
</li>
<li>
<span>결과보고서</span>
<span>미제출</span>
</li>
</ul>
</a>
<a href="#">
<ul>
<li>
<span>운영연도</span>
<span>2022년</span>
</li>
<li>
<span>교육내용</span>
<span>체육</span>
</li>
<li>
<span>처리상태</span>
<span>운영종료</span>
</li>
<li>
<span>결과보고서</span>
<span>제출완료</span>
</li>
</ul>
</a>
<a href="#">
<ul>
<li>
<span>운영연도</span>
<span>2023년</span>
</li>
<li>
<span>교육내용</span>
<span>교과수업</span>
</li>
<li>
<span>처리상태</span>
<span>운영종료</span>
</li>
<li>
<span>결과보고서</span>
<span>제출완료</span>
</li>
</ul>
</a>
</div>
</div>
<div class="tb_list01_m mypage_m">
<div class="tb_tit02">
<div class="tb_tit02_left">
<div class="t_best">실무역량강화 교육</div>
</div>
<div class="btn_wrap1">
<button type="button" title="실무역량강화 교육 더보기" class="con_more" onclick="location.href='#'">더보기</button>
</div>
</div>
<div class="mypage_m_list">
<a href="#">
<ul style="border-top: 2px solid #000;">
<li>
<span>교육일</span>
<span>2023-07-26</span>
</li>
<li>
<span>신청상태</span>
<span>오프라인</span>
</li>
<li>
<span>설문</span>
<span>교육예정</span>
</li>
<li>
<span>이수증</span>
<span>-</span>
</li>
</ul>
</a>
<a href="#">
<ul>
<li>
<span>교육일</span>
<span>2023-07-26</span>
</li>
<li>
<span>신청상태</span>
<span>온라인</span>
</li>
<li>
<span>설문</span>
<span>교육완료</span>
</li>
<li>
<span>이수증</span>
<span>출력</span>
</li>
</ul>
</a>
<a href="#">
<ul>
<li>
<span>교육일</span>
<span>2023-07-21</span>
</li>
<li>
<span>신청상태</span>
<span>오프라인</span>
</li>
<li>
<span>설문</span>
<span>교육취소</span>
</li>
<li>
<span>이수증</span>
<span>-</span>
</li>
</ul>
</a>
</div>
</div>
<!--// moblie table -->
</div>
</body>

View File

@ -88,7 +88,7 @@
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btnType08">교육신청</button>
<button type="button" class="btnType08" onclick="location.href='<c:url value="/web/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctList.do" />'">교육신청</button>
</div>
<div class="btn_right">
</div>

View File

@ -55,9 +55,10 @@
}
function goDetail(p_param1){
console.log('p_param1 : ', p_param1);
var listForm = document.listForm ;
listForm.eduAplctOrd.value = p_param1 ;
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/aplct/tngrVisitEdu/eduEnd/eduEndDetail.do").submit();
// $("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/aplct/tngrVisitEdu/eduEnd/eduEndDetail.do").submit();
}