Merge branch 'JIWOO' into advc

Conflicts:
	src/main/resources/egovframework/egovProps/globals_tLocal.properties
This commit is contained in:
jiwoo 2023-09-08 11:35:20 +09:00
commit eb75f5d1f8
60 changed files with 23207 additions and 167 deletions

View File

@ -89,5 +89,7 @@ public interface EgovLoginService {
void updateEmplyrSttusCode(LoginVO loginVO) throws Exception;
LoginVO APIActionLogin(LoginVO vo) throws Exception;
LoginVO APIActionLogin(LoginVO vo) throws Exception;
LoginVO selectOffeduMberChk(LoginVO vo) throws Exception;
}

View File

@ -264,19 +264,21 @@ public class EgovLoginServiceImpl extends EgovAbstractServiceImpl implements
loginDAO.updateEmplyrSttusCode(loginVO);
}
@Override
@Override
public LoginVO APIActionLogin(LoginVO vo) throws Exception {
// 아이디와 비밀번호가 DB와 일치하는지 확인한다.
LoginVO loginVO = loginDAO.APIActionLogin(vo);
// 아이디와 비밀번호가 DB와 일치하는지 확인한다.
LoginVO loginVO = loginDAO.APIActionLogin(vo);
// 3. 결과를 리턴한다.
if (loginVO != null && !loginVO.getId().equals("") && !loginVO.getPassword().equals("")) {
return loginVO;
} else {
loginVO = new LoginVO();
}
return loginVO;
}
// 3. 결과를 리턴한다.
if (loginVO != null && !loginVO.getId().equals("") && !loginVO.getPassword().equals("")) {
return loginVO;
} else {
loginVO = new LoginVO();
}
return loginVO;
}
@Override
public LoginVO selectOffeduMberChk(LoginVO vo) throws Exception {
return loginDAO.selectOffeduMberChk(vo);
}
}

View File

@ -129,8 +129,10 @@ public class LoginDAO extends EgovAbstractDAO {
}
public LoginVO APIActionLogin(LoginVO vo) throws Exception {
return (LoginVO)select("loginDAO.APIActionLogin", vo);
}
public LoginVO APIActionLogin(LoginVO vo) throws Exception {
return (LoginVO)select("loginDAO.APIActionLogin", vo);
}
public LoginVO selectOffeduMberChk(LoginVO vo) throws Exception {
return (LoginVO)select("loginDAO.selectOffeduMberChk", vo);
}
}

View File

@ -9,18 +9,22 @@ import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.json.JSONObject;
import org.springframework.context.ApplicationContext;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.context.support.WebApplicationContextUtils;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import kcc.com.cmm.LoginVO;
import kcc.let.uat.uia.service.EgovLoginService;
import kcc.let.uss.umt.service.EgovUserManageService;
@ -29,7 +33,7 @@ import kcc.let.utl.sim.service.EgovClntInfo;
/**
* e-배움터와 연동하여 로그인을 처리하는 컨트롤러 클래스
*
*
* @author 이지우
* @since 2023.08.31
* @version 1.0
@ -38,36 +42,37 @@ import kcc.let.utl.sim.service.EgovClntInfo;
@Controller
public class APILoginContoller {
/** userManageService */
@Resource(name = "userManageService")
private EgovUserManageService userManageService;
/** EgovLoginService */
@Resource(name = "loginService")
private EgovLoginService loginService;
/**
/** userManageService */
@Resource(name = "userManageService")
private EgovUserManageService userManageService;
/** EgovLoginService */
@Resource(name = "loginService")
private EgovLoginService loginService;
/**
* @methodName : loginKeyChk
* @author : 이지우
* @date : 2023.08.31
* @date : 2023.08.31
* @description : 찾교에서 e-배움터 api로 key, id 전달 결과 수신
* @param LoginVO
* @return
* @throws Exception
*/
* @throws Exception
*/
@RequestMapping(value = "/web/chkloginKeyForOffedu.do")
public String loginKeyChkForOffedu(Map<String, String> request, RedirectAttributes redirectAttributes, HttpServletRequest servletRequest,HttpSession session) throws Exception {
String userId = request.get("user_id");
String key = request.get("key");
String returnUrl = request.get("returnUrl");
public String loginKeyChkForOffedu(Map<String, String> paramRequest, RedirectAttributes redirectAttributes, HttpServletRequest request, HttpServletResponse response,HttpSession session) throws Exception {
String userId = paramRequest.get("user_id");
String key = paramRequest.get("key");
String returnUrl = paramRequest.get("returnUrl");
//테스트를 위한 선언
userId = "std02@forwiz.com";
key = "std02@forwiz.comURiszof2ZdkVpYNrk1EpYiMOxKW6rBYNo7SP1lXG5ijEqPVexIStkLhvDASX1JXR.amV1c19kb21haW4vTE1T";
key = "std02@forwiz.comF6764400E2B796448959148711DCC45C";
returnUrl = "/web/main/mainPage.do";
if(userId == null || key == null) {
redirectAttributes.addFlashAttribute("message", "로그인 실패");
return "redirect:/web/main/mainPage.do";
redirectAttributes.addFlashAttribute("message", "로그인 실패");
return "redirect:/web/main/mainPage.do";
}
Map<String, String> result = loginKeytoEEdu(userId, key);
@ -80,68 +85,67 @@ public class APILoginContoller {
//회원테이블에 없던 회원이면 insert, 있던 회원이면 update
UserManageVO userManageVO = new UserManageVO();
String insertCnt = "";
userManageVO.setMberId(userId);
UserManageVO userManageChk = userManageService.selectOffeduUser(userManageVO);
if(userManageChk == null) {
insertCnt = userManageService.insertOffeduUser(userManageVO);
}
if(userManageChk == null && insertCnt != "1") { //회원 등록에 실패 경우
redirectAttributes.addFlashAttribute("message", "로그인 실패");
return "redirect:" + returnUrl;
userManageVO.setAuthorCode("ROLE_USER_MEMBER");
userManageService.insertOffeduUser(userManageVO);
}
//로그인 처리 시작
LoginVO loginVO = new LoginVO();
loginVO.setId(userId);
loginVO.setPassword("1"); //사용자 로그인만 처리함으로 password 1고정
loginVO.setUserSe("GNR");
loginVO.setIp(EgovClntInfo.getClntIP(servletRequest));
loginVO.setIp(EgovClntInfo.getClntIP(request));
LoginVO actionVO = loginService.APIActionLogin(loginVO);
servletRequest.getSession().setAttribute("LoginVO", loginVO); // LoginVO세션 생성
UsernamePasswordAuthenticationFilter springSecurity = new UsernamePasswordAuthenticationFilter();
ApplicationContext act = WebApplicationContextUtils.getRequiredWebApplicationContext(servletRequest.getSession().getServletContext());
Map<String, UsernamePasswordAuthenticationFilter> beans = act.getBeansOfType(UsernamePasswordAuthenticationFilter.class);
if (beans.size() > 0) {
springSecurity = (UsernamePasswordAuthenticationFilter) beans.values().toArray()[0];
springSecurity.setUsernameParameter("egov_security_username");
springSecurity.setPasswordParameter("egov_security_password");
springSecurity.setRequiresAuthenticationRequestMatcher(new AntPathRequestMatcher(servletRequest.getServletContext().getContextPath() + "/egov_security_login", "POST"));
} else {
throw new IllegalStateException("No AuthenticationProcessingFilter");
}
// springSecurity.doFilter(new RequestWrapperForSecurity(servletRequest, resultVO.getUserSe() + resultVO.getId(), resultVO.getUniqId()), response, null);
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
LoginVO resultVO = loginService.APIActionLogin(loginVO);
if (loginService.getUserAuth(resultVO) != null) {
resultVO.setAuthority(loginService.getUserAuth(resultVO).getAuthority());
}
resultVO.setUrl(returnUrl);
request.getSession().setAttribute("APILoginVO", resultVO); // LoginVO세션 생성
UsernamePasswordAuthenticationFilter springSecurity = new UsernamePasswordAuthenticationFilter();
ApplicationContext act = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession().getServletContext());
Map<String, UsernamePasswordAuthenticationFilter> beans = act.getBeansOfType(UsernamePasswordAuthenticationFilter.class);
if (beans.size() > 0) {
springSecurity = (UsernamePasswordAuthenticationFilter) beans.values().toArray()[0];
springSecurity.setUsernameParameter("egov_security_username");
springSecurity.setPasswordParameter("egov_security_password");
springSecurity.setRequiresAuthenticationRequestMatcher(new AntPathRequestMatcher(request.getServletContext().getContextPath() + "/egov_security_login", "POST"));
} else {
throw new IllegalStateException("No AuthenticationProcessingFilter");
}
springSecurity.doFilter(new RequestWrapperForSecurity(request, resultVO.getUserSe() + resultVO.getId(), resultVO.getUniqId()), response, null);
//doFilter 처리 redirect가 불가능하여, context-security.xml에서 login url로 이동 redirect 처리
return "blank";
}else if(resultCode.equals("-101")) { //세션 만료
redirectAttributes.addFlashAttribute("message", message);
returnUrl = "/web/main/mainPage.do";
return "redirect:" + returnUrl;
}else if(resultCode.equals("-102")) { //회원정보 확인불가
redirectAttributes.addFlashAttribute("message", message);
returnUrl = "/web/main/mainPage.do";
return "redirect:" + returnUrl;
}else if(resultCode.equals("-1")) { //API 통신 오류
redirectAttributes.addFlashAttribute("message", message);
returnUrl = "/web/main/mainPage.do";
return "redirect:" + returnUrl;
}else { // 없는 오류
redirectAttributes.addFlashAttribute("message", message);
returnUrl = "/web/main/mainPage.do";
returnUrl = "/web/main/mainPage.do";
return "redirect:" + returnUrl;
}
return "redirect:" + returnUrl;
}
/**
}
/**
* @methodName : loginKeytoEEdu
* @author : 이지우
* @date : 2023.08.31
* @date : 2023.08.31
* @description : 찾교에서 e-배움터 api로 key, id 전달 결과 수신
* @param LoginVO
* @return
* @throws Exception
* @throws Exception
*/
public Map<String, String> loginKeytoEEdu(String user_id, String key){
HashMap<String, String> resultMap = new HashMap<String, String>();
@ -164,7 +168,7 @@ public class APILoginContoller {
con.setRequestProperty("Content-Length", String.valueOf(postDataBytes.length));
con.setDoOutput(true);
con.getOutputStream().write(postDataBytes);
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream(), "UTF-8"));
String line;
StringBuffer sb = new StringBuffer();
@ -172,10 +176,10 @@ public class APILoginContoller {
sb.append(line);
}
in.close();
String text = sb.toString();
JSONObject jsonResponse = new JSONObject(text);
// result_code와 message 추출
int resultCode = jsonResponse.getInt("result_code");
String resultCodeString = Integer.toString(resultCode);
@ -188,8 +192,35 @@ public class APILoginContoller {
e.printStackTrace();
resultMap.put("resultCode", "-1");
resultMap.put("message", e.getMessage());
}
return resultMap;
}
}
/**
* @methodName : loginKeytoOffedu
* @author : 이지우
* @date : 2023.09.07
* @description : e-배움터에서 찾교 api로 key, id 전달 결과 송신
* @param LoginVO
* @return
* @throws Exception
*/
@RequestMapping(value = "/web/chkloginKeyForEEdu.do", method = RequestMethod.POST)
public ResponseEntity<Map<String, String>> loginKeytoOffedu(@RequestBody LoginVO loginVO){
Map<String, String> response = new HashMap<>();
try {
loginVO = loginService.selectOffeduMberChk(loginVO);
if(loginVO != null) {
response.put("result_code", HttpStatus.UNAUTHORIZED.toString());
response.put("message", "");
}else {
response.put("result_code", "-101");
response.put("message", "인증오류입니다.");
}
}catch(Exception e){
return ResponseEntity.notFound().build();
}
return ResponseEntity.ok(response);
}
}

View File

@ -1534,7 +1534,12 @@ public class EgovLoginController {
}
}
}
// e-배움터 연동 로그인 - LoginVO 세션의 return url로 이동
LoginVO eEduLoginVO = (LoginVO) session.getAttribute("APILoginVO");
if(eEduLoginVO.getUrl() != null) {
return "redirect:" + eEduLoginVO.getUrl();
}
// 관리자 로그인
LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();

View File

@ -127,5 +127,5 @@ public interface EgovUserManageService {
public UserManageVO selectOffeduUser(UserManageVO userManageVO) throws Exception;
public String insertOffeduUser(UserManageVO userManageVO) throws Exception;
public void insertOffeduUser(UserManageVO userManageVO) throws Exception;
}

View File

@ -314,7 +314,7 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
@Override
// @Transactional(rollbackFor = Exception.class)
public String insertOffeduUser(UserManageVO userManageVO) throws Exception {
public void insertOffeduUser(UserManageVO userManageVO) throws Exception {
//고유아이디 셋팅
String uniqId = idgenService.getNextStringId();
userManageVO.setUniqId(uniqId);
@ -329,14 +329,13 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
}
userManageVO.setEmplyrSttusCode("P"); //강제승인
String result = "";
if( !("ROLE_ADMIN".equals(userManageVO.getAuthorCode())
|| "ROLE_VISIT".equals(userManageVO.getAuthorCode()) )) {
result = userManageDAO.insertOffeudUser(userManageVO);
userManageDAO.insertOffeudUser(userManageVO);
}else {
result = userManageDAO.insertUser(userManageVO);
userManageDAO.insertUser(userManageVO);
}
AuthorGroup authorGroup = new AuthorGroup(); //사용자별권한관리에 등록해줌
@ -351,6 +350,5 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
authorGroup.setMberTyCode("USR");
}
egovAuthorGroupService.insertAuthorGroup(authorGroup);
return result;
}
}

View File

@ -189,8 +189,8 @@ public class UserManageDAO extends EgovAbstractDAO{
return (UserManageVO)select("userManageDAO.selectOffeduUser", userManageVO);
}
public String insertOffeudUser(UserManageVO userManageVO){
return (String)insert("userManageDAO.insertOffeduUser", userManageVO);
public void insertOffeudUser(UserManageVO userManageVO){
insert("userManageDAO.insertOffeduUser", userManageVO);
}
}

View File

