이지우 - 성인강사 기소유예 목록 추가

This commit is contained in:
jiwoo 2023-11-27 18:20:09 +09:00
parent 01e0f61f06
commit 1d08c94e62
12 changed files with 2069 additions and 13 deletions

View File

@ -0,0 +1,680 @@
package kcc.ve.instr.sspnIdtmt.asgnmInfo.web;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
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 egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.EgovMessageSource;
import kcc.com.cmm.LoginVO;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService;
@Controller
public class VESspnIdtmtAsgnmController {
// eGov 공통 메세지
@Resource(name = "egovMessageSource")
EgovMessageSource egovMessageSource;
//로그인 체크 util
@Resource(name = "checkLoginUtil")
private CheckLoginUtil checkLoginUtil;
//암복호화 유틸
@Resource(name = "egovCryptoUtil")
EgovCryptoUtil egovCryptoUtil;
//과정 관리
@Resource(name = "vEEduMIXService")
private VEEduMIXService vEEduMIXService;
//과정차시 관리
@Resource(name = "vEAPrcsAplctPrdInstrAsgnmService")
private VEAPrcsAplctPrdInstrAsgnmService vEAPrcsAplctPrdInstrAsgnmService;
//배정 MIX 정보
@Resource(name="vEAsgnmMIXService")
private VEAsgnmMIXService vEAsgnmMIXService;
//과정차시 관리
@Resource(name = "vEPrcsAplctPrdService")
private VEPrcsAplctPrdService vEPrcsAplctPrdService;
//과정차시 관리
@Resource(name = "vEPrcsMIXService")
private VEPrcsMIXService vEPrcsMIXService;
// 기반강화 강의목록(확정)
@RequestMapping("/web/ve/instr/sspnIdtmt/asgnmInfo/instrAsgnmList.do")
public String instrAsgnmList(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, ModelMap model
, 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(vEPrcsDetailVO);
//4. pageing step2
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
vEPrcsDetailVO.setUserId(loginVO.getUniqId());
vEPrcsDetailVO.setInstrDiv("20");
vEPrcsDetailVO.setAprvlCd("20");
vEPrcsDetailVO.setLctrDivCd("60"); //기반강화50. 기소유예 60
vEPrcsDetailVO.setSearchDiv("ING"); // 강의내역 END 종료내역
vEPrcsDetailVO.setDdlnCd("20"); //교육확정 목록 조회
try {
// System.out.println("session.getAttribute(menuNo).toString()");
// System.out.println(session.getAttribute("menuNo").toString());
// vEPrcsDetailVO.setMenuNo(session.getAttribute("menuNo").toString());
}catch(Exception ex) {
ex.printStackTrace();
}
//
//List<VEPrcsDetailVO> vEPrcsDetailVOList = vEAsgnmMIXService.selectFndtnVisitAsgnmPagingList(vEPrcsDetailVO);
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsMIXService.selectPagingList4FndthInstr(vEPrcsDetailVO);
//6.pageing step3
paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo);
model.addAttribute("paginationInfo", paginationInfo);
//대상 리스트, 페이징 정보 전달
model.addAttribute("vEPrcsDetailVOList", vEPrcsDetailVOList);
return "/web/ve/instr/sspnIdtmtVisitEdu/asgnmInfo/instrAsgnmList";
}
// 기반강화 강의목록(확정) > 상세
@RequestMapping("/web/ve/instr/sspnIdtmt/asgnmInfo/instrAsgnmDetail.do")
public String instrAsgnmDetail(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, 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("ssoLoginVO", ssoLoginVO);
model.addAttribute("loginVO", loginVO);
//로그인 처리====================================
//과정 조회
VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO);
//과정 신청자 정보 가져오기
{
//해당 과정을 제출한 사용자 정보를 가져온다.
VEEduAplctVO paramVO = new VEEduAplctVO();
paramVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
paramVO.setSbmtYn("Y");
// 검색 - 날짜
paramVO.setSearchSmbtStartDt(vEPrcsDetailVO.getSearchSmbtStartDt());
paramVO.setSearchSmbtEndDt(vEPrcsDetailVO.getSearchSmbtEndDt());
// 검색 - 검색어
paramVO.setSearchStatus(vEPrcsDetailVO.getSearchStatus());
List<VEEduAplctVO> vEPrcsDetailVOList = vEEduMIXService.selectList(paramVO);
vEPrcsDetailVOList = egovCryptoUtil.decryptVeEduAplctList(vEPrcsDetailVOList);
System.out.println("====");
//대상 리스트, 페이징 정보 전달
model.addAttribute("listPrcsAplct", vEPrcsDetailVOList);
// 신청자 반려 승인 요청 신청자 모두 포함
vEPrcsDetailVODetail.setNosCnt1(Integer.toString(vEPrcsDetailVOList.size()));
}
// 과정 조회 set
model.addAttribute("info", vEPrcsDetailVODetail);
// 강사 배치 정보
{
List<VEAPrcsAplctPrdInstrAsgnmVO> vEAPrcsAplctPrdInstrAsgnmList = vEAPrcsAplctPrdInstrAsgnmService.findByPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
List<VEAPrcsAplctPrdInstrAsgnmVO> instrAsgnmList = egovCryptoUtil.decryptVEAPrcsAplctPrdInstrAsgnmVOList(vEAPrcsAplctPrdInstrAsgnmList);
model.addAttribute("instrAsgnmList", instrAsgnmList);
}
return "/web/ve/instr/sspnIdtmtVisitEdu/asgnmInfo/instrAsgnmDetail";
}
// 기반강화 강의목록(종료) > 상세
@RequestMapping("/web/ve/instr/sspnIdtmtVisitEdu/endInfo/instrEduEndDetail.do")
public String instrEduEndDetail(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, 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("ssoLoginVO", ssoLoginVO);
model.addAttribute("loginVO", loginVO);
//로그인 처리====================================
//과정 조회
VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO);
//과정 신청자 정보 가져오기
{
//해당 과정을 제출한 사용자 정보를 가져온다.
VEEduAplctVO paramVO = new VEEduAplctVO();
paramVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
paramVO.setSbmtYn("Y");
// 검색 - 날짜
paramVO.setSearchSmbtStartDt(vEPrcsDetailVO.getSearchSmbtStartDt());
paramVO.setSearchSmbtEndDt(vEPrcsDetailVO.getSearchSmbtEndDt());
// 검색 - 검색어
paramVO.setSearchStatus(vEPrcsDetailVO.getSearchStatus());
List<VEEduAplctVO> vEPrcsDetailVOList = vEEduMIXService.selectList(paramVO);
vEPrcsDetailVOList = egovCryptoUtil.decryptVeEduAplctList(vEPrcsDetailVOList);
System.out.println("====");
//대상 리스트, 페이징 정보 전달
model.addAttribute("listPrcsAplct", vEPrcsDetailVOList);
// 신청자 반려 승인 요청 신청자 모두 포함
vEPrcsDetailVODetail.setNosCnt1(Integer.toString(vEPrcsDetailVOList.size()));
}
// 과정 조회 set
model.addAttribute("info", vEPrcsDetailVODetail);
// 강사 배치 정보
{
List<VEAPrcsAplctPrdInstrAsgnmVO> vEAPrcsAplctPrdInstrAsgnmList = vEAPrcsAplctPrdInstrAsgnmService.findByPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
List<VEAPrcsAplctPrdInstrAsgnmVO> instrAsgnmList = egovCryptoUtil.decryptVEAPrcsAplctPrdInstrAsgnmVOList(vEAPrcsAplctPrdInstrAsgnmList);
model.addAttribute("instrAsgnmList", instrAsgnmList);
}
return "/web/ve/instr/sspnIdtmtVisitEdu/endInfo/instrAsgnmEndDetail";
}
//성인강사 강의 요청 상세
/*@RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmRqstDetail.do")
public String instrAsgnmRqstDetail(
@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);
//로그인 처리====================================
VEInstrAsgnmVO vEInstrAsgnmVOInfo = vEAsgnmMIXService.selectAsgnmRqstDetail(vEInstrAsgnmVO);
vEInstrAsgnmVOInfo = egovCryptoUtil.decryptVEInstrAsgnmVO(vEInstrAsgnmVOInfo);
//대상 리스트, 페이징 정보 전달
model.addAttribute("info", vEInstrAsgnmVOInfo);
//사용자 교육신청 과정 리스트
VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO();
vEPrcsDetailVO.setUseYn("Y");
vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20);
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsService.selectTngrPrcsList(vEPrcsDetailVO);
model.addAttribute("eduList", vEPrcsDetailVOList);
//강사료
VEInstrFeeAcmdtVO instrFee = new VEInstrFeeAcmdtVO();
instrFee.setEduAplctOrd(vEInstrAsgnmVO.getEduAplctOrd());
instrFee.setEduChasiOrd(vEInstrAsgnmVO.getEduChasiOrd());
instrFee = vEInstrFeeService.selectDetail(instrFee);
//강사료 제외 합계
int instrFeeSum = Integer.parseInt(instrFee.getSpecialWorkAllow())
+ Integer.parseInt(instrFee.getDistanceAllow())
+ Integer.parseInt(instrFee.getTrafficFee())
+ Integer.parseInt(instrFee.getAcmdtFee());
instrFee.setInstrFeeSum(instrFeeSum);
model.addAttribute("instrFee", instrFee);
//20220222 우영두 추가
//강의내역 NOTI 입력
VEAsgnmNotiVO vEAsgnmNotiVO = new VEAsgnmNotiVO();
vEAsgnmNotiVO.setTblUniqOrd(vEInstrAsgnmVO.getEduChasiOrd());
vEAsgnmNotiVO.setFrstRegisterId(loginVO.getUniqId());
try {
System.out.println("session.getAttribute(menuNo).toString()");
System.out.println(session.getAttribute("menuNo").toString());
vEAsgnmNotiVO.setMenuNo(session.getAttribute("menuNo").toString());
}catch(Exception ex) {
ex.printStackTrace();
}
vEAsgnmNotiVO.setUrlPath(IpUtil.getRequestURI(request));
vEAsgnmNotiService.insertAsgnmNotiInfo(vEAsgnmNotiVO);
return "/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmRqstDetail";
}
//성인강사 강의 추가요청 상세
@RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmAddRqstDetail.do")
public String instrAsgnmAddRqstDetail(
@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);
//로그인 처리====================================
vEInstrAsgnmVO.setUserId(loginVO.getUniqId());
VEInstrAsgnmVO vEInstrAsgnmVOInfo = vEAsgnmMIXService.selectAsgnmAddRqstDetail(vEInstrAsgnmVO);
vEInstrAsgnmVOInfo = egovCryptoUtil.decryptVEInstrAsgnmVO(vEInstrAsgnmVOInfo);
//대상 리스트, 페이징 정보 전달
model.addAttribute("info", vEInstrAsgnmVOInfo);
//사용자 교육신청 과정 리스트
VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO();
vEPrcsDetailVO.setUseYn("Y");
vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20);
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsService.selectTngrPrcsList(vEPrcsDetailVO);
model.addAttribute("eduList", vEPrcsDetailVOList);
return "/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmAddRqstDetail";
}
//성인강사 강의확정내역 상세
@RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmDetail.do")
public String instrAsgnmDetail(
@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);
//로그인 처리====================================
vEInstrAsgnmVO.setUserId(loginVO.getUniqId());
//배정 교육 정보
VEInstrAsgnmVO vEInstrAsgnmVOInfo = vEAsgnmMIXService.selectAsgnmDetail(vEInstrAsgnmVO);
vEInstrAsgnmVOInfo = egovCryptoUtil.decryptVEInstrAsgnmVO(vEInstrAsgnmVOInfo);
//대상 리스트, 페이징 정보 전달
model.addAttribute("info", vEInstrAsgnmVOInfo);
// 강사 상세정보
VEInstrDetailVO vEInstrDetailVOInfo = new VEInstrDetailVO();
vEInstrDetailVOInfo.setInstrDiv("20");
vEInstrDetailVOInfo.setUserId(loginVO.getUniqId());
vEInstrDetailVOInfo.setUseYn("Y");
vEInstrDetailVOInfo = vEInstrDetailService.selectDetail(vEInstrDetailVOInfo);
vEInstrDetailVOInfo = egovCryptoUtil.decryptVEInstrDetailVO(vEInstrDetailVOInfo);
model.addAttribute("instrInfo", vEInstrDetailVOInfo);
//강사료 상세정보
VEInstrFeeAcmdtVO vEInstrFeeAcmdtVO = new VEInstrFeeAcmdtVO();
vEInstrFeeAcmdtVO.setEduAplctOrd(vEInstrAsgnmVO.getEduAplctOrd());
vEInstrFeeAcmdtVO.setEduChasiOrd(vEInstrAsgnmVO.getEduChasiOrd());
vEInstrFeeAcmdtVO = vEInstrFeeService.selectDetail(vEInstrFeeAcmdtVO);
//강사료 제외 합계
int instrFeeSum = Integer.parseInt(vEInstrFeeAcmdtVO.getInstrFee())
+ Integer.parseInt(vEInstrFeeAcmdtVO.getBsnsTripFee())
+ Integer.parseInt(vEInstrFeeAcmdtVO.getSpareFee());
vEInstrFeeAcmdtVO.setInstrFeeSum(instrFeeSum);
model.addAttribute("instrFee", vEInstrFeeAcmdtVO);
//강의계획서 정보 가져오기
int fileCnt = 0;
List<FileVO> result = null;
if (vEInstrAsgnmVOInfo != null) {
FileVO fileVO = new FileVO();
fileVO.setAtchFileId(vEInstrAsgnmVOInfo.getLctrPlanAtchFileId());
result = fileMngService.selectFileInfs(fileVO);
fileCnt = result.size();
}
else {
fileCnt = 0;
}
model.addAttribute("fileList", result);
model.addAttribute("fileListCnt", fileCnt);
//20220222 우영두 추가
//강의내역 NOTI 입력
VEAsgnmNotiVO vEAsgnmNotiVO = new VEAsgnmNotiVO();
vEAsgnmNotiVO.setTblUniqOrd(vEInstrAsgnmVO.getEduChasiOrd());
vEAsgnmNotiVO.setFrstRegisterId(loginVO.getUniqId());
try {
System.out.println("session.getAttribute(menuNo).toString()");
System.out.println(session.getAttribute("menuNo").toString());
vEAsgnmNotiVO.setMenuNo(session.getAttribute("menuNo").toString());
}catch(Exception ex) {
ex.printStackTrace();
vEAsgnmNotiVO.setMenuNo("9991200");
}
vEAsgnmNotiVO.setMenuNo(session.getAttribute("menuNo").toString());
vEAsgnmNotiVO.setUrlPath(IpUtil.getRequestURI(request));
vEAsgnmNotiService.insertAsgnmNotiInfo(vEAsgnmNotiVO);
return "/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmDetail";
}
*//**
* 강의계획서 제출 Ajax
*//*
@RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/lctrPlanRegAjax.do")
public ModelAndView filePopupAjax(
@ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO
, ModelMap model
, HttpServletRequest request
, final MultipartHttpServletRequest multiRequest
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
//SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
//로그인 처리====================================
String atchFileId = "";
final Map<String, MultipartFile> files = multiRequest.getFileMap();
if (!files.isEmpty()) {
//XXX_로 첨부파일 네이밍
List<FileVO> result = egovFileMngUtil.parseFileInf(files, "FILE_", 0, "", "", "");
atchFileId = fileMngService.insertFileInfs(result);
}
try {
//결과 저장
vEInstrAsgnmVO.setLctrPlanAtchFileId(atchFileId);
vEAsgnmMIXService.updateLctrPlan(vEInstrAsgnmVO);
}catch(Exception ex) {
System.out.println("Exception vEAsgnmMIXService.updateLctrPlan");
}
modelAndView.addObject("result", "success");
return modelAndView;
}
*//**
* 숙박신청 등록 처리
*//*
@RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/acmdtRegPopAjax.do")
public ModelAndView acmdtRegPopAjax(
@ModelAttribute("vEInstrFeeAcmdtVO") VEInstrFeeAcmdtVO vEInstrFeeAcmdtVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
Boolean isSuccess = true;
String msg = "";
//로그인 처리====================================
//로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "loginFail");
return modelAndView;
}
//로그인 처리====================================
try {
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
vEInstrFeeAcmdtVO.setFrstRegisterId(loginVO.getUniqId());
vEAcmdtAplctService.insert(vEInstrFeeAcmdtVO);
} catch (Exception ex) {
ex.printStackTrace();
isSuccess = false;
msg = ex.getMessage();
}
modelAndView.addObject("isSuccess", isSuccess);
modelAndView.addObject("msg", msg);
return modelAndView;
}
//성인강사 강의 요청 수락,거절 처리
@RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmRqstMdfyAjax.do")
public ModelAndView instrAsgnmRqstMdfyAjax(
@ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO
, ModelMap model
, RedirectAttributes redirectAttributes
, HttpSession session
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
//로그인 처리====================================
//강사배정테이블 확정 코드 수정
vEInstrAsgnmVO.setUserId(loginVO.getUniqId());
vEAsgnmMIXService.updateAsgnmCode(vEInstrAsgnmVO);
//차시 테이블 확정 Y 업데이트 처리
if("30".equals(vEInstrAsgnmVO.getAsgnmAprvlCd())) {
vEInstrAsgnmVO.setInstrCnfrmCd("Y");
vEInstrAsgnmVO.setInstrCnfrmId(loginVO.getUniqId());
vEAsgnmMIXService.updateChasiCode(vEInstrAsgnmVO);
}else if("40".equals(vEInstrAsgnmVO.getAsgnmAprvlCd())) { //요청 거절 강사배정내역 테이블에 insert. 요청 목록에서 거절한 항목 조회를 위해(VE0025)
vEInstrAsgnmVO.setHstryCd("10"); //거절
vEAsgnmMIXService.insertAsgnmHstry(vEInstrAsgnmVO);
}else if("60".equals(vEInstrAsgnmVO.getAsgnmAprvlCd())) { //요청 거절 강사배정내역 테이블에 insert. 요청 목록에서 거절한 항목 조회를 위해(VE0025)
vEInstrAsgnmVO.setHstryCd("40"); //변경요청
vEAsgnmMIXService.insertAsgnmHstry(vEInstrAsgnmVO);
}
modelAndView.addObject("result", "success");
return modelAndView;
}
//성인강사 강의 추가요청 등록
@RequestMapping("/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmAddRqstAjax.do")
public ModelAndView instrAsgnmAddRqstAjax(
@ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO
, ModelMap model
, RedirectAttributes redirectAttributes
, HttpSession session
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
//로그인 처리====================================
//강사배정내역테이블 등록
vEInstrAsgnmVO.setUserId(loginVO.getUniqId());
vEAsgnmMIXService.insertAsgnmHstry(vEInstrAsgnmVO);
//차시 테이블 확정 Y 업데이트 처리
modelAndView.addObject("result", "success");
return modelAndView;
}
*/
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//
// private function
//
//
//페이징을 위한 처리 step1 - 페이징 기본 정보 설정
private PaginationInfo setPagingStep1(
VEPrcsDetailVO p_vEPrcsDetailVO
)throws Exception{
// pageing step1
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(p_vEPrcsDetailVO.getPageIndex());
paginationInfo.setRecordCountPerPage(p_vEPrcsDetailVO.getPageUnit());
paginationInfo.setPageSize(p_vEPrcsDetailVO.getPageSize());
return paginationInfo;
}
//페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 검색 조건 초기화
private VEPrcsDetailVO setPagingStep2(
VEPrcsDetailVO p_vEPrcsDetailVO
, PaginationInfo p_paginationInfo
)throws Exception{
// pageing step2
p_vEPrcsDetailVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex());
p_vEPrcsDetailVO.setLastIndex(p_paginationInfo.getLastRecordIndex());
p_vEPrcsDetailVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage());
if("".equals(p_vEPrcsDetailVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
p_vEPrcsDetailVO.setSearchSortCnd("prcs_ord");
p_vEPrcsDetailVO.setSearchSortOrd("desc");
}
return p_vEPrcsDetailVO;
}
//페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기
private PaginationInfo setPagingStep3(
List<VEPrcsDetailVO> p_vEPrcsDetailVOList
, PaginationInfo p_paginationInfo
)throws Exception{
// pageing step3
int totCnt = 0;
if(p_vEPrcsDetailVOList.size() > 0) totCnt = p_vEPrcsDetailVOList.get(0).getTotCnt();
p_paginationInfo.setTotalRecordCount(totCnt);
return p_paginationInfo;
}
}

