diff --git a/src/main/java/kcc/ve/instr/fndtnVisitEdu/asgnmInfo/web/VEFndtnAsgnmController.java b/src/main/java/kcc/ve/instr/fndtnVisitEdu/asgnmInfo/web/VEFndtnAsgnmController.java new file mode 100644 index 00000000..bfcaaa7e --- /dev/null +++ b/src/main/java/kcc/ve/instr/fndtnVisitEdu/asgnmInfo/web/VEFndtnAsgnmController.java @@ -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 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 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 vEAPrcsAplctPrdInstrAsgnmList = vEAPrcsAplctPrdInstrAsgnmService.findByPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); + List 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 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 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 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 files = multiRequest.getFileMap(); + + if (!files.isEmpty()) { + //XXX_로 첨부파일 네이밍 + List 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 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; + } +} diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/VEAcmdtAplctService.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/VEAcmdtAplctService.java index 700a5624..c2adfa53 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/VEAcmdtAplctService.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/VEAcmdtAplctService.java @@ -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; diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/VEAsgnmMIXService.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/VEAsgnmMIXService.java index e4f0daae..667051aa 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/VEAsgnmMIXService.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/VEAsgnmMIXService.java @@ -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 selectFndtnVisitAsgnmPagingList(VEPrcsDetailVO vEPrcsDetailVO); + } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEAcmdtAplctDAO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEAcmdtAplctDAO.java index 84faf663..03976e43 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEAcmdtAplctDAO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEAcmdtAplctDAO.java @@ -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); } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEAcmdtAplctServiceImpl.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEAcmdtAplctServiceImpl.java index f96a16e5..524714f3 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEAcmdtAplctServiceImpl.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEAcmdtAplctServiceImpl.java @@ -23,8 +23,17 @@ public class VEAcmdtAplctServiceImpl implements VEAcmdtAplctService { //C public void insert(VEInstrFeeAcmdtVO paramVO) throws Exception { - paramVO.setAcmdtAplctOrd(acmdtAplctGnrService.getNextStringId()); - vEAcmdtAplctDAO.insert(paramVO); + //기존 데이터 존재 여부 확인 + 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 @@ -41,6 +50,11 @@ public class VEAcmdtAplctServiceImpl implements VEAcmdtAplctService { public VEInstrFeeAcmdtVO selectDetailByUser_r2(VEInstrFeeAcmdtVO paramVO) throws Exception { 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 { diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEAsgnmMIXDAO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEAsgnmMIXDAO.java index 999a680c..e55637f8 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEAsgnmMIXDAO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEAsgnmMIXDAO.java @@ -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 { @@ -214,5 +215,9 @@ public class VEAsgnmMIXDAO extends EgovAbstractDAO { public VEInstrAsgnmVO selectTtlMntChasiSumDetail(VEInstrAsgnmVO paramVO) throws Exception { return (VEInstrAsgnmVO) select("VEAsgnmMIXDAO.selectTtlMntChasiSumDetail", paramVO); } + + public List selectFndtnVisitAsgnmPagingList(VEPrcsDetailVO paramVO) { + return (List) list("VEAsgnmMIXDAO.selectFndtnVisitAsgnmPagingList", paramVO); + } } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEAsgnmMIXServiceImpl.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEAsgnmMIXServiceImpl.java index a326080a..49a0f8e7 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEAsgnmMIXServiceImpl.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/service/impl/VEAsgnmMIXServiceImpl.java @@ -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 { @@ -194,5 +195,10 @@ public class VEAsgnmMIXServiceImpl implements VEAsgnmMIXService { public VEInstrAsgnmVO selectTtlMntChasiSumDetail(VEInstrAsgnmVO paramVO) throws Exception { return vEAsgnmMIXDAO.selectTtlMntChasiSumDetail(paramVO); } + + @Override + public List selectFndtnVisitAsgnmPagingList(VEPrcsDetailVO paramVO) { + return vEAsgnmMIXDAO.selectFndtnVisitAsgnmPagingList(paramVO); + } } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/web/VEAsgnmController.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/web/VEAsgnmController.java index 8c96a704..e4cd9966 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/web/VEAsgnmController.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/asgnmInfo/web/VEAsgnmController.java @@ -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); diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java index 47096603..2c3bca5f 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java @@ -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; } diff --git a/src/main/java/kcc/ve/oprtn/pblc/sndMng/web/SndMngController.java b/src/main/java/kcc/ve/oprtn/pblc/sndMng/web/SndMngController.java index 6489f318..99cae99e 100644 --- a/src/main/java/kcc/ve/oprtn/pblc/sndMng/web/SndMngController.java +++ b/src/main/java/kcc/ve/oprtn/pblc/sndMng/web/SndMngController.java @@ -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 sendChk = new ArrayList<>(); + VeSendMail sendMail = new VeSendMail(); if("Z".equals(vEEduAplctVO.getSndFlag())) { emails = vEEduAplctVO.getEmail().split(","); @@ -235,48 +241,62 @@ public class SndMngController { for(int i=0; i 청소년>교육확정 메일본문 수정 메뉴에서 관리 - if("Z".equals(vEEduAplctVO.getSndFlag())) { - vEEduAplctVO.setEmail(emails[i]); - CntManageVO cntManageVO = new CntManageVO(); - //본문적용소스 - cntManageVO.setCntId("CNT_000000000001"); - cntManageVO.setCntDtId("CNTDT_0000000001"); - - cntManageVO = egovCntManageService.selectCntDtDetail(cntManageVO); - vEEduAplctVO.setSndCn(cntManageVO.getCntCn()); - - String result = sendMail.VeSendMail(vEEduAplctVO.getSndFlag(), vEEduAplctVO.getEmail(), vEEduAplctVO, loginVO); - if("success".equals(result)) { - //메일 발송 로그 - String snd_mail_ord = sndGnrService.getNextStringId(); - vEEduAplctVO.setSndHstryOrd(snd_mail_ord); - vEEduAplctVO.setSndCd("20"); //문자:10, 메일:20 - vEEduAplctSndHstryService.insert(vEEduAplctVO); - returnMsg = "succ"; + //동일한 신청에 대한 메일 발송이 있었는지 확인 한다.===시작 + boolean b_sendChk = true; + for (int c=0;c 청소년>교육확정 메일본문 수정 메뉴에서 관리 + if("Z".equals(vEEduAplctVO.getSndFlag())) { + vEEduAplctVO.setEmail(emails[i]); + CntManageVO cntManageVO = new CntManageVO(); + //본문적용소스 + cntManageVO.setCntId("CNT_000000000001"); + cntManageVO.setCntDtId("CNTDT_0000000001"); + + cntManageVO = egovCntManageService.selectCntDtDetail(cntManageVO); + vEEduAplctVO.setSndCn(cntManageVO.getCntCn()); + + String result = sendMail.VeSendMail(vEEduAplctVO.getSndFlag(), vEEduAplctVO.getEmail(), vEEduAplctVO, loginVO); + if("success".equals(result)) { + //메일 발송 로그 + String snd_mail_ord = sndGnrService.getNextStringId(); + vEEduAplctVO.setSndHstryOrd(snd_mail_ord); + vEEduAplctVO.setSndCd("20"); //문자:10, 메일:20 + vEEduAplctSndHstryService.insert(vEEduAplctVO); + returnMsg = "succ"; + } + } + } } } if(returnMsg == "fail") { @@ -287,6 +307,7 @@ public class SndMngController { } else { + //SMS String snd_ord = sndGnrService.getNextStringId(); vEEduAplctVO.setSndHstryOrd(snd_ord); diff --git a/src/main/resources/egovframework/sqlmap/ve/asgnm/VEAcmdtAplct_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/asgnm/VEAcmdtAplct_SQL_Tibero.xml index f2546405..1749a317 100644 --- a/src/main/resources/egovframework/sqlmap/ve/asgnm/VEAcmdtAplct_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/asgnm/VEAcmdtAplct_SQL_Tibero.xml @@ -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, @@ -178,7 +178,27 @@ - + + + + + + + @@ -318,8 +407,11 @@ - + @@ -448,6 +540,7 @@
+
diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/eduCnfrmMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/eduCnfrmMngList.jsp index d4107a47..19e480e9 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/eduCnfrmMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/eduCnfrmMngList.jsp @@ -850,7 +850,7 @@ + title="Check" type="checkbox"/>${list.asgnmAprvlCd} @@ -949,9 +949,11 @@ -
- + +
- +
diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/eduRsltMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/eduRsltMngList.jsp index bed52e2a..2c2a1615 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/eduRsltMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/eduRsltMngList.jsp @@ -277,7 +277,43 @@ listForm.action = ""; 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(); + } 신청관리 @@ -288,6 +324,9 @@ " /> + + +
@@ -364,6 +403,7 @@ +
@@ -404,7 +444,9 @@ - + @@ -449,7 +491,7 @@
-
+
@@ -472,7 +514,7 @@
- +
diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/scholMngDetail.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/scholMngDetail.jsp index 7d36f539..138727ea 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/scholMngDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/scholMngDetail.jsp @@ -144,7 +144,10 @@