@ -376,6 +376,7 @@ public class MainController {
@RequestMapping(value = "/web/main/mainPage.do")
public String siteMainPage(HttpServletRequest request, ModelMap model, HttpSession session) throws Exception{
//메인이미지
LoginVO testVO = (LoginVO)request.getSession().getAttribute("APILoginVO");
String referer = (String)request.getHeader("REFERER");
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
@ -476,6 +477,7 @@ public class MainController {
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
model.addAttribute("LoginVO", loginVO);
String userAuthority = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getAuthority());
//권한별 메뉴표시

View File

@ -27,7 +27,6 @@ Globals.Password= tedu1234
Globals.DriverClassName=com.tmax.tibero.jdbc.TbDriver
#\uac1c\ubc1c DB \uc11c\ubc84
#Globals.Url=jdbc:tibero:thin:@192.168.0.30:8629:tibero
Globals.Url=jdbc:tibero:thin:@192.168.0.30:8633:tibero

View File

@ -7,108 +7,108 @@
<!-- 강사 --><!-- 기본셋 -->
<sqlMap resource="egovframework/sqlmap/ve/instr/VEInstr_SQL_Cubrid.xml"/><!-- 강사테이블 -->
<sqlMap resource="egovframework/sqlmap/ve/instr/VEInstrDetail_SQL_Cubrid.xml"/><!-- 강사상세테이블 -->
<sqlMap resource="egovframework/sqlmap/ve/instr/VEInstrDetailApptHchkHstry_SQL_Cubrid.xml"/><!-- 강사상세위촉해촉이력테이블 -->
<sqlMap resource="egovframework/sqlmap/ve/instr/VEInstr_SQL_Tibero.xml"/><!-- 강사테이블 -->
<sqlMap resource="egovframework/sqlmap/ve/instr/VEInstrDetail_SQL_Tibero.xml"/><!-- 강사상세테이블 -->
<sqlMap resource="egovframework/sqlmap/ve/instr/VEInstrDetailApptHchkHstry_SQL_Tibero.xml"/><!-- 강사상세위촉해촉이력테이블 -->
<!-- 강사복합쿼리 -->
<sqlMap resource="egovframework/sqlmap/ve/instr/VEInstr_MIX_SQL_Cubrid.xml"/><!-- 강사복합 쿼리 -->
<sqlMap resource="egovframework/sqlmap/ve/instr/VEInstr_MIX_SQL_Tibero.xml"/><!-- 강사복합 쿼리 -->
<!-- 강의 -->
<sqlMap resource="egovframework/sqlmap/ve/lctr/VELctrStng_SQL_Cubrid.xml"/><!-- 강의설정 -->
<sqlMap resource="egovframework/sqlmap/ve/lctr/VELctrArea_SQL_Cubrid.xml"/><!-- 강의지역-->
<sqlMap resource="egovframework/sqlmap/ve/lctr/VELctrPrfrn_SQL_Cubrid.xml"/><!-- 강의선호 -->
<sqlMap resource="egovframework/sqlmap/ve/lctr/VELctrStng_SQL_Tibero.xml"/><!-- 강의설정 -->
<sqlMap resource="egovframework/sqlmap/ve/lctr/VELctrArea_SQL_Tibero.xml"/><!-- 강의지역-->
<sqlMap resource="egovframework/sqlmap/ve/lctr/VELctrPrfrn_SQL_Tibero.xml"/><!-- 강의선호 -->
<!-- 지역(강의) -->
<sqlMap resource="egovframework/sqlmap/ve/lctr/VELctrAreaMng_SQL_Cubrid.xml"/><!-- 강의지역관리-->
<sqlMap resource="egovframework/sqlmap/ve/lctr/VELctrAreaMng_SQL_Tibero.xml"/><!-- 강의지역관리-->
<!-- 강의조사 -->
<sqlMap resource="egovframework/sqlmap/ve/lctr/VELctrRsrchMng_SQL_Cubrid.xml"/><!-- 강의조사관리-->
<sqlMap resource="egovframework/sqlmap/ve/lctr/VELctrRsrchSbmt_SQL_Cubrid.xml"/><!-- 강의조사제출-->
<sqlMap resource="egovframework/sqlmap/ve/lctr/VELctrRsrchMng_SQL_Tibero.xml"/><!-- 강의조사관리-->
<sqlMap resource="egovframework/sqlmap/ve/lctr/VELctrRsrchSbmt_SQL_Tibero.xml"/><!-- 강의조사제출-->
<!-- 강의복합쿼리 -->
<sqlMap resource="egovframework/sqlmap/ve/lctr/VELctr_MIX_SQL_Cubrid.xml"/>
<sqlMap resource="egovframework/sqlmap/ve/lctr/VELctr_MIX_SQL_Tibero.xml"/>
<!-- 과정 -->
<sqlMap resource="egovframework/sqlmap/ve/prcs/VEPrcs_SQL_Cubrid.xml"/><!-- 과정 -->
<sqlMap resource="egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Cubrid.xml"/><!-- 과정신청기간 -->
<sqlMap resource="egovframework/sqlmap/ve/prcs/VEPrcsOnlnCntnt_SQL_Cubrid.xml"/><!-- 과정온라인콘텐츠 -->
<sqlMap resource="egovframework/sqlmap/ve/prcs/VEPrcsCmpltDetail_SQL_Cubrid.xml"/><!-- 과정이수상세 -->
<sqlMap resource="egovframework/sqlmap/ve/prcs/VEPrcs_SQL_Tibero.xml"/><!-- 과정 -->
<sqlMap resource="egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Tibero.xml"/><!-- 과정신청기간 -->
<sqlMap resource="egovframework/sqlmap/ve/prcs/VEPrcsOnlnCntnt_SQL_Tibero.xml"/><!-- 과정온라인콘텐츠 -->
<sqlMap resource="egovframework/sqlmap/ve/prcs/VEPrcsCmpltDetail_SQL_Tibero.xml"/><!-- 과정이수상세 -->
<!-- 과정복합쿼리 -->
<sqlMap resource="egovframework/sqlmap/ve/prcs/VEPrcs_MIX_SQL_Cubrid.xml"/>
<sqlMap resource="egovframework/sqlmap/ve/prcs/VEPrcs_MIX_SQL_Tibero.xml"/>
<!-- 교육신청 --><!-- 교육신청, 교육차시, 교육차시중간보고, 교육결과보고, 교육신청온라인 -->
<sqlMap resource="egovframework/sqlmap/ve/edu/VEEduAplct_SQL_Cubrid.xml"/><!-- 교육신청 -->
<sqlMap resource="egovframework/sqlmap/ve/edu/VEEduAplctOnln_SQL_Cubrid.xml"/><!-- 교육신청온라인 -->
<sqlMap resource="egovframework/sqlmap/ve/edu/VEEduChasi_SQL_Cubrid.xml"/><!-- 교육차시-->
<sqlMap resource="egovframework/sqlmap/ve/edu/VEEduAplctUnqIsues_SQL_Cubrid.xml"/><!-- 교육신청특이사항-->
<sqlMap resource="egovframework/sqlmap/ve/edu/VEEduCnfrmDsgn_SQL_Cubrid.xml"/><!-- 교육확정안-->
<sqlMap resource="egovframework/sqlmap/ve/edu/VEEduAplctSndHstry_SQL_Cubrid.xml"/><!-- 교육신청발송이력 -->
<sqlMap resource="egovframework/sqlmap/ve/edu/VEEduInstrDstnc_SQL_Cubrid.xml"/><!-- 교육강사거리-->
<!-- <sqlMap resource="egovframework/sqlmap/ve/edu/VEEduAplctMngNmbr_SQL_Cubrid.xml"/>교육신청관리번호 삭제 기존 교육 신청 컬럼 사용 -->
<sqlMap resource="egovframework/sqlmap/ve/edu/VEEduAplct_SQL_Tibero.xml"/><!-- 교육신청 -->
<sqlMap resource="egovframework/sqlmap/ve/edu/VEEduAplctOnln_SQL_Tibero.xml"/><!-- 교육신청온라인 -->
<sqlMap resource="egovframework/sqlmap/ve/edu/VEEduChasi_SQL_Tibero.xml"/><!-- 교육차시-->
<sqlMap resource="egovframework/sqlmap/ve/edu/VEEduAplctUnqIsues_SQL_Tibero.xml"/><!-- 교육신청특이사항-->
<sqlMap resource="egovframework/sqlmap/ve/edu/VEEduCnfrmDsgn_SQL_Tibero.xml"/><!-- 교육확정안-->
<sqlMap resource="egovframework/sqlmap/ve/edu/VEEduAplctSndHstry_SQL_Tibero.xml"/><!-- 교육신청발송이력 -->
<sqlMap resource="egovframework/sqlmap/ve/edu/VEEduInstrDstnc_SQL_Tibero.xml"/><!-- 교육강사거리-->
<!-- <sqlMap resource="egovframework/sqlmap/ve/edu/VEEduAplctMngNmbr_SQL_Tibero.xml"/>교육신청관리번호 삭제 기존 교육 신청 컬럼 사용 -->
<!-- 교육신청복합쿼리 -->
<sqlMap resource="egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Cubrid.xml"/>
<sqlMap resource="egovframework/sqlmap/ve/edu/VEEdu_MIX_SQL_Tibero.xml"/>
<!-- 강사배정 -->
<sqlMap resource="egovframework/sqlmap/ve/asgnm/VEEduChasiInstrAsgnm_SQL_Cubrid.xml"/><!-- 교육차시강사배정 -->
<sqlMap resource="egovframework/sqlmap/ve/asgnm/VEAcmdtAplct_SQL_Cubrid.xml"/><!-- 숙박신청 -->
<sqlMap resource="egovframework/sqlmap/ve/asgnm/VEInstrFee_SQL_Cubrid.xml"/><!-- 강사료 -->
<sqlMap resource="egovframework/sqlmap/ve/asgnm/VEEduPnlty_SQL_Cubrid.xml"/><!-- 교육패널티-->
<sqlMap resource="egovframework/sqlmap/ve/asgnm/VEEduChasiInstrAsgnm_SQL_Tibero.xml"/><!-- 교육차시강사배정 -->
<sqlMap resource="egovframework/sqlmap/ve/asgnm/VEAcmdtAplct_SQL_Tibero.xml"/><!-- 숙박신청 -->
<sqlMap resource="egovframework/sqlmap/ve/asgnm/VEInstrFee_SQL_Tibero.xml"/><!-- 강사료 -->
<sqlMap resource="egovframework/sqlmap/ve/asgnm/VEEduPnlty_SQL_Tibero.xml"/><!-- 교육패널티-->
<!-- 강사배정복합쿼리 -->
<sqlMap resource="egovframework/sqlmap/ve/asgnm/VEAsgnm_MIX_SQL_Cubrid.xml"/>
<sqlMap resource="egovframework/sqlmap/ve/asgnm/VEAsgnm_MIX_SQL_Tibero.xml"/>
<!-- 교육보고 -->
<sqlMap resource="egovframework/sqlmap/ve/rprt/VEEduRsltRprt_SQL_Cubrid.xml"/><!-- 교육결과보고 -->
<sqlMap resource="egovframework/sqlmap/ve/rprt/VEEduChasiMidleRprt_SQL_Cubrid.xml"/><!-- 교육차시중간보고 -->
<sqlMap resource="egovframework/sqlmap/ve/rprt/VEEduRsltRprt_SQL_Tibero.xml"/><!-- 교육결과보고 -->
<sqlMap resource="egovframework/sqlmap/ve/rprt/VEEduChasiMidleRprt_SQL_Tibero.xml"/><!-- 교육차시중간보고 -->
<!-- 교육보고복합쿼리 -->
<sqlMap resource="egovframework/sqlmap/ve/rprt/VEEduRprt_MIX_SQL_Cubrid.xml"/>
<sqlMap resource="egovframework/sqlmap/ve/rprt/VEEduRprt_MIX_SQL_Tibero.xml"/>
<!-- 강의평가 -->
<sqlMap resource="egovframework/sqlmap/ve/lctrEval/VELctrEval_SQL_Cubrid.xml"/><!-- 강의평가 -->
<sqlMap resource="egovframework/sqlmap/ve/lctrEval/VELctrEvalSmry_SQL_Cubrid.xml"/><!-- 강의평가요약-->
<sqlMap resource="egovframework/sqlmap/ve/lctrEval/VELctrEval_SQL_Tibero.xml"/><!-- 강의평가 -->
<sqlMap resource="egovframework/sqlmap/ve/lctrEval/VELctrEvalSmry_SQL_Tibero.xml"/><!-- 강의평가요약-->
<!-- 강의평가복합쿼리 -->
<sqlMap resource="egovframework/sqlmap/ve/lctrEval/VELctrEval_MIX_SQL_Cubrid.xml"/>
<sqlMap resource="egovframework/sqlmap/ve/lctrEval/VELctrEval_MIX_SQL_Tibero.xml"/>
<!-- 찾교로그 -->
<sqlMap resource="egovframework/sqlmap/ve/log/VELog_SQL_Cubrid.xml"/><!-- 로그 -->
<sqlMap resource="egovframework/sqlmap/ve/log/VELog_SQL_Tibero.xml"/><!-- 로그 -->
<!-- 찾교로그복합쿼리 -->
<sqlMap resource="egovframework/sqlmap/ve/log/VELog_MIX_SQL_Cubrid.xml"/>
<sqlMap resource="egovframework/sqlmap/ve/log/VELog_MIX_SQL_Tibero.xml"/>
<!-- 학교 -->
<sqlMap resource="egovframework/sqlmap/ve/schol/ScholInfo_SQL_Cubrid.xml"/>
<sqlMap resource="egovframework/sqlmap/ve/schol/ScholInfo_SQL_Tibero.xml"/>
<!-- 학교복합 -->
<sqlMap resource="egovframework/sqlmap/ve/schol/ScholInfo_MIX_SQL_Cubrid.xml"/>
<sqlMap resource="egovframework/sqlmap/ve/schol/ScholInfo_MIX_SQL_Tibero.xml"/>
<!-- 거주지 -->
<sqlMap resource="egovframework/sqlmap/ve/rsdnc/VERsdnc_SQL_Cubrid.xml"/>
<sqlMap resource="egovframework/sqlmap/ve/rsdnc/VERsdnc_SQL_Tibero.xml"/>
<!-- 거주지복합 -->
<sqlMap resource="egovframework/sqlmap/ve/rsdnc/VERsdnc_MIX_SQL_Cubrid.xml"/>
<sqlMap resource="egovframework/sqlmap/ve/rsdnc/VERsdnc_MIX_SQL_Tibero.xml"/>
<!-- 저작권 등록 -->
<sqlMap resource="egovframework/sqlmap/ve/edu/VEEduOptrn_SQL_Cubrid.xml"/>
<sqlMap resource="egovframework/sqlmap/ve/edu/VEEduOptrn_SQL_Tibero.xml"/>
<!-- 통계복합쿼리 -->
<sqlMap resource="egovframework/sqlmap/ve/sttst/VESttst_MIX_SQL_Cubrid.xml"/>
<sqlMap resource="egovframework/sqlmap/ve/sttst/VESttst_MIX_SQL_Tibero.xml"/>
<!-- 강의 NOTI 관리 -->
<sqlMap resource="egovframework/sqlmap/ve/asgnm/VEAsgnm_NOTI_SQL_Cubrid.xml"/>
<sqlMap resource="egovframework/sqlmap/ve/asgnm/VEAsgnm_NOTI_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -1,18 +0,0 @@
@echo off
setlocal enabledelayedexpansion
set "scriptname=copyAndRenameMysqlToTibero.bat"
for /r %%i in (*) do (
set "filename=%%~nxi"
if "!filename:Mysql=Tibero!" neq "%%~nxi" (
if "%%~nxi" neq "!scriptname!" (
copy "%%i" "%%~dpi!filename:Mysql=Tibero!"
echo Copied and renamed: "%%i" to "%%~dpi!filename:Mysql=Tibero!"
)
)
)
echo All "Mysql" occurrences in filenames have been replaced with "Tibero" in the copied files.
endlocal
pause

View File

@ -401,23 +401,30 @@
</update>
<select id="loginDAO.APIActionLogin" resultMap="login">
SELECT mber_id AS id
, mber_nm AS name
, password AS password
, ihidNum AS ihidNum
, mber_email_adres AS email
, 'GNR' AS userSe
, '-' AS orgnztId
, ESNTL_ID AS uniqId
, 0 AS passMiss
, mber_sttus AS emplyrSttusCode
, mbtlnum AS membCelnum
, birth_day AS membBirth
, mber_nm AS name
, password AS password
, ihidNum AS ihidNum
, mber_email_adres AS email
, 'GNR' AS userSe
, '-' AS orgnztId
, ESNTL_ID AS uniqId
, 0 AS passMiss
, mber_sttus AS emplyrSttusCode
, mbtlnum AS membCelnum
, birth_day AS membBirth
FROM lettngnrlmber a
WHERE mber_id = #id#
AND PASSWORD = #password#
<isEmpty property="statusAll">
AND mber_sttus = 'P'
</isEmpty>
<isEmpty property="statusAll">
AND mber_sttus = 'P'
</isEmpty>
</select>
<select id="loginDAO.selectOffeduMberChk" resultMap="login">
SELECT mber_id AS id
, ESNTL_ID AS uniqId
FROM lettngnrlmber a
WHERE mber_id = #user_id#
AND ESNTL_ID = #key#
</select>
</sqlMap>

View File

@ -913,7 +913,7 @@
</insert> -->
<insert id="userManageDAO.insertOffeduUser" parameterClass="userVO">
INSERT
INTO EDUSCE.lettngnrlmber
INTO lettngnrlmber
(
mber_id,
password,

View File

@ -0,0 +1,327 @@
<?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="VEAcmdtAplct">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEInstrFeeAcmdtVO" type="kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeAcmdtVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEAcmdtAplctDAO.table_name">
ve_acmdt_aplct
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEAcmdtAplctDAO.column_name">
edu_aplct_ord,
edu_chasi_ord,
acmdt_aplct_ord,
sbmt_yn,
sbmt_pnttm,
aprvl_cd,
aprvl_pnttm,
aprvl_id,
aprvl_cn,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id,
aplct_cn,
acmdt_fee,
atch_file_id,
use_yn
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEAcmdtAplctDAO.select_column_name">
a.edu_aplct_ord AS eduAplctOrd,
a.edu_chasi_ord AS eduChasiOrd,
acmdt_aplct_ord AS acmdtAplctOrd,
a.sbmt_yn AS sbmtYn,
a.sbmt_pnttm AS sbmtPnttm,
a.aprvl_cd AS aprvlCd,
a.aprvl_pnttm AS aprvlPnttm,
a.aprvl_id AS aprvlId,
a.aprvl_cn AS aprvlCn,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId,
a.aplct_cn AS aplctCn,
a.acmdt_fee AS acmdtFee,
a.atch_file_id AS atchFileId,
a.use_yn AS useYn
</sql>
<!-- 강사 등록 C -->
<insert id="VEAcmdtAplctDAO.insert" parameterClass="VEInstrFeeAcmdtVO">
INSERT INTO
<include refid="VEAcmdtAplctDAO.table_name"/>
(
edu_aplct_ord
, edu_chasi_ord
, acmdt_aplct_ord
, sbmt_yn
, sbmt_pnttm
, frst_regist_pnttm
, frst_register_id
, last_updt_pnttm
, last_updusr_id
, aplct_cn
, use_yn
)VALUES(
#eduAplctOrd#
, #eduChasiOrd#
, #acmdtAplctOrd#
, 'Y'
, NOW()
, NOW()
, #frstRegisterId#
, NOW()
, #lastUpdusrId#
, #aplctCn#
,'Y'
)
</insert>
<!-- 강사 정보 R -->
<select id="VEAcmdtAplctDAO.selectDetail" parameterClass="VEInstrFeeAcmdtVO" resultClass="VEInstrFeeAcmdtVO">
SELECT
<include refid="VEAcmdtAplctDAO.select_column_name"/>
FROM
<include refid="VEAcmdtAplctDAO.table_name"/> a
WHERE
a.edu_aplct_ord = #eduAplctOrd#
AND a.edu_chasi_ord = #eduChasiOrd#
<isNotEmpty property="acmdtAplctOrd">
AND a.acmdt_aplct_ord = #acmdtAplctOrd#
</isNotEmpty>
</select>
<!-- 강사 정보 R -->
<select id="VEAcmdtAplctDAO.selectDetailByUser" parameterClass="VEInstrFeeAcmdtVO" resultClass="VEInstrFeeAcmdtVO">
SELECT
a.schol_instt_nm AS scholInsttNm
, a.addr AS addr
, a.addr_detail AS addrDetail
, a.schol_instt_nm AS scholInsttNm
, a.addr AS addr
, b.edu_hope_dt AS eduHopeDt
, b.strt_tm AS strtTm
, b.end_tm AS endTm
, b.lrn_tm AS lrnTm
, c.aplct_cn AS aplctCn
, c.aprvl_cd AS aprvlCd
, c.aprvl_cn AS aprvlCn
, c.acmdt_aplct_ord AS acmdtAplctOrd
, d.rsdne AS rsdne
, d.instr_nm AS instrNm
, d.user_id AS userId
FROM
ve_edu_aplct a
, ve_edu_chasi b
LEFT OUTER JOIN ve_acmdt_aplct c
ON (
b.edu_aplct_ord = c.edu_aplct_ord
AND b.edu_chasi_ord = c.edu_chasi_ord
AND c.frst_register_id = #frstRegisterId#
AND c.sbmt_yn = 'Y'
)
LEFT OUTER JOIN ve_instr_detail d
ON (
d.use_yn = 'Y'
AND d.instr_div = #instrDiv#
AND d.user_id = #frstRegisterId#
)
WHERE 1 =1
AND a.edu_aplct_ord =b.edu_aplct_ord
<isEmpty property="yesterdayAcmdt">
AND b.edu_aplct_ord = #eduAplctOrd#
AND b.edu_chasi_ord = #eduChasiOrd#
</isEmpty>
<isNotEmpty property="yesterdayAcmdt">
AND b.edu_hope_dt = TO_CHAR(ADDDATE(TO_DATE(#yesterdayAcmdt#, 'YYYYMMDD'), -1),'YYYYMMDD')
AND d.user_id = #frstRegisterId#
ORDER BY b.end_tm DESC limit 1
</isNotEmpty>
</select>
<select id="VEAcmdtAplctDAO.selectDetailByUser_r2" parameterClass="VEInstrFeeAcmdtVO" resultClass="VEInstrFeeAcmdtVO">
select
vaa.aprvl_cd as aprvlCd
, vaa.aplct_cn as aplctCn
, vaa.acmdt_fee as acmdtFee
, vaa.acmdt_aplct_ord as AcmdtAplctOrd
FROM ve_acmdt_aplct vaa
, ve_edu_chasi vee
WHERE vee.instr_cnfrm_cd ='Y'
AND vee.instr_cnfrm_id = #frstRegisterId#
AND vee.edu_hope_dt = #eduHopeDt#
AND vee.edu_chasi_ord = vaa.edu_chasi_ord
ORDER BY aprvl_cd desc
limit 1
</select>
<select id="VEAcmdtAplctDAO.selectDcmdtAplctYesterday" parameterClass="VEInstrFeeAcmdtVO" resultClass="VEInstrFeeAcmdtVO">
SELECT
a.schol_instt_nm AS scholInsttNm
, a.addr AS addr
, a.addr_detail AS addrDetail
, a.schol_instt_nm AS scholInsttNm
, a.addr AS addr
, b.edu_hope_dt AS eduHopeDt
, b.strt_tm AS strtTm
, b.end_tm AS endTm
, b.lrn_tm AS lrnTm
, c.aplct_cn AS aplctCn
, c.aprvl_cd AS aprvlCd
, c.aprvl_cn AS aprvlCn
, c.acmdt_aplct_ord AS acmdtAplctOrd
, d.rsdne AS rsdne
, d.instr_nm AS instrNm
, d.user_id AS userId
FROM
ve_edu_aplct a
, ve_edu_chasi b
LEFT OUTER JOIN ve_acmdt_aplct c
ON (
b.edu_aplct_ord = c.edu_aplct_ord
AND b.edu_chasi_ord = c.edu_chasi_ord
AND c.frst_register_id = #frstRegisterId#
AND c.sbmt_yn = 'Y'
)
LEFT OUTER JOIN ve_instr_detail d
ON (
d.use_yn = 'Y'
AND d.instr_div = #instrDiv#
AND d.user_id = #frstRegisterId#
)
LEFT OUTER JOIN ve_edu_chasi_instr_asgnm f
ON (
b.edu_aplct_ord = f.edu_aplct_ord
AND b.edu_chasi_ord = f.edu_chasi_ord
)
WHERE 1 =1
AND a.edu_aplct_ord =b.edu_aplct_ord
AND b.edu_hope_dt = TO_CHAR(ADDDATE(TO_DATE(#yesterdayAcmdt#, 'YYYYMMDD'), -1),'YYYYMMDD')
AND f.user_id = #frstRegisterId#
ORDER BY b.end_tm DESC limit 1
</select>
<!-- 강사 정보 U -->
<update id="VEAcmdtAplctDAO.update" parameterClass="VEInstrFeeAcmdtVO">
UPDATE
<include refid="VEAcmdtAplctDAO.table_name"/>
SET
LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
<isNotEmpty property="sbmtYn">
, sbmt_yn = #sbmtYn#
</isNotEmpty><isNotEmpty property="sbmtPnttm">
, sbmt_pnttm = #sbmtPnttm#
</isNotEmpty><isNotEmpty property="aprvlCd">
, aprvl_cd = #aprvlCd#
</isNotEmpty><isNotEmpty property="aprvlPnttm">
, aprvl_pnttm = #aprvlPnttm#
</isNotEmpty><isNotEmpty property="aprvlId">
, aprvl_id = #aprvlId#
</isNotEmpty><isNotEmpty property="aprvlCn">
, aprvl_cn = #aprvlCn#
</isNotEmpty><isNotEmpty property="aplctCn">
, aplct_cn = #aplctCn#
</isNotEmpty><isNotEmpty property="acmdtFee">
, acmdt_fee = #acmdtFee#
</isNotEmpty><isNotEmpty property="useYn">
, use_yn = #useYn#
</isNotEmpty><isNotEmpty property="atchFileId">
, atch_file_id = #atchFileId#
</isNotEmpty>
WHERE
edu_aplct_ord = #eduAplctOrd#
AND edu_chasi_ord = #eduChasiOrd#
<isNotEmpty property="acmdtAplctOrd">
AND acmdt_aplct_ord = #acmdtAplctOrd#
</isNotEmpty>
</update>
<!-- 강사 정보 D -->
<delete id="VEAcmdtAplctDAO.delete" parameterClass="VEInstrFeeAcmdtVO">
DELETE FROM
<include refid="VEAcmdtAplctDAO.table_name"/>
WHERE
edu_aplct_ord = #eduAplctOrd#
AND edu_chasi_ord = #eduChasiOrd#
AND acmdt_aplct_ord = #acmdtAplctOrd#
</delete>
<!-- 강사 정보 L -->
<select id="VEAcmdtAplctDAO.selectList" parameterClass="VEInstrFeeAcmdtVO" resultClass="VEInstrFeeAcmdtVO">
SELECT
<include refid="VEAcmdtAplctDAO.select_column_name"/>
FROM
<include refid="VEAcmdtAplctDAO.table_name"/> a
WHERE
1=1
</select>
<!-- 강사 정보 L page -->
<select id="VEAcmdtAplctDAO.selectPagingList" parameterClass="VEInstrFeeAcmdtVO" resultClass="VEInstrFeeAcmdtVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEAcmdtAplctDAO.select_column_name"/>
FROM
<include refid="VEAcmdtAplctDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="eduAplctOrd">
AND a.edu_aplct_ord=#eduAplctOrd#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.edu_aplct_ord desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
</sqlMap>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,54 @@
<?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="VEEduPnlty">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEAsgnmNotiVO" type="kcc.ve.oprtn.asgnmnoti.service.VEAsgnmNotiVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEAsgnmNotiDAO.table_name">
ve_new_noti
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEAsgnmNotiDAO.column_name">
tbl_uniq_ord,
frst_regist_pnttm,
frst_register_id,
menu_no,
url_path
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEAsgnmNotiDAO.select_column_name">
a.tbl_uniq_ord AS tblUniqOrd,
a.frst_regist_pnttm AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
a.menu_no AS menuNo,
a.url_path AS urlPath
</sql>
<!-- 패널티 등록 C -->
<insert id="VEAsgnmNotiDAO.insert" parameterClass="VEAsgnmNotiVO">
MERGE INTO <include refid="VEAsgnmNotiDAO.table_name"/> T1 USING DB_ROOT
ON (T1.TBL_UNIQ_ORD = #tblUniqOrd# AND T1.FRST_REGISTER_ID = #frstRegisterId# AND T1.MENU_NO = #menuNo# )
WHEN MATCHED THEN
UPDATE SET
frst_regist_pnttm = NOW(),
url_path = #urlPath#
WHEN NOT MATCHED THEN
INSERT(
<include refid="VEAsgnmNotiDAO.column_name"/>
)VALUES(
#tblUniqOrd#,
NOW(),
#frstRegisterId#,
#menuNo#,
#urlPath#
)
</insert>
</sqlMap>

View File

@ -0,0 +1,350 @@
<?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="VEEduChasiInstrAsgnm">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEInstrAsgnmVO" type="kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEEduChasiInstrAsgnmDAO.table_name">
ve_edu_chasi_instr_asgnm
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEEduChasiInstrAsgnmDAO.column_name">
edu_aplct_ord,
edu_chasi_ord,
user_id,
pnlty_cd,
pnlty_pnttm,
pnlty_id,
pnlty_cn,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id,
prvs_srvy_ord,
aft_srvy_ord,
gnrl_srvy_ord,
lctr_plan_atch_file_id,
asgnm_aprvl_cd,
asgnm_aprvl_pnttm,
asgnm_aprvl_id,
rmrks
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEEduChasiInstrAsgnmDAO.select_column_name">
a.edu_aplct_ord AS eduAplctOrd,
a.edu_chasi_ord AS eduChasiOrd,
a.user_id AS userId,
a.pnlty_cd AS pnltyCd,
a.pnlty_pnttm AS pnltyPnttm,
a.pnlty_id AS pnltyId,
a.pnlty_cn AS pnltyCn,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId,
a.prvs_srvy_ord AS prvsSrvyOrd,
a.aft_srvy_ord AS aftSrvyOrd,
a.gnrl_srvy_ord AS gnrlSrvyOrd,
a.lctr_plan_atch_file_id AS lctrPlanAtchFileId,
a.asgnm_aprvl_cd AS asgnmAprvlCd,
a.asgnm_aprvl_pnttm AS asgnmAprvlPnttm,
a.asgnm_aprvl_id AS asgnmAprvlId,
a.rmrks AS rmrks
</sql>
<!-- 강사 등록 C -->
<insert id="VEEduChasiInstrAsgnmDAO.insert" parameterClass="VEInstrAsgnmVO">
MERGE INTO <include refid="VEEduChasiInstrAsgnmDAO.table_name"/> T1 USING DB_ROOT
ON (T1.EDU_APLCT_ORD = #eduAplctOrd# AND T1.EDU_CHASI_ORD = #eduChasiOrd#)
WHEN MATCHED THEN
UPDATE SET
edu_aplct_ord = #eduAplctOrd#,
edu_chasi_ord = #eduChasiOrd#,
user_id = #userId#,
pnlty_cd = #pnltyCd#,
pnlty_pnttm = #pnltyPnttm#,
pnlty_id = #pnltyId#,
pnlty_cn = #pnltyCn#,
frst_regist_pnttm = NOW(),
frst_register_id = #frstRegisterId#,
last_updt_pnttm = NOW(),
last_updusr_id = #lastUpdusrId#,
prvs_srvy_ord = #prvsSrvyOrd#,
aft_srvy_ord = #aftSrvyOrd#,
gnrl_srvy_ord = #gnrlSrvyOrd#,
lctr_plan_atch_file_id = #lctrPlanAtchFileId#,
asgnm_aprvl_cd = #asgnmAprvlCd#,
asgnm_aprvl_pnttm = #asgnmAprvlPnttm#,
asgnm_aprvl_id = #asgnmAprvlId#,
rmrks = #rmrks#
WHEN NOT MATCHED THEN
INSERT (
<include refid="VEEduChasiInstrAsgnmDAO.column_name"/>
)VALUES(
#eduAplctOrd#,
#eduChasiOrd#,
#userId#,
#pnltyCd#,
#pnltyPnttm#,
#pnltyId#,
#pnltyCn#,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#,
#prvsSrvyOrd#,
#aftSrvyOrd#,
#gnrlSrvyOrd#,
#lctrPlanAtchFileId#,
#asgnmAprvlCd#,
#asgnmAprvlPnttm#,
#asgnmAprvlId#,
#rmrks#
)
</insert>
<!-- 강사 정보 R -->
<select id="VEEduChasiInstrAsgnmDAO.selectDetail" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
SELECT
<include refid="VEEduChasiInstrAsgnmDAO.select_column_name"/>
FROM
<include refid="VEEduChasiInstrAsgnmDAO.table_name"/> a
WHERE
a.edu_aplct_ord = #eduAplctOrd#
AND a.edu_chasi_ord = #eduChasiOrd#
</select>
<!-- 강사 정보 U -->
<update id="VEEduChasiInstrAsgnmDAO.update" parameterClass="VEInstrAsgnmVO">
UPDATE
<include refid="VEEduChasiInstrAsgnmDAO.table_name"/>
SET
LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
<isNotEmpty property="userId">
,user_id=#userId#
</isNotEmpty>
<isNotEmpty property="pnltyCd">
,pnlty_cd=#pnltyCd#
</isNotEmpty>
<isNotEmpty property="pnltyPnttm">
,pnlty_pnttm=#pnltyPnttm#
</isNotEmpty>
<isNotEmpty property="pnltyId">
,pnlty_id=#pnltyId#
</isNotEmpty>
<isNotEmpty property="pnltyCn">
,pnlty_cn=#pnltyCn#
</isNotEmpty>
<isNotEmpty property="prvsSrvyOrd">
,prvs_srvy_ord=#prvsSrvyOrd#
</isNotEmpty>
<isNotEmpty property="aftSrvyOrd">
,aft_srvy_ord=#aftSrvyOrd#
</isNotEmpty>
<isNotEmpty property="gnrlSrvyOrd">
,gnrl_srvy_ord=#gnrlSrvyOrd#
</isNotEmpty>
<isNotEmpty property="lctrPlanAtchFileId">
,lctr_plan_atch_file_id=#lctrPlanAtchFileId#
</isNotEmpty>
<isNotEmpty property="asgnmAprvlCd">
,asgnm_aprvl_cd=#asgnmAprvlCd#
,asgnm_aprvl_pnttm=now()
</isNotEmpty>
<isNotEmpty property="asgnmAprvlId">
,asgnm_aprvl_id=#asgnmAprvlId#
</isNotEmpty>
<isNotEmpty property="rmrks">
,rmrks=#rmrks#
</isNotEmpty>
WHERE
edu_aplct_ord = #eduAplctOrd#
AND edu_chasi_ord = #eduChasiOrd#
</update>
<!-- 강사 정보 D -->
<delete id="VEEduChasiInstrAsgnmDAO.delete" parameterClass="VEInstrAsgnmVO">
DELETE FROM
<include refid="VEEduChasiInstrAsgnmDAO.table_name"/>
WHERE
edu_aplct_ord = #eduAplctOrd#
AND edu_chasi_ord = #eduChasiOrd#
</delete>
<!-- 강사 정보 L -->
<select id="VEEduChasiInstrAsgnmDAO.selectList" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
SELECT
<include refid="VEEduChasiInstrAsgnmDAO.select_column_name"/>
FROM
<include refid="VEEduChasiInstrAsgnmDAO.table_name"/> a
WHERE
1=1
</select>
<!-- 강사 정보 L page -->
<select id="VEEduChasiInstrAsgnmDAO.selectPagingList" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEEduChasiInstrAsgnmDAO.select_column_name"/>
FROM
<include refid="VEEduChasiInstrAsgnmDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="eduAplctOrd">
AND a.edu_aplct_ord=#eduAplctOrd#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.edu_aplct_ord desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<!-- 배정내역테이블 선정확정 U -->
<update id="VEEduChasiInstrAsgnmDAO.updateAsgnmY" parameterClass="VEInstrAsgnmVO">
UPDATE
ve_edu_chasi_instr_asgnm_hstry
SET
hstry_cd = '20'
WHERE
edu_aplct_ord = #eduAplctOrd#
AND edu_chasi_ord = #eduChasiOrd#
AND user_id = #userId#
AND hstry_cd = '50'
</update>
<!-- 배정내역테이블 선정확제외 U -->
<update id="VEEduChasiInstrAsgnmDAO.updateAsgnmN" parameterClass="VEInstrAsgnmVO">
UPDATE
ve_edu_chasi_instr_asgnm_hstry
SET
hstry_cd = '30'
WHERE
edu_aplct_ord = #eduAplctOrd#
AND edu_chasi_ord = #eduChasiOrd#
AND user_id != #userId#
AND hstry_cd = '50'
</update>
<insert id="VEEduChasiInstrAsgnmDAO.insertDeadLineDt" parameterClass="VEInstrAsgnmVO">
INSERT INTO VE_EDU_CHASI_INSTR_ASGNM_DEAD_LINE
(
EDU_APLCT_ORD
, EDU_CHASI_ORD
, USER_ID
, DEAD_LINE_DT
)
VALUES
(
#eduAplctOrd#
, #eduChasiOrd#
, #userId#
, #deadlineDt#
)
ON DUPLICATE KEY UPDATE
DEAD_LINE_DT = #deadlineDt#
</insert>
<select id="VEEduChasiInstrAsgnmDAO.selectBatchAsgnmList" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
SELECT
a.edu_aplct_ord AS eduAplctOrd
, a.edu_chasi_ord AS eduChasiOrd
, a.dead_line_dt AS deadlineDt
, d.user_id AS userId
FROM
ve_edu_chasi_instr_asgnm_dead_line a
INNER JOIN ve_edu_aplct b
ON ( a.edu_aplct_ord=b.edu_aplct_ord )
INNER JOIN ve_edu_chasi c
ON ( a.edu_aplct_ord=c.edu_aplct_ord
AND a.edu_chasi_ord=c.edu_chasi_ord)
LEFT OUTER JOIN ve_edu_chasi_instr_asgnm d
ON ( a.edu_aplct_ord=d.edu_aplct_ord
AND a.edu_chasi_ord=d.edu_chasi_ord)
WHERE 1=1
AND a.dead_line_dt <![CDATA[ < ]]> TO_CHAR(NOW(), 'YYYY.MM.DD')
AND b.LCTR_DIV_CD = '10'
AND b.APRVL_CD = '60'
AND d.asgnm_aprvl_cd = '20'
</select>
<update id="VEEduChasiInstrAsgnmDAO.updateBatchAsgnmCancel" parameterClass="VEInstrAsgnmVO">
UPDATE
ve_edu_chasi_instr_asgnm
SET
asgnm_aprvl_cd = '40'
, asgnm_aprvl_pnttm = now()
WHERE 1=1
AND asgnm_aprvl_cd = '20'
AND edu_aplct_ord = #eduAplctOrd#
AND edu_chasi_ord = #eduChasiOrd#
AND user_id = #userId#
</update>
<delete id="VEEduChasiInstrAsgnmDAO.deleteBatchAsgnmCancel" parameterClass="VEInstrAsgnmVO">
DELETE FROM
ve_edu_chasi_instr_asgnm_dead_line
WHERE 1=1
AND edu_aplct_ord = #eduAplctOrd#
AND edu_chasi_ord = #eduChasiOrd#
</delete>
<insert id="VEEduChasiInstrAsgnmDAO.insertBatchAsgnmCancel" parameterClass="VEInstrAsgnmVO">
INSERT INTO VE_EDU_CHASI_INSTR_ASGNM_HSTRY
(
EDU_APLCT_ORD
, EDU_CHASI_ORD
, USER_ID
, HSTRY_CD
)
VALUES
(
#eduAplctOrd#
, #eduChasiOrd#
, #userId#
, '10'
)
</insert>
</sqlMap>

View File

@ -0,0 +1,199 @@
<?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="VEEduPnlty">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEInstrAsgnmVO" type="kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEEduPnltyDAO.table_name">
ve_edu_pnlty
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEEduPnltyDAO.column_name">
edu_aplct_ord,
edu_chasi_ord,
pnlty_cd,
frst_regist_pnttm,
frst_register_id,
user_id
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEEduPnltyDAO.select_column_name">
a.edu_aplct_ord AS eduAplctOrd,
a.edu_chasi_ord AS eduChasiOrd,
a.pnlty_cd AS pnltyCd,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
a.user_id AS userId
</sql>
<!-- 패널티 등록 C -->
<insert id="VEEduPnltyDAO.insert" parameterClass="VEInstrAsgnmVO">
MERGE INTO <include refid="VEEduPnltyDAO.table_name"/> T1 USING DB_ROOT
ON
(T1.EDU_APLCT_ORD = #eduAplctOrd#
AND T1.EDU_CHASI_ORD = #eduChasiOrd#
AND T1.USER_ID = #userId#
AND T1.PNLTY_CD = #pnltyCd# )
WHEN MATCHED THEN
UPDATE SET
edu_aplct_ord = #eduAplctOrd#,
edu_chasi_ord = #eduChasiOrd#,
pnlty_cd = #pnltyCd#,
frst_regist_pnttm = NOW(),
frst_register_id = #frstRegisterId#,
user_id = #userId#
WHEN NOT MATCHED THEN
INSERT(
<include refid="VEEduPnltyDAO.column_name"/>
)VALUES(
#eduAplctOrd#,
#eduChasiOrd#,
#pnltyCd#,
NOW(),
#frstRegisterId#,
#userId#
)
</insert>
<!-- 패널티 정보 R -->
<select id="VEEduPnltyDAO.selectDetail" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
SELECT
<include refid="VEEduPnltyDAO.select_column_name"/>
FROM
<include refid="VEEduPnltyDAO.table_name"/> a
WHERE
a.edu_aplct_ord = #eduAplctOrd#
AND a.edu_chasi_ord = #eduChasiOrd#
AND a.pnlty_cd = #pnltyCd#
</select>
<!-- 패널티 정보 U -->
<update id="VEEduPnltyDAO.update" parameterClass="VEInstrAsgnmVO">
UPDATE
<include refid="VEEduPnltyDAO.table_name"/>
SET
frst_regist_pnttm = NOW()
,frst_register_id = #lastUpdusrId#
WHERE
edu_aplct_ord = #eduAplctOrd#
AND edu_chasi_ord = #eduChasiOrd#
AND pnlty_cd = #pnltyCd#
</update>
<!-- 패널티 정보 D -->
<delete id="VEEduPnltyDAO.delete" parameterClass="VEInstrAsgnmVO">
DELETE FROM
<include refid="VEEduPnltyDAO.table_name"/>
WHERE
edu_aplct_ord = #eduAplctOrd#
AND edu_chasi_ord = #eduChasiOrd#
<isNotEmpty property="pnltyCd">
AND pnlty_cd = #pnltyCd#
</isNotEmpty>
</delete>
<!-- 패널티 정보 L -->
<select id="VEEduPnltyDAO.selectList" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
SELECT
<include refid="VEEduPnltyDAO.select_column_name"/>
,b.schol_instt_nm AS scholInsttNm
,DATE_FORMAT(c.edu_hope_dt,'%Y.%m.%d') AS eduHopeDt
,c.strt_tm AS strtTm
,c.end_tm AS endTm
,c.lrn_tm AS lrnTm
FROM
<include refid="VEEduPnltyDAO.table_name"/> a
LEFT OUTER JOIN
ve_edu_aplct b
ON
a.edu_aplct_ord = b.edu_aplct_ord
LEFT OUTER JOIN
ve_edu_chasi c
ON
a.edu_chasi_ord = c.edu_chasi_ord
WHERE
1=1
<isNotEmpty property="eduAplctOrd">
AND a.edu_aplct_ord = #eduAplctOrd#
</isNotEmpty>
<isNotEmpty property="eduChasiOrd">
AND a.edu_chasi_ord = #eduChasiOrd#
</isNotEmpty>
<isNotEmpty property="userId">
AND a.user_id = #userId#
</isNotEmpty>
</select>
<!-- 패널티 정보 L page -->
<select id="VEEduPnltyDAO.selectPagingList" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEEduPnltyDAO.select_column_name"/>
FROM
<include refid="VEEduPnltyDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="eduAplctOrd">
AND a.edu_aplct_ord=#eduAplctOrd#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.edu_aplct_ord desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<!-- 강사별 패널티 정보 L -->
<select id="VEEduPnltyDAO.selectInstrPnltyList" parameterClass="VEInstrAsgnmVO" resultClass="VEInstrAsgnmVO">
SELECT
<include refid="VEEduPnltyDAO.select_column_name"/>
,b.user_id AS userId
FROM
<include refid="VEEduPnltyDAO.table_name"/> a
INNER JOIN ve_edu_chasi_instr_asgnm b
ON
(
a.edu_aplct_ord = b.edu_aplct_ord
and a.edu_chasi_ord = b.edu_chasi_ord
)
WHERE
1=1
<isNotEmpty property="eduAplctOrd">
AND a.edu_aplct_ord = #eduAplctOrd#
</isNotEmpty>
<isNotEmpty property="eduChasiOrd">
AND a.edu_chasi_ord = #eduChasiOrd#
</isNotEmpty>
</select>
</sqlMap>

View File

@ -0,0 +1,342 @@
<?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="VEInstrFee">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEInstrFeeAcmdtVO" type="kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrFeeAcmdtVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEInstrFeeDAO.table_name">
ve_instr_fee
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEInstrFeeDAO.column_name">
edu_aplct_ord,
edu_chasi_ord,
instr_fee_ord,
sbmt_yn,
<isEqual property="sbmtYn" compareValue="Y">
sbmt_pnttm,
</isEqual>
aprvl_cd,
aprvl_pnttm,
aprvl_id,
aprvl_cn,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id,
aplct_cn,
instr_fee,
special_work_allow,
distance_allow,
traffic_fee,
bsns_trip_fee,
spare_fee,
income_tax,
local_income_tax,
use_yn
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEInstrFeeDAO.select_column_name">
a.edu_aplct_ord AS eduAplctOrd,
a.edu_chasi_ord AS eduChasiOrd,
instr_fee_ord AS instrFeeOrd,
a.sbmt_yn AS sbmtYn,
a.sbmt_pnttm AS sbmtPnttm,
a.aprvl_cd AS aprvlCd,
a.aprvl_pnttm AS aprvlPnttm,
a.aprvl_id AS aprvlId,
a.aprvl_cn AS aprvlCn,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId,
a.aplct_cn AS aplctCn,
a.instr_fee AS instrFee,
a.bsns_trip_fee AS bsnsTripFee,
a.spare_fee AS spareFee,
a.special_work_allow AS specialWorkAllow,
a.distance_allow AS distanceAllow,
a.traffic_fee AS trafficFee,
a.income_tax AS incomeTax,
a.local_income_tax AS localIncomeTax,
a.use_yn AS useYn
</sql>
<!-- 강사료 등록 C -->
<insert id="VEInstrFeeDAO.insert" parameterClass="VEInstrFeeAcmdtVO">
INSERT INTO <include refid="VEInstrFeeDAO.table_name"/> (
<include refid="VEInstrFeeDAO.column_name"/>
)VALUES(
#eduAplctOrd#,
#eduChasiOrd#,
#instrFeeOrd#,
#sbmtYn#,
<isEqual property="sbmtYn" compareValue="Y">
NOW(),
</isEqual>
#aprvlCd#,
#aprvlPnttm#,
#aprvlId#,
#aprvlCn#,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#,
#aplctCn#,
#instrFee#,
#specialWorkAllow#,
#distanceAllow#,
#trafficFee#,
#bsnsTripFee#,
#spareFee#,
#incomeTax#,
#localIncomeTax#,
#useYn#
)
</insert>
<!-- 강사료 정보 R -->
<select id="VEInstrFeeDAO.selectDetail" parameterClass="VEInstrFeeAcmdtVO" resultClass="VEInstrFeeAcmdtVO">
SELECT
A.EDU_APLCT_ORD AS eduAplctOrd
, A.EDU_CHASI_ORD AS eduChasiOrd
, B.INSTR_FEE_ORD AS instrFeeOrd
, A.USER_ID AS userId
,(SELECT AA.ADDR FROM VE_INSTR_DETAIL AA WHERE 1=1 AND AA.USER_ID = A.USER_ID AND aa.instr_div=e.lctr_div_cd AND aa.use_yn='Y') AS instrRsdnc
,(SELECT AA.div_cd FROM VE_INSTR_DETAIL AA WHERE 1=1 AND AA.USER_ID = A.USER_ID AND aa.instr_div=e.lctr_div_cd AND aa.use_yn ='Y') AS divCd
,(SELECT EE.NEW_ADDR FROM VE_SCHOL EE WHERE 1=1 AND EE.STNDRD_SCHOL_CD = E.STNDRD_SCHOL_CD) AS scholArea
, IFNULL(IF(B.INSTR_FEE='','0',B.INSTR_FEE),'0') AS instrFee
, IFNULL(IF(B.SPECIAL_WORK_ALLOW='','0',B.SPECIAL_WORK_ALLOW), '0') AS specialWorkAllow
, IFNULL(IF(B.DISTANCE_ALLOW='','0',B.DISTANCE_ALLOW), '0') AS distanceAllow
, IFNULL(IF(B.TRAFFIC_FEE='','0',B.TRAFFIC_FEE), '0') AS trafficFee
, IFNULL(IF(B.BSNS_TRIP_FEE='','0',B.BSNS_TRIP_FEE), '0') AS bsnsTripFee
, IFNULL(IF(B.SPARE_FEE='','0',B.SPARE_FEE), '0') AS spareFee
, IFNULL(IF(C.ACMDT_FEE='','0',C.ACMDT_FEE), '0') AS acmdtFee
, C.APRVL_CD AS acmdtAprvlCd
, IFNULL(IF(B.INCOME_TAX='','0',B.INCOME_TAX), '0') AS incomeTax
, IFNULL(IF(B.LOCAL_INCOME_TAX='','0',B.LOCAL_INCOME_TAX), '0') AS localIncomeTax
, B.SBMT_YN AS sbmtYn
, C.ATCH_FILE_ID AS atchFileId
, C.APRVL_CD AS acmdtAprvlCd
, D.ONEWAY_DSTNC AS onewayDstnc
, E.ISLTN_SCHOL_YN AS isltnScholYn
, E.EDU_SLCT_CD AS eduSlctCd
, IFNULL(F.CHASI, '1') AS chasi
, F.EDU_HOPE_DT AS eduHopeDt
FROM
VE_EDU_CHASI_INSTR_ASGNM A
LEFT OUTER JOIN VE_INSTR_FEE B
ON (
A.EDU_APLCT_ORD = B.EDU_APLCT_ORD
AND A.EDU_CHASI_ORD = B.EDU_CHASI_ORD
)
LEFT OUTER JOIN VE_ACMDT_APLCT C
ON(
A.EDU_APLCT_ORD = C.EDU_APLCT_ORD
AND A.EDU_CHASI_ORD = C.EDU_CHASI_ORD
)
LEFT OUTER JOIN ve_edu_instr_dstnc D
ON(
A.EDU_APLCT_ORD = D.edu_aplct_ord
AND A.user_id = D.user_id
)
LEFT OUTER JOIN ve_edu_aplct E
ON(
A.EDU_APLCT_ORD = E.edu_aplct_ord
)
LEFT OUTER JOIN ve_edu_chasi F
ON(
A.EDU_APLCT_ORD = F.edu_aplct_ord
AND A.EDU_CHASI_ORD = F.EDU_CHASI_ORD
)
WHERE 1=1
AND A.EDU_APLCT_ORD = #eduAplctOrd#
AND A.EDU_CHASI_ORD = #eduChasiOrd#
</select>
<!-- 강사료 정보 U -->
<update id="VEInstrFeeDAO.update" parameterClass="VEInstrFeeAcmdtVO">
UPDATE
<include refid="VEInstrFeeDAO.table_name"/>
SET
LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
<isNotEmpty property="sbmtYn">
, sbmt_yn = #sbmtYn#
</isNotEmpty>
<isNotEmpty property="sbmtPnttm">
, sbmt_pnttm = #sbmtPnttm#
</isNotEmpty>
<isNotEmpty property="aprvlCd">
, aprvl_cd = #aprvlCd#
</isNotEmpty>
<isNotEmpty property="aprvlPnttm">
, aprvl_pnttm = #aprvlPnttm#
</isNotEmpty>
<isNotEmpty property="aprvlId">
, aprvl_id = #aprvlId#
</isNotEmpty>
<isNotEmpty property="aprvlCn">
, aprvl_cn = #aprvlCn#
</isNotEmpty>
<isNotEmpty property="aplctCn">
, aplct_cn = #aplctCn#
</isNotEmpty>
<isNotEmpty property="instrFee">
, instr_fee = #instrFee#
</isNotEmpty>
<isNotEmpty property="specialWorkAllow">
, SPECIAL_WORK_ALLOW = #specialWorkAllow#
</isNotEmpty>
<isNotEmpty property="distanceAllow">
, DISTANCE_ALLOW = #distanceAllow#
</isNotEmpty>
<isNotEmpty property="trafficFee">
, TRAFFIC_FEE = #trafficFee#
</isNotEmpty>
<isNotEmpty property="bsnsTripFee">
, bsns_trip_fee = #bsnsTripFee#
</isNotEmpty>
<isNotEmpty property="spareFee">
, spare_fee = #spareFee#
</isNotEmpty>
<isNotEmpty property="incomeTax">
, income_tax = #incomeTax#
</isNotEmpty>
<isNotEmpty property="localIncomeTax">
, local_income_tax = #localIncomeTax#
</isNotEmpty>
<isNotEmpty property="useYn">
, use_yn = #useYn#
</isNotEmpty>
<isEqual property="sbmtYn" compareValue="Y">
, sbmt_pnttm = NOW()
</isEqual>
WHERE
edu_aplct_ord = #eduAplctOrd#
AND edu_chasi_ord = #eduChasiOrd#
<isNotEmpty property="instrFeeOrd">
AND instr_fee_ord = #instrFeeOrd#
</isNotEmpty>
</update>
<!-- 강사료 숙박정보 U -->
<update id="VEInstrFeeDAO.acmdtUpdate" parameterClass="VEInstrFeeAcmdtVO">
UPDATE
VE_ACMDT_APLCT
SET
LAST_UPDT_PNTTM = NOW()
, LAST_UPDUSR_ID = #lastUpdusrId#
, ACMDT_FEE = #acmdtFee#
WHERE 1=1
AND EDU_APLCT_ORD = #eduAplctOrd#
AND EDU_CHASI_ORD = #eduChasiOrd#
</update>
<!-- 강사료 정보 D -->
<delete id="VEInstrFeeDAO.delete" parameterClass="VEInstrFeeAcmdtVO">
DELETE FROM
<include refid="VEInstrFeeDAO.table_name"/>
WHERE
edu_aplct_ord = #eduAplctOrd#
AND edu_chasi_ord = #eduChasiOrd#
AND instr_fee_ord = #instrFeeOrd#
</delete>
<!-- 강사 정보 L -->
<select id="VEInstrFeeDAO.selectList" parameterClass="VEInstrFeeAcmdtVO" resultClass="VEInstrFeeAcmdtVO">
SELECT
<include refid="VEInstrFeeDAO.select_column_name"/>
FROM
<include refid="VEInstrFeeDAO.table_name"/> a
WHERE
1=1
</select>
<!-- 강사 정보 L page -->
<select id="VEInstrFeeDAO.selectPagingList" parameterClass="VEInstrFeeAcmdtVO" resultClass="VEInstrFeeAcmdtVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEInstrFeeDAO.select_column_name"/>
FROM
<include refid="VEInstrFeeDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="eduAplctOrd">
AND a.edu_aplct_ord=#eduAplctOrd#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.edu_aplct_ord desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<select id="VEInstrFeeDAO.selectChasiList" parameterClass="VEInstrFeeAcmdtVO" resultClass="VEInstrFeeAcmdtVO">
SELECT
COUNT(1) OVER() AS totCnt
, A.EDU_APLCT_ORD AS eduAplctOrd
, A.EDU_CHASI_ORD AS eduChasiOrd
FROM
VE_EDU_CHASI_INSTR_ASGNM A
LEFT OUTER JOIN ve_edu_chasi F
ON(
A.EDU_APLCT_ORD = F.edu_aplct_ord
AND A.EDU_CHASI_ORD = F.EDU_CHASI_ORD
)
WHERE 1=1
AND A.EDU_APLCT_ORD = #eduAplctOrd#
AND A.USER_ID = #userId#
AND F.EDU_HOPE_DT = #eduHopeDt#
ORDER BY 1=1
, A.EDU_CHASI_ORD
</select>
</sqlMap>

View File

@ -0,0 +1,158 @@
<?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="VEEduAplctMngNmbr">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEEduAplctVO" type="kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEEduAplctMngNmbrDAO.table_name">
ve_edu_aplct_mng_nmbr
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEEduAplctMngNmbrDAO.column_name">
edu_aplct_ord,
mng_nmbr_full_name,
mng_nmbr_yr,
mng_nmbr,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEEduAplctMngNmbrDAO.select_column_name">
a.edu_aplct_ord AS eduAplctOrd,
a.mng_nmbr_full_name AS mngNmbrFullName,
a.mng_nmbr_yr AS mngNmbrYr,
a.mng_nmbr AS mngNmbr,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId
</sql>
<!-- 강사 등록 C -->
<insert id="VEEduAplctMngNmbrDAO.insert" parameterClass="VEEduAplctVO">
INSERT INTO <include refid="VEEduAplctMngNmbrDAO.table_name"/> (
<include refid="VEEduAplctMngNmbrDAO.column_name"/>
)VALUES(
#eduAplctOrd#,
#mngNmbrFullName#,
#mngNmbrYr#,
#mngNmbr#,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#
)
ON DUPLICATE KEY UPDATE
mng_nmbr_full_name =#mngNmbrFullName#
,mng_nmbr_yr =#mngNmbrYr#
,mng_nmbr =#mngNmbr#
</insert>
<!-- 강사 정보 R -->
<select id="VEEduAplctMngNmbrDAO.selectDetail" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
SELECT
<include refid="VEEduAplctMngNmbrDAO.select_column_name"/>
FROM
<include refid="VEEduAplctMngNmbrDAO.table_name"/> a
WHERE
a.edu_aplct_ord = #eduAplctOrd#
</select>
<!-- 강사 정보 U -->
<update id="VEEduAplctMngNmbrDAO.update" parameterClass="VEEduAplctVO">
UPDATE
<include refid="VEEduAplctMngNmbrDAO.table_name"/>
SET
LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
<isNotEmpty property="eduCnfrmDsgnAtchFileId">
, edu_cnfrm_dsgn_atch_file_id = #eduCnfrmDsgnAtchFileId#
</isNotEmpty>
WHERE
edu_aplct_ord = #eduAplctOrd#
</update>
<!-- 강사 정보 D -->
<delete id="VEEduAplctMngNmbrDAO.delete" parameterClass="VEEduAplctVO">
DELETE FROM
<include refid="VEEduAplctMngNmbrDAO.table_name"/>
WHERE
edu_aplct_ord = #eduAplctOrd#
</delete>
<!-- 강사 정보 L -->
<select id="VEEduAplctMngNmbrDAO.selectList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
SELECT
<include refid="VEEduAplctMngNmbrDAO.select_column_name"/>
FROM
<include refid="VEEduAplctMngNmbrDAO.table_name"/> a
WHERE
1=1
</select>
<!-- 강사 정보 L page -->
<select id="VEEduAplctMngNmbrDAO.selectPagingList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEEduAplctMngNmbrDAO.select_column_name"/>
FROM
<include refid="VEEduAplctMngNmbrDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="eduAplctOrd">
AND a.edu_aplct_ord=#eduAplctOrd#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.edu_aplct_ord desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
</sqlMap>

View File

@ -0,0 +1,165 @@
<?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="VEEduAplctOnln">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEPrcsCntntVO" type="kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsCntntVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEEduAplctOnlnDAO.table_name">
ve_edu_aplct_onln
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEEduAplctOnlnDAO.column_name">
edu_aplct_ord,
prcs_ord,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEEduAplctOnlnDAO.select_column_name">
a.edu_aplct_ord AS eduAplctOrd,
a.prcs_ord AS prcsOrd,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId
</sql>
<!-- 강사 등록 C -->
<insert id="VEEduAplctOnlnDAO.insert" parameterClass="VEPrcsCntntVO">
INSERT INTO <include refid="VEEduAplctOnlnDAO.table_name"/> (
<include refid="VEEduAplctOnlnDAO.column_name"/>
)VALUES(
#eduAplctOrd#,
#prcsOrd#,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#
)
</insert>
<!-- 강사 정보 R -->
<select id="VEEduAplctOnlnDAO.selectDetail" parameterClass="VEPrcsCntntVO" resultClass="VEPrcsCntntVO">
SELECT
<include refid="VEEduAplctOnlnDAO.select_column_name"/>
FROM
<include refid="VEEduAplctOnlnDAO.table_name"/> a
WHERE
a.edu_aplct_ord = #eduAplctOrd#
AND a.prcs_ord = #prcsOrd#
</select>
<!-- 강사 정보 U -->
<update id="VEEduAplctOnlnDAO.update" parameterClass="VEPrcsCntntVO">
UPDATE
<include refid="VEEduAplctOnlnDAO.table_name"/>
SET
LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
WHERE
edu_aplct_ord = #eduAplctOrd#
AND prcs_ord = #prcsOrd#
</update>
<!-- 강사 정보 U -->
<update id="VEEduAplctOnlnDAO.updateBulk" parameterClass="VEPrcsCntntVO">
INSERT INTO <include refid="VEEduAplctOnlnDAO.table_name"/>
(
edu_aplct_ord,
prcs_ord,
frst_regist_pnttm,
frst_register_id
)
SELECT #eduAplctOrd#,prcs_ord, NOW(),#lastUpdusrId#
FROM ve_prcs_onln_cntnt
WHERE prcs_ord=#prcsOrd#
AND use_yn='Y'
ON DUPLICATE KEY UPDATE
last_updt_pnttm=now(),
last_updusr_id=#lastUpdusrId#
</update>
<!-- 강사 정보 D -->
<delete id="VEEduAplctOnlnDAO.delete" parameterClass="VEPrcsCntntVO">
DELETE FROM
<include refid="VEEduAplctOnlnDAO.table_name"/>
WHERE
edu_aplct_ord = #eduAplctOrd#
<isNotEmpty property="prcsOrd">
AND prcs_ord = #prcsOrd#
</isNotEmpty>
</delete>
<!-- 강사 정보 L -->
<select id="VEEduAplctOnlnDAO.selectList" parameterClass="VEPrcsCntntVO" resultClass="VEPrcsCntntVO">
SELECT
<include refid="VEEduAplctOnlnDAO.select_column_name"/>
FROM
<include refid="VEEduAplctOnlnDAO.table_name"/> a
WHERE
1=1
</select>
<!-- 강사 정보 L page -->
<select id="VEEduAplctOnlnDAO.selectPagingList" parameterClass="VEPrcsCntntVO" resultClass="VEPrcsCntntVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEEduAplctOnlnDAO.select_column_name"/>
FROM
<include refid="VEEduAplctOnlnDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="eduAplctOrd">
AND a.edu_aplct_ord=#eduAplctOrd#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.edu_aplct_ord desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
</sqlMap>

View File

@ -0,0 +1,203 @@
<?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="VEEduAplctSndHstry">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEEduAplctVO" type="kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEEduAplctSndHstryDAO.table_name">
VE_EDU_APLCT_SND_HSTRY
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEEduAplctSndHstryDAO.column_name">
EDU_APLCT_ORD,
snd_hstry_ord,
snd_cd,
snd_pnttm,
snd_id,
snd_cn
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEEduAplctSndHstryDAO.select_column_name">
A.EDU_APLCT_ORD AS eduAplctOrd,
a.snd_hstry_ord AS sndHstryOrd,
a.snd_cd AS sndCd,
DATE_FORMAT(a.snd_pnttm,'%Y-%m-%d') AS sndPnttm,
a.snd_id AS sndId,
a.snd_cn AS sndCn
</sql>
<!-- 강사 등록 C -->
<insert id="VEEduAplctSndHstryDAO.insert" parameterClass="VEEduAplctVO">
INSERT INTO <include refid="VEEduAplctSndHstryDAO.table_name"/> (
<include refid="VEEduAplctSndHstryDAO.column_name"/>
)VALUES(
#eduAplctOrd#,
#sndHstryOrd#,
#sndCd#,
NOW(),
#sndId#,
#sndCn#
)
ON DUPLICATE KEY UPDATE
snd_pnttm =NOW()
<isNotEmpty property="sndCd">
, snd_cd = #sndCd#
</isNotEmpty><isNotEmpty property="sndId">
, snd_id = #sndId#
</isNotEmpty><isNotEmpty property="sndCn">
, snd_cn = #sndCn#
</isNotEmpty>
</insert>
<!-- 강사 정보 R -->
<select id="VEEduAplctSndHstryDAO.selectDetail" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
SELECT
<include refid="VEEduAplctSndHstryDAO.select_column_name"/>
FROM <include refid="VEEduAplctSndHstryDAO.table_name"/> A
WHERE A.EDU_APLCT_ORD = #eduAplctOrd#
AND A.SND_HSTRY_ORD = #sndHstryOrd#
</select>
<!-- 강사 정보 U -->
<update id="VEEduAplctSndHstryDAO.update" parameterClass="VEEduAplctVO">
UPDATE <include refid="VEEduAplctSndHstryDAO.table_name"/>
SET
snd_hstry_ord = #sndHstryOrd#
<isNotEmpty property="sndCd">
, snd_cd = #sndCd#
</isNotEmpty><isNotEmpty property="sndPnttm">
, snd_pnttm = #sndPnttm#
</isNotEmpty><isNotEmpty property="sndId">
, snd_id = #sndId#
</isNotEmpty><isNotEmpty property="sndCn">
, snd_cn = #sndCn#
</isNotEmpty>
WHERE EDU_APLCT_ORD = #eduAplctOrd#
AND SND_HSTRY_ORD = #sndHstryOrd#
</update>
<!-- 강사 정보 D -->
<delete id="VEEduAplctSndHstryDAO.delete" parameterClass="VEEduAplctVO">
DELETE FROM
<include refid="VEEduAplctSndHstryDAO.table_name"/>
WHERE
edu_aplct_ord = #eduAplctOrd#
AND SND_HSTRY_ORD = #sndHstryOrd#
</delete>
<!-- 강사 정보 L -->
<select id="VEEduAplctSndHstryDAO.selectList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
SELECT
<include refid="VEEduAplctSndHstryDAO.select_column_name"/>
FROM
<include refid="VEEduAplctSndHstryDAO.table_name"/> a
WHERE
1=1
</select>
<!-- 강사 정보 L page -->
<select id="VEEduAplctSndHstryDAO.selectPagingList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEEduAplctSndHstryDAO.select_column_name"/>
FROM
<include refid="VEEduAplctSndHstryDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="eduAplctOrd">
AND a.edu_aplct_ord=#eduAplctOrd#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.edu_aplct_ord desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<update id="VEEduAplctSndHstryDAO.statusUpdate" parameterClass="VEEduAplctVO">
UPDATE <include refid="VEEduAplctSndHstryDAO.table_name"/>
SET
LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
<isNotEmpty property="sbmtYn">
, SBMT_YN = #sbmtYn#
, SBMT_PNTTM = IF(#sbmtYn# = 'Y', NOW(), NULL)
</isNotEmpty>
<isNotEmpty property="aprvlCd">
, APRVL_CD = #aprvlCd#
, APRVL_PNTTM = NOW()
</isNotEmpty>
<isNotEmpty property="aprvlCn">
, APRVL_CN = #aprvlCn#
</isNotEmpty>
<isNotEmpty property="useYn">
, USE_YN = #useYn#
</isNotEmpty>
WHERE EDU_APLCT_ORD = #eduAplctOrd#
</update>
<update id="VEEduAplctSndHstryDAO.chrgInfoUpdate" parameterClass="VEEduAplctVO">
UPDATE <include refid="VEEduAplctSndHstryDAO.table_name"/>
SET
LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
<isNotEmpty property="chrgNm">
, CHRG_NM = #chrgNm#
</isNotEmpty>
<isNotEmpty property="clphone">
, CLPHONE = #clphone#
</isNotEmpty>
<isNotEmpty property="phone">
, PHONE = #phone#
</isNotEmpty>
<isNotEmpty property="email">
, EMAIL = #email#
</isNotEmpty>
WHERE EDU_APLCT_ORD = #eduAplctOrd#
</update>
</sqlMap>

View File

@ -0,0 +1,164 @@
<?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="VEEduAplctUnqIsues">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEEduAplctVO" type="kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEEduAplctUnqIsuesDAO.table_name">
ve_edu_aplct_unq_isues
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEEduAplctUnqIsuesDAO.column_name">
edu_aplct_ord,
edu_chasi_ord,
unq_isues_ord,
unq_isues_cn,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEEduAplctUnqIsuesDAO.select_column_name">
a.edu_aplct_ord AS eduAplctOrd,
a.edu_chasi_ord AS eduChasiOrd,
a.unq_isues_ord AS unqIsuesOrd,
a.unq_isues_cn AS unqIsuesCn,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
(SELECT user_nm FROM lettnemplyrinfo b WHERE a.frst_register_id = b.esntl_id) AS frstRegisterNm,
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId
</sql>
<!-- 강사 등록 C -->
<insert id="VEEduAplctUnqIsuesDAO.insert" parameterClass="VEEduAplctVO">
INSERT INTO <include refid="VEEduAplctUnqIsuesDAO.table_name"/> (
<include refid="VEEduAplctUnqIsuesDAO.column_name"/>
)VALUES(
#eduAplctOrd#,
#eduChasiOrd#,
#unqIsuesOrd#,
#unqIsuesCn#,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#
)
</insert>
<!-- 강사 정보 R -->
<select id="VEEduAplctUnqIsuesDAO.selectDetail" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
SELECT
<include refid="VEEduAplctUnqIsuesDAO.select_column_name"/>
FROM
<include refid="VEEduAplctUnqIsuesDAO.table_name"/> a
WHERE
a.edu_aplct_ord = #eduAplctOrd#
AND a.edu_chasi_ord = #eduChasiOrd#
AND a.unq_isues_ord = #unqIsuesOrd#
</select>
<!-- 강사 정보 U -->
<update id="VEEduAplctUnqIsuesDAO.update" parameterClass="VEEduAplctVO">
UPDATE
<include refid="VEEduAplctUnqIsuesDAO.table_name"/>
SET
LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
<isNotEmpty property="unqIsuesCn">
, unq_isues_cn = #unqIsuesCn#
</isNotEmpty>
WHERE
edu_aplct_ord = #eduAplctOrd#
AND edu_chasi_ord = #eduChasiOrd#
AND unq_isues_ord = #unqIsuesOrd#
</update>
<!-- 강사 정보 D -->
<delete id="VEEduAplctUnqIsuesDAO.delete" parameterClass="VEEduAplctVO">
DELETE FROM
<include refid="VEEduAplctUnqIsuesDAO.table_name"/>
WHERE
edu_aplct_ord = #eduAplctOrd#
AND edu_chasi_ord = #eduChasiOrd#
AND unq_isues_ord = #unqIsuesOrd#
</delete>
<!-- 강사 정보 L -->
<select id="VEEduAplctUnqIsuesDAO.selectList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
SELECT
<include refid="VEEduAplctUnqIsuesDAO.select_column_name"/>
FROM
<include refid="VEEduAplctUnqIsuesDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="eduAplctOrd">
AND a.edu_aplct_ord = #eduAplctOrd#
</isNotEmpty>
<isNotEmpty property="eduChasiOrd">
AND a.edu_chasi_ord = #eduChasiOrd#
</isNotEmpty>
</select>
<!-- 강사 정보 L page -->
<select id="VEEduAplctUnqIsuesDAO.selectPagingList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEEduAplctUnqIsuesDAO.select_column_name"/>
FROM
<include refid="VEEduAplctUnqIsuesDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="eduAplctOrd">
AND a.edu_aplct_ord=#eduAplctOrd#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.unq_isues_ord desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
</sqlMap>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,310 @@
<?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="VEEduChasi">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEEduChasiVO" type="kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEEduChasiDAO.table_name">
VE_EDU_CHASI
</sql>
<sql id="VEEduChasiDAO.join_table_name">
VE_EDU_CHASI A LEFT OUTER JOIN VE_EDU_CHASI_INSTR_ASGNM B
ON A.EDU_APLCT_ORD = B.EDU_APLCT_ORD
AND A.EDU_CHASI_ORD = B.EDU_CHASI_ORD
LEFT OUTER JOIN COMVNUSERMASTER C
ON B.USER_ID = C.USER_ID
LEFT OUTER JOIN VE_INSTR_DETAIL D
ON (B.USER_ID = D.USER_ID
AND D.USE_YN = 'Y'
<isNotEmpty property="instrDiv">
AND D.instr_div = #instrDiv#
</isNotEmpty>
)
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEEduChasiDAO.column_name">
EDU_APLCT_ORD,
EDU_CHASI_ORD,
EDU_HOPE_DT,
STRT_TM,
END_TM,
LRN_TM,
DIV_CD,
TRGT,
PRSNL,
FRST_REGIST_PNTTM,
FRST_REGISTER_ID,
LAST_UPDT_PNTTM,
LAST_UPDUSR_ID,
LRN_SBJCT,
LRN_CN,
RMRKS,
INSTR_CNFRM_CD,
INSTR_CNFRM_PNTTM,
INSTR_CNFRM_ID,
CHASI,
MEMO_CN
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEEduChasiDAO.select_column_name">
A.EDU_APLCT_ORD AS eduAplctOrd,
A.EDU_CHASI_ORD AS eduChasiOrd,
IF(A.EDU_HOPE_DT is not null and A.EDU_HOPE_DT != '', DATE_FORMAT(A.EDU_HOPE_DT,'%Y.%m.%d'), '') AS eduHopeDt,
A.STRT_TM AS strtTm,
A.END_TM AS endTm,
A.LRN_TM AS lrnTm,
A.DIV_CD AS divCd,
A.TRGT AS trgt,
A.PRSNL AS prsnl,
A.MEMO_CN AS memoCn,
DATE_FORMAT(A.FRST_REGIST_PNTTM,'%Y-%m-%d') AS frstRegistPnttm,
A.FRST_REGISTER_ID AS frstRegisterId,
DATE_FORMAT(A.LAST_UPDT_PNTTM,'%Y-%m-%d') AS lastUpdtPnttm,
A.LAST_UPDUSR_ID AS lastUpdusrId,
A.LRN_SBJCT AS lrnSbjct,
A.LRN_CN AS lrnCn,
A.RMRKS AS rmrks,
A.INSTR_CNFRM_CD AS instrCnfrmCd,
A.INSTR_CNFRM_PNTTM AS instrCnfrmPnttm,
A.INSTR_CNFRM_ID AS instrCnfrmId,
B.USER_ID AS userId,
B.PNLTY_CD AS pnltyCd,
B.PNLTY_PNTTM AS pnltyPnttm,
B.PNLTY_ID AS pnltyId,
B.PNLTY_CN AS pnltyCn,
B.PRVS_SRVY_ORD AS prvsSrvyOrd,
B.AFT_SRVY_ORD AS aftSrvyOrd,
B.GNRL_SRVY_ORD AS gnrlSrvyOrd,
B.LCTR_PLAN_ATCH_FILE_ID AS lctrPlanAtchFileId,
C.USER_NM AS userNm,
D.INSTR_NM AS instrNm,
D.PHONE AS phone,
D.EMAIL AS email,
D.POST AS post,
D.ADDR AS addr,
D.ADDR_DETAIL AS addrDetail,
D.RSDNE AS rsdne,
D.D_BIRTH AS dBirth,
D.FINAL_SCHOL AS finalSchol,
D.MJR AS mjr,
D.APPT_YR AS apptYr,
D.APPT_DIV AS apptDiv,
D.ACTVT_CARER AS actvtCarer,
D.MN_LCTR_CN AS mnLctrCn,
D.PHT_ATCH_FILE_ID AS PhtAtchFileId,
D.BLNG AS blng,
D.PSTN AS pstn,
D.PRFSN_FLD AS prfsnFld,
D.SBMT_YN AS sbmtYn,
D.SBMT_PNTTM AS sbmtPnttm,
D.APRVL_CD AS aprvlCd,
D.APRVL_PNTTM AS aprvlPnttm,
D.APRVL_ID AS aprvlId,
D.APRVL_CN AS aprvlCn
</sql>
<!-- 강사 등록 C -->
<insert id="VEEduChasiDAO.insert" parameterClass="VEEduChasiVO">
INSERT INTO <include refid="VEEduChasiDAO.table_name"/> (
<include refid="VEEduChasiDAO.column_name"/>
)VALUES(
#eduAplctOrd#,
#eduChasiOrd#,
TRIM(REPLACE(#eduHopeDt#,'.','')),
REPLACE(#strtTm#,':',''),
REPLACE(#endTm#,':',''),
#lrnTm#,
#divCd#,
#trgt#,
#prsnl#,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#,
#lrnSbjct#,
#lrnCn#,
#rmrks#,
#instrCnfrmCd#,
#instrCnfrmPnttm#,
#instrCnfrmId#,
<isNotEmpty property="lrnTm">
CASE
WHEN #lrnTm#*1>=190 THEN 4
WHEN #lrnTm#*1>=130 THEN 3
WHEN #lrnTm#*1>=70 THEN 2
ELSE 1
END,
</isNotEmpty><isEmpty property="lrnTm">
#chasi#,
</isEmpty>
#memoCn#
)
</insert>
<!-- 강사 정보 R -->
<select id="VEEduChasiDAO.selectDetail" parameterClass="VEEduChasiVO" resultClass="VEEduChasiVO">
SELECT
<include refid="VEEduChasiDAO.select_column_name"/>
FROM <include refid="VEEduChasiDAO.join_table_name"/>
WHERE A.EDU_APLCT_ORD = #eduAplctOrd#
AND A.EDU_CHASI_ORD = #eduChasiOrd#
</select>
<!-- 강사 정보 U -->
<update id="VEEduChasiDAO.update" parameterClass="VEEduChasiVO">
UPDATE
<include refid="VEEduChasiDAO.table_name"/>
SET
LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
<isNotEmpty property="eduHopeDt">
, edu_hope_dt = REPLACE(#eduHopeDt#,'.','')
</isNotEmpty><isNotEmpty property="strtTm">
, strt_tm = REPLACE(#strtTm#,':','')
</isNotEmpty><isNotEmpty property="endTm">
, end_tm = REPLACE(#endTm#,':','')
</isNotEmpty><isNotEmpty property="lrnTm">
, lrn_tm = #lrnTm#
, chasi = CASE
WHEN #lrnTm#*1>=190 THEN 4
WHEN #lrnTm#*1>=130 THEN 3
WHEN #lrnTm#*1>=70 THEN 2
ELSE 1
END
</isNotEmpty><isNotEmpty property="divCd">
, div_cd = #divCd#
</isNotEmpty><isNotEmpty property="trgt">
, trgt = #trgt#
</isNotEmpty><isNotEmpty property="prsnl">
, prsnl = #prsnl#
</isNotEmpty><isNotEmpty property="lrnSbjct">
, lrn_sbjct = #lrnSbjct#
</isNotEmpty><isNotEmpty property="lrnCn">
, lrn_cn = #lrnCn#
</isNotEmpty><isNotEmpty property="rmrks">
, rmrks = #rmrks#
</isNotEmpty><isNotEmpty property="instrCnfrmCd">
, instr_cnfrm_cd = #instrCnfrmCd#
</isNotEmpty><isNotEmpty property="instrCnfrmPnttm">
, instr_cnfrm_pnttm = #instrCnfrmPnttm#
</isNotEmpty><isNotEmpty property="instrCnfrmId">
, instr_cnfrm_id = #instrCnfrmId#
</isNotEmpty><isNotEmpty property="memoCn">
, memo_cn = #memoCn#
</isNotEmpty>
WHERE
edu_aplct_ord = #eduAplctOrd#
AND edu_chasi_ord = #eduChasiOrd#
</update>
<!-- 강사 정보 D -->
<delete id="VEEduChasiDAO.delete" parameterClass="VEEduChasiVO">
DELETE FROM
<include refid="VEEduChasiDAO.table_name"/>
WHERE EDU_APLCT_ORD = #eduAplctOrd#
<isNotEmpty property="eduChasiOrd">
AND EDU_CHASI_ORD = #eduChasiOrd#
</isNotEmpty>
</delete>
<!-- 강사 정보 L -->
<select id="VEEduChasiDAO.selectList" parameterClass="VEEduChasiVO" resultClass="VEEduChasiVO">
SELECT
<include refid="VEEduChasiDAO.select_column_name"/>
FROM <include refid="VEEduChasiDAO.join_table_name"/>
WHERE 1=1
<isNotEmpty property="eduAplctOrd">
AND A.EDU_APLCT_ORD = #eduAplctOrd#
</isNotEmpty>
<isNotEmpty property="eduChasiOrd">
AND A.EDU_CHASI_ORD = #eduChasiOrd#
</isNotEmpty>
</select>
<!-- 강사 정보 L page -->
<select id="VEEduChasiDAO.selectPagingList" parameterClass="VEEduChasiVO" resultClass="VEEduChasiVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEEduChasiDAO.select_column_name"/>
FROM <include refid="VEEduChasiDAO.join_table_name"/>
WHERE 1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="eduAplctOrd">
AND A.EDU_APLCT_ORD = #eduAplctOrd#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, A.EDU_APLCT_ORD DESC
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<update id="VEEduChasiDAO.updateInstrCnfrmId" parameterClass="VEEduChasiVO">
UPDATE <include refid="VEEduChasiDAO.table_name"/>
SET instr_cnfrm_pnttm = now(),
instr_cnfrm_id = #instrCnfrmId#,
instr_cnfrm_cd = #instrCnfrmCd#
WHERE EDU_APLCT_ORD = #eduAplctOrd#
AND EDU_CHASI_ORD = #eduChasiOrd#;
</update>
<update id="VEEduChasiDAO.updateChasiInfo" parameterClass="VEEduChasiVO">
UPDATE <include refid="VEEduChasiDAO.table_name"/>
SET last_updt_pnttm = now()
, edu_hope_dt = #eduHopeDt#
, strt_tm = #strtTm#
, end_tm = #endTm#
, lrn_tm = #lrnTm#
, trgt = #trgt#
, prsnl = #prsnl#
WHERE EDU_APLCT_ORD = #eduAplctOrd#
AND EDU_CHASI_ORD = #eduChasiOrd#;
</update>
</sqlMap>

View File

@ -0,0 +1,148 @@
<?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="VEEduCnfrmDsgn">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEEduAplctVO" type="kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEEduCnfrmDsgnDAO.table_name">
ve_edu_cnfrm_dsgn
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEEduCnfrmDsgnDAO.column_name">
edu_aplct_ord,
edu_cnfrm_dsgn_atch_file_id,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEEduCnfrmDsgnDAO.select_column_name">
a.edu_aplct_ord AS eduAplctOrd,
a.edu_cnfrm_dsgn_atch_file_id AS eduCnfrmDsgnAtchFileId,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId
</sql>
<!-- 강사 등록 C -->
<insert id="VEEduCnfrmDsgnDAO.insert" parameterClass="VEEduAplctVO">
INSERT INTO <include refid="VEEduCnfrmDsgnDAO.table_name"/> (
<include refid="VEEduCnfrmDsgnDAO.column_name"/>
)VALUES(
#eduAplctOrd#,
#eduCnfrmDsgnAtchFileId#,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#
)
ON DUPLICATE KEY UPDATE
edu_cnfrm_dsgn_atch_file_id=#eduCnfrmDsgnAtchFileId#
</insert>
<!-- 강사 정보 R -->
<select id="VEEduCnfrmDsgnDAO.selectDetail" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
SELECT
<include refid="VEEduCnfrmDsgnDAO.select_column_name"/>
FROM
<include refid="VEEduCnfrmDsgnDAO.table_name"/> a
WHERE
a.edu_aplct_ord = #eduAplctOrd#
</select>
<!-- 강사 정보 U -->
<update id="VEEduCnfrmDsgnDAO.update" parameterClass="VEEduAplctVO">
UPDATE
<include refid="VEEduCnfrmDsgnDAO.table_name"/>
SET
LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
<isNotEmpty property="eduCnfrmDsgnAtchFileId">
, edu_cnfrm_dsgn_atch_file_id = #eduCnfrmDsgnAtchFileId#
</isNotEmpty>
WHERE
edu_aplct_ord = #eduAplctOrd#
</update>
<!-- 강사 정보 D -->
<delete id="VEEduCnfrmDsgnDAO.delete" parameterClass="VEEduAplctVO">
DELETE FROM
<include refid="VEEduCnfrmDsgnDAO.table_name"/>
WHERE
edu_aplct_ord = #eduAplctOrd#
</delete>
<!-- 강사 정보 L -->
<select id="VEEduCnfrmDsgnDAO.selectList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
SELECT
<include refid="VEEduCnfrmDsgnDAO.select_column_name"/>
FROM
<include refid="VEEduCnfrmDsgnDAO.table_name"/> a
WHERE
1=1
</select>
<!-- 강사 정보 L page -->
<select id="VEEduCnfrmDsgnDAO.selectPagingList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEEduCnfrmDsgnDAO.select_column_name"/>
FROM
<include refid="VEEduCnfrmDsgnDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="eduAplctOrd">
AND a.edu_aplct_ord=#eduAplctOrd#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.edu_aplct_ord desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
</sqlMap>

View File

@ -0,0 +1,183 @@
<?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="VEEduInstrDstnc">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEEduAplctVO" type="kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEEduInstrDstncDAO.table_name">
ve_edu_instr_dstnc
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEEduInstrDstncDAO.column_name">
edu_aplct_ord,
user_id,
schol_addr,
instr_addr,
oneway_dstnc,
cn,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEEduInstrDstncDAO.select_column_name">
a.edu_aplct_ord AS eduAplctOrd,
a.user_id AS userId,
a.schol_addr AS scholAddr,
a.instr_addr AS instrAddr,
a.oneway_dstnc AS onewayDstnc,
a.cn AS cn,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId
</sql>
<!-- 강사 등록 C -->
<insert id="VEEduInstrDstncDAO.insert" parameterClass="VEEduAplctVO">
INSERT INTO <include refid="VEEduInstrDstncDAO.table_name"/> (
<include refid="VEEduInstrDstncDAO.column_name"/>
)VALUES(
#eduAplctOrd#,
#userId#,
#scholAddr#,
#instrAddr#,
#onewayDstnc#,
#cn#,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#
)
ON DUPLICATE KEY UPDATE
schol_addr=#scholAddr#,
instr_addr=#instrAddr#,
oneway_dstnc=#onewayDstnc#,
cn=#cn#,
last_updt_pnttm=NOW(),
last_updusr_id=#lastUpdusrId#
</insert>
<!-- 강사 정보 R -->
<select id="VEEduInstrDstncDAO.selectDetail" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
SELECT
<include refid="VEEduInstrDstncDAO.select_column_name"/>
FROM
<include refid="VEEduInstrDstncDAO.table_name"/> a
WHERE
a.edu_aplct_ord = #eduAplctOrd#
AND a.user_id = #userId#
</select>
<!-- 강사 정보 U -->
<update id="VEEduInstrDstncDAO.update" parameterClass="VEEduAplctVO">
UPDATE
<include refid="VEEduInstrDstncDAO.table_name"/>
SET
LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
<isNotEmpty property="scholAddr">
, schol_addr = #scholAddr#
</isNotEmpty>
<isNotEmpty property="instrAddr">
, instr_addr = #instrAddr#
</isNotEmpty>
<isNotEmpty property="onewayDstnc">
, oneway_dstnc = #onewayDstnc#
</isNotEmpty>
<isNotEmpty property="cn">
, cn = #cn#
</isNotEmpty>
WHERE
edu_aplct_ord = #eduAplctOrd#
AND user_id = #userId#
</update>
<!-- 강사 정보 D -->
<delete id="VEEduInstrDstncDAO.delete" parameterClass="VEEduAplctVO">
DELETE FROM
<include refid="VEEduInstrDstncDAO.table_name"/>
WHERE
edu_aplct_ord = #eduAplctOrd#
AND user_id = #userId#
</delete>
<!-- 강사 정보 L -->
<select id="VEEduInstrDstncDAO.selectList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
SELECT
<include refid="VEEduInstrDstncDAO.select_column_name"/>
FROM
<include refid="VEEduInstrDstncDAO.table_name"/> a
WHERE
1=1
</select>
<!-- 강사 정보 L page -->
<select id="VEEduInstrDstncDAO.selectPagingList" parameterClass="VEEduAplctVO" resultClass="VEEduAplctVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEEduInstrDstncDAO.select_column_name"/>
FROM
<include refid="VEEduInstrDstncDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="eduAplctOrd">
AND a.edu_aplct_ord=#eduAplctOrd#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.edu_aplct_ord desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
</sqlMap>

View File

@ -0,0 +1,114 @@
<?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="VEEduOprtn">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEEduOprtnVO" type="kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduOprtnVO"/>
<insert id="VEEduOprtnDAO.insert" parameterClass="VEEduOprtnVO" >
INSERT INTO VE_EDU_OPRTN (
EDU_APLCT_ORD
,CHRG_MJR
,D_BIRTH
,CHRG_SEX_CD
,CMPLT_YEAR
,CMPLT_NUM
,EXPRN_CLSRN_CD
,EXPRN_CLSRN_YEAR
,EXPRN_CLSRN_APLCT
,EXPRN_CLSRN_APLCT_CN
,TRGT_GRADE
,TRGT_CLSRM
,TRGT_PRSNL
,RPRT_SBMT
,OPRTN_STRT_DT
,OPRTN_END_DT
,OPRTN_FILE_ID
,FRST_REGIST_PNTTM
,FRST_REGISTER_ID
,LAST_UPDT_PNTTM
,LAST_UPDUSR_ID
,ISLANDS_YN
,REMOTE_YN
,CLS_CMBT_YN
,PPUL_DCLN_YN
)VALUES(
#eduAplctOrd#
,#chrgMjr#
,#dBirth#
,#chrgSexCd#
,#cmpltYear#
,#cmpltNum#
,#exprnClsrnCd#
,#exprnClsrnYear#
,#exprnClsrnAplct#
,#exprnClsrnAplctCn#
,#trgtGrade#
,#trgtClsrm#
,#trgtPrsnl#
,#rprtSbmt#
,#oprtnStrtDt#
,#oprtnEndDt#
,#oprtnFileId#
,NOW()
,#frstRegisterId#
,NOW()
,#lastUpdusrId#
,#islandsYn#
,#remoteYn#
,#clsCmbtYn#
,#ppulDclnYn#
)
</insert>
<update id="VEEduOprtnDAO.update" parameterClass="VEEduOprtnVO" >
UPDATE VE_EDU_OPRTN SET
CHRG_MJR = #chrgMjr#
,D_BIRTH = #dBirth#
,CHRG_SEX_CD = #chrgSexCd#
,CMPLT_YEAR = #cmpltYear#
,CMPLT_NUM = #cmpltNum#
,EXPRN_CLSRN_CD = #exprnClsrnCd#
,EXPRN_CLSRN_YEAR = #exprnClsrnYear#
,EXPRN_CLSRN_APLCT = #exprnClsrnAplct#
,EXPRN_CLSRN_APLCT_CN = #exprnClsrnAplctCn#
,TRGT_GRADE = #trgtGrade#
,TRGT_CLSRM = #trgtClsrm#
,TRGT_PRSNL = #trgtPrsnl#
,RPRT_SBMT = #rprtSbmt#
,OPRTN_STRT_DT = #oprtnStrtDt#
,OPRTN_END_DT = #oprtnEndDt#
,OPRTN_FILE_ID = #oprtnFileId#
,LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
,ISLANDS_YN = #islandsYn#
,REMOTE_YN = #remoteYn#
,CLS_CMBT_YN = #clsCmbtYn#
,PPUL_DCLN_YN = #ppulDclnYn#
WHERE 1=1
AND EDU_APLCT_ORD = #eduAplctOrd#
</update>
<update id="VEEduOprtnDAO.adminUpdate" parameterClass="VEEduOprtnVO" >
UPDATE VE_EDU_OPRTN SET
CHRG_MJR = #chrgMjr#
,TRGT_GRADE = #trgtGrade#
,TRGT_PRSNL = #trgtPrsnl#
,OPRTN_STRT_DT = #oprtnStrtDt#
,OPRTN_END_DT = #oprtnEndDt#
,LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
,ISLANDS_YN = #islandsYn#
,REMOTE_YN = #remoteYn#
,CLS_CMBT_YN = #clsCmbtYn#
,PPUL_DCLN_YN = #ppulDclnYn#
WHERE 1=1
AND EDU_APLCT_ORD = #eduAplctOrd#
</update>
<delete id="VEEduOprtnDAO.delete" parameterClass="VEEduOprtnVO" >
DELETE FROM VE_EDU_OPRTN WHERE 1=1 AND EDU_APLCT_ORD = #eduAplctOrd#
</delete>
</sqlMap>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,181 @@
<?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="VEInstrDetailApptHchkHstry">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEInstrDetailVO" type="kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEInstrDetailApptHchkHstryDAO.table_name">
ve_instr_detail_appt_hchk_hstry
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEInstrDetailApptHchkHstryDAO.column_name">
instr_div,
user_id,
instr_detail_ord,
hstry_ord,
hstry_cd,
hstry_pnttm,
hstry_id,
hstry_cn
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEInstrDetailApptHchkHstryDAO.select_column_name">
a.instr_div AS instrDiv,
a.user_id AS userId,
a.instr_detail_ord AS instrDetailOrd,
a.hstry_ord AS hstryOrd,
a.hstry_cd AS hstryCd,
DATE_FORMAT(a.hstry_pnttm,'%Y-%m-%d') AS hstryPnttm,
a.hstry_id AS hstryId,
a.hstry_cn AS hstryCn
</sql>
<!-- 강사 등록 C -->
<insert id="VEInstrDetailApptHchkHstryDAO.insert" parameterClass="VEInstrDetailVO">
<!-- 강사 상세 순번 처리 -->
<selectKey resultClass="string" keyProperty="hstryOrd" >
SELECT TO_NUMBER(IFNULL(MAX(TO_NUMBER(hstry_ord)),'0'))+1 FROM ve_instr_detail_appt_hchk_hstry
WHERE user_id = #userId#
AND instr_div = #instrDiv#
</selectKey>
INSERT INTO <include refid="VEInstrDetailApptHchkHstryDAO.table_name"/> (
<include refid="VEInstrDetailApptHchkHstryDAO.column_name"/>
)VALUES(
#instrDiv#,
#userId#,
#instrDetailOrd#,
#hstryOrd#,
#hstryCd#,
NOW(),
#hstryId#,
#hstryCn#
)
</insert>
<!-- 강사 정보 R -->
<select id="VEInstrDetailApptHchkHstryDAO.selectDetail" parameterClass="VEInstrDetailVO" resultClass="VEInstrDetailVO">
SELECT
<include refid="VEInstrDetailApptHchkHstryDAO.select_column_name"/>
FROM
<include refid="VEInstrDetailApptHchkHstryDAO.table_name"/> a
WHERE
a.instr_div = #instrDiv#
AND a.user_id = #userId#
<isNotEmpty property="instrDetailOrd">
AND a.instr_detail_ord = #instrDetailOrd#
</isNotEmpty>
<isNotEmpty property="hstryOrd">
AND a.hstry_ord = #hstryOrd#
</isNotEmpty>
</select>
<!-- 강사 정보 U -->
<update id="VEInstrDetailApptHchkHstryDAO.update" parameterClass="VEInstrDetailVO">
UPDATE
<include refid="VEInstrDetailApptHchkHstryDAO.table_name"/>
SET
hstry_ord = #hstryOrd#
<isNotEmpty property="aprvlCd">
, aprvl_cd = #aprvlCd#
</isNotEmpty><isNotEmpty property="aprvlPnttm">
, aprvl_pnttm = #aprvlPnttm#
</isNotEmpty><isNotEmpty property="aprvlId">
, aprvl_id = #aprvlId#
</isNotEmpty><isNotEmpty property="aprvlCn">
, aprvl_cn = #aprvlCn#
</isNotEmpty>
WHERE
instr_div = #instrDiv#
AND user_id = #userId#
AND instr_detail_ord = #instrDetailOrd#
AND hstry_ord = #hstryOrd#
</update>
<!-- 강사 정보 D -->
<delete id="VEInstrDetailApptHchkHstryDAO.delete" parameterClass="VEInstrDetailVO">
DELETE FROM
<include refid="VEInstrDetailApptHchkHstryDAO.table_name"/>
WHERE
instr_div = #instrDiv#
AND user_id = #userId#
AND instr_detail_ord = #instrDetailOrd#
AND hstry_ord = #hstryOrd#
</delete>
<!-- 강사 정보 L -->
<select id="VEInstrDetailApptHchkHstryDAO.selectList" parameterClass="VEInstrDetailVO" resultClass="VEInstrDetailVO">
SELECT
<include refid="VEInstrDetailApptHchkHstryDAO.select_column_name"/>
FROM
<include refid="VEInstrDetailApptHchkHstryDAO.table_name"/> a
WHERE
1=1
</select>
<!-- 강사 정보 L page -->
<select id="VEInstrDetailApptHchkHstryDAO.selectPagingList" parameterClass="VEInstrDetailVO" resultClass="VEInstrDetailVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEInstrDetailApptHchkHstryDAO.select_column_name"/>
FROM
ve_instr b
, <include refid="VEInstrDetailApptHchkHstryDAO.table_name"/> a
WHERE
1=1
AND a.user_id=b.user_id
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="userId">
AND a.user_id=#userId#
</isNotEmpty>
<isNotEmpty property="instrDiv">
AND a.instr_div=#instrDiv#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, b.user_id desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
</sqlMap>

View File

@ -0,0 +1,568 @@
<?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="VEInstrDetail">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEInstrDetailVO" type="kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEInstrDetailDAO.table_name">
ve_instr_detail
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEInstrDetailDAO.column_name">
instr_div,
user_id,
instr_detail_ord,
instr_nm,
phone,
email,
post,
addr,
addr_detail,
rsdne,
d_birth,
final_schol,
mjr,
appt_yr,
appt_div,
actvt_carer,
mn_lctr_cn,
pht_atch_file_id,
blng,
pstn,
prfsn_fld,
sbmt_yn,
sbmt_pnttm,
aprvl_cd,
aprvl_pnttm,
aprvl_id,
aprvl_cn,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id,
use_yn,
qlfct_end_yn,
qlfct_end_pnttm,
qlfct_end_cn,
div_cd,
appt_dt,
hchk_dt,
rmrks,
memo
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEInstrDetailDAO.select_column_name">
a.instr_div AS instrDiv,
a.user_id AS userId,
(SELECT user_nm FROM COMVNUSERMASTER WHERE USER_ID = a.user_id) AS userNm,
a.instr_detail_ord AS instrDetailOrd,
a.instr_nm AS instrNm,
a.phone AS phone,
a.email AS email,
a.post AS post,
a.addr AS addr,
a.addr_detail AS addrDetail,
a.rsdne AS rsdne,
a.d_birth AS dBirth,
/*
a.d_birth AS Birth,
*/
IF (length(a.d_birth)=8,DATE_FORMAT(STR_TO_DATE(a.d_birth, '%Y%m%d'),'%Y-%m-%d'),IF (length(a.d_birth)=6,DATE_FORMAT(STR_TO_DATE(a.d_birth, '%y%m%d'),'%Y-%m-%d'),'')) AS Birth,
a.final_schol AS finalSchol,
a.mjr AS mjr,
a.appt_yr AS apptYr,
a.actvt_carer AS actvtCarer,
a.mn_lctr_cn AS mnLctrCn,
a.pht_atch_file_id AS phtAtchFileId,
a.blng AS blng,
a.pstn AS pstn,
a.prfsn_fld AS prfsnFld,
a.sbmt_yn AS sbmtYn,
a.sbmt_pnttm AS sbmtPnttm,
a.aprvl_cd AS aprvlCd,
<!-- a.aprvl_pnttm AS aprvlPnttm, -->
DATE_FORMAT(a.aprvl_pnttm,'%Y-%m-%d') AS aprvlPnttm,
a.aprvl_id AS aprvlId,
a.aprvl_cn AS aprvlCn,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId,
<isNotEmpty property="excelYn">
(SELECT a0.code_nm
FROM LETTCCMMNDETAILCODE a0
WHERE a0.code_id='VE0018'
AND a0.code =a.div_cd
)
AS divCd,
(SELECT a0.code_nm
FROM LETTCCMMNDETAILCODE a0
WHERE a0.code_id='VE0002'
AND a0.code =a.appt_div
)
AS apptDiv,
</isNotEmpty>
<isEmpty property="excelYn">
a.div_cd AS divCd,
a.appt_div AS apptDiv,
</isEmpty>
a.use_yn AS useYn,
a.qlfct_end_yn AS qlfctEndYn,
a.qlfct_end_pnttm AS qlfctEndPnttm,
a.qlfct_end_cn AS qlfctEndCn,
a.appt_dt AS apptDt,
a.hchk_dt AS hchkDt,
a.rmrks AS rmrks,
a.memo AS memo,
a.sig_memo AS sigMemo
</sql>
<!-- 강사 등록 C -->
<insert id="VEInstrDetailDAO.insert" parameterClass="VEInstrDetailVO">
<!-- 강사 상세 순번 처리 -->
<!-- <selectKey resultClass="string" keyProperty="instrDetailOrd" >
SELECT TO_NUMBER(IFNULL(MAX(TO_NUMBER(instr_detail_ord)),'0'))+1 FROM ve_instr_detail
WHERE user_id = #userId#
AND instr_div = #instrDiv#
</selectKey> -->
INSERT INTO <include refid="VEInstrDetailDAO.table_name"/> (
<include refid="VEInstrDetailDAO.column_name"/>
)VALUES(
#instrDiv#,
#userId#,
#instrDetailOrd#,
#instrNm#,
#phone#,
#email#,
#post#,
#addr#,
#addrDetail#,
#rsdne#,
#dBirth#,
#finalSchol#,
#mjr#,
#apptYr#,
#apptDiv#,
#actvtCarer#,
#mnLctrCn#,
#phtAtchFileId#,
#blng#,
#pstn#,
#prfsnFld#,
#sbmtYn#,
#sbmtPnttm#,
#aprvlCd#,
#aprvlPnttm#,
#aprvlId#,
#aprvlCn#,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#,
<!-- useYn 값 없을 시 N 기본 -->
<isNotEmpty property="useYn">
#useYn#,
</isNotEmpty>
<isEmpty property="useYn">
'N',
</isEmpty>
#qlfctEndYn#,
#qlfctEndPnttm#,
#qlfctEndCn#,
#divCd#,
#apptDt#,
#hchkDt#,
#rmrks#,
#memo#
)
</insert>
<!-- 강사 등록 C -->
<insert id="VEInstrDetailDAO.insertDup" parameterClass="VEInstrDetailVO">
INSERT INTO <include refid="VEInstrDetailDAO.table_name"/> (
<include refid="VEInstrDetailDAO.column_name"/>
)VALUES(
#instrDiv#,
#userId#,
#instrDetailOrd#,
#instrNm#,
#phone#,
#email#,
#post#,
#addr#,
#addrDetail#,
#rsdne#,
#dBirth#,
#finalSchol#,
#mjr#,
#apptYr#,
#apptDiv#,
#actvtCarer#,
#mnLctrCn#,
#phtAtchFileId#,
#blng#,
#pstn#,
#prfsnFld#,
#sbmtYn#,
#sbmtPnttm#,
#aprvlCd#,
#aprvlPnttm#,
#aprvlId#,
#aprvlCn#,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#,
<!-- useYn 값 없을 시 N 기본 -->
<isNotEmpty property="useYn">
#useYn#,
</isNotEmpty>
<isEmpty property="useYn">
'N',
</isEmpty>
#qlfctEndYn#,
#qlfctEndPnttm#,
#qlfctEndCn#,
#divCd#,
#apptDt#,
#hchkDt#,
#rmrks#,
#memo#
)
ON DUPLICATE KEY UPDATE
last_updt_pnttm=now()
, last_updusr_id=#frstRegisterId#
<isNotEmpty property="instrNm">
, instr_nm =#instrNm#
</isNotEmpty><isNotEmpty property="phone">
, phone =#phone#
</isNotEmpty><isNotEmpty property="email">
, email =#email#
</isNotEmpty><isNotEmpty property="post">
, post =#post#
</isNotEmpty><isNotEmpty property="addr">
, addr =#addr#
</isNotEmpty><isNotEmpty property="addrDetail">
, addr_detail =#addrDetail#
</isNotEmpty><isNotEmpty property="rsdne">
, rsdne =#rsdne#
</isNotEmpty><isNotEmpty property="dBirth">
, d_birth =#dBirth#
</isNotEmpty><isNotEmpty property="finalSchol">
, final_schol =#finalSchol#
</isNotEmpty><isNotEmpty property="mjr">
, mjr =#mjr#
</isNotEmpty><isNotEmpty property="apptYr">
, appt_yr =#apptYr#
</isNotEmpty><isNotEmpty property="apptDiv">
, appt_div =#apptDiv#
</isNotEmpty><isNotEmpty property="actvtCarer">
, actvt_carer =#actvtCarer#
</isNotEmpty><isNotEmpty property="mnLctrCn">
, mn_lctr_cn =#mnLctrCn#
</isNotEmpty><isNotEmpty property="blng">
, blng =#blng#
</isNotEmpty><isNotEmpty property="pstn">
, pstn =#pstn#
</isNotEmpty><isNotEmpty property="prfsnFld">
, prfsn_fld =#prfsnFld#
</isNotEmpty><isNotEmpty property="divCd">
, div_cd =#divCd#
</isNotEmpty><isNotEmpty property="rmrks">
, rmrks =#rmrks#
</isNotEmpty><isNotEmpty property="memo">
, memo =#memo#
</isNotEmpty>
</insert>
<!-- 강사 정보 R -->
<select id="VEInstrDetailDAO.selectDetail" parameterClass="VEInstrDetailVO" resultClass="VEInstrDetailVO">
/* 강사 추가 정보 */
SELECT
<include refid="VEInstrDetailDAO.select_column_name"/>
FROM
<include refid="VEInstrDetailDAO.table_name"/> a
WHERE
a.instr_div = #instrDiv#
AND a.user_id = #userId#
<isNotEmpty property="instrDetailOrd">
AND a.instr_detail_ord = #instrDetailOrd#
</isNotEmpty>
<!-- 사용자 수정화면 - 가장 마지막 정보(사용Y) -->
<isNotEmpty property="useYn">
AND a.use_yn = #useYn#
</isNotEmpty>
</select>
<!-- 강사 정보 U -->
<update id="VEInstrDetailDAO.update" parameterClass="VEInstrDetailVO">
UPDATE
<include refid="VEInstrDetailDAO.table_name"/>
SET
<!-- 운영자가 등록한 임시 temp ID를 실제 사용자 ID로 수정 -->
<isNotEmpty property="rqstId">
user_id = #rqstId#,
</isNotEmpty>
<isNotEmpty property="instrNm">
instr_nm = #instrNm#,
</isNotEmpty>
<isNotEmpty property="phone">
phone = #phone#,
</isNotEmpty>
<isNotEmpty property="email">
email = #email#,
</isNotEmpty>
<isNotEmpty property="post">
post = #post#,
</isNotEmpty>
<isNotEmpty property="addr">
addr = #addr#,
</isNotEmpty>
<isNotEmpty property="addrDetail">
addr_detail = #addrDetail#,
</isNotEmpty><isNotEmpty property="rsdne">
rsdne = #rsdne#,
</isNotEmpty><isNotEmpty property="dBirth">
d_birth = #dBirth#,
</isNotEmpty><isNotEmpty property="finalSchol">
final_schol = #finalSchol#,
</isNotEmpty><isNotEmpty property="mjr">
mjr = #mjr#,
</isNotEmpty><isNotEmpty property="apptYr">
appt_yr = #apptYr#,
</isNotEmpty><isNotEmpty property="apptDiv">
appt_div = #apptDiv#,
</isNotEmpty><isNotEmpty property="actvtCarer">
actvt_carer = #actvtCarer#,
</isNotEmpty><isNotEmpty property="mnLctrCn">
mn_lctr_cn = #mnLctrCn#,
</isNotEmpty><isNotEmpty property="phtAtchFileId">
pht_atch_file_id = #phtAtchFileId#,
</isNotEmpty><isNotEmpty property="blng">
blng = #blng#,
</isNotEmpty><isNotEmpty property="pstn">
pstn = #pstn#,
</isNotEmpty><isNotEmpty property="prfsnFld">
prfsn_fld = #prfsnFld#,
</isNotEmpty><isNotEmpty property="sbmtYn">
sbmt_yn = #sbmtYn#,
</isNotEmpty><isNotEmpty property="sbmtPnttm">
sbmt_pnttm = #sbmtPnttm#,
</isNotEmpty><isNotEmpty property="aprvlCd">
aprvl_cd = #aprvlCd#,
</isNotEmpty><isNotEmpty property="aprvlPnttm">
aprvl_pnttm = #aprvlPnttm#,
</isNotEmpty><isNotEmpty property="aprvlId">
aprvl_id = #aprvlId#,
</isNotEmpty><isNotEmpty property="aprvlCn">
aprvl_cn = #aprvlCn#,
</isNotEmpty><isNotEmpty property="useYn">
use_yn = #useYn#,
</isNotEmpty><isNotEmpty property="qlfctEndYn">
qlfct_end_yn = #qlfctEndYn#,
</isNotEmpty><isNotEmpty property="qlfctEndPnttm">
qlfct_end_pnttm = #qlfctEndPnttm#,
</isNotEmpty><isNotEmpty property="qlfctEndCn">
qlfct_end_cn = #qlfctEndCn#,
</isNotEmpty><isNotEmpty property="divCd">
div_cd = #divCd#,
</isNotEmpty><isNotEmpty property="apptDt">
appt_dt = #apptDt#,
</isNotEmpty><isNotEmpty property="hchkDt">
hchk_dt = #hchkDt#,
</isNotEmpty><isNotEmpty property="rmrks">
rmrks = #rmrks#,
</isNotEmpty>
<!-- 요청 시 기존 반려 사유 삭제 -->
<isEqual property="aprvlCd" compareValue="10">
aprvl_cn = '',
</isEqual>
LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
WHERE
instr_div = #instrDiv#
AND user_id = #userId#
AND instr_detail_ord = #instrDetailOrd#
</update>
<!-- 강사 정보 D -->
<delete id="VEInstrDetailDAO.delete" parameterClass="VEInstrDetailVO">
DELETE FROM
<include refid="VEInstrDetailDAO.table_name"/>
WHERE
instr_div = #instrDiv#
AND user_id = #userId#
AND instr_detail_ord = #instrDetailOrd#
</delete>
<!-- 강사 정보 L -->
<select id="VEInstrDetailDAO.selectList" parameterClass="VEInstrDetailVO" resultClass="VEInstrDetailVO">
SELECT
<include refid="VEInstrDetailDAO.select_column_name"/>
FROM
<include refid="VEInstrDetailDAO.table_name"/> a
WHERE
1=1
</select>
<!-- 강사 정보 L page -->
<select id="VEInstrDetailDAO.selectPagingList" parameterClass="VEInstrDetailVO" resultClass="VEInstrDetailVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEInstrDetailDAO.select_column_name"/>
FROM
ve_instr b
, <include refid="VEInstrDetailDAO.table_name"/> a
WHERE
1=1
AND a.user_id=b.user_id
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="userId">
AND a.user_id=#userId#
</isNotEmpty>
<isNotEmpty property="instrDiv">
AND a.instr_div=#instrDiv#
</isNotEmpty>
ORDER BY 1=1
, a.sbmt_pnttm DESC
<isEmpty property="orderByQuery">
, b.user_id desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<!-- 선정교사 정보 등록 C -->
<insert id="VEInstrDetailDAO.insertSlctnTeacher" parameterClass="VEInstrDetailVO">
INSERT INTO VE_EDU_SCLTN_TEACHER (
edu_aplct_ord
,div_cd
,awards_hist
,unfth_yn
,extra_pay_yn
,rmrks
,frst_regist_pnttm
,frst_register_id
)VALUES(
#eduAplctOrd#,
#divCd#,
#awardsHist#,
#unfthYn#,
#extraPayYn#,
#rmrks#,
NOW(),
#frstRegisterId#
)
</insert>
<!-- 선정교사 정보 D -->
<delete id="VEInstrDetailDAO.deleteSlctnTeacher" parameterClass="VEInstrDetailVO">
DELETE FROM
VE_EDU_SCLTN_TEACHER
WHERE
edu_aplct_ord = #eduAplctOrd#
AND div_cd = #divCd#
</delete>
<select id="VEInstrDetailDAO.selectSlctnTeacher" parameterClass="VEInstrDetailVO" resultClass="VEInstrDetailVO">
SELECT
a.edu_aplct_ord AS eduAplctOrd
,a.div_cd AS divCd
,a.awards_hist AS awardsHist
,a.unfth_yn AS unfthYn
,a.extra_pay_yn AS extraPayYn
,a.rmrks AS rmrks
,DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm
,a.frst_register_id AS frstRegisterId
FROM
VE_EDU_SCLTN_TEACHER a
WHERE
a.edu_aplct_ord = #eduAplctOrd#
AND a.div_cd = #divCd#
</select>
<!-- 강사 메모 수정 U -->
<update id="VEInstrDetailDAO.updateInstrMemo" parameterClass="VEInstrDetailVO">
UPDATE
VE_INSTR_DETAIL
SET
MEMO = #memo#
WHERE
USER_ID = #userId#
AND
INSTR_DETAIL_ORD = #instrDetailOrd#
AND
INSTR_DIV = #instrDiv#
</update>
<!-- 강사 메모 수정 U -->
<update id="VEInstrDetailDAO.updateInstrSigMemo" parameterClass="VEInstrDetailVO">
UPDATE
VE_INSTR_DETAIL
SET
SIG_MEMO = #sigMemo#
WHERE
USER_ID = #userId#
AND
INSTR_DETAIL_ORD = #instrDetailOrd#
AND
INSTR_DIV = #instrDiv#
</update>
</sqlMap>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,153 @@
<?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="VEInstr">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEInstrDetailVO" type="kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEInstrDAO.table_name">
ve_instr
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEInstrDAO.column_name">
user_id,
tngr_instr_yn,
adult_instr_yn,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEInstrDAO.select_column_name">
a.user_id AS userId,
a.tngr_instr_yn AS tngrInstrYn,
a.adult_instr_yn AS adultInstrYn,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId
</sql>
<!-- 강사 등록 C -->
<insert id="VEInstrDAO.insert" parameterClass="VEInstrDetailVO">
INSERT INTO <include refid="VEInstrDAO.table_name"/> (
<include refid="VEInstrDAO.column_name"/>
)VALUES(
#userId#,
#tngrInstrYn#,
#adultInstrYn#,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#
)
</insert>
<!-- 강사 정보 R -->
<select id="VEInstrDAO.selectDetail" parameterClass="VEInstrDetailVO" resultClass="VEInstrDetailVO">
SELECT
<include refid="VEInstrDAO.select_column_name"/>
FROM
<include refid="VEInstrDAO.table_name"/> a
WHERE
a.user_id = #userId#
</select>
<!-- 강사 정보 U -->
<update id="VEInstrDAO.update" parameterClass="VEInstrDetailVO">
UPDATE
<include refid="VEInstrDAO.table_name"/>
SET
<!-- 운영자가 등록한 임시 temp ID를 실제 사용자 ID로 수정 -->
<isNotEmpty property="rqstId">
user_id = #rqstId#,
</isNotEmpty>
LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
<isNotEmpty property="tngrInstrYn">
, tngr_instr_yn = #tngrInstrYn#
</isNotEmpty>
<isNotEmpty property="adultInstrYn">
, adult_instr_yn = #adultInstrYn#
</isNotEmpty>
WHERE
user_id = #userId#
</update>
<!-- 강사 정보 D -->
<delete id="VEInstrDAO.delete" parameterClass="VEInstrDetailVO">
DELETE FROM
<include refid="VEInstrDAO.table_name"/>
WHERE
user_id = #userId#
</delete>
<!-- 강사 정보 L -->
<select id="VEInstrDAO.selectList" parameterClass="VEInstrDetailVO" resultClass="VEInstrDetailVO">
SELECT
<include refid="VEInstrDAO.select_column_name"/>
FROM
<include refid="VEInstrDAO.table_name"/> a
WHERE
1=1
</select>
<!-- 강사 정보 L page -->
<select id="VEInstrDAO.selectPagingList" parameterClass="VEInstrDetailVO" resultClass="VEInstrDetailVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEInstrDAO.select_column_name"/>
FROM
<include refid="VEInstrDAO.table_name"/> a
, ve_instr_detail b
WHERE
1=1
AND a.user_id=b.user_id
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="userId">
AND b.user_id=#userId#
</isNotEmpty>
<isNotEmpty property="instrDiv">
AND b.instr_div=#instrDiv#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, b.user_id desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
</sqlMap>

View File

@ -0,0 +1,755 @@
<?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="VELctrAreaMng">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VELctrDetailVO" type="kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrDetailVO"/>
<!-- 공통 테이블 명 -->
<sql id="VELctrAreaMngDAO.table_name">
ve_lctr_area_mng
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VELctrAreaMngDAO.column_name">
instr_div,
area_cd,
ddln_state_cd,
lctr_psbl_strt_tm,
lctr_psbl_end_tm,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id,
use_yn,
stng_yr,
prd_div_cd,
aplct_prd_strt,
aplct_prd_end,
rgstr_psbl_tm
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VELctrAreaMngDAO.select_column_name">
a.instr_div AS instrDiv,
a.area_cd AS areaCd,
a.ddln_state_cd AS ddlnStateCd,
a.lctr_psbl_strt_tm AS lctrPsblStrtTm,
a.lctr_psbl_end_tm AS lctrPsblEndTm,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId,
a.use_yn AS useYn,
a.stng_yr AS stngYr,
a.prd_div_cd AS prdDivCd,
a.aplct_prd_strt AS aplctPrdStrt,
a.aplct_prd_end AS aplctPrdEnd,
a.rgstr_psbl_tm AS rgstrPsblTm
</sql>
<!-- 강사 등록 C -->
<insert id="VELctrAreaMngDAO.insert" parameterClass="VELctrDetailVO">
INSERT INTO <include refid="VELctrAreaMngDAO.table_name"/>
(
<include refid="VELctrAreaMngDAO.column_name"/>
)VALUES(
#instrDiv#,
#areaCd#,
#ddlnStateCd#,
<!-- <isNotEmpty property="lctrPsblStrtTm"> -->
#lctrPsblStrtTm#,
<!-- </isNotEmpty> -->
<!-- <isNotEmpty property="lctrPsblEndTm"> -->
#lctrPsblEndTm#,
<!-- </isNotEmpty> -->
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#,
#useYn#,
#stngYr#,
#prdDivCd#,
#aplctPrdStrt#,
#aplctPrdEnd#,
#rgstrPsblTm#
)
ON DUPLICATE KEY UPDATE
<isNotEmpty property="ddlnStateCd">
ddln_state_cd = #ddlnStateCd#,
</isNotEmpty><isNotEmpty property="lctrPsblStrtTm">
lctr_psbl_strt_tm = #lctrPsblStrtTm#,
</isNotEmpty><isNotEmpty property="lctrPsblEndTm">
lctr_psbl_end_tm = #lctrPsblEndTm#,
</isNotEmpty><isNotEmpty property="useYn">
use_yn = #useYn#,
</isNotEmpty><isNotEmpty property="stngYr">
stng_yr = #stngYr#,
</isNotEmpty><isNotEmpty property="prdDivCd">
prd_div_cd = #prdDivCd#,
</isNotEmpty><isNotEmpty property="aplctPrdStrt">
aplct_prd_strt = #aplctPrdStrt#,
</isNotEmpty><isNotEmpty property="aplctPrdEnd">
aplct_prd_end = #aplctPrdEnd#,
</isNotEmpty><isNotEmpty property="rgstrPsblTm">
rgstr_psbl_tm = #rgstrPsblTm#,
</isNotEmpty>
last_updt_pnttm=now(),
last_updusr_id=#lastUpdusrId#
</insert>
<!-- 강사 정보 R -->
<select id="VELctrAreaMngDAO.selectDetail" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
SELECT
<include refid="VELctrAreaMngDAO.select_column_name"/>
FROM
<include refid="VELctrAreaMngDAO.table_name"/> a
WHERE
a.instr_div = #instrDiv#
AND a.area_cd = #areaCd#
</select>
<select id="VELctrAreaMngDAO.selectTimeSum" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
SELECT SUM(bbb.rgstr_psbl_tm) AS rgstrPsblTm
FROM
<include refid="VELctrAreaMngDAO.table_name"/> bbb
WHERE bbb.stng_yr = #stngYr#
AND bbb.prd_div_cd = #prdDivCd#
</select>
<!-- 강사 정보 U -->
<update id="VELctrAreaMngDAO.update" parameterClass="VELctrDetailVO">
UPDATE
<include refid="VELctrAreaMngDAO.table_name"/>
SET
<isNotEmpty property="ddlnStateCd">
ddln_state_cd = #ddlnStateCd#,
</isNotEmpty><isNotEmpty property="lctrPsblStrtTm">
lctr_psbl_strt_tm = #lctrPsblStrtTm#,
</isNotEmpty><isNotEmpty property="lctrPsblEndTm">
lctr_psbl_end_tm = #lctrPsblEndTm#,
</isNotEmpty><isNotEmpty property="useYn">
use_yn = #useYn#,
</isNotEmpty><isNotEmpty property="stngYr">
stng_yr = #stngYr#,
</isNotEmpty><isNotEmpty property="prdDivCd">
prd_div_cd = #prdDivCd#,
</isNotEmpty><isNotEmpty property="aplctPrdStrt">
aplct_prd_strt = #aplctPrdStrt#,
</isNotEmpty><isNotEmpty property="aplctPrdEnd">
aplct_prd_end = #aplctPrdEnd#,
</isNotEmpty><isNotEmpty property="rgstrPsblTm">
rgstr_psbl_tm = #rgstrPsblTm#,
</isNotEmpty><isNotEmpty property="rgstrStrtDt">
rgstr_strt_dt = #rgstrStrtDt#,
</isNotEmpty><isNotEmpty property="rgstrEndDt">
rgstr_end_dt = #rgstrEndDt#,
</isNotEmpty>
LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
WHERE
instr_div = #instrDiv#
AND area_cd = #areaCd#
</update>
<!-- 강사 정보 U -->
<update id="VELctrAreaMngDAO.updateRgstr" parameterClass="VELctrDetailVO">
UPDATE
<include refid="VELctrAreaMngDAO.table_name"/>
SET
<isNotEmpty property="rgstrStrtDt">
rgstr_strt_dt = #rgstrStrtDt#,
</isNotEmpty>
<isNotEmpty property="rgstrEndDt">
rgstr_end_dt = #rgstrEndDt#,
</isNotEmpty>
<isNotEmpty property="deadlineDt">
dead_line_dt = #deadlineDt#,
</isNotEmpty>
LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
WHERE
instr_div = #instrDiv#
AND stng_yr = #stngYr#
AND prd_div_cd = #prdDivCd#
</update>
<!-- 강사 정보 D -->
<delete id="VELctrAreaMngDAO.delete" parameterClass="VELctrDetailVO">
DELETE FROM
<include refid="VELctrAreaMngDAO.table_name"/>
WHERE
instr_div = #instrDiv#
AND area_cd = #areaCd#
</delete>
<!-- 강사 정보 L -->
<select id="VELctrAreaMngDAO.selectList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
SELECT
aaa.instr_div AS instrDiv
, aaa.area_cd AS areaCd
, bbb.ddln_state_cd AS ddlnStateCd
, bbb.lctr_psbl_strt_tm AS lctrPsblStrtTm
, bbb.lctr_psbl_end_tm AS lctrPsblEndTm
, DATE_FORMAT(bbb.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm
, bbb.frst_register_id AS frstRegisterId
, ddd.user_nm AS userNm
, DATE_FORMAT(bbb.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm
, bbb.last_updusr_id AS lastUpdusrId
, bbb.use_yn AS useYn
, bbb.stng_yr AS stngYr
, bbb.aplct_prd_strt AS aplctPrdStrt
, bbb.aplct_prd_end AS aplctPrdEnd
, bbb.rgstr_psbl_tm AS rgstrPsblTm
, bbb.prd_div_cd AS prdDivCd
, bbb.rgstr_strt_dt AS rgstrStrtDt
, bbb.rgstr_end_dt AS rgstrEndDt
, bbb.dead_line_dt AS deadlineDt
, (
SELECT count(*)
FROM ve_edu_aplct a
INNER JOIN ve_edu_chasi b
ON a.edu_aplct_ord = b.edu_aplct_ord
WHERE a.lctr_div_cd = aaa.instr_div
AND a.edu_slct_area_cd = aaa.area_cd
AND a.edu_slct_cd = '20'
AND a.aprvl_cd IN ('10','60','230','120','20','70','80')
AND b.edu_hope_dt BETWEEN REPLACE(bbb.aplct_prd_strt,'.','') AND REPLACE(bbb.aplct_prd_end,'.','')
AND IFNULL(a.use_yn,'Y')='Y'
AND A.SBMT_YN = 'Y'
AND DATE_FORMAT(a.frst_regist_pnttm,'%Y.%m.%d') BETWEEN bbb.rgstr_strt_dt AND bbb.rgstr_end_dt
) AS sumOffCnt
, (
SELECT ifnull(SUM(chasi),0) AS totalLrnTm
FROM ve_edu_aplct a
INNER JOIN ve_edu_chasi b
ON a.edu_aplct_ord = b.edu_aplct_ord
WHERE a.lctr_div_cd = aaa.instr_div
AND a.edu_slct_area_cd = aaa.area_cd
AND a.edu_slct_cd = '20'
AND a.aprvl_cd IN ('10')
AND b.edu_hope_dt BETWEEN REPLACE(bbb.aplct_prd_strt,'.','') AND REPLACE(bbb.aplct_prd_end,'.','')
AND IFNULL(a.use_yn,'Y')='Y'
AND A.SBMT_YN = 'Y'
AND DATE_FORMAT(a.frst_regist_pnttm,'%Y.%m.%d') BETWEEN bbb.rgstr_strt_dt AND bbb.rgstr_end_dt
) AS sumOff10Cnt
, (
SELECT ifnull(SUM(chasi),0) AS totalLrnTm
FROM ve_edu_aplct a
INNER JOIN ve_edu_chasi b
ON a.edu_aplct_ord = b.edu_aplct_ord
WHERE a.lctr_div_cd = aaa.instr_div
AND a.edu_slct_area_cd = aaa.area_cd
AND a.edu_slct_cd = '20'
AND a.aprvl_cd IN ('60')
AND b.edu_hope_dt BETWEEN REPLACE(bbb.aplct_prd_strt,'.','') AND REPLACE(bbb.aplct_prd_end,'.','')
AND IFNULL(a.use_yn,'Y')='Y'
AND A.SBMT_YN = 'Y'
AND DATE_FORMAT(a.frst_regist_pnttm,'%Y.%m.%d') BETWEEN bbb.rgstr_strt_dt AND bbb.rgstr_end_dt
) AS sumOff60Cnt
, (
SELECT ifnull(SUM(chasi),0) AS totalLrnTm
FROM ve_edu_aplct a
INNER JOIN ve_edu_chasi b
ON a.edu_aplct_ord = b.edu_aplct_ord
WHERE a.lctr_div_cd = aaa.instr_div
AND a.edu_slct_area_cd = aaa.area_cd
AND a.edu_slct_cd = '20'
AND a.aprvl_cd IN ('230')
AND b.edu_hope_dt BETWEEN REPLACE(bbb.aplct_prd_strt,'.','') AND REPLACE(bbb.aplct_prd_end,'.','')
AND IFNULL(a.use_yn,'Y')='Y'
AND A.SBMT_YN = 'Y'
AND DATE_FORMAT(a.frst_regist_pnttm,'%Y.%m.%d') BETWEEN bbb.rgstr_strt_dt AND bbb.rgstr_end_dt
) AS sumOff230Cnt
, (
SELECT ifnull(SUM(chasi),0) AS totalLrnTm
FROM ve_edu_aplct a
INNER JOIN ve_edu_chasi b
ON a.edu_aplct_ord = b.edu_aplct_ord
WHERE a.lctr_div_cd = aaa.instr_div
AND a.edu_slct_area_cd = aaa.area_cd
AND a.edu_slct_cd = '20'
AND a.aprvl_cd IN (
'120',
'20',
'70',
'80'
)
AND b.edu_hope_dt BETWEEN REPLACE(bbb.aplct_prd_strt,'.','') AND REPLACE(bbb.aplct_prd_end,'.','')
AND IFNULL(a.use_yn,'Y')='Y'
AND A.SBMT_YN = 'Y'
AND DATE_FORMAT(a.frst_regist_pnttm,'%Y.%m.%d') BETWEEN bbb.rgstr_strt_dt AND bbb.rgstr_end_dt
) AS sumOffEtcCnt
, (
SELECT ifnull(SUM(chasi),0) AS totalLrnTm
FROM ve_edu_aplct a
INNER JOIN ve_edu_chasi b
ON a.edu_aplct_ord = b.edu_aplct_ord
WHERE a.lctr_div_cd = aaa.instr_div
AND a.edu_slct_area_cd = aaa.area_cd
AND a.edu_slct_cd = '20'
AND a.aprvl_cd IN ('10')
AND b.edu_hope_dt BETWEEN REPLACE(bbb.aplct_prd_strt,'.','') AND REPLACE(bbb.aplct_prd_end,'.','')
AND IFNULL(a.use_yn,'Y')='Y'
AND A.SBMT_YN = 'Y'
AND DATE_FORMAT(a.frst_regist_pnttm,'%Y.%m.%d') BETWEEN bbb.rgstr_strt_dt AND bbb.rgstr_end_dt
)
+ (
SELECT ifnull(SUM(chasi),0) AS totalLrnTm
FROM ve_edu_aplct a
INNER JOIN ve_edu_chasi b
ON a.edu_aplct_ord = b.edu_aplct_ord
WHERE a.lctr_div_cd = aaa.instr_div
AND a.edu_slct_area_cd = aaa.area_cd
AND a.edu_slct_cd = '20'
AND a.aprvl_cd IN ('60')
AND b.edu_hope_dt BETWEEN REPLACE(bbb.aplct_prd_strt,'.','') AND REPLACE(bbb.aplct_prd_end,'.','')
AND IFNULL(a.use_yn,'Y')='Y'
AND A.SBMT_YN = 'Y'
AND DATE_FORMAT(a.frst_regist_pnttm,'%Y.%m.%d') BETWEEN bbb.rgstr_strt_dt AND bbb.rgstr_end_dt
)
+ (
SELECT ifnull(SUM(chasi),0) AS totalLrnTm
FROM ve_edu_aplct a
INNER JOIN ve_edu_chasi b
ON a.edu_aplct_ord = b.edu_aplct_ord
WHERE a.lctr_div_cd = aaa.instr_div
AND a.edu_slct_area_cd = aaa.area_cd
AND a.edu_slct_cd = '20'
AND a.aprvl_cd IN ('230')
AND b.edu_hope_dt BETWEEN REPLACE(bbb.aplct_prd_strt,'.','') AND REPLACE(bbb.aplct_prd_end,'.','')
AND IFNULL(a.use_yn,'Y')='Y'
AND A.SBMT_YN = 'Y'
AND DATE_FORMAT(a.frst_regist_pnttm,'%Y.%m.%d') BETWEEN bbb.rgstr_strt_dt AND bbb.rgstr_end_dt
)
+ (
SELECT ifnull(SUM(chasi),0) AS totalLrnTm
FROM ve_edu_aplct a
INNER JOIN ve_edu_chasi b
ON a.edu_aplct_ord = b.edu_aplct_ord
WHERE a.lctr_div_cd = aaa.instr_div
AND a.edu_slct_area_cd = aaa.area_cd
AND a.edu_slct_cd = '20'
AND a.aprvl_cd IN (
'120',
'20',
'70',
'80'
)
AND b.edu_hope_dt BETWEEN REPLACE(bbb.aplct_prd_strt,'.','') AND REPLACE(bbb.aplct_prd_end,'.','')
AND IFNULL(a.use_yn,'Y')='Y'
AND A.SBMT_YN = 'Y'
AND DATE_FORMAT(a.frst_regist_pnttm,'%Y.%m.%d') BETWEEN bbb.rgstr_strt_dt AND bbb.rgstr_end_dt
) AS sumOffTtl
, (
SELECT count(*)
FROM ve_edu_aplct a
INNER JOIN ve_edu_chasi b
ON a.edu_aplct_ord = b.edu_aplct_ord
WHERE a.lctr_div_cd = aaa.instr_div
AND '400' = aaa.area_cd
AND a.edu_slct_cd = '10'
AND a.aprvl_cd IN ('10','60','230','120','20','70','80')
AND b.edu_hope_dt BETWEEN REPLACE(bbb.aplct_prd_strt,'.','') AND REPLACE(bbb.aplct_prd_end,'.','')
AND IFNULL(a.use_yn,'Y')='Y'
AND A.SBMT_YN = 'Y'
AND DATE_FORMAT(a.frst_regist_pnttm,'%Y.%m.%d') BETWEEN bbb.rgstr_strt_dt AND bbb.rgstr_end_dt
) AS sumOnCnt
, (
SELECT ifnull(SUM(chasi),0) AS totalLrnTm
FROM ve_edu_aplct a
INNER JOIN ve_edu_chasi b
ON a.edu_aplct_ord = b.edu_aplct_ord
WHERE a.lctr_div_cd = aaa.instr_div
AND '400' = aaa.area_cd
AND a.edu_slct_cd = '10'
AND a.aprvl_cd IN ('10')
AND b.edu_hope_dt BETWEEN REPLACE(bbb.aplct_prd_strt,'.','') AND REPLACE(bbb.aplct_prd_end,'.','')
AND IFNULL(a.use_yn,'Y')='Y'
AND A.SBMT_YN = 'Y'
AND DATE_FORMAT(a.frst_regist_pnttm,'%Y.%m.%d') BETWEEN bbb.rgstr_strt_dt AND bbb.rgstr_end_dt
) AS sumOn10Cnt
, (
SELECT ifnull(SUM(chasi),0) AS totalLrnTm
FROM ve_edu_aplct a
INNER JOIN ve_edu_chasi b
ON a.edu_aplct_ord = b.edu_aplct_ord
WHERE a.lctr_div_cd = aaa.instr_div
AND '400' = aaa.area_cd
AND a.edu_slct_cd = '10'
AND a.aprvl_cd IN ('60')
AND b.edu_hope_dt BETWEEN REPLACE(bbb.aplct_prd_strt,'.','') AND REPLACE(bbb.aplct_prd_end,'.','')
AND IFNULL(a.use_yn,'Y')='Y'
AND A.SBMT_YN = 'Y'
AND DATE_FORMAT(a.frst_regist_pnttm,'%Y.%m.%d') BETWEEN bbb.rgstr_strt_dt AND bbb.rgstr_end_dt
) AS sumOn60Cnt
, (
SELECT ifnull(SUM(chasi),0) AS totalLrnTm
FROM ve_edu_aplct a
INNER JOIN ve_edu_chasi b
ON a.edu_aplct_ord = b.edu_aplct_ord
WHERE a.lctr_div_cd = aaa.instr_div
AND '400' = aaa.area_cd
AND a.edu_slct_cd = '10'
AND a.aprvl_cd IN ('230')
AND b.edu_hope_dt BETWEEN REPLACE(bbb.aplct_prd_strt,'.','') AND REPLACE(bbb.aplct_prd_end,'.','')
AND IFNULL(a.use_yn,'Y')='Y'
AND A.SBMT_YN = 'Y'
AND DATE_FORMAT(a.frst_regist_pnttm,'%Y.%m.%d') BETWEEN bbb.rgstr_strt_dt AND bbb.rgstr_end_dt
) AS sumOn230Cnt
, (
SELECT ifnull(SUM(chasi),0) AS totalLrnTm
FROM ve_edu_aplct a
INNER JOIN ve_edu_chasi b
ON a.edu_aplct_ord = b.edu_aplct_ord
WHERE a.lctr_div_cd = aaa.instr_div
AND '400' = aaa.area_cd
AND a.edu_slct_cd = '10'
AND a.aprvl_cd IN (
'120',
'20',
'70',
'80'
)
AND b.edu_hope_dt BETWEEN REPLACE(bbb.aplct_prd_strt,'.','') AND REPLACE(bbb.aplct_prd_end,'.','')
AND IFNULL(a.use_yn,'Y')='Y'
AND A.SBMT_YN = 'Y'
AND DATE_FORMAT(a.frst_regist_pnttm,'%Y.%m.%d') BETWEEN bbb.rgstr_strt_dt AND bbb.rgstr_end_dt
) AS sumOnEtcCnt
, (
SELECT ifnull(SUM(chasi),0) AS totalLrnTm
FROM ve_edu_aplct a
INNER JOIN ve_edu_chasi b
ON a.edu_aplct_ord = b.edu_aplct_ord
WHERE a.lctr_div_cd = aaa.instr_div
AND '400' = aaa.area_cd
AND a.edu_slct_cd = '10'
AND a.aprvl_cd IN ('10')
AND b.edu_hope_dt BETWEEN REPLACE(bbb.aplct_prd_strt,'.','') AND REPLACE(bbb.aplct_prd_end,'.','')
AND IFNULL(a.use_yn,'Y')='Y'
AND A.SBMT_YN = 'Y'
AND DATE_FORMAT(a.frst_regist_pnttm,'%Y.%m.%d') BETWEEN bbb.rgstr_strt_dt AND bbb.rgstr_end_dt
)
+ (
SELECT ifnull(SUM(chasi),0) AS totalLrnTm
FROM ve_edu_aplct a
INNER JOIN ve_edu_chasi b
ON a.edu_aplct_ord = b.edu_aplct_ord
WHERE a.lctr_div_cd = aaa.instr_div
AND '400' = aaa.area_cd
AND a.edu_slct_cd = '10'
AND a.aprvl_cd IN ('60')
AND b.edu_hope_dt BETWEEN REPLACE(bbb.aplct_prd_strt,'.','') AND REPLACE(bbb.aplct_prd_end,'.','')
AND IFNULL(a.use_yn,'Y')='Y'
AND A.SBMT_YN = 'Y'
AND DATE_FORMAT(a.frst_regist_pnttm,'%Y.%m.%d') BETWEEN bbb.rgstr_strt_dt AND bbb.rgstr_end_dt
)
+ (
SELECT ifnull(SUM(chasi),0) AS totalLrnTm
FROM ve_edu_aplct a
INNER JOIN ve_edu_chasi b
ON a.edu_aplct_ord = b.edu_aplct_ord
WHERE a.lctr_div_cd = aaa.instr_div
AND '400' = aaa.area_cd
AND a.edu_slct_cd = '10'
AND a.aprvl_cd IN ('230')
AND b.edu_hope_dt BETWEEN REPLACE(bbb.aplct_prd_strt,'.','') AND REPLACE(bbb.aplct_prd_end,'.','')
AND IFNULL(a.use_yn,'Y')='Y'
AND A.SBMT_YN = 'Y'
AND DATE_FORMAT(a.frst_regist_pnttm,'%Y.%m.%d') BETWEEN bbb.rgstr_strt_dt AND bbb.rgstr_end_dt
)
+ (
SELECT ifnull(SUM(chasi),0) AS totalLrnTm
FROM ve_edu_aplct a
INNER JOIN ve_edu_chasi b
ON a.edu_aplct_ord = b.edu_aplct_ord
WHERE a.lctr_div_cd = aaa.instr_div
AND '400' = aaa.area_cd
AND a.edu_slct_cd = '10'
AND a.aprvl_cd IN (
'120',
'20',
'70',
'80'
)
AND b.edu_hope_dt BETWEEN REPLACE(bbb.aplct_prd_strt,'.','') AND REPLACE(bbb.aplct_prd_end,'.','')
AND IFNULL(a.use_yn,'Y')='Y'
AND A.SBMT_YN = 'Y'
AND DATE_FORMAT(a.frst_regist_pnttm,'%Y.%m.%d') BETWEEN bbb.rgstr_strt_dt AND bbb.rgstr_end_dt
) AS sumOnTtl
FROM (
SELECT aa.instr_div, aa.area_cd
FROM (
SELECT #instrDiv# instr_div, area_cd
FROM ve_lctr_area_mng a
WHERE instr_div=#instrDiv#
UNION ALL
SELECT #instrDiv#, a.code
FROM lettccmmndetailcode a
WHERE code_id='VE0008'
)aa
GROUP BY aa.instr_div, aa.area_cd
)aaa
LEFT OUTER JOIN ve_lctr_area_mng bbb
ON(
aaa.instr_div=bbb.instr_div
AND aaa.area_cd=bbb.area_cd
<isEmpty property="stngYr">
AND DATE_FORMAT(NOW(), '%Y.%m.%d%H') BETWEEN CONCAT(bbb.rgstr_strt_dt,'09') AND CONCAT(bbb.rgstr_end_dt,'24')
</isEmpty>
<isNotEmpty property="stngYr">
AND bbb.stng_yr = #stngYr#
</isNotEmpty>
<isNotEmpty property="prdDivCd">
AND bbb.prd_div_cd = #prdDivCd#
</isNotEmpty>
)
LEFT OUTER JOIN lettccmmndetailcode ccc
ON(
ccc.code_id='VE0008'
AND aaa.area_cd=ccc.code
)
LEFT OUTER JOIN lettnemplyrinfo ddd
ON(
ddd.esntl_id=bbb.frst_register_id
)
WHERE 1=1
<isNotEmpty property="areaCd">
AND bbb.area_cd = #areaCd#
/*
AND
DATE_FORMAT(NOW(), '%Y.%m.%d%H') BETWEEN CONCAT(rgstr_strt_dt,'09') AND CONCAT(rgstr_end_dt,'24')
*/
</isNotEmpty>
<isNotEmpty property="ddlnStateCd">
AND bbb.ddln_state_cd = #ddlnStateCd#
</isNotEmpty>
<isEqual property="searchAplctChk" compareValue="Y">
AND
REPLACE(bbb.lctr_psbl_strt_tm, ':', '') <![CDATA[ <= ]]> #strtTm#
AND
REPLACE(bbb.lctr_psbl_end_tm, ':', '') <![CDATA[ >= ]]> #endTm#
AND
#eduHopeDt# between REPLACE(bbb.aplct_prd_strt, '.', '') AND REPLACE(bbb.aplct_prd_end, '.', '')
/*
AND
REPLACE(bbb.aplct_prd_strt, '.', '') <![CDATA[ <= ]]> TO_CHAR(NOW(), 'YYYYMMDD')
AND
REPLACE(bbb.aplct_prd_end, '.', '') <![CDATA[ >= ]]> TO_CHAR(NOW(), 'YYYYMMDD')
*/
</isEqual>
</select>
<!-- 강사 정보 L -->
<select id="VELctrAreaMngDAO.selectDateChkList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
SELECT
rgstr_strt_dt AS rgstrStrtDt
, rgstr_end_dt AS rgstrEndDt
, DATE_FORMAT(NOW(), '%Y.%m.%d%H')
, DATE_FORMAT(NOW(), '%H%i')
FROM ve_lctr_area_mng
WHERE DATE_FORMAT(NOW(), '%Y.%m.%d%H')
BETWEEN CONCAT(rgstr_strt_dt,'09') AND CONCAT(rgstr_end_dt,'24')
/*
WHERE DATE_FORMAT(NOW(), '%Y.%m.%d') BETWEEN '2022.03.02' AND '2022.03.11'
AND DATE_FORMAT(NOW(), '%H%i') BETWEEN '09' AND '24'
*/
</select>
<!-- 강사 정보 L -->
<select id="VELctrAreaMngDAO.selectNextDateList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
SELECT rgstr_strt_dt AS rgstrStrtDt
, rgstr_end_dt AS rgstrEndDt
, DATE_FORMAT(NOW(), '%Y.%m.%d%H')
, DATE_FORMAT(NOW(), '%H%i')
FROM ve_lctr_area_mng
WHERE rgstr_strt_dt > DATE_FORMAT(NOW(), '%Y.%m.%d%H')
ORDER BY rgstr_strt_dt ASC
LIMIT 1
</select>
<!-- 강사 정보 L page -->
<select id="VELctrAreaMngDAO.selectPagingList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VELctrAreaMngDAO.select_column_name"/>
FROM
<include refid="VELctrAreaMngDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="areaCd">
AND a.area_cd = #areaCd#
</isNotEmpty>
<isNotEmpty property="instrDiv">
AND a.instr_div=#instrDiv#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.area_cd desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
</sqlMap>

View File

@ -0,0 +1,261 @@
<?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="VELctrArea">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VELctrDetailVO" type="kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrDetailVO"/>
<!-- 공통 테이블 명 -->
<sql id="VELctrAreaDAO.table_name">
ve_lctr_area
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VELctrAreaDAO.column_name">
instr_div,
user_id,
lctr_stng_ord,
lctr_area_ord,
area_cd,
area_nmbr
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VELctrAreaDAO.select_column_name">
a.instr_div AS instrDiv,
a.user_id AS userId,
a.lctr_stng_ord AS lctrStngOrd,
a.lctr_area_ord AS lctrAreaOrd,
a.area_cd AS areaCd ,
a.area_nmbr AS areaNmbr
</sql>
<!-- 강의 가능 지역 등록 C -->
<insert id="VELctrAreaDAO.insert" parameterClass="VELctrDetailVO">
INSERT INTO <include refid="VELctrAreaDAO.table_name"/> (
<include refid="VELctrAreaDAO.column_name"/>
)VALUES(
#instrDiv#,
#userId#,
#lctrStngOrd#,
#lctrAreaOrd#,
#areaCd#,
#areaNmbr#
)
</insert>
<!-- 강사 정보 R -->
<select id="VELctrAreaDAO.selectDetail" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
SELECT
<include refid="VELctrAreaDAO.select_column_name"/>
FROM
<include refid="VELctrAreaDAO.table_name"/> a
WHERE
a.instr_div = #instrDiv#
AND a.user_id = #userId#
AND a.lctr_stng_ord = #lctrStngOrd#
AND a.lctr_area_ord = #lctrAreaOrd#
</select>
<!-- 강사 정보 U -->
<update id="VELctrAreaDAO.updateTempUserId" parameterClass="VELctrDetailVO">
UPDATE
<include refid="VELctrAreaDAO.table_name"/>
SET
<!-- 운영자가 등록한 임시 temp ID를 실제 사용자 ID로 수정 -->
<isNotEmpty property="rqstId">
user_id = #rqstId#
</isNotEmpty>
WHERE
instr_div = #instrDiv#
AND user_id = #userId#
</update>
<!-- 강사 정보 U -->
<update id="VELctrAreaDAO.update" parameterClass="VELctrDetailVO">
UPDATE
<include refid="VELctrAreaDAO.table_name"/>
SET
lctr_area_ord = #lctrAreaOrd#
<isNotEmpty property="areaCd">
, area_cd = #areaCd#
</isNotEmpty>
<isNotEmpty property="areaNmbr">
, area_nmbr = #areaNmbr#
</isNotEmpty>
WHERE
instr_div = #instrDiv#
AND user_id = #userId#
AND lctr_stng_ord = #lctrStngOrd#
AND lctr_area_ord = #lctrAreaOrd#
</update>
<!-- 강사 정보 D -->
<delete id="VELctrAreaDAO.delete" parameterClass="VELctrDetailVO">
DELETE FROM
<include refid="VELctrAreaDAO.table_name"/>
WHERE
instr_div = #instrDiv#
AND user_id = #userId#
AND lctr_stng_ord = #lctrStngOrd#
AND lctr_area_ord = #lctrAreaOrd#
</delete>
<!-- 강의 지역 D -->
<delete id="VELctrAreaDAO.deleteAll" parameterClass="VELctrDetailVO">
DELETE FROM
<include refid="VELctrAreaDAO.table_name"/>
WHERE
instr_div = #instrDiv#
AND user_id = #userId#
</delete>
<!-- 강의 지역 D -->
<delete id="VELctrAreaDAO.deleteStngAll" parameterClass="VELctrDetailVO">
DELETE FROM
<include refid="VELctrAreaDAO.table_name"/>
WHERE
instr_div = #instrDiv#
AND user_id = #userId#
AND lctr_stng_ord=(
SELECT lctr_stng_ord
FROM ve_lctr_rsrch_sbmt a
WHERE a.rsrch_instr_div =#instrDiv#
AND a.stng_yr_mnt =#stngYrMnt#
AND a.user_id =#userId#
AND a.instr_div =#instrDiv#
)
</delete>
<!-- 강의 설정 강의 지역 D -->
<delete id="VELctrAreaDAO.deleteLctrOrdArea" parameterClass="VELctrDetailVO">
DELETE FROM
<include refid="VELctrAreaDAO.table_name"/>
WHERE
instr_div = #instrDiv#
AND user_id = #userId#
AND lctr_stng_ord = #lctrStngOrd#
</delete>
<!-- 강사 정보 L -->
<select id="VELctrAreaDAO.selectList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
SELECT
<include refid="VELctrAreaDAO.select_column_name"/>
FROM
<include refid="VELctrAreaDAO.table_name"/> a
WHERE
1=1
</select>
<!-- 강사 정보 L page -->
<select id="VELctrAreaDAO.selectPagingList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VELctrAreaDAO.select_column_name"/>
FROM
<include refid="VELctrAreaDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="userId">
AND a.user_id=#userId#
</isNotEmpty>
<isNotEmpty property="instrDiv">
AND a.instr_div=#instrDiv#
</isNotEmpty>
<isNotEmpty property="lctrAreaOrd">
AND a.lctr_area_ord=#lctrAreaOrd#
</isNotEmpty>
<isNotEmpty property="lctrStngOrd">
AND a.lctr_stng_ord=#lctrStngOrd#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.user_id desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<!-- 강사 정보 L page -->
<select id="VELctrAreaDAO.selectPagingListNew" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
/* //조사년월에 강사가 선택한 강의지역 리스트로 변경. 2023-07-25 */
SELECT COUNT(1) OVER() AS totCnt ,
c.instr_div AS instrDiv,
c.user_id AS userId,
c.lctr_stng_ord AS lctrStngOrd,
c.lctr_area_ord AS lctrAreaOrd,
c.area_cd AS areaCd ,
c.area_nmbr AS areaNmbr
FROM ve_lctr_rsrch_mng a ,
ve_lctr_rsrch_sbmt b ,
ve_lctr_area c
WHERE 1=1
AND a.stng_yr_mnt =b.stng_yr_mnt
AND b.instr_div =c.instr_div
AND b.user_id =c.user_id
AND b.lctr_stng_ord =c.lctr_stng_ord
<isNotEmpty property="stngYrMnt">
AND a.stng_yr_mnt=#stngYrMnt#
</isNotEmpty>
<isNotEmpty property="userId">
AND b.user_id=#userId#
</isNotEmpty>
<isNotEmpty property="instrDiv">
AND a.rsrch_instr_div=#instrDiv#
AND b.instr_div=#instrDiv#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, b.user_id desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
</sqlMap>

View File

@ -0,0 +1,174 @@
<?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="VELctrPrfrn">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VELctrDetailVO" type="kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrDetailVO"/>
<!-- 공통 테이블 명 -->
<sql id="VELctrPrfrnDAO.table_name">
ve_lctr_prfrn
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VELctrPrfrnDAO.column_name">
instr_div,
user_id,
lctr_stng_ord,
prfrn_trgt_ord,
prfrn_trgt_cd
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VELctrPrfrnDAO.select_column_name">
a.instr_div AS instrDiv,
a.user_id AS userId,
a.lctr_stng_ord AS lctrStngOrd,
a.prfrn_trgt_ord AS prfrnTrgtOrd,
a.prfrn_trgt_cd AS prfrnTrgtCd
</sql>
<!-- 강사 등록 C -->
<insert id="VELctrPrfrnDAO.insert" parameterClass="VELctrDetailVO">
INSERT INTO <include refid="VELctrPrfrnDAO.table_name"/> (
<include refid="VELctrPrfrnDAO.column_name"/>
)VALUES(
#instrDiv#,
#userId#,
#lctrStngOrd#,
#prfrnTrgtOrd#,
#prfrnTrgtCd#
)
</insert>
<!-- 강사 정보 R -->
<select id="VELctrPrfrnDAO.selectDetail" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
SELECT
<include refid="VELctrPrfrnDAO.select_column_name"/>
FROM
<include refid="VELctrPrfrnDAO.table_name"/> a
WHERE
a.instr_div = #instrDiv#
AND a.user_id = #userId#
AND a.lctr_stng_ord = #lctrStngOrd#
AND a.prfrn_trgt_ord = #prfrnTrgtOrd#
</select>
<!-- 강사 정보 U -->
<update id="VELctrPrfrnDAO.update" parameterClass="VELctrDetailVO">
UPDATE
<include refid="VELctrPrfrnDAO.table_name"/>
SET
prfrn_trgt_ord = #prfrnTrgtOrd#
<isNotEmpty property="prfrnTrgtCd">
,prfrn_trgt_cd = #prfrnTrgtCd#
</isNotEmpty>
WHERE
instr_div = #instrDiv#
AND user_id = #userId#
AND lctr_stng_ord = #lctrStngOrd#
AND prfrn_trgt_ord = #prfrnTrgtOrd#
</update>
<!-- 강사 정보 D -->
<delete id="VELctrPrfrnDAO.delete" parameterClass="VELctrDetailVO">
DELETE FROM
<include refid="VELctrPrfrnDAO.table_name"/>
WHERE
instr_div = #instrDiv#
AND user_id = #userId#
AND lctr_stng_ord = #lctrStngOrd#
AND prfrn_trgt_ord = #prfrnTrgtOrd#
</delete>
<!-- 강의설정 선호대상 D -->
<delete id="VELctrPrfrnDAO.deleteLctrOrdPrfrn" parameterClass="VELctrDetailVO">
DELETE FROM
<include refid="VELctrPrfrnDAO.table_name"/>
WHERE
instr_div = #instrDiv#
AND user_id = #userId#
AND lctr_stng_ord = #lctrStngOrd#
</delete>
<!-- 강사 정보 L -->
<select id="VELctrPrfrnDAO.selectList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
SELECT
<include refid="VELctrPrfrnDAO.select_column_name"/>
FROM
<include refid="VELctrPrfrnDAO.table_name"/> a
WHERE
1=1
</select>
<!-- 강사 정보 L page -->
<select id="VELctrPrfrnDAO.selectPagingList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VELctrPrfrnDAO.select_column_name"/>
FROM
<include refid="VELctrPrfrnDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="userId">
AND a.user_id=#userId#
</isNotEmpty>
<isNotEmpty property="instrDiv">
AND a.instr_div=#instrDiv#
</isNotEmpty>
<isNotEmpty property="prfrnTrgtOrd">
AND a.prfrn_trgt_ord = #prfrnTrgtOrd#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.user_id desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<select id="VELctrPrfrnDAO.selectPrfrnInfoList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
SELECT instr_div AS instDiv,
user_id AS userId,
lctr_stng_ord AS lctrStngOrd,
prfrn_trgt_ord AS prfrnTrgtOrd,
prfrn_trgt_cd AS prfrnTrgtCd
FROM ve_lctr_prfrn
WHERE instr_div = #instrDiv#
AND user_id = #userId#
AND lctr_stng_ord = #lctrStngOrd#
ORDER BY prfrn_trgt_cd
</select>
</sqlMap>

View File

@ -0,0 +1,424 @@
<?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="VELctrRsrchMng">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VELctrDetailVO" type="kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrDetailVO"/>
<!-- 공통 테이블 명 -->
<sql id="VELctrRsrchMngDAO.table_name">
ve_lctr_rsrch_mng
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VELctrRsrchMngDAO.column_name">
rsrch_instr_div,
stng_yr_mnt,
rsrch_strt_dt,
rsrch_end_dt,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VELctrRsrchMngDAO.select_column_name">
a.rsrch_instr_div AS rsrchInstrDiv,
a.stng_yr_mnt AS stngYrMnt,
a.rsrch_strt_dt AS rsrchStrtDt,
a.rsrch_end_dt AS rsrchEndDt,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId
</sql>
<!-- 강사 등록 C -->
<insert id="VELctrRsrchMngDAO.insert" parameterClass="VELctrDetailVO">
INSERT INTO <include refid="VELctrRsrchMngDAO.table_name"/>
(
<include refid="VELctrRsrchMngDAO.column_name"/>
)VALUES(
#rsrchInstrDiv#,
#stngYrMnt#,
#rsrchStrtDt#,
#rsrchEndDt#,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#
)
ON DUPLICATE KEY UPDATE
last_updt_pnttm=now()
, last_updusr_id=#frstRegisterId#
<isNotEmpty property="rsrchStrtDt">
, rsrch_strt_dt = #rsrchStrtDt#
</isNotEmpty><isNotEmpty property="rsrchEndDt">
, rsrch_end_dt = #rsrchEndDt#
</isNotEmpty>
</insert>
<!-- 강사 정보 R -->
<select id="VELctrRsrchMngDAO.selectDetail" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
SELECT
<include refid="VELctrRsrchMngDAO.select_column_name"/>
FROM
<include refid="VELctrRsrchMngDAO.table_name"/> a
WHERE
a.rsrch_instr_div = #rsrchInstrDiv#
AND a.stng_yr_mnt = #stngYrMnt#
</select>
<select id="VELctrRsrchMngDAO.selectDetailWithQuery" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
/* 오늘이 선택한 강의조사 요청의 기간중인지 확인 */
SELECT
<include refid="VELctrRsrchMngDAO.select_column_name"/>
FROM
<include refid="VELctrRsrchMngDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
</select>
<!-- 강사 정보 U -->
<update id="VELctrRsrchMngDAO.update" parameterClass="VELctrDetailVO">
UPDATE
<include refid="VELctrRsrchMngDAO.table_name"/>
SET
last_updt_pnttm=now()
, last_updusr_id=#lastUpdusrId#
<isNotEmpty property="rsrchStrtDt">
, rsrch_strt_dt = #rsrchStrtDt#
</isNotEmpty><isNotEmpty property="rsrchEndDt">
, rsrch_end_dt = #rsrchEndDt#
</isNotEmpty>
WHERE
rsrch_instr_div = #rsrchInstrDiv#
AND stng_yr_mnt = #stngYrMnt#
</update>
<!-- 강사 정보 D -->
<delete id="VELctrRsrchMngDAO.delete" parameterClass="VELctrDetailVO">
DELETE FROM
<include refid="VELctrRsrchMngDAO.table_name"/>
WHERE
rsrch_instr_div = #rsrchInstrDiv#
AND stng_yr = #stngYr#
AND stng_yr_mnt = #stngYrMnt#
</delete>
<!-- 강사 정보 L -->
<select id="VELctrRsrchMngDAO.selectList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
/* 강의 조사를 요청한 설정 년월 리스트 */
SELECT
<include refid="VELctrRsrchMngDAO.select_column_name"/>
FROM
<include refid="VELctrRsrchMngDAO.table_name"/> a
WHERE 1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.stng_yr_mnt desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
</select>
<!-- 강사 정보 L page -->
<select id="VELctrRsrchMngDAO.selectPagingList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VELctrRsrchMngDAO.select_column_name"/>
FROM
<include refid="VELctrRsrchMngDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="stngYrMnt">
AND a.stng_yr_mnt = #stngYrMnt#
</isNotEmpty>
<isNotEmpty property="instrDiv">
AND a.instr_div=#instrDiv#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.stng_yr_mnt desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<!-- 강사 정보 L page -->
<select id="VELctrRsrchMngDAO.selectPagingListLctr" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
SELECT COUNT(1) OVER() AS totCnt
, dddd.rsrch_instr_div AS rsrchInstrDiv
, dddd.stng_yr_mnt AS stngYrMnt
, dddd.instr_nm AS instrNm
, dddd.phone
, dddd.rsdne
, dddd.div_cd AS divCd
, dddd.user_id AS userId
, dddd.qlfct_end_yn AS qlfctEndYn
, dddd.lctr_stng_ord AS lctrStngOrd
, dddd.w_cnt AS wCnt
, dddd.other_lctr_stng_ord AS otherLctrStngOrd
, dddd.instr_div AS instrDiv
, dddd.instr_detail_ord AS instrDetailOrd
, (SELECT f.one_depth_nm
FROM ve_rsdnc f
WHERE f.post_id = MAX(eeee.area_cd)
GROUP BY f.one_depth_nm
)
AS lctrAreaNm
, COUNT(eeee.area_cd) AS lctrAreaCnt
FROM (
SELECT aaa.rsrch_instr_div
, aaa.stng_yr_mnt
, aaa.instr_nm
, aaa.phone
, aaa.rsdne
, aaa.div_cd
, aaa.user_id
, aaa.qlfct_end_yn
, ccc.lctr_stng_ord
, IF(IFNULL(ccc.sun_lctr_yn, ddd.sun_lctr_yn)='Y',1,0)
+ IF(IFNULL(ccc.mon_lctr_yn, ddd.mon_lctr_yn)='Y',1,0)
+ IF(IFNULL(ccc.tue_lctr_yn, ddd.tue_lctr_yn)='Y',1,0)
+ IF(IFNULL(ccc.wed_lctr_yn, ddd.wed_lctr_yn)='Y',1,0)
+ IF(IFNULL(ccc.thu_lctr_yn, ddd.thu_lctr_yn)='Y',1,0)
+ IF(IFNULL(ccc.fri_lctr_yn, ddd.fri_lctr_yn)='Y',1,0)
+ IF(IFNULL(ccc.sat_lctr_yn, ddd.sat_lctr_yn)='Y',1,0) AS w_cnt
, ddd.lctr_stng_ord AS other_lctr_stng_ord
, ddd.instr_div
, aaa.instr_detail_ord
FROM (
SELECT aa.rsrch_instr_div
, aa.stng_yr_mnt
, aa.rsrch_strt_dt
, aa.rsrch_end_dt
, bb.*
FROM ve_lctr_rsrch_mng aa,
(
SELECT b.instr_div
, b.user_id
, b.instr_detail_ord
, b.instr_nm
, b.phone
, b.rsdne
, b.div_cd
, b.qlfct_end_yn
FROM ve_instr a
, ve_instr_detail b
WHERE a.tngr_instr_yn='Y'
AND b.instr_div='10'
AND b.user_id=a.user_id
AND b.use_yn='Y'
)bb
WHERE aa.rsrch_instr_div = '10'
AND aa.stng_yr_mnt = #stngYrMnt#
)aaa
LEFT OUTER JOIN (
SELECT c.*
FROM ve_lctr_rsrch_mng a
, ve_lctr_rsrch_sbmt b
, ve_lctr_stng c
WHERE a.rsrch_instr_div = '10'
AND a.stng_yr_mnt = #stngYrMnt#
AND a.rsrch_instr_div=b.rsrch_instr_div
AND a.stng_yr_mnt=b.stng_yr_mnt
AND b.instr_div=c.instr_div
AND b.user_id=c.user_id
AND b.lctr_stng_ord=c.lctr_stng_ord
/*
제출인것만 제출로 인정 2023-03-14
사용은 하나뿐이므로 use_yn='Y' only one, but sbmt_yn='Y'는 모든 제출에 적용
*/
AND c.sbmt_yn='Y'
) ccc
ON(
ccc.instr_div=aaa.instr_div
AND ccc.user_id=aaa.user_id
)
LEFT OUTER JOIN (
SELECT c.*
FROM
ve_lctr_stng c
WHERE c.instr_div='10'
AND c.use_yn='Y'
) ddd
ON(
ddd.instr_div=aaa.instr_div
AND ddd.user_id=aaa.user_id
)
)dddd
LEFT OUTER JOIN ve_lctr_area eeee
ON (
eeee.instr_div = dddd.instr_div
AND eeee.user_id = dddd.user_id
AND eeee.lctr_stng_ord = IFNULL(dddd.lctr_stng_ord, dddd.other_lctr_stng_ord)
)
GROUP BY dddd.rsrch_instr_div
, dddd.stng_yr_mnt
, dddd.instr_nm
, dddd.phone
, dddd.rsdne
, dddd.div_cd
, dddd.user_id
, dddd.qlfct_end_yn
, dddd.lctr_stng_ord
, dddd.w_cnt
, dddd.other_lctr_stng_ord
, dddd.instr_div
ORDER BY 1=1
<!-- <isNotNull prepend=" ," property="searchSortCnd"> -->
<!-- </isNotNull> -->
<isEmpty property="orderByQuery">
, dddd.rsdne asc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<select id="VELctrRsrchMngDAO.findByLctrStngOrd" parameterClass="String" resultClass="String">
select
ccc.lctr_stng_ord as lctrStngOrd
from
(
select
aa.rsrch_instr_div ,
aa.stng_yr_mnt ,
aa.rsrch_strt_dt ,
aa.rsrch_end_dt ,
bb.*
from
ve_lctr_rsrch_mng aa,
(
select
b.instr_div ,
b.user_id
from
ve_instr a ,
ve_instr_detail b
where
a.tngr_instr_yn = 'Y'
and b.instr_div = '10'
and b.user_id = a.user_id
and b.use_yn = 'Y'
)bb
where
aa.rsrch_instr_div = '10'
and aa.stng_yr_mnt = #stngYrMnt#
)aaa
left outer join (
select
c.*
from
ve_lctr_rsrch_mng a ,
ve_lctr_rsrch_sbmt b ,
ve_lctr_stng c
where
a.rsrch_instr_div = '10'
and a.stng_yr_mnt = #stngYrMnt#
and a.rsrch_instr_div = b.rsrch_instr_div
and a.stng_yr_mnt = b.stng_yr_mnt
and b.instr_div = c.instr_div
and b.user_id = c.user_id
and b.lctr_stng_ord = c.lctr_stng_ord /* 제출인것만 제출로 인정 2023-03-14 사용은 하나뿐이므로 use_yn='Y' only one, but sbmt_yn='Y'는 모든 제출에 적용 */
and c.sbmt_yn = 'Y'
) ccc
on ccc.instr_div = aaa.instr_div
and ccc.user_id = aaa.user_id
</select>
</sqlMap>

View File

@ -0,0 +1,304 @@
<?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="VELctrRsrchSbmt">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VELctrDetailVO" type="kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrDetailVO"/>
<!-- 공통 테이블 명 -->
<sql id="VELctrRsrchSbmtDAO.table_name">
ve_lctr_rsrch_sbmt
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VELctrRsrchSbmtDAO.column_name">
rsrch_instr_div,
stng_yr_mnt,
instr_div,
user_id,
lctr_stng_ord,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id,
strt_dt,
end_dt
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VELctrRsrchSbmtDAO.select_column_name">
a.rsrch_instr_div AS rsrchInstrDiv,
a.stng_yr_mnt AS stngYrMnt,
a.instr_div AS instrDiv,
a.user_id AS userId,
a.lctr_stng_ord AS lctrStngOrd,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId,
a.strt_dt AS strtDt,
a.end_dt AS endDt
</sql>
<!-- 강사 등록 C -->
<insert id="VELctrRsrchSbmtDAO.insert" parameterClass="VELctrDetailVO">
INSERT INTO <include refid="VELctrRsrchSbmtDAO.table_name"/>
(
<include refid="VELctrRsrchSbmtDAO.column_name"/>
)VALUES(
#rsrchInstrDiv#,
#stngYrMnt#,
#instrDiv#,
#userId#,
#lctrStngOrd#,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#,
#strtDt#,
#endDt#
)
ON DUPLICATE KEY UPDATE
last_updt_pnttm=now()
, last_updusr_id=#lastUpdusrId#
, strt_dt=#strtDt#
, end_dt=#endDt#
</insert>
<!-- 강사 정보 R -->
<select id="VELctrRsrchSbmtDAO.selectDetail" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
/* 해당 강의 조사 기간에 대해 강사가 작성한 정보가 있는지 확인 - 관리자 */
SELECT
<include refid="VELctrRsrchSbmtDAO.select_column_name"/>
FROM
<include refid="VELctrRsrchSbmtDAO.table_name"/> a
, ve_lctr_stng b
WHERE
a.rsrch_instr_div = #rsrchInstrDiv#
AND a.stng_yr_mnt = #stngYrMnt#
AND a.instr_div = #instrDiv#
AND a.user_id = #userId#
<isNotEmpty property="lctrStngOrd">
AND a.lctr_stng_ord = #lctrStngOrd#
</isNotEmpty>
AND a.instr_div=b.instr_div
AND a.user_id=b.user_id
AND a.lctr_stng_ord=b.lctr_stng_ord
AND b.sbmt_yn='Y'
</select>
<!-- 강사 정보 R -->
<select id="VELctrRsrchSbmtDAO.selectDetailNew" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
/* 해당 강의 조사 기간에 대해 강사가 작성한 정보가 있는지 확인 */
/* 순번데이터 없이 해당 조사 제출을 한 강사 정보가 있는지 확인 하는 것임 since 2023.07.25 */
SELECT
<include refid="VELctrRsrchSbmtDAO.select_column_name"/>
FROM
<include refid="VELctrRsrchSbmtDAO.table_name"/> a
WHERE
a.rsrch_instr_div = #rsrchInstrDiv#
AND a.stng_yr_mnt = #stngYrMnt#
AND a.instr_div = #instrDiv#
AND a.user_id = #userId#
</select>
<!-- 강사 정보 U -->
<update id="VELctrRsrchSbmtDAO.update" parameterClass="VELctrDetailVO">
UPDATE
<include refid="VELctrRsrchSbmtDAO.table_name"/>
SET
last_updt_pnttm=now()
, last_updusr_id=#lastUpdusrId#
<isNotEmpty property="strtDt">
, strt_dt = #strtDt#
</isNotEmpty><isNotEmpty property="endDt">
, end_dt = #endDt#
</isNotEmpty>
WHERE
rsrch_instr_div = #rsrchInstrDiv#
AND stng_yr_mnt = #stngYrMnt#
AND instr_div = #instrDiv#
AND user_id = #userId#
AND lctr_stng_ord = #lctrStngOrd#
</update>
<!-- 강사 정보 D -->
<delete id="VELctrRsrchSbmtDAO.delete" parameterClass="VELctrDetailVO">
DELETE FROM
<include refid="VELctrRsrchSbmtDAO.table_name"/>
WHERE
rsrch_instr_div = #rsrchInstrDiv#
AND stng_yr_mnt = #stngYrMnt#
AND instr_div = #instrDiv#
AND user_id = #userId#
AND lctr_stng_ord = #lctrStngOrd#
</delete>
<!-- 강사 정보 L -->
<select id="VELctrRsrchSbmtDAO.selectList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
SELECT
aaa.instr_div AS instrDiv
, aaa.area_cd AS areaCd
, bbb.ddln_state_cd AS ddlnStateCd
, bbb.lctr_psbl_strt_tm AS lctrPsblStrtTm
, bbb.lctr_psbl_end_tm AS lctrPsblEndTm
, DATE_FORMAT(bbb.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm
, bbb.frst_register_id AS frstRegisterId
, ddd.user_nm AS userNm
, DATE_FORMAT(bbb.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm
, bbb.last_updusr_id AS lastUpdusrId
, bbb.use_yn AS useYn
, bbb.stng_yr AS stngYr
, bbb.aplct_prd_strt AS aplctPrdStrt
, bbb.aplct_prd_end AS aplctPrdEnd
, bbb.rgstr_psbl_tm AS rgstrPsblTm
, bbb.prd_div_cd AS prdDivCd
FROM (
SELECT aa.instr_div, aa.area_cd
FROM (
SELECT #instrDiv# instr_div, area_cd
FROM ve_lctr_area_mng a
WHERE instr_div=#instrDiv#
UNION ALL
SELECT #instrDiv#, a.code
FROM lettccmmndetailcode a
WHERE code_id='VE0008'
)aa
GROUP BY aa.instr_div, aa.area_cd
)aaa
LEFT OUTER JOIN ve_lctr_area_mng bbb
ON(
aaa.instr_div=bbb.instr_div
AND aaa.area_cd=bbb.area_cd
<isNotEmpty property="stngYr">
AND bbb.stng_yr = #stngYr#
</isNotEmpty>
<isNotEmpty property="prdDivCd">
AND bbb.prd_div_cd = #prdDivCd#
</isNotEmpty>
)
LEFT OUTER JOIN lettccmmndetailcode ccc
ON(
ccc.code_id='VE0008'
AND aaa.area_cd=ccc.code
)
LEFT OUTER JOIN lettnemplyrinfo ddd
ON(
ddd.esntl_id=bbb.frst_register_id
)
WHERE 1=1
<isNotEmpty property="areaCd">
AND bbb.area_cd = #areaCd#
</isNotEmpty>
<isNotEmpty property="ddlnStateCd">
AND bbb.ddln_state_cd = #ddlnStateCd#
</isNotEmpty>
<isEqual property="searchAplctChk" compareValue="Y">
AND
REPLACE(bbb.lctr_psbl_strt_tm, ':', '') <![CDATA[ <= ]]> #strtTm#
AND
REPLACE(bbb.lctr_psbl_end_tm, ':', '') <![CDATA[ >= ]]> #endTm#
AND
REPLACE(bbb.aplct_prd_strt, '.', '') <![CDATA[ <= ]]> #eduHopeDt#
AND
REPLACE(bbb.aplct_prd_end, '.', '') <![CDATA[ >= ]]> #eduHopeDt#
</isEqual>
</select>
<!-- 강사 정보 L page -->
<select id="VELctrRsrchSbmtDAO.selectPagingList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VELctrRsrchSbmtDAO.select_column_name"/>
FROM
<include refid="VELctrRsrchSbmtDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="areaCd">
AND a.area_cd = #areaCd#
</isNotEmpty>
<isNotEmpty property="instrDiv">
AND a.instr_div=#instrDiv#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.area_cd desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
</sqlMap>

View File

@ -0,0 +1,629 @@
<?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="VELctrStng">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VELctrDetailVO" type="kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrDetailVO"/>
<!-- 공통 테이블 명 -->
<sql id="VELctrStngDAO.table_name">
ve_lctr_stng
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VELctrStngDAO.column_name">
instr_div,
user_id,
lctr_stng_ord,
sun_lctr_yn,
mon_lctr_yn,
tue_lctr_yn,
wed_lctr_yn,
thu_lctr_yn,
fri_lctr_yn,
sat_lctr_yn,
zoom_yn,
yr_mxmm_asgnm_tm,
mnt_mnmm_tm,
prfrn_fld_cd,
onln_psbl_yn,
sbmt_yn,
sbmt_pnttm,
aprvl_cd,
aprvl_pnttm,
aprvl_id,
aprvl_cn,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id,
use_yn,
isltn_psbl_yn,
cntns_lctr_psbl_yn,
lctr_stng_yr,
asgnm_tm_1,
asgnm_tm_2,
asgnm_tm_3,
asgnm_tm_4,
asgnm_tm_5,
asgnm_tm_6,
asgnm_tm_7,
asgnm_tm_8,
asgnm_tm_9,
asgnm_tm_10,
asgnm_tm_11,
asgnm_tm_12
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VELctrStngDAO.select_column_name">
a.instr_div AS instrDiv,
a.user_id AS userId,
a.lctr_stng_ord AS lctrStngOrd,
a.sun_lctr_yn AS sunLctrYn,
a.mon_lctr_yn AS monLctrYn,
a.tue_lctr_yn AS tueLctrYn,
a.wed_lctr_yn AS wedLctrYn,
a.thu_lctr_yn AS thuLctrYn,
a.fri_lctr_yn AS friLctrYn,
a.sat_lctr_yn AS satLctrYn,
a.zoom_yn AS zoomYn,
a.yr_mxmm_asgnm_tm AS yrMxmmAsgnmTm,
a.mnt_mnmm_tm AS mntMnmmTm,
a.prfrn_fld_cd AS prfrnFldCd,
a.onln_psbl_yn AS onlnPsblYn,
a.sbmt_yn AS sbmtYn,
a.sbmt_pnttm AS sbmtPnttm,
a.aprvl_cd AS aprvlCd,
a.aprvl_pnttm AS aprvlPnttm,
a.aprvl_id AS aprvlId,
a.aprvl_cn AS aprvlCn,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId,
a.use_yn AS useYn,
a.isltn_psbl_yn AS isltnPsblYn,
a.cntns_lctr_psbl_yn AS cntnsLctrPsblYn,
a.lctr_stng_yr AS lctrStngYr,
a.asgnm_tm_1 AS asgnmTm1,
a.asgnm_tm_2 AS asgnmTm2,
a.asgnm_tm_3 AS asgnmTm3,
a.asgnm_tm_4 AS asgnmTm4,
a.asgnm_tm_5 AS asgnmTm5,
a.asgnm_tm_6 AS asgnmTm6,
a.asgnm_tm_7 AS asgnmTm7,
a.asgnm_tm_8 AS asgnmTm8,
a.asgnm_tm_9 AS asgnmTm9,
a.asgnm_tm_10 AS asgnmTm10,
a.asgnm_tm_11 AS asgnmTm11,
a.asgnm_tm_12 AS asgnmTm12
</sql>
<!-- 강사 등록 C -->
<insert id="VELctrStngDAO.insert" parameterClass="VELctrDetailVO">
INSERT INTO <include refid="VELctrStngDAO.table_name"/> (
<include refid="VELctrStngDAO.column_name"/>
)VALUES(
#instrDiv#,
#userId#,
#lctrStngOrd#,
#sunLctrYn#,
#monLctrYn#,
#tueLctrYn#,
#wedLctrYn#,
#thuLctrYn#,
#friLctrYn#,
#satLctrYn#,
#zoomYn#,
#yrMxmmAsgnmTm#,
#mntMnmmTm#,
#prfrnFldCd#,
#onlnPsblYn#,
#sbmtYn#,
<isNotEmpty property="sbmtYn">
NOW(),
</isNotEmpty>
<isEmpty property="sbmtYn">
#sbmtPnttm#,
</isEmpty>
#aprvlCd#,
<isNotEmpty property="aprvlCd">
NOW(),
</isNotEmpty>
<isEmpty property="aprvlCd">
#aprvlPnttm#,
</isEmpty>
#aprvlId#,
#aprvlCn#,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#,
#useYn#,
#isltnPsblYn#,
#cntnsLctrPsblYn#,
#lctrStngYr#,
#asgnmTm1#,
#asgnmTm2#,
#asgnmTm3#,
#asgnmTm4#,
#asgnmTm5#,
#asgnmTm6#,
#asgnmTm7#,
#asgnmTm8#,
#asgnmTm9#,
#asgnmTm10#,
#asgnmTm11#,
#asgnmTm12#
)
</insert>
<insert id="VELctrStngDAO.insertDup" parameterClass="VELctrDetailVO">
INSERT INTO <include refid="VELctrStngDAO.table_name"/> (
<include refid="VELctrStngDAO.column_name"/>
)VALUES(
#instrDiv#,
#userId#,
#lctrStngOrd#,
#sunLctrYn#,
#monLctrYn#,
#tueLctrYn#,
#wedLctrYn#,
#thuLctrYn#,
#friLctrYn#,
#satLctrYn#,
#zoomYn#,
#yrMxmmAsgnmTm#,
#mntMnmmTm#,
#prfrnFldCd#,
#onlnPsblYn#,
#sbmtYn#,
<isNotEmpty property="sbmtYn">
NOW(),
</isNotEmpty>
<isEmpty property="sbmtYn">
#sbmtPnttm#,
</isEmpty>
#aprvlCd#,
<isNotEmpty property="aprvlCd">
NOW(),
</isNotEmpty>
<isEmpty property="aprvlCd">
#aprvlPnttm#,
</isEmpty>
#aprvlId#,
#aprvlCn#,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#,
#useYn#,
#isltnPsblYn#,
#cntnsLctrPsblYn#,
#lctrStngYr#,
#asgnmTm1#,
#asgnmTm2#,
#asgnmTm3#,
#asgnmTm4#,
#asgnmTm5#,
#asgnmTm6#,
#asgnmTm7#,
#asgnmTm8#,
#asgnmTm9#,
#asgnmTm10#,
#asgnmTm11#,
#asgnmTm12#
)
ON DUPLICATE KEY UPDATE
last_updt_pnttm=now()
, last_updusr_id=#frstRegisterId#
<isNotEmpty property="sunLctrYn">
, sun_lctr_yn =#sunLctrYn#
</isNotEmpty><isNotEmpty property="monLctrYn">
, mon_lctr_yn =#monLctrYn#
</isNotEmpty><isNotEmpty property="tueLctrYn">
, tue_lctr_yn =#tueLctrYn#
</isNotEmpty><isNotEmpty property="wedLctrYn">
, wed_lctr_yn =#wedLctrYn#
</isNotEmpty><isNotEmpty property="thuLctrYn">
, thu_lctr_yn =#thuLctrYn#
</isNotEmpty><isNotEmpty property="friLctrYn">
, fri_lctr_yn =#friLctrYn#
</isNotEmpty><isNotEmpty property="satLctrYn">
, sat_lctr_yn =#satLctrYn#
</isNotEmpty><isNotEmpty property="zoomYn">
, zoom_yn =#zoomYn#
</isNotEmpty><isNotEmpty property="yrMxmmAsgnmTm">
, yr_mxmm_asgnm_tm =#yrMxmmAsgnmTm#
</isNotEmpty><isNotEmpty property="mntMnmmTm">
, mnt_mnmm_tm =#mntMnmmTm#
</isNotEmpty><isNotEmpty property="prfrnFldCd">
, prfrn_fld_cd =#prfrnFldCd#
</isNotEmpty><isNotEmpty property="onlnPsblYn">
, onln_psbl_yn =#onlnPsblYn#
</isNotEmpty><isNotEmpty property="useYn">
, use_yn =#useYn#
</isNotEmpty><isNotEmpty property="isltnPsblYn">
, isltn_psbl_yn =#isltnPsblYn#
</isNotEmpty><isNotEmpty property="cntnsLctrPsblYn">
, cntns_lctr_psbl_yn =#cntnsLctrPsblYn#
</isNotEmpty><isNotEmpty property="lctrStngYr">
, lctr_stng_yr =#lctrStngYr#
</isNotEmpty>
</insert>
<!-- 강사 정보 R -->
<select id="VELctrStngDAO.selectDetail" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
SELECT
<include refid="VELctrStngDAO.select_column_name"/>
FROM
<include refid="VELctrStngDAO.table_name"/> a
WHERE
a.instr_div = #instrDiv#
AND a.user_id = #userId#
AND a.lctr_stng_ord = #lctrStngOrd#
</select>
<!-- 강사 정보 U -->
<update id="VELctrStngDAO.updateTempUserId" parameterClass="VELctrDetailVO">
UPDATE
<include refid="VELctrStngDAO.table_name"/>
SET
<!-- 운영자가 등록한 임시 temp ID를 실제 사용자 ID로 수정 -->
<isNotEmpty property="rqstId">
user_id = #rqstId#,
</isNotEmpty>
LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
WHERE
instr_div = #instrDiv#
AND user_id = #userId#
</update>
<!-- 강사 정보 U -->
<update id="VELctrStngDAO.update" parameterClass="VELctrDetailVO">
UPDATE
<include refid="VELctrStngDAO.table_name"/>
SET
<isNotEmpty property="sunLctrYn">
sun_lctr_yn = #sunLctrYn#,
</isNotEmpty>
<isNotEmpty property="monLctrYn">
mon_lctr_yn = #monLctrYn#,
</isNotEmpty>
<isNotEmpty property="tueLctrYn">
tue_lctr_yn = #tueLctrYn#,
</isNotEmpty>
<isNotEmpty property="wedLctrYn">
wed_lctr_yn = #wedLctrYn#,
</isNotEmpty>
<isNotEmpty property="thuLctrYn">
thu_lctr_yn = #thuLctrYn#,
</isNotEmpty>
<isNotEmpty property="friLctrYn">
fri_lctr_yn = #friLctrYn#,
</isNotEmpty>
<isNotEmpty property="satLctrYn">
sat_lctr_yn = #satLctrYn#,
</isNotEmpty>
<isEmpty property="sunLctrYn">
sun_lctr_yn = 'N',
</isEmpty>
<isEmpty property="monLctrYn">
mon_lctr_yn = 'N',
</isEmpty>
<isEmpty property="tueLctrYn">
tue_lctr_yn = 'N',
</isEmpty>
<isEmpty property="wedLctrYn">
wed_lctr_yn = 'N',
</isEmpty>
<isEmpty property="thuLctrYn">
thu_lctr_yn = 'N',
</isEmpty>
<isEmpty property="friLctrYn">
fri_lctr_yn = 'N',
</isEmpty>
<isEmpty property="satLctrYn">
sat_lctr_yn = 'N',
</isEmpty>
<isNotEmpty property="zoomYn">
zoom_yn = #zoomYn#,
</isNotEmpty>
<isNotEmpty property="yrMxmmAsgnmTm">
yr_mxmm_asgnm_tm = #yrMxmmAsgnmTm#,
</isNotEmpty>
<isNotEmpty property="mntMnmmTm">
mnt_mnmm_tm = #mntMnmmTm#,
</isNotEmpty>
<isNotEmpty property="prfrnFldCd">
prfrn_fld_cd = #prfrnFldCd#,
</isNotEmpty>
<isNotEmpty property="onlnPsblYn">
onln_psbl_yn = #onlnPsblYn#,
</isNotEmpty><isNotEmpty property="sbmtYn">
sbmt_yn = #sbmtYn#,
sbmt_pnttm = NOW(),
</isNotEmpty><isNotEmpty property="aprvlCd">
aprvl_cd = #aprvlCd#,
aprvl_pnttm = NOW(),
aprvl_id = #lastUpdusrId#,
aprvl_cn = #aprvlCn#,
</isNotEmpty><isNotEmpty property="useYn">
use_yn = #useYn#,
</isNotEmpty><isNotEmpty property="isltnPsblYn">
isltn_psbl_yn = #isltnPsblYn#,
</isNotEmpty><isNotEmpty property="cntnsLctrPsblYn">
cntns_lctr_psbl_yn = #cntnsLctrPsblYn#,
</isNotEmpty><isNotEmpty property="lctrStngYr">
lctr_stng_yr = #lctrStngYr#,
</isNotEmpty><isNotEmpty property="asgnmTm1">
asgnm_tm_1 = #asgnmTm1#,
</isNotEmpty><isNotEmpty property="asgnmTm2">
asgnm_tm_2 = #asgnmTm2#,
</isNotEmpty><isNotEmpty property="asgnmTm3">
asgnm_tm_3 = #asgnmTm3#,
</isNotEmpty><isNotEmpty property="asgnmTm4">
asgnm_tm_4 = #asgnmTm4#,
</isNotEmpty><isNotEmpty property="asgnmTm5">
asgnm_tm_5 = #asgnmTm5#,
</isNotEmpty><isNotEmpty property="asgnmTm6">
asgnm_tm_6 = #asgnmTm6#,
</isNotEmpty><isNotEmpty property="asgnmTm7">
asgnm_tm_7 = #asgnmTm7#,
</isNotEmpty><isNotEmpty property="asgnmTm8">
asgnm_tm_8 = #asgnmTm8#,
</isNotEmpty><isNotEmpty property="asgnmTm9">
asgnm_tm_9 = #asgnmTm9#,
</isNotEmpty><isNotEmpty property="asgnmTm10">
asgnm_tm_10 = #asgnmTm10#,
</isNotEmpty><isNotEmpty property="asgnmTm11">
asgnm_tm_11 = #asgnmTm11#,
</isNotEmpty><isNotEmpty property="asgnmTm12">
asgnm_tm_12 = #asgnmTm12#,
</isNotEmpty>
LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
WHERE
instr_div = #instrDiv#
AND user_id = #userId#
AND lctr_stng_ord = #lctrStngOrd#
<isEqual property="searchUseYn" compareValue="Y">
AND use_yn = 'Y'
</isEqual>
</update>
<!-- 강사 정보 U -->
<update id="VELctrStngDAO.updateUseYn" parameterClass="VELctrDetailVO">
UPDATE ve_lctr_stng cc,
(
SELECT a.instr_div
, a.user_id
, a.lctr_stng_ord
, a.use_yn
FROM ve_lctr_stng a
LEFT OUTER JOIN ve_lctr_stng b
ON(
a.instr_div=b.instr_div
AND a.user_id=b.user_id
AND a.lctr_stng_ord=b.lctr_stng_ord
AND b.instr_div = #instrDiv#
AND b.user_id = #userId#
AND b.lctr_stng_ord = #lctrStngOrd#
)
WHERE a.instr_div = #instrDiv#
AND a.user_id = #userId#
AND b.lctr_stng_ord IS null
)dd
SET cc.use_yn=#useYn#
WHERE cc.instr_div=dd.instr_div
AND cc.user_id=dd.user_id
AND cc.lctr_stng_ord=dd.lctr_stng_ord
</update>
<!-- 강사 정보 D -->
<delete id="VELctrStngDAO.delete" parameterClass="VELctrDetailVO">
DELETE FROM
<include refid="VELctrStngDAO.table_name"/>
WHERE
instr_div = #instrDiv#
AND user_id = #userId#
AND lctr_stng_ord = #lctrStngOrd#
</delete>
<!-- 강사 정보 D -->
<delete id="VELctrStngDAO.deleteLctrOrdStng" parameterClass="VELctrDetailVO">
DELETE FROM
<include refid="VELctrStngDAO.table_name"/>
WHERE
instr_div = #instrDiv#
AND user_id = #userId#
AND lctr_stng_ord = #lctrStngOrd#
</delete>
<!-- 강사 정보 L -->
<select id="VELctrStngDAO.selectList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
SELECT
<include refid="VELctrStngDAO.select_column_name"/>
FROM
<include refid="VELctrStngDAO.table_name"/> a
WHERE
1=1
</select>
<!-- 강사 정보 L page -->
<select id="VELctrStngDAO.selectPagingList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VELctrStngDAO.select_column_name"/>
FROM
<include refid="VELctrStngDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="userId">
AND a.user_id=#userId#
</isNotEmpty>
<isNotEmpty property="instrDiv">
AND a.instr_div=#instrDiv#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.user_id desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<update id="VELctrStngDAO.updateSbmt" parameterClass="VELctrDetailVO">
UPDATE
<include refid="VELctrStngDAO.table_name"/>
SET
sbmt_yn = #sbmtYn#,
sbmt_pnttm = NOW(),
aprvl_cd = #aprvlCd#,
last_updusr_id = #lastUpdusrId#,
last_updt_pnttm = NOW()
WHERE
instr_div = #instrDiv#
AND user_id = #userId#
AND lctr_stng_ord = #lctrStngOrd#
</update>
<update id="VELctrStngDAO.updatelctrStngAprvlConfirm" parameterClass="VELctrDetailVO">
UPDATE
<include refid="VELctrStngDAO.table_name"/>
SET
use_yn = #useYn#,
aprvl_pnttm = NOW(),
aprvl_cd = #aprvlCd#,
last_updusr_id = #lastUpdusrId#,
last_updt_pnttm = NOW()
WHERE
instr_div = #instrDiv#
AND user_id = #userId#
AND lctr_stng_ord = #lctrStngOrd#
</update>
<update id="VELctrStngDAO.updatelctrStngConfirmToN" parameterClass="VELctrDetailVO">
UPDATE
<include refid="VELctrStngDAO.table_name"/>
SET
use_yn = 'N',
last_updusr_id = #lastUpdusrId#,
last_updt_pnttm = NOW()
WHERE
instr_div = #instrDiv#
AND user_id = #userId#
AND aprvl_cd = '20'
AND use_yn = 'Y'
</update>
<update id="VELctrStngDAO.updatelctrStngReject" parameterClass="VELctrDetailVO">
UPDATE
<include refid="VELctrStngDAO.table_name"/>
SET
use_yn = #useYn#,
aprvl_pnttm = NOW(),
aprvl_cd = #aprvlCd#,
aprvl_cn = #aprvlCn#,
last_updusr_id = #lastUpdusrId#,
last_updt_pnttm = NOW()
WHERE
instr_div = #instrDiv#
AND user_id = #userId#
AND lctr_stng_ord = #lctrStngOrd#
</update>
</sqlMap>

View File

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

View File

@ -0,0 +1,197 @@
<?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="VELctrEvalSmry">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VELctrEvalDetailVO" type="kcc.ve.instr.tngrVisitEdu.lctrEvalInfo.service.VELctrEvalDetailVO"/>
<!-- 공통 테이블 명 -->
<sql id="VELctrEvalSmryDAO.table_name">
ve_lctr_eval_smry
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VELctrEvalSmryDAO.column_name">
edu_aplct_ord,
edu_chasi_ord,
lctr_eval_ord,
lctr_eval_div_cd,
rspns_rt,
ovrl_stsfc,
cn_cnfgr,
avrg,
prvs_rcgnt,
aft_rcgnt,
imprv_degre,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VELctrEvalSmryDAO.select_column_name">
a.edu_aplct_ord AS eduAplctOrd,
a.edu_chasi_ord AS eduChasiOrd,
a.lctr_eval_ord AS lctrEvalOrd,
a.lctr_eval_div_cd AS lctrEvalDivCd,
a.rspns_rt AS rspnsRt,
a.ovrl_stsfc AS ovrlStsfc,
a.cn_cnfgr AS cnCnfgr,
a.avrg AS avrg,
a.prvs_rcgnt AS prvsRcgnt,
a.aft_rcgnt AS aftRcgnt,
a.imprv_degre AS imprvDegre,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId
</sql>
<!-- 강의평가상세 등록 C -->
<insert id="VELctrEvalSmryDAO.insert" parameterClass="VELctrEvalDetailVO">
INSERT INTO <include refid="VELctrEvalSmryDAO.table_name"/> (
<include refid="VELctrEvalSmryDAO.column_name"/>
)VALUES(
#eduAplctOrd#,
#eduChasiOrd#,
#lctrEvalOrd#,
#lctrEvalDivCd#,
#rspnsRt#,
#ovrlStsfc#,
#cnCnfgr#,
#avrg#,
#prvsRcgnt#,
#aftRcgnt#,
#imprvDegre#,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#
)
</insert>
<!-- 강의평가상세 정보 R -->
<select id="VELctrEvalSmryDAO.selectDetail" parameterClass="VELctrEvalDetailVO" resultClass="VELctrEvalDetailVO">
SELECT
<include refid="VELctrEvalSmryDAO.select_column_name"/>
FROM
<include refid="VELctrEvalSmryDAO.table_name"/> a
WHERE
a.edu_aplct_ord = #eduAplctOrd#
AND a.edu_chasi_ord = #eduChasiOrd#
AND a.lctr_eval_ord = #lctrEvalOrd#
AND a.lctr_eval_div_cd = #lctrEvalDivCd#
</select>
<!-- 강의평가상세 정보 U -->
<update id="VELctrEvalSmryDAO.update" parameterClass="VELctrEvalDetailVO">
UPDATE
<include refid="VELctrEvalSmryDAO.table_name"/>
SET
LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
<isNotEmpty property="rspnsRt">
,rspns_rt=#rspnsRt#
</isNotEmpty>
<isNotEmpty property="ovrlStsfc">
,ovrl_stsfc=#ovrlStsfc#
</isNotEmpty>
<isNotEmpty property="cnCnfgr">
,cn_cnfgr=#cnCnfgr#
</isNotEmpty>
<isNotEmpty property="avrg">
,avrg=#avrg#
</isNotEmpty>
<isNotEmpty property="prvsRcgnt">
,prvs_rcgnt=#prvsRcgnt#
</isNotEmpty>
<isNotEmpty property="aftRcgnt">
,aft_rcgnt=#aftRcgnt#
</isNotEmpty>
<isNotEmpty property="imprvDegre">
,imprv_degre=#imprvDegre#
</isNotEmpty>
WHERE
edu_aplct_ord = #eduAplctOrd#
AND edu_chasi_ord = #eduChasiOrd#
AND lctr_eval_ord = #lctrEvalOrd#
AND lctr_eval_div_cd = #lctrEvalDivCd#
</update>
<!-- 강의평가상세 정보 D -->
<delete id="VELctrEvalSmryDAO.delete" parameterClass="VELctrEvalDetailVO">
DELETE FROM
<include refid="VELctrEvalSmryDAO.table_name"/>
WHERE
edu_aplct_ord = #eduAplctOrd#
AND edu_chasi_ord = #eduChasiOrd#
AND lctr_eval_ord = #lctrEvalOrd#
AND lctr_eval_div_cd = #lctrEvalDivCd#
</delete>
<!-- 강의평가상세 정보 L -->
<select id="VELctrEvalSmryDAO.selectList" parameterClass="VELctrEvalDetailVO" resultClass="VELctrEvalDetailVO">
SELECT
<include refid="VELctrEvalSmryDAO.select_column_name"/>
FROM
<include refid="VELctrEvalSmryDAO.table_name"/> a
WHERE
1=1
</select>
<!-- 강의평가상세 정보 L page -->
<select id="VELctrEvalSmryDAO.selectPagingList" parameterClass="VELctrEvalDetailVO" resultClass="VELctrEvalDetailVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VELctrEvalSmryDAO.select_column_name"/>
FROM
<include refid="VELctrEvalSmryDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="eduAplctOrd">
AND a.edu_aplct_ord=#eduAplctOrd#
</isNotEmpty>
<isNotEmpty property="lctrEvalOrd">
AND a.lctr_eval_ord=#lctrEvalOrd#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.edu_aplct_ord desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
</sqlMap>

View File

@ -0,0 +1,118 @@
<?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="VELctrEvalMIX">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VELctrEvalDetailVO" type="kcc.ve.instr.tngrVisitEdu.lctrEvalInfo.service.VELctrEvalDetailVO"/>
<!-- 공통 테이블 명 -->
<sql id="VELctrEvalMIXDAO.table_name">
ve_lctr_eval_smry
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VELctrEvalMIXDAO.column_name">
edu_aplct_ord,
lctr_eval_ord,
lctr_eval_div_cd,
rspns_rt,
ovrl_stsfc,
cn_cnfgr,
avrg,
prvs_rcgnt,
aft_rcgnt,
imprv_degre,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VELctrEvalMIXDAO.select_column_name">
a.edu_aplct_ord AS eduAplctOrd,
a.lctr_eval_ord AS lctrEvalOrd,
a.lctr_eval_div_cd AS lctrEvalDivCd,
a.rspns_rt AS rspnsRt,
a.ovrl_stsfc AS ovrlStsfc,
a.cn_cnfgr AS cnCnfgr,
a.avrg AS avrg,
a.prvs_rcgnt AS prvsRcgnt,
a.aft_rcgnt AS aftRcgnt,
a.imprv_degre AS imprvDegre,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId
</sql>
<!-- 강의평가상세 정보 R -->
<select id="VELctrEvalMIXDAO.selectDetail" parameterClass="VELctrEvalDetailVO" resultClass="VELctrEvalDetailVO">
SELECT
<include refid="VELctrEvalMIXDAO.select_column_name"/>
FROM
<include refid="VELctrEvalMIXDAO.table_name"/> a
WHERE
a.edu_aplct_ord = #eduAplctOrd#
AND a.lctr_eval_ord = #lctrEvalOrd#
AND a.lctr_eval_div_cd = #lctrEvalDivCd#
</select>
<!-- 강의평가상세 정보 L -->
<select id="VELctrEvalMIXDAO.selectList" parameterClass="VELctrEvalDetailVO" resultClass="VELctrEvalDetailVO">
SELECT
<include refid="VELctrEvalMIXDAO.select_column_name"/>
FROM
<include refid="VELctrEvalMIXDAO.table_name"/> a
WHERE
1=1
</select>
<!-- 강의평가상세 정보 L page -->
<select id="VELctrEvalMIXDAO.selectPagingList" parameterClass="VELctrEvalDetailVO" resultClass="VELctrEvalDetailVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VELctrEvalMIXDAO.select_column_name"/>
FROM
<include refid="VELctrEvalMIXDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="eduAplctOrd">
AND a.edu_aplct_ord=#eduAplctOrd#
</isNotEmpty>
<isNotEmpty property="lctrEvalOrd">
AND a.lctr_eval_ord=#lctrEvalOrd#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.edu_aplct_ord desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
</sqlMap>

View File

@ -0,0 +1,159 @@
<?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="VELctrEval">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VELctrEvalDetailVO" type="kcc.ve.instr.tngrVisitEdu.lctrEvalInfo.service.VELctrEvalDetailVO"/>
<!-- 공통 테이블 명 -->
<sql id="VELctrEvalDAO.table_name">
ve_lctr_eval
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VELctrEvalDAO.column_name">
edu_aplct_ord,
edu_chasi_ord,
lctr_eval_ord,
instr_attend_cnfrm_atch_file_id,
pht_atch_file_id,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VELctrEvalDAO.select_column_name">
a.edu_aplct_ord AS eduAplctOrd,
a.edu_chasi_ord AS eduChasiOrd,
a.lctr_eval_ord AS lctrEvalOrd,
a.instr_attend_cnfrm_atch_file_id AS instrAttendCnfrmAtchFileId,
a.pht_atch_file_id AS phtAtchFileId,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId
</sql>
<!-- 강의평가 등록 C -->
<insert id="VELctrEvalDAO.insert" parameterClass="VELctrEvalDetailVO">
INSERT INTO <include refid="VELctrEvalDAO.table_name"/> (
<include refid="VELctrEvalDAO.column_name"/>
)VALUES(
#eduAplctOrd#,
#eduChasiOrd#,
#lctrEvalOrd#,
#instrAttendCnfrmAtchFileId#,
#phtAtchFileId#,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#
)
</insert>
<!-- 강의평가 정보 R -->
<select id="VELctrEvalDAO.selectDetail" parameterClass="VELctrEvalDetailVO" resultClass="VELctrEvalDetailVO">
SELECT
<include refid="VELctrEvalDAO.select_column_name"/>
FROM
<include refid="VELctrEvalDAO.table_name"/> a
WHERE
a.edu_aplct_ord = #eduAplctOrd#
AND a.edu_chasi_ord = #eduChasiOrd#
AND a.lctr_eval_ord = #lctrEvalOrd#
</select>
<!-- 강의평가 정보 U -->
<update id="VELctrEvalDAO.update" parameterClass="VELctrEvalDetailVO">
UPDATE
<include refid="VELctrEvalDAO.table_name"/>
SET
LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
<isNotEmpty property="instrAttendCnfrmAtchFileId">
,instr_attend_cnfrm_atch_file_id=#instrAttendCnfrmAtchFileId#
</isNotEmpty>
<isNotEmpty property="phtAtchFileId">
,pht_atch_file_id=#phtAtchFileId#
</isNotEmpty>
WHERE
edu_aplct_ord = #eduAplctOrd#
AND edu_chasi_ord = #eduChasiOrd#
AND lctr_eval_ord = #lctrEvalOrd#
</update>
<!-- 강의평가 정보 D -->
<delete id="VELctrEvalDAO.delete" parameterClass="VELctrEvalDetailVO">
DELETE FROM
<include refid="VELctrEvalDAO.table_name"/>
WHERE
edu_aplct_ord = #eduAplctOrd#
AND edu_chasi_ord = #eduChasiOrd#
AND lctr_eval_ord = #lctrEvalOrd#
</delete>
<!-- 강의평가 정보 L -->
<select id="VELctrEvalDAO.selectList" parameterClass="VELctrEvalDetailVO" resultClass="VELctrEvalDetailVO">
SELECT
<include refid="VELctrEvalDAO.select_column_name"/>
FROM
<include refid="VELctrEvalDAO.table_name"/> a
WHERE
1=1
</select>
<!-- 강의평가 정보 L page -->
<select id="VELctrEvalDAO.selectPagingList" parameterClass="VELctrEvalDetailVO" resultClass="VELctrEvalDetailVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VELctrEvalDAO.select_column_name"/>
FROM
<include refid="VELctrEvalDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="eduAplctOrd">
AND a.edu_aplct_ord=#eduAplctOrd#
</isNotEmpty>
<isNotEmpty property="lctrEvalOrd">
AND a.lctr_eval_ord=#lctrEvalOrd#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.edu_aplct_ord desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
</sqlMap>

View File

@ -0,0 +1,104 @@
<?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="VELogMIX">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VELogVO" type="kcc.ve.instr.tngrVisitEdu.logInfo.service.VELogVO"/>
<!-- 공통 테이블 명 -->
<sql id="VELogMIXDAO.table_name">
ve_log
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VELogMIXDAO.column_name">
log_ord,
trgt_tbl_nm,
clmn1,
clmn2,
clmn3,
clmn4,
log_cn,
frst_regist_pnttm,
frst_register_id
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VELogMIXDAO.select_column_name">
a.log_ord AS logOrd,
a.trgt_tbl_nm AS trgtTblNm,
a.clmn1 AS clmn1,
a.clmn2 AS clmn2,
a.clmn3 AS clmn3,
a.clmn4 AS clmn4,
a.log_cn AS logCn,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId
</sql>
<!-- 로그 정보 R -->
<select id="VELogMIXDAO.selectDetail" parameterClass="VELogVO" resultClass="VELogVO">
SELECT
<include refid="VELogMIXDAO.select_column_name"/>
FROM
<include refid="VELogMIXDAO.table_name"/> a
WHERE
a.log_ord = #logOrd#
</select>
<!-- 로그 정보 L -->
<select id="VELogMIXDAO.selectList" parameterClass="VELogVO" resultClass="VELogVO">
SELECT
<include refid="VELogMIXDAO.select_column_name"/>
FROM
<include refid="VELogMIXDAO.table_name"/> a
WHERE
1=1
</select>
<!-- 로그 정보 L page -->
<select id="VELogMIXDAO.selectPagingList" parameterClass="VELogVO" resultClass="VELogVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VELogMIXDAO.select_column_name"/>
FROM
<include refid="VELogMIXDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="logOrd">
AND a.log_ord=#instrDiv#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.log_ord desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
</sqlMap>

View File

@ -0,0 +1,167 @@
<?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="VELog">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VELogVO" type="kcc.ve.instr.tngrVisitEdu.logInfo.service.VELogVO"/>
<!-- 공통 테이블 명 -->
<sql id="VELogDAO.table_name">
ve_log
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VELogDAO.column_name">
log_ord,
trgt_tbl_nm,
clmn1,
clmn2,
clmn3,
clmn4,
log_cn,
frst_regist_pnttm,
frst_register_id
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VELogDAO.select_column_name">
a.log_ord AS logOrd,
a.trgt_tbl_nm AS trgtTblNm,
a.clmn1 AS clmn1,
a.clmn2 AS clmn2,
a.clmn3 AS clmn3,
a.clmn4 AS clmn4,
a.log_cn AS logCn,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId
</sql>
<!-- 로그 등록 C -->
<insert id="VELogDAO.insert" parameterClass="VELogVO">
INSERT INTO <include refid="VELogDAO.table_name"/> (
<include refid="VELogDAO.column_name"/>
)VALUES(
#logOrd#,
#trgtTblNm#,
#clmn1#,
#clmn2#,
#clmn3#,
#clmn4#,
#logCn#,
NOW(),
#frstRegisterId#
)
</insert>
<!-- 로그 정보 R -->
<select id="VELogDAO.selectDetail" parameterClass="VELogVO" resultClass="VELogVO">
SELECT
<include refid="VELogDAO.select_column_name"/>
FROM
<include refid="VELogDAO.table_name"/> a
WHERE
a.log_ord = #logOrd#
</select>
<!-- 로그 정보 U -->
<update id="VELogDAO.update" parameterClass="VELogVO">
UPDATE
<include refid="VELogDAO.table_name"/>
SET
frst_regist_pnttm = NOW()
,frst_register_id = #frstRegisterId#
<isNotEmpty property="logOrd">
,log_ord=#logOrd#
</isNotEmpty>
<isNotEmpty property="trgtTblNm">
,trgt_tbl_nm=#trgtTblNm#
</isNotEmpty>
<isNotEmpty property="clmn1">
,clmn1=#clmn1#
</isNotEmpty>
<isNotEmpty property="clmn2">
,clmn2=#clmn2#
</isNotEmpty>
<isNotEmpty property="clmn3">
,clmn3=#clmn3#
</isNotEmpty>
<isNotEmpty property="clmn4">
,clmn4=#clmn4#
</isNotEmpty>
<isNotEmpty property="logCn">
,log_cn=#logCn#
</isNotEmpty>
WHERE
a.log_ord = #logOrd#
</update>
<!-- 로그 정보 D -->
<delete id="VELogDAO.delete" parameterClass="VELogVO">
DELETE FROM
<include refid="VELogDAO.table_name"/>
WHERE
a.log_ord = #logOrd#
</delete>
<!-- 로그 정보 L -->
<select id="VELogDAO.selectList" parameterClass="VELogVO" resultClass="VELogVO">
SELECT
<include refid="VELogDAO.select_column_name"/>
FROM
<include refid="VELogDAO.table_name"/> a
WHERE
1=1
</select>
<!-- 로그 정보 L page -->
<select id="VELogDAO.selectPagingList" parameterClass="VELogVO" resultClass="VELogVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VELogDAO.select_column_name"/>
FROM
<include refid="VELogDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="logOrd">
AND a.log_ord=#instrDiv#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.log_ord desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
</sqlMap>

View File

@ -0,0 +1,420 @@
<?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="VEPrcsAplctPrd">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEPrcsDetailVO" type="kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEPrcsAplctPrdDAO.table_name">
ve_prcs_aplct_prd
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEPrcsAplctPrdDAO.column_name">
prcs_aplct_prd_ord,
lctr_div_cd,
strt_pnttm,
end_pnttm,
use_yn,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id,
anncm_cn,
popup_cn,
atch_file_id,
title
,dead_line_dt
,prcs_ord
,edu_part_cd
,nos
,ddln_cd
,edu_strt_pnttm
,edu_ddln_pnttm
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEPrcsAplctPrdDAO.select_column_name">
a.prcs_aplct_prd_ord AS prcsAplctPrdOrd,
a.lctr_div_cd AS lctrDivCd,
a.strt_pnttm AS strtPnttm,
a.end_pnttm AS endPnttm,
a.use_yn AS useYn,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId,
a.anncm_cn AS anncmCn,
a.popup_cn AS popupCn,
a.atch_file_id AS atchFileId,
a.title AS title
,a.dead_line_dt AS deadLineDt
,a.prcs_ord AS prcsOrd
,a.edu_part_cd AS eduPartCd
,a.nos AS nos
,a.ddln_cd AS ddlnCd
,a.edu_strt_pnttm AS eduStrtPnttm
,a.edu_ddln_pnttm AS eduDdlnPnttm
</sql>
<!-- 강사 등록 C -->
<insert id="VEPrcsAplctPrdDAO.insert" parameterClass="VEPrcsDetailVO">
INSERT INTO <include refid="VEPrcsAplctPrdDAO.table_name"/> (
<include refid="VEPrcsAplctPrdDAO.column_name"/>
)VALUES(
#prcsAplctPrdOrd#,
#lctrDivCd#,
#strtPnttm#,
#endPnttm#,
#useYn#,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#,
#anncmCn#,
#popupCn#,
#atchFileId#,
#title#
,#deadLineDt#
,#prcsOrd#
,#eduPartCd#
,#nos#
,#ddlnCd#
,#eduStrtPnttm#
,#eduDdlnPnttm#
)
</insert>
<!-- 강사 정보 R -->
<select id="VEPrcsAplctPrdDAO.selectDetail" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
SELECT
<include refid="VEPrcsAplctPrdDAO.select_column_name"/>
FROM
<include refid="VEPrcsAplctPrdDAO.table_name"/> a
WHERE
a.prcs_aplct_prd_ord = #prcsAplctPrdOrd#
</select>
<!-- 강사 정보 U -->
<update id="VEPrcsAplctPrdDAO.update" parameterClass="VEPrcsDetailVO">
UPDATE
<include refid="VEPrcsAplctPrdDAO.table_name"/>
SET
LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
<isNotEmpty property="lctrDivCd">
, lctr_div_cd = #lctrDivCd#
</isNotEmpty>
<isNotEmpty property="strtPnttm">
, strt_pnttm = #strtPnttm#
</isNotEmpty>
<isNotEmpty property="endPnttm">
, end_pnttm = #endPnttm#
</isNotEmpty>
<isNotEmpty property="useYn">
, use_yn = #useYn#
</isNotEmpty>
<isNotEmpty property="title">
, title = #title#
</isNotEmpty>
<isNotEmpty property="anncmCn">
, anncm_cn = #anncmCn#
</isNotEmpty>
<isNotEmpty property="popupCn">
, popup_cn = #popupCn#
</isNotEmpty>
<isNotEmpty property="atchFileId">
, atch_file_id = #atchFileId#
</isNotEmpty>
<isNotEmpty property="deadLineDt">
, dead_line_dt = #deadLineDt#
</isNotEmpty>
<isNotEmpty property="prcsOrd">
, prcs_ord = #prcsOrd#
</isNotEmpty>
<isNotEmpty property="eduPartCd">
, edu_part_cd = #eduPartCd#
</isNotEmpty>
<isNotEmpty property="nos">
, nos = #nos#
</isNotEmpty>
<isNotEmpty property="ddlnCd">
, ddln_cd = #ddlnCd#
</isNotEmpty>
<isNotEmpty property="eduStrtPnttm">
, edu_strt_pnttm = #eduStrtPnttm#
</isNotEmpty>
<isNotEmpty property="eduDdlnPnttm">
, edu_ddln_pnttm = #eduDdlnPnttm#
</isNotEmpty>
WHERE
prcs_aplct_prd_ord = #prcsAplctPrdOrd#
</update>
<!-- 강사 정보 D -->
<delete id="VEPrcsAplctPrdDAO.delete" parameterClass="VEPrcsDetailVO">
DELETE FROM
<include refid="VEPrcsAplctPrdDAO.table_name"/>
WHERE
prcs_aplct_prd_ord = #prcsAplctPrdOrd#
</delete>
<!-- 강사 정보 L -->
<select id="VEPrcsAplctPrdDAO.selectList" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
SELECT
<include refid="VEPrcsAplctPrdDAO.select_column_name"/>
FROM
<include refid="VEPrcsAplctPrdDAO.table_name"/> a
WHERE
1=1
<isEqual property="searchAplctChk" compareValue="Y">
AND USE_YN = 'Y'
AND a.frst_regist_pnttm =
(SELECT MAX(frst_regist_pnttm)
FROM ve_prcs_aplct_prd
)
AND TO_CHAR(NOW(), 'YYMMDD') BETWEEN SUBSTR(a.strt_pnttm,1,6) AND SUBSTR(a.end_pnttm,1,6)
</isEqual>
</select>
<!-- 기반강화등을 위한 신청 가능 과정 L -->
<select id="VEPrcsAplctPrdDAO.selectList4Fndth" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEPrcsAplctPrdDAO.select_column_name"/>
, (SELECT user_nm FROM comvnusermaster WHERE esntl_id = a.frst_register_id) as frstRegisterNm
, (SELECT orignl_file_nm FROM lettnfiledetail WHERE atch_file_id = a.atch_file_id LIMIT 1) as atchFileNm
, b.prcs_nm as prcsNm
FROM
<include refid="VEPrcsAplctPrdDAO.table_name"/> a
, ve_prcs b
WHERE
1=1
AND a.prcs_ord=b.prcs_ord
<isNotEmpty property="lctrDivCd">
AND a.lctr_div_cd=#lctrDivCd#
</isNotEmpty>
<isNotEmpty property="useYn">
AND a.use_yn=#useYn#
</isNotEmpty>
</select>
<!-- 강사 정보 L page -->
<select id="VEPrcsAplctPrdDAO.selectPagingList" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEPrcsAplctPrdDAO.select_column_name"/>
, (SELECT user_nm FROM comvnusermaster WHERE esntl_id = a.frst_register_id) as frstRegisterNm
, (SELECT orignl_file_nm FROM lettnfiledetail WHERE atch_file_id = a.atch_file_id LIMIT 1) as atchFileNm
FROM
<include refid="VEPrcsAplctPrdDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="lctrDivCd">
AND a.lctr_div_cd=#lctrDivCd#
</isNotEmpty>
<isNotEmpty property="prcsAplctPrdOrd">
AND a.prcs_aplct_prd_ord=#prcsAplctPrdOrd#
</isNotEmpty>
<isNotEmpty property="searchKeyword">
AND a.title LIKE '%'|| #searchKeyword# ||'%'
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.prcs_aplct_prd_ord desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<!-- 기반강화, 기소유예 L page -->
<select id="VEPrcsAplctPrdDAO.selectPagingList4Fndth" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEPrcsAplctPrdDAO.select_column_name"/>
, (SELECT user_nm FROM comvnusermaster WHERE esntl_id = a.frst_register_id) as frstRegisterNm
, (SELECT orignl_file_nm FROM lettnfiledetail WHERE atch_file_id = a.atch_file_id LIMIT 1) as atchFileNm
, b.prcs_nm as prcsNm
, (SELECT COUNT(*)
FROM ve_edu_aplct x
WHERE x.prcs_ord = a.prcs_aplct_prd_ord
AND x.sbmt_yn='Y'
) AS nosCnt1
/*
신청자 정보
*/
FROM
<include refid="VEPrcsAplctPrdDAO.table_name"/> a
, ve_prcs b
WHERE
1=1
AND a.prcs_ord=b.prcs_ord
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="lctrDivCd">
AND a.lctr_div_cd=#lctrDivCd#
</isNotEmpty>
<isNotEmpty property="prcsAplctPrdOrd">
AND a.prcs_aplct_prd_ord=#prcsAplctPrdOrd#
</isNotEmpty>
<isNotEmpty property="searchKeyword">
AND b.prcs_nm LIKE '%'|| #searchKeyword# ||'%'
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.prcs_aplct_prd_ord desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<!-- 강사 정보 R -->
<select id="VEPrcsAplctPrdDAO.selectDetailNewOne" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
SELECT COUNT(1) OVER() AS totCnt ,
a.prcs_aplct_prd_ord AS prcsAplctPrdOrd,
a.lctr_div_cd AS lctrDivCd,
a.strt_pnttm AS strtPnttm,
a.end_pnttm AS endPnttm,
a.use_yn AS useYn,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId,
a.anncm_cn AS anncmCn,
a.popup_cn AS popupCn,
a.atch_file_id AS atchFileId,
a.title AS title ,
(SELECT user_nm
FROM comvnusermaster
WHERE esntl_id = a.frst_register_id
)
AS frstRegisterNm ,
(SELECT orignl_file_nm
FROM lettnfiledetail
WHERE atch_file_id = a.atch_file_id LIMIT 1
)
AS atchFileNm
FROM ve_prcs_aplct_prd a
WHERE 1 = 1
AND
a.use_yn = 'Y'
ORDER BY a.strt_pnttm DESC
LIMIT 1
</select>
<!-- 강사 정보 R -->
<select id="VEPrcsAplctPrdDAO.selectDetailNewOne4Fndth" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
SELECT COUNT(1) OVER() AS totCnt ,
a.prcs_aplct_prd_ord AS prcsAplctPrdOrd,
a.lctr_div_cd AS lctrDivCd,
a.strt_pnttm AS strtPnttm,
a.end_pnttm AS endPnttm,
a.use_yn AS useYn,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId,
a.anncm_cn AS anncmCn,
a.popup_cn AS popupCn,
a.atch_file_id AS atchFileId,
a.title AS title ,
(SELECT user_nm
FROM comvnusermaster
WHERE esntl_id = a.frst_register_id
)
AS frstRegisterNm ,
(SELECT orignl_file_nm
FROM lettnfiledetail
WHERE atch_file_id = a.atch_file_id LIMIT 1
)
AS atchFileNm
, b.prcs_nm as prcsNm
,a.dead_line_dt AS deadLineDt
,a.prcs_ord AS prcsOrd
,a.edu_part_cd AS eduPartCd
,a.nos AS nos
,a.ddln_cd AS ddlnCd
,a.edu_strt_pnttm AS eduStrtPnttm
,a.edu_ddln_pnttm AS eduDdlnPnttm
FROM ve_prcs_aplct_prd a
, ve_prcs b
WHERE
1=1
AND a.prcs_ord=b.prcs_ord
<isNotEmpty property="prcsAplctPrdOrd">
AND a.prcs_aplct_prd_ord=#prcsAplctPrdOrd#
</isNotEmpty>
ORDER BY a.strt_pnttm DESC
LIMIT 1
</select>
</sqlMap>

View File

@ -0,0 +1,244 @@
<?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="VEPrcsCmpltDetail">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEPrcsCntntVO" type="kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsCntntVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEPrcsCmpltDetailDAO.table_name">
ve_prcs_cmplt_detail
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEPrcsCmpltDetailDAO.column_name">
edu_aplct_ord,
prcs_ord,
prcs_onln_cntnt_ord,
edu_strt_dt,
edu_end_dt,
edu_prsnl,
SBMT_YN,
SBMT_PNTTM,
SBMT_id,
APRVL_CD,
APRVL_PNTTM,
APRVL_ID,
APRVL_CN,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEPrcsCmpltDetailDAO.select_column_name">
a.edu_aplct_ord AS eduAplctOrd,
a.prcs_ord AS prcsOrd,
a.prcs_onln_cntnt_ord AS prcsOnlnCntntOrd,
IF (LENGTH(a.edu_strt_dt) =8 ,CONCAT(SUBSTRING(a.edu_strt_dt,1,4), '.', SUBSTRING(a.edu_strt_dt,5,2), '.', SUBSTRING(a.edu_strt_dt,7,2)), a.edu_strt_dt) AS eduStrtDt,
IF (LENGTH(a.edu_end_dt) =8 ,CONCAT(SUBSTRING(a.edu_end_dt,1,4), '.', SUBSTRING(a.edu_end_dt,5,2), '.', SUBSTRING(a.edu_end_dt,7,2)), a.edu_end_dt) AS eduEndDt,
/*
a.edu_strt_dt AS eduStrtDt,
a.edu_end_dt AS eduEndDt,
*/
a.edu_prsnl AS eduPrsnl,
a.SBMT_YN AS sbmtYn,
a.SBMT_PNTTM AS sbmtPnttm,
a.SBMT_id AS sbmtId,
a.APRVL_CD AS aprvlCd,
a.APRVL_PNTTM AS aprvlPnttm,
a.APRVL_ID AS aprvlId,
a.APRVL_CN AS aprvlCn,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId
</sql>
<!-- 강사 등록 C -->
<insert id="VEPrcsCmpltDetailDAO.insert" parameterClass="VEPrcsCntntVO">
INSERT INTO <include refid="VEPrcsCmpltDetailDAO.table_name"/> (
<include refid="VEPrcsCmpltDetailDAO.column_name"/>
)VALUES(
#eduAplctOrd#,
#prcsOrd#,
#prcsOnlnCntntOrd#,
REPLACE(#eduStrtDt#, '.' , ''),
REPLACE(#eduEndDt#, '.' , ''),
#eduPrsnl#,
#sbmtYn#,
IF(#sbmtYn# = 'Y' , NOW() , NULL),
#sbmtId#,
#aprvlCd#,
IF(#aprvlCd# IS NOT NULL , NOW() , NULL),
#aprvlId#,
#aprvlCn#,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#
)
</insert>
<!-- 강사 정보 R -->
<select id="VEPrcsCmpltDetailDAO.selectDetail" parameterClass="VEPrcsCntntVO" resultClass="VEPrcsCntntVO">
SELECT
<include refid="VEPrcsCmpltDetailDAO.select_column_name"/>
FROM
<include refid="VEPrcsCmpltDetailDAO.table_name"/> a
WHERE
a.edu_aplct_ord = #eduAplctOrd#
AND a.prcs_ord = #prcsOrd#
ADD a.prcs_onln_cntnt_ord = #prcsOnlnCntntOrd#
</select>
<!-- 강사 정보 U -->
<update id="VEPrcsCmpltDetailDAO.update" parameterClass="VEPrcsCntntVO">
UPDATE
<include refid="VEPrcsCmpltDetailDAO.table_name"/>
SET
LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
<isNotEmpty property="sbmtYn">
, SBMT_YN = #sbmtYn#
, SBMT_PNTTM = IF(#sbmtYn# = 'Y', NOW(), NULL)
</isNotEmpty>
<isNotEmpty property="sbmtId">
, SBMT_ID = #sbmtId#
</isNotEmpty>
<isNotEmpty property="aprvlCd">
, APRVL_CD = #aprvlCd#
, APRVL_PNTTM = NOW()
</isNotEmpty>
<isNotEmpty property="aprvlCn">
, APRVL_CN = #aprvlCn#
</isNotEmpty>
WHERE
edu_aplct_ord = #eduAplctOrd#
AND prcs_ord = #prcsOrd#
ADD prcs_onln_cntnt_ord = #prcsOnlnCntntOrd#
</update>
<!-- 강사 정보 U -->
<update id="VEPrcsCmpltDetailDAO.updateBulk" parameterClass="VEPrcsCntntVO">
INSERT INTO <include refid="VEPrcsCmpltDetailDAO.table_name"/>
(
edu_aplct_ord,
prcs_ord,
frst_regist_pnttm,
frst_register_id
)
SELECT #eduAplctOrd#,prcs_ord, NOW(),#lastUpdusrId#
FROM ve_prcs_onln_cntnt
WHERE prcs_ord=#prcsOrd#
AND use_yn='Y'
ON DUPLICATE KEY UPDATE
last_updt_pnttm=now(),
last_updusr_id=#lastUpdusrId#
</update>
<!-- 강사 정보 D -->
<delete id="VEPrcsCmpltDetailDAO.delete" parameterClass="VEPrcsCntntVO">
DELETE FROM
<include refid="VEPrcsCmpltDetailDAO.table_name"/>
WHERE
edu_aplct_ord = #eduAplctOrd#
<isNotEmpty property="prcsOrd">
AND prcs_ord = #prcsOrd#
</isNotEmpty>
<isNotEmpty property="prcsOnlnCntntOrd">
AND prcs_onln_cntnt_ord = #prcsOnlnCntntOrd#
</isNotEmpty>
</delete>
<!-- 강사 정보 L -->
<select id="VEPrcsCmpltDetailDAO.selectList" parameterClass="VEPrcsCntntVO" resultClass="VEPrcsCntntVO">
SELECT
<include refid="VEPrcsCmpltDetailDAO.select_column_name"/>
FROM
<include refid="VEPrcsCmpltDetailDAO.table_name"/> a
WHERE
1=1
</select>
<!-- 강사 정보 L page -->
<select id="VEPrcsCmpltDetailDAO.selectPagingList" parameterClass="VEPrcsCntntVO" resultClass="VEPrcsCntntVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEPrcsCmpltDetailDAO.select_column_name"/>
, b.prcs_nm AS prcsNm
, c.detail_prcs_nm AS detailPrcsNm
FROM
<include refid="VEPrcsCmpltDetailDAO.table_name"/> a
INNER JOIN ve_prcs b
ON a.prcs_ord = b.prcs_ord
INNER JOIN ve_prcs_onln_cntnt c
ON c.prcs_onln_cntnt_ord = a.prcs_onln_cntnt_ord
WHERE
1=1
<isNotEmpty property="eduAplctOrd">
AND a.edu_aplct_ord=#eduAplctOrd#
</isNotEmpty>
<isNotEmpty property="prcsOrd">
AND a.prcs_ord = #prcsOrd#
</isNotEmpty>
<isNotEmpty property="prcsOnlnCntntOrd">
AND a.prcs_onln_cntnt_ord=#prcsOnlnCntntOrd#
</isNotEmpty>
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.edu_aplct_ord desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</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="VEPrcsOnlnCntnt">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEPrcsCntntVO" type="kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsCntntVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEPrcsOnlnCntntDAO.table_name">
ve_prcs_onln_cntnt
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEPrcsOnlnCntntDAO.column_name">
prcs_ord,
prcs_onln_cntnt_ord,
onln_cntnt_div_cd,
detail_prcs_nm,
chasi,
use_yn,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEPrcsOnlnCntntDAO.select_column_name">
a.prcs_ord AS prcsOrd,
a.prcs_onln_cntnt_ord AS prcsOnlnCntntOrd,
a.onln_cntnt_div_cd AS onlnCntntDivCd,
a.detail_prcs_nm AS detailPrcsNm,
a.chasi AS chasi,
a.use_yn AS useYn,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId
</sql>
<!-- 강사 등록 C -->
<insert id="VEPrcsOnlnCntntDAO.insert" parameterClass="VEPrcsCntntVO">
INSERT INTO <include refid="VEPrcsOnlnCntntDAO.table_name"/> (
<include refid="VEPrcsOnlnCntntDAO.column_name"/>
)VALUES(
#prcsOrd#,
#prcsOnlnCntntOrd#,
#onlnCntntDivCd#,
#detailPrcsNm#,
#chasi#,
#useYn#,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#
)
</insert>
<!-- 강사 정보 R -->
<select id="VEPrcsOnlnCntntDAO.selectDetail" parameterClass="VEPrcsCntntVO" resultClass="VEPrcsCntntVO">
SELECT
<include refid="VEPrcsOnlnCntntDAO.select_column_name"/>
FROM
<include refid="VEPrcsOnlnCntntDAO.table_name"/> A
WHERE A.PRCS_ORD = #prcsOrd#
AND A.PRCS_ONLN_CNTNT_ORD = #prcsOnlnCntntOrd#
</select>
<!-- 강사 정보 U -->
<update id="VEPrcsOnlnCntntDAO.update" parameterClass="VEPrcsCntntVO">
UPDATE
<include refid="VEPrcsOnlnCntntDAO.table_name"/>
SET
LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
<isNotEmpty property="onlnCntntDivCd">
, onln_cntnt_div_cd = #onlnCntntDivCd#
</isNotEmpty>
<isNotEmpty property="detailPrcsNm">
, detail_prcs_nm = #detailPrcsNm#
</isNotEmpty>
<isNotEmpty property="chasi">
, chasi = #chasi#
</isNotEmpty>
<isNotEmpty property="useYn">
, use_yn = #useYn#
</isNotEmpty>
WHERE
prcs_ord = #prcsOrd#
AND prcs_onln_cntnt_ord = #prcsOnlnCntntOrd#
</update>
<!-- 강사 정보 D -->
<delete id="VEPrcsOnlnCntntDAO.delete" parameterClass="VEPrcsCntntVO">
DELETE FROM
<include refid="VEPrcsOnlnCntntDAO.table_name"/>
WHERE
prcs_ord = #prcsOrd#
AND prcs_onln_cntnt_ord = #prcsOnlnCntntOrd#
</delete>
<!-- 강사 정보 D -->
<delete id="VEPrcsOnlnCntntDAO.deleteAll" parameterClass="VEPrcsCntntVO">
DELETE FROM
<include refid="VEPrcsOnlnCntntDAO.table_name"/>
WHERE
prcs_ord = #prcsOrd#
</delete>
<!-- 강사 정보 L -->
<select id="VEPrcsOnlnCntntDAO.selectList" parameterClass="VEPrcsCntntVO" resultClass="VEPrcsCntntVO">
SELECT <include refid="VEPrcsOnlnCntntDAO.select_column_name"/>
FROM <include refid="VEPrcsOnlnCntntDAO.table_name"/> A
WHERE 1=1
<isNotEmpty property="prcsOrd">
AND A.PRCS_ORD = #prcsOrd#
</isNotEmpty>
</select>
<!-- 강사 정보 L page -->
<select id="VEPrcsOnlnCntntDAO.selectPagingList" parameterClass="VEPrcsCntntVO" resultClass="VEPrcsCntntVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEPrcsOnlnCntntDAO.select_column_name"/>
FROM
<include refid="VEPrcsOnlnCntntDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="prcsOrd">
AND a.prcs_ord=#prcsOrd#
</isNotEmpty>
<isNotEmpty property="prcsAplctPrdOrd">
AND a.prcs_aplct_prd_ord=#prcsAplctPrdOrd#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.prcs_ord desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<select id="VEPrcsOnlnCntntDAO.selectChkPersonList" parameterClass="HashMap" resultClass="kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO">
SELECT
T1.instr_div AS instrDiv,
T1.user_id AS userId,
T1.instr_detail_ord AS instrDetailOrd,
T1.instr_nm AS instrNm,
T1.phone AS phone,
T1.email AS email,
T1.post AS post,
T1.addr AS addr,
T1.addr_detail AS addrDetail,
T1.rsdne AS rsdne,
T1.d_birth AS dBirth,
T1.final_schol AS finalSchol,
T1.mjr AS mjr,
T1.appt_yr AS apptYr,
T1.actvt_carer AS actvtCarer,
T1.mn_lctr_cn AS mnLctrCn,
T1.pht_atch_file_id AS phtAtchFileId,
T1.blng AS blng,
T1.pstn AS pstn,
T1.prfsn_fld AS prfsnFld,
T1.sbmt_yn AS sbmtYn,
T1.sbmt_pnttm AS sbmtPnttm,
T1.aprvl_cd AS aprvlCd,
T1.aprvl_pnttm AS aprvlPnttm,
T1.aprvl_id AS aprvlId,
T1.aprvl_cn AS aprvlCn,
DATE_FORMAT(T1.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
T1.frst_register_id AS frstRegisterId,
DATE_FORMAT(T1.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
T1.last_updusr_id AS lastUpdusrId,
T1.use_yn AS useYn,
T1.qlfct_end_yn AS qlfctEndYn,
T1.qlfct_end_pnttm AS qlfctEndPnttm,
T1.qlfct_end_cn AS qlfctEndCn,
T1.appt_dt AS apptDt,
T1.hchk_dt AS hchkDt,
T1.rmrks AS rmrks
FROM ve_instr_detail T1
WHERE T1.INSTR_DIV = '10'
AND T1.USE_YN = 'Y'
AND
<iterate open="(" close=")" conjunction="," property="paramArray" prepend="T1.USER_ID IN " >
#paramArray[]#
</iterate>
</select>
</sqlMap>

View File

@ -0,0 +1,101 @@
<?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="VEPrcsMIX">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEPrcsDetailVO" type="kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEPrcsMIXDAO.table_name">
ve_prcs
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEPrcsMIXDAO.column_name">
prcs_ord,
prcs_nm,
prcs_cn,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEPrcsMIXDAO.select_column_name">
a.prcs_ord AS prcsOrd,
a.prcs_nm AS prcsNm,
a.prcs_cn AS prcsCn,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId
</sql>
<!-- 강사 정보 R -->
<select id="VEPrcsMIXDAO.selectDetail" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
SELECT
<include refid="VEPrcsMIXDAO.select_column_name"/>
FROM
<include refid="VEPrcsMIXDAO.table_name"/> a
WHERE
a.prcs_ord = #prcsOrd#
</select>
<!-- 강사 정보 L -->
<select id="VEPrcsMIXDAO.selectList" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
SELECT
<include refid="VEPrcsMIXDAO.select_column_name"/>
FROM
<include refid="VEPrcsMIXDAO.table_name"/> a
WHERE
1=1
</select>
<!-- 강사 정보 L page -->
<select id="VEPrcsMIXDAO.selectPagingList" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEPrcsMIXDAO.select_column_name"/>
FROM
<include refid="VEPrcsMIXDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="prcsOrd">
AND a.prcs_ord=#prcsOrd#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.prcs_ord desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
</sqlMap>

View File

@ -0,0 +1,332 @@
<?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="VEPrcs">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEPrcsDetailVO" type="kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEPrcsDAO.table_name">
VE_PRCS
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEPrcsDAO.column_name">
prcs_ord,
prcs_div,
prcs_kind,
prcs_nm,
prcs_cn,
prcs_sort_no,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id,
lctr_div_cd,
use_yn
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEPrcsDAO.select_column_name">
A.PRCS_ORD AS prcsOrd,
A.PRCS_DIV AS prcsDiv,
A.PRCS_KIND AS prcsKind,
A.PRCS_NM AS prcsNm,
A.PRCS_CN AS prcsCn,
A.PRCS_SORT_NO AS prcsSortNo,
DATE_FORMAT(A.FRST_REGIST_PNTTM,'%Y-%m-%d') AS frstRegistPnttm,
A.FRST_REGISTER_ID AS frstRegisterId,
DATE_FORMAT(A.LAST_UPDT_PNTTM,'%Y-%m-%d') AS lastUpdtPnttm,
A.LAST_UPDUSR_ID AS lastUpdusrId,
A.LCTR_DIV_CD AS lctrDivCd,
A.USE_YN AS useYn
</sql>
<!-- 강사 등록 C -->
<insert id="VEPrcsDAO.insert" parameterClass="VEPrcsDetailVO">
INSERT INTO <include refid="VEPrcsDAO.table_name"/> (
<include refid="VEPrcsDAO.column_name"/>
)VALUES(
#prcsOrd#,
#prcsDiv#,
#prcsKind#,
#prcsNm#,
#prcsCn#,
#prcsSortNo#,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#,
#lctrDivCd#,
#useYn#
)
</insert>
<!-- 강사 정보 R -->
<select id="VEPrcsDAO.selectDetail" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
SELECT
<include refid="VEPrcsDAO.select_column_name"/>
FROM
<include refid="VEPrcsDAO.table_name"/> a
WHERE
a.prcs_ord = #prcsOrd#
</select>
<!-- 강사 정보 U -->
<update id="VEPrcsDAO.update" parameterClass="VEPrcsDetailVO">
UPDATE
<include refid="VEPrcsDAO.table_name"/>
SET
LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
, prcs_kind = #prcsKind#
<isNotEmpty property="prcsDiv">
,prcs_div = #prcsDiv#
</isNotEmpty>
<isNotEmpty property="prcsNm">
,prcs_nm = #prcsNm#
</isNotEmpty>
<isNotEmpty property="prcsCn">
,prcs_cn = #prcsCn#
</isNotEmpty>
<isNotEmpty property="lctrDivCd">
,lctr_div_cd = #lctrDivCd#
</isNotEmpty>
<isNotEmpty property="useYn">
,use_yn = #useYn#
</isNotEmpty>
<isNotEmpty property="prcsSortNo">
,prcs_sort_no = #prcsSortNo#
</isNotEmpty>
WHERE
prcs_ord = #prcsOrd#
</update>
<!-- 강사 정보 D -->
<delete id="VEPrcsDAO.delete" parameterClass="VEPrcsDetailVO">
DELETE FROM
<include refid="VEPrcsDAO.table_name"/>
WHERE
prcs_ord = #prcsOrd#
</delete>
<!-- 강사 정보 L -->
<select id="VEPrcsDAO.selectList" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
SELECT <include refid="VEPrcsDAO.select_column_name"/>
, B.CNT
FROM <include refid="VEPrcsDAO.table_name"/> A ,
(
SELECT PRCS_ORD, COUNT(*) CNT
FROM VE_PRCS_ONLN_CNTNT A
GROUP BY PRCS_ORD
)B
WHERE 1=1
AND A.PRCS_ORD = B.PRCS_ORD
<isNotEmpty property="lctrDivCd">
AND A.LCTR_DIV_CD = #lctrDivCd#
</isNotEmpty>
<isNotEmpty property="useYn">
AND A.USE_YN = #useYn#
</isNotEmpty>
</select>
<select id="VEPrcsDAO.selectTngrPrcsList" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
SELECT
<include refid="VEPrcsDAO.select_column_name"/>
FROM <include refid="VEPrcsDAO.table_name"/> A
WHERE 1=1
AND A.USE_YN = #useYn#
AND A.LCTR_DIV_CD = #lctrDivCd#
</select>
<select id="VEPrcsDAO.selectMberEduAplctPrcsList" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
SELECT
<include refid="VEPrcsDAO.select_column_name"/>
, c.cnt
FROM VE_EDU_APLCT_ONLN B , <include refid="VEPrcsDAO.table_name"/> A
,(
SELECT PRCS_ORD, COUNT(*) cnt
FROM VE_PRCS_ONLN_CNTNT
GROUP BY PRCS_ORD
)c
WHERE B.EDU_APLCT_ORD = #eduAplctOrd#
AND B.PRCS_ORD = A.PRCS_ORD
AND A.PRCS_ORD = C.PRCS_ORD
<isNotEmpty property="useYn">
AND A.USE_YN = #useYn#
</isNotEmpty>
</select>
<!-- 강사 정보 L page -->
<select id="VEPrcsDAO.selectPagingList" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEPrcsDAO.select_column_name"/>
<!-- , b.cnt -->
FROM
<include refid="VEPrcsDAO.table_name"/> a
<!-- , (
SELECT
prcs_ord
, COUNT(*) cnt
FROM
ve_prcs_onln_cntnt a
GROUP BY prcs_ord
)b -->
WHERE
1=1
<!-- AND a.prcs_ord=b.prcs_ord -->
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="prcsDiv">
AND a.prcs_div=#prcsDiv#
</isNotEmpty>
<isNotEmpty property="searchStatusArr">
<iterate open="(" close=")" conjunction="," property="searchStatusArr" prepend="AND a.prcs_kind IN " >#searchStatusArr[]#</iterate>
</isNotEmpty>
<isNotEmpty property="searchStatus">
AND a.prcs_div = #searchStatus#
</isNotEmpty>
<isNotEmpty property="prcsOrd">
AND a.prcs_ord=#prcsOrd#
</isNotEmpty>
<isNotEmpty property="lctrDivCd">
AND a.lctr_div_cd=#lctrDivCd#
</isNotEmpty>
<isNotEmpty property="searchSmbtStartDt">
/*등록일시*/
AND TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYYMMDD') <![CDATA[ >= ]]> REPLACE(#searchSmbtStartDt#, '.' , '')
</isNotEmpty>
<isNotEmpty property="searchSmbtEndDt">
/*등록일시*/
AND TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYYMMDD') <![CDATA[ <= ]]> REPLACE(#searchSmbtEndDt#, '.' , '')
</isNotEmpty>
ORDER BY 1=1
, (a.prcs_sort_no * 1)
<isEmpty property="orderByQuery">
, a.prcs_ord desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<sql id="VEPRCSDAO.EDU_PRCS_JOIN">
LEFT OUTER JOIN VE_EDU_APLCT_ONLN B
ON A.PRCS_ORD = B.PRCS_ORD
AND B.EDU_APLCT_ORD = #eduAplctOrd#
</sql>
<sql id="VEPRCSDAO.EDU_PRCS_COLUMN_NAME">
IF(B.EDU_APLCT_ORD IS NOT NULL, 'Y', 'N') AS checkYn,
</sql>
<select id="VEPrcsDAO.selectPrcsList" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
SELECT
(SELECT COUNT(1) FROM VE_PRCS_ONLN_CNTNT WHERE PRCS_ORD = A.PRCS_ORD) AS chasiCnt,
COUNT(A.PRCS_DIV) OVER(PARTITION BY A.PRCS_DIV) AS rowCnt,
IF(B.EDU_APLCT_ORD IS NOT NULL, 'Y', 'N') AS checkYn,
(SELECT END_PNTTM FROM VE_PRCS_APLCT_PRD WHERE USE_YN = 'Y' order by frst_regist_pnttm DESC limit 1) AS endPnttm,
<include refid="VEPrcsDAO.select_column_name"/>
FROM <include refid="VEPrcsDAO.table_name"/> A
<isNotEmpty property="mode">
<isEqual property="mode" compareValue="DETAIL">
INNER JOIN
</isEqual>
<isNotEqual property="mode" compareValue="DETAIL">
LEFT OUTER JOIN
</isNotEqual>
</isNotEmpty>
<isEmpty property="mode">
LEFT OUTER JOIN
</isEmpty> VE_EDU_APLCT_ONLN B
ON A.PRCS_ORD = B.PRCS_ORD
AND B.EDU_APLCT_ORD = #eduAplctOrd#
WHERE 1=1
AND LCTR_DIV_CD = #lctrDivCd#
<isNotEmpty property="useYn">
AND A.USE_YN = #useYn#
</isNotEmpty>
ORDER BY A.PRCS_DIV, (A.PRCS_SORT_NO * 1)
</select>
<select id="VEPrcsDAO.selectPrcsDetailList" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
SELECT
COUNT(A.PRCS_DIV) OVER(PARTITION BY A.PRCS_DIV) AS rowCnt,
COUNT(C.PRCS_ORD) OVER(PARTITION BY A.PRCS_ORD) AS rowDtlCnt,
IF(D.PRCS_ONLN_CNTNT_ORD IS NOT NULL, 'Y', 'N') AS checkYn,
C.PRCS_ONLN_CNTNT_ORD AS prcsOnlnCntntOrd,
C.ONLN_CNTNT_DIV_CD AS onlnCntntDivCd,
C.DETAIL_PRCS_NM AS detailPrcsNm,
D.EDU_STRT_DT AS eduStrtDt,
D.EDU_END_DT AS eduEndDt,
D.EDU_PRSNL AS eduPrsnl,
<include refid="VEPrcsDAO.select_column_name"/>
FROM <include refid="VEPrcsDAO.table_name"/> A
INNER JOIN VE_EDU_APLCT_ONLN B
ON A.PRCS_ORD = B.PRCS_ORD
AND B.EDU_APLCT_ORD = #eduAplctOrd#
INNER JOIN VE_PRCS_ONLN_CNTNT C
ON A.PRCS_ORD = C.PRCS_ORD
<isNotEmpty property="mode">
<isEqual property="mode" compareValue="DETAIL">
INNER JOIN
</isEqual>
<isNotEqual property="mode" compareValue="DETAIL">
LEFT OUTER JOIN
</isNotEqual>
</isNotEmpty>
<isEmpty property="mode">
LEFT OUTER JOIN
</isEmpty> VE_PRCS_CMPLT_DETAIL D
ON C.PRCS_ORD = D.PRCS_ORD
AND C.PRCS_ONLN_CNTNT_ORD = D.PRCS_ONLN_CNTNT_ORD
AND D.EDU_APLCT_ORD = #eduAplctOrd#
WHERE 1=1
AND A.LCTR_DIV_CD = #lctrDivCd#
AND A.USE_YN = 'Y'
AND C.USE_YN = 'Y'
<isNotEmpty property="prcsOrd">
AND C.PRCS_ORD = #prcsOrd#
</isNotEmpty>
<isEqual property="searchCondition" compareValue="groupby">
GROUP BY C.PRCS_ORD
</isEqual>
</select>
<update id="VEPrcsDAO.updatePrcsSort" parameterClass="VEPrcsDetailVO">
UPDATE VE_PRCS SET
PRCS_SORT_NO = #prcsSortNo#
, LAST_UPDUSR_ID = #lastUpdusrId#
, LAST_UPDT_PNTTM = NOW()
WHERE PRCS_ORD = #prcsOrd#
</update>
</sqlMap>

View File

@ -0,0 +1,198 @@
<?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="VEEduChasiMidleRprt">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEEduRprtVO" type="kcc.ve.instr.tngrVisitEdu.rprtInfo.service.VEEduRprtVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEEduChasiMidleRprtDAO.table_name">
ve_edu_chasi_midle_rprt
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEEduChasiMidleRprtDAO.column_name">
edu_aplct_ord,
edu_chasi_ord,
edu_dt,
edu_sbjct,
edu_cn,
evdnc_pht_atch_file_id,
sbmt_yn,
sbmt_pnttm,
aprvl_cd,
aprvl_pnttm,
aprvl_id,
aprvl_cn,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEEduChasiMidleRprtDAO.select_column_name">
a.edu_aplct_ord AS eduAplctOrd,
a.edu_chasi_ord AS eduChasiOrd,
a.edu_dt AS eduDt,
a.edu_sbjct AS eduSbjct,
a.edu_cn AS eduCn,
a.evdnc_pht_atch_file_id AS evdncPhtAtchFileId,
a.sbmt_yn AS sbmtYn,
a.sbmt_pnttm AS sbmtPnttm,
a.aprvl_cd AS aprvlCd,
a.aprvl_pnttm AS aprvlPnttm,
a.aprvl_id AS aprvlId,
a.aprvl_cn AS aprvlCn,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId
</sql>
<!-- 강사 등록 C -->
<insert id="VEEduChasiMidleRprtDAO.insert" parameterClass="VEEduRprtVO">
INSERT INTO <include refid="VEEduChasiMidleRprtDAO.table_name"/> (
<include refid="VEEduChasiMidleRprtDAO.column_name"/>
)VALUES(
#eduAplctOrd#,
#eduChasiOrd#,
#eduDt#,
#eduSbjct#,
#eduCn#,
#evdncPhtAtchFileId#,
#sbmtYn#,
#sbmtPnttm#,
#aprvlCd#,
#aprvlPnttm#,
#aprvlId#,
#aprvlCn#,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#
)
</insert>
<!-- 강사 정보 R -->
<select id="VEEduChasiMidleRprtDAO.selectDetail" parameterClass="VEEduRprtVO" resultClass="VEEduRprtVO">
SELECT
<include refid="VEEduChasiMidleRprtDAO.select_column_name"/>
FROM
<include refid="VEEduChasiMidleRprtDAO.table_name"/> a
WHERE
a.edu_aplct_ord = #eduAplctOrd#
AND a.edu_chasi_ord = #eduChasiOrd#
</select>
<!-- 강사 정보 U -->
<update id="VEEduChasiMidleRprtDAO.update" parameterClass="VEEduRprtVO">
UPDATE
<include refid="VEEduChasiMidleRprtDAO.table_name"/>
SET
LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
<isNotEmpty property="eduDt">
, edu_dt = #eduDt#
</isNotEmpty><isNotEmpty property="eduSbjct">
, edu_sbjct = #eduSbjct#
</isNotEmpty><isNotEmpty property="eduCn">
, edu_cn = #eduCn#
</isNotEmpty><isNotEmpty property="evdncPhtAtchFileId">
, evdnc_pht_atch_file_id = #evdncPhtAtchFileId#
</isNotEmpty><isNotEmpty property="sbmtYn">
, sbmt_yn = #sbmtYn#
</isNotEmpty><isNotEmpty property="sbmtPnttm">
, sbmt_pnttm = #sbmtPnttm#
</isNotEmpty><isNotEmpty property="aprvlCd">
, aprvl_cd = #aprvlCd#
</isNotEmpty><isNotEmpty property="aprvlPnttm">
, aprvl_pnttm = #aprvlPnttm#
</isNotEmpty><isNotEmpty property="aprvlId">
, aprvl_id = #aprvlId#
</isNotEmpty><isNotEmpty property="aprvlCn">
, aprvl_cn = #aprvlCn#
</isNotEmpty>
WHERE
edu_aplct_ord = #eduAplctOrd#
AND edu_chasi_ord = #eduChasiOrd#
</update>
<!-- 강사 정보 D -->
<delete id="VEEduChasiMidleRprtDAO.delete" parameterClass="VEEduRprtVO">
DELETE FROM
<include refid="VEEduChasiMidleRprtDAO.table_name"/>
WHERE
a.edu_aplct_ord = #eduAplctOrd#
AND a.edu_chasi_ord = #eduChasiOrd#
</delete>
<!-- 강사 정보 L -->
<select id="VEEduChasiMidleRprtDAO.selectList" parameterClass="VEEduRprtVO" resultClass="VEEduRprtVO">
SELECT
<include refid="VEEduChasiMidleRprtDAO.select_column_name"/>
FROM
<include refid="VEEduChasiMidleRprtDAO.table_name"/> a
WHERE
1=1
</select>
<!-- 강사 정보 L page -->
<select id="VEEduChasiMidleRprtDAO.selectPagingList" parameterClass="VEEduRprtVO" resultClass="VEEduRprtVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEEduChasiMidleRprtDAO.select_column_name"/>
FROM
<include refid="VEEduChasiMidleRprtDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="eduAplctOrd">
AND a.edu_aplct_ord=#eduAplctOrd#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.edu_aplct_ord desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
</sqlMap>

View File

@ -0,0 +1,132 @@
<?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="VEEduRprt">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEEduRprtVO" type="kcc.ve.instr.tngrVisitEdu.rprtInfo.service.VEEduRprtVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEEduRprtDAO.table_name">
ve_edu_rslt_rprt
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEEduRprtDAO.column_name">
edu_aplct_ord,
edu_chasi_ord,
sbmt_yn,
sbmt_pnttm,
aprvl_cd,
aprvl_pnttm,
aprvl_id,
aprvl_cn,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id,
orgnl_rslt_atch_file_id,
cpy_rslt_atch_file_id,
evdnc_pht_atch_file_id,
rmt_trn_atch_file_id,
atch_file_id,
unq_isues,
sgstn_isues
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEEduRprtDAO.select_column_name">
a.edu_aplct_ord AS eduAplctOrd,
a.edu_chasi_ord AS eduChasiOrd,
a.sbmt_yn AS sbmtYn,
a.sbmt_pnttm AS sbmtPnttm,
a.aprvl_cd AS aprvlCd,
a.aprvl_pnttm AS aprvlPnttm,
a.aprvl_id AS aprvlId,
a.aprvl_cn AS aprvlCn,
DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId,
orgnl_rslt_atch_file_id AS orgnlRsltAtchFileId,
cpy_rslt_atch_file_id AS cpyRsltAtchFileId,
evdnc_pht_atch_file_id AS evdncPhtAtchFileId,
rmt_trn_atch_file_id AS rmtTrnAtchFileId,
atch_file_id AS atchFileId,
unq_isues AS unqIsues,
sgstn_isues AS sgstnIsues
</sql>
<!-- 강사 정보 R -->
<select id="VEEduRprtDAO.selectDetail" parameterClass="VEEduRprtVO" resultClass="VEEduRprtVO">
SELECT
<include refid="VEEduRprtDAO.select_column_name"/>
FROM
<include refid="VEEduRprtDAO.table_name"/> a
WHERE
a.edu_aplct_ord = #eduAplctOrd#
AND a.edu_chasi_ord = #eduChasiOrd#
</select>
<!-- 강사 정보 L -->
<select id="VEEduRprtDAO.selectList" parameterClass="VEEduRprtVO" resultClass="VEEduRprtVO">
SELECT
<include refid="VEEduRprtDAO.select_column_name"/>
FROM
<include refid="VEEduRprtDAO.table_name"/> a
WHERE
1=1
</select>
<!-- 강사 정보 L page -->
<select id="VEEduRprtDAO.selectPagingList" parameterClass="VEEduRprtVO" resultClass="VEEduRprtVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEEduRprtDAO.select_column_name"/>
FROM
<include refid="VEEduRprtDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="eduAplctOrd">
AND a.edu_aplct_ord=#eduAplctOrd#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.edu_aplct_ord desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
</sqlMap>

View File

@ -0,0 +1,249 @@
<?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="VEEduRsltRprt">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VEEduRprtVO" type="kcc.ve.instr.tngrVisitEdu.rprtInfo.service.VEEduRprtVO"/>
<!-- 공통 테이블 명 -->
<sql id="VEEduRsltRprtDAO.table_name">
ve_edu_rslt_rprt
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VEEduRsltRprtDAO.column_name">
edu_aplct_ord,
edu_chasi_ord,
sbmt_yn,
sbmt_pnttm,
aprvl_cd,
aprvl_pnttm,
aprvl_id,
aprvl_cn,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id,
orgnl_rslt_atch_file_id,
cpy_rslt_atch_file_id,
evdnc_pht_atch_file_id,
rmt_trn_atch_file_id,
atch_file_id,
unq_isues,
sgstn_isues
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VEEduRsltRprtDAO.select_column_name">
a.edu_aplct_ord AS eduAplctOrd,
a.edu_chasi_ord AS eduChasiOrd,
a.sbmt_yn AS sbmtYn,
a.sbmt_pnttm AS sbmtPnttm,
a.aprvl_cd AS aprvlCd,
a.aprvl_pnttm AS aprvlPnttm,
a.aprvl_id AS aprvlId,
a.aprvl_cn AS aprvlCn,
DATE_FORMAT(a.frst_regist_pnttm,'%Y%m%d') AS frstRegistPnttm,
a.frst_register_id AS frstRegisterId,
DATE_FORMAT(a.last_updt_pnttm,'%Y%m%d') AS lastUpdtPnttm,
a.last_updusr_id AS lastUpdusrId,
orgnl_rslt_atch_file_id AS orgnlRsltAtchFileId,
cpy_rslt_atch_file_id AS cpyRsltAtchFileId,
evdnc_pht_atch_file_id AS evdncPhtAtchFileId,
rmt_trn_atch_file_id AS rmtTrnAtchFileId,
atch_file_id AS atchFileId,
unq_isues AS unqIsues,
sgstn_isues AS sgstnIsues
</sql>
<!-- 강사 등록 C -->
<insert id="VEEduRsltRprtDAO.insert" parameterClass="VEEduRprtVO">
MERGE INTO <include refid="VEEduRsltRprtDAO.table_name"/> T1 USING DB_ROOT
ON (T1.EDU_APLCT_ORD = #eduAplctOrd# AND T1.EDU_CHASI_ORD = #eduChasiOrd#)
WHEN MATCHED THEN
UPDATE SET
edu_aplct_ord = #eduAplctOrd#,
edu_chasi_ord = #eduChasiOrd#,
sbmt_yn = #sbmtYn#,
sbmt_pnttm = #sbmtPnttm#,
aprvl_cd = #aprvlCd#,
aprvl_pnttm = #aprvlPnttm#,
aprvl_id = #aprvlId#,
aprvl_cn = #aprvlCn#,
frst_regist_pnttm = NOW(),
frst_register_id = #frstRegisterId#,
last_updt_pnttm = NOW(),
last_updusr_id = #lastUpdusrId#,
orgnl_rslt_atch_file_id = #orgnlRsltAtchFileId#,
cpy_rslt_atch_file_id = #cpyRsltAtchFileId#,
evdnc_pht_atch_file_id = #evdncPhtAtchFileId#,
rmt_trn_atch_file_id = #rmtTrnAtchFileId#,
atch_file_id = #atchFileId#,
unq_isues = #unqIsues#,
sgstn_isues = #sgstnIsues#
WHEN NOT MATCHED THEN
INSERT (
<include refid="VEEduRsltRprtDAO.column_name"/>
)VALUES(
#eduAplctOrd#,
#eduChasiOrd#,
#sbmtYn#,
#sbmtPnttm#,
#aprvlCd#,
#aprvlPnttm#,
#aprvlId#,
#aprvlCn#,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#,
#orgnlRsltAtchFileId#,
#cpyRsltAtchFileId#,
#evdncPhtAtchFileId#,
#rmtTrnAtchFileId#,
#atchFileId#,
#unqIsues#,
#sgstnIsues#
)
</insert>
<!-- 강사 정보 R -->
<select id="VEEduRsltRprtDAO.selectDetail" parameterClass="VEEduRprtVO" resultClass="VEEduRprtVO">
SELECT
<include refid="VEEduRsltRprtDAO.select_column_name"/>
FROM
<include refid="VEEduRsltRprtDAO.table_name"/> a
WHERE
a.edu_aplct_ord = #eduAplctOrd#
AND a.edu_chasi_ord = #eduChasiOrd#
</select>
<!-- 강사 정보 U -->
<update id="VEEduRsltRprtDAO.update" parameterClass="VEEduRprtVO">
UPDATE
<include refid="VEEduRsltRprtDAO.table_name"/>
SET
LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
<isNotEmpty property="sbmtYn">
, sbmt_yn = #sbmtYn#
</isNotEmpty><isNotEmpty property="sbmtPnttm">
, sbmt_pnttm = #sbmtPnttm#
</isNotEmpty><isNotEmpty property="aprvlCd">
, aprvl_cd = #aprvlCd#
</isNotEmpty><isNotEmpty property="aprvlPnttm">
, aprvl_pnttm = #aprvlPnttm#
</isNotEmpty><isNotEmpty property="aprvlId">
, aprvl_id = #aprvlId#
</isNotEmpty><isNotEmpty property="aprvlCn">
, aprvl_cn = #aprvlCn#
</isNotEmpty><isNotEmpty property="orgnlRsltAtchFileId">
, orgnl_rslt_atch_file_id = #orgnlRsltAtchFileId#
</isNotEmpty><isNotEmpty property="cpyRsltAtchFileId">
, cpy_rslt_atch_file_id = #cpyRsltAtchFileId#
</isNotEmpty><isNotEmpty property="evdncPhtAtchFileId">
, evdnc_pht_atch_file_id = #evdncPhtAtchFileId#
</isNotEmpty><isNotEmpty property="rmtTrnAtchFileId">
, rmt_trn_atch_file_id = #rmtTrnAtchFileId#
</isNotEmpty>
<isNotEmpty property="atchFileId">
, atch_file_id = #atchFileId#
</isNotEmpty>
<isNotEmpty property="unqIsues">
, unq_isues = #unqIsues#
</isNotEmpty>
<isNotEmpty property="sgstnIsues">
, sgstn_isues = #sgstnIsues#
</isNotEmpty>
WHERE
edu_aplct_ord = #eduAplctOrd#
AND edu_chasi_ord = #eduChasiOrd#
</update>
<!-- 강사 정보 D -->
<delete id="VEEduRsltRprtDAO.delete" parameterClass="VEEduRprtVO">
DELETE FROM
<include refid="VEEduRsltRprtDAO.table_name"/>
WHERE
a.edu_aplct_ord = #eduAplctOrd#
AND edu_chasi_ord = #eduChasiOrd#
</delete>
<!-- 강사 정보 L -->
<select id="VEEduRsltRprtDAO.selectList" parameterClass="VEEduRprtVO" resultClass="VEEduRprtVO">
SELECT
<include refid="VEEduRsltRprtDAO.select_column_name"/>
FROM
<include refid="VEEduRsltRprtDAO.table_name"/> a
WHERE
1=1
</select>
<!-- 강사 정보 L page -->
<select id="VEEduRsltRprtDAO.selectPagingList" parameterClass="VEEduRprtVO" resultClass="VEEduRprtVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEEduRsltRprtDAO.select_column_name"/>
FROM
<include refid="VEEduRsltRprtDAO.table_name"/> a
WHERE
1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="eduAplctOrd">
AND a.edu_aplct_ord=#eduAplctOrd#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.edu_aplct_ord desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
</sqlMap>

View File

@ -0,0 +1,305 @@
<?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="VERsdncMIX">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VERsdncVO" type="kcc.ve.instr.tngrVisitEdu.rsdncInfo.service.VERsdncVO"/>
<!-- 공통 테이블 명 -->
<sql id="VERsdncMIXDAO.table_name">
ve_rsdnc
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VERsdncMIXDAO.column_name">
post_id,
post,
post_ord,
one_depth_nm,
two_depth_nm,
three_depth_nm,
four_depth_nm,
five_depth_nm,
addr
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VERsdncMIXDAO.select_column_name">
a.post_id AS postId,
a.post AS post,
a.post_ord AS postOrd,
a.one_depth_nm AS oneDepthNm,
a.two_depth_nm AS twoDepthNm,
a.three_depth_nm AS threeDepthNm,
a.four_depth_nm AS fourDepthNm,
a.five_depth_nm AS fiveDepthNm,
a.addr AS addr
</sql>
<!-- 강사 정보 L -->
<select id="VERsdncMIXDAO.selectList" parameterClass="VERsdncVO" resultClass="VERsdncVO">
SELECT
<include refid="VERsdncMIXDAO.select_column_name"/>
FROM
<include refid="VERsdncMIXDAO.table_name"/> a
WHERE
1=1
a.post_id = #postId#
<isNotEmpty property="postOrd">
AND a.post_ord=#postOrd#
</isNotEmpty>
</select>
<!-- 거주지 1단계 -->
<select id="VERsdncMIXDAO.selectRsdncStep1List" parameterClass="VERsdncVO" resultClass="VERsdncVO">
/* 강의 지역 - Depth 1 */
SELECT one_depth_nm AS oneDepthNm
, MAX(post_id) postId
FROM ve_rsdnc a
GROUP BY one_depth_nm
ORDER BY one_depth_nm
</select>
<!-- 거주지 2단계 -->
<select id="VERsdncMIXDAO.selectRsdncStep2List" parameterClass="VERsdncVO" resultClass="VERsdncVO">
/* 강의 지역 - Depth 2 */
SELECT aa.*
, IFNULL(bb.area_cd, 0) cnt
FROM (
SELECT one_depth_nm AS oneDepthNm
/*
, a.two_depth_nm AS twoDepthNm
*/
, IF(a.two_depth_nm is NULL OR a.two_depth_nm ='',a.three_depth_nm, a.two_depth_nm) AS twoDepthNm
, MAX(post_id) postId
FROM ve_rsdnc a
WHERE 1=1
<isNotEmpty property="oneDepthNm">
AND a.one_depth_nm=#oneDepthNm#
</isNotEmpty>
GROUP BY one_depth_nm
, IF(a.two_depth_nm is NULL OR a.two_depth_nm ='',a.three_depth_nm, a.two_depth_nm)
/*
, a.two_depth_nm
*/
ORDER BY one_depth_nm
, IF(a.two_depth_nm is NULL OR a.two_depth_nm ='',a.three_depth_nm, a.two_depth_nm)
/*
, a.two_depth_nm
*/
)aa
LEFT OUTER JOIN
(
SELECT a.area_cd
, one_depth_nm AS oneDepthNm
, two_depth_nm AS twoDepthNm
FROM ve_lctr_area a
, ve_rsdnc b
WHERE 1 =1
AND a.user_id =#userId#
AND a.instr_div='10'
AND a.area_cd=b.post_id
)bb
ON(
aa.postId=bb.area_cd
OR (
aa.oneDepthNm=bb.oneDepthNm
AND aa.twoDepthNm=bb.twoDepthNm
)
)
WHERE TRIM(aa.twoDepthNm) !=''
</select>
<!-- 거주지 2단계 -->
<!-- //강사의 해당 년월의 강의 조사 선택 강의 지역 정보로 사용하도록 수정 - 2023.07.25 -->
<select id="VERsdncMIXDAO.selectRsdncStep2ListNew" parameterClass="VERsdncVO" resultClass="VERsdncVO">
/* 강의 지역 - Depth 2 */
SELECT aa.*
, IFNULL(bb.area_cd, 0) cnt
FROM (
SELECT one_depth_nm AS oneDepthNm
/*
, a.two_depth_nm AS twoDepthNm
*/
, IF(a.two_depth_nm is NULL OR a.two_depth_nm ='',a.three_depth_nm, a.two_depth_nm) AS twoDepthNm
, MAX(post_id) postId
FROM ve_rsdnc a
WHERE 1=1
<isNotEmpty property="oneDepthNm">
AND a.one_depth_nm=#oneDepthNm#
</isNotEmpty>
GROUP BY one_depth_nm
, IF(a.two_depth_nm is NULL OR a.two_depth_nm ='',a.three_depth_nm, a.two_depth_nm)
/*
, a.two_depth_nm
*/
ORDER BY one_depth_nm
, IF(a.two_depth_nm is NULL OR a.two_depth_nm ='',a.three_depth_nm, a.two_depth_nm)
/*
, a.two_depth_nm
*/
)aa
LEFT OUTER JOIN
(
/*
SELECT a.area_cd
, one_depth_nm AS oneDepthNm
, two_depth_nm AS twoDepthNm
FROM ve_lctr_area a
, ve_rsdnc b
WHERE 1 =1
AND a.user_id =userId
AND a.instr_div='10'
AND a.area_cd=b.post_id
*/
SELECT c.area_cd ,
d.one_depth_nm AS oneDepthNm ,
d.two_depth_nm AS twoDepthNm
FROM ve_lctr_rsrch_mng a ,
ve_lctr_rsrch_sbmt b ,
ve_lctr_area c ,
ve_rsdnc d
WHERE a.rsrch_instr_div='10'
AND a.stng_yr_mnt =#siteNm#
AND b.user_id =#userId#
AND b.instr_div ='10'
AND a.stng_yr_mnt =b.stng_yr_mnt
AND b.instr_div=c.instr_div
AND b.user_id=c.user_id
AND b.lctr_stng_ord=c.lctr_stng_ord
AND c.area_cd =d.post_id
)bb
ON(
aa.postId=bb.area_cd
OR (
aa.oneDepthNm=bb.oneDepthNm
AND aa.twoDepthNm=bb.twoDepthNm
)
)
WHERE TRIM(aa.twoDepthNm) !=''
</select>
<!-- 거주지 2단계 -->
<!-- //관리자에서 강사의 현재 선택 지역 정보를 가져오기 위한 쿼리임 - 2023.07.26 -->
<select id="VERsdncMIXDAO.selectRsdncStep2ListNewAdmin" parameterClass="VERsdncVO" resultClass="VERsdncVO">
/* 강의 지역 - Depth 2 */
SELECT aa.*
, IFNULL(bb.area_cd, 0) cnt
FROM (
SELECT one_depth_nm AS oneDepthNm
/*
, a.two_depth_nm AS twoDepthNm
*/
, IF(a.two_depth_nm is NULL OR a.two_depth_nm ='',a.three_depth_nm, a.two_depth_nm) AS twoDepthNm
, MAX(post_id) postId
FROM ve_rsdnc a
WHERE 1=1
<isNotEmpty property="oneDepthNm">
AND a.one_depth_nm=#oneDepthNm#
</isNotEmpty>
GROUP BY one_depth_nm
, IF(a.two_depth_nm is NULL OR a.two_depth_nm ='',a.three_depth_nm, a.two_depth_nm)
/*
, a.two_depth_nm
*/
ORDER BY one_depth_nm
, IF(a.two_depth_nm is NULL OR a.two_depth_nm ='',a.three_depth_nm, a.two_depth_nm)
/*
, a.two_depth_nm
*/
)aa
LEFT OUTER JOIN
(
SELECT c.area_cd ,
d.one_depth_nm AS oneDepthNm ,
d.two_depth_nm AS twoDepthNm
FROM ve_lctr_stng a ,
ve_lctr_area c ,
ve_rsdnc d
WHERE 1=1
AND a.user_id =#userId#
AND a.instr_div ='10'
AND a.use_yn='Y'
AND a.instr_div=c.instr_div
AND a.user_id=c.user_id
AND a.lctr_stng_ord=c.lctr_stng_ord
AND c.area_cd =d.post_id
)bb
ON(
aa.postId=bb.area_cd
OR (
aa.oneDepthNm=bb.oneDepthNm
AND aa.twoDepthNm=bb.twoDepthNm
)
)
WHERE TRIM(aa.twoDepthNm) !=''
</select>
<!-- 거주지 3단계 -->
<select id="VERsdncMIXDAO.selectRsdncStep3List" parameterClass="VERsdncVO" resultClass="VERsdncVO">
/* 강의 지역 - Depth 3 */
SELECT *
FROM (
SELECT one_depth_nm AS oneDepthNm
, a.two_depth_nm AS twoDepthNm
, a.three_depth_nm AS threeDepthNm
, MAX(post_id) postId
FROM ve_rsdnc a
WHERE 1=1
<isNotEmpty property="oneDepthNm">
AND a.one_depth_nm=#oneDepthNm#
</isNotEmpty>
<isNotEmpty property="twoDepthNm">
AND a.two_depth_nm=#twoDepthNm#
</isNotEmpty>
GROUP BY one_depth_nm, a.two_depth_nm, a.three_depth_nm
UNION ALL
SELECT one_depth_nm AS oneDepthNm
, ' ' AS twoDepthNm
, a.three_depth_nm AS threeDepthNm
, MAX(post_id) postId
FROM ve_rsdnc a
WHERE 1=1
<isNotEmpty property="oneDepthNm">
AND a.one_depth_nm=#oneDepthNm#
</isNotEmpty>
<isNotEmpty property="twoDepthNm">
AND a.three_depth_nm=#twoDepthNm#
</isNotEmpty>
GROUP BY one_depth_nm, a.three_depth_nm, a.three_depth_nm
)aa
ORDER BY aa.oneDepthNm, aa.twoDepthNm, aa.threeDepthNm
</select>
</sqlMap>

View File

@ -0,0 +1,204 @@
<?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="VERsdnc">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VERsdncVO" type="kcc.ve.instr.tngrVisitEdu.rsdncInfo.service.VERsdncVO"/>
<!-- 공통 테이블 명 -->
<sql id="VERsdncDAO.table_name">
ve_rsdnc
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="VERsdncDAO.column_name">
post_id,
post,
post_ord,
one_depth_nm,
two_depth_nm,
three_depth_nm,
four_depth_nm,
five_depth_nm,
addr
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="VERsdncDAO.select_column_name">
a.post_id AS postId,
a.post AS post,
a.post_ord AS postOrd,
a.one_depth_nm AS oneDepthNm,
a.two_depth_nm AS twoDepthNm,
a.three_depth_nm AS threeDepthNm,
a.four_depth_nm AS fourDepthNm,
a.five_depth_nm AS fiveDepthNm,
a.addr AS addr
</sql>
<!-- 강사 등록 C -->
<insert id="VERsdncDAO.insert" parameterClass="VERsdncVO">
INSERT INTO <include refid="VERsdncDAO.table_name"/> (
<include refid="VERsdncDAO.column_name"/>
)
SELECT CONCAT('post_000000000',REPLACE(MAX(post_id),'post_','')+1),
#post#,
#postOrd#,
#oneDepthNm#,
#twoDepthNm#,
#threeDepthNm#,
#fourDepthNm#,
#fiveDepthNm#,
#addr#
FROM <include refid="VERsdncDAO.table_name"/> a
</insert>
<!-- 강사 정보 R -->
<select id="VERsdncDAO.selectDetail" parameterClass="VERsdncVO" resultClass="VERsdncVO">
SELECT
<include refid="VERsdncDAO.select_column_name"/>
FROM
<include refid="VERsdncDAO.table_name"/> a
WHERE
a.post_id = #postId#
</select>
<!-- 강사 정보 R -->
<select id="VERsdncDAO.selectDetailLWQ" parameterClass="VERsdncVO" resultClass="VERsdncVO">
SELECT
<include refid="VERsdncDAO.select_column_name"/>
FROM
<include refid="VERsdncDAO.table_name"/> a
WHERE
1=1
AND (
(
a.one_depth_nm=#oneDepthNm#
AND a.two_depth_nm=#twoDepthNm#
<isNotEmpty property="threeDepthNm">
AND a.three_depth_nm=#threeDepthNm#
</isNotEmpty>
<isNotEmpty property="fourDepthNm">
AND a.four_depth_nm=#fourDepthNm#
</isNotEmpty>
)
OR
(
a.post=#post#
)
)
LIMIT 1
</select>
<!-- 강사 정보 U -->
<update id="VERsdncDAO.update" parameterClass="VERsdncVO">
UPDATE
<include refid="VERsdncDAO.table_name"/>
SET
post_id = #postId#
<isNotEmpty property="post">
,post = #post#
</isNotEmpty>
<isNotEmpty property="postOrd">
,post_ord = #postOrd#
</isNotEmpty>
<isNotEmpty property="oneDepthNm">
,one_depth_nm = #oneDepthNm#
</isNotEmpty>
<isNotEmpty property="twoDepthNm">
,two_depth_nm = #twoDepthNm#
</isNotEmpty>
<isNotEmpty property="threeDepthNm">
,three_depth_nm = #threeDepthNm#
</isNotEmpty>
<isNotEmpty property="fourDepthNm">
,four_depth_nm = #fourDepthNm#
</isNotEmpty>
<isNotEmpty property="fiveDepthNm">
,five_depth_nm = #fiveDepthNm#
</isNotEmpty>
<isNotEmpty property="addr">
,addr = #addr#
</isNotEmpty>
WHERE
post_id = #postId#
</update>
<!-- 강사 정보 D -->
<delete id="VERsdncDAO.delete" parameterClass="VERsdncVO">
DELETE FROM
<include refid="VERsdncDAO.table_name"/>
WHERE
post_id = #postId#
</delete>
<!-- 강사 정보 L -->
<select id="VERsdncDAO.selectList" parameterClass="VERsdncVO" resultClass="VERsdncVO">
SELECT
<include refid="VERsdncDAO.select_column_name"/>
FROM
<include refid="VERsdncDAO.table_name"/> a
WHERE
1=1
a.post_id = #postId#
<isNotEmpty property="postOrd">
AND a.post_ord=#postOrd#
</isNotEmpty>
</select>
<!-- 강사 정보 L page -->
<select id="VERsdncDAO.selectPagingList" parameterClass="VERsdncVO" resultClass="VERsdncVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VERsdncDAO.select_column_name"/>
FROM
<include refid="VERsdncDAO.table_name"/> a
WHERE
1=1
AND a.post_id = #postId#
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="postOrd">
AND a.post_ord=#postOrd#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.post_ord asc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
</sqlMap>

View File

@ -0,0 +1,105 @@
<?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="ScholInfoMIX">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="ScholInfoVO" type="kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoVO"/>
<!-- 공통 테이블 명 -->
<sql id="ScholInfoMIXDAO.table_name">
ve_schol
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="ScholInfoMIXDAO.select_column_name">
a.schol_id AS scholId,
a.schol_cd AS scholCd,
CONCAT(SUBSTRING(a.schol_grade,1,1),'등') AS scholGrade,
a.schol_oprtn_yn AS scholOprtnYn,
a.schol_addr_old AS scholAddrOld,
a.schol_addr_new AS scholAddrNew,
SUBSTRING_INDEX(a.schol_addr_old, ' ', 1) AS scholCity,
LTRIM(SUBSTRING_INDEX(a.schol_addr_old, ' ', 2), SUBSTRING_INDEX(a.schol_addr_old, ' ', 1)) AS scholRegion
</sql>
<!-- 강사 정보 L page -->
<select id="ScholInfoMIXDAO.selectAreaList" parameterClass="ScholInfoVO" resultClass="ScholInfoVO">
SELECT
area_name AS scholCity
FROM
<include refid="ScholInfoMIXDAO.table_name"/> a
WHERE
1=1
AND area_name>''
AND AND area_name NOT IN ('경기','대전')
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.area_name asc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
</select>
<!-- 강사 정보 L page -->
<select id="ScholInfoMIXDAO.selectPagingList" parameterClass="ScholInfoVO" resultClass="ScholInfoVO">
SELECT
COUNT(1) OVER() AS totCnt ,
a.SCHOL_ID AS scholId
,a.OFFC_CD AS offcCd
,a.OFFC_NM AS offcNm
,a.STNDRD_SCHOL_CD AS stndrdScholCd
,a.SCHOL_NM AS scholNm
,a.SCHOL_NM_ENG AS scholNmEng
,a.SCHOL_GRADE_NM AS scholGradeNm
,a.LOC_NM AS locNm
,a.CPTNT_ORGNZ_NM AS cptntOrgnzNm
,a.ESTBS_NM AS estbsNm
,a.NEW_ZIPCD AS newZipcd
,a.NEW_ADDR AS newAddr
,a.NEW_ADDR_DTL AS newAddrDtl
,a.TEL_NUM AS telNum
,a.HOMEPAGE AS homepage
,a.COEDU_DIVSN_NM AS coeduDivsnNm
,a.FAX_NUM AS faxNum
,a.HS_DIVSN_NM AS hsDivsnNm
,a.IND_SPCL_CLS AS indSpclCls
,a.HS_TYPE_NM AS hsTypeNm
,a.SPCL_PRPS_HS_LINE_NM AS spclPrpsHsLineNm
,a.EXM_PRD_DIVSN_NM AS exmPrdDivsnNm
,a.DN_DVISN_NM AS dnDvisnNm
,a.ESTBS_DT AS estbsDt
,a.SCHOL_ANVSRY AS scholAnvsry
,a.LAST_UPDT_PNTTM AS lastUpdtPnttm
, IF(b.stndrd_schol_cd IS null,'N','Y') AS isltnScholYn
, DECODE(schol_grade_nm, '초등학교','10', '중학교','20', '고등학교','30',if (INSTR(schol_grade_nm,'각종학교')>0,'40','50')) AS scholDivCd
FROM <include refid="ScholInfoMIXDAO.table_name"/> a
LEFT OUTER JOIN ve_schol_isltn b
ON(a.schol_id=b.schol_id)
WHERE 1=1
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.schol_nm asc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
</sqlMap>

View File

@ -0,0 +1,349 @@
<?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="ScholInfo">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="ScholInfoVO" type="kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoVO"/>
<!-- 공통 테이블 명 -->
<sql id="ScholInfoDAO.table_name">
VE_SCHOL
</sql>
<!-- 저장용 공통 컬럼 명 -->
<sql id="ScholInfoDAO.column_name_isltn">
schol_id,
stndrd_schol_cd
</sql>
<sql id="ScholInfoDAO.column_name">
SCHOL_ID
,OFFC_CD
,OFFC_NM
,STNDRD_SCHOL_CD
,SCHOL_NM
,SCHOL_NM_ENG
,SCHOL_GRADE_NM
,LOC_NM
,CPTNT_ORGNZ_NM
,ESTBS_NM
,NEW_ZIPCD
,NEW_ADDR
,NEW_ADDR_DTL
,TEL_NUM
,HOMEPAGE
,COEDU_DIVSN_NM
,FAX_NUM
,HS_DIVSN_NM
,IND_SPCL_CLS
,HS_TYPE_NM
,SPCL_PRPS_HS_LINE_NM
,EXM_PRD_DIVSN_NM
,DN_DVISN_NM
,ESTBS_DT
,SCHOL_ANVSRY
,LAST_UPDT_PNTTM
</sql>
<!-- 조회용 공통 컬럼 명 -->
<sql id="ScholInfoDAO.select_column_name">
A.SCHOL_ID AS scholId
,A.OFFC_CD AS offcCd
,A.OFFC_NM AS offcNm
,A.STNDRD_SCHOL_CD AS stndrdScholCd
,A.SCHOL_NM AS scholNm
,A.SCHOL_NM_ENG AS scholNmEng
,A.SCHOL_GRADE_NM AS scholGradeNm
,A.LOC_NM AS locNm
,A.CPTNT_ORGNZ_NM AS cptntOrgnzNm
,A.ESTBS_NM AS estbsNm
,A.NEW_ZIPCD AS newZipcd
,A.NEW_ADDR AS newAddr
,A.NEW_ADDR_DTL AS newAddrDtl
,A.TEL_NUM AS telNum
,A.HOMEPAGE AS homepage
,A.COEDU_DIVSN_NM AS coeduDivsnNm
,A.FAX_NUM AS faxNum
,A.HS_DIVSN_NM AS hsDivsnNm
,A.IND_SPCL_CLS AS indSpclCls
,A.HS_TYPE_NM AS hsTypeNm
,A.SPCL_PRPS_HS_LINE_NM AS spclPrpsHsLineNm
,A.EXM_PRD_DIVSN_NM AS exmPrdDivsnNm
,A.DN_DVISN_NM AS dnDvisnNm
,A.ESTBS_DT AS estbsDt
,A.SCHOL_ANVSRY AS scholAnvsry
,A.LAST_UPDT_PNTTM AS lastUpdtPnttm
</sql>
<!-- 학교 등록 C -->
<insert id="ScholInfoDAO.insert" parameterClass="ScholInfoVO">
<!-- <selectKey resultClass="java.lang.String" keyProperty="scholId" >
SELECT CONCAT('schol_',TO_CHAR(REPLACE(MAX(schol_id),'schol_','')+1)) AS scholId
FROM ve_schol
</selectKey> -->
INSERT INTO ve_schol
(
<include refid="ScholInfoDAO.column_name"/>
)VALUES(
#scholId#,
#offcCd#,
#offcNm#,
#stndrdScholCd#,
#scholNm#,
#scholNmEng#,
#scholGradeNm#,
#locNm#,
#cptntOrgnzNm#,
#estbsNm#,
#newZipcd#,
#newAddr#,
#newAddrDtl#,
#telNum#,
#homepage#,
#coeduDivsnNm#,
#faxNum#,
#hsDivsnNm#,
#indSpclCls#,
#hsTypeNm#,
#spclPrpsHsLineNm#,
#exmPrdDivsnNm#,
#dnDvisnNm#,
#estbsDt#,
#scholAnvsry#,
#lastUpdtPnttm#
)
</insert>
<!-- 강사 정보 U -->
<update id="ScholInfoDAO.update" parameterClass="ScholInfoVO">
UPDATE
ve_schol
SET
stndrd_schol_cd = #stndrdScholCd#
<isNotEmpty property="offcCd">
,OFFC_CD = #offcCd#
</isNotEmpty><isNotEmpty property="offcNm">
,OFFC_NM = #offcNm#
</isNotEmpty><isNotEmpty property="scholNm">
,SCHOL_NM = #scholNm#
</isNotEmpty><isNotEmpty property="scholNmEng">
,SCHOL_NM_ENG = #scholNmEng#
</isNotEmpty><isNotEmpty property="scholGradeNm">
,SCHOL_GRADE_NM = #scholGradeNm#
</isNotEmpty><isNotEmpty property="locNm">
,LOC_NM = #locNm#
</isNotEmpty><isNotEmpty property="cptntOrgnzNm">
,CPTNT_ORGNZ_NM = #cptntOrgnzNm#
</isNotEmpty><isNotEmpty property="estbsNm">
,ESTBS_NM = #estbsNm#
</isNotEmpty><isNotEmpty property="newZipcd">
,NEW_ZIPCD = #newZipcd#
</isNotEmpty><isNotEmpty property="newAddr">
,NEW_ADDR = #newAddr#
</isNotEmpty><isNotEmpty property="newAddrDtl">
,NEW_ADDR_DTL = #newAddrDtl#
</isNotEmpty><isNotEmpty property="telNum">
,TEL_NUM = #telNum#
</isNotEmpty><isNotEmpty property="homepage">
,HOMEPAGE = #homepage#
</isNotEmpty><isNotEmpty property="coeduDivsnNm">
,COEDU_DIVSN_NM = #coeduDivsnNm#
</isNotEmpty><isNotEmpty property="faxNum">
,FAX_NUM = #faxNum#
</isNotEmpty><isNotEmpty property="hsDivsnNm">
,HS_DIVSN_NM = #hsDivsnNm#
</isNotEmpty><isNotEmpty property="indSpclCls">
,IND_SPCL_CLS = #indSpclCls#
</isNotEmpty><isNotEmpty property="hsTypeNm">
,HS_TYPE_NM = #hsTypeNm#
</isNotEmpty><isNotEmpty property="spclPrpsHsLineNm">
,SPCL_PRPS_HS_LINE_NM = #spclPrpsHsLineNm#
</isNotEmpty><isNotEmpty property="exmPrdDivsnNm">
,EXM_PRD_DIVSN_NM = #exmPrdDivsnNm#
</isNotEmpty><isNotEmpty property="dnDvisnNm">
,DN_DVISN_NM = #dnDvisnNm#
</isNotEmpty><isNotEmpty property="estbsDt">
,ESTBS_DT = #estbsDt#
</isNotEmpty><isNotEmpty property="scholAnvsry">
,SCHOL_ANVSRY = #scholAnvsry#
</isNotEmpty><isNotEmpty property="lastUpdtPnttm">
,LAST_UPDT_PNTTM = #lastUpdtPnttm#
</isNotEmpty>
WHERE
stndrd_schol_cd = #stndrdScholCd#
</update>
<!-- 벽지 학교 등록 C -->
<insert id="ScholInfoDAO.insertIsltn" parameterClass="ScholInfoVO">
INSERT INTO ve_schol_isltn
(
<include refid="ScholInfoDAO.column_name_isltn"/>
)VALUES(
#scholId#,
#stndrdScholCd#
)
ON DUPLICATE KEY UPDATE
schol_id = #scholId#
, stndrd_schol_cd = #stndrdScholCd#
</insert>
<!-- 강사 정보 L page -->
<select id="ScholInfoDAO.selectPagingList" parameterClass="ScholInfoVO" resultClass="ScholInfoVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="ScholInfoDAO.select_column_name"/>
, IF(b.stndrd_schol_cd IS null,'N','Y') AS isltnScholYn
, DECODE(schol_grade_nm, '초등학교','10', '중학교','20', '고등학교','30',if (INSTR(schol_grade_nm,'각종학교')>0,'40','50')) AS scholDivCd
FROM
<include refid="ScholInfoDAO.table_name"/> a
LEFT OUTER JOIN ve_schol_isltn b
ON(a.schol_id=b.schol_id)
WHERE 1=1
<isNotEmpty property="scholGrade">
$scholGrade$
</isNotEmpty>
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="locNm">
AND a.loc_nm IN (#locNm#)
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, a.schol_nm asc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<select id="ScholInfoDAO.select" parameterClass="ScholInfoVO" resultClass="ScholInfoVO">
SELECT
<include refid="ScholInfoDAO.select_column_name"/>
FROM
<include refid="ScholInfoDAO.table_name"/> a
WHERE 1=1
AND a.stndrd_schol_cd = #stndrdScholCd#
</select>
<select id="ScholInfoDAO.selectScholId" parameterClass="ScholInfoVO" resultClass="ScholInfoVO">
SELECT CONCAT('schol_',TO_CHAR(REPLACE(MAX(schol_id),'schol_','')+1)) AS scholId
FROM ve_schol
</select>
<select id="ScholInfoDAO.selectDetail" parameterClass="ScholInfoVO" resultClass="ScholInfoVO">
SELECT
<include refid="ScholInfoDAO.select_column_name"/>
, IF(b.stndrd_schol_cd IS null,'N','Y') AS isltnScholYn
FROM
<include refid="ScholInfoDAO.table_name"/> a
LEFT OUTER JOIN ve_schol_isltn b ON(a.schol_id=b.schol_id)
WHERE 1=1
AND a.SCHOL_ID = #scholId#
</select>
<select id="ScholInfoDAO.selectDetailWithQuery" parameterClass="ScholInfoVO" resultClass="ScholInfoVO">
SELECT
<include refid="ScholInfoDAO.select_column_name"/>
FROM
<include refid="ScholInfoDAO.table_name"/> a
WHERE 1=1
$selectPagingListQuery$
</select>
<!-- 벽지 학교 삭제 D -->
<insert id="ScholInfoDAO.deleteIsltn" parameterClass="ScholInfoVO">
DELETE FROM ve_schol_isltn
WHERE SCHOL_ID = #scholId#
</insert>
<!-- 벽지 학교 Excel 등록 C (merge) -->
<update id="ScholInfoDAO.insertSelectIsltn" parameterClass="ScholInfoVO">
INSERT
INTO ve_schol_isltn
(
schol_id,
stndrd_schol_cd
)
SELECT
schol_id,
stndrd_schol_cd
FROM
(SELECT
COUNT(schol_nm),
schol_id,
stndrd_schol_cd
FROM ve_schol
WHERE schol_nm = #scholNm#
GROUP BY schol_nm
HAVING COUNT(schol_nm) = 1
) t
ON DUPLICATE KEY UPDATE schol_id = t.schol_id
</update>
<!-- 주소 Excel 등록 C (merge) -->
<!--
<update id="ScholInfoDAO.insertRsdnc" parameterClass="ScholInfoVO">
INSERT
INTO ve_rsdnc
(
schol_id,
stndrd_schol_cd
)
SELECT
schol_id,
stndrd_schol_cd
FROM
(SELECT
COUNT(schol_nm),
schol_id,
stndrd_schol_cd
FROM ve_schol
WHERE schol_nm = #scholNm#
GROUP BY schol_nm
HAVING COUNT(schol_nm) = 1
) t
ON DUPLICATE KEY UPDATE schol_id = t.schol_id
</update>
-->
</sqlMap>

File diff suppressed because it is too large Load Diff

View File

@ -71,6 +71,12 @@ function actionLogin() {
}
function actionLogin2() {
document.loginForm.action="<c:url value='/web/chkloginKeyForOffedu.do'/>";
document.loginForm.submit();
}
/* 아이디 비밀번호 찾기 link */
function usrIdPassFind(choose){
var gsWin = window.open('about:blank','usrIdPassFind','');
@ -186,6 +192,7 @@ function usrIdPassFind(choose){
<div class="login_btn_wrap">
<button type="button" onclick="javascript:actionLogin();" class="btn_login">로그인</button>
<button type="button" onclick="window.open('<c:out value='${joinUrl}'/>')" title="새창열림" class="btn_join">회원가입</button>
<button type="button" onclick="javascript:actionLogin2();" class="btn_join">e배움터로그인</button>
</div>
<div class="login_util">
<a href="#" title="새창열림" onclick="javascript:usrIdPassFind('id')">아이디 찾기</a>