diff --git a/src/main/java/kcc/com/cmm/ComDefaultVO.java b/src/main/java/kcc/com/cmm/ComDefaultVO.java index fabc2e78..733fdc8e 100644 --- a/src/main/java/kcc/com/cmm/ComDefaultVO.java +++ b/src/main/java/kcc/com/cmm/ComDefaultVO.java @@ -1,866 +1,897 @@ -package kcc.com.cmm; - -import java.io.Serializable; - -import org.apache.commons.lang3.builder.ToStringBuilder; - -/** - * @Class Name : ComDefaultVO.java - * @Description : ComDefaultVO class - * @Modification Information - * @ - * @ 수정일 수정자 수정내용 - * @ ------- -------- --------------------------- - * @ 2009.02.01 조재영 최초 생성 - * - * @author 공통서비스 개발팀 조재영 - * @since 2009.02.01 - * @version 1.0 - * @see - * - */ -public class ComDefaultVO implements Serializable { - - private static final long serialVersionUID = -6062858939907510631L; - - private int rowNo; - - /** 검색조건 */ - private String searchCondition = ""; - - /** 검색Keyword */ - private String searchKeyword = ""; - - /** 검색Keyword */ - private String searchEncKeyword = ""; - - /** 검색사용여부 */ - private String searchUseYn = ""; - - /** 현재페이지 */ - private int pageIndex = 1; - - /** 페이지갯수 */ - private int pageUnit = 10; - - /** 페이지사이즈 */ - private int pageSize = 10; - - /** firstIndex */ - private int firstIndex = 1; - - /** lastIndex */ - private int lastIndex = 1; - - /** recordCountPerPage */ - private int recordCountPerPage = 10; - - /** 검색KeywordFrom */ - private String searchKeywordFrom = ""; - - /** 검색KeywordTo */ - private String searchKeywordTo = ""; - private String searchClass; - - /** 엑셀용 */ - private String excelYn = ""; - - private String siteId = ""; - - private String siteNm = ""; - - private String searchConditionSite; - - private String sortOver = "A"; //재정렬시 차순(A:오름차순 , D:내림차순) - - private String seCd = ""; //게시판 구분 및 게시판ID추가 구분 - - private int sort = 0; - - private int beSort = 0; //이전 sort번호 - - private int totCnt = 0; - - private String searchSortCnd = ""; // 정렬 항목 - private String searchSortOrd = ""; // 정렬 구분(오름/내림) - - private String searchNm = ""; //상세검색 이름 - - private String tempSortNum ; - - - private String searchStartDt; //검색시작일 - - private String searchEndDt; //검색종료일 - - private String searchSmbtStartDt; //신청일자 검색시작일 - - private String searchSmbtEndDt; //신청 검색종료일 - - private String searchStartSpareDt1; //예비1 검색일 시작일 - - private String searchEndSpareDt1; //예비1 검색일 종료일 - - private String searchStartSpareDt2; //예비2 검색일 시작일 - - private String searchEndSpareDt2; //예비2 검색일 종료일 - - private String searchStatus; //진행상태 - - private String searchSelStatus; //셀렉트 진행상태 - - private String[] searchStatusArr; //검색상태 - - private String[] searchNotStatusArr; //검색상태 - - private String searchMonth; //검색월선택 - - - private String searchYear; //검색월선택 - - private String searchSbmtId ; // 결제자 검색 - private String searchScholDivCd ; // 학교구분검색 - private String[] searchScholDivCdArr ; // 학교구분검색 - private String searchEduSlctAreaCd ; // 지역구분검색 - private String searchEduSlctAreaCd2 ; // 지역구분검색 - 저작권체험교실 관리자 운영현황관리 - private String searchInsttDivCd ; // 지역구분검색 - private String searchEduSlctCd ; // 지역구분검색 - - private String searchAsgnmAprvlCd; - private String searchEduHopeStartDt; - private String searchEduHopeEndDt; - - private String searchSubmitYn; - - private String searchStratAprvlPnttm; - private String searchEndAprvlPnttm; - - private String searchQlfctEndYn; //강사 위촉해촉 여부 - private String searcDivCd; //강사 구분(입문,전문,내부 등등 VE0018) - - private String[] searchStateStatusArr; //처리상태코드 검색 array - private String searchStateYear; - - private String searchAplctChk; - - private String searchChsYn; //교육 선정 여부 - - private String mode; - - private String searchStartSbmtPnttm; - private String searchEndSbmtPnttm; - - private String searchScholNm; - - private String searchInsttNm; // - - private String searchCpyAprvlCd; //저작권체험 관리 목록 상태 검색 - - private String searchChrgNm; - - private String searchTableJoin; - - private String searchInstrNm; - - private String searchFullName; //교육콘텐츠 신청자 검색 - - private String searchAcmdtCnt; //숙박신청 건수 목록 조회시 사용 - - private String searchAdminUpdtYn; //교육신청 관리자가 수정한 건 조회시 사용 - - private String searchDashboard; - - private String searchQuery; - - private String searchStartRegistPnttm; - private String searchEndRegistPnttm; - - public int getBeSort() { - return beSort; - } - - public void setBeSort(int beSort) { - this.beSort = beSort; - } - - public int getFirstIndex() { - return firstIndex; - } - - public void setFirstIndex(int firstIndex) { - this.firstIndex = firstIndex; - } - - public int getLastIndex() { - return lastIndex; - } - - public void setLastIndex(int lastIndex) { - this.lastIndex = lastIndex; - } - - public int getRecordCountPerPage() { - return recordCountPerPage; - } - - public void setRecordCountPerPage(int recordCountPerPage) { - this.recordCountPerPage = recordCountPerPage; - } - - public String getSearchCondition() { - return searchCondition; - } - - public void setSearchCondition(String searchCondition) { - this.searchCondition = searchCondition; - } - - public String getSearchKeyword() { - return searchKeyword; - } - - public void setSearchKeyword(String searchKeyword) { - this.searchKeyword = searchKeyword; - } - - public String getSearchUseYn() { - return searchUseYn; - } - - public void setSearchUseYn(String searchUseYn) { - this.searchUseYn = searchUseYn; - } - - public int getPageIndex() { - return pageIndex; - } - - public void setPageIndex(int pageIndex) { - this.pageIndex = pageIndex; - } - - public int getPageUnit() { - return pageUnit; - } - - public void setPageUnit(int pageUnit) { - this.pageUnit = pageUnit; - } - - public int getPageSize() { - return pageSize; - } - - public void setPageSize(int pageSize) { - this.pageSize = pageSize; - } - - public String toString() { - return ToStringBuilder.reflectionToString(this); - } - - - /** - * searchKeywordFrom attribute를 리턴한다. - * @return String - */ - public String getSearchKeywordFrom() { - return searchKeywordFrom; - } - - /** - * searchKeywordFrom attribute 값을 설정한다. - * @param searchKeywordFrom String - */ - public void setSearchKeywordFrom(String searchKeywordFrom) { - this.searchKeywordFrom = searchKeywordFrom; - } - - /** - * searchKeywordTo attribute를 리턴한다. - * @return String - */ - public String getSearchKeywordTo() { - return searchKeywordTo; - } - - /** - * searchKeywordTo attribute 값을 설정한다. - * @param searchKeywordTo String - */ - public void setSearchKeywordTo(String searchKeywordTo) { - this.searchKeywordTo = searchKeywordTo; - } - - public String getSiteId() { - return siteId; - } - - public void setSiteId(String siteId) { - this.siteId = siteId; - } - - public String getSortOver() { - return sortOver; - } - - public void setSortOver(String sortOver) { - this.sortOver = sortOver; - } - - public String getSiteNm() { - return siteNm; - } - - public void setSiteNm(String siteNm) { - this.siteNm = siteNm; - } - - public String getSearchConditionSite() { - return searchConditionSite; - } - - public void setSearchConditionSite(String searchConditionSite) { - this.searchConditionSite = searchConditionSite; - } - - public String getSeCd() { - return seCd; - } - - public void setSeCd(String seCd) { - this.seCd = seCd; - } - - public int getSort() { - return sort; - } - - public void setSort(int sort) { - this.sort = sort; - } - - public int getTotCnt() { - return totCnt; - } - - public void setTotCnt(int totCnt) { - this.totCnt = totCnt; - } - - public String getSearchSortCnd() { - return searchSortCnd; - } - - public void setSearchSortCnd(String searchSortCnd) { - this.searchSortCnd = searchSortCnd; - } - - public String getSearchSortOrd() { - return searchSortOrd; - } - - public void setSearchSortOrd(String searchSortOrd) { - this.searchSortOrd = searchSortOrd; - } - - public String getTempSortNum() { - return tempSortNum; - } - - public void setTempSortNum(String tempSortNum) { - this.tempSortNum = tempSortNum; - } - - public String getSearchNm() { - return searchNm; - } - - public void setSearchNm(String searchNm) { - this.searchNm = searchNm; - } - - public static long getSerialversionuid() { - return serialVersionUID; - } - - public String getSearchStartDt() { - return searchStartDt; - } - - public void setSearchStartDt(String searchStartDt) { - this.searchStartDt = searchStartDt; - } - - public String getSearchEndDt() { - return searchEndDt; - } - - public void setSearchEndDt(String searchEndDt) { - this.searchEndDt = searchEndDt; - } - - public String getSearchStatus() { - return searchStatus; - } - - public void setSearchStatus(String searchStatus) { - this.searchStatus = searchStatus; - } - - public String getSearchMonth() { - return searchMonth; - } - - public void setSearchMonth(String searchMonth) { - this.searchMonth = searchMonth; - } - - public String[] getSearchStatusArr() { - String[]returnArr; - //int returnSize = this.searchStatusArr.length; - int returnSize = 0; - try { - returnSize = this.searchStatusArr.length; - }catch(NullPointerException ex) { - System.out.println("NullPointerException"); - //ex.printStackTrace(); - } - - /* FIX */ - if(returnSize > 0){ - returnArr = new String[returnSize]; - - for(int i=0; i < returnSize; i++){ - returnArr[i] = this.searchStatusArr[i]; - } - - return returnArr; - - }else{ - return null; - } - - //return searchStatusArr; - } - - public void setSearchStatusArr(String[] searchStatusArr) { - this.searchStatusArr = searchStatusArr; - } - - public String getExcelYn() { - return excelYn; - } - - public void setExcelYn(String excelYn) { - this.excelYn = excelYn; - } - - public String getSearchEncKeyword() { - return searchEncKeyword; - } - - public void setSearchEncKeyword(String searchEncKeyword) { - this.searchEncKeyword = searchEncKeyword; - } - - public String getSearchSelStatus() { - return searchSelStatus; - } - - public void setSearchSelStatus(String searchSelStatus) { - this.searchSelStatus = searchSelStatus; - } - - public String getSearchSbmtId() { - return searchSbmtId; - } - - public void setSearchSbmtId(String searchSbmtId) { - this.searchSbmtId = searchSbmtId; - } - - public String getMode() { - return mode; - } - - public void setMode(String mode) { - this.mode = mode; - } - - public int getRowNo() { - return rowNo; - } - - public void setRowNo(int rowNo) { - this.rowNo = rowNo; - } - - public String getSearchStartSpareDt1() { - return searchStartSpareDt1; - } - - public void setSearchStartSpareDt1(String searchStartSpareDt1) { - this.searchStartSpareDt1 = searchStartSpareDt1; - } - - public String getSearchEndSpareDt1() { - return searchEndSpareDt1; - } - - public void setSearchEndSpareDt1(String searchEndSpareDt1) { - this.searchEndSpareDt1 = searchEndSpareDt1; - } - - public String getSearchStartSpareDt2() { - return searchStartSpareDt2; - } - - public void setSearchStartSpareDt2(String searchStartSpareDt2) { - this.searchStartSpareDt2 = searchStartSpareDt2; - } - - public String getSearchEndSpareDt2() { - return searchEndSpareDt2; - } - - public void setSearchEndSpareDt2(String searchEndSpareDt2) { - this.searchEndSpareDt2 = searchEndSpareDt2; - } - - public String getSearchYear() { - return searchYear; - } - - public void setSearchYear(String searchYear) { - this.searchYear = searchYear; - } - - public String getSearchClass() { - return searchClass; - } - - public void setSearchClass(String searchClass) { - this.searchClass = searchClass; - } - - public String getSearchSmbtStartDt() { - return searchSmbtStartDt; - } - - public void setSearchSmbtStartDt(String searchSmbtStartDt) { - this.searchSmbtStartDt = searchSmbtStartDt; - } - - public String getSearchSmbtEndDt() { - return searchSmbtEndDt; - } - - public void setSearchSmbtEndDt(String searchSmbtEndDt) { - this.searchSmbtEndDt = searchSmbtEndDt; - } - - public String getSearchScholDivCd() { - return searchScholDivCd; - } - - public void setSearchScholDivCd(String searchScholDivCd) { - this.searchScholDivCd = searchScholDivCd; - } - - public String getSearchEduSlctAreaCd() { - return searchEduSlctAreaCd; - } - - public void setSearchEduSlctAreaCd(String searchEduSlctAreaCd) { - this.searchEduSlctAreaCd = searchEduSlctAreaCd; - } - - public String getSearchInsttDivCd() { - return searchInsttDivCd; - } - - public void setSearchInsttDivCd(String searchInsttDivCd) { - this.searchInsttDivCd = searchInsttDivCd; - } - - public String getSearchEduSlctCd() { - return searchEduSlctCd; - } - - public void setSearchEduSlctCd(String searchEduSlctCd) { - this.searchEduSlctCd = searchEduSlctCd; - } - - public String[] getSearchNotStatusArr() { - return searchNotStatusArr; - } - - public void setSearchNotStatusArr(String[] searchNotStatusArr) { - this.searchNotStatusArr = searchNotStatusArr; - } - - public String[] getSearchScholDivCdArr() { - return searchScholDivCdArr; - } - - public void setSearchScholDivCdArr(String[] searchScholDivCdArr) { - this.searchScholDivCdArr = searchScholDivCdArr; - } - - - /** - * @return the searchEduHopeStartDt - */ - public String getSearchEduHopeStartDt() { - return searchEduHopeStartDt; - } - - /** - * @param searchEduHopeStartDt the searchEduHopeStartDt to set - */ - public void setSearchEduHopeStartDt(String searchEduHopeStartDt) { - this.searchEduHopeStartDt = searchEduHopeStartDt; - } - - /** - * @return the searchEduHopeEndDt - */ - public String getSearchEduHopeEndDt() { - return searchEduHopeEndDt; - } - - /** - * @param searchEduHopeEndDt the searchEduHopeEndDt to set - */ - public void setSearchEduHopeEndDt(String searchEduHopeEndDt) { - this.searchEduHopeEndDt = searchEduHopeEndDt; - } - - /** - * @return the searchSubmitYn - */ - public String getSearchSubmitYn() { - return searchSubmitYn; - } - - /** - * @param searchSubmitYn the searchSubmitYn to set - */ - public void setSearchSubmitYn(String searchSubmitYn) { - this.searchSubmitYn = searchSubmitYn; - } - - /** - * @return the searchStratAprvlPnttm - */ - public String getSearchStratAprvlPnttm() { - return searchStratAprvlPnttm; - } - - /** - * @param searchStratAprvlPnttm the searchStratAprvlPnttm to set - */ - public void setSearchStratAprvlPnttm(String searchStratAprvlPnttm) { - this.searchStratAprvlPnttm = searchStratAprvlPnttm; - } - - /** - * @return the searchEndAprvlPnttm - */ - public String getSearchEndAprvlPnttm() { - return searchEndAprvlPnttm; - } - - /** - * @param searchEndAprvlPnttm the searchEndAprvlPnttm to set - */ - public void setSearchEndAprvlPnttm(String searchEndAprvlPnttm) { - this.searchEndAprvlPnttm = searchEndAprvlPnttm; - } - - public String getSearchAsgnmAprvlCd() { - return searchAsgnmAprvlCd; - } - - public void setSearchAsgnmAprvlCd(String searchAsgnmAprvlCd) { - this.searchAsgnmAprvlCd = searchAsgnmAprvlCd; - } - - public String getSearchQlfctEndYn() { - return searchQlfctEndYn; - } - - public void setSearchQlfctEndYn(String searchQlfctEndYn) { - this.searchQlfctEndYn = searchQlfctEndYn; - } - - public String getSearcDivCd() { - return searcDivCd; - } - - public void setSearcDivCd(String searcDivCd) { - this.searcDivCd = searcDivCd; - } - - public String[] getSearchStateStatusArr() { - return searchStateStatusArr; - } - - public void setSearchStateStatusArr(String[] searchStateStatusArr) { - this.searchStateStatusArr = searchStateStatusArr; - } - - public String getSearchStateYear() { - return searchStateYear; - } - - public void setSearchStateYear(String searchStateYear) { - this.searchStateYear = searchStateYear; - } - - public String getSearchAplctChk() { - return searchAplctChk; - } - - public void setSearchAplctChk(String searchAplctChk) { - this.searchAplctChk = searchAplctChk; - } - - public String getSearchChsYn() { - return searchChsYn; - } - - public void setSearchChsYn(String searchChsYn) { - this.searchChsYn = searchChsYn; - } - - public String getSearchStartSbmtPnttm() { - return searchStartSbmtPnttm; - } - - public void setSearchStartSbmtPnttm(String searchStartSbmtPnttm) { - this.searchStartSbmtPnttm = searchStartSbmtPnttm; - } - - public String getSearchEndSbmtPnttm() { - return searchEndSbmtPnttm; - } - - public void setSearchEndSbmtPnttm(String searchEndSbmtPnttm) { - this.searchEndSbmtPnttm = searchEndSbmtPnttm; - } - - public String getSearchScholNm() { - return searchScholNm; - } - - public void setSearchScholNm(String searchScholNm) { - this.searchScholNm = searchScholNm; - } - - public String getSearchCpyAprvlCd() { - return searchCpyAprvlCd; - } - - public void setSearchCpyAprvlCd(String searchCpyAprvlCd) { - this.searchCpyAprvlCd = searchCpyAprvlCd; - } - - public String getSearchChrgNm() { - return searchChrgNm; - } - - public void setSearchChrgNm(String searchChrgNm) { - this.searchChrgNm = searchChrgNm; - } - - public String getSearchTableJoin() { - return searchTableJoin; - } - - public void setSearchTableJoin(String searchTableJoin) { - this.searchTableJoin = searchTableJoin; - } - - public String getSearchEduSlctAreaCd2() { - return searchEduSlctAreaCd2; - } - - public void setSearchEduSlctAreaCd2(String searchEduSlctAreaCd2) { - this.searchEduSlctAreaCd2 = searchEduSlctAreaCd2; - } - - public String getSearchInstrNm() { - return searchInstrNm; - } - - public void setSearchInstrNm(String searchInstrNm) { - this.searchInstrNm = searchInstrNm; - } - - public String getSearchFullName() { - return searchFullName; - } - - public void setSearchFullName(String searchFullName) { - this.searchFullName = searchFullName; - } - - public String getSearchAcmdtCnt() { - return searchAcmdtCnt; - } - - public void setSearchAcmdtCnt(String searchAcmdtCnt) { - this.searchAcmdtCnt = searchAcmdtCnt; - } - - public String getSearchAdminUpdtYn() { - return searchAdminUpdtYn; - } - - public void setSearchAdminUpdtYn(String searchAdminUpdtYn) { - this.searchAdminUpdtYn = searchAdminUpdtYn; - } - - public String getSearchDashboard() { - return searchDashboard; - } - - public void setSearchDashboard(String searchDashboard) { - this.searchDashboard = searchDashboard; - } - - public String getSearchInsttNm() { - return searchInsttNm; - } - - public void setSearchInsttNm(String searchInsttNm) { - this.searchInsttNm = searchInsttNm; - } - - public String getSearchQuery() { - return searchQuery; - } - - public void setSearchQuery(String searchQuery) { - this.searchQuery = searchQuery; - } - - public String getSearchStartRegistPnttm() { - return searchStartRegistPnttm; - } - - public void setSearchStartRegistPnttm(String searchStartRegistPnttm) { - this.searchStartRegistPnttm = searchStartRegistPnttm; - } - - public String getSearchEndRegistPnttm() { - return searchEndRegistPnttm; - } - - public void setSearchEndRegistPnttm(String searchEndRegistPnttm) { - this.searchEndRegistPnttm = searchEndRegistPnttm; - } - -} +package kcc.com.cmm; + +import java.io.Serializable; + +import org.apache.commons.lang3.builder.ToStringBuilder; + +/** + * @Class Name : ComDefaultVO.java + * @Description : ComDefaultVO class + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 조재영 최초 생성 + * + * @author 공통서비스 개발팀 조재영 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +public class ComDefaultVO implements Serializable { + + private static final long serialVersionUID = -6062858939907510631L; + + private int rowNo; + + /** 검색조건 */ + private String searchCondition = ""; + + /** 검색Keyword */ + private String searchKeyword = ""; + + /** 검색Keyword */ + private String searchEncKeyword = ""; + + /** 검색사용여부 */ + private String searchUseYn = ""; + + /** 현재페이지 */ + private int pageIndex = 1; + + /** 페이지갯수 */ + private int pageUnit = 10; + + /** 페이지사이즈 */ + private int pageSize = 10; + + /** firstIndex */ + private int firstIndex = 1; + + /** lastIndex */ + private int lastIndex = 1; + + /** recordCountPerPage */ + private int recordCountPerPage = 10; + + /** 검색KeywordFrom */ + private String searchKeywordFrom = ""; + + /** 검색KeywordTo */ + private String searchKeywordTo = ""; + private String searchClass; + + /** 엑셀용 */ + private String excelYn = ""; + + private String siteId = ""; + + private String siteNm = ""; + + private String searchConditionSite; + + private String sortOver = "A"; //재정렬시 차순(A:오름차순 , D:내림차순) + + private String seCd = ""; //게시판 구분 및 게시판ID추가 구분 + + private int sort = 0; + + private int beSort = 0; //이전 sort번호 + + private int totCnt = 0; + + private String searchSortCnd = ""; // 정렬 항목 + private String searchSortOrd = ""; // 정렬 구분(오름/내림) + + private String searchNm = ""; //상세검색 이름 + + private String tempSortNum ; + + + private String searchStartDt; //검색시작일 + + private String searchEndDt; //검색종료일 + + private String searchSmbtStartDt; //신청일자 검색시작일 + + private String searchSmbtEndDt; //신청 검색종료일 + + private String searchStartSpareDt1; //예비1 검색일 시작일 + + private String searchEndSpareDt1; //예비1 검색일 종료일 + + private String searchStartSpareDt2; //예비2 검색일 시작일 + + private String searchEndSpareDt2; //예비2 검색일 종료일 + + private String searchStatus; //진행상태 + + private String searchSelStatus; //셀렉트 진행상태 + + private String[] searchStatusArr; //검색상태 + + private String[] searchNotStatusArr; //검색상태 + + private String searchMonth; //검색월선택 + + private String searchReqStateCd; //의뢰상태 + + private String searchEduStateCd; //교육상태 + + private String searchSex; //성별 + + + + private String searchYear; //검색월선택 + + private String searchSbmtId ; // 결제자 검색 + private String searchScholDivCd ; // 학교구분검색 + private String[] searchScholDivCdArr ; // 학교구분검색 + private String searchEduSlctAreaCd ; // 지역구분검색 + private String searchEduSlctAreaCd2 ; // 지역구분검색 - 저작권체험교실 관리자 운영현황관리 + private String searchInsttDivCd ; // 지역구분검색 + private String searchEduSlctCd ; // 지역구분검색 + + private String searchAsgnmAprvlCd; + private String searchEduHopeStartDt; + private String searchEduHopeEndDt; + + private String searchSubmitYn; + + private String searchStratAprvlPnttm; + private String searchEndAprvlPnttm; + + private String searchQlfctEndYn; //강사 위촉해촉 여부 + private String searcDivCd; //강사 구분(입문,전문,내부 등등 VE0018) + + private String[] searchStateStatusArr; //처리상태코드 검색 array + private String searchStateYear; + + private String searchAplctChk; + + private String searchChsYn; //교육 선정 여부 + + private String mode; + + private String searchStartSbmtPnttm; + private String searchEndSbmtPnttm; + + private String searchScholNm; + + private String searchInsttNm; // + + private String searchCpyAprvlCd; //저작권체험 관리 목록 상태 검색 + + private String searchChrgNm; + + private String searchTableJoin; + + private String searchInstrNm; + + private String searchFullName; //교육콘텐츠 신청자 검색 + + private String searchAcmdtCnt; //숙박신청 건수 목록 조회시 사용 + + private String searchAdminUpdtYn; //교육신청 관리자가 수정한 건 조회시 사용 + + private String searchDashboard; + + private String searchQuery; + + private String searchStartRegistPnttm; + private String searchEndRegistPnttm; + + public int getBeSort() { + return beSort; + } + + public void setBeSort(int beSort) { + this.beSort = beSort; + } + + public int getFirstIndex() { + return firstIndex; + } + + public void setFirstIndex(int firstIndex) { + this.firstIndex = firstIndex; + } + + public int getLastIndex() { + return lastIndex; + } + + public void setLastIndex(int lastIndex) { + this.lastIndex = lastIndex; + } + + public int getRecordCountPerPage() { + return recordCountPerPage; + } + + public void setRecordCountPerPage(int recordCountPerPage) { + this.recordCountPerPage = recordCountPerPage; + } + + public String getSearchCondition() { + return searchCondition; + } + + public void setSearchCondition(String searchCondition) { + this.searchCondition = searchCondition; + } + + public String getSearchKeyword() { + return searchKeyword; + } + + public void setSearchKeyword(String searchKeyword) { + this.searchKeyword = searchKeyword; + } + + public String getSearchUseYn() { + return searchUseYn; + } + + public void setSearchUseYn(String searchUseYn) { + this.searchUseYn = searchUseYn; + } + + public int getPageIndex() { + return pageIndex; + } + + public void setPageIndex(int pageIndex) { + this.pageIndex = pageIndex; + } + + public int getPageUnit() { + return pageUnit; + } + + public void setPageUnit(int pageUnit) { + this.pageUnit = pageUnit; + } + + public int getPageSize() { + return pageSize; + } + + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + + public String toString() { + return ToStringBuilder.reflectionToString(this); + } + + + /** + * searchKeywordFrom attribute를 리턴한다. + * @return String + */ + public String getSearchKeywordFrom() { + return searchKeywordFrom; + } + + /** + * searchKeywordFrom attribute 값을 설정한다. + * @param searchKeywordFrom String + */ + public void setSearchKeywordFrom(String searchKeywordFrom) { + this.searchKeywordFrom = searchKeywordFrom; + } + + /** + * searchKeywordTo attribute를 리턴한다. + * @return String + */ + public String getSearchKeywordTo() { + return searchKeywordTo; + } + + /** + * searchKeywordTo attribute 값을 설정한다. + * @param searchKeywordTo String + */ + public void setSearchKeywordTo(String searchKeywordTo) { + this.searchKeywordTo = searchKeywordTo; + } + + public String getSiteId() { + return siteId; + } + + public void setSiteId(String siteId) { + this.siteId = siteId; + } + + public String getSortOver() { + return sortOver; + } + + public void setSortOver(String sortOver) { + this.sortOver = sortOver; + } + + public String getSiteNm() { + return siteNm; + } + + public void setSiteNm(String siteNm) { + this.siteNm = siteNm; + } + + public String getSearchConditionSite() { + return searchConditionSite; + } + + public void setSearchConditionSite(String searchConditionSite) { + this.searchConditionSite = searchConditionSite; + } + + public String getSeCd() { + return seCd; + } + + public void setSeCd(String seCd) { + this.seCd = seCd; + } + + public int getSort() { + return sort; + } + + public void setSort(int sort) { + this.sort = sort; + } + + public int getTotCnt() { + return totCnt; + } + + public void setTotCnt(int totCnt) { + this.totCnt = totCnt; + } + + public String getSearchSortCnd() { + return searchSortCnd; + } + + public void setSearchSortCnd(String searchSortCnd) { + this.searchSortCnd = searchSortCnd; + } + + public String getSearchSortOrd() { + return searchSortOrd; + } + + public void setSearchSortOrd(String searchSortOrd) { + this.searchSortOrd = searchSortOrd; + } + + public String getTempSortNum() { + return tempSortNum; + } + + public void setTempSortNum(String tempSortNum) { + this.tempSortNum = tempSortNum; + } + + public String getSearchNm() { + return searchNm; + } + + public void setSearchNm(String searchNm) { + this.searchNm = searchNm; + } + + public static long getSerialversionuid() { + return serialVersionUID; + } + + public String getSearchStartDt() { + return searchStartDt; + } + + public void setSearchStartDt(String searchStartDt) { + this.searchStartDt = searchStartDt; + } + + public String getSearchEndDt() { + return searchEndDt; + } + + public void setSearchEndDt(String searchEndDt) { + this.searchEndDt = searchEndDt; + } + + public String getSearchStatus() { + return searchStatus; + } + + public void setSearchStatus(String searchStatus) { + this.searchStatus = searchStatus; + } + + public String getSearchMonth() { + return searchMonth; + } + + public void setSearchMonth(String searchMonth) { + this.searchMonth = searchMonth; + } + + public String getSearchReqStateCd() { + return searchReqStateCd; + } + + public void setSearchReqStateCd(String searchReqStateCd) { + this.searchReqStateCd = searchReqStateCd; + } + + public String getSearchEduStateCd() { + return searchEduStateCd; + } + + public void setSearchEduStateCd(String searchEduStateCd) { + this.searchEduStateCd = searchEduStateCd; + } + + public String getSearchSex() { + return searchSex; + } + + public void setSearchSex(String searchSex) { + this.searchSex = searchSex; + } + + public String[] getSearchStatusArr() { + String[]returnArr; + //int returnSize = this.searchStatusArr.length; + int returnSize = 0; + try { + returnSize = this.searchStatusArr.length; + }catch(NullPointerException ex) { + System.out.println("NullPointerException"); + //ex.printStackTrace(); + } + + /* FIX */ + if(returnSize > 0){ + returnArr = new String[returnSize]; + + for(int i=0; i < returnSize; i++){ + returnArr[i] = this.searchStatusArr[i]; + } + + return returnArr; + + }else{ + return null; + } + + //return searchStatusArr; + } + + public void setSearchStatusArr(String[] searchStatusArr) { + this.searchStatusArr = searchStatusArr; + } + + public String getExcelYn() { + return excelYn; + } + + public void setExcelYn(String excelYn) { + this.excelYn = excelYn; + } + + public String getSearchEncKeyword() { + return searchEncKeyword; + } + + public void setSearchEncKeyword(String searchEncKeyword) { + this.searchEncKeyword = searchEncKeyword; + } + + public String getSearchSelStatus() { + return searchSelStatus; + } + + public void setSearchSelStatus(String searchSelStatus) { + this.searchSelStatus = searchSelStatus; + } + + public String getSearchSbmtId() { + return searchSbmtId; + } + + public void setSearchSbmtId(String searchSbmtId) { + this.searchSbmtId = searchSbmtId; + } + + public String getMode() { + return mode; + } + + public void setMode(String mode) { + this.mode = mode; + } + + public int getRowNo() { + return rowNo; + } + + public void setRowNo(int rowNo) { + this.rowNo = rowNo; + } + + public String getSearchStartSpareDt1() { + return searchStartSpareDt1; + } + + public void setSearchStartSpareDt1(String searchStartSpareDt1) { + this.searchStartSpareDt1 = searchStartSpareDt1; + } + + public String getSearchEndSpareDt1() { + return searchEndSpareDt1; + } + + public void setSearchEndSpareDt1(String searchEndSpareDt1) { + this.searchEndSpareDt1 = searchEndSpareDt1; + } + + public String getSearchStartSpareDt2() { + return searchStartSpareDt2; + } + + public void setSearchStartSpareDt2(String searchStartSpareDt2) { + this.searchStartSpareDt2 = searchStartSpareDt2; + } + + public String getSearchEndSpareDt2() { + return searchEndSpareDt2; + } + + public void setSearchEndSpareDt2(String searchEndSpareDt2) { + this.searchEndSpareDt2 = searchEndSpareDt2; + } + + public String getSearchYear() { + return searchYear; + } + + public void setSearchYear(String searchYear) { + this.searchYear = searchYear; + } + + public String getSearchClass() { + return searchClass; + } + + public void setSearchClass(String searchClass) { + this.searchClass = searchClass; + } + + public String getSearchSmbtStartDt() { + return searchSmbtStartDt; + } + + public void setSearchSmbtStartDt(String searchSmbtStartDt) { + this.searchSmbtStartDt = searchSmbtStartDt; + } + + public String getSearchSmbtEndDt() { + return searchSmbtEndDt; + } + + public void setSearchSmbtEndDt(String searchSmbtEndDt) { + this.searchSmbtEndDt = searchSmbtEndDt; + } + + public String getSearchScholDivCd() { + return searchScholDivCd; + } + + public void setSearchScholDivCd(String searchScholDivCd) { + this.searchScholDivCd = searchScholDivCd; + } + + public String getSearchEduSlctAreaCd() { + return searchEduSlctAreaCd; + } + + public void setSearchEduSlctAreaCd(String searchEduSlctAreaCd) { + this.searchEduSlctAreaCd = searchEduSlctAreaCd; + } + + public String getSearchInsttDivCd() { + return searchInsttDivCd; + } + + public void setSearchInsttDivCd(String searchInsttDivCd) { + this.searchInsttDivCd = searchInsttDivCd; + } + + public String getSearchEduSlctCd() { + return searchEduSlctCd; + } + + public void setSearchEduSlctCd(String searchEduSlctCd) { + this.searchEduSlctCd = searchEduSlctCd; + } + + public String[] getSearchNotStatusArr() { + return searchNotStatusArr; + } + + public void setSearchNotStatusArr(String[] searchNotStatusArr) { + this.searchNotStatusArr = searchNotStatusArr; + } + + public String[] getSearchScholDivCdArr() { + return searchScholDivCdArr; + } + + public void setSearchScholDivCdArr(String[] searchScholDivCdArr) { + this.searchScholDivCdArr = searchScholDivCdArr; + } + + + /** + * @return the searchEduHopeStartDt + */ + public String getSearchEduHopeStartDt() { + return searchEduHopeStartDt; + } + + /** + * @param searchEduHopeStartDt the searchEduHopeStartDt to set + */ + public void setSearchEduHopeStartDt(String searchEduHopeStartDt) { + this.searchEduHopeStartDt = searchEduHopeStartDt; + } + + /** + * @return the searchEduHopeEndDt + */ + public String getSearchEduHopeEndDt() { + return searchEduHopeEndDt; + } + + /** + * @param searchEduHopeEndDt the searchEduHopeEndDt to set + */ + public void setSearchEduHopeEndDt(String searchEduHopeEndDt) { + this.searchEduHopeEndDt = searchEduHopeEndDt; + } + + /** + * @return the searchSubmitYn + */ + public String getSearchSubmitYn() { + return searchSubmitYn; + } + + /** + * @param searchSubmitYn the searchSubmitYn to set + */ + public void setSearchSubmitYn(String searchSubmitYn) { + this.searchSubmitYn = searchSubmitYn; + } + + /** + * @return the searchStratAprvlPnttm + */ + public String getSearchStratAprvlPnttm() { + return searchStratAprvlPnttm; + } + + /** + * @param searchStratAprvlPnttm the searchStratAprvlPnttm to set + */ + public void setSearchStratAprvlPnttm(String searchStratAprvlPnttm) { + this.searchStratAprvlPnttm = searchStratAprvlPnttm; + } + + /** + * @return the searchEndAprvlPnttm + */ + public String getSearchEndAprvlPnttm() { + return searchEndAprvlPnttm; + } + + /** + * @param searchEndAprvlPnttm the searchEndAprvlPnttm to set + */ + public void setSearchEndAprvlPnttm(String searchEndAprvlPnttm) { + this.searchEndAprvlPnttm = searchEndAprvlPnttm; + } + + public String getSearchAsgnmAprvlCd() { + return searchAsgnmAprvlCd; + } + + public void setSearchAsgnmAprvlCd(String searchAsgnmAprvlCd) { + this.searchAsgnmAprvlCd = searchAsgnmAprvlCd; + } + + public String getSearchQlfctEndYn() { + return searchQlfctEndYn; + } + + public void setSearchQlfctEndYn(String searchQlfctEndYn) { + this.searchQlfctEndYn = searchQlfctEndYn; + } + + public String getSearcDivCd() { + return searcDivCd; + } + + public void setSearcDivCd(String searcDivCd) { + this.searcDivCd = searcDivCd; + } + + public String[] getSearchStateStatusArr() { + return searchStateStatusArr; + } + + public void setSearchStateStatusArr(String[] searchStateStatusArr) { + this.searchStateStatusArr = searchStateStatusArr; + } + + public String getSearchStateYear() { + return searchStateYear; + } + + public void setSearchStateYear(String searchStateYear) { + this.searchStateYear = searchStateYear; + } + + public String getSearchAplctChk() { + return searchAplctChk; + } + + public void setSearchAplctChk(String searchAplctChk) { + this.searchAplctChk = searchAplctChk; + } + + public String getSearchChsYn() { + return searchChsYn; + } + + public void setSearchChsYn(String searchChsYn) { + this.searchChsYn = searchChsYn; + } + + public String getSearchStartSbmtPnttm() { + return searchStartSbmtPnttm; + } + + public void setSearchStartSbmtPnttm(String searchStartSbmtPnttm) { + this.searchStartSbmtPnttm = searchStartSbmtPnttm; + } + + public String getSearchEndSbmtPnttm() { + return searchEndSbmtPnttm; + } + + public void setSearchEndSbmtPnttm(String searchEndSbmtPnttm) { + this.searchEndSbmtPnttm = searchEndSbmtPnttm; + } + + public String getSearchScholNm() { + return searchScholNm; + } + + public void setSearchScholNm(String searchScholNm) { + this.searchScholNm = searchScholNm; + } + + public String getSearchCpyAprvlCd() { + return searchCpyAprvlCd; + } + + public void setSearchCpyAprvlCd(String searchCpyAprvlCd) { + this.searchCpyAprvlCd = searchCpyAprvlCd; + } + + public String getSearchChrgNm() { + return searchChrgNm; + } + + public void setSearchChrgNm(String searchChrgNm) { + this.searchChrgNm = searchChrgNm; + } + + public String getSearchTableJoin() { + return searchTableJoin; + } + + public void setSearchTableJoin(String searchTableJoin) { + this.searchTableJoin = searchTableJoin; + } + + public String getSearchEduSlctAreaCd2() { + return searchEduSlctAreaCd2; + } + + public void setSearchEduSlctAreaCd2(String searchEduSlctAreaCd2) { + this.searchEduSlctAreaCd2 = searchEduSlctAreaCd2; + } + + public String getSearchInstrNm() { + return searchInstrNm; + } + + public void setSearchInstrNm(String searchInstrNm) { + this.searchInstrNm = searchInstrNm; + } + + public String getSearchFullName() { + return searchFullName; + } + + public void setSearchFullName(String searchFullName) { + this.searchFullName = searchFullName; + } + + public String getSearchAcmdtCnt() { + return searchAcmdtCnt; + } + + public void setSearchAcmdtCnt(String searchAcmdtCnt) { + this.searchAcmdtCnt = searchAcmdtCnt; + } + + public String getSearchAdminUpdtYn() { + return searchAdminUpdtYn; + } + + public void setSearchAdminUpdtYn(String searchAdminUpdtYn) { + this.searchAdminUpdtYn = searchAdminUpdtYn; + } + + public String getSearchDashboard() { + return searchDashboard; + } + + public void setSearchDashboard(String searchDashboard) { + this.searchDashboard = searchDashboard; + } + + public String getSearchInsttNm() { + return searchInsttNm; + } + + public void setSearchInsttNm(String searchInsttNm) { + this.searchInsttNm = searchInsttNm; + } + + public String getSearchQuery() { + return searchQuery; + } + + public void setSearchQuery(String searchQuery) { + this.searchQuery = searchQuery; + } + + public String getSearchStartRegistPnttm() { + return searchStartRegistPnttm; + } + + public void setSearchStartRegistPnttm(String searchStartRegistPnttm) { + this.searchStartRegistPnttm = searchStartRegistPnttm; + } + + public String getSearchEndRegistPnttm() { + return searchEndRegistPnttm; + } + + public void setSearchEndRegistPnttm(String searchEndRegistPnttm) { + this.searchEndRegistPnttm = searchEndRegistPnttm; + } + +} diff --git a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java index df0f6ef6..37019c33 100644 --- a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java +++ b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/web/CndtnTrgtMngController.java @@ -1,878 +1,878 @@ -package kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.web; - -import java.time.LocalDate; -import java.time.Period; -import java.time.format.DateTimeFormatter; -import java.util.ArrayList; -import java.util.List; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpSession; - -import org.apache.commons.lang3.StringUtils; -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.multipart.MultipartHttpServletRequest; -import org.springframework.web.servlet.ModelAndView; - -import egovframework.rte.fdl.idgnr.EgovIdGnrService; -import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; -import kcc.com.cmm.ComDefaultCodeVO; -import kcc.com.cmm.LoginVO; -import kcc.com.cmm.service.CmmnDetailCode; -import kcc.com.cmm.service.EgovCmmUseService; -import kcc.com.cmm.service.EgovFileMngService; -import kcc.com.cmm.service.FileVO; -import kcc.com.cmm.util.DateUtil; -import kcc.com.cmm.util.StringUtil; -import kcc.com.utl.user.service.CheckFileUtil; -import kcc.com.utl.user.service.CheckLoginUtil; -import kcc.let.uat.uia.service.SsoLoginVO; -import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService; -import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; -import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService; -import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService; -import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngService; -import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO; - -/** - * 기반강화연수(관리자) - * 기반강화연수에 관한 controller 클래스를 정의한다. - * @author 조용준 - * @since 2023.07.12 - * @version 1.0 - * @see - * - *
- * << 개정이력(Modification Information) >>
- *
- *   수정일      수정자           수정내용
- *  -------    --------    ---------------------------
- *   2021.12.16  조용준          최초 생성
- *
- * 
- */ - -@Controller -//@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn") -public class CndtnTrgtMngController { - - private static final Logger LOGGER = LoggerFactory.getLogger(CndtnTrgtMngController.class); - - //로그인 체크 util - @Resource(name = "checkLoginUtil") - private CheckLoginUtil checkLoginUtil; - - //과정 관리 - @Resource(name = "vEPrcsService") - private VEPrcsService vEPrcsService; - - //온라인콘텐츠과정 관리 - @Resource(name = "vEPrcsOnlnCntntService") - private VEPrcsOnlnCntntService vEPrcsOnlnCntntService; - - - //과정 관리 - @Resource(name = "cndtnTrgtInfoMngService") - private CndtnTrgtMngService cndtnTrgtInfoMngService; - - //교육과정순번 - @Resource(name="prcsGnrService") - private EgovIdGnrService prcsGnrService; - - //기소유예대상자 - @Resource(name="trgtOrdService") - private EgovIdGnrService trgtOrdService; - - //과정온라인콘텐츠순번 - @Resource(name="prcsOnlnGnrService") - private EgovIdGnrService prcsOnlnGnrService; - - - //과정차시 관리 - @Resource(name = "vEPrcsAplctPrdService") - private VEPrcsAplctPrdService vEPrcsAplctPrdService; - - - //파일 체크 util - @Resource(name = "checkFileUtil") - private CheckFileUtil checkFileUtil; - - - //파일정보의 관리 - @Resource(name = "EgovFileMngService") - private EgovFileMngService fileService; - - @Resource(name = "EgovCmmUseService") - private EgovCmmUseService egovCmmUseService; - - /* - - // 교육신청 서비스단 - @Resource(name = "AdjReqMgrService") - private AdjReqMgrService adjReqMgrService; - - // 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 = "egovCryptoUtil") - EgovCryptoUtil egovCryptoUtil; - - - @Resource(name="KccadrMgrUdtService") - private KccadrMgrUdtService kccadrMgrUdtService; - - // 교육신청 서비스단 - @Resource(name = "checkAdrProcessUtil") - private CheckAdrProcessUtil checkAdrProcessUtil; - */ - - - @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtList.do") - public String trgtList( - @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO - , ModelMap model - , HttpServletRequest request - ) throws Exception { - - //로그인 처리==================================== - //로그인 정보 가져오기 -// LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - - - String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); - if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; - - //로그인 처리==================================== - - - String userWork = this.getUserWork(request); - cndtnTrgtInfoMngVO.setSearchCondition(userWork); - - //1.pageing step1 - PaginationInfo paginationInfo = this.setCndtnPagingStep1(cndtnTrgtInfoMngVO); - - //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 - //paginationInfo.setRecordCountPerPage(10000); - - //2. pageing step2 - cndtnTrgtInfoMngVO = this.setCndtnPagingStep2(cndtnTrgtInfoMngVO, paginationInfo); - - //검색 조회 - if(StringUtil.isNotEmpty(cndtnTrgtInfoMngVO.getSearchKeyword())){ - - - String selectCondition = ""; - String searchStatus = cndtnTrgtInfoMngVO.getSearchStatus(); - - selectCondition = "AND a."+searchStatus+" LIKE CONCAT ('%', '" +cndtnTrgtInfoMngVO.getSearchKeyword() + "', '%')"; - cndtnTrgtInfoMngVO.setSearchQuery(selectCondition); - - } - -// List cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO); - List cndtnTrgtInfoMngVOList = null; - try { - - cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO); - } catch (Exception e) { - e.printStackTrace(); - // TODO: handle exception - } - - //3.pageing step3 - paginationInfo = this.setCndtnPagingStep3(cndtnTrgtInfoMngVOList, paginationInfo); - - model.addAttribute("paginationInfo", paginationInfo); - - - //대상 리스트, 페이징 정보 전달 - model.addAttribute("list", cndtnTrgtInfoMngVOList); - - - - - return "oprtn/cndtnSspnIdtmt/trgtList"; - } - - /** - * @methodName : getUserWork - * @author : 이호영 - * @date : 2023.11.07 - * @description : 사용자 권한이 관할청 담당자일때 userWork로 관할 가져오기 - * @param request - * @return - */ - private String getUserWork(HttpServletRequest request) { - - String userWork = ""; - HttpSession session = request.getSession(); - LoginVO loginVO = (LoginVO) session.getAttribute("LoginVO"); - String authority = loginVO.getAuthority(); - // 관할청 담당자일때 - if("ROLE_ADR_JRSDC".equals(authority)) { - userWork = loginVO.getUserWork(); - } - // TODO Auto-generated method stub - return userWork; - } - - @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtMngList.do") - public String trgtMngList( - @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO - , ModelMap model - , HttpServletRequest request - ) throws Exception { - - //로그인 처리==================================== - //로그인 정보 가져오기 - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - - System.out.println("loginVO.getAuthority() :: "+ loginVO.getAuthority()); - - String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); - if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; - - //로그인 처리==================================== - - //1.pageing step1 - PaginationInfo paginationInfo = this.setCndtnPagingStep1(cndtnTrgtInfoMngVO); - - //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 - //paginationInfo.setRecordCountPerPage(10000); - - //2. pageing step2 - cndtnTrgtInfoMngVO = this.setCndtnPagingStep2(cndtnTrgtInfoMngVO, paginationInfo); - - //검색 조회 - String selectCondition = ""; - if(StringUtil.isNotEmpty(cndtnTrgtInfoMngVO.getSearchKeyword())){ - String searchStatus = cndtnTrgtInfoMngVO.getSearchStatus(); -// selectCondition = "AND a."+searchStatus+" LIKE CONCAT ('%', '" +cndtnTrgtInfoMngVO.getSearchKeyword() + "', '%')"; - selectCondition = "AND a."+searchStatus+" LIKE '%" +cndtnTrgtInfoMngVO.getSearchKeyword() + "%'"; - cndtnTrgtInfoMngVO.setSearchQuery(selectCondition); - } - - System.out.println("cndtnTrgtInfoMngVO.getSearchSelStatus() : "+ cndtnTrgtInfoMngVO.getSearchSelStatus()); - - if(StringUtils.isNotEmpty(cndtnTrgtInfoMngVO.getSearchSelStatus())) - { - cndtnTrgtInfoMngVO.setSearchSelStatusToList(cndtnTrgtInfoMngVO.getSearchSelStatus()); - } - - List cndtnTrgtInfoMngVOList = null; - - try { - - cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO); - } catch (Exception e) { - e.printStackTrace(); - // TODO: handle exception - } - - //3.pageing step3 - paginationInfo = this.setCndtnPagingStep3(cndtnTrgtInfoMngVOList, paginationInfo); - - model.addAttribute("paginationInfo", paginationInfo); - - - //대상 리스트, 페이징 정보 전달 - model.addAttribute("list", cndtnTrgtInfoMngVOList); - - ComDefaultCodeVO codeParam = new ComDefaultCodeVO(); - codeParam.setCodeId("VEA008"); - List CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam); - model.addAttribute("CmmnDetailCodeList", CmmnDetailCodeList); - - return "oprtn/cndtnSspnIdtmt/trgtMngList"; - } - - /** - * @methodName : trgtCmpltList - * @author : 이호영 - * @date : 2023.10.20 - * @description : 대상자 이수 목록 - * @param cndtnTrgtInfoMngVO - * @param model - * @return - * @throws Exception - */ - @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtCmpltList.do") - public String trgtCmpltList( - @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO - , ModelMap model - ) throws Exception { - - //로그인 처리==================================== - //로그인 정보 가져오기 - - String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); - if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; - - //로그인 처리==================================== - - //1.pageing step1 - PaginationInfo paginationInfo = this.setCndtnPagingStep1(cndtnTrgtInfoMngVO); - - //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 - //paginationInfo.setRecordCountPerPage(10000); - - //2. pageing step2 - cndtnTrgtInfoMngVO = this.setCndtnPagingStep2(cndtnTrgtInfoMngVO, paginationInfo); - - //검색 조회 - if(StringUtil.isNotEmpty(cndtnTrgtInfoMngVO.getSearchKeyword())){ - - - String selectCondition = ""; - String searchStatus = cndtnTrgtInfoMngVO.getSearchStatus(); - - selectCondition = "AND a."+searchStatus+" LIKE CONCAT ('%', '" +cndtnTrgtInfoMngVO.getSearchKeyword() + "', '%')"; - cndtnTrgtInfoMngVO.setSearchQuery(selectCondition); - - } - -// List cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO); - List cndtnTrgtInfoMngVOList = null; - try { - // 이수 조건 추가 - cndtnTrgtInfoMngVO.setEduStateCd("20"); - cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO); - } catch (Exception e) { - e.printStackTrace(); - // TODO: handle exception - } - - //3.pageing step3 - paginationInfo = this.setCndtnPagingStep3(cndtnTrgtInfoMngVOList, paginationInfo); - - model.addAttribute("paginationInfo", paginationInfo); - - - //대상 리스트, 페이징 정보 전달 - model.addAttribute("list", cndtnTrgtInfoMngVOList); - - return "oprtn/cndtnSspnIdtmt/trgtCmpltList"; - } - - /** - * 조건부기소유예대상자 등록 화면 - */ - //@RequestMapping("eduPrcsMngReg.do") - @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtReg.do") - public String cndtnEduPrcsMngReg( - @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO - , ModelMap model - , HttpServletRequest request - ) throws Exception { - - //로그인 처리==================================== - //로그인 정보 가져오기 - - String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); - if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; - - //로그인 처리==================================== - - String userWork = this.getUserWork(request); - model.addAttribute("userWork", userWork); - - - - ComDefaultCodeVO codeParam = new ComDefaultCodeVO(); - codeParam.setCodeId("VEA008"); - List CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam); - model.addAttribute("CmmnDetailCodeList", CmmnDetailCodeList); - - return "oprtn/cndtnSspnIdtmt/trgtReg"; - } - - /** - * 조건부기소유예과정 등록 - */ - @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtRegAjax.do") - public ModelAndView cndtnEduPrcsMngRegAjax( - @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO - , ModelMap model - , HttpServletRequest request - , final MultipartHttpServletRequest multiRequest - ) 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 로그인 정보 가져오기 - - - //step2.파일 처리==================================== - //파일 정상 처리 여부와 첨부 파일 정보 - //String atchFileId = this.takeFile(multiRequest, modelAndView, bmVO); - //파일 제한 수량 가져오기, 없으면 기본값 사용 - int i_file_limit = checkFileUtil.getLimitCount(request); // file count - int i_limit_size = checkFileUtil.getLimitSize(request); // file MB - String s_file_exts = checkFileUtil.getS_exts(); // file exts - - String s_scholSealAtchFileId = checkFileUtil.fileValCheckNdbInsert( - multiRequest, modelAndView - , "APLCT_" //file_name_prefix - , s_file_exts - , i_limit_size - , i_file_limit - ); //EXT, MB size and ea - - if ("ERROR".equals(s_scholSealAtchFileId)) return modelAndView; - - - // 사건번호 - // 형식 : - 예시로 A-서울중앙-100-23-1 경우 - // A (성인/미성년 구분), 서울중앙, 100, 23, 1 - // 성인 A / 미성년 Y, 검찰청명, 검찰청 고유번호, 연도, 접수번호 - - cndtnTrgtInfoMngVO.setReqNmbr(this.getReqNmbr(cndtnTrgtInfoMngVO)); - - cndtnTrgtInfoMngVO.setSspnIdtmtTrgtOrd(trgtOrdService.getNextStringId()); - cndtnTrgtInfoMngVO.setAtchFileId(s_scholSealAtchFileId); //학교장직인 첨부파일 - cndtnTrgtInfoMngVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id - cndtnTrgtInfoMngService.insert(cndtnTrgtInfoMngVO); - - - - - modelAndView.addObject("result", "success"); - - return modelAndView; - - } - - // 사건번호 - // 형식 : - 예시로 A-서울중앙-100-23-1 경우 - // A (성인/미성년 구분), 서울중앙, 100, 23, 1 - // 성인 A / 미성년 Y, 검찰청명, 검찰청 고유번호, 연도, 접수번호 - private String getReqNmbr(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { - - //성인 미성년 구분 - String adultWhether = getIsAdultInKorea(cndtnTrgtInfoMngVO.getdBirth()); - String reqNmbrTemp = adultWhether+"-"+cndtnTrgtInfoMngVO.getCmptntAthrt()+"-"+DateUtil.getStringToLocalDateYear(); - - int cnt = cndtnTrgtInfoMngService.findCntreqNmber("%" + reqNmbrTemp + "%"); - System.out.println(cnt); - System.out.println(cnt+1); - return reqNmbrTemp+"-"+(cnt+1); - - } - - /** - * @methodName : getIsAdultInKorea - * @author : 이호영 - * @date : 2023.11.07 - * @description : 성인이면 A, 미성년이면 Y - * @param birthDateString - * @return - */ - public static String getIsAdultInKorea(String birthDateString) { - String returnData = "Y"; - // 생년월일 포맷 정의 (예시: "yyyy-MM-dd") - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); - - // 문자열로부터 LocalDate 객체 생성 - LocalDate birthDate = LocalDate.parse(birthDateString, formatter); - - // 현재 날짜 얻기 - LocalDate now = LocalDate.now(); - - // 생년월일과 현재 날짜 사이의 기간 계산 - Period period = Period.between(birthDate, now); - System.out.println("period.getYears() : "+ period.getYears()); - if(period.getYears() >= 19) { - returnData="A"; - } - // 만 나이가 19세 이상인지 확인 - return returnData; - } - - /** - * 조건부기소유예과정 등록 - */ - @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtMdfyAjax.do") - public ModelAndView trgtMdfyAjax( - @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO - , ModelMap model - //, RedirectAttributes redirectAttributes - , HttpServletRequest request - , final MultipartHttpServletRequest multiRequest - ) 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 로그인 정보 가져오기 - - - //step2.첨부파일 체크 후 저장 하기 - String s_scholSealAtchFileId = ""; - s_scholSealAtchFileId = cndtnTrgtInfoMngVO.getAtchFileId(); - - //DB에서 실제 첨부파일 존재 여부 확인 - FileVO fileVO = new FileVO(); - fileVO.setAtchFileId(s_scholSealAtchFileId); - List result = fileService.selectFileInfs(fileVO); - if (result.size()<=0) { - s_scholSealAtchFileId = ""; - } - - - //step3.파일 처리==================================== - //파일 정상 처리 여부와 첨부 파일 정보 - //String atchFileId = this.takeFile(multiRequest, modelAndView, bmVO); - //파일 제한 수량 가져오기, 없으면 기본값 사용 - int i_file_limit = checkFileUtil.getLimitCount(request); // file count - int i_limit_size = checkFileUtil.getLimitSize(request); // file MB - String s_file_exts = checkFileUtil.getS_exts(); // file exts - - - //기존 파일 존재 여부에 따라서 insert or update 처리 - if ("".equals(s_scholSealAtchFileId)) { - //atchFileId = this.fileValCheckNdbInsert(multiRequest, modelAndView, checkFileUtil.getS_exts(), i_limit_size, i_file_limit); //EXT, MB size and ea - s_scholSealAtchFileId = checkFileUtil.fileValCheckNdbInsert( - multiRequest, modelAndView - , "APLCT_" - , s_file_exts - , i_limit_size - , i_file_limit - ); //EXT, MB size and ea - cndtnTrgtInfoMngVO.setAtchFileId(s_scholSealAtchFileId); - }else { - //atchFileId = this.fileValCheckNdbUpdate(multiRequest, modelAndView, checkFileUtil.getS_exts(), i_limit_size, i_file_limit, atchFileId); //EXT, MB size and ea - s_scholSealAtchFileId = checkFileUtil.fileValCheckNdbUpdate( - multiRequest, modelAndView - , "APLCT_" - , s_file_exts - , i_limit_size - , i_file_limit - , s_scholSealAtchFileId - ); //EXT, MB size and ea - } - - if ("ERROR".equals(s_scholSealAtchFileId)) return modelAndView; - - - - - cndtnTrgtInfoMngVO.setLastUpdusrId(loginVO.getUniqId()); //esntl_id - cndtnTrgtInfoMngService.update(cndtnTrgtInfoMngVO); - - - - - modelAndView.addObject("result", "success"); - - return modelAndView; - - } - /** - * 대상자목록 - */ - @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtDetail.do") - public String trgtDetail( - @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO - , ModelMap model - , HttpServletRequest request - ) throws Exception { - - //로그인 처리==================================== - //로그인 정보 가져오기 - - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - - //로그인 처리==================================== - - //과정 조회 - CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO); - model.addAttribute("info", cndtnTrgtInfoVO); - - String userWork = this.getUserWork(request); - model.addAttribute("userWork", userWork); - - - //파일 정보 가져오기 - FileVO fileVO = new FileVO(); - fileVO.setAtchFileId(cndtnTrgtInfoVO.getAtchFileId()); - List result = fileService.selectFileInfs(fileVO); - model.addAttribute("fileList", result); - model.addAttribute("fileListCnt", result.size()); - - return "oprtn/cndtnSspnIdtmt/trgtDetail"; - } - /** - * 조건부기소유예과정 수료자 상세화면 - */ - @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtCmpltDetail.do") - public String trgtCmpltDetail( - @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO - , ModelMap model - , HttpServletRequest request - ) throws Exception { - - //로그인 처리==================================== - //로그인 정보 가져오기 - - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - - //로그인 처리==================================== - - //과정 조회 - CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO); - model.addAttribute("info", cndtnTrgtInfoVO); - //세부과정 목록 조회 - - - List cndtnTrgtInfoMngVOList = new ArrayList(); - System.out.println(StringUtils.isEmpty(cndtnTrgtInfoMngVO.getTrgtNm()) || StringUtils.isEmpty(cndtnTrgtInfoMngVO.getdBirth())); - System.out.println("StringUtils.isEmpty(cndtnTrgtInfoMngVO.getTrgtNm()) : "+ StringUtils.isEmpty(cndtnTrgtInfoMngVO.getTrgtNm())); - System.out.println("StringUtils.isEmpty(cndtnTrgtInfoMngVO.getdBirth()) : "+ StringUtils.isEmpty(cndtnTrgtInfoMngVO.getdBirth())); - if(StringUtils.isNotEmpty(cndtnTrgtInfoMngVO.getTrgtNm()) || StringUtils.isNotEmpty(cndtnTrgtInfoMngVO.getdBirth())) - { - cndtnTrgtInfoMngVO.setFirstIndex(0); - cndtnTrgtInfoMngVO.setRecordCountPerPage(100000); - cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO); - } - model.addAttribute("list", cndtnTrgtInfoMngVOList); - - - return "oprtn/cndtnSspnIdtmt/trgtCmpltDetail"; - } - - /** - * 조건부기소유예과정 수정화면 - */ - @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtMdfy.do") - public String trgtMdfy( - @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO - , ModelMap model - , HttpServletRequest request - ) throws Exception { - - //로그인 처리==================================== - //로그인 정보 가져오기 - - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - - //로그인 처리==================================== - - //과정 조회 - CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO); - model.addAttribute("info", cndtnTrgtInfoVO); - - - // 관할청 공통코드 - ComDefaultCodeVO codeParam = new ComDefaultCodeVO(); - codeParam.setCodeId("VEA008"); - List CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam); - model.addAttribute("CmmnDetailCodeList", CmmnDetailCodeList); - - String userWork = this.getUserWork(request); - model.addAttribute("userWork", userWork); - - - //파일 정보 가져오기 - FileVO fileVO = new FileVO(); - fileVO.setAtchFileId(cndtnTrgtInfoVO.getAtchFileId()); - List result = fileService.selectFileInfs(fileVO); - model.addAttribute("fileList", result); - model.addAttribute("fileListCnt", result.size()); - - return "oprtn/cndtnSspnIdtmt/trgtMdfy"; - } - - - @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtMngMdfy.do") - public String trgtMngMdfy( - @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO - , ModelMap model - , HttpServletRequest request - ) throws Exception { - - //로그인 처리==================================== - //로그인 정보 가져오기 - - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - - //로그인 처리==================================== - - //과정 조회 - CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO); - model.addAttribute("info", cndtnTrgtInfoVO); - - - //파일 정보 가져오기 - FileVO fileVO = new FileVO(); - fileVO.setAtchFileId(cndtnTrgtInfoVO.getAtchFileId()); - List result = fileService.selectFileInfs(fileVO); - model.addAttribute("fileList", result); - model.addAttribute("fileListCnt", result.size()); - - - // 관할청 공통코드 - ComDefaultCodeVO codeParam = new ComDefaultCodeVO(); - codeParam.setCodeId("VEA008"); - List CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam); - model.addAttribute("CmmnDetailCodeList", CmmnDetailCodeList); - - return "oprtn/cndtnSspnIdtmt/trgtMngMdfy"; - } - - - - - - ////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // - // - // private function - // - // - - //페이징을 위한 처리 step1 - 페이징 기본 정보 설정 - private PaginationInfo setPagingStep1( - VEPrcsDetailVO p_vEPrcsDetailVO - )throws Exception{ - // pageing step1 - PaginationInfo paginationInfo = new PaginationInfo(); - paginationInfo.setCurrentPageNo(p_vEPrcsDetailVO.getPageIndex()); - paginationInfo.setRecordCountPerPage(p_vEPrcsDetailVO.getPageUnit()); - paginationInfo.setPageSize(p_vEPrcsDetailVO.getPageSize()); - - return paginationInfo; - } - - - //페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 및 검색 조건 초기화 - private VEPrcsDetailVO setPagingStep2( - VEPrcsDetailVO p_vEPrcsDetailVO - , PaginationInfo p_paginationInfo - )throws Exception{ - // pageing step2 - p_vEPrcsDetailVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex()); - p_vEPrcsDetailVO.setLastIndex(p_paginationInfo.getLastRecordIndex()); - p_vEPrcsDetailVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage()); - - if("".equals(p_vEPrcsDetailVO.getSearchSortCnd())){ //최초조회시 최신것 조회List - p_vEPrcsDetailVO.setSearchSortCnd("prcs_ord"); - p_vEPrcsDetailVO.setSearchSortOrd("desc"); - } - - return p_vEPrcsDetailVO; - } - - - //페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기 - private PaginationInfo setPagingStep3( - List p_vEPrcsDetailVOList - , PaginationInfo p_paginationInfo - )throws Exception{ - // pageing step3 - int totCnt = 0; - if(p_vEPrcsDetailVOList.size() > 0) totCnt = p_vEPrcsDetailVOList.get(0).getTotCnt(); - p_paginationInfo.setTotalRecordCount(totCnt); - - return p_paginationInfo; - } - //CndtnTrgtInfoMngVO - //페이징을 위한 처리 step1 - 페이징 기본 정보 설정 - private PaginationInfo setCndtnPagingStep1( - CndtnTrgtMngVO p_cndtnTrgtInfoMngVO - )throws Exception{ - // pageing step1 - PaginationInfo paginationInfo = new PaginationInfo(); - paginationInfo.setCurrentPageNo(p_cndtnTrgtInfoMngVO.getPageIndex()); - paginationInfo.setRecordCountPerPage(p_cndtnTrgtInfoMngVO.getPageUnit()); - paginationInfo.setPageSize(p_cndtnTrgtInfoMngVO.getPageSize()); - - return paginationInfo; - } - - - //페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 및 검색 조건 초기화 - private CndtnTrgtMngVO setCndtnPagingStep2( - CndtnTrgtMngVO p_cndtnTrgtInfoMngVO - , PaginationInfo p_paginationInfo - )throws Exception{ - // pageing step2 - p_cndtnTrgtInfoMngVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex()); - p_cndtnTrgtInfoMngVO.setLastIndex(p_paginationInfo.getLastRecordIndex()); - p_cndtnTrgtInfoMngVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage()); - - if("".equals(p_cndtnTrgtInfoMngVO.getSearchSortCnd())){ //최초조회시 최신것 조회List - p_cndtnTrgtInfoMngVO.setSearchSortCnd("prcs_ord"); - p_cndtnTrgtInfoMngVO.setSearchSortOrd("desc"); - } - - return p_cndtnTrgtInfoMngVO; - } - - - //페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기 - private PaginationInfo setCndtnPagingStep3( - List p_cndtnTrgtInfoMngVOList - , PaginationInfo p_paginationInfo - )throws Exception{ - // pageing step3 - int totCnt = 0; - if(p_cndtnTrgtInfoMngVOList.size() > 0) totCnt = p_cndtnTrgtInfoMngVOList.get(0).getTotCnt(); - p_paginationInfo.setTotalRecordCount(totCnt); - - return p_paginationInfo; - } -} +package kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.web; + +import java.time.LocalDate; +import java.time.Period; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.List; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpSession; + +import org.apache.commons.lang3.StringUtils; +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.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; + +import egovframework.rte.fdl.idgnr.EgovIdGnrService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; +import kcc.com.cmm.ComDefaultCodeVO; +import kcc.com.cmm.LoginVO; +import kcc.com.cmm.service.CmmnDetailCode; +import kcc.com.cmm.service.EgovCmmUseService; +import kcc.com.cmm.service.EgovFileMngService; +import kcc.com.cmm.service.FileVO; +import kcc.com.cmm.util.DateUtil; +import kcc.com.cmm.util.StringUtil; +import kcc.com.utl.user.service.CheckFileUtil; +import kcc.com.utl.user.service.CheckLoginUtil; +import kcc.let.uat.uia.service.SsoLoginVO; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService; +import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngService; +import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO; + +/** + * 기반강화연수(관리자) + * 기반강화연수에 관한 controller 클래스를 정의한다. + * @author 조용준 + * @since 2023.07.12 + * @version 1.0 + * @see + * + *
+ * << 개정이력(Modification Information) >>
+ *
+ *   수정일      수정자           수정내용
+ *  -------    --------    ---------------------------
+ *   2021.12.16  조용준          최초 생성
+ *
+ * 
+ */ + +@Controller +//@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn") +public class CndtnTrgtMngController { + + private static final Logger LOGGER = LoggerFactory.getLogger(CndtnTrgtMngController.class); + + //로그인 체크 util + @Resource(name = "checkLoginUtil") + private CheckLoginUtil checkLoginUtil; + + //과정 관리 + @Resource(name = "vEPrcsService") + private VEPrcsService vEPrcsService; + + //온라인콘텐츠과정 관리 + @Resource(name = "vEPrcsOnlnCntntService") + private VEPrcsOnlnCntntService vEPrcsOnlnCntntService; + + + //과정 관리 + @Resource(name = "cndtnTrgtInfoMngService") + private CndtnTrgtMngService cndtnTrgtInfoMngService; + + //교육과정순번 + @Resource(name="prcsGnrService") + private EgovIdGnrService prcsGnrService; + + //기소유예대상자 + @Resource(name="trgtOrdService") + private EgovIdGnrService trgtOrdService; + + //과정온라인콘텐츠순번 + @Resource(name="prcsOnlnGnrService") + private EgovIdGnrService prcsOnlnGnrService; + + + //과정차시 관리 + @Resource(name = "vEPrcsAplctPrdService") + private VEPrcsAplctPrdService vEPrcsAplctPrdService; + + + //파일 체크 util + @Resource(name = "checkFileUtil") + private CheckFileUtil checkFileUtil; + + + //파일정보의 관리 + @Resource(name = "EgovFileMngService") + private EgovFileMngService fileService; + + @Resource(name = "EgovCmmUseService") + private EgovCmmUseService egovCmmUseService; + + /* + + // 교육신청 서비스단 + @Resource(name = "AdjReqMgrService") + private AdjReqMgrService adjReqMgrService; + + // 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 = "egovCryptoUtil") + EgovCryptoUtil egovCryptoUtil; + + + @Resource(name="KccadrMgrUdtService") + private KccadrMgrUdtService kccadrMgrUdtService; + + // 교육신청 서비스단 + @Resource(name = "checkAdrProcessUtil") + private CheckAdrProcessUtil checkAdrProcessUtil; + */ + + + @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtList.do") + public String trgtList( + @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 +// LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; + + //로그인 처리==================================== + + + String userWork = this.getUserWork(request); + cndtnTrgtInfoMngVO.setSearchCondition(userWork); + + //1.pageing step1 + PaginationInfo paginationInfo = this.setCndtnPagingStep1(cndtnTrgtInfoMngVO); + + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + //paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + cndtnTrgtInfoMngVO = this.setCndtnPagingStep2(cndtnTrgtInfoMngVO, paginationInfo); + + //검색 조회 + if(StringUtil.isNotEmpty(cndtnTrgtInfoMngVO.getSearchKeyword())){ + + + String selectCondition = ""; + String searchStatus = cndtnTrgtInfoMngVO.getSearchStatus(); + + selectCondition = "AND a."+searchStatus+" LIKE CONCAT ('%', '" +cndtnTrgtInfoMngVO.getSearchKeyword() + "', '%')"; + cndtnTrgtInfoMngVO.setSearchQuery(selectCondition); + + } + +// List cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO); + List cndtnTrgtInfoMngVOList = null; + try { + + cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO); + } catch (Exception e) { + e.printStackTrace(); + // TODO: handle exception + } + + //3.pageing step3 + paginationInfo = this.setCndtnPagingStep3(cndtnTrgtInfoMngVOList, paginationInfo); + + model.addAttribute("paginationInfo", paginationInfo); + + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", cndtnTrgtInfoMngVOList); + + + + + return "oprtn/cndtnSspnIdtmt/trgtList"; + } + + /** + * @methodName : getUserWork + * @author : 이호영 + * @date : 2023.11.07 + * @description : 사용자 권한이 관할청 담당자일때 userWork로 관할 가져오기 + * @param request + * @return + */ + private String getUserWork(HttpServletRequest request) { + + String userWork = ""; + HttpSession session = request.getSession(); + LoginVO loginVO = (LoginVO) session.getAttribute("LoginVO"); + String authority = loginVO.getAuthority(); + // 관할청 담당자일때 + if("ROLE_ADR_JRSDC".equals(authority)) { + userWork = loginVO.getUserWork(); + } + // TODO Auto-generated method stub + return userWork; + } + + @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtMngList.do") + public String trgtMngList( + @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + System.out.println("loginVO.getAuthority() :: "+ loginVO.getAuthority()); + + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; + + //로그인 처리==================================== + + //1.pageing step1 + PaginationInfo paginationInfo = this.setCndtnPagingStep1(cndtnTrgtInfoMngVO); + + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + //paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + cndtnTrgtInfoMngVO = this.setCndtnPagingStep2(cndtnTrgtInfoMngVO, paginationInfo); + + //검색 조회 + String selectCondition = ""; + if(StringUtil.isNotEmpty(cndtnTrgtInfoMngVO.getSearchKeyword())){ + String searchStatus = cndtnTrgtInfoMngVO.getSearchStatus(); +// selectCondition = "AND a."+searchStatus+" LIKE CONCAT ('%', '" +cndtnTrgtInfoMngVO.getSearchKeyword() + "', '%')"; + selectCondition = "AND a."+searchStatus+" LIKE '%" +cndtnTrgtInfoMngVO.getSearchKeyword() + "%'"; + cndtnTrgtInfoMngVO.setSearchQuery(selectCondition); + } + + System.out.println("cndtnTrgtInfoMngVO.getSearchSelStatus() : "+ cndtnTrgtInfoMngVO.getSearchSelStatus()); + + if(StringUtils.isNotEmpty(cndtnTrgtInfoMngVO.getSearchSelStatus())) + { + cndtnTrgtInfoMngVO.setSearchSelStatusToList(cndtnTrgtInfoMngVO.getSearchSelStatus()); + } + + List cndtnTrgtInfoMngVOList = null; + + try { + + cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO); + } catch (Exception e) { + e.printStackTrace(); + // TODO: handle exception + } + + //3.pageing step3 + paginationInfo = this.setCndtnPagingStep3(cndtnTrgtInfoMngVOList, paginationInfo); + + model.addAttribute("paginationInfo", paginationInfo); + + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", cndtnTrgtInfoMngVOList); + + ComDefaultCodeVO codeParam = new ComDefaultCodeVO(); + codeParam.setCodeId("VEA008"); + List CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam); + model.addAttribute("CmmnDetailCodeList", CmmnDetailCodeList); + + return "oprtn/cndtnSspnIdtmt/trgtMngList"; + } + + /** + * @methodName : trgtCmpltList + * @author : 이호영 + * @date : 2023.10.20 + * @description : 대상자 이수 목록 + * @param cndtnTrgtInfoMngVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtCmpltList.do") + public String trgtCmpltList( + @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO + , ModelMap model + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; + + //로그인 처리==================================== + + //1.pageing step1 + PaginationInfo paginationInfo = this.setCndtnPagingStep1(cndtnTrgtInfoMngVO); + + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + //paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + cndtnTrgtInfoMngVO = this.setCndtnPagingStep2(cndtnTrgtInfoMngVO, paginationInfo); + + //검색 조회 + if(StringUtil.isNotEmpty(cndtnTrgtInfoMngVO.getSearchKeyword())){ + + + String selectCondition = ""; + String searchStatus = cndtnTrgtInfoMngVO.getSearchStatus(); + + selectCondition = "AND a."+searchStatus+" LIKE CONCAT ('%', '" +cndtnTrgtInfoMngVO.getSearchKeyword() + "', '%')"; + cndtnTrgtInfoMngVO.setSearchQuery(selectCondition); + + } + +// List cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO); + List cndtnTrgtInfoMngVOList = null; + try { + // 이수 조건 추가 + cndtnTrgtInfoMngVO.setEduStateCd("20"); + cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO); + } catch (Exception e) { + e.printStackTrace(); + // TODO: handle exception + } + + //3.pageing step3 + paginationInfo = this.setCndtnPagingStep3(cndtnTrgtInfoMngVOList, paginationInfo); + + model.addAttribute("paginationInfo", paginationInfo); + + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", cndtnTrgtInfoMngVOList); + + return "oprtn/cndtnSspnIdtmt/trgtCmpltList"; + } + + /** + * 조건부기소유예대상자 등록 화면 + */ + //@RequestMapping("eduPrcsMngReg.do") + @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtReg.do") + public String cndtnEduPrcsMngReg( + @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; + + //로그인 처리==================================== + + String userWork = this.getUserWork(request); + model.addAttribute("userWork", userWork); + + + + ComDefaultCodeVO codeParam = new ComDefaultCodeVO(); + codeParam.setCodeId("VEA008"); + List CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam); + model.addAttribute("CmmnDetailCodeList", CmmnDetailCodeList); + + return "oprtn/cndtnSspnIdtmt/trgtReg"; + } + + /** + * 조건부기소유예과정 등록 + */ + @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtRegAjax.do") + public ModelAndView cndtnEduPrcsMngRegAjax( + @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO + , ModelMap model + , HttpServletRequest request + , final MultipartHttpServletRequest multiRequest + ) 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 로그인 정보 가져오기 + + + //step2.파일 처리==================================== + //파일 정상 처리 여부와 첨부 파일 정보 + //String atchFileId = this.takeFile(multiRequest, modelAndView, bmVO); + //파일 제한 수량 가져오기, 없으면 기본값 사용 + int i_file_limit = checkFileUtil.getLimitCount(request); // file count + int i_limit_size = checkFileUtil.getLimitSize(request); // file MB + String s_file_exts = checkFileUtil.getS_exts(); // file exts + + String s_scholSealAtchFileId = checkFileUtil.fileValCheckNdbInsert( + multiRequest, modelAndView + , "APLCT_" //file_name_prefix + , s_file_exts + , i_limit_size + , i_file_limit + ); //EXT, MB size and ea + + if ("ERROR".equals(s_scholSealAtchFileId)) return modelAndView; + + + // 사건번호 + // 형식 : - 예시로 A-서울중앙-100-23-1 경우 + // A (성인/미성년 구분), 서울중앙, 100, 23, 1 + // 성인 A / 미성년 Y, 검찰청명, 검찰청 고유번호, 연도, 접수번호 + + cndtnTrgtInfoMngVO.setReqNmbr(this.getReqNmbr(cndtnTrgtInfoMngVO)); + + cndtnTrgtInfoMngVO.setSspnIdtmtTrgtOrd(trgtOrdService.getNextStringId()); + cndtnTrgtInfoMngVO.setAtchFileId(s_scholSealAtchFileId); //학교장직인 첨부파일 + cndtnTrgtInfoMngVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id + cndtnTrgtInfoMngService.insert(cndtnTrgtInfoMngVO); + + + + + modelAndView.addObject("result", "success"); + + return modelAndView; + + } + + // 사건번호 + // 형식 : - 예시로 A-서울중앙-100-23-1 경우 + // A (성인/미성년 구분), 서울중앙, 100, 23, 1 + // 성인 A / 미성년 Y, 검찰청명, 검찰청 고유번호, 연도, 접수번호 + private String getReqNmbr(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { + + //성인 미성년 구분 + String adultWhether = getIsAdultInKorea(cndtnTrgtInfoMngVO.getdBirth()); + String reqNmbrTemp = adultWhether+"-"+cndtnTrgtInfoMngVO.getCmptntAthrt()+"-"+DateUtil.getStringToLocalDateYear(); + + int cnt = cndtnTrgtInfoMngService.findCntreqNmber("%" + reqNmbrTemp + "%"); + System.out.println(cnt); + System.out.println(cnt+1); + return reqNmbrTemp+"-"+(cnt+1); + + } + + /** + * @methodName : getIsAdultInKorea + * @author : 이호영 + * @date : 2023.11.07 + * @description : 성인이면 A, 미성년이면 Y + * @param birthDateString + * @return + */ + public static String getIsAdultInKorea(String birthDateString) { + String returnData = "Y"; + // 생년월일 포맷 정의 (예시: "yyyy-MM-dd") + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); + + // 문자열로부터 LocalDate 객체 생성 + LocalDate birthDate = LocalDate.parse(birthDateString, formatter); + + // 현재 날짜 얻기 + LocalDate now = LocalDate.now(); + + // 생년월일과 현재 날짜 사이의 기간 계산 + Period period = Period.between(birthDate, now); + System.out.println("period.getYears() : "+ period.getYears()); + if(period.getYears() >= 19) { + returnData="A"; + } + // 만 나이가 19세 이상인지 확인 + return returnData; + } + + /** + * 조건부기소유예과정 등록 + */ + @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtMdfyAjax.do") + public ModelAndView trgtMdfyAjax( + @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO + , ModelMap model + //, RedirectAttributes redirectAttributes + , HttpServletRequest request + , final MultipartHttpServletRequest multiRequest + ) 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 로그인 정보 가져오기 + + + //step2.첨부파일 체크 후 저장 하기 + String s_scholSealAtchFileId = ""; + s_scholSealAtchFileId = cndtnTrgtInfoMngVO.getAtchFileId(); + + //DB에서 실제 첨부파일 존재 여부 확인 + FileVO fileVO = new FileVO(); + fileVO.setAtchFileId(s_scholSealAtchFileId); + List result = fileService.selectFileInfs(fileVO); + if (result.size()<=0) { + s_scholSealAtchFileId = ""; + } + + + //step3.파일 처리==================================== + //파일 정상 처리 여부와 첨부 파일 정보 + //String atchFileId = this.takeFile(multiRequest, modelAndView, bmVO); + //파일 제한 수량 가져오기, 없으면 기본값 사용 + int i_file_limit = checkFileUtil.getLimitCount(request); // file count + int i_limit_size = checkFileUtil.getLimitSize(request); // file MB + String s_file_exts = checkFileUtil.getS_exts(); // file exts + + + //기존 파일 존재 여부에 따라서 insert or update 처리 + if ("".equals(s_scholSealAtchFileId)) { + //atchFileId = this.fileValCheckNdbInsert(multiRequest, modelAndView, checkFileUtil.getS_exts(), i_limit_size, i_file_limit); //EXT, MB size and ea + s_scholSealAtchFileId = checkFileUtil.fileValCheckNdbInsert( + multiRequest, modelAndView + , "APLCT_" + , s_file_exts + , i_limit_size + , i_file_limit + ); //EXT, MB size and ea + cndtnTrgtInfoMngVO.setAtchFileId(s_scholSealAtchFileId); + }else { + //atchFileId = this.fileValCheckNdbUpdate(multiRequest, modelAndView, checkFileUtil.getS_exts(), i_limit_size, i_file_limit, atchFileId); //EXT, MB size and ea + s_scholSealAtchFileId = checkFileUtil.fileValCheckNdbUpdate( + multiRequest, modelAndView + , "APLCT_" + , s_file_exts + , i_limit_size + , i_file_limit + , s_scholSealAtchFileId + ); //EXT, MB size and ea + } + + if ("ERROR".equals(s_scholSealAtchFileId)) return modelAndView; + + + + + cndtnTrgtInfoMngVO.setLastUpdusrId(loginVO.getUniqId()); //esntl_id + cndtnTrgtInfoMngService.update(cndtnTrgtInfoMngVO); + + + + + modelAndView.addObject("result", "success"); + + return modelAndView; + + } + /** + * 대상자목록 + */ + @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtDetail.do") + public String trgtDetail( + @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + //로그인 처리==================================== + + //과정 조회 + CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO); + model.addAttribute("info", cndtnTrgtInfoVO); + + String userWork = this.getUserWork(request); + model.addAttribute("userWork", userWork); + + + //파일 정보 가져오기 + FileVO fileVO = new FileVO(); + fileVO.setAtchFileId(cndtnTrgtInfoVO.getAtchFileId()); + List result = fileService.selectFileInfs(fileVO); + model.addAttribute("fileList", result); + model.addAttribute("fileListCnt", result.size()); + + return "oprtn/cndtnSspnIdtmt/trgtDetail"; + } + /** + * 조건부기소유예과정 수료자 상세화면 + */ + @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtCmpltDetail.do") + public String trgtCmpltDetail( + @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + //로그인 처리==================================== + + //과정 조회 + CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO); + model.addAttribute("info", cndtnTrgtInfoVO); + //세부과정 목록 조회 + + + List cndtnTrgtInfoMngVOList = new ArrayList(); + System.out.println(StringUtils.isEmpty(cndtnTrgtInfoMngVO.getTrgtNm()) || StringUtils.isEmpty(cndtnTrgtInfoMngVO.getdBirth())); + System.out.println("StringUtils.isEmpty(cndtnTrgtInfoMngVO.getTrgtNm()) : "+ StringUtils.isEmpty(cndtnTrgtInfoMngVO.getTrgtNm())); + System.out.println("StringUtils.isEmpty(cndtnTrgtInfoMngVO.getdBirth()) : "+ StringUtils.isEmpty(cndtnTrgtInfoMngVO.getdBirth())); + if(StringUtils.isNotEmpty(cndtnTrgtInfoMngVO.getTrgtNm()) || StringUtils.isNotEmpty(cndtnTrgtInfoMngVO.getdBirth())) + { + cndtnTrgtInfoMngVO.setFirstIndex(0); + cndtnTrgtInfoMngVO.setRecordCountPerPage(100000); + cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO); + } + model.addAttribute("list", cndtnTrgtInfoMngVOList); + + + return "oprtn/cndtnSspnIdtmt/trgtCmpltDetail"; + } + + /** + * 조건부기소유예과정 수정화면 + */ + @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtMdfy.do") + public String trgtMdfy( + @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + //로그인 처리==================================== + + //과정 조회 + CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO); + model.addAttribute("info", cndtnTrgtInfoVO); + + + // 관할청 공통코드 + ComDefaultCodeVO codeParam = new ComDefaultCodeVO(); + codeParam.setCodeId("VEA008"); + List CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam); + model.addAttribute("CmmnDetailCodeList", CmmnDetailCodeList); + + String userWork = this.getUserWork(request); + model.addAttribute("userWork", userWork); + + + //파일 정보 가져오기 + FileVO fileVO = new FileVO(); + fileVO.setAtchFileId(cndtnTrgtInfoVO.getAtchFileId()); + List result = fileService.selectFileInfs(fileVO); + model.addAttribute("fileList", result); + model.addAttribute("fileListCnt", result.size()); + + return "oprtn/cndtnSspnIdtmt/trgtMdfy"; + } + + + @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtMngMdfy.do") + public String trgtMngMdfy( + @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + //로그인 처리==================================== + + //과정 조회 + CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO); + model.addAttribute("info", cndtnTrgtInfoVO); + + + //파일 정보 가져오기 + FileVO fileVO = new FileVO(); + fileVO.setAtchFileId(cndtnTrgtInfoVO.getAtchFileId()); + List result = fileService.selectFileInfs(fileVO); + model.addAttribute("fileList", result); + model.addAttribute("fileListCnt", result.size()); + + + // 관할청 공통코드 + ComDefaultCodeVO codeParam = new ComDefaultCodeVO(); + codeParam.setCodeId("VEA008"); + List CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam); + model.addAttribute("CmmnDetailCodeList", CmmnDetailCodeList); + + return "oprtn/cndtnSspnIdtmt/trgtMngMdfy"; + } + + + + + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // + // + // private function + // + // + + //페이징을 위한 처리 step1 - 페이징 기본 정보 설정 + private PaginationInfo setPagingStep1( + VEPrcsDetailVO p_vEPrcsDetailVO + )throws Exception{ + // pageing step1 + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(p_vEPrcsDetailVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(p_vEPrcsDetailVO.getPageUnit()); + paginationInfo.setPageSize(p_vEPrcsDetailVO.getPageSize()); + + return paginationInfo; + } + + + //페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 및 검색 조건 초기화 + private VEPrcsDetailVO setPagingStep2( + VEPrcsDetailVO p_vEPrcsDetailVO + , PaginationInfo p_paginationInfo + )throws Exception{ + // pageing step2 + p_vEPrcsDetailVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex()); + p_vEPrcsDetailVO.setLastIndex(p_paginationInfo.getLastRecordIndex()); + p_vEPrcsDetailVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage()); + + if("".equals(p_vEPrcsDetailVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + p_vEPrcsDetailVO.setSearchSortCnd("prcs_ord"); + p_vEPrcsDetailVO.setSearchSortOrd("desc"); + } + + return p_vEPrcsDetailVO; + } + + + //페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기 + private PaginationInfo setPagingStep3( + List p_vEPrcsDetailVOList + , PaginationInfo p_paginationInfo + )throws Exception{ + // pageing step3 + int totCnt = 0; + if(p_vEPrcsDetailVOList.size() > 0) totCnt = p_vEPrcsDetailVOList.get(0).getTotCnt(); + p_paginationInfo.setTotalRecordCount(totCnt); + + return p_paginationInfo; + } + //CndtnTrgtInfoMngVO + //페이징을 위한 처리 step1 - 페이징 기본 정보 설정 + private PaginationInfo setCndtnPagingStep1( + CndtnTrgtMngVO p_cndtnTrgtInfoMngVO + )throws Exception{ + // pageing step1 + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(p_cndtnTrgtInfoMngVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(p_cndtnTrgtInfoMngVO.getPageUnit()); + paginationInfo.setPageSize(p_cndtnTrgtInfoMngVO.getPageSize()); + + return paginationInfo; + } + + + //페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 및 검색 조건 초기화 + private CndtnTrgtMngVO setCndtnPagingStep2( + CndtnTrgtMngVO p_cndtnTrgtInfoMngVO + , PaginationInfo p_paginationInfo + )throws Exception{ + // pageing step2 + p_cndtnTrgtInfoMngVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex()); + p_cndtnTrgtInfoMngVO.setLastIndex(p_paginationInfo.getLastRecordIndex()); + p_cndtnTrgtInfoMngVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage()); + + if("".equals(p_cndtnTrgtInfoMngVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + p_cndtnTrgtInfoMngVO.setSearchSortCnd("prcs_ord"); + p_cndtnTrgtInfoMngVO.setSearchSortOrd("desc"); + } + + return p_cndtnTrgtInfoMngVO; + } + + + //페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기 + private PaginationInfo setCndtnPagingStep3( + List p_cndtnTrgtInfoMngVOList + , PaginationInfo p_paginationInfo + )throws Exception{ + // pageing step3 + int totCnt = 0; + if(p_cndtnTrgtInfoMngVOList.size() > 0) totCnt = p_cndtnTrgtInfoMngVOList.get(0).getTotCnt(); + p_paginationInfo.setTotalRecordCount(totCnt); + + return p_paginationInfo; + } +} diff --git a/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml index 1b6a78f4..5f32d9e4 100644 --- a/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml @@ -195,12 +195,27 @@ $searchQuery$ + /* 의뢰상태 검색*/ + + a.EDU_STATE_CD = #searchEduStateCd# + + /* 교육상태 검색*/ + + a.REQ_STATE_CD = #searchReqStateCd# + + /* 교육상태 검색*/ + + a.SEX = #searchSex# + + - AND TO_CHAR(A.FRST_REGIST_PNTTM, 'YYYYMMDD') = ]]> REPLACE(#searchSmbtStartDt#, '.' , '') + AND TO_CHAR(A.req_pnttm, 'YYYYMMDD') = ]]> REPLACE(#searchSmbtStartDt#, '.' , '') - AND TO_CHAR(A.FRST_REGIST_PNTTM, 'YYYYMMDD') REPLACE(#searchSmbtEndDt#, '.' , '') + AND TO_CHAR(A.req_pnttm, 'YYYYMMDD') REPLACE(#searchSmbtEndDt#, '.' , '') + + /* 관할청 멀티셀렉트 */ AND a.cmptnt_athrt IN diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMngList.jsp index a3e5fef2..b01cba08 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/cndtnSspnIdtmt/trgtMngList.jsp @@ -262,7 +262,7 @@
@@ -282,6 +282,17 @@

구분2

+
+ + + 성별 +
+ +
+
+
+

구분3

+

관할청  

@@ -346,41 +357,41 @@ <%-- ');" style="cursor:pointer;"> --%> <%-- --%> - + <%-- --%> - + 형제 - + - + - + - + - + - + - + <%-- --%> - + ${fn:length(fullAddr)> 5 ? fn:substring(fullAddr, 0, 5).concat('...') : ''} - +