This commit is contained in:
subsub 2023-11-07 17:02:38 +09:00
commit 546f4f347d
110 changed files with 17304 additions and 9988 deletions

View File

@ -36,6 +36,8 @@ public class CmmnDetailCode implements Serializable {
* 코드 * 코드
*/ */
private String code = ""; private String code = "";
private int sort = 0;
/* /*
* 코드명 * 코드명
@ -229,4 +231,12 @@ public class CmmnDetailCode implements Serializable {
this.tempCodeId = tempCodeId; this.tempCodeId = tempCodeId;
} }
public int getSort() {
return sort;
}
public void setSort(int sort) {
this.sort = sort;
}
} }

View File

@ -1,231 +1,248 @@
package kcc.com.cmm.util; package kcc.com.cmm.util;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.Instant; import java.time.Instant;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.ZoneId; import java.time.ZoneId;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.Locale; import java.util.Locale;
public final class DateUtil { public final class DateUtil {
public static final String BASE_PATTERN = "yyyyMMddHHmmssSSS"; public static final String BASE_PATTERN = "yyyyMMddHHmmssSSS";
public static final int BASE_PATTERN_LEN = BASE_PATTERN.length(); public static final int BASE_PATTERN_LEN = BASE_PATTERN.length();
private static final String[] PATTERN_CACHE = new String[BASE_PATTERN_LEN + 1]; private static final String[] PATTERN_CACHE = new String[BASE_PATTERN_LEN + 1];
static { static {
PATTERN_CACHE[BASE_PATTERN_LEN] = BASE_PATTERN; PATTERN_CACHE[BASE_PATTERN_LEN] = BASE_PATTERN;
PATTERN_CACHE[14] = BASE_PATTERN.substring(0, 14); PATTERN_CACHE[14] = BASE_PATTERN.substring(0, 14);
PATTERN_CACHE[12] = BASE_PATTERN.substring(0, 12); PATTERN_CACHE[12] = BASE_PATTERN.substring(0, 12);
PATTERN_CACHE[10] = BASE_PATTERN.substring(0, 10); PATTERN_CACHE[10] = BASE_PATTERN.substring(0, 10);
PATTERN_CACHE[8] = BASE_PATTERN.substring(0, 8); PATTERN_CACHE[8] = BASE_PATTERN.substring(0, 8);
PATTERN_CACHE[6] = BASE_PATTERN.substring(0, 6); PATTERN_CACHE[6] = BASE_PATTERN.substring(0, 6);
PATTERN_CACHE[4] = BASE_PATTERN.substring(0, 4); PATTERN_CACHE[4] = BASE_PATTERN.substring(0, 4);
PATTERN_CACHE[0] = ""; PATTERN_CACHE[0] = "";
} }
public static final String DATE_PATTERN = PATTERN_CACHE[8]; public static final String DATE_PATTERN = PATTERN_CACHE[8];
public static final String DATETIME_PATTERN = PATTERN_CACHE[14]; public static final String DATETIME_PATTERN = PATTERN_CACHE[14];
public static LocalDateTime now() { public static LocalDateTime now() {
return LocalDateTime.now(); return LocalDateTime.now();
} }
public static Date toDate(LocalDate ld) { public static Date toDate(LocalDate ld) {
Date date = null; Date date = null;
if(ld != null) { if(ld != null) {
Instant instant = ld.atStartOfDay(ZoneId.systemDefault()).toInstant(); Instant instant = ld.atStartOfDay(ZoneId.systemDefault()).toInstant();
date = Date.from(instant); date = Date.from(instant);
} }
return date; return date;
} }
public static Date toDate(LocalDateTime ldt) { public static Date toDate(LocalDateTime ldt) {
Date date = null; Date date = null;
if(ldt != null) { if(ldt != null) {
Instant instant = ldt.atZone(ZoneId.systemDefault()).toInstant(); Instant instant = ldt.atZone(ZoneId.systemDefault()).toInstant();
date = Date.from(instant); date = Date.from(instant);
} }
return date; return date;
} }
public static LocalDate toLocalDate(Date date) { public static LocalDate toLocalDate(Date date) {
LocalDate ld = null; LocalDate ld = null;
if(date != null) { if(date != null) {
ld = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); ld = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
} }
return ld; return ld;
} }
public static LocalDateTime toLocalDateTime(Date date) { public static LocalDateTime toLocalDateTime(Date date) {
LocalDateTime ldt = null; LocalDateTime ldt = null;
if(date != null) { if(date != null) {
ldt = LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault()); ldt = LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());
} }
return ldt; return ldt;
} }
public static Date parse(String source, String pattern) { public static Date parse(String source, String pattern) {
Date date = null; Date date = null;
if(source == null) { if(source == null) {
return date; return date;
} }
int sourceLen = source.length(); int sourceLen = source.length();
if(sourceLen < 1) { if(sourceLen < 1) {
return date; return date;
} }
if(sourceLen > 8) { if(sourceLen > 8) {
LocalDateTime ldt = DateUtil.parseLocalDateTime(source, pattern); LocalDateTime ldt = DateUtil.parseLocalDateTime(source, pattern);
date = DateUtil.toDate(ldt); date = DateUtil.toDate(ldt);
} else { } else {
LocalDate ld = DateUtil.parseLocalDate(source, pattern); LocalDate ld = DateUtil.parseLocalDate(source, pattern);
date = DateUtil.toDate(ld); date = DateUtil.toDate(ld);
} }
return date; return date;
} }
public static Date parse(String source) { public static Date parse(String source) {
return DateUtil.parse(source, null); return DateUtil.parse(source, null);
} }
public static LocalDate parseLocalDate(String source, String pattern) { public static LocalDate parseLocalDate(String source, String pattern) {
LocalDate ld = null; LocalDate ld = null;
if(source == null) { if(source == null) {
return ld; return ld;
} }
int sourceLen = source.length(); int sourceLen = source.length();
if(sourceLen < 1) { if(sourceLen < 1) {
return ld; return ld;
} }
if(StringUtil.isEmpty(pattern)) { if(StringUtil.isEmpty(pattern)) {
pattern = PATTERN_CACHE[sourceLen]; pattern = PATTERN_CACHE[sourceLen];
if(StringUtil.isEmpty(pattern)) { if(StringUtil.isEmpty(pattern)) {
return ld; return ld;
} }
} }
ld = LocalDate.parse(source, DateTimeFormatter.ofPattern(pattern)); ld = LocalDate.parse(source, DateTimeFormatter.ofPattern(pattern));
return ld; return ld;
} }
public static LocalDate parseLocalDate(String source) { public static LocalDate parseLocalDate(String source) {
return DateUtil.parseLocalDate(source, null); return DateUtil.parseLocalDate(source, null);
} }
public static LocalDateTime parseLocalDateTime(String source, String pattern) { public static LocalDateTime parseLocalDateTime(String source, String pattern) {
LocalDateTime ldt = null; LocalDateTime ldt = null;
if(source == null) { if(source == null) {
return ldt; return ldt;
} }
int sourceLen = source.length(); int sourceLen = source.length();
if(sourceLen < 1) { if(sourceLen < 1) {
return ldt; return ldt;
} }
if(StringUtil.isEmpty(pattern)) { if(StringUtil.isEmpty(pattern)) {
pattern = PATTERN_CACHE[sourceLen]; pattern = PATTERN_CACHE[sourceLen];
if(StringUtil.isEmpty(pattern)) { if(StringUtil.isEmpty(pattern)) {
return ldt; return ldt;
} }
} }
ldt = LocalDateTime.parse(source, DateTimeFormatter.ofPattern(PATTERN_CACHE[sourceLen])); ldt = LocalDateTime.parse(source, DateTimeFormatter.ofPattern(PATTERN_CACHE[sourceLen]));
return ldt; return ldt;
} }
public static LocalDateTime parseLocalDateTime(String source) { public static LocalDateTime parseLocalDateTime(String source) {
return DateUtil.parseLocalDateTime(source, null); return DateUtil.parseLocalDateTime(source, null);
} }
static String format(Date date, String pattern) { static String format(Date date, String pattern) {
if (date == null) if (date == null)
return null; return null;
return getInnerDateFormat(pattern).format(date); return getInnerDateFormat(pattern).format(date);
} }
private static SimpleDateFormat getInnerDateFormat(String pattern) { private static SimpleDateFormat getInnerDateFormat(String pattern) {
SimpleDateFormat f = cache.get(pattern); SimpleDateFormat f = cache.get(pattern);
if (f == null) if (f == null)
f = createDateformat(pattern); f = createDateformat(pattern);
return f; return f;
} }
private static final Locale __DEFAULT_LOCALE = Locale.ENGLISH; private static final Locale __DEFAULT_LOCALE = Locale.ENGLISH;
private static HashMap<String, SimpleDateFormat> cache = new HashMap<String, SimpleDateFormat>(); private static HashMap<String, SimpleDateFormat> cache = new HashMap<String, SimpleDateFormat>();
private synchronized static SimpleDateFormat createDateformat(String pattern) { private synchronized static SimpleDateFormat createDateformat(String pattern) {
SimpleDateFormat f = cache.get(pattern); SimpleDateFormat f = cache.get(pattern);
if (f == null) { if (f == null) {
f = new SimpleDateFormat(pattern, __DEFAULT_LOCALE); f = new SimpleDateFormat(pattern, __DEFAULT_LOCALE);
cache.put(pattern, f); cache.put(pattern, f);
} }
return f; return f;
} }
//날짜에 대한 요일 텍스트 받아오기 //날짜에 대한 요일 텍스트 받아오기
public static String getWeekText(Date date) { public static String getWeekText(Date date) {
String strWeek = ""; String strWeek = "";
Calendar cal = Calendar.getInstance(); Calendar cal = Calendar.getInstance();
cal.setTime(date); cal.setTime(date);
int dayNum = cal.get(Calendar.DAY_OF_WEEK); int dayNum = cal.get(Calendar.DAY_OF_WEEK);
switch(dayNum) { switch(dayNum) {
case 1: case 1:
strWeek = ""; strWeek = "";
break; break;
case 2: case 2:
strWeek = ""; strWeek = "";
break; break;
case 3: case 3:
strWeek = ""; strWeek = "";
break; break;
case 4: case 4:
strWeek = ""; strWeek = "";
break; break;
case 5: case 5:
strWeek = ""; strWeek = "";
break; break;
case 6: case 6:
strWeek = ""; strWeek = "";
break; break;
case 7: case 7:
strWeek = ""; strWeek = "";
break; break;
} }
return strWeek; return strWeek;
} }
public static int getNowyyyyMMddReturnInt() { public static int getNowyyyyMMddReturnInt() {
DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("yyyyMMdd"); DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("yyyyMMdd");
return Integer.parseInt(LocalDateTime.now().format(formatter2)); return Integer.parseInt(LocalDateTime.now().format(formatter2));
} }
public static LocalDate getStringToLocalDate(String p_date) { public static LocalDate getStringToLocalDate(String p_date) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
LocalDate date = LocalDate.parse(p_date, formatter); LocalDate date = LocalDate.parse(p_date, formatter);
return date; return date;
} }
public static LocalDate getStringToLocalDateDot(String p_date) { public static LocalDate getStringToLocalDateDot(String p_date) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd"); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd");
LocalDate date = LocalDate.parse(p_date, formatter); LocalDate date = LocalDate.parse(p_date, formatter);
return date; return date;
} }
}
// 2023 => 23
public static String getStringToLocalDateYear() {
// 현재 날짜를 얻기
LocalDate currentDate = LocalDate.now();
// 올해의 년도를 얻기
int currentYear = currentDate.getYear();
// 년도를 String으로 변환
String yearString = Integer.toString(currentYear);
// 마지막 자리 추출
String lastTwoDigits = yearString.substring(yearString.length() - 2);
// 출력
return lastTwoDigits;
}
}

View File

@ -62,6 +62,7 @@ public class AdrInnorixFileVO extends ComDefaultVO implements Serializable {
//서류요청 기능 //서류요청 기능
public String docReqNm = ""; //요청 서류명 public String docReqNm = ""; //요청 서류명
public String sbmtId = ""; //제출 강사 ID public String sbmtId = ""; //제출 강사 ID
public String eduDocReqOrd = "";//서류요청 순번
public String getFileType() { public String getFileType() {
@ -160,6 +161,14 @@ public class AdrInnorixFileVO extends ComDefaultVO implements Serializable {
this.sbmtId = sbmtId; this.sbmtId = sbmtId;
} }
public String getEduDocReqOrd() {
return eduDocReqOrd;
}
public void setEduDocReqOrd(String eduDocReqOrd) {
this.eduDocReqOrd = eduDocReqOrd;
}

View File

@ -36,4 +36,6 @@ public interface InnorixFileService {
RestResponse insertInnorixReqFile(AdrInnorixFileVO adrInnorixFileVO); RestResponse insertInnorixReqFile(AdrInnorixFileVO adrInnorixFileVO);
RestResponse insertInnorixDocFile(AdrInnorixFileVO adrInnorixFileVO);
} }

View File

@ -432,6 +432,32 @@ public class InnorixFileServiceImpl extends EgovAbstractServiceImpl implements I
} }
} catch (Exception e) {
e.printStackTrace();
return new RestResponse(HttpStatus.BAD_REQUEST, "등록에 실패하였습니다.", LocalDateTime.now());
}
return new RestResponse(HttpStatus.OK, adrInnorixFileVO.getSuccessMsg(), LocalDateTime.now());
}
@Override
public RestResponse insertInnorixDocFile(AdrInnorixFileVO adrInnorixFileVO) {
List<FileVO> result = null;
try {
// 파일 저장 저장할 file 정보를 받아옴
result = this.insertFileData(adrInnorixFileVO);
// 파일 정보 insert
String atchFileId = fileManageDAO.insertFileInfs(result);
//VE_EDU_DOC_REQ 서류요청테이블 insert
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
vEEduAplctVO.setEduDocReqOrd(adrInnorixFileVO.getEduDocReqOrd());
vEEduAplctVO.setSbmtAtchFileId(atchFileId);
vEEduAplctService.updateSbmtAtchFileId(vEEduAplctVO);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return new RestResponse(HttpStatus.BAD_REQUEST, "등록에 실패하였습니다.", LocalDateTime.now()); return new RestResponse(HttpStatus.BAD_REQUEST, "등록에 실패하였습니다.", LocalDateTime.now());

View File

@ -184,4 +184,29 @@ public class InnorixFileController {
return ResponseEntity.ok(innorixService.insertInnorixReqFile(adrInnorixFileVO)); return ResponseEntity.ok(innorixService.insertInnorixReqFile(adrInnorixFileVO));
} }
/**
* @methodName : insertReqDocInnorixFile
* @author : 이지우
* @date : 2023.11.06
* @description : 파일 insert 전용
* @param adrInnorixFileVO
* @return
* @throws Exception
* 청소년 교육 강사 요청 서류 업로드
*/
@RequestMapping(value = {"/web/common/insertInnorixDocFileAjax.do"}, method = RequestMethod.POST)
public ResponseEntity<RestResponse> insertReqDocInnorixFile(@RequestBody AdrInnorixFileVO adrInnorixFileVO) throws Exception {
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId());
if(userId.equals("")) {
return ResponseEntity.ok(new RestResponse(HttpStatus.UNAUTHORIZED, "로그인이 필요합니다.", LocalDateTime.now()));
}
adrInnorixFileVO.setUniqId(userId);
return ResponseEntity.ok(innorixService.insertInnorixDocFile(adrInnorixFileVO));
}
} }

View File

@ -378,7 +378,8 @@ public class EgovCcmCmmnCodeManageController {
cmmnDetailCodeVO.setCodeNm(cmmnDetailCode.getCodeNm()); cmmnDetailCodeVO.setCodeNm(cmmnDetailCode.getCodeNm());
cmmnDetailCodeVO.setCodeDc(cmmnDetailCode.getCodeDc()); cmmnDetailCodeVO.setCodeDc(cmmnDetailCode.getCodeDc());
cmmnDetailCodeVO.setUseAt(cmmnDetailCode.getUseAt()); cmmnDetailCodeVO.setUseAt(cmmnDetailCode.getUseAt());
cmmnDetailCodeVO.setParent(cmmnDetailCode.getCodeId()); cmmnDetailCodeVO.setParent(cmmnDetailCode.getCodeId());
//cmmnDetailCodeVO.setSort(Integer.parseInt()cmmnDetailCode.getSort());
model.addAttribute("menuManageVO", cmmnDetailCodeVO); model.addAttribute("menuManageVO", cmmnDetailCodeVO);
} }
modelAndView.addObject("status", "success"); modelAndView.addObject("status", "success");
@ -575,6 +576,7 @@ public class EgovCcmCmmnCodeManageController {
cmmnDetailCodeVO.setCodeDc(menuManageVO.getMenuDc()); cmmnDetailCodeVO.setCodeDc(menuManageVO.getMenuDc());
cmmnDetailCodeVO.setUseAt(menuManageVO.getUseYn()); cmmnDetailCodeVO.setUseAt(menuManageVO.getUseYn());
cmmnDetailCodeVO.setLastUpdusrId(user.getId()); cmmnDetailCodeVO.setLastUpdusrId(user.getId());
cmmnDetailCodeVO.setSort(Integer.parseInt(menuManageVO.getSort()));
//cmmnDetailCodeManageService.updateCmmnDetailCode(cmmnDetailCodeVO); //cmmnDetailCodeManageService.updateCmmnDetailCode(cmmnDetailCodeVO);
cmmnDetailCodeManageService.updateCmmnDetailCodePk(cmmnDetailCodeVO); cmmnDetailCodeManageService.updateCmmnDetailCodePk(cmmnDetailCodeVO);
newCode = menuManageVO.getUpperMenuId()+"__"+menuManageVO.getMenuNo(); newCode = menuManageVO.getUpperMenuId()+"__"+menuManageVO.getMenuNo();

View File

@ -108,6 +108,8 @@ public class MenuManageJTreeVO implements Serializable {
String [] codeArry = null; //즐겨찾기 리스트 배열 받기 String [] codeArry = null; //즐겨찾기 리스트 배열 받기
private String sort; //매뉴순번
public String getTmp_snsId() { public String getTmp_snsId() {
return tmp_snsId; return tmp_snsId;
} }
@ -481,6 +483,14 @@ public class MenuManageJTreeVO implements Serializable {
public void setDepth(String depth) { public void setDepth(String depth) {
this.depth = depth; this.depth = depth;
} }
public String getSort() {
return sort;
}
public void setSort(String sort) {
this.sort = sort;
}
} }

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,280 +1,280 @@
package kcc.let.utl.fcc.service; package kcc.let.utl.fcc.service;
import java.util.List; import java.util.List;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO; import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
import kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrDetailVO; import kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrDetailVO;
/** /**
* *
* paging 대한 Util 클래스 * paging 대한 Util 클래스
* @author 사업기술본부 조용준(ITN) * @author 사업기술본부 조용준(ITN)
* @since 2021.07.16 * @since 2021.07.16
* @version 1.0 * @version 1.0
* @see * @see
* *
* <pre> * <pre>
* << 개정이력(Modification Information) >> * << 개정이력(Modification Information) >>
* *
* 수정일 수정자 수정내용 * 수정일 수정자 수정내용
* ------- -------- --------------------------- * ------- -------- ---------------------------
* 2021.07.16 조용준 최초 생성 * * 2021.07.16 조용준 최초 생성 *
* *
* </pre> * </pre>
*/ */
@Component("vEPagingUtil") @Component("vEPagingUtil")
public class VEPagingUtil { public class VEPagingUtil {
private static final Logger LOGGER = LoggerFactory.getLogger(VEPagingUtil.class); private static final Logger LOGGER = LoggerFactory.getLogger(VEPagingUtil.class);
////////////////////////////////////////////////// //////////////////////////////////////////////////
// //
// VEInstrAsgnmVO paging // VEInstrAsgnmVO paging
// //
//페이징을 위한 처리 step1 - 페이징 기본 정보 설정 //페이징을 위한 처리 step1 - 페이징 기본 정보 설정
public PaginationInfo setPagingStep1_VEInstrAsgnmVO( public PaginationInfo setPagingStep1_VEInstrAsgnmVO(
PaginationInfo p_paginationInfo, PaginationInfo p_paginationInfo,
VEInstrAsgnmVO p_VEInstrAsgnmVO VEInstrAsgnmVO p_VEInstrAsgnmVO
){ ){
try { try {
LOGGER.debug("VEPagingUtil-setPagingStep1_VEInstrAsgnmVO()"); LOGGER.debug("VEPagingUtil-setPagingStep1_VEInstrAsgnmVO()");
// pageing step1 // pageing step1
p_paginationInfo.setCurrentPageNo(p_VEInstrAsgnmVO.getPageIndex()); p_paginationInfo.setCurrentPageNo(p_VEInstrAsgnmVO.getPageIndex());
p_paginationInfo.setRecordCountPerPage(p_VEInstrAsgnmVO.getPageUnit()); p_paginationInfo.setRecordCountPerPage(p_VEInstrAsgnmVO.getPageUnit());
p_paginationInfo.setPageSize(p_VEInstrAsgnmVO.getPageSize()); p_paginationInfo.setPageSize(p_VEInstrAsgnmVO.getPageSize());
} catch(IllegalArgumentException e) { } catch(IllegalArgumentException e) {
LOGGER.error("[IllegalArgumentException] Try/Catch...usingParameters Runing : "+ e.getMessage()); LOGGER.error("[IllegalArgumentException] Try/Catch...usingParameters Runing : "+ e.getMessage());
} catch (Exception e) { } catch (Exception e) {
LOGGER.error("[" + e.getClass() +"] :" + e.getMessage()); LOGGER.error("[" + e.getClass() +"] :" + e.getMessage());
} }
return p_paginationInfo; return p_paginationInfo;
} }
//페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 검색 조건 초기화 //페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 검색 조건 초기화
public VEInstrAsgnmVO setPagingStep2_VEInstrAsgnmVO( public VEInstrAsgnmVO setPagingStep2_VEInstrAsgnmVO(
VEInstrAsgnmVO p_VEInstrAsgnmVO VEInstrAsgnmVO p_VEInstrAsgnmVO
, PaginationInfo p_paginationInfo , PaginationInfo p_paginationInfo
)throws Exception{ )throws Exception{
try { try {
LOGGER.debug("VEPagingUtil-setPagingStep2_VEInstrAsgnmVO()"); LOGGER.debug("VEPagingUtil-setPagingStep2_VEInstrAsgnmVO()");
// pageing step2 // pageing step2
p_VEInstrAsgnmVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex()); p_VEInstrAsgnmVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex());
p_VEInstrAsgnmVO.setLastIndex(p_paginationInfo.getLastRecordIndex()); p_VEInstrAsgnmVO.setLastIndex(p_paginationInfo.getLastRecordIndex());
p_VEInstrAsgnmVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage()); p_VEInstrAsgnmVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage());
if("".equals(p_VEInstrAsgnmVO.getSearchSortCnd())){ //최초조회시 최신것 조회List if("".equals(p_VEInstrAsgnmVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
p_VEInstrAsgnmVO.setSearchSortCnd("prcs_ord"); p_VEInstrAsgnmVO.setSearchSortCnd("prcs_ord");
p_VEInstrAsgnmVO.setSearchSortOrd("desc"); p_VEInstrAsgnmVO.setSearchSortOrd("desc");
} }
} catch(IllegalArgumentException e) { } catch(IllegalArgumentException e) {
LOGGER.error("[IllegalArgumentException] Try/Catch...usingParameters Runing : "+ e.getMessage()); LOGGER.error("[IllegalArgumentException] Try/Catch...usingParameters Runing : "+ e.getMessage());
} catch (Exception e) { } catch (Exception e) {
LOGGER.error("[" + e.getClass() +"] :" + e.getMessage()); LOGGER.error("[" + e.getClass() +"] :" + e.getMessage());
} }
return p_VEInstrAsgnmVO; return p_VEInstrAsgnmVO;
} }
//페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기 //페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기
public PaginationInfo setPagingStep3_VEInstrAsgnmVO( public PaginationInfo setPagingStep3_VEInstrAsgnmVO(
List<VEInstrAsgnmVO> p_VEInstrAsgnmVOList List<VEInstrAsgnmVO> p_VEInstrAsgnmVOList
, PaginationInfo p_paginationInfo , PaginationInfo p_paginationInfo
)throws Exception{ )throws Exception{
try { try {
LOGGER.debug("VEPagingUtil-setPagingStep3_VEInstrAsgnmVO()"); LOGGER.debug("VEPagingUtil-setPagingStep3_VEInstrAsgnmVO()");
// pageing step3 // pageing step3
int totCnt = 0; int totCnt = 0;
if(p_VEInstrAsgnmVOList.size() > 0) totCnt = p_VEInstrAsgnmVOList.get(0).getTotCnt(); if(p_VEInstrAsgnmVOList.size() > 0) totCnt = p_VEInstrAsgnmVOList.get(0).getTotCnt();
p_paginationInfo.setTotalRecordCount(totCnt); p_paginationInfo.setTotalRecordCount(totCnt);
} catch(IllegalArgumentException e) { } catch(IllegalArgumentException e) {
LOGGER.error("[IllegalArgumentException] Try/Catch...usingParameters Runing : "+ e.getMessage()); LOGGER.error("[IllegalArgumentException] Try/Catch...usingParameters Runing : "+ e.getMessage());
} catch (Exception e) { } catch (Exception e) {
LOGGER.error("[" + e.getClass() +"] :" + e.getMessage()); LOGGER.error("[" + e.getClass() +"] :" + e.getMessage());
} }
return p_paginationInfo; return p_paginationInfo;
} }
////////////////////////////////////////////////// //////////////////////////////////////////////////
// //
// VELctrDetailVO paging // VELctrDetailVO paging
// //
//페이징을 위한 처리 step1 - 페이징 기본 정보 설정 //페이징을 위한 처리 step1 - 페이징 기본 정보 설정
public PaginationInfo setPagingStep1_VELctrDetailVO( public PaginationInfo setPagingStep1_VELctrDetailVO(
PaginationInfo p_paginationInfo, PaginationInfo p_paginationInfo,
VELctrDetailVO p_VELctrDetailVO VELctrDetailVO p_VELctrDetailVO
){ ){
try { try {
LOGGER.debug("VEPagingUtil-setPagingStep1_VELctrDetailVO()"); LOGGER.debug("VEPagingUtil-setPagingStep1_VELctrDetailVO()");
// pageing step1 // pageing step1
p_paginationInfo.setCurrentPageNo(p_VELctrDetailVO.getPageIndex()); p_paginationInfo.setCurrentPageNo(p_VELctrDetailVO.getPageIndex());
p_paginationInfo.setRecordCountPerPage(p_VELctrDetailVO.getPageUnit()); p_paginationInfo.setRecordCountPerPage(p_VELctrDetailVO.getPageUnit());
p_paginationInfo.setPageSize(p_VELctrDetailVO.getPageSize()); p_paginationInfo.setPageSize(p_VELctrDetailVO.getPageSize());
} catch(IllegalArgumentException e) { } catch(IllegalArgumentException e) {
LOGGER.error("[IllegalArgumentException] Try/Catch...usingParameters Runing : "+ e.getMessage()); LOGGER.error("[IllegalArgumentException] Try/Catch...usingParameters Runing : "+ e.getMessage());
} catch (Exception e) { } catch (Exception e) {
LOGGER.error("[" + e.getClass() +"] :" + e.getMessage()); LOGGER.error("[" + e.getClass() +"] :" + e.getMessage());
} }
return p_paginationInfo; return p_paginationInfo;
} }
//페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 검색 조건 초기화 //페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 검색 조건 초기화
public VELctrDetailVO setPagingStep2_VELctrDetailVO( public VELctrDetailVO setPagingStep2_VELctrDetailVO(
VELctrDetailVO p_VELctrDetailVO VELctrDetailVO p_VELctrDetailVO
, PaginationInfo p_paginationInfo , PaginationInfo p_paginationInfo
)throws Exception{ )throws Exception{
try { try {
LOGGER.debug("VEPagingUtil-setPagingStep2_VEInstrAsgnmVO()"); LOGGER.debug("VEPagingUtil-setPagingStep2_VEInstrAsgnmVO()");
// pageing step2 // pageing step2
p_VELctrDetailVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex()); p_VELctrDetailVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex());
p_VELctrDetailVO.setLastIndex(p_paginationInfo.getLastRecordIndex()); p_VELctrDetailVO.setLastIndex(p_paginationInfo.getLastRecordIndex());
p_VELctrDetailVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage()); p_VELctrDetailVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage());
if("".equals(p_VELctrDetailVO.getSearchSortCnd())){ //최초조회시 최신것 조회List if("".equals(p_VELctrDetailVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
p_VELctrDetailVO.setSearchSortCnd("prcs_ord"); p_VELctrDetailVO.setSearchSortCnd("prcs_ord");
p_VELctrDetailVO.setSearchSortOrd("desc"); p_VELctrDetailVO.setSearchSortOrd("desc");
} }
} catch(IllegalArgumentException e) { } catch(IllegalArgumentException e) {
LOGGER.error("[IllegalArgumentException] Try/Catch...usingParameters Runing : "+ e.getMessage()); LOGGER.error("[IllegalArgumentException] Try/Catch...usingParameters Runing : "+ e.getMessage());
} catch (Exception e) { } catch (Exception e) {
LOGGER.error("[" + e.getClass() +"] :" + e.getMessage()); LOGGER.error("[" + e.getClass() +"] :" + e.getMessage());
} }
return p_VELctrDetailVO; return p_VELctrDetailVO;
} }
//페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기 //페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기
public PaginationInfo setPagingStep3_VELctrDetailVO( public PaginationInfo setPagingStep3_VELctrDetailVO(
List<VELctrDetailVO> p_VELctrDetailVOList List<VELctrDetailVO> p_VELctrDetailVOList
, PaginationInfo p_paginationInfo , PaginationInfo p_paginationInfo
)throws Exception{ )throws Exception{
try { try {
LOGGER.debug("VEPagingUtil-setPagingStep3_VELctrDetailVO()"); LOGGER.debug("VEPagingUtil-setPagingStep3_VELctrDetailVO()");
// pageing step3 // pageing step3
int totCnt = 0; int totCnt = 0;
if(p_VELctrDetailVOList.size() > 0) totCnt = p_VELctrDetailVOList.get(0).getTotCnt(); if(p_VELctrDetailVOList.size() > 0) totCnt = p_VELctrDetailVOList.get(0).getTotCnt();
p_paginationInfo.setTotalRecordCount(totCnt); p_paginationInfo.setTotalRecordCount(totCnt);
} catch(IllegalArgumentException e) { } catch(IllegalArgumentException e) {
LOGGER.error("[IllegalArgumentException] Try/Catch...usingParameters Runing : "+ e.getMessage()); LOGGER.error("[IllegalArgumentException] Try/Catch...usingParameters Runing : "+ e.getMessage());
} catch (Exception e) { } catch (Exception e) {
LOGGER.error("[" + e.getClass() +"] :" + e.getMessage()); LOGGER.error("[" + e.getClass() +"] :" + e.getMessage());
} }
return p_paginationInfo; return p_paginationInfo;
} }
////////////////////////////////////////////////// //////////////////////////////////////////////////
// //
// VEInstrDetailVO paging // VEInstrDetailVO paging
// //
//페이징을 위한 처리 step1 - 페이징 기본 정보 설정 //페이징을 위한 처리 step1 - 페이징 기본 정보 설정
public PaginationInfo setPagingStep1_VEInstrDetailVO( public PaginationInfo setPagingStep1_VEInstrDetailVO(
PaginationInfo p_paginationInfo, PaginationInfo p_paginationInfo,
VEInstrDetailVO p_VEInstrDetailVO VEInstrDetailVO p_VEInstrDetailVO
){ ){
try { try {
LOGGER.debug("VEPagingUtil-setPagingStep1_VEInstrDetailVO()"); LOGGER.debug("VEPagingUtil-setPagingStep1_VEInstrDetailVO()");
// pageing step1 // pageing step1
p_paginationInfo.setCurrentPageNo(p_VEInstrDetailVO.getPageIndex()); p_paginationInfo.setCurrentPageNo(p_VEInstrDetailVO.getPageIndex());
p_paginationInfo.setRecordCountPerPage(p_VEInstrDetailVO.getPageUnit()); p_paginationInfo.setRecordCountPerPage(p_VEInstrDetailVO.getPageUnit());
p_paginationInfo.setPageSize(p_VEInstrDetailVO.getPageSize()); p_paginationInfo.setPageSize(p_VEInstrDetailVO.getPageSize());
} catch(IllegalArgumentException e) { } catch(IllegalArgumentException e) {
LOGGER.error("[IllegalArgumentException] Try/Catch...usingParameters Runing : "+ e.getMessage()); LOGGER.error("[IllegalArgumentException] Try/Catch...usingParameters Runing : "+ e.getMessage());
} catch (Exception e) { } catch (Exception e) {
LOGGER.error("[" + e.getClass() +"] :" + e.getMessage()); LOGGER.error("[" + e.getClass() +"] :" + e.getMessage());
} }
return p_paginationInfo; return p_paginationInfo;
} }
//페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 검색 조건 초기화 //페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 검색 조건 초기화
public VEInstrDetailVO setPagingStep2_VEInstrDetailVO( public VEInstrDetailVO setPagingStep2_VEInstrDetailVO(
VEInstrDetailVO p_VEInstrDetailVO VEInstrDetailVO p_VEInstrDetailVO
, PaginationInfo p_paginationInfo , PaginationInfo p_paginationInfo
)throws Exception{ )throws Exception{
try { try {
LOGGER.debug("VEPagingUtil-setPagingStep2_p_VEInstrDetailVO()"); LOGGER.debug("VEPagingUtil-setPagingStep2_p_VEInstrDetailVO()");
// pageing step2 // pageing step2
p_VEInstrDetailVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex()); p_VEInstrDetailVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex());
p_VEInstrDetailVO.setLastIndex(p_paginationInfo.getLastRecordIndex()); p_VEInstrDetailVO.setLastIndex(p_paginationInfo.getLastRecordIndex());
p_VEInstrDetailVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage()); p_VEInstrDetailVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage());
if("".equals(p_VEInstrDetailVO.getSearchSortCnd())){ //최초조회시 최신것 조회List if("".equals(p_VEInstrDetailVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
p_VEInstrDetailVO.setSearchSortCnd("prcs_ord"); p_VEInstrDetailVO.setSearchSortCnd("prcs_ord");
p_VEInstrDetailVO.setSearchSortOrd("desc"); p_VEInstrDetailVO.setSearchSortOrd("desc");
} }
} catch(IllegalArgumentException e) { } catch(IllegalArgumentException e) {
LOGGER.error("[IllegalArgumentException] Try/Catch...usingParameters Runing : "+ e.getMessage()); LOGGER.error("[IllegalArgumentException] Try/Catch...usingParameters Runing : "+ e.getMessage());
} catch (Exception e) { } catch (Exception e) {
LOGGER.error("[" + e.getClass() +"] :" + e.getMessage()); LOGGER.error("[" + e.getClass() +"] :" + e.getMessage());
} }
return p_VEInstrDetailVO; return p_VEInstrDetailVO;
} }
//페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기 //페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기
public PaginationInfo setPagingStep3_VEInstrDetailVO( public PaginationInfo setPagingStep3_VEInstrDetailVO(
List<VEInstrDetailVO> p_VEInstrDetailVO List<VEInstrDetailVO> p_VEInstrDetailVO
, PaginationInfo p_paginationInfo , PaginationInfo p_paginationInfo
)throws Exception{ )throws Exception{
try { try {
LOGGER.debug("VEPagingUtil-setPagingStep3_VEInstrDetailVO()"); LOGGER.debug("VEPagingUtil-setPagingStep3_VEInstrDetailVO()");
// pageing step3 // pageing step3
int totCnt = 0; int totCnt = 0;
if(p_VEInstrDetailVO.size() > 0) totCnt = p_VEInstrDetailVO.get(0).getTotCnt(); if(p_VEInstrDetailVO.size() > 0) totCnt = p_VEInstrDetailVO.get(0).getTotCnt();
p_paginationInfo.setTotalRecordCount(totCnt); p_paginationInfo.setTotalRecordCount(totCnt);
} catch(IllegalArgumentException e) { } catch(IllegalArgumentException e) {
LOGGER.error("[IllegalArgumentException] Try/Catch...usingParameters Runing : "+ e.getMessage()); LOGGER.error("[IllegalArgumentException] Try/Catch...usingParameters Runing : "+ e.getMessage());
} catch (Exception e) { } catch (Exception e) {
LOGGER.error("[" + e.getClass() +"] :" + e.getMessage()); LOGGER.error("[" + e.getClass() +"] :" + e.getMessage());
} }
return p_paginationInfo; return p_paginationInfo;
} }
} }

View File

@ -58,4 +58,7 @@ public interface VEAStngMixService {
//VEA_INSTR_MNT_TM - 강사월별시수 //VEA_INSTR_MNT_TM - 강사월별시수
int selectList_VEAIMT_2(VEAStngVO paramVO) throws Exception; // LIST int selectList_VEAIMT_2(VEAStngVO paramVO) throws Exception; // LIST
//VEA_INSTR_INDVD_MNT_TM - 강사별월별시수
List<VEAStngVO> selectList_VEAIIMT_1(VEAStngVO paramVO) throws Exception; // LIST
} }

View File

@ -68,6 +68,17 @@ public interface VEAStngService {
List<VEAStngVO> selectList_VEAIMT(VEAStngVO paramVO) throws Exception; // LIST List<VEAStngVO> selectList_VEAIMT(VEAStngVO paramVO) throws Exception; // LIST
List<VEAStngVO> selectPagingList_VEAIMT(VEAStngVO paramVO) throws Exception; // Page List List<VEAStngVO> selectPagingList_VEAIMT(VEAStngVO paramVO) throws Exception; // Page List
//VEA_INSTR_INDVD_MNT_TM - 강사별월별시수
void insert_VEAIIMT(VEAStngVO paramVO) throws Exception; // C
VEAStngVO selectDetail_VEAIIMT(VEAStngVO paramVO) throws Exception; // R
int update_VEAIIMT(VEAStngVO paramVO) throws Exception; // U
int delete_VEAIIMT(VEAStngVO paramVO) throws Exception; // D
List<VEAStngVO> selectList_VEAIIMT(VEAStngVO paramVO) throws Exception; // LIST
List<VEAStngVO> selectPagingList_VEAIIMT(VEAStngVO paramVO) throws Exception; // Page List
int delete_VEAIIMT_query(VEAStngVO paramVO) throws Exception; // D-with query
//VEA_INSTR_RSDNC_RATIO - 강사거주지별비율 //VEA_INSTR_RSDNC_RATIO - 강사거주지별비율
void insert_VEAIRR(VEAStngVO paramVO) throws Exception; // C void insert_VEAIRR(VEAStngVO paramVO) throws Exception; // C
@ -75,5 +86,23 @@ public interface VEAStngService {
int update_VEAIRR(VEAStngVO paramVO) throws Exception; // U int update_VEAIRR(VEAStngVO paramVO) throws Exception; // U
int delete_VEAIRR(VEAStngVO paramVO) throws Exception; // D int delete_VEAIRR(VEAStngVO paramVO) throws Exception; // D
List<VEAStngVO> selectList_VEAIRR(VEAStngVO paramVO) throws Exception; // LIST List<VEAStngVO> selectList_VEAIRR(VEAStngVO paramVO) throws Exception; // LIST
List<VEAStngVO> selectPagingList_VEAIRR(VEAStngVO paramVO) throws Exception; // Page List List<VEAStngVO> selectPagingList_VEAIRR(VEAStngVO paramVO) throws Exception; // Page List
//VEA_BASIC_INFO_STNG - 기본설정정보
void insert_VEABIS(VEAStngVO paramVO) throws Exception; // C
VEAStngVO selectDetail_VEABIS(VEAStngVO paramVO) throws Exception; // R
int update_VEABIS(VEAStngVO paramVO) throws Exception; // U
int delete_VEABIS(VEAStngVO paramVO) throws Exception; // D
List<VEAStngVO> selectList_VEABIS(VEAStngVO paramVO) throws Exception; // LIST
List<VEAStngVO> selectPagingList_VEABIS(VEAStngVO paramVO) throws Exception; // Page List
//VEA_INSTR_HSTRY_MNG - 강사이력관리
void insert_VEAIHM(VEAStngVO paramVO) throws Exception; // C
VEAStngVO selectDetail_VEAIHM(VEAStngVO paramVO) throws Exception; // R
int update_VEAIHM(VEAStngVO paramVO) throws Exception; // U
int delete_VEAIHM(VEAStngVO paramVO) throws Exception; // D
List<VEAStngVO> selectList_VEAIHM(VEAStngVO paramVO) throws Exception; // LIST
List<VEAStngVO> selectPagingList_VEAIHM(VEAStngVO paramVO) throws Exception; // Page List
} }

View File

@ -94,6 +94,80 @@ public class VEAStngVO extends ComDefaultVO implements Serializable {
private String instrTm0; //해당월 0일강사인당시간 private String instrTm0; //해당월 0일강사인당시간
private String asgnmChasi0; //해당월 0일강사배정총차시 private String asgnmChasi0; //해당월 0일강사배정총차시
//vea_basic_info_stng - 기본정보
private String stngCd; //설정코드
private String cn; //내용
//vea_instr_indvd_mnt_tm - 강사별월별시수
private String userId; //강사 아이디
private String m01Ea; //1월 설정한 강의일수
private String m01Tm; //1월 계산된 최대 차시수
private String m01RegisterId; //1월 등록자
private String m01RegsitPnttm; //1월 등록일시
private String m02Ea; //1월 설정한 강의일수
private String m02Tm; //1월 계산된 최대 차시수
private String m02RegisterId; //1월 등록자
private String m02RegsitPnttm; //1월 등록일시
private String m03Ea; //1월 설정한 강의일수
private String m03Tm; //1월 계산된 최대 차시수
private String m03RegisterId; //1월 등록자
private String m03RegsitPnttm; //1월 등록일시
private String m04Ea; //1월 설정한 강의일수
private String m04Tm; //1월 계산된 최대 차시수
private String m04RegisterId; //1월 등록자
private String m04RegsitPnttm; //1월 등록일시
private String m05Ea; //1월 설정한 강의일수
private String m05Tm; //1월 계산된 최대 차시수
private String m05RegisterId; //1월 등록자
private String m05RegsitPnttm; //1월 등록일시
private String m06Ea; //1월 설정한 강의일수
private String m06Tm; //1월 계산된 최대 차시수
private String m06RegisterId; //1월 등록자
private String m06RegsitPnttm; //1월 등록일시
private String m07Ea; //1월 설정한 강의일수
private String m07Tm; //1월 계산된 최대 차시수
private String m07RegisterId; //1월 등록자
private String m07RegsitPnttm; //1월 등록일시
private String m08Ea; //1월 설정한 강의일수
private String m08Tm; //1월 계산된 최대 차시수
private String m08RegisterId; //1월 등록자
private String m08RegsitPnttm; //1월 등록일시
private String m09Ea; //1월 설정한 강의일수
private String m09Tm; //1월 계산된 최대 차시수
private String m09RegisterId; //1월 등록자
private String m09RegsitPnttm; //1월 등록일시
private String m10Ea; //1월 설정한 강의일수
private String m10Tm; //1월 계산된 최대 차시수
private String m10RegisterId; //1월 등록자
private String m10RegsitPnttm; //1월 등록일시
private String m11Ea; //1월 설정한 강의일수
private String m11Tm; //1월 계산된 최대 차시수
private String m11RegisterId; //1월 등록자
private String m11RegsitPnttm; //1월 등록일시
private String m12Ea; //1월 설정한 강의일수
private String m12Tm; //1월 계산된 최대 차시수
private String m12RegisterId; //1월 등록자
private String m12RegsitPnttm; //1월 등록일시
//vea_instr_hstry_mng - 강사이력관리
private String instrHstryOrd; //강사이력순번
private String sbjct; //주제
private String strtDt; //시작일
private String ddlnDt; //종료일
//etc //etc
private String code; //설정 년도 private String code; //설정 년도
private String psblTmQnttyCnt; //실제 신청 차시(관리자 달력용) private String psblTmQnttyCnt; //실제 신청 차시(관리자 달력용)
@ -108,7 +182,9 @@ public class VEAStngVO extends ComDefaultVO implements Serializable {
private String rgstrDateState; //일자기준접수상태 0,1,2 -기간전, 기간중, 기간후 private String rgstrDateState; //일자기준접수상태 0,1,2 -기간전, 기간중, 기간후
private String searchWord; //검색어 private String searchWord; //검색어
private String workWeekCnt; // 수업 가능일수
//4 update //4 update
private String tableNm; private String tableNm;
@ -120,6 +196,9 @@ public class VEAStngVO extends ComDefaultVO implements Serializable {
private String start; private String start;
private String end; private String end;
private String title; private String title;
private String titleF; //현재신청
private String titleB; //가능신청
//지역별 강의 설정 //지역별 강의 설정
@ -602,5 +681,355 @@ public class VEAStngVO extends ComDefaultVO implements Serializable {
public void setPsblTmQnttyCnt(String psblTmQnttyCnt) { public void setPsblTmQnttyCnt(String psblTmQnttyCnt) {
this.psblTmQnttyCnt = psblTmQnttyCnt; this.psblTmQnttyCnt = psblTmQnttyCnt;
} }
public String getStngCd() {
return stngCd;
}
public void setStngCd(String stngCd) {
this.stngCd = stngCd;
}
public String getCn() {
return cn;
}
public void setCn(String cn) {
this.cn = cn;
}
public String getTitleF() {
return titleF;
}
public void setTitleF(String titleF) {
this.titleF = titleF;
}
public String getTitleB() {
return titleB;
}
public void setTitleB(String titleB) {
this.titleB = titleB;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getM01Ea() {
return m01Ea;
}
public void setM01Ea(String m01Ea) {
this.m01Ea = m01Ea;
}
public String getM01Tm() {
return m01Tm;
}
public void setM01Tm(String m01Tm) {
this.m01Tm = m01Tm;
}
public String getM01RegisterId() {
return m01RegisterId;
}
public void setM01RegisterId(String m01RegisterId) {
this.m01RegisterId = m01RegisterId;
}
public String getM01RegsitPnttm() {
return m01RegsitPnttm;
}
public void setM01RegsitPnttm(String m01RegsitPnttm) {
this.m01RegsitPnttm = m01RegsitPnttm;
}
public String getM02Ea() {
return m02Ea;
}
public void setM02Ea(String m02Ea) {
this.m02Ea = m02Ea;
}
public String getM02Tm() {
return m02Tm;
}
public void setM02Tm(String m02Tm) {
this.m02Tm = m02Tm;
}
public String getM02RegisterId() {
return m02RegisterId;
}
public void setM02RegisterId(String m02RegisterId) {
this.m02RegisterId = m02RegisterId;
}
public String getM02RegsitPnttm() {
return m02RegsitPnttm;
}
public void setM02RegsitPnttm(String m02RegsitPnttm) {
this.m02RegsitPnttm = m02RegsitPnttm;
}
public String getM03Ea() {
return m03Ea;
}
public void setM03Ea(String m03Ea) {
this.m03Ea = m03Ea;
}
public String getM03Tm() {
return m03Tm;
}
public void setM03Tm(String m03Tm) {
this.m03Tm = m03Tm;
}
public String getM03RegisterId() {
return m03RegisterId;
}
public void setM03RegisterId(String m03RegisterId) {
this.m03RegisterId = m03RegisterId;
}
public String getM03RegsitPnttm() {
return m03RegsitPnttm;
}
public void setM03RegsitPnttm(String m03RegsitPnttm) {
this.m03RegsitPnttm = m03RegsitPnttm;
}
public String getM04Ea() {
return m04Ea;
}
public void setM04Ea(String m04Ea) {
this.m04Ea = m04Ea;
}
public String getM04Tm() {
return m04Tm;
}
public void setM04Tm(String m04Tm) {
this.m04Tm = m04Tm;
}
public String getM04RegisterId() {
return m04RegisterId;
}
public void setM04RegisterId(String m04RegisterId) {
this.m04RegisterId = m04RegisterId;
}
public String getM04RegsitPnttm() {
return m04RegsitPnttm;
}
public void setM04RegsitPnttm(String m04RegsitPnttm) {
this.m04RegsitPnttm = m04RegsitPnttm;
}
public String getM05Ea() {
return m05Ea;
}
public void setM05Ea(String m05Ea) {
this.m05Ea = m05Ea;
}
public String getM05Tm() {
return m05Tm;
}
public void setM05Tm(String m05Tm) {
this.m05Tm = m05Tm;
}
public String getM05RegisterId() {
return m05RegisterId;
}
public void setM05RegisterId(String m05RegisterId) {
this.m05RegisterId = m05RegisterId;
}
public String getM05RegsitPnttm() {
return m05RegsitPnttm;
}
public void setM05RegsitPnttm(String m05RegsitPnttm) {
this.m05RegsitPnttm = m05RegsitPnttm;
}
public String getM06Ea() {
return m06Ea;
}
public void setM06Ea(String m06Ea) {
this.m06Ea = m06Ea;
}
public String getM06Tm() {
return m06Tm;
}
public void setM06Tm(String m06Tm) {
this.m06Tm = m06Tm;
}
public String getM06RegisterId() {
return m06RegisterId;
}
public void setM06RegisterId(String m06RegisterId) {
this.m06RegisterId = m06RegisterId;
}
public String getM06RegsitPnttm() {
return m06RegsitPnttm;
}
public void setM06RegsitPnttm(String m06RegsitPnttm) {
this.m06RegsitPnttm = m06RegsitPnttm;
}
public String getM07Ea() {
return m07Ea;
}
public void setM07Ea(String m07Ea) {
this.m07Ea = m07Ea;
}
public String getM07Tm() {
return m07Tm;
}
public void setM07Tm(String m07Tm) {
this.m07Tm = m07Tm;
}
public String getM07RegisterId() {
return m07RegisterId;
}
public void setM07RegisterId(String m07RegisterId) {
this.m07RegisterId = m07RegisterId;
}
public String getM07RegsitPnttm() {
return m07RegsitPnttm;
}
public void setM07RegsitPnttm(String m07RegsitPnttm) {
this.m07RegsitPnttm = m07RegsitPnttm;
}
public String getM08Ea() {
return m08Ea;
}
public void setM08Ea(String m08Ea) {
this.m08Ea = m08Ea;
}
public String getM08Tm() {
return m08Tm;
}
public void setM08Tm(String m08Tm) {
this.m08Tm = m08Tm;
}
public String getM08RegisterId() {
return m08RegisterId;
}
public void setM08RegisterId(String m08RegisterId) {
this.m08RegisterId = m08RegisterId;
}
public String getM08RegsitPnttm() {
return m08RegsitPnttm;
}
public void setM08RegsitPnttm(String m08RegsitPnttm) {
this.m08RegsitPnttm = m08RegsitPnttm;
}
public String getM09Ea() {
return m09Ea;
}
public void setM09Ea(String m09Ea) {
this.m09Ea = m09Ea;
}
public String getM09Tm() {
return m09Tm;
}
public void setM09Tm(String m09Tm) {
this.m09Tm = m09Tm;
}
public String getM09RegisterId() {
return m09RegisterId;
}
public void setM09RegisterId(String m09RegisterId) {
this.m09RegisterId = m09RegisterId;
}
public String getM09RegsitPnttm() {
return m09RegsitPnttm;
}
public void setM09RegsitPnttm(String m09RegsitPnttm) {
this.m09RegsitPnttm = m09RegsitPnttm;
}
public String getM10Ea() {
return m10Ea;
}
public void setM10Ea(String m10Ea) {
this.m10Ea = m10Ea;
}
public String getM10Tm() {
return m10Tm;
}
public void setM10Tm(String m10Tm) {
this.m10Tm = m10Tm;
}
public String getM10RegisterId() {
return m10RegisterId;
}
public void setM10RegisterId(String m10RegisterId) {
this.m10RegisterId = m10RegisterId;
}
public String getM10RegsitPnttm() {
return m10RegsitPnttm;
}
public void setM10RegsitPnttm(String m10RegsitPnttm) {
this.m10RegsitPnttm = m10RegsitPnttm;
}
public String getM11Ea() {
return m11Ea;
}
public void setM11Ea(String m11Ea) {
this.m11Ea = m11Ea;
}
public String getM11Tm() {
return m11Tm;
}
public void setM11Tm(String m11Tm) {
this.m11Tm = m11Tm;
}
public String getM11RegisterId() {
return m11RegisterId;
}
public void setM11RegisterId(String m11RegisterId) {
this.m11RegisterId = m11RegisterId;
}
public String getM11RegsitPnttm() {
return m11RegsitPnttm;
}
public void setM11RegsitPnttm(String m11RegsitPnttm) {
this.m11RegsitPnttm = m11RegsitPnttm;
}
public String getM12Ea() {
return m12Ea;
}
public void setM12Ea(String m12Ea) {
this.m12Ea = m12Ea;
}
public String getM12Tm() {
return m12Tm;
}
public void setM12Tm(String m12Tm) {
this.m12Tm = m12Tm;
}
public String getM12RegisterId() {
return m12RegisterId;
}
public void setM12RegisterId(String m12RegisterId) {
this.m12RegisterId = m12RegisterId;
}
public String getM12RegsitPnttm() {
return m12RegsitPnttm;
}
public void setM12RegsitPnttm(String m12RegsitPnttm) {
this.m12RegsitPnttm = m12RegsitPnttm;
}
public String getInstrHstryOrd() {
return instrHstryOrd;
}
public void setInstrHstryOrd(String instrHstryOrd) {
this.instrHstryOrd = instrHstryOrd;
}
public String getWorkWeekCnt() {
return workWeekCnt;
}
public void setWorkWeekCnt(String workWeekCnt) {
this.workWeekCnt = workWeekCnt;
}
public String getSbjct() {
return sbjct;
}
public void setSbjct(String sbjct) {
this.sbjct = sbjct;
}
public String getStrtDt() {
return strtDt;
}
public void setStrtDt(String strtDt) {
this.strtDt = strtDt;
}
public String getDdlnDt() {
return ddlnDt;
}
public void setDdlnDt(String ddlnDt) {
this.ddlnDt = ddlnDt;
}
} }

View File

@ -217,6 +217,39 @@ public class VEAStngDAO extends EgovAbstractDAO {
return tlist; return tlist;
} }
//VEA_INSTR_INDVD_MNT_TM - 강사별월별시수
public void insert_VEAIIMT(VEAStngVO paramVO) throws Exception {
insert("VEAInstrIndvdMntTmDAO.insert", paramVO);
}
public VEAStngVO selectDetail_VEAIIMT(VEAStngVO paramVO) throws Exception {
return (VEAStngVO) select("VEAInstrIndvdMntTmDAO.selectDetail", paramVO);
}
public int update_VEAIIMT(VEAStngVO paramVO) throws Exception {
return update("VEAInstrIndvdMntTmDAO.update", paramVO);
}
public int delete_VEAIIMT(VEAStngVO paramVO) throws Exception {
return delete("VEAInstrIndvdMntTmDAO.delete", paramVO);
}
//L
public List<VEAStngVO> selectList_VEAIIMT(VEAStngVO paramVO) throws Exception {
List<VEAStngVO> tlist = (List<VEAStngVO>) list("VEAInstrIndvdMntTmDAO.selectList", paramVO);
return tlist;
}
public List<VEAStngVO> selectPagingList_VEAIIMT(VEAStngVO paramVO) throws Exception {
List<VEAStngVO> tlist = (List<VEAStngVO>) list("VEAInstrIndvdMntTmDAO.selectPagingList", paramVO);
return tlist;
}
public int delete_VEAIIMT_query(VEAStngVO paramVO) throws Exception {
return delete("VEAInstrIndvdMntTmDAO.delete_query", paramVO);
}
//VEA_INSTR_RSDNC_RATIO - 강사거주지별비율 //VEA_INSTR_RSDNC_RATIO - 강사거주지별비율
public void insert_VEAIRR(VEAStngVO paramVO) throws Exception { public void insert_VEAIRR(VEAStngVO paramVO) throws Exception {
@ -244,5 +277,63 @@ public class VEAStngDAO extends EgovAbstractDAO {
public List<VEAStngVO> selectPagingList_VEAIRR(VEAStngVO paramVO) throws Exception { public List<VEAStngVO> selectPagingList_VEAIRR(VEAStngVO paramVO) throws Exception {
List<VEAStngVO> tlist = (List<VEAStngVO>) list("VEAInstrRsdncRatioDAO.selectPagingList", paramVO); List<VEAStngVO> tlist = (List<VEAStngVO>) list("VEAInstrRsdncRatioDAO.selectPagingList", paramVO);
return tlist; return tlist;
}
//VEA_BASIC_INFO_STNG - 기본정보설정
public void insert_VEABIS(VEAStngVO paramVO) throws Exception {
insert("VEABasicInfoStngDAO.insert", paramVO);
}
public VEAStngVO selectDetail_VEABIS(VEAStngVO paramVO) throws Exception {
return (VEAStngVO) select("VEABasicInfoStngDAO.selectDetail", paramVO);
}
public int update_VEABIS(VEAStngVO paramVO) throws Exception {
return update("VEABasicInfoStngDAO.update", paramVO);
}
public int delete_VEABIS(VEAStngVO paramVO) throws Exception {
return delete("VEABasicInfoStngDAO.delete", paramVO);
}
//L
public List<VEAStngVO> selectList_VEABIS(VEAStngVO paramVO) throws Exception {
List<VEAStngVO> tlist = (List<VEAStngVO>) list("VEABasicInfoStngDAO.selectList", paramVO);
return tlist;
}
public List<VEAStngVO> selectPagingList_VEABIS(VEAStngVO paramVO) throws Exception {
List<VEAStngVO> tlist = (List<VEAStngVO>) list("VEABasicInfoStngDAO.selectPagingList", paramVO);
return tlist;
}
//VEA_INSTR_HSTRY_MNG - 강사이력관리
public void insert_VEAIHM(VEAStngVO paramVO) throws Exception {
insert("VEAInstrHstryMngDAO.insert", paramVO);
}
public VEAStngVO selectDetail_VEAIHM(VEAStngVO paramVO) throws Exception {
return (VEAStngVO) select("VEAInstrHstryMngDAO.selectDetail", paramVO);
}
public int update_VEAIHM(VEAStngVO paramVO) throws Exception {
return update("VEAInstrHstryMngDAO.update", paramVO);
}
public int delete_VEAIHM(VEAStngVO paramVO) throws Exception {
return delete("VEAInstrHstryMngDAO.delete", paramVO);
}
//L
public List<VEAStngVO> selectList_VEAIHM(VEAStngVO paramVO) throws Exception {
List<VEAStngVO> tlist = (List<VEAStngVO>) list("VEAInstrHstryMngDAO.selectList", paramVO);
return tlist;
}
public List<VEAStngVO> selectPagingList_VEAIHM(VEAStngVO paramVO) throws Exception {
List<VEAStngVO> tlist = (List<VEAStngVO>) list("VEAInstrHstryMngDAO.selectPagingList", paramVO);
return tlist;
} }
} }

View File

@ -94,4 +94,10 @@ public class VEAStngMixDAO extends EgovAbstractDAO {
public int selectList_VEAIMT_2(VEAStngVO paramVO) throws Exception { public int selectList_VEAIMT_2(VEAStngVO paramVO) throws Exception {
return (int) select("VEAAsgnmStngMixDAO.selectList_VEAIMT_2", paramVO); return (int) select("VEAAsgnmStngMixDAO.selectList_VEAIMT_2", paramVO);
} }
//L
public List<VEAStngVO> selectList_VEAIIMT_1(VEAStngVO paramVO) throws Exception {
List<VEAStngVO> tlist = (List<VEAStngVO>) list("VEAAsgnmStngMixDAO.selectList_VEAIIMT_1", paramVO);
return tlist;
}
} }

View File

@ -302,4 +302,8 @@ public class VEAStngMixServiceImpl implements VEAStngMixService {
public int selectList_VEAIMT_2(VEAStngVO paramVO) throws Exception{ public int selectList_VEAIMT_2(VEAStngVO paramVO) throws Exception{
return vEAStngMixDAO.selectList_VEAIMT_2(paramVO); return vEAStngMixDAO.selectList_VEAIMT_2(paramVO);
} }
public List<VEAStngVO> selectList_VEAIIMT_1(VEAStngVO paramVO) throws Exception{
return vEAStngMixDAO.selectList_VEAIIMT_1(paramVO);
}
} }

View File

@ -261,6 +261,44 @@ public class VEAStngServiceImpl implements VEAStngService {
} }
//VEA_INSTR_INDVD_MNT_TM - 강사별월별시수
//C
public void insert_VEAIIMT(VEAStngVO paramVO) throws Exception {
vEAStngDAO.insert_VEAIIMT(paramVO);
}
//R
public VEAStngVO selectDetail_VEAIIMT(VEAStngVO paramVO) throws Exception {
return vEAStngDAO.selectDetail_VEAIIMT(paramVO);
}
//U
public int update_VEAIIMT(VEAStngVO paramVO) throws Exception{
return vEAStngDAO.update_VEAIIMT(paramVO);
}
//D
public int delete_VEAIIMT(VEAStngVO paramVO) throws Exception{
return vEAStngDAO.delete_VEAIIMT(paramVO);
}
//List
public List<VEAStngVO> selectList_VEAIIMT(VEAStngVO paramVO) throws Exception{
return vEAStngDAO.selectList_VEAIIMT(paramVO);
}
//paging List
public List<VEAStngVO> selectPagingList_VEAIIMT(VEAStngVO paramVO) throws Exception{
return vEAStngDAO.selectPagingList_VEAIIMT(paramVO);
}
//D
public int delete_VEAIIMT_query(VEAStngVO paramVO) throws Exception{
return vEAStngDAO.delete_VEAIIMT_query(paramVO);
}
//VEA_INSTR_RSDNC_RATIO - 강사거주지별비율 //VEA_INSTR_RSDNC_RATIO - 강사거주지별비율
//C //C
public void insert_VEAIRR(VEAStngVO paramVO) throws Exception { public void insert_VEAIRR(VEAStngVO paramVO) throws Exception {
@ -291,5 +329,71 @@ public class VEAStngServiceImpl implements VEAStngService {
//paging List //paging List
public List<VEAStngVO> selectPagingList_VEAIRR(VEAStngVO paramVO) throws Exception{ public List<VEAStngVO> selectPagingList_VEAIRR(VEAStngVO paramVO) throws Exception{
return vEAStngDAO.selectPagingList_VEAIRR(paramVO); return vEAStngDAO.selectPagingList_VEAIRR(paramVO);
}
//VEA_BASIC_INFO_STNG - 기본설정정보
//C
public void insert_VEABIS(VEAStngVO paramVO) throws Exception {
vEAStngDAO.insert_VEABIS(paramVO);
}
//R
public VEAStngVO selectDetail_VEABIS(VEAStngVO paramVO) throws Exception {
return vEAStngDAO.selectDetail_VEABIS(paramVO);
}
//U
public int update_VEABIS(VEAStngVO paramVO) throws Exception{
return vEAStngDAO.update_VEABIS(paramVO);
}
//D
public int delete_VEABIS(VEAStngVO paramVO) throws Exception{
return vEAStngDAO.delete_VEABIS(paramVO);
}
//List
public List<VEAStngVO> selectList_VEABIS(VEAStngVO paramVO) throws Exception{
return vEAStngDAO.selectList_VEABIS(paramVO);
}
//paging List
public List<VEAStngVO> selectPagingList_VEABIS(VEAStngVO paramVO) throws Exception{
return vEAStngDAO.selectPagingList_VEABIS(paramVO);
} }
//VEA_INSTR_HSTRY_MNG - 강사이력관리
//C
public void insert_VEAIHM(VEAStngVO paramVO) throws Exception {
vEAStngDAO.insert_VEAIHM(paramVO);
}
//R
public VEAStngVO selectDetail_VEAIHM(VEAStngVO paramVO) throws Exception {
return vEAStngDAO.selectDetail_VEAIHM(paramVO);
}
//U
public int update_VEAIHM(VEAStngVO paramVO) throws Exception{
return vEAStngDAO.update_VEAIHM(paramVO);
}
//D
public int delete_VEAIHM(VEAStngVO paramVO) throws Exception{
return vEAStngDAO.delete_VEAIHM(paramVO);
}
//List
public List<VEAStngVO> selectList_VEAIHM(VEAStngVO paramVO) throws Exception{
return vEAStngDAO.selectList_VEAIHM(paramVO);
}
//paging List
public List<VEAStngVO> selectPagingList_VEAIHM(VEAStngVO paramVO) throws Exception{
return vEAStngDAO.selectPagingList_VEAIHM(paramVO);
}
} }

View File

@ -901,6 +901,29 @@ public class CommonWebController {
return modelAndView; return modelAndView;
} }
// 강사 요청 서류 업르도 팝업
@RequestMapping("/popup/docFileUploadPop.do")
public String reqFileUploadPop(@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO, ModelMap model, HttpServletRequest request) throws Exception{
try {
//로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO();
vEEduAplctVO.setUserId(loginVO.getUniqId());
System.out.println("===================== loginVO.getUniqId() :: " + loginVO.getUniqId());
String fileType = request.getParameter("fileType");
System.out.println("=====================" + fileType);
model.addAttribute("fileType", fileType);
String eduDocReqOrd = request.getParameter("eduDocReqOrd");
model.addAttribute("eduDocReqOrd", eduDocReqOrd);
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
return "/web/ve/comm/docFileUploadPop";
}
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////
// //
// //

View File

@ -26,4 +26,6 @@ public interface ScholInfoService {
int insertSelectIsltn(ScholInfoVO scholInfoVO) throws Exception; int insertSelectIsltn(ScholInfoVO scholInfoVO) throws Exception;
int insertSelectIsltn20231107(ScholInfoVO scholInfoVO) throws Exception;
} }

View File

@ -57,4 +57,9 @@ public class ScholInfoDAO extends EgovAbstractDAO {
public int insertSelectIsltn(ScholInfoVO scholInfoVO) throws Exception { public int insertSelectIsltn(ScholInfoVO scholInfoVO) throws Exception {
return update("ScholInfoDAO.insertSelectIsltn", scholInfoVO); return update("ScholInfoDAO.insertSelectIsltn", scholInfoVO);
} }
public int insertSelectIsltn20231107(ScholInfoVO scholInfoVO) throws Exception {
return update("ScholInfoDAO.insertSelectIsltn20231107", scholInfoVO);
}
} }

View File

@ -64,4 +64,10 @@ public class ScholInfoServiceImpl implements ScholInfoService {
public int insertSelectIsltn(ScholInfoVO scholInfoVO) throws Exception { public int insertSelectIsltn(ScholInfoVO scholInfoVO) throws Exception {
return scholInfoDAO.insertSelectIsltn(scholInfoVO); return scholInfoDAO.insertSelectIsltn(scholInfoVO);
} }
@Override
public int insertSelectIsltn20231107(ScholInfoVO scholInfoVO) throws Exception {
return scholInfoDAO.insertSelectIsltn20231107(scholInfoVO);
}
} }

View File

@ -99,6 +99,44 @@ public class ScholInfoController {
return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/popup/scholPopList"; return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/popup/scholPopList";
} }
/**
* 교육일정당력보기
*/
@RequestMapping("popup/calendarPopList.do")
public String popupCalendarPopList( @ModelAttribute("scholInfoVO") ScholInfoVO scholInfoVO , ModelMap model , HttpServletRequest request ) throws Exception {
//1.paging step1
PaginationInfo paginationInfo = this.setPagingStep1(scholInfoVO);
//2. paging step2
scholInfoVO = this.setPagingStep2(scholInfoVO, paginationInfo);
if (!"".equals(scholInfoVO.getSearchKeyword())) {
scholInfoVO.setSelectPagingListQuery(" AND A.SCHOL_NM LIKE '%"+scholInfoVO.getSearchKeyword()+"%' ");
}
if (!"".equals(scholInfoVO.getSearchCondition())) {
if(scholInfoVO.getSearchCondition().equals("10")) {
scholInfoVO.setScholGrade(" AND A.SCHOL_GRADE_NM LIKE '%초등%' ");
}else if(scholInfoVO.getSearchCondition().equals("20")) {
scholInfoVO.setScholGrade(" AND A.SCHOL_GRADE_NM LIKE '%중학%' ");
}else if(scholInfoVO.getSearchCondition().equals("30")) {
scholInfoVO.setScholGrade(" AND A.SCHOL_GRADE_NM LIKE '%고등%' ");
}else if(scholInfoVO.getSearchCondition().equals("40")) {
scholInfoVO.setScholGrade(" AND A.SCHOL_GRADE_NM LIKE '%특수%' ");
}else if(scholInfoVO.getSearchCondition().equals("50")) {
scholInfoVO.setScholGrade(" AND A.SCHOL_GRADE_NM LIKE '%각종%' ");
}
}
List<ScholInfoVO> scholInfoVOList = scholInfoService.selectPagingList(scholInfoVO);
//3.paging step3
paginationInfo = this.setPagingStep3(scholInfoVOList, paginationInfo);
model.addAttribute("paginationInfo", paginationInfo);
//학교정보 리스트, 페이징 정보 전달
model.addAttribute("scholList", scholInfoVOList);
return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/popup/calendarPopList";
}
//calendarPopList.jsp
//페이징을 위한 처리 step1 - 페이징 기본 정보 설정 //페이징을 위한 처리 step1 - 페이징 기본 정보 설정
private PaginationInfo setPagingStep1( private PaginationInfo setPagingStep1(

View File

@ -2,7 +2,6 @@ package kcc.ve.aplct.tngrVisitEdu.eduAplct.web;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.stream.Collector;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -27,6 +26,7 @@ import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.uat.uia.service.SsoLoginVO; import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.adv.tngr.stngInfo.service.VEAStngMixService; import kcc.ve.adv.tngr.stngInfo.service.VEAStngMixService;
import kcc.ve.adv.tngr.stngInfo.service.VEAStngService;
import kcc.ve.adv.tngr.stngInfo.service.VEAStngVO; import kcc.ve.adv.tngr.stngInfo.service.VEAStngVO;
import kcc.ve.aplct.tngrVisitEdu.eduAplct.service.EduAplctTngrService; import kcc.ve.aplct.tngrVisitEdu.eduAplct.service.EduAplctTngrService;
import kcc.ve.cmm.VeConstants; import kcc.ve.cmm.VeConstants;
@ -134,6 +134,11 @@ public class EduAplctTngrController {
@Resource(name = "vEAStngMixService") @Resource(name = "vEAStngMixService")
private VEAStngMixService vEAStngMixService; private VEAStngMixService vEAStngMixService;
@Resource(name = "vEAStngService")
private VEAStngService vEAStngService;
/* /*
* START * START
* 이전작업들... * 이전작업들...
@ -160,7 +165,8 @@ public class EduAplctTngrController {
PaginationInfo paginationInfo = this.setPagingStep1(vEEduAplctVO); PaginationInfo paginationInfo = this.setPagingStep1(vEEduAplctVO);
//2. pageing step2 //2. pageing step2
vEEduAplctVO = this.setPagingStep2(vEEduAplctVO, paginationInfo); vEEduAplctVO = this.setPagingStep2(vEEduAplctVO, paginationInfo);
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO); //List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO);
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectPagingApplyList(vEEduAplctVO);
//3.pageing step3 //3.pageing step3
paginationInfo = this.setPagingStep3(vEEduAplctVOList, paginationInfo); paginationInfo = this.setPagingStep3(vEEduAplctVOList, paginationInfo);
model.addAttribute("paginationInfo", paginationInfo); model.addAttribute("paginationInfo", paginationInfo);
@ -193,6 +199,15 @@ public class EduAplctTngrController {
model.addAttribute("list", vEPrcsDetailVOList); model.addAttribute("list", vEPrcsDetailVOList);
model.addAttribute("uniqId", loginVO.getUniqId()); model.addAttribute("uniqId", loginVO.getUniqId());
//현재 신청등록문구 가져오기
VEAStngVO vEAStngVO = new VEAStngVO();
vEAStngVO.setStngCd("TR01");
vEAStngVO = vEAStngService.selectDetail_VEABIS(vEAStngVO);
model.addAttribute("selectBasicTRInfo", vEAStngVO);
return "/web/ve/aplct/tngrVisitEdu/eduAplct/eduAplctReg"; return "/web/ve/aplct/tngrVisitEdu/eduAplct/eduAplctReg";
} }

View File

@ -484,6 +484,13 @@ public class EduEndTngrController {
egovQustnrRespondManageService.selectQustnrRespondManageListCnt(searchVO); egovQustnrRespondManageService.selectQustnrRespondManageListCnt(searchVO);
model.addAttribute("cryptoUtil", egovCryptoUtil); model.addAttribute("cryptoUtil", egovCryptoUtil);
//서류 요청 목록
VEEduAplctVO veEduDocReqVO = new VEEduAplctVO();
veEduDocReqVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
List<VEEduAplctVO> vEEduDocReqList = vEEduAplctService.selectDocReqList(veEduDocReqVO);
//복호화
vEEduDocReqList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduDocReqList);
model.addAttribute("docReqList", vEEduDocReqList);
return "/web/ve/aplct/tngrVisitEdu/eduEnd/eduEndDetail"; return "/web/ve/aplct/tngrVisitEdu/eduEnd/eduEndDetail";
} }

View File

@ -29,6 +29,8 @@ import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeAcmdtVO; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeAcmdtVO;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeService; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailService; import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailService;
@ -86,6 +88,9 @@ public class VEAsgnmController {
@Resource(name = "vEEduMIXService") @Resource(name = "vEEduMIXService")
private VEEduMIXService vEEduMIXService; private VEEduMIXService vEEduMIXService;
@Resource(name = "vEEduAplctService")
private VEEduAplctService vEEduAplctService;
//청소년강사 강의 요청 목록 //청소년강사 강의 요청 목록
@RequestMapping("/web/ve/instr/tngrVisitEdu/asgnmInfo/instrAsgnmRqstList.do") @RequestMapping("/web/ve/instr/tngrVisitEdu/asgnmInfo/instrAsgnmRqstList.do")
public String instrAsgnmRqstList( public String instrAsgnmRqstList(
@ -573,6 +578,14 @@ public class VEAsgnmController {
model.addAttribute("vEEduChasiCompanionVOList", vEEduChasiCompanionVOList); model.addAttribute("vEEduChasiCompanionVOList", vEEduChasiCompanionVOList);
//요청서류 목록
VEEduAplctVO veEduDocReqVO = new VEEduAplctVO();
veEduDocReqVO.setEduAplctOrd(vEInstrAsgnmVOInfo.getEduAplctOrd());
veEduDocReqVO.setSbmtId(loginVO.getUniqId());
List<VEEduAplctVO> vEEduDocReqList = vEEduAplctService.selectDocReqList(veEduDocReqVO);
//복호화
vEEduDocReqList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduDocReqList);
model.addAttribute("docReqList", vEEduDocReqList);
}catch(Exception ex) { }catch(Exception ex) {
ex.printStackTrace(); ex.printStackTrace();

View File

@ -54,4 +54,7 @@ public interface VEEduAplctService {
//서류요청 목록 조회 //서류요청 목록 조회
List<VEEduAplctVO> selectDocReqList(VEEduAplctVO paramVO) throws Exception; List<VEEduAplctVO> selectDocReqList(VEEduAplctVO paramVO) throws Exception;
//요청서류 제출
void updateSbmtAtchFileId(VEEduAplctVO paramVO) throws Exception;
} }

View File

@ -147,4 +147,8 @@ public class VEEduAplctDAO extends EgovAbstractDAO {
public List<VEEduAplctVO> selectDocReqList(VEEduAplctVO paramVO) throws Exception { public List<VEEduAplctVO> selectDocReqList(VEEduAplctVO paramVO) throws Exception {
return (List<VEEduAplctVO>) list("VEEduAplctDAO.selectDocReqList", paramVO); return (List<VEEduAplctVO>) list("VEEduAplctDAO.selectDocReqList", paramVO);
} }
public void updateSbmtAtchFileId(VEEduAplctVO paramVO) throws Exception {
insert("VEEduAplctDAO.updateSbmtAtchFileId", paramVO);
}
} }

View File

@ -171,4 +171,8 @@ public class VEEduAplctServiceImpl implements VEEduAplctService {
public List<VEEduAplctVO> selectDocReqList(VEEduAplctVO paramVO) throws Exception{ public List<VEEduAplctVO> selectDocReqList(VEEduAplctVO paramVO) throws Exception{
return vEEduAplctDAO.selectDocReqList(paramVO); return vEEduAplctDAO.selectDocReqList(paramVO);
} }
public void updateSbmtAtchFileId(VEEduAplctVO paramVO) throws Exception {
vEEduAplctDAO.updateSbmtAtchFileId(paramVO);
}
} }

View File

@ -46,6 +46,7 @@ import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeAcmdtVO; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeAcmdtVO;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeService; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailService; import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailService;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO; import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
@ -112,6 +113,9 @@ public class VEEduEndController {
@Resource(name="vEAsgnmNotiService") @Resource(name="vEAsgnmNotiService")
private VEAsgnmNotiService vEAsgnmNotiService; private VEAsgnmNotiService vEAsgnmNotiService;
@Resource(name = "vEEduAplctService")
private VEEduAplctService vEEduAplctService;
private static final Logger LOGGER = LoggerFactory.getLogger(EgovFileDownloadController.class); private static final Logger LOGGER = LoggerFactory.getLogger(EgovFileDownloadController.class);
/** /**
@ -324,6 +328,15 @@ public class VEEduEndController {
vEAsgnmNotiVO.setTblUniqOrd(vEInstrAsgnmVO.getEduChasiOrd()); vEAsgnmNotiVO.setTblUniqOrd(vEInstrAsgnmVO.getEduChasiOrd());
vEAsgnmNotiVO.setFrstRegisterId(loginVO.getUniqId()); vEAsgnmNotiVO.setFrstRegisterId(loginVO.getUniqId());
//요청서류 목록
VEEduAplctVO veEduDocReqVO = new VEEduAplctVO();
veEduDocReqVO.setEduAplctOrd(vEInstrAsgnmVOInfo.getEduAplctOrd());
veEduDocReqVO.setSbmtId(loginVO.getUniqId());
List<VEEduAplctVO> vEEduDocReqList = vEEduAplctService.selectDocReqList(veEduDocReqVO);
//복호화
vEEduDocReqList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduDocReqList);
model.addAttribute("docReqList", vEEduDocReqList);
try { try {
System.out.println("session.getAttribute(menuNo).toString()"); System.out.println("session.getAttribute(menuNo).toString()");
System.out.println(session.getId()); System.out.println(session.getId());

View File

@ -1,498 +1,498 @@
package kcc.ve.oprtn.adultVisitEdu.eduRsltMng.web; package kcc.ve.oprtn.adultVisitEdu.eduRsltMng.web;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
import java.util.Map; import java.util.Map;
import java.util.Properties; import java.util.Properties;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.LoginVO; import kcc.com.cmm.LoginVO;
import kcc.com.cmm.service.EgovCmmUseService; import kcc.com.cmm.service.EgovCmmUseService;
import kcc.com.cmm.service.EgovFileMngService; import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.service.EgovFileMngUtil; import kcc.com.cmm.service.EgovFileMngUtil;
import kcc.com.cmm.service.FileVO; import kcc.com.cmm.service.FileVO;
import kcc.com.cmm.spring.data.util.ExcelUtil; import kcc.com.cmm.spring.data.util.ExcelUtil;
import kcc.com.cmm.util.IpUtil; import kcc.com.cmm.util.IpUtil;
import kcc.com.cmm.util.StringUtil; import kcc.com.cmm.util.StringUtil;
import kcc.com.utl.user.service.CheckAdrProcessUtil; import kcc.com.utl.user.service.CheckAdrProcessUtil;
import kcc.com.utl.user.service.CheckLoginUtil; import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.kccadr.adjreqmgr.service.AdjReqMgrVO; import kcc.kccadr.adjreqmgr.service.AdjReqMgrVO;
import kcc.kccadr.kccadrCom.service.KccadrMgrUdtService; import kcc.kccadr.kccadrCom.service.KccadrMgrUdtService;
import kcc.let.uss.olp.qri.service.EgovQustnrRespondInfoService; import kcc.let.uss.olp.qri.service.EgovQustnrRespondInfoService;
import kcc.let.uss.olp.qri.service.QustnrRespondInfoVO; import kcc.let.uss.olp.qri.service.QustnrRespondInfoVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.cmm.VeConstants; import kcc.ve.cmm.VeConstants;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduExcelVO; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduExcelVO;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduPnltyService; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduPnltyService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiService; import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiService;
import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiVO; import kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiVO;
/** /**
* 교육보고관리(관리자-성인찾아가는저작권교육) * 교육보고관리(관리자-성인찾아가는저작권교육)
* 교육보고관리에 관한 controller 클래스를 정의한다. * 교육보고관리에 관한 controller 클래스를 정의한다.
* @author 조용준 * @author 조용준
* @since 2021.12.16 * @since 2021.12.16
* @version 1.0 * @version 1.0
* @see * @see
* *
* <pre> * <pre>
* << 개정이력(Modification Information) >> * << 개정이력(Modification Information) >>
* *
* 수정일 수정자 수정내용 * 수정일 수정자 수정내용
* ------- -------- --------------------------- * ------- -------- ---------------------------
* 2021.12.16 조용준 최초 생성 * 2021.12.16 조용준 최초 생성
* *
* </pre> * </pre>
*/ */
@Controller @Controller
@RequestMapping("/kccadr/oprtn/adultVisitEdu") @RequestMapping("/kccadr/oprtn/adultVisitEdu")
public class EduRsltMngAdultController { public class EduRsltMngAdultController {
private static final Logger LOGGER = LoggerFactory.getLogger(EduRsltMngAdultController.class); private static final Logger LOGGER = LoggerFactory.getLogger(EduRsltMngAdultController.class);
//로그인 체크 util //로그인 체크 util
@Resource(name = "checkLoginUtil") @Resource(name = "checkLoginUtil")
private CheckLoginUtil checkLoginUtil; private CheckLoginUtil checkLoginUtil;
//과정 관리 //과정 관리
@Resource(name = "vEPrcsService") @Resource(name = "vEPrcsService")
private VEPrcsService vEPrcsService; private VEPrcsService vEPrcsService;
//신청과정 관리 //신청과정 관리
@Resource(name = "vEEduMIXService") @Resource(name = "vEEduMIXService")
private VEEduMIXService vEEduMIXService; private VEEduMIXService vEEduMIXService;
//교육신청 //교육신청
@Resource(name = "vEEduAplctService") @Resource(name = "vEEduAplctService")
private VEEduAplctService vEEduAplctService; private VEEduAplctService vEEduAplctService;
//교육과정신청 //교육과정신청
@Resource(name = "vEPrcsMIXService") @Resource(name = "vEPrcsMIXService")
private VEPrcsMIXService vEPrcsMIXService; private VEPrcsMIXService vEPrcsMIXService;
//차시 //차시
@Resource(name = "vEEduChasiService") @Resource(name = "vEEduChasiService")
private VEEduChasiService vVEEduChasiService; private VEEduChasiService vVEEduChasiService;
// eGov 공통코드 // eGov 공통코드
@Resource(name = "EgovCmmUseService") @Resource(name = "EgovCmmUseService")
private EgovCmmUseService cmmUseService; private EgovCmmUseService cmmUseService;
@Resource(name = "EgovFileMngService") @Resource(name = "EgovFileMngService")
private EgovFileMngService fileService; private EgovFileMngService fileService;
// global 프로퍼티 // global 프로퍼티
@Resource(name="globalSettings") @Resource(name="globalSettings")
protected Properties propertiesService; protected Properties propertiesService;
//첨부파일 경로, realPath 설정 //첨부파일 경로, realPath 설정
@Resource(name="EgovFileMngUtil") @Resource(name="EgovFileMngUtil")
private EgovFileMngUtil fileUtil; private EgovFileMngUtil fileUtil;
// 첨부파일 정보 // 첨부파일 정보
@Resource(name="EgovFileMngService") @Resource(name="EgovFileMngService")
private EgovFileMngService fileMngService; private EgovFileMngService fileMngService;
//암복호화 유틸 //암복호화 유틸
@Resource(name = "egovCryptoUtil") @Resource(name = "egovCryptoUtil")
EgovCryptoUtil egovCryptoUtil; EgovCryptoUtil egovCryptoUtil;
@Resource(name="KccadrMgrUdtService") @Resource(name="KccadrMgrUdtService")
private KccadrMgrUdtService kccadrMgrUdtService; private KccadrMgrUdtService kccadrMgrUdtService;
// 교육신청 서비스단 // 교육신청 서비스단
@Resource(name = "checkAdrProcessUtil") @Resource(name = "checkAdrProcessUtil")
private CheckAdrProcessUtil checkAdrProcessUtil; private CheckAdrProcessUtil checkAdrProcessUtil;
// 교육패널티 // 교육패널티
@Resource(name = "vEEduPnltyService") @Resource(name = "vEEduPnltyService")
private VEEduPnltyService vEEduPnltyService; private VEEduPnltyService vEEduPnltyService;
// 강의배정정보 // 강의배정정보
@Resource(name = "vEAsgnmMIXService") @Resource(name = "vEAsgnmMIXService")
private VEAsgnmMIXService vEAsgnmMIXService; private VEAsgnmMIXService vEAsgnmMIXService;
@Resource(name = "egovQustnrRespondInfoService") @Resource(name = "egovQustnrRespondInfoService")
private EgovQustnrRespondInfoService egovQustnrRespondInfoService; private EgovQustnrRespondInfoService egovQustnrRespondInfoService;
//NOTI 서비스 //NOTI 서비스
@Resource(name="vEAsgnmNotiService") @Resource(name="vEAsgnmNotiService")
private VEAsgnmNotiService vEAsgnmNotiService; private VEAsgnmNotiService vEAsgnmNotiService;
/** /**
* 교육결과관리 목록 화면 * 교육결과관리 목록 화면
*/ */
@RequestMapping("eduRsltMngList.do") @RequestMapping("eduRsltMngList.do")
public String eduRsltMngList( public String eduRsltMngList(
@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO
, HttpSession session , HttpSession session
, ModelMap model , ModelMap model
) throws Exception { ) throws Exception {
//로그인 처리==================================== //로그인 처리====================================
//로그인 정보 가져오기 //로그인 정보 가져오기
//String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); //String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
//if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; //if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo;
LoginVO user = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; LoginVO user = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
//로그인 처리==================================== //로그인 처리====================================
// 검색자가 '강사이름' , 암호화하여 검색자에 set한다. // 검색자가 '강사이름' , 암호화하여 검색자에 set한다.
if("2".equals(vEEduAplctVO.getSearchCondition())) { if("2".equals(vEEduAplctVO.getSearchCondition())) {
vEEduAplctVO.setSearchKeyword(egovCryptoUtil.encrypt(vEEduAplctVO.getSearchKeyword())); vEEduAplctVO.setSearchKeyword(egovCryptoUtil.encrypt(vEEduAplctVO.getSearchKeyword()));
} }
//1.pageing step1 //1.pageing step1
PaginationInfo paginationInfo = this.setPagingStep1(vEEduAplctVO); PaginationInfo paginationInfo = this.setPagingStep1(vEEduAplctVO);
//2. pageing step2 //2. pageing step2
vEEduAplctVO = this.setPagingStep2(vEEduAplctVO, paginationInfo); vEEduAplctVO = this.setPagingStep2(vEEduAplctVO, paginationInfo);
vEEduAplctVO.setInstrDiv("20"); // 성인 교육 코드 vEEduAplctVO.setInstrDiv("20"); // 성인 교육 코드
vEEduAplctVO.setLctrDivCd("20"); vEEduAplctVO.setLctrDivCd("20");
vEEduAplctVO.setAprvlCd("60"); vEEduAplctVO.setAprvlCd("60");
vEEduAplctVO.setNotiUserId(user.getUniqId()); vEEduAplctVO.setNotiUserId(user.getUniqId());
vEEduAplctVO.setMenuNo(session.getAttribute("menuNo").toString()); vEEduAplctVO.setMenuNo(session.getAttribute("menuNo").toString());
vEEduAplctVO = egovCryptoUtil.encryptVEEduAplctVOInfo(vEEduAplctVO); vEEduAplctVO = egovCryptoUtil.encryptVEEduAplctVOInfo(vEEduAplctVO);
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectTngrRsltPagingList(vEEduAplctVO); List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectTngrRsltPagingList(vEEduAplctVO);
VEEduAplctVO vo = new VEEduAplctVO(); VEEduAplctVO vo = new VEEduAplctVO();
for(int i=0; i < vEEduAplctVOList.size(); i++) { for(int i=0; i < vEEduAplctVOList.size(); i++) {
vo = egovCryptoUtil.decryptVEEduAplctVOInfo(vEEduAplctVOList.get(i)); vo = egovCryptoUtil.decryptVEEduAplctVOInfo(vEEduAplctVOList.get(i));
vEEduAplctVOList.get(i).setChrgNm(vo.getChrgNm()); vEEduAplctVOList.get(i).setChrgNm(vo.getChrgNm());
} }
//3.pageing step3 //3.pageing step3
paginationInfo = this.setPagingStep3(vEEduAplctVOList, paginationInfo); paginationInfo = this.setPagingStep3(vEEduAplctVOList, paginationInfo);
// 검색자가 '강사이름' , 복호화하여 검색자에 set 한다. // 검색자가 '강사이름' , 복호화하여 검색자에 set 한다.
if("2".equals(vEEduAplctVO.getSearchCondition())) { if("2".equals(vEEduAplctVO.getSearchCondition())) {
vEEduAplctVO.setSearchKeyword(egovCryptoUtil.decrypt(vEEduAplctVO.getSearchKeyword())); vEEduAplctVO.setSearchKeyword(egovCryptoUtil.decrypt(vEEduAplctVO.getSearchKeyword()));
} }
model.addAttribute("paginationInfo", paginationInfo); model.addAttribute("paginationInfo", paginationInfo);
//대상 리스트, 페이징 정보 전달 //대상 리스트, 페이징 정보 전달
model.addAttribute("list", vEEduAplctVOList); model.addAttribute("list", vEEduAplctVOList);
//대상 리스트, 페이징 정보 전달 //대상 리스트, 페이징 정보 전달
//model.addAttribute("resultList", vEEduAplctVOList); //model.addAttribute("resultList", vEEduAplctVOList);
return "oprtn/adultVisitEdu/eduRsltMngList"; return "oprtn/adultVisitEdu/eduRsltMngList";
} }
/** /**
* 교육결과관리 등록 화면 * 교육결과관리 등록 화면
*/ */
@RequestMapping("eduRsltMngReg.do") @RequestMapping("eduRsltMngReg.do")
public String eduRsltMngReg( public String eduRsltMngReg(
@ModelAttribute("searchVO") AdjReqMgrVO adjReqMgrVO @ModelAttribute("searchVO") AdjReqMgrVO adjReqMgrVO
, ModelMap model , ModelMap model
) throws Exception { ) throws Exception {
//로그인 처리==================================== //로그인 처리====================================
//로그인 정보 가져오기 //로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo;
//로그인 처리==================================== //로그인 처리====================================
return "oprtn/adultVisitEdu/eduRsltMngReg"; return "oprtn/adultVisitEdu/eduRsltMngReg";
} }
/** /**
* 교육결과관리 상세 화면 * 교육결과관리 상세 화면
*/ */
@RequestMapping("eduRsltMngDetail.do") @RequestMapping("eduRsltMngDetail.do")
public String eduRsltMngDetail( public String eduRsltMngDetail(
@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO
, ModelMap model , ModelMap model
, HttpSession session , HttpSession session
, HttpServletRequest request , HttpServletRequest request
) throws Exception { ) throws Exception {
//로그인 처리==================================== //로그인 처리====================================
//로그인 정보 가져오기 //로그인 정보 가져오기
//String s_userCheckNInfo = checkLoginUtil.userCheckNInfo(model, request); //String s_userCheckNInfo = checkLoginUtil.userCheckNInfo(model, request);
//if (!"".equals(s_userCheckNInfo)) return s_userCheckNInfo; //if (!"".equals(s_userCheckNInfo)) return s_userCheckNInfo;
LoginVO user = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; LoginVO user = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
//로그인 처리==================================== //로그인 처리====================================
String chasiOrd = vEEduAplctVO.getEduChasiOrd(); String chasiOrd = vEEduAplctVO.getEduChasiOrd();
//기본데이터 불러오기 //기본데이터 불러오기
vEEduAplctVO = vEEduAplctService.selectDetail(vEEduAplctVO); vEEduAplctVO = vEEduAplctService.selectDetail(vEEduAplctVO);
vEEduAplctVO.setEduChasiOrd(chasiOrd); vEEduAplctVO.setEduChasiOrd(chasiOrd);
//데이터 복호화 - VO 단위로 만들어서 사용 //데이터 복호화 - VO 단위로 만들어서 사용
vEEduAplctVO = egovCryptoUtil.decryptVEEduAplctVOInfo(vEEduAplctVO); vEEduAplctVO = egovCryptoUtil.decryptVEEduAplctVOInfo(vEEduAplctVO);
model.addAttribute("info", vEEduAplctVO); model.addAttribute("info", vEEduAplctVO);
//사용자 교육신청 과정 리스트 //사용자 교육신청 과정 리스트
VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO(); VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO();
vEPrcsDetailVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); vEPrcsDetailVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsMIXService.selectMberEduAplctPrcsList(vEPrcsDetailVO); List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsMIXService.selectMberEduAplctPrcsList(vEPrcsDetailVO);
model.addAttribute("list", vEPrcsDetailVOList); model.addAttribute("list", vEPrcsDetailVOList);
//사용자 교육신청 차시 리스트 //사용자 교육신청 차시 리스트
VEEduChasiVO vEEduChasiVO = new VEEduChasiVO(); VEEduChasiVO vEEduChasiVO = new VEEduChasiVO();
vEEduChasiVO.setInstrDiv(VeConstants.LCTR_DIV_CD_20);// 청소년교육 코드 vEEduChasiVO.setInstrDiv(VeConstants.LCTR_DIV_CD_20);// 청소년교육 코드
vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
vEEduChasiVO.setEduChasiOrd(vEEduAplctVO.getEduChasiOrd()); vEEduChasiVO.setEduChasiOrd(vEEduAplctVO.getEduChasiOrd());
List<VEEduChasiVO> vEEduChasiVOList = vVEEduChasiService.selectList(vEEduChasiVO); List<VEEduChasiVO> vEEduChasiVOList = vVEEduChasiService.selectList(vEEduChasiVO);
VEEduChasiVO vo = new VEEduChasiVO(); VEEduChasiVO vo = new VEEduChasiVO();
for(int i=0; i < vEEduChasiVOList.size(); i++) { for(int i=0; i < vEEduChasiVOList.size(); i++) {
vo = egovCryptoUtil.decryptVEEduChasiVO(vEEduChasiVOList.get(i)); vo = egovCryptoUtil.decryptVEEduChasiVO(vEEduChasiVOList.get(i));
vEEduChasiVOList.get(i).setInstrNm(vo.getInstrNm()); vEEduChasiVOList.get(i).setInstrNm(vo.getInstrNm());
} }
model.addAttribute("chasiList", vEEduChasiVOList); model.addAttribute("chasiList", vEEduChasiVOList);
// 설문조사 정보 // 설문조사 정보
QustnrRespondInfoVO qustnrRespondInfoVO = new QustnrRespondInfoVO(); QustnrRespondInfoVO qustnrRespondInfoVO = new QustnrRespondInfoVO();
qustnrRespondInfoVO.setSiteId(VeConstants.LCTR_DIV_CD_20); qustnrRespondInfoVO.setSiteId(VeConstants.LCTR_DIV_CD_20);
QustnrRespondInfoVO info = egovQustnrRespondInfoService.selectSiteIdQustnrTmplat(qustnrRespondInfoVO); QustnrRespondInfoVO info = egovQustnrRespondInfoService.selectSiteIdQustnrTmplat(qustnrRespondInfoVO);
// 설문조사 문항리스트 조회 // 설문조사 문항리스트 조회
Map <String, Object> commandMap =new HashMap<String, Object>(); Map <String, Object> commandMap =new HashMap<String, Object>();
commandMap.put("qestnrTmplatId", "QTMPLA_0000000000001"); commandMap.put("qestnrTmplatId", "QTMPLA_0000000000001");
commandMap.put("qestnrId",info.getQestnrId()); //문제 ID commandMap.put("qestnrId",info.getQestnrId()); //문제 ID
model.addAttribute("Comtnqustnrqesitm", egovQustnrRespondInfoService.selectQustnrRespondInfoManageComtnqustnrqesitm(commandMap)); model.addAttribute("Comtnqustnrqesitm", egovQustnrRespondInfoService.selectQustnrRespondInfoManageComtnqustnrqesitm(commandMap));
// 설문조사 결과 조회 // 설문조사 결과 조회
qustnrRespondInfoVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); qustnrRespondInfoVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
qustnrRespondInfoVO.setEduChasiOrd(vEEduAplctVO.getEduChasiOrd()); qustnrRespondInfoVO.setEduChasiOrd(vEEduAplctVO.getEduChasiOrd());
List<QustnrRespondInfoVO> chasiSrvyList = egovQustnrRespondInfoService.selectChasiSrvyList(qustnrRespondInfoVO); List<QustnrRespondInfoVO> chasiSrvyList = egovQustnrRespondInfoService.selectChasiSrvyList(qustnrRespondInfoVO);
if(chasiSrvyList.size() > 0) { if(chasiSrvyList.size() > 0) {
model.addAttribute("qestnrRespondent", chasiSrvyList.get(0).getQestnrRespondent()); model.addAttribute("qestnrRespondent", chasiSrvyList.get(0).getQestnrRespondent());
model.addAttribute("qestnrParticipant", chasiSrvyList.get(0).getQestnrParticipant()); model.addAttribute("qestnrParticipant", chasiSrvyList.get(0).getQestnrParticipant());
model.addAttribute("chasiSrvyList",chasiSrvyList); model.addAttribute("chasiSrvyList",chasiSrvyList);
} }
/* /*
System.out.println("------------------------"); System.out.println("------------------------");
//전체 차시 배정 강사 정보 //전체 차시 배정 강사 정보
vEInstrAsgnmVO.setEduChasiOrd(""); vEInstrAsgnmVO.setEduChasiOrd("");
List<VEInstrAsgnmVO> selectAsgnmInstrList = vEAsgnmMIXService.selectAsgnmInstrList(vEInstrAsgnmVO); List<VEInstrAsgnmVO> selectAsgnmInstrList = vEAsgnmMIXService.selectAsgnmInstrList(vEInstrAsgnmVO);
model.addAttribute("listChasi", selectAsgnmInstrList); model.addAttribute("listChasi", selectAsgnmInstrList);
System.out.println("------------------------======================="); System.out.println("------------------------=======================");
*/ */
//20220223 우영두 추가 //20220223 우영두 추가
//강의내역 NOTI 입력 //강의내역 NOTI 입력
VEAsgnmNotiVO vEAsgnmNotiVO = new VEAsgnmNotiVO(); VEAsgnmNotiVO vEAsgnmNotiVO = new VEAsgnmNotiVO();
String tblUnitOrd = ""; String tblUnitOrd = "";
if(StringUtil.isNotEmpty(vEEduAplctVO.getEduChasiOrd())) { if(StringUtil.isNotEmpty(vEEduAplctVO.getEduChasiOrd())) {
tblUnitOrd = vEEduAplctVO.getEduChasiOrd(); tblUnitOrd = vEEduAplctVO.getEduChasiOrd();
}else { }else {
tblUnitOrd = vEEduAplctVO.getEduAplctOrd(); tblUnitOrd = vEEduAplctVO.getEduAplctOrd();
} }
vEAsgnmNotiVO.setTblUniqOrd(tblUnitOrd); vEAsgnmNotiVO.setTblUniqOrd(tblUnitOrd);
vEAsgnmNotiVO.setFrstRegisterId(user.getUniqId()); vEAsgnmNotiVO.setFrstRegisterId(user.getUniqId());
vEAsgnmNotiVO.setMenuNo(session.getAttribute("menuNo").toString()); vEAsgnmNotiVO.setMenuNo(session.getAttribute("menuNo").toString());
vEAsgnmNotiVO.setUrlPath(IpUtil.getRequestURI(request)); vEAsgnmNotiVO.setUrlPath(IpUtil.getRequestURI(request));
vEAsgnmNotiService.insertAsgnmNotiInfo(vEAsgnmNotiVO); vEAsgnmNotiService.insertAsgnmNotiInfo(vEAsgnmNotiVO);
return "oprtn/adultVisitEdu/eduRsltMngDetail"; return "oprtn/adultVisitEdu/eduRsltMngDetail";
} }
/** /**
* 교육결과반려 처리 팝업 * 교육결과반려 처리 팝업
*/ */
@RequestMapping("popup/eduRsltMngDetailRfslSecurityPopup.do") @RequestMapping("popup/eduRsltMngDetailRfslSecurityPopup.do")
public String eduRsltMngDetailRfslSecurityPopup( public String eduRsltMngDetailRfslSecurityPopup(
@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO
, ModelMap model , ModelMap model
, HttpServletRequest request , HttpServletRequest request
) throws Exception { ) throws Exception {
//로그인 처리==================================== //로그인 처리====================================
//로그인 정보 가져오기 //로그인 정보 가져오기
//String s_userCheckNInfo = checkLoginUtil.userCheckNInfo(model, request); //String s_userCheckNInfo = checkLoginUtil.userCheckNInfo(model, request);
//if (!"".equals(s_userCheckNInfo)) return s_userCheckNInfo; //if (!"".equals(s_userCheckNInfo)) return s_userCheckNInfo;
//로그인 처리==================================== //로그인 처리====================================
//기본데이터 불러오기 //기본데이터 불러오기
vEEduAplctVO = vEEduAplctService.selectDetail(vEEduAplctVO); vEEduAplctVO = vEEduAplctService.selectDetail(vEEduAplctVO);
//데이터 복호화 - VO 단위로 만들어서 사용 //데이터 복호화 - VO 단위로 만들어서 사용
vEEduAplctVO = egovCryptoUtil.decryptVEEduAplctVOInfo(vEEduAplctVO); vEEduAplctVO = egovCryptoUtil.decryptVEEduAplctVOInfo(vEEduAplctVO);
model.addAttribute("info", vEEduAplctVO); model.addAttribute("info", vEEduAplctVO);
//사용자 교육신청 과정 리스트 //사용자 교육신청 과정 리스트
VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO(); VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO();
vEPrcsDetailVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); vEPrcsDetailVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsMIXService.selectMberEduAplctPrcsList(vEPrcsDetailVO); List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsMIXService.selectMberEduAplctPrcsList(vEPrcsDetailVO);
model.addAttribute("list", vEPrcsDetailVOList); model.addAttribute("list", vEPrcsDetailVOList);
//사용자 교육신청 차시 리스트 //사용자 교육신청 차시 리스트
VEEduChasiVO vEEduChasiVO = new VEEduChasiVO(); VEEduChasiVO vEEduChasiVO = new VEEduChasiVO();
vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
List<VEEduChasiVO> vEEduChasiVOList = vVEEduChasiService.selectList(vEEduChasiVO); List<VEEduChasiVO> vEEduChasiVOList = vVEEduChasiService.selectList(vEEduChasiVO);
model.addAttribute("chasiList", vEEduChasiVOList); model.addAttribute("chasiList", vEEduChasiVOList);
return "oprtn/adultVisitEdu/popup/eduRsltMngDetailRfslSecurityPopup"; return "oprtn/adultVisitEdu/popup/eduRsltMngDetailRfslSecurityPopup";
} }
@SuppressWarnings("rawtypes") @SuppressWarnings("rawtypes")
@RequestMapping(value = "eduRsltSrvyExcelDownLoad.do") @RequestMapping(value = "eduRsltSrvyExcelDownLoad.do")
public ModelAndView eduRsltSrvyExcelDownLoad(@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO, ModelMap model) throws Exception { public ModelAndView eduRsltSrvyExcelDownLoad(@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO, ModelMap model) throws Exception {
try { try {
// 설문조사 정보 // 설문조사 정보
QustnrRespondInfoVO qustnrRespondInfoVO = new QustnrRespondInfoVO(); QustnrRespondInfoVO qustnrRespondInfoVO = new QustnrRespondInfoVO();
qustnrRespondInfoVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); qustnrRespondInfoVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
qustnrRespondInfoVO.setEduChasiOrd(vEEduAplctVO.getEduChasiOrd()); qustnrRespondInfoVO.setEduChasiOrd(vEEduAplctVO.getEduChasiOrd());
List<QustnrRespondInfoVO> chasiSrvyList = egovQustnrRespondInfoService.selectChasiSrvyExcelList(qustnrRespondInfoVO); List<QustnrRespondInfoVO> chasiSrvyList = egovQustnrRespondInfoService.selectChasiSrvyExcelList(qustnrRespondInfoVO);
System.out.println("out-list-1"); System.out.println("out-list-1");
List<Object> excelData = new ArrayList<>(); List<Object> excelData = new ArrayList<>();
excelData.addAll(chasiSrvyList); excelData.addAll(chasiSrvyList);
// 세팅값 // 세팅값
String title = "성인 찾아가는 저작권 교육"; String title = "성인 찾아가는 저작권 교육";
int[] width = { int[] width = {
18000, 4000, 4000, 4000, 4000, 4000 18000, 4000, 4000, 4000, 4000, 4000
}; // 너비 }; // 너비
//33개 항목 //33개 항목
String[] header = { String[] header = {
"평가문항", "매우만족", "만족", "보통", "불만족", "매우불만족" "평가문항", "매우만족", "만족", "보통", "불만족", "매우불만족"
}; };
String[] order = { String[] order = {
"RespondAnswerCn","VerySatisfied","Satisfied","Neither","Dissatisfied","VeryDissatisfied" "RespondAnswerCn","VerySatisfied","Satisfied","Neither","Dissatisfied","VeryDissatisfied"
}; };
// 호출 // 호출
SXSSFWorkbook workbook = ExcelUtil.makeSimpleFruitExcelWorkbook(excelData , header, order, width, title); SXSSFWorkbook workbook = ExcelUtil.makeSimpleFruitExcelWorkbook(excelData , header, order, width, title);
model.addAttribute("locale", Locale.KOREA); model.addAttribute("locale", Locale.KOREA);
model.addAttribute("workbook", workbook); model.addAttribute("workbook", workbook);
model.addAttribute("workbookName", title); model.addAttribute("workbookName", title);
}catch(Exception ep) { }catch(Exception ep) {
ep.getStackTrace(); ep.getStackTrace();
} }
ModelAndView modelAndView = new ModelAndView(); ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("excelDownloadView"); modelAndView.setViewName("excelDownloadView");
modelAndView.addObject(model); modelAndView.addObject(model);
return modelAndView; return modelAndView;
} }
////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////
// //
// //
// private function // private function
// //
// //
//페이징을 위한 처리 step1 - 페이징 기본 정보 설정 //페이징을 위한 처리 step1 - 페이징 기본 정보 설정
private PaginationInfo setPagingStep1( private PaginationInfo setPagingStep1(
VEEduAplctVO p_vEEduAplctVO VEEduAplctVO p_vEEduAplctVO
)throws Exception{ )throws Exception{
// pageing step1 // pageing step1
PaginationInfo paginationInfo = new PaginationInfo(); PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(p_vEEduAplctVO.getPageIndex()); paginationInfo.setCurrentPageNo(p_vEEduAplctVO.getPageIndex());
paginationInfo.setRecordCountPerPage(p_vEEduAplctVO.getPageUnit()); paginationInfo.setRecordCountPerPage(p_vEEduAplctVO.getPageUnit());
paginationInfo.setPageSize(p_vEEduAplctVO.getPageSize()); paginationInfo.setPageSize(p_vEEduAplctVO.getPageSize());
return paginationInfo; return paginationInfo;
} }
//페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 검색 조건 초기화 //페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 검색 조건 초기화
private VEEduAplctVO setPagingStep2( private VEEduAplctVO setPagingStep2(
VEEduAplctVO p_vEEduAplctVO VEEduAplctVO p_vEEduAplctVO
, PaginationInfo p_paginationInfo , PaginationInfo p_paginationInfo
)throws Exception{ )throws Exception{
// pageing step2 // pageing step2
p_vEEduAplctVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex()); p_vEEduAplctVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex());
p_vEEduAplctVO.setLastIndex(p_paginationInfo.getLastRecordIndex()); p_vEEduAplctVO.setLastIndex(p_paginationInfo.getLastRecordIndex());
p_vEEduAplctVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage()); p_vEEduAplctVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage());
if("".equals(p_vEEduAplctVO.getSearchSortCnd())){ //최초조회시 최신것 조회List if("".equals(p_vEEduAplctVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
p_vEEduAplctVO.setSearchSortCnd("prcs_ord"); p_vEEduAplctVO.setSearchSortCnd("prcs_ord");
p_vEEduAplctVO.setSearchSortOrd("desc"); p_vEEduAplctVO.setSearchSortOrd("desc");
} }
return p_vEEduAplctVO; return p_vEEduAplctVO;
} }
//페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기 //페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기
private PaginationInfo setPagingStep3( private PaginationInfo setPagingStep3(
List<VEEduAplctVO> p_vEEduAplctVOList List<VEEduAplctVO> p_vEEduAplctVOList
, PaginationInfo p_paginationInfo , PaginationInfo p_paginationInfo
)throws Exception{ )throws Exception{
// pageing step3 // pageing step3
int totCnt = 0; int totCnt = 0;
if(p_vEEduAplctVOList.size() > 0) totCnt = p_vEEduAplctVOList.get(0).getTotCnt(); if(p_vEEduAplctVOList.size() > 0) totCnt = p_vEEduAplctVOList.get(0).getTotCnt();
p_paginationInfo.setTotalRecordCount(totCnt); p_paginationInfo.setTotalRecordCount(totCnt);
return p_paginationInfo; return p_paginationInfo;
} }
} }

View File

@ -1,355 +1,355 @@
package kcc.ve.oprtn.adultVisitEdu.eduSchdlMng.web; package kcc.ve.oprtn.adultVisitEdu.eduSchdlMng.web;
import java.util.List; import java.util.List;
import java.util.Properties; import java.util.Properties;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.service.EgovCmmUseService; import kcc.com.cmm.service.EgovCmmUseService;
import kcc.com.cmm.service.EgovFileMngService; import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.service.EgovFileMngUtil; import kcc.com.cmm.service.EgovFileMngUtil;
import kcc.com.utl.user.service.CheckAdrProcessUtil; import kcc.com.utl.user.service.CheckAdrProcessUtil;
import kcc.com.utl.user.service.CheckLoginUtil; import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.kccadr.adjreqmgr.service.AdjReqMgrService; import kcc.kccadr.adjreqmgr.service.AdjReqMgrService;
import kcc.kccadr.adjreqmgr.service.AdjReqMgrVO; import kcc.kccadr.adjreqmgr.service.AdjReqMgrVO;
import kcc.kccadr.kccadrCom.service.KccadrMgrUdtService; import kcc.kccadr.kccadrCom.service.KccadrMgrUdtService;
import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.cmm.VeConstants; import kcc.ve.cmm.VeConstants;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
/** /**
* 교육일정관리(관리자-성인찾아가는저작권교육) * 교육일정관리(관리자-성인찾아가는저작권교육)
* 교육일정관리에 관한 controller 클래스를 정의한다. * 교육일정관리에 관한 controller 클래스를 정의한다.
* @author 조용준 * @author 조용준
* @since 2021.12.16 * @since 2021.12.16
* @version 1.0 * @version 1.0
* @see * @see
* *
* <pre> * <pre>
* << 개정이력(Modification Information) >> * << 개정이력(Modification Information) >>
* *
* 수정일 수정자 수정내용 * 수정일 수정자 수정내용
* ------- -------- --------------------------- * ------- -------- ---------------------------
* 2021.12.16 조용준 최초 생성 * 2021.12.16 조용준 최초 생성
* *
* </pre> * </pre>
*/ */
@Controller @Controller
@RequestMapping("/kccadr/oprtn/adultVisitEdu") @RequestMapping("/kccadr/oprtn/adultVisitEdu")
public class EduSchdlMngAdultController { public class EduSchdlMngAdultController {
private static final Logger LOGGER = LoggerFactory.getLogger(EduSchdlMngAdultController.class); private static final Logger LOGGER = LoggerFactory.getLogger(EduSchdlMngAdultController.class);
//로그인 체크 util //로그인 체크 util
@Resource(name = "checkLoginUtil") @Resource(name = "checkLoginUtil")
private CheckLoginUtil checkLoginUtil; private CheckLoginUtil checkLoginUtil;
//과정 관리 //과정 관리
@Resource(name = "vEPrcsService") @Resource(name = "vEPrcsService")
private VEPrcsService vEPrcsService; private VEPrcsService vEPrcsService;
//신청과정 관리 //신청과정 관리
@Resource(name = "vEEduMIXService") @Resource(name = "vEEduMIXService")
private VEEduMIXService vEEduMIXService; private VEEduMIXService vEEduMIXService;
//교육신청 //교육신청
@Resource(name = "vEEduAplctService") @Resource(name = "vEEduAplctService")
private VEEduAplctService vEEduAplctService; private VEEduAplctService vEEduAplctService;
//교육과정신청 //교육과정신청
@Resource(name = "vEPrcsMIXService") @Resource(name = "vEPrcsMIXService")
private VEPrcsMIXService vEPrcsMIXService; private VEPrcsMIXService vEPrcsMIXService;
//차시 //차시
@Resource(name = "vEEduChasiService") @Resource(name = "vEEduChasiService")
private VEEduChasiService vVEEduChasiService; private VEEduChasiService vVEEduChasiService;
// 교육신청 서비스단 // 교육신청 서비스단
@Resource(name = "AdjReqMgrService") @Resource(name = "AdjReqMgrService")
private AdjReqMgrService adjReqMgrService; private AdjReqMgrService adjReqMgrService;
// eGov 공통코드 // eGov 공통코드
@Resource(name = "EgovCmmUseService") @Resource(name = "EgovCmmUseService")
private EgovCmmUseService cmmUseService; private EgovCmmUseService cmmUseService;
@Resource(name = "EgovFileMngService") @Resource(name = "EgovFileMngService")
private EgovFileMngService fileService; private EgovFileMngService fileService;
// global 프로퍼티 // global 프로퍼티
@Resource(name="globalSettings") @Resource(name="globalSettings")
protected Properties propertiesService; protected Properties propertiesService;
//첨부파일 경로, realPath 설정 //첨부파일 경로, realPath 설정
@Resource(name="EgovFileMngUtil") @Resource(name="EgovFileMngUtil")
private EgovFileMngUtil fileUtil; private EgovFileMngUtil fileUtil;
// 첨부파일 정보 // 첨부파일 정보
@Resource(name="EgovFileMngService") @Resource(name="EgovFileMngService")
private EgovFileMngService fileMngService; private EgovFileMngService fileMngService;
//암복호화 유틸 //암복호화 유틸
@Resource(name = "egovCryptoUtil") @Resource(name = "egovCryptoUtil")
EgovCryptoUtil egovCryptoUtil; EgovCryptoUtil egovCryptoUtil;
@Resource(name="KccadrMgrUdtService") @Resource(name="KccadrMgrUdtService")
private KccadrMgrUdtService kccadrMgrUdtService; private KccadrMgrUdtService kccadrMgrUdtService;
// 교육신청 서비스단 // 교육신청 서비스단
@Resource(name = "checkAdrProcessUtil") @Resource(name = "checkAdrProcessUtil")
private CheckAdrProcessUtil checkAdrProcessUtil; private CheckAdrProcessUtil checkAdrProcessUtil;
/** /**
* 교육일정관리 목록 화면 * 교육일정관리 목록 화면
*/ */
@RequestMapping("eduSchdlMngList.do") @RequestMapping("eduSchdlMngList.do")
public String eduSchdlMngList( public String eduSchdlMngList(
@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO
, ModelMap model , ModelMap model
) throws Exception { ) throws Exception {
//로그인 처리==================================== //로그인 처리====================================
//로그인 정보 가져오기 //로그인 정보 가져오기
//String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); //String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
//if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; //if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo;
//로그인 처리==================================== //로그인 처리====================================
vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20); //청소년 vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20); //청소년
//1.pageing step1 //1.pageing step1
PaginationInfo paginationInfo = this.setPagingStep1(vEEduAplctVO); PaginationInfo paginationInfo = this.setPagingStep1(vEEduAplctVO);
//2. pageing step2 //2. pageing step2
vEEduAplctVO = this.setPagingStep2(vEEduAplctVO, paginationInfo); vEEduAplctVO = this.setPagingStep2(vEEduAplctVO, paginationInfo);
//vEEduAplctVO.setLctrDivCd("30"); //vEEduAplctVO.setLctrDivCd("30");
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO); List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO);
//3.pageing step3 //3.pageing step3
paginationInfo = this.setPagingStep3(vEEduAplctVOList, paginationInfo); paginationInfo = this.setPagingStep3(vEEduAplctVOList, paginationInfo);
model.addAttribute("paginationInfo", paginationInfo); model.addAttribute("paginationInfo", paginationInfo);
//대상 리스트, 페이징 정보 전달 //대상 리스트, 페이징 정보 전달
model.addAttribute("list", vEEduAplctVOList); model.addAttribute("list", vEEduAplctVOList);
/* /*
//1.pageing step1 //1.pageing step1
PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO);
//2. pageing step2 //2. pageing step2
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsService.selectPagingList(vEPrcsDetailVO); List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsService.selectPagingList(vEPrcsDetailVO);
//3.pageing step3 //3.pageing step3
paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo);
model.addAttribute("paginationInfo", paginationInfo); model.addAttribute("paginationInfo", paginationInfo);
*/ */
//대상 리스트, 페이징 정보 전달 //대상 리스트, 페이징 정보 전달
//model.addAttribute("resultList", vEEduAplctVOList); //model.addAttribute("resultList", vEEduAplctVOList);
return "oprtn/adultVisitEdu/eduSchdlMngList"; return "oprtn/adultVisitEdu/eduSchdlMngList";
} }
/** /**
* 교육일정관리 등록 화면 * 교육일정관리 등록 화면
*/ */
@RequestMapping("eduSchdlMngReg.do") @RequestMapping("eduSchdlMngReg.do")
public String eduSchdlMngReg( public String eduSchdlMngReg(
@ModelAttribute("searchVO") AdjReqMgrVO adjReqMgrVO @ModelAttribute("searchVO") AdjReqMgrVO adjReqMgrVO
, ModelMap model , ModelMap model
) throws Exception { ) throws Exception {
//로그인 처리==================================== //로그인 처리====================================
//로그인 정보 가져오기 //로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo;
//로그인 처리==================================== //로그인 처리====================================
return "oprtn/adultVisitEdu/eduSchdlMngReg"; return "oprtn/adultVisitEdu/eduSchdlMngReg";
} }
/** /**
* 교육신청관리 상세 화면 * 교육신청관리 상세 화면
*/ */
@RequestMapping("eduSchdlMngDetail.do") @RequestMapping("eduSchdlMngDetail.do")
public String eduSchdlMngDetail( public String eduSchdlMngDetail(
@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO
, ModelMap model , ModelMap model
, HttpServletRequest request , HttpServletRequest request
) throws Exception { ) throws Exception {
//로그인 처리==================================== //로그인 처리====================================
//로그인 정보 가져오기 //로그인 정보 가져오기
//String s_userCheckNInfo = checkLoginUtil.userCheckNInfo(model, request); //String s_userCheckNInfo = checkLoginUtil.userCheckNInfo(model, request);
//if (!"".equals(s_userCheckNInfo)) return s_userCheckNInfo; //if (!"".equals(s_userCheckNInfo)) return s_userCheckNInfo;
//로그인 처리==================================== //로그인 처리====================================
//기본데이터 불러오기 //기본데이터 불러오기
vEEduAplctVO = vEEduAplctService.selectDetail(vEEduAplctVO); vEEduAplctVO = vEEduAplctService.selectDetail(vEEduAplctVO);
//데이터 복호화 - VO 단위로 만들어서 사용 //데이터 복호화 - VO 단위로 만들어서 사용
vEEduAplctVO = egovCryptoUtil.decryptVEEduAplctVOInfo(vEEduAplctVO); vEEduAplctVO = egovCryptoUtil.decryptVEEduAplctVOInfo(vEEduAplctVO);
model.addAttribute("info", vEEduAplctVO); model.addAttribute("info", vEEduAplctVO);
//사용자 교육신청 과정 리스트 //사용자 교육신청 과정 리스트
VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO(); VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO();
vEPrcsDetailVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); vEPrcsDetailVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsMIXService.selectMberEduAplctPrcsList(vEPrcsDetailVO); List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsMIXService.selectMberEduAplctPrcsList(vEPrcsDetailVO);
model.addAttribute("list", vEPrcsDetailVOList); model.addAttribute("list", vEPrcsDetailVOList);
//사용자 교육신청 차시 리스트 //사용자 교육신청 차시 리스트
VEEduChasiVO vEEduChasiVO = new VEEduChasiVO(); VEEduChasiVO vEEduChasiVO = new VEEduChasiVO();
vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
List<VEEduChasiVO> vEEduChasiVOList = vVEEduChasiService.selectList(vEEduChasiVO); List<VEEduChasiVO> vEEduChasiVOList = vVEEduChasiService.selectList(vEEduChasiVO);
model.addAttribute("chasiList", vEEduChasiVOList); model.addAttribute("chasiList", vEEduChasiVOList);
return "oprtn/adultVisitEdu/eduSchdlMngDetail"; return "oprtn/adultVisitEdu/eduSchdlMngDetail";
} }
/** /**
* 교육일정반려 처리 팝업 * 교육일정반려 처리 팝업
*/ */
@RequestMapping("popup/eduSchdlMngDetailRfslSecurityPopup.do") @RequestMapping("popup/eduSchdlMngDetailRfslSecurityPopup.do")
public String eduSchdlMngDetailRfslSecurityPopup( public String eduSchdlMngDetailRfslSecurityPopup(
@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO
, ModelMap model , ModelMap model
, HttpServletRequest request , HttpServletRequest request
) throws Exception { ) throws Exception {
//로그인 처리==================================== //로그인 처리====================================
//로그인 정보 가져오기 //로그인 정보 가져오기
//String s_userCheckNInfo = checkLoginUtil.userCheckNInfo(model, request); //String s_userCheckNInfo = checkLoginUtil.userCheckNInfo(model, request);
//if (!"".equals(s_userCheckNInfo)) return s_userCheckNInfo; //if (!"".equals(s_userCheckNInfo)) return s_userCheckNInfo;
//로그인 처리==================================== //로그인 처리====================================
//기본데이터 불러오기 //기본데이터 불러오기
vEEduAplctVO = vEEduAplctService.selectDetail(vEEduAplctVO); vEEduAplctVO = vEEduAplctService.selectDetail(vEEduAplctVO);
//데이터 복호화 - VO 단위로 만들어서 사용 //데이터 복호화 - VO 단위로 만들어서 사용
vEEduAplctVO = egovCryptoUtil.decryptVEEduAplctVOInfo(vEEduAplctVO); vEEduAplctVO = egovCryptoUtil.decryptVEEduAplctVOInfo(vEEduAplctVO);
model.addAttribute("info", vEEduAplctVO); model.addAttribute("info", vEEduAplctVO);
//사용자 교육신청 과정 리스트 //사용자 교육신청 과정 리스트
VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO(); VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO();
vEPrcsDetailVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); vEPrcsDetailVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsMIXService.selectMberEduAplctPrcsList(vEPrcsDetailVO); List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsMIXService.selectMberEduAplctPrcsList(vEPrcsDetailVO);
model.addAttribute("list", vEPrcsDetailVOList); model.addAttribute("list", vEPrcsDetailVOList);
//사용자 교육신청 차시 리스트 //사용자 교육신청 차시 리스트
VEEduChasiVO vEEduChasiVO = new VEEduChasiVO(); VEEduChasiVO vEEduChasiVO = new VEEduChasiVO();
vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
List<VEEduChasiVO> vEEduChasiVOList = vVEEduChasiService.selectList(vEEduChasiVO); List<VEEduChasiVO> vEEduChasiVOList = vVEEduChasiService.selectList(vEEduChasiVO);
model.addAttribute("chasiList", vEEduChasiVOList); model.addAttribute("chasiList", vEEduChasiVOList);
return "oprtn/adultVisitEdu/popup/eduSchdlMngDetailRfslSecurityPopup"; return "oprtn/adultVisitEdu/popup/eduSchdlMngDetailRfslSecurityPopup";
} }
////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////
// //
// //
// private function // private function
// //
// //
//페이징을 위한 처리 step1 - 페이징 기본 정보 설정 //페이징을 위한 처리 step1 - 페이징 기본 정보 설정
private PaginationInfo setPagingStep1( private PaginationInfo setPagingStep1(
VEEduAplctVO p_vEEduAplctVO VEEduAplctVO p_vEEduAplctVO
)throws Exception{ )throws Exception{
// pageing step1 // pageing step1
PaginationInfo paginationInfo = new PaginationInfo(); PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(p_vEEduAplctVO.getPageIndex()); paginationInfo.setCurrentPageNo(p_vEEduAplctVO.getPageIndex());
paginationInfo.setRecordCountPerPage(p_vEEduAplctVO.getPageUnit()); paginationInfo.setRecordCountPerPage(p_vEEduAplctVO.getPageUnit());
paginationInfo.setPageSize(p_vEEduAplctVO.getPageSize()); paginationInfo.setPageSize(p_vEEduAplctVO.getPageSize());
return paginationInfo; return paginationInfo;
} }
//페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 검색 조건 초기화 //페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 검색 조건 초기화
private VEEduAplctVO setPagingStep2( private VEEduAplctVO setPagingStep2(
VEEduAplctVO p_vEEduAplctVO VEEduAplctVO p_vEEduAplctVO
, PaginationInfo p_paginationInfo , PaginationInfo p_paginationInfo
)throws Exception{ )throws Exception{
// pageing step2 // pageing step2
p_vEEduAplctVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex()); p_vEEduAplctVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex());
p_vEEduAplctVO.setLastIndex(p_paginationInfo.getLastRecordIndex()); p_vEEduAplctVO.setLastIndex(p_paginationInfo.getLastRecordIndex());
p_vEEduAplctVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage()); p_vEEduAplctVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage());
if("".equals(p_vEEduAplctVO.getSearchSortCnd())){ //최초조회시 최신것 조회List if("".equals(p_vEEduAplctVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
p_vEEduAplctVO.setSearchSortCnd("prcs_ord"); p_vEEduAplctVO.setSearchSortCnd("prcs_ord");
p_vEEduAplctVO.setSearchSortOrd("desc"); p_vEEduAplctVO.setSearchSortOrd("desc");
} }
return p_vEEduAplctVO; return p_vEEduAplctVO;
} }
//페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기 //페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기
private PaginationInfo setPagingStep3( private PaginationInfo setPagingStep3(
List<VEEduAplctVO> p_vEEduAplctVOList List<VEEduAplctVO> p_vEEduAplctVOList
, PaginationInfo p_paginationInfo , PaginationInfo p_paginationInfo
)throws Exception{ )throws Exception{
// pageing step3 // pageing step3
int totCnt = 0; int totCnt = 0;
if(p_vEEduAplctVOList.size() > 0) totCnt = p_vEEduAplctVOList.get(0).getTotCnt(); if(p_vEEduAplctVOList.size() > 0) totCnt = p_vEEduAplctVOList.get(0).getTotCnt();
p_paginationInfo.setTotalRecordCount(totCnt); p_paginationInfo.setTotalRecordCount(totCnt);
return p_paginationInfo; return p_paginationInfo;
} }
} }

View File

@ -1,48 +1,50 @@
package kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service; package kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service;
import java.util.List; import java.util.List;
public interface CndtnTrgtMngService { public interface CndtnTrgtMngService {
List<CndtnTrgtMngVO> selectPagingList(CndtnTrgtMngVO cndtnTrgtInfoMngVO); List<CndtnTrgtMngVO> selectPagingList(CndtnTrgtMngVO cndtnTrgtInfoMngVO);
void insert(CndtnTrgtMngVO cndtnTrgtInfoMngVO); void insert(CndtnTrgtMngVO cndtnTrgtInfoMngVO);
CndtnTrgtMngVO selectDetail(CndtnTrgtMngVO cndtnTrgtInfoVO); CndtnTrgtMngVO selectDetail(CndtnTrgtMngVO cndtnTrgtInfoVO);
void update(CndtnTrgtMngVO cndtnTrgtInfoMngVO); void update(CndtnTrgtMngVO cndtnTrgtInfoMngVO);
void updateUserId(CndtnTrgtMngVO cndtnTrgtMngVO); void updateUserId(CndtnTrgtMngVO cndtnTrgtMngVO);
int findCntreqNmber(String reqNmbrTemp);
/* //C
void insert(VEPrcsDetailVO paramVO) throws Exception;
/* //C
//R void insert(VEPrcsDetailVO paramVO) throws Exception;
VEPrcsDetailVO selectDetail(VEPrcsDetailVO paramVO) throws Exception;
//R
//U VEPrcsDetailVO selectDetail(VEPrcsDetailVO paramVO) throws Exception;
int update(VEPrcsDetailVO paramVO) throws Exception;
//U
//D int update(VEPrcsDetailVO paramVO) throws Exception;
int delete(VEPrcsDetailVO paramVO) throws Exception;
//D
//L int delete(VEPrcsDetailVO paramVO) throws Exception;
List<VEPrcsDetailVO> selectList(VEPrcsDetailVO paramVO) throws Exception;
//L
//List<VEPrcsDetailVO> selectList4Fndth(VEPrcsDetailVO paramVO) throws Exception; List<VEPrcsDetailVO> selectList(VEPrcsDetailVO paramVO) throws Exception;
List<VEPrcsDetailVO> selectTngrPrcsList(VEPrcsDetailVO paramVO) throws Exception; //List<VEPrcsDetailVO> selectList4Fndth(VEPrcsDetailVO paramVO) throws Exception;
//Page List List<VEPrcsDetailVO> selectTngrPrcsList(VEPrcsDetailVO paramVO) throws Exception;
List<VEPrcsDetailVO> selectPagingList(VEPrcsDetailVO paramVO) throws Exception;
//Page List
//교육과정 리스트 순서 수정 List<VEPrcsDetailVO> selectPagingList(VEPrcsDetailVO paramVO) throws Exception;
void updatePrcsSort(VEPrcsDetailVO paramVO) throws Exception;*/
//교육과정 리스트 순서 수정
} void updatePrcsSort(VEPrcsDetailVO paramVO) throws Exception;*/
}

View File

@ -35,9 +35,11 @@ public class CndtnTrgtMngVO extends ComDefaultVO implements Serializable {
private String cmptntAthrt; // 관할청 private String cmptntAthrt; // 관할청
private String sex; // 성별 private String sex; // 성별
private String reqNmbr; // 의뢰번호 private String reqNmbr; // 의뢰번호
private String reqNmbrTemp; // 의뢰번호
private String prsctrNm; // 검사성명 private String prsctrNm; // 검사성명
private String reqStateCd; // 의뢰상태코드 private String reqStateCd; // 의뢰상태코드
private String prcsAplctPrdOrdCmplt;// 중복확인을 위한 신청강의 PK private String prcsAplctPrdOrdCmplt;// 중복확인을 위한 신청강의 PK
private String atchFileId;// 첨부파일 ID
@ -165,6 +167,12 @@ public class CndtnTrgtMngVO extends ComDefaultVO implements Serializable {
public void setReqNmbr(String reqNmbr) { public void setReqNmbr(String reqNmbr) {
this.reqNmbr = reqNmbr; this.reqNmbr = reqNmbr;
} }
public String getReqNmbrTemp() {
return reqNmbrTemp;
}
public void setReqNmbrTemp(String reqNmbrTemp) {
this.reqNmbrTemp = reqNmbrTemp;
}
public String getPrsctrNm() { public String getPrsctrNm() {
return prsctrNm; return prsctrNm;
} }
@ -183,6 +191,12 @@ public class CndtnTrgtMngVO extends ComDefaultVO implements Serializable {
public void setPrcsAplctPrdOrdCmplt(String prcsAplctPrdOrdCmplt) { public void setPrcsAplctPrdOrdCmplt(String prcsAplctPrdOrdCmplt) {
this.prcsAplctPrdOrdCmplt = prcsAplctPrdOrdCmplt; this.prcsAplctPrdOrdCmplt = prcsAplctPrdOrdCmplt;
} }
public String getAtchFileId() {
return atchFileId;
}
public void setAtchFileId(String atchFileId) {
this.atchFileId = atchFileId;
}

View File

@ -1,125 +1,129 @@
package kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.impl; package kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.impl;
import java.util.List; import java.util.List;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO; import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO; import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO; import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO;
@Repository("cndtnTrgtInfoMngDAO") @Repository("cndtnTrgtInfoMngDAO")
public class CndtnTrgtMngDAO extends EgovAbstractDAO { public class CndtnTrgtMngDAO extends EgovAbstractDAO {
/* *//** /* *//**
* 등록 - C * 등록 - C
* @param VELctrDetailVO * @param VELctrDetailVO
* @throws Exception * @throws Exception
*//* *//*
public void insert(VEPrcsDetailVO paramVO) throws Exception { public void insert(VEPrcsDetailVO paramVO) throws Exception {
insert("VEPrcsAplctPrdDAO.insert", paramVO); insert("VEPrcsAplctPrdDAO.insert", paramVO);
} }
*//** *//**
* 상세보기 - R * 상세보기 - R
* @param CndtnTrgtInfoMngVO * @param CndtnTrgtInfoMngVO
* @return * @return
* @throws Exception * @throws Exception
*//* *//*
public VEPrcsDetailVO selectDetail(VEPrcsDetailVO paramVO) throws Exception { public VEPrcsDetailVO selectDetail(VEPrcsDetailVO paramVO) throws Exception {
return (VEPrcsDetailVO) select("VEPrcsAplctPrdDAO.selectDetail", paramVO); return (VEPrcsDetailVO) select("VEPrcsAplctPrdDAO.selectDetail", paramVO);
} }
*//** *//**
* 수정 - U * 수정 - U
* @param CndtnTrgtInfoMngVO * @param CndtnTrgtInfoMngVO
* @return * @return
* @throws Exception * @throws Exception
*//* *//*
public int update(VEPrcsDetailVO paramVO) throws Exception { public int update(VEPrcsDetailVO paramVO) throws Exception {
return update("VEPrcsAplctPrdDAO.update", paramVO); return update("VEPrcsAplctPrdDAO.update", paramVO);
} }
*//** *//**
* 삭제 - D * 삭제 - D
* @param addrAgencyVO * @param addrAgencyVO
* @return * @return
* @throws Exception * @throws Exception
*//* *//*
public int delete(VEPrcsDetailVO paramVO) throws Exception { public int delete(VEPrcsDetailVO paramVO) throws Exception {
return delete("VEPrcsAplctPrdDAO.delete", paramVO); return delete("VEPrcsAplctPrdDAO.delete", paramVO);
} }
//L //L
public List<VEPrcsDetailVO> selectList(VEPrcsDetailVO paramVO) throws Exception { public List<VEPrcsDetailVO> selectList(VEPrcsDetailVO paramVO) throws Exception {
List<VEPrcsDetailVO> tlist = (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectList", paramVO); List<VEPrcsDetailVO> tlist = (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectList", paramVO);
return tlist; return tlist;
} }
public List<VEPrcsDetailVO> selectList4Fndth(VEPrcsDetailVO paramVO) throws Exception { public List<VEPrcsDetailVO> selectList4Fndth(VEPrcsDetailVO paramVO) throws Exception {
List<VEPrcsDetailVO> tlist = (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectList4Fndth", paramVO); List<VEPrcsDetailVO> tlist = (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectList4Fndth", paramVO);
return tlist; return tlist;
} }
*//** *//**
* L - Page * L - Page
* @param addrVO * @param addrVO
* @return * @return
* @throws Exception * @throws Exception
*//* *//*
public List<VEPrcsDetailVO> selectPagingList(VEPrcsDetailVO paramVO) throws Exception { public List<VEPrcsDetailVO> selectPagingList(VEPrcsDetailVO paramVO) throws Exception {
List<VEPrcsDetailVO> tlist = (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectPagingList", paramVO); List<VEPrcsDetailVO> tlist = (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectPagingList", paramVO);
return tlist; return tlist;
} }
public List<VEPrcsDetailVO> selectPagingList4Fndth(VEPrcsDetailVO paramVO) throws Exception { public List<VEPrcsDetailVO> selectPagingList4Fndth(VEPrcsDetailVO paramVO) throws Exception {
List<VEPrcsDetailVO> tlist = (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectPagingList4Fndth", paramVO); List<VEPrcsDetailVO> tlist = (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectPagingList4Fndth", paramVO);
return tlist; return tlist;
} }
public VEPrcsDetailVO selectDetailNewOne(VEPrcsDetailVO paramVO) throws Exception { public VEPrcsDetailVO selectDetailNewOne(VEPrcsDetailVO paramVO) throws Exception {
return (VEPrcsDetailVO) select("VEPrcsAplctPrdDAO.selectDetailNewOne", paramVO); return (VEPrcsDetailVO) select("VEPrcsAplctPrdDAO.selectDetailNewOne", paramVO);
} }
public VEPrcsDetailVO selectDetailNewOne4Fndth(VEPrcsDetailVO paramVO) throws Exception { public VEPrcsDetailVO selectDetailNewOne4Fndth(VEPrcsDetailVO paramVO) throws Exception {
return (VEPrcsDetailVO) select("VEPrcsAplctPrdDAO.selectDetailNewOne4Fndth", paramVO); return (VEPrcsDetailVO) select("VEPrcsAplctPrdDAO.selectDetailNewOne4Fndth", paramVO);
} }
public List<VEInstrDetailVO> selectinstrAsgnmPopupPagingList(VEPrcsDetailVO vEPrcsDetailVO) { public List<VEInstrDetailVO> selectinstrAsgnmPopupPagingList(VEPrcsDetailVO vEPrcsDetailVO) {
return (List<VEInstrDetailVO>) list("VEPrcsAplctPrdDAO.selectinstrAsgnmPopupPagingList", vEPrcsDetailVO); return (List<VEInstrDetailVO>) list("VEPrcsAplctPrdDAO.selectinstrAsgnmPopupPagingList", vEPrcsDetailVO);
}*/ }*/
public List<CndtnTrgtMngVO> selectPagingList(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { public List<CndtnTrgtMngVO> selectPagingList(CndtnTrgtMngVO cndtnTrgtInfoMngVO) {
return (List<CndtnTrgtMngVO>) list("cndtnTrgtInfoMngDAO.selectPagingList", cndtnTrgtInfoMngVO); return (List<CndtnTrgtMngVO>) list("cndtnTrgtInfoMngDAO.selectPagingList", cndtnTrgtInfoMngVO);
} }
public void insert(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { public void insert(CndtnTrgtMngVO cndtnTrgtInfoMngVO) {
insert("cndtnTrgtInfoMngDAO.insert", cndtnTrgtInfoMngVO); insert("cndtnTrgtInfoMngDAO.insert", cndtnTrgtInfoMngVO);
} }
public CndtnTrgtMngVO selectDetail(CndtnTrgtMngVO cndtnTrgtInfoVO) { public CndtnTrgtMngVO selectDetail(CndtnTrgtMngVO cndtnTrgtInfoVO) {
return (CndtnTrgtMngVO) select("cndtnTrgtInfoMngDAO.selectDetail", cndtnTrgtInfoVO); return (CndtnTrgtMngVO) select("cndtnTrgtInfoMngDAO.selectDetail", cndtnTrgtInfoVO);
} }
public void update(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { public void update(CndtnTrgtMngVO cndtnTrgtInfoMngVO) {
update("cndtnTrgtInfoMngDAO.update", cndtnTrgtInfoMngVO); update("cndtnTrgtInfoMngDAO.update", cndtnTrgtInfoMngVO);
} }
public String findByTrgtNmAndDBirthAndEduStateCd(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { public String findByTrgtNmAndDBirthAndEduStateCd(CndtnTrgtMngVO cndtnTrgtInfoMngVO) {
return (String) select("cndtnTrgtInfoMngDAO.findByTrgtNmAndDBirthAndEduStateCd", cndtnTrgtInfoMngVO); return (String) select("cndtnTrgtInfoMngDAO.findByTrgtNmAndDBirthAndEduStateCd", cndtnTrgtInfoMngVO);
} }
public void updateUserId(CndtnTrgtMngVO cndtnTrgtMngVO) { public void updateUserId(CndtnTrgtMngVO cndtnTrgtMngVO) {
update("cndtnTrgtInfoMngDAO.updateUserId", cndtnTrgtMngVO); update("cndtnTrgtInfoMngDAO.updateUserId", cndtnTrgtMngVO);
} }
public String findByTrgtNmAndDBirthAndUserIdAndEduStateCd(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { public String findByTrgtNmAndDBirthAndUserIdAndEduStateCd(CndtnTrgtMngVO cndtnTrgtInfoMngVO) {
return (String) select("cndtnTrgtInfoMngDAO.findByTrgtNmAndDBirthAndUserIdAndEduStateCd", cndtnTrgtInfoMngVO); return (String) select("cndtnTrgtInfoMngDAO.findByTrgtNmAndDBirthAndUserIdAndEduStateCd", cndtnTrgtInfoMngVO);
} }
public int findCntreqNmber(String reqNmbrTemp) {
} return (int) select("cndtnTrgtInfoMngDAO.findCntreqNmber", reqNmbrTemp);
}
}

View File

@ -1,117 +1,122 @@
package kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.impl; package kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.impl;
import java.util.List; import java.util.List;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import egovframework.rte.fdl.idgnr.EgovIdGnrService; import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngService; import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngService;
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO; import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO;
@Service("cndtnTrgtInfoMngService") @Service("cndtnTrgtInfoMngService")
public class CndtnTrgtMngServiceImpl implements CndtnTrgtMngService { public class CndtnTrgtMngServiceImpl implements CndtnTrgtMngService {
//과정신청기간순번 //과정신청기간순번
@Resource(name="prcsAplctPrdGnrService") @Resource(name="prcsAplctPrdGnrService")
private EgovIdGnrService prcsAplctPrdGnrService; private EgovIdGnrService prcsAplctPrdGnrService;
//과정 //과정
//대상자 //대상자
@Resource(name="cndtnTrgtInfoMngDAO") @Resource(name="cndtnTrgtInfoMngDAO")
private CndtnTrgtMngDAO cndtnTrgtInfoMngDAO; private CndtnTrgtMngDAO cndtnTrgtInfoMngDAO;
@Override @Override
public List<CndtnTrgtMngVO> selectPagingList(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { public List<CndtnTrgtMngVO> selectPagingList(CndtnTrgtMngVO cndtnTrgtInfoMngVO) {
return cndtnTrgtInfoMngDAO.selectPagingList(cndtnTrgtInfoMngVO); return cndtnTrgtInfoMngDAO.selectPagingList(cndtnTrgtInfoMngVO);
} }
@Override @Override
public void insert(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { public void insert(CndtnTrgtMngVO cndtnTrgtInfoMngVO) {
cndtnTrgtInfoMngDAO.insert(cndtnTrgtInfoMngVO); cndtnTrgtInfoMngDAO.insert(cndtnTrgtInfoMngVO);
} }
@Override @Override
public CndtnTrgtMngVO selectDetail(CndtnTrgtMngVO cndtnTrgtInfoVO) { public CndtnTrgtMngVO selectDetail(CndtnTrgtMngVO cndtnTrgtInfoVO) {
return cndtnTrgtInfoMngDAO.selectDetail(cndtnTrgtInfoVO); return cndtnTrgtInfoMngDAO.selectDetail(cndtnTrgtInfoVO);
} }
@Override @Override
public void update(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { public void update(CndtnTrgtMngVO cndtnTrgtInfoMngVO) {
cndtnTrgtInfoMngDAO.update(cndtnTrgtInfoMngVO); cndtnTrgtInfoMngDAO.update(cndtnTrgtInfoMngVO);
} }
@Override @Override
public void updateUserId(CndtnTrgtMngVO cndtnTrgtMngVO) { public void updateUserId(CndtnTrgtMngVO cndtnTrgtMngVO) {
cndtnTrgtInfoMngDAO.updateUserId(cndtnTrgtMngVO); cndtnTrgtInfoMngDAO.updateUserId(cndtnTrgtMngVO);
} }
/* @Override
//C public int findCntreqNmber(String reqNmbrTemp) {
public void insert(VEPrcsDetailVO vEPrcsDetailVO) throws Exception { return cndtnTrgtInfoMngDAO.findCntreqNmber(reqNmbrTemp);
}
String prcsAplctPrdOrd = prcsAplctPrdGnrService.getNextStringId(); // 고유ID /*
vEPrcsDetailVO.setPrcsAplctPrdOrd(prcsAplctPrdOrd); //C
vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 public void insert(VEPrcsDetailVO vEPrcsDetailVO) throws Exception {
//vEPrcsDetailVO.setUseYn("Y");
vEPrcsAplctPrdDAO.insert(vEPrcsDetailVO); String prcsAplctPrdOrd = prcsAplctPrdGnrService.getNextStringId(); // 고유ID
} vEPrcsDetailVO.setPrcsAplctPrdOrd(prcsAplctPrdOrd);
vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
//R //vEPrcsDetailVO.setUseYn("Y");
public VEPrcsDetailVO selectDetail(VEPrcsDetailVO paramVO) throws Exception {
return vEPrcsAplctPrdDAO.selectDetail(paramVO); vEPrcsAplctPrdDAO.insert(vEPrcsDetailVO);
} }
//U //R
public int update(VEPrcsDetailVO paramVO) throws Exception{ public VEPrcsDetailVO selectDetail(VEPrcsDetailVO paramVO) throws Exception {
vEPrcsAplctPrdDAO.update(paramVO); return vEPrcsAplctPrdDAO.selectDetail(paramVO);
return vEPrcsDAO.update(paramVO); }
}
//U
//D public int update(VEPrcsDetailVO paramVO) throws Exception{
public int delete(VEPrcsDetailVO paramVO) throws Exception{ vEPrcsAplctPrdDAO.update(paramVO);
return vEPrcsAplctPrdDAO.delete(paramVO); return vEPrcsDAO.update(paramVO);
} }
//List //D
public List<VEPrcsDetailVO> selectList(VEPrcsDetailVO paramVO) throws Exception{ public int delete(VEPrcsDetailVO paramVO) throws Exception{
return vEPrcsAplctPrdDAO.selectList(paramVO); return vEPrcsAplctPrdDAO.delete(paramVO);
} }
public List<VEPrcsDetailVO> selectList4Fndth(VEPrcsDetailVO paramVO) throws Exception{ //List
return vEPrcsAplctPrdDAO.selectList4Fndth(paramVO); public List<VEPrcsDetailVO> selectList(VEPrcsDetailVO paramVO) throws Exception{
} return vEPrcsAplctPrdDAO.selectList(paramVO);
}
//paging List
public List<VEPrcsDetailVO> selectPagingList(VEPrcsDetailVO paramVO) throws Exception{ public List<VEPrcsDetailVO> selectList4Fndth(VEPrcsDetailVO paramVO) throws Exception{
return vEPrcsAplctPrdDAO.selectPagingList(paramVO); return vEPrcsAplctPrdDAO.selectList4Fndth(paramVO);
} }
public List<VEPrcsDetailVO> selectPagingList4Fndth(VEPrcsDetailVO paramVO) throws Exception{ //paging List
return vEPrcsAplctPrdDAO.selectPagingList4Fndth(paramVO); public List<VEPrcsDetailVO> selectPagingList(VEPrcsDetailVO paramVO) throws Exception{
} return vEPrcsAplctPrdDAO.selectPagingList(paramVO);
}
//R
public VEPrcsDetailVO selectDetailNewOne(VEPrcsDetailVO paramVO) throws Exception { public List<VEPrcsDetailVO> selectPagingList4Fndth(VEPrcsDetailVO paramVO) throws Exception{
return vEPrcsAplctPrdDAO.selectDetailNewOne(paramVO); return vEPrcsAplctPrdDAO.selectPagingList4Fndth(paramVO);
} }
public VEPrcsDetailVO selectDetailNewOne4Fndth(VEPrcsDetailVO paramVO) throws Exception { //R
return vEPrcsAplctPrdDAO.selectDetailNewOne4Fndth(paramVO); public VEPrcsDetailVO selectDetailNewOne(VEPrcsDetailVO paramVO) throws Exception {
} return vEPrcsAplctPrdDAO.selectDetailNewOne(paramVO);
}
@Override
public List<VEInstrDetailVO> selectinstrAsgnmPopupPagingList(VEPrcsDetailVO vEPrcsDetailVO) { public VEPrcsDetailVO selectDetailNewOne4Fndth(VEPrcsDetailVO paramVO) throws Exception {
return vEPrcsAplctPrdDAO.selectinstrAsgnmPopupPagingList(vEPrcsDetailVO); return vEPrcsAplctPrdDAO.selectDetailNewOne4Fndth(paramVO);
}*/ }
} @Override
public List<VEInstrDetailVO> selectinstrAsgnmPopupPagingList(VEPrcsDetailVO vEPrcsDetailVO) {
return vEPrcsAplctPrdDAO.selectinstrAsgnmPopupPagingList(vEPrcsDetailVO);
}*/
}

View File

@ -1,10 +1,14 @@
package kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.web; 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.ArrayList;
import java.util.List; import java.util.List;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -13,12 +17,17 @@ import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import egovframework.rte.fdl.idgnr.EgovIdGnrService; import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.LoginVO; import kcc.com.cmm.LoginVO;
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.cmm.util.StringUtil;
import kcc.com.utl.user.service.CheckFileUtil;
import kcc.com.utl.user.service.CheckLoginUtil; import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.uat.uia.service.SsoLoginVO; import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService;
@ -85,6 +94,18 @@ public class CndtnTrgtMngController {
//과정차시 관리 //과정차시 관리
@Resource(name = "vEPrcsAplctPrdService") @Resource(name = "vEPrcsAplctPrdService")
private VEPrcsAplctPrdService vEPrcsAplctPrdService; private VEPrcsAplctPrdService vEPrcsAplctPrdService;
//파일 체크 util
@Resource(name = "checkFileUtil")
private CheckFileUtil checkFileUtil;
//파일정보의 관리
@Resource(name = "EgovFileMngService")
private EgovFileMngService fileService;
/* /*
// 교육신청 서비스단 // 교육신청 서비스단
@ -133,16 +154,21 @@ public class CndtnTrgtMngController {
//로그인 처리==================================== //로그인 처리====================================
//로그인 정보 가져오기 //로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 // LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
System.out.println("loginVO.getAuthority() :: "+ loginVO.getAuthority());
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo;
//로그인 처리==================================== //로그인 처리====================================
String userWork = this.getUserWork(request);
cndtnTrgtInfoMngVO.setSearchCondition(userWork);
//1.pageing step1 //1.pageing step1
PaginationInfo paginationInfo = this.setCndtnPagingStep1(cndtnTrgtInfoMngVO); PaginationInfo paginationInfo = this.setCndtnPagingStep1(cndtnTrgtInfoMngVO);
@ -186,6 +212,90 @@ public class CndtnTrgtMngController {
return "oprtn/cndtnSspnIdtmt/trgtList"; 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);
//검색 조회
if(StringUtil.isNotEmpty(cndtnTrgtInfoMngVO.getSearchKeyword())){
String selectCondition = "";
String searchStatus = cndtnTrgtInfoMngVO.getSearchStatus();
selectCondition = "AND a."+searchStatus+" LIKE CONCAT ('%', '" +cndtnTrgtInfoMngVO.getSearchKeyword() + "', '%')";
cndtnTrgtInfoMngVO.setSearchQuery(selectCondition);
}
// List<CndtnTrgtInfoMngVO> cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO);
List<CndtnTrgtMngVO> 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/trgtMngList";
}
/** /**
* @methodName : trgtCmpltList * @methodName : trgtCmpltList
* @author : 이호영 * @author : 이호영
@ -262,6 +372,7 @@ public class CndtnTrgtMngController {
public String cndtnEduPrcsMngReg( public String cndtnEduPrcsMngReg(
@ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO
, ModelMap model , ModelMap model
, HttpServletRequest request
) throws Exception { ) throws Exception {
//로그인 처리==================================== //로그인 처리====================================
@ -271,7 +382,9 @@ public class CndtnTrgtMngController {
if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo;
//로그인 처리==================================== //로그인 처리====================================
String userWork = this.getUserWork(request);
model.addAttribute("userWork", userWork);
return "oprtn/cndtnSspnIdtmt/trgtReg"; return "oprtn/cndtnSspnIdtmt/trgtReg";
} }
@ -283,8 +396,8 @@ public class CndtnTrgtMngController {
public ModelAndView cndtnEduPrcsMngRegAjax( public ModelAndView cndtnEduPrcsMngRegAjax(
@ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO
, ModelMap model , ModelMap model
//, RedirectAttributes redirectAttributes
, HttpServletRequest request , HttpServletRequest request
, final MultipartHttpServletRequest multiRequest
) throws Exception { ) throws Exception {
ModelAndView modelAndView = new ModelAndView(); ModelAndView modelAndView = new ModelAndView();
@ -304,13 +417,36 @@ public class CndtnTrgtMngController {
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 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.setSspnIdtmtTrgtOrd(trgtOrdService.getNextStringId());
cndtnTrgtInfoMngVO.setAtchFileId(s_scholSealAtchFileId); //학교장직인 첨부파일
cndtnTrgtInfoMngVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id cndtnTrgtInfoMngVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
// vEPrcsDetailVO.setPrcsOrd(prcsOrd);
// vEPrcsDetailVO.setLctrDivCd("60"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
// vEPrcsDetailVO.setUseYn("Y");
// vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
cndtnTrgtInfoMngService.insert(cndtnTrgtInfoMngVO); cndtnTrgtInfoMngService.insert(cndtnTrgtInfoMngVO);
@ -321,7 +457,49 @@ public class CndtnTrgtMngController {
return modelAndView; 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()+"-"+LocalDate.now().getYear()+"-";
int cnt = cndtnTrgtInfoMngService.findCntreqNmber("%" + reqNmbrTemp + "%");
return adultWhether+"-"+cndtnTrgtInfoMngVO.getCmptntAthrt()+"-"+DateUtil.getStringToLocalDateYear()+"-"+(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);
if(period.getYears() >= 19) {
returnData="A";
}
// 나이가 19세 이상인지 확인
return returnData;
}
/** /**
* 조건부기소유예과정 등록 * 조건부기소유예과정 등록
*/ */
@ -331,6 +509,7 @@ public class CndtnTrgtMngController {
, ModelMap model , ModelMap model
//, RedirectAttributes redirectAttributes //, RedirectAttributes redirectAttributes
, HttpServletRequest request , HttpServletRequest request
, final MultipartHttpServletRequest multiRequest
) throws Exception { ) throws Exception {
ModelAndView modelAndView = new ModelAndView(); ModelAndView modelAndView = new ModelAndView();
@ -351,6 +530,56 @@ public class CndtnTrgtMngController {
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
//step2.첨부파일 체크 저장 하기
String s_scholSealAtchFileId = "";
s_scholSealAtchFileId = cndtnTrgtInfoMngVO.getAtchFileId();
//DB에서 실제 첨부파일 존재 여부 확인
FileVO fileVO = new FileVO();
fileVO.setAtchFileId(s_scholSealAtchFileId);
List<FileVO> 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 cndtnTrgtInfoMngVO.setLastUpdusrId(loginVO.getUniqId()); //esntl_id
cndtnTrgtInfoMngService.update(cndtnTrgtInfoMngVO); cndtnTrgtInfoMngService.update(cndtnTrgtInfoMngVO);
@ -363,7 +592,7 @@ public class CndtnTrgtMngController {
} }
/** /**
* 조건부기소유예과정 상세화면 * 대상자목록
*/ */
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtDetail.do") @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtDetail.do")
public String trgtDetail( public String trgtDetail(
@ -383,10 +612,49 @@ public class CndtnTrgtMngController {
//과정 조회 //과정 조회
CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO); CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO);
model.addAttribute("info", cndtnTrgtInfoVO); model.addAttribute("info", cndtnTrgtInfoVO);
//세부과정 목록 조회
//파일 정보 가져오기
FileVO fileVO = new FileVO();
fileVO.setAtchFileId(cndtnTrgtInfoVO.getAtchFileId());
List<FileVO> result = fileService.selectFileInfs(fileVO);
model.addAttribute("fileList", result);
model.addAttribute("fileListCnt", result.size());
return "oprtn/cndtnSspnIdtmt/trgtDetail"; return "oprtn/cndtnSspnIdtmt/trgtDetail";
} }
/**
* 대상자목록
*/
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtMngDetail.do")
public String trgtMngDetail(
@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<FileVO> result = fileService.selectFileInfs(fileVO);
model.addAttribute("fileList", result);
model.addAttribute("fileListCnt", result.size());
return "oprtn/cndtnSspnIdtmt/trgtMngDetail";
}
/** /**
* 조건부기소유예과정 수료자 상세화면 * 조건부기소유예과정 수료자 상세화면
*/ */
@ -449,10 +717,49 @@ public class CndtnTrgtMngController {
CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO); CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO);
model.addAttribute("info", cndtnTrgtInfoVO); model.addAttribute("info", cndtnTrgtInfoVO);
//파일 정보 가져오기
FileVO fileVO = new FileVO();
fileVO.setAtchFileId(cndtnTrgtInfoVO.getAtchFileId());
List<FileVO> result = fileService.selectFileInfs(fileVO);
model.addAttribute("fileList", result);
model.addAttribute("fileListCnt", result.size());
return "oprtn/cndtnSspnIdtmt/trgtMdfy"; 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<FileVO> result = fileService.selectFileInfs(fileVO);
model.addAttribute("fileList", result);
model.addAttribute("fileListCnt", result.size());
return "oprtn/cndtnSspnIdtmt/trgtMngMdfy";
}

View File

@ -42,6 +42,8 @@ import kcc.let.cop.bbs.service.Board;
import kcc.let.uat.uia.service.SsoLoginVO; import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.let.utl.fcc.service.EgovCryptoUtil4VO; import kcc.let.utl.fcc.service.EgovCryptoUtil4VO;
import kcc.ve.adv.tngr.stngInfo.service.VEAStngService;
import kcc.ve.adv.tngr.stngInfo.service.VEAStngVO;
import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoService; import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoService;
import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoVO; import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoVO;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailService; import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailService;
@ -184,6 +186,9 @@ public class OprtnInstrAdultPrflContoller {
@Resource(name = "scholInfoService") @Resource(name = "scholInfoService")
private ScholInfoService scholInfoService; private ScholInfoService scholInfoService;
//강의설정 관리
@Resource(name = "vEAStngService")
private VEAStngService vEAStngService;
/** /**
* 1.강사등록신청 목록 조회 - * 1.강사등록신청 목록 조회 -
@ -1116,6 +1121,14 @@ public class OprtnInstrAdultPrflContoller {
lctrDetailVO.setAprvlCd("10"); // 강의 설정 요청 리스트만 불러오기 lctrDetailVO.setAprvlCd("10"); // 강의 설정 요청 리스트만 불러오기
List<VELctrDetailVO> lctrStngSbmtInfo = vELctrMIXService.selectLctrStngSbmtList(lctrDetailVO); List<VELctrDetailVO> lctrStngSbmtInfo = vELctrMIXService.selectLctrStngSbmtList(lctrDetailVO);
model.addAttribute("lctrStngSbmtInfo", lctrStngSbmtInfo); model.addAttribute("lctrStngSbmtInfo", lctrStngSbmtInfo);
// 이력관리 리스트
VEAStngVO vEAStngVO = new VEAStngVO();
vEAStngVO.setUserId(vEInstrDetailVO.getUserId());
List<VEAStngVO> selectList_VEAIHM = vEAStngService.selectList_VEAIHM(vEAStngVO);
model.addAttribute("selectListVEAIHM",selectList_VEAIHM);
return "/oprtn/adultVisitEdu/instrMngDetail"; return "/oprtn/adultVisitEdu/instrMngDetail";
} }

View File

@ -46,6 +46,9 @@ import kcc.let.cop.bbs.service.Board;
import kcc.let.uat.uia.service.SsoLoginVO; import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.let.utl.fcc.service.EgovCryptoUtil4VO; import kcc.let.utl.fcc.service.EgovCryptoUtil4VO;
import kcc.ve.adv.tngr.stngInfo.service.VEAStngMixService;
import kcc.ve.adv.tngr.stngInfo.service.VEAStngService;
import kcc.ve.adv.tngr.stngInfo.service.VEAStngVO;
import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoService; import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoService;
import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoVO; import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoVO;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduPnltyService; import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEEduPnltyService;
@ -209,6 +212,18 @@ public class OprtnInstrTngrPrflContoller {
@Resource(name = "vEEduPnltyService") @Resource(name = "vEEduPnltyService")
private VEEduPnltyService vEEduPnltyService; private VEEduPnltyService vEEduPnltyService;
//강의설정 관리
@Resource(name = "vEAStngService")
private VEAStngService vEAStngService;
//강의설정 관리(MIX)
@Resource(name = "vEAStngMixService")
private VEAStngMixService vEAStngMixService;
//강사료 순번 idgen
@Resource(name="instrHstryOrdGnrService")
private EgovIdGnrService instrHstryOrdGnrService;
/** /**
* 1.강사등록신청 목록 조회 - * 1.강사등록신청 목록 조회 -
*/ */
@ -1186,11 +1201,20 @@ public class OprtnInstrTngrPrflContoller {
for (int i=1; i<sb.size(); i++) { for (int i=1; i<sb.size(); i++) {
String[] s_tmp = sb.get(i).split(s_split); String[] s_tmp = sb.get(i).split(s_split);
System.out.println("----------");
System.out.println(i);
System.out.println(sb.get(i));
System.out.println("==========");
//도서지역학교 등록 처리 동일한 정보가 있는지 확인. //도서지역학교 등록 처리 동일한 정보가 있는지 확인.
//ve_schol 테이블에 학교명이 중복되지 않으면서, ve_schol_islnt 테이블에 데이터가 없으면 insert, 있으면 update //ve_schol 테이블에 학교명이 중복되지 않으면서, ve_schol_islnt 테이블에 데이터가 없으면 insert, 있으면 update
scholInfoVO.setScholNm(s_tmp[0]); scholInfoVO.setStndrdScholCd(s_tmp[0]);
scholInfoVO.setIsltnYn(s_tmp[2]);
scholInfoVO.setIsltn2Yn(s_tmp[3]);
scholInfoVO.setIsltn3Yn(s_tmp[4]);
scholInfoVO.setPpltnReducAreaYn(s_tmp[5]);
int resultCnt = scholInfoService.insertSelectIsltn(scholInfoVO); int resultCnt = scholInfoService.insertSelectIsltn20231107(scholInfoVO);
if(resultCnt > 0) { if(resultCnt > 0) {
succCnt++; succCnt++;
@ -1723,6 +1747,13 @@ public class OprtnInstrTngrPrflContoller {
List<VEInstrAsgnmVO> vEInstrAsgnmVOList = vEEduPnltyService.selectList(vEInstrAsgnmVO); List<VEInstrAsgnmVO> vEInstrAsgnmVOList = vEEduPnltyService.selectList(vEInstrAsgnmVO);
model.addAttribute("pnltyList",vEInstrAsgnmVOList); model.addAttribute("pnltyList",vEInstrAsgnmVOList);
// 이력관리 리스트
VEAStngVO vEAStngVO = new VEAStngVO();
vEAStngVO.setUserId(vEInstrDetailVO.getUserId());
List<VEAStngVO> selectList_VEAIHM = vEAStngService.selectList_VEAIHM(vEAStngVO);
model.addAttribute("selectListVEAIHM",selectList_VEAIHM);
//누계정보1 //누계정보1
//List<VELctrDetailVO> selectAsgnmInfoT1List = vEInstrMixService.selectAsgnmInfoT1(vEInstrDetailVODetail); //List<VELctrDetailVO> selectAsgnmInfoT1List = vEInstrMixService.selectAsgnmInfoT1(vEInstrDetailVODetail);
@ -1742,6 +1773,50 @@ public class OprtnInstrTngrPrflContoller {
return "/oprtn/tngrVisitEdu/instrMngDetail"; return "/oprtn/tngrVisitEdu/instrMngDetail";
} }
/**
* 이력 삭제 처리
*/
@RequestMapping("/ve/oprtn/instr/tngrVisitEdu/instrInfo/popup/instrHstryDelAjax.do")
public ModelAndView instrHstryDelPopupAjax(
@ModelAttribute("vEAStngVO") VEAStngVO vEAStngVO
, ModelMap model
//, RedirectAttributes redirectAttributes
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "loginFail");
return modelAndView;
}
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
//교육차시강사배정 테이블에 패널티 정보 삭제
try {
//목록에서 패널티를 여러 유저에게 등록
//vEEduPnltyService.delete(vEInstrAsgnmVO);
//VEAStngVO vEAStngVO = new VEAStngVO();
//vEAStngVO.setInstrHstryOrd(instrHstryOrd);
vEAStngService.delete_VEAIHM(vEAStngVO);
} catch (Exception ex) {
ex.printStackTrace();
}
modelAndView.addObject("result", "success");
return modelAndView;
}
/** /**
* 6. 강사 관리 상세 조회 * 6. 강사 관리 상세 조회
*/ */
@ -2594,7 +2669,100 @@ public class OprtnInstrTngrPrflContoller {
return modelAndView; return modelAndView;
} }
/**
* 6. 강사 이력 관리 팝업
*/
@RequestMapping("/kccadr/oprtn/tngrVisitEdu/popup/instrHstryMngPopup.do")
public String advRndsStngMngPopup(
@ModelAttribute("vEAStngVO") VEAStngVO vEAStngVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
//로그인 처리====================================
//로그인 정보 가져오기
//String s_userCheckNInfo = checkLoginUtil.userCheckNInfo(model, request);
//if (!"".equals(s_userCheckNInfo)) return s_userCheckNInfo;
//로그인 처리====================================
try {
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
vEAStngVO.setFrstRegisterId(loginVO.getUniqId());
//등록된 해당 년도의 회차리스트 정보 가져오기
List<VEAStngVO> selectBasicList = vEAStngService.selectList_VEALRS(vEAStngVO);
model.addAttribute("selectBasicList", selectBasicList);
}catch(Exception ex)
{
ex.printStackTrace();
}
return "oprtn/tngrVisitEdu/popup/instrHstryMngPopup";
}
/**
* 강사 이력 등록
*/
@RequestMapping(value="/kccadr/oprtn/tngrVisitEdu/popup/instrHstryMngPopupAjax.do")
public ModelAndView instrHstryMngPopupAjax(
ModelMap model
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "loginFail");
return modelAndView;
}
//로그인 처리====================================
//System.out.println(request.getParameter("instrDiv"));
//System.out.println(request.getParameter("ddlnStateCd"));
try {
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
String s_ord = instrHstryOrdGnrService.getNextStringId();
VEAStngVO vEAStngVO = new VEAStngVO();
vEAStngVO.setInstrHstryOrd(s_ord);
vEAStngVO.setUserId(request.getParameter("userId"));
vEAStngVO.setSbjct(request.getParameter("sbjct"));
vEAStngVO.setCn(request.getParameter("cn"));
vEAStngVO.setStrtDt(request.getParameter("rgstrStrtPnttm_dt"));
vEAStngVO.setDdlnDt(request.getParameter("rgstrDdlnPnttm_dt"));
vEAStngVO.setFrstRegisterId(loginVO.getUniqId());
vEAStngService.insert_VEAIHM(vEAStngVO);
}catch(Exception ex) {
ex.printStackTrace();
}
modelAndView.addObject("result", "success");
return modelAndView;
}
///////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////
// //
// //

View File

@ -18,6 +18,7 @@ import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.LoginVO; import kcc.com.cmm.LoginVO;
import kcc.com.utl.user.service.CheckLoginUtil; import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.uss.ion.cnt.service.CntManageVO;
import kcc.ve.adv.tngr.stngInfo.service.VEAStngMixService; import kcc.ve.adv.tngr.stngInfo.service.VEAStngMixService;
import kcc.ve.adv.tngr.stngInfo.service.VEAStngService; import kcc.ve.adv.tngr.stngInfo.service.VEAStngService;
import kcc.ve.adv.tngr.stngInfo.service.VEAStngVO; import kcc.ve.adv.tngr.stngInfo.service.VEAStngVO;
@ -175,6 +176,92 @@ public class AdvAreaLctrMngTngrController {
//회차 순번 //회차 순번
@Resource(name="dtPsblTmQnttyGnrService") @Resource(name="dtPsblTmQnttyGnrService")
private EgovIdGnrService dtPsblTmQnttyGnrService; private EgovIdGnrService dtPsblTmQnttyGnrService;
/**
* 청소년 등록화면 문구 수정 - TR01
* TL0E
* TL0M
* TL0H
*/
@RequestMapping("/kccadr/oprtn/tngrVisitEdu/advStngMngTRAjax.do")
public ModelAndView advStngMngTRAjax(
ModelMap model
, HttpServletRequest request ) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
try {
String s_cn = request.getParameter("cn");
VEAStngVO vEAStngVO = new VEAStngVO();
vEAStngVO.setCn(s_cn);
vEAStngVO.setStngCd("TR01");
vEAStngService.update_VEABIS(vEAStngVO);
modelAndView.addObject("result", "success");
}catch(Exception e) {
System.err.println("IOException Occured");
modelAndView.addObject("result", "fail");
}
return modelAndView;
}
/**
* 기본 정보 설정 화면
*/
@RequestMapping("/kccadr/oprtn/tngrVisitEdu/advStngMngList.do")
public String advStngMngList(
@ModelAttribute("vELctrDetailVO") VELctrDetailVO vELctrDetailVO
, ModelMap model
) throws Exception {
//로그인 처리====================================
//로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo;
//로그인 처리====================================
//현재 신청등록문구 가져오기
VEAStngVO vEAStngVO = new VEAStngVO();
vEAStngVO.setStngCd("TR01");
vEAStngVO = vEAStngService.selectDetail_VEABIS(vEAStngVO);
model.addAttribute("selectBasicTRInfo", vEAStngVO);
return "oprtn/tngrVisitEdu/advStngMngList";
}
/**
* 청소년 교육확정 메일본문 미리보기 페이지
*/
@RequestMapping("/kccadr/oprtn/tngrVisitEdu/popup/eduAplctRegPreviewDetail.do")
public String eduAplctRegPreviewDetail( @ModelAttribute("cntManageVO") CntManageVO cntManageVO
, ModelMap model
, HttpServletRequest request ) throws Exception {
try {
//현재 신청등록문구 가져오기
VEAStngVO vEAStngVO = new VEAStngVO();
vEAStngVO.setStngCd("TR01");
vEAStngVO = vEAStngService.selectDetail_VEABIS(vEAStngVO);
model.addAttribute("selectBasicTRInfo", vEAStngVO);
}catch(Exception ex) {
ex.printStackTrace();
}
return "oprtn/tngrVisitEdu/popup/eduAplctRegPreviewDetail";
}
/** /**
* 지역별 강의관리 목록 화면 * 지역별 강의관리 목록 화면
@ -327,6 +414,73 @@ public class AdvAreaLctrMngTngrController {
return modelAndView; return modelAndView;
}
/**
* 지역별 접수시간 처리 팝업
*/
@RequestMapping(value="/kccadr/oprtn/tngrVisitEdu/areaLctrMngrgstrPsblTmAllAjax.do")
public ModelAndView areaLctrMngrgstrPsblTmAllAjax(
VEAStngVO vEAStngVO
//, RedirectAttributes redirectAttributes
, ModelMap model
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
/*
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "loginFail");
return modelAndView;
}
*/
//로그인 처리====================================
try {
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
vEAStngVO.setFrstRegisterId(loginVO.getUniqId());
vEAStngVO.setLastUpdusrId(loginVO.getUniqId());
String p_ttlEduCnfrmPsblChasi = request.getParameter("ttlEduCnfrmPsblChasi");
String p_areaCd = request.getParameter("areaCd");
String[] a_ttlEduCnfrmPsblChasi = p_ttlEduCnfrmPsblChasi.split("_");
String[] a_areaCd = p_areaCd.split("_");
for (int i=0;i<a_areaCd.length;i++) {
String s_ttlEduCnfrmPsblChasi = a_ttlEduCnfrmPsblChasi[i];
String s_areaCd = a_areaCd[i];
if (!"".equals(s_areaCd)) {
vEAStngVO.setAreaCd(s_areaCd);
vEAStngVO.setTtlEduCnfrmPsblChasi(s_ttlEduCnfrmPsblChasi);
int i_ret = vEAStngService.update_VEAALS(vEAStngVO);
if (i_ret>0) modelAndView.addObject("result", "success");
else modelAndView.addObject("result", "fail");
}
}
//modelAndView.addObject("result", "success");
}catch(Exception ex) {
ex.printStackTrace();
}
return modelAndView;
} }
/** /**
@ -1016,6 +1170,60 @@ public class AdvAreaLctrMngTngrController {
}catch(Exception ex)
{
ex.printStackTrace();
}
return "oprtn/tngrVisitEdu/popup/advLctrPrdCalendarPopup";
}
/**
* 강의가능기간 달력 팝업 - 해당 회차의 선택한 기간 정보에 대한 달력을 띄운다.
*/
@RequestMapping("/web/ve/tngrVisitEdu/popup/advLctrPrdCalendarPopup.do")
public String webVeadvLctrPrdCalendarPopup(
@ModelAttribute("vEAStngVO") VEAStngVO vEAStngVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
//로그인 처리====================================
//로그인 정보 가져오기
//String s_userCheckNInfo = checkLoginUtil.userCheckNInfo(model, request);
//if (!"".equals(s_userCheckNInfo)) return s_userCheckNInfo;
//로그인 처리====================================
try {
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
vEAStngVO.setFrstRegisterId(loginVO.getUniqId());
//선택한 년도&차시의 교육가능시수 & 차시 정보
//vEAStngVO.setYr(vEAStngVO.getStngYr());
//vEAStngVO.setRndsOrd(vELctrDetailVO.getRndsOrd());
//VEAStngVO selectBasicInfo = vEAStngMixService.selectDetail_VEALYS(vEAStngVO);
//model.addAttribute("selectBasicInfo", selectBasicInfo);
//등록된 해당 년도 회차의 강의가능리스트 정보 가져오기
//List<VEAStngVO> selectBasicList = vEAStngService.selectList_VEALPPS(vEAStngVO);
//model.addAttribute("selectBasicList", selectBasicList);
System.out.println(vEAStngVO.getRndsOrd());
System.out.println(vEAStngVO.getRndsOrd());
model.addAttribute("rndsOrd", vEAStngVO.getRndsOrd());
}catch(Exception ex) }catch(Exception ex)
{ {
ex.printStackTrace(); ex.printStackTrace();
@ -1154,8 +1362,21 @@ public class AdvAreaLctrMngTngrController {
System.out.println("vList.get(i).getDtPsblTmQnttyOrd()"); System.out.println("vList.get(i).getDtPsblTmQnttyOrd()");
System.out.println(vList.get(i).getDtPsblTmQnttyOrd()); System.out.println(vList.get(i).getDtPsblTmQnttyOrd());
System.out.println(vList.get(i).getRndsNm()); System.out.println(vList.get(i).getRndsNm());
if (vList.get(i).getTitle().equals("불가능")) if (vList.get(i).getTitle().equals("불가능"))
vList.get(i).setColor("#FF0000"); {
vList.get(i).setColor("#FF0000");
}else if (Integer.parseInt(vList.get(i).getTitleF())>=Integer.parseInt(vList.get(i).getTitleB()))
{
vList.get(i).setColor("#FF0000");
}else if (Integer.parseInt(vList.get(i).getTitleF())*5>=Integer.parseInt(vList.get(i).getTitleB())*4)
{
vList.get(i).setColor("#FFAA00");
}
}catch(Exception ex) { }catch(Exception ex) {
ex.printStackTrace(); ex.printStackTrace();
} }

View File

@ -666,6 +666,7 @@ public class AreaLctrMngTngrController {
} }
/** /**
* 년도 / 반기의 접수 일자 저장 * 년도 / 반기의 접수 일자 저장
*/ */
@ -852,6 +853,132 @@ public class AreaLctrMngTngrController {
} }
/**
* 강사이력 등록 처리
*/
@RequestMapping("popup/instrHstryRegAjax.do")
public ModelAndView instrHstryRegPopupAjax(
@ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO
, ModelMap model
//, RedirectAttributes redirectAttributes
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "loginFail");
return modelAndView;
}
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
//교육차시강사배정 테이블에 패널티 정보 update
try {
//목록에서 패널티를 여러 유저에게 등록
if(!"".equals(vEInstrAsgnmVO.getChk()) && vEInstrAsgnmVO.getChk() != null) {
String[] splitChk = vEInstrAsgnmVO.getChk().split(",");
String[] userId = vEInstrAsgnmVO.getUserId().split(",");
for(int i=0; i<splitChk.length; i++) {
if(!"".equals(splitChk[i])) {
String[] aplctChasi = splitChk[i].split("\\@");
VEInstrAsgnmVO vo = new VEInstrAsgnmVO();
vo.setEduAplctOrd(aplctChasi[0]);
vo.setEduChasiOrd(aplctChasi[1]);
vo.setPnltyCd(vEInstrAsgnmVO.getPnltyCd());
vEInstrAsgnmVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
vo.setUserId(userId[i]);
String s_pnltyOrd = pnltyOrdGnrService.getNextStringId();
vo.setPnltyOrd(s_pnltyOrd);
vEEduPnltyService.insert(vo);
}
}
} else {
String[] pnltyCd = vEInstrAsgnmVO.getPnltyCd().split(",");
vEInstrAsgnmVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
vEInstrAsgnmVO.setUserId(vEInstrAsgnmVO.getUserId());
/*
// merge로 바꾸고 주석처리
// 기존에 등록된 패널티를 삭제
vEInstrAsgnmVO.setPnltyCd("");
vEEduPnltyService.delete(vEInstrAsgnmVO);
*/
// 체크한 패널티 코드를 insert
for (int i=0; i<pnltyCd.length; i++) {
vEInstrAsgnmVO.setPnltyCd(pnltyCd[i]);
String s_pnltyOrd = pnltyOrdGnrService.getNextStringId();
vEInstrAsgnmVO.setPnltyOrd(s_pnltyOrd);
vEEduPnltyService.insert(vEInstrAsgnmVO);
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
modelAndView.addObject("result", "success");
return modelAndView;
}
/**
* 강사이력 삭제 처리
*/
/*
@RequestMapping("popup/instrHstryDelAjax.do")
public ModelAndView instrHstryDelPopupAjax(
@ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO
, ModelMap model
//, RedirectAttributes redirectAttributes
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "loginFail");
return modelAndView;
}
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
//교육차시강사배정 테이블에 패널티 정보 삭제
try {
//목록에서 패널티를 여러 유저에게 등록
vEEduPnltyService.delete(vEInstrAsgnmVO);
} catch (Exception ex) {
ex.printStackTrace();
}
modelAndView.addObject("result", "success");
return modelAndView;
}
*/
/** /**
* 강사료 등록 처리 * 강사료 등록 처리
*/ */

View File

@ -463,6 +463,13 @@ public class EduAplctMngTngrController {
System.out.println(session.toString()); System.out.println(session.toString());
System.out.println(session.getAttribute("menuNo").toString()); System.out.println(session.getAttribute("menuNo").toString());
//서류 요청 목록
VEEduAplctVO veEduDocReqVO = new VEEduAplctVO();
veEduDocReqVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
List<VEEduAplctVO> vEEduDocReqList = vEEduAplctService.selectDocReqList(veEduDocReqVO);
//복호화
vEEduDocReqList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduDocReqList);
model.addAttribute("docReqList", vEEduDocReqList);
return "oprtn/tngrVisitEdu/eduAplctMngDetail"; return "oprtn/tngrVisitEdu/eduAplctMngDetail";
} }
@ -964,6 +971,13 @@ public class EduAplctMngTngrController {
} }
/**
* 교육신청관리 상세 화면
*/
@RequestMapping("popup/eduDocReqAlertPopup.do")
public String eduDocReqAlertPopup( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , ModelMap model , HttpServletRequest request ) throws Exception {
return "oprtn/tngrVisitEdu/popup/eduDocReqAlertPopup";
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////
// //
// //

View File

@ -447,6 +447,13 @@ public class NewEduCnfrmMngTngrController {
String s_yrMnt = request.getParameter("yrMnt"); String s_yrMnt = request.getParameter("yrMnt");
String s_stngYr = request.getParameter("stngYr"); String s_stngYr = request.getParameter("stngYr");
String[] a_yrMnt = s_yrMnt.split("[.]");
System.out.println(s_yrMnt);
System.out.println(s_stngYr);
System.out.println(a_yrMnt.length);
//#1 //#1
VEInstrDetailVO vEInstrDetailVO4 = null; //일별강사수 정보 - #1 VEInstrDetailVO vEInstrDetailVO4 = null; //일별강사수 정보 - #1
int i_rate_ttl = 0; //비율 총합 int i_rate_ttl = 0; //비율 총합
@ -570,7 +577,132 @@ public class NewEduCnfrmMngTngrController {
int i_ret = vEAStngService.update_VEAIMT(vEAStngVO); int i_ret = vEAStngService.update_VEAIMT(vEAStngVO);
//개별 강사의 계산한 년월의 강의일수와 최대차시수를 넣어준다.
{
//step1.대상강사 리스트
//step2.강사별 월별시수 넣기
// 1.년도
// 2.강사 id
// 3.설정강의일수
// 4.최대 가능 차시수
// 5.등록자 id
System.out.println(a_yrMnt[0]);
System.out.println(a_yrMnt[1]);
//작성자 정보
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
//instrVEAStngVO.setFrstRegisterId(loginVO.getUniqId());
//step1.대상강사 리스트
List<VEAStngVO> selectList_VEAIIMT_1 = vEAStngMixService.selectList_VEAIIMT_1(vEAStngVO);
for (int i=0;i<selectList_VEAIIMT_1.size();i++) {
VEAStngVO instrVEAStngVO = selectList_VEAIIMT_1.get(i);
instrVEAStngVO.setYr(a_yrMnt[0]);
if ("01".equals(a_yrMnt[1])) {
instrVEAStngVO.setM01Ea(instrVEAStngVO.getWorkWeekCnt());
instrVEAStngVO.setM01Tm(Integer.toString(i_rate_day*Integer.parseInt(instrVEAStngVO.getWorkWeekCnt())));
instrVEAStngVO.setM01RegisterId(loginVO.getUniqId());
vEAStngService.insert_VEAIIMT(instrVEAStngVO);
}else if ("02".equals(a_yrMnt[1])) {
instrVEAStngVO.setM02Ea(instrVEAStngVO.getWorkWeekCnt());
instrVEAStngVO.setM02Tm(Integer.toString(i_rate_day*Integer.parseInt(instrVEAStngVO.getWorkWeekCnt())));
instrVEAStngVO.setM02RegisterId(loginVO.getUniqId());
vEAStngService.insert_VEAIIMT(instrVEAStngVO);
}else if ("03".equals(a_yrMnt[1])) {
instrVEAStngVO.setM03Ea(instrVEAStngVO.getWorkWeekCnt());
instrVEAStngVO.setM03Tm(Integer.toString(i_rate_day*Integer.parseInt(instrVEAStngVO.getWorkWeekCnt())));
instrVEAStngVO.setM03RegisterId(loginVO.getUniqId());
vEAStngService.insert_VEAIIMT(instrVEAStngVO);
}else if ("04".equals(a_yrMnt[1])) {
instrVEAStngVO.setM04Ea(instrVEAStngVO.getWorkWeekCnt());
instrVEAStngVO.setM04Tm(Integer.toString(i_rate_day*Integer.parseInt(instrVEAStngVO.getWorkWeekCnt())));
instrVEAStngVO.setM04RegisterId(loginVO.getUniqId());
vEAStngService.insert_VEAIIMT(instrVEAStngVO);
}else if ("05".equals(a_yrMnt[1])) {
instrVEAStngVO.setM05Ea(instrVEAStngVO.getWorkWeekCnt());
instrVEAStngVO.setM05Tm(Integer.toString(i_rate_day*Integer.parseInt(instrVEAStngVO.getWorkWeekCnt())));
instrVEAStngVO.setM05RegisterId(loginVO.getUniqId());
vEAStngService.insert_VEAIIMT(instrVEAStngVO);
}else if ("06".equals(a_yrMnt[1])) {
instrVEAStngVO.setM06Ea(instrVEAStngVO.getWorkWeekCnt());
instrVEAStngVO.setM06Tm(Integer.toString(i_rate_day*Integer.parseInt(instrVEAStngVO.getWorkWeekCnt())));
instrVEAStngVO.setM06RegisterId(loginVO.getUniqId());
vEAStngService.insert_VEAIIMT(instrVEAStngVO);
}else if ("07".equals(a_yrMnt[1])) {
instrVEAStngVO.setM07Ea(instrVEAStngVO.getWorkWeekCnt());
instrVEAStngVO.setM07Tm(Integer.toString(i_rate_day*Integer.parseInt(instrVEAStngVO.getWorkWeekCnt())));
instrVEAStngVO.setM07RegisterId(loginVO.getUniqId());
vEAStngService.insert_VEAIIMT(instrVEAStngVO);
}else if ("08".equals(a_yrMnt[1])) {
instrVEAStngVO.setM08Ea(instrVEAStngVO.getWorkWeekCnt());
instrVEAStngVO.setM08Tm(Integer.toString(i_rate_day*Integer.parseInt(instrVEAStngVO.getWorkWeekCnt())));
instrVEAStngVO.setM08RegisterId(loginVO.getUniqId());
vEAStngService.insert_VEAIIMT(instrVEAStngVO);
}else if ("09".equals(a_yrMnt[1])) {
instrVEAStngVO.setM09Ea(instrVEAStngVO.getWorkWeekCnt());
instrVEAStngVO.setM09Tm(Integer.toString(i_rate_day*Integer.parseInt(instrVEAStngVO.getWorkWeekCnt())));
instrVEAStngVO.setM09RegisterId(loginVO.getUniqId());
vEAStngService.insert_VEAIIMT(instrVEAStngVO);
}else if ("10".equals(a_yrMnt[1])) {
instrVEAStngVO.setM10Ea(instrVEAStngVO.getWorkWeekCnt());
instrVEAStngVO.setM10Tm(Integer.toString(i_rate_day*Integer.parseInt(instrVEAStngVO.getWorkWeekCnt())));
instrVEAStngVO.setM10RegisterId(loginVO.getUniqId());
vEAStngService.insert_VEAIIMT(instrVEAStngVO);
}else if ("11".equals(a_yrMnt[1])) {
instrVEAStngVO.setM11Ea(instrVEAStngVO.getWorkWeekCnt());
instrVEAStngVO.setM11Tm(Integer.toString(i_rate_day*Integer.parseInt(instrVEAStngVO.getWorkWeekCnt())));
instrVEAStngVO.setM11RegisterId(loginVO.getUniqId());
vEAStngService.insert_VEAIIMT(instrVEAStngVO);
}else if ("12".equals(a_yrMnt[1])) {
instrVEAStngVO.setM12Ea(instrVEAStngVO.getWorkWeekCnt());
instrVEAStngVO.setM12Tm(Integer.toString(i_rate_day*Integer.parseInt(instrVEAStngVO.getWorkWeekCnt())));
instrVEAStngVO.setM12RegisterId(loginVO.getUniqId());
vEAStngService.insert_VEAIIMT(instrVEAStngVO);
}
}
}
modelAndView.addObject("result", "success"); modelAndView.addObject("result", "success");
@ -607,6 +739,7 @@ public class NewEduCnfrmMngTngrController {
//step5.일별 총합 차시 계산#2 //step5.일별 총합 차시 계산#2
String s_yrMnt = request.getParameter("yrMnt"); String s_yrMnt = request.getParameter("yrMnt");
String[] a_yrMnt= s_yrMnt.split("[.]");
//step3.1일당 비율 계산 //step3.1일당 비율 계산
//강사 월별 시수 계산 가져오기 //강사 월별 시수 계산 가져오기
@ -617,6 +750,11 @@ public class NewEduCnfrmMngTngrController {
int i_ret = vEAStngService.delete_VEAIMT(vEAStngVO); int i_ret = vEAStngService.delete_VEAIMT(vEAStngVO);
vEAStngVO.setYr(a_yrMnt[0]);
vEAStngVO.setSetQuery(" SET m"+a_yrMnt[1]+"_ea=null , m"+a_yrMnt[1]+"_tm=null , m"+a_yrMnt[1]+"_regist_pnttm=null , m"+a_yrMnt[1]+"_register_id=null ");
i_ret = vEAStngService.delete_VEAIIMT_query(vEAStngVO);
modelAndView.addObject("result", "success"); modelAndView.addObject("result", "success");

View File

@ -697,6 +697,14 @@ public class EduRsltMngTngrController {
vEAsgnmNotiService.insertAsgnmNotiInfo(vEAsgnmNotiVO); vEAsgnmNotiService.insertAsgnmNotiInfo(vEAsgnmNotiVO);
//서류 요청 목록
VEEduAplctVO veEduDocReqVO = new VEEduAplctVO();
veEduDocReqVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd());
List<VEEduAplctVO> vEEduDocReqList = vEEduAplctService.selectDocReqList(veEduDocReqVO);
//복호화
vEEduDocReqList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduDocReqList);
model.addAttribute("docReqList", vEEduDocReqList);
}catch(Exception ex) { }catch(Exception ex) {
ex.printStackTrace(); ex.printStackTrace();
} }

View File

@ -95,7 +95,8 @@ public class ScholMngTngrController {
//2.1 학교명 검색 //2.1 학교명 검색
if(StringUtil.isNotEmpty(scholInfoVO.getSearchKeyword())){ if(StringUtil.isNotEmpty(scholInfoVO.getSearchKeyword())){
selectCondition += "AND a.SCHOL_NM LIKE CONCAT ('%', '" +scholInfoVO.getSearchKeyword() + "', '%')"; //selectCondition += "AND a.SCHOL_NM LIKE CONCAT ('%', '" +scholInfoVO.getSearchKeyword() + "', '%')";
selectCondition += "AND a.SCHOL_NM LIKE '%'|| '" +scholInfoVO.getSearchKeyword() + "'|| '%'";
} }
//2.2 학교종류 //2.2 학교종류
if(StringUtil.isNotEmpty(scholInfoVO.getScholDivCd())){ if(StringUtil.isNotEmpty(scholInfoVO.getScholDivCd())){

View File

@ -1,32 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:egov-crypto="http://www.egovframe.go.kr/schema/egov-crypto" xmlns:egov-crypto="http://www.egovframe.go.kr/schema/egov-crypto"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.egovframe.go.kr/schema/egov-crypto http://www.egovframe.go.kr/schema/egov-crypto/egov-crypto-3.8.xsd"> http://www.egovframe.go.kr/schema/egov-crypto http://www.egovframe.go.kr/schema/egov-crypto/egov-crypto-3.8.xsd">
<!-- <!--
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:egov-crypto="http://maven.egovframe.go.kr/schema/egov-crypto" xmlns:egov-crypto="http://maven.egovframe.go.kr/schema/egov-crypto"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://maven.egovframe.go.kr/schema/egov-crypto http://maven.egovframe.go.kr/schema/egov-crypto/egov-crypto-3.10.0.xsd"> http://maven.egovframe.go.kr/schema/egov-crypto http://maven.egovframe.go.kr/schema/egov-crypto/egov-crypto-3.10.0.xsd">
--> -->
<!-- <!--
initial : globals.properties 연계 Url, UserName, Password 값 로드 여부(설정값 : true, false) initial : globals.properties 연계 Url, UserName, Password 값 로드 여부(설정값 : true, false)
crypto : 계정 암호화 여부(설정값 : true, false) crypto : 계정 암호화 여부(설정값 : true, false)
algorithm : 계정 암호화 알고리즘 algorithm : 계정 암호화 알고리즘
algorithmKey : 계정 암호화키 키 algorithmKey : 계정 암호화키 키
cryptoBlockSize : 계정 암호화키 블록사이즈 cryptoBlockSize : 계정 암호화키 블록사이즈
cryptoPropertyLocation : 설정파일 암복호화 경로 (선택) 기본값은 'classpath:/egovframework/egovProps/globals.properties' cryptoPropertyLocation : 설정파일 암복호화 경로 (선택) 기본값은 'classpath:/egovframework/egovProps/globals.properties'
--> -->
<egov-crypto:config id="egovCryptoConfig" <egov-crypto:config id="egovCryptoConfig"
initial="false" initial="false"
crypto="false" crypto="false"
algorithm="SHA-256" algorithm="SHA-256"
algorithmKey="egovframe" algorithmKey="egovframe"
algorithmKeyHash="gdyYs/IZqY86VcWhT8emCYfqY1ahw2vtLG+/FzNqtrQ=" algorithmKeyHash="gdyYs/IZqY86VcWhT8emCYfqY1ahw2vtLG+/FzNqtrQ="
cryptoBlockSize="1024" cryptoBlockSize="1024"
cryptoPropertyLocation="classpath:/egovframework/egovProps/globals.properties" cryptoPropertyLocation="classpath:/egovframework/egovProps/globals.properties"
/> />
</beans> </beans>

View File

@ -2967,5 +2967,19 @@
<property name="cipers" value="10" /><!-- 일련번호(순번) 전체 길이(prefix길이 미포함) --> <property name="cipers" value="10" /><!-- 일련번호(순번) 전체 길이(prefix길이 미포함) -->
<property name="fillChar" value="0" /> <property name="fillChar" value="0" />
</bean> </bean>
<!-- 23.강사이력관리순번 vea_instr_hstry_mng -->
<bean name="instrHstryOrdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy">
<property name="dataSource" ref="dataSource" />
<property name="strategy" ref="instrHstryOrdStrategy" /><!-- strategy 값 수정 -->
<property name="blockSize" value="10"/>
<property name="table" value="IDS"/>
<property name="tableName" value="INSTRHSTRY_ORD"/><!-- tableName 값 수정 -->
</bean>
<!-- 서류요청순번 ID Generation Strategy Config -->
<bean name="instrHstryOrdStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"><!-- bean name 값에 strategy 값 입력 -->
<property name="prefix" value="instrHstry_" /><!-- prefix 값 수정 -->
<property name="cipers" value="9" /><!-- 일련번호(순번) 전체 길이(prefix길이 미포함) -->
<property name="fillChar" value="0" />
</bean>
</beans> </beans>

View File

@ -1,27 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-3.0.xsd" http://www.springframework.org/schema/util/spring-util-3.0.xsd"
xmlns:util="http://www.springframework.org/schema/util" > xmlns:util="http://www.springframework.org/schema/util" >
<!-- 프로퍼티 정보 설정 --> <!-- 프로퍼티 정보 설정 -->
<bean name="propertiesService" class="egovframework.rte.fdl.property.impl.EgovPropertyServiceImpl" destroy-method="destroy"> <bean name="propertiesService" class="egovframework.rte.fdl.property.impl.EgovPropertyServiceImpl" destroy-method="destroy">
<property name="properties"> <property name="properties">
<map> <map>
<entry key="pageUnit" value="10"/> <entry key="pageUnit" value="10"/>
<entry key="pageSize" value="10"/> <entry key="pageSize" value="10"/>
<entry key="posblAtchFileSize" value="5242880"/> <entry key="posblAtchFileSize" value="5242880"/>
<entry key="posblResveThumbAtchFileNum" value="1"/> <entry key="posblResveThumbAtchFileNum" value="1"/>
<entry key="posblResveImgAtchFileNum" value="3"/> <entry key="posblResveImgAtchFileNum" value="3"/>
<entry key="posblResvePortpolioAtchFileNum" value="3"/> <entry key="posblResvePortpolioAtchFileNum" value="3"/>
<!-- <entry key="Globals.fileStorePath" value="/user/file/sht/"/> <!-- <entry key="Globals.fileStorePath" value="/user/file/sht/"/>
<entry key="Globals.addedOptions" value="false"/> --> <entry key="Globals.addedOptions" value="false"/> -->
<entry key="Globals.fileStorePath" value="/app/doc/offedu/sht/"/> <entry key="Globals.fileStorePath" value="/app/doc/offedu/sht/"/>
<entry key="Globals.resveFileStorePath" value="/app/doc/offedu/resve/"/> <entry key="Globals.resveFileStorePath" value="/app/doc/offedu/resve/"/>
<entry key="Globals.addedOptions" value="false"/> <entry key="Globals.addedOptions" value="false"/>
</map> </map>
</property> </property>
</bean> </bean>
<util:properties id="globalSettings" location="classpath:/egovframework/egovProps/globals.properties" /> <util:properties id="globalSettings" location="classpath:/egovframework/egovProps/globals.properties" />
</beans> </beans>

View File

@ -127,8 +127,12 @@
<sqlMap resource="egovframework/sqlmap/ve/tngr/VEAInstrAsgnmCndtn_SQL_Tibero.xml"/> <!-- 강사배정조건 --> <sqlMap resource="egovframework/sqlmap/ve/tngr/VEAInstrAsgnmCndtn_SQL_Tibero.xml"/> <!-- 강사배정조건 -->
<sqlMap resource="egovframework/sqlmap/ve/tngr/VEAInstrRsdncRatio_SQL_Tibero.xml"/> <!-- 강사주거지별비율 --> <sqlMap resource="egovframework/sqlmap/ve/tngr/VEAInstrRsdncRatio_SQL_Tibero.xml"/> <!-- 강사주거지별비율 -->
<sqlMap resource="egovframework/sqlmap/ve/tngr/VEAInstrMntTm_SQL_Tibero.xml"/> <!-- 강사월별시수 --> <sqlMap resource="egovframework/sqlmap/ve/tngr/VEAInstrMntTm_SQL_Tibero.xml"/> <!-- 강사월별시수 -->
<sqlMap resource="egovframework/sqlmap/ve/tngr/VEAInstrIndvdMntTm_SQL_Tibero.xml"/> <!-- 강사별월별시수 -->
<sqlMap resource="egovframework/sqlmap/ve/tngr/VEAInstrHstryMng_SQL_Tibero.xml"/> <!-- 강사이력관리 -->
<sqlMap resource="egovframework/sqlmap/ve/tngr/VEAAsgnmStngMix_SQL_Tibero.xml"/> <!-- 강사배정(MIX) --> <sqlMap resource="egovframework/sqlmap/ve/tngr/VEAAsgnmStngMix_SQL_Tibero.xml"/> <!-- 강사배정(MIX) -->
<sqlMap resource="egovframework/sqlmap/ve/tngr/VEACmpltCrtfcMix_SQL_Tibero.xml"/> <!-- 이수증(MIX) --> <sqlMap resource="egovframework/sqlmap/ve/tngr/VEACmpltCrtfcMix_SQL_Tibero.xml"/> <!-- 이수증(MIX) -->
<sqlMap resource="egovframework/sqlmap/ve/tngr/VEABasicInfoStng_SQL_Tibero.xml"/> <!-- 기본정보 -->
</sqlMapConfig> </sqlMapConfig>

View File

@ -1,236 +1,236 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"> <!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="File"> <sqlMap namespace="File">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/> <typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="FileVO" type="kcc.com.cmm.service.FileVO"/> <typeAlias alias="FileVO" type="kcc.com.cmm.service.FileVO"/>
<resultMap id="fileList" class="kcc.com.cmm.service.FileVO"> <resultMap id="fileList" class="kcc.com.cmm.service.FileVO">
<result property="atchFileId" column="ATCH_FILE_ID" columnIndex="1"/> <result property="atchFileId" column="ATCH_FILE_ID" columnIndex="1"/>
<result property="fileCn" column="FILE_CN" columnIndex="2"/> <result property="fileCn" column="FILE_CN" columnIndex="2"/>
<result property="fileExtsn" column="FILE_EXTSN" columnIndex="3"/> <result property="fileExtsn" column="FILE_EXTSN" columnIndex="3"/>
<result property="fileMg" column="FILE_SIZE" columnIndex="4"/> <result property="fileMg" column="FILE_SIZE" columnIndex="4"/>
<result property="fileSn" column="FILE_SN" columnIndex="5"/> <result property="fileSn" column="FILE_SN" columnIndex="5"/>
<result property="fileStreCours" column="FILE_STRE_COURS" columnIndex="6"/> <result property="fileStreCours" column="FILE_STRE_COURS" columnIndex="6"/>
<result property="orignlFileNm" column="ORIGNL_FILE_NM" columnIndex="7"/> <result property="orignlFileNm" column="ORIGNL_FILE_NM" columnIndex="7"/>
<result property="streFileNm" column="STRE_FILE_NM" columnIndex="8"/> <result property="streFileNm" column="STRE_FILE_NM" columnIndex="8"/>
<result property="creatDt" column="CREAT_DT" columnIndex="9"/> <result property="creatDt" column="CREAT_DT" columnIndex="9"/>
<result property="fileSize" column="FILE_SIZE" columnIndex="10"/> <result property="fileSize" column="FILE_SIZE" columnIndex="10"/>
</resultMap> </resultMap>
<resultMap id="fileDetail" class="kcc.com.cmm.service.FileVO"> <resultMap id="fileDetail" class="kcc.com.cmm.service.FileVO">
<result property="atchFileId" column="ATCH_FILE_ID" columnIndex="1"/> <result property="atchFileId" column="ATCH_FILE_ID" columnIndex="1"/>
<result property="fileCn" column="FILE_CN" columnIndex="2"/> <result property="fileCn" column="FILE_CN" columnIndex="2"/>
<result property="fileExtsn" column="FILE_EXTSN" columnIndex="3"/> <result property="fileExtsn" column="FILE_EXTSN" columnIndex="3"/>
<result property="fileMg" column="FILE_SIZE" columnIndex="4"/> <result property="fileMg" column="FILE_SIZE" columnIndex="4"/>
<result property="fileSn" column="FILE_SN" columnIndex="5"/> <result property="fileSn" column="FILE_SN" columnIndex="5"/>
<result property="fileStreCours" column="FILE_STRE_COURS" columnIndex="6"/> <result property="fileStreCours" column="FILE_STRE_COURS" columnIndex="6"/>
<result property="orignlFileNm" column="ORIGNL_FILE_NM" columnIndex="7"/> <result property="orignlFileNm" column="ORIGNL_FILE_NM" columnIndex="7"/>
<result property="streFileNm" column="STRE_FILE_NM" columnIndex="8"/> <result property="streFileNm" column="STRE_FILE_NM" columnIndex="8"/>
<result property="thumbFileNm" column="THUMB_FILE_NM" /> <result property="thumbFileNm" column="THUMB_FILE_NM" />
<result property="fileSize" column="FILE_SIZE" columnIndex="10"/> <result property="fileSize" column="FILE_SIZE" columnIndex="10"/>
</resultMap> </resultMap>
<select id="FileManageDAO.selectFileList" parameterClass="FileVO" resultMap="fileList" > <select id="FileManageDAO.selectFileList" parameterClass="FileVO" resultMap="fileList" >
<![CDATA[ <![CDATA[
SELECT SELECT
a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM, a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM,
b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, DATE_FORMAT(a.CREAT_DT, '%Y-%m-%d %h:%m:%s' ) AS CREAT_DT b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, DATE_FORMAT(a.CREAT_DT, '%Y-%m-%d %h:%m:%s' ) AS CREAT_DT
FROM FROM
LETTNFILE a, LETTNFILEDETAIL b LETTNFILE a, LETTNFILEDETAIL b
WHERE 1=1 WHERE 1=1
AND AND
a.ATCH_FILE_ID = b.ATCH_FILE_ID a.ATCH_FILE_ID = b.ATCH_FILE_ID
AND AND
a.ATCH_FILE_ID = #atchFileId# a.ATCH_FILE_ID = #atchFileId#
AND AND
a.USE_AT = 'Y' a.USE_AT = 'Y'
ORDER BY b.FILE_SN ORDER BY b.FILE_SN
]]> ]]>
</select> </select>
<select id="FileManageDAO.selectZipFileList" parameterClass="FileVO" resultMap="fileList" > <select id="FileManageDAO.selectZipFileList" parameterClass="FileVO" resultMap="fileList" >
SELECT SELECT
a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM, a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM,
b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, DATE_FORMAT(a.CREAT_DT, '%Y-%m-%d %h:%m:%s' ) AS CREAT_DT b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, DATE_FORMAT(a.CREAT_DT, '%Y-%m-%d %h:%m:%s' ) AS CREAT_DT
FROM FROM
LETTNFILE a, LETTNFILEDETAIL b LETTNFILE a, LETTNFILEDETAIL b
WHERE WHERE
a.ATCH_FILE_ID = b.ATCH_FILE_ID a.ATCH_FILE_ID = b.ATCH_FILE_ID
AND AND
a.USE_AT = 'Y' a.USE_AT = 'Y'
<isEqual property="downloadType" compareValue="A"> <isEqual property="downloadType" compareValue="A">
AND a.ATCH_FILE_ID IN AND a.ATCH_FILE_ID IN
<iterate property="atchFileIdList" open="(" close=")" conjunction=","> <iterate property="atchFileIdList" open="(" close=")" conjunction=",">
#atchFileIdList[]# #atchFileIdList[]#
</iterate> </iterate>
<isNotEmpty property="fileSn"> <isNotEmpty property="fileSn">
AND b.FILE_SN = #fileSn# AND b.FILE_SN = #fileSn#
</isNotEmpty> </isNotEmpty>
</isEqual> </isEqual>
<isEqual property="downloadType" compareValue="B"> <isEqual property="downloadType" compareValue="B">
AND a.ATCH_FILE_ID = #atchFileId# AND a.ATCH_FILE_ID = #atchFileId#
AND b.FILE_SN IN AND b.FILE_SN IN
<iterate property="atchFileSnList" open="(" close=")" conjunction=","> <iterate property="atchFileSnList" open="(" close=")" conjunction=",">
#atchFileSnList[]# #atchFileSnList[]#
</iterate> </iterate>
</isEqual> </isEqual>
ORDER BY b.FILE_SN ORDER BY b.FILE_SN
</select> </select>
<insert id="FileManageDAO.insertFileMaster" parameterClass="FileVO" > <insert id="FileManageDAO.insertFileMaster" parameterClass="FileVO" >
<![CDATA[ <![CDATA[
INSERT INTO LETTNFILE INSERT INTO LETTNFILE
(ATCH_FILE_ID, CREAT_DT, USE_AT) (ATCH_FILE_ID, CREAT_DT, USE_AT)
VALUES VALUES
( #atchFileId#, NOW(), 'Y') ( #atchFileId#, NOW(), 'Y')
]]> ]]>
</insert> </insert>
<insert id="FileManageDAO.insertFileDetail" parameterClass="FileVO" > <insert id="FileManageDAO.insertFileDetail" parameterClass="FileVO" >
<![CDATA[ <![CDATA[
INSERT INTO LETTNFILEDETAIL INSERT INTO LETTNFILEDETAIL
( ATCH_FILE_ID, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM, ( ATCH_FILE_ID, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM,
ORIGNL_FILE_NM, FILE_EXTSN, FILE_SIZE, FILE_CN, THUMB_FILE_NM ) ORIGNL_FILE_NM, FILE_EXTSN, FILE_SIZE, FILE_CN, THUMB_FILE_NM )
VALUES VALUES
( #atchFileId#, #fileSn#, #fileStreCours#, #streFileNm#, ( #atchFileId#, #fileSn#, #fileStreCours#, #streFileNm#,
#orignlFileNm#, #fileExtsn#, #fileMg#, #fileCn#, #thumbFileNm# ) #orignlFileNm#, #fileExtsn#, #fileMg#, #fileCn#, #thumbFileNm# )
]]> ]]>
</insert> </insert>
<delete id="FileManageDAO.deleteFileDetail" parameterClass="FileVO" > <delete id="FileManageDAO.deleteFileDetail" parameterClass="FileVO" >
<![CDATA[ <![CDATA[
DELETE FROM LETTNFILEDETAIL DELETE FROM LETTNFILEDETAIL
WHERE WHERE
ATCH_FILE_ID = #atchFileId# ATCH_FILE_ID = #atchFileId#
AND AND
FILE_SN = #fileSn# FILE_SN = #fileSn#
]]> ]]>
</delete> </delete>
<select id="FileManageDAO.getMaxFileSN" parameterClass="FileVO" resultClass="java.lang.Integer"> <select id="FileManageDAO.getMaxFileSN" parameterClass="FileVO" resultClass="java.lang.Integer">
<![CDATA[ <![CDATA[
SELECT IFNULL(MAX(FILE_SN),0)+1 AS FILE_SN SELECT IFNULL(MAX(FILE_SN),0)+1 AS FILE_SN
FROM LETTNFILEDETAIL FROM LETTNFILEDETAIL
WHERE ATCH_FILE_ID = #atchFileId# WHERE ATCH_FILE_ID = #atchFileId#
]]> ]]>
</select> </select>
<select id="FileManageDAO.selectFileInf" parameterClass="FileVO" resultMap="fileDetail" > <select id="FileManageDAO.selectFileInf" parameterClass="FileVO" resultMap="fileDetail" >
<![CDATA[ <![CDATA[
SELECT SELECT
ATCH_FILE_ID, FILE_CN, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM, ATCH_FILE_ID, FILE_CN, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM,
FILE_EXTSN, ORIGNL_FILE_NM, FILE_SIZE, THUMB_FILE_NM FILE_EXTSN, ORIGNL_FILE_NM, FILE_SIZE, THUMB_FILE_NM
FROM FROM
LETTNFILEDETAIL LETTNFILEDETAIL
WHERE WHERE
ATCH_FILE_ID = #atchFileId# ATCH_FILE_ID = #atchFileId#
AND AND
FILE_SN = #fileSn# FILE_SN = #fileSn#
]]> ]]>
</select> </select>
<update id="FileManageDAO.deleteCOMTNFILE" parameterClass="FileVO" > <update id="FileManageDAO.deleteCOMTNFILE" parameterClass="FileVO" >
<![CDATA[ <![CDATA[
UPDATE LETTNFILE UPDATE LETTNFILE
SET USE_AT = 'N' SET USE_AT = 'N'
WHERE ATCH_FILE_ID = #atchFileId# WHERE ATCH_FILE_ID = #atchFileId#
]]> ]]>
</update> </update>
<select id="FileManageDAO.selectFileListByFileNm" parameterClass="FileVO" resultMap="fileList" > <select id="FileManageDAO.selectFileListByFileNm" parameterClass="FileVO" resultMap="fileList" >
<![CDATA[ <![CDATA[
SELECT SELECT
a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM, a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM,
b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, DATE_FORMAT(a.CREAT_DT, '%Y-%m-%d %h:%m:%s' ) AS CREAT_DT b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, DATE_FORMAT(a.CREAT_DT, '%Y-%m-%d %h:%m:%s' ) AS CREAT_DT
FROM FROM
LETTNFILE a, LETTNFILEDETAIL b LETTNFILE a, LETTNFILEDETAIL b
WHERE WHERE
a.ATCH_FILE_ID = b.ATCH_FILE_ID a.ATCH_FILE_ID = b.ATCH_FILE_ID
AND AND
a.USE_AT = 'Y' a.USE_AT = 'Y'
]]> ]]>
<isEqual prepend="AND" property="searchCnd" compareValue="streFileNm"> <isEqual prepend="AND" property="searchCnd" compareValue="streFileNm">
<![CDATA[ b.STRE_FILE_NM LIKE CONCAT ('%', #searchWrd#,'%') ]]> <![CDATA[ b.STRE_FILE_NM LIKE CONCAT ('%', #searchWrd#,'%') ]]>
</isEqual> </isEqual>
<isEqual prepend="AND" property="searchCnd" compareValue="orignlFileNm"> <isEqual prepend="AND" property="searchCnd" compareValue="orignlFileNm">
<![CDATA[ b.ORIGNL_FILE_NM LIKE CONCAT ('%', #searchWrd#,'%') ]]> <![CDATA[ b.ORIGNL_FILE_NM LIKE CONCAT ('%', #searchWrd#,'%') ]]>
</isEqual> </isEqual>
<![CDATA[ <![CDATA[
ORDER BY a.ATCH_FILE_ID, b.FILE_SN ORDER BY a.ATCH_FILE_ID, b.FILE_SN
LIMIT #recordCountPerPage# OFFSET #firstIndex# LIMIT #recordCountPerPage# OFFSET #firstIndex#
]]> ]]>
</select> </select>
<select id="FileManageDAO.selectFileListCntByFileNm" parameterClass="FileVO" resultClass="java.lang.Integer" > <select id="FileManageDAO.selectFileListCntByFileNm" parameterClass="FileVO" resultClass="java.lang.Integer" >
<![CDATA[ <![CDATA[
SELECT SELECT
COUNT(a.ATCH_FILE_ID) COUNT(a.ATCH_FILE_ID)
FROM FROM
LETTNFILE a, LETTNFILEDETAIL b LETTNFILE a, LETTNFILEDETAIL b
WHERE WHERE
a.ATCH_FILE_ID = b.ATCH_FILE_ID a.ATCH_FILE_ID = b.ATCH_FILE_ID
AND AND
a.USE_AT = 'Y' a.USE_AT = 'Y'
]]> ]]>
<isEqual prepend="AND" property="searchCnd" compareValue="streFileNm"> <isEqual prepend="AND" property="searchCnd" compareValue="streFileNm">
<![CDATA[ b.STRE_FILE_NM LIKE CONCAT ('%', #searchWrd#,'%') ]]> <![CDATA[ b.STRE_FILE_NM LIKE CONCAT ('%', #searchWrd#,'%') ]]>
</isEqual> </isEqual>
<isEqual prepend="AND" property="searchCnd" compareValue="orignlFileNm"> <isEqual prepend="AND" property="searchCnd" compareValue="orignlFileNm">
<![CDATA[ b.ORIGNL_FILE_NM LIKE CONCAT ('%', #searchWrd#,'%') ]]> <![CDATA[ b.ORIGNL_FILE_NM LIKE CONCAT ('%', #searchWrd#,'%') ]]>
</isEqual> </isEqual>
</select> </select>
<select id="FileManageDAO.selectImageFileList" parameterClass="FileVO" resultMap="fileList" > <select id="FileManageDAO.selectImageFileList" parameterClass="FileVO" resultMap="fileList" >
<![CDATA[ <![CDATA[
SELECT SELECT
a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM, a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM,
b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, a.CREAT_DT b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, a.CREAT_DT
FROM FROM
LETTNFILE a, LETTNFILEDETAIL b LETTNFILE a, LETTNFILEDETAIL b
WHERE WHERE
a.ATCH_FILE_ID = #atchFileId# a.ATCH_FILE_ID = #atchFileId#
AND AND
a.ATCH_FILE_ID = b.ATCH_FILE_ID a.ATCH_FILE_ID = b.ATCH_FILE_ID
AND AND
UPPER(b.FILE_EXTSN) IN ('GIF','JPG','BMP','PNG') UPPER(b.FILE_EXTSN) IN ('GIF','JPG','BMP','PNG')
AND AND
a.USE_AT = 'Y' a.USE_AT = 'Y'
ORDER BY b.FILE_SN ORDER BY b.FILE_SN
]]> ]]>
</select> </select>
<update id="FileManageDAO.updateFileInfo" parameterClass="FileVO" > <update id="FileManageDAO.updateFileInfo" parameterClass="FileVO" >
<![CDATA[ <![CDATA[
INSERT INTO LETTNFILEDETAIL INSERT INTO LETTNFILEDETAIL
( ATCH_FILE_ID, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM, ( ATCH_FILE_ID, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM,
ORIGNL_FILE_NM, FILE_EXTSN, FILE_SIZE, FILE_CN ) ORIGNL_FILE_NM, FILE_EXTSN, FILE_SIZE, FILE_CN )
VALUES VALUES
( #atchFileId#, #fileSn#, #fileStreCours#, #streFileNm#, ( #atchFileId#, #fileSn#, #fileStreCours#, #streFileNm#,
#orignlFileNm#, #fileExtsn#, #fileMg#, #fileCn# ) #orignlFileNm#, #fileExtsn#, #fileMg#, #fileCn# )
ON DUPLICATE KEY UPDATE ATCH_FILE_ID = #atchFileId#, ON DUPLICATE KEY UPDATE ATCH_FILE_ID = #atchFileId#,
FILE_STRE_COURS = #fileStreCours#, FILE_STRE_COURS = #fileStreCours#,
STRE_FILE_NM = #streFileNm#, STRE_FILE_NM = #streFileNm#,
ORIGNL_FILE_NM = #orignlFileNm#, ORIGNL_FILE_NM = #orignlFileNm#,
FILE_EXTSN = #fileExtsn#, FILE_EXTSN = #fileExtsn#,
FILE_SIZE = #fileMg#, FILE_SIZE = #fileMg#,
FILE_CN = #fileCn# FILE_CN = #fileCn#
]]> ]]>
</update> </update>
<update id="FileManageDAO.updateFileName" parameterClass="FileVO" > <update id="FileManageDAO.updateFileName" parameterClass="FileVO" >
UPDATE UPDATE
LETTNFILEDETAIL LETTNFILEDETAIL
SET SET
ORIGNL_FILE_NM = #orignlFileNm# ORIGNL_FILE_NM = #orignlFileNm#
WHERE 1=1 WHERE 1=1
AND ATCH_FILE_ID = #atchFileId# AND ATCH_FILE_ID = #atchFileId#
AND FILE_SN = #fileSn# AND FILE_SN = #fileSn#
</update> </update>
</sqlMap> </sqlMap>

View File

@ -67,7 +67,7 @@
, #authorNm# , #authorNm#
, #authorDc# , #authorDc#
, (SELECT CAST(MAX(sort_num)+1 AS VARCHAR(2)) FROM LETTNAUTHORINFO) , (SELECT CAST(MAX(sort_num)+1 AS VARCHAR(2)) FROM LETTNAUTHORINFO)
, DATE_FORMAT(NOW(), '%Y-%m-%d')) , TO_CHAR(SYSDATE, 'YYYY-MM-DD'))
]]> ]]>
</insert> </insert>

View File

@ -68,9 +68,11 @@
</select> </select>
<select id="CmmnDetailCodeManageDAO.selectCmmnDetailCodeDetail" parameterClass="CmmnDetailCode" resultClass="CmmnDetailCode"> <select id="CmmnDetailCodeManageDAO.selectCmmnDetailCodeDetail" parameterClass="CmmnDetailCode" resultClass="CmmnDetailCode">
/* CmmnDetailCodeManageDAO.selectCmmnDetailCodeDetail */
<![CDATA[ <![CDATA[
SELECT A.CODE_ID codeId SELECT A.CODE_ID codeId
, B.CODE_ID_NM codeIdNm , B.CODE_ID_NM codeIdNm
, A.SORT sort
, A.CODE code , A.CODE code
, A.CODE_NM codeNm , A.CODE_NM codeNm
, A.CODE_DC codeDc , A.CODE_DC codeDc
@ -177,6 +179,7 @@
</select> </select>
<update id="CmmnDetailCodeManageDAO.updateCmmnDetailCodePk" parameterClass="CmmnDetailCode"> <update id="CmmnDetailCodeManageDAO.updateCmmnDetailCodePk" parameterClass="CmmnDetailCode">
/* CmmnDetailCodeManageDAO.updateCmmnDetailCodePk */
UPDATE LETTCCMMNDETAILCODE UPDATE LETTCCMMNDETAILCODE
SET CODE_NM = #codeNm# SET CODE_NM = #codeNm#
<isNotEmpty property="codeDc"> <isNotEmpty property="codeDc">
@ -185,6 +188,9 @@
<isNotEmpty property="useAt"> <isNotEmpty property="useAt">
, USE_AT = #useAt# , USE_AT = #useAt#
</isNotEmpty> </isNotEmpty>
<isNotEmpty property="sort">
, SORT = #sort#
</isNotEmpty>
, LAST_UPDT_PNTTM = SYSDATE , LAST_UPDT_PNTTM = SYSDATE
, LAST_UPDUSR_ID = #lastUpdusrId# , LAST_UPDUSR_ID = #lastUpdusrId#
, CODE = #code# , CODE = #code#

View File

@ -1,402 +1,401 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"> <!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="LoginUsr"> <sqlMap namespace="LoginUsr">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/> <typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="loginVO" type="kcc.com.cmm.LoginVO"/> <typeAlias alias="loginVO" type="kcc.com.cmm.LoginVO"/>
<!-- 로그인 처리를 위한 resultMap --> <!-- 로그인 처리를 위한 resultMap -->
<resultMap id="login" class="kcc.com.cmm.LoginVO"> <resultMap id="login" class="kcc.com.cmm.LoginVO">
<result property="id" column="id" columnIndex="1"/> <result property="id" column="id" columnIndex="1"/>
<result property="name" column="name" columnIndex="2"/> <result property="name" column="name" columnIndex="2"/>
<result property="ihidNum" column="ihidNum" columnIndex="3"/> <result property="ihidNum" column="ihidNum" columnIndex="3"/>
<result property="email" column="email" columnIndex="4"/> <result property="email" column="email" columnIndex="4"/>
<result property="password" column="password" columnIndex="5"/> <result property="password" column="password" columnIndex="5"/>
<result property="userSe" column="userSe" columnIndex="6"/> <result property="userSe" column="userSe" columnIndex="6"/>
<result property="orgnztId" column="orgnztId" columnIndex="7"/> <result property="orgnztId" column="orgnztId" columnIndex="7"/>
<result property="uniqId" column="uniqId" columnIndex="8"/> <result property="uniqId" column="uniqId" columnIndex="8"/>
<result property="passMiss" column="passMiss" columnIndex="9"/> <result property="passMiss" column="passMiss" columnIndex="9"/>
<result property="emplyrSttusCode" column="emplyrSttusCode" columnIndex="10"/> <result property="emplyrSttusCode" column="emplyrSttusCode" columnIndex="10"/>
<result property="membCelnum" column="membCelnum" columnIndex="11"/> <result property="membCelnum" column="membCelnum" columnIndex="11"/>
<result property="membBirth" column="membBirth" columnIndex="12"/> <result property="membBirth" column="membBirth" columnIndex="12"/>
</resultMap> </resultMap>
<!-- SSO용 ESNTL_ID를 이용한 로그인처리 (210818 이준호) GNR -> 일반회원, USR -> 업무담당자 --> <!-- SSO용 ESNTL_ID를 이용한 로그인처리 (210818 이준호) GNR -> 일반회원, USR -> 업무담당자 -->
<select id="loginDAO.actionLogin" resultMap="login"> <select id="loginDAO.actionLogin" resultMap="login">
<!-- 일반회원 --> <!-- 일반회원 -->
<isNotNull property="userSe"> <isNotNull property="userSe">
<isEqual property="userSe" compareValue="GNR"> <isEqual property="userSe" compareValue="GNR">
SELECT mber_id AS id SELECT mber_id AS id
, mber_nm AS name , mber_nm AS name
, password AS password , password AS password
, ihidNum AS ihidNum , ihidNum AS ihidNum
, mber_email_adres AS email , mber_email_adres AS email
, 'GNR' AS userSe , 'GNR' AS userSe
, '-' AS orgnztId , '-' AS orgnztId
, ESNTL_ID AS uniqId , ESNTL_ID AS uniqId
, 0 AS passMiss , 0 AS passMiss
, mber_sttus AS emplyrSttusCode , mber_sttus AS emplyrSttusCode
, mbtlnum AS membCelnum , mbtlnum AS membCelnum
, birth_day AS membBirth , birth_day AS membBirth
FROM lettngnrlmber a
FROM lettngnrlmber a WHERE mber_id = #id#
WHERE mber_id = #id# AND PASSWORD = #password#
AND PASSWORD = #password# <isEmpty property="statusAll">
<isEmpty property="statusAll"> AND emplyr_sttus_code = 'P'
AND emplyr_sttus_code = 'P' </isEmpty>
</isEmpty> </isEqual>
</isEqual> <!-- 업무사용자 -->
<!-- 업무사용자 --> <isEqual property="userSe" compareValue="USR">
<isEqual property="userSe" compareValue="USR"> SELECT EMPLYR_ID AS id
SELECT EMPLYR_ID AS id , USER_NM AS name
, USER_NM AS name , PASSWORD AS password
, PASSWORD AS password , IHIDNUM AS ihidNum
, IHIDNUM AS ihidNum , EMAIL_ADRES AS email
, EMAIL_ADRES AS email , 'USR' AS userSe
, 'USR' AS userSe , ORGNZT_ID AS orgnztId
, ORGNZT_ID AS orgnztId , ESNTL_ID AS uniqId
, ESNTL_ID AS uniqId , PASS_MISS AS passMiss
, PASS_MISS AS passMiss , EMPLYR_STTUS_CODE AS emplyrSttusCode
, EMPLYR_STTUS_CODE AS emplyrSttusCode , mbtlnum AS membCelnum
, mbtlnum AS membCelnum , '' AS membBirth
, '' AS membBirth FROM LETTNEMPLYRINFO a
FROM LETTNEMPLYRINFO a WHERE EMPLYR_ID = #id#
WHERE EMPLYR_ID = #id# AND PASSWORD = #password#
AND PASSWORD = #password# <isEmpty property="statusAll">
<isEmpty property="statusAll"> AND emplyr_sttus_code = 'P'
AND emplyr_sttus_code = 'P' </isEmpty>
</isEmpty> </isEqual>
</isEqual> </isNotNull>
</isNotNull> </select>
</select>
<!-- 개발자 아이디 선택용 -->
<!-- 개발자 아이디 선택용 --> <select id="loginDAO.actionLoginDev" resultMap="login">
<select id="loginDAO.actionLoginDev" resultMap="login"> <!-- 일반회원 -->
<!-- 일반회원 --> <isNotNull property="userSe">
<isNotNull property="userSe"> <isEqual property="userSe" compareValue="GNR">
<isEqual property="userSe" compareValue="GNR"> SELECT mber_id AS id
SELECT mber_id AS id , mber_nm AS name
, mber_nm AS name , password AS password
, password AS password , ihidNum AS ihidNum
, ihidNum AS ihidNum , mber_email_adres AS email
, mber_email_adres AS email , 'GNR' AS userSe
, 'GNR' AS userSe , '-' AS orgnztId
, '-' AS orgnztId , ESNTL_ID AS uniqId
, ESNTL_ID AS uniqId , 0 AS passMiss
, 0 AS passMiss , mber_sttus AS emplyrSttusCode
, mber_sttus AS emplyrSttusCode , mbtlnum AS membCelnum
, mbtlnum AS membCelnum , birth_day AS membBirth
, birth_day AS membBirth
FROM lettngnrlmber a
FROM lettngnrlmber a WHERE mber_seq = #id#
WHERE mber_seq = #id# <isEmpty property="statusAll">
<isEmpty property="statusAll"> AND emplyr_sttus_code = 'P'
AND emplyr_sttus_code = 'P' </isEmpty>
</isEmpty> </isEqual>
</isEqual> <!-- 업무사용자 -->
<!-- 업무사용자 --> <isEqual property="userSe" compareValue="USR">
<isEqual property="userSe" compareValue="USR"> SELECT EMPLYR_ID AS id
SELECT EMPLYR_ID AS id , USER_NM AS name
, USER_NM AS name , PASSWORD AS password
, PASSWORD AS password , IHIDNUM AS ihidNum
, IHIDNUM AS ihidNum , EMAIL_ADRES AS email
, EMAIL_ADRES AS email , 'USR' AS userSe
, 'USR' AS userSe , ORGNZT_ID AS orgnztId
, ORGNZT_ID AS orgnztId , ESNTL_ID AS uniqId
, ESNTL_ID AS uniqId , PASS_MISS AS passMiss
, PASS_MISS AS passMiss , EMPLYR_STTUS_CODE AS emplyrSttusCode
, EMPLYR_STTUS_CODE AS emplyrSttusCode , mbtlnum AS membCelnum
, mbtlnum AS membCelnum , '' AS membBirth
, '' AS membBirth FROM LETTNEMPLYRINFO a
FROM LETTNEMPLYRINFO a WHERE EMPLYR_ID = #id#
WHERE EMPLYR_ID = #id# <isEmpty property="statusAll">
<isEmpty property="statusAll"> AND emplyr_sttus_code = 'P'
AND emplyr_sttus_code = 'P' </isEmpty>
</isEmpty> </isEqual>
</isEqual> </isNotNull>
</isNotNull> </select>
</select>
<!-- 일반 로그인 -->
<!-- 일반 로그인 --> <!-- <select id="loginDAO.actionLogin" resultMap="login">
<!-- <select id="loginDAO.actionLogin" resultMap="login"> <isEqual property="userSe" compareValue="USR">
<isEqual property="userSe" compareValue="USR"> <![CDATA[
<![CDATA[ SELECT EMPLYR_ID AS id
SELECT EMPLYR_ID AS id , USER_NM AS name
, USER_NM AS name , PASSWORD AS password
, PASSWORD AS password , IHIDNUM AS ihidNum
, IHIDNUM AS ihidNum , EMAIL_ADRES AS email
, EMAIL_ADRES AS email , 'USR' AS userSe
, 'USR' AS userSe , ORGNZT_ID AS orgnztId
, ORGNZT_ID AS orgnztId , ESNTL_ID AS uniqId
, ESNTL_ID AS uniqId , PASS_MISS AS passMiss
, PASS_MISS AS passMiss , EMPLYR_STTUS_CODE AS emplyrSttusCode
, EMPLYR_STTUS_CODE AS emplyrSttusCode FROM LETTNEMPLYRINFO a
FROM LETTNEMPLYRINFO a WHERE EMPLYR_ID = #id#
WHERE EMPLYR_ID = #id# AND PASSWORD = #password#
AND PASSWORD = #password# ]]>
]]> <isEmpty property="statusAll">
<isEmpty property="statusAll"> AND EMPLYR_STTUS_CODE = 'P'
AND EMPLYR_STTUS_CODE = 'P' </isEmpty>
</isEmpty> </isEqual>
</isEqual> </select> -->
</select> -->
<!-- 등록된 sns 수량 조회 -->
<!-- 등록된 sns 수량 조회 --> <select id="loginDAO.selectSnsIdCount" parameterClass="loginVO" resultClass="int" >
<select id="loginDAO.selectSnsIdCount" parameterClass="loginVO" resultClass="int" > <![CDATA[
<![CDATA[ SELECT
SELECT COUNT(*) AS snsIdCnt
COUNT(*) AS snsIdCnt FROM
FROM LETTNEMPLYRINFO
LETTNEMPLYRINFO WHERE
WHERE 1=1
1=1 ]]>
]]> <isEqual property="snsSite" compareValue="kakao">
<isEqual property="snsSite" compareValue="kakao"> <![CDATA[
<![CDATA[ AND KAKAO_ID =#snsId#
AND KAKAO_ID =#snsId# ]]>
]]> </isEqual>
</isEqual> <isEqual property="snsSite" compareValue="naver">
<isEqual property="snsSite" compareValue="naver"> <![CDATA[
<![CDATA[ AND NAVER_ID =#snsId#
AND NAVER_ID =#snsId# ]]>
]]> </isEqual>
</isEqual> </select>
</select>
<!-- 등록된 sns 수량 조회 -->
<!-- 등록된 sns 수량 조회 --> <select id="loginDAO.selectSnsId" parameterClass="loginVO" resultClass="loginVO" >
<select id="loginDAO.selectSnsId" parameterClass="loginVO" resultClass="loginVO" > <![CDATA[
<![CDATA[ SELECT
SELECT EMPLYR_ID AS id ,
EMPLYR_ID AS id , USER_NM AS name ,
USER_NM AS name , PASSWORD AS password ,
PASSWORD AS password , IHIDNUM AS ihidNum ,
IHIDNUM AS ihidNum , EMAIL_ADRES AS email
EMAIL_ADRES AS email FROM
FROM LETTNEMPLYRINFO
LETTNEMPLYRINFO WHERE
WHERE 1=1
1=1 ]]>
]]> <isEqual property="snsSite" compareValue="kakao">
<isEqual property="snsSite" compareValue="kakao"> <![CDATA[
<![CDATA[ AND KAKAO_EMAIL = #snsEmail#
AND KAKAO_EMAIL = #snsEmail# ]]>
]]> </isEqual>
</isEqual> <isEqual property="snsSite" compareValue="naver">
<isEqual property="snsSite" compareValue="naver"> <![CDATA[
<![CDATA[ AND NAVER_EMAIL = #snsEmail#
AND NAVER_EMAIL = #snsEmail# ]]>
]]> </isEqual>
</isEqual> </select>
</select>
<update id="loginDAO.updateSnsLink" parameterClass="loginVO">
<update id="loginDAO.updateSnsLink" parameterClass="loginVO"> UPDATE
UPDATE LETTNEMPLYRINFO
LETTNEMPLYRINFO SET
SET <isEqual property="snsSite" compareValue="kakao">
<isEqual property="snsSite" compareValue="kakao"> KAKAO_ID = #snsId#
KAKAO_ID = #snsId# , KAKAO_EMAIL = #snsId#
, KAKAO_EMAIL = #snsId# </isEqual>
</isEqual> <isEqual property="snsSite" compareValue="kakao">
<isEqual property="snsSite" compareValue="kakao"> KAKAO_ID = #snsId#
KAKAO_ID = #snsId# , KAKAO_EMAIL = #snsId#
, KAKAO_EMAIL = #snsId# </isEqual>
</isEqual> WHERE
WHERE EMPLYR_ID = #id#
EMPLYR_ID = #id# </update>
</update>
<!-- 인증서 로그인
<!-- 인증서 로그인 <select id="loginDAO.actionCrtfctLogin" resultMap="login">
<select id="loginDAO.actionCrtfctLogin" resultMap="login"> <![CDATA[
<![CDATA[ SELECT emplyr_id AS id
SELECT emplyr_id AS id , USER_NM AS name
, USER_NM AS name , password AS password
, password AS password , ihidnum AS ihidNum
, ihidnum AS ihidNum , email_adres AS email
, email_adres AS email , 'USR' AS userSe
, 'USR' AS userSe , orgnzt_id AS orgnztId
, orgnzt_id AS orgnztId , ESNTL_ID AS uniqId
, ESNTL_ID AS uniqId FROM LETTNEMPLYRINFO
FROM LETTNEMPLYRINFO WHERE sub_dn = #dn#
WHERE sub_dn = #dn# ]]>
]]> </select>
</select> -->
--> <!-- 아이디 찾기
<!-- 아이디 찾기 <select id="loginDAO.searchId" resultMap="id">
<select id="loginDAO.searchId" resultMap="id"> <isEqual property="userSe" compareValue="GNR">
<isEqual property="userSe" compareValue="GNR"> <![CDATA[
<![CDATA[ SELECT mber_id AS id
SELECT mber_id AS id FROM LETTNGNRLMBER
FROM LETTNGNRLMBER WHERE mber_nm = #name#
WHERE mber_nm = #name# AND mber_email_adres = #email#
AND mber_email_adres = #email# AND mber_sttus = 'P'
AND mber_sttus = 'P' ]]>
]]> </isEqual>
</isEqual> <isEqual property="userSe" compareValue="ENT">
<isEqual property="userSe" compareValue="ENT"> <![CDATA[
<![CDATA[ SELECT entrprsmber_id AS id
SELECT entrprsmber_id AS id FROM LETTNENTRPRSMBER
FROM LETTNENTRPRSMBER WHERE cmpny_nm = #name#
WHERE cmpny_nm = #name# AND applcnt_email_adres = #email#
AND applcnt_email_adres = #email# AND entrprs_mber_sttus = 'P'
AND entrprs_mber_sttus = 'P' ]]>
]]> </isEqual>
</isEqual> <isEqual property="userSe" compareValue="USR">
<isEqual property="userSe" compareValue="USR"> <![CDATA[
<![CDATA[ SELECT emplyr_id AS id
SELECT emplyr_id AS id FROM LETTNEMPLYRINFO
FROM LETTNEMPLYRINFO WHERE USER_NM = #name#
WHERE USER_NM = #name# AND email_adres = #email#
AND email_adres = #email# AND emplyr_sttus_code = 'P'
AND emplyr_sttus_code = 'P' ]]>
]]> </isEqual>
</isEqual> </select>
</select> -->
--> <!-- 비밀번호 찾기
<!-- 비밀번호 찾기 <select id="loginDAO.searchPassword" resultMap="password">
<select id="loginDAO.searchPassword" resultMap="password"> <isEqual property="userSe" compareValue="GNR">
<isEqual property="userSe" compareValue="GNR"> <![CDATA[
<![CDATA[ SELECT password AS password
SELECT password AS password FROM LETTNGNRLMBER
FROM LETTNGNRLMBER WHERE mber_id = #id#
WHERE mber_id = #id# AND mber_nm = #name#
AND mber_nm = #name# AND mber_email_adres = #email#
AND mber_email_adres = #email# AND password_hint = #passwordHint#
AND password_hint = #passwordHint# AND password_cnsr = #passwordCnsr#
AND password_cnsr = #passwordCnsr# AND mber_sttus = 'P'
AND mber_sttus = 'P' ]]>
]]> </isEqual>
</isEqual> <isEqual property="userSe" compareValue="ENT">
<isEqual property="userSe" compareValue="ENT"> <![CDATA[
<![CDATA[ SELECT entrprs_mber_password AS password
SELECT entrprs_mber_password AS password FROM LETTNENTRPRSMBER
FROM LETTNENTRPRSMBER WHERE entrprsmber_id = #id#
WHERE entrprsmber_id = #id# AND cmpny_nm = #name#
AND cmpny_nm = #name# AND applcnt_email_adres = #email#
AND applcnt_email_adres = #email# AND entrprs_mber_password_hint = #passwordHint#
AND entrprs_mber_password_hint = #passwordHint# AND entrprs_mber_password_cnsr = #passwordCnsr#
AND entrprs_mber_password_cnsr = #passwordCnsr# AND entrprs_mber_sttus = 'P'
AND entrprs_mber_sttus = 'P' ]]>
]]> </isEqual>
</isEqual> <isEqual property="userSe" compareValue="USR">
<isEqual property="userSe" compareValue="USR"> <![CDATA[
<![CDATA[ SELECT password AS password
SELECT password AS password FROM LETTNEMPLYRINFO
FROM LETTNEMPLYRINFO WHERE emplyr_id = #id#
WHERE emplyr_id = #id# AND USER_NM = #name#
AND USER_NM = #name# AND email_adres = #email#
AND email_adres = #email# AND password_hint = #passwordHint#
AND password_hint = #passwordHint# AND password_cnsr = #passwordCnsr#
AND password_cnsr = #passwordCnsr# AND emplyr_sttus_code = 'P'
AND emplyr_sttus_code = 'P' ]]>
]]> </isEqual>
</isEqual> </select>
</select> -->
--> <!-- 변경된 비밀번호를 저장
<!-- 변경된 비밀번호를 저장 <update id="loginDAO.updatePassword">
<update id="loginDAO.updatePassword"> <isEqual property="userSe" compareValue="GNR">
<isEqual property="userSe" compareValue="GNR"> <![CDATA[
<![CDATA[ UPDATE LETTNGNRLMBER
UPDATE LETTNGNRLMBER SET password = #password#
SET password = #password# WHERE mber_id = #id#
WHERE mber_id = #id# ]]>
]]> </isEqual>
</isEqual> <isEqual property="userSe" compareValue="ENT">
<isEqual property="userSe" compareValue="ENT"> <![CDATA[
<![CDATA[ UPDATE LETTNENTRPRSMBER
UPDATE LETTNENTRPRSMBER SET entrprs_mber_password = #password#
SET entrprs_mber_password = #password# WHERE entrprsmber_id = #id#
WHERE entrprsmber_id = #id# ]]>
]]> </isEqual>
</isEqual> <isEqual property="userSe" compareValue="USR">
<isEqual property="userSe" compareValue="USR"> <![CDATA[
<![CDATA[ UPDATE LETTNEMPLYRINFO
UPDATE LETTNEMPLYRINFO SET password = #password#
SET password = #password# WHERE emplyr_id = #id#
WHERE emplyr_id = #id# ]]>
]]> </isEqual>
</isEqual> </update>
</update> -->
-->
<!-- 사용자 권한 조회 -->
<!-- 사용자 권한 조회 --> <select id="loginDAO.getUserAuth" parameterClass="loginVO" resultClass="loginVO" >
<select id="loginDAO.getUserAuth" parameterClass="loginVO" resultClass="loginVO" > <![CDATA[
<![CDATA[ SELECT A.SCRTY_DTRMN_TRGET_ID id, A.AUTHOR_CODE AUTHORITY
SELECT A.SCRTY_DTRMN_TRGET_ID id, A.AUTHOR_CODE AUTHORITY FROM LETTNEMPLYRSCRTYESTBS A, COMVNUSERMASTER B
FROM LETTNEMPLYRSCRTYESTBS A, COMVNUSERMASTER B WHERE A.SCRTY_DTRMN_TRGET_ID = B.ESNTL_ID
WHERE A.SCRTY_DTRMN_TRGET_ID = B.ESNTL_ID AND B.USER_ID = #id#
AND B.USER_ID = #id# ]]>
]]> </select>
</select>
<!-- 일반 로그인 사이트별-->
<!-- 일반 로그인 사이트별--> <select id="loginDAO.siteActionLogin" resultMap="login">
<select id="loginDAO.siteActionLogin" resultMap="login"> <isEqual property="userSe" compareValue="USR">
<isEqual property="userSe" compareValue="USR"> <![CDATA[
<![CDATA[ SELECT EMPLYR_ID AS id
SELECT EMPLYR_ID AS id , USER_NM AS name
, USER_NM AS name , PASSWORD AS password
, PASSWORD AS password , IHIDNUM AS ihidNum
, IHIDNUM AS ihidNum , EMAIL_ADRES AS email
, EMAIL_ADRES AS email , 'USR' AS userSe
, 'USR' AS userSe , ORGNZT_ID AS orgnztId
, ORGNZT_ID AS orgnztId , ESNTL_ID AS uniqId
, ESNTL_ID AS uniqId , PASS_MISS AS passMiss
, PASS_MISS AS passMiss , EMPLYR_STTUS_CODE AS emplyrSttusCode
, EMPLYR_STTUS_CODE AS emplyrSttusCode FROM LETTNEMPLYRINFO a
FROM LETTNEMPLYRINFO a WHERE EMPLYR_ID = #id#
WHERE EMPLYR_ID = #id# AND PASSWORD = #password#
AND PASSWORD = #password# AND EMPLYR_STTUS_CODE = 'P'
AND EMPLYR_STTUS_CODE = 'P' ]]>
]]> <isEmpty property="statusAll">
<isEmpty property="statusAll"> AND EMPLYR_STTUS_CODE = 'P'
AND EMPLYR_STTUS_CODE = 'P' </isEmpty>
</isEmpty> </isEqual>
</isEqual> </select>
</select>
<!-- 유저 권한 목록 조회 by USER_ID -->
<!-- 유저 권한 목록 조회 by USER_ID --> <select id="loginDAO.selectAuthorities" resultClass="EgovMap">
<select id="loginDAO.selectAuthorities" resultClass="EgovMap"> <![CDATA[
<![CDATA[ /* WITH AA AS ( */
/* WITH AA AS ( */ SELECT AUTHOR_CODE FROM LETTNEMPLYRSCRTYESTBS
SELECT AUTHOR_CODE FROM LETTNEMPLYRSCRTYESTBS WHERE SCRTY_DTRMN_TRGET_ID =
WHERE SCRTY_DTRMN_TRGET_ID = (SELECT ESNTL_ID FROM COMVNUSERMASTER WHERE USER_ID = (
(SELECT ESNTL_ID FROM COMVNUSERMASTER WHERE USER_ID = ( SELECT EMPLYR_ID FROM LETTNEMPLYRINFO WHERE EMPLYR_ID = #id# /* AND EMPLYR_CONDITION = 1 */
SELECT EMPLYR_ID FROM LETTNEMPLYRINFO WHERE EMPLYR_ID = #id# /* AND EMPLYR_CONDITION = 1 */ )
) )
) /*
/* )
) SELECT AUTHOR_CODE AS "authorCode" FROM AA
SELECT AUTHOR_CODE AS "authorCode" FROM AA UNION ALL
UNION ALL SELECT PARNTS_ROLE AS "authorCode" FROM LETTNROLES_HIERARCHY
SELECT PARNTS_ROLE AS "authorCode" FROM LETTNROLES_HIERARCHY CONNECT BY PRIOR PARNTS_ROLE = CHLDRN_ROLE
CONNECT BY PRIOR PARNTS_ROLE = CHLDRN_ROLE START WITH CHLDRN_ROLE = (SELECT AUTHOR_CODE FROM AA)
START WITH CHLDRN_ROLE = (SELECT AUTHOR_CODE FROM AA) */
*/ ]]>
]]> </select>
</select>
<update id="loginDAO.updatePassMissPlus" parameterClass="loginVO">
<update id="loginDAO.updatePassMissPlus" parameterClass="loginVO"> UPDATE LETTNEMPLYRINFO
UPDATE LETTNEMPLYRINFO SET PASS_MISS = PASS_MISS+1
SET PASS_MISS = PASS_MISS+1 WHERE EMPLYR_ID = #id#
WHERE EMPLYR_ID = #id# </update>
</update>
<update id="loginDAO.updatePassMissReset" parameterClass="loginVO">
<update id="loginDAO.updatePassMissReset" parameterClass="loginVO"> UPDATE LETTNEMPLYRINFO
UPDATE LETTNEMPLYRINFO SET PASS_MISS = 0
SET PASS_MISS = 0 WHERE EMPLYR_ID = #id#
WHERE EMPLYR_ID = #id# </update>
</update>
<update id="loginDAO.updateEmplyrSttusCode" parameterClass="loginVO">
<update id="loginDAO.updateEmplyrSttusCode" parameterClass="loginVO"> UPDATE LETTNEMPLYRINFO
UPDATE LETTNEMPLYRINFO SET EMPLYR_STTUS_CODE = #emplyrSttusCode#
SET EMPLYR_STTUS_CODE = #emplyrSttusCode# <isEqual property="emplyrSttusCode" compareValue="D"> /**삭제의 경우 삭제 일시 넣어줌 */
<isEqual property="emplyrSttusCode" compareValue="D"> /**삭제의 경우 삭제 일시 넣어줌 */ , WITHDRAW_DE = now()
, WITHDRAW_DE = now() </isEqual>
</isEqual> <isNotEqual property="emplyrSttusCode" compareValue="D"> /**삭제 아닌경우 삭제 일시 없애줌 */
<isNotEqual property="emplyrSttusCode" compareValue="D"> /**삭제 아닌경우 삭제 일시 없애줌 */ , WITHDRAW_DE = null
, WITHDRAW_DE = null </isNotEqual>
</isNotEqual> WHERE EMPLYR_ID = #id#
WHERE EMPLYR_ID = #id# </update>
</update> </sqlMap>
</sqlMap>

View File

@ -1,494 +1,501 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"> <!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="LoginUsr"> <sqlMap namespace="LoginUsr">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/> <typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="loginVO" type="kcc.com.cmm.LoginVO"/> <typeAlias alias="loginVO" type="kcc.com.cmm.LoginVO"/>
<!-- 로그인 처리를 위한 resultMap --> <!-- 로그인 처리를 위한 resultMap -->
<resultMap id="login" class="kcc.com.cmm.LoginVO"> <resultMap id="login" class="kcc.com.cmm.LoginVO">
<result property="id" column="id" columnIndex="1"/> <result property="id" column="id" columnIndex="1"/>
<result property="name" column="name" columnIndex="2"/> <result property="name" column="name" columnIndex="2"/>
<result property="ihidNum" column="ihidNum" columnIndex="3"/> <result property="ihidNum" column="ihidNum" columnIndex="3"/>
<result property="email" column="email" columnIndex="4"/> <result property="email" column="email" columnIndex="4"/>
<result property="password" column="password" columnIndex="5"/> <result property="password" column="password" columnIndex="5"/>
<result property="userSe" column="userSe" columnIndex="6"/> <result property="userSe" column="userSe" columnIndex="6"/>
<result property="orgnztId" column="orgnztId" columnIndex="7"/> <result property="orgnztId" column="orgnztId" columnIndex="7"/>
<result property="uniqId" column="uniqId" columnIndex="8"/> <result property="uniqId" column="uniqId" columnIndex="8"/>
<result property="passMiss" column="passMiss" columnIndex="9"/> <result property="passMiss" column="passMiss" columnIndex="9"/>
<result property="emplyrSttusCode" column="emplyrSttusCode" columnIndex="10"/> <result property="emplyrSttusCode" column="emplyrSttusCode" columnIndex="10"/>
<result property="membCelnum" column="membCelnum" columnIndex="11"/> <result property="membCelnum" column="membCelnum" columnIndex="11"/>
<result property="membBirth" column="membBirth" columnIndex="12"/> <result property="membBirth" column="membBirth" columnIndex="12"/>
</resultMap> <result property="userWork" column="userWork" columnIndex="13"/>
</resultMap>
<!-- SSO용 ESNTL_ID를 이용한 로그인처리 (210818 이준호) GNR -> 일반회원, USR -> 업무담당자 -->
<select id="loginDAO.actionLogin" resultMap="login"> <!-- SSO용 ESNTL_ID를 이용한 로그인처리 (210818 이준호) GNR -> 일반회원, USR -> 업무담당자 -->
<!-- 일반회원 --> <select id="loginDAO.actionLogin" resultMap="login">
<isNotNull property="userSe"> /*loginDAO.actionLogin*/
<isEqual property="userSe" compareValue="GNR"> <!-- 일반회원 -->
SELECT mber_id AS id <isNotNull property="userSe">
, mber_nm AS name <isEqual property="userSe" compareValue="GNR">
, password AS password SELECT mber_id AS id
, ihidNum AS ihidNum , mber_nm AS name
, mber_email_adres AS email , password AS password
, 'GNR' AS userSe , ihidNum AS ihidNum
, '-' AS orgnztId , mber_email_adres AS email
, ESNTL_ID AS uniqId , 'GNR' AS userSe
, 0 AS passMiss , '-' AS orgnztId
, mber_sttus AS emplyrSttusCode , ESNTL_ID AS uniqId
, mbtlnum AS membCelnum , 0 AS passMiss
, birth_day AS membBirth , mber_sttus AS emplyrSttusCode
, mbtlnum AS membCelnum
FROM lettngnrlmber a , birth_day AS membBirth
WHERE mber_id = #id# , '' AS userWork
AND PASSWORD = #password# FROM lettngnrlmber a
<isEmpty property="statusAll"> WHERE mber_id = #id#
AND emplyr_sttus_code = 'P' AND PASSWORD = #password#
</isEmpty> <isEmpty property="statusAll">
</isEqual> AND emplyr_sttus_code = 'P'
<!-- 업무사용자 --> </isEmpty>
<isEqual property="userSe" compareValue="USR"> </isEqual>
SELECT EMPLYR_ID AS id <!-- 업무사용자 -->
, USER_NM AS name <isEqual property="userSe" compareValue="USR">
, PASSWORD AS password SELECT EMPLYR_ID AS id
, IHIDNUM AS ihidNum , USER_NM AS name
, EMAIL_ADRES AS email , PASSWORD AS password
, 'USR' AS userSe , IHIDNUM AS ihidNum
, ORGNZT_ID AS orgnztId , EMAIL_ADRES AS email
, ESNTL_ID AS uniqId , 'USR' AS userSe
, PASS_MISS AS passMiss , ORGNZT_ID AS orgnztId
, EMPLYR_STTUS_CODE AS emplyrSttusCode , ESNTL_ID AS uniqId
, mbtlnum AS membCelnum , PASS_MISS AS passMiss
, '' AS membBirth , EMPLYR_STTUS_CODE AS emplyrSttusCode
FROM LETTNEMPLYRINFO a , mbtlnum AS membCelnum
WHERE EMPLYR_ID = #id# , '' AS membBirth
AND PASSWORD = #password# , user_work AS userWork
<isEmpty property="statusAll"> FROM LETTNEMPLYRINFO a
AND emplyr_sttus_code = 'P' WHERE EMPLYR_ID = #id#
</isEmpty> AND PASSWORD = #password#
</isEqual> <isEmpty property="statusAll">
</isNotNull> AND emplyr_sttus_code = 'P'
</select> </isEmpty>
</isEqual>
<!-- 개발자 아이디 선택용 --> </isNotNull>
<select id="loginDAO.actionLoginDev" resultMap="login"> </select>
<!-- 일반회원 loginDAO.actionLoginDev -->
<isNotNull property="userSe"> <!-- 개발자 아이디 선택용 -->
<isEqual property="userSe" compareValue="GNR"> <select id="loginDAO.actionLoginDev" resultMap="login">
SELECT mber_id AS id /*loginDAO.actionLoginDev*/
, mber_nm AS name <!-- 일반회원 loginDAO.actionLoginDev -->
, password AS password <isNotNull property="userSe">
, ihidNum AS ihidNum <isEqual property="userSe" compareValue="GNR">
, mber_email_adres AS email SELECT mber_id AS id
, 'GNR' AS userSe , mber_nm AS name
, '-' AS orgnztId , password AS password
, ESNTL_ID AS uniqId , ihidNum AS ihidNum
, 0 AS passMiss , mber_email_adres AS email
, mber_sttus AS emplyrSttusCode , 'GNR' AS userSe
, mbtlnum AS membCelnum , '-' AS orgnztId
, birth_day AS membBirth , ESNTL_ID AS uniqId
, 0 AS passMiss
FROM lettngnrlmber a , mber_sttus AS emplyrSttusCode
WHERE mber_seq = #id# , mbtlnum AS membCelnum
<isEmpty property="statusAll"> , birth_day AS membBirth
AND emplyr_sttus_code = 'P'
</isEmpty> FROM lettngnrlmber a
</isEqual> WHERE mber_seq = #id#
<!-- 업무사용자 --> <isEmpty property="statusAll">
<isEqual property="userSe" compareValue="USR"> AND emplyr_sttus_code = 'P'
SELECT EMPLYR_ID AS id </isEmpty>
, USER_NM AS name </isEqual>
, PASSWORD AS password <!-- 업무사용자 -->
, IHIDNUM AS ihidNum <isEqual property="userSe" compareValue="USR">
, EMAIL_ADRES AS email SELECT EMPLYR_ID AS id
, 'USR' AS userSe , USER_NM AS name
, ORGNZT_ID AS orgnztId , PASSWORD AS password
, ESNTL_ID AS uniqId , IHIDNUM AS ihidNum
, PASS_MISS AS passMiss , EMAIL_ADRES AS email
, EMPLYR_STTUS_CODE AS emplyrSttusCode , 'USR' AS userSe
, mbtlnum AS membCelnum , ORGNZT_ID AS orgnztId
, '' AS membBirth , ESNTL_ID AS uniqId
FROM LETTNEMPLYRINFO a , PASS_MISS AS passMiss
WHERE EMPLYR_ID = #id# , EMPLYR_STTUS_CODE AS emplyrSttusCode
<isEmpty property="statusAll"> , mbtlnum AS membCelnum
AND emplyr_sttus_code = 'P' , '' AS membBirth
</isEmpty> , user_work AS userWork
</isEqual> FROM LETTNEMPLYRINFO a
</isNotNull> WHERE EMPLYR_ID = #id#
</select> <isEmpty property="statusAll">
AND emplyr_sttus_code = 'P'
<!-- e배움터 연동 후 mber_seq가 아닌 mber_id로 로그인 --> </isEmpty>
<select id="loginDAO.actionLoginMberId" resultMap="login"> </isEqual>
<!-- 일반회원 loginDAO.actionLoginDev --> </isNotNull>
<isNotNull property="userSe"> </select>
<isEqual property="userSe" compareValue="GNR">
SELECT mber_id AS id <!-- e배움터 연동 후 mber_seq가 아닌 mber_id로 로그인 -->
, mber_nm AS name <select id="loginDAO.actionLoginMberId" resultMap="login">
, password AS password /*loginDAO.actionLoginMberId*/
, ihidNum AS ihidNum <!-- 일반회원 loginDAO.actionLoginDev -->
, mber_email_adres AS email <isNotNull property="userSe">
, 'GNR' AS userSe <isEqual property="userSe" compareValue="GNR">
, '-' AS orgnztId SELECT mber_id AS id
, ESNTL_ID AS uniqId , mber_nm AS name
, 0 AS passMiss , password AS password
, mber_sttus AS emplyrSttusCode , ihidNum AS ihidNum
, mbtlnum AS membCelnum , mber_email_adres AS email
, birth_day AS membBirth , 'GNR' AS userSe
, '-' AS orgnztId
FROM lettngnrlmber a , ESNTL_ID AS uniqId
WHERE mber_id = #id# , 0 AS passMiss
<isEmpty property="statusAll"> , mber_sttus AS emplyrSttusCode
AND emplyr_sttus_code = 'P' , mbtlnum AS membCelnum
</isEmpty> , birth_day AS membBirth
</isEqual> , '' AS userWork
<!-- 업무사용자 --> FROM lettngnrlmber a
<isEqual property="userSe" compareValue="USR"> WHERE mber_id = #id#
SELECT EMPLYR_ID AS id <isEmpty property="statusAll">
, USER_NM AS name AND emplyr_sttus_code = 'P'
, PASSWORD AS password </isEmpty>
, IHIDNUM AS ihidNum </isEqual>
, EMAIL_ADRES AS email <!-- 업무사용자 -->
, 'USR' AS userSe <isEqual property="userSe" compareValue="USR">
, ORGNZT_ID AS orgnztId SELECT EMPLYR_ID AS id
, ESNTL_ID AS uniqId , USER_NM AS name
, PASS_MISS AS passMiss , PASSWORD AS password
, EMPLYR_STTUS_CODE AS emplyrSttusCode , IHIDNUM AS ihidNum
, mbtlnum AS membCelnum , EMAIL_ADRES AS email
, '' AS membBirth , 'USR' AS userSe
FROM LETTNEMPLYRINFO a , ORGNZT_ID AS orgnztId
WHERE EMPLYR_ID = #id# , ESNTL_ID AS uniqId
<isEmpty property="statusAll"> , PASS_MISS AS passMiss
AND emplyr_sttus_code = 'P' , EMPLYR_STTUS_CODE AS emplyrSttusCode
</isEmpty> , mbtlnum AS membCelnum
</isEqual> , '' AS membBirth
</isNotNull> , user_work AS userWork
</select> FROM LETTNEMPLYRINFO a
WHERE EMPLYR_ID = #id#
<!-- 일반 로그인 --> <isEmpty property="statusAll">
<!-- <select id="loginDAO.actionLogin" resultMap="login"> AND emplyr_sttus_code = 'P'
<isEqual property="userSe" compareValue="USR"> </isEmpty>
<![CDATA[ </isEqual>
SELECT EMPLYR_ID AS id </isNotNull>
, USER_NM AS name </select>
, PASSWORD AS password
, IHIDNUM AS ihidNum <!-- 일반 로그인 -->
, EMAIL_ADRES AS email <!-- <select id="loginDAO.actionLogin" resultMap="login">
, 'USR' AS userSe <isEqual property="userSe" compareValue="USR">
, ORGNZT_ID AS orgnztId <![CDATA[
, ESNTL_ID AS uniqId SELECT EMPLYR_ID AS id
, PASS_MISS AS passMiss , USER_NM AS name
, EMPLYR_STTUS_CODE AS emplyrSttusCode , PASSWORD AS password
FROM LETTNEMPLYRINFO a , IHIDNUM AS ihidNum
WHERE EMPLYR_ID = #id# , EMAIL_ADRES AS email
AND PASSWORD = #password# , 'USR' AS userSe
]]> , ORGNZT_ID AS orgnztId
<isEmpty property="statusAll"> , ESNTL_ID AS uniqId
AND EMPLYR_STTUS_CODE = 'P' , PASS_MISS AS passMiss
</isEmpty> , EMPLYR_STTUS_CODE AS emplyrSttusCode
</isEqual> FROM LETTNEMPLYRINFO a
</select> --> WHERE EMPLYR_ID = #id#
AND PASSWORD = #password#
<!-- 등록된 sns 수량 조회 --> ]]>
<select id="loginDAO.selectSnsIdCount" parameterClass="loginVO" resultClass="int" > <isEmpty property="statusAll">
<![CDATA[ AND EMPLYR_STTUS_CODE = 'P'
SELECT </isEmpty>
COUNT(*) AS snsIdCnt </isEqual>
FROM </select> -->
LETTNEMPLYRINFO
WHERE <!-- 등록된 sns 수량 조회 -->
1=1 <select id="loginDAO.selectSnsIdCount" parameterClass="loginVO" resultClass="int" >
]]> <![CDATA[
<isEqual property="snsSite" compareValue="kakao"> SELECT
<![CDATA[ COUNT(*) AS snsIdCnt
AND KAKAO_ID =#snsId# FROM
]]> LETTNEMPLYRINFO
</isEqual> WHERE
<isEqual property="snsSite" compareValue="naver"> 1=1
<![CDATA[ ]]>
AND NAVER_ID =#snsId# <isEqual property="snsSite" compareValue="kakao">
]]> <![CDATA[
</isEqual> AND KAKAO_ID =#snsId#
</select> ]]>
</isEqual>
<!-- 등록된 sns 수량 조회 --> <isEqual property="snsSite" compareValue="naver">
<select id="loginDAO.selectSnsId" parameterClass="loginVO" resultClass="loginVO" > <![CDATA[
<![CDATA[ AND NAVER_ID =#snsId#
SELECT ]]>
EMPLYR_ID AS id , </isEqual>
USER_NM AS name , </select>
PASSWORD AS password ,
IHIDNUM AS ihidNum , <!-- 등록된 sns 수량 조회 -->
EMAIL_ADRES AS email <select id="loginDAO.selectSnsId" parameterClass="loginVO" resultClass="loginVO" >
FROM <![CDATA[
LETTNEMPLYRINFO SELECT
WHERE EMPLYR_ID AS id ,
1=1 USER_NM AS name ,
]]> PASSWORD AS password ,
<isEqual property="snsSite" compareValue="kakao"> IHIDNUM AS ihidNum ,
<![CDATA[ EMAIL_ADRES AS email
AND KAKAO_EMAIL = #snsEmail# FROM
]]> LETTNEMPLYRINFO
</isEqual> WHERE
<isEqual property="snsSite" compareValue="naver"> 1=1
<![CDATA[ ]]>
AND NAVER_EMAIL = #snsEmail# <isEqual property="snsSite" compareValue="kakao">
]]> <![CDATA[
</isEqual> AND KAKAO_EMAIL = #snsEmail#
</select> ]]>
</isEqual>
<update id="loginDAO.updateSnsLink" parameterClass="loginVO"> <isEqual property="snsSite" compareValue="naver">
UPDATE <![CDATA[
LETTNEMPLYRINFO AND NAVER_EMAIL = #snsEmail#
SET ]]>
<isEqual property="snsSite" compareValue="kakao"> </isEqual>
KAKAO_ID = #snsId# </select>
, KAKAO_EMAIL = #snsId#
</isEqual> <update id="loginDAO.updateSnsLink" parameterClass="loginVO">
<isEqual property="snsSite" compareValue="kakao"> UPDATE
KAKAO_ID = #snsId# LETTNEMPLYRINFO
, KAKAO_EMAIL = #snsId# SET
</isEqual> <isEqual property="snsSite" compareValue="kakao">
WHERE KAKAO_ID = #snsId#
EMPLYR_ID = #id# , KAKAO_EMAIL = #snsId#
</update> </isEqual>
<isEqual property="snsSite" compareValue="kakao">
<!-- 인증서 로그인 KAKAO_ID = #snsId#
<select id="loginDAO.actionCrtfctLogin" resultMap="login"> , KAKAO_EMAIL = #snsId#
<![CDATA[ </isEqual>
SELECT emplyr_id AS id WHERE
, USER_NM AS name EMPLYR_ID = #id#
, password AS password </update>
, ihidnum AS ihidNum
, email_adres AS email <!-- 인증서 로그인
, 'USR' AS userSe <select id="loginDAO.actionCrtfctLogin" resultMap="login">
, orgnzt_id AS orgnztId <![CDATA[
, ESNTL_ID AS uniqId SELECT emplyr_id AS id
FROM LETTNEMPLYRINFO , USER_NM AS name
WHERE sub_dn = #dn# , password AS password
]]> , ihidnum AS ihidNum
</select> , email_adres AS email
--> , 'USR' AS userSe
<!-- 아이디 찾기 , orgnzt_id AS orgnztId
<select id="loginDAO.searchId" resultMap="id"> , ESNTL_ID AS uniqId
<isEqual property="userSe" compareValue="GNR"> FROM LETTNEMPLYRINFO
<![CDATA[ WHERE sub_dn = #dn#
SELECT mber_id AS id ]]>
FROM LETTNGNRLMBER </select>
WHERE mber_nm = #name# -->
AND mber_email_adres = #email# <!-- 아이디 찾기
AND mber_sttus = 'P' <select id="loginDAO.searchId" resultMap="id">
]]> <isEqual property="userSe" compareValue="GNR">
</isEqual> <![CDATA[
<isEqual property="userSe" compareValue="ENT"> SELECT mber_id AS id
<![CDATA[ FROM LETTNGNRLMBER
SELECT entrprsmber_id AS id WHERE mber_nm = #name#
FROM LETTNENTRPRSMBER AND mber_email_adres = #email#
WHERE cmpny_nm = #name# AND mber_sttus = 'P'
AND applcnt_email_adres = #email# ]]>
AND entrprs_mber_sttus = 'P' </isEqual>
]]> <isEqual property="userSe" compareValue="ENT">
</isEqual> <![CDATA[
<isEqual property="userSe" compareValue="USR"> SELECT entrprsmber_id AS id
<![CDATA[ FROM LETTNENTRPRSMBER
SELECT emplyr_id AS id WHERE cmpny_nm = #name#
FROM LETTNEMPLYRINFO AND applcnt_email_adres = #email#
WHERE USER_NM = #name# AND entrprs_mber_sttus = 'P'
AND email_adres = #email# ]]>
AND emplyr_sttus_code = 'P' </isEqual>
]]> <isEqual property="userSe" compareValue="USR">
</isEqual> <![CDATA[
</select> SELECT emplyr_id AS id
--> FROM LETTNEMPLYRINFO
<!-- 비밀번호 찾기 WHERE USER_NM = #name#
<select id="loginDAO.searchPassword" resultMap="password"> AND email_adres = #email#
<isEqual property="userSe" compareValue="GNR"> AND emplyr_sttus_code = 'P'
<![CDATA[ ]]>
SELECT password AS password </isEqual>
FROM LETTNGNRLMBER </select>
WHERE mber_id = #id# -->
AND mber_nm = #name# <!-- 비밀번호 찾기
AND mber_email_adres = #email# <select id="loginDAO.searchPassword" resultMap="password">
AND password_hint = #passwordHint# <isEqual property="userSe" compareValue="GNR">
AND password_cnsr = #passwordCnsr# <![CDATA[
AND mber_sttus = 'P' SELECT password AS password
]]> FROM LETTNGNRLMBER
</isEqual> WHERE mber_id = #id#
<isEqual property="userSe" compareValue="ENT"> AND mber_nm = #name#
<![CDATA[ AND mber_email_adres = #email#
SELECT entrprs_mber_password AS password AND password_hint = #passwordHint#
FROM LETTNENTRPRSMBER AND password_cnsr = #passwordCnsr#
WHERE entrprsmber_id = #id# AND mber_sttus = 'P'
AND cmpny_nm = #name# ]]>
AND applcnt_email_adres = #email# </isEqual>
AND entrprs_mber_password_hint = #passwordHint# <isEqual property="userSe" compareValue="ENT">
AND entrprs_mber_password_cnsr = #passwordCnsr# <![CDATA[
AND entrprs_mber_sttus = 'P' SELECT entrprs_mber_password AS password
]]> FROM LETTNENTRPRSMBER
</isEqual> WHERE entrprsmber_id = #id#
<isEqual property="userSe" compareValue="USR"> AND cmpny_nm = #name#
<![CDATA[ AND applcnt_email_adres = #email#
SELECT password AS password AND entrprs_mber_password_hint = #passwordHint#
FROM LETTNEMPLYRINFO AND entrprs_mber_password_cnsr = #passwordCnsr#
WHERE emplyr_id = #id# AND entrprs_mber_sttus = 'P'
AND USER_NM = #name# ]]>
AND email_adres = #email# </isEqual>
AND password_hint = #passwordHint# <isEqual property="userSe" compareValue="USR">
AND password_cnsr = #passwordCnsr# <![CDATA[
AND emplyr_sttus_code = 'P' SELECT password AS password
]]> FROM LETTNEMPLYRINFO
</isEqual> WHERE emplyr_id = #id#
</select> AND USER_NM = #name#
--> AND email_adres = #email#
<!-- 변경된 비밀번호를 저장 AND password_hint = #passwordHint#
<update id="loginDAO.updatePassword"> AND password_cnsr = #passwordCnsr#
<isEqual property="userSe" compareValue="GNR"> AND emplyr_sttus_code = 'P'
<![CDATA[ ]]>
UPDATE LETTNGNRLMBER </isEqual>
SET password = #password# </select>
WHERE mber_id = #id# -->
]]> <!-- 변경된 비밀번호를 저장
</isEqual> <update id="loginDAO.updatePassword">
<isEqual property="userSe" compareValue="ENT"> <isEqual property="userSe" compareValue="GNR">
<![CDATA[ <![CDATA[
UPDATE LETTNENTRPRSMBER UPDATE LETTNGNRLMBER
SET entrprs_mber_password = #password# SET password = #password#
WHERE entrprsmber_id = #id# WHERE mber_id = #id#
]]> ]]>
</isEqual> </isEqual>
<isEqual property="userSe" compareValue="USR"> <isEqual property="userSe" compareValue="ENT">
<![CDATA[ <![CDATA[
UPDATE LETTNEMPLYRINFO UPDATE LETTNENTRPRSMBER
SET password = #password# SET entrprs_mber_password = #password#
WHERE emplyr_id = #id# WHERE entrprsmber_id = #id#
]]> ]]>
</isEqual> </isEqual>
</update> <isEqual property="userSe" compareValue="USR">
--> <![CDATA[
UPDATE LETTNEMPLYRINFO
<!-- 사용자 권한 조회 --> SET password = #password#
<select id="loginDAO.getUserAuth" parameterClass="loginVO" resultClass="loginVO" > WHERE emplyr_id = #id#
<![CDATA[ ]]>
SELECT A.SCRTY_DTRMN_TRGET_ID id, A.AUTHOR_CODE AUTHORITY </isEqual>
FROM LETTNEMPLYRSCRTYESTBS A, COMVNUSERMASTER B </update>
WHERE A.SCRTY_DTRMN_TRGET_ID = B.ESNTL_ID -->
AND B.USER_ID = #id#
]]> <!-- 사용자 권한 조회 -->
</select> <select id="loginDAO.getUserAuth" parameterClass="loginVO" resultClass="loginVO" >
<![CDATA[
<!-- 일반 로그인 사이트별--> SELECT A.SCRTY_DTRMN_TRGET_ID id, A.AUTHOR_CODE AUTHORITY
<select id="loginDAO.siteActionLogin" resultMap="login"> FROM LETTNEMPLYRSCRTYESTBS A, COMVNUSERMASTER B
<isEqual property="userSe" compareValue="USR"> WHERE A.SCRTY_DTRMN_TRGET_ID = B.ESNTL_ID
<![CDATA[ AND B.USER_ID = #id#
SELECT EMPLYR_ID AS id ]]>
, USER_NM AS name </select>
, PASSWORD AS password
, IHIDNUM AS ihidNum <!-- 일반 로그인 사이트별-->
, EMAIL_ADRES AS email <select id="loginDAO.siteActionLogin" resultMap="login">
, 'USR' AS userSe <isEqual property="userSe" compareValue="USR">
, ORGNZT_ID AS orgnztId <![CDATA[
, ESNTL_ID AS uniqId SELECT EMPLYR_ID AS id
, PASS_MISS AS passMiss , USER_NM AS name
, EMPLYR_STTUS_CODE AS emplyrSttusCode , PASSWORD AS password
FROM LETTNEMPLYRINFO a , IHIDNUM AS ihidNum
WHERE EMPLYR_ID = #id# , EMAIL_ADRES AS email
AND PASSWORD = #password# , 'USR' AS userSe
AND EMPLYR_STTUS_CODE = 'P' , ORGNZT_ID AS orgnztId
]]> , ESNTL_ID AS uniqId
<isEmpty property="statusAll"> , PASS_MISS AS passMiss
AND EMPLYR_STTUS_CODE = 'P' , EMPLYR_STTUS_CODE AS emplyrSttusCode
</isEmpty> FROM LETTNEMPLYRINFO a
</isEqual> WHERE EMPLYR_ID = #id#
</select> AND PASSWORD = #password#
AND EMPLYR_STTUS_CODE = 'P'
<!-- 유저 권한 목록 조회 by USER_ID --> ]]>
<select id="loginDAO.selectAuthorities" resultClass="EgovMap"> <isEmpty property="statusAll">
/* loginDAO.selectAuthorities */ AND EMPLYR_STTUS_CODE = 'P'
<![CDATA[ </isEmpty>
/* WITH AA AS ( */ </isEqual>
SELECT AUTHOR_CODE FROM LETTNEMPLYRSCRTYESTBS </select>
WHERE SCRTY_DTRMN_TRGET_ID =
(SELECT ESNTL_ID FROM COMVNUSERMASTER WHERE USER_ID = ( <!-- 유저 권한 목록 조회 by USER_ID -->
SELECT EMPLYR_ID FROM LETTNEMPLYRINFO WHERE EMPLYR_ID = #id# /* AND EMPLYR_CONDITION = 1 */ <select id="loginDAO.selectAuthorities" resultClass="EgovMap">
) /* loginDAO.selectAuthorities */
) <![CDATA[
/* /* WITH AA AS ( */
) SELECT AUTHOR_CODE FROM LETTNEMPLYRSCRTYESTBS
SELECT AUTHOR_CODE AS "authorCode" FROM AA WHERE SCRTY_DTRMN_TRGET_ID =
UNION ALL (SELECT ESNTL_ID FROM COMVNUSERMASTER WHERE USER_ID = (
SELECT PARNTS_ROLE AS "authorCode" FROM LETTNROLES_HIERARCHY SELECT EMPLYR_ID FROM LETTNEMPLYRINFO WHERE EMPLYR_ID = #id# /* AND EMPLYR_CONDITION = 1 */
CONNECT BY PRIOR PARNTS_ROLE = CHLDRN_ROLE )
START WITH CHLDRN_ROLE = (SELECT AUTHOR_CODE FROM AA) )
*/ /*
]]> )
</select> SELECT AUTHOR_CODE AS "authorCode" FROM AA
UNION ALL
<update id="loginDAO.updatePassMissPlus" parameterClass="loginVO"> SELECT PARNTS_ROLE AS "authorCode" FROM LETTNROLES_HIERARCHY
UPDATE LETTNEMPLYRINFO CONNECT BY PRIOR PARNTS_ROLE = CHLDRN_ROLE
SET PASS_MISS = PASS_MISS+1 START WITH CHLDRN_ROLE = (SELECT AUTHOR_CODE FROM AA)
WHERE EMPLYR_ID = #id# */
</update> ]]>
</select>
<update id="loginDAO.updatePassMissReset" parameterClass="loginVO">
UPDATE LETTNEMPLYRINFO <update id="loginDAO.updatePassMissPlus" parameterClass="loginVO">
SET PASS_MISS = 0 UPDATE LETTNEMPLYRINFO
WHERE EMPLYR_ID = #id# SET PASS_MISS = PASS_MISS+1
</update> WHERE EMPLYR_ID = #id#
</update>
<update id="loginDAO.updateEmplyrSttusCode" parameterClass="loginVO">
UPDATE LETTNEMPLYRINFO <update id="loginDAO.updatePassMissReset" parameterClass="loginVO">
SET EMPLYR_STTUS_CODE = #emplyrSttusCode# UPDATE LETTNEMPLYRINFO
<isEqual property="emplyrSttusCode" compareValue="D"> /**삭제의 경우 삭제 일시 넣어줌 */ SET PASS_MISS = 0
, WITHDRAW_DE = now() WHERE EMPLYR_ID = #id#
</isEqual> </update>
<isNotEqual property="emplyrSttusCode" compareValue="D"> /**삭제 아닌경우 삭제 일시 없애줌 */
, WITHDRAW_DE = null <update id="loginDAO.updateEmplyrSttusCode" parameterClass="loginVO">
</isNotEqual> UPDATE LETTNEMPLYRINFO
WHERE EMPLYR_ID = #id# SET EMPLYR_STTUS_CODE = #emplyrSttusCode#
</update> <isEqual property="emplyrSttusCode" compareValue="D"> /**삭제의 경우 삭제 일시 넣어줌 */
<select id="loginDAO.APIActionLogin" resultMap="login"> , WITHDRAW_DE = now()
/* 임시.*NOT_SQL_LOG.* loginDAO.APIActionLogin */ </isEqual>
SELECT mber_id AS id <isNotEqual property="emplyrSttusCode" compareValue="D"> /**삭제 아닌경우 삭제 일시 없애줌 */
, mber_nm AS name , WITHDRAW_DE = null
, password AS password </isNotEqual>
, ihidNum AS ihidNum WHERE EMPLYR_ID = #id#
, mber_email_adres AS email </update>
, 'GNR' AS userSe <select id="loginDAO.APIActionLogin" resultMap="login">
, '-' AS orgnztId /* 임시.*NOT_SQL_LOG.* loginDAO.APIActionLogin */
, ESNTL_ID AS uniqId SELECT mber_id AS id
, 0 AS passMiss , mber_nm AS name
, mber_sttus AS emplyrSttusCode , password AS password
, mbtlnum AS membCelnum , ihidNum AS ihidNum
, birth_day AS membBirth , mber_email_adres AS email
, 'GNR' AS userSe
FROM lettngnrlmber a , '-' AS orgnztId
WHERE mber_id = #id# , ESNTL_ID AS uniqId
AND PASSWORD = #password# , 0 AS passMiss
<isEmpty property="statusAll"> , mber_sttus AS emplyrSttusCode
AND mber_sttus = 'P' , mbtlnum AS membCelnum
</isEmpty> , birth_day AS membBirth
</select>
<select id="loginDAO.selectOffeduMberChk" resultClass="loginVO"> FROM lettngnrlmber a
/* 임시.*NOT_SQL_LOG.* loginDAO.selectOffeduMberChk */ WHERE mber_id = #id#
SELECT mber_id AS user_id AND PASSWORD = #password#
, mber_seq AS key <isEmpty property="statusAll">
FROM lettngnrlmber a AND mber_sttus = 'P'
WHERE mber_id = #user_id# </isEmpty>
AND mber_seq = #key# </select>
</select> <select id="loginDAO.selectOffeduMberChk" resultClass="loginVO">
/* 임시.*NOT_SQL_LOG.* loginDAO.selectOffeduMberChk */
<update id="loginDAO.updateMberSeqKeyAjax" parameterClass="loginVO"> SELECT mber_id AS user_id
/* 임시.*NOT_SQL_LOG.* loginDAO.updateMberSeqKeyAjax*/ , mber_seq AS key
UPDATE LETTNGNRLMBER FROM lettngnrlmber a
SET mber_seq = #mberSeq# WHERE mber_id = #user_id#
WHERE mber_id = #id# AND mber_seq = #key#
</update> </select>
<update id="loginDAO.updateMberSeqKeyNull" parameterClass="loginVO"> <update id="loginDAO.updateMberSeqKeyAjax" parameterClass="loginVO">
/* 임시.*NOT_SQL_LOG.* loginDAO.updateMberSeqKeyNull*/ /* 임시.*NOT_SQL_LOG.* loginDAO.updateMberSeqKeyAjax*/
UPDATE LETTNGNRLMBER UPDATE LETTNGNRLMBER
SET mber_seq = '' SET mber_seq = #mberSeq#
WHERE mber_id = #user_id# WHERE mber_id = #id#
</update> </update>
</sqlMap>
<update id="loginDAO.updateMberSeqKeyNull" parameterClass="loginVO">
/* 임시.*NOT_SQL_LOG.* loginDAO.updateMberSeqKeyNull*/
UPDATE LETTNGNRLMBER
SET mber_seq = ''
WHERE mber_id = #user_id#
</update>
</sqlMap>

View File

@ -35,6 +35,7 @@
, req_nmbr , req_nmbr
, prsctr_nm , prsctr_nm
, req_state_cd , req_state_cd
, atch_file_id
</sql> </sql>
<!-- 조회용 공통 컬럼 명 --> <!-- 조회용 공통 컬럼 명 -->
@ -62,6 +63,7 @@
, a.req_nmbr AS reqNmbr , a.req_nmbr AS reqNmbr
, a.prsctr_nm AS prsctrNm , a.prsctr_nm AS prsctrNm
, a.req_state_cd AS reqStateCd , a.req_state_cd AS reqStateCd
, a.atch_file_id AS atchFileId
</sql> </sql>
@ -93,6 +95,7 @@
, #reqNmbr# , #reqNmbr#
, #prsctrNm# , #prsctrNm#
, #reqStateCd# , #reqStateCd#
, #atchFileId#
) )
</insert> </insert>
@ -131,11 +134,21 @@
, sex = #sex# , sex = #sex#
, req_nmbr = #reqNmbr# , req_nmbr = #reqNmbr#
, prsctr_nm = #prsctrNm# , prsctr_nm = #prsctrNm#
, req_state_cd = #reqStateCd# , req_state_cd = #reqStateCd#
, atch_file_id = #atchFileId#
WHERE WHERE
sspn_idtmt_trgt_ord = #sspnIdtmtTrgtOrd# sspn_idtmt_trgt_ord = #sspnIdtmtTrgtOrd#
</update> </update>
<select id="cndtnTrgtInfoMngDAO.findCntreqNmber" resultClass="int" parameterClass="String">
SELECT
count(*)
FROM
vea_sspn_idmt_trgt
WHERE
req_nmbr LIKE #reqNmbrTemp# ;
</select>
<!-- 대상자 조회 후 대상자에 로그인 ID update --> <!-- 대상자 조회 후 대상자에 로그인 ID update -->
<update id="cndtnTrgtInfoMngDAO.updateUserId" parameterClass="CndtnPrcsInfoMngVO"> <update id="cndtnTrgtInfoMngDAO.updateUserId" parameterClass="CndtnPrcsInfoMngVO">
/* cndtnTrgtInfoMngDAO.updateSspnIdtmtTrgtOrd */ /* cndtnTrgtInfoMngDAO.updateSspnIdtmtTrgtOrd */
@ -164,6 +177,11 @@
AND a.EDU_STATE_CD = #eduStateCd# AND a.EDU_STATE_CD = #eduStateCd#
</isNotEmpty> </isNotEmpty>
/* 관할청 담당자를 위한 조건 */
<isNotEmpty property="searchCondition">
AND a.CMPTNT_ATHRT = #searchCondition#
</isNotEmpty>
/* 수료자 중복 리스트를 위한 조건문 */ /* 수료자 중복 리스트를 위한 조건문 */
<isNotEmpty property="trgtNm"> <isNotEmpty property="trgtNm">
AND a.TRGT_NM = #trgtNm# AND a.TRGT_NM = #trgtNm#

View File

@ -950,7 +950,7 @@
,LAST_UPDUSR_ID = #lastUpdusrId# ,LAST_UPDUSR_ID = #lastUpdusrId#
<isNotEmpty property="sbmtYn"> <isNotEmpty property="sbmtYn">
, SBMT_YN = #sbmtYn# , SBMT_YN = #sbmtYn#
, SBMT_PNTTM = IF(#sbmtYn# = 'Y', SYSDATE, NULL) , SBMT_PNTTM = CASE WHEN #sbmtYn# = 'Y' THEN SYSDATE ELSE NULL END
</isNotEmpty> </isNotEmpty>
<isNotEmpty property="aprvlCd"> <isNotEmpty property="aprvlCd">
, APRVL_CD = #aprvlCd# , APRVL_CD = #aprvlCd#
@ -1247,10 +1247,10 @@
A.EDU_DOC_REQ_ORD AS eduDocReqOrd, A.EDU_DOC_REQ_ORD AS eduDocReqOrd,
A.DOC_REQ_NM AS docReqNm, A.DOC_REQ_NM AS docReqNm,
A.DOC_FORM_ATCH_FILE_ID AS docFormAtchFileId, A.DOC_FORM_ATCH_FILE_ID AS docFormAtchFileId,
A.FRST_REGIST_PNTTM AS frstRegistPnttm, TO_CHAR(A.FRST_REGIST_PNTTM, 'YYYY-MM-DD') AS frstRegistPnttm,
A.FRST_REGISTER_ID AS frstRegisterId, A.FRST_REGISTER_ID AS frstRegisterId,
A.SBMT_ATCH_FILE_ID AS sbmtAtchFileId, A.SBMT_ATCH_FILE_ID AS sbmtAtchFileId,
A.SBMT_PNTTM AS sbmtPnttm, TO_CHAR(A.SBMT_PNTTM,'YYYY-MM-DD') AS sbmtPnttm,
A.SBMT_ID AS sbmtId, A.SBMT_ID AS sbmtId,
B.INSTR_NM AS instrNm B.INSTR_NM AS instrNm
FROM FROM
@ -1263,7 +1263,20 @@
<isNotEmpty property="eduAplctOrd"> <isNotEmpty property="eduAplctOrd">
AND EDU_APLCT_ORD = #eduAplctOrd# AND EDU_APLCT_ORD = #eduAplctOrd#
</isNotEmpty> </isNotEmpty>
<isNotEmpty property="sbmtId">
AND SBMT_ID = #sbmtId#
</isNotEmpty>
</select> </select>
<update id="VEEduAplctDAO.updateSbmtAtchFileId" parameterClass="VEEduAplctVO">
/* VEEduAplctDAO.updateSbmtAtchFileId */
UPDATE VE_EDU_DOC_REQ
SET
SBMT_ATCH_FILE_ID = #sbmtAtchFileId#,
SBMT_PNTTM = SYSDATE
WHERE
EDU_DOC_REQ_ORD = #eduDocReqOrd#
</update>
</sqlMap> </sqlMap>

View File

@ -2333,11 +2333,17 @@
</isNotEmpty> </isNotEmpty>
<isNotEmpty property="searchStartDt"> <isNotEmpty property="searchStartDt">
AND b.EDU_HOPE_DT <![CDATA[ >= ]]> REPLACE(#searchStartDt#, '.' , '') /*
AND b.EDU_HOPE_DT <![CDATA[ >= ]]> REPLACE(searchStartDt, '.' , '')
*/
AND b.EDU_HOPE_DT <![CDATA[ >= ]]> #searchStartDt#
</isNotEmpty> </isNotEmpty>
<isNotEmpty property="searchEndDt"> <isNotEmpty property="searchEndDt">
AND b.EDU_HOPE_DT <![CDATA[ <= ]]> REPLACE(#searchEndDt#, '.' , '') /*
AND b.EDU_HOPE_DT <![CDATA[ <= ]]> REPLACE(searchEndDt, '.' , '')
*/
AND b.EDU_HOPE_DT <![CDATA[ <= ]]> #searchEndDt#
</isNotEmpty> </isNotEmpty>
<isEmpty property="searchStartDt"> <isEmpty property="searchStartDt">

View File

@ -1,352 +1,352 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"> <!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<!-- 찾교 강사, 강사상세 테이블 --> <!-- 찾교 강사, 강사상세 테이블 -->
<sqlMap namespace="VELctrMIX"> <sqlMap namespace="VELctrMIX">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/> <typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VELctrDetailVO" type="kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrDetailVO"/> <typeAlias alias="VELctrDetailVO" type="kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrDetailVO"/>
<!-- 공통 테이블 명 --> <!-- 공통 테이블 명 -->
<sql id="VELctrMIXDAO.table_name"> <sql id="VELctrMIXDAO.table_name">
ve_lctr_stng ve_lctr_stng
</sql> </sql>
<!-- 저장용 공통 컬럼 명 --> <!-- 저장용 공통 컬럼 명 -->
<sql id="VELctrMIXDAO.column_name"> <sql id="VELctrMIXDAO.column_name">
instr_div, instr_div,
user_id, user_id,
lctr_stng_ord, lctr_stng_ord,
sun_lctr_yn, sun_lctr_yn,
mon_lctr_yn, mon_lctr_yn,
tue_lctr_yn, tue_lctr_yn,
wed_lctr_yn, wed_lctr_yn,
thu_lctr_yn, thu_lctr_yn,
fri_lctr_yn, fri_lctr_yn,
sat_lctr_yn, sat_lctr_yn,
zoom_yn, zoom_yn,
yr_mxmm_asgnm_tm, yr_mxmm_asgnm_tm,
mnt_mnmm_tm, mnt_mnmm_tm,
prfrn_fld_cd, prfrn_fld_cd,
onln_psbl_yn, onln_psbl_yn,
sbmt_yn, sbmt_yn,
sbmt_pnttm, sbmt_pnttm,
aprvl_cd, aprvl_cd,
aprvl_pnttm, aprvl_pnttm,
aprvl_id, aprvl_id,
aprvl_cn, aprvl_cn,
frst_regist_pnttm, frst_regist_pnttm,
frst_register_id, frst_register_id,
last_updt_pnttm, last_updt_pnttm,
last_updusr_id, last_updusr_id,
use_yn, use_yn,
isltn_psbl_yn, isltn_psbl_yn,
cntns_lctr_psbl_yn, cntns_lctr_psbl_yn,
lctr_stng_yr, lctr_stng_yr,
asgnm_tm_1, asgnm_tm_1,
asgnm_tm_2, asgnm_tm_2,
asgnm_tm_3, asgnm_tm_3,
asgnm_tm_4, asgnm_tm_4,
asgnm_tm_5, asgnm_tm_5,
asgnm_tm_6, asgnm_tm_6,
asgnm_tm_7, asgnm_tm_7,
asgnm_tm_8, asgnm_tm_8,
asgnm_tm_9, asgnm_tm_9,
asgnm_tm_10, asgnm_tm_10,
asgnm_tm_11, asgnm_tm_11,
asgnm_tm_12 asgnm_tm_12
</sql> </sql>
<!-- 조회용 공통 컬럼 명 --> <!-- 조회용 공통 컬럼 명 -->
<sql id="VELctrMIXDAO.select_column_name"> <sql id="VELctrMIXDAO.select_column_name">
a.instr_div AS instrDiv, a.instr_div AS instrDiv,
a.user_id AS userId, a.user_id AS userId,
a.lctr_stng_ord AS lctrStngOrd, a.lctr_stng_ord AS lctrStngOrd,
a.sun_lctr_yn AS sunLctrYn, a.sun_lctr_yn AS sunLctrYn,
a.mon_lctr_yn AS monLctrYn, a.mon_lctr_yn AS monLctrYn,
a.tue_lctr_yn AS tueLctrYn, a.tue_lctr_yn AS tueLctrYn,
a.wed_lctr_yn AS wedLctrYn, a.wed_lctr_yn AS wedLctrYn,
a.thu_lctr_yn AS thuLctrYn, a.thu_lctr_yn AS thuLctrYn,
a.fri_lctr_yn AS friLctrYn, a.fri_lctr_yn AS friLctrYn,
a.sat_lctr_yn AS satLctrYn, a.sat_lctr_yn AS satLctrYn,
a.zoom_yn AS zoomYn, a.zoom_yn AS zoomYn,
a.yr_mxmm_asgnm_tm AS yrMxmmAsgnmTm, a.yr_mxmm_asgnm_tm AS yrMxmmAsgnmTm,
a.mnt_mnmm_tm AS mntMnmmTm, a.mnt_mnmm_tm AS mntMnmmTm,
a.prfrn_fld_cd AS prfrnFldCd, a.prfrn_fld_cd AS prfrnFldCd,
a.onln_psbl_yn AS onlnPsblYn, a.onln_psbl_yn AS onlnPsblYn,
a.sbmt_yn AS sbmtYn, a.sbmt_yn AS sbmtYn,
a.sbmt_pnttm AS sbmtPnttm, a.sbmt_pnttm AS sbmtPnttm,
a.aprvl_cd AS aprvlCd, a.aprvl_cd AS aprvlCd,
a.aprvl_pnttm AS aprvlPnttm, a.aprvl_pnttm AS aprvlPnttm,
a.aprvl_id AS aprvlId, a.aprvl_id AS aprvlId,
a.aprvl_cn AS aprvlCn, a.aprvl_cn AS aprvlCn,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm, DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId, a.frst_register_id AS frstRegisterId,
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm, DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId, a.last_updusr_id AS lastUpdusrId,
a.use_yn AS useYn, a.use_yn AS useYn,
a.isltn_psbl_yn AS isltnPsblYn, a.isltn_psbl_yn AS isltnPsblYn,
a.cntns_lctr_psbl_yn AS cntnsLctrPsblYn, a.cntns_lctr_psbl_yn AS cntnsLctrPsblYn,
a.lctr_stng_yr AS lctrStngYr, a.lctr_stng_yr AS lctrStngYr,
a.asgnm_tm_1 AS asgnmTm1, a.asgnm_tm_1 AS asgnmTm1,
a.asgnm_tm_2 AS asgnmTm2, a.asgnm_tm_2 AS asgnmTm2,
a.asgnm_tm_3 AS asgnmTm3, a.asgnm_tm_3 AS asgnmTm3,
a.asgnm_tm_4 AS asgnmTm4, a.asgnm_tm_4 AS asgnmTm4,
a.asgnm_tm_5 AS asgnmTm5, a.asgnm_tm_5 AS asgnmTm5,
a.asgnm_tm_6 AS asgnmTm6, a.asgnm_tm_6 AS asgnmTm6,
a.asgnm_tm_7 AS asgnmTm7, a.asgnm_tm_7 AS asgnmTm7,
a.asgnm_tm_8 AS asgnmTm8, a.asgnm_tm_8 AS asgnmTm8,
a.asgnm_tm_9 AS asgnmTm9, a.asgnm_tm_9 AS asgnmTm9,
a.asgnm_tm_10 AS asgnmTm10, a.asgnm_tm_10 AS asgnmTm10,
a.asgnm_tm_11 AS asgnmTm11, a.asgnm_tm_11 AS asgnmTm11,
a.asgnm_tm_12 AS asgnmTm12 a.asgnm_tm_12 AS asgnmTm12
</sql> </sql>
<!-- 강의 설정 정보 R --> <!-- 강의 설정 정보 R -->
<select id="VELctrMIXDAO.selectDetail" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO"> <select id="VELctrMIXDAO.selectDetail" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
/* 강의 설정 정보 테이블 */ /* 강의 설정 정보 테이블 */
SELECT SELECT
<include refid="VELctrMIXDAO.select_column_name"/> <include refid="VELctrMIXDAO.select_column_name"/>
FROM FROM
<include refid="VELctrMIXDAO.table_name"/> a <include refid="VELctrMIXDAO.table_name"/> a
WHERE WHERE
a.instr_div = #instrDiv# a.instr_div = #instrDiv#
AND a.user_id = #userId# AND a.user_id = #userId#
<isNotEmpty property="useYn"> <isNotEmpty property="useYn">
AND a.use_yn=#useYn# /*사용중인 설정값을 가져온다. Y 로 설정*/ AND a.use_yn=#useYn# /*사용중인 설정값을 가져온다. Y 로 설정*/
</isNotEmpty><isNotEmpty property="lctrStngOrd"> </isNotEmpty><isNotEmpty property="lctrStngOrd">
AND a.lctr_stng_ord=#lctrStngOrd# /*사용자가 저장중인 row를 가져오는 설정*/ AND a.lctr_stng_ord=#lctrStngOrd# /*사용자가 저장중인 row를 가져오는 설정*/
</isNotEmpty> </isNotEmpty>
ORDER BY lctr_stng_ord desc ORDER BY lctr_stng_ord desc
LIMIT 1 LIMIT 1
</select> </select>
<!-- 강의설정 수정화면 정보 --> <!-- 강의설정 수정화면 정보 -->
<select id="VELctrMIXDAO.selectLctrStngDetail" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO"> <select id="VELctrMIXDAO.selectLctrStngDetail" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
SELECT SELECT
<include refid="VELctrMIXDAO.select_column_name"/> <include refid="VELctrMIXDAO.select_column_name"/>
FROM FROM
<include refid="VELctrMIXDAO.table_name"/> a <include refid="VELctrMIXDAO.table_name"/> a
WHERE WHERE
a.instr_div = #instrDiv# a.instr_div = #instrDiv#
AND a.user_id = #userId# AND a.user_id = #userId#
AND a.sbmt_yn IS NULL AND a.sbmt_yn IS NULL
AND a.use_yn = 'N' AND a.use_yn = 'N'
ORDER BY lctr_stng_ord desc ORDER BY lctr_stng_ord desc
LIMIT 1 LIMIT 1
</select> </select>
<!-- 강의설정 요청 리스트 불러오기 --> <!-- 강의설정 요청 리스트 불러오기 -->
<select id="VELctrMIXDAO.selectLctrStngSbmtList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO"> <select id="VELctrMIXDAO.selectLctrStngSbmtList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
SELECT SELECT
<include refid="VELctrMIXDAO.select_column_name"/> <include refid="VELctrMIXDAO.select_column_name"/>
FROM FROM
<include refid="VELctrMIXDAO.table_name"/> a <include refid="VELctrMIXDAO.table_name"/> a
WHERE WHERE
a.instr_div = #instrDiv# a.instr_div = #instrDiv#
AND a.user_id = #userId# AND a.user_id = #userId#
AND a.sbmt_yn ='Y' AND a.sbmt_yn ='Y'
<isNotEmpty property="aprvlCd"> <isNotEmpty property="aprvlCd">
AND a.aprvl_cd = #aprvlCd# AND a.aprvl_cd = #aprvlCd#
</isNotEmpty> </isNotEmpty>
<isEmpty property="aprvlCd"> <isEmpty property="aprvlCd">
AND a.aprvl_cd IS NOT NULL AND a.aprvl_cd IS NOT NULL
</isEmpty> </isEmpty>
</select> </select>
<!-- 강사 정보 R --> <!-- 강사 정보 R -->
<select id="VELctrMIXDAO.selectDupCheck" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO"> <select id="VELctrMIXDAO.selectDupCheck" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
SELECT SELECT
count(*) totCnt count(*) totCnt
FROM FROM
ve_lctr_area_mng ve_lctr_area_mng
WHERE WHERE
1=1 1=1
<isNotEmpty property="selectPagingListQuery"> <isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$ $selectPagingListQuery$
</isNotEmpty> </isNotEmpty>
</select> </select>
<!-- 강사 정보 L --> <!-- 강사 정보 L -->
<select id="VELctrMIXDAO.selectList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO"> <select id="VELctrMIXDAO.selectList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
SELECT SELECT
<include refid="VELctrMIXDAO.select_column_name"/> <include refid="VELctrMIXDAO.select_column_name"/>
FROM FROM
<include refid="VELctrMIXDAO.table_name"/> a <include refid="VELctrMIXDAO.table_name"/> a
WHERE WHERE
1=1 1=1
</select> </select>
<!-- 강사 정보 L page --> <!-- 강사 정보 L page -->
<select id="VELctrMIXDAO.selectPagingList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO"> <select id="VELctrMIXDAO.selectPagingList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
SELECT SELECT
COUNT(1) OVER() AS totCnt , COUNT(1) OVER() AS totCnt ,
<include refid="VELctrMIXDAO.select_column_name"/> <include refid="VELctrMIXDAO.select_column_name"/>
FROM FROM
<include refid="VELctrMIXDAO.table_name"/> a <include refid="VELctrMIXDAO.table_name"/> a
WHERE WHERE
1=1 1=1
<isNotEmpty property="selectPagingListQuery"> <isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$ $selectPagingListQuery$
</isNotEmpty> </isNotEmpty>
<isNotEmpty property="userId"> <isNotEmpty property="userId">
AND a.user_id=#userId# AND a.user_id=#userId#
</isNotEmpty> </isNotEmpty>
<isNotEmpty property="instrDiv"> <isNotEmpty property="instrDiv">
AND a.instr_div=#instrDiv# AND a.instr_div=#instrDiv#
</isNotEmpty> </isNotEmpty>
ORDER BY 1=1 ORDER BY 1=1
<isEmpty property="orderByQuery"> <isEmpty property="orderByQuery">
, a.user_id desc , a.user_id desc
</isEmpty> </isEmpty>
<isNotEmpty property="orderByQuery"> <isNotEmpty property="orderByQuery">
, $orderByQuery$ , $orderByQuery$
</isNotEmpty> </isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex# LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select> </select>
<!-- 설정 년월L --> <!-- 설정 년월L -->
<select id="VELctrMIXDAO.selectStngYrMntList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO"> <select id="VELctrMIXDAO.selectStngYrMntList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
SELECT CONCAT(aa.stndrd_yr,bb.stndrd_mnt) AS stngYrMnt SELECT CONCAT(aa.stndrd_yr,bb.stndrd_mnt) AS stngYrMnt
FROM ( FROM (
SELECT a.stndrd_yr*1+b.stndrd_mnt*1 stndrd_yr SELECT a.stndrd_yr*1+b.stndrd_mnt*1 stndrd_yr
FROM ( FROM (
SELECT '2022' stndrd_yr SELECT '2022' stndrd_yr
)a )a
, ,
( (
SELECT '01' stndrd_mnt SELECT '01' stndrd_mnt
UNION ALL SELECT '02' UNION ALL SELECT '02'
UNION ALL SELECT '03' UNION ALL SELECT '03'
UNION ALL SELECT '04' UNION ALL SELECT '04'
UNION ALL SELECT '05' UNION ALL SELECT '05'
UNION ALL SELECT '06' UNION ALL SELECT '06'
UNION ALL SELECT '07' UNION ALL SELECT '07'
UNION ALL SELECT '08' UNION ALL SELECT '08'
UNION ALL SELECT '09' UNION ALL SELECT '09'
UNION ALL SELECT '10' UNION ALL SELECT '10'
UNION ALL SELECT '11' UNION ALL SELECT '11'
UNION ALL SELECT '12' UNION ALL SELECT '12'
)b )b
)aa )aa
,( ,(
SELECT '01' stndrd_mnt SELECT '01' stndrd_mnt
UNION ALL SELECT '02' UNION ALL SELECT '02'
UNION ALL SELECT '03' UNION ALL SELECT '03'
UNION ALL SELECT '04' UNION ALL SELECT '04'
UNION ALL SELECT '05' UNION ALL SELECT '05'
UNION ALL SELECT '06' UNION ALL SELECT '06'
UNION ALL SELECT '07' UNION ALL SELECT '07'
UNION ALL SELECT '08' UNION ALL SELECT '08'
UNION ALL SELECT '09' UNION ALL SELECT '09'
UNION ALL SELECT '10' UNION ALL SELECT '10'
UNION ALL SELECT '11' UNION ALL SELECT '11'
UNION ALL SELECT '12' UNION ALL SELECT '12'
)bb )bb
WHERE 1=1 WHERE 1=1
AND DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 1 month),'%Y%m')>=CONCAT(aa.stndrd_yr,bb.stndrd_mnt) AND DATE_FORMAT(DATE_ADD(NOW(), INTERVAL 1 month),'%Y%m')>=CONCAT(aa.stndrd_yr,bb.stndrd_mnt)
ORDER BY CONCAT(aa.stndrd_yr,bb.stndrd_mnt) DESC ORDER BY CONCAT(aa.stndrd_yr,bb.stndrd_mnt) DESC
</select> </select>
<!-- 설정 년월L --> <!-- 설정 년월L -->
<select id="VELctrMIXDAO.selectStngYrList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO"> <select id="VELctrMIXDAO.selectStngYrList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
SELECT concat(round(a.stndrd_yr*1+b.stndrd_mnt*1),'') stngYr SELECT concat(round(a.stndrd_yr*1+b.stndrd_mnt*1),'') stngYr
, IF (DATE_FORMAT(NOW(),'%Y')= concat(round(a.stndrd_yr*1+b.stndrd_mnt*1),''),1,0) useYn , IF (DATE_FORMAT(NOW(),'%Y')= concat(round(a.stndrd_yr*1+b.stndrd_mnt*1),''),1,0) useYn
FROM ( FROM (
SELECT '2022' stndrd_yr SELECT '2022' stndrd_yr
)a )a
, ,
( (
SELECT '01' stndrd_mnt SELECT '01' stndrd_mnt
UNION ALL SELECT '02' UNION ALL SELECT '02'
UNION ALL SELECT '03' UNION ALL SELECT '03'
UNION ALL SELECT '04' UNION ALL SELECT '04'
UNION ALL SELECT '05' UNION ALL SELECT '05'
UNION ALL SELECT '06' UNION ALL SELECT '06'
UNION ALL SELECT '07' UNION ALL SELECT '07'
UNION ALL SELECT '08' UNION ALL SELECT '08'
UNION ALL SELECT '09' UNION ALL SELECT '09'
UNION ALL SELECT '0' UNION ALL SELECT '0'
)b )b
ORDER BY a.stndrd_yr*1+b.stndrd_mnt*1 ORDER BY a.stndrd_yr*1+b.stndrd_mnt*1
</select> </select>
<!-- 설정 년월L --> <!-- 설정 년월L -->
<select id="VELctrMIXDAO.selectStngMntList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO"> <select id="VELctrMIXDAO.selectStngMntList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
SELECT b.stngMnt SELECT b.stngMnt
, IF (DATE_FORMAT(NOW(),'%m')= b.stngMnt, 1, 0) useYn , IF (DATE_FORMAT(NOW(),'%m')= b.stngMnt, 1, 0) useYn
FROM FROM
( (
SELECT '01' stngMnt SELECT '01' stngMnt
UNION ALL SELECT '02' UNION ALL SELECT '02'
UNION ALL SELECT '03' UNION ALL SELECT '03'
UNION ALL SELECT '04' UNION ALL SELECT '04'
UNION ALL SELECT '05' UNION ALL SELECT '05'
UNION ALL SELECT '06' UNION ALL SELECT '06'
UNION ALL SELECT '07' UNION ALL SELECT '07'
UNION ALL SELECT '08' UNION ALL SELECT '08'
UNION ALL SELECT '09' UNION ALL SELECT '09'
UNION ALL SELECT '10' UNION ALL SELECT '10'
UNION ALL SELECT '11' UNION ALL SELECT '11'
UNION ALL SELECT '12' UNION ALL SELECT '12'
)b )b
ORDER BY b.stngMnt ORDER BY b.stngMnt
</select> </select>
<!-- 일자중복여부 체크 --> <!-- 일자중복여부 체크 -->
<select id="VELctrMIXDAO.selectDupDateCount" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO"> <select id="VELctrMIXDAO.selectDupDateCount" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
SELECT count(*) AS totCnt SELECT count(*) AS totCnt
FROM ve_lctr_rsrch_mng a FROM ve_lctr_rsrch_mng a
WHERE 1=1 WHERE 1=1
AND ( AND (
(a.rsrch_strt_dt BETWEEN #rsrchStrtDt# AND #rsrchEndDt#) (a.rsrch_strt_dt BETWEEN #rsrchStrtDt# AND #rsrchEndDt#)
OR OR
(a.rsrch_end_dt BETWEEN #rsrchStrtDt# AND #rsrchEndDt#) (a.rsrch_end_dt BETWEEN #rsrchStrtDt# AND #rsrchEndDt#)
OR OR
(#rsrchStrtDt# BETWEEN a.rsrch_strt_dt AND a.rsrch_end_dt) (#rsrchStrtDt# BETWEEN a.rsrch_strt_dt AND a.rsrch_end_dt)
OR OR
(#rsrchEndDt# BETWEEN a.rsrch_strt_dt AND a.rsrch_end_dt) (#rsrchEndDt# BETWEEN a.rsrch_strt_dt AND a.rsrch_end_dt)
) )
AND CONCAT(a.rsrch_instr_div, a.stng_yr_mnt)!=CONCAT(#rsrchInstrDiv#, #stngYrMnt#) AND CONCAT(a.rsrch_instr_div, a.stng_yr_mnt)!=CONCAT(#rsrchInstrDiv#, #stngYrMnt#)
</select> </select>
</sqlMap> </sqlMap>

View File

@ -362,6 +362,20 @@
ON DUPLICATE KEY UPDATE schol_id = t.schol_id ON DUPLICATE KEY UPDATE schol_id = t.schol_id
</update> </update>
<!-- 벽지 학교 Excel 등록 C (merge) -->
<update id="ScholInfoDAO.insertSelectIsltn20231107" parameterClass="ScholInfoVO">
/* ScholInfoDAO.insertSelectIsltn20231107 */
UPDATE ve_schol a
SET a.isltn_yn=#isltnYn#
, a.isltn2_yn=#isltn2Yn#
, a.isltn3_yn=#isltn3Yn#
, a.ppltn_reduc_area_yn=#ppltnReducAreaYn#
WHERE a.SCHOL_ID =(
SELECT schol_id
FROM ve_schol
WHERE stndrd_schol_cd=#stndrdScholCd#
)
</update>
<!-- 주소 Excel 등록 C (merge) --> <!-- 주소 Excel 등록 C (merge) -->
<!-- <!--

View File

@ -136,5 +136,101 @@
AND substring(b.edu_hope_dt,1,7)=#mnt# AND substring(b.edu_hope_dt,1,7)=#mnt#
GROUP BY substring(b.edu_hope_dt,1,7) GROUP BY substring(b.edu_hope_dt,1,7)
</select> </select>
<!-- 강사별 월별 시수 관리 대상 강사 리스트 -->
<select id="VEAAsgnmStngMixDAO.selectList_VEAIIMT_1" parameterClass="VEAStngVO" resultClass="VEAStngVO">
/* VEAAsgnmStngMixDAO.selectList_VEAIIMT_1 */
SELECT COUNT(1) OVER() AS totCnt ,
a00.userId,
CASE
WHEN d.mon_lctr_yn = 'Y'
THEN 1
ELSE 0
END +
CASE
WHEN d.tue_lctr_yn = 'Y'
THEN 1
ELSE 0
END +
CASE
WHEN d.wed_lctr_yn = 'Y'
THEN 1
ELSE 0
END +
CASE
WHEN d.thu_lctr_yn = 'Y'
THEN 1
ELSE 0
END +
CASE
WHEN d.fri_lctr_yn = 'Y'
THEN 1
ELSE 0
END AS workWeekCnt ,
CASE
WHEN d.mon_lctr_yn = 'Y'
THEN 1
ELSE 0
END AS monLctrYn ,
CASE
WHEN d.tue_lctr_yn = 'Y'
THEN 1
ELSE 0
END AS tueLctrYn ,
CASE
WHEN d.wed_lctr_yn = 'Y'
THEN 1
ELSE 0
END AS wedLctrYn ,
CASE
WHEN d.thu_lctr_yn = 'Y'
THEN 1
ELSE 0
END AS thuLctrYn ,
CASE
WHEN d.fri_lctr_yn = 'Y'
THEN 1
ELSE 0
END AS friLctrYn ,
(SELECT g.sbmt_pnttm
FROM ve_instr_detail g
WHERE g.user_id = a.user_id
AND g.instr_detail_ord = '1'
AND g.instr_div = a.instr_div
)
AS regSbmtPnttm
FROM ( SELECT COUNT(1) OVER() AS totCnt ,
a0.instr_div AS instrDiv ,
a0.user_id AS userId ,
a0.instr_detail_ord AS instrDetailOrd
FROM ve_instr b0 ,
ve_instr_detail a0
WHERE 1 =1
AND a0.sbmt_yn='Y'
AND a0.use_yn = 'Y'
GROUP BY a0.instr_div ,
a0.user_id ,
a0.instr_detail_ord
)
a00 ,
ve_instr_detail a
LEFT OUTER JOIN ve_lctr_stng d
ON (
d.instr_div = a.instr_div
AND d.user_id = a.user_id
AND d.use_yn ='Y'
)
WHERE 1 =1
AND a00.instrDiv =a.instr_div
AND a00.userId =a.user_id
AND a00.instrDetailOrd=a.instr_detail_ord
AND
(
a.qlfct_end_yn = 'N' OR a.qlfct_end_yn IS NULL
)
AND a.instr_div='10'
</select>
</sqlMap> </sqlMap>

View File

@ -0,0 +1,209 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<!-- 찾교 교육 결과 테이블 -->
<sqlMap namespace="VEABasicInfoStng">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEAStngVO" type="kcc.ve.adv.tngr.stngInfo.service.VEAStngVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEABasicInfoStngDAO.table_name">
vea_basic_info_stng
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEABasicInfoStngDAO.column_name">
stng_cd,
cn,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEABasicInfoStngDAO.select_column_name">
a.stng_cd AS stngCd,
a.cn AS cn,
TO_CHAR(a.frst_regist_pnttm,'YYYY-MM-DD') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
TO_CHAR(a.last_updt_pnttm,'YYYY-MM-DD') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId
</sql>
<!-- 강사 등록 C -->
<insert id="VEABasicInfoStngDAO.insert" parameterClass="VEAStngVO">
/* VEABasicInfoStngDAO.insert */
MERGE INTO <include refid="VEABasicInfoStngDAO.table_name"/>
USING DUAL
ON(stng_cd=#stngCd#)
WHEN NOT MATCHED THEN
INSERT
(
<include refid="VEABasicInfoStngDAO.column_name"/>
)
VALUES(
#stngCd#,
#cn#,
SYSDATE,
#frstRegisterId#,
NULL,
NULL
)
WHEN MATCHED THEN
UPDATE
SET cn = #cn#
, last_updusr_id = #frstRegisterId#
, last_updt_pnttm = SYSDATE
</insert>
<!-- 강사 정보 R -->
<select id="VEABasicInfoStngDAO.selectDetail" parameterClass="VEAStngVO" resultClass="VEAStngVO">
SELECT
<include refid="VEABasicInfoStngDAO.select_column_name"/>
FROM
<include refid="VEABasicInfoStngDAO.table_name"/> a
WHERE
a.stng_cd = #stngCd#
</select>
<!-- 강사 정보 U -->
<update id="VEABasicInfoStngDAO.update" parameterClass="VEAStngVO">
/* VEABasicInfoStngDAO.update */
MERGE INTO <include refid="VEABasicInfoStngDAO.table_name"/>
USING DUAL
ON(stng_cd=#stngCd#)
WHEN NOT MATCHED THEN
INSERT
(
<include refid="VEABasicInfoStngDAO.column_name"/>
)
VALUES(
#stngCd#,
#useYn#,
SYSDATE,
#frstRegisterId#,
NULL,
NULL
)
WHEN MATCHED THEN
UPDATE
SET cn = #cn#
, last_updusr_id = #frstRegisterId#
, last_updt_pnttm = SYSDATE
</update>
<!-- 강사 정보 U -->
<!--
<update id="VEABasicInfoStngDAO.updateBulk" parameterClass="VEAStngVO">
INSERT INTO <include refid="VEABasicInfoStngDAO.table_name"/>
(
edu_aplct_ord,
prcs_ord,
frst_regist_pnttm,
frst_register_id
)
SELECT #eduAplctOrd#,prcs_ord, SYSDATE,#lastUpdusrId#
FROM ve_prcs_onln_cntnt
WHERE prcs_ord=#prcsOrd#
AND use_yn='Y'
ON DUPLICATE KEY UPDATE
last_updt_pnttm=SYSDATE,
last_updusr_id=#lastUpdusrId#
</update>
-->
<!-- 강사 정보 D -->
<delete id="VEABasicInfoStngDAO.delete" parameterClass="VEAStngVO">
DELETE FROM
<include refid="VEABasicInfoStngDAO.table_name"/> a
WHERE
a.stng_cd = #stngCd#
</delete>
<!-- 강사 정보 L -->
<select id="VEABasicInfoStngDAO.selectList" parameterClass="VEAStngVO" resultClass="VEAStngVO">
/* VEABasicInfoStngDAO.selectList */
SELECT
<include refid="VEABasicInfoStngDAO.select_column_name"/>
FROM
<include refid="VEABasicInfoStngDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="useYn">
AND a.cn=#cn#
</isNotEmpty>
<isNotEmpty property="stngCd">
AND a.stng_cd=#stngCd#
</isNotEmpty>
<isNotEmpty property="searchWord" prepend="AND">
a.cn LIKE '%'||#searchWord#||'%'
</isNotEmpty>
</select>
<!-- 강사 정보 L page -->
<select id="VEABasicInfoStngDAO.selectPagingList" parameterClass="VEAStngVO" resultClass="VEAStngVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEABasicInfoStngDAO.select_column_name"/>
FROM
<include refid="VEABasicInfoStngDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="stngCd">
AND a.stng_cd=#stngCd#
</isNotEmpty>
ORDER BY 1
<isEmpty property="orderByQuery">
, a.stng_cd desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
/*
LIMIT recordCountPerPage OFFSET firstIndex
*/
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
</select>
</sqlMap>

View File

@ -0,0 +1,222 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<!-- 찾교 교육 결과 테이블 -->
<sqlMap namespace="VEAInstrHstryMng">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEAStngVO" type="kcc.ve.adv.tngr.stngInfo.service.VEAStngVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEAInstrHstryMngDAO.table_name">
vea_instr_hstry_mng
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEAInstrHstryMngDAO.column_name">
instr_hstry_ord,
user_id,
sbjct,
cn,
strt_dt,
ddln_dt,
frst_regist_pnttm,
frst_register_id
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEAInstrHstryMngDAO.select_column_name">
a.instr_hstry_ord AS instrHstryOrd,
a.user_id AS userId,
a.sbjct AS sbjct,
a.cn AS cn,
a.strt_dt AS strtDt,
a.ddln_dt AS ddlnDt,
TO_CHAR(a.frst_regist_pnttm,'YYYY-MM-DD') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId
</sql>
<!-- 강사 등록 C -->
<insert id="VEAInstrHstryMngDAO.insert" parameterClass="VEAStngVO">
/* VEAInstrHstryMngDAO.insert */
MERGE INTO <include refid="VEAInstrHstryMngDAO.table_name"/>
USING DUAL
ON(instr_hstry_ord=#instrHstryOrd#)
WHEN NOT MATCHED THEN
INSERT
(
<include refid="VEAInstrHstryMngDAO.column_name"/>
)
VALUES(
#instrHstryOrd#,
#userId#,
#sbjct#,
#cn#,
#strtDt#,
#ddlnDt#,
SYSDATE,
#frstRegisterId#
)
WHEN MATCHED THEN
UPDATE
SET user_id = #userId#
, sbjct = #sbjct#
, cn = #cn#
, strt_dt = #strtDt#
, ddln_dt = #ddlnDt#
, frst_regist_pnttm = SYSDATE
, frst_register_id = #frstRegisterId#
</insert>
<!-- 강사 정보 R -->
<select id="VEAInstrHstryMngDAO.selectDetail" parameterClass="VEAStngVO" resultClass="VEAStngVO">
SELECT
<include refid="VEAInstrHstryMngDAO.select_column_name"/>
FROM
<include refid="VEAInstrHstryMngDAO.table_name"/> a
WHERE
a.asgnm_cd = #asgnmCd#
</select>
<!-- 강사 정보 U -->
<update id="VEAInstrHstryMngDAO.update" parameterClass="VEAStngVO">
/* VEAInstrHstryMngDAO.update */
MERGE INTO <include refid="VEAInstrHstryMngDAO.table_name"/>
USING DUAL
ON(instr_hstry_ord=#instrHstryOrd#)
WHEN NOT MATCHED THEN
INSERT
(
<include refid="VEAInstrHstryMngDAO.column_name"/>
)
VALUES(
#instrHstryOrd#,
#userId#,
#sbjct#,
#cn#,
#strtDt#,
#ddlnDt#,
SYSDATE,
#frstRegisterId#
)
WHEN MATCHED THEN
UPDATE
SET user_id = #userId#
, sbjct = #sbjct#
, cn = #cn#
, strtDt = #strtDt#
, ddlnDt = #ddlnDt#
, frst_regist_pnttm = SYSDATE
, frst_register_id = #frstRegisterId#
</update>
<!-- 강사 정보 U -->
<!--
<update id="VEAInstrHstryMngDAO.updateBulk" parameterClass="VEAStngVO">
INSERT INTO <include refid="VEAInstrHstryMngDAO.table_name"/>
(
edu_aplct_ord,
prcs_ord,
frst_regist_pnttm,
frst_register_id
)
SELECT #eduAplctOrd#,prcs_ord, SYSDATE,#lastUpdusrId#
FROM ve_prcs_onln_cntnt
WHERE prcs_ord=#prcsOrd#
AND use_yn='Y'
ON DUPLICATE KEY UPDATE
last_updt_pnttm=SYSDATE,
last_updusr_id=#lastUpdusrId#
</update>
-->
<!-- 강사 정보 D -->
<delete id="VEAInstrHstryMngDAO.delete" parameterClass="VEAStngVO">
DELETE FROM
<include refid="VEAInstrHstryMngDAO.table_name"/> a
WHERE
a.instr_hstry_ord=#instrHstryOrd#
</delete>
<!-- 강사 정보 L -->
<select id="VEAInstrHstryMngDAO.selectList" parameterClass="VEAStngVO" resultClass="VEAStngVO">
/* VEAInstrHstryMngDAO.selectList */
SELECT
<include refid="VEAInstrHstryMngDAO.select_column_name"/>
, b.user_nm AS userNm
FROM
<include refid="VEAInstrHstryMngDAO.table_name"/> a
, LETTNEMPLYRINFO b
WHERE
1=1
AND a.frst_register_id=b.ESNTL_ID
<isNotEmpty property="userId">
AND a.user_id=#userId#
</isNotEmpty>
</select>
<!-- 강사 정보 L page -->
<select id="VEAInstrHstryMngDAO.selectPagingList" parameterClass="VEAStngVO" resultClass="VEAStngVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEAInstrHstryMngDAO.select_column_name"/>
FROM
<include refid="VEAInstrHstryMngDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="userId">
AND a.user_id=#userId#
</isNotEmpty>
ORDER BY 1
<isEmpty property="orderByQuery">
, a.instr_hstry_ord desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
/*
LIMIT recordCountPerPage OFFSET firstIndex
*/
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
</select>
</sqlMap>

View File

@ -0,0 +1,761 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<!-- 찾교 교육 결과 테이블 -->
<sqlMap namespace="VEAInstrIndvdMntTm">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEAStngVO" type="kcc.ve.adv.tngr.stngInfo.service.VEAStngVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEAInstrIndvdMntTmDAO.table_name">
vea_instr_indvd_mnt_tm
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEAInstrIndvdMntTmDAO.column_name">
yr,
user_id,
m01_ea,
m01_tm,
m01_regist_pnttm,
m01_register_id,
m02_ea,
m02_tm,
m02_regist_pnttm,
m02_register_id,
m03_ea,
m03_tm,
m03_regist_pnttm,
m03_register_id,
m04_ea,
m04_tm,
m04_regist_pnttm,
m04_register_id,
m05_ea,
m05_tm,
m05_regist_pnttm,
m05_register_id,
m06_ea,
m06_tm,
m06_regist_pnttm,
m06_register_id,
m07_ea,
m07_tm,
m07_regist_pnttm,
m07_register_id,
m08_ea,
m08_tm,
m08_regist_pnttm,
m08_register_id,
m09_ea,
m09_tm,
m09_regist_pnttm,
m09_register_id,
m10_ea,
m10_tm,
m10_regist_pnttm,
m10_register_id,
m11_ea,
m11_tm,
m11_regist_pnttm,
m11_register_id,
m12_ea,
m12_tm,
m12_regist_pnttm,
m12_register_id
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEAInstrIndvdMntTmDAO.select_column_name">
a.yr AS yr,
a.user_id AS userId,
a.m01_ea AS m01Ea,
a.m01_tm AS m01Tm,
TO_CHAR(a.m01_regist_pnttm,'YYYY-MM-DD') AS m01RegistPnttm,
a.m01_register_id AS m01RegisterId,
a.m02_ea AS m02Ea,
a.m02_tm AS m02Tm,
TO_CHAR(a.m02_regist_pnttm,'YYYY-MM-DD') AS m02RegistPnttm,
a.m02_register_id AS m02RegisterId,
a.m03_ea AS m03Ea,
a.m03_tm AS m03Tm,
TO_CHAR(a.m03_regist_pnttm,'YYYY-MM-DD') AS m03RegistPnttm,
a.m03_register_id AS m03RegisterId,
a.m04_ea AS m04Ea,
a.m04_tm AS m04Tm,
TO_CHAR(a.m04_regist_pnttm,'YYYY-MM-DD') AS m04RegistPnttm,
a.m04_register_id AS m04RegisterId,
a.m05_ea AS m05Ea,
a.m05_tm AS m05Tm,
TO_CHAR(a.m05_regist_pnttm,'YYYY-MM-DD') AS m05RegistPnttm,
a.m05_register_id AS m05RegisterId,
a.m06_ea AS m06Ea,
a.m06_tm AS m06Tm,
TO_CHAR(a.m06_regist_pnttm,'YYYY-MM-DD') AS m06RegistPnttm,
a.m06_register_id AS m06RegisterId,
a.m07_ea AS m07Ea,
a.m07_tm AS m07Tm,
TO_CHAR(a.m07_regist_pnttm,'YYYY-MM-DD') AS m07RegistPnttm,
a.m07_register_id AS m07RegisterId,
a.m08_ea AS m08Ea,
a.m08_tm AS m08Tm,
TO_CHAR(a.m08_regist_pnttm,'YYYY-MM-DD') AS m08RegistPnttm,
a.m08_register_id AS m08RegisterId,
a.m09_ea AS m09Ea,
a.m09_tm AS m09Tm,
TO_CHAR(a.m09_regist_pnttm,'YYYY-MM-DD') AS m09RegistPnttm,
a.m09_register_id AS m09RegisterId,
a.m10_ea AS m10Ea,
a.m10_tm AS m10Tm,
TO_CHAR(a.m10_regist_pnttm,'YYYY-MM-DD') AS m10RegistPnttm,
a.m10_register_id AS m10RegisterId,
a.m11_ea AS m11Ea,
a.m11_tm AS m11Tm,
TO_CHAR(a.m11_regist_pnttm,'YYYY-MM-DD') AS m11RegistPnttm,
a.m11_register_id AS m11RegisterId,
a.m12_ea AS m12Ea,
a.m12_tm AS m12Tm,
TO_CHAR(a.m12_regist_pnttm,'YYYY-MM-DD') AS m12RegistPnttm,
a.m12_register_id AS m12RegisterId
</sql>
<!-- 강사 등록 C -->
<insert id="VEAInstrIndvdMntTmDAO.insert" parameterClass="VEAStngVO">
/* VEAInstrIndvdMntTmDAO.insert */
MERGE INTO <include refid="VEAInstrIndvdMntTmDAO.table_name"/>
USING DUAL
ON(yr=#yr# AND user_id=#userId#)
WHEN NOT MATCHED THEN
INSERT
(
<include refid="VEAInstrIndvdMntTmDAO.column_name"/>
)
VALUES(
#yr#,
#userId#,
#m01Ea#,
#m01Tm#,
<isNotEmpty property="m01RegisterId">
SYSDATE,
</isNotEmpty><isEmpty property="m01RegisterId">
NULL,
</isEmpty>
#m01RegisterId#,
#m02Ea#,
#m02Tm#,
<isNotEmpty property="m02RegisterId">
SYSDATE,
</isNotEmpty><isEmpty property="m02RegisterId">
NULL,
</isEmpty>
#m02RegisterId#,
#m03Ea#,
#m03Tm#,
<isNotEmpty property="m03RegisterId">
SYSDATE,
</isNotEmpty><isEmpty property="m03RegisterId">
NULL,
</isEmpty>
#m03RegisterId#,
#m04Ea#,
#m04Tm#,
<isNotEmpty property="m04RegisterId">
SYSDATE,
</isNotEmpty><isEmpty property="m04RegisterId">
NULL,
</isEmpty>
#m04RegisterId#,
#m05Ea#,
#m05Tm#,
<isNotEmpty property="m05RegisterId">
SYSDATE,
</isNotEmpty><isEmpty property="m05RegisterId">
NULL,
</isEmpty>
#m05RegisterId#,
#m06Ea#,
#m06Tm#,
<isNotEmpty property="m06RegisterId">
SYSDATE,
</isNotEmpty><isEmpty property="m06RegisterId">
NULL,
</isEmpty>
#m06RegisterId#,
#m07Ea#,
#m07Tm#,
<isNotEmpty property="m07RegisterId">
SYSDATE,
</isNotEmpty><isEmpty property="m07RegisterId">
NULL,
</isEmpty>
#m07RegisterId#,
#m08Ea#,
#m08Tm#,
<isNotEmpty property="m08RegisterId">
SYSDATE,
</isNotEmpty><isEmpty property="m08RegisterId">
NULL,
</isEmpty>
#m08RegisterId#,
#m09Ea#,
#m09Tm#,
<isNotEmpty property="m09RegisterId">
SYSDATE,
</isNotEmpty><isEmpty property="m09RegisterId">
NULL,
</isEmpty>
#m09RegisterId#,
#m10Ea#,
#m10Tm#,
<isNotEmpty property="m10RegisterId">
SYSDATE,
</isNotEmpty><isEmpty property="m10RegisterId">
NULL,
</isEmpty>
#m10RegisterId#,
#m11Ea#,
#m11Tm#,
<isNotEmpty property="m11RegisterId">
SYSDATE,
</isNotEmpty><isEmpty property="m11RegisterId">
NULL,
</isEmpty>
#m11RegisterId#,
#m12Ea#,
#m12Tm#,
<isNotEmpty property="m12RegisterId">
SYSDATE,
</isNotEmpty><isEmpty property="m12RegisterId">
NULL,
</isEmpty>
#m12RegisterId#
)
WHEN MATCHED THEN
UPDATE
SET
<isNotEmpty property="m01Ea">
m01_ea=#m01Ea#
</isNotEmpty><isNotEmpty property="m01Tm">
, m01_tm=#m01Tm#
</isNotEmpty><isNotEmpty property="m01RegisterId">
, m01_register_id=#m01RegisterId#
, m01_regist_pnttm=SYSDATE
</isNotEmpty>
<isNotEmpty property="m02Ea">
m02_ea=#m02Ea#
</isNotEmpty><isNotEmpty property="m02Tm">
, m02_tm=#m02Tm#
</isNotEmpty><isNotEmpty property="m02RegisterId">
, m02_register_id=#m02RegisterId#
, m02_regist_pnttm=SYSDATE
</isNotEmpty><isNotEmpty property="m03Ea">
m03_ea=#m03Ea#
</isNotEmpty><isNotEmpty property="m03Tm">
, m03_tm=#m03Tm#
</isNotEmpty><isNotEmpty property="m03RegisterId">
, m03_register_id=#m03RegisterId#
, m03_regist_pnttm=SYSDATE
</isNotEmpty><isNotEmpty property="m04Ea">
m04_ea=#m04Ea#
</isNotEmpty><isNotEmpty property="m04Tm">
, m04_tm=#m04Tm#
</isNotEmpty><isNotEmpty property="m04RegisterId">
, m04_register_id=#m04RegisterId#
, m04_regist_pnttm=SYSDATE
</isNotEmpty><isNotEmpty property="m05Ea">
m05_ea=#m05Ea#
</isNotEmpty><isNotEmpty property="m05Tm">
, m05_tm=#m05Tm#
</isNotEmpty><isNotEmpty property="m05RegisterId">
, m05_register_id=#m05RegisterId#
, m05_regist_pnttm=SYSDATE
</isNotEmpty><isNotEmpty property="m06Ea">
m06_ea=#m06Ea#
</isNotEmpty><isNotEmpty property="m06Tm">
, m06_tm=#m06Tm#
</isNotEmpty><isNotEmpty property="m06RegisterId">
, m06_register_id=#m06RegisterId#
, m06_regist_pnttm=SYSDATE
</isNotEmpty><isNotEmpty property="m07Ea">
m07_ea=#m07Ea#
</isNotEmpty><isNotEmpty property="m07Tm">
, m07_tm=#m07Tm#
</isNotEmpty><isNotEmpty property="m07RegisterId">
, m07_register_id=#m07RegisterId#
, m07_regist_pnttm=SYSDATE
</isNotEmpty><isNotEmpty property="m08Ea">
m08_ea=#m08Ea#
</isNotEmpty><isNotEmpty property="m08Tm">
, m08_tm=#m08Tm#
</isNotEmpty><isNotEmpty property="m08RegisterId">
, m08_register_id=#m08RegisterId#
, m08_regist_pnttm=SYSDATE
</isNotEmpty><isNotEmpty property="m09Ea">
m09_ea=#m09Ea#
</isNotEmpty><isNotEmpty property="m09Tm">
, m09_tm=#m09Tm#
</isNotEmpty><isNotEmpty property="m09RegisterId">
, m09_register_id=#m09RegisterId#
, m09_regist_pnttm=SYSDATE
</isNotEmpty><isNotEmpty property="m10Ea">
m10_ea=#m10Ea#
</isNotEmpty><isNotEmpty property="m10Tm">
, m10_tm=#m10Tm#
</isNotEmpty><isNotEmpty property="m10RegisterId">
, m10_register_id=#m10RegisterId#
, m10_regist_pnttm=SYSDATE
</isNotEmpty><isNotEmpty property="m11Ea">
m11_ea=#m11Ea#
</isNotEmpty><isNotEmpty property="m11Tm">
, m11_tm=#m11Tm#
</isNotEmpty><isNotEmpty property="m11RegisterId">
, m11_register_id=#m11RegisterId#
, m11_regist_pnttm=SYSDATE
</isNotEmpty><isNotEmpty property="m12Ea">
m12_ea=#m12Ea#
</isNotEmpty><isNotEmpty property="m12Tm">
, m12_tm=#m12Tm#
</isNotEmpty><isNotEmpty property="m12RegisterId">
, m12_register_id=#m12RegisterId#
, m12_regist_pnttm=SYSDATE
</isNotEmpty>
</insert>
<!-- 강사 정보 R -->
<select id="VEAInstrIndvdMntTmDAO.selectDetail" parameterClass="VEAStngVO" resultClass="VEAStngVO">
SELECT
<include refid="VEAInstrIndvdMntTmDAO.select_column_name"/>
FROM
<include refid="VEAInstrIndvdMntTmDAO.table_name"/> a
WHERE
a.yr = #yr#
AND a.user_id = #userId#
</select>
<!-- 강사 정보 U -->
<update id="VEAInstrIndvdMntTmDAO.update" parameterClass="VEAStngVO">
/* VEAInstrIndvdMntTmDAO.update */
MERGE INTO <include refid="VEAInstrIndvdMntTmDAO.table_name"/>
USING DUAL
ON(yr=#yr# AND userId=#user_id#)
WHEN NOT MATCHED THEN
INSERT
(
<include refid="VEAInstrIndvdMntTmDAO.column_name"/>
)
VALUES(
#yr#,
#user_id#,
#m01Ea#,
#m01Tm#,
SYSDATE,
#m01RegisterId#,
#m02Ea#,
#m02Tm#,
SYSDATE,
#m02RegisterId#,
#m03Ea#,
#m03Tm#,
SYSDATE,
#m03RegisterId#,
#m04Ea#,
#m04Tm#,
SYSDATE,
#m04RegisterId#,
#m05Ea#,
#m05m#,
SYSDATE,
#m05RegisterId#,
#m06Ea#,
#m06m#,
SYSDATE,
#m06RegisterId#,
#m07Ea#,
#m07m#,
SYSDATE,
#m07RegisterId#,
#m08Ea#,
#m08m#,
SYSDATE,
#m08RegisterId#,
#m09Ea#,
#m09m#,
SYSDATE,
#m09RegisterId#,
#m10Ea#,
#m10m#,
SYSDATE,
#m10RegisterId#,
#m11Ea#,
#m11m#,
SYSDATE,
#m11RegisterId#,
#m12Ea#,
#m12m#,
SYSDATE,
#m12RegisterId#
)
WHEN MATCHED THEN
UPDATE
SET user_id = #userId#
<isNotEmpty property="m01Ea">
, m01_ea=#m01Ea#
</isNotEmpty><isNotEmpty property="m01Tm">
, m01_tm=#m01Tm#
</isNotEmpty><isNotEmpty property="m01RegisterId">
, m01_register_id=#m01RegisterId#
, m01_regist_pnttm=SYSDATE
</isNotEmpty>
<isNotEmpty property="m02Ea">
, m02_ea=#m02Ea#
</isNotEmpty><isNotEmpty property="m02Tm">
, m02_tm=#m02Tm#
</isNotEmpty><isNotEmpty property="m02RegisterId">
, m02_register_id=#m02RegisterId#
, m02_regist_pnttm=SYSDATE
</isNotEmpty><isNotEmpty property="m03Ea">
, m03_ea=#m03Ea#
</isNotEmpty><isNotEmpty property="m03Tm">
, m03_tm=#m03Tm#
</isNotEmpty><isNotEmpty property="m03RegisterId">
, m03_register_id=#m03RegisterId#
, m03_regist_pnttm=SYSDATE
</isNotEmpty><isNotEmpty property="m04Ea">
, m04_ea=#m04Ea#
</isNotEmpty><isNotEmpty property="m04Tm">
, m04_tm=#m04Tm#
</isNotEmpty><isNotEmpty property="m04RegisterId">
, m04_register_id=#m04RegisterId#
, m04_regist_pnttm=SYSDATE
</isNotEmpty><isNotEmpty property="m05Ea">
, m05_ea=#m05Ea#
</isNotEmpty><isNotEmpty property="m05Tm">
, m05_tm=#m05Tm#
</isNotEmpty><isNotEmpty property="m05RegisterId">
, m05_register_id=#m05RegisterId#
, m05_regist_pnttm=SYSDATE
</isNotEmpty><isNotEmpty property="m06Ea">
, m06_ea=#m06Ea#
</isNotEmpty><isNotEmpty property="m06Tm">
, m06_tm=#m06Tm#
</isNotEmpty><isNotEmpty property="m06RegisterId">
, m06_register_id=#m06RegisterId#
, m06_regist_pnttm=SYSDATE
</isNotEmpty><isNotEmpty property="m07Ea">
, m07_ea=#m07Ea#
</isNotEmpty><isNotEmpty property="m07Tm">
, m07_tm=#m07Tm#
</isNotEmpty><isNotEmpty property="m07RegisterId">
, m07_register_id=#m07RegisterId#
, m07_regist_pnttm=SYSDATE
</isNotEmpty><isNotEmpty property="m08Ea">
, m08_ea=#m08Ea#
</isNotEmpty><isNotEmpty property="m08Tm">
, m08_tm=#m08Tm#
</isNotEmpty><isNotEmpty property="m08RegisterId">
, m08_register_id=#m08RegisterId#
, m08_regist_pnttm=SYSDATE
</isNotEmpty><isNotEmpty property="m09Ea">
, m09_ea=#m09Ea#
</isNotEmpty><isNotEmpty property="m09Tm">
, m09_tm=#m09Tm#
</isNotEmpty><isNotEmpty property="m09RegisterId">
, m09_register_id=#m09RegisterId#
, m09_regist_pnttm=SYSDATE
</isNotEmpty><isNotEmpty property="m10Ea">
, m10_ea=#m10Ea#
</isNotEmpty><isNotEmpty property="m10Tm">
, m10_tm=#m10Tm#
</isNotEmpty><isNotEmpty property="m10RegisterId">
, m10_register_id=#m10RegisterId#
, m10_regist_pnttm=SYSDATE
</isNotEmpty><isNotEmpty property="m11Ea">
, m11_ea=#m11Ea#
</isNotEmpty><isNotEmpty property="m11Tm">
, m11_tm=#m11Tm#
</isNotEmpty><isNotEmpty property="m11RegisterId">
, m11_register_id=#m11RegisterId#
, m11_regist_pnttm=SYSDATE
</isNotEmpty><isNotEmpty property="m12Ea">
, m12_ea=#m12Ea#
</isNotEmpty><isNotEmpty property="m12Tm">
, m12_tm=#m12Tm#
</isNotEmpty><isNotEmpty property="m12RegisterId">
, m12_register_id=#m12RegisterId#
, m12_regist_pnttm=SYSDATE
</isNotEmpty>
</update>
<!-- 강사 정보 U -->
<!--
<update id="VEAInstrIndvdMntTmDAO.updateBulk" parameterClass="VEAStngVO">
INSERT INTO <include refid="VEAInstrIndvdMntTmDAO.table_name"/>
(
edu_aplct_ord,
prcs_ord,
frst_regist_pnttm,
frst_register_id
)
SELECT #eduAplctOrd#,prcs_ord, SYSDATE,#lastUpdusrId#
FROM ve_prcs_onln_cntnt
WHERE prcs_ord=#prcsOrd#
AND use_yn='Y'
ON DUPLICATE KEY UPDATE
last_updt_pnttm=SYSDATE,
last_updusr_id=#lastUpdusrId#
</update>
-->
<!-- 강사 정보 D -->
<delete id="VEAInstrIndvdMntTmDAO.delete" parameterClass="VEAStngVO">
DELETE FROM
<include refid="VEAInstrIndvdMntTmDAO.table_name"/> a
WHERE
a.yr = #yr#
AND a.user_id = #userId#
</delete>
<!-- 강사 정보 L -->
<select id="VEAInstrIndvdMntTmDAO.selectList" parameterClass="VEAStngVO" resultClass="VEAStngVO">
/* VEAInstrIndvdMntTmDAO.selectList */
SELECT
<include refid="VEAInstrIndvdMntTmDAO.select_column_name"/>
FROM
<include refid="VEAInstrIndvdMntTmDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="yr">
AND a.yr=#yr#
</isNotEmpty>
<isNotEmpty property="userId">
AND a.user_id=#userId#
</isNotEmpty>
</select>
<!-- 강사 정보 L page -->
<select id="VEAInstrIndvdMntTmDAO.selectPagingList" parameterClass="VEAStngVO" resultClass="VEAStngVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEAInstrIndvdMntTmDAO.select_column_name"/>
FROM
<include refid="VEAInstrIndvdMntTmDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="yr">
AND a.yr=#yr#
</isNotEmpty>
<isNotEmpty property="userId">
AND a.user_id=#userId#
</isNotEmpty>
ORDER BY 1
<isEmpty property="orderByQuery">
, a.yr desc
, a.user_id asc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
/*
LIMIT recordCountPerPage OFFSET firstIndex
*/
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
</select>
<!-- 강사 정보 D -->
<update id="VEAInstrIndvdMntTmDAO.delete_query" parameterClass="VEAStngVO">
UPDATE <include refid="VEAInstrIndvdMntTmDAO.table_name"/> a
$setQuery$
WHERE
a.yr = #yr#
</update>
</sqlMap>

View File

@ -243,7 +243,20 @@
/* /*
, ddd.LCTR_PSBL_PRD_ORD , ddd.LCTR_PSBL_PRD_ORD
, eee.LCTR_PSBL_PRD_ORD , eee.LCTR_PSBL_PRD_ORD
*/ */
, CASE
WHEN ddd.LCTR_PSBL_PRD_ORD IS NOT NULL THEN '불가능'
WHEN bbb.DT_PSBL_TM_QNTTY_ORD IS NULL THEN to_char(NVL(fff.psblTmQnttyCnt,0))
ELSE to_char(NVL(fff.psblTmQnttyCnt,0))
END AS titleF
, CASE
WHEN ddd.LCTR_PSBL_PRD_ORD IS NOT NULL THEN '불가능'
WHEN bbb.DT_PSBL_TM_QNTTY_ORD IS NULL THEN to_char(ccc.psbl_tm_qntty)
ELSE to_char(bbb.PSBL_TM_QNTTY)
END AS titleB
FROM ( FROM (
/* Step1.올해-내년의 달력을 만들고, */ /* Step1.올해-내년의 달력을 만들고, */
SELECT SELECT

View File

@ -1,46 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Configuration> <Configuration>
<Appenders> <Appenders>
<Console name="console" target="SYSTEM_OUT"> <Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="[%d{HH:mm:ss.SSS}] %p{length=1} %c %M %L | %m%n" /> <PatternLayout pattern="[%d{HH:mm:ss.SSS}] %p{length=1} %c %M %L | %m%n" />
</Console> </Console>
</Appenders> </Appenders>
<Loggers> <Loggers>
<Logger name="org.apache" level="ERROR"></Logger> <Logger name="org.apache" level="ERROR"></Logger>
<Logger name="org.springframework" level="ERROR"></Logger> <Logger name="org.springframework" level="ERROR"></Logger>
<Logger name="egovframework" level="ERROR"></Logger> <Logger name="egovframework" level="ERROR"></Logger>
<Logger name="egovframework.rte" level="DEBUG"></Logger> <Logger name="egovframework.rte" level="DEBUG"></Logger>
<Logger name="com.ibatis.sqlmap" level="INFO"></Logger> <Logger name="com.ibatis.sqlmap" level="INFO"></Logger>
<Logger name="egovframework.let" level="DEBUG"></Logger> <Logger name="egovframework.let" level="DEBUG"></Logger>
<Logger name="egovframework.com.cmm" level="DEBUG"></Logger> <Logger name="egovframework.com.cmm" level="DEBUG"></Logger>
<Logger name="egovframework.kccadr" level="DEBUG"></Logger> <Logger name="egovframework.kccadr" level="DEBUG"></Logger>
<!-- <Logger name="jdbc.sqlonly" level="DEBUG"> <!-- <Logger name="jdbc.sqlonly" level="DEBUG">
<RegexFilter regex="(?s).*NOT_SQL_LOG.*" onMatch="DENY" onMismatch="NEUTRAL" useRawMsg="true" /> <RegexFilter regex="(?s).*NOT_SQL_LOG.*" onMatch="DENY" onMismatch="NEUTRAL" useRawMsg="true" />
</Logger> --> </Logger> -->
<Logger name="jdbc.sqltiming" level="WARN" additivity="false"> <Logger name="jdbc.sqltiming" level="WARN" additivity="false">
<AppenderRef ref="console" /> <AppenderRef ref="console" />
</Logger> </Logger>
<Logger name="jdbc.audit" level="OFF"></Logger> <Logger name="jdbc.audit" level="OFF"></Logger>
<Logger name="jdbc.resultset" level="OFF"></Logger> <Logger name="jdbc.resultset" level="OFF"></Logger>
<Logger name="jdbc.resultsettable" level="OFF"></Logger> <Logger name="jdbc.resultsettable" level="OFF"></Logger>
<Logger name="jdbc.connection" level="OFF"></Logger> <Logger name="jdbc.connection" level="OFF"></Logger>
<logger name="java.sql.ResultSet" level="OFF"></logger> <logger name="java.sql.ResultSet" level="OFF"></logger>
<logger name="java.sql.PreparedStatement" level="OFF"></logger> <logger name="java.sql.PreparedStatement" level="OFF"></logger>
<logger name="java.sql.Connection" level="OFF"></logger> <logger name="java.sql.Connection" level="OFF"></logger>
<logger name="org.quartz.core.QuartzSchedulerThread" level="OFF"></logger> <logger name="org.quartz.core.QuartzSchedulerThread" level="OFF"></logger>
<logger name="org.quartz.core.JobRunShell" level="OFF"></logger> <logger name="org.quartz.core.JobRunShell" level="OFF"></logger>
<logger name="log4jdbc.debug" level="OFF"></logger> <logger name="log4jdbc.debug" level="OFF"></logger>
<Root level="DEBUG"> <Root level="DEBUG">
<AppenderRef ref="console" /> <AppenderRef ref="console" />
</Root> </Root>
</Loggers> </Loggers>
</Configuration> </Configuration>

View File

@ -322,12 +322,14 @@ function jstreeInit() {
//코드 정보 세팅 //코드 정보 세팅
function fn_setting_menuNo(cmmnClCodeVO){ function fn_setting_menuNo(cmmnClCodeVO){
//upperIdxs = upperIdxs.join("|"); //upperIdxs = upperIdxs.join("|");
var tmpHtml = ""; var tmpHtml = "";
if(cmmnClCodeVO!=null){ if(cmmnClCodeVO!=null){
$('#menuNo').val(cmmnClCodeVO.codeId); $('#menuNo').val(cmmnClCodeVO.codeId);
$('#tmp_Id').val(cmmnClCodeVO.codeId); $('#tmp_Id').val(cmmnClCodeVO.codeId);
$('#menuNm').val(cmmnClCodeVO.codeNm); $('#menuNm').val(cmmnClCodeVO.codeNm);
$('#menuDc').val(cmmnClCodeVO.codeDc); $('#menuDc').val(cmmnClCodeVO.codeDc);
$('#sort').val(cmmnClCodeVO.sort);
$('#upperMenuIdText').text(cmmnClCodeVO.parent); $('#upperMenuIdText').text(cmmnClCodeVO.parent);
$('#upperMenuId').val(cmmnClCodeVO.parent); $('#upperMenuId').val(cmmnClCodeVO.parent);
$('#useYn').val(cmmnClCodeVO.useAt); $('#useYn').val(cmmnClCodeVO.useAt);
@ -600,6 +602,12 @@ function fn_save_menuInfo(menuNo) {
<input type="text" name="menuDc" id="menuDc" /> <input type="text" name="menuDc" id="menuDc" />
</td> </td>
</tr> </tr>
<tr>
<th><span>정렬순서</span></th>
<td>
<input type="text" name="sort" id="sort" />
</td>
</tr>
<tr> <tr>
<th><span>사용/미사용</span></th> <th><span>사용/미사용</span></th>
<td> <td>

File diff suppressed because it is too large Load Diff

View File

@ -255,6 +255,57 @@ function getYears(getYear){
}); });
} }
} }
// 강사이력 등록팝업
function fnInstrHstryInsert() {
/*
var p_stngYr = $("#listForm #stngYr").val();
if(p_stngYr==''){
alert("회차관리 대상 년도를 선택해주세요.");
return false;
}
document.listForm.yr.value = p_stngYr;
*/
//document.listForm.authorCode.value = vAuthorCode;
//document.listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/popup/advRndsStngMngPopup.do'/>";
document.listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/popup/instrHstryMngPopup.do'/>";
window.open("#", "_instrHstryMngPop", "scrollbars = no, top=100px, left=100px, height=800px, width=1000px");
document.listForm.target = "_instrHstryMngPop";
document.listForm.submit();
}
// 이력관리 삭제
function fnInstrHstryDelete(p_instr_hstry_ord) {
$("#listForm #instrHstryOrd").val(p_instr_hstry_ord);
var data1 = new FormData(document.getElementById("listForm"));
if(confirm("해당 이력을 삭제하시겠습니까?)")){
$.ajax({
type:"POST",
url: "${pageContext.request.contextPath}/ve/oprtn/instr/tngrVisitEdu/instrInfo/popup/instrHstryDelAjax.do",
data: data1,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == 'success'){
alert("삭제 되었습니다.");
location.reload();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
</script> </script>
<%-- <form id="pop" name="pop" method="post"> <%-- <form id="pop" name="pop" method="post">
<input type="hidden" name="userId" id="userId" value="<c:out value='${info.userId}'/>"/> <!-- 사용자 아이디 --> <input type="hidden" name="userId" id="userId" value="<c:out value='${info.userId}'/>"/> <!-- 사용자 아이디 -->
@ -788,8 +839,73 @@ function getYears(getYear){
</div> </div>
</div> </div>
<div class="tb_tit01">
<p>이력관리</p>
</div>
<div class="tb_type01">
<table>
<colgroup>
<col style="width: 18%;">
<col style="width: 18%;">
<col style="width: 18%;">
<col style="width: 18%;">
<col style="width: 18%;">
<col style="width: 10%;">
</colgroup>
<thead>
<tr>
<th scope="col">교육명</th>
<th scope="col">교육기간</th>
<th scope="col">비고</th>
<th scope="col">등록자</th>
<th scope="col">등록일</th>
<th scope="col">삭제</th>
</tr>
</thead>
<tbody>
<c:forEach var="pList" items="${selectListVEAIHM}" varStatus="status">
<tr>
<td><c:out value="${pList.sbjct}" /></td>
<td><c:out value="${pList.strtDt}" />~<c:out value="${pList.ddlnDt}" /></td>
<td><c:out value="${pList.cn}" /></td>
<td><c:out value="${pList.userNm}" /></td>
<td><c:out value="${pList.frstRegistPnttm}" /></td>
<td>
<button type="button" class="btn_type04" onclick="fnInstrHstryDelete('<c:out value="${pList.instrHstryOrd}" />'); return false;">삭제</button>
</td>
</tr>
</c:forEach>
<c:if test="${empty selectListVEAIHM}">
<tr><td colspan="6"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<div class="btn_wrap btn_layout01">
<div class="btn_left" style="width:60%;">
</div>
<div class="btn_right">
<button type="button" class="btn_type04" onclick="fnInstrHstryInsert(); return false;">이력 등록</button>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
</form:form> </form:form>
<!-- //cont --> <!-- //cont -->
<form:form id="listForm" name="listForm" method="post" onsubmit="return false;">
<input type="hidden" name="pnltyCd" id="pnltyCd" value="" />
<input type="hidden" name="pnltyOrd" id="pnltyOrd" value="" />
<input type="hidden" name="instrHstryOrd" id="instrHstryOrd" value="" />
<input type="hidden" name="memoCn" id="memoCn" value="" />
<input type="hidden" name="userId" id="userId" value="<c:out value='${info.userId}'/>" />
</form:form>

View File

@ -107,7 +107,7 @@
<tr> <tr>
<th scope="row">관할청</th> <th scope="row">관할청</th>
<td> <td>
<c:out value="${info.cmptntAthrt }" /> <ve:code codeId="VEA008" code="${info.cmptntAthrt }"/>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -170,6 +170,17 @@
</div> </div>
</td> </td>
</tr> </tr>
<tr>
<th scope="row">
<p>첨부파일</p>
</th>
<td>
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${info.atchFileId}" />
<c:param name="pdf_view" value="Y" />
</c:import>
</td>
</tr>
</tbody> </tbody>
</table> </table>
</div> </div>

View File

@ -303,7 +303,7 @@
<c:out value="${list.vntYear }" />형제<c:out value="${list.vntNmbr }" /> <c:out value="${list.vntYear }" />형제<c:out value="${list.vntNmbr }" />
</td> </td>
<td> <td>
<c:out value="${list.cmptntAthrt }" /> <ve:code codeId="VEA008" code="${list.cmptntAthrt }"/>
</td> </td>
<td> <td>
<c:out value="${list.dBirth }" /> <c:out value="${list.dBirth }" />
@ -334,7 +334,7 @@
</tr> </tr>
</c:forEach> </c:forEach>
<c:if test="${empty list}"> <c:if test="${empty list}">
<tr><td colspan="3"><spring:message code="common.nodata.msg" /></td></tr> <tr><td colspan="11"><spring:message code="common.nodata.msg" /></td></tr>
</c:if> </c:if>
</tbody> </tbody>
</table> </table>

View File

@ -29,7 +29,16 @@
<title>교육과정관리</title> <title>교육과정관리</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript"> <script type="text/javascript">
//세부과정 추가 버튼 클릭 시 세부과정 추가 $(document).ready(function() {
//파일첨부관련 설정들===============================================
$(".btn_type01").on('click', function(){
$("#file_temp").click();
});
//파일첨부관련 설정들===============================================
});
function addPro() { function addPro() {
var addQuest = $(".addPro_wrap"); var addQuest = $(".addPro_wrap");
var questLen = addQuest.children("div").length; var questLen = addQuest.children("div").length;
@ -105,28 +114,36 @@
} }
var data = new FormData(document.getElementById("createForm")); var data = new FormData(document.getElementById("createForm"));
if(confirm("수정하시겠습니까?")){
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtMdfyAjax.do'/>"; //첨부파일 등록 처리-step2
$.ajax({ _fileForm2.forEach(function(obj, idx) {
type:"POST", if (obj) data.append("file"+idx, obj.fileObj);
url: url, });
data: data,
dataType:'json', if(confirm("수정하시겠습니까?")){
async: false, var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtMdfyAjax.do'/>";
processData: false, $.ajax({
contentType: false, type:"POST",
cache: false, enctype: 'multipart/form-data',
success:function(returnData){ url: url,
if(returnData.result == "success"){ data: data,
alert("수정되었습니다."); dataType:'json',
fncGoList(); async: false,
} processData: false,
}, contentType: false,
error:function(request , status, error){ cache: false,
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); success:function(returnData){
if(returnData.result == "success"){
alert("수정되었습니다.");
fncGoList();
} }
}); },
} error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
} }
@ -147,7 +164,7 @@
} }
// 관할청 검사 // 관할청 검사
if($("input[name='cmptntAthrt']").val().trim() == ""){ if($("input[name='cmptntAthrt']").val()){
alert("관할청을 입력해주세요."); alert("관할청을 입력해주세요.");
$("input[name='cmptntAthrt']").focus(); $("input[name='cmptntAthrt']").focus();
return true; return true;
@ -181,11 +198,11 @@
} }
// 의뢰상태 검사 // 의뢰상태 검사
if($("#reqStateCd").val().trim() == ""){ /* if($("#reqStateCd").val().trim() == ""){
alert("의뢰상태를 입력해주세요."); alert("의뢰상태를 입력해주세요.");
$("input[name='reqStateCd']").focus(); $("input[name='reqStateCd']").focus();
return true; return true;
} } */
// 교육상태 검사 // 교육상태 검사
/* if($("input[name='eduStateCd']").val().trim() == ""){ /* if($("input[name='eduStateCd']").val().trim() == ""){
@ -219,6 +236,39 @@
listForm.submit(); listForm.submit();
} }
/* 파일등록 */
var _fileIdx = 0;
var _fileForm2 = new Array();
function handleFileUpload(files,obj) //업로드 function
{
var limitsize = 20*1024*1024; //파일 제한 체크(1개, 20MB)
for (var i = 0; i < files.length; i++){
if(files[i].size > limitsize){
alert(files[i].name+"파일 사이즈가"+getStrFileSize(files[i].size)+"로 20MB이하만 업로드 가능합니다.");
return ;
}
}
for (var i = 0; i < files.length; i++)
{
var fd = new FormData();
fd.append('file', files[i]);
var tmpObj = new Object();
tmpObj.name = "file_" + _fileIdx;
tmpObj.fileObj = files[i];
_fileForm2.push(tmpObj);
sendFileToServer(fd, obj, files[i], _fileIdx);
_fileIdx++;
var totalfileSize = 0;
$('.totalfileCount').text($('.item_file_size').length) ;
$('.item_file_size').each(function(){
totalfileSize += $(this).val()*1 ;
});
$('.totalfileSize').text(getStrFileSize(totalfileSize)) ;
}
}
</script> </script>
</head> </head>
@ -227,6 +277,7 @@
</form:form> </form:form>
<form:form id="createForm" name="createForm" commandName="vEPrcsDetailVO" method="post"> <form:form id="createForm" name="createForm" commandName="vEPrcsDetailVO" method="post">
<input type="hidden" name="sspnIdtmtTrgtOrd" value="<c:out value='${info.sspnIdtmtTrgtOrd}' />"/> <input type="hidden" name="sspnIdtmtTrgtOrd" value="<c:out value='${info.sspnIdtmtTrgtOrd}' />"/>
<input type="hidden" name="atchFileId" value="<c:out value='${info.atchFileId}' />" />
<!-- cont --> <!-- cont -->
<div class="cont_wrap"> <div class="cont_wrap">
<div class="box"> <div class="box">
@ -281,7 +332,10 @@
<tr> <tr>
<th scope="row">관할청</th> <th scope="row">관할청</th>
<td> <td>
<input type="text" name="cmptntAthrt" value="<c:out value="${info.cmptntAthrt }" />" /> <ve:select codeId="VEA008" name="cmptntAthrt" id="cmptntAthrt" css="class='sel_type1'"
selectedText="${info.cmptntAthrt }" defaultValue=""
defaultText='선택'
/>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -358,6 +412,87 @@
</div> </div>
</td> </td>
</tr> </tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>첨부파일</p>
</th>
<td class="upload_area" colspan="3">
<!-- <input type="text" id="fileNm" size="30" class="file_input" readonly> --><!-- <button type="button" class="btnType01 btn_add_file">파일 첨부하기</button> -->
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
<button type="button" id="filebutton" class="btn_type01">파일 첨부하기</button>
<p style="padding-left:30px;">첨부파일 가능 용량은 20MB입니다. </p><p style="color:red;font-weight:500">업로드 순서는 1.신청서 2.안내문 입니다.</p>
<div class="file_wrap file_upload_box no_img_box">
<table class="tbType02">
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%;">
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 10%;">
</colgroup>
<thead>
<!-- <th>
<input type="checkbox" id="all_check"><label for="all_check"></label>
</th> -->
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody class="tb_file_before">
<tr>
<td colspan="4">
<p>첨부하실 파일을 <span>마우스로 끌어서</span> 넣어주세요.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="file_wrap fileAfter file_list_div">
<table class="tbType02">
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%">
<col style="width: 10%">
<col style="width: 20%">
<col style="width: 10%">
</colgroup>
<thead>
<!-- <th>
<input type="checkbox" id="all_check"><label for="all_check"></label>
</th> -->
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody id="tbody_fiielist" class="tb_file_after">
<c:forEach var="fileList" items="${fileList}" varStatus="status">
<tr class="item_<c:out value='${fileList.atchFileId}' />_<c:out value='${fileList.fileSn}' /> uploaded_obj">
<input type="hidden" name="fileSize" class="item_file_size" value="${fileList.fileSize}">
<td class="td_filename">
<!-- <img src="/direct/img/upload_hwp_img.png" alt="" /> -->
<span class="file_name_text"><c:out value='${fileList.orignlFileNm}' /></span>
</td>
<td class="td_filesort">
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>"><c:out value="${fileList.fileExtsn}"/></span>
</td>
<td class="td_filesize">
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>"><c:out value="${fileList.fileMg}"/></span>
</td>
<td>
<button type="button" class="btn_del" onclick="delAtchFile('<c:out value='${fileList.atchFileId}' />', '<c:out value='${fileList.fileSn}' />'); return false;" title="파일삭제"><i></i></button>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</td>
</tr>
</tbody> </tbody>
</table> </table>
</div> </div>

View File

@ -0,0 +1,367 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<un:useConstants var="KccadrStatus" className="kcc.kccadr.cmm.KccadrConstants" />
<%
/**
* @Class Name : cndtnEduPrcsMngList.jsp
* @Description : 조건부 기소유예 과정관리 목록
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.12.14 조용준 최초 생성
* @author 조용준
* @since 2021.12.14
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style>
input:read-only{
background-color: #ededed;
}
</style>
<script type="text/javascript">
$(document).ready(function(){
searchInit();
// 검색 select box
$('#searchStatus').change(function(){
$('#searchKeyword').val('');
$('#searchSmbtStartDt').val('');
$('#searchSmbtEndDt').val('');
if($(this).val() == 'frstRegistPnttm'){
$('#searchKeyword').hide();
$('#calendar').show();
}
if($(this).val() == 'trgt_nm'){
$('#searchKeyword').attr('placeholder', '이름을 입력해 주세요.');
$('#calendar').hide();
$('#searchKeyword').show();
}
if($(this).val() == 'd_birth'){
$('#searchKeyword').attr('placeholder', '생년월일을 입력해 주세요.');
$('#calendar').hide();
$('#searchKeyword').show();
}
});
});
function searchInit(){
var selecedTxt = $('#searchStatus option:checked').val();
console.log('selecedTxt : ', selecedTxt);
if(selecedTxt == 'trgt_nm' || selecedTxt == 'd_birth'){
$('#calendar').hide();
}else{
$('#searchKeyword').hide();
}
}
function fncGoList(){
linkPage(1);
}
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.searchKeyword.value = $('#searchKeyword').val();
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtList.do'/>";
listForm.submit();
}
function fncGoDetail(sspnIdtmtTrgtOrd){
var detailForm = document.detailForm ;
detailForm.sspnIdtmtTrgtOrd.value = sspnIdtmtTrgtOrd;
detailForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtDetail.do'/>";
detailForm.submit();
}
function fncCreate() {
var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtReg.do'/>";
listForm.submit();
}
function fncDelete(prcsOrd){
document.listForm.prcsOrd.value = prcsOrd ;
var pageIndex = document.listForm.pageIndex.value;
if($(".listCount").length == '1'){
pageIndex = pageIndex -1;
}
var data = new FormData(document.getElementById("listForm"));
if(confirm("삭제하시겠습니까?")){
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngDeleteAjax.do'/>";
console.log(data);
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
alert("삭제되었습니다.");
document.listForm.prcsOrd.value = ""; //리스트 이동시 prcsOrd 초기화
linkPage(pageIndex);
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
event.stopImmediatePropagation();
}
function fncSaveSort(prcsOrd, count){
var sortNo = $('#prcsSortNo'+count).val();
if(sortNo == ''){
alert("표시순서를 입력해 주세요.");
return false;
}
$('#prcsOrd').val(prcsOrd);
$('#prcsSortNo').val(sortNo);
var data = new FormData(document.getElementById("listForm"));
var url = "<c:url value='/kccadr/oprtn/otsdCprtnPrcs/eduPrcsSortUpdateAjax.do'/>";
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
alert("저장되었습니다.");
document.listForm.prcsOrd.value = ""; //리스트 이동시 prcsOrd 초기화
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
</script>
<title>교육과정관리</title>
</head>
<body>
<form id="detailForm" name="detailForm" method="post" >
<input type="hidden" id="sspnIdtmtTrgtOrd" name="sspnIdtmtTrgtOrd" value="" />
</form>
<form:form id="listForm" name="listForm" method="post" commandName="vEPrcsDetailVO" onsubmit="return false;">
<input type="hidden" name="pageIndex" value="<c:out value='${vEPrcsDetailVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEPrcsDetailVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEPrcsDetailVO.searchSortOrd}" />" />
<input type="hidden" id="prcsOrd" name="prcsOrd" value="" />
<input type="hidden" id="prcsSortNo" name="prcsSortNo" value="" />
<div class="cont_wrap">
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>대상자 목록</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>조건부기소유예관리</p>
</li>
<li><span class="cur_nav">대상자 목록</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<div class="tb_tit01">
<p>대상자 목록</p>
</div>
<!-- list_top -->
<div class="list_top search-only">
<div class="list_top_1">
<div class="util_right">
<select name="searchStatus" id="searchStatus" class="sel_type1">
<option value="trgt_nm" <c:if test="${cndtnTrgtInfoMngVO.searchStatus == 'trgt_nm' }">selected="selected"</c:if>>이름</option>
<option value="d_birth" <c:if test="${cndtnTrgtInfoMngVO.searchStatus == 'd_birth' }">selected="selected"</c:if>>생년월일</option>
<option value="frstRegistPnttm" <c:if test="${cndtnTrgtInfoMngVO.searchStatus == 'frstRegistPnttm' }">selected="selected"</c:if>>기간별</option>
</select>
<div id="calendar">
<div class="calendar_wrap">
<input type="text" class="calendar" placeholder="시작일" title="시작일 선택" id="searchSmbtStartDt" name="searchSmbtStartDt" value="${cndtnTrgtInfoMngVO.searchSmbtStartDt}">
</div>
~
<div class="calendar_wrap">
<input type="text" class="calendar" placeholder="종료일" title="종료일 선택" id="searchSmbtEndDt" name="searchSmbtEndDt" value="${cndtnTrgtInfoMngVO.searchSmbtEndDt}">
</div>
</div>
<input type="text" id="searchKeyword" name="searchKeyword" placeholder="이름을 입력해주세요." title="검색어 입력" class="search_input" value="<c:out value='${cndtnTrgtInfoMngVO.searchKeyword}'/>">
<button type="button" class="btn_type08" onclick="fncGoList(); return false;">검색</button>
<!-- <button class="btn_type03" onclick="fncReset(this); return false;">초기화</button> -->
</div>
</div>
</div>
<div class="list_util">
<p class="list_util_p"><span><c:out value="${paginationInfo.totalRecordCount}" /></span>건의 접수가 검색되었습니다.</p>
<div>
<select class="sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px" class="sel_type1">
<option value='10' <c:if test="${cndtnTrgtInfoMngVO.pageUnit == '10' or cndtnTrgtInfoMngVO.pageUnit == ''}">selected</c:if>>10줄</option>
<option value='20' <c:if test="${cndtnTrgtInfoMngVO.pageUnit == '20'}">selected</c:if>>20줄</option>
<option value='30' <c:if test="${cndtnTrgtInfoMngVO.pageUnit == '30'}">selected</c:if>>30줄</option>
<option value='100' <c:if test="${cndtnTrgtInfoMngVO.pageUnit == '100'}">selected</c:if>>100줄</option>
</select>
<%--<button type="button" class="btn_down_excel">엑셀 다운로드</button>--%>
</div>
</div>
<!-- //list_top -->
<!-- list -->
<div class="tb_type01">
<table>
<colgroup>
<col style="width: 10%">
<col style="width: 10%">
<col style="width: 2px">
<col style="width: 2px">
<col style="width: 2px">
<col style="width: 2px">
<col style="width: 10%">
<col style="width: 10%">
<col style="width: 10%">
<col style="width: 2px">
<col style="width: 2px">
</colgroup>
<thead>
<tr>
<th>의뢰일</th>
<th>사건번호</th>
<th>관할청</th>
<th>생년월일</th>
<th>성명</th>
<th>성별</th>
<th>의뢰번호</th>
<th>의뢰상태</th>
<th>교육상태</th>
<th>주소</th>
<th>검사명</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<tr class="listCount" onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;">
<%-- <td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;"> --%>
<%-- <c:out value='${list.prcsNm}'/> --%>
<!-- </td> -->
<td>
<c:set var="reqPnttm" value="${fn:substring(list.reqPnttm, 0, 10)}" />
<%-- <fmt:formatDate value="${list.reqPnttm }" pattern="yyyy-MM-dd" /> --%>
<c:out value="${reqPnttm }" />
</td>
<td>
<c:out value="${list.vntYear }" />형제<c:out value="${list.vntNmbr }" />
</td>
<td>
<ve:code codeId="VEA008" code="${list.cmptntAthrt }"/>
</td>
<td>
<c:out value="${list.dBirth }" />
</td>
<td>
<c:out value="${list.trgtNm }" />
</td>
<td>
<ve:code codeId="COM014" code="${list.sex }"/>
</td>
<td>
<c:out value="${list.reqNmbr }" />
</td>
<td>
<ve:code codeId="VEA005" code="${list.reqStateCd }"/>
</td>
<td>
<ve:code codeId="VEA002" code="${list.eduStateCd }"/>
</td>
<c:set var="fullAddr" value="${list.addr} ${list.addrDetail}" />
<%-- <c:set var="fullAddr" value="${list.addr}" /> --%>
<td title="${fullAddr}">
${fn:length(fullAddr)> 5 ? fn:substring(fullAddr, 0, 5).concat('...') : ''}
</td>
<td>
<c:out value="${list.prsctrNm }" />
</td>
</tr>
</c:forEach>
<c:if test="${empty list}">
<tr><td colspan="3"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<!-- //list -->
<!-- page -->
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btn_type01" onclick="fncCreate(); return false;">등록</button>
</div>
</div>
<!-- //page -->
</div>
</div>
</div>
<!-- //cont -->
<!-- //cont -->
</form:form>
</body>
</html>

View File

@ -0,0 +1,518 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%
/**
* @Class Name : cndtnEduPrcsMngMdfy.jsp
* @Description : 조건부기소유예 수정
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.12.16 조용준 최초 생성
* @author 조용주
* @since 2021.12.16
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<title>교육과정관리</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
$(document).ready(function() {
//파일첨부관련 설정들===============================================
$(".btn_type01").on('click', function(){
$("#file_temp").click();
});
//파일첨부관련 설정들===============================================
});
function addPro() {
var addQuest = $(".addPro_wrap");
var questLen = addQuest.children("div").length;
questLen = Number(questLen+1);
var trHtml="";
trHtml += '<div class="tbody_one">';
trHtml += '<span><span class="span_num3">'+ questLen +'</span>.</span>';
trHtml += '<div>';
trHtml += '<input type="text" name="detailPrcsNm" id="detailPrcsNm"> ';
trHtml += '<button type="button" class="table_del3" onclick="delPro(this)"><img src="${pageContext.request.contextPath}/visitEdu/adm/publish/image/content/btn_del.png"></button>';
trHtml += '</div>';
trHtml += '</div>';
addQuest.append(trHtml);
}
//삭제 버튼 클릭 시 현재 div 삭제 후 지문 숫자 재선언
function delPro(item) {
var bodyThis = $(item).closest('.tbody_one');
var tb = $(item).closest('.addPro_wrap').find('.tbody_one');
var len = $(item).closest('.addPro_wrap').children('.tbody_one').length;
var idx = bodyThis.index();
if(len == 1){
alert("세부과정은 최소1개가 존재해야합니다.");
return false;
}else{
bodyThis.remove();
for(var i=0;i<len;i++){
if(idx>i){
tb.eq(i).find('.span_num3').text(i+1);
}else{
tb.eq(i).find('.span_num3').text(i);
}
}
}
}
function fncAddUser(){
var obj = $(".memList:first").clone(true);
obj.children('input').val('')
/*
var len = $(".memList").length;
$.each(obj.find("input"), function(idx, objInput){
objInput.name = objInput.name.replace(/\[.*\]/,'['+(len+1)+']');
console.log(objInput.name);
if(objInput.name.indexOf("memGrade") < 0){
objInput.value = '';
}
});
obj.find("button").attr("id", obj.find("button").attr("id").replace(/[0-9]/gi, len+2));
obj.find("tr:last > td").text("");
*/
$(".memList:last").after(obj);
}
function fncDelUser(obj){
if($(".memList").length <= 1){
alert("담당자은 최소1개가 존재해야합니다.");
}else{
$(obj).closest("td").remove();
}
}
function fncSave(){
if(fn_valChk())
{
return false;
}
var data = new FormData(document.getElementById("createForm"));
//첨부파일 등록 처리-step2
_fileForm2.forEach(function(obj, idx) {
if (obj) data.append("file"+idx, obj.fileObj);
});
if(confirm("수정하시겠습니까?")){
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtMdfyAjax.do'/>";
$.ajax({
type:"POST",
enctype: 'multipart/form-data',
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
alert("수정되었습니다.");
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
function fn_valChk(){
// 의뢰일 검사
if($("#reqPnttm").val().trim() == ""){
alert("의뢰일을 입력해주세요.");
$("#reqPnttm").focus();
return true;
}
// 사건번호 검사
if($("input[name='vntNmbr']").val().trim() == ""){
alert("사건번호를 입력해주세요.");
$("input[name='vntNmbr']").focus();
return true;
}
// 관할청 검사
if($("input[name='cmptntAthrt']").val()){
alert("관할청을 입력해주세요.");
$("input[name='cmptntAthrt']").focus();
return true;
}
if($("#sex").val() == "선택" || $("#sex").val().trim() == ""){
alert("성별을 선택해주세요.");
$("#sex").focus();
return true;
}
// 성명 검사
if($("input[name='trgtNm']").val().trim() == ""){
alert("성명을 입력해주세요.");
$("input[name='trgtNm']").focus();
return true;
}
// 생년월일 검사
if($("#dBirth").val().trim() == ""){
alert("생년월일을 입력해주세요.");
$("#dBirth").focus();
return true;
}
// 의뢰번호 검사
if($("input[name='reqNmbr']").val().trim() == ""){
alert("의뢰번호를 입력해주세요.");
$("input[name='reqNmbr']").focus();
return true;
}
// 의뢰상태 검사
/* if($("#reqStateCd").val().trim() == ""){
alert("의뢰상태를 입력해주세요.");
$("input[name='reqStateCd']").focus();
return true;
} */
// 교육상태 검사
/* if($("input[name='eduStateCd']").val().trim() == ""){
alert("교육상태를 입력해주세요.");
$("input[name='eduStateCd']").focus();
return true;
}
*/
// 검사명 검사
if($("input[name='prsctrNm']").val().trim() == ""){
alert("검사명을 입력해주세요.");
$("input[name='prsctrNm']").focus();
return true;
}
// 주소 검사
if($("#post").val().trim() == "" || $("#addr").val().trim() == ""){
alert("주소를 입력해주세요.");
$("#post").focus();
return true;
}
return false; // 모든 검사를 통과하면 false 반환
}
function fncGoList(){
var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtList.do'/>";
listForm.submit();
}
/* 파일등록 */
var _fileIdx = 0;
var _fileForm2 = new Array();
function handleFileUpload(files,obj) //업로드 function
{
var limitsize = 20*1024*1024; //파일 제한 체크(1개, 20MB)
for (var i = 0; i < files.length; i++){
if(files[i].size > limitsize){
alert(files[i].name+"파일 사이즈가"+getStrFileSize(files[i].size)+"로 20MB이하만 업로드 가능합니다.");
return ;
}
}
for (var i = 0; i < files.length; i++)
{
var fd = new FormData();
fd.append('file', files[i]);
var tmpObj = new Object();
tmpObj.name = "file_" + _fileIdx;
tmpObj.fileObj = files[i];
_fileForm2.push(tmpObj);
sendFileToServer(fd, obj, files[i], _fileIdx);
_fileIdx++;
var totalfileSize = 0;
$('.totalfileCount').text($('.item_file_size').length) ;
$('.item_file_size').each(function(){
totalfileSize += $(this).val()*1 ;
});
$('.totalfileSize').text(getStrFileSize(totalfileSize)) ;
}
}
</script>
</head>
<body>
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
</form:form>
<form:form id="createForm" name="createForm" commandName="vEPrcsDetailVO" method="post">
<input type="hidden" name="sspnIdtmtTrgtOrd" value="<c:out value='${info.sspnIdtmtTrgtOrd}' />"/>
<input type="hidden" name="atchFileId" value="<c:out value='${info.atchFileId}' />" />
<!-- cont -->
<div class="cont_wrap">
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>대상자 수정</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>조건부기소유예관리</p>
</li>
<li><span class="cur_nav">대상자 목록</span></li>
<li><span class="cur_nav">대상자 수정</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<!-- list_상세 -->
<div class="tb_tit01">
<p>대상자 수정</p>
</div>
<div class="tb_type02">
<table>
<colgroup>
<col style="width: 210px;">
<col style="width: auto;">
<col style="width: 210px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">의뢰일</th>
<td>
<div id="calendar">
<div class="calendar_wrap">
<c:set var="reqPnttm" value="${fn:substring(info.reqPnttm, 0, 10)}" />
<input type="text" class="calendar" placeholder="의뢰일" title="의뢰일 선택" id="reqPnttm" name="reqPnttm" value="<c:out value="${reqPnttm }" />" />
</div>
</div>
</td>
</tr>
<tr>
<th scope="row">사건번호</th>
<td>
<input type="text" name="vntYear" style="width: 150px;margin-right: 10px;" value="<c:out value="${info.vntYear }" />"/>형제
<input type="text" name="vntNmbr" style="width: 150px;margin-left: 10px;" value="<c:out value="${info.vntNmbr }" />"/>
</td>
</tr>
<tr>
<th scope="row">관할청</th>
<td>
<ve:select codeId="VEA008" name="cmptntAthrt" id="cmptntAthrt" css="class='sel_type1'"
selectedText="${info.cmptntAthrt }" defaultValue=""
defaultText='선택'
/>
</td>
</tr>
<tr>
<th scope="row">성별</th>
<td>
<%-- <c:set var="reqPnttm" value="<ve:code codeId="COM014" code="${info.sex }"/>" /> --%>
<ve:select codeId="COM014" name="sex" id="sex" css="class='sel_type1'"
selectedValue="${info.sex }" defaultValue=""
defaultText='선택'
/>
</td>
<th scope="row">연락처</th>
<td>
<input type="text" name="clphone" id="clphone" placeholder="00000000000" maxlength="11" value="<c:out value="${info.clphone }" />" />
</td>
</tr>
<tr>
<th scope="row">성명</th>
<td>
<input type="text" name="trgtNm" value="<c:out value="${info.trgtNm }" />" />
</td>
<th scope="row">생년월일</th>
<td>
<input type="text" name="dBirth" id="dBirth" placeholder="00000000" maxlength="8" value="<c:out value="${info.dBirth }" />" />
</td>
</tr>
<!-- <tr>
<th scope="row">연락처(핸드폰)</th>
<td>
<input type="text" name="clphone" />
</td>
</tr> -->
<tr>
<th scope="row">의뢰번호</th>
<td>
<input type="text" name="reqNmbr" value="<c:out value="${info.reqNmbr }" />" />
</td>
<th scope="row">의뢰상태</th>
<td>
<ve:select codeId="VEA005" name="reqStateCd" id="reqStateCd" css="class='sel_type1'"
selectedValue="${info.reqStateCd }" defaultValue=""
defaultText='선택'
/>
</td>
</tr>
<tr>
<th scope="row">교육상태</th>
<td>
<ve:select codeId="VEA002" name="eduStateCd" id="eduStateCd" css="class='sel_type1'"
selectedValue="${info.eduStateCd }" defaultValue=""
defaultText='선택'
/>
</td>
<th scope="row">검사명</th>
<td>
<input type="text" name="prsctrNm" value="<c:out value="${info.prsctrNm }" />" />
</td>
</tr>
<tr class="input_adress">
<th scope="row">
<p>주소</p>
</th>
<td colspan="3">
<label for="post" class="label">우편번호 입력</label>
<input type="text" size="20" name="post" id="post" class="adr_input" style="background-color: #eee;" value="<c:out value='${info.post}'/>" readonly>
<button class="btnType01 btn_adr_search" onclick="fn_postCode(this); return false;">우편번호 검색</button>
<div class="detail_address">
<label for="addr" class="label">주소 입력</label>
<input type="text" size="60" name="addr" id="addr" class="searchResultAddr" value="<c:out value='${info.addr}'/>" readonly>
<label for="addrDetail" class="label">나머지 주소 입력</label>
<input type="text" size="20" name="addrDetail" id="addrDetail" class="usrInsertAddr" value="<c:out value='${info.addrDetail}'/>" maxLength="100" placeholder="나머지 주소">
</div>
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>첨부파일</p>
</th>
<td class="upload_area" colspan="3">
<!-- <input type="text" id="fileNm" size="30" class="file_input" readonly> --><!-- <button type="button" class="btnType01 btn_add_file">파일 첨부하기</button> -->
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
<button type="button" id="filebutton" class="btn_type01">파일 첨부하기</button>
<p style="padding-left:30px;">첨부파일 가능 용량은 20MB입니다. </p><p style="color:red;font-weight:500">업로드 순서는 1.신청서 2.안내문 입니다.</p>
<div class="file_wrap file_upload_box no_img_box">
<table class="tbType02">
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%;">
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 10%;">
</colgroup>
<thead>
<!-- <th>
<input type="checkbox" id="all_check"><label for="all_check"></label>
</th> -->
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody class="tb_file_before">
<tr>
<td colspan="4">
<p>첨부하실 파일을 <span>마우스로 끌어서</span> 넣어주세요.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="file_wrap fileAfter file_list_div">
<table class="tbType02">
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%">
<col style="width: 10%">
<col style="width: 20%">
<col style="width: 10%">
</colgroup>
<thead>
<!-- <th>
<input type="checkbox" id="all_check"><label for="all_check"></label>
</th> -->
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody id="tbody_fiielist" class="tb_file_after">
<c:forEach var="fileList" items="${fileList}" varStatus="status">
<tr class="item_<c:out value='${fileList.atchFileId}' />_<c:out value='${fileList.fileSn}' /> uploaded_obj">
<input type="hidden" name="fileSize" class="item_file_size" value="${fileList.fileSize}">
<td class="td_filename">
<!-- <img src="/direct/img/upload_hwp_img.png" alt="" /> -->
<span class="file_name_text"><c:out value='${fileList.orignlFileNm}' /></span>
</td>
<td class="td_filesort">
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>"><c:out value="${fileList.fileExtsn}"/></span>
</td>
<td class="td_filesize">
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>"><c:out value="${fileList.fileMg}"/></span>
</td>
<td>
<button type="button" class="btn_del" onclick="delAtchFile('<c:out value='${fileList.atchFileId}' />', '<c:out value='${fileList.fileSn}' />'); return false;" title="파일삭제"><i></i></button>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<!-- btn_wrap -->
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btn_type02" onclick="fncSave(); return false;">수정</button>
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">취소</button>
</div>
</div>
</div>
</div>
</div>
</form:form>
<!-- //cont -->
</body>
</html>

View File

@ -0,0 +1,458 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%
/**
* @Class Name : cndtnEduPrcsMngReg.jsp
* @Description : 조건부기소유예 과정 등록
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.12.16 조용준 최초 생성
* @author 조용주
* @since 2021.12.16
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<title>교육과정관리</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
//세부과정 추가 버튼 클릭 시 세부과정 추가
$(document).ready(function() {
$(".btn_type01").on('click', function(){
$("#file_temp").click();
});
});
function fncSave(){
if(fn_valChk())
{
return false;
}
var data = new FormData(document.getElementById("createForm"));
//첨부파일 등록 처리-step2
_fileForm2.forEach(function(obj, idx) {
if (obj) data.append("file"+idx, obj.fileObj);
});
if(confirm("저장하시겠습니까?")){
var url = "${pageContext.request.contextPath}/kccadr/oprtn/cndtnSspnIdtmt/trgtRegAjax.do";
console.log(data);
$.ajax({
type:"POST",
enctype: 'multipart/form-data',
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
console.log('returnData :: ', returnData);
if(returnData.result == "success"){
alert("저장되었습니다.");
fncGoList();
}else if(returnData.result == "fail"){
alert(returnData.message);
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
function fn_valChk(){
// 의뢰일 검사
if($("#reqPnttm").val().trim() == ""){
alert("의뢰일을 입력해주세요.");
$("#reqPnttm").focus();
return true;
}
// 사건번호 검사
if($("input[name='vntYear']").val().trim() == ""){
alert("사건번호를 입력해주세요.");
$("input[name='vntYear']").focus();
return true;
}
// 사건번호 검사
if($("input[name='vntNmbr']").val().trim() == ""){
alert("사건번호를 입력해주세요.");
$("input[name='vntNmbr']").focus();
return true;
}
// 관할청 검사
if($("input[name='cmptntAthrt']").val()){
alert("관할청을 입력해주세요.");
$("input[name='cmptntAthrt']").focus();
return true;
}
if($("#sex").val() == "선택" || $("#sex").val().trim() == ""){
alert("성별을 선택해주세요.");
$("#sex").focus();
return true;
}
// 성명 검사
if($("input[name='trgtNm']").val().trim() == ""){
alert("성명을 입력해주세요.");
$("input[name='trgtNm']").focus();
return true;
}
// 생년월일 검사
if($("#dBirth").val().trim() == ""){
alert("생년월일을 입력해주세요.");
$("#dBirth").focus();
return true;
}
// 의뢰번호 검사
if($("input[name='reqNmbr']").val().trim() == ""){
alert("의뢰번호를 입력해주세요.");
$("input[name='reqNmbr']").focus();
return true;
}
// 의뢰상태 검사
/* if($("#reqStateCd").val().trim() == ""){
alert("의뢰상태를 입력해주세요.");
$("input[name='reqStateCd']").focus();
return true;
} */
// 교육상태 검사
/* if($("input[name='eduStateCd']").val().trim() == ""){
alert("교육상태를 입력해주세요.");
$("input[name='eduStateCd']").focus();
return true;
}
*/
// 검사명 검사
if($("input[name='prsctrNm']").val().trim() == ""){
alert("검사명을 입력해주세요.");
$("input[name='prsctrNm']").focus();
return true;
}
// 주소 검사
if($("#post").val().trim() == "" || $("#addr").val().trim() == ""){
alert("주소를 입력해주세요.");
$("#post").focus();
return true;
}
return false; // 모든 검사를 통과하면 false 반환
}
function fncGoList(){
var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtList.do'/>";
listForm.submit();
}
/* 파일등록 */
var _fileIdx = 0;
var _fileForm2 = new Array();
function handleFileUpload(files,obj) //업로드 function
{
console.log('files', files);
var limitsize = 20*1024*1024; //파일 제한 체크(1개, 20MB)
for (var i = 0; i < files.length; i++){
if(files[i].size > limitsize){
alert(files[i].name+"파일 사이즈가"+getStrFileSize(files[i].size)+"로 20MB이하만 업로드 가능합니다.");
return ;
}
}
for (var i = 0; i < files.length; i++)
{
var fd = new FormData();
fd.append('file', files[i]);
var tmpObj = new Object();
tmpObj.name = "file_" + _fileIdx;
tmpObj.fileObj = files[i];
_fileForm2.push(tmpObj);
sendFileToServer(fd, obj, files[i], _fileIdx);
_fileIdx++;
var totalfileSize = 0;
$('.totalfileCount').text($('.item_file_size').length) ;
$('.item_file_size').each(function(){
totalfileSize += $(this).val()*1 ;
});
$('.totalfileSize').text(getStrFileSize(totalfileSize)) ;
}
}
</script>
</head>
<body>
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
</form:form>
<form:form id="createForm" name="createForm" commandName="adjustDeptManageVO" method="post">
<!-- cont -->
<div class="cont_wrap">
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>대상자 등록</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>조건부기소유예관리</p>
</li>
<li><span class="cur_nav">대상자 목록</span></li>
<li><span class="cur_nav">대상자 등록</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<!-- list_상세 -->
<div class="tb_tit01">
<p>대상자 등록</p>
</div>
<div class="tb_type02">
<table>
<colgroup>
<col style="width: 210px;">
<col style="width: auto;">
<col style="width: 210px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">의뢰일</th>
<td>
<div id="calendar">
<div class="calendar_wrap">
<input type="text" class="calendar" placeholder="의뢰일" title="의뢰일 선택" id="reqPnttm" name="reqPnttm" value="">
</div>
</div>
</td>
</tr>
<tr>
<th scope="row">사건번호</th>
<td>
<input type="text" name="vntYear" style="width: 150px;margin-right: 10px;"/>형제
<input type="text" name="vntNmbr" style="width: 150px;margin-left: 10px;" />
</td>
</tr>
<tr>
<th scope="row">관할청</th>
<td>
<ve:select codeId="VEA008" name="cmptntAthrt" id="cmptntAthrt" css="class='sel_type1'"
selectedText="" defaultValue=""
defaultText='선택'
/>
</td>
</tr>
<tr>
<th scope="row">성별</th>
<td>
<ve:select codeId="COM014" name="sex" id="sex" css="class='sel_type1'"
selectedText="" defaultValue=""
defaultText='선택'
/>
</td>
<th scope="row">연락처</th>
<td>
<input type="text" name="clphone" id="clphone" placeholder="00000000000" maxlength="11"/>
</td>
</tr>
<tr>
<th scope="row">성명</th>
<td>
<input type="text" name="trgtNm" />
</td>
<th scope="row">생년월일</th>
<td>
<input type="text" name="dBirth" id="dBirth" placeholder="00000000" maxlength="8"/>
</td>
</tr>
<!-- <tr>
<th scope="row">연락처(핸드폰)</th>
<td>
<input type="text" name="clphone" />
</td>
</tr> -->
<tr>
<th scope="row">의뢰번호</th>
<td>
<input type="text" name="reqNmbr" />
</td>
<th scope="row">의뢰상태</th>
<td>
<ve:select codeId="VEA005" name="reqStateCd" id="reqStateCd" css="class='sel_type1'"
selectedText="" defaultValue=""
defaultText='선택'
/>
</td>
</tr>
<tr>
<th scope="row">교육상태</th>
<td>
교육대기
<input type="hidden" name="eduStateCd" id="eduStateCd" value="10"/>
<%-- <ve:select codeId="VEA002" name="eduStateCd" id="eduStateCd" css="class='sel_type1'"
selectedText="" defaultValue=""
defaultText='선택'
/> --%>
</td>
<th scope="row">검사명</th>
<td>
<input type="text" name="prsctrNm" />
</td>
</tr>
<tr class="input_adress">
<th scope="row">
<p>주소</p>
</th>
<td colspan="3">
<label for="post" class="label">우편번호 입력</label>
<input type="text" size="20" name="post" id="post" class="adr_input" style="background-color: #eee;" value="<c:out value='${info.post}'/>" readonly>
<button class="btnType01 btn_adr_search" onclick="fn_postCode(this); return false;">우편번호 검색</button>
<div class="detail_address">
<label for="addr" class="label">주소 입력</label>
<input type="text" size="60" name="addr" id="addr" class="searchResultAddr" value="<c:out value='${info.addr}'/>" readonly>
<label for="addrDetail" class="label">나머지 주소 입력</label>
<input type="text" size="20" name="addrDetail" id="addrDetail" class="usrInsertAddr" value="<c:out value='${info.addrDetail}'/>" maxLength="100" placeholder="나머지 주소">
</div>
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>첨부파일</p>
</th>
<td class="upload_area" colspan="3">
<!-- <input type="text" id="fileNm" size="30" class="file_input" readonly> --><!-- <button type="button" class="btnType01 btn_add_file">파일 첨부하기</button> -->
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
<button type="button" id="filebutton" class="btn_type01">파일 첨부하기</button>
<p style="padding-left:30px;">첨부파일 가능 용량은 20MB입니다. </p><!-- <p style="color:red;font-weight:500">업로드 순서는 1.신청서 2.안내문 입니다.</p> -->
<div class="file_wrap file_upload_box no_img_box">
<table class="tbType02">
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%;">
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 10%;">
</colgroup>
<thead>
<!-- <th>
<input type="checkbox" id="all_check"><label for="all_check"></label>
</th> -->
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody class="tb_file_before">
<tr>
<td colspan="4">
<p>첨부하실 파일을 <span>마우스로 끌어서</span> 넣어주세요.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="file_wrap fileAfter file_list_div">
<table class="tbType02">
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%">
<col style="width: 10%">
<col style="width: 20%">
<col style="width: 10%">
</colgroup>
<thead>
<!-- <th>
<input type="checkbox" id="all_check"><label for="all_check"></label>
</th> -->
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody id="tbody_fiielist" class="tb_file_after">
<c:forEach var="fileList" items="${fileList}" varStatus="status">
<tr class="item_<c:out value='${fileList.atchFileId}' />_<c:out value='${fileList.fileSn}' /> uploaded_obj">
<input type="hidden" name="fileSize" class="item_file_size" value="${fileList.fileSize}">
<td class="td_filename">
<!-- <img src="/direct/img/upload_hwp_img.png" alt="" /> -->
<span class="file_name_text"><c:out value='${fileList.orignlFileNm}' /></span>
</td>
<td class="td_filesort">
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>"><c:out value="${fileList.fileExtsn}"/></span>
</td>
<td class="td_filesize">
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>"><c:out value="${fileList.fileMg}"/></span>
</td>
<td>
<button type="button" class="btn_del" onclick="delAtchFile('<c:out value='${fileList.atchFileId}' />', '<c:out value='${fileList.fileSn}' />'); return false;" title="파일삭제"><i></i></button>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<!-- btn_wrap -->
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btn_type02" onclick="fncSave(); return false;">저장</button>
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
</div>
</div>
</div>
</div>
</div>
</form:form>
<!-- //cont -->
</body>
</html>

View File

@ -31,22 +31,12 @@
<script type="text/javascript"> <script type="text/javascript">
//세부과정 추가 버튼 클릭 시 세부과정 추가 //세부과정 추가 버튼 클릭 시 세부과정 추가
$(document).ready(function() { $(document).ready(function() {
/* $('#dBirth').on('input', function() { $(".btn_type01").on('click', function(){
var input = $(this).val(); $("#file_temp").click();
var length = input.length; });
var lastChar = input.charAt(length - 1);
// 숫자만 입력되도록 검사
if (!lastChar.match(/[0-9]/)) {
$(this).val(input.substring(0, length - 1));
return;
}
// 포맷 적용
if (length === 4 || length === 7) {
$(this).val(input + '-');
}
}); */
}); });
function fncSave(){ function fncSave(){
@ -57,29 +47,43 @@
} }
var data = new FormData(document.getElementById("createForm")); var data = new FormData(document.getElementById("createForm"));
if(confirm("저장하시겠습니까?")){
var url = "${pageContext.request.contextPath}/kccadr/oprtn/cndtnSspnIdtmt/trgtRegAjax.do"; //첨부파일 등록 처리-step2
console.log(data); _fileForm2.forEach(function(obj, idx) {
$.ajax({ if (obj) data.append("file"+idx, obj.fileObj);
type:"POST",
url: url, });
data: data,
dataType:'json', $('#cmptntAthrt').prop('disabled', false);
async: false, if(confirm("저장하시겠습니까?")){
processData: false, var url = "${pageContext.request.contextPath}/kccadr/oprtn/cndtnSspnIdtmt/trgtRegAjax.do";
contentType: false, console.log(data);
cache: false, $.ajax({
success:function(returnData){ type:"POST",
if(returnData.result == "success"){ enctype: 'multipart/form-data',
alert("저장되었습니다."); url: url,
fncGoList(); data: data,
} dataType:'json',
}, async: false,
error:function(request , status, error){ processData: false,
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); contentType: false,
cache: false,
success:function(returnData){
console.log('returnData :: ', returnData);
if(returnData.result == "success"){
alert("저장되었습니다.");
// fncGoList();
}else if(returnData.result == "fail"){
alert(returnData.message);
$('#cmptntAthrt').prop('disabled', true);
} }
}); },
} error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
$('#cmptntAthrt').prop('disabled', true);
}
});
}
} }
@ -107,11 +111,11 @@
} }
// 관할청 검사 // 관할청 검사
if($("input[name='cmptntAthrt']").val().trim() == ""){ // if($("input[name='cmptntAthrt']").val()){
alert("관할청을 입력해주세요."); // alert("관할청을 입력해주세요.");
$("input[name='cmptntAthrt']").focus(); // $("input[name='cmptntAthrt']").focus();
return true; // return true;
} // }
if($("#sex").val() == "선택" || $("#sex").val().trim() == ""){ if($("#sex").val() == "선택" || $("#sex").val().trim() == ""){
alert("성별을 선택해주세요."); alert("성별을 선택해주세요.");
@ -134,11 +138,11 @@
} }
// 의뢰번호 검사 // 의뢰번호 검사
if($("input[name='reqNmbr']").val().trim() == ""){ /* if($("input[name='reqNmbr']").val().trim() == ""){
alert("의뢰번호를 입력해주세요."); alert("의뢰번호를 입력해주세요.");
$("input[name='reqNmbr']").focus(); $("input[name='reqNmbr']").focus();
return true; return true;
} } */
// 의뢰상태 검사 // 의뢰상태 검사
/* if($("#reqStateCd").val().trim() == ""){ /* if($("#reqStateCd").val().trim() == ""){
@ -179,6 +183,40 @@
listForm.submit(); listForm.submit();
} }
/* 파일등록 */
var _fileIdx = 0;
var _fileForm2 = new Array();
function handleFileUpload(files,obj) //업로드 function
{
console.log('files', files);
var limitsize = 20*1024*1024; //파일 제한 체크(1개, 20MB)
for (var i = 0; i < files.length; i++){
if(files[i].size > limitsize){
alert(files[i].name+"파일 사이즈가"+getStrFileSize(files[i].size)+"로 20MB이하만 업로드 가능합니다.");
return ;
}
}
for (var i = 0; i < files.length; i++)
{
var fd = new FormData();
fd.append('file', files[i]);
var tmpObj = new Object();
tmpObj.name = "file_" + _fileIdx;
tmpObj.fileObj = files[i];
_fileForm2.push(tmpObj);
sendFileToServer(fd, obj, files[i], _fileIdx);
_fileIdx++;
var totalfileSize = 0;
$('.totalfileCount').text($('.item_file_size').length) ;
$('.item_file_size').each(function(){
totalfileSize += $(this).val()*1 ;
});
$('.totalfileSize').text(getStrFileSize(totalfileSize)) ;
}
}
</script> </script>
</head> </head>
@ -239,7 +277,18 @@
<tr> <tr>
<th scope="row">관할청</th> <th scope="row">관할청</th>
<td> <td>
<input type="text" name="cmptntAthrt" /> <c:choose>
<c:when test="${empty userWork }">
<ve:select codeId="VEA008" name="cmptntAthrt" id="cmptntAthrt" css="class='sel_type1'"
selectedText="" selectedValue="" defaultValue=""
defaultText='선택'
/>
</c:when>
<c:otherwise>
<ve:code codeId="VEA008" code="${userWork }"/>
<input type="hidden" name="cmptntAthrt" value="${userWork }">
</c:otherwise>
</c:choose>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -273,10 +322,10 @@
</td> </td>
</tr> --> </tr> -->
<tr> <tr>
<th scope="row">의뢰번호</th> <!-- <th scope="row">의뢰번호</th>
<td> <td>
<input type="text" name="reqNmbr" /> <input type="text" name="reqNmbr" />
</td> </td> -->
<th scope="row">의뢰상태</th> <th scope="row">의뢰상태</th>
<td> <td>
<ve:select codeId="VEA005" name="reqStateCd" id="reqStateCd" css="class='sel_type1'" <ve:select codeId="VEA005" name="reqStateCd" id="reqStateCd" css="class='sel_type1'"
@ -284,6 +333,10 @@
defaultText='선택' defaultText='선택'
/> />
</td> </td>
<th scope="row">검사명</th>
<td>
<input type="text" name="prsctrNm" />
</td>
</tr> </tr>
<tr> <tr>
<th scope="row">교육상태</th> <th scope="row">교육상태</th>
@ -295,10 +348,6 @@
defaultText='선택' defaultText='선택'
/> --%> /> --%>
</td> </td>
<th scope="row">검사명</th>
<td>
<input type="text" name="prsctrNm" />
</td>
</tr> </tr>
<tr class="input_adress"> <tr class="input_adress">
<th scope="row"> <th scope="row">
@ -316,6 +365,88 @@
</div> </div>
</td> </td>
</tr> </tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>첨부파일</p>
</th>
<td class="upload_area" colspan="3">
<!-- <input type="text" id="fileNm" size="30" class="file_input" readonly> --><!-- <button type="button" class="btnType01 btn_add_file">파일 첨부하기</button> -->
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
<button type="button" id="filebutton" class="btn_type01">파일 첨부하기</button>
<p style="padding-left:30px;">첨부파일 가능 용량은 20MB입니다. </p><!-- <p style="color:red;font-weight:500">업로드 순서는 1.신청서 2.안내문 입니다.</p> -->
<div class="file_wrap file_upload_box no_img_box">
<table class="tbType02">
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%;">
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 10%;">
</colgroup>
<thead>
<!-- <th>
<input type="checkbox" id="all_check"><label for="all_check"></label>
</th> -->
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody class="tb_file_before">
<tr>
<td colspan="4">
<p>첨부하실 파일을 <span>마우스로 끌어서</span> 넣어주세요.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="file_wrap fileAfter file_list_div">
<table class="tbType02">
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%">
<col style="width: 10%">
<col style="width: 20%">
<col style="width: 10%">
</colgroup>
<thead>
<!-- <th>
<input type="checkbox" id="all_check"><label for="all_check"></label>
</th> -->
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody id="tbody_fiielist" class="tb_file_after">
<c:forEach var="fileList" items="${fileList}" varStatus="status">
<tr class="item_<c:out value='${fileList.atchFileId}' />_<c:out value='${fileList.fileSn}' /> uploaded_obj">
<input type="hidden" name="fileSize" class="item_file_size" value="${fileList.fileSize}">
<td class="td_filename">
<!-- <img src="/direct/img/upload_hwp_img.png" alt="" /> -->
<span class="file_name_text"><c:out value='${fileList.orignlFileNm}' /></span>
</td>
<td class="td_filesort">
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>"><c:out value="${fileList.fileExtsn}"/></span>
</td>
<td class="td_filesize">
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>"><c:out value="${fileList.fileMg}"/></span>
</td>
<td>
<button type="button" class="btn_del" onclick="delAtchFile('<c:out value='${fileList.atchFileId}' />', '<c:out value='${fileList.fileSn}' />'); return false;" title="파일삭제"><i></i></button>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</td>
</tr>
</tbody> </tbody>
</table> </table>
</div> </div>

View File

@ -336,7 +336,7 @@
</th> </th>
<td> <td>
<div class="calendar_wrap"> <div class="calendar_wrap">
<input type="text" class="calendar" title="시작일 선택" id="strtPnttm" name="strtPnttm" value="${vEPrcsDetailVO.endPnttm}"> <input type="text" class="calendar" title="시작일 선택" id="strtPnttm" name="strtPnttm" value="${vEPrcsDetailVO.strtPnttm}">
</div> </div>
~ ~
<div class="calendar_wrap"> <div class="calendar_wrap">

View File

@ -215,6 +215,16 @@
</c:choose> </c:choose>
</td> </td>
</tr> </tr>
<c:if test="${info.aprvlCd eq '70'}">
<tr>
<th scope="row">
<p>수정요청사유</p>
</th>
<td colspan="3">
<c:out value="${info.aprvlCn}"/>
</td>
</tr>
</c:if>
</tbody> </tbody>
</table> </table>
</div> </div>
@ -344,13 +354,13 @@
<tbody> <tbody>
<tr> <tr>
<th scope="row"> <th scope="row">
<p>대상학년</p> <p>대상학년/반</p>
</th> </th>
<td>${info.trgtGrade}</td> <td>${info.trgtGrade}</td>
<th scope="row"> <%-- <th scope="row">
<p>대상반</p> <p>대상반</p>
</th> </th>
<td>${info.trgtClsrm}</td> <td>${info.trgtClsrm}</td> --%>
</tr> </tr>
<tr> <tr>
<th scope="row"> <th scope="row">

View File

@ -305,12 +305,6 @@
$("#trgtGrade").focus(); $("#trgtGrade").focus();
return false; return false;
} }
if($('#trgtClsrm').val() == ''){
alert('대상반을 입력해주세요.');
$("#trgtClsrm").focus();
return false;
}
if($('#trgtPrsnl').val() == ''){ if($('#trgtPrsnl').val() == ''){
alert('학생수를 입력해주세요.'); alert('학생수를 입력해주세요.');
$("#trgtPrsnl").focus(); $("#trgtPrsnl").focus();

View File

@ -345,7 +345,76 @@
alert("지역별 총 접수시간을 입력해주세요."); alert("지역별 총 접수시간을 입력해주세요.");
} }
} }
//교육설정 등록여부 체크
function fncDupleCheckAll(thisObj){
var list1 = $("input[name=checkList]");
var list2 = $("input[name=ttlEduCnfrmPsblChasi]");
//alert(list1.length);
//alert(list2.length);
if (list1.length>0 && list1.length==list2.length)
{
//alert("true");
;
}else{
alert("false");
return;
}
var v_list1 = "";
var v_list2 = "";
$.each(list1, function(idx, obj){
v_list1 = v_list1 + "_" + $(this).val();
});
$.each(list2, function(idx, obj){
v_list2 = v_list2 + "_" + $(this).val();
});
//alert(v_list1);
//alert(v_list2);
//var p_ttlEduCnfrmPsblChasi = $(thisObj).closest("td").find("input[name=ttlEduCnfrmPsblChasi]").val();
//var p_rndsOrd = $("#rndsOrd").val();
var p_rndsOrd = $("#listForm #stngYr").val(); //회차기준에서 년도 기준으로 변경함
//var p_areaCd = $(thisObj).closest("tr").find("input[name=checkList]").val();
//alert(p_areaCd);
if(v_list2 != "") {
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/areaLctrMngrgstrPsblTmAllAjax.do",
data:{
"rndsOrd" : p_rndsOrd,
"areaCd" : v_list1,
"ttlEduCnfrmPsblChasi" : v_list2,
},
dataType:'json',
success:function(returnData){
if(returnData.result == "success"){
alert("변경 처리 되었습니다.");
fncGoList();
}else{
alert("변경 중 오류가 발생하였습니다.");
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}else{
alert("지역별 총 접수시간을 입력해주세요.");
}
}
function fncRgstrDateSave(){ function fncRgstrDateSave(){
if(confirm("접수일자를 저장 하시겠습니까?")){ if(confirm("접수일자를 저장 하시겠습니까?")){
$.ajax({ $.ajax({
@ -425,7 +494,7 @@
} }
} }
//회차관리 팝업 //회차관리 팝업
function fncRndsStng() { function fncRndsStng() {
var p_stngYr = $("#listForm #stngYr").val(); var p_stngYr = $("#listForm #stngYr").val();
@ -821,6 +890,10 @@
</thead> </thead>
<tbody> <tbody>
<c:set var="ttlChasi" value="0" /> <!-- 총 접수가능 차시 -->
<c:set var="ttlAplct" value="0" /> <!-- 총 신청 수 -->
<c:set var="ttlAplctChasi" value="0" /> <!-- 총 신청 차시 -->
<c:forEach var="result" items="${list}" varStatus="status"> <c:forEach var="result" items="${list}" varStatus="status">
<tr> <tr>
<td> <td>
@ -838,17 +911,43 @@
<td> <td>
<c:out value="${result.frstRegistPnttm}"/> <c:out value="${result.frstRegistPnttm}"/>
</td> </td>
<td> <td>
<input type="text" size="3" id="ttlEduCnfrmPsblChasi" name="ttlEduCnfrmPsblChasi" maxlength="10" value='<c:out value="${result.ttlEduCnfrmPsblChasi}"/>'/> <c:out value="${result.ttlEduCnfrmPsblChasi}"/>
<input type="text" size="3" id="ttlEduCnfrmPsblChasi" name="ttlEduCnfrmPsblChasi" maxlength="5" value='<c:out value="${result.ttlEduCnfrmPsblChasi}"/>'/>
<!--
<button type="button" class="btn_type06" <button type="button" class="btn_type06"
onclick="fncDupleCheck(this); return false;" style="height: 40px; border-radius: 5px; vertical-align: middle;">수정</button> onclick="fncDupleCheck(this); return false;" style="height: 40px; border-radius: 5px; vertical-align: middle;">수정</button>
-->
</td> </td>
<td> <td>
<c:out value="${result.psblTmQnttyCnt}"/> <c:out value="${result.psblTmQnttyCnt}"/>
(<c:out value="${result.aplctChasi}"/>) (<c:out value="${result.aplctChasi}"/>)
</td> </td>
</tr> </tr>
<c:set var="ttlChasi" value="${ttlChasi + result.ttlEduCnfrmPsblChasi}" /> <!-- 총 접수가능 차시 -->
<c:set var="ttlAplct" value="${ttlAplct + result.aplctChasi}" /> <!-- 총 신청 수 -->
<c:set var="ttlAplctChasi" value="${ttlAplctChasi + result.psblTmQnttyCnt}" /> <!-- 총 신청 차시 -->
</c:forEach> </c:forEach>
<tr>
<td colspan="5">
총합
</td>
<td>
${ttlChasi}
<button type="button" class="btn_type06"
onclick="fncDupleCheckAll(this); return false;" style="height: 40px; border-radius: 5px; vertical-align: middle;">접수시간수정</button>
</td>
<td>
${ttlAplctChasi}
(${ttlAplct})
</td>
</tr>
<c:if test="${not empty list and not empty selectTimeSum}"> <c:if test="${not empty list and not empty selectTimeSum}">
<tr> <tr>
<td colspan="5"> <td colspan="5">

View File

@ -0,0 +1,195 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<un:useConstants var="KccadrStatus" className="kcc.kccadr.cmm.KccadrConstants" />
<%
/**
* @Class Name : advStngMngList.jsp
* @Description : 기본 정보 설정 관리 화면
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.12.14 조용준 최초 생성
* @author 조용준
* @since 2021.12.14
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style>
input:read-only{
background-color: #ededed;
}
</style>
<script type="text/javascript">
$(document).ready(function(){
});
//fncPreviewEmail
function fncPreviewEmail(){
//document.listForm.authorCode.value = vAuthorCode;
//document.listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/popup/advRndsStngMngPopup.do'/>";
document.listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/popup/eduAplctRegPreviewDetail.do'/>";
window.open("#", "_aplctPreviewPop", "scrollbars = no, top=100px, left=100px, height=500px, width=1200px");
document.listForm.target = "_aplctPreviewPop";
document.listForm.submit();
}
function fncUpdate(){
if ($("#cn").val() == null || $("#cn").val() == ''){
alert("내용은 필수값입니다.");
return false;
}
if(confirm("수정하시겠습니까?")){
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/advStngMngTRAjax.do",
data: {
"cn" : $("#cn").val()
},
dataType:'json',
success:function(returnData){
if(returnData.result == "success"){
alert("수정 되었습니다.");
location.reload(true);
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
</script>
<title>신청관리</title>
</head>
<body>
<form id="popupForm" name="popupForm" method="post">
<input type="hidden" name="stngYr" id="stngYr" value=""/>
</form>
<form id="editForm" name="editForm" method="post">
<input type="hidden" name="mode" value=""/>
<input type="hidden" name="adrSeq" value=""/>
<input type="hidden" name="edtTy" value=""/>
<input type="hidden" name="edtSn" value=""/>
<input type="hidden" name="rejectCn" value=""/>
</form>
<form:form id="listForm" name="listForm" method="post" onsubmit="return false;">
<input type="hidden" name="pageIndex" value="<c:out value='${vELctrDetailVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${vELctrDetailVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${vELctrDetailVO.searchSortOrd}" />" />
<input type="hidden" name="instrDiv" value="10"/>
<input type="hidden" name="yr" id="yr" value=""/>
<div class="cont_wrap">
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>기본정보설정</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>청소년 찾아가는 저작권 교육</p>
</li>
<li><span class="cur_nav">기본정보설정</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<!--
<div class="btn_wrap btn_layout01">
<div class="btn_left">!-- 참고용 --</div>
<div class="btn_center"> 삭제 대상 //${selectBasicInfo}//</div>
<div class="btn_right" style="width: 100%">
<button class="btn_type06" onclick="fncDdlnState(); return false;" >신청상태변경</button>
<button class="btn_type06" onclick="fncAplctPrd(); return false;" >강의가능기간변경</button>
<button class="btn_type06" onclick="fncLctrPsblTm(); return false;" >강의가능시간변경</button>
<button class="btn_type06" onclick="fncRndsStng(); return false;" >회차관리</button>
</div>
</div>
-->
<!-- cont_tit -->
<div class="cont_tit">
<h2>교육신청등록문구</h2>
</div>
<div class="tb_type02">
<table>
<colgroup>
<col style="width: 220px;height:100px;">
<col style="width: auto;height:100px;">
</colgroup>
<tr>
<th scope="row"><p>샘플 코드</p> </th>
<td>
<c:out value='<div class="tit_box"><i class="tit_box_icon1"></i><div><p>찾아가는 저작권 교육</p><span>‘찾아가는 저작권 교육’은 저작권 교육이 필요한 <span>전국 초ㆍ중ㆍ고등학교, 청소년ㆍ아동복지ㆍ노인ㆍ장애인 기관 및 단체 등</span>에 직접 방문하여무료로 강의를 지원하는 맞춤형 교육 서비스입니다.<p style="font-weight:400;color:red;font-size:17px;padding-top:8px; padding-bottom: 0;">담당자 연락처) 055-792-0224</p></span></div></div>' escapeXml="true" />
</td>
</tr>
<tr>
<th scope="row">
<p>사용중인 코드</p>
</th>
<td>
<textarea id="cn" rows="5">
<c:out value='${selectBasicTRInfo.cn}' escapeXml="true" />
</textarea>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //list -->
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btn_type08" onclick="fncUpdate();return false;">내용 수정</button>
</div>
<div class="btn_right">
<button type="button" class="btn_type03" onclick="fncPreviewEmail();return false;">미리보기</button>
</div>
</div>
<!-- //cont_tit -->
<!-- list_top -->
</div>
</div>
<!-- //cont -->
</form:form>
</body>
</html>

View File

@ -289,6 +289,13 @@
}); });
} }
// 서류요청 SMS, EMAIL 알림 팝업
function alertPopup(userId,type) { //메뉴생성 화면 호출
document.popForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/popup/eduDocReqAlertPopup.do'/>";
window.open("#", "_eduDocReqAlertPopup", "scrollbars = no, top=100px, left=100px, height=550px, width=750px");
document.popForm.target = "_eduDocReqAlertPopup";
document.popForm.submit();
}
</script> </script>
</head> </head>
@ -570,6 +577,76 @@
</table> </table>
</div> </div>
<!-- 서류 요청 목록 -->
<c:if test="${not empty docReqList}">
<div class="tb_tit01">
<p>요청서류 목록</p>
</div>
<div class="tb_type01 list2">
<table>
<colgroup>
<col style="width: 10%;">
<col style="width: 20%;">
<col style="width: 10%;">
<col style="width: 20%">
<col style="width: 10;">
<col style="width: auto;">
</colgroup>
<thead>
<tr>
<th scope="col">강사명</th>
<th scope="col">서류명</th>
<th scope="col">요청일</th>
<th scope="col">양식</th>
<th scope="col">제출일</th>
<th scope="col">제출서류 및 알림</th>
</tr>
</thead>
<tbody>
<c:forEach var="docReqList" items="${docReqList}" varStatus="status">
<tr>
<td>
<c:out value="${docReqList.instrNm}" />
</td>
<td>
<c:out value="${docReqList.docReqNm}" />
</td>
<td>
<c:out value="${docReqList.frstRegistPnttm}" />
</td>
<td>
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${docReqList.docFormAtchFileId}" />
</c:import>
</td>
<td>
<c:if test="${not empty docReqList.sbmtAtchFileId}">
<c:out value="${docReqList.sbmtPnttm}" />
</c:if>
<c:if test="${empty docReqList.sbmtAtchFileId}">
-
</c:if>
</td>
<td>
<c:if test="${not empty docReqList.sbmtAtchFileId}">
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${docReqList.sbmtAtchFileId}" />
</c:import>
</c:if>
<c:if test="${empty docReqList.sbmtAtchFileId}">
<button class="btn_type06" onclick="alertPopup('<c:out value="${docReqList.sbmtId}" />','SMS'); return false;">SMS</button>
<button class="btn_type06" onclick="alertPopup('<c:out value="${docReqList.sbmtId}" />','EMAIL'); return false;">EMAIL</button>
<%-- <button type="button" class="btnType01" data-tooltip="sub35_pop01" id="DOC" onclick="filePopupLayer('<c:out value="${docReqList.eduDocReqOrd}"/>','DOC')" title="팝업 열림">제출하기</button>
<button type="button" class="btnType01" data-tooltip="sub35_pop01" id="DOC" onclick="filePopupLayer('<c:out value="${docReqList.eduDocReqOrd}"/>','DOC')" title="팝업 열림">제출하기</button> --%>
</c:if>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</c:if>
<!-- 알림 정보 상세 --> <!-- 알림 정보 상세 -->
<div class="tb_tit01"> <div class="tb_tit01">
<p>알림정보</p> <p>알림정보</p>

View File

@ -271,7 +271,13 @@ function replyCalculation(){
// 서류요청 SMS, EMAIL 알림 팝업
function alertPopup(userId,type) { //메뉴생성 화면 호출
document.popForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/popup/eduDocReqAlertPopup.do'/>";
window.open("#", "_eduDocReqAlertPopup", "scrollbars = no, top=100px, left=100px, height=550px, width=750px");
document.popForm.target = "_eduDocReqAlertPopup";
document.popForm.submit();
}
@ -521,6 +527,76 @@ function replyCalculation(){
</div> </div>
<!-- //list_상세 --> <!-- //list_상세 -->
<!-- 서류요청 목록 -->
<c:if test="${not empty docReqList}">
<div class="tb_tit01">
<p>요청서류 목록</p>
</div>
<div class="tb_type01 list2">
<table>
<colgroup>
<col style="width: 10%;">
<col style="width: 20%;">
<col style="width: 10%;">
<col style="width: 20%">
<col style="width: 10;">
<col style="width: auto;">
</colgroup>
<thead>
<tr>
<th scope="col">강사명</th>
<th scope="col">서류명</th>
<th scope="col">요청일</th>
<th scope="col">양식</th>
<th scope="col">제출일</th>
<th scope="col">제출서류 및 알림</th>
</tr>
</thead>
<tbody>
<c:forEach var="docReqList" items="${docReqList}" varStatus="status">
<tr>
<td>
<c:out value="${docReqList.instrNm}" />
</td>
<td>
<c:out value="${docReqList.docReqNm}" />
</td>
<td>
<c:out value="${docReqList.frstRegistPnttm}" />
</td>
<td>
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${docReqList.docFormAtchFileId}" />
</c:import>
</td>
<td>
<c:if test="${not empty docReqList.sbmtAtchFileId}">
<c:out value="${docReqList.sbmtPnttm}" />
</c:if>
<c:if test="${empty docReqList.sbmtAtchFileId}">
-
</c:if>
</td>
<td>
<c:if test="${not empty docReqList.sbmtAtchFileId}">
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${docReqList.sbmtAtchFileId}" />
</c:import>
</c:if>
<c:if test="${empty docReqList.sbmtAtchFileId}">
<button class="btn_type06" onclick="alertPopup('<c:out value="${docReqList.sbmtId}" />','SMS'); return false;">SMS</button>
<button class="btn_type06" onclick="alertPopup('<c:out value="${docReqList.sbmtId}" />','EMAIL'); return false;">EMAIL</button>
<%-- <button type="button" class="btnType01" data-tooltip="sub35_pop01" id="DOC" onclick="filePopupLayer('<c:out value="${docReqList.eduDocReqOrd}"/>','DOC')" title="팝업 열림">제출하기</button>
<button type="button" class="btnType01" data-tooltip="sub35_pop01" id="DOC" onclick="filePopupLayer('<c:out value="${docReqList.eduDocReqOrd}"/>','DOC')" title="팝업 열림">제출하기</button> --%>
</c:if>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</c:if>
<!-- list_상세 --> <!-- list_상세 -->
<div class="tb_tit01"> <div class="tb_tit01">
<p>결과보고</p> <p>결과보고</p>

View File

@ -220,7 +220,7 @@
</th> </th>
<td class="input_phone attachedFile_wrap"> <td class="input_phone attachedFile_wrap">
<input type="text" readonly id="atFileBasicWrite" style="width:500px;" name="atFileBasicWrite"/> <input type="text" readonly id="atFileBasicWrite" style="width:500px;" name="atFileBasicWrite"/>
<input type="file" name="file" id="file" style="display:none" accept=".txt, .xls, .xlsx" onchange="changeValue(this); return false;"/> <input type="file" name="file" id="file" style="display:none" accept=".xls, .xlsx" onchange="changeValue(this); return false;"/>
<button type="button" class="btnType btnType9" onclick="document.all.file.click(); return false;">파일첨부</button> <button type="button" class="btnType btnType9" onclick="document.all.file.click(); return false;">파일첨부</button>
<span class="reqTxt6">※ 컴퓨터 파일(엑셀)만 등록 가능합니다.<a href="https://www.copyright.or.kr/offedu/cmm/fms/FileDown.do?atchFileId=FILE_000000000018230&fileSn=0" target="_blank">sample</a></span> <span class="reqTxt6">※ 컴퓨터 파일(엑셀)만 등록 가능합니다.<a href="https://www.copyright.or.kr/offedu/cmm/fms/FileDown.do?atchFileId=FILE_000000000018230&fileSn=0" target="_blank">sample</a></span>
</td> </td>

View File

@ -22,7 +22,6 @@
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %> <%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> <%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<un:useConstants var="KccadrStatus" className="kcc.kccadr.cmm.KccadrConstants" /> <un:useConstants var="KccadrStatus" className="kcc.kccadr.cmm.KccadrConstants" />
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
@ -344,7 +343,7 @@
}); });
} }
} }
// 패널티 삭제 // 패널티 삭제
function fnPnltyDelete(p_pnlty_ord) { function fnPnltyDelete(p_pnlty_ord) {
@ -373,6 +372,59 @@
}); });
} }
} }
// 이력관리 삭제
function fnInstrHstryDelete(p_instr_hstry_ord) {
$("#listForm #instrHstryOrd").val(p_instr_hstry_ord);
var data1 = new FormData(document.getElementById("listForm"));
if(confirm("해당 이력을 삭제하시겠습니까?)")){
$.ajax({
type:"POST",
url: "${pageContext.request.contextPath}/ve/oprtn/instr/tngrVisitEdu/instrInfo/popup/instrHstryDelAjax.do",
data: data1,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == 'success'){
alert("삭제 되었습니다.");
location.reload();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
// 강사이력 등록팝업
function fnInstrHstryInsert() {
/*
var p_stngYr = $("#listForm #stngYr").val();
if(p_stngYr==''){
alert("회차관리 대상 년도를 선택해주세요.");
return false;
}
document.listForm.yr.value = p_stngYr;
*/
//document.listForm.authorCode.value = vAuthorCode;
//document.listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/popup/advRndsStngMngPopup.do'/>";
document.listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/popup/instrHstryMngPopup.do'/>";
window.open("#", "_instrHstryMngPop", "scrollbars = no, top=100px, left=100px, height=800px, width=1000px");
document.listForm.target = "_instrHstryMngPop";
document.listForm.submit();
}
</script> </script>
</head> </head>
<body> <body>
@ -403,6 +455,10 @@
<input type="hidden" name="qlfctEndYn" id="qlfctEndYn" value=""/> <!-- 자격종료여부 --> <input type="hidden" name="qlfctEndYn" id="qlfctEndYn" value=""/> <!-- 자격종료여부 -->
<input type="hidden" name="stngYrMnt" id="stngYrMnt" value="202202"/><!-- 강사구분 --> <input type="hidden" name="stngYrMnt" id="stngYrMnt" value="202202"/><!-- 강사구분 -->
<!-- cont --> <!-- cont -->
<!-- 팝업을 위한 mask -->
<div class="mask2" onclick="timeLayerUtil()"></div>
<div class="cont_wrap"> <div class="cont_wrap">
<div class="box"> <div class="box">
<!-- cont_tit --> <!-- cont_tit -->
@ -623,13 +679,25 @@
</div> </div>
<div class="btn_wrap btn_layout01"> <div class="btn_wrap btn_layout01">
<div class="btn_left"> <div class="btn_left">
<c:if test="${info.qlfctEndYn eq 'Y'}">
<button type="button" class="btn_type02" onclick="fncSave('N'); return false;">강사위촉</button>
</c:if>
<c:if test="${info.qlfctEndYn ne 'Y'}">
<button type="button" class="btn_type02" onclick="fncSave('Y'); return false;">강사해촉</button>
</c:if>
</div> </div>
<div class="btn_center"> <div class="btn_center">
</div> </div>
<div class="btn_right"> <div class="btn_right">
<button type="button" class="btn_type02" onclick="fncUpdate(); return false;">정보저장</button> <button type="button" class="btn_type02" onclick="fncUpdate(); return false;">정보저장</button>
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
</div> </div>
</div> </div>
<!-- 비공개 메보 정보 --> <!-- 비공개 메보 정보 -->
<div class="tb_tit01"> <div class="tb_tit01">
<p>비공개 메모</p> <p>비공개 메모</p>
@ -760,6 +828,7 @@
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="tb_tit01"> <div class="tb_tit01">
<p>패널티 목록</p> <p>패널티 목록</p>
@ -782,7 +851,7 @@
<th scope="col">교육일자</th> <th scope="col">교육일자</th>
<th scope="col">학교명</th> <th scope="col">학교명</th>
<th scope="col">교육차시</th> <th scope="col">교육차시</th>
<th scope="col">삭제</th> <th scope="col">삭제</th>
</tr> </tr>
</thead> </thead>
@ -821,7 +890,6 @@
</table> </table>
</div> </div>
<div class="btn_wrap btn_layout01"> <div class="btn_wrap btn_layout01">
<div class="btn_left" style="width:60%;"> <div class="btn_left" style="width:60%;">
<ve:select codeId="VE0016" name="pnltyCd1" id="pnltyCd1" css="class='sel_type1'" /> <ve:select codeId="VE0016" name="pnltyCd1" id="pnltyCd1" css="class='sel_type1'" />
@ -829,15 +897,73 @@
<button type="button" class="btn_type04" onclick="fnPnltyInsert(); return false;">패널티 등록</button> <button type="button" class="btn_type04" onclick="fnPnltyInsert(); return false;">패널티 등록</button>
</div> </div>
<div class="btn_right"> <div class="btn_right">
<c:if test="${info.qlfctEndYn eq 'Y'}">
<button type="button" class="btn_type02" onclick="fncSave('N'); return false;">강사위촉</button>
</c:if>
<c:if test="${info.qlfctEndYn ne 'Y'}">
<button type="button" class="btn_type02" onclick="fncSave('Y'); return false;">강사해촉</button>
</c:if>
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
</div> </div>
</div>
<div class="btn_wrap btn_layout01">
<div class="btn_left" style="width:60%;">
</div>
<div class="btn_right">
</div>
</div>
<div class="tb_tit01">
<p>이력관리</p>
</div> </div>
<div class="tb_type01">
<table>
<colgroup>
<col style="width: 18%;">
<col style="width: 18%;">
<col style="width: 18%;">
<col style="width: 18%;">
<col style="width: 18%;">
<col style="width: 10%;">
</colgroup>
<thead>
<tr>
<th scope="col">교육명</th>
<th scope="col">교육기간</th>
<th scope="col">비고</th>
<th scope="col">등록자</th>
<th scope="col">등록일</th>
<th scope="col">삭제</th>
</tr>
</thead>
<tbody>
<c:forEach var="pList" items="${selectListVEAIHM}" varStatus="status">
<tr>
<td><c:out value="${pList.sbjct}" /></td>
<td><c:out value="${pList.strtDt}" />~<c:out value="${pList.ddlnDt}" /></td>
<td><c:out value="${pList.cn}" /></td>
<td><c:out value="${pList.userNm}" /></td>
<td><c:out value="${pList.frstRegistPnttm}" /></td>
<td>
<button type="button" class="btn_type04" onclick="fnInstrHstryDelete('<c:out value="${pList.instrHstryOrd}" />'); return false;">삭제</button>
</td>
</tr>
</c:forEach>
<c:if test="${empty selectListVEAIHM}">
<tr><td colspan="6"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<div class="btn_wrap btn_layout01">
<div class="btn_left" style="width:60%;">
</div>
<div class="btn_right">
<button type="button" class="btn_type04" onclick="fnInstrHstryInsert(); return false;">이력 등록</button>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
@ -845,8 +971,9 @@
<form:form id="listForm" name="listForm" method="post" onsubmit="return false;"> <form:form id="listForm" name="listForm" method="post" onsubmit="return false;">
<input type="hidden" name="pnltyCd" id="pnltyCd" value="" /> <input type="hidden" name="pnltyCd" id="pnltyCd" value="" />
<input type="hidden" name="pnltyOrd" id="pnltyOrd" value="" /> <input type="hidden" name="pnltyOrd" id="pnltyOrd" value="" />
<input type="hidden" name="instrHstryOrd" id="instrHstryOrd" value="" />
<input type="hidden" name="memoCn" id="memoCn" value="" /> <input type="hidden" name="memoCn" id="memoCn" value="" />
<input type="hidden" name="userId" id="userId" value="<c:out value='${info.userId}'/>" /> <input type="hidden" name="userId" id="userId" value="<c:out value='${info.userId}'/>" />
</form:form> </form:form>
<!-- //cont --> <!-- //cont -->

View File

@ -0,0 +1,208 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<% pageContext.setAttribute("replaceChar", "\n"); %>
<%
/**
* @Class Name : eduAplctRegPreviewDetail.jsp
* @Description : 메일 미리보기
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2022.04.05 안주영 최초 생성
* @author 안주영
* @since 2022.04.05
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<title>청소년 메일본문 상세</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="/offedu/visitEdu/usr/publish/css/reset.css">
<link rel="stylesheet" href="/offedu/visitEdu/usr/publish/css/font.css">
<link rel="stylesheet" href="/offedu/visitEdu/usr/datapicker/default.css">
<link rel="stylesheet" href="/offedu/visitEdu/usr/publish/css/common.css">
<link rel="stylesheet" href="/offedu/visitEdu/usr/publish/css/content.css">
<link rel="stylesheet" href="/offedu/visitEdu/usr/publish/css/popup.css">
<link rel="stylesheet" href="/offedu/visitEdu/usr/publish/datepicker/classic.css">
<link rel="stylesheet" href="/offedu/visitEdu/usr/publish/datepicker/classic.date.css">
<link rel="stylesheet" href="/offedu/visitEdu/usr/publish/css/swiper.min.css">
<link rel="stylesheet" href="/offedu/visitEdu/usr/publish/css/main.css">
<!-- script -->
<script src="/offedu/visitEdu/usr/publish/script/jquery-3.5.0.js"></script>
<script src="/offedu/visitEdu/usr/publish/script/common.js"></script>
<script src="/offedu/visitEdu/usr/publish/script/popup.js"></script>
<script src="/offedu/visitEdu/usr/publish/script/postcode.js"></script>
<script src="/offedu/visitEdu/usr/publish/script/visitEduCom.js"></script>
<script src="/offedu/visitEdu/usr/publish/script/visitEduConstants.js"></script>
<script src="/offedu/visitEdu/usr/publish/script/content.js"></script>
<script src="/offedu/js/antdatepicker/moment.min.js"></script>
<script src="/offedu/js/year-select.js"></script>
<script src="/offedu/visitEdu/usr/publish/script/jquery.bxslider.js"></script>
<script src="/offedu/visitEdu/usr/publish/script/swiper.min.js"></script>
<script src="/offedu/visitEdu/usr/publish/script/main.js"></script>
<script type="module" src="/offedu/visitEdu/usr/datapicker/duet.esm.js"></script>
<script nomodule src="/offedu/visitEdu/usr/datapicker/duet.js"></script>
<script src="/offedu/visitEdu/usr/datapicker/duet.system.js"></script>
<script type="text/javascript">
function fncUpdate(){
if ($("#emailCn").val() == null || $("#emailCn").val() == ''){
alert("메일 본문 내용은 필수값입니다.");
return false;
}
if(confirm("메일 본문을 수정하시겠습니까?")){
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/eduAplctMailMdfyAjax.do",
data: {
"cntCn" : $("#emailCn").val()
},
dataType:'json',
success:function(returnData){
if(returnData.result == "success"){
alert("수정 되었습니다.");
location.reload(true);
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
//이메일 발송
function fncSndEmail(){
var p_smsEmail = $("#emailCn").val();
if (p_smsEmail==""){
alert("이메일 발송 내용은 필수값입니다.");
return false;
}
if ($("#emailAddr").val() == null || $("#emailAddr").val() == ''){
alert("이메일 수신 주소는 필수값입니다.");
return false;
}
//alert($("#emailType").val());
//return false;
fncContent(
"${pageContext.request.contextPath}/kccadr/oprtn/pblc/emailSndAjax.do",
"20",
p_smsEmail,
//"C"
$("#emailType").val()
, $("#clphone1").val()
, $("#clphone2").val()
);
}
//fncPreviewEmail
function fncPreviewEmail(){
//document.listForm.authorCode.value = vAuthorCode;
document.listForm.action = "<c:url value='/oprtn/tngrVisitEdu/popup/eduAplctMailPreviewDetail.do'/>";
window.open("#", "_aplctPreviewPop", "scrollbars = no, top=100px, left=100px, height=800px, width=1000px");
document.listForm.target = "_aplctPreviewPop";
document.listForm.submit();
}
//발송
function fncContent(p_url, p_cd, p_cn, p_flag
, p_clphone1
, p_clphone2
){
$.ajax({
type: "POST",
// enctype: 'multipart/form-data',
url:p_url,
//data: data,
data:{
"sndCd": p_cd,
"sndCn": p_cn,
"eduAplctOrd": 'test',
"email": $("#emailAddr").val(),
"sndFlag": p_flag,
"clphone1": p_clphone1
, "clphone2": p_clphone2
},
dataType:'json',
/*
async: false,
processData: false,
contentType: false,
cache: false,
*/
success:function(returnData){
if(returnData.result == "success"){
alert("정상적으로 발송되었습니다.");
}else{
alert("발송 중 오류가 발생하였습니다.");
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
</script>
</head>
<body>
<!-- cont -->
<div class="cont_wrap" id="sub">
<div class="cont_tit">
<h2>사용본문 미리보기(저장된 내용만 반영됩니다.)</h2>
</div>
<c:out value='${selectBasicTRInfo.cn}' escapeXml="false" />
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btn_type08" onclick="self.close();return false;">닫기</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
<!-- //cont -->
</body>
<form:form id="listForm" name="listForm" method="post" onsubmit="return false;" action="">
<input type="hidden" name="yr" id="yr" value=""/>
</form:form>
</html>

View File

@ -0,0 +1,112 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<%
/**
* @Class Name : eduAplctMngDetailPopup.jsp
* @Description : 신청 상세 보기
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.12.16 조용준 최초 생성
* @author 조용준
* @since 2021.12.16
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<title>교육신청 상세</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style>
/* Page Url Hide */
@page {
size: auto; /* auto is the initial value */
margin: 0; /* this affects the margin in the printer settings */
}
@media print {
html, body {height:auto;margin: 0 !important;padding: 0 !important;overflow: hidden;page-break-after: avoid;}
.cont_tit {page-break-before: always;}
.page_break {page-break-inside:avoid; page-break-after:auto}
.print_mark {page-break-before: auto;}
form{display: none;}
}
</style>
<script type="text/javascript">
</script>
</head>
<body>
<form:form id="linkForm" name="linkForm" commandName="vEEduAplctVO" method="post">
<input type="hidden" id="eduAplctOrd" name="eduAplctOrd" value="<c:out value="${info.eduAplctOrd}" />" />
</form:form>
<form id="hiddenMemoForm" name="hiddenMemoForm" method="post">
<input type="hidden" name="eduAplctOrd" value="<c:out value="${info.eduAplctOrd}" />" />
<input type="hidden" name="prvtMemoCn" id="prvtMemoCn" value="" />
</form>
<!-- cont -->
<div class="area_popup">
<div class="cont_popup">
<div class="cont_tit" style="padding: 0 0 20px 0; margin-bottom: 30px;"><h2>SMS|EMIAL 발송 - 개발전</h2></div>
<table class="pop_tb_type02">
<colgroup>
<col style="width: 140px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p>수신자</p>
</th>
<td>청소년강사1(010-1111-2222)</td>
</tr>
<tr>
<th scope="row">
<p>내용</p>
</th>
<td colspan="3"><textarea rows="" cols=""></textarea></td>
</tr>
</tbody>
</table>
<div class="btnArea">
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btn_type01" onclick="" title="새창 열림">확인</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,418 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%
/**
* @Class Name : instrHstryMngPopup.jsp
* @Description : 강사이력관리 팝업
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.08.09 김봉호 최초 생성
* @author 김봉호
* @since 2021.08.21
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/adm/publish/datepicker/classic.css">
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/adm/publish/datepicker/classic.date.css">
<script src="${pageContext.request.contextPath}/visitEdu/adm/publish/datepicker/picker.js"></script>
<script src="${pageContext.request.contextPath}/visitEdu/adm/publish/datepicker/picker.date.js"></script>
<script src="${pageContext.request.contextPath}/visitEdu/adm/publish/datepicker/legacy.js"></script>
<script src="${pageContext.request.contextPath}/visitEdu/adm/publish/datepicker/ko_KR.js"></script>
<script type="text/javascript">
</script>
<title>신청반려팝업</title>
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
var mode = '${adjReqMgrVO.mode}';
if(mode == "D"){
$("input[type=checkbox],textarea").not("textarea[name=rejtReson]").attr("disabled" , true);
}
});
function fncAprooval(){
//var msg = "강의가능시간 변경";
var data1 = new FormData(document.getElementById("createForm"));
//console.log(data);
console.log(data1);
if (confirm("이력등록을 하시겠습니까?")) {
$.ajax({
type: "POST",
url: "${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/popup/instrHstryMngPopupAjax.do",
//data: JSON.stringify(data),
data: data1,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success: function (returnData, status) {
console.log(returnData.rs);
if(returnData.result == 'success'){
alert("정상적으로 등록 되었습니다.");
opener.location.reload();
//self.close();
}else{
alert(returnData.message);
}
},
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
}
function validationForm(data){
/*
var len = $("input[type='checkbox']:checked").length;
if (len <= 0) {
alert("보완요청항목을 선택해주세요.");
return false;
}
*/
if ($("[name='aprvlCn']").val() == '') {
alert("사유를 입력해주세요.");
return false;
}
/*
if ($("[name='adrSeq']").val() == '') {
alert("신청번호가 없습니다. 관리자에게 문의해주세요.");
return false;
}
*/
return true;
}
function fncGoEdit(){
var createForm = document.createForm ;
createForm.mode.value = "C";
createForm.action = "<c:url value='/kccadr/adjReqMgr/popup/adjReqMgrRegSecurityPopup.do'/>";
createForm.submit();
}
function fncStatusUpdate(confirmYn){
var msg = "승인";
var data = {};
data.adrSeq = '${security.adrSeq}';
data.edtSn = '${security.edtSn}';
data.apprYn = 'Y';
data.rejtReson = $("#rejtReson").val();
//data.statCd = '010100'; // 작성중 상태로 변경
if(confirmYn == "N"){
data.apprYn = 'N'; // 미승인 상태
msg = "반려";
}
if (confirm(msg+" 하시겠습니까?")) {
$.ajax({
type: "POST",
url: "/kccadr/adjReqMgr/popup/adjReqMgrRegSecurityStatusChange.do",
data: JSON.stringify(data),
dataType:'json',
async: false,
processData: false,
contentType: "application/json",
cache: false,
success: function (returnData, status) {
console.log(returnData.rs);
if(returnData.result == 'SUCCESS'){
alert("정상적으로 "+ msg +" 되었습니다.");
opener.location.reload();
self.close();
}else{
alert(returnData.message);
}
},
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
}
function fncPopClose(){
self.close();
}
//회차관리 변경
function fncRndsSave(thisObj){
//alert($("#ord_1").val());
//alert($(thisObj).closest("td"));
//alert($(thisObj).closest("td").find("input[name=ord_1]").length);
var p_ord = $(thisObj).closest("td").find("input[name=ord_1]").val();
var p_rgstrStrtPnttm_dt = $(thisObj).closest("td").find("input[name=rgstrStrtPnttm_dt]").val();
var p_rgstrStrtPnttm_tm = $(thisObj).closest("td").find("input[name=rgstrStrtPnttm_tm]").val();
var p_rgstrDdlnPnttm_dt = $(thisObj).closest("td").find("input[name=rgstrDdlnPnttm_dt]").val();
var p_rgstrDdlnPnttm_tm = $(thisObj).closest("td").find("input[name=rgstrDdlnPnttm_tm]").val();
var p_yr = $("#yr").val();
var p_ord = $("#ord").val();
var p_rgstrStrtPnttm_dt = $("#rgstrStrtPnttm_dt").val();
var p_rgstrStrtPnttm_tm = $("#rgstrStrtPnttm_tm").val();
var p_rgstrDdlnPnttm_dt = $("#rgstrDdlnPnttm_dt").val();
var p_rgstrDdlnPnttm_tm = $("#rgstrDdlnPnttm_tm").val();
//alert(p_areaCd);
//if(p_psblTmQntty != "") {
if(true) {
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/popup/advRndsSaveAjax.do",
data:{
"yr" : p_yr,
"ord" : p_ord,
"rgstrStrtPnttm" : p_rgstrStrtPnttm_dt+p_rgstrStrtPnttm_tm,
"rgstrDdlnPnttm" : p_rgstrDdlnPnttm_dt+p_rgstrDdlnPnttm_tm,
},
dataType:'json',
success:function(returnData){
if(returnData.result == "success"){
alert("변경 처리 되었습니다.");
fncGoList();
}else{
alert("변경 중 오류가 발생하였습니다.");
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}else{
alert("교육가능시수를 입력해주세요.");
}
}
function fncGoList(){
linkPage(1);
}
function linkPage(pageNo){
var listForm = document.createForm ;
//listForm.pageIndex.value = pageNo ;
//listForm.searchCondition.value = $('#searchCondition').val();
//listForm.searchKeyword.value = $('#searchKeyword').val();
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/popup/advRndsStngMngPopup.do'/>";
listForm.submit();
}
//회차관리 변경
function fncRndsUpdate(p_rndsOrd){
//alert($("#ord_1").val());
//alert($(thisObj).closest("td"));
//alert($(thisObj).closest("td").find("input[name=ord_1]").length);
//var p_ord = $(thisObj).closest("td").find("input[name=ord_1]").val();
//$("#${list.rndsOrd}"+" #lctrPsblStrtTm").val('${list.dpStrtTm}');
var p_rgstrStrtPnttm_dt = $("#"+p_rndsOrd+" #aplctPrdStrt").val();
var p_rgstrStrtPnttm_tm = $("#"+p_rndsOrd+" #lctrPsblStrtTm").val();
var p_rgstrDdlnPnttm_dt = $("#"+p_rndsOrd+" #aplctPrdEnd").val();
var p_rgstrDdlnPnttm_tm = $("#"+p_rndsOrd+" #lctrPsblEndTm").val();
var p_ord = $("#"+p_rndsOrd+" #psblTmQntty").val();
//alert(p_areaCd);
//if(p_psblTmQntty != "") {
if(true) {
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/popup/advRndsUpdateAjax.do",
data:{
"rndsOrd" : p_rndsOrd,
//"yr" : p_yr,
"ord" : p_ord,
"rgstrStrtPnttm" : p_rgstrStrtPnttm_dt+p_rgstrStrtPnttm_tm,
"rgstrDdlnPnttm" : p_rgstrDdlnPnttm_dt+p_rgstrDdlnPnttm_tm,
},
dataType:'json',
success:function(returnData){
if(returnData.result == "success"){
alert("변경 처리 되었습니다.");
fncGoList();
}else{
alert("변경 중 오류가 발생하였습니다.");
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}else{
alert("교육가능시수를 입력해주세요.");
}
}
//회차관리 삭제
function fncRndsDelete(p_rndsOrd){
//if(p_psblTmQntty != "") {
if(true) {
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/popup/advRndsDeleteAjax.do",
data:{
"rndsOrd" : p_rndsOrd,
},
dataType:'json',
success:function(returnData){
if(returnData.result == "success"){
alert("삭제 처리 되었습니다.");
fncGoList();
}else{
alert("삭제 중 오류가 발생하였습니다.");
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}else{
alert("교육가능시수를 입력해주세요.");
}
}
</script>
</head>
<body>
<!-- 팝업을 위한 mask -->
<div class="mask2" onclick="timeLayerUtil()"></div>
<div class="area_popup">
<!-- cont_tit -->
<div class="cont_tit">
<h2>이력관리</h2>
</div>
<!-- //cont_tit -->
<div class="cont_popup">
<form:form id="createForm" name="createForm" method="post" commandName="vELctrDetailVO" onsubmit="return false;">
<input type="hidden" name="userId" id="userId" value="<c:out value="${vEAStngVO.userId}" />">
<table class="pop_tb_type02">
<colgroup>
<col style="width: 20%;">
<col style="width: 80%;">
</colgroup>
<tbody>
<tr>
<th scope="row">구분</th>
<th scope="row">내용</th>
</tr>
</tbody>
<tbody>
<tr>
<!-- 회차 -->
<td>
<div class="util_right">
교육명
</div>
</td>
<td>
<div class="util_right">
<input type="text" id="sbjct" name="sbjct" class="search_input"
style="width:400px;" maxlength="30"
value='' onkeyDown="press(event);">
</div>
</td>
</tr>
<tr>
<!-- 회차 -->
<td>
<div class="util_right">
교육기간
</div>
</td>
<td>
<div class="util_right">
<div class="calendar_wrap">
<input type="text" class="calendar" title="시작일 선택" id="rgstrStrtPnttm_dt"
name="rgstrStrtPnttm_dt">
</div>
~
<div class="calendar_wrap">
<input type="text" class="calendar" title="종료일 선택" id="rgstrDdlnPnttm_dt"
name="rgstrDdlnPnttm_dt">
</div>
</div>
</td>
</tr>
<tr>
<!-- 회차 -->
<td>
<div class="util_right">
비고
</div>
</td>
<td>
<div class="util_right">
<input type="text" id="cn" name="cn" class="search_input"
style="width:700px;" maxlength="300"
value='' onkeyDown="press(event);">
</div>
</td>
</tr>
</tbody>
</table>
</form:form>
<div class="btn_wrap_pop btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center" style="width: 100%;">
<button type="button" class="btn_type04" onclick="fncAprooval(); return false;">등록</button>
<button type="button" class="btn_type02" onclick="window.close()">취소</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -144,6 +144,9 @@
<col style="width: 8%"> <col style="width: 8%">
<col style="width: 8%"> <col style="width: 8%">
<col style="width: auto;"> <col style="width: auto;">
<col style="width: 8%">
<col style="width: 8%">
<col style="width: 8%">
<col style="width: 10%"> <col style="width: 10%">
<col style="width: 10%"> <col style="width: 10%">
</colgroup> </colgroup>
@ -153,7 +156,10 @@
<th>학교구분</th> <th>학교구분</th>
<th>지역</th> <th>지역</th>
<th>학교(기관)명</th> <th>학교(기관)명</th>
<th>도서구분</th> <th>도서여부</th>
<th>벽지여부</th>
<th>접적학교여부</th>
<th>인구감소지역여부</th>
<th>등록일</th> <th>등록일</th>
</tr> </tr>
</thead> </thead>
@ -196,7 +202,22 @@
</td> </td>
<td> <td>
<a href="#" onclick="javascript:fncGoDetail('${list.scholId}'); return false;"> <a href="#" onclick="javascript:fncGoDetail('${list.scholId}'); return false;">
<c:out value="${list.isltnScholYn}"/> <c:out value="${list.isltnYn}"/>
</a>
</td>
<td>
<a href="#" onclick="javascript:fncGoDetail('${list.scholId}'); return false;">
<c:out value="${list.isltn2Yn}"/>
</a>
</td>
<td>
<a href="#" onclick="javascript:fncGoDetail('${list.scholId}'); return false;">
<c:out value="${list.isltn3Yn}"/>
</a>
</td>
<td>
<a href="#" onclick="javascript:fncGoDetail('${list.scholId}'); return false;">
<c:out value="${list.isltnYn}"/>
</a> </a>
</td> </td>
<td> <td>
@ -207,7 +228,7 @@
</tr> </tr>
</c:forEach> </c:forEach>
<c:if test="${empty list}"> <c:if test="${empty list}">
<tr><td colspan="6"><spring:message code="common.nodata.msg" /></td></tr> <tr><td colspan="9"><spring:message code="common.nodata.msg" /></td></tr>
</c:if> </c:if>
</tbody> </tbody>
</table> </table>

View File

@ -494,13 +494,13 @@
<tbody> <tbody>
<tr> <tr>
<th scope="row"> <th scope="row">
<p>대상학년</p> <p>대상학년/반</p>
</th> </th>
<td>${info.trgtGrade}</td> <td>${info.trgtGrade}</td>
<th scope="row"> <%-- <th scope="row">
<p>대상반</p> <p>대상반</p>
</th> </th>
<td>${info.trgtClsrm}</td> <td>${info.trgtClsrm}</td> --%>
</tr> </tr>
<tr> <tr>
<th scope="row"> <th scope="row">

View File

@ -83,8 +83,8 @@
<table> <table>
<colgroup> <colgroup>
<col style="width: 10%;"> <col style="width: 10%;">
<col style="width: auto;">
<col style="width: 15%;"> <col style="width: 15%;">
<col style="width: auto;">
<col style="width: 15%"> <col style="width: 15%">
<col style="width: 20%;"> <col style="width: 20%;">
<col style="width: 15%;"> <col style="width: 15%;">
@ -92,8 +92,8 @@
<thead> <thead>
<tr> <tr>
<th scope="col">번호</th> <th scope="col">번호</th>
<th scope="col">운영 연도</th>
<th scope="col">교육내용</th> <th scope="col">교육내용</th>
<th scope="col">접수종료일</th>
<th scope="col">신청일</th> <th scope="col">신청일</th>
<th scope="col">학교명</th> <th scope="col">학교명</th>
<th scope="col">처리상태</th> <th scope="col">처리상태</th>
@ -108,13 +108,13 @@
</td> </td>
<td> <td>
<a href="javascript:fncGoDetail('${list.eduAplctOrd}');" > <a href="javascript:fncGoDetail('${list.eduAplctOrd}');" >
${list.chrgMjr} <fmt:parseDate value="${list.oprtnStrtDt}" var="oprtnStrtDt" pattern="yyyyMMdd"/>
<fmt:formatDate value="${oprtnStrtDt}" pattern="yyyy년"/>
</a> </a>
</td> </td>
<td> <td>
<a href="javascript:fncGoDetail('${list.eduAplctOrd}');" > <a href="javascript:fncGoDetail('${list.eduAplctOrd}');" >
<fmt:parseDate value="${list.prcsEndPnttm}" var="prcsEndPnttm" pattern="yyyyMMddHHmm"/> ${list.chrgMjr}
<fmt:formatDate value="${prcsEndPnttm}" pattern="yyyy.MM.dd"/>
</a> </a>
</td> </td>
<td> <td>

View File

@ -119,13 +119,6 @@
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button> <button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
</div> </div>
</div> </div>
<div class="tit_box">
<i class="tit_box_icon1"></i>
<div>
<p>찾아가는 저작권 교육</p>
<span>‘찾아가는 저작권 교육’은 저작권 교육이 필요한 <span>전국 초ㆍ중ㆍ고등학교, 청소년ㆍ아동복지ㆍ노인ㆍ장애인 기관 및 단체 등</span>에 직접 방문하여 무료로 강의를 지원하는 맞춤형 교육 서비스입니다.</span>
</div>
</div>
<div class="tb_tit01"> <div class="tb_tit01">
<div class="tb_tit01_left"> <div class="tb_tit01_left">
@ -150,7 +143,7 @@
<c:choose> <c:choose>
<c:when test="${not empty info.sbmtPnttmDetail}"> <c:when test="${not empty info.sbmtPnttmDetail}">
<fmt:parseDate value="${info.sbmtPnttmDetail}" var="sbmtPnttm" pattern="yyyy-MM-dd HH:mm:ss"/> <fmt:parseDate value="${info.sbmtPnttmDetail}" var="sbmtPnttm" pattern="yyyy-MM-dd HH:mm:ss"/>
<fmt:formatDate value="${sbmtPnttm}" pattern="yyyy-MM-dd HH시 mm분"/> <fmt:formatDate value="${sbmtPnttm}" pattern="yyyy-MM-dd HH:mm:ss"/>
</c:when> </c:when>
<c:otherwise> <c:otherwise>
- -
@ -158,12 +151,6 @@
</c:choose> </c:choose>
</td> </td>
<th scope="row">
<p>접수종료일</p>
</th>
<td>
<c:out value="${endPnttm }"/>
</td>
</tr> </tr>
<tr class="trLength2"> <tr class="trLength2">
<th scope="row"> <th scope="row">
@ -181,21 +168,6 @@
</c:choose> </c:choose>
</td> </td>
</tr> </tr>
<tr class="trLength2">
<th scope="row">
<p>접수종료일</p>
</th>
<td colspan="3">
<c:choose>
<c:when test="${not empty endPnttm}">
<c:out value="${endPnttm }"/>
</c:when>
<c:otherwise>
-
</c:otherwise>
</c:choose>
</td>
</tr>
<tr> <tr>
<th scope="row"> <th scope="row">
<p>처리상태</p> <p>처리상태</p>
@ -231,6 +203,14 @@
<td colspan="3">${info.aprvlCn}</td> <td colspan="3">${info.aprvlCn}</td>
</tr> </tr>
</c:if> </c:if>
<c:if test="${info.aprvlCd eq VeConstants.APRVL_CD_70}">
<tr>
<th scope="row">
<p>수정요청사유</p>
</th>
<td colspan="3">${info.aprvlCn}</td>
</tr>
</c:if>
</tbody> </tbody>
</table> </table>
</div> </div>
@ -283,12 +263,6 @@
<kc:code codeId="COM014" code="${info.chrgSexCd}"/> <kc:code codeId="COM014" code="${info.chrgSexCd}"/>
</td> </td>
</tr> </tr>
<tr>
<th scope="row">
<p>이메일</p>
</th>
<td>${info.email}</td>
</tr>
<tr> <tr>
<th scope="row"> <th scope="row">
<p>휴대폰</p> <p>휴대폰</p>
@ -300,6 +274,12 @@
<p>전화</p> <p>전화</p>
</th> </th>
<td>${info.phone}</td> <td>${info.phone}</td>
</tr
<tr>
<th scope="row">
<p>이메일</p>
</th>
<td>${info.email}</td>
</tr> </tr>
<tr> <tr>
<th scope="row"> <th scope="row">
@ -367,26 +347,26 @@
<tbody> <tbody>
<tr class="trLength4"> <tr class="trLength4">
<th scope="row"> <th scope="row">
<p>대상학년</p> <p>대상학년/반</p>
</th> </th>
<td>${info.trgtGrade}</td> <td>${info.trgtGrade}</td>
<th scope="row"> <%-- <th scope="row">
<p>대상반</p> <p>대상반</p>
</th> </th>
<td>${info.trgtClsrm}</td> <td>${info.trgtClsrm}</td> --%>
</tr> </tr>
<tr class="trLength2"> <tr class="trLength2">
<th scope="row"> <th scope="row">
<p>대상학년</p> <p>대상학년/반</p>
</th> </th>
<td colspan="3">${info.trgtGrade}</td> <td colspan="3">${info.trgtGrade}</td>
</tr> </tr>
<tr class="trLength2"> <%-- <tr class="trLength2">
<th scope="row"> <th scope="row">
<p>대상반</p> <p>대상반</p>
</th> </th>
<td colspan="3">${info.trgtClsrm}</td> <td colspan="3">${info.trgtClsrm}</td>
</tr> </tr> --%>
<tr class="trLength4"> <tr class="trLength4">
<th scope="row"> <th scope="row">
<p>대상학생수</p> <p>대상학생수</p>

View File

@ -124,8 +124,8 @@
<table> <table>
<colgroup> <colgroup>
<col style="width: 10%;"> <col style="width: 10%;">
<col style="width: auto;">
<col style="width: 15%;"> <col style="width: 15%;">
<col style="width: auto;">
<col style="width: 15%"> <col style="width: 15%">
<col style="width: 20%;"> <col style="width: 20%;">
<col style="width: 15%;"> <col style="width: 15%;">
@ -133,8 +133,8 @@
<thead> <thead>
<tr> <tr>
<th scope="col">번호</th> <th scope="col">번호</th>
<th scope="col">운영 연도</th>
<th scope="col">교육내용</th> <th scope="col">교육내용</th>
<th scope="col">접수종료일</th>
<th scope="col">신청일</th> <th scope="col">신청일</th>
<th scope="col">학교명</th> <th scope="col">학교명</th>
<th scope="col">처리상태</th> <th scope="col">처리상태</th>
@ -149,13 +149,13 @@
</td> </td>
<td> <td>
<a href="javascript:fncGoDetail('${list.eduAplctOrd}');" > <a href="javascript:fncGoDetail('${list.eduAplctOrd}');" >
${list.chrgMjr} <fmt:parseDate value="${list.oprtnStrtDt}" var="oprtnStrtDt" pattern="yyyyMMdd"/>
<fmt:formatDate value="${oprtnStrtDt}" pattern="yyyy년"/>
</a> </a>
</td> </td>
<td> <td>
<a href="javascript:fncGoDetail('${list.eduAplctOrd}');" > <a href="javascript:fncGoDetail('${list.eduAplctOrd}');" >
<fmt:parseDate value="${list.prcsEndPnttm}" var="prcsEndPnttm" pattern="yyyyMMddHHmm"/> ${list.chrgMjr}
<fmt:formatDate value="${prcsEndPnttm}" pattern="yyyy.MM.dd"/>
</a> </a>
</td> </td>
<td> <td>

View File

@ -168,7 +168,7 @@
function fncSave(type){ function fncSave(type){
if(type == 'S'){ if(type == 'S' || type == 'E'){
if (!validCheck()) return; if (!validCheck()) return;
} }
@ -180,6 +180,9 @@
if(confirm("교육신청을 "+(type == 'I'? '임시저장' : '등록')+"하시겠습니까?")){ if(confirm("교육신청을 "+(type == 'I'? '임시저장' : '등록')+"하시겠습니까?")){
if(type == 'I'){ if(type == 'I'){
$("#sbmtYn").val("N"); $("#sbmtYn").val("N");
}else if(type == 'E'){
$("#sbmtYn").val("Y");
$("#aprvlCd").val(VeConstants.APRVL_CD_80);
}else{ }else{
$("#sbmtYn").val("Y"); $("#sbmtYn").val("Y");
$("#aprvlCd").val(VeConstants.APRVL_CD_10); $("#aprvlCd").val(VeConstants.APRVL_CD_10);
@ -394,15 +397,21 @@
$("#trgtGrade").focus(); $("#trgtGrade").focus();
return false; return false;
} }
if($('#trgtClsrm').val() == ''){ /* if($('#trgtClsrm').val() == ''){
alert('대상반을 입력해주세요.'); alert('대상반을 입력해주세요.');
$("#trgtClsrm").focus(); $("#trgtClsrm").focus();
return false; return false;
} } */
if($('#trgtPrsnl').val() == ''){ if($('#trgtPrsnl').val() == ''){
alert('학생수를 입력해주세요.'); alert('전체학생 수를 입력해주세요.');
$("#trgtPrsnl").focus(); $("#trgtPrsnl").focus();
return
false;
}
if($('#needTxtbNum').val() == ''){
alert('필요 교재 수량을 입력해주세요.');
$("#needTxtbNum").focus();
return false; return false;
} }
@ -567,7 +576,7 @@
} }
$("#trgtGrade").val(info.trgtGrade); $("#trgtGrade").val(info.trgtGrade);
$("#trgtClsrm").val(info.trgtClsrm); /* $("#trgtClsrm").val(info.trgtClsrm); */
$("#trgtPrsnl").val(info.trgtPrsnl); $("#trgtPrsnl").val(info.trgtPrsnl);
$("#needTxtbNum").val(info.needTxtbNum); $("#needTxtbNum").val(info.needTxtbNum);
@ -687,13 +696,12 @@
script="onFocus='this.initialSelect = this.selectedIndex;' onChange='this.selectedIndex = this.initialSelect;'"/> script="onFocus='this.initialSelect = this.selectedIndex;' onChange='this.selectedIndex = this.initialSelect;'"/>
<label for="scholInsttNm" class="label">학교(기관)명 입력</label> <label for="scholInsttNm" class="label">학교(기관)명 입력</label>
<input type="text" value="${info.scholInsttNm}" size="25" readonly id="scholInsttNm" name="scholInsttNm"> <input type="text" value="${info.scholInsttNm}" size="25" readonly id="scholInsttNm" name="scholInsttNm">
<button type="button" class="btnType01" data-tooltip="sub01_pop02" onclick="fncScholList();" title="팝업 열림">학교검색</button> <button type="button" class="btnType01" data-tooltip="sub01_pop02" onclick="fncScholList();" title="팝업 열림">학교검색</button> ※ 학교명이 검색되지 않을 경우, 담당자에게 연락
<input type="hidden" size="25" title="학교명코드" id="stndrdScholCd" name="stndrdScholCd" value="${info.stndrdScholCd}"> <input type="hidden" size="25" title="학교명코드" id="stndrdScholCd" name="stndrdScholCd" value="${info.stndrdScholCd}">
</td> </td>
</tr> </tr>
<tr> <tr>
<th scope="row"> <th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>학교구분</p> <p>학교구분</p>
</th> </th>
<td colspan="3"> <td colspan="3">
@ -785,7 +793,6 @@
</tr> </tr>
<tr class="input_adress"> <tr class="input_adress">
<th scope="row"> <th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>주소</p> <p>주소</p>
</th> </th>
<td colspan="3"> <td colspan="3">
@ -897,25 +904,26 @@
<tr> <tr>
<th scope="row"> <th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p> <p class="req_text"><span>필수입력 항목</span>*</p>
<p>학년수</p> <p>대상학년/반</p>
</th> </th>
<td> <td>
<label for="trgtGrade" class="label">대상 학년 입력</label> <label for="trgtGrade" class="label">대상 학년 입력</label>
<input type="text" name="trgtGrade" id="trgtGrade" onkeyup="onlyNumber(this);" maxlength="3" value="${info.trgtGrade}" size="20"> 학년 <input type="text" name="trgtGrade" id="trgtGrade" maxlength="20" value="${info.trgtGrade}" size="20">
</td> </td>
<th scope="row"> <!-- 231107 학년과 대상 통합 요청 -->
<%--<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p> <p class="req_text"><span>필수입력 항목</span>*</p>
<p>대상 반</p> <p>대상 반</p>
</th> </th>
<td> <td>
<label for="trgtClsrm" class="label">대상 반 입력</label> <label for="trgtClsrm" class="label">대상 반 입력</label>
<input type="text" name="trgtClsrm" id="trgtClsrm" value="${info.trgtClsrm}" title="교육인원" size="20"> 반 <input type="text" name="trgtClsrm" id="trgtClsrm" value="${info.trgtClsrm}" title="교육인원" size="20"> 반
</td> </td> --%>
</tr> </tr>
<tr> <tr>
<th scope="row"> <th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p> <p class="req_text"><span>필수입력 항목</span>*</p>
<p>학생수</p> <p>전체학생 수</p>
</th> </th>
<td> <td>
<label for="trgtPrsnl" class="label">학생 수 입력</label> <label for="trgtPrsnl" class="label">학생 수 입력</label>
@ -964,10 +972,11 @@
</tr> </tr>
<tr> <tr>
<th scope="row"> <th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>필요 교재 수량</p> <p>필요 교재 수량</p>
</th> </th>
<td> <td>
<label for="trgtGrade" class="label">필요 교재 수량 입력</label> <label for="needTxtbNum" class="label">필요 교재 수량 입력</label>
<input type="text" name="needTxtbNum" id="needTxtbNum" onkeyup="onlyNumber(this);" value="${info.trgtPrsnlReal}" title="전체 교육인원" size="20" maxlength="4"> <input type="text" name="needTxtbNum" id="needTxtbNum" onkeyup="onlyNumber(this);" value="${info.trgtPrsnlReal}" title="전체 교육인원" size="20" maxlength="4">
</td> </td>
</tr> </tr>

View File

@ -71,26 +71,26 @@
<tbody> <tbody>
<tr class="trLength4"> <tr class="trLength4">
<th scope="row"> <th scope="row">
<p>대상학년</p> <p>대상학년/반</p>
</th> </th>
<td>${info.trgtGrade}</td> <td>${info.trgtGrade}</td>
<th scope="row"> <%-- <th scope="row">
<p>대상반</p> <p>대상반</p>
</th> </th>
<td>${info.trgtClsrm}</td> <td>${info.trgtClsrm}</td> --%>
</tr> </tr>
<tr class="trLength2"> <tr class="trLength2">
<th scope="row"> <th scope="row">
<p>대상학년</p> <p>대상학년/반</p>
</th> </th>
<td colspan="3">${info.trgtGrade}</td> <td colspan="3">${info.trgtGrade}</td>
</tr> </tr>
<tr class="trLength2"> <%-- <tr class="trLength2">
<th scope="row"> <th scope="row">
<p>대상반</p> <p>대상반</p>
</th> </th>
<td colspan="3">${info.trgtClsrm}</td> <td colspan="3">${info.trgtClsrm}</td>
</tr> </tr> --%>
<tr class="trLength4"> <tr class="trLength4">
<th scope="row"> <th scope="row">
<p>대상학생수</p> <p>대상학생수</p>

View File

@ -492,13 +492,13 @@
<tbody> <tbody>
<tr> <tr>
<th scope="row"> <th scope="row">
<p>대상학년</p> <p>대상학년/반</p>
</th> </th>
<td>${info.trgtGrade}</td> <td>${info.trgtGrade}</td>
<th scope="row"> <%-- <th scope="row">
<p>대상반</p> <p>대상반</p>
</th> </th>
<td>${info.trgtClsrm}</td> <td>${info.trgtClsrm}</td> --%>
</tr> </tr>
<tr> <tr>
<th scope="row"> <th scope="row">

View File

@ -0,0 +1,418 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<script type="text/javascript" src="${pageContext.request.contextPath}/kccadrPb/usr/script/popup.js"></script>
<style type="text/css">
.fc-day-sat { color:#0000FF; } /* 토요일 */
.fc-day-sun { color:#FF0000; } /* 일요일 */
</style>
<link type="text/css" rel="stylesheet" href="<c:url value='/js/fullcalendar/5.9.0/main.css' />" />
<script type="text/javascript" src="<c:url value='/js/fullcalendar/5.9.0/main.js'/>"></script>
<script type="text/javascript" src="<c:url value='/js/fullcalendar/5.9.0/locales-all.js'/>"></script>
<!-- css -->
<link rel="stylesheet" href="/offedu/visitEdu/adm/publish/css/reset.css">
<link rel="stylesheet" href="/offedu/visitEdu/adm/publish/css/font.css">
<link rel="stylesheet" href="/offedu/visitEdu/adm/publish/css/common.css">
<link rel="stylesheet" href="/offedu/visitEdu/adm/publish/css/content.css">
<link rel="stylesheet" href="/offedu/visitEdu/adm/publish/css/popup.css">
<!-- script -->
<script src="/offedu/visitEdu/adm/publish/script/jquery-3.5.0.js"></script>
<script src="/offedu/visitEdu/adm/publish/script/content.js"></script>
<script src="/offedu/kccadrPb/adm/script/postcode.js"></script>
<script src="/offedu/js/ncms_common.js"></script>
<script src="/offedu/js/util.js"></script>
<script src="/offedu/js/kccadr/kccadrCom.js"></script>
<script src="/offedu/js/kccadr/kccadrConstants.js"></script>
<script src="/offedu/js/antdatepicker/moment.min.js"></script>
<script type="text/javascript" src="/offedu/js/ve/veConstants.js"></script>
<script type="text/javaScript" language="javascript">
function fncGoScholList(){
linkPage(1);
}
function linkPage(pageNo){
var data = {
pageIndex : pageNo,
searchKeyword : $("#searchKeyword").val(),
searchCondition : $("#searchCondition").val(),
pageUnit : 5,
formId : $("#formId").val(),
}
fncScholList(data);
}
function fncScholList(paramObj) {
if(paramObj == undefined || paramObj == ''){
paramObj = {
pageIndex : 1,
searchKeyword : "",
searchCondition : "",
pageUnit : 5,
formId : $("#formId").val(),
};
}
// 학교 리스트 팝업 호출
commonPopLayeropen(
"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/scholPopList.do"
, 500
, 600
, paramObj
, "N"
, "scholPop"
);
}
function fncScholDataSlct_back(p_code, p_nm){
var fNm = "#"+$("#formId").val();
$(fNm + " #stndrdScholCd").val(p_code);
$(fNm + " #scholInsttNm").val(p_nm);
$(".btn_popup_close").click();
}
function fncScholDataSlct(thisObj){
var inObj = $(thisObj).closest("td").find("input[type=hidden]");
var rsObj = new Object();
$.each(inObj, function(idx, value){
console.log(value.value);
rsObj[value.name] = value.value;
});
callBackSchPop(rsObj);
$(".btn_popup_close").click();
}
$(document).ready(function(){
//boardCaptionDetailToggle4();
// 레이어팝업 포커싱 이동 수정
$(".tooltip-close").click(function(){
var activeTarget = $('[data-tooltip-con="sub36_pop02"]');
activeTarget.hide();
$('[data-tooltip="sub01_pop02"]').focus();
});
//레이어팝업 초정 이동 시 필요한 data 값 추가
var btnLast = $('.popup_cont').find('.page').find('button:last-child');
btnLast.attr('data-focus-next','sub36_pop02');
btnLast.attr('data-focus','sub36_pop02_close');
})
var ex_s_todate;// = info.startStr;
var calendar;
document.addEventListener('DOMContentLoaded', function() {
var calendarEl = document.getElementById('schduleManager');
calendar = new FullCalendar.Calendar(calendarEl, {
locale: 'ko',
timezone : "local",
weekends : true,
editable : false,
firstDay : 0, //월요일이 먼저 오게 하려면 1
dayMaxEvents: true,
navLinks: true,
navLinkDayClick: function(date, jsEvent) { //일자클릭
console.log('day', date.toISOString());
console.log('coords', jsEvent.pageX, jsEvent.pageY);
},
customButtons: {
myCustomButton: {
text: '오늘',
click: function(event, elm) {
alert('clicked the custom button!');
}
},viewWeekends : {
text : '주말',
click : function (event, elm) {
calendar.setOption("weekends" , calendar.getOption("weekends") ? false : true);
}
}
},buttonText: {
listMonth: '일정'
},
headerToolbar: {
left: 'prevYear nextYear today',
center: 'prev title next',
right: ' '
//right: 'dayGridMonth,listMonth'
},
eventSources: [
{
events: function(info, successCallback, failureCallback) {
console.log(info);
//alert(info.start);
//alert(info.startStr);
//alert(JSON.stringify(info));
//alert(JSON.stringify(info.startStr));
var s_todate = info.startStr;
ex_s_todate = info.startStr;
var searchDt = $("#searchCalendarCode").val();
$.ajax({
url: '<c:url value="/kccadr/oprtn/tngrVisitEdu/popup/advLctrPrdCalendarPopupAjax.do"/>',
type: 'POST',
dataType: 'json',
data: {
searchStartDt : "",
searchStartDt : s_todate,
todate : info.start,
dpStrtDt : s_todate,
dpDdlnDt : info.start,
rndsOrd : '${rndsOrd}',
//todate : info.startStr,
//todate : s_todate,
//todate : "",
searchYearMonth : function(){
return "";
}
},
success: function(data) {
successCallback(data);
// 날짜 계산
//setCalDate(data, info.startStr);
}
});
}
}
],
eventContent: function(arg, createElement) {
event.preventDefault();
console.log(arg.event._def.url);
arg.event._def.url = "#none";
},
eventClick: function(info) {
info.jsEvent.preventDefault();
/*
alert(info.event._def.extendedProps.lctrPsblPrdOrd);
alert(info.event._def.extendedProps.start);
alert(info.event._def.extendedProps.end);
alert(info.event._def.extendedProps.rndsNm);
alert(JSON.stringify(info.event._def.extendedProps));
*/
schDetailPop(
info.event._def.extendedProps.lctrPsblPrdOrd
, info.event._def.extendedProps.rndsOrd
, info.event._def.extendedProps.rndsNm
);
return false;
},
});
calendar.render();
});
function schDetailPop(
p_lctrPsblPrdOrd
, p_rndsOrd
, p_lctrPsblStrtDt
) {
//alert(p_lctrPsblPrdOrd);
fncChangePsblDay(p_lctrPsblPrdOrd, p_rndsOrd, p_lctrPsblStrtDt);
//calendar.fullCalendar('refetchEvents');
/*
window.open('', 'schDetailPop', "width=800, height=520, left=100, top=130","location = no","status= no","toolbars= no");
document.listForm.eduAplctOrd.value = schSeq ;
document.listForm.eduChasiOrd.value = schChasiSeq ;
document.listForm.method = "post";
document.listForm.action = "${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/popup/SchduleManagerPopDetail.do";
document.listForm.target = "schDetailPop" ;
document.listForm.submit();
*/
}
//회차의 강의가능기간관리 삭제
function fncChangePsblDay(p_lctrPsblPrdOrd
, p_rndsOrd
, p_lctrPsblStrtDt){
//if(p_psblTmQntty != "") {
if(true) {
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/popup/advLctrPrdChangeAjax.do",
data:{
"lctrPsblPrdOrd" : p_lctrPsblPrdOrd,
"rndsOrd" : p_rndsOrd,
"lctrPsblStrtDt" : p_lctrPsblStrtDt,
},
dataType:'json',
success:function(returnData){
if(returnData.result == "success"){
alert("변경 처리 되었습니다.");
//fncGoList();
//$('#schduleManager').fullCalendar('gotoDate', new Date('2023-10-01'));
window.location.reload(false);
//calendar.render();
}else{
alert("변경 중 오류가 발생하였습니다.");
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}else{
alert("교육가능시수를 입력해주세요.");
}
}
function excelDownLoad(){
var listForm = document.listForm ;
listForm.searchStartDt.value = ex_s_todate ;
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/tngrSchduleManagerExcelDownLoad.do'/>";
listForm.submit();
}
/*
*##############################################################################
* START
*##############################################################################
*/
// 날짜 계산
function setCalDate(data, startStr) {
// 현재월 구하기
startStr = startStr.substr(0, 10);
startStr = replaceAll(startStr, "-", "");
startStr = replaceAll(startStr, ".", "");
startStr = replaceAll(startStr, "/", "");
var todayYear = startStr.substring(0,4);
var todayMonth = 0;
var todayDay = startStr.substring(6,8);
if (todayDay == "01") {
todayMonth = startStr.substring(4,6);
}
else {
if (startStr.substring(4,6) == "12") {
todayMonth = "01";
}
else {
todayMonth = parseInt(startStr.substring(4,6), 10) + 1;
if (todayMonth < 10) {
todayMonth = "0" + todayMonth;
}
}
}
// End
//alert(todayMonth);
var monthCnt = 0;
var week1Cnt = 0, week2Cnt = 0, week3Cnt = 0, week4Cnt = 0, week5Cnt = 0, week6Cnt = 0;
var sHtml = "";
for (var j = 0; j < data.length; j++) {
var schStartDate = data[j].start.substr(0, 10);
schStartDate = replaceAll(schStartDate, "-", "");
schStartDate = replaceAll(schStartDate, ".", "");
schStartDate = replaceAll(schStartDate, "/", "");
var thisYear = schStartDate.substring(0,4);
var thisMonth = schStartDate.substring(4,6);
var thisDay = schStartDate.substring(6,8);
var thisWeek = getSecofWeek(schStartDate);
// 해당월 데이터만 처리
if (todayMonth == thisMonth) {
monthCnt++;
if (thisWeek == 1) {
week1Cnt++;
}
else if (thisWeek == 2) {
week2Cnt++;
}
else if (thisWeek == 3) {
week3Cnt++;
}
else if (thisWeek == 4) {
week4Cnt++;
}
else if (thisWeek == 5) {
week5Cnt++;
}
else if (thisWeek == 6) {
week6Cnt++;
}
}
}
sHtml += "전체 : " + monthCnt + "건";
sHtml += " &nbsp;(1주차 : " + week1Cnt + "건";
sHtml += ", &nbsp;&nbsp;2주차 : " + week2Cnt + "건";
sHtml += ", &nbsp;&nbsp;3주차 : " + week3Cnt + "건";
sHtml += ", &nbsp;&nbsp;4주차 : " + week4Cnt + "건";
sHtml += ", &nbsp;&nbsp;5주차 : " + week5Cnt + "건";
sHtml += ", &nbsp;&nbsp;6주차 : " + week6Cnt + "건)";
sHtml += '&nbsp;<button type="button" class="btn_down_excel" onclick="excelDownLoad();">일정현황 엑셀 다운로드</button>';
$("#weekCnt").html(sHtml);
}
// 해당일 주차 계산
function getSecofWeek(date) {
var d = new Date( date.substring(0,4), parseInt(date.substring(4,6))-1, date.substring(6,8) );
var fd = new Date( date.substring(0,4), parseInt(date.substring(4,6))-1, 1 );
return Math.ceil((parseInt(date.substring(6,8))+fd.getDay())/7);
}
// ReplaceAll
function replaceAll(str, searchStr, replaceStr) {
return str.split(searchStr).join(replaceStr);
}
</script>
<!-- 일정 상세 -->
<form:form commandName="scholInfoVO" id="popList" name="popList" method="post" onsubmit="return false;">
<input type="hidden" name="pageIndex" value="<c:out value='${scholInfoVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${scholInfoVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${scholInfoVO.searchSortOrd}" />" />
<input type="hidden" name="formId" id="formId" value="<c:out value="${scholInfoVO.formId}" />" />
<div class="popup_wrap popType01" tabindex="0" data-tooltip-con="sub36_pop02" data-focus="sub36_pop02" data-focus-prev="sub36_pop02_close">
<div class="popup_tit">
<p>학교명 검색</p> <button class="btn_popup_close tooltip-close" data-focus="sub36_pop02_close" title="팝업 닫기"><i></i></button>
</div>
<div class="popup_cont">
<div id="schduleManager">askfjaskdjfaskdjfasdk
asdfasfsad
asdfsadf
</div>
</div>
</div>
</form:form>

View File

@ -36,6 +36,12 @@
frm.submit(); frm.submit();
} }
function goMain(){
var frm = document.getElementById("prcsOrdForm");
frm.action = "<c:url value='/web/main/mainPage.do'/>";
frm.submit();
}
</script> </script>
<form id="prcsOrdForm" name="prcsOrdForm"> <form id="prcsOrdForm" name="prcsOrdForm">
@ -59,21 +65,23 @@
</c:if> </c:if>
</dl> </dl>
</div> </div>
<div class="title">· 신청서 접수 시 유의사항</div> <c:if test="${detailVO.checkYn eq 'Y' }">
<div class="list"> <div class="title">· 신청서 접수 시 유의사항</div>
<ol> <div class="list">
<li><span class="number">1.</span>저작권 체험교실 운영 신청만 가능합니다. 찾아가는 저작권 교육 신청은 불가능합니다.<span>- 찾아가는 저작권 교육 신청은 해당 사이트(www.copyright.or.kr/offedu)에서 이용하여</br> <ol>
&nbsp&nbsp주시기 바랍니다.</span></li> <li><span class="number">1.</span>저작권 체험교실 운영 신청만 가능합니다. 찾아가는 저작권 교육 신청은 불가능합니다.<span>- 찾아가는 저작권 교육 신청은 해당 사이트(www.copyright.or.kr/offedu)에서 이용하여</br>
<li><span class="number">2.</span>신청 시 공문양식을 다운로드 받아서 반드시 학교장 직인된 공문을 첨부해야 합니다.</li> &nbsp&nbsp주시기 바랍니다.</span></li>
<li><span class="number">3.</span>신청 시 반드시 본인 계정으로 신청해야 하며, 타인 계정으로 신청 시 신청 취소 처리됩니다.</li> <li><span class="number">2.</span>신청 시 공문양식을 다운로드 받아서 반드시 학교장 직인된 공문을 첨부해야 합니다.</li>
<li><span class="number">4.</span>체험교실 신규 운영 교사는 체험교실 운영 교사 연수(1일, 8시간)를 반드시 이수해야 하며, 체험교실 운영 기간내에 저작권 e-배움터에서 제공하는 온라인 강좌를 의무 이수해야 합니다.</li> <li><span class="number">3.</span>신청 시 반드시 본인 계정으로 신청해야 하며, 타인 계정으로 신청 시 신청 취소 처리됩니다.</li>
<li><span class="number">5.</span>신청기간 내 위원회 업무시간(09:00 ~ 18:00)동안 이용이 가능합니다.</li> <li><span class="number">4.</span>체험교실 신규 운영 교사는 체험교실 운영 교사 연수(1일, 8시간)를 반드시 이수해야 하며, 체험교실 운영 기간내에 저작권 e-배움터에서 제공하는 온라인 강좌를 의무 이수해야 합니다.</li>
<!-- <li><span class="number">6.</span>신청기간 내 학교급별(초등, 중등, 고등) 게시판을 반드시 확인 후 신청해 주시기 바랍니다.</li> --> <li><span class="number">5.</span>신청기간 내 위원회 업무시간(09:00 ~ 18:00)동안 이용이 가능합니다.</li>
<li><span class="number">6.</span>신청교사가 교내에서 확인 가능한 메일 계정을 기재해 주시기 바랍니다.</li> <!-- <li><span class="number">6.</span>신청기간 내 학교급별(초등, 중등, 고등) 게시판을 반드시 확인 후 신청해 주시기 바랍니다.</li> -->
<li><span class="number">7.</span>신청 중 문의사항은 위원회 체험교실 담당자에게 연락을 주시기 바랍니다(055-792-0234)</li> <li><span class="number">6.</span>신청교사가 교내에서 확인 가능한 메일 계정을 기재해 주시기 바랍니다.</li>
<li><span class="number">8.</span>선정 후 취소(신규 운영 교사 사전 연수 불참 등) 및 운영 포기교실은 차년도 참여를 제한합니다.<br>(해당 내용 학교 공문 발송 예정)</li> <li><span class="number">7.</span>신청 중 문의사항은 위원회 체험교실 담당자에게 연락을 주시기 바랍니다(055-792-0234)</li>
</ol> <li><span class="number">8.</span>선정 후 취소(신규 운영 교사 사전 연수 불참 등) 및 운영 포기교실은 차년도 참여를 제한합니다.<br>(해당 내용 학교 공문 발송 예정)</li>
</div> </ol>
</div>
</c:if>
</div> </div>
<div class="pop_btn_wrap btn_layout01"> <div class="pop_btn_wrap btn_layout01">
<div class="btn_left"> <div class="btn_left">
@ -82,6 +90,9 @@
<c:if test="${detailVO.checkYn eq 'Y' }"> <c:if test="${detailVO.checkYn eq 'Y' }">
<button type="button" class="btnType05" onclick="goWrite();">확인</button> <button type="button" class="btnType05" onclick="goWrite();">확인</button>
</c:if> </c:if>
<c:if test="${detailVO.checkYn ne 'Y' }">
<button type="button" class="btnType05" onclick="goMain();">찾아가는 저작권 교육</button>
</c:if>
<button type="button" class="btnType02 tooltip-close" data-focus="list_popup_close" data-focus-next="sub40_pop01">취소</button> <button type="button" class="btnType02 tooltip-close" data-focus="list_popup_close" data-focus-next="sub40_pop01">취소</button>
</div> </div>
<div class="btn_right"> <div class="btn_right">

View File

@ -232,7 +232,7 @@
return false; return false;
} }
//첨부파일 체크 및 요청 //첨부파일 체크 및 요청
if(confirm("서류 요청을 등록하시겠습니까?")){ if(confirm("양식을 업로드 하시겠습니까?")){
if(control.getUploadFiles().length > 0){ if(control.getUploadFiles().length > 0){
var postObj = new Object(); var postObj = new Object();
postObj.innoDirPath = $('#innoDirPath').val(); postObj.innoDirPath = $('#innoDirPath').val();
@ -402,7 +402,7 @@
<div class="tooltip-wrap"> <div class="tooltip-wrap">
<div class="popup_wrap popType05" tabindex="0" data-tooltip-con="sub37_pop02" data-focus="sub37_pop02" data-focus-prev="sub37_pop02_close"> <div class="popup_wrap popType05" tabindex="0" data-tooltip-con="sub37_pop02" data-focus="sub37_pop02" data-focus-prev="sub37_pop02_close">
<div class="popup_tit"> <div class="popup_tit">
<p>강사 연락처</p> <p>양식 업로드</p>
<button class="btn_popup_close tooltip-close" data-focus="sub37_pop02_close" title="팝업 닫기"><i></i></button> <button class="btn_popup_close tooltip-close" data-focus="sub37_pop02_close" title="팝업 닫기"><i></i></button>
</div> </div>
<div class="popup_cont"> <div class="popup_cont">
@ -1013,7 +1013,7 @@
</div> </div>
<c:if test="${not empty docReqList}"> <c:if test="${not empty docReqList}">
<div class="tb_tit01"> <div class="tb_tit01" style="margin-top:40px;">
<div class="tb_tit01_left"> <div class="tb_tit01_left">
<p>요청서류 목록</p> <p>요청서류 목록</p>
</div> </div>

View File

@ -64,10 +64,10 @@
<select class="selType1" id="searchStatus2" name="searchStatus2"> <select class="selType1" id="searchStatus2" name="searchStatus2">
<option ${vEEduAplctVO.searchStatus2 eq '' ? 'selected' : ''} value="">전체</option> <option ${vEEduAplctVO.searchStatus2 eq '' ? 'selected' : ''} value="">전체</option>
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_SBMT ? 'selected' : ''} value="${VeConstants.STATUS_CD_SBMT}">교육신청</option> <option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_SBMT ? 'selected' : ''} value="${VeConstants.STATUS_CD_SBMT}">교육신청</option>
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_CFRM ? 'selected' : ''} value="${VeConstants.STATUS_CD_CFRM}">교육승인</option> <%-- <option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_CFRM ? 'selected' : ''} value="${VeConstants.STATUS_CD_CFRM}">교육승인</option> --%>
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_RJT ? 'selected' : ''} value="${VeConstants.STATUS_CD_RJT}">교육반려</option> <%-- <option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_RJT ? 'selected' : ''} value="${VeConstants.STATUS_CD_RJT}">교육반려</option> --%>
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_CAN ? 'selected' : ''} value="${VeConstants.STATUS_CD_CAN}">교육취소</option> <option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_CAN ? 'selected' : ''} value="${VeConstants.STATUS_CD_CAN}">교육취소</option>
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_CHI_CMPT ? 'selected' : ''} value="${VeConstants.STATUS_CD_CHI_CMPT}">선정완료</option> <%-- <option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_CHI_CMPT ? 'selected' : ''} value="${VeConstants.STATUS_CD_CHI_CMPT}">선정완료</option> --%>
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_EDT_REQ ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDT_REQ}">수정요청</option> <option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_EDT_REQ ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDT_REQ}">수정요청</option>
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_EDT_CMPT ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDT_CMPT}">수정완료</option> <option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_EDT_CMPT ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDT_CMPT}">수정완료</option>
<option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_EDU_SELCT ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDU_SELCT}">교육확정</option> <option ${vEEduAplctVO.searchStatus2 eq VeConstants.STATUS_CD_EDU_SELCT ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDU_SELCT}">교육확정</option>
@ -123,7 +123,7 @@
<a href="javascript:fncGoDetail('${list.eduAplctOrd}');"> <a href="javascript:fncGoDetail('${list.eduAplctOrd}');">
<c:choose> <c:choose>
<c:when test="${not empty list.eduHopeDt}"> <c:when test="${not empty list.eduHopeDt}">
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyyMMdd"/> <fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyy.MM.dd"/>
<fmt:formatDate value="${eduHopeDt}" pattern="yyyy.MM.dd"/> <fmt:formatDate value="${eduHopeDt}" pattern="yyyy.MM.dd"/>
</c:when> </c:when>
<c:otherwise> <c:otherwise>
@ -213,7 +213,7 @@
<span> <span>
<c:choose> <c:choose>
<c:when test="${not empty list.eduHopeDt}"> <c:when test="${not empty list.eduHopeDt}">
<fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyyMMdd"/> <fmt:parseDate value="${list.eduHopeDt}" var="eduHopeDt" pattern="yyyy.MM.dd"/>
<fmt:formatDate value="${eduHopeDt}" pattern="yyyy.MM.dd"/> <fmt:formatDate value="${eduHopeDt}" pattern="yyyy.MM.dd"/>
</c:when> </c:when>
<c:otherwise> <c:otherwise>

Some files were not shown because too many files have changed in this diff Show More