into advc

Conflicts:
	src/main/webapp/visitEdu/usr/publish/css/content.css
This commit is contained in:
ITN_디자인팀 2023-11-16 17:23:30 +09:00
commit d5b32a5a48
35 changed files with 4580 additions and 2929 deletions

View File

@ -536,6 +536,7 @@ public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements I
VEInstrDetailActvtHstryVO vEInstrActvtHstryVO = new VEInstrDetailActvtHstryVO(); VEInstrDetailActvtHstryVO vEInstrActvtHstryVO = new VEInstrDetailActvtHstryVO();
vEInstrActvtHstryVO.setInstrDetailActvtHstryOrd(instrActvtHstryOrdGnrService.getNextStringId()); vEInstrActvtHstryVO.setInstrDetailActvtHstryOrd(instrActvtHstryOrdGnrService.getNextStringId());
vEInstrActvtHstryVO.setInstrDetailOrd(adrInnorixFileVO.getInstrDetailOrd()); vEInstrActvtHstryVO.setInstrDetailOrd(adrInnorixFileVO.getInstrDetailOrd());
vEInstrActvtHstryVO.setUserId(adrInnorixFileVO.getUniqId());
// vEInstrActvtHstryVO.setaplctPnttm(); // vEInstrActvtHstryVO.setaplctPnttm();
vEInstrActvtHstryVO.setStateCd("10"); // 상태코드 vEInstrActvtHstryVO.setStateCd("10"); // 상태코드
vEInstrActvtHstryVO.setAplctAtchFileId(atchFileId); vEInstrActvtHstryVO.setAplctAtchFileId(atchFileId);

View File

@ -21,6 +21,7 @@ import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduExcelVO;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduSatisfactionExcelVO; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduSatisfactionExcelVO;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeAcmdtVO; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeAcmdtVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEAutoAsgnmVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO; import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
@ -366,6 +367,15 @@ public class EgovCryptoUtil {
return p_vELctrDetailVO; return p_vELctrDetailVO;
} }
//VEAutoAsgnmVO - 복호화
public VEAutoAsgnmVO decryptVEAutoAsgnmVOInfo(VEAutoAsgnmVO p_vEAutoAsgnmVO){
if (!"".equals(p_vEAutoAsgnmVO.getInstrNm())) p_vEAutoAsgnmVO.setInstrNm(this.decrypt(p_vEAutoAsgnmVO.getInstrNm()));
return p_vEAutoAsgnmVO;
}
//VEEduAplctVOList - 복호화 //VEEduAplctVOList - 복호화
public List<VELctrDetailVO> decryptVELctrDetailVOList(List<VELctrDetailVO> p_vELctrDetailVO){ public List<VELctrDetailVO> decryptVELctrDetailVOList(List<VELctrDetailVO> p_vELctrDetailVO){
@ -377,6 +387,18 @@ public class EgovCryptoUtil {
return p_vELctrDetailVO; return p_vELctrDetailVO;
} }
//VEAutoAsgnmVOList - 복호화
public List<VEAutoAsgnmVO> decryptVEAutoAsgnmVOList(List<VEAutoAsgnmVO> p_vEAutoAsgnmVO){
for (int i=0;i<p_vEAutoAsgnmVO.size();i++) {
VEAutoAsgnmVO vEAutoAsgnmVO = this.decryptVEAutoAsgnmVOInfo(p_vEAutoAsgnmVO.get(i));
p_vEAutoAsgnmVO.set(i, vEAutoAsgnmVO);
}
return p_vEAutoAsgnmVO;
}
//UserManageVO - 암호화 //UserManageVO - 암호화
public UserManageVO encryptUserManageVO(UserManageVO p_userManageVO){ public UserManageVO encryptUserManageVO(UserManageVO p_userManageVO){

View File

@ -4,6 +4,7 @@ import java.time.LocalDate;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@ -295,6 +296,26 @@ public class FndtnEnhanceTrnController {
//대상 리스트, 페이징 정보 전달 //대상 리스트, 페이징 정보 전달
model.addAttribute("list", vEPrcsDetailVOList); model.addAttribute("list", vEPrcsDetailVOList);
{
// 이달의 과정 LIST
// 날짜 형식 설정
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd");
// 현재 날짜 (년과 월만 중요)
LocalDate now = LocalDate.now();
// 현재 달에 해당하는 항목을 필터링
List<VEPrcsDetailVO> courseOfTheMonthList = vEPrcsDetailVOList.stream()
.filter(vo -> vo.getEduStrtPnttm() != null && vo.getEduDdlnPnttm() != null)
.filter(vo -> {
LocalDate strtPnttm = LocalDate.parse(vo.getEduStrtPnttm(), formatter);
LocalDate ddlnPnttm = LocalDate.parse(vo.getEduDdlnPnttm(), formatter);
return (strtPnttm.getMonth() == now.getMonth() || ddlnPnttm.getMonth() == now.getMonth());
})
.collect(Collectors.toList());
model.addAttribute("courseOfTheMonthList", courseOfTheMonthList);
System.out.println("courseOfTheMonthList :: "+ courseOfTheMonthList.size());
}
//3.pageing step3 //3.pageing step3
paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo);
@ -415,6 +436,13 @@ public class FndtnEnhanceTrnController {
vEPrcsDetailVODetail.setAprvlCd(vEEduAplctVO.getAprvlCd()); vEPrcsDetailVODetail.setAprvlCd(vEEduAplctVO.getAprvlCd());
} }
VEPrcsDetailVO vEPrcsEtcDetail = vEPrcsAplctPrdService.selectEtc(vEPrcsDetailVODetail.getPrcsAplctPrdOrd());
if(vEPrcsEtcDetail != null)
{
vEPrcsDetailVODetail.setPrpsCn(vEPrcsEtcDetail.getPrpsCn());
vEPrcsDetailVODetail.setChrctCn(vEPrcsEtcDetail.getChrctCn());
vEPrcsDetailVODetail.setPrcsAplctPrdEtcOrd(vEPrcsEtcDetail.getPrcsAplctPrdEtcOrd());
}
model.addAttribute("info", vEPrcsDetailVODetail); model.addAttribute("info", vEPrcsDetailVODetail);

View File

@ -42,6 +42,8 @@ import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.let.utl.fcc.service.EgovCryptoUtil4VO; import kcc.let.utl.fcc.service.EgovCryptoUtil4VO;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailActvtHstryService;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailActvtHstryVO;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailService; import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailService;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO; import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrMixService; import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrMixService;
@ -142,6 +144,8 @@ public class InstrAdultPrflController {
@Resource(name = "schduleManageService") @Resource(name = "schduleManageService")
private SchduleManageService schduleManageService; private SchduleManageService schduleManageService;
@Resource(name = "vEInstrDetailActvtHstryService")
private VEInstrDetailActvtHstryService vEInstrDetailActvtHstryService;
/** /**
* 0.성인 강사 대시보드 화면 * 0.성인 강사 대시보드 화면
*/ */
@ -577,6 +581,14 @@ public class InstrAdultPrflController {
VELctrDetailVO lctrStngInfo = vELctrMIXService.selectDetail(lctrDetailVO); VELctrDetailVO lctrStngInfo = vELctrMIXService.selectDetail(lctrDetailVO);
model.addAttribute("lctrStngInfo", lctrStngInfo); model.addAttribute("lctrStngInfo", lctrStngInfo);
VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO = new VEInstrDetailActvtHstryVO();
vEInstrDetailActvtHstryVO.setInstrDetailOrd(info.getInstrDetailOrd());
vEInstrDetailActvtHstryVO.setUserId(info.getUserId());
// 강사활동확인서내역
List<VEInstrDetailActvtHstryVO> vEInstrActvtHstryList = vEInstrDetailActvtHstryService.select(vEInstrDetailActvtHstryVO);
model.addAttribute("vEInstrActvtHstryList", vEInstrActvtHstryList);
return "/web/ve/instr/adultVisitEdu/instrInfo/instrPrflDetail"; return "/web/ve/instr/adultVisitEdu/instrInfo/instrPrflDetail";
} }

View File

@ -150,6 +150,8 @@ public class VEInstrAsgnmVO extends ComDefaultVO implements Serializable {
private String prcsAplctPrdOrd; //과정신청기간순번 private String prcsAplctPrdOrd; //과정신청기간순번
private String attendAtchFileId;//강사참석확인서 파일ID
public String getMemoCn() { public String getMemoCn() {
return memoCn; return memoCn;
@ -751,5 +753,11 @@ public class VEInstrAsgnmVO extends ComDefaultVO implements Serializable {
public void setEduPlace(String eduPlace) { public void setEduPlace(String eduPlace) {
this.eduPlace = eduPlace; this.eduPlace = eduPlace;
} }
public String getAttendAtchFileId() {
return attendAtchFileId;
}
public void setAttendAtchFileId(String attendAtchFileId) {
this.attendAtchFileId = attendAtchFileId;
}
} }

View File

@ -73,6 +73,10 @@ public class VEAutoAsgnmVO extends ComDefaultVO implements Serializable {
private String mIscSum; //받은 시간 private String mIscSum; //받은 시간
private String instrNm; //강사명
private String achvmRt; //달성율
private String pnltyQuery; //배정을 위한 패널티 쿼리 private String pnltyQuery; //배정을 위한 패널티 쿼리
private String rsdncQuery; //배정을 위한 거주지 우선 쿼리 private String rsdncQuery; //배정을 위한 거주지 우선 쿼리
private String cntnsQuery; //배정을 위한 연강 쿼리 private String cntnsQuery; //배정을 위한 연강 쿼리
@ -503,6 +507,22 @@ public class VEAutoAsgnmVO extends ComDefaultVO implements Serializable {
this.mIscSum = mIscSum; this.mIscSum = mIscSum;
} }
public String getInstrNm() {
return instrNm;
}
public void setInstrNm(String instrNm) {
this.instrNm = instrNm;
}
public String getAchvmRt() {
return achvmRt;
}
public void setAchvmRt(String achvmRt) {
this.achvmRt = achvmRt;
}
} }

View File

@ -764,6 +764,7 @@ public class InstrPrflController {
VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO = new VEInstrDetailActvtHstryVO(); VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO = new VEInstrDetailActvtHstryVO();
vEInstrDetailActvtHstryVO.setInstrDetailOrd(info.getInstrDetailOrd()); vEInstrDetailActvtHstryVO.setInstrDetailOrd(info.getInstrDetailOrd());
vEInstrDetailActvtHstryVO.setUserId(info.getUserId());
// 강사활동확인서내역 // 강사활동확인서내역
List<VEInstrDetailActvtHstryVO> vEInstrActvtHstryList = vEInstrDetailActvtHstryService.select(vEInstrDetailActvtHstryVO); List<VEInstrDetailActvtHstryVO> vEInstrActvtHstryList = vEInstrDetailActvtHstryService.select(vEInstrDetailActvtHstryVO);
model.addAttribute("vEInstrActvtHstryList", vEInstrActvtHstryList); model.addAttribute("vEInstrActvtHstryList", vEInstrActvtHstryList);

View File

@ -49,4 +49,10 @@ public interface VEPrcsAplctPrdService {
VEPrcsDetailVO findByCnclInfo(VEPrcsDetailVO vEPrcsDetailVO); VEPrcsDetailVO findByCnclInfo(VEPrcsDetailVO vEPrcsDetailVO);
void etcInsert(VEPrcsDetailVO vEPrcsDetailVO);
VEPrcsDetailVO selectEtc(String prcsAplctPrdOrd);
void updateEtc(VEPrcsDetailVO vEPrcsDetailVO);
} }

View File

@ -138,6 +138,10 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
private String imageAtchFileId; private String imageAtchFileId;
private String prpsCn;
private String chrctCn;
private String prcsAplctPrdEtcOrd;
@ -664,6 +668,24 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
public void setImageAtchFileId(String imageAtchFileId) { public void setImageAtchFileId(String imageAtchFileId) {
this.imageAtchFileId = imageAtchFileId; this.imageAtchFileId = imageAtchFileId;
} }
public String getPrpsCn() {
return prpsCn;
}
public void setPrpsCn(String prpsCn) {
this.prpsCn = prpsCn;
}
public String getChrctCn() {
return chrctCn;
}
public void setChrctCn(String chrctCn) {
this.chrctCn = chrctCn;
}
public String getPrcsAplctPrdEtcOrd() {
return prcsAplctPrdEtcOrd;
}
public void setPrcsAplctPrdEtcOrd(String prcsAplctPrdEtcOrd) {
this.prcsAplctPrdEtcOrd = prcsAplctPrdEtcOrd;
}
} }

View File

@ -108,4 +108,16 @@ public class VEPrcsAplctPrdDAO extends EgovAbstractDAO {
return (VEPrcsDetailVO) select("VEPrcsAplctPrdDAO.findByCnclInfo", paramVO); return (VEPrcsDetailVO) select("VEPrcsAplctPrdDAO.findByCnclInfo", paramVO);
} }
public void etcInsert(VEPrcsDetailVO vEPrcsDetailVO) {
insert("VEPrcsAplctPrdDAO.etcInsert", vEPrcsDetailVO);
}
public VEPrcsDetailVO selectEtc(String prcsAplctPrdOrd) {
return (VEPrcsDetailVO) select("VEPrcsAplctPrdDAO.selectEtc", prcsAplctPrdOrd);
}
public void updateEtc(VEPrcsDetailVO vEPrcsDetailVO) {
update("VEPrcsAplctPrdDAO.updateEtc", vEPrcsDetailVO);
}
} }

View File

