This commit is contained in:
subsub 2023-10-17 18:18:49 +09:00
commit a46e52a54e
58 changed files with 3196 additions and 100 deletions

View File

@ -0,0 +1,633 @@
package kcc.ve.instr.fndtnVisitEdu.asgnmInfo.web;
import java.util.List;
import java.util.Map;
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 org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import 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.service.EgovFileMngUtil;
import kcc.com.cmm.service.FileVO;
import kcc.com.cmm.util.IpUtil;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.let.utl.fcc.service.EgovCryptoUtil4VO;
import kcc.ve.cmm.VeConstants;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAcmdtAplctService;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeAcmdtVO;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailService;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
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.VEPrcsService;
import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiService;
import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiVO;
@Controller
public class VEFndtnAsgnmController {
// 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;
// 기반강화 강의목록(확정)
@RequestMapping("/web/ve/instr/fndtnVisitEdu/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.setSearchDiv("ING"); // 강의내역 END 종료내역
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);
//6.pageing step3
paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo);
model.addAttribute("paginationInfo", paginationInfo);
//대상 리스트, 페이징 정보 전달
model.addAttribute("vEPrcsDetailVOList", vEPrcsDetailVOList);
return "/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmList";
}
// 기반강화 강의목록(확정) > 상세
@RequestMapping("/web/ve/instr/fndtnVisitEdu/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/fndtnVisitEdu/asgnmInfo/instrAsgnmDetail";
}
//성인강사 강의 요청 상세
/*@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

@ -1,7 +1,5 @@
package kcc.ve.instr.tngrVisitEdu.asgnmInfo.service;
import java.util.List;
public interface VEAcmdtAplctService {
//C : 숙박신청 등록
@ -15,6 +13,8 @@ public interface VEAcmdtAplctService {
VEInstrFeeAcmdtVO selectDetailByUser_r2(VEInstrFeeAcmdtVO paramVO) throws Exception;
VEInstrFeeAcmdtVO selectDetailByUser_r3(VEInstrFeeAcmdtVO paramVO) throws Exception;
VEInstrFeeAcmdtVO selectDcmdtAplctYesterday(VEInstrFeeAcmdtVO paramVO) throws Exception;

View File

@ -3,6 +3,7 @@ package kcc.ve.instr.tngrVisitEdu.asgnmInfo.service;
import java.util.List;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
public interface VEAsgnmMIXService {
@ -120,4 +121,6 @@ public interface VEAsgnmMIXService {
//R
VEInstrAsgnmVO selectTtlMntChasiSumDetail(VEInstrAsgnmVO paramVO) throws Exception;
List<VEPrcsDetailVO> selectFndtnVisitAsgnmPagingList(VEPrcsDetailVO vEPrcsDetailVO);
}

View File

@ -43,6 +43,10 @@ public class VEAcmdtAplctDAO extends EgovAbstractDAO {
return (VEInstrFeeAcmdtVO) select("VEAcmdtAplctDAO.selectDetailByUser_r2", paramVO);
}
public VEInstrFeeAcmdtVO selectDetailByUser_r3(VEInstrFeeAcmdtVO paramVO) throws Exception {
return (VEInstrFeeAcmdtVO) select("VEAcmdtAplctDAO.selectDetailByUser_r3", paramVO);
}
public VEInstrFeeAcmdtVO selectDcmdtAplctYesterday(VEInstrFeeAcmdtVO paramVO) throws Exception {
return (VEInstrFeeAcmdtVO) select("VEAcmdtAplctDAO.selectDcmdtAplctYesterday", paramVO);
}

View File

@ -23,9 +23,18 @@ public class VEAcmdtAplctServiceImpl implements VEAcmdtAplctService {
//C
public void insert(VEInstrFeeAcmdtVO paramVO) throws Exception {
//기존 데이터 존재 여부 확인
VEInstrFeeAcmdtVO vEInstrFeeAcmdtVO = new VEInstrFeeAcmdtVO();
vEInstrFeeAcmdtVO.setEduAplctOrd(paramVO.getEduAplctOrd());
vEInstrFeeAcmdtVO.setEduChasiOrd(paramVO.getEduChasiOrd());
vEInstrFeeAcmdtVO = vEAcmdtAplctDAO.selectDetail(paramVO);
//기존 값이 없으면 생성
if (vEInstrFeeAcmdtVO==null) {
paramVO.setAcmdtAplctOrd(acmdtAplctGnrService.getNextStringId());
vEAcmdtAplctDAO.insert(paramVO);
}
}
//R
public VEInstrFeeAcmdtVO selectDetail(VEInstrFeeAcmdtVO paramVO) throws Exception {
@ -42,6 +51,11 @@ public class VEAcmdtAplctServiceImpl implements VEAcmdtAplctService {
return vEAcmdtAplctDAO.selectDetailByUser_r2(paramVO);
}
//R
public VEInstrFeeAcmdtVO selectDetailByUser_r3(VEInstrFeeAcmdtVO paramVO) throws Exception {
return vEAcmdtAplctDAO.selectDetailByUser_r3(paramVO);
}
@Override
public VEInstrFeeAcmdtVO selectDcmdtAplctYesterday(VEInstrFeeAcmdtVO paramVO) throws Exception {
return vEAcmdtAplctDAO.selectDcmdtAplctYesterday(paramVO);

View File

@ -7,6 +7,7 @@ import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
@Repository("vEAsgnmMIXDAO")
public class VEAsgnmMIXDAO extends EgovAbstractDAO {
@ -215,4 +216,8 @@ public class VEAsgnmMIXDAO extends EgovAbstractDAO {
return (VEInstrAsgnmVO) select("VEAsgnmMIXDAO.selectTtlMntChasiSumDetail", paramVO);
}
public List<VEPrcsDetailVO> selectFndtnVisitAsgnmPagingList(VEPrcsDetailVO paramVO) {
return (List<VEPrcsDetailVO>) list("VEAsgnmMIXDAO.selectFndtnVisitAsgnmPagingList", paramVO);
}
}

View File

@ -10,6 +10,7 @@ import org.springframework.stereotype.Service;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
@Service("vEAsgnmMIXService")
public class VEAsgnmMIXServiceImpl implements VEAsgnmMIXService {
@ -195,4 +196,9 @@ public class VEAsgnmMIXServiceImpl implements VEAsgnmMIXService {
return vEAsgnmMIXDAO.selectTtlMntChasiSumDetail(paramVO);
}
@Override
public List<VEPrcsDetailVO> selectFndtnVisitAsgnmPagingList(VEPrcsDetailVO paramVO) {
return vEAsgnmMIXDAO.selectFndtnVisitAsgnmPagingList(paramVO);
}
}

View File

@ -478,11 +478,14 @@ public class VEAsgnmController {
acmdtAplct.setInstrDiv("10");
acmdtAplct.setEduHopeDt(vEInstrAsgnmVOInfo.getEduHopeDt());
acmdtAplct.setEduAplctOrd(vEInstrAsgnmVO.getEduAplctOrd());
acmdtAplct.setEduChasiOrd(vEInstrAsgnmVO.getEduChasiOrd());
//=== 20230627 이호영
//=== 숙박신청 차시 제거
//=== 교육 key로만 select해서 진행
// acmdtAplct = vEAcmdtAplctService.selectDetailByUser(acmdtAplct);
acmdtAplct = vEAcmdtAplctService.selectDetailByUser_r2(acmdtAplct);
//acmdtAplct = vEAcmdtAplctService.selectDetailByUser_r2(acmdtAplct);
acmdtAplct = vEAcmdtAplctService.selectDetailByUser_r3(acmdtAplct);

View File

@ -15,6 +15,7 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
//ve_prcs
private String searchDiv; //검색구분
private String prcsOrd; //과정순번
private String prcsDiv; //과정구분
private String prcsKind; //과정종류
@ -132,6 +133,13 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
public String getSearchDiv() {
return searchDiv;
}
public void setSearchDiv(String searchDiv) {
this.searchDiv = searchDiv;
}
public String getPrcsOrd() {
return prcsOrd;
}

View File

@ -1,5 +1,6 @@
package kcc.ve.oprtn.pblc.sndMng.web;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
@ -225,9 +226,14 @@ public class SndMngController {
try {
String returnMsg = "";
if(!"".equals(vEEduAplctVO.getChk()) && vEEduAplctVO.getChk() != null) {
//MAIL
String[] splitChk = vEEduAplctVO.getChk().split(",");
String[] phones = vEEduAplctVO.getClphone().split(",");
String[] emails = {};
//String[] sendChk = {}; //발송정보체크용
List<String> sendChk = new ArrayList<>();
VeSendMail sendMail = new VeSendMail();
if("Z".equals(vEEduAplctVO.getSndFlag())) {
emails = vEEduAplctVO.getEmail().split(",");
@ -235,8 +241,22 @@ public class SndMngController {
for(int i=0; i<splitChk.length; i++) {
if(!"".equals(splitChk[i])) {
String[] aplctChasi = splitChk[i].split("\\@");
//동일한 신청에 대한 메일 발송이 있었는지 확인 한다.===시작
boolean b_sendChk = true;
for (int c=0;c<sendChk.size();c++) {
if (sendChk.get(c).split("\\@")[0].equals(aplctChasi[0])) {
b_sendChk = false; //동일
}
}
sendChk.add(splitChk[i]);
//동일한 신청에 대한 메일 발송이 있었는지 확인 한다.===
if (b_sendChk) {//동일학교는 2번 발송하지 않는다.
String snd_ord = sndGnrService.getNextStringId();
vEEduAplctVO.setSndHstryOrd(snd_ord);
vEEduAplctVO.setSndId(loginVO.getUniqId());
@ -276,7 +296,7 @@ public class SndMngController {
returnMsg = "succ";
}
}
}
}
}
if(returnMsg == "fail") {
@ -287,6 +307,7 @@ public class SndMngController {
} else {
//SMS
String snd_ord = sndGnrService.getNextStringId();
vEEduAplctVO.setSndHstryOrd(snd_ord);

View File

@ -50,9 +50,9 @@
a.aprvl_cn AS aprvlCn,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
TO_CHAR(a.frst_regist_pnttm,'YYYY-MM-DD') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
TO_CHAR(a.last_updt_pnttm,'YYYY-MM-DD') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId,
a.aplct_cn AS aplctCn,
@ -177,6 +177,26 @@
limit 1
</select>
<select id="VEAcmdtAplctDAO.selectDetailByUser_r3" parameterClass="VEInstrFeeAcmdtVO" resultClass="VEInstrFeeAcmdtVO">
/* VEAcmdtAplctDAO.selectDetailByUser_r3 */
select
vaa.aprvl_cd as aprvlCd
, vaa.aplct_cn as aplctCn
, vaa.acmdt_fee as acmdtFee
, vaa.acmdt_aplct_ord as AcmdtAplctOrd
FROM ve_acmdt_aplct vaa
, ve_edu_chasi vee
WHERE 1=1
AND vee.edu_aplct_ord = #eduAplctOrd#
AND vee.edu_chasi_ord = #eduChasiOrd#
AND vee.edu_aplct_ord = vaa.edu_aplct_ord
AND vee.edu_chasi_ord = vaa.edu_chasi_ord
ORDER BY aprvl_cd desc
limit 1
</select>
<select id="VEAcmdtAplctDAO.selectDcmdtAplctYesterday" parameterClass="VEInstrFeeAcmdtVO" resultClass="VEInstrFeeAcmdtVO">