View File

@ -0,0 +1,225 @@
package kcc.ve.instr.sspnIdtmt.endInfo.web;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
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 egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.EgovMessageSource;
import kcc.com.cmm.LoginVO;
import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.web.EgovFileDownloadController;
import kcc.com.utl.user.service.CheckFileUtil;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.kccadr.sch.service.SchduleManageService;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.let.utl.fcc.service.EgovCryptoUtil4VO;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAcmdtAplctService;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeService;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
import kcc.ve.instr.tngrVisitEdu.rprtInfo.service.VEEduRsltRprtService;
import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiService;
@Controller
public class VESspnIdtmtEduEndController {
// eGov 공통 메세지
@Resource(name = "egovMessageSource")
EgovMessageSource egovMessageSource;
//로그인 체크 util
@Resource(name = "checkLoginUtil")
private CheckLoginUtil checkLoginUtil;
//암복호화 유틸
@Resource(name = "egovCryptoUtil")
EgovCryptoUtil egovCryptoUtil;
//강사상세 정보
@Resource(name="vEInstrDetailService")
private VEInstrDetailService vEInstrDetailService;
//결과보고
@Resource(name="vEEduRsltRprtService")
private VEEduRsltRprtService vEEduRsltRprtService;
//배정 MIX 정보
@Resource(name="vEAsgnmMIXService")
private VEAsgnmMIXService vEAsgnmMIXService;
//강의
@Resource(name="vEPrcsService")
private VEPrcsService vEPrcsService;
//강사료
@Resource(name="vEInstrFeeService")
private VEInstrFeeService vEInstrFeeService;
//숙박
@Resource(name="vEAcmdtAplctService")
private VEAcmdtAplctService vEAcmdtAplctService;
//VO /복호화
@Resource(name="egovCryptoUtil4VO")
private EgovCryptoUtil4VO egovCryptoUtil4VO;
// 파일첨부
@Resource(name = "EgovFileMngService")
private EgovFileMngService fileService;
//파일 체크 util
@Resource(name = "checkFileUtil")
private CheckFileUtil checkFileUtil;
//NOTI 서비스
@Resource(name="vEAsgnmNotiService")
private VEAsgnmNotiService vEAsgnmNotiService;
//일정 정보
@Resource(name = "schduleManageService")
private SchduleManageService schduleManageService;
//과정차시 관리
@Resource(name = "vEPrcsMIXService")
private VEPrcsMIXService vEPrcsMIXService;
private static final Logger LOGGER = LoggerFactory.getLogger(EgovFileDownloadController.class);
// 기소유예 강의목록(종료)
@RequestMapping("/web/ve/instr/sspnIdtmtVisitEdu/endInfo/instrEduEndList.do")
public String instrEduEndList(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, ModelMap model
, 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(vEPrcsDetailVO);
//4. pageing step2
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
vEPrcsDetailVO.setUserId(loginVO.getUniqId());
vEPrcsDetailVO.setInstrDiv("20");
vEPrcsDetailVO.setAprvlCd("20");
vEPrcsDetailVO.setLctrDivCd("60"); //기반강화50. 기소유예 60
vEPrcsDetailVO.setSearchDiv("END"); // 강의내역 END 종료내역
vEPrcsDetailVO.setDdlnCd("20"); //교육확정 목록 조회
vEPrcsDetailVO.setEndPnttm("Y"); //종료 완료건만 조회
try {
// System.out.println("session.getAttribute(menuNo).toString()");
// System.out.println(session.getAttribute("menuNo").toString());
// vEPrcsDetailVO.setMenuNo(session.getAttribute("menuNo").toString());
}catch(Exception ex) {
ex.printStackTrace();
}
//
//List<VEPrcsDetailVO> vEPrcsDetailVOList = vEAsgnmMIXService.selectFndtnVisitAsgnmPagingList(vEPrcsDetailVO);
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsMIXService.selectPagingList4FndthInstr(vEPrcsDetailVO);
//6.pageing step3
paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo);
model.addAttribute("paginationInfo", paginationInfo);
//대상 리스트, 페이징 정보 전달
model.addAttribute("vEPrcsDetailVOList", vEPrcsDetailVOList);
return "/web/ve/instr/sspnIdtmtVisitEdu/endInfo/instrEduEndList";
}
//페이징을 위한 처리 step1 - 페이징 기본 정보 설정
private PaginationInfo setPagingStep1(
VEPrcsDetailVO p_vEPrcsDetailVO
)throws Exception{
// pageing step1
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(p_vEPrcsDetailVO.getPageIndex());
paginationInfo.setRecordCountPerPage(p_vEPrcsDetailVO.getPageUnit());
paginationInfo.setPageSize(p_vEPrcsDetailVO.getPageSize());
return paginationInfo;
}
//페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 검색 조건 초기화
private VEPrcsDetailVO setPagingStep2(
VEPrcsDetailVO p_vEPrcsDetailVO
, PaginationInfo p_paginationInfo
)throws Exception{
// pageing step2
p_vEPrcsDetailVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex());
p_vEPrcsDetailVO.setLastIndex(p_paginationInfo.getLastRecordIndex());
p_vEPrcsDetailVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage());
if("".equals(p_vEPrcsDetailVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
p_vEPrcsDetailVO.setSearchSortCnd("prcs_ord");
p_vEPrcsDetailVO.setSearchSortOrd("desc");
}
return p_vEPrcsDetailVO;
}
//페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기
private PaginationInfo setPagingStep3(
List<VEPrcsDetailVO> p_vEPrcsDetailVOList
, PaginationInfo p_paginationInfo
)throws Exception{
// pageing step3
int totCnt = 0;
if(p_vEPrcsDetailVOList.size() > 0) totCnt = p_vEPrcsDetailVOList.get(0).getTotCnt();
p_paginationInfo.setTotalRecordCount(totCnt);
return p_paginationInfo;
}
}