@ -34,11 +34,6 @@ public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService {
//C //C
public void insert(VEPrcsDetailVO vEPrcsDetailVO) throws Exception { public void insert(VEPrcsDetailVO vEPrcsDetailVO) throws Exception {
String prcsAplctPrdOrd = prcsAplctPrdGnrService.getNextStringId(); // 고유ID
vEPrcsDetailVO.setPrcsAplctPrdOrd(prcsAplctPrdOrd);
//vEPrcsDetailVO.setUseYn("Y");
vEPrcsAplctPrdDAO.insert(vEPrcsDetailVO); vEPrcsAplctPrdDAO.insert(vEPrcsDetailVO);
} }
@ -112,4 +107,23 @@ public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService {
vEPrcsAplctPrdDAO.update(vEPrcsDetailVO); vEPrcsAplctPrdDAO.update(vEPrcsDetailVO);
} }
@Override
public void etcInsert(VEPrcsDetailVO vEPrcsDetailVO) {
vEPrcsAplctPrdDAO.etcInsert(vEPrcsDetailVO);
}
@Override
public VEPrcsDetailVO selectEtc(String prcsAplctPrdOrd) {
return vEPrcsAplctPrdDAO.selectEtc(prcsAplctPrdOrd);
}
@Override
public void updateEtc(VEPrcsDetailVO vEPrcsDetailVO) {
System.out.println(vEPrcsDetailVO.getPrpsCn());
System.out.println(vEPrcsDetailVO.getChrctCn());
System.out.println(vEPrcsDetailVO.getPrcsAplctPrdOrd());
vEPrcsAplctPrdDAO.updateEtc(vEPrcsDetailVO);
}
} }

View File