View File

@ -4,6 +4,7 @@
<sqlMap namespace="VEAsgnmMIX">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEInstrAsgnmVO" type="kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO"/>
<typeAlias alias="VEPrcsDetailVO" type="kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO"/>
<!-- 공통 테이블 명 -->
@ -4861,6 +4862,69 @@
</select>
<select id="VEAsgnmMIXDAO.selectFndtnVisitAsgnmPagingList" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
/* VEAsgnmMIXDAO.selectFndtnVisitAsgnmPagingList */
SELECT
(
SELECT
COUNT(*)
FROM
ve_edu_aplct x
WHERE
x.prcs_ord = a.prcs_aplct_prd_ord
AND x.sbmt_yn = 'Y'
) AS nosCnt1, /* 신청자 정보 */
vpap.prcs_aplct_prd_ord AS prcsAplctPrdOrd,
vpap.nos ,
vp.prcs_div AS prcsDiv,
vp.prcs_nm AS prcsNm,
vpap.edu_strt_pnttm as eduStrtPnttm,
vpap.edu_ddln_pnttm as eduDdlnPnttm,
vpap.lctr_div_cd AS lctrDivCd,
a.prcs_aplct_prd_ord AS prcsAplctPrdOrd ,
a.user_id AS userId ,
a.lctr_plan_atch_file_id AS lctrPlanAtchFileId ,
a.doc_atch_file_id AS docAtchFileId ,
a.asgnm_aprvl_cd AS asgnmAprvlCd ,
a.asgnm_aprvl_pnttm AS asgnmAprvlPnttm ,
a.asgnm_aprvl_id AS asgnmAprvlId ,
a.rmrks AS rmrks ,
a.frst_regist_pnttm AS frstRegistPnttm ,
a.frst_register_id AS frstRegisterId ,
a.last_updt_pnttm AS lastUpdtPnttm ,
a.last_updusr_id AS lastUpdusrId ,
vid.instr_nm AS instrNm ,
vid.phone
FROM
vea_prcs_aplct_prd_instr_asgnm a
LEFT JOIN ve_instr_detail vid ON
a.user_id = vid.user_id
LEFT JOIN ve_prcs_aplct_prd vpap ON
vpap.prcs_aplct_prd_ord = a.prcs_aplct_prd_ord
LEFT JOIN ve_prcs vp ON
vp.prcs_ord = vpap.prcs_ord
WHERE
1 = 1
AND vid.aprvl_cd = #aprvlCd# /* 강의 승인 20 */
AND vid.instr_div = #instrDiv# /* 성인 20 */
AND vid.use_yn = 'Y'
/*진행 중 : 진행 예정*/
<isEqual property="searchDiv" compareValue="ING">
AND TO_CHAR(CURRENT_DATE, 'YYYYMMDD') <![CDATA[ <= ]]> REPLACE(vpap.edu_ddln_pnttm, '.' , '')
</isEqual>
/*종료*/
<isEqual property="searchDiv" compareValue="END">
AND TO_CHAR(CURRENT_DATE, 'YYYYMMDD') <![CDATA[ > ]]> REPLACE(vpap.edu_ddln_pnttm, '.' , '')
</isEqual>
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
</select>
<!-- //동일 일자에 강사 배정 여부 체크-->
<select id="VEAsgnmMIXDAO.selectInstrAsgnmScholCheck" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
/* VEAsgnmMIXDAO.selectInstrAsgnmScholCheck */

View File

@ -247,7 +247,7 @@
</colgroup>
<tbody>
<tr>
<th scope="row">교육부</th>
<th scope="row">교육부</th>
<td>
<ve:code codeId="VEA001" code="${info.prcsDiv}"/>
</td>

View File

