2023-10-24 11:47 강사 일정 달력 제공
This commit is contained in:
parent
48c7c20450
commit
5e058ef76c
@ -22,5 +22,7 @@ public interface SchduleManageService {
|
||||
//관리자 일정 페이지
|
||||
List<SchduleManageVO> selectSchManageStatusAdminList(SchduleManageVO schduleManageVO) throws Exception;
|
||||
|
||||
//강사 일정 페이지
|
||||
List<SchduleManageVO> selectSchManageStatusInstrList(SchduleManageVO schduleManageVO) throws Exception;
|
||||
}
|
||||
|
||||
|
||||
@ -119,6 +119,8 @@ public class SchduleManageVO extends ComDefaultVO {
|
||||
private String eduPlace; //교육장소
|
||||
private String prcsNm; //온라인콘텐츠 신청 항목
|
||||
|
||||
private String userId; //강사화면 달력 출력을 위해 추가한 항목
|
||||
|
||||
|
||||
|
||||
public Date getTodate() {
|
||||
@ -482,6 +484,14 @@ public class SchduleManageVO extends ComDefaultVO {
|
||||
this.prcsNm = prcsNm;
|
||||
}
|
||||
|
||||
public String getUserId() {
|
||||
return userId;
|
||||
}
|
||||
|
||||
public void setUserId(String userId) {
|
||||
this.userId = userId;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -30,6 +30,12 @@ public class SchduleManageDAO extends EgovAbstractDAO {
|
||||
return (List<SchduleManageVO>)list("schduleManageDAO.selectSchManageStatusAdminList" , schduleManageVO);
|
||||
}
|
||||
|
||||
//강사 배정 확정 및 교육 확정된 강좌 리스트
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<SchduleManageVO> selectSchManageStatusInstrList(SchduleManageVO schduleManageVO)throws Exception{
|
||||
return (List<SchduleManageVO>)list("schduleManageDAO.selectSchManageStatusInstrList" , schduleManageVO);
|
||||
}
|
||||
|
||||
public SchduleManageVO selectSchManageDetail(SchduleManageVO schduleManageVO)throws Exception{
|
||||
return (SchduleManageVO) select("schduleManageDAO.selectSchManageDetail" , schduleManageVO);
|
||||
}
|
||||
|
||||
@ -54,4 +54,9 @@ public class SchduleManageServiceImpl implements SchduleManageService {
|
||||
public List<SchduleManageVO> selectSchManageStatusAdminList(SchduleManageVO schduleManageVO) throws Exception {
|
||||
return schduleManageDAO.selectSchManageStatusAdminList(schduleManageVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SchduleManageVO> selectSchManageStatusInstrList(SchduleManageVO schduleManageVO) throws Exception {
|
||||
return schduleManageDAO.selectSchManageStatusInstrList(schduleManageVO);
|
||||
}
|
||||
}
|
||||
|
||||
@ -16,6 +16,7 @@ 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.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
@ -34,6 +35,8 @@ import kcc.com.utl.user.service.CheckFileUtil;
|
||||
import kcc.com.utl.user.service.CheckLoginUtil;
|
||||
import kcc.kccadr.accdnt.acd.service.AdjstChangeDateService;
|
||||
import kcc.kccadr.kccadrCom.service.KccadrMgrUdtService;
|
||||
import kcc.kccadr.sch.service.SchduleManageService;
|
||||
import kcc.kccadr.sch.service.SchduleManageVO;
|
||||
import kcc.let.uat.uia.service.SsoLoginVO;
|
||||
import kcc.let.utl.fcc.service.EgovCryptoUtil;
|
||||
import kcc.let.utl.fcc.service.EgovCryptoUtil4VO;
|
||||
@ -135,6 +138,9 @@ public class InstrAdultPrflController {
|
||||
@Resource(name = "vELctrMIXService")
|
||||
private VELctrMIXService vELctrMIXService;
|
||||
|
||||
//일정 정보 가져오기
|
||||
@Resource(name = "schduleManageService")
|
||||
private SchduleManageService schduleManageService;
|
||||
|
||||
/**
|
||||
* 0.성인 강사 대시보드 화면
|
||||
@ -712,6 +718,110 @@ public class InstrAdultPrflController {
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1.성인대상 강사 상세화면 - 달력일정
|
||||
*/
|
||||
@RequestMapping("/web/ve/instr/adultVisitEdu/instrInfo/instrPrflSchdl.do")
|
||||
public String instrPrflSchdl(
|
||||
@ModelAttribute("vEInstrDetailVO") VEInstrDetailVO vEInstrDetailVO
|
||||
|
||||
, 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); //로그인 정보가 없으면 로그인 페이지로 이동한다.
|
||||
}
|
||||
//로그인 처리====================================
|
||||
|
||||
//성인대상 강사 상세정보 조회
|
||||
vEInstrDetailVO.setUserId(loginVO.getUniqId());
|
||||
vEInstrDetailVO.setInstrDiv("20");
|
||||
vEInstrDetailVO.setUseYn("Y");
|
||||
VEInstrDetailVO info = vEInstrDetailService.selectDetail(vEInstrDetailVO);
|
||||
info = egovCryptoUtil.decryptVEInstrDetailVO(info);
|
||||
|
||||
model.addAttribute("info", info);
|
||||
|
||||
|
||||
//성인대상 강사 신청내역 조회
|
||||
vEInstrDetailVO.setFirstIndex(0);
|
||||
vEInstrDetailVO.setSelectPagingListQuery("AND a.instr_detail_ord = '1'"); //첫번째 신청 조회
|
||||
List<VEInstrDetailVO> vEInstrAplctList = vEInstrDetailService.selectPagingList(vEInstrDetailVO);
|
||||
|
||||
model.addAttribute("vEInstrAplctList", vEInstrAplctList);
|
||||
|
||||
|
||||
//성인대상 강사 수정신청 내역 조회
|
||||
vEInstrDetailVO.setFirstIndex(0);
|
||||
vEInstrDetailVO.setSelectPagingListQuery("AND a.instr_detail_ord != '1'"); //첫번째가 아닌 수정 요청 조회
|
||||
List<VEInstrDetailVO> vEInstrMdfyList = vEInstrDetailService.selectPagingList(vEInstrDetailVO);
|
||||
|
||||
model.addAttribute("vEInstrMdfyList", vEInstrMdfyList);
|
||||
|
||||
|
||||
//현재 요청중인 내역 조회 - 요청 중 항목이 있으면 수정 요청 버튼 막기
|
||||
vEInstrDetailVO.setFirstIndex(0);
|
||||
vEInstrDetailVO.setSelectPagingListQuery("AND a.aprvl_cd = '10'");
|
||||
List<VEInstrDetailVO> vEInstrMdfyRqstList = vEInstrDetailService.selectPagingList(vEInstrDetailVO);
|
||||
|
||||
model.addAttribute("vEInstrMdfyRqstList", vEInstrMdfyRqstList);
|
||||
|
||||
VELctrDetailVO lctrDetailVO = new VELctrDetailVO();
|
||||
lctrDetailVO.setInstrDiv(vEInstrDetailVO.getInstrDiv());
|
||||
lctrDetailVO.setUserId(vEInstrDetailVO.getUserId());
|
||||
|
||||
|
||||
//강의설정 요청 리스트 불러오기
|
||||
List<VELctrDetailVO> lctrStngSbmtInfo = vELctrMIXService.selectLctrStngSbmtList(lctrDetailVO);
|
||||
model.addAttribute("lctrStngSbmtInfo", lctrStngSbmtInfo);
|
||||
|
||||
|
||||
//강의설정테이블
|
||||
lctrDetailVO.setUseYn("Y");
|
||||
VELctrDetailVO lctrStngInfo = vELctrMIXService.selectDetail(lctrDetailVO);
|
||||
model.addAttribute("lctrStngInfo", lctrStngInfo);
|
||||
|
||||
return "/web/ve/instr/adultVisitEdu/instrInfo/instrPrflSchdl";
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/web/ve/instr/adultVisitEdu/instrInfo/adultSchduleManagerAjaxLoadData.do")
|
||||
@ResponseBody
|
||||
public List<SchduleManageVO> adultSchduleManagerAjaxLoadData(
|
||||
@ModelAttribute("schduleManageVO") SchduleManageVO schduleManageVO
|
||||
, ModelMap model
|
||||
) throws Exception {
|
||||
|
||||
//로그인 처리====================================
|
||||
//로그인 정보 가져오기
|
||||
|
||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||
//SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||
|
||||
|
||||
//로그인 처리====================================
|
||||
|
||||
//성인대상 강사 상세정보 조회
|
||||
schduleManageVO.setUserId(loginVO.getUniqId());
|
||||
|
||||
|
||||
schduleManageVO.setAprvlCd("60");
|
||||
schduleManageVO.setLctrDivCd("20");
|
||||
|
||||
|
||||
schduleManageVO.setSearchStartDt(schduleManageVO.getSearchStartDt().split("T")[0].replaceAll("-", ""));
|
||||
|
||||
return schduleManageService.selectSchManageStatusInstrList(schduleManageVO);
|
||||
}
|
||||
|
||||
//페이징을 위한 처리 step1 - 페이징 기본 정보 설정
|
||||
private PaginationInfo setPagingStep1(
|
||||
VEInstrDetailVO p_vEInstrDetailVO
|
||||
|
||||
@ -229,45 +229,51 @@ public class lctrAdultInfoStngController {
|
||||
}
|
||||
//로그인 처리====================================
|
||||
|
||||
//성인대상 강사 정보 가져오기
|
||||
vELctrDetailVO.setInstrDiv(vEInstrDetailVO.getInstrDiv()); //강사구분 10-청소년 20-성인대상
|
||||
vELctrDetailVO.setUserId(vEInstrDetailVO.getUserId());
|
||||
try {
|
||||
//성인대상 강사 정보 가져오기
|
||||
vELctrDetailVO.setInstrDiv(vEInstrDetailVO.getInstrDiv()); //강사구분 10-청소년 20-성인대상
|
||||
vELctrDetailVO.setUserId(vEInstrDetailVO.getUserId());
|
||||
|
||||
model.addAttribute("info", vELctrDetailVO);
|
||||
model.addAttribute("info", vELctrDetailVO);
|
||||
|
||||
//강의지역 조회
|
||||
VERsdncVO vERsdncVO = new VERsdncVO();
|
||||
List<VERsdncVO> rsdncStep1VOList = vERsdncMIXService.selectRsdncStep1List(vERsdncVO);
|
||||
model.addAttribute("rsdncStep1VOList", rsdncStep1VOList);
|
||||
//강의지역 조회
|
||||
VERsdncVO vERsdncVO = new VERsdncVO();
|
||||
List<VERsdncVO> rsdncStep1VOList = vERsdncMIXService.selectRsdncStep1List(vERsdncVO);
|
||||
model.addAttribute("rsdncStep1VOList", rsdncStep1VOList);
|
||||
|
||||
List<VERsdncVO> rsdncStep2VOList = vERsdncMIXService.selectRsdncStep2List(vERsdncVO);
|
||||
model.addAttribute("rsdncStep2VOList", rsdncStep2VOList);
|
||||
List<VERsdncVO> rsdncStep2VOList = vERsdncMIXService.selectRsdncStep2List(vERsdncVO);
|
||||
model.addAttribute("rsdncStep2VOList", rsdncStep2VOList);
|
||||
|
||||
// 선호대상 공통코드 조회
|
||||
List<?> prfrnTrgtList = cmmUseService.selectCmmCodeDetail("VE0006");
|
||||
model.addAttribute("prfrnTrgtList", prfrnTrgtList);
|
||||
// 선호대상 공통코드 조회
|
||||
List<?> prfrnTrgtList = cmmUseService.selectCmmCodeDetail("VE0006");
|
||||
model.addAttribute("prfrnTrgtList", prfrnTrgtList);
|
||||
|
||||
VELctrDetailVO lctrDetailVO = new VELctrDetailVO();
|
||||
lctrDetailVO.setInstrDiv(vEInstrDetailVO.getInstrDiv());
|
||||
lctrDetailVO.setUserId(vEInstrDetailVO.getUserId());
|
||||
VELctrDetailVO lctrDetailVO = new VELctrDetailVO();
|
||||
lctrDetailVO.setInstrDiv(vEInstrDetailVO.getInstrDiv());
|
||||
lctrDetailVO.setUserId(vEInstrDetailVO.getUserId());
|
||||
|
||||
//강의설정테이블
|
||||
//VELctrDetailVO lctrStngInfo = vELctrMIXService.selectDetail(lctrDetailVO);
|
||||
//VELctrDetailVO lctrStngInfo = vELctrMIXService.selectLctrStngDetail(lctrDetailVO);
|
||||
//lctrDetailVO.setUseYn(//useYn);
|
||||
VELctrDetailVO lctrStngInfo = vELctrMIXService.selectDetail(lctrDetailVO);
|
||||
model.addAttribute("lctrStngInfo", lctrStngInfo);
|
||||
//강의설정테이블
|
||||
//VELctrDetailVO lctrStngInfo = vELctrMIXService.selectDetail(lctrDetailVO);
|
||||
//VELctrDetailVO lctrStngInfo = vELctrMIXService.selectLctrStngDetail(lctrDetailVO);
|
||||
//lctrDetailVO.setUseYn(//useYn);
|
||||
VELctrDetailVO lctrStngInfo = vELctrMIXService.selectDetail(lctrDetailVO);
|
||||
model.addAttribute("lctrStngInfo", lctrStngInfo);
|
||||
|
||||
//선호대상 정보 테이블
|
||||
vELctrDetailVO.setLctrStngOrd(lctrStngInfo.getLctrStngOrd());
|
||||
List<VELctrDetailVO> lctrPrfrnInfo = vELctrPrfrnService.selectPrfrnInfoList(vELctrDetailVO);
|
||||
model.addAttribute("lctrPrfrnInfo", lctrPrfrnInfo);
|
||||
//선호대상 정보 테이블
|
||||
vELctrDetailVO.setLctrStngOrd(lctrStngInfo.getLctrStngOrd());
|
||||
List<VELctrDetailVO> lctrPrfrnInfo = vELctrPrfrnService.selectPrfrnInfoList(vELctrDetailVO);
|
||||
model.addAttribute("lctrPrfrnInfo", lctrPrfrnInfo);
|
||||
|
||||
//강의지역 조회
|
||||
vELctrDetailVO.setRecordCountPerPage(1000);
|
||||
vELctrDetailVO.setFirstIndex(0);
|
||||
List<VELctrDetailVO> vELctrAreaList = vELctrAreaService.selectPagingList(vELctrDetailVO);
|
||||
model.addAttribute("vELctrAreaList", vELctrAreaList);
|
||||
|
||||
}catch(Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
|
||||
//강의지역 조회
|
||||
vELctrDetailVO.setRecordCountPerPage(1000);
|
||||
vELctrDetailVO.setFirstIndex(0);
|
||||
List<VELctrDetailVO> vELctrAreaList = vELctrAreaService.selectPagingList(vELctrDetailVO);
|
||||
model.addAttribute("vELctrAreaList", vELctrAreaList);
|
||||
|
||||
return "/web/ve/instr/adultVisitEdu/lctrInfo/lctrStngDetailView";
|
||||
}
|
||||
|
||||
@ -16,6 +16,7 @@ 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.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
@ -34,6 +35,8 @@ import kcc.com.utl.user.service.CheckFileUtil;
|
||||
import kcc.com.utl.user.service.CheckLoginUtil;
|
||||
import kcc.kccadr.accdnt.acd.service.AdjstChangeDateService;
|
||||
import kcc.kccadr.kccadrCom.service.KccadrMgrUdtService;
|
||||
import kcc.kccadr.sch.service.SchduleManageService;
|
||||
import kcc.kccadr.sch.service.SchduleManageVO;
|
||||
import kcc.let.uat.uia.service.SsoLoginVO;
|
||||
import kcc.let.utl.fcc.service.EgovCryptoUtil;
|
||||
import kcc.let.utl.fcc.service.EgovCryptoUtil4VO;
|
||||
@ -142,6 +145,10 @@ public class InstrPrflController {
|
||||
@Resource(name="egovCryptoUtil4VO")
|
||||
private EgovCryptoUtil4VO egovCryptoUtil4VO;
|
||||
|
||||
//일정 정보 가져오기
|
||||
@Resource(name = "schduleManageService")
|
||||
private SchduleManageService schduleManageService;
|
||||
|
||||
/**
|
||||
* 1.신청변경신청 목록 - L
|
||||
*/
|
||||
@ -836,6 +843,95 @@ public class InstrPrflController {
|
||||
return "/web/ve/instr/tngrVisitEdu/instrInfo/instrTypeSelect";
|
||||
}
|
||||
|
||||
/**
|
||||
* 청소년대상 강사 일정달력
|
||||
*/
|
||||
@RequestMapping("/web/ve/instr/tngrVisitEdu/instrInfo/instrPrflSchdl.do")
|
||||
public String instrPrflSchdl(
|
||||
@ModelAttribute("vEInstrDetailVO") VEInstrDetailVO vEInstrDetailVO
|
||||
|
||||
, 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); //로그인 정보가 없으면 로그인 페이지로 이동한다.
|
||||
}
|
||||
//로그인 처리====================================
|
||||
|
||||
//청소년 강사 상세정보 조회
|
||||
vEInstrDetailVO.setUserId(loginVO.getUniqId());
|
||||
vEInstrDetailVO.setInstrDiv("10");
|
||||
vEInstrDetailVO.setUseYn("Y");
|
||||
VEInstrDetailVO info = vEInstrDetailService.selectDetail(vEInstrDetailVO);
|
||||
info = egovCryptoUtil.decryptVEInstrDetailVO(info);
|
||||
|
||||
model.addAttribute("info", info);
|
||||
|
||||
//성인대상 강사 신청내역 조회
|
||||
vEInstrDetailVO.setFirstIndex(0);
|
||||
vEInstrDetailVO.setSelectPagingListQuery("AND a.instr_detail_ord = '1'"); //첫번째 신청 조회
|
||||
List<VEInstrDetailVO> vEInstrAplctList = vEInstrDetailService.selectPagingList(vEInstrDetailVO);
|
||||
|
||||
model.addAttribute("vEInstrAplctList", vEInstrAplctList);
|
||||
|
||||
//성인대상 강사 수정신청 내역 조회
|
||||
vEInstrDetailVO.setFirstIndex(0);
|
||||
vEInstrDetailVO.setSelectPagingListQuery("AND a.instr_detail_ord != '1'"); //첫번째가 아닌 수정 요청 조회
|
||||
List<VEInstrDetailVO> vEInstrMdfyList = vEInstrDetailService.selectPagingList(vEInstrDetailVO);
|
||||
|
||||
model.addAttribute("vEInstrMdfyList", vEInstrMdfyList);
|
||||
|
||||
//패널티 조회
|
||||
List<VEInstrDetailVO> vEInstrPnltyList = vEInstrMixService.selectPnltyList(vEInstrDetailVO);
|
||||
model.addAttribute("vEInstrPnltyList", vEInstrPnltyList);
|
||||
|
||||
//현재 요청중인 내역 조회 - 요청 중 항목이 있으면 수정 요청 버튼 막기
|
||||
vEInstrDetailVO.setFirstIndex(0);
|
||||
vEInstrDetailVO.setSelectPagingListQuery("AND a.aprvl_cd = '10'");
|
||||
List<VEInstrDetailVO> vEInstrMdfyRqstList = vEInstrDetailService.selectPagingList(vEInstrDetailVO);
|
||||
|
||||
model.addAttribute("vEInstrMdfyRqstList", vEInstrMdfyRqstList);
|
||||
|
||||
return "/web/ve/instr/tngrVisitEdu/instrInfo/instrPrflSchdl";
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/web/ve/instr/tngrVisitEdu/instrInfo/tngrSchduleManagerAjaxLoadData.do")
|
||||
@ResponseBody
|
||||
public List<SchduleManageVO> adultSchduleManagerAjaxLoadData(
|
||||
@ModelAttribute("schduleManageVO") SchduleManageVO schduleManageVO
|
||||
, ModelMap model
|
||||
) throws Exception {
|
||||
|
||||
//로그인 처리====================================
|
||||
//로그인 정보 가져오기
|
||||
|
||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||
//SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||
|
||||
|
||||
//로그인 처리====================================
|
||||
|
||||
//성인대상 강사 상세정보 조회
|
||||
schduleManageVO.setUserId(loginVO.getUniqId());
|
||||
|
||||
|
||||
schduleManageVO.setAprvlCd("60");
|
||||
schduleManageVO.setLctrDivCd("10");
|
||||
|
||||
|
||||
schduleManageVO.setSearchStartDt(schduleManageVO.getSearchStartDt().split("T")[0].replaceAll("-", ""));
|
||||
|
||||
return schduleManageService.selectSchManageStatusInstrList(schduleManageVO);
|
||||
}
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
//
|
||||
|
||||
@ -316,6 +316,133 @@
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 사용자(강사) 일정 달력 -->
|
||||
<select id="schduleManageDAO.selectSchManageStatusInstrList" parameterClass="SchduleManageVO" resultClass="SchduleManageVO" remapResults="true">
|
||||
/* schduleManageDAO.selectSchManageStatusInstrList */
|
||||
SELECT aa.title
|
||||
, aa.content
|
||||
, aa.schSeq
|
||||
, aa.schChasiSeq
|
||||
, to_char( TO_DATE(aa.edu_hope_dt|| aa.strt_tm,'YYYY.MM.DDHH24MI'), 'YYYY-MM-DD HH24:MI:SS' ) AS "start"
|
||||
, to_char( TO_DATE(aa.edu_hope_dt|| aa.strt_tm,'YYYY.MM.DDHH24MI'), 'YYYY-MM-DD' ) AS dateTxt
|
||||
, to_char( TO_DATE(aa.edu_hope_dt|| aa.strt_tm,'YYYY.MM.DDHH24MI'), 'HH24:MI:SS' ) AS timeTxt
|
||||
,
|
||||
TO_CHAR( TO_DATE(aa.edu_hope_dt|| aa.strt_tm,'YYYY.MM.DDHH24MI'), 'YYYY-MM-DD HH24:MI' )
|
||||
|| '~'
|
||||
||TO_CHAR( TO_DATE(aa.edu_hope_dt|| AA.END_tm,'YYYY.MM.DDHH24MI'), 'HH24:MI' )
|
||||
AS eduDate
|
||||
, aa.url
|
||||
, aa.allDay
|
||||
, aa.eduSlctCd
|
||||
, aa.insttDivCd
|
||||
, aa.eduMd
|
||||
, aa.addr || ' ' || aa.addrDetail AS addrDetail
|
||||
, aa.chrgNm
|
||||
, aa.jobNm
|
||||
, aa.clphone
|
||||
, aa.phone
|
||||
, aa.email
|
||||
, aa.hopeSbjct
|
||||
, aa.rqstCn
|
||||
, aa.trgt
|
||||
, aa.prsnl
|
||||
, aa.instrNm
|
||||
|
||||
, DECODE(aa.isltnScholYn , 'Y', '예', '아니오') AS isltnScholYn
|
||||
, aa.eduPlace
|
||||
FROM(
|
||||
SELECT
|
||||
|
||||
<isNotEmpty property="lctrDivCd">
|
||||
<isEqual property="lctrDivCd" compareValue="10">
|
||||
a.schol_instt_nm title ,
|
||||
a.schol_instt_nm content ,
|
||||
</isEqual>
|
||||
<isEqual property="lctrDivCd" compareValue="20">
|
||||
a.instt_nm title ,
|
||||
a.instt_nm content ,
|
||||
</isEqual>
|
||||
</isNotEmpty>
|
||||
a.edu_aplct_ord schSeq ,
|
||||
b.edu_chasi_ord schChasiSeq ,
|
||||
b.edu_hope_dt,
|
||||
b.strt_tm,
|
||||
b.end_tm,
|
||||
'' url ,
|
||||
0 allDay,
|
||||
c.code_nm eduSlctCd,
|
||||
d.code_nm insttDivCd,
|
||||
a.EDU_MD eduMd,
|
||||
a.ADDR addr,
|
||||
a.ADDR_DETAIL addrDetail,
|
||||
a.CHRG_NM chrgNm,
|
||||
a.JOB_NM jobNm,
|
||||
a.CLPHONE clphone,
|
||||
a.PHONE phone,
|
||||
a.EMAIL email,
|
||||
a.HOPE_SBJCT hopeSbjct,
|
||||
a.RQST_CN rqstCn,
|
||||
b.trgt trgt,
|
||||
b.prsnl prsnl,
|
||||
f.instr_nm instrNm,
|
||||
a.isltn_schol_yn isltnScholYn,
|
||||
a.edu_place eduPlace
|
||||
|
||||
FROM ve_edu_aplct a
|
||||
, ve_edu_chasi b
|
||||
|
||||
LEFT OUTER JOIN ve_edu_chasi_instr_asgnm e
|
||||
ON(
|
||||
e.EDU_APLCT_ORD = b.EDU_APLCT_ORD
|
||||
AND e.EDU_CHASI_ORD = b.EDU_CHASI_ORD
|
||||
)
|
||||
LEFT OUTER JOIN ve_instr_detail f
|
||||
ON(
|
||||
f.user_id = e.user_id
|
||||
AND f.use_yn = 'Y'
|
||||
AND f.instr_div = #lctrDivCd#
|
||||
)
|
||||
, lettccmmndetailcode c
|
||||
, lettccmmndetailcode d
|
||||
|
||||
WHERE 1=1
|
||||
AND NVL(A.USE_YN, 'Y') != 'N'
|
||||
<isNotEmpty property="aprvlCd">
|
||||
AND A.aprvl_cd = #aprvlCd#
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="lctrDivCd">
|
||||
AND A.lctr_div_cd = #lctrDivCd#
|
||||
</isNotEmpty>
|
||||
AND a.edu_aplct_ord=b.edu_aplct_ord
|
||||
|
||||
AND length(b.edu_hope_dt)=10
|
||||
AND length(b.strt_tm)=4
|
||||
AND length(b.end_tm)=4
|
||||
<isNotEmpty property="searchStartDt">
|
||||
AND SUBSTRING(b.edu_hope_dt,1,7)
|
||||
= TO_CHAR(TO_DATE(#searchStartDt#,'YYYYMMDD')+7,'YYYY.MM')
|
||||
</isNotEmpty>
|
||||
AND c.code_id = 'VE0007'
|
||||
AND c.code = a.edu_slct_cd
|
||||
<isNotEmpty property="lctrDivCd">
|
||||
<isEqual property="lctrDivCd" compareValue="10">
|
||||
AND d.code_id = 'VE0009'
|
||||
AND d.code = a.schol_div_cd
|
||||
</isEqual>
|
||||
<isEqual property="lctrDivCd" compareValue="20">
|
||||
AND d.code_id = 'VE0012'
|
||||
AND d.code = a.instt_div_cd
|
||||
</isEqual>
|
||||
</isNotEmpty>
|
||||
|
||||
AND e.user_id = #userId#
|
||||
|
||||
)aa
|
||||
|
||||
ORDER BY eduDate
|
||||
|
||||
</select>
|
||||
|
||||
<select id="schduleManageDAO.selectSchManageStatusList_ori" parameterClass="SchduleManageVO" resultClass="SchduleManageVO">
|
||||
SELECT
|
||||
SCH_SEQ AS schSeq,
|
||||
|
||||
@ -57,6 +57,7 @@
|
||||
</div>
|
||||
<div class="btn_wrap">
|
||||
<button type="button" class="btnType05" onclick="location.href='${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/instrInfo/instrPrflDetail.do'">상세정보 보기</button>
|
||||
<button type="button" class="btnType05" onclick="location.href='${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/instrInfo/instrPrflSchdl.do'">일정달력 보기</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -81,7 +82,10 @@
|
||||
<th scope="row">
|
||||
<p>강사명</p>
|
||||
</th>
|
||||
<td><c:out value='${instrInfo.instrNm}'/></td>
|
||||
<td><c:out value='${instrInfo.instrNm}'/>
|
||||
<%-- <button type="button" class="btnType05" onclick="location.href='${pageContext.request.contextPath}/web/ve/instr/tngrVisitEdu/instrInfo/instrPrflDetail.do'">상세정보 보기</button> --%>
|
||||
<%-- <button type="button" class="btnType05" onclick="location.href='${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/instrInfo/instrPrflDetail.do'">상세정보 보기</button> --%>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
|
||||
@ -92,8 +92,9 @@
|
||||
}
|
||||
|
||||
function fncGoList(){
|
||||
var varFrom = document.getElementById("listForm");
|
||||
varFrom.action = "<c:url value='/web/kccadr/accdnt/adr/adjstDeputyReqList.do'/>";
|
||||
//var varFrom = document.getElementById("listForm");
|
||||
var varFrom = document.getElementById("createForm");
|
||||
varFrom.action = "<c:url value='/web/ve/instr/adultVisitEdu/instrInfo/instrDashboard.do'/>";
|
||||
varFrom.submit();
|
||||
|
||||
}
|
||||
@ -586,6 +587,9 @@
|
||||
</c:if>
|
||||
</c:if>
|
||||
|
||||
<button class="btnType06 btn_list" onclick="fncGoList(); return false;">목록 </button>
|
||||
<!-- <button class="btnType06 btn_list" onclick="fncLctrStngDetailView(); return false;">강의 설정 정보</button> -->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- //하단 버튼 -->
|
||||
|
||||
@ -0,0 +1,293 @@
|
||||
<%--
|
||||
|
||||
Class Name : instrPrflSchdl.jsp
|
||||
Description : 강사정보(성인)-일정달력
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2021.12.02 조용준 내용
|
||||
|
||||
author : 조용준
|
||||
since : 2021.12.02
|
||||
|
||||
--%>
|
||||
<%@ 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"%>
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<style type="text/css">
|
||||
.fc-day-sat { color:#0000FF; } /* 토요일 */
|
||||
.fc-day-sun { color:#FF0000; } /* 일요일 */
|
||||
</style>
|
||||
<link type="text/css" rel="stylesheet" href="<c:url value='/js/fullcalendar/5.9.0/main.css' />" />
|
||||
<script type="text/javascript" src="<c:url value='/js/fullcalendar/5.9.0/main.js'/>"></script>
|
||||
<script type="text/javascript" src="<c:url value='/js/fullcalendar/5.9.0/locales-all.js'/>"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
});
|
||||
|
||||
var ex_s_todate;// = info.startStr;
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
var calendarEl = document.getElementById('schduleManager');
|
||||
var calendar = new FullCalendar.Calendar(calendarEl, {
|
||||
locale: 'ko',
|
||||
timezone : "local",
|
||||
weekends : true,
|
||||
editable : false,
|
||||
firstDay : 0, //월요일이 먼저 오게 하려면 1
|
||||
dayMaxEvents: true,
|
||||
navLinks: false,
|
||||
customButtons: {
|
||||
myCustomButton: {
|
||||
text: '오늘',
|
||||
click: function(event, elm) {
|
||||
alert('clicked the custom button!');
|
||||
}
|
||||
},viewWeekends : {
|
||||
text : '주말',
|
||||
click : function (event, elm) {
|
||||
calendar.setOption("weekends" , calendar.getOption("weekends") ? false : true);
|
||||
}
|
||||
}
|
||||
},buttonText: {
|
||||
listMonth: '일정'
|
||||
},
|
||||
headerToolbar: {
|
||||
//left: 'prevYear nextYear today',
|
||||
left: 'today',
|
||||
center: 'prev title next',
|
||||
//right: 'dayGridMonth,listMonth'
|
||||
right: ''
|
||||
},
|
||||
eventSources: [
|
||||
{
|
||||
events: function(info, successCallback, failureCallback) {
|
||||
console.log(info);
|
||||
|
||||
var s_todate = info.startStr;
|
||||
ex_s_todate = info.startStr;
|
||||
|
||||
$.ajax({
|
||||
url: '<c:url value="/web/ve/instr/adultVisitEdu/instrInfo/adultSchduleManagerAjaxLoadData.do"/>',
|
||||
type: 'POST',
|
||||
dataType: 'json',
|
||||
data: {
|
||||
searchStartDt : "",
|
||||
//searchStartDt : "",
|
||||
searchStartDt : s_todate,
|
||||
todate : info.start,
|
||||
searchYearMonth : function(){
|
||||
return "";
|
||||
}
|
||||
},
|
||||
success: function(data) {
|
||||
successCallback(data);
|
||||
|
||||
// 날짜 계산
|
||||
setCalDate(data, info.startStr);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
],
|
||||
eventContent: function(arg, createElement) {
|
||||
event.preventDefault();
|
||||
console.log(arg.event._def.url);
|
||||
arg.event._def.url = "#none";
|
||||
},
|
||||
/*
|
||||
eventClick: function(info) {
|
||||
info.jsEvent.preventDefault();
|
||||
schDetailPop(info.event._def.extendedProps.schSeq, info.event._def.extendedProps.schChasiSeq);
|
||||
return false;
|
||||
},
|
||||
*/
|
||||
});
|
||||
calendar.render();
|
||||
});
|
||||
|
||||
function schDetailPop(schSeq, schChasiSeq) {
|
||||
|
||||
window.open('', 'schDetailPop', "width=600, height=520, left=200, top=130","location = no","status= no","toolbars= no");
|
||||
document.listForm.eduAplctOrd.value = schSeq ;
|
||||
document.listForm.eduChasiOrd.value = schChasiSeq ;
|
||||
|
||||
document.listForm.method = "post";
|
||||
document.listForm.action = "${pageContext.request.contextPath}/kccadr/oprtn/adultVisitEdu/popup/SchduleManagerPopDetail.do";
|
||||
document.listForm.target = "schDetailPop" ;
|
||||
document.listForm.submit();
|
||||
}
|
||||
|
||||
function excelDownLoad(){
|
||||
var listForm = document.listForm ;
|
||||
listForm.searchStartDt.value = ex_s_todate ;
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/adultVisitEdu/adultSchduleManagerExcelDownLoad.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
/*
|
||||
*##############################################################################
|
||||
* START
|
||||
*##############################################################################
|
||||
*/
|
||||
|
||||
// 날짜 계산
|
||||
function setCalDate(data, startStr) {
|
||||
// 현재월 구하기
|
||||
startStr = startStr.substr(0, 10);
|
||||
startStr = replaceAll(startStr, "-", "");
|
||||
startStr = replaceAll(startStr, ".", "");
|
||||
startStr = replaceAll(startStr, "/", "");
|
||||
|
||||
var todayYear = startStr.substring(0,4);
|
||||
var todayMonth = 0;
|
||||
var todayDay = startStr.substring(6,8);
|
||||
|
||||
if (todayDay == "01") {
|
||||
todayMonth = startStr.substring(4,6);
|
||||
}
|
||||
else {
|
||||
if (startStr.substring(4,6) == "12") {
|
||||
todayMonth = "01";
|
||||
}
|
||||
else {
|
||||
todayMonth = parseInt(startStr.substring(4,6), 10) + 1;
|
||||
if (todayMonth < 10) {
|
||||
todayMonth = "0" + todayMonth;
|
||||
}
|
||||
}
|
||||
}
|
||||
// End
|
||||
//alert(todayMonth);
|
||||
|
||||
var monthCnt = 0;
|
||||
var week1Cnt = 0, week2Cnt = 0, week3Cnt = 0, week4Cnt = 0, week5Cnt = 0, week6Cnt = 0;
|
||||
|
||||
var sHtml = "";
|
||||
for (var j = 0; j < data.length; j++) {
|
||||
var schStartDate = data[j].start.substr(0, 10);
|
||||
schStartDate = replaceAll(schStartDate, "-", "");
|
||||
schStartDate = replaceAll(schStartDate, ".", "");
|
||||
schStartDate = replaceAll(schStartDate, "/", "");
|
||||
|
||||
var thisYear = schStartDate.substring(0,4);
|
||||
var thisMonth = schStartDate.substring(4,6);
|
||||
var thisDay = schStartDate.substring(6,8);
|
||||
var thisWeek = getSecofWeek(schStartDate);
|
||||
|
||||
// 해당월 데이터만 처리
|
||||
if (todayMonth == thisMonth) {
|
||||
monthCnt++;
|
||||
|
||||
if (thisWeek == 1) {
|
||||
week1Cnt++;
|
||||
}
|
||||
else if (thisWeek == 2) {
|
||||
week2Cnt++;
|
||||
}
|
||||
else if (thisWeek == 3) {
|
||||
week3Cnt++;
|
||||
}
|
||||
else if (thisWeek == 4) {
|
||||
week4Cnt++;
|
||||
}
|
||||
else if (thisWeek == 5) {
|
||||
week5Cnt++;
|
||||
}
|
||||
else if (thisWeek == 6) {
|
||||
week6Cnt++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sHtml += "전체 : " + monthCnt + "건";
|
||||
sHtml += " (1주차 : " + week1Cnt + "건";
|
||||
sHtml += ", 2주차 : " + week2Cnt + "건";
|
||||
sHtml += ", 3주차 : " + week3Cnt + "건";
|
||||
sHtml += ", 4주차 : " + week4Cnt + "건";
|
||||
sHtml += ", 5주차 : " + week5Cnt + "건";
|
||||
sHtml += ", 6주차 : " + week6Cnt + "건)";
|
||||
|
||||
sHtml += ' <button type="button" class="btn_down_excel" onclick="excelDownLoad();">일정현황 엑셀 다운로드</button>';
|
||||
|
||||
|
||||
//$("#weekCnt").html(sHtml);
|
||||
}
|
||||
|
||||
// 해당일 주차 계산
|
||||
function getSecofWeek(date) {
|
||||
var d = new Date( date.substring(0,4), parseInt(date.substring(4,6))-1, date.substring(6,8) );
|
||||
var fd = new Date( date.substring(0,4), parseInt(date.substring(4,6))-1, 1 );
|
||||
|
||||
return Math.ceil((parseInt(date.substring(6,8))+fd.getDay())/7);
|
||||
}
|
||||
|
||||
// ReplaceAll
|
||||
function replaceAll(str, searchStr, replaceStr) {
|
||||
return str.split(searchStr).join(replaceStr);
|
||||
}
|
||||
|
||||
function fncGoList(){
|
||||
//var varFrom = document.getElementById("listForm");
|
||||
var varFrom = document.getElementById("listForm");
|
||||
varFrom.action = "<c:url value='/web/ve/instr/adultVisitEdu/instrInfo/instrDashboard.do'/>";
|
||||
varFrom.submit();
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
<title>일정현황</title>
|
||||
</head>
|
||||
<body>
|
||||
<form:form id="listForm" name="listForm" method="post">
|
||||
<input type="hidden" name="eduAplctOrd" value="" />
|
||||
<input type="hidden" name="eduChasiOrd" value="" />
|
||||
<input type="hidden" name="searchStartDt" value="" />
|
||||
|
||||
</form:form>
|
||||
<div class="cont_wrap">
|
||||
|
||||
<div class="box">
|
||||
<!-- cont_tit -->
|
||||
<div class="cont_tit">
|
||||
<h2>일정현황
|
||||
|
||||
</h2>
|
||||
<div class="btn_wrap btn_layout01" style="margin-top: 0px;">
|
||||
<div class="btn_Left">
|
||||
<button class="btnType05" onclick="fncGoList(); return false;" style="width: 100px;">목록 </button>
|
||||
</div>
|
||||
<div class="btn_Right">
|
||||
<!-- <button class="btnType05" onclick="fncGoList(); return false;">목록 </button> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<!-- //cont_tit -->
|
||||
|
||||
<br />
|
||||
<div style="float: right; padding-right: 40px; color: #777777;" id="weekCnt">
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="cont">
|
||||
<div id="schduleManager"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- //cont -->
|
||||
</body>
|
||||
@ -116,6 +116,7 @@
|
||||
<c:out value='${instrInfo.instrNm}'/>
|
||||
<button type="button" class="btnType05" onclick="location.href='${pageContext.request.contextPath}/web/ve/instr/tngrVisitEdu/instrInfo/instrPrflDetail.do'">상세정보 보기</button>
|
||||
<button type="button" class="btnType05" onclick="fncGoLctrRsrchDetail('${vELctrDetailVO.rsrchInstrDiv}','${vELctrDetailVO.stngYrMnt}');">강의설정보기</button>
|
||||
<button type="button" class="btnType05" onclick="location.href='${pageContext.request.contextPath}/web/ve/instr/tngrVisitEdu/instrInfo/instrPrflSchdl.do'">일정달력 보기</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@ -0,0 +1,293 @@
|
||||
<%--
|
||||
|
||||
Class Name : instrPrflSchdl.jsp
|
||||
Description : 청소년 강사 일정 달력
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2021.12.02 조용준 내용
|
||||
|
||||
author : 조용준
|
||||
since : 2021.12.02
|
||||
|
||||
--%>
|
||||
<%@ 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"%>
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<style type="text/css">
|
||||
.fc-day-sat { color:#0000FF; } /* 토요일 */
|
||||
.fc-day-sun { color:#FF0000; } /* 일요일 */
|
||||
</style>
|
||||
<link type="text/css" rel="stylesheet" href="<c:url value='/js/fullcalendar/5.9.0/main.css' />" />
|
||||
<script type="text/javascript" src="<c:url value='/js/fullcalendar/5.9.0/main.js'/>"></script>
|
||||
<script type="text/javascript" src="<c:url value='/js/fullcalendar/5.9.0/locales-all.js'/>"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
});
|
||||
|
||||
var ex_s_todate;// = info.startStr;
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
var calendarEl = document.getElementById('schduleManager');
|
||||
var calendar = new FullCalendar.Calendar(calendarEl, {
|
||||
locale: 'ko',
|
||||
timezone : "local",
|
||||
weekends : true,
|
||||
editable : false,
|
||||
firstDay : 0, //월요일이 먼저 오게 하려면 1
|
||||
dayMaxEvents: true,
|
||||
navLinks: false,
|
||||
customButtons: {
|
||||
myCustomButton: {
|
||||
text: '오늘',
|
||||
click: function(event, elm) {
|
||||
alert('clicked the custom button!');
|
||||
}
|
||||
},viewWeekends : {
|
||||
text : '주말',
|
||||
click : function (event, elm) {
|
||||
calendar.setOption("weekends" , calendar.getOption("weekends") ? false : true);
|
||||
}
|
||||
}
|
||||
},buttonText: {
|
||||
listMonth: '일정'
|
||||
},
|
||||
headerToolbar: {
|
||||
//left: 'prevYear nextYear today',
|
||||
left: 'today',
|
||||
center: 'prev title next',
|
||||
//right: 'dayGridMonth,listMonth'
|
||||
right: ''
|
||||
},
|
||||
eventSources: [
|
||||
{
|
||||
events: function(info, successCallback, failureCallback) {
|
||||
console.log(info);
|
||||
|
||||
var s_todate = info.startStr;
|
||||
ex_s_todate = info.startStr;
|
||||
|
||||
$.ajax({
|
||||
url: '<c:url value="/web/ve/instr/tngrVisitEdu/instrInfo/tngrSchduleManagerAjaxLoadData.do"/>',
|
||||
type: 'POST',
|
||||
dataType: 'json',
|
||||
data: {
|
||||
searchStartDt : "",
|
||||
//searchStartDt : "",
|
||||
searchStartDt : s_todate,
|
||||
todate : info.start,
|
||||
searchYearMonth : function(){
|
||||
return "";
|
||||
}
|
||||
},
|
||||
success: function(data) {
|
||||
successCallback(data);
|
||||
|
||||
// 날짜 계산
|
||||
setCalDate(data, info.startStr);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
],
|
||||
eventContent: function(arg, createElement) {
|
||||
event.preventDefault();
|
||||
console.log(arg.event._def.url);
|
||||
arg.event._def.url = "#none";
|
||||
},
|
||||
/*
|
||||
eventClick: function(info) {
|
||||
info.jsEvent.preventDefault();
|
||||
schDetailPop(info.event._def.extendedProps.schSeq, info.event._def.extendedProps.schChasiSeq);
|
||||
return false;
|
||||
},
|
||||
*/
|
||||
});
|
||||
calendar.render();
|
||||
});
|
||||
|
||||
function schDetailPop(schSeq, schChasiSeq) {
|
||||
|
||||
window.open('', 'schDetailPop', "width=600, height=520, left=200, top=130","location = no","status= no","toolbars= no");
|
||||
document.listForm.eduAplctOrd.value = schSeq ;
|
||||
document.listForm.eduChasiOrd.value = schChasiSeq ;
|
||||
|
||||
document.listForm.method = "post";
|
||||
document.listForm.action = "${pageContext.request.contextPath}/kccadr/oprtn/adultVisitEdu/popup/SchduleManagerPopDetail.do";
|
||||
document.listForm.target = "schDetailPop" ;
|
||||
document.listForm.submit();
|
||||
}
|
||||
|
||||
function excelDownLoad(){
|
||||
var listForm = document.listForm ;
|
||||
listForm.searchStartDt.value = ex_s_todate ;
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/adultVisitEdu/adultSchduleManagerExcelDownLoad.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
/*
|
||||
*##############################################################################
|
||||
* START
|
||||
*##############################################################################
|
||||
*/
|
||||
|
||||
// 날짜 계산
|
||||
function setCalDate(data, startStr) {
|
||||
// 현재월 구하기
|
||||
startStr = startStr.substr(0, 10);
|
||||
startStr = replaceAll(startStr, "-", "");
|
||||
startStr = replaceAll(startStr, ".", "");
|
||||
startStr = replaceAll(startStr, "/", "");
|
||||
|
||||
var todayYear = startStr.substring(0,4);
|
||||
var todayMonth = 0;
|
||||
var todayDay = startStr.substring(6,8);
|
||||
|
||||
if (todayDay == "01") {
|
||||
todayMonth = startStr.substring(4,6);
|
||||
}
|
||||
else {
|
||||
if (startStr.substring(4,6) == "12") {
|
||||
todayMonth = "01";
|
||||
}
|
||||
else {
|
||||
todayMonth = parseInt(startStr.substring(4,6), 10) + 1;
|
||||
if (todayMonth < 10) {
|
||||
todayMonth = "0" + todayMonth;
|
||||
}
|
||||
}
|
||||
}
|
||||
// End
|
||||
//alert(todayMonth);
|
||||
|
||||
var monthCnt = 0;
|
||||
var week1Cnt = 0, week2Cnt = 0, week3Cnt = 0, week4Cnt = 0, week5Cnt = 0, week6Cnt = 0;
|
||||
|
||||
var sHtml = "";
|
||||
for (var j = 0; j < data.length; j++) {
|
||||
var schStartDate = data[j].start.substr(0, 10);
|
||||
schStartDate = replaceAll(schStartDate, "-", "");
|
||||
schStartDate = replaceAll(schStartDate, ".", "");
|
||||
schStartDate = replaceAll(schStartDate, "/", "");
|
||||
|
||||
var thisYear = schStartDate.substring(0,4);
|
||||
var thisMonth = schStartDate.substring(4,6);
|
||||
var thisDay = schStartDate.substring(6,8);
|
||||
var thisWeek = getSecofWeek(schStartDate);
|
||||
|
||||
// 해당월 데이터만 처리
|
||||
if (todayMonth == thisMonth) {
|
||||
monthCnt++;
|
||||
|
||||
if (thisWeek == 1) {
|
||||
week1Cnt++;
|
||||
}
|
||||
else if (thisWeek == 2) {
|
||||
week2Cnt++;
|
||||
}
|
||||
else if (thisWeek == 3) {
|
||||
week3Cnt++;
|
||||
}
|
||||
else if (thisWeek == 4) {
|
||||
week4Cnt++;
|
||||
}
|
||||
else if (thisWeek == 5) {
|
||||
week5Cnt++;
|
||||
}
|
||||
else if (thisWeek == 6) {
|
||||
week6Cnt++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sHtml += "전체 : " + monthCnt + "건";
|
||||
sHtml += " (1주차 : " + week1Cnt + "건";
|
||||
sHtml += ", 2주차 : " + week2Cnt + "건";
|
||||
sHtml += ", 3주차 : " + week3Cnt + "건";
|
||||
sHtml += ", 4주차 : " + week4Cnt + "건";
|
||||
sHtml += ", 5주차 : " + week5Cnt + "건";
|
||||
sHtml += ", 6주차 : " + week6Cnt + "건)";
|
||||
|
||||
sHtml += ' <button type="button" class="btn_down_excel" onclick="excelDownLoad();">일정현황 엑셀 다운로드</button>';
|
||||
|
||||
|
||||
//$("#weekCnt").html(sHtml);
|
||||
}
|
||||
|
||||
// 해당일 주차 계산
|
||||
function getSecofWeek(date) {
|
||||
var d = new Date( date.substring(0,4), parseInt(date.substring(4,6))-1, date.substring(6,8) );
|
||||
var fd = new Date( date.substring(0,4), parseInt(date.substring(4,6))-1, 1 );
|
||||
|
||||
return Math.ceil((parseInt(date.substring(6,8))+fd.getDay())/7);
|
||||
}
|
||||
|
||||
// ReplaceAll
|
||||
function replaceAll(str, searchStr, replaceStr) {
|
||||
return str.split(searchStr).join(replaceStr);
|
||||
}
|
||||
|
||||
function fncGoList(){
|
||||
//var varFrom = document.getElementById("listForm");
|
||||
var varFrom = document.getElementById("listForm");
|
||||
varFrom.action = "<c:url value='/web/ve/instr/tngrVisitEdu/instrInfo/instrDashboard.do'/>";
|
||||
varFrom.submit();
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
<title>일정현황</title>
|
||||
</head>
|
||||
<body>
|
||||
<form:form id="listForm" name="listForm" method="post">
|
||||
<input type="hidden" name="eduAplctOrd" value="" />
|
||||
<input type="hidden" name="eduChasiOrd" value="" />
|
||||
<input type="hidden" name="searchStartDt" value="" />
|
||||
|
||||
</form:form>
|
||||
<div class="cont_wrap">
|
||||
|
||||
<div class="box">
|
||||
<!-- cont_tit -->
|
||||
<div class="cont_tit">
|
||||
<h2>일정현황
|
||||
|
||||
</h2>
|
||||
<div class="btn_wrap btn_layout01" style="margin-top: 0px;">
|
||||
<div class="btn_Left">
|
||||
<button class="btnType05" onclick="fncGoList(); return false;" style="width: 100px;">목록 </button>
|
||||
</div>
|
||||
<div class="btn_Right">
|
||||
<!-- <button class="btnType05" onclick="fncGoList(); return false;">목록 </button> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<!-- //cont_tit -->
|
||||
|
||||
<br />
|
||||
<div style="float: right; padding-right: 40px; color: #777777;" id="weekCnt">
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="cont">
|
||||
<div id="schduleManager"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- //cont -->
|
||||
</body>
|
||||
Loading…
Reference in New Issue
Block a user