feat:강사활동확인서신청관리 완료
This commit is contained in:
parent
7b58b05e6c
commit
45ffac5e12
@ -1,6 +1,16 @@
|
|||||||
package kcc.ve.instr.tngrVisitEdu.instrInfo.service;
|
package kcc.ve.instr.tngrVisitEdu.instrInfo.service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public interface VEInstrDetailActvtHstryService {
|
public interface VEInstrDetailActvtHstryService {
|
||||||
|
|
||||||
|
List<VEInstrDetailActvtHstryVO> select(VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO);
|
||||||
|
|
||||||
|
List<VEInstrDetailActvtHstryVO> selectPagingList(VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO);
|
||||||
|
|
||||||
|
VEInstrDetailActvtHstryVO findById(VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO);
|
||||||
|
|
||||||
|
void updateStateCd(VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -27,6 +27,8 @@ public class VEInstrDetailActvtHstryVO extends ComDefaultVO implements Serializa
|
|||||||
// VE_INSTR_DETAIL_ACTVT_HSTRY
|
// VE_INSTR_DETAIL_ACTVT_HSTRY
|
||||||
private String instrDetailActvtHstryOrd;
|
private String instrDetailActvtHstryOrd;
|
||||||
private String instrDetailOrd;
|
private String instrDetailOrd;
|
||||||
|
private String instrDiv;
|
||||||
|
private String instrNm;
|
||||||
private String aplctPnttm;
|
private String aplctPnttm;
|
||||||
private String stateCd;
|
private String stateCd;
|
||||||
private String statePnttm;
|
private String statePnttm;
|
||||||
@ -37,6 +39,13 @@ public class VEInstrDetailActvtHstryVO extends ComDefaultVO implements Serializa
|
|||||||
private String lastUpdtPnttm;
|
private String lastUpdtPnttm;
|
||||||
private String lastUpdusrId;
|
private String lastUpdusrId;
|
||||||
|
|
||||||
|
private String phone;
|
||||||
|
private String post;
|
||||||
|
private String addr;
|
||||||
|
private String addrDetail;
|
||||||
|
|
||||||
|
private String selectPagingListQuery;
|
||||||
|
private String userId;
|
||||||
|
|
||||||
|
|
||||||
public String getInstrDetailActvtHstryOrd() {
|
public String getInstrDetailActvtHstryOrd() {
|
||||||
@ -51,6 +60,18 @@ public class VEInstrDetailActvtHstryVO extends ComDefaultVO implements Serializa
|
|||||||
public void setInstrDetailOrd(String instrDetailOrd) {
|
public void setInstrDetailOrd(String instrDetailOrd) {
|
||||||
this.instrDetailOrd = instrDetailOrd;
|
this.instrDetailOrd = instrDetailOrd;
|
||||||
}
|
}
|
||||||
|
public String getInstrDiv() {
|
||||||
|
return instrDiv;
|
||||||
|
}
|
||||||
|
public String getInstrNm() {
|
||||||
|
return instrNm;
|
||||||
|
}
|
||||||
|
public void setInstrNm(String instrNm) {
|
||||||
|
this.instrNm = instrNm;
|
||||||
|
}
|
||||||
|
public void setInstrDiv(String instrDiv) {
|
||||||
|
this.instrDiv = instrDiv;
|
||||||
|
}
|
||||||
public String getAplctPnttm() {
|
public String getAplctPnttm() {
|
||||||
return aplctPnttm;
|
return aplctPnttm;
|
||||||
}
|
}
|
||||||
@ -105,6 +126,42 @@ public class VEInstrDetailActvtHstryVO extends ComDefaultVO implements Serializa
|
|||||||
public void setLastUpdusrId(String lastUpdusrId) {
|
public void setLastUpdusrId(String lastUpdusrId) {
|
||||||
this.lastUpdusrId = lastUpdusrId;
|
this.lastUpdusrId = lastUpdusrId;
|
||||||
}
|
}
|
||||||
|
public String getPhone() {
|
||||||
|
return phone;
|
||||||
|
}
|
||||||
|
public void setPhone(String phone) {
|
||||||
|
this.phone = phone;
|
||||||
|
}
|
||||||
|
public String getPost() {
|
||||||
|
return post;
|
||||||
|
}
|
||||||
|
public void setPost(String post) {
|
||||||
|
this.post = post;
|
||||||
|
}
|
||||||
|
public String getAddr() {
|
||||||
|
return addr;
|
||||||
|
}
|
||||||
|
public void setAddr(String addr) {
|
||||||
|
this.addr = addr;
|
||||||
|
}
|
||||||
|
public String getAddrDetail() {
|
||||||
|
return addrDetail;
|
||||||
|
}
|
||||||
|
public void setAddrDetail(String addrDetail) {
|
||||||
|
this.addrDetail = addrDetail;
|
||||||
|
}
|
||||||
|
public String getSelectPagingListQuery() {
|
||||||
|
return selectPagingListQuery;
|
||||||
|
}
|
||||||
|
public void setSelectPagingListQuery(String selectPagingListQuery) {
|
||||||
|
this.selectPagingListQuery = selectPagingListQuery;
|
||||||
|
}
|
||||||
|
public String getUserId() {
|
||||||
|
return userId;
|
||||||
|
}
|
||||||
|
public void setUserId(String userId) {
|
||||||
|
this.userId = userId;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import java.util.List;
|
|||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
|
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
|
||||||
|
import kcc.kccadr.accdnt.acd.service.AdjstChangeDateVO;
|
||||||
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailActvtHstryVO;
|
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailActvtHstryVO;
|
||||||
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
|
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
|
||||||
|
|
||||||
@ -15,6 +16,23 @@ public class VEInstrDetailActvtHstryDAO extends EgovAbstractDAO {
|
|||||||
insert("VEInstrDetailActvtHstryDAO.insert", vEInstrActvtHstryVO);
|
insert("VEInstrDetailActvtHstryDAO.insert", vEInstrActvtHstryVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<VEInstrDetailActvtHstryVO> selectList(VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO) {
|
||||||
|
return (List<VEInstrDetailActvtHstryVO>) list("VEInstrDetailActvtHstryDAO.selectList", vEInstrDetailActvtHstryVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<VEInstrDetailActvtHstryVO> selectPagingList(VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO) {
|
||||||
|
return (List<VEInstrDetailActvtHstryVO>) list("VEInstrDetailActvtHstryDAO.selectPagingList", vEInstrDetailActvtHstryVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
public VEInstrDetailActvtHstryVO findById(VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO) {
|
||||||
|
return (VEInstrDetailActvtHstryVO) select("VEInstrDetailActvtHstryDAO.findById", vEInstrDetailActvtHstryVO);
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updateStateCd(VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO) {
|
||||||
|
update("VEInstrDetailActvtHstryDAO.updateStateCd", vEInstrDetailActvtHstryVO);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 등록 - C
|
* 등록 - C
|
||||||
* @param AdjstChangeDateVO
|
* @param AdjstChangeDateVO
|
||||||
|
|||||||
@ -1,11 +1,14 @@
|
|||||||
package kcc.ve.instr.tngrVisitEdu.instrInfo.service.impl;
|
package kcc.ve.instr.tngrVisitEdu.instrInfo.service.impl;
|
||||||
|
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailActvtHstryService;
|
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailActvtHstryService;
|
||||||
|
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailActvtHstryVO;
|
||||||
|
|
||||||
@Service("vEInstrDetailActvtHstryService")
|
@Service("vEInstrDetailActvtHstryService")
|
||||||
public class VEInstrDetailActvtHstryServiceImpl implements VEInstrDetailActvtHstryService {
|
public class VEInstrDetailActvtHstryServiceImpl implements VEInstrDetailActvtHstryService {
|
||||||
@ -13,6 +16,31 @@ public class VEInstrDetailActvtHstryServiceImpl implements VEInstrDetailActvtHst
|
|||||||
//강사 상세
|
//강사 상세
|
||||||
@Resource(name="vEInstrDetailActvtHstryDAO")
|
@Resource(name="vEInstrDetailActvtHstryDAO")
|
||||||
private VEInstrDetailActvtHstryDAO vEInstrDetailActvtHstryDAO;
|
private VEInstrDetailActvtHstryDAO vEInstrDetailActvtHstryDAO;
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<VEInstrDetailActvtHstryVO> select(VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO) {
|
||||||
|
return vEInstrDetailActvtHstryDAO.selectList(vEInstrDetailActvtHstryVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<VEInstrDetailActvtHstryVO> selectPagingList(VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO) {
|
||||||
|
return vEInstrDetailActvtHstryDAO.selectPagingList(vEInstrDetailActvtHstryVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public VEInstrDetailActvtHstryVO findById(VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO) {
|
||||||
|
return vEInstrDetailActvtHstryDAO.findById(vEInstrDetailActvtHstryVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateStateCd(VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO) {
|
||||||
|
vEInstrDetailActvtHstryDAO.updateStateCd(vEInstrDetailActvtHstryVO);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
//C
|
//C
|
||||||
@ -55,4 +83,5 @@ public class VEInstrDetailActvtHstryServiceImpl implements VEInstrDetailActvtHst
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -44,6 +44,8 @@ import kcc.ve.adv.tngr.stngInfo.service.VEAStngService;
|
|||||||
import kcc.ve.adv.tngr.stngInfo.service.VEAStngVO;
|
import kcc.ve.adv.tngr.stngInfo.service.VEAStngVO;
|
||||||
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService;
|
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService;
|
||||||
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO;
|
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO;
|
||||||
|
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailActvtHstryService;
|
||||||
|
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailActvtHstryVO;
|
||||||
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailService;
|
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailService;
|
||||||
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
|
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
|
||||||
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrMixService;
|
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrMixService;
|
||||||
@ -154,6 +156,9 @@ public class InstrPrflController {
|
|||||||
@Resource(name = "vEAStngService")
|
@Resource(name = "vEAStngService")
|
||||||
private VEAStngService vEAStngService;
|
private VEAStngService vEAStngService;
|
||||||
|
|
||||||
|
@Resource(name = "vEInstrDetailActvtHstryService")
|
||||||
|
private VEInstrDetailActvtHstryService vEInstrDetailActvtHstryService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 1.신청변경신청 목록 - L
|
* 1.신청변경신청 목록 - L
|
||||||
*/
|
*/
|
||||||
@ -755,9 +760,15 @@ public class InstrPrflController {
|
|||||||
vEInstrDetailVO.setFirstIndex(0);
|
vEInstrDetailVO.setFirstIndex(0);
|
||||||
vEInstrDetailVO.setSelectPagingListQuery(" AND a.aprvl_cd = '10' AND NVL(a.use_yn,'N') = 'N' ");
|
vEInstrDetailVO.setSelectPagingListQuery(" AND a.aprvl_cd = '10' AND NVL(a.use_yn,'N') = 'N' ");
|
||||||
List<VEInstrDetailVO> vEInstrMdfyRqstList = vEInstrDetailService.selectPagingList(vEInstrDetailVO);
|
List<VEInstrDetailVO> vEInstrMdfyRqstList = vEInstrDetailService.selectPagingList(vEInstrDetailVO);
|
||||||
|
|
||||||
model.addAttribute("vEInstrMdfyRqstList", vEInstrMdfyRqstList);
|
model.addAttribute("vEInstrMdfyRqstList", vEInstrMdfyRqstList);
|
||||||
|
|
||||||
|
VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO = new VEInstrDetailActvtHstryVO();
|
||||||
|
vEInstrDetailActvtHstryVO.setInstrDetailOrd(info.getInstrDetailOrd());
|
||||||
|
// 강사활동확인서내역
|
||||||
|
List<VEInstrDetailActvtHstryVO> vEInstrActvtHstryList = vEInstrDetailActvtHstryService.select(vEInstrDetailActvtHstryVO);
|
||||||
|
model.addAttribute("vEInstrActvtHstryList", vEInstrActvtHstryList);
|
||||||
|
|
||||||
|
|
||||||
return "/web/ve/instr/tngrVisitEdu/instrInfo/instrPrflDetail";
|
return "/web/ve/instr/tngrVisitEdu/instrInfo/instrPrflDetail";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,289 @@
|
|||||||
|
package kcc.ve.oprtn.tngrVisitEdu.instrActvtHstryMng;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.ui.ModelMap;
|
||||||
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
|
||||||
|
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
||||||
|
import kcc.com.cmm.LoginVO;
|
||||||
|
import kcc.com.cmm.service.EgovCmmUseService;
|
||||||
|
import kcc.com.cmm.service.EgovFileMngService;
|
||||||
|
import kcc.com.cmm.service.EgovFileMngUtil;
|
||||||
|
import kcc.com.utl.user.service.CheckLoginUtil;
|
||||||
|
import kcc.let.uat.uia.service.SsoLoginVO;
|
||||||
|
import kcc.let.utl.fcc.service.EgovCryptoUtil;
|
||||||
|
import kcc.ve.cmm.VeConstants;
|
||||||
|
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
||||||
|
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailActvtHstryService;
|
||||||
|
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailActvtHstryVO;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 교육일정관리(관리자-청소년찾아가는저작권교육)
|
||||||
|
* 교육일정관리에 관한 controller 클래스를 정의한다.
|
||||||
|
* @author 조용준
|
||||||
|
* @since 2021.12.16
|
||||||
|
* @version 1.0
|
||||||
|
* @see
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
* << 개정이력(Modification Information) >>
|
||||||
|
*
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ------- -------- ---------------------------
|
||||||
|
* 2021.12.16 조용준 최초 생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
public class InstrActvtHstryMngController {
|
||||||
|
|
||||||
|
private static final Logger LOGGER = LoggerFactory.getLogger(InstrActvtHstryMngController.class);
|
||||||
|
|
||||||
|
//로그인 체크 util
|
||||||
|
@Resource(name = "checkLoginUtil")
|
||||||
|
private CheckLoginUtil checkLoginUtil;
|
||||||
|
|
||||||
|
// eGov 공통코드
|
||||||
|
@Resource(name = "EgovCmmUseService")
|
||||||
|
private EgovCmmUseService cmmUseService;
|
||||||
|
|
||||||
|
@Resource(name = "EgovFileMngService")
|
||||||
|
private EgovFileMngService fileService;
|
||||||
|
|
||||||
|
// global 프로퍼티
|
||||||
|
@Resource(name="globalSettings")
|
||||||
|
protected Properties propertiesService;
|
||||||
|
|
||||||
|
//첨부파일 경로, realPath 설정
|
||||||
|
@Resource(name="EgovFileMngUtil")
|
||||||
|
private EgovFileMngUtil fileUtil;
|
||||||
|
|
||||||
|
// 첨부파일 정보
|
||||||
|
@Resource(name="EgovFileMngService")
|
||||||
|
private EgovFileMngService fileMngService;
|
||||||
|
|
||||||
|
// 첨부파일 정보
|
||||||
|
@Resource(name="vEInstrDetailActvtHstryService")
|
||||||
|
private VEInstrDetailActvtHstryService vEInstrDetailActvtHstryService;
|
||||||
|
|
||||||
|
//암복호화 유틸
|
||||||
|
@Resource(name = "egovCryptoUtil")
|
||||||
|
EgovCryptoUtil egovCryptoUtil;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 강사활동확인서신청관리 목록
|
||||||
|
*/
|
||||||
|
@RequestMapping("/kccadr/oprtn/tngrVisitEdu/instrActvtHstryMngList.do")
|
||||||
|
public String instrActvtHstryMngList(
|
||||||
|
@ModelAttribute("vEInstrActvtHstryVO") VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO
|
||||||
|
, ModelMap model
|
||||||
|
, HttpServletRequest request
|
||||||
|
) throws Exception {
|
||||||
|
|
||||||
|
//로그인 처리====================================
|
||||||
|
//로그인 정보 가져오기
|
||||||
|
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||||
|
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||||
|
|
||||||
|
// if (loginVO == null || ssoLoginVO == null) {
|
||||||
|
// return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다.
|
||||||
|
// }
|
||||||
|
//로그인 처리====================================
|
||||||
|
vEInstrDetailActvtHstryVO.setInstrDiv(VeConstants.LCTR_DIV_CD_10); //청소년
|
||||||
|
|
||||||
|
//1.pageing step1
|
||||||
|
PaginationInfo paginationInfo = this.setPagingStep1(vEInstrDetailActvtHstryVO);
|
||||||
|
//2. pageing step2
|
||||||
|
vEInstrDetailActvtHstryVO = this.setPagingStep2(vEInstrDetailActvtHstryVO, paginationInfo);
|
||||||
|
vEInstrDetailActvtHstryVO.setSearchKeyword(egovCryptoUtil.encrypt(vEInstrDetailActvtHstryVO.getSearchKeyword()));
|
||||||
|
List<VEInstrDetailActvtHstryVO> vEInstrDetailActvtHstryVOList = vEInstrDetailActvtHstryService.selectPagingList(vEInstrDetailActvtHstryVO);
|
||||||
|
|
||||||
|
vEInstrDetailActvtHstryVOList.stream().forEach(t-> t.setInstrNm(egovCryptoUtil.decrypt(t.getInstrNm())));
|
||||||
|
|
||||||
|
//3.pageing step3
|
||||||
|
paginationInfo = this.setPagingStep3(vEInstrDetailActvtHstryVOList, paginationInfo);
|
||||||
|
model.addAttribute("paginationInfo", paginationInfo);
|
||||||
|
|
||||||
|
// 검색어 복호화
|
||||||
|
vEInstrDetailActvtHstryVO.setSearchKeyword(egovCryptoUtil.decrypt(vEInstrDetailActvtHstryVO.getSearchKeyword()));
|
||||||
|
//대상 리스트, 페이징 정보 전달
|
||||||
|
model.addAttribute("list", vEInstrDetailActvtHstryVOList);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return "oprtn/tngrVisitEdu/instrActvtHstryMngList";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 강사활동확인서신청관리 상세
|
||||||
|
*/
|
||||||
|
@RequestMapping("/kccadr/oprtn/tngrVisitEdu/instrActvtHstryMngDetail.do")
|
||||||
|
public String instrActvtHstryMngDetail(
|
||||||
|
@ModelAttribute("vEInstrActvtHstryVO") VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO
|
||||||
|
, ModelMap model
|
||||||
|
, HttpServletRequest request
|
||||||
|
) throws Exception {
|
||||||
|
|
||||||
|
//로그인 처리====================================
|
||||||
|
//로그인 정보 가져오기
|
||||||
|
// String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
|
||||||
|
// if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo;
|
||||||
|
|
||||||
|
//로그인 처리====================================
|
||||||
|
//로그인 정보 가져오기
|
||||||
|
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||||
|
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||||
|
|
||||||
|
// if (loginVO == null || ssoLoginVO == null) {
|
||||||
|
// return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다.
|
||||||
|
// }
|
||||||
|
vEInstrDetailActvtHstryVO.setInstrDiv(VeConstants.LCTR_DIV_CD_10); //청소년
|
||||||
|
|
||||||
|
VEInstrDetailActvtHstryVO vEInstrActvtHstryVO = vEInstrDetailActvtHstryService.findById(vEInstrDetailActvtHstryVO);
|
||||||
|
|
||||||
|
vEInstrActvtHstryVO.setInstrNm(egovCryptoUtil.decrypt(vEInstrActvtHstryVO.getInstrNm()));
|
||||||
|
vEInstrActvtHstryVO.setPhone(egovCryptoUtil.decrypt(vEInstrActvtHstryVO.getPhone()));
|
||||||
|
|
||||||
|
//대상 리스트, 페이징 정보 전달
|
||||||
|
model.addAttribute("info", vEInstrActvtHstryVO);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return "oprtn/tngrVisitEdu/instrActvtHstryMngDetail";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 강사활동확인서신청관리 상세
|
||||||
|
*/
|
||||||
|
@RequestMapping("/kccadr/oprtn/tngrVisitEdu/popup/instrCnclPopup.do")
|
||||||
|
public String instrCnclPopup(
|
||||||
|
@ModelAttribute("vEInstrActvtHstryVO") VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO
|
||||||
|
, ModelMap model
|
||||||
|
, 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("info", vEInstrDetailActvtHstryVO);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return "oprtn/tngrVisitEdu/popup/instrCnclPopup";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@RequestMapping("/kccadr/oprtn/tngrVisitEdu/updateStateCd.do")
|
||||||
|
public ModelAndView updateStateCd(
|
||||||
|
@ModelAttribute("vEInstrActvtHstryVO") VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO
|
||||||
|
, ModelMap model
|
||||||
|
//, RedirectAttributes redirectAttributes
|
||||||
|
, 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(); //권한에 따른 로그인 정보 가져오기
|
||||||
|
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||||
|
|
||||||
|
|
||||||
|
vEInstrDetailActvtHstryVO.setLastUpdusrId(loginVO.getUniqId());
|
||||||
|
vEInstrDetailActvtHstryService.updateStateCd(vEInstrDetailActvtHstryVO);
|
||||||
|
|
||||||
|
modelAndView.addObject("result", "success");
|
||||||
|
|
||||||
|
return modelAndView;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// private function
|
||||||
|
//
|
||||||
|
//
|
||||||
|
|
||||||
|
//페이징을 위한 처리 step1 - 페이징 기본 정보 설정
|
||||||
|
private PaginationInfo setPagingStep1(
|
||||||
|
VEInstrDetailActvtHstryVO p_vEEduAplctVO
|
||||||
|
)throws Exception{
|
||||||
|
// pageing step1
|
||||||
|
PaginationInfo paginationInfo = new PaginationInfo();
|
||||||
|
paginationInfo.setCurrentPageNo(p_vEEduAplctVO.getPageIndex());
|
||||||
|
paginationInfo.setRecordCountPerPage(p_vEEduAplctVO.getPageUnit());
|
||||||
|
paginationInfo.setPageSize(p_vEEduAplctVO.getPageSize());
|
||||||
|
|
||||||
|
return paginationInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 및 검색 조건 초기화
|
||||||
|
private VEInstrDetailActvtHstryVO setPagingStep2(
|
||||||
|
VEInstrDetailActvtHstryVO p_vEEduAplctVO
|
||||||
|
, PaginationInfo p_paginationInfo
|
||||||
|
)throws Exception{
|
||||||
|
// pageing step2
|
||||||
|
p_vEEduAplctVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex());
|
||||||
|
p_vEEduAplctVO.setLastIndex(p_paginationInfo.getLastRecordIndex());
|
||||||
|
p_vEEduAplctVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage());
|
||||||
|
|
||||||
|
if("".equals(p_vEEduAplctVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
||||||
|
p_vEEduAplctVO.setSearchSortCnd("prcs_ord");
|
||||||
|
p_vEEduAplctVO.setSearchSortOrd("desc");
|
||||||
|
}
|
||||||
|
|
||||||
|
return p_vEEduAplctVO;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기
|
||||||
|
private PaginationInfo setPagingStep3(
|
||||||
|
List<VEInstrDetailActvtHstryVO> p_vEEduAplctVOList
|
||||||
|
|
||||||
|
, PaginationInfo p_paginationInfo
|
||||||
|
)throws Exception{
|
||||||
|
// pageing step3
|
||||||
|
int totCnt = 0;
|
||||||
|
if(p_vEEduAplctVOList.size() > 0) totCnt = p_vEEduAplctVOList.get(0).getTotCnt();
|
||||||
|
p_paginationInfo.setTotalRecordCount(totCnt);
|
||||||
|
|
||||||
|
return p_paginationInfo;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -30,19 +30,20 @@
|
|||||||
<!-- 조회용 공통 컬럼 명 -->
|
<!-- 조회용 공통 컬럼 명 -->
|
||||||
<sql id="VEInstrDetailActvtHstryDAO.select_column_name">
|
<sql id="VEInstrDetailActvtHstryDAO.select_column_name">
|
||||||
a.instr_detail_actvt_hstry_ord as instrDetailActvtHstryOrd
|
a.instr_detail_actvt_hstry_ord as instrDetailActvtHstryOrd
|
||||||
, a.instr_detail_ord as instrDetailOrd
|
, a.instr_detail_ord as instrDetailOrd
|
||||||
, a.aplct_pnttm as aplctPnttm
|
, TO_CHAR(a.aplct_pnttm,'YYYY-MM-DD') AS aplctPnttm
|
||||||
, a.state_cd as stateCd
|
, a.state_cd as stateCd
|
||||||
, a.state_pnttm as statePnttm
|
, TO_CHAR(a.state_pnttm,'YYYY-MM-DD') AS statePnttm
|
||||||
, a.aplct_atch_file_id as aplctAtchFileId
|
, a.aplct_atch_file_id as aplctAtchFileId
|
||||||
, a.cmpnn_cn as cmpnnCn
|
, a.cmpnn_cn as cmpnnCn
|
||||||
, a.frst_regist_pnttm as frstRegistPnttm
|
, TO_CHAR(a.frst_regist_pnttm,'YYYY-MM-DD') AS frstRegistPnttm
|
||||||
, a.frst_register_id as frstRegisterId
|
, a.frst_register_id as frstRegisterId
|
||||||
, a.last_updt_pnttm as lastUpdtPnttm
|
, TO_CHAR(a.last_updt_pnttm,'YYYY-MM-DD') AS frstRegistPnttm
|
||||||
, a.last_updusr_id as lastUpdusrId
|
, a.last_updusr_id as lastUpdusrId
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<insert id="VEInstrDetailActvtHstryDAO.insert" parameterClass="VEInstrDetailActvtHstryVO">
|
<insert id="VEInstrDetailActvtHstryDAO.insert" parameterClass="VEInstrDetailActvtHstryVO">
|
||||||
|
/* VEInstrDetailActvtHstryDAO.insert */
|
||||||
INSERT INTO <include refid="VEInstrDetailActvtHstryDAO.table_name"/> (
|
INSERT INTO <include refid="VEInstrDetailActvtHstryDAO.table_name"/> (
|
||||||
<include refid="VEInstrDetailActvtHstryDAO.column_name"/>
|
<include refid="VEInstrDetailActvtHstryDAO.column_name"/>
|
||||||
)VALUES(
|
)VALUES(
|
||||||
@ -53,11 +54,93 @@
|
|||||||
, SYSDATE
|
, SYSDATE
|
||||||
, #aplctAtchFileId#
|
, #aplctAtchFileId#
|
||||||
, #cmpnnCn#
|
, #cmpnnCn#
|
||||||
, SYSDATE
|
, ''
|
||||||
, #frstRegisterId#
|
, #frstRegisterId#
|
||||||
, SYSDATE
|
, SYSDATE
|
||||||
, #lastUpdusrId#
|
, #lastUpdusrId#
|
||||||
)
|
)
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
<select id="VEInstrDetailActvtHstryDAO.selectList" parameterClass="VEInstrDetailActvtHstryVO" resultClass="VEInstrDetailActvtHstryVO">
|
||||||
|
/* VEInstrDetailActvtHstryDAO.selectList */
|
||||||
|
SELECT
|
||||||
|
<include refid="VEInstrDetailActvtHstryDAO.select_column_name"/>
|
||||||
|
FROM
|
||||||
|
<include refid="VEInstrDetailActvtHstryDAO.table_name"/> a
|
||||||
|
WHERE
|
||||||
|
INSTR_DETAIL_ORD = #instrDetailOrd#
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="VEInstrDetailActvtHstryDAO.selectPagingList" parameterClass="VEInstrDetailActvtHstryVO" resultClass="VEInstrDetailActvtHstryVO">
|
||||||
|
/* VEInstrDetailActvtHstryDAO.selectPagingList */
|
||||||
|
SELECT
|
||||||
|
COUNT(1) OVER() AS totCnt ,
|
||||||
|
b.INSTR_NM AS instrNm ,
|
||||||
|
<include refid="VEInstrDetailActvtHstryDAO.select_column_name"/>
|
||||||
|
FROM
|
||||||
|
<include refid="VEInstrDetailActvtHstryDAO.table_name"/> a
|
||||||
|
JOIN ve_instr_detail b
|
||||||
|
ON a.INSTR_DETAIL_ORD = b.INSTR_DETAIL_ORD
|
||||||
|
AND b.INSTR_DIV = #instrDiv#
|
||||||
|
WHERE
|
||||||
|
1=1
|
||||||
|
<isNotEmpty prepend="AND" property="searchKeyword">
|
||||||
|
b.INSTR_NM = #searchKeyword#
|
||||||
|
</isNotEmpty>
|
||||||
|
<isNotEmpty prepend="AND" property="searchSelStatus">
|
||||||
|
a.state_cd = #searchSelStatus#
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty prepend="AND" property="searchStartDt">
|
||||||
|
TO_CHAR(a.aplct_pnttm,'YYYYMMDD') <![CDATA[ >= ]]> REPLACE(#searchStartDt#, '.' , '')
|
||||||
|
</isNotEmpty>
|
||||||
|
<isNotEmpty prepend="AND" property="searchEndDt">
|
||||||
|
TO_CHAR(a.aplct_pnttm,'YYYYMMDD')<![CDATA[ <= ]]> REPLACE(#searchEndDt#, '.' , '')
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="VEInstrDetailActvtHstryDAO.findById" parameterClass="VEInstrDetailActvtHstryVO" resultClass="VEInstrDetailActvtHstryVO">
|
||||||
|
/*VEInstrDetailActvtHstryDAO.findById */
|
||||||
|
SELECT
|
||||||
|
b.user_id AS userId ,
|
||||||
|
b.instr_nm as instrNm ,
|
||||||
|
b.phone ,
|
||||||
|
b.post ,
|
||||||
|
b.addr ,
|
||||||
|
b.addr_detail as addrDetail ,
|
||||||
|
<include refid="VEInstrDetailActvtHstryDAO.select_column_name"/>
|
||||||
|
FROM
|
||||||
|
<include refid="VEInstrDetailActvtHstryDAO.table_name"/> a
|
||||||
|
JOIN ve_instr_detail b
|
||||||
|
ON a.INSTR_DETAIL_ORD = b.INSTR_DETAIL_ORD
|
||||||
|
WHERE
|
||||||
|
a.instr_detail_actvt_hstry_ord = #instrDetailActvtHstryOrd#
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</select>
|
||||||
|
<update id="VEInstrDetailActvtHstryDAO.updateStateCd" parameterClass="VEInstrDetailActvtHstryVO">
|
||||||
|
UPDATE
|
||||||
|
<include refid="VEInstrDetailActvtHstryDAO.table_name" />
|
||||||
|
SET
|
||||||
|
state_cd = #stateCd#
|
||||||
|
<isNotEmpty property="cmpnnCn">
|
||||||
|
, cmpnn_cn = #cmpnnCn#
|
||||||
|
</isNotEmpty>
|
||||||
|
, state_pnttm = SYSDATE
|
||||||
|
, LAST_UPDT_PNTTM = SYSDATE
|
||||||
|
, LAST_UPDUSR_ID = #lastUpdusrId#
|
||||||
|
WHERE
|
||||||
|
instr_detail_actvt_hstry_ord = #instrDetailActvtHstryOrd#
|
||||||
|
|
||||||
|
</update>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</sqlMap>
|
</sqlMap>
|
||||||
|
|||||||
@ -0,0 +1,233 @@
|
|||||||
|
<!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="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||||
|
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||||
|
<%
|
||||||
|
/**
|
||||||
|
* @Class Name : fndthEduPrcsMngDetail.jsp
|
||||||
|
* @Description : 기반강화연수 상세화면
|
||||||
|
* @Modification Information
|
||||||
|
* @
|
||||||
|
* @ 수정일 수정자 수정내용
|
||||||
|
* @ ------- -------- ---------------------------
|
||||||
|
* @ 2021.12.16 조용준 최초 생성
|
||||||
|
* @author 조용주
|
||||||
|
* @since 2021.12.16
|
||||||
|
* @version 1.0
|
||||||
|
* @see
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
%>
|
||||||
|
<html lang="ko">
|
||||||
|
<head>
|
||||||
|
<title>교육과정관리</title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<script type="text/javascript" src="<c:url value='/js/web/popup.js'/>" ></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function fncGoList(){
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/instrActvtHstryMngList.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
function fncMdfy(){
|
||||||
|
var detailForm = document.detailForm ;
|
||||||
|
detailForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngMdfy.do'/>";
|
||||||
|
detailForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function fnCnclPopup() {
|
||||||
|
|
||||||
|
var form = document.detailForm;
|
||||||
|
form.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/popup/instrCnclPopup.do'/>";
|
||||||
|
openPopupAndSubmitForm('instrCnclPopup', 'detailForm', 700, 380);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function fn_updateCnclUpdate(stateCd) {
|
||||||
|
|
||||||
|
var form = document.updateForm ;
|
||||||
|
form.stateCd.value = stateCd;
|
||||||
|
var data1 = new FormData(document.getElementById("updateForm"));
|
||||||
|
if(confirm("승인처리 하시겠습니까?")){
|
||||||
|
$.ajax({
|
||||||
|
type:"POST",
|
||||||
|
url:"${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/updateStateCd.do",
|
||||||
|
data: data1,
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
cache: false,
|
||||||
|
success:function(returnData){
|
||||||
|
if(returnData.result == 'success'){
|
||||||
|
alert("처리 되었습니다.");
|
||||||
|
window.location.reload();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* 첨부파일 다운로드 */
|
||||||
|
function fn_egov_downFile(atchFileId, fileSn){//atchFileId -> 파일 Id, fileSn -> 파일 순번
|
||||||
|
window.open("<c:url value='/cmm/fms/FileDown.do?atchFileId="+atchFileId+"&fileSn="+fileSn+"'/>");
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form id="updateForm" name="updateForm">
|
||||||
|
<input type="hidden" name="instrDetailActvtHstryOrd" id="instrDetailActvtHstryOrd" value="${info.instrDetailActvtHstryOrd }"/>
|
||||||
|
<input type="hidden" name="stateCd" id="stateCd" value=""/>
|
||||||
|
</form>
|
||||||
|
<form:form id="detailForm" name="detailForm" commandName="vEPrcsDetailVO" method="post">
|
||||||
|
<input type="hidden" name="instrDetailActvtHstryOrd" id="instrDetailActvtHstryOrd" value="${info.instrDetailActvtHstryOrd }"/>
|
||||||
|
<input type="hidden" name="userId" id="userId" value="<c:out value='${info.userId}'/>" />
|
||||||
|
<!-- cont -->
|
||||||
|
<div class="cont_wrap">
|
||||||
|
<div class="box">
|
||||||
|
|
||||||
|
<!-- cont_tit -->
|
||||||
|
<div class="cont_tit">
|
||||||
|
<h2>강사활동확인서신청관리 상세</h2>
|
||||||
|
<ul class="cont_nav">
|
||||||
|
<li class="home"><a href="/"><i></i></a></li>
|
||||||
|
<li>
|
||||||
|
<p>청소년 찾아가는 저작권 교육</p>
|
||||||
|
</li>
|
||||||
|
<li><span class="cur_nav">강사활동확인서신청관리</span></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<!-- //cont_tit -->
|
||||||
|
|
||||||
|
<div class="cont">
|
||||||
|
<!-- list_상세 -->
|
||||||
|
<div class="tb_tit01">
|
||||||
|
<p>교육과정관리</p>
|
||||||
|
</div>
|
||||||
|
<div class="tb_type02">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 210px;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
<col style="width: 210px;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
</colgroup>
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">강사명</th>
|
||||||
|
<td>
|
||||||
|
<c:out value='${info.instrNm}' />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">신청일자</th>
|
||||||
|
<td>
|
||||||
|
<c:out value='${info.aplctPnttm }' />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">상태</th>
|
||||||
|
<td>
|
||||||
|
<ve:code codeId="VEA011" code="${info.stateCd}"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">연락처</th>
|
||||||
|
<td>
|
||||||
|
<c:out value='${info.phone }' />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">주소</th>
|
||||||
|
<td>
|
||||||
|
(<c:out value='${info.post }' />)
|
||||||
|
<c:out value='${info.addr}'/> <c:out value='${info.addrDetail}'/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- //list_상세 -->
|
||||||
|
|
||||||
|
<!-- btn_wrap -->
|
||||||
|
<div class="btn_wrap btn_layout01">
|
||||||
|
<div class="btn_left">
|
||||||
|
<button type="button" class="btn_type08" onclick="fn_egov_downFile('<c:out value="${info.aplctAtchFileId}" />', '0')">신청서</button>
|
||||||
|
<button type="button" class="btn_type08" onclick="fncCmpltCrtfc(); return false;">미리보기</button>
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
<button type="button" class="btn_type05" onclick="fnCnclPopup()">반려</button>
|
||||||
|
<button type="button" class="btn_type04" onclick="fn_updateCnclUpdate('30');"; return false;">승인</button>
|
||||||
|
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form:form>
|
||||||
|
<!-- //cont -->
|
||||||
|
|
||||||
|
<script src="http://119.193.215.98:8093/ReportingServer/html5/js/crownix-viewer.min.js"></script>
|
||||||
|
<link rel="stylesheet" type="text/css" href="http://119.193.215.98:8093/ReportingServer/html5/css/crownix-viewer.min.css">
|
||||||
|
<script>
|
||||||
|
/*
|
||||||
|
* 오버레이 방식
|
||||||
|
*/
|
||||||
|
//function fncCmpltCrtfc(p_prcsAplctPrdOrd, p_eduAplctOrd){
|
||||||
|
function fncCmpltCrtfc(){
|
||||||
|
|
||||||
|
var v_userId = $('#userId').val();
|
||||||
|
|
||||||
|
//alert('/rf [http://192.168.0.59:3080/offedu/ve/aplct/adultVisitEdu/eduAplct/instrDetailListAjax.do?p_searchQlfctEndYn="'+v_searchQlfctEndYn+'"&p_searcDivCd="'+v_searcDivCd+'"&p_searchKeyword="'+v_searchKeyword+'"]');
|
||||||
|
|
||||||
|
|
||||||
|
var viewer = new m2soft.crownix.Viewer('http://119.193.215.98:8093/ReportingServer/service');
|
||||||
|
//viewer.openFile('cmplt_crtfc_20231030.mrd', '/rfn [jsonsample_red_2.json]');
|
||||||
|
//viewer.openFile('cmplt_crtfc_20231030.mrd','/rexport [5]');
|
||||||
|
//viewer.openFile('sample.mrd','/rfn [sample.txt]');
|
||||||
|
viewer.hideToolbarItem(["save"]);
|
||||||
|
viewer.showToolbarItem(["print_pdf"]);
|
||||||
|
//viewer.openFile('cmplt_crtfc_20231030.mrd');
|
||||||
|
//viewer.openFile('cmplt_crtfc_20231030.mrd', '/rfn [cmplt_crtfc_20231030.json]');
|
||||||
|
//viewer.openFile('cmplt_crtfc_20231030.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctCmpltCrtfcAjax.do?prcsAplctPrdOrd='+p_prcsAplctPrdOrd+'&eduAplctOrd='+p_eduAplctOrd+']');
|
||||||
|
//viewer.openFile('sample.mrd');p_prcsAplctPrdOrd, p_eduAplctOrd
|
||||||
|
//viewer.openFile('adult_instr_20231102.mrd', '/rfn [adult_instr_20231102.json]');
|
||||||
|
//viewer.openFile('adult_instr_20231102.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/adultVisitEdu/eduAplct/eduAplctDetailAjax.do?p_instrId='+('#p_instrId').val()+']');
|
||||||
|
//viewer.openFile('adult_instrs_20231107.mrd', '/rf [http://192.168.0.59:3080/offedu/ve/aplct/adultVisitEdu/eduAplct/instrDetailListAjax.do?p_searchQlfctEndYn="'+v_searchQlfctEndYn+'"&p_searcDivCd="'+v_searcDivCd+'"&p_searchKeyword="'+v_searchKeyword+'"]');
|
||||||
|
//viewer.openFile('instr_activity_20231108.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/tngrVisitEdu/eduAplct/instrActivityAjax.do?p_userId='+v_userId+']');
|
||||||
|
viewer.openFile('instr_activity_20231108.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/tngrVisitEdu/eduAplct/instrActivityAjax.do?p_userId='+v_userId+']');
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
var viewer = new m2soft.crownix.Viewer('http://192.168.0.176:8093/ReportingServer/service',
|
||||||
|
'crownix-viewer');
|
||||||
|
viewer.openFile('cmplt_crtfc_20231030.mrd');
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
window.onload = function(){
|
||||||
|
var viewer = new m2soft.crownix.Viewer('http://192.168.0.176:8093/ReportingServer/service');
|
||||||
|
viewer.openFile('json_subject.mrd', '/rfn [jsonsample_red_2.json]');
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -0,0 +1,225 @@
|
|||||||
|
<!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="ve" 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" %>
|
||||||
|
<un:useConstants var="KccadrStatus" className="kcc.kccadr.cmm.KccadrConstants" />
|
||||||
|
<%
|
||||||
|
/**
|
||||||
|
* @Class Name : eduInstrFeeMngList.jsp
|
||||||
|
* @Description : 강사료 확정 관리 > 강사료 확정 목록
|
||||||
|
* @Modification Information
|
||||||
|
* @
|
||||||
|
* @ 수정일 수정자 수정내용
|
||||||
|
* @ ------- -------- ---------------------------
|
||||||
|
* @ 2022.12.7 안주영 최초 생성
|
||||||
|
* @author 안주영
|
||||||
|
* @since 2022.2.7
|
||||||
|
* @version 1.0
|
||||||
|
* @see
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
%>
|
||||||
|
<html lang="ko">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<style>
|
||||||
|
input:read-only{
|
||||||
|
background-color: #ededed;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready(function(){
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
function press(event) {
|
||||||
|
if (event.keyCode==13) {
|
||||||
|
fncGoList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncGoList(){
|
||||||
|
linkPage(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
function linkPage(pageNo){
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.pageIndex.value = pageNo ;
|
||||||
|
listForm.searchCondition.value = $('#searchCondition').val();
|
||||||
|
listForm.searchKeyword.value = $('#searchKeyword').val();
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/instrActvtHstryMngList.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
function fn_goDetail(instrDetailActvtHstryOrd){
|
||||||
|
var form = document.detailForm;
|
||||||
|
form.instrDetailActvtHstryOrd.value = instrDetailActvtHstryOrd ;
|
||||||
|
form.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/instrActvtHstryMngDetail.do'/>";
|
||||||
|
form.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<title>강사활동확인서신청관리</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form id="detailForm" name="detailForm" method="post">
|
||||||
|
<input type="hidden" name="instrDetailActvtHstryOrd" id="instrDetailActvtHstryOrd" value=""/>
|
||||||
|
</form>
|
||||||
|
<form id="listForm" name="listForm" method="post">
|
||||||
|
<input type="hidden" name="pageIndex" value="<c:out value='${vEInstrActvtHstryVO.pageIndex}' default='1' />"/>
|
||||||
|
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEInstrActvtHstryVO.searchSortCnd}" />" />
|
||||||
|
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEInstrActvtHstryVO.searchSortOrd}" />" />
|
||||||
|
|
||||||
|
<div class="cont_wrap">
|
||||||
|
<div class="box">
|
||||||
|
|
||||||
|
<!-- cont_tit -->
|
||||||
|
<div class="cont_tit">
|
||||||
|
<h2>강사활동확인서신청관리 목록</h2>
|
||||||
|
<ul class="cont_nav">
|
||||||
|
<li class="home"><a href="/"><i></i></a></li>
|
||||||
|
<li>
|
||||||
|
<p>청소년 찾아가는 저작권 교육</p>
|
||||||
|
</li>
|
||||||
|
<li><span class="cur_nav">강사활동확인서신청관리</span></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<!-- //cont_tit -->
|
||||||
|
|
||||||
|
<div class="cont">
|
||||||
|
<!-- list_top -->
|
||||||
|
<div class="list_top">
|
||||||
|
<div class="list_top_1">
|
||||||
|
<div class="util_left">
|
||||||
|
<p>구분</p>
|
||||||
|
</div>
|
||||||
|
<div class="util_right">
|
||||||
|
<ve:select codeId="VEA011" name="searchSelStatus" id="searchSelStatus" css="class='sel_type1'"
|
||||||
|
selectedValue="${vEInstrActvtHstryVO.searchSelStatus}" defaultValue=''
|
||||||
|
defaultText='전체'
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="list_top_2">
|
||||||
|
<div class="util_left">
|
||||||
|
<p>신청일자</p>
|
||||||
|
</div>
|
||||||
|
<div class="util_right">
|
||||||
|
<div class="calendar_wrap">
|
||||||
|
<input type="text" class="calendar" title="시작일 선택" id="searchStartDt" name="searchStartDt" value="<c:out value='${vEInstrActvtHstryVO.searchStartDt}'/>">
|
||||||
|
</div>
|
||||||
|
~
|
||||||
|
<div class="calendar_wrap">
|
||||||
|
<input type="text" class="calendar" title="종료일 선택" id="searchEndDt" name="searchEndDt" value="<c:out value='${vEInstrActvtHstryVO.searchEndDt}'/>">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="list_top_2">
|
||||||
|
<div class="util_left">
|
||||||
|
<p>강사명</p>
|
||||||
|
</div>
|
||||||
|
<div class="util_right">
|
||||||
|
<input type="text" id=searchKeyword name="searchKeyword" class="search_input" placeholder="검색어를 입력하세요" value="<c:out value='${vEInstrActvtHstryVO.searchKeyword}'/>" onkeyDown="press(event);">
|
||||||
|
<button class="btn_type08" onclick="fncGoList(); return false;">검색</button>
|
||||||
|
<button class="btn_type03" onclick="fncReset(this); return false;">초기화</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- //list_top -->
|
||||||
|
|
||||||
|
<!-- list util -->
|
||||||
|
<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">
|
||||||
|
<option value='10' <c:if test="${vEInstrActvtHstryVO.pageUnit == '10' or vEInstrActvtHstryVO.pageUnit == ''}">selected</c:if>>10줄</option>
|
||||||
|
<option value='20' <c:if test="${vEInstrActvtHstryVO.pageUnit == '20'}">selected</c:if>>20줄</option>
|
||||||
|
<option value='30' <c:if test="${vEInstrActvtHstryVO.pageUnit == '30'}">selected</c:if>>30줄</option>
|
||||||
|
<option value='100' <c:if test="${vEInstrActvtHstryVO.pageUnit == '100'}">selected</c:if>>100줄</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- list -->
|
||||||
|
<div class="tb_type01">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 5%;">
|
||||||
|
<%-- <col style="width: 10%;"> --%>
|
||||||
|
<%-- <col style="width: 10%;"> --%>
|
||||||
|
<%-- <col style="width: 15%;"> --%>
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>번호</th>
|
||||||
|
<th>강사명</th>
|
||||||
|
<th>신청일</th>
|
||||||
|
<th>처리일</th>
|
||||||
|
<th>발급상태</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<c:forEach var="list" items="${list}" varStatus="status">
|
||||||
|
<tr onclick="fn_goDetail('${list.instrDetailActvtHstryOrd}')" style="cursor:pointer;">
|
||||||
|
<td>
|
||||||
|
<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
${list.instrNm }
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
${list.aplctPnttm }
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${list.stateCd eq 10 }">
|
||||||
|
-
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<c:out value="${list.statePnttm }" />
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<ve:code codeId="VEA011" code="${list.stateCd}"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
<c:if test="${empty list}">
|
||||||
|
<tr><td colspan="5"><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>
|
||||||
|
<!-- //page -->
|
||||||
|
<div class="btn_wrap btn_layout01">
|
||||||
|
<div class="btn_left">
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- //cont -->
|
||||||
|
|
||||||
|
</form>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -0,0 +1,108 @@
|
|||||||
|
<!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="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||||
|
<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(){
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
function fncPopClose(){
|
||||||
|
self.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
function fn_updateCnclUpdate(stateCd) {
|
||||||
|
|
||||||
|
var form = document.updateForm ;
|
||||||
|
form.stateCd.value = stateCd;
|
||||||
|
var data1 = new FormData(document.getElementById("updateForm"));
|
||||||
|
if(confirm("반려처리 하시겠습니까?")){
|
||||||
|
$.ajax({
|
||||||
|
type:"POST",
|
||||||
|
url:"${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/updateStateCd.do",
|
||||||
|
data: data1,
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
cache: false,
|
||||||
|
success:function(returnData){
|
||||||
|
if(returnData.result == 'success'){
|
||||||
|
alert("처리 되었습니다.");
|
||||||
|
window.opener.location.reload();
|
||||||
|
fncPopClose();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="area_popup supm_popup">
|
||||||
|
<div class="cont_popup">
|
||||||
|
<form id="updateForm" name="updateForm" method="post">
|
||||||
|
<input type="hidden" name="instrDetailActvtHstryOrd" id="instrDetailActvtHstryOrd" value="${info.instrDetailActvtHstryOrd }"/>
|
||||||
|
<input type="hidden" name="stateCd" id="stateCd" value=""/>
|
||||||
|
<div class="area_popup">
|
||||||
|
<div class="cont_popup">
|
||||||
|
<div class="pop_tb_tit01">
|
||||||
|
<p>강사활동확인서 반려</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<table class="pop_tb_type02">
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 9%;">
|
||||||
|
<col style="width: 15%;">
|
||||||
|
</colgroup>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th scope="row"><p>반려사유</p></th>
|
||||||
|
<td>
|
||||||
|
<textarea id="cmpnnCn" name="cmpnnCn"></textarea>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- //page -->
|
||||||
|
|
||||||
|
<div class="btn_wrap_pop btn_layout01">
|
||||||
|
<div class="btn_left">
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
<button type="button" class="btn_type02" onclick="fn_updateCnclUpdate('20');">반려</button>
|
||||||
|
<button type="button" class="btn_type05" onclick="fncPopClose();">취소</button>
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user