도서학교구분

- + + + 아니오 + @@ -152,7 +155,10 @@

벽지학교구분

- + + + 아니오 + @@ -160,7 +166,10 @@

접적학교구분

- + + + 아니오 + @@ -168,7 +177,10 @@

인구감소지역여부

- + + + 아니오 + diff --git a/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp b/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp index c709c576..e360f0d9 100644 --- a/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp @@ -230,14 +230,15 @@ function usrJoin(){ GO - + --%>
diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctMdfy.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctMdfy.jsp index cadfb569..5513cf1a 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctMdfy.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctMdfy.jsp @@ -386,7 +386,7 @@
-

운영신청서 작성

+

교육신청수정

diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctReg.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctReg.jsp index 8c0de2ef..47104aa3 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctReg.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctReg.jsp @@ -466,7 +466,7 @@
-

교육신청 등록

+

교육신청등록

diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndDetail.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndDetail.jsp index 8f5f1b91..0387edb4 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndDetail.jsp @@ -242,7 +242,7 @@
-

운영내역 상세

+

운영내역상세

diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndList.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndList.jsp index 0e1c8b0c..5e52e262 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndList.jsp @@ -46,7 +46,7 @@ " />
-

운영내역 목록

+

운영내역목록

diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctDashboard.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctDashboard.jsp index 5bf8d691..c0efa0db 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctDashboard.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctDashboard.jsp @@ -63,7 +63,7 @@
-

체험교실 대시보드

+

대시보드