관리자 기반강화 상세: 교육-승인/반려, 검색

This commit is contained in:
hylee 2023-10-06 15:11:32 +09:00
parent 994172a65a
commit f4de4c3a10
6 changed files with 136 additions and 45 deletions

View File

@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.support.RedirectAttributes; import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import egovframework.rte.fdl.cmmn.exception.FdlException;
import egovframework.rte.fdl.idgnr.EgovIdGnrService; import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.ComDefaultCodeVO; import kcc.com.cmm.ComDefaultCodeVO;
@ -629,39 +630,6 @@ public class CndtnPrcsInfoMngController {
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
//로그인 처리====================================
//과정 정보 가져오기
/*
{
//1.pageing step1
PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO);
//임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함
paginationInfo.setRecordCountPerPage(10000);
//2. pageing step2
vEPrcsDetailVO.setOrderByQuery("a.prcs_nm asc");
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
//기반강화 조회
vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
vEPrcsDetailVO.setPrcsOrd("");
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsService.selectPagingList(vEPrcsDetailVO);
//3.pageing step3
paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo);
//model.addAttribute("paginationInfo", paginationInfo);
//대상 리스트, 페이징 정보 전달
model.addAttribute("listPrcs", vEPrcsDetailVOList);
}
*/
//과정 조회 //과정 조회
VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO); VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO);
model.addAttribute("info", vEPrcsDetailVODetail); model.addAttribute("info", vEPrcsDetailVODetail);
@ -678,6 +646,7 @@ public class CndtnPrcsInfoMngController {
paramVO.setSearchSmbtEndDt(vEPrcsDetailVO.getSearchSmbtEndDt()); paramVO.setSearchSmbtEndDt(vEPrcsDetailVO.getSearchSmbtEndDt());
// 검색 - 검색어 // 검색 - 검색어
paramVO.setSearchStatus(vEPrcsDetailVO.getSearchStatus()); paramVO.setSearchStatus(vEPrcsDetailVO.getSearchStatus());
paramVO.setSearchSelStatus(vEPrcsDetailVO.getSearchSelStatus());
@ -702,6 +671,56 @@ public class CndtnPrcsInfoMngController {
return "/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngDetail"; return "/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngDetail";
} }
/**
* 기반강화 신청자 상태값 변경
*/
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/updateEduAplctAprvlCdAjax.do")
public ModelAndView updateEduAplctAprvlCd(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
System.out.println(vEPrcsDetailVO.getPrcsAplctPrdOrd() +"!!!");
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(); //권한에 따른 로그인 정보 가져오기
try {
// 교육 신청 테이블에 신청자 상태값 update
vEAPrcsAplctPrdInstrAsgnmService.udpateAprvlCdEduAplct(vEPrcsDetailVO);
// 승인 - 승인일 경우 vea_aplct_detail_info TB에 넣어줘야함
if("20".equals(vEPrcsDetailVO.getAprvlCd())) {
this.aprvlCd20(vEPrcsDetailVO,loginVO.getUniqId());
}
// 접수취소(반려) - vea_aplct_detail_info TB에 data update
else if("30".equals(vEPrcsDetailVO.getAprvlCd()))
{
this.aprvlCd30(vEPrcsDetailVO);
}
modelAndView.addObject("result", "success");
} catch (Exception ex) {
ex.printStackTrace();
modelAndView.addObject("result", "");
}
return modelAndView;
}
/** /**
* 기소유예 기간 상세화면 * 기소유예 기간 상세화면
@ -1245,6 +1264,74 @@ public class CndtnPrcsInfoMngController {
} }
/**
* @methodName : aprvlCd20
* @author : 이호영
* @date : 2023.09.25
* @description : aprvlCd == 20 교육 승인 경유
* 승인일 경우 vea_aplct_detail_info TB에 넣어줘야함
* @param vEPrcsDetailVO
* @param uniqId
* @throws FdlException
*/
private void aprvlCd20(VEPrcsDetailVO vEPrcsDetailVO, String uniqId) throws FdlException {
for(String id : vEPrcsDetailVO.getEduAplctOrdList()) {
VEPrcsDetailVO vEDetailVO = new VEPrcsDetailVO();
vEDetailVO.setPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
vEDetailVO.setEduAplctOrd(id);
// 데이터가 있는지만 비교하기 위한 구문
VEPrcsDetailVO vEDetail_DVO = vEAPrcsAplctPrdInstrAsgnmService.selectAprvlCdEduAplctDetail(vEDetailVO);
// 데이터가 없으면 Insert
if(vEDetail_DVO == null) {
vEDetailVO.setAplctStateCd("10"); // 신청상태코드 VEA003 10:미이수 20:이수
vEDetailVO.setFrstRegisterId(uniqId);
vEAPrcsAplctPrdInstrAsgnmService.insertAprvlCdEduAplctDetail(vEDetailVO);
}
}
}
/**
* @methodName : aprvlCd30
* @author : 이호영
* @date : 2023.09.25
* @description : aprvlCd == 30 교육 반려
* 반려일 경우 vea_aplct_detail_info TB에 data 삭제
* @param vEPrcsDetailVO
* @param uniqId
* @throws FdlException
*/
private void aprvlCd30(VEPrcsDetailVO vEPrcsDetailVO) {
for(String id : vEPrcsDetailVO.getEduAplctOrdList()) {
VEPrcsDetailVO vEDetailVO = new VEPrcsDetailVO();
vEDetailVO.setPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
vEDetailVO.setEduAplctOrd(id);
// 데이터가 있는지만 비교하기 위한 구문
VEPrcsDetailVO vEDetail_DVO = vEAPrcsAplctPrdInstrAsgnmService.selectAprvlCdEduAplctDetail(vEDetailVO);
// 데이터가 있으면 삭제
if(vEDetail_DVO != null) {
vEDetailVO.setAplctStateCd("30");
vEAPrcsAplctPrdInstrAsgnmService.updateAprvlCdEduAplctDetail(vEDetailVO);
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////
// //
// //

View File

@ -707,7 +707,7 @@ public class FndthPrcsAplctPrdMngController {
/** /**
* 강사배정 등록 처리 * 기반강화 신청자 상태값 변경
*/ */
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/updateEduAplctAprvlCdAjax.do") @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/updateEduAplctAprvlCdAjax.do")
public ModelAndView updateEduAplctAprvlCd( public ModelAndView updateEduAplctAprvlCd(

View File

@ -145,6 +145,10 @@
AND a.sbmt_yn=#sbmtYn# AND a.sbmt_yn=#sbmtYn#
</isNotEmpty> </isNotEmpty>
<isNotEmpty property="searchSelStatus">
AND a.aprvl_cd = #searchSelStatus#
</isNotEmpty>
<isNotEmpty property="searchSmbtStartDt"> <isNotEmpty property="searchSmbtStartDt">
AND TO_CHAR(a.sbmt_pnttm, 'YYYYMMDD') <![CDATA[ >= ]]> REPLACE(#searchSmbtStartDt#, '.' , '') AND TO_CHAR(a.sbmt_pnttm, 'YYYYMMDD') <![CDATA[ >= ]]> REPLACE(#searchSmbtStartDt#, '.' , '')
</isNotEmpty> </isNotEmpty>

View File

@ -444,6 +444,8 @@
<isNotEmpty property="prcsAplctPrdOrd"> <isNotEmpty property="prcsAplctPrdOrd">
AND a.prcs_aplct_prd_ord=#prcsAplctPrdOrd# AND a.prcs_aplct_prd_ord=#prcsAplctPrdOrd#
</isNotEmpty> </isNotEmpty>
ORDER BY a.strt_pnttm DESC ORDER BY a.strt_pnttm DESC
LIMIT 1 LIMIT 1

View File

@ -389,12 +389,10 @@
<div class="list_top search-only"> <div class="list_top search-only">
<div class="list_top_1"> <div class="list_top_1">
<div class="util_right"> <div class="util_right">
<ve:select codeId="VE0003" name="searchSelStatus" id="searchSelStatus" css="class='sel_type1'"
<select id="searchStatus___test" name="searchStatus___test" class="sel_type1"> selectedValue="${vEPrcsDetailVO.searchSelStatus}" defaultValue='' includes="10,20,30"
<option value="10" <c:if test="${vEPrcsDetailVO.searchStatus==10 }">selected="selected"</c:if> >확정여부</option> defaultText='전체'
<option value="20" <c:if test="${vEPrcsDetailVO.searchStatus==20 }">selected="selected"</c:if>>이수여부</option> />
</select>
<div class="calendar_wrap"> <div class="calendar_wrap">
<input type="text" class="calendar" title="시작일 선택" id="searchSmbtStartDt" name="searchSmbtStartDt" value="${vEPrcsDetailVO.searchSmbtStartDt}"> <input type="text" class="calendar" title="시작일 선택" id="searchSmbtStartDt" name="searchSmbtStartDt" value="${vEPrcsDetailVO.searchSmbtStartDt}">
</div> </div>
@ -402,7 +400,7 @@
<div class="calendar_wrap"> <div class="calendar_wrap">
<input type="text" class="calendar" title="종료일 선택" id="searchSmbtEndDt" name="searchSmbtEndDt" value="${vEPrcsDetailVO.searchSmbtEndDt}"> <input type="text" class="calendar" title="종료일 선택" id="searchSmbtEndDt" name="searchSmbtEndDt" value="${vEPrcsDetailVO.searchSmbtEndDt}">
</div> </div>
<input type="text" id="searchKeyword" name="searchKeyword" placeholder="검색어를 입력하세요." title="검색어 입력" class="search_input" value="<c:out value='${vEPrcsDetailVO.searchKeyword}'/>"> <%-- <input type="text" id="searchKeyword" name="searchKeyword" placeholder="검색어를 입력하세요." title="검색어 입력" class="search_input" value="<c:out value='${vEPrcsDetailVO.searchKeyword}'/>"> --%>
<button type="button" class="btn_type08" onclick="fncGoDetail(); return false;">검색</button> <button type="button" class="btn_type08" onclick="fncGoDetail(); return false;">검색</button>
<!-- <button class="btn_type03" onclick="fncReset(this); return false;">초기화</button> --> <!-- <button class="btn_type03" onclick="fncReset(this); return false;">초기화</button> -->
</div> </div>
@ -413,9 +411,9 @@
<colgroup> <colgroup>
<col style="width: 5%"> <col style="width: 5%">
<col style="width: 5%"> <col style="width: 5%">
<col style="width: 210px;"><!-- name --> <col style="width: 210px;">
<col style="width: auto;"><!-- 제출일 --> <col style="width: auto;">
<col style="width: 210px;"><!-- 신청상태 --> <col style="width: 210px;">
</colgroup> </colgroup>
<thead> <thead>
<tr> <tr>

View File

@ -287,7 +287,7 @@ $(document).ready(function(){
</div> </div>
<div class="popup_cont"> <div class="popup_cont">
<p class="text_greeting">안녕하세요.</br>한국저작권위원회입니다.</p> <p class="text_greeting">안녕하세요.</br>한국저작권위원회입니다.</p>
<div class="popup_texta"><input placeholder="문의내용을 입력해 주세요."></textarea></div> <div class="popup_texta"><textarea placeholder="문의내용을 입력해 주세요."></textarea></div>
<div class="pop_btn_wrap btn_layout01"> <div class="pop_btn_wrap btn_layout01">
<div class="btn_left"> <div class="btn_left">
</div> </div>