[관리자 - 지역검색조건 추가] 성인 > 교육배치관리 > 강사변경 > 팝업리스트
This commit is contained in:
parent
1b2e596a17
commit
4426df5b72
67
src/main/java/kcc/com/cmm/util/KoreanRegionEnum.java
Normal file
67
src/main/java/kcc/com/cmm/util/KoreanRegionEnum.java
Normal file
@ -0,0 +1,67 @@
|
||||
package kcc.com.cmm.util;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author : 이호영
|
||||
* @fileName : KoreanRegionEnum.java
|
||||
* @date : 2024.01.02
|
||||
* @description : VEA017 지역 이랑 코드 맞춰야함
|
||||
* ===========================================================
|
||||
* DATE AUTHOR NOTE
|
||||
* ----------------------------------------------------------- *
|
||||
* 2024.01.02 이호영 최초 생성
|
||||
*
|
||||
*
|
||||
*
|
||||
*/
|
||||
public enum KoreanRegionEnum {
|
||||
GANGWON("10", "강원도", "강원"),
|
||||
GYEONGGI("20", "경기도", "경기"),
|
||||
GYEONGSANGNAM("30", "경상남도", "경남"),
|
||||
GYEONGSANGBUK("40", "경상북도", "경북"),
|
||||
GWANGJU("50", "광주광역시", "광주"),
|
||||
DAEGU("60", "대구광역시", "대구"),
|
||||
DAEJEON("70", "대전광역시", "대전"),
|
||||
BUSAN("80", "부산광역시", "부산"),
|
||||
SEOUL("90", "서울특별시", "서울"),
|
||||
SEJONG("100", "세종특별자치시", "세종"),
|
||||
ULSAN("110", "울산광역시", "울산"),
|
||||
INCHEON("120", "인천광역시", "인천"),
|
||||
JEOLLANAM("130", "전라남도", "전남"),
|
||||
JEOLLABUK("140", "전라북도", "전북"),
|
||||
JEJU("150", "제주특별자치도", "제주"),
|
||||
CHUNGCHEONGNAM("160", "충청남도", "충남"),
|
||||
CHUNGCHEONGBUK("170", "충청북도", "충북");
|
||||
|
||||
private final String order;
|
||||
private final String fullName;
|
||||
private final String shortName;
|
||||
|
||||
KoreanRegionEnum(String order, String fullName, String shortName) {
|
||||
this.order = order;
|
||||
this.fullName = fullName;
|
||||
this.shortName = shortName;
|
||||
}
|
||||
|
||||
public static KoreanRegionEnum fromOrder(String order) {
|
||||
for (KoreanRegionEnum region : values()) {
|
||||
if (region.getOrder().equals(order)) {
|
||||
return region;
|
||||
}
|
||||
}
|
||||
throw new IllegalArgumentException("No enum constant with order: " + order);
|
||||
}
|
||||
|
||||
public String getOrder() {
|
||||
return order;
|
||||
}
|
||||
public String getFullName() {
|
||||
return fullName;
|
||||
}
|
||||
public String getShortName() {
|
||||
return shortName;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -161,6 +161,8 @@ public class VEInstrAsgnmVO extends ComDefaultVO implements Serializable {
|
||||
|
||||
private String cmmNotifyOrd; //평균점수
|
||||
|
||||
private String selectRsdneQuery; // 지역쿼리
|
||||
|
||||
|
||||
|
||||
public String getMemoCn() {
|
||||
@ -799,5 +801,11 @@ public class VEInstrAsgnmVO extends ComDefaultVO implements Serializable {
|
||||
public void setCmmNotifyOrd(String cmmNotifyOrd) {
|
||||
this.cmmNotifyOrd = cmmNotifyOrd;
|
||||
}
|
||||
public String getSelectRsdneQuery() {
|
||||
return selectRsdneQuery;
|
||||
}
|
||||
public void setSelectRsdneQuery(String selectRsdneQuery) {
|
||||
this.selectRsdneQuery = selectRsdneQuery;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -315,6 +315,8 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
|
||||
////////////////paging///////////////
|
||||
|
||||
private String selectPagingListQuery;
|
||||
private String selectRsdneQuery;
|
||||
private String searchRsdne;
|
||||
private String orderByQuery;
|
||||
|
||||
//운영신청 목록 셀렉트박스 검색구분자
|
||||
@ -374,6 +376,18 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
|
||||
public void setSelectPagingListQuery(String selectPagingListQuery) {
|
||||
this.selectPagingListQuery = selectPagingListQuery;
|
||||
}
|
||||
public String getSelectRsdneQuery() {
|
||||
return selectRsdneQuery;
|
||||
}
|
||||
public void setSelectRsdneQuery(String selectRsdneQuery) {
|
||||
this.selectRsdneQuery = selectRsdneQuery;
|
||||
}
|
||||
public String getSearchRsdne() {
|
||||
return searchRsdne;
|
||||
}
|
||||
public void setSearchRsdne(String searchRsdne) {
|
||||
this.searchRsdne = searchRsdne;
|
||||
}
|
||||
public String getOrderByQuery() {
|
||||
return orderByQuery;
|
||||
}
|
||||
|
||||
@ -27,6 +27,8 @@ public class VEInstrDetailVO extends ComDefaultVO implements Serializable {
|
||||
private String lastUpdtPnttm; // 수정일시
|
||||
private String lastUpdusrId; // 수정자
|
||||
|
||||
private String searchRsdne; // 수정자
|
||||
|
||||
private String checkTopSum;
|
||||
private String weekCnt;
|
||||
private List<String> userIdList = new ArrayList<String>();
|
||||
@ -299,6 +301,12 @@ public class VEInstrDetailVO extends ComDefaultVO implements Serializable {
|
||||
public void setLastUpdusrId(String lastUpdusrId) {
|
||||
this.lastUpdusrId = lastUpdusrId;
|
||||
}
|
||||
public String getSearchRsdne() {
|
||||
return searchRsdne;
|
||||
}
|
||||
public void setSearchRsdne(String searchRsdne) {
|
||||
this.searchRsdne = searchRsdne;
|
||||
}
|
||||
public String getInstrDiv() {
|
||||
return instrDiv;
|
||||
}
|
||||
|
||||
@ -68,4 +68,6 @@ public interface VEPrcsAplctPrdService {
|
||||
|
||||
List<VEPrcsDetailVO> selectOneDayBeforeTrainingStartDate(VEPrcsDetailVO vEPrcsDetailVO);
|
||||
|
||||
List<VEPrcsDetailVO> selectCfnPagingList4Fndth(VEPrcsDetailVO vEPrcsDetailVO) throws Exception;
|
||||
|
||||
}
|
||||
|
||||
@ -79,6 +79,11 @@ public class VEPrcsAplctPrdDAO extends EgovAbstractDAO {
|
||||
return tlist;
|
||||
}
|
||||
|
||||
public List<VEPrcsDetailVO> selectCfnPagingList4Fndth(VEPrcsDetailVO paramVO) throws Exception {
|
||||
List<VEPrcsDetailVO> tlist = (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectCfnPagingList4Fndth", paramVO);
|
||||
return tlist;
|
||||
}
|
||||
|
||||
public VEPrcsDetailVO selectDetailNewOne(VEPrcsDetailVO paramVO) throws Exception {
|
||||
return (VEPrcsDetailVO) select("VEPrcsAplctPrdDAO.selectDetailNewOne", paramVO);
|
||||
}
|
||||
|
||||
@ -71,6 +71,11 @@ public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService {
|
||||
return vEPrcsAplctPrdDAO.selectPagingList4Fndth(paramVO);
|
||||
}
|
||||
|
||||
|
||||
public List<VEPrcsDetailVO> selectCfnPagingList4Fndth(VEPrcsDetailVO paramVO) throws Exception{
|
||||
return vEPrcsAplctPrdDAO.selectCfnPagingList4Fndth(paramVO);
|
||||
}
|
||||
|
||||
//R
|
||||
public VEPrcsDetailVO selectDetailNewOne(VEPrcsDetailVO paramVO) throws Exception {
|
||||
return vEPrcsAplctPrdDAO.selectDetailNewOne(paramVO);
|
||||
|
||||
@ -17,6 +17,8 @@ import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import com.epapyrus.common.util.StringUtils;
|
||||
|
||||
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
||||
import kcc.com.cmm.ComDefaultCodeVO;
|
||||
import kcc.com.cmm.LoginVO;
|
||||
@ -24,6 +26,7 @@ import kcc.com.cmm.service.EgovCmmUseService;
|
||||
import kcc.com.cmm.service.EgovFileMngService;
|
||||
import kcc.com.cmm.service.EgovFileMngUtil;
|
||||
import kcc.com.cmm.spring.data.util.ExcelUtil;
|
||||
import kcc.com.cmm.util.KoreanRegionEnum;
|
||||
import kcc.com.utl.user.service.CheckLoginUtil;
|
||||
import kcc.kccadr.cmm.CmmUtil;
|
||||
import kcc.let.utl.fcc.service.EgovCryptoUtil;
|
||||
@ -170,12 +173,21 @@ public class EduCnfrmMngAdultController {
|
||||
vEEduAplctVO.setLctrDivCd("20"); //성인강의
|
||||
vEEduAplctVO.setAprvlCd("60"); //확정코드
|
||||
|
||||
// 지역검색
|
||||
/* if(StringUtils.isNotEmpty(vEEduAplctVO.getSearchRsdne()))
|
||||
{
|
||||
// KoreanRegionEnum Class 참고
|
||||
// VEA017 코드 번호만 넘기면 경상남도, 경남과 같은 값을 return함
|
||||
// return "AND rsdne like '%' || '"+fullName+"' || '%' OR rsdne like '%' || '"+shortName+"' || '%' ";
|
||||
vEEduAplctVO.setSelectRsdneQuery(this.getRsdneQueryStr(vEEduAplctVO.getSearchRsdne()));
|
||||
}*/
|
||||
|
||||
if(!"".equals(vEEduAplctVO.getSearchInstrNm())) {
|
||||
vEEduAplctVO.setSearchInstrNm(egovCryptoUtil.encrypt(vEEduAplctVO.getSearchInstrNm()));
|
||||
}
|
||||
|
||||
System.out.println("vEEduAplctVO.getAprvlCd()");
|
||||
System.out.println(vEEduAplctVO.getAprvlCd());
|
||||
System.out.println("vEEduAplctVO.getSearchRsdne()");
|
||||
System.out.println(vEEduAplctVO.getSearchRsdne());
|
||||
|
||||
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectTngrRsltPagingList(vEEduAplctVO);
|
||||
VEEduAplctVO vo = new VEEduAplctVO();
|
||||
@ -198,6 +210,16 @@ public class EduCnfrmMngAdultController {
|
||||
return "oprtn/adultVisitEdu/eduCnfrmMngList";
|
||||
}
|
||||
|
||||
private String getRsdneQueryStr(String searchRsdne) {
|
||||
KoreanRegionEnum region = KoreanRegionEnum.fromOrder(searchRsdne);
|
||||
|
||||
String fullName = region.getFullName();
|
||||
String shortName = region.getShortName();
|
||||
|
||||
// return String.format("AND rsdne like '%' || '%s'|| '%' OR rsdne like '%' || '%s'|| '%' ", fullName, shortName);
|
||||
return "AND (rsdne like '"+fullName+"' || '%' OR rsdne like '"+shortName+"' || '%' )";
|
||||
}
|
||||
|
||||
/**
|
||||
* 교육배치관리 상세 화면
|
||||
*/
|
||||
@ -311,10 +333,16 @@ public class EduCnfrmMngAdultController {
|
||||
//String s_userCheckNInfo = checkLoginUtil.userCheckNInfo(model, request);
|
||||
//if (!"".equals(s_userCheckNInfo)) return s_userCheckNInfo;
|
||||
|
||||
System.out.println("vEEduAplctVO.getSearchRsdne() : "+vEEduAplctVO.getSearchRsdne());
|
||||
|
||||
|
||||
String searchRsdne = vEEduAplctVO.getSearchRsdne();
|
||||
//로그인 처리====================================
|
||||
//0.step0
|
||||
//해당 처시 정보 가져오기 (온라인 오프라인 여부 및 신청내용 확인)
|
||||
vEEduAplctVO = vEEduAplctService.selectDetailChasi(vEEduAplctVO);
|
||||
|
||||
|
||||
System.out.println(vEEduAplctVO.getEduSlctCd()); //10-온라인, 20-오프라인
|
||||
System.out.println(vEEduAplctVO.getAplctCn()); //신청내용
|
||||
System.out.println(vEInstrAsgnmVO.getInstrNm()); //검색강사
|
||||
@ -326,6 +354,9 @@ public class EduCnfrmMngAdultController {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
System.out.println("vEEduAplctVO.getAplctCn()"); //신청내용
|
||||
|
||||
//1.step1.신청내용과 맞는 선호분야를 가진 강사를 가져온다.
|
||||
@ -356,6 +387,14 @@ public class EduCnfrmMngAdultController {
|
||||
|
||||
}
|
||||
|
||||
// 지역검색
|
||||
if(StringUtils.isNotEmpty(searchRsdne))
|
||||
{
|
||||
// KoreanRegionEnum Class 참고
|
||||
// VEA017 코드 번호만 넘기면 경상남도, 경남과 같은 값을 return함
|
||||
// return "AND rsdne like '%' || '"+fullName+"' || '%' OR rsdne like '%' || '"+shortName+"' || '%' ";
|
||||
vEInstrAsgnmVO.setSelectRsdneQuery(this.getRsdneQueryStr(searchRsdne));
|
||||
}
|
||||
vEInstrAsgnmVO.setYr(vEEduAplctVO.getEduHopeDt().substring(0,4));
|
||||
vEInstrAsgnmVO.setSearchQuery(s_searchQuery);
|
||||
List<VEInstrAsgnmVO> selectVEInstrAsgnmVOList = vEAsgnmMIX2023Service.selectInstrAsgnmList_202311_adult(vEInstrAsgnmVO);
|
||||
|
||||
@ -1676,7 +1676,7 @@ public class CndtnPrcsInfoMngController {
|
||||
//vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모
|
||||
|
||||
}
|
||||
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.selectPagingList4Fndth(vEPrcsDetailVO);
|
||||
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.selectCfnPagingList4Fndth(vEPrcsDetailVO);
|
||||
|
||||
//3.pageing step3
|
||||
paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo);
|
||||
|
||||
@ -310,7 +310,7 @@ public class FndthPrcsAplctPrdMngController {
|
||||
//vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모
|
||||
|
||||
}
|
||||
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.selectPagingList4Fndth(vEPrcsDetailVO);
|
||||
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.selectCfnPagingList4Fndth(vEPrcsDetailVO);
|
||||
|
||||
//3.pageing step3
|
||||
paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo);
|
||||
|
||||
@ -938,6 +938,9 @@
|
||||
)
|
||||
|
||||
WHERE 1 =1
|
||||
<isNotEmpty property="selectRsdneQuery">
|
||||
$selectRsdneQuery$
|
||||
</isNotEmpty>
|
||||
AND b.user_id =a.user_id
|
||||
AND b.use_yn ='Y'
|
||||
AND b.INSTR_DIV ='20'
|
||||
|
||||
@ -2605,6 +2605,7 @@
|
||||
AND b.edu_chasi_ord = i.edu_chasi_ord
|
||||
GROUP BY i.edu_aplct_ord , i.edu_chasi_ord
|
||||
),0) AS rowNo
|
||||
, e.rsdne as rsdne
|
||||
|
||||
FROM ve_edu_aplct a
|
||||
, ve_edu_chasi b
|
||||
@ -2733,6 +2734,11 @@
|
||||
$checkListQuery$
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="selectRsdneQuery">
|
||||
$selectRsdneQuery$
|
||||
</isNotEmpty>
|
||||
|
||||
|
||||
<isEqual property="searchSubmitYn" compareValue="Y">
|
||||
AND AA.CNT <![CDATA[ >= ]]> 1
|
||||
</isEqual>
|
||||
|
||||
@ -403,6 +403,78 @@
|
||||
|
||||
|
||||
|
||||
ORDER BY 1
|
||||
|
||||
<isEmpty property="orderByQuery">
|
||||
, a.prcs_aplct_prd_ord desc
|
||||
</isEmpty>
|
||||
<isNotEmpty property="orderByQuery">
|
||||
, $orderByQuery$
|
||||
</isNotEmpty>
|
||||
|
||||
|
||||
/*
|
||||
LIMIT recordCountPerPage OFFSET firstIndex
|
||||
*/
|
||||
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 기반강화, 기소유예 확정 L page -->
|
||||
<select id="VEPrcsAplctPrdDAO.selectCfnPagingList4Fndth" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
|
||||
/* VEPrcsAplctPrdDAO.selectCfnPagingList4Fndth */
|
||||
SELECT
|
||||
COUNT(1) OVER() AS totCnt ,
|
||||
<include refid="VEPrcsAplctPrdDAO.select_column_name"/>
|
||||
, (SELECT user_nm FROM comvnusermaster WHERE esntl_id = a.frst_register_id) as frstRegisterNm
|
||||
, (SELECT orignl_file_nm FROM lettnfiledetail WHERE atch_file_id = a.atch_file_id LIMIT 1) as atchFileNm
|
||||
, b.prcs_nm as prcsNm
|
||||
, b.prcs_div as prcsDiv
|
||||
|
||||
, (SELECT COUNT(*)
|
||||
FROM ve_edu_aplct x
|
||||
WHERE x.prcs_ord = a.prcs_aplct_prd_ord
|
||||
AND x.sbmt_yn='Y'
|
||||
AND x.aprvl_cd != 40 /*취소된 신청자 제거*/
|
||||
AND x.aprvl_cd != 30 /*취소된 신청자 제거*/
|
||||
) AS nosCnt1
|
||||
/*
|
||||
신청자 정보
|
||||
*/
|
||||
|
||||
FROM
|
||||
<include refid="VEPrcsAplctPrdDAO.table_name"/> a
|
||||
, ve_prcs b
|
||||
|
||||
WHERE
|
||||
1=1
|
||||
AND a.prcs_ord=b.prcs_ord
|
||||
|
||||
|
||||
<isNotEmpty property="selectPagingListQuery">
|
||||
$selectPagingListQuery$
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="lctrDivCd">
|
||||
AND a.lctr_div_cd=#lctrDivCd#
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="prcsAplctPrdOrd">
|
||||
AND a.prcs_aplct_prd_ord=#prcsAplctPrdOrd#
|
||||
</isNotEmpty>
|
||||
/*교육확정목록을 조회하기 위한 조건문*/
|
||||
<isNotEmpty property="ddlnCd">
|
||||
AND a.ddln_cd = #ddlnCd#
|
||||
</isNotEmpty>
|
||||
|
||||
<isNotEmpty property="searchKeyword">
|
||||
AND b.prcs_nm LIKE '%'|| #searchKeyword# ||'%'
|
||||
</isNotEmpty>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
ORDER BY 1
|
||||
|
||||
<isEmpty property="orderByQuery">
|
||||
|
||||
@ -560,8 +560,6 @@
|
||||
</div>
|
||||
<div class="util_right">
|
||||
<input type="text" id="searchInsttNm" name="searchInsttNm" class="search_input" placeholder="검색어를 입력하세요" value="${vEEduAplctVO.searchInsttNm}" 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 class="list_top_1">
|
||||
@ -585,8 +583,24 @@
|
||||
<div class="calendar_wrap">
|
||||
<input type="text" class="calendar" title="종료일 선택" id="searchEndDt" name="searchEndDt" value="<c:out value='${vEEduAplctVO.searchEndDt}'/>">
|
||||
</div>
|
||||
<button class="btn_type08" onclick="fncGoList(); return false;">검색</button>
|
||||
<button class="btn_type03" onclick="fncReset(this); return false;">초기화</button>
|
||||
</div>
|
||||
</div>
|
||||
<%--
|
||||
<div class="list_top_2">
|
||||
<div class="util_left">
|
||||
<p>지역검색</p>
|
||||
</div>
|
||||
<div class="util_right">
|
||||
<ve:select codeId="VEA017" name="searchRsdne" id="searchRsdne" css="class='sel_type1'"
|
||||
selectedValue="${vEEduAplctVO.searchRsdne}" defaultValue=''
|
||||
defaultText='전체'
|
||||
/>
|
||||
<button class="btn_type08" onclick="fncGoList(); return false;">검색</button>
|
||||
<button class="btn_type03" onclick="fncReset(this); return false;">초기화</button>
|
||||
</div>
|
||||
</div> --%>
|
||||
</div>
|
||||
<!-- //list_top -->
|
||||
|
||||
|
||||
@ -132,6 +132,10 @@
|
||||
<div class="util_left">
|
||||
<p>강사검색</p>
|
||||
</div>
|
||||
<ve:select codeId="VEA017" name="searchRsdne" id="searchRsdne" css="class='sel_type1'"
|
||||
selectedValue="${vEEduAplctVO.searchRsdne}" defaultValue=''
|
||||
defaultText='지역전체'
|
||||
/>
|
||||
<%-- <ve:select codeId="VE0008" name="searchEduSlctAreaCd" id="searchEduSlctAreaCd" css="class='sel_type1'" --%>
|
||||
<%-- selectedText="${vEEduAplctVO.rsdne}" defaultValue='' --%>
|
||||
<%-- defaultText='전체' --%>
|
||||
|
||||
@ -252,7 +252,7 @@
|
||||
<th>교육구분코드</th>
|
||||
<th>과정명</th>
|
||||
<th>교육기간</th>
|
||||
<th>신청자/정원</th>
|
||||
<th>승인자/정원</th>
|
||||
<th>상태</th>
|
||||
<th>강사배정</th>
|
||||
<!-- <th>공개여부</th> -->
|
||||
|
||||
Loading…
Reference in New Issue
Block a user