@ -159,6 +159,94 @@
}
}
//sms 발송
function fncSndSms(){
var chkLen = $(listForm).find("input[name=chk]:checked").length;
if(chkLen == 0){
alert("선택된 항목이 없습니다.");
return;
}
var fnExit = false;
var chkAplctChasi = "";
var phones = "";
var emails = "";
var chkLength = $('input:checkbox[name="chk"]:checked').length;
$('input:checkbox[name="chk"]:checked').each(function(idx) {
if($(this).attr("class") != "60") {
alert("선택한 목록 중 교욱확정알림이 불가능한 건이 있습니다.");
fnExit = true;
}
if(idx === chkLength - 1) {
//chkAplctChasi += $(this).val();
chkAplctChasi += $(this).data("chasi");
phones += $(this).data("phone");
emails += $(this).data("email");
} else {
//chkAplctChasi += $(this).val() + ",";
chkAplctChasi += $(this).data("chasi") + ",";
phones += $(this).data("phone") + ",";
emails += $(this).data("email") + ",";
}
});
//체크한 리스트 중 해당 상태에 실행 불가능한 건이 있는지 체크 후, 존재 시 함수 종료
if(fnExit) return false;
var p_smsMsg = "[찾아가는 저작권 교육] 확정된 교육이 있습니다.확인해주세요.";
fncContent(
"${pageContext.request.contextPath}/kccadr/oprtn/pblc/smsSndAjax.do",
"10",
p_smsMsg,
chkAplctChasi,
phones,
emails,
"Z"
);
}
//발송
function fncContent(p_url, p_cd, p_cn, chkAplctChasi, phones, emails, sndFlag){
$.ajax({
type: "POST",
// enctype: 'multipart/form-data',
url:p_url,
//data: data,
data:{
"sndCd": p_cd,
"sndCn": p_cn,
"chk": chkAplctChasi,
"clphone": phones,
"email" : emails,
"sndFlag" : sndFlag
},
dataType:'json',
/*
async: false,
processData: false,
contentType: false,
cache: false,
*/
success:function(returnData){
if(returnData.result == "success"){
alert("정상적으로 발송되었습니다.");
location.reload();
}else{
alert("발송 중 오류가 발생하였습니다.");
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
</script>
<title>신청관리</title>
@ -268,6 +356,7 @@
<option value='20' <c:if test="${vEEduAplctVO.pageUnit == '20'}">selected</c:if>>20줄</option>
<option value='30' <c:if test="${vEEduAplctVO.pageUnit == '30'}">selected</c:if>>30줄</option>
<option value='100' <c:if test="${vEEduAplctVO.pageUnit == '100'}">selected</c:if>>100줄</option>
<option value='1000' <c:if test="${vEEduAplctVO.pageUnit == '1000'}">selected</c:if>>1000줄</option>
</select>
<button type="button" class="btn_type03" onclick="fncPrintListPopup(); return false;">신청서 일괄출력</button>
<button type="button" class="btn_down_excel" onclick="excelDownLoad();">엑셀 다운로드</button>
@ -318,8 +407,11 @@
</c:otherwise>
</c:choose>
<td>
<input name="chk" class="${list.asgnmAprvlCd}"
value="${list.eduAplctOrd}" title="Check" type="checkbox"/>
<input name="chk" class="${list.aprvlCd}"
value="${list.eduAplctOrd}" title="Check" type="checkbox"
data-chasi="${list.eduAplctOrd}@${list.eduChasiOrd}" data-phone="<c:out value='${list.clphone}' />"
data-email="<c:out value='${list.email}' />"
/>
</td>
<td>
<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
@ -448,6 +540,7 @@
</div>
<div class="btn_right">
<button type="button" class="btn_type01" onclick="fncCreate(); return false;">등록</button>
<button type="button" class="btn_type06" onclick="fncSndSms(); return false;">교육확정알림</button>
</div>
</div>
<!-- page -->

View File

@ -850,7 +850,7 @@
<input name="chk" class="${list.asgnmAprvlCd}"
value="${list.eduAplctOrd}@${list.eduChasiOrd}" data-phone="<c:out value='${list.clphone}' />"
data-email="<c:out value='${list.email}' />" data-cnt="<c:out value='${list.cnt}'/>" data-lctr="<c:out value='${list.userId}' />"
title="Check" type="checkbox"/>
title="Check" type="checkbox"/>${list.asgnmAprvlCd}
</td>
<td>
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyy.MM.dd"/>
@ -949,9 +949,11 @@
<input type="text" class="calendar" title="시작일 선택" id="deadlineDt" name="deadlineDt" value="">
</div>
<button type="button" class="btn_type06" onclick="fncModifyStat('new'); return false;">강의수락요청</button>
<!-- 교육신청화면으로 이동 2023-10-17 -->
<!--
</br>
<button type="button" class="btn_type06" onclick="fncSndSms(); return false;">교육확정알림</button>
-->
</div>
</div>
<!--

View File

@ -366,7 +366,7 @@
<!-- //page -->
<div class="btn_wrap btn_layout01">
<div class="btn_left">
<button type="button" class="btn_type06" onclick="fnAcmdtFileZipDownload(); return false;">숙박영수증다운로드</button>
<!-- <button type="button" class="btn_type06" onclick="fnAcmdtFileZipDownload(); return false;">숙박영수증다운로드</button> -->
<button type="button" class="btn_type06" onclick="excelDownLoad();">지급내역다운로드</button>
</div>
<div class="btn_center">

View File

@ -278,6 +278,42 @@
listForm.submit();
}
//숙박영수증 첨부파일 일괄 다운로드(zip) - 파일ID 다름, SN 동일 : type A
function fnAcmdtFileZipDownload(){
var frm = document.listForm;
var checkboxId = Array();
var checkboxSn = Array();
var checkboxCnt = 0;
var checkbox_check = false;
var checkbox_index = false;
$('input:checkbox[name="chk"]').each(function(){
if($(this).is(":checked")){
checkbox_check = true;
if($(this).attr("class") != ""){
checkboxId[checkboxCnt] = $(this).attr("class");
checkboxSn[checkboxCnt] = "0"
checkboxCnt++;
checkbox_index = true;
}
}
});
if(!checkbox_check){
alert("선택된 항목이 없습니다.");
return false;
}else if(!checkbox_index){
alert("다운로드할 영수증이 없습니다.");
return false;
}
frm.orgnZipNm.value="숙박영수증.zip";
frm.downloadType.value="A";
frm.action="${pageContext.request.contextPath}/cmm/fms/fileDownZip.do?atchFileId="+checkboxId+"&fileSn="+checkboxSn;
frm.submit();
}
</script>
<title>신청관리</title>
</head>
@ -288,6 +324,9 @@
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEEduAplctVO.searchSortOrd}" />" />
<input type="hidden" name="eduAplctOrd" value="" />
<input type="hidden" name="eduChasiOrd" value="" />
<input type="hidden" name="sbmtYn" id="sbmtYn" value="" />
<input type="hidden" name="orgnZipNm" value="" />
<input type="hidden" name="downloadType" value="" />
<div class="cont_wrap">
<div class="box">
@ -364,6 +403,7 @@
<option value='20' <c:if test="${vEEduAplctVO.pageUnit == '20'}">selected</c:if>>20줄</option>
<option value='30' <c:if test="${vEEduAplctVO.pageUnit == '30'}">selected</c:if>>30줄</option>
<option value='100' <c:if test="${vEEduAplctVO.pageUnit == '100'}">selected</c:if>>100줄</option>
<option value='1000' <c:if test="${vEEduAplctVO.pageUnit == '1000'}">selected</c:if>>1000줄</option>
</select>
</div>
</div>
@ -404,7 +444,9 @@
</c:otherwise>
</c:choose>
<td>
<input name="chk" data-lctr="${list.userId}" value="${list.eduAplctOrd}@${list.eduChasiOrd}" data-phone="<c:out value='${list.clphone}' />" data-cnt="<c:out value='${list.cnt}' />" title="Check" type="checkbox"/>
<input name="chk"
class="${list.atchFileId}"
data-lctr="${list.userId}" value="${list.eduAplctOrd}@${list.eduChasiOrd}" data-phone="<c:out value='${list.clphone}' />" data-cnt="<c:out value='${list.cnt}' />" title="Check" type="checkbox"/>
</td>
<td onclick="fncGoDetail('${list.eduAplctOrd}','${list.eduChasiOrd}');" style="cursor:pointer">
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyy.MM.dd"/>
@ -472,7 +514,7 @@
</div>
<div class="btn_right">
<button type="button" class="btn_type06" onclick="fnAcmdtFileZipDownload(); return false;">숙박영수증다운로드</button>
</div>
</div>
</div>

View File

@ -144,7 +144,10 @@
<p>도서학교구분</p>
</th>
<td>
<c:out value="${info.isltnYn}"/>
<c:choose>
<c:when test="${info.isltnYn eq 'Y'}">예</c:when>
<c:otherwise>아니오</c:otherwise>
</c:choose>
</td>
</tr>
<tr>
@ -152,7 +155,10 @@
<p>벽지학교구분</p>
</th>
<td>
<c:out value="${info.isltn2Yn}"/>
<c:choose>
<c:when test="${info.isltn2Yn eq 'Y'}">예</c:when>
<c:otherwise>아니오</c:otherwise>
</c:choose>
</td>
</tr>
<tr>
@ -160,7 +166,10 @@
<p>접적학교구분</p>
</th>
<td>
<c:out value="${info.isltn3Yn}"/>
<c:choose>
<c:when test="${info.isltn3Yn eq 'Y'}">예</c:when>
<c:otherwise>아니오</c:otherwise>
</c:choose>
</td>
</tr>
<tr>
@ -168,7 +177,10 @@
<p>인구감소지역여부</p>
</th>
<td>
<c:out value="${info.ppltnReducAreaYn}"/>
<c:choose>
<c:when test="${info.ppltnReducAreaYn eq 'Y'}">예</c:when>
<c:otherwise>아니오</c:otherwise>
</c:choose>
</td>
</tr>
</tbody>

View File

@ -230,14 +230,15 @@ function usrJoin(){
<span>GO</span>
</button>
<button class="site" onclick="window.location.href='http://223.255.205.7/user/main/main.do" title="새창열림">
<!-- 회원 SEQ 변경되는 문제로 인해 주석 -->
<%-- <button class="site" onclick="window.location.href='http://223.255.205.7/user/main/main.do'" title="새창열림">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/kcc_ci.png" alt="한국저작권위원회">
<span>e-배움터GO(비로그인)</span>
</button>
<button class="site" onclick="javascript:goEEdu();" title="새창열림">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/common/kcc_ci.png" alt="한국저작권위원회">
<span>e-배움터GO(로그인)</span>
</button>
</button> --%>
<div class="area_right">
<!-- Sso 연계 테스트 로그인 후-->

View File

@ -386,7 +386,7 @@
<input type="hidden" name="limitcount" id="limitcount" value="1" /><!-- 최대 업로드 파일갯수 -->
<div class="cont_tit">
<h2>운영신청서 작성</h2>
<h2>교육신청수정</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/kcccesPb/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/kcccesPb/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>

View File

@ -466,7 +466,7 @@
<input type="hidden" id="sigunguCode" name="sigunguCode" value=""/>
<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

@ -242,7 +242,7 @@
<div class="cont_wrap" id="sub">
<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

@ -46,7 +46,7 @@
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEEduAplctVO.searchSortOrd}" />" />
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
<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

@ -63,7 +63,7 @@
<div class="cont_wrap" id="sub">
<div class="cont_tit">
<h2>체험교실 대시보드</h2>
<h2>대시보드</h2>
</div>
<!-- 체험교실 프로세스 -->
<ul class="ex_process">

View File

@ -113,7 +113,7 @@
<div class="cont_wrap" id="sub">
<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

@ -79,7 +79,7 @@
<!-- content -->
<div class="cont_wrap" id="sub">
<div class="cont_tit">
<h2>운영신청 등록안내</h2>
<h2>운영신청등록 안내</h2>
</div>
<div class="tb_tit01">
<div class="tb_tit01_left">

View File

@ -85,7 +85,7 @@
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEEduAplctVO.searchSortOrd}" />" />
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
<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

@ -388,7 +388,7 @@
<input type="hidden" name="limitcount" id="limitcount" value="1" /><!-- 최대 업로드 파일갯수 -->
<div class="cont_tit">
<h2>운영신청서 작성</h2>
<h2>운영신청수정</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/kcccesPb/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/kcccesPb/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>

View File

@ -55,7 +55,7 @@
</div> -->
<div class="cont_wrap">
<div class="cont_tit">
<h2>교육기반강화연수</h2>
<h2>기소유예</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img
src="/offeduadvc/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"><a href="https://www.facebook.com/koreacopyright" target="_blank"></a></button>

View File

@ -671,7 +671,7 @@
<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

@ -774,7 +774,7 @@ var psblFlag = "Y";//학생 신청가능기간여부 체크
<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

@ -72,7 +72,7 @@
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="<c:out value='${info.eduChasiOrd}'/>"/> <!-- 교육차시 순번 -->
<input type="hidden" name="hstryCd" id="hstryCd" value=""/> <!-- 배정내역 코드 -->
<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

@ -109,7 +109,7 @@
<input type="hidden" name="limitcount" id="limitcount" value="1" /><!-- 최대 업로드 파일갯수 -->
<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>
@ -143,7 +143,8 @@
<p>교육일시</p>
</th>
<td>
${fn:substring(info.eduHopeDt,0,4)}년 ${fn:substring(info.eduHopeDt,4,6)}월 ${fn:substring(info.eduHopeDt,6,8)}일
<%-- ${fn:substring(info.eduHopeDt,0,4)}년 ${fn:substring(info.eduHopeDt,4,6)}월 ${fn:substring(info.eduHopeDt,6,8)}일 --%>
${info.eduHopeDt}
</td>
<th scope="row">
<p>시간</p>
@ -161,7 +162,10 @@
<th scope="row">
<p>교육일시</p>
</th>
<td colspan="3">${fn:substring(info.eduHopeDt,0,4)}년 ${fn:substring(info.eduHopeDt,4,6)}월 ${fn:substring(info.eduHopeDt,6,8)}일</td>
<td colspan="3">
<%-- ${fn:substring(info.eduHopeDt,0,4)}년 ${fn:substring(info.eduHopeDt,4,6)}월 ${fn:substring(info.eduHopeDt,6,8)}일 --%>
${info.eduHopeDt}
</td>
</tr>
<tr class="trLength2">
<th scope="row">

View File

@ -52,7 +52,7 @@
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="" />
<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>
@ -122,7 +122,7 @@
</c:if>
</p>
</td>
<td><a href="javascript:fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');">${fn:substring(list.eduHopeDt,0,4)}-${fn:substring(list.eduHopeDt,4,6)}-${fn:substring(list.eduHopeDt,6,8)}</a></td>
<td><a href="javascript:fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');">${list.eduHopeDt}</a></td>
<td><a href="javascript:fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');"><fmt:formatDate value="${eduHopeDt}" pattern="E"/></a></td>
<td><a href="javascript:fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');">
<fmt:parseDate value="${list.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
@ -170,7 +170,7 @@
</li>
<li>
<span>교육일자</span>
<span>${fn:substring(list.eduHopeDt,0,4)}-${fn:substring(list.eduHopeDt,4,6)}-${fn:substring(list.eduHopeDt,6,8)}</span>
<span>${list.eduHopeDt}</span>
</li>
<li>
<span>요일</span>

View File

@ -87,7 +87,7 @@
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="<c:out value='${info.eduChasiOrd}'/>"/> <!-- 교육차시 순번 -->
<input type="hidden" name="asgnmAprvlCd" id="asgnmAprvlCd" value=""/> <!-- 배정테이블의 확정코드 -->
<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

@ -52,7 +52,7 @@
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="" />
<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

@ -142,7 +142,7 @@ $( document ).ready(function() {
<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

@ -58,7 +58,7 @@
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="" />
<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

@ -37,7 +37,7 @@
<!-- cont -->
<div class="cont_wrap" id="sub">
<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

@ -158,7 +158,7 @@
</script>
<div class="cont_wrap" id="sub">
<div class="cont_tit">
<h2>성인 강사신청 상세</h2>
<h2>성인 강사 신청 상세</h2>
</div>
<div class="tit_box">
<i class="tit_box_icon1"></i>

View File

@ -0,0 +1,228 @@
<!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="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%
%>
<html lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
</script>
<title>강의배정팝업</title>
<script type="text/javaScript" language="javascript">
function fncPopClose(){
var activeTarget = $('[data-tooltip-con="sub52_pop01"]');
activeTarget.hide();
$('[data-tooltip="sub52_pop01"]').focus();
}
// 저장
function setDataSave(){
if($("#aplctCn").val() == "") {
alert("신청사유 내용을 입력해주세요");
return;
}
if (confirm("저장 하시겠습니까?")) {
$.ajax({
type: "POST",
url: "${pageContext.request.contextPath}/kccadr/oprtn/adultVisitEdu/popup/eduAcmdtAplctPopupAjax.do",
data: $("#createForm").serialize(),
dataType:'json',
async: false,
success: function (data, status) {
if (data.isSuccess == true) {
alert("정상적으로 저장 되었습니다.");
// 닫기
location.reload();
} else {
alert("Msg : " + data.msg);
}
},
error : function(xhr, status, error) {
alert("Err : " + JSON.stringify(status));
}
});
}
}
</script>
</head>
<body>
<form:form id="createForm" name="createForm" method="post" commandName="vEEduRprtVO" onsubmit="return false;">
<input type="hidden" name="eduAplctOrd" value="<c:out value="${vEInstrAsgnmVO.eduAplctOrd}" />" />
<input type="hidden" name="eduChasiOrd" value="<c:out value="${vEInstrAsgnmVO.eduChasiOrd}" />" />
<input type="hidden" name="sbmtYn" id="sbmtYn" value="" />
<div class="popup_wrap popType02" tabindex="0" data-tooltip-con="sub52_pop01" data-focus="sub52_pop01" data-focus-prev="sub52_pop01_close">
<div class="popup_tit">
<p>숙박신청</p><button class="btn_popup_close tooltip-close" data-focus="sub52_pop01_close" onclick="fncPopClose(); return false;" title="팝업 닫기"><i></i></button>
</div>
<div class="popup_cont">
<div class="pop_tb_type01">
<table>
<caption>숙박신청 (th)를 제공하는 표</caption>
<colgroup>
<col style="width: 120px;">
<col style="width: auto">
<col style="width: 120px;">
<col style="width: auto">
</colgroup>
<tbody>
<tr class="trLength4">
<th scope="row">
<p>성명</p>
</th>
<td><c:out value='${info.instrNm}' /></td>
<th scope="row">
<p>거주지</p>
</th>
<td><c:out value='${info.rsdne}' /></td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>성명</p>
</th>
<td colspan="3"><c:out value='${info.instrNm}' /></td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>거주지</p>
</th>
<td colspan="3"><c:out value='${info.rsdne}' /></td>
</tr>
<tr>
<th scope="row">
<p>학교명</p>
</th>
<td colspan="3"><c:out value='${info.scholInsttNm}' /></td>
</tr>
<tr>
<th scope="row">
<p>학교주소</p>
</th>
<td colspan="3"><c:out value='${info.addr}' /><c:out value='${info.addrDetail}' /></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>강의일자</p>
</th>
<td><c:out value='${info.eduHopeDt}' /></td>
<th scope="row">
<p>첫 강의시간</p>
</th>
<td>
<fmt:parseDate value="${info.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
~<fmt:parseDate value="${info.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>강의일자</p>
</th>
<td colspan="3"><c:out value='${info.eduHopeDt}' /></td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>첫 강의시간</p>
</th>
<td>
<fmt:parseDate value="${info.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
~<fmt:parseDate value="${info.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
</td>
</tr>
<c:if test="${!empty acmdtAplctYesterday}">
<tr class="trLength4">
<th scope="row">
<p>전날 강의여부</p>
</th>
<td>
Y
</td>
<th scope="row">
<p>전날 학교명</p>
</th>
<td>
<c:out value="${acmdtAplctYesterday.scholInsttNm}" />
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>전날 강의여부</p>
</th>
<td colspan="3">
Y
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>전날 학교명</p>
</th>
<td colspan="3">
<c:out value="${acmdtAplctYesterday.scholInsttNm}" />
</td>
</tr>
<tr>
<th scope="row">
<p>전날 학교주소</p>
</th>
<td colspan="3">
<c:out value="${acmdtAplctYesterday.addr}" />
</td>
</tr>
</c:if>
<tr>
<th scope="row">
<p>신청사유</p>
</th>
<td colspan="3">
<c:out value='${info.aplctCn}' />
</td>
</tr>
<tr>
<th scope="row">
<p>처리결과</p>
</th>
<td colspan="3">
<ve:code codeId="VE0023" code="${info.aprvlCd}"/>
</td>
</tr>
<tr>
<th scope="row">
<p>미승인 사유</p>
</th>
<td colspan="3">
<td colspan="3"><c:out value='${info.aprvlCn}' /></td>
</td>
</tr>
</tbody>
</table>
</div>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btnType02 tooltip-close" data-focus="sub52_pop01-close" onclick="fncPopClose(); return false;" data-focus-next="sub52_pop01">취소</button>
</div>
</div>
</div>
</div>
</form:form>
</body>
</html>

View File

@ -0,0 +1,214 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%
%>
<html lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
</script>
<title>강의배정팝업</title>
<script type="text/javaScript" language="javascript">
function fncPopClose(){
var activeTarget = $('[data-tooltip-con="sub51_pop01"]');
activeTarget.hide();
$('[data-tooltip="sub51_pop01"]').focus();
}
// 저장
function setDataSave(){
if($("#aplctCn").val() == "") {
alert("신청사유 내용을 입력해주세요");
return;
}
if (confirm("저장 하시겠습니까?")) {
$.ajax({
type: "POST",
url: "${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/asgnmInfo/acmdtRegPopAjax.do",
data: $("#createForm").serialize(),
dataType:'json',
async: false,
success: function (data, status) {
if (data.isSuccess == true) {
alert("정상적으로 저장 되었습니다.");
// 닫기
location.reload();
} else {
alert("Msg : " + data.msg);
}
},
error : function(xhr, status, error) {
alert("Err : " + JSON.stringify(status));
}
});
}
}
</script>
</head>
<body>
<form:form id="createForm" name="createForm" method="post" commandName="vEInstrFeeAcmdtVO" onsubmit="return false;">
<input type="hidden" name="eduAplctOrd" value="<c:out value="${vEInstrFeeAcmdtVO.eduAplctOrd}" />" />
<input type="hidden" name="eduChasiOrd" value="<c:out value="${vEInstrFeeAcmdtVO.eduChasiOrd}" />" />
<input type="hidden" name="sbmtYn" id="sbmtYn" value="" />
<div class="popup_wrap popType02" tabindex="0" data-tooltip-con="sub51_pop01" data-focus="sub51_pop01" data-focus-prev="sub51_pop01_close">
<div class="popup_tit">
<p>숙박신청</p><button class="btn_popup_close tooltip-close" data-focus="sub51_pop01_close" onclick="fncPopClose(); return false;" title="팝업 닫기"><i></i></button>
</div>
<div class="popup_cont">
<div class="pop_tb_type01">
<table>
<caption>숙박신청 (th)를 제공하는 표</caption>
<colgroup>
<col style="width: 120px;">
<col style="width: auto">
<col style="width: 120px;">
<col style="width: auto">
</colgroup>
<tbody>
<tr class="trLength4">
<th scope="row">
<p>성명</p>
</th>
<td><c:out value='${info.instrNm}' /></td>
<th scope="row">
<p>거주지</p>
</th>
<td><c:out value='${info.rsdne}' /></td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>성명</p>
</th>
<td colspan="3"><c:out value='${info.instrNm}' /></td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>거주지</p>
</th>
<td colspan="3"><c:out value='${info.rsdne}' /></td>
</tr>
<tr>
<th scope="row">
<p>학교명</p>
</th>
<td colspan="3"><c:out value='${info.scholInsttNm}' /></td>
</tr>
<tr>
<th scope="row">
<p>학교주소</p>
</th>
<td colspan="3"><c:out value='${info.addr}' /><c:out value='${info.addrDetail}' /></td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>강의일자</p>
</th>
<td><c:out value='${info.eduHopeDt}' /></td>
<th scope="row">
<p>첫 강의시간</p>
</th>
<td>
<fmt:parseDate value="${info.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
~<fmt:parseDate value="${info.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>강의일자</p>
</th>
<td colspan="3"><c:out value='${info.eduHopeDt}' /></td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>첫 강의시간</p>
</th>
<td>
<fmt:parseDate value="${info.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
~<fmt:parseDate value="${info.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
</td>
</tr>
<c:if test="${!empty acmdtAplctYesterday}">
<tr class="trLength4">
<th scope="row">
<p>전날 강의여부</p>
</th>
<td>
Y
</td>
<th scope="row">
<p>전날 학교명</p>
</th>
<td>
<c:out value="${acmdtAplctYesterday.scholInsttNm}" />
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>전날 강의여부</p>
</th>
<td colspan="3">
Y
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>전날 학교명</p>
</th>
<td colspan="3">
<c:out value="${acmdtAplctYesterday.scholInsttNm}" />
</td>
</tr>
<tr>
<th scope="row">
<p>전날 학교주소</p>
</th>
<td colspan="3">
<c:out value="${acmdtAplctYesterday.addr}" />
</td>
</tr>
</c:if>
<tr>
<th scope="row">
<p>신청사유</p>
</th>
<td colspan="3">
<textarea name="aplctCn" id="aplctCn" class="cmm_cmt" cols="30" rows="3" placeholder="메모를 작성해주세요"></textarea>
</td>
</tr>
</tbody>
</table>
</div>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btnType05" onclick="setDataSave(); return false;">제출</button>
</div>
<div class="btn_right">
<button type="button" class="btnType02 tooltip-close" data-focus="sub51_pop01-close" onclick="fncPopClose(); return false;" data-focus-next="sub51_pop01">취소</button>
</div>
</div>
</div>
</div>
</form:form>
</body>
</html>

View File

@ -0,0 +1,234 @@
<%@ 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>강사프로필 목록</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
function fncGoCreate() {
$("#listForm").attr("action","${pageContext.request.contextPath}/web/kccadr/accdnt/acd/adjstChangeDateCreate.do").submit();
}
function fncRqst(){
if(confirm("강의신청 하시겠습니까?")){
$("#hstryCd").val("50"); //배정내역코드 - 강의신청
var data = new FormData(document.getElementById("detailForm"));
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: "${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmAddRqstAjax.do",
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success: function (returnData, status) {
if(status == 'success'){
alert("강의신청 완료하였습니다.");
fncGoList();
} else if(status== 'fail'){
alert("강의신청 실패하였습니다.");
}
},
error: function (e) { alert("강의신청 실패하였습니다."); console.log("ERROR : ", e); }
});
}
}
function fncGoList(){
var detailForm = document.detailForm;
detailForm.action = "<c:url value='/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmAddRqstList.do'/>";
detailForm.submit();
}
function goReqStatus(){
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/instrInfo/instrPrflReg.do").submit();
}
</script>
</head>
<body>
<!-- cont -->
<div class="cont_wrap" id="sub">
<form:form id="detailForm" name="detailForm" commandName="vEInstrAsgnmVO" method="post" >
<input type="hidden" name="pageIndex" value="<c:out value='${vEInstrAsgnmVO.pageIndex}'/>"/>
<input type="hidden" name="searchStartDt" value="<c:out value="${vEInstrAsgnmVO.searchStartDt}" />" />
<input type="hidden" name="searchEndDt" value="<c:out value="${vEInstrAsgnmVO.searchEndDt}" />" />
<input type="hidden" name="searchKeyword" value="<c:out value="${vEInstrAsgnmVO.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=""/> <!-- 배정내역 코드 -->
<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="tit_box">
<i class="tit_box_icon1"></i>
<div>
<p>찾아가는 저작권 교육</p>
<span>‘찾아가는 저작권 교육’은 저작권 교육이 필요한 <span>전국 초ㆍ중ㆍ고등학교, 청소년ㆍ아동복지ㆍ노인ㆍ장애인 기관 및 단체 등</span>에 직접 방문하여 무료로 강의를 지원하는 맞춤형 교육 서비스입니다.</span>
</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>
<th scope="row">
<p>교육일시</p>
</th>
<td>${fn:substring(info.eduHopeDt,0,4)}년 ${fn:substring(info.eduHopeDt,4,6)}월 ${fn:substring(info.eduHopeDt,6,8)}일</td>
<th scope="row">
<p>차시</p>
</th>
<td>
<fmt:parseDate value="${info.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
~<fmt:parseDate value="${info.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
(<c:out value='${info.lrnTm}'/>분)
</td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>기관명</p>
</th>
<td>${info.scholInsttNm}</td>
<th scope="row">
<p>지역</p>
</th>
<td><ve:code codeId="VE0008" code="${info.eduSlctAreaCd}"/></td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>기관명</p>
</th>
<td colspan="3">${info.scholInsttNm}</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>지역</p>
</th>
<td colspan="3"><ve:code codeId="VE0008" code="${info.eduSlctAreaCd}"/></td>
</tr>
<tr>
<th scope="row">
<p>주소</p>
</th>
<td colspan="3">${info.addr}</td>
</tr>
<tr>
<th scope="row">
<p>교육내용</p>
</th>
<td colspan="3">
<c:forEach var="eduList" items="${eduList}" varStatus="status">
<c:if test="${fn:contains(info.eduCn, eduList.prcsOrd)}">
- ${eduList.prcsNm} <br/>
</c:if>
</c:forEach>
</td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>교육대상</p>
</th>
<td>${info.trgt}</td>
<th scope="row">
<p>인원</p>
</th>
<td>${info.prsnl}</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>교육대상</p>
</th>
<td colspan="3">${info.trgt}</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>인원</p>
</th>
<td colspan="3">${info.prsnl}</td>
</tr>
<tr>
<th scope="row">
<p>신청자</p>
</th>
<td colspan="3">${info.chrgNm}</td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>연락처</p>
</th>
<td>${info.phone}</td>
<th scope="row">
<p>휴대전화</p>
</th>
<td>${info.clphone}</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>연락처</p>
</th>
<td colspan="3">${info.phone}</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>휴대전화</p>
</th>
<td colspan="3">${info.clphone}</td>
</tr>
<tr>
<th scope="row">
<p>이메일</p>
</th>
<td colspan="3">${info.email}</td>
</tr>
<tr>
<th scope="row">
<p>신청마감일</p>
</th>
<td colspan="3">*미구현</td>
</tr>
</tbody>
</table>
</div>
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<c:if test="${info.asgnmAprvlCd eq '50' and (empty info.hstryCd or info.hstryCd eq '10')}">
<button type="button" class="btnType04 m_btn_block" onclick="fncRqst(); return false;">강의신청</button>
</c:if>
</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,259 @@
<%@ 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"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>강사프로필 목록</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
function fncGoDetail(eduAplctOrd,eduChasiOrd){
$("#eduAplctOrd").val(eduAplctOrd);
$("#eduChasiOrd").val(eduChasiOrd);
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmAddRqstDetail.do").submit();
}
function fncRqst(eduAplctOrd,eduChasiOrd){
if(confirm("강의신청 하시겠습니까?")){
$("#hstryCd").val("50"); //배정내역코드 - 강의신청
$("#eduAplctOrd").val(eduAplctOrd); //배정내역코드 - 강의신청
$("#eduChasiOrd").val(eduChasiOrd); //배정내역코드 - 강의신청
var data = new FormData(document.getElementById("listForm"));
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: "${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmAddRqstAjax.do",
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success: function (returnData, status) {
if(status == 'success'){
alert("강의신청 완료하였습니다.");
location.reload();
} else if(status== 'fail'){
alert("강의신청 실패하였습니다.");
}
},
error: function (e) { alert("강의신청 실패하였습니다."); console.log("ERROR : ", e); }
});
}
event.stopImmediatePropagation();
}
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmAddRqstList.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>
</head>
<body>
<!-- cont -->
<div class="cont_wrap" id="sub">
<form:form id="listForm" name="listForm" commandName="vEInstrAsgnmVO">
<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="" />
<input type="hidden" name="hstryCd" id="hstryCd" 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="${vEInstrAsgnmVO.searchEduHopeStartDt}" class="calendar" title="시작일 선택"> --%>
<duet-date-picker identifier="date" name="searchEduHopeStartDt" 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>
</div>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/duetdatepicker.js"></script>
&nbsp;&nbsp;학교(기관)명 :&nbsp;
<input type="text" name="searchKeyword" id="searchKeyword" value="<c:out value='${vEInstrAsgnmVO.searchKeyword}' />" />
<button type="button" class="btnType01" onclick="linkPage(1)">검색</button>
<button type="button" class="btnType02" onclick="fncReset(this);">초기화</button>
</div>
</div>
<div class="tb_list01">
<table>
<colgroup>
<col style="width: 8%;">
<col style="width: 15%;">
<col style="width: 8%;">
<col style="width: auto">
<col style="width: 10%;">
<col style="width: 15%;">
<col style="width: 12%;">
<col style="width: 12%;">
</colgroup>
<thead>
<tr>
<th scope="col">번호</th>
<th scope="col">교육일자<!-- <button type="button">▼</button> --></th>
<th scope="col">요일</th>
<th scope="col">시간</th>
<th scope="col">지역</th>
<th scope="col">학교(기관)명</th>
<th scope="col">교육대상</th>
<th scope="col">상태</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${vEInstrAsgnmVOList}" varStatus="status">
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyyMMdd"/> <!-- 요일 구하기 -->
<tr onclick="fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');" style="cursor:pointer;">
<th scope="row">
<p>
<c:if test="${vEInstrAsgnmVO.searchSortOrd eq 'desc' }">
<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
</c:if>
<c:if test="${vEInstrAsgnmVO.searchSortOrd eq 'asc' }">
<c:out value="${(paginationInfo.currentPageNo - 1) * paginationInfo.recordCountPerPage + status.count}"/>
</c:if>
</p>
</th>
<td><p>${fn:substring(list.eduHopeDt,0,4)}-${fn:substring(list.eduHopeDt,4,6)}-${fn:substring(list.eduHopeDt,6,8)}</p></td>
<td><p><fmt:formatDate value="${eduHopeDt}" pattern="E"/></p></td>
<td><p>
<fmt:parseDate value="${list.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
~<fmt:parseDate value="${list.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
(<c:out value='${list.lrnTm}'/>분)
</p>
</td>
<td><p><ve:code codeId="VE0008" code="${list.eduSlctAreaCd}"/></p></td>
<td><p><c:out value='${list.scholInsttNm}'/></p></td>
<td><p><c:out value='${list.trgt}'/></p></td>
<td>
<span class="app_status1">
<c:if test="${list.asgnmAprvlCd eq '50'}"> <!-- 내역 테이블의 코드 50(추가요청)일 시 -->
<c:if test="${list.hstryCd eq '10' or empty list.hstryCd}"> <!-- 내역 코드 10(요청 강의 수락거절) or 내역 코드 없을 시(강의추가신청 전) -->
<button type="button" class="btnType06" onclick="fncRqst('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>'); return flase;">강의신청</button>
</c:if>
<c:if test="${list.hstryCd eq '50'}"> <!-- 내역 코드 50(강의추가신청) -->
<p>선정대기</p>
</c:if>
</c:if>
<c:if test="${list.asgnmAprvlCd ne '50'}"> <!-- 내역 테이블의 코드 50(추가요청)이 아닐 시 -->
<c:if test="${list.hstryCd eq '20'}"> <!-- 내역 코드 20(요청 강의 선정완료)) -->
<p>선정완료</p>
</c:if>
<c:if test="${list.hstryCd eq '30'}"> <!-- 내역 코드 30(요청 강의 선정제외)) -->
<p>선정제외</p>
</c:if>
</c:if>
</span>
</td>
</tr>
</c:forEach>
<c:if test="${empty vEInstrAsgnmVOList}">
<tr><td colspan="8"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<div class="tb_list01_m">
<c:forEach var="list" items="${vEInstrAsgnmVOList}" varStatus="status">
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyyMMdd"/> <!-- 요일 구하기 -->
<ul onclick="fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');">
<li>
<span>번호</span>
<span><c:out value='${status.count}'/></span>
</li>
<li>
<span>교육일자</span>
<span>${fn:substring(list.eduHopeDt,0,4)}-${fn:substring(list.eduHopeDt,4,6)}-${fn:substring(list.eduHopeDt,6,8)}</span>
</li>
<li>
<span>요일</span>
<span><fmt:formatDate value="${eduHopeDt}" pattern="E"/></span>
</li>
<li>
<span>시간</span>
<span>
<fmt:parseDate value="${list.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
~<fmt:parseDate value="${list.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
(<c:out value='${list.lrnTm}'/>분)
</span>
</li>
<li>
<span>지역</span>
<span><ve:code codeId="VE0008" code="${list.eduSlctAreaCd}"/></span>
</li>
<li>
<span>기관명</span>
<span><c:out value='${list.scholInsttNm}'/></span>
</li>
<li>
<span>교육대상</span>
<span><c:out value='${list.trgt}'/></span>
</li>
<li>
<span>신청상태</span>
<span><span class="app_status1">
<c:if test="${list.asgnmAprvlCd eq '50'}"> <!-- 내역 테이블의 코드 50(추가요청)일 시 -->
<c:if test="${list.hstryCd eq '10' or empty list.hstryCd}"> <!-- 내역 코드 10(요청 강의 수락거절) or 내역 코드 없을 시(강의추가신청 전) -->
<button type="button">강의신청</button>
</c:if>
<c:if test="${list.hstryCd eq '50'}"> <!-- 내역 코드 50(강의추가신청) -->
<p>강의신청</p>
</c:if>
</c:if>
<c:if test="${list.asgnmAprvlCd ne '50'}"> <!-- 내역 테이블의 코드 50(추가요청)이 아닐 시 -->
<c:if test="${list.hstryCd eq '20'}"> <!-- 내역 코드 20(요청 강의 선정완료)) -->
<p>선정완료</p>
</c:if>
<c:if test="${list.hstryCd eq '30'}"> <!-- 내역 코드 30(요청 강의 선정제외)) -->
<p>선정제외</p>
</c:if>
</c:if>
</span></span>
</li>
</ul>
</c:forEach>
<c:if test="${empty vEInstrAsgnmVOList}">
<ul><li colspan="8"><spring:message code="common.nodata.msg" /></li></ul>
</c:if>
</div>
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</form:form>
</div>
</body>
</html>