@ -1,4 +1,4 @@
package kcc.ve.oprtn.tngrVisitEdu.instrActvtHstryMng; package kcc.ve.oprtn.adultVisitEdu.instrActvtHstryMng;
import java.util.List; import java.util.List;
import java.util.Properties; import java.util.Properties;
@ -47,9 +47,9 @@ import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailActvtHstryVO;
*/ */
@Controller @Controller
public class InstrActvtHstryMngController { public class InstrActvtHstryAdultMngController {
private static final Logger LOGGER = LoggerFactory.getLogger(InstrActvtHstryMngController.class); private static final Logger LOGGER = LoggerFactory.getLogger(InstrActvtHstryAdultMngController.class);
//로그인 체크 util //로그인 체크 util
@Resource(name = "checkLoginUtil") @Resource(name = "checkLoginUtil")
@ -87,7 +87,7 @@ public class InstrActvtHstryMngController {
/** /**
* 강사활동확인서신청관리 목록 * 강사활동확인서신청관리 목록
*/ */
@RequestMapping("/kccadr/oprtn/tngrVisitEdu/instrActvtHstryMngList.do") @RequestMapping("/kccadr/oprtn/adultVisitEdu/instrActvtHstryMngList.do")
public String instrActvtHstryMngList( public String instrActvtHstryMngList(
@ModelAttribute("vEInstrActvtHstryVO") VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO @ModelAttribute("vEInstrActvtHstryVO") VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO
, ModelMap model , ModelMap model
@ -103,7 +103,7 @@ public class InstrActvtHstryMngController {
// return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다. // return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다.
// } // }
//로그인 처리==================================== //로그인 처리====================================
vEInstrDetailActvtHstryVO.setInstrDiv(VeConstants.LCTR_DIV_CD_10); //청소년 vEInstrDetailActvtHstryVO.setInstrDiv(VeConstants.LCTR_DIV_CD_20); //성인
//1.pageing step1 //1.pageing step1
PaginationInfo paginationInfo = this.setPagingStep1(vEInstrDetailActvtHstryVO); PaginationInfo paginationInfo = this.setPagingStep1(vEInstrDetailActvtHstryVO);
@ -125,14 +125,14 @@ public class InstrActvtHstryMngController {
return "oprtn/tngrVisitEdu/instrActvtHstryMngList"; return "oprtn/adultVisitEdu/instrActvtHstryMngList";
} }
/** /**
* 강사활동확인서신청관리 상세 * 강사활동확인서신청관리 상세
*/ */
@RequestMapping("/kccadr/oprtn/tngrVisitEdu/instrActvtHstryMngDetail.do") @RequestMapping("/kccadr/oprtn/adultVisitEdu/instrActvtHstryMngDetail.do")
public String instrActvtHstryMngDetail( public String instrActvtHstryMngDetail(
@ModelAttribute("vEInstrActvtHstryVO") VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO @ModelAttribute("vEInstrActvtHstryVO") VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO
, ModelMap model , ModelMap model
@ -164,13 +164,13 @@ public class InstrActvtHstryMngController {
return "oprtn/tngrVisitEdu/instrActvtHstryMngDetail"; return "oprtn/adultVisitEdu/instrActvtHstryMngDetail";
} }
/** /**
* 강사활동확인서신청관리 상세 * 강사활동확인서신청관리 상세
*/ */
@RequestMapping("/kccadr/oprtn/tngrVisitEdu/popup/instrCnclPopup.do") @RequestMapping("/kccadr/oprtn/adultVisitEdu/popup/instrCnclPopup.do")
public String instrCnclPopup( public String instrCnclPopup(
@ModelAttribute("vEInstrActvtHstryVO") VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO @ModelAttribute("vEInstrActvtHstryVO") VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO
, ModelMap model , ModelMap model
@ -190,12 +190,12 @@ public class InstrActvtHstryMngController {
return "oprtn/tngrVisitEdu/popup/instrCnclPopup"; return "oprtn/adultVisitEdu/popup/instrCnclPopup";
} }
@RequestMapping("/kccadr/oprtn/tngrVisitEdu/updateStateCd.do") @RequestMapping("/kccadr/oprtn/adultVisitEdu/updateStateCd.do")
public ModelAndView updateStateCd( public ModelAndView updateStateCd(
@ModelAttribute("vEInstrActvtHstryVO") VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO @ModelAttribute("vEInstrActvtHstryVO") VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO
, ModelMap model , ModelMap model

View File

@ -125,6 +125,11 @@ public class CndtnPrcsInfoMngController {
//온라인콘텐츠과정 관리 //온라인콘텐츠과정 관리
@Resource(name = "sspnIdtmtService") @Resource(name = "sspnIdtmtService")
private SspnIdtmtService sspnIdtmtService; private SspnIdtmtService sspnIdtmtService;
//과정신청기간순번
@Resource(name="prcsAplctPrdGnrService")
private EgovIdGnrService prcsAplctPrdGnrService;
/** /**
* 기반강화연수 과정 관리 목록 화면 * 기반강화연수 과정 관리 목록 화면
*/ */
@ -613,6 +618,8 @@ public class CndtnPrcsInfoMngController {
vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
vEPrcsDetailVO.setLctrDivCd(LCTR_DIV_CD); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 vEPrcsDetailVO.setLctrDivCd(LCTR_DIV_CD); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
String prcsAplctPrdOrd = prcsAplctPrdGnrService.getNextStringId(); // 고유ID
vEPrcsDetailVO.setPrcsAplctPrdOrd(prcsAplctPrdOrd);
vEPrcsAplctPrdService.insert(vEPrcsDetailVO); vEPrcsAplctPrdService.insert(vEPrcsDetailVO);

View File

@ -134,6 +134,9 @@ public class FndthPrcsAplctPrdMngController {
@Resource(name="cmmUseDAO") @Resource(name="cmmUseDAO")
private CmmUseDAO cmmUseDAO; private CmmUseDAO cmmUseDAO;
//과정신청기간순번
@Resource(name="vePrcsAplctPrdEtcGnrService")
private EgovIdGnrService vePrcsAplctPrdEtcGnrService;
/* /*
// 교육신청 서비스단 // 교육신청 서비스단
@ -467,9 +470,15 @@ public class FndthPrcsAplctPrdMngController {
vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
vEPrcsDetailVO.setPrcsAplctPrdOrd(prcsAplctPrdGnrService.getNextStringId()); // 고유ID
vEPrcsAplctPrdService.insert(vEPrcsDetailVO); vEPrcsAplctPrdService.insert(vEPrcsDetailVO);
vEPrcsDetailVO.setPrcsAplctPrdEtcOrd(vePrcsAplctPrdEtcGnrService.getNextStringId()); // ETC 고유ID
vEPrcsAplctPrdService.etcInsert(vEPrcsDetailVO);
modelAndView.addObject("result", "success"); modelAndView.addObject("result", "success");
return modelAndView; return modelAndView;
@ -574,6 +583,14 @@ public class FndthPrcsAplctPrdMngController {
//과정 조회 //과정 조회
VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO); VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO);
VEPrcsDetailVO vEPrcsEtcDetail = vEPrcsAplctPrdService.selectEtc(vEPrcsDetailVODetail.getPrcsAplctPrdOrd());
if(vEPrcsEtcDetail != null)
{
vEPrcsDetailVODetail.setPrpsCn(vEPrcsEtcDetail.getPrpsCn());
vEPrcsDetailVODetail.setChrctCn(vEPrcsEtcDetail.getChrctCn());
vEPrcsDetailVODetail.setPrcsAplctPrdEtcOrd(vEPrcsEtcDetail.getPrcsAplctPrdEtcOrd());
}
model.addAttribute("info", vEPrcsDetailVODetail); model.addAttribute("info", vEPrcsDetailVODetail);
//과정 신청자 정보 가져오기 //과정 신청자 정보 가져오기
@ -665,6 +682,13 @@ public class FndthPrcsAplctPrdMngController {
//과정 조회 //과정 조회
VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO); VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO);
VEPrcsDetailVO vEPrcsEtcDetail = vEPrcsAplctPrdService.selectEtc(vEPrcsDetailVODetail.getPrcsAplctPrdOrd());
if(vEPrcsEtcDetail != null)
{
vEPrcsDetailVODetail.setPrpsCn(vEPrcsEtcDetail.getPrpsCn());
vEPrcsDetailVODetail.setChrctCn(vEPrcsEtcDetail.getChrctCn());
vEPrcsDetailVODetail.setPrcsAplctPrdEtcOrd(vEPrcsEtcDetail.getPrcsAplctPrdEtcOrd());
}
model.addAttribute("info", vEPrcsDetailVODetail); model.addAttribute("info", vEPrcsDetailVODetail);
return "/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngMdfy"; return "/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngMdfy";
@ -708,6 +732,7 @@ public class FndthPrcsAplctPrdMngController {
vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
vEPrcsAplctPrdService.update(vEPrcsDetailVO); vEPrcsAplctPrdService.update(vEPrcsDetailVO);
vEPrcsAplctPrdService.updateEtc(vEPrcsDetailVO);
modelAndView.addObject("result", "success"); modelAndView.addObject("result", "success");

View File

@ -226,6 +226,7 @@ public class OprtnInstrTngrPrflContoller {
@Resource(name="instrHstryOrdGnrService") @Resource(name="instrHstryOrdGnrService")
private EgovIdGnrService instrHstryOrdGnrService; private EgovIdGnrService instrHstryOrdGnrService;
//배정 관리
@Resource(name = "vEAutoAsgnmMIXService") @Resource(name = "vEAutoAsgnmMIXService")
private VEAutoAsgnmMIXService vEAutoAsgnmMIXService; private VEAutoAsgnmMIXService vEAutoAsgnmMIXService;

View File

@ -40,6 +40,8 @@ import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduPnltyService;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeAcmdtVO; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeAcmdtVO;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeService; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEAutoAsgnmMIXService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEAutoAsgnmVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctUnqIsuesService; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctUnqIsuesService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
@ -176,6 +178,10 @@ public class EduAsgnmCnfrmMngTngrController {
@Resource(name = "vEPagingUtil") @Resource(name = "vEPagingUtil")
private VEPagingUtil vEPagingUtil; private VEPagingUtil vEPagingUtil;
//배정 관리
@Resource(name = "vEAutoAsgnmMIXService")
private VEAutoAsgnmMIXService vEAutoAsgnmMIXService;
/** /**
* 교육배정확정관리 목록 화면 * 교육배정확정관리 목록 화면
*/ */
@ -979,7 +985,45 @@ public class EduAsgnmCnfrmMngTngrController {
List<VELctrDetailVO> selectStngYrList = vELctrMIXService.selectStngYrList(vELctrDetailVO); List<VELctrDetailVO> selectStngYrList = vELctrMIXService.selectStngYrList(vELctrDetailVO);
model.addAttribute("selectStngYrList", selectStngYrList); model.addAttribute("selectStngYrList", selectStngYrList);
/*
System.out.println(vEEduAplctVO.getSearchKeyword());
System.out.println(vEEduAplctVO.getSearchKeyword());
System.out.println(vEEduAplctVO.getSearchKeyword());
System.out.println(vEEduAplctVO.getMngNmbrYr());
System.out.println(vEEduAplctVO.getMngNmbrYr());
if (vEEduAplctVO.getMngNmbrYr() == null) {
System.out.println("null");
}else {
System.out.println("oo null");
}
*/
VEAutoAsgnmVO vEAutoAsgnmVO = new VEAutoAsgnmVO();
vEAutoAsgnmVO.setYr(vEEduAplctVO.getMngNmbrYr());
List<VEAutoAsgnmVO> vEInstrAssiEduAplctVOList = null;
if (vEEduAplctVO.getMngNmbrYr() != null) {
if (vEEduAplctVO.getSearchKeyword() != null) {
vEAutoAsgnmVO.setInstrNm(egovCryptoUtil.encrypt(vEEduAplctVO.getSearchKeyword()));
}
vEInstrAssiEduAplctVOList = vEAutoAsgnmMIXService.selectAsgnmInfoList(vEAutoAsgnmVO);
//복호화
vEInstrAssiEduAplctVOList = egovCryptoUtil.decryptVEAutoAsgnmVOList(vEInstrAssiEduAplctVOList);
model.addAttribute("vEInstrAssiEduAplctVOList",vEInstrAssiEduAplctVOList);
model.addAttribute("vEInstrAssiEduAplctVOListCnt",vEInstrAssiEduAplctVOList.size());
}else {
model.addAttribute("vEInstrAssiEduAplctVOList",null);
model.addAttribute("vEInstrAssiEduAplctVOListCnt",0);
}
/*
//1.pageing step1 //1.pageing step1
//vEInstrDetailVODetail.setPageUnit(10); //vEInstrDetailVODetail.setPageUnit(10);
System.out.println(vELctrDetailVO.getPageUnit()); System.out.println(vELctrDetailVO.getPageUnit());
@ -1004,8 +1048,6 @@ public class EduAsgnmCnfrmMngTngrController {
//복호화 //복호화
selectAsgnmInfoT2List = egovCryptoUtil.decryptVELctrDetailVOList(selectAsgnmInfoT2List); selectAsgnmInfoT2List = egovCryptoUtil.decryptVELctrDetailVOList(selectAsgnmInfoT2List);
model.addAttribute("list",selectAsgnmInfoT2List); model.addAttribute("list",selectAsgnmInfoT2List);
@ -1013,6 +1055,8 @@ public class EduAsgnmCnfrmMngTngrController {
paginationInfo = vEPagingUtil.setPagingStep3_VELctrDetailVO(selectAsgnmInfoT2List, paginationInfo); paginationInfo = vEPagingUtil.setPagingStep3_VELctrDetailVO(selectAsgnmInfoT2List, paginationInfo);
model.addAttribute("paginationInfo", paginationInfo); model.addAttribute("paginationInfo", paginationInfo);
*/
}catch(Exception ex) { }catch(Exception ex) {
ex.printStackTrace(); ex.printStackTrace();
} }
@ -1039,6 +1083,7 @@ public class EduAsgnmCnfrmMngTngrController {
try { try {
/*
//1.pageing step1 //1.pageing step1
//vEInstrDetailVODetail.setPageUnit(10); //vEInstrDetailVODetail.setPageUnit(10);
PaginationInfo paginationInfo = new PaginationInfo(); PaginationInfo paginationInfo = new PaginationInfo();
@ -1068,53 +1113,120 @@ public class EduAsgnmCnfrmMngTngrController {
} }
System.out.println("out-list-2"); System.out.println("out-list-2");
*/
VEAutoAsgnmVO vEAutoAsgnmVO = new VEAutoAsgnmVO();
vEAutoAsgnmVO.setYr(vEEduAplctVO.getMngNmbrYr());
List<VEAutoAsgnmVO> vEInstrAssiEduAplctVOList = null;
if (vEEduAplctVO.getMngNmbrYr() != null) {
/*
* excel 다운로드에 강사명 검색은 제외
if (vEEduAplctVO.getSearchKeyword() != null) {
vEAutoAsgnmVO.setInstrNm(egovCryptoUtil.encrypt(vEEduAplctVO.getSearchKeyword()));
}
*/
vEInstrAssiEduAplctVOList = vEAutoAsgnmMIXService.selectAsgnmInfoList(vEAutoAsgnmVO);
//복호화
vEInstrAssiEduAplctVOList = egovCryptoUtil.decryptVEAutoAsgnmVOList(vEInstrAssiEduAplctVOList);
//model.addAttribute("vEInstrAssiEduAplctVOList",vEInstrAssiEduAplctVOList);
//model.addAttribute("vEInstrAssiEduAplctVOListCnt",vEInstrAssiEduAplctVOList.size());
}else {
//model.addAttribute("vEInstrAssiEduAplctVOList",null);
//model.addAttribute("vEInstrAssiEduAplctVOListCnt",0);
}
List<Object> excelData = new ArrayList<>(); List<Object> excelData = new ArrayList<>();
excelData.addAll(selectAsgnmInfoT2List); excelData.addAll(vEInstrAssiEduAplctVOList);
// 세팅값 // 세팅값
String title = "월별 강사 배정시간 목록"; String title = "월별 강사 배정시간 목록";
int[] width = { int[] width = {
/*
4000, 4000 4000, 4000
, 4000 , 4000
, 4000, 4000 , 4000, 4000
//, 4000 */
, 4000 4000
, 4000, 4000
, 4000, 4000
, 4000, 4000
, 4000, 4000
, 4000, 4000
, 4000, 4000
, 4000, 4000
, 4000, 4000
, 4000, 4000
, 4000, 4000
, 4000, 4000
, 4000, 4000 , 4000, 4000
, 4000, 4000, 4000, 4000, 4000
, 4000, 4000, 4000, 4000, 4000
, 4000, 4000 , 4000, 4000
, 4000
}; // 너비 }; // 너비
//33개 항목 //33개 항목
String[] header = { String[] header = {
/*
"NO", "기수" "NO", "기수"
, "이름" , "이름"
, "지역1", "거주지" , "지역1", "거주지"
*/
//, "요일" //, "요일"
, "배정시간" "이름"
, "1월", "2월"
, "3월", "4월", "5월", "6월", "7월" , "1월실제배정차시", "1월최대배정가능차시"
, "8월", "9월", "10월", "11월", "12월" , "2월실제배정차시", "2월최대배정가능차시"
, "누계", "달성율(%)" , "3월실제배정차시", "3월최대배정가능차시"
, "4월실제배정차시", "4월최대배정가능차시"
, "5월실제배정차시", "5월최대배정가능차시"
, "6월실제배정차시", "6월최대배정가능차시"
, "7월실제배정차시", "7월최대배정가능차시"
, "8월실제배정차시", "8월최대배정가능차시"
, "9월실제배정차시", "9월최대배정가능차시"
, "10월실제배정차시", "10월최대배정가능차시"
, "11월실제배정차시", "11월최대배정가능차시"
, "12월실제배정차시", "12월최대배정가능차시"
, "누계(실제배정차시)", "누계(최대배정가능차시)"
, "달성율(%)"
}; };
String[] order = { String[] order = {
/*
"RqstId", "ApptDiv" "RqstId", "ApptDiv"
, "InstrNm" , "InstrNm"
, "LctrAreaNm", "Rsdne" , "LctrAreaNm", "Rsdne"
//, "wCnt" //, "wCnt"
, "YrMxmmAsgnmTm" *
, "AsgnmTm1", "AsgnmTm2" */
, "AsgnmTm3", "AsgnmTm4", "AsgnmTm5", "AsgnmTm6", "AsgnmTm7" "InstrNm"
, "AsgnmTm8", "AsgnmTm9", "AsgnmTm10", "AsgnmTm11", "AsgnmTm12"
, "MntSum", "AchvPer" , "M01Isc", "M01Tm"
, "M02Isc", "M02Tm"
, "M03Isc", "M03Tm"
, "M04Isc", "M04Tm"
, "M05Isc", "M05Tm"
, "M06Isc", "M06Tm"
, "M07Isc", "M07Tm"
, "M08Isc", "M08Tm"
, "M09Isc", "M09Tm"
, "M10Isc", "M10Tm"
, "M11Isc", "M11Tm"
, "M12Isc", "M12Tm"
, "MIscSum", "MTmSum"
, "AchvmRt"
}; };
// 호출 // 호출

View File

@ -0,0 +1,311 @@
package kcc.ve.oprtn.tngrVisitEdu.instrActvtHstryMng;
import java.util.List;
import java.util.Properties;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.LoginVO;
import kcc.com.cmm.service.EgovCmmUseService;
import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.service.EgovFileMngUtil;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.cmm.VeConstants;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailActvtHstryService;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailActvtHstryVO;
/**
* 교육일정관리(관리자-청소년찾아가는저작권교육)
* 교육일정관리에 관한 controller 클래스를 정의한다.
* @author 조용준
* @since 2021.12.16
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2021.12.16 조용준 최초 생성
*
* </pre>
*/
@Controller
public class InstrActvtHstryTngrMngController {
private static final Logger LOGGER = LoggerFactory.getLogger(InstrActvtHstryTngrMngController.class);
//로그인 체크 util
@Resource(name = "checkLoginUtil")
private CheckLoginUtil checkLoginUtil;
// eGov 공통코드
@Resource(name = "EgovCmmUseService")
private EgovCmmUseService cmmUseService;
@Resource(name = "EgovFileMngService")
private EgovFileMngService fileService;
// global 프로퍼티
@Resource(name="globalSettings")
protected Properties propertiesService;
//첨부파일 경로, realPath 설정
@Resource(name="EgovFileMngUtil")
private EgovFileMngUtil fileUtil;
// 첨부파일 정보
@Resource(name="EgovFileMngService")
private EgovFileMngService fileMngService;
// 첨부파일 정보
@Resource(name="vEInstrDetailActvtHstryService")
private VEInstrDetailActvtHstryService vEInstrDetailActvtHstryService;
//암복호화 유틸
@Resource(name = "egovCryptoUtil")
EgovCryptoUtil egovCryptoUtil;
/**
* @methodName : instrActvtHstryMngList
* @author : 이호영
* @date : 2023.11.16
* @description : 강사활동확인서신청관리 목록
* @param vEInstrDetailActvtHstryVO
* @param model
* @param request
* @return
* @throws Exception
*/
@RequestMapping("/kccadr/oprtn/tngrVisitEdu/instrActvtHstryMngList.do")
public String instrActvtHstryMngList(
@ModelAttribute("vEInstrActvtHstryVO") VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
//로그인 처리====================================
//로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
// if (loginVO == null || ssoLoginVO == null) {
// return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다.
// }
//로그인 처리====================================
vEInstrDetailActvtHstryVO.setInstrDiv(VeConstants.LCTR_DIV_CD_10); //청소년
//1.pageing step1
PaginationInfo paginationInfo = this.setPagingStep1(vEInstrDetailActvtHstryVO);
//2. pageing step2
vEInstrDetailActvtHstryVO = this.setPagingStep2(vEInstrDetailActvtHstryVO, paginationInfo);
vEInstrDetailActvtHstryVO.setSearchKeyword(egovCryptoUtil.encrypt(vEInstrDetailActvtHstryVO.getSearchKeyword()));
List<VEInstrDetailActvtHstryVO> vEInstrDetailActvtHstryVOList = vEInstrDetailActvtHstryService.selectPagingList(vEInstrDetailActvtHstryVO);
vEInstrDetailActvtHstryVOList.stream().forEach(t-> t.setInstrNm(egovCryptoUtil.decrypt(t.getInstrNm())));
//3.pageing step3
paginationInfo = this.setPagingStep3(vEInstrDetailActvtHstryVOList, paginationInfo);
model.addAttribute("paginationInfo", paginationInfo);
// 검색어 복호화
vEInstrDetailActvtHstryVO.setSearchKeyword(egovCryptoUtil.decrypt(vEInstrDetailActvtHstryVO.getSearchKeyword()));
//대상 리스트, 페이징 정보 전달
model.addAttribute("list", vEInstrDetailActvtHstryVOList);
return "oprtn/tngrVisitEdu/instrActvtHstryMngList";
}
/**
* @methodName : instrActvtHstryMngDetail
* @author : 이호영
* @date : 2023.11.16
* @description : 강사활동확인서신청관리 상세
* @param vEInstrDetailActvtHstryVO
* @param model
* @param request
* @return
* @throws Exception
*/
@RequestMapping("/kccadr/oprtn/tngrVisitEdu/instrActvtHstryMngDetail.do")
public String instrActvtHstryMngDetail(
@ModelAttribute("vEInstrActvtHstryVO") VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
//로그인 처리====================================
//로그인 정보 가져오기
// String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
// if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo;
//로그인 처리====================================
//로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
// if (loginVO == null || ssoLoginVO == null) {
// return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다.
// }
// vEInstrDetailActvtHstryVO.setInstrDiv(VeConstants.LCTR_DIV_CD_20); //청소년
VEInstrDetailActvtHstryVO vEInstrActvtHstryVO = vEInstrDetailActvtHstryService.findById(vEInstrDetailActvtHstryVO);
vEInstrActvtHstryVO.setInstrNm(egovCryptoUtil.decrypt(vEInstrActvtHstryVO.getInstrNm()));
vEInstrActvtHstryVO.setPhone(egovCryptoUtil.decrypt(vEInstrActvtHstryVO.getPhone()));
//대상 리스트, 페이징 정보 전달
model.addAttribute("info", vEInstrActvtHstryVO);
return "oprtn/tngrVisitEdu/instrActvtHstryMngDetail";
}
/**
* @methodName : instrCnclPopup
* @author : 이호영
* @date : 2023.11.16
* @description : 강사활동확인서신청관리 상세
* @param vEInstrDetailActvtHstryVO
* @param model
* @param request
* @return
* @throws Exception
*/
@RequestMapping("/kccadr/oprtn/tngrVisitEdu/popup/instrCnclPopup.do")
public String instrCnclPopup(
@ModelAttribute("vEInstrActvtHstryVO") VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
//로그인 처리====================================
//로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
// if (loginVO == null || ssoLoginVO == null) {
// return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다.
// }
//대상 리스트, 페이징 정보 전달
model.addAttribute("info", vEInstrDetailActvtHstryVO);
return "oprtn/tngrVisitEdu/popup/instrCnclPopup";
}
@RequestMapping("/kccadr/oprtn/tngrVisitEdu/updateStateCd.do")
public ModelAndView updateStateCd(
@ModelAttribute("vEInstrActvtHstryVO") VEInstrDetailActvtHstryVO vEInstrDetailActvtHstryVO
, ModelMap model
//, RedirectAttributes redirectAttributes
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "loginFail");
return modelAndView;
}
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
vEInstrDetailActvtHstryVO.setLastUpdusrId(loginVO.getUniqId());
vEInstrDetailActvtHstryService.updateStateCd(vEInstrDetailActvtHstryVO);
modelAndView.addObject("result", "success");
return modelAndView;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//
// private function
//
//
//페이징을 위한 처리 step1 - 페이징 기본 정보 설정
private PaginationInfo setPagingStep1(
VEInstrDetailActvtHstryVO p_vEEduAplctVO
)throws Exception{
// pageing step1
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(p_vEEduAplctVO.getPageIndex());
paginationInfo.setRecordCountPerPage(p_vEEduAplctVO.getPageUnit());
paginationInfo.setPageSize(p_vEEduAplctVO.getPageSize());
return paginationInfo;
}
//페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 검색 조건 초기화
private VEInstrDetailActvtHstryVO setPagingStep2(
VEInstrDetailActvtHstryVO p_vEEduAplctVO
, PaginationInfo p_paginationInfo
)throws Exception{
// pageing step2
p_vEEduAplctVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex());
p_vEEduAplctVO.setLastIndex(p_paginationInfo.getLastRecordIndex());
p_vEEduAplctVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage());
if("".equals(p_vEEduAplctVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
p_vEEduAplctVO.setSearchSortCnd("prcs_ord");
p_vEEduAplctVO.setSearchSortOrd("desc");
}
return p_vEEduAplctVO;
}
//페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기
private PaginationInfo setPagingStep3(
List<VEInstrDetailActvtHstryVO> p_vEEduAplctVOList
, PaginationInfo p_paginationInfo
)throws Exception{
// pageing step3
int totCnt = 0;
if(p_vEEduAplctVOList.size() > 0) totCnt = p_vEEduAplctVOList.get(0).getTotCnt();
p_paginationInfo.setTotalRecordCount(totCnt);
return p_paginationInfo;
}
}

View File

@ -2997,4 +2997,21 @@
<property name="cipers" value="4" /><!-- 일련번호(순번) 전체 길이(prefix길이 미포함) --> <property name="cipers" value="4" /><!-- 일련번호(순번) 전체 길이(prefix길이 미포함) -->
<property name="fillChar" value="0" /> <property name="fillChar" value="0" />
</bean> </bean>
<!-- 과정신청기간기타 prcsAplctPrd_ -->
<bean name="vePrcsAplctPrdEtcGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy">
<property name="dataSource" ref="dataSource" />
<property name="strategy" ref="vePrcsAplctPrdEtcStrategy" /><!-- strategy 값 수정 -->
<property name="blockSize" value="10"/>
<property name="table" value="IDS"/>
<property name="tableName" value="PRCS_APLCT_ETC_ORD"/><!-- tableName 값 수정 -->
</bean>
<!-- 과정신청기간 ID Generation Strategy Config -->
<bean name="vePrcsAplctPrdEtcStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"><!-- bean name 값에 strategy 값 입력 -->
<property name="prefix" value="prcsAplctEtc_" /><!-- prefix 값 수정 -->
<property name="cipers" value="7" /><!-- 일련번호(순번) 전체 길이(prefix길이 미포함) -->
<property name="fillChar" value="0" />
</bean>
</beans> </beans>

View File

@ -702,6 +702,8 @@
SELECT aa.yr SELECT aa.yr
, aa.user_id AS userId , aa.user_id AS userId
, MAX(cc.instr_nm) AS instrNm
, NVL(SUM(CASE WHEN substring(bb.yrmnt,6,7)='01' THEN bb.instrSumChasi END),0) AS m01Isc , NVL(SUM(CASE WHEN substring(bb.yrmnt,6,7)='01' THEN bb.instrSumChasi END),0) AS m01Isc
, NVL(SUM(CASE WHEN substring(bb.yrmnt,6,7)='02' THEN bb.instrSumChasi END),0) AS m02Isc , NVL(SUM(CASE WHEN substring(bb.yrmnt,6,7)='02' THEN bb.instrSumChasi END),0) AS m02Isc
@ -755,6 +757,35 @@
+ NVL(aa.m10_tm,0) + NVL(aa.m10_tm,0)
+ NVL(aa.m11_tm,0) + NVL(aa.m11_tm,0)
+ NVL(aa.m12_tm,0) AS mTmSum + NVL(aa.m12_tm,0) AS mTmSum
, CEIL((NVL(SUM(CASE WHEN substring(bb.yrmnt,6,7)='01' THEN bb.instrSumChasi END),0)
+ NVL(SUM(CASE WHEN substring(bb.yrmnt,6,7)='02' THEN bb.instrSumChasi END),0)
+ NVL(SUM(CASE WHEN substring(bb.yrmnt,6,7)='03' THEN bb.instrSumChasi END),0)
+ NVL(SUM(CASE WHEN substring(bb.yrmnt,6,7)='04' THEN bb.instrSumChasi END),0)
+ NVL(SUM(CASE WHEN substring(bb.yrmnt,6,7)='05' THEN bb.instrSumChasi END),0)
+ NVL(SUM(CASE WHEN substring(bb.yrmnt,6,7)='06' THEN bb.instrSumChasi END),0)
+ NVL(SUM(CASE WHEN substring(bb.yrmnt,6,7)='07' THEN bb.instrSumChasi END),0)
+ NVL(SUM(CASE WHEN substring(bb.yrmnt,6,7)='08' THEN bb.instrSumChasi END),0)
+ NVL(SUM(CASE WHEN substring(bb.yrmnt,6,7)='09' THEN bb.instrSumChasi END),0)
+ NVL(SUM(CASE WHEN substring(bb.yrmnt,6,7)='10' THEN bb.instrSumChasi END),0)
+ NVL(SUM(CASE WHEN substring(bb.yrmnt,6,7)='11' THEN bb.instrSumChasi END),0)
+ NVL(SUM(CASE WHEN substring(bb.yrmnt,6,7)='12' THEN bb.instrSumChasi END),0))*100
/
( NVL(aa.m01_tm,0)
+ NVL(aa.m02_tm,0)
+ NVL(aa.m03_tm,0)
+ NVL(aa.m04_tm,0)
+ NVL(aa.m05_tm,0)
+ NVL(aa.m06_tm,0)
+ NVL(aa.m07_tm,0)
+ NVL(aa.m08_tm,0)
+ NVL(aa.m09_tm,0)
+ NVL(aa.m10_tm,0)
+ NVL(aa.m11_tm,0)
+ NVL(aa.m12_tm,0)
))
AS achvmRt
FROM vea_instr_indvd_mnt_tm aa FROM vea_instr_indvd_mnt_tm aa
LEFT OUTER JOIN ( LEFT OUTER JOIN (
@ -783,7 +814,23 @@
aa.user_id=bb.user_id aa.user_id=bb.user_id
AND aa.yr=substring(bb.yrMnt,0,4) AND aa.yr=substring(bb.yrMnt,0,4)
) )
WHERE aa.user_id=#userId# , ve_instr_detail cc
WHERE 1=1
AND aa.user_id=cc.user_id
AND cc.use_yn='Y'
<isNotEmpty property="userId">
AND aa.user_id=#userId#
</isNotEmpty>
<isNotEmpty property="yr">
AND aa.yr=#yr#
</isNotEmpty>
<isNotEmpty property="instrNm">
AND cc.instr_nm=#instrNm#
</isNotEmpty>
GROUP BY aa.yr GROUP BY aa.yr
, aa.user_id , aa.user_id
@ -801,5 +848,6 @@
, aa.m12_tm , aa.m12_tm
ORDER BY aa.yr ORDER BY aa.yr
, aa.user_id
</select> </select>
</sqlMap> </sqlMap>

View File

@ -14,6 +14,7 @@
<!-- 저장용 공통 컬럼 명 --> <!-- 저장용 공통 컬럼 명 -->
<sql id="VEInstrDetailActvtHstryDAO.column_name"> <sql id="VEInstrDetailActvtHstryDAO.column_name">
instr_detail_actvt_hstry_ord instr_detail_actvt_hstry_ord
, user_id
, instr_detail_ord , instr_detail_ord
, aplct_pnttm , aplct_pnttm
, state_cd , state_cd
@ -30,7 +31,8 @@
<!-- 조회용 공통 컬럼 명 --> <!-- 조회용 공통 컬럼 명 -->
<sql id="VEInstrDetailActvtHstryDAO.select_column_name"> <sql id="VEInstrDetailActvtHstryDAO.select_column_name">
a.instr_detail_actvt_hstry_ord as instrDetailActvtHstryOrd a.instr_detail_actvt_hstry_ord as instrDetailActvtHstryOrd
, a.instr_detail_ord as instrDetailOrd , a.user_id as userId
, a.instr_detail_ord as instrDetailOrd
, TO_CHAR(a.aplct_pnttm,'YYYY-MM-DD') AS aplctPnttm , TO_CHAR(a.aplct_pnttm,'YYYY-MM-DD') AS aplctPnttm
, a.state_cd as stateCd , a.state_cd as stateCd
, TO_CHAR(a.state_pnttm,'YYYY-MM-DD') AS statePnttm , TO_CHAR(a.state_pnttm,'YYYY-MM-DD') AS statePnttm
@ -48,6 +50,7 @@
<include refid="VEInstrDetailActvtHstryDAO.column_name"/> <include refid="VEInstrDetailActvtHstryDAO.column_name"/>
)VALUES( )VALUES(
#instrDetailActvtHstryOrd# #instrDetailActvtHstryOrd#
, #userId#
, #instrDetailOrd# , #instrDetailOrd#
, SYSDATE , SYSDATE
, #stateCd# , #stateCd#
@ -68,7 +71,7 @@
FROM FROM
<include refid="VEInstrDetailActvtHstryDAO.table_name"/> a <include refid="VEInstrDetailActvtHstryDAO.table_name"/> a
WHERE WHERE
INSTR_DETAIL_ORD = #instrDetailOrd# user_id = #userId#
</select> </select>
@ -81,7 +84,8 @@
FROM FROM
<include refid="VEInstrDetailActvtHstryDAO.table_name"/> a <include refid="VEInstrDetailActvtHstryDAO.table_name"/> a
JOIN ve_instr_detail b JOIN ve_instr_detail b
ON a.INSTR_DETAIL_ORD = b.INSTR_DETAIL_ORD ON a.user_id = b.user_id
AND a.instr_detail_ord = b.instr_detail_ord
AND b.INSTR_DIV = #instrDiv# AND b.INSTR_DIV = #instrDiv#
WHERE WHERE
1=1 1=1
@ -116,7 +120,8 @@
FROM FROM
<include refid="VEInstrDetailActvtHstryDAO.table_name"/> a <include refid="VEInstrDetailActvtHstryDAO.table_name"/> a
JOIN ve_instr_detail b JOIN ve_instr_detail b
ON a.INSTR_DETAIL_ORD = b.INSTR_DETAIL_ORD ON a.user_id = b.user_id
AND a.instr_detail_ord = b.instr_detail_ord
WHERE WHERE
a.instr_detail_actvt_hstry_ord = #instrDetailActvtHstryOrd# a.instr_detail_actvt_hstry_ord = #instrDetailActvtHstryOrd#

View File

@ -113,6 +113,48 @@
) )
</insert> </insert>
<!-- -->
<insert id="VEPrcsAplctPrdDAO.etcInsert" parameterClass="VEPrcsDetailVO">
/* VEPrcsAplctPrdDAO.etcInsert */
INSERT INTO VE_PRCS_APLCT_PRD_ETC(
PRCS_APLCT_PRD_ETC_ORD
, PRCS_APLCT_PRD_ORD
, PRPS_CN
, CHRCT_CN
)VALUES(
#prcsAplctPrdEtcOrd#
, #prcsAplctPrdOrd#
, #prpsCn#
, #chrctCn#
)
</insert>
<!-- -->
<select id="VEPrcsAplctPrdDAO.selectEtc" parameterClass="String" resultClass="VEPrcsDetailVO">
/* VEPrcsAplctPrdDAO.selectEtc */
SELECT
PRCS_APLCT_PRD_ETC_ORD as prcsAplctPrdEtcOrd
, PRPS_CN as prpsCn
, CHRCT_CN as chrctCn
FROM
VE_PRCS_APLCT_PRD_ETC
WHERE PRCS_APLCT_PRD_ORD = #prcsAplctPrdOrd#
</select>
<!-- -->
<select id="VEPrcsAplctPrdDAO.updateEtc" parameterClass="VEPrcsDetailVO">
/* VEPrcsAplctPrdDAO.updateEtc */
UPDATE
VE_PRCS_APLCT_PRD_ETC
SET
PRPS_CN = #prpsCn# ,
, CHRCT_CN = #chrctCn#
WHERE PRCS_APLCT_PRD_ORD = #prcsAplctPrdOrd#
</select>
<!-- 강사 정보 R --> <!-- 강사 정보 R -->
<select id="VEPrcsAplctPrdDAO.selectDetail" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO"> <select id="VEPrcsAplctPrdDAO.selectDetail" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
/* VEPrcsAplctPrdDAO.selectDetail */ /* VEPrcsAplctPrdDAO.selectDetail */

View File

@ -0,0 +1,241 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%
/**
* @Class Name : fndthEduPrcsMngDetail.jsp
* @Description : 기반강화연수 상세화면
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.12.16 조용준 최초 생성
* @author 조용주
* @since 2021.12.16
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<title>교육과정관리</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="<c:url value='/js/web/popup.js'/>" ></script>
<script type="text/javascript">
function fncGoList(){
var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/oprtn/adultVisitEdu/instrActvtHstryMngList.do'/>";
listForm.submit();
}
function fncMdfy(){
var detailForm = document.detailForm ;
detailForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngMdfy.do'/>";
detailForm.submit();
}
function fnCnclPopup() {
var form = document.detailForm;
form.action = "<c:url value='/kccadr/oprtn/adultVisitEdu/popup/instrCnclPopup.do'/>";
openPopupAndSubmitForm('instrCnclPopup', 'detailForm', 700, 380);
}
function fn_updateCnclUpdate(stateCd) {
var form = document.updateForm ;
form.stateCd.value = stateCd;
var data1 = new FormData(document.getElementById("updateForm"));
if(confirm("승인처리 하시겠습니까?")){
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/kccadr/oprtn/adultVisitEdu/updateStateCd.do",
data: data1,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == 'success'){
alert("처리 되었습니다.");
window.location.reload();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
/* 첨부파일 다운로드 */
function fn_egov_downFile(atchFileId, fileSn){//atchFileId -> 파일 Id, fileSn -> 파일 순번
window.open("<c:url value='/cmm/fms/FileDown.do?atchFileId="+atchFileId+"&fileSn="+fileSn+"'/>");
}
</script>
</head>
<body>
<form id="updateForm" name="updateForm">
<input type="hidden" name="instrDetailActvtHstryOrd" id="instrDetailActvtHstryOrd" value="${info.instrDetailActvtHstryOrd }"/>
<input type="hidden" name="stateCd" id="stateCd" value=""/>
</form>
<form:form id="detailForm" name="detailForm" commandName="vEPrcsDetailVO" method="post">
<input type="hidden" name="instrDetailActvtHstryOrd" id="instrDetailActvtHstryOrd" value="${info.instrDetailActvtHstryOrd }"/>
<input type="hidden" name="userId" id="userId" value="<c:out value='${info.userId}'/>" />
<!-- cont -->
<div class="cont_wrap">
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>강사활동확인서신청관리 상세</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>성인 찾아가는 저작권 교육</p>
</li>
<li><span class="cur_nav">강사활동확인서신청관리</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<!-- list_상세 -->
<div class="tb_tit01">
<p>교육과정관리</p>
</div>
<div class="tb_type02">
<table>
<colgroup>
<col style="width: 210px;">
<col style="width: auto;">
<col style="width: 210px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">강사명</th>
<td>
<c:out value='${info.instrNm}' />
</td>
</tr>
<tr>
<th scope="row">신청일자</th>
<td>
<c:out value='${info.aplctPnttm }' />
</td>
</tr>
<tr>
<th scope="row">상태</th>
<td>
<ve:code codeId="VEA011" code="${info.stateCd}"/>
</td>
</tr>
<c:if test="${info.stateCd eq 20 }">
<tr>
<th scope="row">반려사유</th>
<td>
<c:out value="${info.cmpnnCn }" />
</td>
</tr>
</c:if>
<tr>
<th scope="row">연락처</th>
<td>
<c:out value='${info.phone }' />
</td>
</tr>
<tr>
<th scope="row">주소</th>
<td>
(<c:out value='${info.post }' />)
<c:out value='${info.addr}'/> <c:out value='${info.addrDetail}'/>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<!-- btn_wrap -->
<div class="btn_wrap btn_layout01">
<div class="btn_left">
<button type="button" class="btn_type08" onclick="fn_egov_downFile('<c:out value="${info.aplctAtchFileId}" />', '0')">신청서</button>
<button type="button" class="btn_type08" onclick="fncCmpltCrtfc(); return false;">미리보기</button>
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btn_type05" onclick="fnCnclPopup()">반려</button>
<button type="button" class="btn_type04" onclick="fn_updateCnclUpdate('30');"; return false;">승인</button>
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
</div>
</div>
</div>
</div>
</div>
</form:form>
<!-- //cont -->
<script src="http://119.193.215.98:8093/ReportingServer/html5/js/crownix-viewer.min.js"></script>
<link rel="stylesheet" type="text/css" href="http://119.193.215.98:8093/ReportingServer/html5/css/crownix-viewer.min.css">
<script>
/*
* 오버레이 방식
*/
//function fncCmpltCrtfc(p_prcsAplctPrdOrd, p_eduAplctOrd){
function fncCmpltCrtfc(){
var v_userId = $('#userId').val();
//alert('/rf [http://192.168.0.59:3080/offedu/ve/aplct/adultVisitEdu/eduAplct/instrDetailListAjax.do?p_searchQlfctEndYn="'+v_searchQlfctEndYn+'"&p_searcDivCd="'+v_searcDivCd+'"&p_searchKeyword="'+v_searchKeyword+'"]');
var viewer = new m2soft.crownix.Viewer('http://119.193.215.98:8093/ReportingServer/service');
//viewer.openFile('cmplt_crtfc_20231030.mrd', '/rfn [jsonsample_red_2.json]');
//viewer.openFile('cmplt_crtfc_20231030.mrd','/rexport [5]');
//viewer.openFile('sample.mrd','/rfn [sample.txt]');
viewer.hideToolbarItem(["save"]);
viewer.showToolbarItem(["print_pdf"]);
//viewer.openFile('cmplt_crtfc_20231030.mrd');
//viewer.openFile('cmplt_crtfc_20231030.mrd', '/rfn [cmplt_crtfc_20231030.json]');
//viewer.openFile('cmplt_crtfc_20231030.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctCmpltCrtfcAjax.do?prcsAplctPrdOrd='+p_prcsAplctPrdOrd+'&eduAplctOrd='+p_eduAplctOrd+']');
//viewer.openFile('sample.mrd');p_prcsAplctPrdOrd, p_eduAplctOrd
//viewer.openFile('adult_instr_20231102.mrd', '/rfn [adult_instr_20231102.json]');
//viewer.openFile('adult_instr_20231102.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/adultVisitEdu/eduAplct/eduAplctDetailAjax.do?p_instrId='+('#p_instrId').val()+']');
//viewer.openFile('adult_instrs_20231107.mrd', '/rf [http://192.168.0.59:3080/offedu/ve/aplct/adultVisitEdu/eduAplct/instrDetailListAjax.do?p_searchQlfctEndYn="'+v_searchQlfctEndYn+'"&p_searcDivCd="'+v_searcDivCd+'"&p_searchKeyword="'+v_searchKeyword+'"]');
//viewer.openFile('instr_activity_20231108.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/tngrVisitEdu/eduAplct/instrActivityAjax.do?p_userId='+v_userId+']');
viewer.openFile('instr_activity_20231108.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/tngrVisitEdu/eduAplct/instrActivityAjax.do?p_userId='+v_userId+']');
/*
var viewer = new m2soft.crownix.Viewer('http://192.168.0.176:8093/ReportingServer/service',
'crownix-viewer');
viewer.openFile('cmplt_crtfc_20231030.mrd');
*/
}
/*
window.onload = function(){
var viewer = new m2soft.crownix.Viewer('http://192.168.0.176:8093/ReportingServer/service');
viewer.openFile('json_subject.mrd', '/rfn [jsonsample_red_2.json]');
};
*/
</script>
</body>
</html>

View File

@ -0,0 +1,225 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<un:useConstants var="KccadrStatus" className="kcc.kccadr.cmm.KccadrConstants" />
<%
/**
* @Class Name : eduInstrFeeMngList.jsp
* @Description : 강사료 확정 관리 > 강사료 확정 목록
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2022.12.7 안주영 최초 생성
* @author 안주영
* @since 2022.2.7
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style>
input:read-only{
background-color: #ededed;
}
</style>
<script type="text/javascript">
$(document).ready(function(){
});
function press(event) {
if (event.keyCode==13) {
fncGoList();
}
}
function fncGoList(){
linkPage(1);
}
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.searchCondition.value = $('#searchCondition').val();
listForm.searchKeyword.value = $('#searchKeyword').val();
listForm.action = "<c:url value='/kccadr/oprtn/adultVisitEdu/instrActvtHstryMngList.do'/>";
listForm.submit();
}
function fn_goDetail(instrDetailActvtHstryOrd){
var form = document.detailForm;
form.instrDetailActvtHstryOrd.value = instrDetailActvtHstryOrd ;
form.action = "<c:url value='/kccadr/oprtn/adultVisitEdu/instrActvtHstryMngDetail.do'/>";
form.submit();
}
</script>
<title>강사활동확인서신청관리</title>
</head>
<body>
<form id="detailForm" name="detailForm" method="post">
<input type="hidden" name="instrDetailActvtHstryOrd" id="instrDetailActvtHstryOrd" value=""/>
</form>
<form id="listForm" name="listForm" method="post">
<input type="hidden" name="pageIndex" value="<c:out value='${vEInstrActvtHstryVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEInstrActvtHstryVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEInstrActvtHstryVO.searchSortOrd}" />" />
<div class="cont_wrap">
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>강사활동확인서신청관리 목록</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>성인 찾아가는 저작권 교육</p>
</li>
<li><span class="cur_nav">강사활동확인서신청관리</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<!-- list_top -->
<div class="list_top">
<div class="list_top_1">
<div class="util_left">
<p>구분</p>
</div>
<div class="util_right">
<ve:select codeId="VEA011" name="searchSelStatus" id="searchSelStatus" css="class='sel_type1'"
selectedValue="${vEInstrActvtHstryVO.searchSelStatus}" defaultValue=''
defaultText='전체'
/>
</div>
</div>
<div class="list_top_2">
<div class="util_left">
<p>신청일자</p>
</div>
<div class="util_right">
<div class="calendar_wrap">
<input type="text" class="calendar" title="시작일 선택" id="searchStartDt" name="searchStartDt" value="<c:out value='${vEInstrActvtHstryVO.searchStartDt}'/>">
</div>
~
<div class="calendar_wrap">
<input type="text" class="calendar" title="종료일 선택" id="searchEndDt" name="searchEndDt" value="<c:out value='${vEInstrActvtHstryVO.searchEndDt}'/>">
</div>
</div>
</div>
<div class="list_top_2">
<div class="util_left">
<p>강사명</p>
</div>
<div class="util_right">
<input type="text" id=searchKeyword name="searchKeyword" class="search_input" placeholder="검색어를 입력하세요" value="<c:out value='${vEInstrActvtHstryVO.searchKeyword}'/>" onkeyDown="press(event);">
<button class="btn_type08" onclick="fncGoList(); return false;">검색</button>
<button class="btn_type03" onclick="fncReset(this); return false;">초기화</button>
</div>
</div>
</div>
<!-- //list_top -->
<!-- list util -->
<div class="list_util">
<p class="list_util_p">총 건수 : <span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p>
<div>
<select class="sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px">
<option value='10' <c:if test="${vEInstrActvtHstryVO.pageUnit == '10' or vEInstrActvtHstryVO.pageUnit == ''}">selected</c:if>>10줄</option>
<option value='20' <c:if test="${vEInstrActvtHstryVO.pageUnit == '20'}">selected</c:if>>20줄</option>
<option value='30' <c:if test="${vEInstrActvtHstryVO.pageUnit == '30'}">selected</c:if>>30줄</option>
<option value='100' <c:if test="${vEInstrActvtHstryVO.pageUnit == '100'}">selected</c:if>>100줄</option>
</select>
</div>
</div>
<!-- list -->
<div class="tb_type01">
<table>
<colgroup>
<col style="width: 5%;">
<%-- <col style="width: 10%;"> --%>
<%-- <col style="width: 10%;"> --%>
<%-- <col style="width: 15%;"> --%>
</colgroup>
<thead>
<tr>
<th>번호</th>
<th>강사명</th>
<th>신청일</th>
<th>처리일</th>
<th>발급상태</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<tr onclick="fn_goDetail('${list.instrDetailActvtHstryOrd}')" style="cursor:pointer;">
<td>
<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
</td>
<td>
${list.instrNm }
</td>
<td>
${list.aplctPnttm }
</td>
<td>
<c:choose>
<c:when test="${list.stateCd eq 10 }">
-
</c:when>
<c:otherwise>
<c:out value="${list.statePnttm }" />
</c:otherwise>
</c:choose>
</td>
<td>
<ve:code codeId="VEA011" code="${list.stateCd}"/>
</td>
</tr>
</c:forEach>
<c:if test="${empty list}">
<tr><td colspan="5"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<!-- //list -->
<!-- page -->
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
<!-- //page -->
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
</div>
<!-- //cont -->
</form>
</body>
</html>

View File

@ -0,0 +1,108 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<html lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<%-- <script type="text/javascript" src="<c:url value='/js/ve/tmapJS.js'/>"></script> --%>
<script type="text/javascript">
</script>
<title>강사배치 팝업</title>
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
});
function fncPopClose(){
self.close();
}
function fn_updateCnclUpdate(stateCd) {
var form = document.updateForm ;
form.stateCd.value = stateCd;
var data1 = new FormData(document.getElementById("updateForm"));
if(confirm("반려처리 하시겠습니까?")){
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/kccadr/oprtn/adultVisitEdu/updateStateCd.do",
data: data1,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == 'success'){
alert("처리 되었습니다.");
window.opener.location.reload();
fncPopClose();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
</script>
</head>
<body>
<div class="area_popup supm_popup">
<div class="cont_popup">
<form id="updateForm" name="updateForm" method="post">
<input type="hidden" name="instrDetailActvtHstryOrd" id="instrDetailActvtHstryOrd" value="${info.instrDetailActvtHstryOrd }"/>
<input type="hidden" name="stateCd" id="stateCd" value=""/>
<div class="area_popup">
<div class="cont_popup">
<div class="pop_tb_tit01">
<p>강사활동확인서 반려</p>
</div>
<div>
<table class="pop_tb_type02">
<colgroup>
<col style="width: 9%;">
<col style="width: 15%;">
</colgroup>
<tbody>
<tr>
<th scope="row"><p>반려사유</p></th>
<td>
<textarea id="cmpnnCn" name="cmpnnCn"></textarea>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //page -->
<div class="btn_wrap_pop btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btn_type02" onclick="fn_updateCnclUpdate('20');">반려</button>
<button type="button" class="btn_type05" onclick="fncPopClose();">취소</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
</form>
</div>
</div>
</body>
</html>

View File

@ -305,11 +305,23 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<th scope="row">상세교육과정</th> <th scope="row">상세교육내용</th>
<td> <td>
<c:out value="${info.prcsCn }" /> <c:out value="${info.prcsCn }" />
</td> </td>
</tr> </tr>
<tr>
<th scope="row">목적</th>
<td>
<c:out value="${info.prpsCn }" />
</td>
</tr>
<tr>
<th scope="row">특징</th>
<td>
<c:out value="${info.chrctCn }" />
</td>
</tr>
<tr> <tr>
<th scope="row">정원</th> <th scope="row">정원</th>
<td class="addPro_wrap"> <td class="addPro_wrap">

View File

@ -267,12 +267,23 @@
</tr> </tr>
<tr> <tr>
<th scope="row">상세교육과정</th> <th scope="row">상세교육내용</th>
<td> <td>
<textarea name="prcsCn" id="prcsCn" class="memo" disabled="disabled" class="inputLight" style="height: 200px;"><c:out value="${info.prcsCn }" /></textarea> <textarea name="prcsCn" id="prcsCn" class="memo" disabled="disabled" class="inputLight" style="height: 200px;"><c:out value="${info.prcsCn }" /></textarea>
</td> </td>
</tr> </tr>
<tr>
<th scope="row">목적</th>
<td>
<textarea name="prpsCn" id="prpsCn" class="memo" class="inputLight" style="height: 100px;"><c:out value="${info.prpsCn }" /></textarea>
</td>
</tr>
<tr>
<th scope="row">특징</th>
<td>
<textarea name="chrctCn" id="chrctCn" class="memo" class="inputLight" style="height: 100px;"><c:out value="${info.chrctCn }" /></textarea>
</td>
</tr>
<tr> <tr>
<th scope="row">정원</th> <th scope="row">정원</th>
<td class="addPro_wrap"> <td class="addPro_wrap">

View File

@ -267,11 +267,23 @@
</tr> </tr>
<tr> <tr>
<th scope="row">상세교육과정</th> <th scope="row">상세교육내용</th>
<td> <td>
<textarea name="prcsCn" id="prcsCn" class="memo" disabled="disabled" class="inputLight" style="height: 200px;"><c:out value="${prcsCn }" /></textarea> <textarea name="prcsCn" id="prcsCn" class="memo" disabled="disabled" class="inputLight" style="height: 200px;"><c:out value="${prcsCn }" /></textarea>
</td> </td>
</tr> </tr>
<tr>
<th scope="row">목적</th>
<td>
<textarea name="prpsCn" id="prpsCn" class="memo" class="inputLight" style="height: 100px;"><c:out value="${vEEduAplctVO.prpsCn }" /></textarea>
</td>
</tr>
<tr>
<th scope="row">특징</th>
<td>
<textarea name="chrctCn" id="chrctCn" class="memo" class="inputLight" style="height: 100px;"><c:out value="${vEEduAplctVO.chrctCn }" /></textarea>
</td>
</tr>
<tr> <tr>
<th scope="row">정원</th> <th scope="row">정원</th>
<td class="addPro_wrap"> <td class="addPro_wrap">

View File

@ -146,6 +146,14 @@
<ve:code codeId="VEA011" code="${info.stateCd}"/> <ve:code codeId="VEA011" code="${info.stateCd}"/>
</td> </td>
</tr> </tr>
<c:if test="${info.stateCd eq 20 }">
<tr>
<th scope="row">반려사유</th>
<td>
<c:out value="${info.cmpnnCn }" />
</td>
</tr>
</c:if>
<tr> <tr>
<th scope="row">연락처</th> <th scope="row">연락처</th>
<td> <td>

View File

@ -54,14 +54,14 @@
listForm.pageIndex.value = pageNo ; listForm.pageIndex.value = pageNo ;
listForm.searchCondition.value = $('#searchCondition').val(); listForm.searchCondition.value = $('#searchCondition').val();
listForm.searchKeyword.value = $('#searchKeyword').val(); listForm.searchKeyword.value = $('#searchKeyword').val();
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/instrActvtHstryMngList.do'/>"; listForm.action = "<c:url value='/kccadr/oprtn/adultVisitEdu/instrActvtHstryMngList.do'/>";
listForm.submit(); listForm.submit();
} }
function fn_goDetail(instrDetailActvtHstryOrd){ function fn_goDetail(instrDetailActvtHstryOrd){
var form = document.detailForm; var form = document.detailForm;
form.instrDetailActvtHstryOrd.value = instrDetailActvtHstryOrd ; form.instrDetailActvtHstryOrd.value = instrDetailActvtHstryOrd ;
form.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/instrActvtHstryMngDetail.do'/>"; form.action = "<c:url value='/kccadr/oprtn/adultVisitEdu/instrActvtHstryMngDetail.do'/>";
form.submit(); form.submit();
} }

View File

@ -151,98 +151,115 @@
</div> </div>
<!-- //list_top --> <!-- //list_top -->
<!-- list util -->
<div class="list_util"> <div class="list_util">
<p class="list_util_p">총 건수 : <span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p> <p class="list_util_p">총 건수 : <span><c:out value="${vEInstrAssiEduAplctVOListCnt}" /></span>건</p>
<div> <div>
*교육신청과 강사배정이 모두 확정된 데이터 기준 *교육신청과 강사배정이 모두 확정된 데이터 기준
<select class="sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px"> <!-- <select class="sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px"> -->
<option value='10' <c:if test="${vEEduAplctVO.pageUnit == '10' or vEEduAplctVO.pageUnit == ''}">selected</c:if>>10줄</option> <%-- <option value='10' <c:if test="${vEEduAplctVO.pageUnit == '10' or vEEduAplctVO.pageUnit == ''}">selected</c:if>>10줄</option> --%>
<option value='20' <c:if test="${vEEduAplctVO.pageUnit == '20'}">selected</c:if>>20줄</option> <%-- <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='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='100' <c:if test="${vEEduAplctVO.pageUnit == '100'}">selected</c:if>>100줄</option> --%>
</select> <!-- </select> -->
<button type="button" class="btn_down_excel" onclick="excelDownLoad();">엑셀 다운로드</button> <button type="button" class="btn_down_excel" onclick="excelDownLoad();">엑셀 다운로드</button>
</div> </div>
</div> </div>
<!-- list --> <div class="tb_type01 list2">
<div class="tb_type01"> <table>
<table> <colgroup>
<colgroup> <col style="width: 10.0%;">
<col style="width: 8%"> <col style="width: 12.0%;">
<col style="width: 9%"> <col style="width: 6.0%;">
<col style="width: 7%"> <col style="width: 6.0%;">
<col style="width: 7%"> <col style="width: 6.0%;">
<col style="width: 7%"> <col style="width: 6.0%;">
<col style="width: 7%"> <col style="width: 6.0%;">
<col style="width: 7%"> <col style="width: 6.0%;">
<col style="width: 7%"> <col style="width: 6.0%;">
<col style="width: 7%"> <col style="width: 6.0%;">
<col style="width: 7%"> <col style="width: 6.0%;">
<col style="width: 7%"> <col style="width: 6.0%;">
<col style="width: 7%"> <col style="width: 6.0%;">
<col style="width: 7%"> <col style="width: auto;">
<col style="width: auto;"> </colgroup>
</colgroup> <thead>
<thead> <tr>
<tr> <th scope="col">이름</th>
<th>이름<br/>(배정시간)</th> <th scope="col">1월(실제배정차시/최대가능배정차시)</th>
<th>1월(일수/지역)</th> <th scope="col">2월</th>
<th>2월</th> <th scope="col">3월</th>
<th>3월</th> <th scope="col">4월</th>
<th>4월</th> <th scope="col">5월</th>
<th>5월</th> <th scope="col">6월</th>
<th>6월</th> <th scope="col">7월</th>
<th>7월</th> <th scope="col">8월</th>
<th>8월</th> <th scope="col">9월</th>
<th>9월</th> <th scope="col">10월</th>
<th>10월</th> <th scope="col">11월</th>
<th>11월</th> <th scope="col">12월</th>
<th>12월</th> <th scope="col">누계(달성율)</th>
<th>누계<br/>(달성율)</th> </tr>
</tr> </thead>
</thead> <tbody>
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<tr> <c:forEach var="asgnmInfoT2" items="${vEInstrAssiEduAplctVOList}" varStatus="status">
<td> <tr>
<c:out value="${list.instrNm}"/> <td><c:out value="${asgnmInfoT2.yr}" />
<c:if test="${list.instrNm ne null}"> <c:out value="${asgnmInfoT2.instrNm}"/>
<br/>(${fn:split(list.userId,'_')[1]*1}) <c:if test="${asgnmInfoT2.instrNm ne null}">
</c:if> <br/>(${fn:split(asgnmInfoT2.userId,'_')[1]*1})
<br/>(<c:out value="${list.yrMxmmAsgnmTm}"/>시간) </c:if>
</td> </td>
<td><c:out value="${list.asgnmTm1}"/></td> <td><c:out value="${asgnmInfoT2.m01Isc}" /> / <c:out value="${asgnmInfoT2.m01Tm}" /></td>
<td><c:out value="${list.asgnmTm2}"/></td> <td><c:out value="${asgnmInfoT2.m02Isc}" /> / <c:out value="${asgnmInfoT2.m02Tm}" /></td>
<td><c:out value="${list.asgnmTm3}"/></td> <td><c:out value="${asgnmInfoT2.m03Isc}" /> / <c:out value="${asgnmInfoT2.m03Tm}" /></td>
<td><c:out value="${list.asgnmTm4}"/></td> <td><c:out value="${asgnmInfoT2.m04Isc}" /> / <c:out value="${asgnmInfoT2.m04Tm}" /></td>
<td><c:out value="${list.asgnmTm5}"/></td> <td><c:out value="${asgnmInfoT2.m05Isc}" /> / <c:out value="${asgnmInfoT2.m05Tm}" /></td>
<td><c:out value="${list.asgnmTm6}"/></td> <td><c:out value="${asgnmInfoT2.m06Isc}" /> / <c:out value="${asgnmInfoT2.m06Tm}" /></td>
<td><c:out value="${list.asgnmTm7}"/></td> <td><c:out value="${asgnmInfoT2.m07Isc}" /> / <c:out value="${asgnmInfoT2.m07Tm}" /></td>
<td><c:out value="${list.asgnmTm8}"/></td> <td><c:out value="${asgnmInfoT2.m08Isc}" /> / <c:out value="${asgnmInfoT2.m08Tm}" /></td>
<td><c:out value="${list.asgnmTm9}"/></td> <td><c:out value="${asgnmInfoT2.m09Isc}" /> / <c:out value="${asgnmInfoT2.m09Tm}" /></td>
<td><c:out value="${list.asgnmTm10}"/></td> <td><c:out value="${asgnmInfoT2.m10Isc}" /> / <c:out value="${asgnmInfoT2.m10Tm}" /></td>
<td><c:out value="${list.asgnmTm11}"/></td> <td><c:out value="${asgnmInfoT2.m11Isc}" /> / <c:out value="${asgnmInfoT2.m11Tm}" /></td>
<td><c:out value="${list.asgnmTm12}"/></td> <td><c:out value="${asgnmInfoT2.m12Isc}" /> / <c:out value="${asgnmInfoT2.m12Tm}" /></td>
<td><c:out value="${list.mntSum}"/>
<br/>(<c:out value="${list.achvPer}"/>%) <td><c:out value="${asgnmInfoT2.mIscSum}" /> / <c:out value="${asgnmInfoT2.mTmSum}" />
</td> <br/>(<c:out value="${asgnmInfoT2.achvmRt}" /> %)
</tr> </td>
</c:forEach> </tr>
<c:if test="${empty list}"> </c:forEach>
<tr><td colspan="14"><spring:message code="common.nodata.msg" /></td></tr>
</c:if> <c:if test="${empty vEInstrAssiEduAplctVOList}">
</tbody> <tr>
</table>
</div> <td colspan="14">데이터가 없습니다.</td>
<!-- //list -->
</tr>
</c:if>
<!-- <tr>
<td><input type="text" name="asgnmTm1" onchange="asgnmOnchange();return false;" class="asgnm" value="<c:out value='${lctrStngInfo.asgnmTm1}' />" size="2" /></td>
<td><input type="text" name="asgnmTm2" onchange="asgnmOnchange();return false;" class="asgnm" value="<c:out value='${lctrStngInfo.asgnmTm2}' />" size="2" /></td>
<td><input type="text" name="asgnmTm3" onchange="asgnmOnchange();return false;" class="asgnm" value="<c:out value='${lctrStngInfo.asgnmTm3}' />" size="2" /></td>
<td><input type="text" name="asgnmTm4" onchange="asgnmOnchange();return false;" class="asgnm" value="<c:out value='${lctrStngInfo.asgnmTm4}' />" size="2" /></td>
<td><input type="text" name="asgnmTm5" onchange="asgnmOnchange();return false;" class="asgnm" value="<c:out value='${lctrStngInfo.asgnmTm5}' />" size="2" /></td>
<td><input type="text" name="asgnmTm6" onchange="asgnmOnchange();return false;" class="asgnm" value="<c:out value='${lctrStngInfo.asgnmTm6}' />" size="2" /></td>
<td><input type="text" name="asgnmTm7" onchange="asgnmOnchange();return false;" class="asgnm" value="<c:out value='${lctrStngInfo.asgnmTm7}' />" size="2" /></td>
<td><input type="text" name="asgnmTm8" onchange="asgnmOnchange();return false;" class="asgnm" value="<c:out value='${lctrStngInfo.asgnmTm8}' />" size="2" /></td>
<td><input type="text" name="asgnmTm9" onchange="asgnmOnchange();return false;" class="asgnm" value="<c:out value='${lctrStngInfo.asgnmTm9}' />" size="2" /></td>
<td><input type="text" name="asgnmTm10" onchange="asgnmOnchange();return false;" class="asgnm" value="<c:out value='${lctrStngInfo.asgnmTm10}' />" size="2" /></td>
<td><input type="text" name="asgnmTm11" onchange="asgnmOnchange();return false;" class="asgnm" value="<c:out value='${lctrStngInfo.asgnmTm11}' />" size="2" /></td>
<td><input type="text" name="asgnmTm12" onchange="asgnmOnchange();return false;" class="asgnm" value="<c:out value='${lctrStngInfo.asgnmTm12}' />" size="2" /></td>
<td><span id="totCnt"></span></td>
</tr> -->
</tbody>
</table>
</div>
<!-- page -->
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
<!-- //page -->
</div> </div>
</div> </div>
</div> </div>

View File

@ -45,14 +45,24 @@
var endPnttm = new Date(dateText.split("~")[1].trim().replace(/\./g, '-')); var endPnttm = new Date(dateText.split("~")[1].trim().replace(/\./g, '-'));
var currentDate = new Date(); var currentDate = new Date();
var textVal='';
if (currentDate < strtPnttm) { if (currentDate < strtPnttm) {
$ddlnCdStts.text("접수전"); // $ddlnCdStts.text("접수전");
textVal = "접수전";
} else if (currentDate >= strtPnttm && currentDate <= endPnttm) { } else if (currentDate >= strtPnttm && currentDate <= endPnttm) {
$ddlnCdStts.text("접수중"); // $ddlnCdStts.text("접수중");
textVal = "접수중";
regStatus = false; regStatus = false;
} else if (currentDate > endPnttm) { } else if (currentDate > endPnttm) {
$ddlnCdStts.text("접수종료"); // $ddlnCdStts.text("접수종료");
textVal = "접수종료";
} }
// 상태
$ddlnCdStts.text(textVal);
// 버튼
$('#regBtn').text(textVal);
} }
$('#regBtn').prop('disabled', regStatus); // 버튼 비활성화 $('#regBtn').prop('disabled', regStatus); // 버튼 비활성화
} }
@ -176,31 +186,21 @@
</colgroup> </colgroup>
<tbody> <tbody>
<tr> <tr>
<th scope="row">교육부분</th> <th>교육부분</th>
<td> <td>
<ve:code codeId="VEA001" code="${info.prcsDiv}"/> <ve:code codeId="VEA001" code="${info.prcsDiv}"/>
</td> </td>
</tr> <th>과정</th>
<tr>
<th scope="row">과정</th>
<td> <td>
<c:out value="${info.prcsNm}"/> <c:out value="${info.prcsNm}"/>
</td> </td>
</tr> </tr>
<tr> <tr>
<th scope="row">신청기간</th> <th>신청기간</th>
<td> <td>
<c:out value="${info.strtPnttm}"/>~<c:out value="${info.endPnttm}"/> <c:out value="${info.strtPnttm}"/>~<c:out value="${info.endPnttm}"/>
</td> </td>
</tr>
<tr>
<th scope="row">교육장소</th>
<td class="addPro_wrap">
<c:out value="${info.eduPlace}"/>
</td>
</tr>
<tr>
<th scope="row">교육기간</th> <th scope="row">교육기간</th>
<td> <td>
<c:out value="${info.eduStrtPnttm}"/>~<c:out value="${info.eduDdlnPnttm}"/> <c:out value="${info.eduStrtPnttm}"/>~<c:out value="${info.eduDdlnPnttm}"/>
@ -208,21 +208,41 @@
</tr> </tr>
<tr> <tr>
<th scope="row">상세교육과정</th> <th scope="row">상세교육내용</th>
<td> <td>
<c:out value="${info.prcsCn }" /> <c:out value="${info.prcsCn }" />
</td> </td>
</tr>
<tr>
<th scope="row">정원</th> <th scope="row">정원</th>
<td class="addPro_wrap"> <td class="addPro_wrap">
<c:out value="${info.nos}"/> <c:out value="${info.nos}"/>
</td> </td>
</tr
<tr>
<th scope="row">목적</th>
<td>
<c:out value="${info.prpsCn }" />
</td>
<th scope="row">특징</th>
<td>
<c:out value="${info.chrctCn}"/>
</td>
</tr> </tr>
<tr> <tr>
<th scope="row">상태</th> <th scope="row">상태</th>
<td id="ddlnCdStts"> <td id="ddlnCdStts">
<ve:code codeId="VEA004" code="${info.ddlnCd}"/> <c:choose>
<c:when test="${not empty info.aprvlCd}">
<kc:code codeId="VE0003" code="${info.aprvlCd}"/>
</c:when>
<c:otherwise>
<kc:code codeId="VEA004" code="${info.ddlnCd}"/>
</c:otherwise>
</c:choose>
<%-- <ve:code codeId="VEA004" code="${info.ddlnCd}"/> --%>
</td>
<th scope="row">교육장소</th>
<td class="addPro_wrap">
<c:out value="${info.eduPlace}"/>
</td> </td>
</tr> </tr>
</tbody> </tbody>
@ -234,7 +254,17 @@
<div class="btn_center"> <div class="btn_center">
</div> </div>
<div class="btn_right"> <div class="btn_right">
<button type="button" id="regBtn" class="btnType04" onclick="fncEduReg('<c:out value="${list.prcsAplctPrdOrd}"/>');">신청</button> <button type="button" id="regBtn" class="btnType04" onclick="fncEduReg('<c:out value="${list.prcsAplctPrdOrd}"/>');">
<c:choose>
<c:when test="${not empty info.aprvlCd}">
<kc:code codeId="VE0003" code="${info.aprvlCd}"/>
</c:when>
<c:otherwise>
<kc:code codeId="VEA004" code="${info.ddlnCd}"/>
</c:otherwise>
</c:choose>
<!-- 신청 -->
</button>
</div> </div>
</div> </div>

View File

@ -98,7 +98,6 @@ $(document).ready(function(){
var ddlnCdText = ''; var ddlnCdText = '';
console.log('');
if (currentDate < strtPnttm) { if (currentDate < strtPnttm) {
ddlnCdText = "접수전"; ddlnCdText = "접수전";
} else if (currentDate >= strtPnttm && currentDate <= endPnttm) { } else if (currentDate >= strtPnttm && currentDate <= endPnttm) {
@ -281,16 +280,27 @@ $(document).ready(function(){
<div class="tb_tit02"> <div class="tb_tit02">
<div class="tb_tit02_left"> <div class="tb_tit02_left">
<div class="t_best">베스트</div> <div class="t_best">이달의 과정</div>
</div> </div>
<div class="btn_wrap1"> <div class="btn_wrap1">
<button type="button" title="베스트 더보기" class="con_more" onclick="location.href=''">더보기</button> <!-- <button type="button" title="베스트 더보기" class="con_more" onclick="location.href=''">더보기</button> -->
</div> </div>
</div> </div>
<div class="best_list"> <div class="best_list">
<c:forEach var="list" items="${courseOfTheMonthList}" begin="0" end="3">
<div class="best_con">
<ul>
<li class="con_title"><c:out value="${list.prcsNm}"/></li>
<li class="con_date"><c:out value="${list.eduStrtPnttm}"/>~<c:out value="${list.eduDdlnPnttm}"/></li>
<li class="con_btn"><button type="button" title="수강신청" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');">상세정보</button></li>
</ul>
</div>
</c:forEach>
<!--
<div class="best_con"> <div class="best_con">
<div class="img"><img src="/offedu/visitEdu/usr/publish/images/content/popup_img_imsi.jpg" alt="핵심인재 역량강화"></div>
<ul> <ul>
<li class="con_title">핵심인재 역량강화 핵심인재 역량강화</li> <li class="con_title">핵심인재 역량강화 핵심인재 역량강화</li>
<li class="con_date">2023-09-24 ~ 2023-09-30</li> <li class="con_date">2023-09-24 ~ 2023-09-30</li>
@ -298,7 +308,6 @@ $(document).ready(function(){
</ul> </ul>
</div> </div>
<div class="best_con"> <div class="best_con">
<div class="img"><img src="https://www.copyright.or.kr/images/renewal/facebook_thumbnail.jpg" alt="핵심인재 역량강화"></div>
<ul> <ul>
<li class="con_title">핵심인재 역량강화</li> <li class="con_title">핵심인재 역량강화</li>
<li class="con_date">2023-09-24 ~ 2023-09-30</li> <li class="con_date">2023-09-24 ~ 2023-09-30</li>
@ -306,7 +315,6 @@ $(document).ready(function(){
</ul> </ul>
</div> </div>
<div class="best_con"> <div class="best_con">
<div class="img"><img src="https://www.copyright.or.kr/images/renewal/facebook_thumbnail.jpg" alt="핵심인재 역량강화"></div>
<ul> <ul>
<li class="con_title">핵심인재 역량강화</li> <li class="con_title">핵심인재 역량강화</li>
<li class="con_date">2023-09-24 ~ 2023-09-30</li> <li class="con_date">2023-09-24 ~ 2023-09-30</li>
@ -314,13 +322,13 @@ $(document).ready(function(){
</ul> </ul>
</div> </div>
<div class="best_con"> <div class="best_con">
<div class="img"><img src="https://www.copyright.or.kr/images/renewal/facebook_thumbnail.jpg" alt="핵심인재 역량강화"></div>
<ul> <ul>
<li class="con_title">핵심인재 역량강화</li> <li class="con_title">핵심인재 역량강화</li>
<li class="con_date">2023-09-24 ~ 2023-09-30</li> <li class="con_date">2023-09-24 ~ 2023-09-30</li>
<li class="con_btn"><button type="button" title="수강신청">수강신청</button></li> <li class="con_btn"><button type="button" title="수강신청">수강신청</button></li>
</ul> </ul>
</div> </div>
-->
</div> </div>
<!-- tab --> <!-- tab -->
@ -385,7 +393,7 @@ $(document).ready(function(){
<th>교육구분</th> <th>교육구분</th>
<th>과정명</th> <th>과정명</th>
<th>신청기간</th> <th>신청기간</th>
<th>교육기간</th> <th>교육일자</th>
<th>신청자/정원</th> <th>신청자/정원</th>
<c:if test="${loginVO != null }"> <c:if test="${loginVO != null }">
<th>상태</th> <th>상태</th>
@ -410,6 +418,7 @@ $(document).ready(function(){
</td> </td>
<td> <td>
<c:out value="${list.eduStrtPnttm}"/>~<c:out value="${list.eduDdlnPnttm}"/> <c:out value="${list.eduStrtPnttm}"/>~<c:out value="${list.eduDdlnPnttm}"/>
<%-- <c:out value="${list.eduStrtPnttm}"/> --%>
</td> </td>
<td> <td>
<c:out value="${list.nosCnt1}"/>/<c:out value="${list.nos}"/> <c:out value="${list.nosCnt1}"/>/<c:out value="${list.nos}"/>

View File

@ -299,7 +299,11 @@ $( document ).ready(function() {
<th scope="row"> <th scope="row">
<p>강사 참석 확인서</p> <p>강사 참석 확인서</p>
</th> </th>
<td colspan="3"><c:out value="${cryptoUtil.decrypt(info.chrgNm)}"/></td> <td class="file_download onlyFile" colspan="3">
<c:import url="/cmm/fms/selectScholSealInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${info.attendAtchFileId}" />
</c:import>
</td>
</tr> </tr>
<tr> <tr>
<th scope="row"> <th scope="row">

View File

@ -29,8 +29,13 @@
<title>강사프로필 상세</title> <title>강사프로필 상세</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta http-equiv="content-type" content="text/html; charset=utf-8">
<!-- css --> <!-- css -->
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/adm/publish/css/popup.css">
<!-- for validator #2 --> <!-- for validator #2 -->
<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> <script type="text/javascript" src="<c:url value="/validator.do"/>"></script>
<spring:eval expression="@property['Globals.Innorix.License']" var="license"/>
<script src="<c:url value='/innorix/innorix_${license}.js' />"></script>
<script src="<c:url value='/js/kccadr/innorixCommon.js' />"></script>
<link rel="stylesheet" href="<c:url value='/innorix/innorix.css'/>" type="text/css">
<validator:javascript formName="vEInstrDetailVO" staticJavascript="false" xhtml="true" cdata="false" /> <validator:javascript formName="vEInstrDetailVO" staticJavascript="false" xhtml="true" cdata="false" />
<!-- for validator #2 --> <!-- for validator #2 -->
@ -42,6 +47,9 @@
input:read-only { input:read-only {
background-color: #f9f9f9 !important; background-color: #f9f9f9 !important;
} }
#fileControl{margin: 8px 0 0 0; border: 1px solid #d5d5d5; border-radius: 5px; height: 150px !important; background-color: #fafafa;}
.innorix_basic div.irx_filetree.empty-uploader{background: url(/offedu/visitEdu/usr/publish/images/content/dropzone_file_before.png) no-repeat center; height: 150px !important;}
.irx_filetree,.innorix_basic div.irx_infoBox{height: 150px !important;}
</style> </style>
<script type="text/javaScript" language="javascript"> <script type="text/javaScript" language="javascript">
$( document ).ready(function(){ $( document ).ready(function(){
@ -51,6 +59,29 @@
$("#file_temp").click(); $("#file_temp").click();
}); });
/*
* ==================================================================
* INNORIX
* 파일전송 컨트롤 생성
* ==================================================================
*/
control = innorix.create({
el: '#fileControl' // 컨트롤 출력 HTML 객체 ID
, transferMode: 'both' // 업로드, 다운로드 혼합사용
, installUrl: '<c:url value="/innorix/install/install.html" />' // Agent 설치 페이지
, uploadUrl: '<c:url value="/innorix/exam/upload.jsp" />' // 업로드 URL
, height:40
, width: 650
, maxFileCount : 1 // 첨부파일 최대 갯수
, allowExtension : ["txt","xls","xlsx","png","jpg","jpeg","doc","ppt","hwp","pdf","zip"]
// 가능한 확장자 txt|xls|xlsx|png|jpg|jpeg|doc|ppt|hwp|pdf|zip
});
// 업로드 완료 후 이벤트
control.on('uploadComplete', function (p) {
console.log('uploadComplete : ', p);
fn_callBackInnorix(p.files); // 파일 정보 DB isnert function
});
}); });
@ -156,6 +187,53 @@
} }
} }
// 강사활동확인서 신청
function insetDocReq(){
//첨부파일 체크 및 요청
if(confirm("신청 하시겠습니까?")){
if(control.getUploadFiles().length > 0){
var postObj = new Object();
postObj.innoDirPath = $('#innoDirPath').val();
control.setPostData(postObj); // 업로드시 함께 전달될 POST Param 추가
control.upload(); // 업로드 시작
}else{
alert("등록된 첨부파일이 없습니다.");
return false;
}
}
}
//강사활동신청서 신청
function fn_callBackInnorix(data){
// var url = "<c:url value='/web/common/insertInnorixSspnCnClAjax.do' />";
var url = "<c:url value='/web/common/insertInnorixInstrActvtAjax.do' />";
//선택된 강사 ID
var sendData = {
"instrDetailOrd": $('#instrDetailOrd').val()
, "innorixFileListVO": data
, "successMsg" : "신청이 완료되었습니다."
}
/*
* 공통 : innorixCommon.js
* fn_innorixCmmAjax() 호출 후 status가 성공(OK)이면 실행
*/
if(fn_innorixCmmAjax(sendData, url) == "OK")
{
location.reload(true);
}
}
/* 첨부파일 다운로드 */
function fn_egov_downFile(atchFileId, fileSn){//atchFileId -> 파일 Id, fileSn -> 파일 순번
window.open("<c:url value='/cmm/fms/FileDown.do?atchFileId="+atchFileId+"&fileSn="+fileSn+"'/>");
}
function fn_cmpnnCnPopup(instrDetailActvtHstryOrd, cmpnnCn, $this){
// console.log($this);
// $($this).next('input#cmpnnCnBtn').click();
$('#cmpnnCnText').text(cmpnnCn);
}
</script> </script>
<div class="cont_wrap" id="sub"> <div class="cont_wrap" id="sub">
<div class="cont_tit"> <div class="cont_tit">
@ -561,66 +639,91 @@
</c:if> </c:if>
</form:form> </form:form>
<div class="tb_tit01">
<div class="tb_tit01_left">
<p>활동확인서 내역</p>
</div>
<div class="btn_wrap">
<button type="button" class="btnType05" onclick="location.href='${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/instrInfo/instrPrflDetail.do'">강사활동확인서 신청</button>
</div>
</div> <div class="tb_tit01">
<div class="tb_type02"> <div class="tb_tit01_left">
<table> <p>활동확인서 내역</p>
<caption>강의 설정 정보 번호, 요청일, 구분, 신청상태, 승인일(반려일), 비고 을/를 제공하는 표</caption> </div>
<colgroup> <div class="btn_wrap">
<col style="width: 10%;"> <button type="button" class="btnType05" data-tooltip="sub37_pop02">강사활동확인서
<col style="width: 15%;"> 신청</button>
<%-- <col style="width: 15%;"> --%> <%-- <button type="button" class="btnType05" data-tooltip="sub37_pop02" onclick="fn_cnclUpdate('${list.eduAplctOrd }','${list.prcsAplctPrdOrd }')">강사활동확인서 신청</button> --%>
<col style="width: 15%;"> </div>
<col style="width: 15%;"> </div>
<col style="width: auto;"> <div class="tb_type02">
</colgroup> <table>
<thead> <caption>강의 설정 정보 번호, 요청일, 구분, 신청상태, 승인일(반려일), 비고 을/를 제공하는
<tr> 표</caption>
<th scope="col">번호</th> <colgroup>
<th scope="col">신청일</th> <col style="width: 10%;">
<th scope="col">발급일</th> <col style="width: 15%;">
<th scope="col">발급상태</th> <%-- <col style="width: 15%;"> --%>
<th scope="col">양식</th> <col style="width: 15%;">
</tr> <col style="width: 15%;">
</thead> <col style="width: auto;">
<tbody> </colgroup>
<c:set var="sbmtCnt" value="0"/> <thead>
<c:forEach var="result" items="${vEInstrMdfyList}" varStatus="status"> <tr>
<tr> <th scope="col">번호</th>
<td> <th scope="col">신청일</th>
${status.count} <th scope="col">처리일</th>
</td> <th scope="col">발급상태</th>
<!-- 일시 > 일자로 변경--> <th scope="col"></th>
<%-- <fmt:parseDate value="${result.sbmtPnttm}" var="sbmtPnttm" pattern="yyyy-MM-dd HH:mm"/> --%> </tr>
<%-- <fmt:formatDate value="${sbmtPnttm}" var="sbmtPnttm" pattern="yyyy-MM-dd"/> --%> </thead>
<td> <tbody>
2023-11-02 <c:forEach var="result" items="${vEInstrActvtHstryList}"
</td> varStatus="status">
<%-- <td><c:out value="${result.apptDiv}"/></td> --%> <tr>
<%-- <c:set var="aprvlCd" value=""></c:set> --%> <td>${status.count}</td>
<td> <!-- 일시 > 일자로 변경-->
2023-11-03 <td>
</td> <c:out value="${result.aplctPnttm }" />
<td> </td>
완료 / 처리중 / 반려 <td>
</td> <c:choose>
<td> <c:when test="${result.stateCd eq 10 }">
<button class="btnType06 btn_list" onclick="fncMdfy(); return false;">신청서</button> -
<button class="btnType06 btn_list" onclick="fncMdfy(); return false;">확인서</button> </c:when>
<button class="btnType07 btn_list" onclick="fncMdfy(); return false;">반려</button> <c:otherwise>
</td> <c:out value="${result.statePnttm }" />
</tr> </c:otherwise>
</c:forEach> </c:choose>
</tbody> </td>
</table> <td>
</div> <ve:code codeId="VEA011" code="${result.stateCd}" />
</td>
<td>
<!--
10:승인
20:반려
30:발급
-->
<button class="btnType06 btn_list"
onclick="fn_egov_downFile('<c:out value="${result.aplctAtchFileId}" />', '0')">신청서</button>
<c:choose>
<c:when test="${result.stateCd eq 20 }">
<button type="button" class="btnType07 btn_list" data-tooltip="sub37_pop01" onclick="fn_cmpnnCnPopup('${result.instrDetailActvtHstryOrd }','${result.cmpnnCn }' , this);" title="팝업 열림">반려</button>
<!-- <input type="hidden" id="cmpnnCnBtn" data-tooltip="sub37_pop01"/> -->
</c:when>
<c:when test="${result.stateCd eq 30 }">
<button class="btnType06 btn_list"
onclick="fncCmpltCrtfc(); return false;">확인서</button>
</c:when>
</c:choose>
</td>
</tr>
</c:forEach>
<c:if test="${empty vEInstrActvtHstryList }">
<tr>
<td colspan="5">
신청내역이 없습니다.
</td>
</tr>
</c:if>
</tbody>
</table>
</div>
<!-- 하단 버튼 --> <!-- 하단 버튼 -->
<div class="btn_wrap btn_layout01"> <div class="btn_wrap btn_layout01">
@ -681,3 +784,153 @@
</div> </div>
<!-- //cont --> <!-- //cont -->
<!-- 강사활동확인서 신청-->
<div class="tooltip-wrap">
<div class="popup_wrap popType05" tabindex="0" data-tooltip-con="sub37_pop02" data-focus="sub37_pop02" data-focus-prev="sub37_pop02_close">
<div class="popup_tit">
<p>강사활동확인서 신청</p>
<button class="btn_popup_close tooltip-close" data-focus="sub37_pop02_close" title="팝업 닫기"><i></i></button>
</div>
<div class="popup_cont">
<div class="cont_body">
<div class="popup_table_top">
<button type="button" class="btnType06">신청서양식 다운로드</button>
</div>
<%-- <div class="pop_tb_type01">
<table>
<colgroup>
<col style="width: 22%;">
<col style="">
</colgroup>
<tr>
<th>취소사유</th>
<td><textarea id="cnclCn" name="cnclCn"></textarea></td>
</tr>
</table>
</div> --%>
<div class="popup_cont upload_area">
<div>
<div class="pop_search_wrap">
<label for="fileNm" class="label">첨부파일 선택</label>
<button type="button" onclick="control.openFileDialogSingle();" class="btnType01 btn_add_file">파일찾기</button>
</div>
<div id="fileControl"></div><br/>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<!-- <button type="button" class="btnType05">제출</button> -->
<button type="button" class="btnType05" id="popupSubmin" onclick="insetDocReq();">신청</button>
<button type="button" class="btnType02 tooltip-close" data-focus="sub37_pop02_close" data-focus-next="sub37_pop02">닫기</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
</div>
</div>
<!--// 강사활동확인서 신청-->
<!-- 서류요청 팝업 -->
<div class="tooltip-wrap">
<div class="popup_wrap popType05" tabindex="0" data-tooltip-con="sub37_pop01" data-focus="sub37_pop01" data-focus-prev="sub37_pop01_close">
<div class="popup_tit">
<p>활동내역서 반려사유</p>
<button class="btn_popup_close tooltip-close" data-focus="sub37_pop01_close" title="팝업 닫기"><i></i></button>
</div>
<div class="popup_cont">
<div class="cont_body">
<div class="pop_tb_type02">
<table>
<caption>반려사유</caption>
<colgroup>
<col style="width: 10%;">
<%-- <col style="width: 10%;"> --%>
<%-- <col style="width: 10%;"> --%>
</colgroup>
<thead>
<tr>
<th scope="col">반려사유</th>
<!-- <th scope="col">핸드폰</th> -->
<!-- <th scope="col">이메일</th> -->
</tr>
</thead>
<tbody>
<tr>
<td rowspan="4" id="cmpnnCnText" style="height: 140px;"></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="btnType02 tooltip-close" data-focus="sub37_pop01_close" data-focus-next="sub37_pop01">닫기</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
</div>
</div>
<!--// 서류요청 팝업-->
<script src="http://119.193.215.98:8093/ReportingServer/html5/js/crownix-viewer.min.js"></script>
<link rel="stylesheet" type="text/css" href="http://119.193.215.98:8093/ReportingServer/html5/css/crownix-viewer.min.css">
<script>
/*
* 오버레이 방식
*/
//function fncCmpltCrtfc(p_prcsAplctPrdOrd, p_eduAplctOrd){
function fncCmpltCrtfc(){
var v_userId = $('#userId').val();
//alert('/rf [http://192.168.0.59:3080/offedu/ve/aplct/adultVisitEdu/eduAplct/instrDetailListAjax.do?p_searchQlfctEndYn="'+v_searchQlfctEndYn+'"&p_searcDivCd="'+v_searcDivCd+'"&p_searchKeyword="'+v_searchKeyword+'"]');
var viewer = new m2soft.crownix.Viewer('http://119.193.215.98:8093/ReportingServer/service');
//viewer.openFile('cmplt_crtfc_20231030.mrd', '/rfn [jsonsample_red_2.json]');
//viewer.openFile('cmplt_crtfc_20231030.mrd','/rexport [5]');
//viewer.openFile('sample.mrd','/rfn [sample.txt]');
viewer.hideToolbarItem(["save"]);
viewer.showToolbarItem(["print_pdf"]);
//viewer.openFile('cmplt_crtfc_20231030.mrd');
//viewer.openFile('cmplt_crtfc_20231030.mrd', '/rfn [cmplt_crtfc_20231030.json]');
//viewer.openFile('cmplt_crtfc_20231030.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctCmpltCrtfcAjax.do?prcsAplctPrdOrd='+p_prcsAplctPrdOrd+'&eduAplctOrd='+p_eduAplctOrd+']');
//viewer.openFile('sample.mrd');p_prcsAplctPrdOrd, p_eduAplctOrd
//viewer.openFile('adult_instr_20231102.mrd', '/rfn [adult_instr_20231102.json]');
//viewer.openFile('adult_instr_20231102.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/adultVisitEdu/eduAplct/eduAplctDetailAjax.do?p_instrId='+('#p_instrId').val()+']');
//viewer.openFile('adult_instrs_20231107.mrd', '/rf [http://192.168.0.59:3080/offedu/ve/aplct/adultVisitEdu/eduAplct/instrDetailListAjax.do?p_searchQlfctEndYn="'+v_searchQlfctEndYn+'"&p_searcDivCd="'+v_searcDivCd+'"&p_searchKeyword="'+v_searchKeyword+'"]');
//viewer.openFile('instr_activity_20231108.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/tngrVisitEdu/eduAplct/instrActivityAjax.do?p_userId='+v_userId+']');
viewer.openFile('instr_activity_20231108.mrd', '/rf [http://119.193.215.98:9989/offedu/ve/aplct/tngrVisitEdu/eduAplct/instrActivityAjax.do?p_userId='+v_userId+']');
/*
var viewer = new m2soft.crownix.Viewer('http://192.168.0.176:8093/ReportingServer/service',
'crownix-viewer');
viewer.openFile('cmplt_crtfc_20231030.mrd');
*/
}
/*
window.onload = function(){
var viewer = new m2soft.crownix.Viewer('http://192.168.0.176:8093/ReportingServer/service');
viewer.openFile('json_subject.mrd', '/rfn [jsonsample_red_2.json]');
};
*/
</script>

View File

@ -29,7 +29,7 @@
<title>강사프로필 상세</title> <title>강사프로필 상세</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta http-equiv="content-type" content="text/html; charset=utf-8">
<!-- css --> <!-- css -->
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/adm/publish/css/popup.css"> <link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/adm/publish/css/popup.css">
<!-- for validator #2 --> <!-- for validator #2 -->
<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> <script type="text/javascript" src="<c:url value="/validator.do"/>"></script>
<spring:eval expression="@property['Globals.Innorix.License']" var="license"/> <spring:eval expression="@property['Globals.Innorix.License']" var="license"/>
@ -941,6 +941,13 @@
</td> </td>
</tr> </tr>
</c:forEach> </c:forEach>
<c:if test="${empty vEInstrActvtHstryList }">
<tr>
<td colspan="5">
신청내역이 없습니다.
</td>
</tr>
</c:if>
</tbody> </tbody>
</table> </table>
</div> </div>