View File

@ -511,8 +511,14 @@
AND c.user_id = #userId#
</isNotEmpty>
<!-- 실무역량강화, 기소유예의 종료 기준 구분 -->
<isNotEmpty property="endPnttm">
AND TO_CHAR(CURRENT_DATE, 'YYYYMMDD') <![CDATA[ > ]]> REPLACE(a.edu_ddln_pnttm, '.' , '')
<isEqual property="lctrDivCd" compareValue="50">
AND TO_CHAR(CURRENT_DATE, 'YYYYMMDD') <![CDATA[ > ]]> REPLACE(a.edu_ddln_pnttm, '.' , '')
</isEqual>
<isEqual property="lctrDivCd" compareValue="60">
AND TO_CHAR(CURRENT_DATE, 'YYYYMMDD') <![CDATA[ > ]]> REPLACE(a.end_pnttm, '.' , '')
</isEqual>
</isNotEmpty>
ORDER BY 1

View File

@ -62,6 +62,8 @@ $(document).ready(function (){
$("#full_9991000").parent('li').hide();
$("#99912000").parent('li').hide();
$("#full_99912000").parent('li').hide();
$("#99913000").parent('li').hide();
$("#full_99913000").parent('li').hide();
}else if("${instrDiv}" == 'adultInstrDiv'){
$("#99923000").parent('li').hide();
$("#full_99923000").parent('li').hide();

View File

@ -97,7 +97,7 @@
function fncGoList(){
var detailForm = document.detailForm;
detailForm.action = "<c:url value='/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmList.do'/>";
detailForm.action = "<c:url value='/web/ve/instr/fndtnVisitEdu/endInfo/instrEduEndList.do'/>";
detailForm.submit();
}
@ -135,7 +135,7 @@
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${info.prcsAplctPrdOrd}'/>"/><!-- 최대 업로드 파일갯수 -->
<input type="hidden" id="innoDirPath" value="<spring:eval expression="@globalSettings['Globals.Innorix.FilePath']"/>" />
<div class="cont_tit">
<h2>강의내역상세</h2>
<h2>종료교육상세</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>

View File

@ -26,7 +26,7 @@
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmList.do'/>";
listForm.action = "<c:url value='/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmList.do'/>";
listForm.submit();
}
@ -66,12 +66,12 @@
<div class="btn_wrap">
<div class="calendar_wrap">
<%-- <input type="text" name="searchEduHopeStartDt" value="${vEPrcsDetailVO.searchEduHopeStartDt}" class="calendar" title="시작일 선택"> --%>
<duet-date-picker identifier="date" name="searchEduHopeStartDt" class="startDate" value="${vEPrcsDetailVO.searchEduHopeStartDt}"></duet-date-picker>
<duet-date-picker identifier="date" name="srchKwd2_1" class="startDate" value="${vEPrcsDetailVO.searchEduHopeStartDt}"></duet-date-picker>
</div>
~
<div class="calendar_wrap">
<%-- <input type="text" name="searchEduHopeEndDt" value="${vEPrcsDetailVO.searchEduHopeEndDt}" class="calendar" title="종료일 선택"> --%>
<duet-date-picker identifier="date" name="searchEduHopeEndDt" class="endDate" value="${vEPrcsDetailVO.searchEduHopeEndDt}"></duet-date-picker>
<duet-date-picker identifier="date" name="srchKwd2_2" class="endDate" value="${vEPrcsDetailVO.searchEduHopeEndDt}"></duet-date-picker>
</div>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/duetdatepicker.js"></script>
<button type="button" class="btnType01" onclick="linkPage(1); return false;">검색</button>
@ -121,7 +121,7 @@
<div class="tb_list01_m">
<c:forEach var="list" items="${vEPrcsDetailVOList}" varStatus="status">
<ul onclick="fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');">
<ul onclick="fncGoDetail('<c:out value='${list.prcsAplctPrdOrd }' />');">
<li>
<span>교육구분</span>
<span><kc:code codeId="VEA001" code="${list.prcsDiv}"/></span>

View File

@ -54,7 +54,7 @@ $( document ).ready(function() {
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/web/ve/instr/adultVisitEdu/endInfo/instrEduEndList.do'/>";
listForm.action = "<c:url value='/web/ve/instr/fndtnVisitEdu/endInfo/instrEduEndList.do'/>";
listForm.submit();
}

View File

@ -68,27 +68,27 @@
<div class="list_top">
<div class="list_top_left">
<label for="searchSubmitYn" class="label">검색조건 선택</label>
<%-- <label for="searchSubmitYn" class="label">검색조건 선택</label>
<select class="selType1" name="searchSubmitYn" id="searchSubmitYn">
<option value="" <c:if test="${vEInstrAsgnmVO.searchSubmitYn eq ''}">selected</c:if>>전체</option>
<option value="Y" <c:if test="${vEInstrAsgnmVO.searchSubmitYn eq 'Y'}">selected</c:if>>완료</option>
<option value="N" <c:if test="${vEInstrAsgnmVO.searchSubmitYn eq 'N'}">selected</c:if>>미완료</option>
</select>
</select> --%>
</div>
<div class="btn_wrap">
<div class="calendar_wrap">
<%-- <input type="text" name="searchEduHopeStartDt" value="${vEInstrAsgnmVO.searchEduHopeStartDt}" class="calendar" title="시작일 선택"> --%>
<duet-date-picker identifier="date" name="searchEduHopeStartDt" class="startDate" value="${vEInstrAsgnmVO.searchEduHopeStartDt}"></duet-date-picker>
<duet-date-picker identifier="date" name="srchKwd2_1" class="startDate" value="${vEInstrAsgnmVO.searchEduHopeStartDt}"></duet-date-picker>
</div>
~
<div class="calendar_wrap">
<%-- <input type="text" name="searchEduHopeEndDt" value="${vEInstrAsgnmVO.searchEduHopeEndDt}" class="calendar" title="종료일 선택"> --%>
<duet-date-picker identifier="date" name="searchEduHopeEndDt" class="endDate" value="${vEInstrAsgnmVO.searchEduHopeEndDt}"></duet-date-picker>
<duet-date-picker identifier="date" name="srchKwd2_2" class="endDate" value="${vEInstrAsgnmVO.searchEduHopeEndDt}"></duet-date-picker>
</div>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/duetdatepicker.js"></script>
<button type="button" class="btnType01" onclick="linkPage(1)">검색</button>
<button type="button" class="btnType02" onclick="fncReset(this);">초기화</button>
<button type="button" class="btnType01" onclick="schdlPage()">교육일정달력</button>
<!-- <button type="button" class="btnType01" onclick="schdlPage()">교육일정달력</button> -->
</div>
</div>

View File

@ -0,0 +1,413 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>강사프로필 목록</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<spring:eval expression="@property['Globals.Innorix.License']" var="license"/>
<script src="<c:url value='/innorix/innorix_${license}.js' />"></script>
<script src="<c:url value='/js/kccadr/innorixCommon.js' />"></script>
<link rel="stylesheet" href="<c:url value='/innorix/innorix.css'/>" type="text/css">
<style>
#lctrPlan{margin: 8px 0 0 0; border: 1px solid #d5d5d5; border-radius: 5px; height: 150px !important; background-color: #fafafa;}
.innorix_basic div.irx_filetree.empty-uploader{background: url(/offedu/visitEdu/usr/publish/images/content/dropzone_file_before.png) no-repeat center; height: 150px !important;}
.irx_filetree,.innorix_basic div.irx_infoBox{height: 150px !important;}
</style>
<script type="text/javaScript" language="javascript">
//강의계획서 업로드
var control1 = new Object();
var urlBase = "<c:url value='/innorix/exam/'/>"
$( document ).ready(function() {
$(".btn_add_file").on('click', function(){
$("#file_temp").click();
});
$('#file_temp').change(function(e){
var objUpload = $(".upload_area");
var files = $('#file_temp')[0].files;
handleFileUpload(files,objUpload); //파일업로드
if($("#file_temp").length > 0){
$("#file_temp").val(""); //파일지우기
}
});
//강의계획서 컨트롤 생성
control1 = innorix.create({
el : '#lctrPlan', // 컨트롤 출력 객체 ID
installUrl: '<c:url value="/innorix/install/install.html" />', // Agent 설치 페이지
uploadUrl: '<c:url value="/innorix/exam/upload.jsp?el=lctrPlan" />', // 업로드 URL
maxFileCount : 1, // 첨부가능 파일 전체 개수
width : 870, // 컨트롤 출력 너비(pixel)
height : 80, // 컨트롤 출력 높이(pixel)
allowExtension : ["txt","xls","xlsx","png","jpg","jpeg","doc","ppt","hwp","pdf","zip"],
useContextMenu : 'false' //우클릭을 이용한 개별 업로드 방지
});
//파일 추가 이벤트
control1.on('afterAddFiles', function (p) {
$('.lctrPlan_totalfileSize').text(getStrFileSize(p[0].fileSize)) ;
$('.lctrPlan_totalfileCount').text(p.length);
});
//파일 삭제 이벤트
control1.on('removeFiles', function (p) {
$('.lctrPlan_totalfileSize').text('0MB') ;
$('.lctrPlan_totalfileCount').text('0');
if(control1Tmprr == 'Y'){
if(confirm("삭제하시겠습니까?")){
innorixDelRprtAtchFile(p[0].uniqueFileName, 'lctrPlan_rslt_atch_file_id')
control1Tmprr = 'N';
control1Chg = 'Y';
$("#control1DownBtn").css('display', 'none');
}else{
return false;
}
}
});
//첨부파일 업로드 후속조치
control1.on('uploadComplete', function (p) {
/* fn_callBackInnorixInsert(p.files); */
var data = p.files;
var url = "<c:url value='/web/common/insertInnorixLctrPlanFileAjax.do' />";
var sendData = {
"prcsAplctPrdOrd": $('#prcsAplctPrdOrd').val()
, "innorixFileListVO": data
, "successMsg" : "제출 완료되었습니다."
}
if(fn_innorixCmmAjax(sendData, url) == "OK")
{
alert("업로드 완료");
}
});
});
function fncGoList(){
var detailForm = document.detailForm;
detailForm.action = "<c:url value='/web/ve/instr/sspnIdtmt/asgnmInfo/instrAsgnmList.do'/>";
detailForm.submit();
}
function fileSave(){
if(control1.getFileCount() == 0){
alert("강의계획서를 첨부해주세요.")
return false;
}
//upload.jsp에서 /app/doc/offedu/sht/로 다시 set. context-properties.xml에서 파일 경로도 /app/doc/offedu/sht/
var postObj = new Object();
postObj.innoDirPath = $('#innoDirPath').val();
control1.setPostData(postObj); // 업로드시 함께 전달될 POST Param 추가
control1.upload();
}
</script>
</head>
<body>
<!-- cont -->
<div class="cont_wrap" id="sub">
<form:form id="detailForm" name="detailForm" commandName="vEPrcsDetailVO" method="post" >
<input type="hidden" name="pageIndex" value="<c:out value='${vEPrcsDetailVO.pageIndex}'/>"/>
<input type="hidden" name="searchEduHopeStartDt" value="<c:out value="${vEPrcsDetailVO.searchEduHopeStartDt}" />" />
<input type="hidden" name="searchEduHopeEndDt" value="<c:out value="${vEPrcsDetailVO.searchEduHopeEndDt}" />" />
<input type="hidden" name="searchKeyword" value="<c:out value="${vEPrcsDetailVO.searchKeyword}" />" />
<input type="hidden" name="userId" id="userId" value="<c:out value='${info.userId}'/>"/> <!-- 사용자 아이디 -->
<input type="hidden" name="instrDiv" id="instrDiv" value="<c:out value='${info.instrDiv}'/>"/> <!-- 강사구분 -->
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="<c:out value='${info.eduAplctOrd}'/>"/> <!-- 교육신청 순번 -->
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="<c:out value='${info.eduChasiOrd}'/>"/> <!-- 교육차시 순번 -->
<input type="hidden" name="hstryCd" id="hstryCd" value=""/> <!-- 배정내역 코드 -->
<input type="hidden" name="limitcount" id="limitcount" value="1" /><!-- 최대 업로드 파일갯수 -->
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${info.prcsAplctPrdOrd}'/>"/><!-- 최대 업로드 파일갯수 -->
<input type="hidden" id="innoDirPath" value="<spring:eval expression="@globalSettings['Globals.Innorix.FilePath']"/>" />
<div class="cont_tit">
<h2>강의내역상세</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
</div>
</div>
<div class="tb_tit01">
<div class="tb_tit01_left">
<p>교육과정 정보</p>
</div>
</div>
<div class="tb_type01 tb_write">
<table>
<caption>교육과정 정보(th 명)을 보여주는 표</caption>
<colgroup>
<col style="width: 220px;">
<col style="width: auto;">
<col style="width: 220px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr class="trLength4">
<th scope="row">
<p>교육부문</p>
</th>
<td>
<ve:code codeId="VEA001" code="${info.prcsDiv}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>교육부문</p>
</th>
<td colspan="3"><ve:code codeId="VEA001" code="${info.prcsDiv}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>과정</p>
</th>
<td>
<c:out value="${info.prcsNm}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>과정</p>
</th>
<td colspan="3"><c:out value="${info.prcsNm}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>신청기간</p>
</th>
<td>
<c:out value="${info.strtPnttm}"/>~<c:out value="${info.endPnttm}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>신청기간</p>
</th>
<td colspan="3"><c:out value="${info.strtPnttm}"/>~<c:out value="${info.endPnttm}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>교육기간</p>
</th>
<td>
<c:out value="${info.eduStrtPnttm}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>교육기간</p>
</th>
<td colspan="3"><c:out value="${info.eduStrtPnttm}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>상세교육과정</p>
</th>
<td>
<c:out value="${info.prcsCn }" />
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>상세교육과정</p>
</th>
<td colspan="3"><c:out value="${info.prcsCn }" /></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>정원</p>
</th>
<td>
<c:out value="${info.nos}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>정원</p>
</th>
<td colspan="3"><c:out value="${info.nos}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>상태</p>
</th>
<td>
<ve:code codeId="VEA004" code="${info.ddlnCd}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>상태</p>
</th>
<td colspan="3"><ve:code codeId="VEA004" code="${info.ddlnCd}"/></td>
</tr>
</tbody>
</table>
</div>
<%-- <div class="tb_tit01">
<div class="tb_tit01_left">
<p>강사 배치 정보</p>
</div>
</div>
<div class="tb_list01">
<div class="tb_list01" style="width:100%; margin-bottom: 40px;" >
<table>
<colgroup>
<col style="width: 220px;">
<col style="width: auto;">
<col style="width: 220px;">
</colgroup>
<thead>
<th>강사명</th>
<th>연락처</th>
<th>확정여부</th>
</thead>
<tbody>
<c:choose>
<c:when test="${!empty instrAsgnmList }">
<c:forEach var="list" items="${instrAsgnmList}" varStatus="status">
<tr>
<td>
<c:out value="${list.instrNm }"/>
</td>
<td>
<c:out value="${list.phone }"/>
</td>
<td>
<ve:code codeId="VE0019" code="${list.asgnmAprvlCd}"/>
</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr>
<td colspan="4">강사 배치 정보가 없습니다.</td>
</tr>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</div>
<div class="tb_tit01">
<div class="tb_tit01_left">
<p>교육신청자</p>
</div>
</div>
<div class="tb_type01">
<div class="tb_list01" style="width:100%; margin-bottom: 40px;" >
<table>
<colgroup>
<col style="width: 5%">
<col style="width: 210px;">
<col style="width: auto;">
<col style="width: 210px;">
</colgroup>
<thead>
<tr>
<th><input type="checkbox" name="checkAll" id="checkAll" onclick="chkAll(this);" /><label for="checkAll"></label></th>
<th>신청자</th>
<th>신청일</th>
<th>확정여부</th>
<!-- <th>이수여부</th> -->
<!-- <th>설문조사</th> -->
<!-- <th>이수증</th> -->
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${!empty listPrcsAplct}">
<c:forEach var="list" items="${listPrcsAplct}" varStatus="status">
<tr>
<td>
<input name="chk" class="${list.asgnmAprvlCd}"
value="${list.eduAplctOrd}" title="Check" type="checkbox"/>
</td>
<td>
<c:out value="${list.userNm}"/>
</td>
<td>
<c:out value="${list.sbmtPnttm}"/>
</td>
<td>
<ve:code codeId="VE0003" code="${list.aprvlCd}"/>
</td>
<td>
<ve:code codeId="VEA003" code="${list.aplctStateCd}"/>
</td>
<td>
<c:choose>
<c:when test="${list.qestnrId }">
<button type="button" class="btn_type04" onclick="fn_qestnr('<c:out value="${list.qestnrId }"/>');">설문결과</button>
</c:when>
<c:otherwise>
미입력
</c:otherwise>
</c:choose>
</td>
<td>
<c:choose>
<c:when test="${list.qestnrId }">
<button type="button" class="btnType04" onclick="fn_qestnr('<c:out value="${list.qestnrId }"/>');">출력</button>
<button type="button" class="btn_type04">출력</button>
</c:when>
<c:otherwise>
</c:otherwise>
</c:choose>
</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr>
<td colspan="4">신청자가 없습니다.</td>
</tr>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</div> --%>
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btnType02 m_btn_block" onclick="fncGoList(); return false;">목록</button>
</div>
</div>
</form:form>
</div>
</body>
</html>

View File

@ -0,0 +1,152 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
$( document ).ready(function(){
//성인강사인지 체크
adultInstrCheck();
});
function fncGoCreate() {
$("#listForm").attr("action","${pageContext.request.contextPath}/web/kccadr/accdnt/acd/adjstChangeDateCreate.do").submit();
}
function fncGoDetail(prcsAplctPrdOrd){
$("#prcsAplctPrdOrd").val(prcsAplctPrdOrd);
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/instr/sspnIdtmt/asgnmInfo/instrAsgnmDetail.do").submit();
}
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmList.do'/>";
listForm.submit();
}
function goReqStatus(){
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/instrInfo/instrPrflReg.do").submit();
}
function fncReset(thisObj){
var targetObj = $(thisObj).closest('.list_top').find('select,input');
$.each(targetObj, function(){
$(this).val('');
});
}
</script>
<!-- cont -->
<div class="cont_wrap" id="sub">
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO">
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value=""/>
<input type="hidden" name="pageIndex" value="<c:out value='${vEPrcsDetailVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEPrcsDetailVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEPrcsDetailVO.searchSortOrd}" />" />
<input type="hidden" name="searchStatus" value="<c:out value="${vEPrcsDetailVO.searchStatus}" />" />
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="" />
<div class="cont_tit">
<h2>강의내역목록</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
</div>
</div>
<div class="list_top">
<div class="list_top_left">
</div>
<div class="btn_wrap">
<div class="calendar_wrap">
<%-- <input type="text" name="searchEduHopeStartDt" value="${vEPrcsDetailVO.searchEduHopeStartDt}" class="calendar" title="시작일 선택"> --%>
<duet-date-picker identifier="date" name="srchKwd2_1" class="startDate" value="${vEPrcsDetailVO.searchEduHopeStartDt}"></duet-date-picker>
</div>
~
<div class="calendar_wrap">
<%-- <input type="text" name="searchEduHopeEndDt" value="${vEPrcsDetailVO.searchEduHopeEndDt}" class="calendar" title="종료일 선택"> --%>
<duet-date-picker identifier="date" name="srchKwd2_2" class="endDate" value="${vEPrcsDetailVO.searchEduHopeEndDt}"></duet-date-picker>
</div>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/duetdatepicker.js"></script>
<button type="button" class="btnType01" onclick="linkPage(1); return false;">검색</button>
<button type="button" class="btnType02" onclick="fncReset(this);">초기화</button>
</div>
</div>
<div class="tb_list01">
<table>
<colgroup>
<col style="width: 30%;">
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 10%;">
</colgroup>
<thead>
<tr>
<th>교육구분</th>
<th>과정명</th>
<th>교육일자</th>
<th>상태</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${vEPrcsDetailVOList}" varStatus="status">
<tr>
<td>
<kc:code codeId="VEA001" code="${list.prcsDiv}"/>
</td>
<td>
<a href="#none" onclick="fncGoDetail('<c:out value='${list.prcsAplctPrdOrd }' />')">${list.prcsNm } (${list.prcsAplctPrdOrd })</a>
</td>
<td>
${list.eduStrtPnttm }
</td>
<td>
<kc:code codeId="VEA004" code="${list.ddlnCd}"/>
</td>
</tr>
</c:forEach>
<c:if test="${empty vEPrcsDetailVOList}">
<tr><td colspan="4"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<div class="tb_list01_m">
<c:forEach var="list" items="${vEPrcsDetailVOList}" varStatus="status">
<ul onclick="fncGoDetail('<c:out value='${list.prcsAplctPrdOrd }' />');">
<li>
<span>교육구분</span>
<span><kc:code codeId="VEA001" code="${list.prcsDiv}"/></span>
</li>
<li>
<span>과정명</span>
<span>${list.prcsNm } (${list.prcsAplctPrdOrd })</span>
</li>
<li>
<span>교육기간</span>
<span>${list.eduStrtPnttm } ~ ${list.eduDdlnPnttm }</span>
</li>
<li>
<span>상태</span>
<span><kc:code codeId="VEA004" code="${list.ddlnCd}"/></span>
</li>
</ul>
</c:forEach>
<c:if test="${empty vEPrcsDetailVOList}">
<ul><li colspan="4"><spring:message code="common.nodata.msg" /></li></ul>
</c:if>
</div>
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
</form:form>
</div>

View File

@ -0,0 +1,413 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>강사프로필 목록</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<spring:eval expression="@property['Globals.Innorix.License']" var="license"/>
<script src="<c:url value='/innorix/innorix_${license}.js' />"></script>
<script src="<c:url value='/js/kccadr/innorixCommon.js' />"></script>
<link rel="stylesheet" href="<c:url value='/innorix/innorix.css'/>" type="text/css">
<style>
#lctrPlan{margin: 8px 0 0 0; border: 1px solid #d5d5d5; border-radius: 5px; height: 150px !important; background-color: #fafafa;}
.innorix_basic div.irx_filetree.empty-uploader{background: url(/offedu/visitEdu/usr/publish/images/content/dropzone_file_before.png) no-repeat center; height: 150px !important;}
.irx_filetree,.innorix_basic div.irx_infoBox{height: 150px !important;}
</style>
<script type="text/javaScript" language="javascript">
//강의계획서 업로드
var control1 = new Object();
var urlBase = "<c:url value='/innorix/exam/'/>"
$( document ).ready(function() {
$(".btn_add_file").on('click', function(){
$("#file_temp").click();
});
$('#file_temp').change(function(e){
var objUpload = $(".upload_area");
var files = $('#file_temp')[0].files;
handleFileUpload(files,objUpload); //파일업로드
if($("#file_temp").length > 0){
$("#file_temp").val(""); //파일지우기
}
});
//강의계획서 컨트롤 생성
control1 = innorix.create({
el : '#lctrPlan', // 컨트롤 출력 객체 ID
installUrl: '<c:url value="/innorix/install/install.html" />', // Agent 설치 페이지
uploadUrl: '<c:url value="/innorix/exam/upload.jsp?el=lctrPlan" />', // 업로드 URL
maxFileCount : 1, // 첨부가능 파일 전체 개수
width : 870, // 컨트롤 출력 너비(pixel)
height : 80, // 컨트롤 출력 높이(pixel)
allowExtension : ["txt","xls","xlsx","png","jpg","jpeg","doc","ppt","hwp","pdf","zip"],
useContextMenu : 'false' //우클릭을 이용한 개별 업로드 방지
});
//파일 추가 이벤트
control1.on('afterAddFiles', function (p) {
$('.lctrPlan_totalfileSize').text(getStrFileSize(p[0].fileSize)) ;
$('.lctrPlan_totalfileCount').text(p.length);
});
//파일 삭제 이벤트
control1.on('removeFiles', function (p) {
$('.lctrPlan_totalfileSize').text('0MB') ;
$('.lctrPlan_totalfileCount').text('0');
if(control1Tmprr == 'Y'){
if(confirm("삭제하시겠습니까?")){
innorixDelRprtAtchFile(p[0].uniqueFileName, 'lctrPlan_rslt_atch_file_id')
control1Tmprr = 'N';
control1Chg = 'Y';
$("#control1DownBtn").css('display', 'none');
}else{
return false;
}
}
});
//첨부파일 업로드 후속조치
control1.on('uploadComplete', function (p) {
/* fn_callBackInnorixInsert(p.files); */
var data = p.files;
var url = "<c:url value='/web/common/insertInnorixLctrPlanFileAjax.do' />";
var sendData = {
"prcsAplctPrdOrd": $('#prcsAplctPrdOrd').val()
, "innorixFileListVO": data
, "successMsg" : "제출 완료되었습니다."
}
if(fn_innorixCmmAjax(sendData, url) == "OK")
{
alert("업로드 완료");
}
});
});
function fncGoList(){
var detailForm = document.detailForm;
detailForm.action = "<c:url value='/web/ve/instr/sspnIdtmtVisitEdu/endInfo/instrEduEndList.do'/>";
detailForm.submit();
}
function fileSave(){
if(control1.getFileCount() == 0){
alert("강의계획서를 첨부해주세요.")
return false;
}
//upload.jsp에서 /app/doc/offedu/sht/로 다시 set. context-properties.xml에서 파일 경로도 /app/doc/offedu/sht/
var postObj = new Object();
postObj.innoDirPath = $('#innoDirPath').val();
control1.setPostData(postObj); // 업로드시 함께 전달될 POST Param 추가
control1.upload();
}
</script>
</head>
<body>
<!-- cont -->
<div class="cont_wrap" id="sub">
<form:form id="detailForm" name="detailForm" commandName="vEPrcsDetailVO" method="post" >
<input type="hidden" name="pageIndex" value="<c:out value='${vEPrcsDetailVO.pageIndex}'/>"/>
<input type="hidden" name="searchEduHopeStartDt" value="<c:out value="${vEPrcsDetailVO.searchEduHopeStartDt}" />" />
<input type="hidden" name="searchEduHopeEndDt" value="<c:out value="${vEPrcsDetailVO.searchEduHopeEndDt}" />" />
<input type="hidden" name="searchKeyword" value="<c:out value="${vEPrcsDetailVO.searchKeyword}" />" />
<input type="hidden" name="userId" id="userId" value="<c:out value='${info.userId}'/>"/> <!-- 사용자 아이디 -->
<input type="hidden" name="instrDiv" id="instrDiv" value="<c:out value='${info.instrDiv}'/>"/> <!-- 강사구분 -->
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="<c:out value='${info.eduAplctOrd}'/>"/> <!-- 교육신청 순번 -->
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="<c:out value='${info.eduChasiOrd}'/>"/> <!-- 교육차시 순번 -->
<input type="hidden" name="hstryCd" id="hstryCd" value=""/> <!-- 배정내역 코드 -->
<input type="hidden" name="limitcount" id="limitcount" value="1" /><!-- 최대 업로드 파일갯수 -->
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${info.prcsAplctPrdOrd}'/>"/><!-- 최대 업로드 파일갯수 -->
<input type="hidden" id="innoDirPath" value="<spring:eval expression="@globalSettings['Globals.Innorix.FilePath']"/>" />
<div class="cont_tit">
<h2>종료교육상세</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
</div>
</div>
<div class="tb_tit01">
<div class="tb_tit01_left">
<p>교육과정 정보</p>
</div>
</div>
<div class="tb_type01 tb_write">
<table>
<caption>교육과정 정보(th 명)을 보여주는 표</caption>
<colgroup>
<col style="width: 220px;">
<col style="width: auto;">
<col style="width: 220px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr class="trLength4">
<th scope="row">
<p>교육부문</p>
</th>
<td>
<ve:code codeId="VEA001" code="${info.prcsDiv}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>교육부문</p>
</th>
<td colspan="3"><ve:code codeId="VEA001" code="${info.prcsDiv}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>과정</p>
</th>
<td>
<c:out value="${info.prcsNm}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>과정</p>
</th>
<td colspan="3"><c:out value="${info.prcsNm}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>신청기간</p>
</th>
<td>
<c:out value="${info.strtPnttm}"/>~<c:out value="${info.endPnttm}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>신청기간</p>
</th>
<td colspan="3"><c:out value="${info.strtPnttm}"/>~<c:out value="${info.endPnttm}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>교육기간</p>
</th>
<td>
<c:out value="${info.eduStrtPnttm}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>교육기간</p>
</th>
<td colspan="3"><c:out value="${info.eduStrtPnttm}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>상세교육과정</p>
</th>
<td>
<c:out value="${info.prcsCn }" />
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>상세교육과정</p>
</th>
<td colspan="3"><c:out value="${info.prcsCn }" /></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>정원</p>
</th>
<td>
<c:out value="${info.nos}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>정원</p>
</th>
<td colspan="3"><c:out value="${info.nos}"/></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>상태</p>
</th>
<td>
<ve:code codeId="VEA004" code="${info.ddlnCd}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>상태</p>
</th>
<td colspan="3"><ve:code codeId="VEA004" code="${info.ddlnCd}"/></td>
</tr>
</tbody>
</table>
</div>
<%-- <div class="tb_tit01">
<div class="tb_tit01_left">
<p>강사 배치 정보</p>
</div>
</div>
<div class="tb_list01">
<div class="tb_list01" style="width:100%; margin-bottom: 40px;" >
<table>
<colgroup>
<col style="width: 220px;">
<col style="width: auto;">
<col style="width: 220px;">
</colgroup>
<thead>
<th>강사명</th>
<th>연락처</th>
<th>확정여부</th>
</thead>
<tbody>
<c:choose>
<c:when test="${!empty instrAsgnmList }">
<c:forEach var="list" items="${instrAsgnmList}" varStatus="status">
<tr>
<td>
<c:out value="${list.instrNm }"/>
</td>
<td>
<c:out value="${list.phone }"/>
</td>
<td>
<ve:code codeId="VE0019" code="${list.asgnmAprvlCd}"/>
</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr>
<td colspan="4">강사 배치 정보가 없습니다.</td>
</tr>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</div>
<div class="tb_tit01">
<div class="tb_tit01_left">
<p>교육신청자</p>
</div>
</div>
<div class="tb_type01">
<div class="tb_list01" style="width:100%; margin-bottom: 40px;" >
<table>
<colgroup>
<col style="width: 5%">
<col style="width: 210px;">
<col style="width: auto;">
<col style="width: 210px;">
</colgroup>
<thead>
<tr>
<th><input type="checkbox" name="checkAll" id="checkAll" onclick="chkAll(this);" /><label for="checkAll"></label></th>
<th>신청자</th>
<th>신청일</th>
<th>확정여부</th>
<!-- <th>이수여부</th> -->
<!-- <th>설문조사</th> -->
<!-- <th>이수증</th> -->
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${!empty listPrcsAplct}">
<c:forEach var="list" items="${listPrcsAplct}" varStatus="status">
<tr>
<td>
<input name="chk" class="${list.asgnmAprvlCd}"
value="${list.eduAplctOrd}" title="Check" type="checkbox"/>
</td>
<td>
<c:out value="${list.userNm}"/>
</td>
<td>
<c:out value="${list.sbmtPnttm}"/>
</td>
<td>
<ve:code codeId="VE0003" code="${list.aprvlCd}"/>
</td>
<td>
<ve:code codeId="VEA003" code="${list.aplctStateCd}"/>
</td>
<td>
<c:choose>
<c:when test="${list.qestnrId }">
<button type="button" class="btn_type04" onclick="fn_qestnr('<c:out value="${list.qestnrId }"/>');">설문결과</button>
</c:when>
<c:otherwise>
미입력
</c:otherwise>
</c:choose>
</td>
<td>
<c:choose>
<c:when test="${list.qestnrId }">
<button type="button" class="btnType04" onclick="fn_qestnr('<c:out value="${list.qestnrId }"/>');">출력</button>
<button type="button" class="btn_type04">출력</button>
</c:when>
<c:otherwise>
</c:otherwise>
</c:choose>
</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr>
<td colspan="4">신청자가 없습니다.</td>
</tr>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
</div> --%>
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btnType02 m_btn_block" onclick="fncGoList(); return false;">목록</button>
</div>
</div>
</form:form>
</div>
</body>
</html>

View File

@ -0,0 +1,165 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
$( document ).ready(function(){
//성인강사인지 체크
adultInstrCheck();
});
function fncGoCreate() {
$("#listForm").attr("action","${pageContext.request.contextPath}/web/kccadr/accdnt/acd/adjstChangeDateCreate.do").submit();
}
function fncGoDetail(prcsAplctPrdOrd){
$("#prcsAplctPrdOrd").val(prcsAplctPrdOrd);
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/instr/sspnIdtmtVisitEdu/endInfo/instrEduEndDetail.do").submit();
}
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/web/ve/instr/sspnIdtmtVisitEdu/endInfo/instrEduEndList.do'/>";
listForm.submit();
}
function schdlPage(){
var listForm = document.listForm ;
listForm.action = "<c:url value='/web/ve/instr/adultVisitEdu/endInfo/instrEduEndSchdl.do'/>";
listForm.submit();
}
function goReqStatus(){
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/instrInfo/instrPrflReg.do").submit();
}
function fncReset(thisObj){
var targetObj = $(thisObj).closest('.list_top').find('select,input');
$.each(targetObj, function(){
$(this).val('');
});
}
</script>
<!-- cont -->
<div class="cont_wrap" id="sub">
<form:form id="listForm" name="listForm" commandName="vEInstrAsgnmVO">
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value=""/>
<input type="hidden" name="pageIndex" value="<c:out value='${vEInstrAsgnmVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEInstrAsgnmVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEInstrAsgnmVO.searchSortOrd}" />" />
<input type="hidden" name="searchStatus" value="<c:out value="${vEInstrAsgnmVO.searchStatus}" />" />
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="" />
<div class="cont_tit">
<h2>종료교육목록</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
</div>
</div>
<div class="list_top">
<div class="list_top_left">
<label for="searchSubmitYn" class="label">검색조건 선택</label>
<select class="selType1" name="searchSubmitYn" id="searchSubmitYn">
<option value="" <c:if test="${vEInstrAsgnmVO.searchSubmitYn eq ''}">selected</c:if>>전체</option>
<option value="Y" <c:if test="${vEInstrAsgnmVO.searchSubmitYn eq 'Y'}">selected</c:if>>완료</option>
<option value="N" <c:if test="${vEInstrAsgnmVO.searchSubmitYn eq 'N'}">selected</c:if>>미완료</option>
</select>
</div>
<div class="btn_wrap">
<div class="calendar_wrap">
<%-- <input type="text" name="searchEduHopeStartDt" value="${vEInstrAsgnmVO.searchEduHopeStartDt}" class="calendar" title="시작일 선택"> --%>
<duet-date-picker identifier="date" name="srchKwd2_1" class="startDate" value="${vEInstrAsgnmVO.searchEduHopeStartDt}"></duet-date-picker>
</div>
~
<div class="calendar_wrap">
<%-- <input type="text" name="searchEduHopeEndDt" value="${vEInstrAsgnmVO.searchEduHopeEndDt}" class="calendar" title="종료일 선택"> --%>
<duet-date-picker identifier="date" name="srchKwd2_2" class="endDate" value="${vEInstrAsgnmVO.searchEduHopeEndDt}"></duet-date-picker>
</div>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/duetdatepicker.js"></script>
<button type="button" class="btnType01" onclick="linkPage(1)">검색</button>
<button type="button" class="btnType02" onclick="fncReset(this);">초기화</button>
<!-- <button type="button" class="btnType01" onclick="schdlPage()">교육일정달력</button> -->
</div>
</div>
<div class="tb_list01">
<table>
<colgroup>
<col style="width: 30%;">
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 10%;">
</colgroup>
<thead>
<tr>
<th>교육구분</th>
<th>과정명</th>
<th>교육일자</th>
<th>상태</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${vEPrcsDetailVOList}" varStatus="status">
<tr>
<td>
<kc:code codeId="VEA001" code="${list.prcsDiv}"/>
</td>
<td>
<a href="#none" onclick="fncGoDetail('<c:out value='${list.prcsAplctPrdOrd }' />')">${list.prcsNm } (${list.prcsAplctPrdOrd })</a>
</td>
<td>
${list.eduStrtPnttm }
</td>
<td>
<kc:code codeId="VEA004" code="${list.ddlnCd}"/>
</td>
</tr>
</c:forEach>
<c:if test="${empty vEPrcsDetailVOList}">
<tr><td colspan="4"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<div class="tb_list01_m">
<c:forEach var="list" items="${vEPrcsDetailVOList}" varStatus="status">
<ul onclick="fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');">
<li>
<span>교육구분</span>
<span><kc:code codeId="VEA001" code="${list.prcsDiv}"/></span>
</li>
<li>
<span>과정명</span>
<span>${list.prcsNm } (${list.prcsAplctPrdOrd })</span>
</li>
<li>
<span>교육일자</span>
<span>${list.eduStrtPnttm }</span>
</li>
<li>
<span>상태</span>
<span><kc:code codeId="VEA004" code="${list.ddlnCd}"/></span>
</li>
</ul>
</c:forEach>
<c:if test="${empty vEPrcsDetailVOList}">
<ul><li colspan="4"><spring:message code="common.nodata.msg" /></li></ul>
</c:if>
</div>
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
</form:form>
</div>