View File

@ -0,0 +1,462 @@
<%@ 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"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>강사프로필 목록</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
$( 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(""); //파일지우기
}
});
});
function fncGoList(){
var detailForm = document.detailForm;
detailForm.action = "<c:url value='/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmList.do'/>";
detailForm.submit();
}
function fncSave(){
//첨부파일 등록 처리
$('#file_temp').val(""); //첨부파일 중복 등록 방지를 위해 추가
//var data = new FormData(form);
var data = new FormData(document.getElementById("detailForm"));
//첨부파일 등록 처리-step1
//if(!data.get("fileSize")){
if($('#tbody_fiielist tr').length*1<=0){
alert("첨부파일을 등록해 주세요");
return false;
}
//첨부파일 등록 처리-step2
_fileForm2.forEach(function(obj, idx) {
if (obj) data.append("file"+idx, obj.fileObj);
});
if(confirm("강의계획서를 제출 하시겠습니까?")){
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: "${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/asgnmInfo/lctrPlanRegAjax.do",
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success: function (returnData, status) {
if(status == 'success'){
alert("등록 되었습니다.");
location.reload();
} else if(status== 'fail'){
alert("등록에 실패하였습니다.");
}
},
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
}
</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" /><!-- 최대 업로드 파일갯수 -->
<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.eduPlace}"/>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>교육장소</p>
</th>
<td colspan="3"><c:out value="${info.eduPlace}"/></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>
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>신청자수</p>
</th>
<td colspan="3"></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_type01 tb_write">
<table>
<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>
성인강사2
</td>
<th scope="row">
<p>구분</p>
</th>
<td>
성인 강사
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>성명</p>
</th>
<td colspan="3">
성인강사2
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>구분</p>
</th>
<td colspan="3">
성인 강사
</td>
</tr>
<tr>
<th scope="row">
<p>거주지</p>
</th>
<td colspan="3">
광주광역시(동구 계림동)
</td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>강사료(a)</p>
</th>
<td>
0
</td>
<th scope="row">
<p>출장비(b)</p>
</th>
<td>
0
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>강사료(a)</p>
</th>
<td colspan="3">0</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>출장비(b)</p>
</th>
<td colspan="3">0</td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>여비(c)</p>
</th>
<td>
0
</td>
<th scope="row">
<p>총액(a)+(b)+(c)</p>
</th>
<td>
0
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>여비(c)</p>
</th>
<td colspan="3">0</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>총액(a)+(b)+(c)</p>
</th>
<td colspan="3">0</td>
</tr>
</tbody>
</table>
</div>
<dl class="filewrap_div">
<c:if test="${empty fileList}">
<dt><p class="req_text"><span>필수입력 항목</span>*</p>강의계획서</dt>
<dd colspan="3" class="upload_area">
<div class="btn_wrap">
<button type="button" class="btnType01 btn_add_file">강의계획서 업로드</button>
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
</div>
<div class="file_wrap file_upload_box no_img_box">
<table>
<caption>첨부파일 파일 명, 종류, 크기 정보 제공</caption>
<colgroup>
<col style="width: auto;">
<col style="width: 15%;">
<col style="width: 15%;">
</colgroup>
<thead>
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
</thead>
<tbody class="tb_file_before">
<tr>
<td colspan="3">
<p>첨부하실 파일을 <span>마우스끌어서</span> 넣어주세요.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="file_wrap fileAfter file_list_div">
<table>
<caption>첨부파일 파일 명, 종류, 크기, 삭제 정보 제공</caption>
<colgroup>
<col style="width: auto;">
<col style="width: 15%;">
<col style="width: 15%;">
<col style="width: 100px;">
</colgroup>
<thead>
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody id="tbody_fiielist" class="tb_file_after">
<c:forEach var="fileList" items="${fileList}" varStatus="status">
<tr class="item_${fileList.atchFileId}_${fileList.fileSn} uploaded_obj">
<input type="hidden" name="fileSize" class="item_file_size" value="${fileList.fileSize}">
<td class="td_filename">
<span class="file_name_text">${fileList.orignlFileNm}</span>
</td>
<td class="td_filesort">
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>"><c:out value="${fileList.fileExtsn}"/></span>
</td>
<td class="td_filesize">
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>"><c:out value="${fileList.fileMg}"/></span>
</td>
<td>
<button type="button" class="btn_del" onclick="delAtchFile('${fileList.atchFileId}', '${fileList.fileSn}'); return false;"><i></i></button>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<div class="file_cf">
<div class="cf_left">
<p>최대 <span>1</span>개</p>
<p><span>500MB</span>제한</p>
</div>
<div class="cf_right btn_wrap">
<button type="button" onclick="fncSave(); return false;" class="btnType05" style="height: 40px;">제출</button>
</div>
</div>
</dd>
</c:if>
<c:if test="${not empty fileList}">
<td class="file_download">
<c:import url="/cmm/fms/selectScholSealInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${info.lctrPlanAtchFileId}" />
</c:import>
</td>
</c:if>
</dl>
<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,194 @@
<%@ 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"%>
<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/fndtnVisitEdu/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="searchEduHopeStartDt" 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>
</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: 30%;">
<col style="width: 10%;">
<col style="width: 10%;">
</colgroup>
<thead>
<tr>
<th scope="col">교육과정</th>
<th scope="col">교육기간</th>
<th scope="col">정원</th>
<th scope="col">신청자수</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${vEPrcsDetailVOList}" varStatus="status">
<tr>
<td>
<a href="#none" onclick="fncGoDetail('<c:out value='${list.prcsAplctPrdOrd }' />')">${list.prcsNm } (${list.prcsAplctPrdOrd })</a>
</td>
<td>
${list.eduStrtPnttm } ~ ${list.eduDdlnPnttm }
</td>
<td>
${list.nos }
</td>
<td>
${list.nosCnt1 }
</td>
</tr>
</c:forEach>
<c:if test="${empty vEPrcsDetailVOList}">
<tr><td colspan="5"><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><a href="#none" onclick="fncGoDetail('<c:out value='${list.prcsAplctPrdOrd }' />')">${list.prcsNm } (${list.prcsAplctPrdOrd })</a></span>
</li>
<li>
<span>교육기간</span>
<span>${list.eduStrtPnttm } ~ ${list.eduDdlnPnttm }</span>
</li>
<li>
<span>정원</span>
<span>${list.nos }</span>
</li>
<li>
<span>신청자수</span>
<span>${list.nosCnt1 }</span>
</li>
<%-- <li>
<span>교육일자</span>
<span>${fn:substring(list.eduHopeDt,0,4)}-${fn:substring(list.eduHopeDt,4,6)}-${fn:substring(list.eduHopeDt,6,8)}</span>
</li>
<li>
<span>요일</span>
<span><fmt:formatDate value="${eduHopeDt}" pattern="E"/></span>
</li>
<li>
<span>시간</span>
<span>
<fmt:parseDate value="${list.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
~<fmt:parseDate value="${list.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
(<c:out value='${list.lrnTm}'/>분)
</span>
</li>
<li>
<span>지역</span>
<span><c:if test="${list.eduSlctCd eq '10'}">(온)</c:if><ve:code codeId="VE0008" code="${list.eduSlctAreaCd}"/></span>
</li>
<li>
<span>기관(단체)명</span>
<span><c:out value='${list.insttNm}'/></span>
</li>
<li>
<span>총 금액</span>
<span>
<c:set var = "fee" value="" />
<c:choose>
<c:when test="${list.instrFeeSbmtYn ne 'Y'}">
<c:set var = "fee" value="정산중" />
</c:when>
<c:when test="${list.acmdtSbmtYn eq 'Y' and empty list.acmdtAprvlCd}">
<c:set var = "fee" value="정산중" />
</c:when>
<c:otherwise>
<c:set var = "fee" value="${list.instrFee + list.specialWorkAllow + list.distanceAllow + list.trafficFee + list.acmdtFee}" />
</c:otherwise>
</c:choose>
<td><p><c:out value="${fee}" /></p></td>
</span>
</li> --%>
</ul>
</c:forEach>
<c:if test="${empty vEPrcsDetailVOList}">
<ul><li colspan="5"><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,295 @@
<%@ 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"%>
<!DOCTYPE html>
<html lang="ko">
<head>
<title>강사프로필 목록</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
function fncGoCreate() {
$("#listForm").attr("action","${pageContext.request.contextPath}/web/kccadr/accdnt/acd/adjstChangeDateCreate.do").submit();
}
function fncSave(asgnmAprvlCd){
var ment = "";
if(asgnmAprvlCd == '30'){
ment = "수락";
$("#asgnmAprvlCd").val("30");
}
if(asgnmAprvlCd == '40'){
ment = "거절";
$("#asgnmAprvlCd").val("40");
}
if(asgnmAprvlCd == '60'){
ment = "변경요청";
$("#asgnmAprvlCd").val("60");
}
if(confirm(ment+"처리 하시겠습니까?")){
var data = new FormData(document.getElementById("detailForm"));
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: "${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmRqstMdfyAjax.do",
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success: function (returnData, status) {
if(status == 'success'){
alert(ment+"처리 완료하였습니다.");
fncGoList();
} else if(status== 'fail'){
alert(ment+"처리 실패하였습니다.");
}
},
error: function (e) { alert(ment+"처리에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
}
function fncGoList(){
var detailForm = document.detailForm;
detailForm.action = "<c:url value='/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmRqstList.do'/>";
detailForm.submit();
}
function goReqStatus(){
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/instrInfo/instrPrflReg.do").submit();
}
</script>
</head>
<body>
<!-- cont -->
<div class="cont_wrap" id="sub">
<form:form id="detailForm" name="detailForm" commandName="vEInstrAsgnmVO" method="post" >
<input type="hidden" name="pageIndex" value="<c:out value='${vEInstrAsgnmVO.pageIndex}'/>"/>
<input type="hidden" name="searchAsgnmAprvlCd" value="<c:out value="${vEInstrAsgnmVO.searchAsgnmAprvlCd}" />" />
<input type="hidden" name="searchEduHopeStartDt" value="<c:out value="${vEInstrAsgnmVO.searchEduHopeStartDt}" />" />
<input type="hidden" name="searchEduHopeEndDt" value="<c:out value="${vEInstrAsgnmVO.searchEduHopeEndDt}" />" />
<input type="hidden" name="searchKeyword" value="<c:out value="${vEInstrAsgnmVO.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="asgnmAprvlCd" id="asgnmAprvlCd" 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="tit_box">
<i class="tit_box_icon1"></i>
<div>
<p>찾아가는 저작권 교육</p>
<span>‘찾아가는 저작권 교육’은 저작권 교육이 필요한 <span>전국 초ㆍ중ㆍ고등학교, 청소년ㆍ아동복지ㆍ노인ㆍ장애인 기관 및 단체 등</span>에 직접 방문하여 무료로 강의를 지원하는 맞춤형 교육 서비스입니다.</span>
</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>${fn:substring(info.eduHopeDt,0,4)}년 ${fn:substring(info.eduHopeDt,4,6)}월 ${fn:substring(info.eduHopeDt,6,8)}일</td>
<th scope="row">
<p>시간</p>
</th>
<td>
<fmt:parseDate value="${info.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
~<fmt:parseDate value="${info.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
(<c:out value='${info.lrnTm}'/>분)
</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>교육일시</p>
</th>
<td colspan="3">${fn:substring(info.eduHopeDt,0,4)}년 ${fn:substring(info.eduHopeDt,4,6)}월 ${fn:substring(info.eduHopeDt,6,8)}일</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>시간</p>
</th>
<td colspan="3">
<fmt:parseDate value="${info.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
~<fmt:parseDate value="${info.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
(<c:out value='${info.lrnTm}'/>분)
</td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>기관(단체)명</p>
</th>
<td>${info.insttNm}</td>
<th scope="row">
<p>지역</p>
</th>
<td><c:if test="${info.eduSlctCd eq '10'}">(온)</c:if><ve:code codeId="VE0008" code="${info.eduSlctAreaCd}"/></td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>기관(단체)명</p>
</th>
<td colspan="3">${info.insttNm}</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>지역</p>
</th>
<td colspan="3"><c:if test="${info.eduSlctCd eq '10'}">(온)</c:if><ve:code codeId="VE0008" code="${info.eduSlctAreaCd}"/></td>
</tr>
<tr>
<th scope="row">
<p>교육장소</p>
</th>
<td colspan="3">${info.addr}</td>
</tr>
<tr>
<th scope="row">
<p>강의주제</p>
</th>
<td colspan="3">${info.hopeSbjct}</td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>교육대상</p>
</th>
<td>${info.trgt}</td>
<th scope="row">
<p>인원</p>
</th>
<td>${info.prsnl}</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>교육대상</p>
</th>
<td colspan="3">${info.trgt}</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>인원</p>
</th>
<td colspan="3">${info.prsnl}</td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>강의료</p>
</th>
<td><fmt:formatNumber value="${instrFee.instrFee}" pattern="#,###"/></td>
<th scope="row">
<p>교통비 등</p>
</th>
<td><fmt:formatNumber value="${instrFee.instrFeeSum}" pattern="#,###"/></td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>강의료</p>
</th>
<td colspan="3"><fmt:formatNumber value="${instrFee.instrFee}" pattern="#,###"/></td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>교통비 등</p>
</th>
<td colspan="3"><fmt:formatNumber value="${instrFee.instrFeeSum}" pattern="#,###"/></td>
</tr>
<tr>
<th scope="row">
<p>담당자</p>
</th>
<td colspan="3">${info.chrgNm}</td>
</tr>
<tr class="trLength4">
<th scope="row">
<p>연락처</p>
</th>
<td>${info.phone}</td>
<th scope="row">
<p>휴대전화</p>
</th>
<td>${info.clphone}</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>연락처</p>
</th>
<td colspan="3">${info.phone}</td>
</tr>
<tr class="trLength2">
<th scope="row">
<p>휴대전화</p>
</th>
<td colspan="3">${info.clphone}</td>
</tr>
<tr>
<th scope="row">
<p>이메일</p>
</th>
<td colspan="3">${info.email}</td>
</tr>
<!-- <tr>
<th scope="row">
<p>수락마감일</p>
</th>
<td colspan="3">*마감일 이후에는 자동으로 거절상태로 변경됩니다.</td>
</tr> -->
<c:if test="${info.hstryCd eq '40'}">
<tr>
<th scope="row">
<p>변경 요청 여부</p>
</th>
<td colspan="3">O</td>
</tr>
</c:if>
</tbody>
</table>
</div>
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<c:if test="${info.asgnmAprvlCd eq '20' }"> <!-- 배정 테이블 수락요청 상태 -->
<button type="button" class="btnType04 m_btn_block" onclick="fncSave('30'); return false;">요청수락</button>
</c:if>
</div>
<div class="btn_right">
<c:if test="${info.asgnmAprvlCd eq '20' }"> <!-- 배정 테이블 수락요청 상태 -->
<button type="button" class="btnType03 m_btn_block" onclick="fncSave('40'); return false;">요청거절</button>
</c:if>
<c:if test="${info.asgnmAprvlCd eq '30' and info.hstryCd ne '40' and info.hstryCnt eq '0'}"> <!-- 배정테이블 수락승인, 변경요청 내역이 없으며, 거절 등 내역이 없는 경우 : 강사가 요청을 바로 수락 한 경우만 -->
<button type="button" class="btnType03 m_btn_block" onclick="fncSave('60'); return false;">변경요청</button>
</c:if>
<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,270 @@
<%@ 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"%>
<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(eduAplctOrd,eduChasiOrd){
$("#eduAplctOrd").val(eduAplctOrd);
$("#eduChasiOrd").val(eduChasiOrd);
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmRqstDetail.do").submit();
}
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmRqstList.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="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="searchCdtn" class="label">검색조건 선택</label>
<select class="selType1" name="searchAsgnmAprvlCd" id="searchCdtn">
<option value="" <c:if test="${vEInstrAsgnmVO.searchAsgnmAprvlCd eq ''}">selected</c:if>>전체</option>
<option value="20" <c:if test="${vEInstrAsgnmVO.searchAsgnmAprvlCd eq '20'}">selected</c:if>>대기</option>
<option value="30" <c:if test="${vEInstrAsgnmVO.searchAsgnmAprvlCd eq '30'}">selected</c:if>>수락</option>
<option value="40" <c:if test="${vEInstrAsgnmVO.searchAsgnmAprvlCd eq '40'}">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="searchEduHopeStartDt" 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>
</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: 8%;">
<col style="width: 15%;">
<col style="width: 8%;">
<col style="width: auto">
<col style="width: 10%;">
<col style="width: 15%;">
<col style="width: 12%;">
<col style="width: 12%;">
</colgroup>
<thead>
<tr>
<th scope="col">번호</th>
<th scope="col">교육일자</th>
<th scope="col">요일</th>
<th scope="col">시간</th>
<th scope="col">지역</th>
<th scope="col">기관(단체)명</th>
<th scope="col">총 금액</th>
<th scope="col">신청상태</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${vEInstrAsgnmVOList}" varStatus="status">
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyy.MM.dd"/> <!-- 요일 구하기 -->
<c:choose>
<c:when test="${list.notiCnt == 0}">
<tr class="new_cont" onclick="fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');" style="cursor:pointer;">
</c:when>
<c:otherwise>
<tr onclick="fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');" style="cursor:pointer;">
</c:otherwise>
</c:choose>
<td>
<p>
<c:if test="${vEInstrAsgnmVO.searchSortOrd eq 'desc' }">
<c:out value="${ ( paginationInfo.totalRecordCount - ((vEInstrAsgnmVO.pageIndex -1)*vEInstrAsgnmVO.pageUnit) ) - status.index }"/>
</c:if>
<c:if test="${vEInstrAsgnmVO.searchSortOrd eq 'asc' }">
<c:out value="${(vEInstrAsgnmVO.pageIndex - 1) * vEInstrAsgnmVO.pageUnit + status.count}"/>
</c:if>
</p>
</td>
<td><p>${list.eduHopeDt}</p></td>
<td><p><fmt:formatDate value="${eduHopeDt}" pattern="E"/></p></td>
<td><p>
<fmt:parseDate value="${list.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
~<fmt:parseDate value="${list.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
(<c:out value='${list.lrnTm}'/>분)
</p></td>
<td><p><c:if test="${list.eduSlctCd eq '10'}">(온)</c:if><ve:code codeId="VE0008" code="${list.eduSlctAreaCd}"/></p></td>
<td><p><c:out value='${list.insttNm}'/></p></td>
<c:set var = "fee" value="" />
<c:choose>
<c:when test="${list.instrFeeSbmtYn ne 'Y'}">
<c:set var = "fee" value="정산중" />
</c:when>
<c:when test="${list.acmdtSbmtYn eq 'Y' and empty list.acmdtAprvlCd}">
<c:set var = "fee" value="정산중" />
</c:when>
<c:otherwise>
<c:set var = "fee" value="${list.instrFee + list.specialWorkAllow + list.distanceAllow + list.trafficFee + list.acmdtFee}" />
</c:otherwise>
</c:choose>
<td><p><c:out value='${fee}'/></p></td>
<c:set var="statCd" value="" />
<c:choose>
<c:when test="${list.asgnmAprvlCd eq '20'}">
<!-- 배정 수락 요청 상태 -->
<c:set var="statCd" value="대기" />
</c:when>
<c:when test="${(list.asgnmAprvlCd eq '40' and list.userId eq loginVO.id) or
(list.hstryUserId eq loginVO.id and (list.hstryCd eq '10' or list.hstryCd eq '40'))}">
<!-- 배정 거절 or 내역 거절 or 내열에 변경요청 -->
<c:set var="statCd" value="거절" />
</c:when>
<c:when test="${list.asgnmAprvlCd eq '30' and list.userId eq loginVO.id}">
<c:set var="statCd" value="수락" />
</c:when>
</c:choose>
<td><span class="app_status1">${statCd}</span></td>
</tr>
</c:forEach>
<c:if test="${empty vEInstrAsgnmVOList}">
<tr><td colspan="8"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<div class="tb_list01_m">
<c:forEach var="list" items="${vEInstrAsgnmVOList}" varStatus="status">
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyy.MM.dd"/> <!-- 요일 구하기 -->
<ul onclick="fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');">
<li>
<span>번호</span>
<span>
<c:if test="${vEInstrAsgnmVO.searchSortOrd eq 'desc' }">
<c:out value="${ ( paginationInfo.totalRecordCount - ((vEInstrAsgnmVO.pageIndex -1)*vEInstrAsgnmVO.pageUnit) ) - status.index }"/>
</c:if>
<c:if test="${vEInstrAsgnmVO.searchSortOrd eq 'asc' }">
<c:out value="${(vEInstrAsgnmVO.pageIndex - 1) * vEInstrAsgnmVO.pageUnit + status.count}"/>
</c:if>
</span>
</li>
<li>
<span>교육일자</span>
<span>${fn:substring(list.eduHopeDt,0,4)}-${fn:substring(list.eduHopeDt,4,6)}-${fn:substring(list.eduHopeDt,6,8)}</span>
</li>
<li>
<span>요일</span>
<span><fmt:formatDate value="${eduHopeDt}" pattern="E"/></span>
</li>
<li>
<span>시간</span>
<span>
<fmt:parseDate value="${list.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
~<fmt:parseDate value="${list.endTm}" var="endTm" pattern="kkmm"/><fmt:formatDate value="${endTm}" pattern="kk:mm"/>
(<c:out value='${list.lrnTm}'/>분)
</span>
</li>
<li>
<span>지역</span>
<span><c:if test="${list.eduSlctCd eq '10'}">(온)</c:if><ve:code codeId="VE0008" code="${list.eduSlctAreaCd}"/></span>
</li>
<li>
<span>기관(단체)명</span>
<span><c:out value='${list.insttNm}'/></span>
</li>
<li>
<span>총 금액</span>
<c:set var = "fee" value="" />
<c:choose>
<c:when test="${list.instrFeeSbmtYn ne 'Y'}">
<c:set var = "fee" value="정산중" />
</c:when>
<c:when test="${list.acmdtSbmtYn eq 'Y' and empty list.acmdtAprvlCd}">
<c:set var = "fee" value="정산중" />
</c:when>
<c:otherwise>
<c:set var = "fee" value="${list.instrFee + list.specialWorkAllow + list.distanceAllow + list.trafficFee + list.acmdtFee}" />
</c:otherwise>
</c:choose>
<span><c:out value='${fee}'/></span>
</li>
<li>
<span>신청상태</span>
<c:set var="statCd" value="" />
<c:choose>
<c:when test="${list.asgnmAprvlCd eq '20'}">
<!-- 배정 수락 요청 상태 -->
<c:set var="statCd" value="대기" />
</c:when>
<c:when test="${(list.asgnmAprvlCd eq '40' and list.userId eq loginVO.id) or
(list.hstryUserId eq loginVO.id and (list.hstryCd eq '10' or list.hstryCd eq '40'))}">
<!-- 배정 거절 or 내역 거절 or 내열에 변경요청 -->
<c:set var="statCd" value="거절" />
</c:when>
<c:when test="${list.asgnmAprvlCd eq '30' and list.userId eq loginVO.id}">
<c:set var="statCd" value="수락" />
</c:when>
</c:choose>
<span><c:out value='${statCd}'/></span>
</li>
</ul>
</c:forEach>
<c:if test="${empty vEInstrAsgnmVOList}">
<ul><li colspan="8"><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

@ -103,7 +103,7 @@
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="<c:out value='${info.eduChasiOrd}'/>"/> <!-- 교육차시 순번 -->
<input type="hidden" name="hstryCd" id="hstryCd" value=""/> <!-- 배정내역 코드 -->
<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

@ -193,7 +193,7 @@
<input type="hidden" name="hstryCd" id="hstryCd" value="" />
<input type="hidden" name="checkedField" id="checkedField" value="" />
<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

@ -153,6 +153,7 @@
<p>강의일자</p>
</th>
<td>
${info.eduHopeDt}
${fn:substring(info.eduHopeDt,0,4)}년 ${fn:substring(info.eduHopeDt,4,6)}월 ${fn:substring(info.eduHopeDt,6,8)}일
</td>
<th scope="row">
@ -309,7 +310,7 @@
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="<c:out value='${info.eduChasiOrd}'/>"/> <!-- 교육차시 순번 -->
<input type="hidden" name="hstryCd" id="hstryCd" value=""/> <!-- 배정내역 코드 -->
<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>
@ -343,7 +344,8 @@
<p>교육일시</p>
</th>
<td>
${fn:substring(info.eduHopeDt,0,4)}년 ${fn:substring(info.eduHopeDt,4,6)}월 ${fn:substring(info.eduHopeDt,6,8)}일
<%-- ${fn:substring(info.eduHopeDt,0,4)}년 ${fn:substring(info.eduHopeDt,4,6)}월 ${fn:substring(info.eduHopeDt,6,8)}일 --%>
${info.eduHopeDt}
</td>
<th scope="row">
<p>차시</p>
@ -361,7 +363,10 @@
<th scope="row">
<p>교육일시</p>
</th>
<td colspan="3">${fn:substring(info.eduHopeDt,0,4)}년 ${fn:substring(info.eduHopeDt,4,6)}월 ${fn:substring(info.eduHopeDt,6,8)}일</td>
<td colspan="3">
<%-- ${fn:substring(info.eduHopeDt,0,4)}년 ${fn:substring(info.eduHopeDt,4,6)}월 ${fn:substring(info.eduHopeDt,6,8)}일 --%>
${info.eduHopeDt}
</td>
</tr>
<tr class="trLength2">
<th scope="row">

View File

@ -49,7 +49,7 @@
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="" />
<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>
@ -121,7 +121,7 @@
</c:if>
</p>
</td>
<td><a href="javascript:fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');">${fn:substring(list.eduHopeDt,0,4)}-${fn:substring(list.eduHopeDt,4,6)}-${fn:substring(list.eduHopeDt,6,8)}</a></td>
<td><a href="javascript:fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');">${list.eduHopeDt}</a></td>
<td><a href="javascript:fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');"><fmt:formatDate value="${eduHopeDt}" pattern="E"/></a></td>
<td><a href="javascript:fncGoDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');">
<fmt:parseDate value="${list.strtTm}" var="strtTm" pattern="kkmm"/><fmt:formatDate value="${strtTm}" pattern="kk:mm"/>
@ -181,7 +181,7 @@
</li>
<li>
<span>교육일자</span>
<span>${fn:substring(list.eduHopeDt,0,4)}-${fn:substring(list.eduHopeDt,4,6)}-${fn:substring(list.eduHopeDt,6,8)}</span>
<span>${list.eduHopeDt}</span>
</li>
<li>
<span>요일</span>

View File

@ -89,7 +89,7 @@
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="<c:out value='${info.eduChasiOrd}'/>"/> <!-- 교육차시 순번 -->
<input type="hidden" name="asgnmAprvlCd" id="asgnmAprvlCd" value=""/> <!-- 배정테이블의 확정코드 -->
<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

@ -52,7 +52,7 @@
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="" />
<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

@ -83,7 +83,7 @@ $( document ).ready(function() {
<input type="hidden" name="pageIndex" />
<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

@ -52,7 +52,7 @@
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="" />
<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

@ -47,7 +47,7 @@
<!-- cont -->
<div class="cont_wrap" id="sub">
<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

@ -289,7 +289,7 @@
</div>
<div class="cont_wrap" id="sub">
<div class="cont_tit">
<h2>청소년저작권강사정보 상세</h2>
<h2>청소년 강사 신청 상세</h2>
</div>
<div class="tit_box">
<i class="tit_box_icon1"></i>