Merge branch 'advc' of

http://subsub8729@vcs.iten.co.kr:9999/hylee/offedu into advc

Conflicts:
	src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp
This commit is contained in:
subsub 2023-09-13 17:51:42 +09:00
commit 9cd2f0b5d3
254 changed files with 58229 additions and 703 deletions

10
pom.xml
View File

@ -190,7 +190,13 @@
<version>3.0</version>
</dependency>
-->
<dependency>
<groupId>tibero6</groupId>
<artifactId>tibero6-custom</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/tibero6-jdbc.jar</systemPath>
</dependency>
<!-- inipay 가상계좌 -->
<dependency>
<groupId>INIPay</groupId>
@ -564,7 +570,7 @@
<build>
<defaultGoal>install</defaultGoal>
<directory>${basedir}/target</directory>
<finalName>visit_edu</finalName>
<finalName>offeduadvc</finalName>
<pluginManagement>
<plugins>
<plugin>

View File

@ -170,6 +170,8 @@ public class ComDefaultVO implements Serializable {
private String searchDashboard;
private String searchQuery;
public int getBeSort() {
return beSort;
}
@ -834,4 +836,12 @@ public class ComDefaultVO implements Serializable {
this.searchInsttNm = searchInsttNm;
}
public String getSearchQuery() {
return searchQuery;
}
public void setSearchQuery(String searchQuery) {
this.searchQuery = searchQuery;
}
}

View File

@ -117,6 +117,12 @@ public class LoginVO implements Serializable{
private String isSelect;
//e-배움터 연동 파라미터
private String key;
private String user_id;
private String returnUrl;
private String mberSeq;
public String getId() {
return id;
}
@ -402,6 +408,31 @@ public class LoginVO implements Serializable{
public void setIsSelect(String isSelect) {
this.isSelect = isSelect;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getUser_id() {
return user_id;
}
public void setUser_id(String user_id) {
this.user_id = user_id;
}
public String getReturnUrl() {
return returnUrl;
}
public void setReturnUrl(String returnUrl) {
this.returnUrl = returnUrl;
}
public String getMberSeq() {
return mberSeq;
}
public void setMberSeq(String mberSeq) {
this.mberSeq = mberSeq;
}
}

View File

@ -51,6 +51,7 @@ public class CoreConstant {
public static final String PROFILE_LOCAL = "local";
public static final String PROFILE_DEV = "dev";
public static final String PROFILE_PROD = "prod";
public static final String PROFILE_TLOCAL = "tLocal";
/* Menu role */

View File

@ -15,6 +15,7 @@ public class ProfileUtil {
private static boolean isLocal = false;
private static boolean isDev = false;
private static boolean isProd = false;
private static boolean isTLocal = false;
@Autowired
public void setEnvironment(Environment environment) {
@ -31,6 +32,8 @@ public class ProfileUtil {
ProfileUtil.isProd = true;
} else if (CoreConstant.PROFILE_LOCAL.equalsIgnoreCase(profiles[i])) {
ProfileUtil.isLocal = true;
}else if (CoreConstant.PROFILE_TLOCAL.equalsIgnoreCase(profiles[i])) {
ProfileUtil.isTLocal = true;
}
}
}
@ -51,6 +54,10 @@ public class ProfileUtil {
return ProfileUtil.isDev;
}
public static boolean isTLocal() {
return ProfileUtil.isTLocal;
}
public static boolean isProd() {
return ProfileUtil.isProd;
}

View File

@ -1177,6 +1177,8 @@ public class EgovBBSManageController {
public String selectBoardArticlesWeb(HttpServletRequest request, @ModelAttribute("searchVO") BoardVO boardVO, ModelMap model
,RedirectAttributes redirectAttributes) throws Exception {
System.out.println("/web/cop/bbsWeb/selectBoardList.do");
BoardMasterVO bmVO = new BoardMasterVO();
bmVO.setBbsId(boardVO.getBbsId());
bmVO = bbsAttrbService.selectBBSMasterInf(bmVO);

View File

@ -484,9 +484,12 @@ public class EgovMainController {
ModelMap model)
throws Exception {
System.out.println("/sym/mms/EgovMainMenuLeft.do");
LoginVO user =
EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
if(EgovUserDetailsHelper.isAuthenticated() && user!=null){ //최상단 매뉴
System.out.println("/sym/mms/EgovMainMenuLeft.do-in");
//select문에서 사용자보안설정 조회를 위한 set
menuManageVO.setTmp_Id(user.getId());
menuManageVO.setTmp_Password(user.getPassword());
@ -498,12 +501,14 @@ public class EgovMainController {
//menuManageVO.setMenuUserType("A"); //관리자만 조회
//menuManageVO.setSiteId(user.getSiteId());
List<?> list_headmenu = menuManageService.selectMainMenuHead(menuManageVO);
model.addAttribute("list_headmenu", list_headmenu);
model.addAttribute("list_headmenu", list_headmenu);
List<?> list_menulist = menuManageService.selectMainMenuLeft(menuManageVO);
model.addAttribute("list_menulist", list_menulist);
model.addAttribute("user", user);
System.out.println("/sym/mms/EgovMainMenuLeft.do-in-end");
}
return "main/inc/EgovIncLeftmenu";
}

View File

@ -88,4 +88,12 @@ public interface EgovLoginService {
void updatePassMissReset(LoginVO loginVO) throws Exception;
void updateEmplyrSttusCode(LoginVO loginVO) throws Exception;
LoginVO APIActionLogin(LoginVO vo) throws Exception;
LoginVO selectOffeduMberChk(LoginVO vo) throws Exception;
void updateMberSeqKeyAjax(LoginVO vo) throws Exception;
void updateMberSeqKeyNull(LoginVO vo) throws Exception;
}

View File

@ -264,5 +264,31 @@ public class EgovLoginServiceImpl extends EgovAbstractServiceImpl implements
loginDAO.updateEmplyrSttusCode(loginVO);
}
@Override
public LoginVO APIActionLogin(LoginVO vo) throws Exception {
// 아이디와 비밀번호가 DB와 일치하는지 확인한다.
LoginVO loginVO = loginDAO.APIActionLogin(vo);
// 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);
}
@Override
public void updateMberSeqKeyAjax(LoginVO vo) throws Exception {
loginDAO.updateMberSeqKeyAjax(vo);
}
@Override
public void updateMberSeqKeyNull(LoginVO vo) throws Exception {
loginDAO.updateMberSeqKeyNull(vo);
}
}

View File

@ -128,5 +128,21 @@ public class LoginDAO extends EgovAbstractDAO {
update("loginDAO.updateEmplyrSttusCode", loginVO);
}
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);
}
public void updateMberSeqKeyAjax(LoginVO vo) throws Exception{
update("loginDAO.updateMberSeqKeyAjax", vo);
}
public void updateMberSeqKeyNull(LoginVO vo) throws Exception{
update("loginDAO.updateMberSeqKeyNull", vo);
}
}

View File

@ -0,0 +1,289 @@
package kcc.let.uat.uia.web;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.HashMap;
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.CrossOrigin;
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.ModelAndView;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import kcc.com.cmm.LoginVO;
import kcc.com.utl.fcc.service.EgovStringUtil;
import kcc.let.uat.uia.service.EgovLoginService;
import kcc.let.uss.umt.service.EgovUserManageService;
import kcc.let.uss.umt.service.UserManageVO;
import kcc.let.utl.sim.service.EgovClntInfo;
/**
* e-배움터와 연동하여 로그인을 처리하는 컨트롤러 클래스
*
* @author 이지우
* @since 2023.08.31
* @version 1.0
* @see
*/
@CrossOrigin(origins = "*")
@Controller
public class APILoginContoller {
/** userManageService */
@Resource(name = "userManageService")
private EgovUserManageService userManageService;
/** EgovLoginService */
@Resource(name = "loginService")
private EgovLoginService loginService;
/**
* @methodName : loginKeyChk
* @author : 이지우
* @date : 2023.08.31
* @description : 찾교에서 e-배움터 api로 key, id 전달 결과 수신
* @param LoginVO
* @return
* @throws Exception
*/
@RequestMapping(value = "/web/chkloginKeyForOffedu.do")
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");
System.out.println("@@@@@@@e배움터 로그인 페이지에서 오는 메소드 or e배움터 로그인 상태에서 오는 메소드@@@@@@@@");
//테스트를 위한 선언
/*userId = "std02@forwiz.com";
key = "std02@forwiz.comxpnBtqsev3nh9mryXRdL9QRSR72XuNc08ese5iXHb0Waq1dMnSdkHHqKCgoSFeyH.amV1c19kb21haW4vTE1T";
returnUrl = "/web/main/mainPage.do";*/
if(userId == null || key == null) {
return "redirect:/web/main/mainPage.do";
}
Map<String, String> result = loginKeytoEEdu(userId, key);
System.out.println("@@@@@@@@@@e배움터 API 결과:"+result);
System.out.println("@@@@@@@@@@e배움터 API code 결과:"+result.get("resultCode"));
System.out.println("@@@@@@@@@@e배움터 API messea 결과:"+result.get("message"));
String resultCode = result.get("resultCode");
String message = result.get("message");
if(resultCode.equals("1")) { //API 성공
System.out.println("@@@@@@@@@@API성공@@@@@@@@");
returnUrl = "/web/main/mainPage.do";//임시 url
//회원테이블에 없던 회원이면 insert, 있던 회원이면 update
UserManageVO userManageVO = new UserManageVO();
userManageVO.setMberId(userId);
UserManageVO userManageChk = userManageService.selectOffeduUser(userManageVO);
if(userManageChk == null) {
userManageVO.setAuthorCode("ROLE_USER_MEMBER");
userManageService.insertOffeduUser(userManageVO);
System.out.println("@@@@@@@@@@찾교에 계정생성@@@@@@@@@@");
}
//로그인 처리 시작
LoginVO loginVO = new LoginVO();
loginVO.setId(userId);
loginVO.setPassword("1"); //사용자 로그인만 처리함으로 password 1고정
loginVO.setUserSe("GNR");
loginVO.setIp(EgovClntInfo.getClntIP(request));
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 처리
System.out.println("@@@@@@@@@@@@@@로그인 처리 완료@@@@@@@@@@@");
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";
return "redirect:" + returnUrl;
}
}
/**
* @methodName : loginKeytoEEdu
* @author : 이지우
* @date : 2023.08.31
* @description : 찾교에서 e-배움터 api로 key, id 전달 결과 수신
* @param LoginVO
* @return
* @throws Exception
*/
public Map<String, String> loginKeytoEEdu(String user_id, String key){
HashMap<String, String> resultMap = new HashMap<String, String>();
try {
System.out.println("@@@@@@@@@@@e배움터API시작 id:"+user_id+"key:"+key+"@@@@@@@@@@");
// 파라미터 key, user_id를 postData에 넣음
StringBuilder postData = new StringBuilder();
HashMap<String, Object> params = new HashMap<String, Object>();
params.put("user_id", user_id);
params.put("key", key);
for(Map.Entry<String,Object> param : params.entrySet()) {
postData.append('&');
postData.append(param.getKey());
postData.append('=');
postData.append(param.getValue());
}
byte[] postDataBytes = postData.toString().getBytes("UTF-8");
URL obj = new URL("http://223.255.205.7/notdeco/mbrLinkSso.do");
HttpURLConnection con = (HttpURLConnection)obj.openConnection();
con.setRequestMethod("POST");
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();
while((line = in.readLine()) != null){
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);
String message = jsonResponse.getString("message");
resultMap.put("resultCode", resultCodeString);
resultMap.put("message", message);
System.out.println("@@@@@@@@@@e배움터API성공@@@@@@@@@");
}catch(Exception e) {
e.printStackTrace();
resultMap.put("resultCode", "-1");
resultMap.put("message", e.getMessage());
System.out.println("@@@@@@@@@@e배움터API실패@@@@@@@@@");
}
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) throws Exception{
System.out.println("@@@@@@@@@찾교API시작 ID:"+loginVO.getUser_id()+"key:"+loginVO.getKey()+"@@@@@@@@@@");
Map<String, String> response = new HashMap<>();
try {
loginVO = loginService.selectOffeduMberChk(loginVO);
System.out.println("@@@찾교api - ID :"+loginVO.getId()+"key:"+loginVO.getKey());
if(loginVO != null) {
response.put("result_code", "1");
response.put("message", "");
}else {
response.put("result_code", "-1");
response.put("message", "인증오류입니다.");
}
//찾교 mber_seq key 파기
System.out.println("@@@@@찾교 key 파기@@@@@@@@@@");
loginService.updateMberSeqKeyNull(loginVO);
return ResponseEntity.ok(response);
}catch (Exception e) {
response.put("result_code", "error");
response.put("message", "Internal Server Error: " + e.getMessage());
return ResponseEntity.ok(response);
// return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(response);
}
}
/**
* @methodName : updateMberSeqKey
* @description : 찾교 회원 seq 생성
* @param adrInnorixFileVO
* @return
* @throws Exception
*/
@RequestMapping(value = "/web/updateMberSeqKeyAjax.do")
public ModelAndView updateMberSeqKeyAjax() throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
System.out.println("@@@@@@@@@찾교 @@@@@@@@@");
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
System.out.println("@@@@@@@@키갱신ID:"+userId+"@@@@@@@@@@@@");
System.out.println("@@@@@@@@키갱신VO:"+loginVO+"@@@@@@@@@@@@");
if(loginVO == null) { // 로그인 상태 파라미터 없이 e-배움터로 이동
modelAndView.addObject("status", "loginN");
return modelAndView;
}else {
//로그인 상태 seq 업데이트와 파라미터 전달
try {
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSS");
String key = now.format(formatter);
System.out.println("@@@@@@@@키:"+key+"@@@@@@@@@@@@");
loginVO.setMberSeq(key);
loginService.updateMberSeqKeyAjax(loginVO);
modelAndView.addObject("status", "loginY");
modelAndView.addObject("user_id", userId);
modelAndView.addObject("key", key);
return modelAndView;
}catch(Exception e) {
modelAndView.addObject("status", "fail");
return modelAndView;
}
}
}
}

View File

@ -213,10 +213,15 @@ public class EgovLoginController {
@RequestMapping(value = "/uat/uia/EgovLoginUsr.do")
public String adminLogin(HttpServletRequest request, HttpServletResponse response, ModelMap model) throws Exception {
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
System.out.println("==start=");
if (isAuthenticated)
return "redirect:/cmm/main/mainPage.do";
// initRsa(request);
System.out.println("==end=");
// 로그인 페이지 IP 체크
List<LoginPolicyVO> loginPolicyGroupList = new ArrayList<LoginPolicyVO>();
LoginPolicyVO loginPolicyVOCheck = new LoginPolicyVO();
@ -639,6 +644,8 @@ public class EgovLoginController {
* loginLog.setMenuNm("관리자로그인"); loginLogService.logInsertLoginLog(loginLog);
*/
}
System.out.println("forward:/uat/uia/actionMain.do");
return "forward:/uat/uia/actionMain.do"; // 성공 페이지.. (redirect 불가)
// 개인키 삭제
@ -684,7 +691,7 @@ public class EgovLoginController {
SsoLoginVO ssologinVO = new SsoLoginVO();
if (ProfileUtil.isLocal() && "Y".equals(loginVO.getIsSelect())) { // sso login
if ((ProfileUtil.isLocal() || ProfileUtil.isTLocal()) && "Y".equals(loginVO.getIsSelect())) { // sso login
loginVO.setPassword("1");
loginVO.setStatusAll("N");
@ -733,28 +740,28 @@ public class EgovLoginController {
ssologinVO = (SsoLoginVO) session.getAttribute("SSOLoginVO");
String SsoLoginResult = "";
if (ssologinVO == null) {
/* SSO로그인 및 SSOLoginVO 세선 생성 */
/* if (ssologinVO == null) {
SSO로그인 SSOLoginVO 세선 생성
SsoLogin ssoLogin = new SsoLogin();
SsoLoginResult = ssoLogin.SsoLogin(loginVO.getId(), loginVO.getPassword(), request);
}
if ("fail".equals(SsoLoginResult)) {
/*redirectAttributes.addAttribute("message", "아이디 비밀번호를 확인해 주세요.");*/
redirectAttributes.addAttribute("message", "아이디 비밀번호를 확인해 주세요.");
redirectAttributes.addFlashAttribute("message", "아이디 비밀번호를 확인해 주세요.");
return "redirect:/web/user/login/ssoLogin.do";
}
}*/
}
ssologinVO = (SsoLoginVO) session.getAttribute("SSOLoginVO");
// ssologinVO = (SsoLoginVO) session.getAttribute("SSOLoginVO");
if ("".equals(ssologinVO.getDispsettMembDivisCode())) {
/* 신청 관련코드 받아오면 처리 */
/*if ("".equals(ssologinVO.getDispsettMembDivisCode())) {
신청 관련코드 받아오면 처리
System.out.println("조정분류코드 없음");
}
}*/
// 기존에 있던 회원이 아니면 DB에 일련번호 저장
UserManageVO userManageVO = new UserManageVO();
/* UserManageVO userManageVO = new UserManageVO();
userManageVO.setMberSeq(ssologinVO.getMembSeq());
userManageVO = userManageService.selectKccadrUser(userManageVO);
if (null == userManageVO) {
@ -773,11 +780,11 @@ public class EgovLoginController {
tmpUserManageVO = egovCryptoUtil.encryptUserManageVO(tmpUserManageVO);
userManageService.updateUserNm(tmpUserManageVO);
}
}*/
loginVO.setId(userManageVO.getEmplyrId());
/*loginVO.setId(userManageVO.getEmplyrId());
loginVO.setPassword(userManageVO.getPassword());
*/
/*
* ssoLoginVO에서 아이디와, 일련번호, 부가가입여부 체크해서 DB에 일치하는 정보가 있는지 체크하고 일치하면 통과, 없으면
* ssoLoginVO에서 일련번호, 부가가입여부를 포함한 사용자 정보 DB에 insert
@ -1529,7 +1536,18 @@ public class EgovLoginController {
}
}
}
// e-배움터 연동 로그인 - LoginVO 세션의 return url로 이동
try {
LoginVO eEduLoginVO = (LoginVO) session.getAttribute("APILoginVO");
if(eEduLoginVO.getUrl() != null) {
return "redirect:" + eEduLoginVO.getUrl();
}
}catch(Exception ex) {
ex.printStackTrace();
}
// 관리자 로그인
LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();

View File

@ -1394,6 +1394,101 @@ public class EgovQustnrRespondInfoController {
return sLocationUrl;
}
/**
* 설문조사 전체 통계를 조회한다.(사용자)
* @param searchVO
* @param request
* @param commandMap
* @param model
* @return "/uss/olp/qnn/EgovQustnrRespondInfoManageStatistics"
* @throws Exception
*/
@RequestMapping(value="/web/survey/jsontest.do")
public ModelAndView jsontest(
HttpServletRequest request,
@RequestParam Map <String, Object> commandMap,
ModelMap model)
throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//리포팅툴 테스트용====================================
modelAndView.addObject("result", "{" +
"\"test1\":\"테스트1\"," +
"\"test2\":\"테스트2\"," +
"\"test3\":\"테스트3\"," +
"\"test4\":\"테스트4\"," +
"\"test5\":\"테스트5\"," +
"" +
"\"월 판매정보\": [" +
"" +
"{" +
"\"판매정보\": \"\"," +
"\"판매일자\": \"19980203\"," +
"\"상품코드\": \"P004\"," +
"\"고객코드\": \"C00012\"," +
"\"판매수량\": \"14\"," +
"\"판매단가\": \"1\"," +
"\"납부기한\": \"\"" +
"}," +
"{" +
" \"판매정보\": \"\"," +
" \"판매일자\": \"19980203\"," +
" \"상품코드\": \"P001\"," +
" \"고객코드\": \"C00012\"," +
" \"판매수량\": \"10\"," +
" \"판매단가\": \"6\"," +
" \"납부기한\": \"\"" +
" }," +
" {" +
" \"판매일자\": \"19980204\"," +
" \"상품코드\": \"P010\"," +
" \"고객코드\": \"C00001\"," +
" \"판매수량\": \"10\"," +
" \"판매단가\": \"2\"" +
" }," +
" {" +
" \"판매일자\": \"19980204\"," +
" \"상품코드\": \"P010\"," +
" \"고객코드\": \"C00011\"," +
" \"판매수량\": \"10\"," +
" \"판매단가\": \"3\"" +
" }," +
" {" +
" \"판매일자\": \"19980205\"," +
" \"상품코드\": \"P005\"," +
" \"고객코드\": \"C00007\"," +
" \"판매수량\": \"3\"," +
" \"판매단가\": \"4\"" +
" }," +
" {" +
" \"판매일자\": \"19980205\"," +
" \"상품코드\": \"P005\"," +
" \"고객코드\": \"C00017\"," +
" \"판매수량\": \"3\"," +
" \"판매단가\": \"5\"" +
" }," +
" {" +
" \"판매일자\": \"19980205\"," +
" \"상품코드\": \"P010\"," +
" \"고객코드\": \"C00002\"," +
" \"판매수량\": \"15\"," +
" \"판매단가\": \"6\"" +
" }," +
" {" +
" \"판매일자\": \"19980205\"," +
" \"상품코드\": \"P010\"," +
" \"고객코드\": \"C00012\"," +
" \"판매수량\": \"15\"," +
" \"판매단가\": \"7\"" +
" } " +
" ]" +
" }");
return modelAndView;
}
/**
* 설문조사 전체 통계를 조회한다.

View File

@ -125,4 +125,7 @@ public interface EgovUserManageService {
public void updateUserNm(UserManageVO userManageVO) throws Exception;
public UserManageVO selectOffeduUser(UserManageVO userManageVO) throws Exception;
public void insertOffeduUser(UserManageVO userManageVO) throws Exception;
}

View File

@ -174,6 +174,8 @@ public class UserManageVO extends UserDefaultVO{
private String mberSeq;
private String mberId; //회원 Id
public String getAuthorCode() {
return authorCode;
}
@ -215,6 +217,7 @@ public class UserManageVO extends UserDefaultVO{
public String getUniqId() {
return uniqId;
}
/**
* uniqId attribute 값을 설정한다.
* @param uniqId String
@ -222,6 +225,7 @@ public class UserManageVO extends UserDefaultVO{
public void setUniqId(String uniqId) {
this.uniqId = uniqId;
}
/**
* userTy attribute 값을 리턴한다.
* @return String
@ -697,6 +701,12 @@ public class UserManageVO extends UserDefaultVO{
public void setMberSeq(String mberSeq) {
this.mberSeq = mberSeq;
}
public String getMberId() {
return mberId;
}
public void setMberId(String mberId) {
this.mberId = mberId;
}
}

View File

@ -304,5 +304,51 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
@Override
public void updateUserNm(UserManageVO userManageVO) throws Exception {
userManageDAO.updateUserNm(userManageVO);
}
}
@Override
public UserManageVO selectOffeduUser(UserManageVO userManageVO) throws Exception{
userManageVO = userManageDAO.selectOffeduUser(userManageVO);
return userManageVO;
}
@Override
// @Transactional(rollbackFor = Exception.class)
public void insertOffeduUser(UserManageVO userManageVO) throws Exception {
//고유아이디 셋팅
String uniqId = idgenService.getNextStringId();
userManageVO.setUniqId(uniqId);
String pass = "1";
if("ROLE_ADMIN".equals(userManageVO.getAuthorCode()) || "ROLE_VISIT".equals(userManageVO.getAuthorCode())){
//패스워드 암호화
pass = EgovFileScrty.encryptPassword(userManageVO.getPassword(), userManageVO.getEmplyrId());
userManageVO.setPassword(pass);
}else {
userManageVO.setPassword(pass);
}
userManageVO.setEmplyrSttusCode("P"); //강제승인
if( !("ROLE_ADMIN".equals(userManageVO.getAuthorCode())
|| "ROLE_VISIT".equals(userManageVO.getAuthorCode()) )) {
userManageDAO.insertOffeudUser(userManageVO);
}else {
userManageDAO.insertUser(userManageVO);
}
AuthorGroup authorGroup = new AuthorGroup(); //사용자별권한관리에 등록해줌
authorGroup.setUniqId(uniqId);
authorGroup.setAuthorCode(userManageVO.getAuthorCode());
//authorGroup.setAuthorCode("ROLE_ADMIN");
if(!"ROLE_ADMIN".equals(userManageVO.getAuthorCode())
|| !"ROLE_VISIT".equals(userManageVO.getAuthorCode())){
authorGroup.setMberTyCode("GNR");
}else {
authorGroup.setMberTyCode("USR");
}
egovAuthorGroupService.insertAuthorGroup(authorGroup);
}
}

View File

@ -185,4 +185,12 @@ public class UserManageDAO extends EgovAbstractDAO{
update("userManageDAO.updateUserNm",userManageVO);
}
public UserManageVO selectOffeduUser(UserManageVO userManageVO){
return (UserManageVO)select("userManageDAO.selectOffeduUser", userManageVO);
}
public void insertOffeudUser(UserManageVO userManageVO){
insert("userManageDAO.insertOffeduUser", userManageVO);
}
}

View File

@ -26,6 +26,7 @@ import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
import kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrDetailVO;
import kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrSttsVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO;
/**
*
@ -469,6 +470,18 @@ public class EgovCryptoUtil {
return p_schduleManageVOList;
}
//VEAPrcsAplctPrdInstrAsgnmVO
//- 복호화
public List<VEAPrcsAplctPrdInstrAsgnmVO> decryptVEAPrcsAplctPrdInstrAsgnmVOList(List<VEAPrcsAplctPrdInstrAsgnmVO> p_VEAPrcsAplctPrdInstrAsgnmList){
for (int i=0;i<p_VEAPrcsAplctPrdInstrAsgnmList.size();i++) {
p_VEAPrcsAplctPrdInstrAsgnmList.get(i).setInstrNm(this.decrypt(p_VEAPrcsAplctPrdInstrAsgnmList.get(i).getInstrNm()));
p_VEAPrcsAplctPrdInstrAsgnmList.get(i).setPhone(this.decrypt(p_VEAPrcsAplctPrdInstrAsgnmList.get(i).getPhone()));
}
return p_VEAPrcsAplctPrdInstrAsgnmList;
}
//VEEduAplctVO - 복호화
public SchduleManageVO decryptSchduleManageVOInfo(SchduleManageVO p_schduleManageVO){

View File

@ -214,7 +214,20 @@ public class EduAplctTngrController {
modelAndView.addObject("result", "success");
return modelAndView;
}
/**
* 교육 신청서 등록
*/
@RequestMapping("aPopupAjax.do")
public ModelAndView aPopupAjax( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , ModelMap model , HttpServletRequest request , final MultipartHttpServletRequest multiRequest ) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//리포팅툴 테스트용====================================
modelAndView.addObject("result", "success");
return modelAndView;
}
/**
* 교육 신청 강의신청기간, 강의가능시간이 유효한지 체크

View File

@ -0,0 +1,12 @@
package kcc.ve.instr.tngrVisitEdu.prcsInfo.service;
import java.util.List;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
public interface VEAPrcsAplctPrdInstrAsgnmService {
void instrInsert(VEAPrcsAplctPrdInstrAsgnmVO vEAPrcsAplctPrdInstrAsgnmVO);
List<VEAPrcsAplctPrdInstrAsgnmVO> findByPrcsAplctPrdOrd(String prcsAplctPrdOrd);
}

View File

@ -0,0 +1,165 @@
package kcc.ve.instr.tngrVisitEdu.prcsInfo.service;
import java.io.Serializable;
import kcc.com.cmm.ComDefaultVO;
/**
*
* @author : 이호영
* @fileName : VEPrcsDetailVO.java
* @date : 2023.09.05
* @description : 교육과정강사배정 태이블 [vea_prcs_aplct_prd_instr_asgnm]
* ===========================================================
* DATE AUTHOR NOTE
* ----------------------------------------------------------- *
* 2023.09.05 이호영 최초 생성
*
*
*
*/
public class VEAPrcsAplctPrdInstrAsgnmVO extends ComDefaultVO implements Serializable {
/*
*
*
* */
private static final long serialVersionUID = 1L;
private String prcsAplctPrdOrd; // 과정신청기간순번
private String userId; // 사용자아이디-강사
private String lctrPlanAtchFileId; // 강의계획서첨부파일아이디
private String docAtchFileId; // 서류첨부파일아이디
private String asgnmAprvlCd; // 배정 승인 코드(VE0019)
private String asgnmAprvlPnttm; // 배정 승인 일시
private String asgnmAprvlId; // 배정 승인 아이디
private String rmrks; // 비고
private String frstRegisterId; //
private String frstRegistPnttm;
private String lastUpdusrId; //
private String lastUpdtPnttm;
// ve_instr_detail
private String instrNm; // 강사 이름
private String phone; // phone
public String getPrcsAplctPrdOrd() {
return prcsAplctPrdOrd;
}
public void setPrcsAplctPrdOrd(String prcsAplctPrdOrd) {
this.prcsAplctPrdOrd = prcsAplctPrdOrd;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getLctrPlanAtchFileId() {
return lctrPlanAtchFileId;
}
public void setLctrPlanAtchFileId(String lctrPlanAtchFileId) {
this.lctrPlanAtchFileId = lctrPlanAtchFileId;
}
public String getDocAtchFileId() {
return docAtchFileId;
}
public void setDocAtchFileId(String docAtchFileId) {
this.docAtchFileId = docAtchFileId;
}
public String getAsgnmAprvlCd() {
return asgnmAprvlCd;
}
public void setAsgnmAprvlCd(String asgnmAprvlCd) {
this.asgnmAprvlCd = asgnmAprvlCd;
}
public String getAsgnmAprvlPnttm() {
return asgnmAprvlPnttm;
}
public void setAsgnmAprvlPnttm(String asgnmAprvlPnttm) {
this.asgnmAprvlPnttm = asgnmAprvlPnttm;
}
public String getAsgnmAprvlId() {
return asgnmAprvlId;
}
public void setAsgnmAprvlId(String asgnmAprvlId) {
this.asgnmAprvlId = asgnmAprvlId;
}
public String getRmrks() {
return rmrks;
}
public void setRmrks(String rmrks) {
this.rmrks = rmrks;
}
public String getFrstRegisterId() {
return frstRegisterId;
}
public void setFrstRegisterId(String frstRegisterId) {
this.frstRegisterId = frstRegisterId;
}
public String getFrstRegistPnttm() {
return frstRegistPnttm;
}
public void setFrstRegistPnttm(String frstRegistPnttm) {
this.frstRegistPnttm = frstRegistPnttm;
}
public String getLastUpdusrId() {
return lastUpdusrId;
}
public void setLastUpdusrId(String lastUpdusrId) {
this.lastUpdusrId = lastUpdusrId;
}
public String getLastUpdtPnttm() {
return lastUpdtPnttm;
}
public void setLastUpdtPnttm(String lastUpdtPnttm) {
this.lastUpdtPnttm = lastUpdtPnttm;
}
public String getInstrNm() {
return instrNm;
}
public void setInstrNm(String instrNm) {
this.instrNm = instrNm;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
}

View File

@ -2,6 +2,8 @@ package kcc.ve.instr.tngrVisitEdu.prcsInfo.service;
import java.util.List;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
public interface VEPrcsAplctPrdService {
//C
@ -33,4 +35,7 @@ public interface VEPrcsAplctPrdService {
VEPrcsDetailVO selectDetailNewOne(VEPrcsDetailVO paramVO) throws Exception;
VEPrcsDetailVO selectDetailNewOne4Fndth(VEPrcsDetailVO paramVO) throws Exception;
List<VEInstrDetailVO> selectinstrAsgnmPopupPagingList(VEPrcsDetailVO vEPrcsDetailVO);
}

View File

@ -13,6 +13,7 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
private static final long serialVersionUID = 1L;
//ve_prcs
private String prcsOrd; //과정순번
private String prcsDiv; //과정구분
private String prcsKind; //과정종류
@ -108,6 +109,13 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
private String ddlnCd;
private String nosCnt1; //신청인
private String eduPlace; //교육장소
private String instrDiv;
private String userId;
public String getPrcsOrd() {
return prcsOrd;
@ -523,4 +531,24 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
public void setNosCnt1(String nosCnt1) {
this.nosCnt1 = nosCnt1;
}
public String getEduPlace() {
return eduPlace;
}
public void setEduPlace(String eduPlace) {
this.eduPlace = eduPlace;
}
public String getInstrDiv() {
return instrDiv;
}
public void setInstrDiv(String instrDiv) {
this.instrDiv = instrDiv;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
}

View File

@ -0,0 +1,24 @@
package kcc.ve.instr.tngrVisitEdu.prcsInfo.service.impl;
import java.util.List;
import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
@Repository("vEAPrcsAplctPrdInstrAsgnmDAO")
public class VEAPrcsAplctPrdInstrAsgnmDAO extends EgovAbstractDAO {
public void instrInsert(VEAPrcsAplctPrdInstrAsgnmVO vEAPrcsAplctPrdInstrAsgnmVO) {
// insert("VEPrcsAplctPrdDAO.instrInsert", vEAPrcsAplctPrdInstrAsgnmVO);
insert("VEAPrcsAplctPrdInstrAsgnmDAO.instrInsert", vEAPrcsAplctPrdInstrAsgnmVO);
}
public List<VEAPrcsAplctPrdInstrAsgnmVO> findByPrcsAplctPrdOrd(String prcsAplctPrdOrd) {
return (List<VEAPrcsAplctPrdInstrAsgnmVO>) list("VEAPrcsAplctPrdInstrAsgnmDAO.findByPrcsAplctPrdOrd", prcsAplctPrdOrd);
}
}

View File

@ -0,0 +1,38 @@
package kcc.ve.instr.tngrVisitEdu.prcsInfo.service.impl;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO;
@Service("vEAPrcsAplctPrdInstrAsgnmService")
public class VEAPrcsAplctPrdInstrAsgnmServiceImpl implements VEAPrcsAplctPrdInstrAsgnmService {
//과정신청기간순번
@Resource(name="prcsAplctPrdGnrService")
private EgovIdGnrService prcsAplctPrdGnrService;
//과정
@Resource(name="vEAPrcsAplctPrdInstrAsgnmDAO")
private VEAPrcsAplctPrdInstrAsgnmDAO vEAPrcsAplctPrdInstrAsgnmDAO;
//과정
@Override
public void instrInsert(VEAPrcsAplctPrdInstrAsgnmVO vEAPrcsAplctPrdInstrAsgnmVO) {
vEAPrcsAplctPrdInstrAsgnmDAO.instrInsert(vEAPrcsAplctPrdInstrAsgnmVO);
}
@Override
public List<VEAPrcsAplctPrdInstrAsgnmVO> findByPrcsAplctPrdOrd(String prcsAplctPrdOrd) {
return vEAPrcsAplctPrdInstrAsgnmDAO.findByPrcsAplctPrdOrd(prcsAplctPrdOrd);
}
}

View File

@ -5,6 +5,8 @@ import java.util.List;
import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
@Repository("vEPrcsAplctPrdDAO")
@ -21,7 +23,7 @@ public class VEPrcsAplctPrdDAO extends EgovAbstractDAO {
/**
* 상세보기 - R
* @param VEPrcsDetailVO
* @param CndtnTrgtInfoMngVO
* @return
* @throws Exception
*/
@ -31,7 +33,7 @@ public class VEPrcsAplctPrdDAO extends EgovAbstractDAO {
/**
* 수정 - U
* @param VEPrcsDetailVO
* @param CndtnTrgtInfoMngVO
* @return
* @throws Exception
*/
@ -83,6 +85,11 @@ public class VEPrcsAplctPrdDAO extends EgovAbstractDAO {
public VEPrcsDetailVO selectDetailNewOne4Fndth(VEPrcsDetailVO paramVO) throws Exception {
return (VEPrcsDetailVO) select("VEPrcsAplctPrdDAO.selectDetailNewOne4Fndth", paramVO);
}
}
public List<VEInstrDetailVO> selectinstrAsgnmPopupPagingList(VEPrcsDetailVO vEPrcsDetailVO) {
return (List<VEInstrDetailVO>) list("VEPrcsAplctPrdDAO.selectinstrAsgnmPopupPagingList", vEPrcsDetailVO);
}
}

View File

@ -7,20 +7,39 @@ import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
@Service("vEPrcsAplctPrdService")
public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService {
//과정신청기간순번
@Resource(name="prcsAplctPrdGnrService")
private EgovIdGnrService prcsAplctPrdGnrService;
//과정
@Resource(name="vEPrcsAplctPrdDAO")
private VEPrcsAplctPrdDAO vEPrcsAplctPrdDAO;
//과정
@Resource(name="vEPrcsDAO")
private VEPrcsDAO vEPrcsDAO;
//C
public void insert(VEPrcsDetailVO paramVO) throws Exception {
vEPrcsAplctPrdDAO.insert(paramVO);
public void insert(VEPrcsDetailVO vEPrcsDetailVO) throws Exception {
String prcsAplctPrdOrd = prcsAplctPrdGnrService.getNextStringId(); // 고유ID
vEPrcsDetailVO.setPrcsAplctPrdOrd(prcsAplctPrdOrd);
vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
//vEPrcsDetailVO.setUseYn("Y");
vEPrcsAplctPrdDAO.insert(vEPrcsDetailVO);
}
//R
@ -30,8 +49,8 @@ public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService {
//U
public int update(VEPrcsDetailVO paramVO) throws Exception{
return vEPrcsAplctPrdDAO.update(paramVO);
vEPrcsAplctPrdDAO.update(paramVO);
return vEPrcsDAO.update(paramVO);
}
//D
@ -65,4 +84,10 @@ public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService {
public VEPrcsDetailVO selectDetailNewOne4Fndth(VEPrcsDetailVO paramVO) throws Exception {
return vEPrcsAplctPrdDAO.selectDetailNewOne4Fndth(paramVO);
}
@Override
public List<VEInstrDetailVO> selectinstrAsgnmPopupPagingList(VEPrcsDetailVO vEPrcsDetailVO) {
return vEPrcsAplctPrdDAO.selectinstrAsgnmPopupPagingList(vEPrcsDetailVO);
}
}

View File

@ -12,7 +12,7 @@ public class VEPrcsDAO extends EgovAbstractDAO {
/**
* 등록 - C
* @param VEPrcsDetailVO
* @param CndtnTrgtInfoMngVO
* @throws Exception
*/
public void insert(VEPrcsDetailVO paramVO) throws Exception {
@ -21,7 +21,7 @@ public class VEPrcsDAO extends EgovAbstractDAO {
/**
* 상세보기 - R
* @param VEPrcsDetailVO
* @param CndtnTrgtInfoMngVO
* @return
* @throws Exception
*/
@ -31,7 +31,7 @@ public class VEPrcsDAO extends EgovAbstractDAO {
/**
* 수정 - U
* @param VEPrcsDetailVO
* @param CndtnTrgtInfoMngVO
* @return
* @throws Exception
*/

View File

@ -12,7 +12,7 @@ public class VEPrcsMIXDAO extends EgovAbstractDAO {
/**
* 상세보기 - R
* @param VEPrcsDetailVO
* @param CndtnTrgtInfoMngVO
* @return
* @throws Exception
*/

View File

@ -333,6 +333,7 @@ public class EduCnfrmMngAdultController {
}
//System.out.println(vEInstrAsgnmVO.getInstrNm());
System.out.println("===============================================");
if ("10".equals(vEEduAplctVO.getEduSlctCd())) { //10-온라인, 20-오프라인
selectVEInstrAsgnmVOList = vEAsgnmMIXService.selectInstrAsgnmOnPagingList_220210_adult(vEInstrAsgnmVO);
@ -371,6 +372,7 @@ public class EduCnfrmMngAdultController {
model.addAttribute("list", selectVEInstrAsgnmVOList);
return "oprtn/adultVisitEdu/popup/instrAsgnmPopup";
}

View File

@ -0,0 +1,41 @@
package kcc.ve.oprtn.cndtnSspnIdtmt.service;
import java.util.List;
public interface CndtnPrcsInfoMngService {
List<CndtnPrcsInfoMngVO> selectPagingList(CndtnPrcsInfoMngVO cndtnTrgtInfoMngVO);
void insert(CndtnPrcsInfoMngVO cndtnTrgtInfoMngVO);
/* //C
void insert(VEPrcsDetailVO paramVO) throws Exception;
//R
VEPrcsDetailVO selectDetail(VEPrcsDetailVO paramVO) throws Exception;
//U
int update(VEPrcsDetailVO paramVO) throws Exception;
//D
int delete(VEPrcsDetailVO paramVO) throws Exception;
//L
List<VEPrcsDetailVO> selectList(VEPrcsDetailVO paramVO) throws Exception;
//List<VEPrcsDetailVO> selectList4Fndth(VEPrcsDetailVO paramVO) throws Exception;
List<VEPrcsDetailVO> selectTngrPrcsList(VEPrcsDetailVO paramVO) throws Exception;
//Page List
List<VEPrcsDetailVO> selectPagingList(VEPrcsDetailVO paramVO) throws Exception;
//교육과정 리스트 순서 수정
void updatePrcsSort(VEPrcsDetailVO paramVO) throws Exception;*/
}

View File

@ -0,0 +1,130 @@
package kcc.ve.oprtn.cndtnSspnIdtmt.service;
import java.io.Serializable;
import kcc.com.cmm.ComDefaultVO;
public class CndtnPrcsInfoMngVO extends ComDefaultVO implements Serializable {
/*
* 과정테이블
* */
private static final long serialVersionUID = 1L;
//ve_prcs
private String sspnIdtmtTrgtOrd; // 과정순번
private String userId; // 사용자아이디
private String trgtStateCd; // 대상상태코드 VEA002
private String frstRegistPnttm; // 등록일시
private String frstRegisterId; // 등록자
private String lastUpdtPnttm; // 수정일시
private String lastUpdusrId; // 수정자
private String trgtNm; // 대상자성명
private String clphone; // 연락처
private String dBirth; // 생년월일
private String addr; // 주소
private String addrDetail; // 상세주소
private String email; // 이메일주소
private String post; // 우편주소
public String getSspnIdtmtTrgtOrd() {
return sspnIdtmtTrgtOrd;
}
public void setSspnIdtmtTrgtOrd(String sspnIdtmtTrgtOrd) {
this.sspnIdtmtTrgtOrd = sspnIdtmtTrgtOrd;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getTrgtStateCd() {
return trgtStateCd;
}
public void setTrgtStateCd(String trgtStateCd) {
this.trgtStateCd = trgtStateCd;
}
public String getFrstRegistPnttm() {
return frstRegistPnttm;
}
public void setFrstRegistPnttm(String frstRegistPnttm) {
this.frstRegistPnttm = frstRegistPnttm;
}
public String getFrstRegisterId() {
return frstRegisterId;
}
public void setFrstRegisterId(String frstRegisterId) {
this.frstRegisterId = frstRegisterId;
}
public String getLastUpdtPnttm() {
return lastUpdtPnttm;
}
public void setLastUpdtPnttm(String lastUpdtPnttm) {
this.lastUpdtPnttm = lastUpdtPnttm;
}
public String getLastUpdusrId() {
return lastUpdusrId;
}
public void setLastUpdusrId(String lastUpdusrId) {
this.lastUpdusrId = lastUpdusrId;
}
public String getTrgtNm() {
return trgtNm;
}
public void setTrgtNm(String trgtNm) {
this.trgtNm = trgtNm;
}
public String getClphone() {
return clphone;
}
public void setClphone(String clphone) {
this.clphone = clphone;
}
public String getdBirth() {
return dBirth;
}
public void setdBirth(String dBirth) {
this.dBirth = dBirth;
}
public String getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
public String getAddrDetail() {
return addrDetail;
}
public void setAddrDetail(String addrDetail) {
this.addrDetail = addrDetail;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPost() {
return post;
}
public void setPost(String post) {
this.post = post;
}
}

View File

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

View File

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

View File

@ -1,4 +1,4 @@
package kcc.ve.oprtn.cndtnSspnIdtmt.prcsInfoMng.web;
package kcc.ve.oprtn.cndtnSspnIdtmt.web;
import java.util.List;
@ -25,6 +25,8 @@ import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsCntntVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
import kcc.ve.oprtn.cndtnSspnIdtmt.service.CndtnPrcsInfoMngService;
import kcc.ve.oprtn.cndtnSspnIdtmt.service.CndtnPrcsInfoMngVO;
/**
* 기반강화연수(관리자)
@ -62,10 +64,18 @@ public class CndtnPrcsInfoMngController {
@Resource(name = "vEPrcsOnlnCntntService")
private VEPrcsOnlnCntntService vEPrcsOnlnCntntService;
//과정 관리
@Resource(name = "cndtnTrgtInfoMngService")
private CndtnPrcsInfoMngService cndtnTrgtInfoMngService;
//교육과정순번
@Resource(name="prcsGnrService")
private EgovIdGnrService prcsGnrService;
//기소유예대상자
@Resource(name="trgtOrdService")
private EgovIdGnrService trgtOrdService;
//과정온라인콘텐츠순번
@Resource(name="prcsOnlnGnrService")
@ -109,9 +119,11 @@ public class CndtnPrcsInfoMngController {
private CheckAdrProcessUtil checkAdrProcessUtil;
*/
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList.do")
public String cndtnEduPrcsMngList(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
// @RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList.do")
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtList.do")
public String cndtnSspnIdtmtMngList(
@ModelAttribute("cndtnTrgtInfoMngVO") CndtnPrcsInfoMngVO cndtnTrgtInfoMngVO
, ModelMap model
) throws Exception {
@ -124,57 +136,56 @@ public class CndtnPrcsInfoMngController {
//로그인 처리====================================
//1.pageing step1
PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO);
PaginationInfo paginationInfo = this.setCndtnPagingStep1(cndtnTrgtInfoMngVO);
//임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함
//paginationInfo.setRecordCountPerPage(10000);
//2. pageing step2
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
cndtnTrgtInfoMngVO = this.setCndtnPagingStep2(cndtnTrgtInfoMngVO, paginationInfo);
//기반강화 조회
vEPrcsDetailVO.setLctrDivCd("60"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){
String selectCondition = "AND a.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')";
vEPrcsDetailVO.setSelectPagingListQuery(selectCondition);
//검색 조회
if(StringUtil.isNotEmpty(cndtnTrgtInfoMngVO.getSearchKeyword())){
String selectCondition = "";
String searchStatus = cndtnTrgtInfoMngVO.getSearchStatus();
selectCondition = "AND a."+searchStatus+" LIKE CONCAT ('%', '" +cndtnTrgtInfoMngVO.getSearchKeyword() + "', '%')";
cndtnTrgtInfoMngVO.setSearchQuery(selectCondition);
}
if(StringUtil.isNotEmpty(vEPrcsDetailVO.getPrcsKind())){
String[] splited = vEPrcsDetailVO.getPrcsKind().split(",");
vEPrcsDetailVO.setSearchStatusArr(splited);
}
if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) {
vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모
}
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsService.selectPagingList(vEPrcsDetailVO);
// List<CndtnTrgtInfoMngVO> cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO);
List<CndtnPrcsInfoMngVO> cndtnTrgtInfoMngVOList = null;
try {
cndtnTrgtInfoMngVOList = cndtnTrgtInfoMngService.selectPagingList(cndtnTrgtInfoMngVO);
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
//3.pageing step3
paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo);
paginationInfo = this.setCndtnPagingStep3(cndtnTrgtInfoMngVOList, paginationInfo);
model.addAttribute("paginationInfo", paginationInfo);
//대상 리스트, 페이징 정보 전달
model.addAttribute("list", vEPrcsDetailVOList);
model.addAttribute("list", cndtnTrgtInfoMngVOList);
return "oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList";
///kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngList.do
return "oprtn/cndtnSspnIdtmt/trgtList";
}
/**
* 조건부기소유예과정 등록 화면
* 조건부기소유예대상자 등록 화면
*/
//@RequestMapping("eduPrcsMngReg.do")
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngReg.do")
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtReg.do")
public String cndtnEduPrcsMngReg(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
@ModelAttribute("cndtnTrgtInfoMngVO") CndtnPrcsInfoMngVO cndtnTrgtInfoMngVO
, ModelMap model
) throws Exception {
@ -187,15 +198,15 @@ public class CndtnPrcsInfoMngController {
//로그인 처리====================================
return "oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngReg";
return "oprtn/cndtnSspnIdtmt/trgtReg";
}
/**
* 조건부기소유예과정 등록
*/
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngRegAjax.do")
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/trgtRegAjax.do")
public ModelAndView cndtnEduPrcsMngRegAjax(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
@ModelAttribute("cndtnTrgtInfoMngVO") CndtnPrcsInfoMngVO cndtnTrgtInfoMngVO
, ModelMap model
//, RedirectAttributes redirectAttributes
, HttpServletRequest request
@ -212,7 +223,6 @@ public class CndtnPrcsInfoMngController {
modelAndView.addObject("result", "loginFail");
return modelAndView;
}
//로그인 처리====================================
@ -220,28 +230,15 @@ public class CndtnPrcsInfoMngController {
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
String prcsOrd = prcsGnrService.getNextStringId(); // 고유ID
vEPrcsDetailVO.setPrcsOrd(prcsOrd);
vEPrcsDetailVO.setLctrDivCd("60"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
vEPrcsDetailVO.setUseYn("Y");
vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
vEPrcsService.insert(vEPrcsDetailVO);
cndtnTrgtInfoMngVO.setSspnIdtmtTrgtOrd(trgtOrdService.getNextStringId());
cndtnTrgtInfoMngVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
// vEPrcsDetailVO.setPrcsOrd(prcsOrd);
// vEPrcsDetailVO.setLctrDivCd("60"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
// vEPrcsDetailVO.setUseYn("Y");
// vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
cndtnTrgtInfoMngService.insert(cndtnTrgtInfoMngVO);
//세부과정 생성하기
String[] s_detailPrcsNm = request.getParameterValues("detailPrcsNm");
for (int i=0;i<s_detailPrcsNm.length;i++) {
String prcsOnlnOrd = prcsOnlnGnrService.getNextStringId(); // 고유ID
VEPrcsCntntVO vEPrcsCntntVO = new VEPrcsCntntVO();
vEPrcsCntntVO.setPrcsOrd(prcsOrd);
vEPrcsCntntVO.setPrcsOnlnCntntOrd(prcsOnlnOrd);
// vEPrcsCntntVO.setPrcsNm(s_detailPrcsNm[i]);
vEPrcsCntntVO.setDetailPrcsNm(s_detailPrcsNm[i]);
vEPrcsCntntVO.setChasi(String.valueOf(i+1));
vEPrcsCntntVO.setUseYn("Y");
vEPrcsCntntVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
vEPrcsOnlnCntntService.insert(vEPrcsCntntVO);
}
modelAndView.addObject("result", "success");
@ -249,7 +246,67 @@ public class CndtnPrcsInfoMngController {
return modelAndView;
}
/*
*//**
* 조건부기소유예과정 등록
*//*
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngRegAjax.do")
public ModelAndView cndtnEduPrcsMngRegAjax(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, ModelMap model
//, RedirectAttributes redirectAttributes
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "loginFail");
return modelAndView;
}
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
String prcsOrd = prcsGnrService.getNextStringId(); // 고유ID
vEPrcsDetailVO.setPrcsOrd(prcsOrd);
vEPrcsDetailVO.setLctrDivCd("60"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
vEPrcsDetailVO.setUseYn("Y");
vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
vEPrcsService.insert(vEPrcsDetailVO);
//세부과정 생성하기
String[] s_detailPrcsNm = request.getParameterValues("detailPrcsNm");
for (int i=0;i<s_detailPrcsNm.length;i++) {
String prcsOnlnOrd = prcsOnlnGnrService.getNextStringId(); // 고유ID
VEPrcsCntntVO vEPrcsCntntVO = new VEPrcsCntntVO();
vEPrcsCntntVO.setPrcsOrd(prcsOrd);
vEPrcsCntntVO.setPrcsOnlnCntntOrd(prcsOnlnOrd);
// vEPrcsCntntVO.setPrcsNm(s_detailPrcsNm[i]);
vEPrcsCntntVO.setDetailPrcsNm(s_detailPrcsNm[i]);
vEPrcsCntntVO.setChasi(String.valueOf(i+1));
vEPrcsCntntVO.setUseYn("Y");
vEPrcsCntntVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
vEPrcsOnlnCntntService.insert(vEPrcsCntntVO);
}
modelAndView.addObject("result", "success");
return modelAndView;
}
*/
/**
* 조건부기소유예과정 상세화면
*/
@ -415,7 +472,6 @@ public class CndtnPrcsInfoMngController {
//페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기
private PaginationInfo setPagingStep3(
List<VEPrcsDetailVO> p_vEPrcsDetailVOList
, PaginationInfo p_paginationInfo
)throws Exception{
// pageing step3
@ -423,6 +479,52 @@ public class CndtnPrcsInfoMngController {
if(p_vEPrcsDetailVOList.size() > 0) totCnt = p_vEPrcsDetailVOList.get(0).getTotCnt();
p_paginationInfo.setTotalRecordCount(totCnt);
return p_paginationInfo;
}
//CndtnTrgtInfoMngVO
//페이징을 위한 처리 step1 - 페이징 기본 정보 설정
private PaginationInfo setCndtnPagingStep1(
CndtnPrcsInfoMngVO p_cndtnTrgtInfoMngVO
)throws Exception{
// pageing step1
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(p_cndtnTrgtInfoMngVO.getPageIndex());
paginationInfo.setRecordCountPerPage(p_cndtnTrgtInfoMngVO.getPageUnit());
paginationInfo.setPageSize(p_cndtnTrgtInfoMngVO.getPageSize());
return paginationInfo;
}
//페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 검색 조건 초기화
private CndtnPrcsInfoMngVO setCndtnPagingStep2(
CndtnPrcsInfoMngVO p_cndtnTrgtInfoMngVO
, PaginationInfo p_paginationInfo
)throws Exception{
// pageing step2
p_cndtnTrgtInfoMngVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex());
p_cndtnTrgtInfoMngVO.setLastIndex(p_paginationInfo.getLastRecordIndex());
p_cndtnTrgtInfoMngVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage());
if("".equals(p_cndtnTrgtInfoMngVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
p_cndtnTrgtInfoMngVO.setSearchSortCnd("prcs_ord");
p_cndtnTrgtInfoMngVO.setSearchSortOrd("desc");
}
return p_cndtnTrgtInfoMngVO;
}
//페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기
private PaginationInfo setCndtnPagingStep3(
List<CndtnPrcsInfoMngVO> p_cndtnTrgtInfoMngVOList
, PaginationInfo p_paginationInfo
)throws Exception{
// pageing step3
int totCnt = 0;
if(p_cndtnTrgtInfoMngVOList.size() > 0) totCnt = p_cndtnTrgtInfoMngVOList.get(0).getTotCnt();
p_paginationInfo.setTotalRecordCount(totCnt);
return p_paginationInfo;
}
}

View File

@ -17,17 +17,27 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.ComDefaultCodeVO;
import kcc.com.cmm.ComDefaultVO;
import kcc.com.cmm.LoginVO;
import kcc.com.cmm.service.CmmnDetailCode;
import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.service.EgovFileMngUtil;
import kcc.com.cmm.service.impl.CmmUseDAO;
import kcc.com.cmm.util.StringUtil;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
import kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsCmpltDetailService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
@ -79,6 +89,10 @@ public class FndthPrcsAplctPrdMngController {
@Resource(name = "vEPrcsAplctPrdService")
private VEPrcsAplctPrdService vEPrcsAplctPrdService;
//과정차시 관리
@Resource(name = "vEAPrcsAplctPrdInstrAsgnmService")
private VEAPrcsAplctPrdInstrAsgnmService vEAPrcsAplctPrdInstrAsgnmService;
//교육과정순번
@Resource(name="prcsGnrService")
private EgovIdGnrService prcsGnrService;
@ -117,7 +131,10 @@ public class FndthPrcsAplctPrdMngController {
@Resource(name = "EgovFileMngService")
private EgovFileMngService fileService;
//과정
@Resource(name="cmmUseDAO")
private CmmUseDAO cmmUseDAO;
/*
// 교육신청 서비스단
@ -187,7 +204,7 @@ public class FndthPrcsAplctPrdMngController {
vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){
String selectCondition = "AND a.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')";
String selectCondition = "AND b.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')";
vEPrcsDetailVO.setSelectPagingListQuery(selectCondition);
}
@ -260,9 +277,23 @@ public class FndthPrcsAplctPrdMngController {
//model.addAttribute("paginationInfo", paginationInfo);
// 교육 부분 코드 가져오는 영역
ComDefaultCodeVO codeVO = new ComDefaultCodeVO();
codeVO.setCodeId("VEA001");//기관구분코드
codeVO.setCode(vEPrcsDetailVOList.get(0).getPrcsDiv());
model.addAttribute("prcsDivNm", cmmUseDAO.selectCmmCodeDetailValue(codeVO).getCodeNm());
// 상세교육과정 내용 가져오는 영역
VEPrcsDetailVO vEPrcsDetailVOPrcsCn = new VEPrcsDetailVO();
vEPrcsDetailVOPrcsCn.setPrcsOrd(vEPrcsDetailVOList.get(0).getPrcsOrd());
model.addAttribute("prcsCn", vEPrcsService.selectDetail(vEPrcsDetailVOPrcsCn).getPrcsCn());
//대상 리스트, 페이징 정보 전달
model.addAttribute("listPrcs", vEPrcsDetailVOList);
model.addAttribute("listPrcs", vEPrcsDetailVOList);
}
@ -295,18 +326,11 @@ public class FndthPrcsAplctPrdMngController {
}
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
String prcsAplctPrdOrd = prcsAplctPrdGnrService.getNextStringId(); // 고유ID
vEPrcsDetailVO.setPrcsAplctPrdOrd(prcsAplctPrdOrd);
vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
//vEPrcsDetailVO.setUseYn("Y");
vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
vEPrcsAplctPrdService.insert(vEPrcsDetailVO);
@ -316,6 +340,50 @@ public class FndthPrcsAplctPrdMngController {
}
/**
* 기반강화연수과정 신청기간 등록
*/
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctSelectDivAndCnAjax.do")
public ModelAndView fndthEduPrcsAplctSelectDivAjax(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, ModelMap model
//, RedirectAttributes redirectAttributes
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "loginFail");
return modelAndView;
}
//로그인 처리====================================
VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsService.selectDetail(vEPrcsDetailVO);
ComDefaultCodeVO codeVO = new ComDefaultCodeVO();
codeVO.setCodeId("VEA001");//기관구분코드
codeVO.setCode(vEPrcsDetailVODetail.getPrcsDiv());
modelAndView.addObject("result", "success");
modelAndView.addObject("prcsDiv", cmmUseDAO.selectCmmCodeDetailValue(codeVO)
.getCodeNm());
modelAndView.addObject("prcsCn", vEPrcsDetailVODetail.getPrcsCn());
return modelAndView;
}
/**
* 기반강화연수과정 기간 상세화면
*/
@ -386,6 +454,15 @@ public class FndthPrcsAplctPrdMngController {
model.addAttribute("listPrcsAplct", vEPrcsDetailVOList);
}
// 강사 배치 정보
{
List<VEAPrcsAplctPrdInstrAsgnmVO> vEAPrcsAplctPrdInstrAsgnmList = vEAPrcsAplctPrdInstrAsgnmService.findByPrcsAplctPrdOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
List<VEAPrcsAplctPrdInstrAsgnmVO> instrAsgnmList = egovCryptoUtil.decryptVEAPrcsAplctPrdInstrAsgnmVOList(vEAPrcsAplctPrdInstrAsgnmList);
model.addAttribute("instrAsgnmList", instrAsgnmList);
}
return "/oprtn/fndthEnhanceTrn/fndthEduPrcsAplctPrdMngDetail";
}
@ -479,6 +556,7 @@ public class FndthPrcsAplctPrdMngController {
//String prcsAplctPrdOrd = prcsAplctPrdGnrService.getNextStringId(); // 고유ID
//vEPrcsDetailVO.setPrcsAplctPrdOrd(prcsAplctPrdOrd);
vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
vEPrcsDetailVO.setLastUpdusrId(loginVO.getUniqId()); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
//vEPrcsDetailVO.setUseYn("Y");
vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
@ -491,6 +569,134 @@ public class FndthPrcsAplctPrdMngController {
}
/**
* 1.기반강화 강사배치 팝업 function
*/
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/popup/fndthInstrAsgnmPopup.do")
public String fndthInstrAsgnmPopup(
// @ModelAttribute("vEInstrDetailVO") VEInstrDetailVO vEInstrDetailVO
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, ModelMap model
, RedirectAttributes redirectAttributes
, HttpSession session
, HttpServletRequest request
) throws Exception {
System.out.println("vEPrcsDetailVO.getPrcsAplctPrdOrd() :"+ vEPrcsDetailVO.getPrcsAplctPrdOrd());
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
//로그인 처리====================================
//1.pageing step1
PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO);
//2. pageing step2
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
//3. SelectPagingListQuery set 조건 설정
String selectCondition = new String();
//3.1 제출 완료 사용중인 데이터 조회
selectCondition += "AND a.sbmt_yn='Y' AND a.use_yn = 'Y'";
//3.2 강사 테이블 성인강사여부 Y인것만 조회
selectCondition += "AND (b.adult_instr_yn ='Y' OR a.qlfct_end_yn = 'Y') ";
//3.3 이름 검색
if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){
//selectCondition += "AND a.instr_nm LIKE CONCAT ('%', '" +vEInstrDetailVO.getSearchKeyword() + "', '%')";
//이름 암호화 - comDefaultVO 검색단어 공통 암호화
ComDefaultVO comDefaultVO = new ComDefaultVO();
comDefaultVO.setSearchKeyword(vEPrcsDetailVO.getSearchKeyword());
comDefaultVO = egovCryptoUtil.encryptComDefaultVO(comDefaultVO);
vEPrcsDetailVO.setSearchKeyword(comDefaultVO.getSearchKeyword());
selectCondition += "AND a.instr_nm LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')";
comDefaultVO = egovCryptoUtil.decryptComDefaultVO(comDefaultVO);
vEPrcsDetailVO.setSearchKeyword(comDefaultVO.getSearchKeyword());
}
//3.4 요청일 시작일 검색
// if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchStartDt())){
// selectCondition += "AND TO_CHAR(a.sbmt_pnttm, 'YYYYMMDD') >= REPLACE('"+vEPrcsDetailVO.getSearchStartDt()+"', '.', '')";
// }
//3.5 요청일 종료일 검색
// if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchEndDt())){
// selectCondition += "AND TO_CHAR(a.sbmt_pnttm, 'YYYYMMDD') <= REPLACE('"+vEPrcsDetailVO.getSearchEndDt()+"', '.', '')";
// }
vEPrcsDetailVO.setInstrDiv("20");
vEPrcsDetailVO.setSelectPagingListQuery(selectCondition);
List<VEInstrDetailVO> vEInstrDetailVOList = vEPrcsAplctPrdService.selectinstrAsgnmPopupPagingList(vEPrcsDetailVO);
try {
vEInstrDetailVOList = egovCryptoUtil.decryptVEInstrDetailVOList(vEInstrDetailVOList);
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
//4.pageing step3
paginationInfo = this.setInstrPagingStep3(vEInstrDetailVOList, paginationInfo);
System.out.println(" ==== vEPrcsDetailVO.getPrcsAplctPrdOrd() :"+ vEPrcsDetailVO.getPrcsAplctPrdOrd());
model.addAttribute("vEPrcsDetailVO", vEPrcsDetailVO);
model.addAttribute("paginationInfo", paginationInfo);
//대상 리스트, 페이징 정보 전달
model.addAttribute("list", vEInstrDetailVOList);
return "/oprtn/fndthEnhanceTrn/popup/fndthInstrAsgnmPopup";
}
/**
* 강사배정 등록 처리
*/
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthInstrAsgnmAjax.do")
public ModelAndView instrAsgnmAjaxinstrAsgnmAjax(
@ModelAttribute("vEAPrcsAplctPrdInstrAsgnmVO") VEAPrcsAplctPrdInstrAsgnmVO vEAPrcsAplctPrdInstrAsgnmVO
, ModelMap model
//, RedirectAttributes redirectAttributes
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "loginFail");
return modelAndView;
}
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
try {
//선택한 강사 데이터 등록 처리
vEAPrcsAplctPrdInstrAsgnmVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
vEAPrcsAplctPrdInstrAsgnmService.instrInsert(vEAPrcsAplctPrdInstrAsgnmVO);
} catch (Exception ex) {
ex.printStackTrace();
}
modelAndView.addObject("result", "success");
return modelAndView;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//
@ -510,7 +716,6 @@ public class FndthPrcsAplctPrdMngController {
return paginationInfo;
}
//페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 검색 조건 초기화
private VEPrcsDetailVO setPagingStep2(
@ -544,4 +749,21 @@ public class FndthPrcsAplctPrdMngController {
return p_paginationInfo;
}
//페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기
private PaginationInfo setInstrPagingStep3(
List<VEInstrDetailVO> p_vEInstrDetailVOList
, PaginationInfo p_paginationInfo
)throws Exception{
// pageing step3
int totCnt = 0;
if(p_vEInstrDetailVOList.size() > 0) totCnt = p_vEInstrDetailVOList.get(0).getTotCnt();
p_paginationInfo.setTotalRecordCount(totCnt);
return p_paginationInfo;
}
}

View File

@ -176,19 +176,8 @@ public class FndthPrcsInfoMngController {
if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){
String selectCondition = "AND a.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')";
vEPrcsDetailVO.setSelectPagingListQuery(selectCondition);
}
if(StringUtil.isNotEmpty(vEPrcsDetailVO.getPrcsKind())){
String[] splited = vEPrcsDetailVO.getPrcsKind().split(",");
vEPrcsDetailVO.setSearchStatusArr(splited);
}
if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) {
//vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모
}
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsService.selectPagingList(vEPrcsDetailVO);
//3.pageing step3
@ -261,13 +250,12 @@ public class FndthPrcsInfoMngController {
String prcsOrd = prcsGnrService.getNextStringId(); // 고유ID
vEPrcsDetailVO.setPrcsOrd(prcsOrd);
vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
vEPrcsDetailVO.setUseYn("Y");
vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
vEPrcsService.insert(vEPrcsDetailVO);
//세부과정 생성하기
String[] s_detailPrcsNm = request.getParameterValues("detailPrcsNm");
/*String[] s_detailPrcsNm = request.getParameterValues("detailPrcsNm");
for (int i=0;i<s_detailPrcsNm.length;i++) {
String prcsOnlnOrd = prcsOnlnGnrService.getNextStringId(); // 고유ID
VEPrcsCntntVO vEPrcsCntntVO = new VEPrcsCntntVO();
@ -279,7 +267,7 @@ public class FndthPrcsInfoMngController {
vEPrcsCntntVO.setUseYn("Y");
vEPrcsCntntVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
vEPrcsOnlnCntntService.insert(vEPrcsCntntVO);
}
} */
modelAndView.addObject("result", "success");
@ -346,10 +334,10 @@ public class FndthPrcsInfoMngController {
VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsService.selectDetail(vEPrcsDetailVO);
model.addAttribute("info", vEPrcsDetailVODetail);
//세부과정 목록 조회
VEPrcsCntntVO vePrcsCntntVO = new VEPrcsCntntVO();
vePrcsCntntVO.setPrcsOrd(vEPrcsDetailVO.getPrcsOrd());
List<VEPrcsCntntVO> vEPrcsCntntList = vEPrcsOnlnCntntService.selectList(vePrcsCntntVO);
model.addAttribute("vEPrcsCntntList", vEPrcsCntntList);
// VEPrcsCntntVO vePrcsCntntVO = new VEPrcsCntntVO();
// vePrcsCntntVO.setPrcsOrd(vEPrcsDetailVO.getPrcsOrd());
// List<VEPrcsCntntVO> vEPrcsCntntList = vEPrcsOnlnCntntService.selectList(vePrcsCntntVO);
// model.addAttribute("vEPrcsCntntList", vEPrcsCntntList);
return "oprtn/fndthEnhanceTrn/fndthEduPrcsMngMdfy";
}
@ -390,9 +378,9 @@ public class FndthPrcsInfoMngController {
//세부과정 지우고 다시 생성
VEPrcsCntntVO vEPrcsCntntVO = new VEPrcsCntntVO();
vEPrcsCntntVO.setPrcsOrd(vEPrcsDetailVO.getPrcsOrd());
int iv = vEPrcsOnlnCntntService.deleteAll(vEPrcsCntntVO);
String[] s_detailPrcsNm = request.getParameterValues("detailPrcsNm");
for (int i=0;i<s_detailPrcsNm.length;i++) {
// int iv = vEPrcsOnlnCntntService.deleteAll(vEPrcsCntntVO);
// String[] s_detailPrcsNm = request.getParameterValues("detailPrcsNm");
/*for (int i=0;i<s_detailPrcsNm.length;i++) {
String prcsOnlnOrd = prcsOnlnGnrService.getNextStringId(); // 고유ID
vEPrcsCntntVO.setPrcsOnlnCntntOrd(prcsOnlnOrd);
//vEPrcsCntntVO.setPrcsNm(s_detailPrcsNm[i]);
@ -401,7 +389,7 @@ public class FndthPrcsInfoMngController {
vEPrcsCntntVO.setUseYn("Y");
vEPrcsCntntVO.setLastUpdusrId(loginVO.getUniqId()); //esntl_id
vEPrcsOnlnCntntService.insert(vEPrcsCntntVO);
}
} */
modelAndView.addObject("result", "success");

View File

@ -318,6 +318,12 @@ public class SndMngController {
* 메일 발송
*/
/**
* @param vEEduAplctVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping(value="emailSndAjax.do")
public ModelAndView emailSndAjax(
VEEduAplctVO vEEduAplctVO
@ -359,25 +365,25 @@ public class SndMngController {
String result = sendMail.VeSendMail(vEEduAplctVO.getSndFlag(), vEEduAplctVO.getEmail(), vEEduAplctVO, loginVO);
if("success".equals(result)) {
//메일 발송 로그
String snd_ord = sndGnrService.getNextStringId();
vEEduAplctVO.setSndHstryOrd(snd_ord);
vEEduAplctVO.setSndId(loginVO.getUniqId());
vEEduAplctSndHstryService.insert(vEEduAplctVO);
}
//메일 발송
String snd_ord = sndGnrService.getNextStringId();
vEEduAplctVO.setSndHstryOrd(snd_ord);
vEEduAplctVO.setSndId(loginVO.getUniqId());
vEEduAplctSndHstryService.insert(vEEduAplctVO);
}
//메일 발송
modelAndView.addObject("result", result);
return modelAndView;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//

View File

@ -216,6 +216,10 @@ public class MainController {
@Value("#{globalSettings['Globals.sso.pwFindUrl']}")
private String pwFindUrl_Global;
/** 구동 환경 */
@Value("#{property['Globals.prod.islocal']}")
private String environment;
@RequestMapping(value = "/{siteId}/web/main/mainPage_keri.do")
public String siteMainPage_keri(@PathVariable("siteId") String siteId , HttpServletRequest request, ModelMap model) throws Exception{
//메인이미지
@ -476,6 +480,7 @@ public class MainController {
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
model.addAttribute("LoginVO", loginVO);
String userAuthority = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getAuthority());
//권한별 메뉴표시
@ -597,6 +602,7 @@ public class MainController {
model.addAttribute("returnSiteCode", returnSiteCode);
model.addAttribute("joinUrl", joinUrl);
model.addAttribute("modifyUrl", modifyUrl);
model.addAttribute("environment", environment); //로그인, 회원가입 URL 환경에 따른 구분 ex) local, dev, svr
return "web/com/webCommonHeader";
@ -938,6 +944,8 @@ public class MainController {
public String firstSiteCheck(HttpServletRequest request, @RequestParam Map<String, Object> commandMap,
ModelMap model)
throws Exception {
System.out.println("/com/firstSiteCheck.do");
SiteManagerVO siteManagerVO = new SiteManagerVO();
//점검중 페이지 체크
siteManagerVO = egovSiteManagerService.selectSiteManagerVO(siteManagerVO);
@ -1372,12 +1380,14 @@ public class MainController {
String s_menuUrl = "";
try {
s_menuUrl = menuUrl.split("jsp")[1];
menuUrl = s_menuUrl.substring(1);
}catch(Exception ex) {
ex.printStackTrace();
}
if(menuUrl.contains("jsp")) {
try {
s_menuUrl = menuUrl.split("jsp")[1];
menuUrl = s_menuUrl.substring(1);
}catch(Exception ex) {
ex.printStackTrace();
}
}
ComDefaultVO searchVO = new ComDefaultVO();
searchVO.setSearchKeyword(menuUrl);

View File

@ -20,22 +20,14 @@ Globals.OsType = WINDOWS
Globals.LocalIp = 127.0.0.1
# DB\uc11c\ubc84 \ud0c0\uc785(mysql,oracle,altibase,tibero) - datasource \ubc0f sqlMap \ud30c\uc77c \uc9c0\uc815\uc5d0 \uc0ac\uc6a9\ub428
Globals.DbType = mysql
Globals.UserName= kccadrUr
Globals.Password= kccadr!@#$
Globals.DbType = tibero
# \uac1c\ubc1c\uc6a9 DB \uc11c\ubc84 tibero \uc5f0\ub3d9
Globals.UserName= EDUSCE
Globals.Password= edusce#23
# mysql
#Globals.DriverClassName=net.sf.log4jdbc.DriverSpy
#Globals.Url=jdbc:log4jdbc:mysql://112.161.144.18:3306/kopostMysql
#Globals.DriverClassName=com.mysql.jdbc.Driver
#Globals.Url=jdbc:mysql://14.63.218.135:3306/kofons
Globals.DriverClassName=cubrid.jdbc.driver.CUBRIDDriver
#\ud074\ub77c\uc6b0\ub4dc \uc11c\ubc84
#Globals.Url=jdbc:cubrid:158.247.225.133:30000:kcc_adrs4:::?charset=utf8
#\uac1c\ubc1c\uc11c\ubc84
Globals.Url=jdbc:cubrid:219.240.88.15:30000:kcc_adrs4:::?charset=utf8
#\uc2e4\uc11c\ubc84
#Globals.Url=jdbc:cubrid:192.168.39.14:30000:kcc_adrs4:::?charset=utf8
Globals.DriverClassName=com.tmax.tibero.jdbc.TbDriver
#\uac1c\ubc1c DB \uc11c\ubc84
Globals.Url=jdbc:tibero:thin:@10.255.3.58:8629:copydb
# \uc800\uc791\uc704 \ubb38\uc790\uc804\uc1a1 DB(\uac1c\ubc1c)
@ -156,7 +148,7 @@ Globals.pdf.webpath=/pdf/out/
#prod \uac1c\ubc1c, \uc2e4\uc11c\ubc84 \uad6c\ubd84\uac12
#\uac1c\ubc1c\uc11c\ubc84
Globals.prod.islocal=local
Globals.prod.islocal=dev
#\uc2e4\uc11c\ubc84
#Globals.prod.islocal=real

View File

@ -20,34 +20,26 @@ Globals.OsType = WINDOWS
Globals.LocalIp = 127.0.0.1
# DB\uc11c\ubc84 \ud0c0\uc785(mysql,oracle,altibase,tibero) - datasource \ubc0f sqlMap \ud30c\uc77c \uc9c0\uc815\uc5d0 \uc0ac\uc6a9\ub428
Globals.DbType = mysql
Globals.UserName= EDUMANAGER
Globals.Password= edumanager#pwd
Globals.DbType = tibero
# \uac1c\ubc1c\uc6a9 DB \uc11c\ubc84 tibero \uc5f0\ub3d9
Globals.UserName= EDUSCE
Globals.Password= edusce#23
# mysql
#Globals.DriverClassName=net.sf.log4jdbc.DriverSpy
#Globals.Url=jdbc:log4jdbc:mysql://112.161.144.18:3306/kopostMysql
#Globals.DriverClassName=com.mysql.jdbc.Driver
#Globals.Url=jdbc:mysql://14.63.218.135:3306/kofons
Globals.DriverClassName=cubrid.jdbc.driver.CUBRIDDriver
#\ud074\ub77c\uc6b0\ub4dc \uc11c\ubc84
#Globals.Url=jdbc:cubrid:158.247.225.133:30000:kcc_adrs4:::?charset=utf8
#\uac1c\ubc1c\uc11c\ubc84
#Globals.Url=jdbc:cubrid:219.240.88.15:30000:kcc_adrs4:::?charset=utf8
#\uc2e4\uc11c\ubc84
Globals.Url=jdbc:cubrid:211.170.184.173:53000:db_ceis:::?charset=utf8
Globals.DriverClassName=com.tmax.tibero.jdbc.TbDriver
#\uac1c\ubc1c DB \uc11c\ubc84
Globals.Url=jdbc:tibero:thin:@172.17.0.10:8629:copydb
# \uc800\uc791\uc704 \ubb38\uc790\uc804\uc1a1 DB(\uac1c\ubc1c)
#Globals.SMSDB.DriverClassName=oracle.jdbc.driver.OracleDriver
#Globals.SMSDB.Url=jdbc:oracle:thin:@192.168.0.118:1521:xe
#Globals.SMSDB.UserName=KCCADR
#Globals.SMSDB.Password=kccadr
# \uc800\uc791\uc704 \ubb38\uc790\uc804\uc1a1 DB(\uc6b4\uc601)
Globals.SMSDB.DriverClassName=oracle.jdbc.driver.OracleDriver
Globals.SMSDB.Url=jdbc:oracle:thin:@222.231.43.26:1521:ora10g
Globals.SMSDB.UserName=smsmanager
Globals.SMSDB.Password=eksanswk2014
Globals.SMSDB.Url=jdbc:oracle:thin:@192.168.0.118:1521:xe
Globals.SMSDB.UserName=KCCADR
Globals.SMSDB.Password=kccadr
# \uc800\uc791\uc704 \ubb38\uc790\uc804\uc1a1 DB(\uc6b4\uc601)
#Globals.SMSDB.DriverClassName=oracle.jdbc.driver.OracleDriver
#Globals.SMSDB.Url=jdbc:oracle:thin:@222.231.43.26:1521:ora10g
#Globals.SMSDB.UserName=smsmanager
#Globals.SMSDB.Password=eksanswk2014
Globals.SMSDB.SendTelNo=02-2669-0042
Globals.SMSDB.TrId=kccadr
@ -61,38 +53,38 @@ Globals.KccMail.title=[\ud55c\uad6d\uc800\uc791\uad8c\uc704\uc6d0\ud68c] \ubd84\
#SSO \uc811\uc18d\uc815\ubcf4
#\uac1c\ubc1c\uc11c\ubc84
#Globals.sso.ssoUri=https://devsso.copyright.or.kr/oauth2/token.do
#Globals.sso.clientId=30354835c3684ff79e7fb1bfd3a768f6
#Globals.sso.clientSecret=1ueil5ee05wr0t1gjy1ppt212
#Globals.sso.scope=http://sso.copyright.or.kr
#Globals.sso.returnSiteUrl=http://219.240.88.15:8091/web/user/login/ssoUsrModifyResult.do
#Globals.sso.returnSiteCode=SITE011
#\uc2e4\uc11c\ubc84
Globals.sso.ssoUri=https://sso.copyright.or.kr/oauth2/token.do
Globals.sso.ssoUri=https://devsso.copyright.or.kr/oauth2/token.do
Globals.sso.clientId=30354835c3684ff79e7fb1bfd3a768f6
Globals.sso.clientSecret=1ueil5ee05wr0t1gjy1ppt212
Globals.sso.scope=http://sso.copyright.or.kr
Globals.sso.returnSiteUrl=http://adr.copyright.or.kr/web/user/login/ssoUsrModifyResult.do
Globals.sso.returnSiteUrl=http://219.240.88.15:8091/web/user/login/ssoUsrModifyResult.do
Globals.sso.returnSiteCode=SITE011
#\uc2e4\uc11c\ubc84
#Globals.sso.ssoUri=https://sso.copyright.or.kr/oauth2/token.do
#Globals.sso.clientId=30354835c3684ff79e7fb1bfd3a768f6
#Globals.sso.clientSecret=1ueil5ee05wr0t1gjy1ppt212
#Globals.sso.scope=http://sso.copyright.or.kr
#Globals.sso.returnSiteUrl=http://adr.copyright.or.kr/web/user/login/ssoUsrModifyResult.do
#Globals.sso.returnSiteCode=SITE011
#SSO \ud1b5\ud569\ud68c\uc6d0\uc0ac\uc774\ud2b8 URL
#\uac1c\ubc1c\uc11c\ubc84
#Globals.sso.joinUrl=https://devoneid.copyright.or.kr/member/signUp/signUpStep1.do
#Globals.sso.modifyUrl=https://devoneid.copyright.or.kr/member/baseInfo/baseInfoModify.do
#Globals.sso.idFindUrl=https://devoneid.copyright.or.kr/member/infoFind/idFindStep1.do
#Globals.sso.pwFindUrl=https://devoneid.copyright.or.kr/member/infoFind/passFindStep1.do
Globals.sso.joinUrl=https://devoneid.copyright.or.kr/member/signUp/signUpStep1.do
Globals.sso.modifyUrl=https://devoneid.copyright.or.kr/member/baseInfo/baseInfoModify.do
Globals.sso.idFindUrl=https://devoneid.copyright.or.kr/member/infoFind/idFindStep1.do
Globals.sso.pwFindUrl=https://devoneid.copyright.or.kr/member/infoFind/passFindStep1.do
#\uc2e4\uc11c\ubc84
Globals.sso.joinUrl=https://oneid.copyright.or.kr/member/signUp/signUpStep1.do
Globals.sso.modifyUrl=https://oneid.copyright.or.kr/member/baseInfo/baseInfoModify.do
Globals.sso.idFindUrl=https://oneid.copyright.or.kr/member/infoFind/idFindStep1.do
Globals.sso.pwFindUrl=https://oneid.copyright.or.kr/member/infoFind/passFindStep1.do
#Globals.sso.joinUrl=https://oneid.copyright.or.kr/member/signUp/signUpStep1.do
#Globals.sso.modifyUrl=https://oneid.copyright.or.kr/member/baseInfo/baseInfoModify.do
#Globals.sso.idFindUrl=https://oneid.copyright.or.kr/member/infoFind/idFindStep1.do
#Globals.sso.pwFindUrl=https://oneid.copyright.or.kr/member/infoFind/passFindStep1.do
# MainPage Setting(admin)
Globals.MainPage = /cmm/main/mainPage.do
#\ucee8\ud150\uce20 \ud30c\uc77c\uc704\uce58
#Globals.ckeditorUploadDir=/home/file/ckeditor/
#Globals.ckeditorUploadDir=/usr/local/tomcat/file/ckeditor/
Globals.ckeditorUploadDir=/app/doc/offedu/ckeditor/
Globals.ckeditorUploadDir=/usr/local/tomcat/file/ckeditor/
#TEST SERVER
Globals.RealCntFileFolder=C:/eGovFrameDev-3.9.0-64bit_ncms/workspace/ncms39/src/main/webapp/WEB-INF/jsp/cnt/
Globals.Solr.url=http://localhost:8983/solr
@ -138,22 +130,22 @@ Globals.homepage.siteNm=\uc804\uc790\uc870\uc815\uc2dc\uc2a4\ud15c
##=====================================2.\uac1c\ubc1c\uc11c\ubc84(http://219.240.88.15:8091)=============================================================
## \uc0c1\uc138 \ud56d\ubaa9\uc5d0 \ub300\ud55c \uc124\uba85\uc740 \uc0c1\ub2e8\uc5d0\uc11c \ud655\uc778 \ubc14\ub78d\ub2c8\ub2e4.
#Globals.pdf.serverUrl=192.168.0.200
#Globals.pdf.apiUrl=http://219.240.88.15:8091
#Globals.pdf.filepath.out=file:/z:/out/
#Globals.pdf.makepath=/usr/local/tomcat/file/sht/
#Globals.pdf.makepath.out=/usr/local/tomcat/file/sht/out/
#Globals.pdf.webpath=/pdf/out/
##=====================================3.\uc2e4\uc11c\ubc84(192.168.39.143, 192.168.39.144)=============================================================
## \uc0c1\uc138 \ud56d\ubaa9\uc5d0 \ub300\ud55c \uc124\uba85\uc740 \uc0c1\ub2e8\uc5d0\uc11c \ud655\uc778 \ubc14\ub78d\ub2c8\ub2e4.
Globals.pdf.serverUrl=192.168.39.147
Globals.pdf.apiUrl=http://192.168.39.143:8080
Globals.pdf.serverUrl=192.168.0.200
Globals.pdf.apiUrl=http://219.240.88.15:8091
Globals.pdf.filepath.out=file:/z:/out/
Globals.pdf.makepath=/usr/local/tomcat/file/sht/
Globals.pdf.makepath.out=/usr/local/tomcat/file/sht/out/
Globals.pdf.webpath=/pdf/out/
##=====================================3.\uc2e4\uc11c\ubc84(192.168.39.143, 192.168.39.144)=============================================================
## \uc0c1\uc138 \ud56d\ubaa9\uc5d0 \ub300\ud55c \uc124\uba85\uc740 \uc0c1\ub2e8\uc5d0\uc11c \ud655\uc778 \ubc14\ub78d\ub2c8\ub2e4.
#Globals.pdf.serverUrl=192.168.39.147
#Globals.pdf.apiUrl=http://192.168.39.143:8080
#Globals.pdf.filepath.out=file:/z:/out/
#Globals.pdf.makepath=/usr/local/tomcat/file/sht/
#Globals.pdf.makepath.out=/usr/local/tomcat/file/sht/out/
#Globals.pdf.webpath=/pdf/out/
#prod \uac1c\ubc1c, \uc2e4\uc11c\ubc84 \uad6c\ubd84\uac12
#\uac1c\ubc1c\uc11c\ubc84
#Globals.prod.islocal=local
@ -162,5 +154,5 @@ Globals.prod.islocal=real
#\ub300\uc6a9\ub7c9 innorix license
Globals.Innorix.License=svr
Globals.Innorix.FilePath=/usr/local/tomcat/file/sht/
Globals.Innorix.License=dev
Globals.Innorix.FilePath=/usr/local/tomcat/file/sht/

View File

@ -0,0 +1,158 @@
#-----------------------------------------------------------------------
#
# globals.properties : \uc2dc\uc2a4\ud15c
#
#-----------------------------------------------------------------------
# 1. key = value \uad6c\uc870\uc785\ub2c8\ub2e4.
# 2. key\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \ud3ec\ud568\ubd88\uac00, value\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \uac00\ub2a5
# 3. key\uac12\uc73c\ub85c \ud55c\uae00\uc744 \uc0ac\uc6a9\ubd88\uac00, value\uac12\uc740 \ud55c\uae00\uc0ac\uc6a9\uc774 \uac00\ub2a5
# 4. \uc904\uc744 \ubc14\uafc0 \ud544\uc694\uac00 \uc788\uc73c\uba74 '\'\ub97c \ub77c\uc778\uc758 \ub05d\uc5d0 \ucd94\uac00(\ub9cc\uc57d '\'\ubb38\uc790\ub97c \uc0ac\uc6a9\ud574\uc57c \ud558\ub294 \uacbd\uc6b0\ub294 '\\'\ub97c \uc0ac\uc6a9)
# 5. Windows\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '\\' or '/' ('\' \uc0ac\uc6a9\ud558\uba74 \uc548\ub428)
# 6. Unix\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '/'
# 7. \uc8fc\uc11d\ubb38 \ucc98\ub9ac\ub294 #\uc0ac\uc6a9
# 8. value\uac12 \ub4a4\uc5d0 \uc2a4\ud398\uc774\uc2a4\uac00 \uc874\uc7ac\ud558\ub294 \uacbd\uc6b0 \uc11c\ube14\ub9bf\uc5d0\uc11c \ucc38\uc870\ud560\ub54c\ub294 \uc5d0\ub7ec\ubc1c\uc0dd\ud560 \uc218 \uc788\uc73c\ubbc0\ub85c trim()\ud558\uac70\ub098 \ub9c8\uc9c0\ub9c9 \uacf5\ubc31\uc5c6\uc774 properties \uac12\uc744 \uc124\uc815\ud560\uac83
#-----------------------------------------------------------------------
# \uc6b4\uc601\uc11c\ubc84 \ud0c0\uc785(WINDOWS, UNIX)
Globals.OsType = WINDOWS
# G4C \uc5f0\uacb0\uc6a9 IP (localhost)
Globals.LocalIp = 127.0.0.1
# DB\uc11c\ubc84 \ud0c0\uc785(mysql,oracle,altibase,tibero) - datasource \ubc0f sqlMap \ud30c\uc77c \uc9c0\uc815\uc5d0 \uc0ac\uc6a9\ub428
Globals.DbType = tibero
# \uac1c\ubc1c\uc6a9 DB \uc11c\ubc84 tibero \uc5f0\ub3d9
Globals.UserName= teduUr
Globals.Password= tedu1234
Globals.DriverClassName=com.tmax.tibero.jdbc.TbDriver
#\uac1c\ubc1c DB \uc11c\ubc84
Globals.Url=jdbc:tibero:thin:@192.168.0.30:8633:tibero
# \uc800\uc791\uc704 \ubb38\uc790\uc804\uc1a1 DB(\uac1c\ubc1c)
Globals.SMSDB.DriverClassName=oracle.jdbc.driver.OracleDriver
Globals.SMSDB.Url=jdbc:oracle:thin:@192.168.0.118:1521:xe
Globals.SMSDB.UserName=KCCADR
Globals.SMSDB.Password=kccadr
# \uc800\uc791\uc704 \ubb38\uc790\uc804\uc1a1 DB(\uc6b4\uc601)
#Globals.SMSDB.DriverClassName=oracle.jdbc.driver.OracleDriver
#Globals.SMSDB.Url=jdbc:oracle:thin:@222.231.43.26:1521:ora10g
#Globals.SMSDB.UserName=smsmanager
#Globals.SMSDB.Password=eksanswk2014
Globals.SMSDB.SendTelNo=02-2669-0042
Globals.SMSDB.TrId=kccadr
# \uc800\uc791\uc704 \uba54\uc77c\uc804\uc1a1
Globals.KccMail.URI=https://mail.copyright.or.kr/mail_api/form_send_mail
Globals.KccMail.api_key=#!@mail5455
Globals.KccMail.sender=adr@copyright.or.kr
Globals.KccMail.title=[\ud55c\uad6d\uc800\uc791\uad8c\uc704\uc6d0\ud68c] \ubd84\uc7c1\uc870\uc815\uc2dc\uc2a4\ud15c \uc54c\ub9bc
#SSO \uc811\uc18d\uc815\ubcf4
#\uac1c\ubc1c\uc11c\ubc84
Globals.sso.ssoUri=https://devsso.copyright.or.kr/oauth2/token.do
Globals.sso.clientId=30354835c3684ff79e7fb1bfd3a768f6
Globals.sso.clientSecret=1ueil5ee05wr0t1gjy1ppt212
Globals.sso.scope=http://sso.copyright.or.kr
Globals.sso.returnSiteUrl=http://219.240.88.15:8091/web/user/login/ssoUsrModifyResult.do
Globals.sso.returnSiteCode=SITE011
#\uc2e4\uc11c\ubc84
#Globals.sso.ssoUri=https://sso.copyright.or.kr/oauth2/token.do
#Globals.sso.clientId=30354835c3684ff79e7fb1bfd3a768f6
#Globals.sso.clientSecret=1ueil5ee05wr0t1gjy1ppt212
#Globals.sso.scope=http://sso.copyright.or.kr
#Globals.sso.returnSiteUrl=http://adr.copyright.or.kr/web/user/login/ssoUsrModifyResult.do
#Globals.sso.returnSiteCode=SITE011
#SSO \ud1b5\ud569\ud68c\uc6d0\uc0ac\uc774\ud2b8 URL
#\uac1c\ubc1c\uc11c\ubc84
Globals.sso.joinUrl=https://devoneid.copyright.or.kr/member/signUp/signUpStep1.do
Globals.sso.modifyUrl=https://devoneid.copyright.or.kr/member/baseInfo/baseInfoModify.do
Globals.sso.idFindUrl=https://devoneid.copyright.or.kr/member/infoFind/idFindStep1.do
Globals.sso.pwFindUrl=https://devoneid.copyright.or.kr/member/infoFind/passFindStep1.do
#\uc2e4\uc11c\ubc84
#Globals.sso.joinUrl=https://oneid.copyright.or.kr/member/signUp/signUpStep1.do
#Globals.sso.modifyUrl=https://oneid.copyright.or.kr/member/baseInfo/baseInfoModify.do
#Globals.sso.idFindUrl=https://oneid.copyright.or.kr/member/infoFind/idFindStep1.do
#Globals.sso.pwFindUrl=https://oneid.copyright.or.kr/member/infoFind/passFindStep1.do
# MainPage Setting(admin)
Globals.MainPage = /cmm/main/mainPage.do
#\ucee8\ud150\uce20 \ud30c\uc77c\uc704\uce58
#Globals.ckeditorUploadDir=/home/file/ckeditor/
Globals.ckeditorUploadDir=/usr/local/tomcat/file/ckeditor/
#TEST SERVER
Globals.RealCntFileFolder=C:/eGovFrameDev-3.9.0-64bit_ncms/workspace/ncms39/src/main/webapp/WEB-INF/jsp/cnt/
Globals.Solr.url=http://localhost:8983/solr
#SNS \ub85c\uadf8\uc778 KEY \uac12
#ITN \ub124\uc774\ubc84
Globals.kcc.naver.clentId=d9Ohvhty_RVsfrq9p_2J
Globals.kcc.naver.clientSecret=kwiEmpkLg5
Globals.kcc.naver.returnUrl=http://localhost:80/snsLogin/naverOauth.do
#ITN \uce74\uce74\uc624
Globals.kcc.kakao.restApiKey=10b66ad0c44b68b659855ddd64db2c44
Globals.kcc.kakao.returnUrl=http://localhost:80/snsLogin/kakaoOauth.do
#\uc0ac\uc774\ud2b8 \uc544\uc774\ub514 \uc81c\uac70\ub85c JSP\uc5d0\uc11c siteId/siteNm \ubcf4\uc5ec\uc8fc\uae30 \uc704\ud574
Globals.homepage.siteId=kccadr
Globals.homepage.siteNm=\uc804\uc790\uc870\uc815\uc2dc\uc2a4\ud15c
#pdf-url
##=====================================1.local(http://192.168.0.34:7080)=============================================================
##pdf\ubcc0\ud658\uc11c\ubc84 - WAS \uc5d0\uc11c \ud638\ucd9c\ud558\ub294 PDF \ubcc0\ud658 \uc11c\ubc84 IP \uc815\ubcf4\ub97c \ub123\ub294\ub2e4.
#Globals.pdf.serverUrl=192.168.0.200
##\uc6f9\ud398\uc774\uc9c0\ub97c pdf\ub85c \ubcc0\ud658\ud558\uae30 \uc704\ud55c api \ud638\ucd9curl - \uc870\uc815\uc2e0\uccad\uc11c \ub4f1 - WAS \uc11c\ubc84 \uc815\ubcf4\ub97c \ub123\ub294\ub2e4.
#Globals.pdf.apiUrl=http://192.168.0.34:7080
##pdf \uc11c\ubc84\uc758 \ub124\ud2b8\uc6cc\ud06c \uacbd\ub85c
##pdf\ubcc0\ud658 \uc11c\ube0c\ub97c \uc704\ud55c path - 1.pdf\ubcc0\ud658\uc758 \uacb0\uacfc\ubb3c\uc774 \uc0dd\uc131\ub418\ub294 \uacbd\ub85c - PDF \ubcc0\ud658 \uc11c\ubc84\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 \ud3f4\ub354 \uc815\ubcf4\ub97c \ub123\ub294\ub2e4.
#Globals.pdf.filepath.out=file:/z:/out/
##tomcat upload \uacbd\ub85c
##\ud30c\uc77c \uad00\ub9ac\ub97c \uc704\ud55c path - 2.pdf\ubcc0\ud658\uc744 \uc704\ud55c \uc5c5\ub85c\ub4dc \ud30c\uc77c \uacbd\ub85c - WAS \uc11c\ubc84\uc5d0\uc11c PDF \ubcc0\ud658 \uc9c0\uc6d0\uc744 \uc704\ud574 \uc81c\uc5b4 \ud558\ub294 \uacbd\ub85c
#Globals.pdf.makepath=y:/
##\ud30c\uc77c \uad00\ub9ac\ub97c \uc704\ud55c path - 3.pdf\ubcc0\ud658\uc758 \uacb0\uacfc\ubb3c\uc774 \uc0dd\uc131\ub418\ub294 \uacbd\ub85c - WAS \uc11c\ubc84\uc5d0\uc11c PDF \ubcc0\ud658 \uc9c0\uc6d0\uc744 \uc704\ud574 \uc81c\uc5b4 \ud558\ub294 \uacbd\ub85c
#Globals.pdf.makepath.out=y:/out/
##pdf\ubcc0\ud658 \ud30c\uc77c\uc758 \uc6f9\uc811\uadfc\uc744 \uc704\ud55c path - 4.pdf\ubcc0\ud658\uc758 \uacb0\uacfc\ubb3c\uc744 \uc6f9\uc5d0\uc11c \uc811\uadfc\ud558\uae30 \uc704\ud55c \uacbd\ub85c - \ubcc0\ud658\ub41c PDF \ud30c\uc77c\uc744 \uc6f9\ud398\uc774\uc9c0\uc5d0\uc11c \uc811\uadfc\ud558\uae30 \uc704\ud574 \uc124\uc815\ub41c \uacbd\ub85c \uc815\ubcf4
#Globals.pdf.webpath=/pdf/out/
##=====================================2.\uac1c\ubc1c\uc11c\ubc84(http://219.240.88.15:8091)=============================================================
## \uc0c1\uc138 \ud56d\ubaa9\uc5d0 \ub300\ud55c \uc124\uba85\uc740 \uc0c1\ub2e8\uc5d0\uc11c \ud655\uc778 \ubc14\ub78d\ub2c8\ub2e4.
Globals.pdf.serverUrl=192.168.0.200
Globals.pdf.apiUrl=http://219.240.88.15:8091
Globals.pdf.filepath.out=file:/z:/out/
Globals.pdf.makepath=/usr/local/tomcat/file/sht/
Globals.pdf.makepath.out=/usr/local/tomcat/file/sht/out/
Globals.pdf.webpath=/pdf/out/
##=====================================3.\uc2e4\uc11c\ubc84(192.168.39.143, 192.168.39.144)=============================================================
## \uc0c1\uc138 \ud56d\ubaa9\uc5d0 \ub300\ud55c \uc124\uba85\uc740 \uc0c1\ub2e8\uc5d0\uc11c \ud655\uc778 \ubc14\ub78d\ub2c8\ub2e4.
#Globals.pdf.serverUrl=192.168.39.147
#Globals.pdf.apiUrl=http://192.168.39.143:8080
#Globals.pdf.filepath.out=file:/z:/out/
#Globals.pdf.makepath=/usr/local/tomcat/file/sht/
#Globals.pdf.makepath.out=/usr/local/tomcat/file/sht/out/
#Globals.pdf.webpath=/pdf/out/
#prod \uac1c\ubc1c, \uc2e4\uc11c\ubc84 \uad6c\ubd84\uac12
#\uac1c\ubc1c\uc11c\ubc84
Globals.prod.islocal=local
#\uc2e4\uc11c\ubc84
#Globals.prod.islocal=real
#\ub300\uc6a9\ub7c9 innorix license
Globals.Innorix.License=dev
Globals.Innorix.FilePath=/usr/local/tomcat/file/sht/

View File

@ -77,12 +77,23 @@
</bean>
<!-- Tibero -->
<bean id="dataSource-tibero" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<bean id="dataSource-tibero-spied" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${Globals.DriverClassName}" />
<property name="url" value="${Globals.Url}" />
<property name="username" value="${Globals.UserName}" />
<property name="password" value="${Globals.Password}" />
</bean>
<bean id="dataSource-tibero" class="net.sf.log4jdbc.Log4jdbcProxyDataSource">
<constructor-arg ref="dataSource-tibero-spied" />
<property name="logFormatter">
<bean class="kcc.let.utl.log4j.Log4JdbcCustomFormatter">
<property name="loggingType" value="MULTI_LINE" />
<property name="margin" value="8" />
<property name="sqlPrefix" value="SQL:" />
</bean>
</property>
</bean>
<!-- cubrid -->
<bean id="dataSource-cubrid" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">

View File

@ -2873,5 +2873,22 @@
<property name="prefix" value="eduOprtn_" /><!-- prefix 값 수정 -->
<property name="cipers" value="11" /><!-- 일련번호(순번) 전체 길이(prefix길이 미포함) -->
<property name="fillChar" value="0" />
</bean>
</bean>
<!-- 6.과정 prcs_ -->
<bean name="trgtOrdService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy">
<property name="dataSource" ref="dataSource" />
<property name="strategy" ref="trgtOrdStrategy" /><!-- strategy 값 수정 -->
<property name="blockSize" value="10"/>
<property name="table" value="IDS"/>
<property name="tableName" value="PRCS_ORD"/><!-- tableName 값 수정 -->
</bean>
<!-- 과정 ID Generation Strategy Config -->
<bean name="trgtOrdStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"><!-- bean name 값에 strategy 값 입력 -->
<property name="prefix" value="trgt_" /><!-- prefix 값 수정 -->
<property name="cipers" value="15" /><!-- 일련번호(순번) 전체 길이(prefix길이 미포함) -->
<property name="fillChar" value="0" />
</bean>
</beans>

View File

@ -0,0 +1,56 @@
<?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="SequenceUtil">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<!-- 일련번호(시퀀스) 조회 -->
<select id="SequenceUtilDAO.selectSeqMng" parameterClass="egovMap" resultClass="egovMap" >
SELECT SEQ_ID
, SEQ_SIZE
, SEQ_LPAD
, SEQ_PREFIX
, SEQ_PREFIX_DT
, CASE WHEN SEQ_PREFIX_DT IS NOT NULL
THEN TO_CHAR(NOW(), SEQ_PREFIX_DT)
ELSE NULL
END SEQ_PREFIX_DT_FMT
, INIT_DAILY_YN
, INIT_SEQ_NO
, TO_CHAR(NVL(MOD_DATE, CRE_DATE), 'YYYYMMDD') MOD_DATE_FMT
, TO_CHAR(NOW(), 'YYYYMMDD') TODAY_FMT
<isNotEqual property="seqId" compareValue="SEQ_ADR_NO">
, SEQ_NO
</isNotEqual>
<isEqual property="seqId" compareValue="SEQ_ADR_NO">
,(SELECT IFNULL(MAX(SUBSTR(a.adr_no, -3)) + 1, 1)
FROM adr_mgr_master a
WHERE 1=1
AND a.adr_no LIKE TO_CHAR(NOW(),'YYYY') || '%')
AS SEQ_NO
</isEqual>
FROM C_SEQ_MNG
WHERE SEQ_ID = #seqId#
AND USE_YN = 'Y'
</select>
<!-- 시퀀스관리 seqNo 저장 -->
<update id="SequenceUtilDAO.updateSeqMng" parameterClass="egovMap">
UPDATE C_SEQ_MNG SET
SEQ_NO = #seqNo#
, MOD_LGN_ID = #modLgnId#
, MOD_DATE = NOW()
WHERE SEQ_ID = #seqId#
</update>
<!-- 신청관리: 신청번호 조회. 사용안함. -->
<select id="SequenceUtilDAO.selectAdrNoMax" parameterClass="String" resultClass="egovMap" >
SELECT IFNULL(MAX(SUBSTR(a.adr_no, -3)) + 1, 1)
FROM adr_mgr_master a
WHERE 1=1
AND a.adr_no LIKE TO_CHAR(NOW(),'YYYY') || '%'
</select>
</sqlMap>

View File

@ -0,0 +1,289 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="Banner">
<typeAlias alias="Banner" type="kcc.com.uss.ion.bnr.service.Banner"/>
<typeAlias alias="BannerVO" type="kcc.com.uss.ion.bnr.service.BannerVO"/>
<typeAlias alias="sortVO" type="kcc.com.uss.ion.pwm.service.SortVO"/>
<resultMap id="banner" class="kcc.com.uss.ion.bnr.service.BannerVO">
<result property="bannerId" column="BANNER_ID" columnIndex="1"/>
<result property="bannerNm" column="BANNER_NM" columnIndex="2"/>
<result property="linkUrl" column="LINK_URL" columnIndex="3"/>
<result property="bannerImage" column="BANNER_IMAGE" columnIndex="4"/>
<result property="bannerImageFile" column="BANNER_IMAGE_FILE" columnIndex="5"/>
<result property="bannerDc" column="BANNER_DC" columnIndex="6"/>
<result property="sortOrdr" column="SORT_ORDR" columnIndex="7"/>
<result property="reflctAt" column="REFLCT_AT" columnIndex="8"/>
<result property="userId" column="FRST_REGISTER_ID" columnIndex="9"/>
<result property="regDate" column="FRST_REGIST_PNTTM" columnIndex="10"/>
<result property="delSttus" column="DEL_STTUS" columnIndex="11"/>
</resultMap>
<resultMap id="fileList" class="kcc.com.cmm.service.FileVO">
<result property="atchFileId" column="ATCH_FILE_ID" columnIndex="1"/>
<result property="fileCn" column="FILE_CN" columnIndex="2"/>
<result property="fileExtsn" column="FILE_EXTSN" columnIndex="3"/>
<result property="fileMg" column="FILE_SIZE" columnIndex="4"/>
<result property="fileSn" column="FILE_SN" columnIndex="5"/>
<result property="fileStreCours" column="FILE_STRE_COURS" columnIndex="6"/>
<result property="orignlFileNm" column="ORIGNL_FILE_NM" columnIndex="7"/>
<result property="streFileNm" column="STRE_FILE_NM" columnIndex="8"/>
<result property="creatDt" column="CREAT_DT" columnIndex="9"/>
</resultMap>
<resultMap id="bannerImage" class="kcc.com.uss.ion.bnr.service.BannerVO">
<result property="bannerImageFile" column="BANNER_IMAGE_FILE" columnIndex="1"/>
<result property="linkUrl" column="LINK_URL" columnIndex="2"/>
</resultMap>
<resultMap id="bannerImageFile" class="kcc.com.cmm.service.FileVO">
<result property="fileStreCours" column="FILE_STRE_COURS" columnIndex="1"/>
<result property="streFileNm" column="STRE_FILE_NM" columnIndex="2"/>
</resultMap>
<select id="bannerDAO.selectBannerList" parameterClass="BannerVO" resultClass="BannerVO">
SELECT BANNER_ID AS BANNERID,
BANNER_NM AS BANNERNM,
LINK_URL AS LINKURL,
BANNER_IMAGE AS BANNERIMAGE,
BANNER_IMAGE_FILE AS BANNERIMAGEFILE ,
BANNER_DC AS BANNERDC ,
SORT_ORDR AS SORTORDR ,
REFLCT_AT AS REFLCTAT,
(SELECT USER_NM FROM LETTNEMPLYRINFO WHERE EMPLYR_ID = FRST_REGISTER_ID) REGISTERID,
DATE_FORMAT(FRST_REGIST_PNTTM, '%Y-%m-%d') AS REGDATE,
DEL_STTUS AS DELSTTUS
FROM COMTNBANNER
WHERE 1=1
AND SE_CD = '01'
<isNotEqual property="delSttus" compareValue="Y">
AND DEL_STTUS != 'Y'
</isNotEqual>
<isNotEmpty property="searchKeyword">
<isEqual property="searchCondition" compareValue="">
AND ( BANNER_NM LIKE CONCAT ('%', #searchKeyword#,'%')
OR LINK_URL LIKE CONCAT ('%', #searchKeyword#,'%')
)
</isEqual>
<isEqual property="searchCondition" compareValue="1">
AND BANNER_NM LIKE CONCAT ('%', #searchKeyword#,'%')
</isEqual>
<isEqual property="searchCondition" compareValue="2">
AND LINK_URL LIKE CONCAT ('%', #searchKeyword#,'%')
</isEqual>
</isNotEmpty>
<isNotEmpty property="reflctAt">
AND REFLCT_AT = #reflctAt#
</isNotEmpty>
ORDER BY 1=1
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<select id="bannerDAO.selectBannerListTotCnt" parameterClass="BannerVO" resultClass="int">
SELECT COUNT(*) totcnt
FROM COMTNBANNER
WHERE 1=1
<isNotEqual property="delSttus" compareValue="Y">
AND DEL_STTUS != 'Y'
</isNotEqual>
<isNotEmpty property="seCd">
AND SE_CD = #seCd#
</isNotEmpty>
<isNotEmpty property="searchKeyword">
<isEqual property="searchCondition" compareValue="">
AND ( BANNER_NM LIKE CONCAT ('%', #searchKeyword#,'%')
OR LINK_URL LIKE CONCAT ('%', #searchKeyword#,'%')
)
</isEqual>
<isEqual property="searchCondition" compareValue="1">
AND BANNER_NM LIKE CONCAT ('%', #searchKeyword#,'%')
</isEqual>
<isEqual property="searchCondition" compareValue="2">
AND LINK_URL LIKE CONCAT ('%', #searchKeyword#,'%')
</isEqual>
</isNotEmpty>
</select>
<select id="bannerDAO.selectBanner" resultClass="BannerVO">
<![CDATA[
SELECT BANNER_ID AS BANNERID,
BANNER_NM AS BANNERNM,
LINK_URL AS LINKURL,
BANNER_IMAGE AS BANNERIMAGE,
BANNER_IMAGE_FILE AS BANNERIMAGEFILE,
BANNER_DC AS BANNERDC,
SORT_ORDR AS SORTORDR,
SORT_ORDR AS sort,
REFLCT_AT AS REFLCTAT,
DATE_FORMAT(LAST_UPDT_PNTTM, '%Y-%m-%d %h:%m:%s') AS REGDATE ,
DEL_STTUS AS DELSTTUS ,
SE_CD AS SECD ,
ISTARGET,
(SELECT USER_NM FROM LETTNEMPLYRINFO WHERE EMPLYR_ID = FRST_REGISTER_ID) REGISTERID
FROM COMTNBANNER
WHERE BANNER_ID = #bannerId#
]]>
</select>
<insert id="bannerDAO.insertBanner" parameterClass="Banner">
INSERT INTO COMTNBANNER
(BANNER_ID,
BANNER_NM,
LINK_URL,
BANNER_IMAGE,
BANNER_IMAGE_FILE,
BANNER_DC,
SORT_ORDR,
REFLCT_AT,
FRST_REGISTER_ID,
DEL_STTUS,
FRST_REGIST_PNTTM,
LAST_UPDT_PNTTM,
<isNotEmpty property="seCd">
SE_CD,
</isNotEmpty>
ISTARGET)
VALUES (#bannerId#,
#bannerNm#,
#linkUrl#,
#bannerImage#,
#bannerImageFile#,
#bannerDc#,
#sortOrdr#,
#reflctAt#,
#userId#,
#delSttus#,
now(),
now(),
<isNotEmpty property="seCd">
#seCd#,
</isNotEmpty>
#istarget#)
</insert>
<update id="bannerDAO.updateBanner" parameterClass="Banner">
UPDATE COMTNBANNER
SET BANNER_NM = #bannerNm#,
LINK_URL = #linkUrl#,
<isEqual property="isAtchFile" compareValue="true">
BANNER_IMAGE = #bannerImage#,
BANNER_IMAGE_FILE = #bannerImageFile#,
</isEqual>
BANNER_DC = #bannerDc#,
SORT_ORDR = #sortOrdr#,
REFLCT_AT = #reflctAt#,
LAST_UPDUSR_ID = #userId#,
<isNotEmpty property="delSttus">
DEL_STTUS = #delSttus#,
</isNotEmpty>
LAST_UPDT_PNTTM = now(),
<isNotEmpty property="siteId">
SITE_ID = #siteId# ,
</isNotEmpty>
ISTARGET = #istarget#
WHERE BANNER_ID = #bannerId#
</update>
<delete id="bannerDAO.deleteBanner" parameterClass="Banner">
<![CDATA[
DELETE FROM COMTNBANNER
WHERE BANNER_ID = #bannerId#
]]>
<!-- <![CDATA[
UPDATE COMTNBANNER
SET DEL_STTUS = #delSttus#,
REFLCT_AT = #reflctAt#
WHERE BANNER_ID = #bannerId#
]]> -->
</delete>
<select id="bannerDAO.selectBannerResult" resultMap="bannerImage">
<![CDATA[
SELECT BANNER_IMAGE_FILE,
LINK_URL
FROM COMTNBANNER
WHERE REFLCT_AT = 'Y'
ORDER BY SORT_ORDR
]]>
</select>
<select id="bannerDAO.selectBannerFile" parameterClass="Banner" resultMap="bannerImageFile">
<![CDATA[
SELECT B.FILE_STRE_COURS AS FILE_STRE_COURS,
B.STRE_FILE_NM AS STRE_FILE_NM
FROM COMTNBANNER A,
LETTNFILEDETAIL B /** COMTNFILEDETAIL B 공통모듈의 수정 **/
WHERE 1 = 1
AND A.BANNER_ID = #bannerId#
AND A.BANNER_IMAGE_FILE = B.ATCH_FILE_ID
]]>
</select>
<select id="bannerDAO.getSortList" resultClass="EgovMap">
<![CDATA[
SELECT
SORT_ORDR as CM_SUB_CODE,
SORT_ORDR as CM_CODE_NAME
FROM COMTNBANNER mb
WHERE DEL_STTUS = 'N'
ORDER BY SORT_ORDR
]]>
</select>
<select id="bannerDAO.getMaxSort" resultClass="int">
SELECT IF(COUNT(*)=0 ,1, COUNT(*)) FROM COMTNBANNER
WHERE DEL_STTUS = 'N'
</select>
<update id="bannerDAO.updateSortUp" parameterClass="sortVO">
<![CDATA[
UPDATE COMTNBANNER SET
SORT_ORDR = SORT_ORDR + 1
WHERE
SORT_ORDR >= #startSort# AND SORT_ORDR <= #endSort#
]]>
</update>
<update id="bannerDAO.resetSort" parameterClass="BannerVO">
UPDATE COMTNBANNER A ,
(SELECT ROW_NUMBER() OVER(ORDER BY SORT_ORDR
<isEqual property="sortOver" compareValue="A">
, LAST_UPDT_PNTTM ASC
</isEqual>
<isEqual property="sortOver" compareValue="D">
, LAST_UPDT_PNTTM DESC
</isEqual>
) AS SORT1 , BANNER_ID FROM COMTNBANNER
WHERE 1=1
<isNotEmpty property="seCd">
AND SE_CD = #seCd#
</isNotEmpty>
ORDER BY SORT1
) B
SET A.SORT_ORDR = B.SORT1
WHERE A.BANNER_ID = B.BANNER_ID
</update>
<update id="bannerDAO.updateSortDown" parameterClass="sortVO">
<![CDATA[
UPDATE COMTNBANNER SET
SORT_ORDR = SORT_ORDR - 1
WHERE
SORT_ORDR >= #startSort# AND SORT_ORDR <= #endSort#
]]>
</update>
</sqlMap>

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="Publish">
<typeAlias alias="publishVO" type="kcc.com.uss.ion.pub.service.PublishVO"/>
<select id="publishDAO.selectPublishList" parameterClass="publishVO" resultClass="publishVO">
SELECT no , content FROM PUBLISH A
WHERE 1=1
AND YES_NO != 'D'
AND YES_NO = 'Y'
AND PCODE = 1
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
</sqlMap>

View File

@ -32,6 +32,7 @@
<!-- 과정 -->
<sqlMap resource="egovframework/sqlmap/ve/prcs/VEAPrcsAplctPrdInstrAsgnm_SQL_Cubrid.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"/><!-- 과정온라인콘텐츠 -->
@ -111,4 +112,10 @@
<!-- 강의 NOTI 관리 -->
<sqlMap resource="egovframework/sqlmap/ve/asgnm/VEAsgnm_NOTI_SQL_Cubrid.xml"/>
<!-- 강의 NOTI 관리 -->
<sqlMap resource="egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Cubrid.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<settings useStatementNamespaces="true"/>
<sqlMap resource="egovframework/sqlmap/kccadr/aprvl/AprvlMgr_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/kccadr/aprvl/AprvlLineMgr_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -4,5 +4,9 @@
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/cmm/use/EgovCmmUse_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/let/cmm/fms/EgovFile_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/let/cmm/fms/EgovFile_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/let/cmm/read/Read_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/let/orgChart/OrgChartManage_SQL_Tibero.xml"/><!-- 조직도 -->
<sqlMap resource="egovframework/sqlmap/com/cmm/util/SequenceUtil_SQL_Tibero.xml"/><!-- 시퀀스UTIL -->
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/cop/cmt/EgovArticleComment_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/cop/org/EgovOrgChart_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/cop/resve/ResveManage_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/cop/smt/sim/EgovIndvdlSchdulManage_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<settings useStatementNamespaces="true"/>
<sqlMap resource="egovframework/sqlmap/kccadr/accdnt/ass/AdjustSchStatus_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/kccadr/accdnt/adr/AdjustDeputyReq_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/kccadr/accdnt/ai/AdjustIncident_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/kccadr/accdnt/ars/AdjustReqStatus_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/kccadr/accdnt/acd/AdjustChangeDate_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/kccadr/accdnt/awd/AdjustWithDraw_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/kccadr/accdnt/chg/Chg_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/kccadr/accdnt/arc/CorReq_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/kccadr/accdnt/ans/AnsSubmit_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/kccadr/accdnt/apm/AdjstPayMent_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/kccadr/accdnt/crtfc/Crtfc_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<settings useStatementNamespaces="true"/>
<sqlMap resource="egovframework/sqlmap/kccadr/adjcclt/AdjustConciliator_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/kccadr/adjClsMgr/AdjClsMgr_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/kccadr/adjPgrMgr/adjDept/AdjustDeptManage_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/kccadr/adjPgrMgr/apm/Apm_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/kccadr/adjPgrMgr/cmm/Cmm_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/kccadr/adjPgrMgr/dlvinfo/Dlvinfo_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/kccadr/adjPgrMgr/dtb/Dtb_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/kccadr/adjPgrMgr/dnt/Dnt_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/kccadr/adjPgrMgr/chd/Chd_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/kccadr/adjPgrMgr/drt/Drt_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/kccadr/adjPgrMgr/drtctr/DrtCtr_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/kccadr/adjPgrMgr/ent/Ent_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/kccadr/adjPgrMgr/crt/Crt_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/kccadr/adjPgrMgr/arm/Arm_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/kccadr/adjPgrMgr/oad/Oad_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/kccadr/adjPgrMgr/expm/ExpmManage_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/kccadr/adjPgrMgr/iam/IamManage_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/kccadr/adjPgrMgr/sbmt/SbmtGradeManager_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/kccadr/adjPgrMgr/ojct/Ojct_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/kccadr/adjReqMgr/AdjReqMgr_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/kccadr/adjReqMgrOff/AdjReqMgrOff_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/kccadr/adjPgrMgr/cclt/ConciliatorManage_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/kccadr/kccadrCom/KccadrCom_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd" >
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/kccadr/ojct/Ojct_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/kccadr/sch/SchduleManage_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/kccadr/stts/Stts_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/kccadr/Xxx_SQL_Tibero.xml"/><!-- XXX -->
<sqlMap resource="egovframework/sqlmap/kccadr/adjst/AdjstReq_SQL_Tibero.xml"/><!-- 대국민 교육신청 -->
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/pst/rsh/Research_Action_SQL.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/sym/log/ulg/EgovUserLog_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -3,6 +3,6 @@
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<settings cacheModelsEnabled="true" useStatementNamespaces="true" />
<sqlMap resource="egovframework/sqlmap/let/sym/mnu/mcm/EgovMenuCreat_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -3,6 +3,7 @@
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<settings cacheModelsEnabled="true" useStatementNamespaces="true" />
<sqlMap resource="egovframework/sqlmap/let/sym/mnu/mpm/EgovMenuManage_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/let/sym/mnu/mpm/EgovMainMenu_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/sym/site/EgovSiteManage_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/com/uss/ion/bnr/EgovBanner_SQL_Tibero.xml"/><!-- 배너 추가 -->
</sqlMapConfig>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/uss/ion/cnf/HomePageConfigManage_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/uss/ion/cnt/CntManage_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/uss/ion/cyb/CyberAlertManage_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/uss/ion/fms/FmsFile_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/com/uss/ion/pub/EgovPublish_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/uss/pwm/PopupManage_SQL_Tibero.xml"/><!-- 팝업관리 -->
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/uss/ion/sat/SatManage_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/uss/olp/qim/EgovQustnrItemManage_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/uss/olp/qmc/EgovQustnrManage_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/uss/olp/qqm/EgovQustnrQestnManage_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/uss/olp/qri/EgovQustnrRespondInfo_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/uss/olp/qrm/EgovQustnrRespondManage_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/uss/olp/qtm/EgovQustnrTmplatManage_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -4,4 +4,7 @@
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Tibero.xml"/>
<sqlMap resource="egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Tibero.xml"/><!-- 회원가입 config 추가 -->
<sqlMap resource="egovframework/sqlmap/let/uss/ion/sign/SignManage_SQL_Tibero.xml"/><!-- 결제 추가 -->
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/uss/itsm/SchdlrManage_SQL_Tibero.xml"/><!-- 스케줄러 -->
</sqlMapConfig>

View File

@ -0,0 +1,114 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<settings useStatementNamespaces="true"/>
<!-- 강사 --><!-- 기본셋 -->
<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_Tibero.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_Tibero.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_Tibero.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_Tibero.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_Tibero.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_Tibero.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_Tibero.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_Tibero.xml"/>
<!-- 찾교로그 -->
<sqlMap resource="egovframework/sqlmap/ve/log/VELog_SQL_Tibero.xml"/><!-- 로그 -->
<!-- 찾교로그복합쿼리 -->
<sqlMap resource="egovframework/sqlmap/ve/log/VELog_MIX_SQL_Tibero.xml"/>
<!-- 학교 -->
<sqlMap resource="egovframework/sqlmap/ve/schol/ScholInfo_SQL_Tibero.xml"/>
<!-- 학교복합 -->
<sqlMap resource="egovframework/sqlmap/ve/schol/ScholInfo_MIX_SQL_Tibero.xml"/>
<!-- 거주지 -->
<sqlMap resource="egovframework/sqlmap/ve/rsdnc/VERsdnc_SQL_Tibero.xml"/>
<!-- 거주지복합 -->
<sqlMap resource="egovframework/sqlmap/ve/rsdnc/VERsdnc_MIX_SQL_Tibero.xml"/>
<!-- 저작권 등록 -->
<sqlMap resource="egovframework/sqlmap/ve/edu/VEEduOptrn_SQL_Tibero.xml"/>
<!-- 통계복합쿼리 -->
<sqlMap resource="egovframework/sqlmap/ve/sttst/VESttst_MIX_SQL_Tibero.xml"/>
<!-- 강의 NOTI 관리 -->
<sqlMap resource="egovframework/sqlmap/ve/asgnm/VEAsgnm_NOTI_SQL_Tibero.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/com/migration/SQL_Ncms.xml"/>
</sqlMapConfig>

View File

@ -0,0 +1,77 @@
<?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="Xxx">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="xxxVO" type="kcc.kccadr.xxx.service.XxxVO"/>
<!-- XXX 목록 -->
<select id="XxxDAO.selectXxxList" parameterClass="xxxVO" resultClass="xxxVO">
SELECT BBS_ID as bbsId
FROM lettnbbs a
WHERE 1=1
<isNotEmpty property="bbsId">
AND a.BBS_ID = #bbsId#
</isNotEmpty>
<isNotEmpty property="searchKeyword">
<isEqual property="searchCondition" compareValue="">
AND ( MBER_NM LIKE CONCAT ('%', #searchKeyword#,'%')
OR CONTENT LIKE CONCAT ('%', #searchKeyword#,'%')
)
</isEqual>
<isEqual property="searchCondition" compareValue="1">
AND MBER_NM LIKE CONCAT ('%', #searchKeyword#,'%')
</isEqual>
<isEqual property="searchCondition" compareValue="2">
AND CONTENT LIKE CONCAT ('%', #searchKeyword#,'%')
</isEqual>
</isNotEmpty>
ORDER BY bbs_id
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<!-- XXX 상세 -->
<select id="XxxDAO.selectXxxDetail" parameterClass="xxxVO" resultClass="xxxVO">
SELECT BBS_ID as bbsId
FROM lettnbbs a
WHERE 1=1
<isNotEmpty property="bbsId">
AND a.BBS_ID = #bbsId#
AND a.NTT_ID = 1
</isNotEmpty>
</select>
<!-- XXX 등록 -->
<insert id="XxxDAO.insertXxx" parameterClass="xxxVO">
INSERT INTO lettnbbs (
NTT_ID
,BBS_ID
) VALUES (
#xxxSeq#
,#bbsId#
)
</insert>
<!-- XXX 수정 -->
<update id="XxxDAO.updateXxx" parameterClass="xxxVO">
UPDATE lettnbbs SET
BBS_ID = #bbsId#
WHERE 1=1
AND NTT_ID = #nttId#
</update>
<!-- XXX 삭제 -->
<delete id="XxxDAO.deleteXxx" parameterClass="xxxVO">
DELETE FROM lettnbbs
WHERE 1=1
AND NTT_ID = #nttId#
</delete>
<!-- XXX 삭제(update useYn = 'N' -->
<update id="XxxDAO.deleteXxx2" parameterClass="xxxVO">
UPDATE lettnbbs SET
USE_YN = 'N'
WHERE 1=1
AND BBS_ID = #bbsId#
</update>
</sqlMap>

View File

@ -0,0 +1,337 @@
<?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="AdjstChangeDate">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="AdjstChangeDateVO" type="kcc.kccadr.accdnt.acd.service.AdjstChangeDateVO"/>
<typeAlias alias="AdjstReqVO" type="kcc.kccadr.adjst.service.AdjstReqVO"/>
<!-- 공통 테이블 명 -->
<sql id="AdjstChangeDateDAO.table_name">
adr_app_mgr
</sql>
<!-- 공통 컬럼 명 -->
<sql id="AdjstChangeDateDAO.column_name">
adr_seq,
adr_sn,
app_seq,
adr_admin_id,
rppl_seq,
app_chg_cn,
app_chg_phone,
app_chg_celnum,
sbmt_yn,
sbmt_de,
usr_ci,
app_de,
app_place,
app_place_addr,
appr_yn,
appr_de,
appr_cn,
atch_file_id,
frst_regist_pnttm,
frst_register_id,
last_updt_pnttm,
last_updusr_id
</sql>
<!--
, DATE_FORMAT(str_to_date(PROCESS_DE,'%Y%m%d%H%i%s'),'%Y-%m-%d %H:%i:%s') AS processDe
-->
<sql id="AdjstChangeDateDAO.select_column_name">
a.adr_seq AS adrSeq,
a.adr_sn AS adrSn,
a.app_seq AS appSeq,
a.adr_admin_id AS adrAdminId,
a.rppl_seq AS rpplSeq,
a.app_chg_cn AS appChgCn,
a.app_chg_phone AS appChgPhone,
a.app_chg_celnum AS appChgCelnum,
a.sbmt_yn AS sbmtYn,
a.sbmt_de AS sbmtDe,
DATE_FORMAT(a.sbmt_de,'%Y-%m-%d') AS sbmtDate,
DATE_FORMAT(a.sbmt_de,'%H:%i') AS sbmtTime,
DATE_FORMAT(a.app_de,'%Y-%m-%d') AS appDate,
DATE_FORMAT(a.app_de,'%H:%i') AS appTime,
a.usr_ci AS usrCi,
a.app_de AS appDe,
a.app_place AS appPlace,
a.app_place_addr AS appPlaceAddr,
a.appr_yn AS apprYn,
a.appr_de AS apprDe,
a.appr_cn AS apprCn,
a.atch_file_id AS atchFileId,
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="AdjstChangeDateDAO.insert" parameterClass="AdjstChangeDateVO">
<selectKey resultClass="java.lang.String" keyProperty="appSeq">
SELECT IFNULL(MAX(app_seq),0)+1 AS appSeq FROM <include refid="AdjstChangeDateDAO.table_name"/>
WHERE 1=1
AND adr_seq = #adrSeq#
AND adr_sn = #adrSn#
</selectKey>
INSERT INTO <include refid="AdjstChangeDateDAO.table_name"/> (
<include refid="AdjstChangeDateDAO.column_name"/>
)VALUES(
#adrSeq#,
#adrSn#,
#appSeq#,
#adrAdminId#,
#rpplSeq#,
#appChgCn#,
#appChgPhone#,
#appChgCelnum#,
#sbmtYn#,
NOW(),
#usrCi#,
#appDe#,
#appPlace#,
#appPlaceAddr#,
#apprYn#,
#apprDe#,
#apprCn#,
#atchFileId#,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#
)
</insert>
<!--
<selectKey resultClass="java.lang.String" keyProperty="addrAgencyId">
SELECT IFNULL(MAX(ADDR_AGENCY_ID),0)+1 AS ADDR_AGENCY_ID FROM <include refid="AdjstChangeDateDAO.table_name"/>
</selectKey>
-->
<!-- 주소록 무료대행 등록 R -->
<select id="AdjstChangeDateDAO.selectDetail" parameterClass="AdjstChangeDateVO" resultClass="AdjstChangeDateVO">
SELECT
<include refid="AdjstChangeDateDAO.select_column_name"/>
FROM
<include refid="AdjstChangeDateDAO.table_name"/> a
WHERE
adr_seq = #adrSeq#
AND adr_sn = #adrSn#
AND app_seq = #appSeq#
</select>
<!-- 주소록 무료대행 등록 U -->
<update id="AdjstChangeDateDAO.update" parameterClass="AdjstChangeDateVO">
UPDATE
<include refid="AdjstChangeDateDAO.table_name"/>
SET
<isNotEmpty property="atchFileId">
ATCH_FILE_ID = #atchFileId#,
</isNotEmpty>
<isNotEmpty property="adrAdminId">
ADR_ADMIN_ID = #adrAdminId#,
</isNotEmpty>
<isNotEmpty property="rpplSeq">
RPPL_SEQ = #rpplSeq#,
</isNotEmpty>
<isNotEmpty property="appChgCn">
APP_CHG_CN = #appChgCn#,
</isNotEmpty>
<isNotEmpty property="appChgPhone">
APP_CHG_PHONE = #appChgPhone#,
</isNotEmpty>
<isNotEmpty property="appChgCelnum">
APP_CHG_CELNUM = #appChgCelnum#,
</isNotEmpty>
<isNotEmpty property="sbmtYn">
SBMT_YN = #sbmtYn#,
</isNotEmpty>
<!-- <isNotEmpty property="sbmtDe">
SBMT_DE = #sbmtDe#,
</isNotEmpty> -->
<isNotEmpty property="usrCi">
USR_CI = #usrCi#,
</isNotEmpty>
<isNotEmpty property="appDe">
APP_DE = #appDe#,
</isNotEmpty>
<isNotEmpty property="appPlace">
APP_PLACE = #appPlace#,
</isNotEmpty>
<isNotEmpty property="appPlaceAddr">
APP_PLACE_ADDR = #appPlaceAddr#,
</isNotEmpty>
<isNotEmpty property="apprYn">
APPR_YN = #apprYn#,
APPR_DE = NOW(),
</isNotEmpty>
<isNotEmpty property="apprCn">
APPR_CN = #apprCn#,
</isNotEmpty>
SBMT_DE = NOW(), /* 변경제출일자 */
LAST_UPDT_PNTTM = NOW(),
LAST_UPDUSR_ID = #lastUpdusrId#
WHERE
adr_seq = #adrSeq#
AND adr_sn = #adrSn#
AND app_seq = #appSeq#
</update>
<!-- 주소록 무료대행 삭제 D -->
<delete id="AdjstChangeDateDAO.delete" parameterClass="AdjstChangeDateVO">
DELETE FROM
<include refid="AdjstChangeDateDAO.table_name"/>
WHERE
adr_seq = #adrSeq#
AND adr_sn = #adrSn#
AND app_seq = #appSeq#
</delete>
<!-- 주소록 무료대행 등록 L -->
<select id="AdjstChangeDateDAO.selectList" parameterClass="AdjstChangeDateVO" resultClass="AdjstChangeDateVO">
SELECT
<include refid="AdjstChangeDateDAO.select_column_name"/>
FROM
<include refid="AdjstChangeDateDAO.table_name"/> a
WHERE
1=1
</select>
<!-- 주소록 무료대행 등록 L -->
<select id="AdjstChangeDateDAO.selectPagingList" parameterClass="AdjstChangeDateVO" resultClass="AdjstChangeDateVO">
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="AdjstChangeDateDAO.select_column_name"/>
, b.stat_cd AS statCd
FROM
<include refid="AdjstChangeDateDAO.table_name"/> a
, adr_mgr_master b
WHERE
1=1
AND a.adr_seq=b.adr_seq
AND a.last_updusr_id = #lastUpdusrId# /* 본인이 등록한 변경신청건만 보이도록 처리 */
<isNotEmpty property="selectPagingListQuery">
$selectPagingListQuery$
</isNotEmpty>
<isNotEmpty property="adrSeq">
AND a.adr_seq=#adrSeq#
</isNotEmpty>
<isNotEmpty property="adrSn">
AND a.adr_sn=#adrSn#
</isNotEmpty>
ORDER BY 1=1
<isEmpty property="orderByQuery">
, app_seq desc
</isEmpty>
<isNotEmpty property="orderByQuery">
, $orderByQuery$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<!--
<isNotEmpty property="searchKeyword">
<isEqual property="searchCondition" compareValue="2">
AND ADDR_PHONE_NO like CONCAT('%',#searchKeyword#,'%')
</isEqual>
</isNotEmpty>
<isNotEmpty property="searchSortCnd">
<isNotEmpty property="searchSortOrd">
,$searchSortCnd$ $searchSortOrd$
</isNotEmpty>
</isNotEmpty>
-->
<!-- 신청변경신청 사건 정보 사건, 담당담당자, 신청인, 피신청인 -->
<select id="AdjstChangeDateDAO.selectAdrRpplInfo" parameterClass="AdjstChangeDateVO" resultClass="egovMap">
SELECT
aa.adr_seq AS adrSeq
, bb.adr_sn AS adrSn
, bb.adr_no AS adrNo
, bb.mem_dept_nm AS memDeptNm
, aa.rppl_nm_01 AS rpplNm01
, aa.rppl_nm_02 AS rpplNm02
FROM (
SELECT adr_seq
, MAX(IF(rppl_ty='10',rppl_nm,'')) rppl_nm_01
, MAX(IF(rppl_ty='20',rppl_nm,'')) rppl_nm_02
FROM adr_rppl
WHERE adr_seq=#adrSeq#
GROUP BY adr_seq
)aa
,
(
SELECT b.mem_dept_nm, a.adr_sn, c.adr_no
FROM adr_mgr_detail a
LEFT OUTER JOIN adr_mem_dept_mgr b
ON(a.mem_dept_seq=b.mem_dept_seq)
, adr_mgr_master c
WHERE a.adr_seq=#adrSeq#
AND a.adr_sn=#adrSn#
AND c.adr_seq=a.adr_seq
)bb
</select>
<select id="AdjstChangeDateDAO.selectAdrRpplSeqInfo" parameterClass="AdjstChangeDateVO" resultClass="String">
SELECT rppl_seq AS rpplSeq
FROM adr_rppl
WHERE adr_seq = #adrSeq#
AND rppl_id = #lastUpdusrId#
</select>
</sqlMap>

View File

@ -0,0 +1,240 @@
<?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="AdjustSchStatus">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="AdjstDeputyReqVO" type="kcc.kccadr.accdnt.adr.service.AdjstDeputyReqVO"/>
<select id="adjDeputyReqDAO.selectAdjstDeputyReqList" parameterClass="AdjstDeputyReqVO" resultClass="AdjstDeputyReqVO">
SELECT
*
FROM (
SELECT
ROWNUM AS rowNumber
,ADR_SEQ AS adrSeq
,ADR_SN AS adrSn
,AGNT_SEQ AS agntSeq
,RPPL_SEQ AS rpplSeq
,AGNT_SBMT_YN AS agntSbmtYn
,AGNT_APPR_YN AS agntApprYn
,AGNT_ID AS agntId
,RPPL_RLTN_TY AS rpplRltnTy
,RPPL_RLTN_CN AS rpplRltnCn
,AGNT_NM AS agntNm
,AGNT_BRTH_DT AS agntBrthDt
,AGNT_POST AS agntPost
,AGNT_ADDR AS agntAddr
,AGNT_ADDR_DTL AS agntAddrDtl
,AGNT_PHONE AS agntPhone
,AGNT_CELNUM AS agntCelnum
,AGNT_EMAIL AS agntEmail
,AGNT_EMAIL_YN AS agntEmailYn
,AGNT_SMS_YN AS agntSmsYn
,SBMT_YN AS sbmtYn
,SBMT_DE AS sbmtDe
,USR_CI AS usrCi
,APPR_YN AS apprYn
,APPR_DE AS apprDe
,ATCH_FILE_ID AS atchFileId
,TO_CHAR(T1.FRST_REGIST_PNTTM,'YYYY-MM-DD') AS frstRegistPnttm
,FRST_REGISTER_ID AS frstRegisterId
,TO_CHAR(T1.FRST_REGIST_PNTTM,'YYYY-MM-DD') AS lastUpdtPnttm
,LAST_UPDUSR_ID AS lastUpdusrId
FROM ADR_AGNT_MGR T1
WHERE 1=1
AND ADR_SEQ = #adrSeq#
AND RPPL_SEQ = #rpplSeq#
<isNotEmpty property="searchKeyword">
<isEqual prepend="AND" property="searchCondition" compareValue="">
</isEqual>
</isNotEmpty>
) RS
ORDER BY 1=1
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
</select>
<select id="adjDeputyReqDAO.selectAdjstDeputyDetail" parameterClass="AdjstDeputyReqVO" resultClass="AdjstDeputyReqVO">
SELECT
ROWNUM AS rowNumber
,T1.ADR_SEQ AS adrSeq
,T1.ADR_SN AS adrSn
,T1.AGNT_SEQ AS agntSeq
,T1.RPPL_SEQ AS rpplSeq
,T1.AGNT_SBMT_YN AS agntSbmtYn
,T1.AGNT_APPR_YN AS agntApprYn
,T1.AGNT_ID AS agntId
,T1.RPPL_RLTN_TY AS rpplRltnTy
,T1.RPPL_RLTN_CN AS rpplRltnCn
,T1.AGNT_NM AS agntNm
,T1.AGNT_BRTH_DT AS agntBrthDt
,T1.AGNT_POST AS agntPost
,T1.AGNT_ADDR AS agntAddr
,T1.AGNT_ADDR_DTL AS agntAddrDtl
,T1.AGNT_PHONE AS agntPhone
,T1.AGNT_CELNUM AS agntCelnum
,T1.AGNT_EMAIL AS agntEmail
,T1.AGNT_EMAIL_YN AS agntEmailYn
,T1.AGNT_SMS_YN AS agntSmsYn
,T1.SBMT_YN AS sbmtYn
,T1.SBMT_DE AS sbmtDe
,T1.USR_CI AS usrCi
,T1.APPR_YN AS apprYn
,T1.APPR_DE AS apprDe
,T1.ATCH_FILE_ID AS atchFileId
,TO_CHAR(T1.FRST_REGIST_PNTTM,'YYYY-MM-DD') AS frstRegistPnttm
,T1.FRST_REGISTER_ID AS frstRegisterId
,TO_CHAR(T1.FRST_REGIST_PNTTM,'YYYY-MM-DD') AS lastUpdtPnttm
,( SELECT ADR_NO FROM ADR_MGR_MASTER S1 WHERE 1=1 AND S1.ADR_SEQ = T1.ADR_SEQ) AS adrNo
,( SELECT CC_TY FROM ADR_MGR_MASTER S1 WHERE 1=1 AND S1.ADR_SEQ = T1.ADR_SEQ) AS ccTy
,( SELECT RPPL_NM FROM ADR_RPPL S1 WHERE 1=1 AND S1.ADR_SEQ = T1.ADR_SEQ AND S1.RPPL_TY = '10') AS appliCantNm
,( SELECT RPPL_NM FROM ADR_RPPL S1 WHERE 1=1 AND S1.ADR_SEQ = T1.ADR_SEQ AND S1.RPPL_TY = '20' LIMIT 1) AS resPonDentNm
,( SELECT GROUP_CONCAT(RPPL_NM) FROM ADR_RPPL S1 WHERE 1=1 AND S1.ADR_SEQ = T1.ADR_SEQ AND S1.RPPL_TY = '20' GROUP BY S1.ADR_SEQ) AS resPonDentNms
FROM ADR_AGNT_MGR T1
WHERE ADR_SEQ = #adrSeq#
AND ADR_SN = #adrSn#
AND AGNT_SEQ = #agntSeq#
</select>
<insert id="adjDeputyReqDAO.insertAdjstDeputyReqSave" parameterClass="AdjstDeputyReqVO" >
INSERT INTO ADR_AGNT_MGR (
ADR_SEQ
,ADR_SN
,AGNT_SEQ
,RPPL_SEQ
,AGNT_SBMT_YN
,AGNT_APPR_YN
,AGNT_ID
,RPPL_RLTN_TY
,RPPL_RLTN_CN
,AGNT_NM
,AGNT_BRTH_DT
,AGNT_POST
,AGNT_ADDR
,AGNT_ADDR_DTL
,AGNT_PHONE
,AGNT_CELNUM
,AGNT_EMAIL
,AGNT_EMAIL_YN
,AGNT_SMS_YN
,SBMT_YN
,SBMT_DE
,USR_CI
,APPR_YN
,APPR_DE
,ATCH_FILE_ID
,FRST_REGIST_PNTTM
,FRST_REGISTER_ID
,LAST_UPDT_PNTTM
,LAST_UPDUSR_ID
) VALUES (
#adrSeq#
,#adrSn#
,#agntSeq#
,#rpplSeq#
,NULL
,NULL
,NULL
,#rpplRltnTy#
,#rpplRltnCn#
,#agntNm#
,#agntBrthDt#
,#agntPost#
,#agntAddr#
,#agntAddrDtl#
,#agntPhone#
,#agntCelnum#
,NULL
,NULL
,NULL
,'N'
,NULL
,NULL
,'N'
,NULL
,#atchFileId#
,NOW()
,#frstRegisterId#
,NOW()
,#lastUpdusrId#
)
</insert>
<update id="adjDeputyReqDAO.updateAdjstDeputyReqSave" parameterClass="AdjstDeputyReqVO" >
UPDATE ADR_AGNT_MGR SET
RPPL_RLTN_TY = #rpplRltnTy#
,RPPL_RLTN_CN = #rpplRltnCn#
,AGNT_NM = #agntNm#
,AGNT_BRTH_DT = #agntBrthDt#
,AGNT_POST = #agntPost#
,AGNT_ADDR = #agntAddr#
,AGNT_ADDR_DTL = #agntAddrDtl#
,AGNT_PHONE = #agntPhone#
,AGNT_CELNUM = #agntCelnum#
,ATCH_FILE_ID = #atchFileId#
,LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
WHERE 1=1
AND ADR_SEQ = #adrSeq#
AND ADR_SN = #adrSn#
AND AGNT_SEQ = #agntSeq#
</update>
<update id="adjDeputyReqDAO.updateAdjstDeputyReqStatus" parameterClass="AdjstDeputyReqVO" >
UPDATE ADR_AGNT_MGR SET
<isNotEmpty property="agntSbmtYn">
AGNT_SBMT_YN = #agntSbmtYn#,
</isNotEmpty>
<isNotEmpty property="agntApprYn">
AGNT_APPR_YN = #agntApprYn#,
</isNotEmpty>
<isNotEmpty property="agntEmailYn">
AGNT_EMAIL_YN = #agntEmailYn#,
</isNotEmpty>
<isNotEmpty property="agntSmsYn">
AGNT_SMS_YN = #agntSmsYn#,
</isNotEmpty>
<isNotEmpty property="sbmtYn">
SBMT_YN = #sbmtYn#,
SBMT_DE = NOW(),
</isNotEmpty>
<isNotEmpty property="usrCi">
USR_CI = #usrCi#,
</isNotEmpty>
<isNotEmpty property="apprYn">
APPR_YN = #apprYn#,
APPR_DE = NOW(),
</isNotEmpty>
LAST_UPDT_PNTTM = NOW(),
LAST_UPDUSR_ID = #lastUpdusrId#
WHERE 1=1
AND ADR_SEQ = #adrSeq#
AND ADR_SN = #adrSn#
AND AGNT_SEQ = #agntSeq#
</update>
<update id="adjDeputyReqDAO.deleteAdjstDeputyReqInfo" parameterClass="AdjstDeputyReqVO" >
DELETE FROM ADR_AGNT_MGR
WHERE 1=1
AND ADR_SEQ = #adrSeq#
AND ADR_SN = #adrSn#
AND AGNT_SEQ = #agntSeq#
</update>
<select id="adjDeputyReqDAO.selectAdjstRpplInfo" parameterClass="AdjstDeputyReqVO" resultClass="AdjstDeputyReqVO">
SELECT
RPPL_SEQ AS rpplSeq
,RPPL_TY AS rpplTy
FROM ADR_RPPL
WHERE ADR_SEQ = #adrSeq#
AND RPPL_ID = #frstRegisterId#
LIMIT 1
</select>
</sqlMap>

View File

@ -0,0 +1,776 @@
<?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="AdjustSchStatus">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="AdjstIncidentVO" type="kcc.kccadr.accdnt.ai.service.AdjstIncidentVO"/>
<!-- 공통 쿼리 명 -->
<sql id="adjstIncidentDAO.selectDash1">
SELECT
ADR_SEQ
,ADR_NO
,STAT_CD
,REQ_OL_CD
,REQ_CN1
,REQ_CN2
,REQ_TY
,CC_TY
,SBMT_YN
,SBMT_DE
,ADR_COST
,ADR_PAY_YN
,APPR_SEQ
,APPR_DE
,ATCH_FILE_ID
,(
SELECT
CASE
WHEN COUNT(*) <![CDATA[ <= ]]> 1 THEN GROUP_CONCAT(RPPL_NM SEPARATOR ',')
ELSE RPPL_NM || '외' || (COUNT(*)-1) || '명'
END RPPL_NMS
FROM ADR_RPPL S1
WHERE 1=1
AND S1.adr_seq = T1.adr_seq
AND S1.RPPL_TY = '20'
GROUP BY S1.adr_seq
ORDER BY S1.FRST_REGIST_PNTTM
) AS RES_PON_DENT_NM
, ( SELECT GROUP_CONCAT(RPPL_NM) FROM ADR_RPPL s1 WHERE 1=1 AND S1.adr_seq = T1.adr_seq AND s1.RPPL_TY = '30' GROUP BY S1.adr_seq) AS DEPU_TY_NMS
, ( SELECT RPPL_NM FROM ADR_RPPL s1 WHERE 1=1 AND S1.adr_seq = T1.adr_seq AND s1.RPPL_TY = '10') AS APPLI_CANT_NM
,FRST_REGIST_PNTTM
,FRST_REGISTER_ID
,LAST_UPDT_PNTTM
,LAST_UPDUSR_ID
FROM ADR_MGR_MASTER T1
WHERE 1=1
AND T1.FRST_REGISTER_ID = #frstRegisterId#
AND T1.USE_YN <![CDATA[ <> ]]> 'N'
</sql>
<select id="adjstIncidentDAO.selectAdjstIncidentCount" parameterClass="AdjstIncidentVO" resultClass="int">
SELECT
COUNT(1) AS TOT
FROM (
SELECT
ADR_SEQ
,ADR_NO
,STAT_CD
,REQ_OL_CD
,REQ_CN1
,REQ_CN2
,REQ_TY
,CC_TY
,SBMT_YN
,SBMT_DE
,ADR_COST
,ADR_PAY_YN
,APPR_SEQ
,APPR_DE
,ATCH_FILE_ID
,(
SELECT
CASE
WHEN COUNT(*) <![CDATA[ <= ]]> 1 THEN GROUP_CONCAT(RPPL_NM SEPARATOR ',')
ELSE RPPL_NM || '외' || (COUNT(*)-1) || '명'
END RPPL_NMS
FROM ADR_RPPL S1
WHERE 1=1
AND S1.adr_seq = T1.adr_seq
AND S1.RPPL_TY = '20'
GROUP BY S1.adr_seq
ORDER BY S1.FRST_REGIST_PNTTM
) AS RES_PON_DENT_NM
, ( SELECT GROUP_CONCAT(RPPL_NM) FROM ADR_RPPL s1 WHERE 1=1 AND S1.adr_seq = T1.adr_seq AND s1.RPPL_TY = '30' GROUP BY S1.adr_seq) AS DEPU_TY_NMS
, ( SELECT RPPL_NM FROM ADR_RPPL s1 WHERE 1=1 AND S1.adr_seq = T1.adr_seq AND s1.RPPL_TY = '10') AS APPLI_CANT_NM
,REJECT_CN
,FRST_REGIST_PNTTM
,FRST_REGISTER_ID
,LAST_UPDT_PNTTM
,LAST_UPDUSR_ID
FROM ADR_MGR_MASTER T1
WHERE 1=1
/* 온라인 조정전환 테스트시 아래 주석 필요 */
/* AND T1.FRST_REGISTER_ID = SHARPfrstRegisterIdSHARP */
AND T1.USE_YN <![CDATA[ <> ]]> 'N'
) RS LEFT OUTER JOIN ADR_MGR_DEATAIL_MAX DTL ON RS.ADR_SEQ = DTL.ADR_SEQ
LEFT OUTER JOIN ADR_EDT_REQ_MAX_V V1 ON RS.ADR_SEQ = V1.ADR_SEQ
LEFT OUTER JOIN ADR_MEM_DEPT_MGR DEPT ON DTL.MEM_DEPT_SEQ = DEPT.MEM_DEPT_SEQ AND DEPT.USE_YN = 'Y'
LEFT OUTER JOIN COMVNUSERMASTER USR ON DTL.ADR_ADM_ID = USR.ESNTL_ID
/* 온라인 조정전환 테스트시 아래 주석 제거 필요 */
INNER JOIN (
SELECT ADR_SEQ, RPPL_ID, RPPL_NM
FROM ADR_RPPL
WHERE RPPL_ID = #frstRegisterId#
GROUP BY ADR_SEQ, RPPL_ID
) rppl
ON RS.ADR_SEQ = rppl.ADR_SEQ
WHERE 1=1
<isNotEmpty property="searchKeyword">
<isEqual prepend="AND" property="searchCondition" compareValue="1">
RS.ADR_SEQ LIKE CONCAT('%' , #searchKeyword#, '%')
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="2">
TO_CHAR(RS.SBMT_DE,'YYYY-MM-DD') = #searchKeyword#
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="5">
RS.REQ_CN1 LIKE CONCAT('%' , #searchKeyword#, '%')
</isEqual>
</isNotEmpty>
<isNotEmpty property="searchEncKeyword">
<isEqual prepend="AND" property="searchCondition" compareValue="3">
EXISTS (SELECT '1' FROM ADR_RPPL WHERE ADR_SEQ = RS.ADR_SEQ AND RPPL_NM = #searchEncKeyword# AND RPPL_TY = '10')
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="4">
EXISTS (SELECT '1' FROM ADR_RPPL WHERE ADR_SEQ = RS.ADR_SEQ AND RPPL_NM = #searchEncKeyword# AND RPPL_TY = '20')
</isEqual>
</isNotEmpty>
<isEqual prepend="AND" property="searchCondition" compareValue="6">
RS.STAT_CD LIKE CONCAT('%' , #searchSelStatus#, '%')
</isEqual>
<isNotEmpty property="searchStatus">
<isEqual property="searchStatus" compareValue="A">
<!-- 신청 상태 구역 -->
AND RS.STAT_CD BETWEEN '101000' AND '104050'
AND RS.STAT_CD NOT IN ('101050')
</isEqual>
<isEqual property="searchStatus" compareValue="B">
<!-- 진행 상태 구역 -->
AND (RS.STAT_CD BETWEEN '201010' AND '309050' OR RS.STAT_CD IN ('101050'))
</isEqual>
<isEqual property="searchStatus" compareValue="C">
<!-- 종결 상태 구역 -->
AND RS.STAT_CD IN ('309050','310050','311050')
</isEqual>
</isNotEmpty>
<isNotEmpty prepend="AND" property="searchStartDt">
TO_CHAR(RS.FRST_REGIST_PNTTM,'YYYYMMDD') <![CDATA[ >= ]]> REPLACE(#searchStartDt#, '-' , '')
</isNotEmpty>
<isNotEmpty prepend="AND" property="searchEndDt">
TO_CHAR(RS.FRST_REGIST_PNTTM,'YYYYMMDD')<![CDATA[ <= ]]> REPLACE(#searchEndDt#, '-' , '')
</isNotEmpty>
ORDER BY 1=1
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
</select>
<select id="adjstIncidentDAO.selectAdjstIncidentList" parameterClass="AdjstIncidentVO" resultClass="AdjstIncidentVO">
SELECT
RS.ADR_SEQ AS adrSeq
,RS.ADR_NO AS adrNo
,RS.STAT_CD AS statCd
,RS.REQ_OL_CD AS reqOlCd
,RS.REQ_CN1 AS reqCn1
,RS.REQ_CN2 AS reqCn2
,RS.REQ_TY AS reqTy
,RS.CC_TY AS ccTy
,RS.SBMT_YN AS sbmtYn
,TO_CHAR(RS.SBMT_DE,'YYYY-MM-DD') AS sbmtDe
,RS.ADR_COST AS adrCost
,RS.ADR_PAY_YN AS adrPayYn
,RS.APPR_SEQ AS apprSeq
,RS.APPR_DE AS apprDe
,RS.ATCH_FILE_ID AS atchFileId
,RS.RES_PON_DENT_NM AS resPonDentNm
,RS.DEPU_TY_NMS AS depuTyNms
,RS.APPLI_CANT_NM AS appliCantNm
,RS.REJECT_CN AS rejectCn
,RS.FRST_REGIST_PNTTM AS frstRegistPnttm
,RS.FRST_REGISTER_ID AS frstRegisterId
<!-- ,RS.LAST_UPDT_PNTTM AS lastUpdtPnttm -->
,TO_CHAR(RS.LAST_UPDT_PNTTM,'YYYY-MM-DD') AS lastUpdtPnttm
,RS.LAST_UPDUSR_ID AS lastUpdusrId
,V1.EDT_STATUS AS edtStatus
,V1.EDT_TY AS edtTy
,V1.EDT_SN AS edtSn
,V1.REQ_DETAIL AS reqDetail
,V1.REJT_RESON AS rejtReson
,V1.APPR_YN AS apprYn
,DTL.ADR_SN AS adrSn
,DTL.ADR_ADM_ID AS adrAdmId
,DTL.MEM_DEPT_SEQ AS memDeptSeq
,DTL.ASS_SEQ AS assSeq
,DTL.APP_YN AS appYn
,DEPT.MEM_DEPT_NM AS memDeptNm
,USR.USER_NM AS adrAdmNm
FROM (
SELECT
ADR_SEQ
,ADR_NO
,STAT_CD
,REQ_OL_CD
,REQ_CN1
,REQ_CN2
,REQ_TY
,CC_TY
,SBMT_YN
,SBMT_DE
,ADR_COST
,ADR_PAY_YN
,APPR_SEQ
,APPR_DE
,ATCH_FILE_ID
,(
SELECT
CASE
WHEN COUNT(*) <![CDATA[ <= ]]> 1 THEN GROUP_CONCAT(RPPL_NM SEPARATOR ',')
ELSE RPPL_NM || '외' || (COUNT(*)-1) || '명'
END RPPL_NMS
FROM ADR_RPPL S1
WHERE 1=1
AND S1.adr_seq = T1.adr_seq
AND S1.RPPL_TY = '20'
GROUP BY S1.adr_seq
ORDER BY S1.FRST_REGIST_PNTTM
) AS RES_PON_DENT_NM
, ( SELECT GROUP_CONCAT(RPPL_NM) FROM ADR_RPPL s1 WHERE 1=1 AND S1.adr_seq = T1.adr_seq AND s1.RPPL_TY = '30' GROUP BY S1.adr_seq) AS DEPU_TY_NMS
, ( SELECT RPPL_NM FROM ADR_RPPL s1 WHERE 1=1 AND S1.adr_seq = T1.adr_seq AND s1.RPPL_TY = '10') AS APPLI_CANT_NM
,REJECT_CN
,FRST_REGIST_PNTTM
,FRST_REGISTER_ID
,LAST_UPDT_PNTTM
,LAST_UPDUSR_ID
FROM ADR_MGR_MASTER T1
WHERE 1=1
/* 온라인 조정전환 테스트시 아래 주석 필요 */
/* AND T1.FRST_REGISTER_ID = SHARPfrstRegisterIdSHARP */
AND T1.USE_YN <![CDATA[ <> ]]> 'N'
) RS LEFT OUTER JOIN ADR_MGR_DEATAIL_MAX DTL ON RS.ADR_SEQ = DTL.ADR_SEQ
LEFT OUTER JOIN ADR_EDT_REQ_MAX_V V1 ON RS.ADR_SEQ = V1.ADR_SEQ
LEFT OUTER JOIN ADR_MEM_DEPT_MGR DEPT ON DTL.MEM_DEPT_SEQ = DEPT.MEM_DEPT_SEQ AND DEPT.USE_YN = 'Y'
LEFT OUTER JOIN COMVNUSERMASTER USR ON DTL.ADR_ADM_ID = USR.ESNTL_ID
/* 온라인 조정전환 테스트시 아래 주석 제거 필요 */
INNER JOIN (
SELECT ADR_SEQ, RPPL_ID, RPPL_NM
FROM ADR_RPPL
WHERE RPPL_ID = #frstRegisterId#
GROUP BY ADR_SEQ, RPPL_ID
) rppl
ON RS.ADR_SEQ = rppl.ADR_SEQ
WHERE 1=1
<isNotEmpty property="searchKeyword">
<isEqual prepend="AND" property="searchCondition" compareValue="1">
RS.ADR_SEQ LIKE CONCAT('%' , #searchKeyword#, '%')
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="2">
TO_CHAR(RS.SBMT_DE,'YYYY-MM-DD') = #searchKeyword#
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="5">
RS.REQ_CN1 LIKE CONCAT('%' , #searchKeyword#, '%')
</isEqual>
</isNotEmpty>
<isNotEmpty property="searchEncKeyword">
<isEqual prepend="AND" property="searchCondition" compareValue="3">
EXISTS (SELECT '1' FROM ADR_RPPL WHERE ADR_SEQ = RS.ADR_SEQ AND RPPL_NM = #searchEncKeyword# AND RPPL_TY = '10')
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="4">
EXISTS (SELECT '1' FROM ADR_RPPL WHERE ADR_SEQ = RS.ADR_SEQ AND RPPL_NM = #searchEncKeyword# AND RPPL_TY = '20')
</isEqual>
</isNotEmpty>
<isEqual prepend="AND" property="searchCondition" compareValue="6">
RS.STAT_CD LIKE CONCAT('%' , #searchSelStatus#, '%')
</isEqual>
<isNotEmpty property="searchStatus">
<isEqual property="searchStatus" compareValue="A">
<!-- 신청 상태 구역 -->
AND RS.STAT_CD BETWEEN '101000' AND '104050'
AND RS.STAT_CD NOT IN ('101050')
</isEqual>
<isEqual property="searchStatus" compareValue="B">
<!-- 진행 상태 구역 -->
AND (RS.STAT_CD BETWEEN '201010' AND '309050' OR RS.STAT_CD IN ('101050'))
</isEqual>
<isEqual property="searchStatus" compareValue="C">
<!-- 종결 상태 구역 -->
AND RS.STAT_CD IN ('309050','310050','311050')
</isEqual>
</isNotEmpty>
<isNotEmpty prepend="AND" property="searchStartDt">
TO_CHAR(RS.FRST_REGIST_PNTTM,'YYYYMMDD') <![CDATA[ >= ]]> REPLACE(#searchStartDt#, '-' , '')
</isNotEmpty>
<isNotEmpty prepend="AND" property="searchEndDt">
TO_CHAR(RS.FRST_REGIST_PNTTM,'YYYYMMDD')<![CDATA[ <= ]]> REPLACE(#searchEndDt#, '-' , '')
</isNotEmpty>
ORDER BY 1=1
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<select id="adjstIncidentDAO.selectAdjstIncidentMaster" parameterClass="AdjstIncidentVO" resultClass="AdjstIncidentVO">
SELECT
T1.ADR_SEQ AS adrSeq,
T1.ADR_NO AS adrNo,
T1.STAT_CD AS statCd,
T1.REQ_OL_CD AS reqOlCd,
T1.REQ_CN1 AS reqCn1,
T1.REQ_CN2 AS reqCn2,
T1.REQ_TY AS reqTy,
T1.CC_TY AS ccTy,
T1.SBMT_YN AS sbmtYn,
T1.SBMT_DE AS sbmtDe,
T1.ADR_COST AS adrCost,
T1.ADR_PAY_YN AS adrPayYn,
T1.APPR_SEQ AS apprSeq,
T1.APPR_DE AS apprDe,
T1.ATCH_FILE_ID AS atchFileId,
T1.FRST_REGIST_PNTTM AS frstRegistPnttm,
T1.FRST_REGISTER_ID AS frstRegisterId,
T1.LAST_UPDT_PNTTM AS lastUpdtPnttm,
T1.LAST_UPDUSR_ID AS lastUpdusrId,
T2.ADR_SN AS adrSn,
T2.ADR_ADM_ID AS adrAdmId,
T2.MEM_DEPT_SEQ AS memDeptSeq,
T2.ASS_SEQ AS assSeq,
T2.APP_YN AS appYn,
T3.APP_SEQ AS appSeq,
T3.ADR_ADMIN_ID AS adrAdminId,
T3.RPPL_SEQ AS rpplSeq,
T3.APP_CHG_CN AS appChgCn,
T3.APP_CHG_PHONE AS appChgPhone,
T3.APP_CHG_CELNUM AS appChgCelnum,
T3.SBMT_YN AS dtSbmtYn,
TO_CHAR(T3.SBMT_DE,'YYYY-MM-DD') AS dtSbmtDe,
T3.USR_CI AS usrCi,
TO_CHAR(T3.APP_DE,'YYYY-MM-DD') AS appDe,
T3.APP_PLACE AS appPlace,
T3.APP_PLACE_ADDR AS appPlaceAddr,
T3.APPR_YN AS apprYn,
TO_CHAR(T3.APPR_DE,'YYYY-MM-DD') AS dtApprDe,
T3.APPR_CN AS apprCn,
T4.EDT_STATUS AS edtStatus,
T5.AVOID_REQ_YN AS avoidReqYn
FROM ADR_MGR_MASTER T1 LEFT OUTER JOIN ADR_MGR_DEATAIL_MAX T2 ON T1.ADR_SEQ = T2.ADR_SEQ
LEFT OUTER JOIN (
SELECT bb0.*
FROM (
SELECT a0.adr_seq, a0.adr_sn, MAX(a0.app_seq) app_seq
FROM ADR_APP_MGR a0
GROUP BY a0.adr_seq, a0.adr_sn
)aa0
,
ADR_APP_MGR bb0
WHERE aa0.adr_seq=bb0.adr_seq
AND aa0.adr_sn=bb0.adr_sn
AND aa0.app_seq=bb0.app_seq
) T3 ON T1.ADR_SEQ = T3.ADR_SEQ AND T2.ADR_SN = T3.ADR_SN
LEFT OUTER JOIN ADR_AVOID_REQ_MGR T5 ON T1.ADR_SEQ = T5.ADR_SEQ AND T2.ADR_SN = T5.ADR_SN
LEFT OUTER JOIN ADR_EDT_REQ_MAX_V T4 ON T1.ADR_SEQ = T4.ADR_SEQ
WHERE T1.ADR_SEQ = #adrSeq#
<isNotEmpty property="adrSn">
AND T3.APP_SEQ =
(SELECT MAX(g.APP_SEQ)
FROM ADR_APP_MGR g
WHERE g.ADR_SEQ = T1.ADR_SEQ
AND g.ADR_SN = T2.ADR_SN
)
</isNotEmpty>
</select>
<select id="adjstIncidentDAO.selectAdjstIncidentrelatedPersonList" parameterClass="AdjstIncidentVO" resultClass="AdjstIncidentVO">
SELECT
ADR_SEQ AS adrSeq,
RPPL_SEQ AS rpplSeq,
RPPL_TY AS rpplTy,
AGNT_YN AS agntYn,
RPPL_USR_TY AS rpplUsrTy,
ADR_OL_YN AS adrOlYn,
RPPL_ID AS rpplId,
RPPL_NM AS rpplNm,
RPPL_BIZ_ID AS rpplBizId,
RPPL_BIZ_NM AS rpplBizNm,
RPPL_BIZ_NO AS rpplBizNo,
RPPL_POST AS rpplPost,
RPPL_ADDR AS rpplAddr,
RPPL_ADDR_DTL AS rpplAddrDtl,
RPPL_ADDR_CP_YN AS rpplAddrCpYn,
RPPL_REAL_POST AS rpplRealPost,
RPPL_REAL_ADDR AS rpplRealAddr,
RPPL_REAL_ADDR_DTL AS rpplRealAddrDtl,
RPPL_PHONE AS rpplPhone,
RPPL_EMAIL AS rpplEmail,
RPPL_EMAIL_YN AS rpplEmailYn,
RPPL_SMS_YN AS rpplSmsYn,
RPPL_CLASS AS rpplClass,
RPPL_GRADE AS rpplGrade,
SBMT_YN AS sbmtYn,
SBMT_DE AS sbmtDe,
USR_CI AS usrCi,
APPR_YN AS apprYn,
APPR_DE AS apprDe,
ATCH_FILE_ID AS atchFileId,
FRST_REGIST_PNTTM AS frstRegistPnttm,
FRST_REGISTER_ID AS frstRegisterId,
LAST_UPDT_PNTTM AS lastUpdtPnttm,
LAST_UPDUSR_ID AS lastUpdusrId,
RPPL_USR_TY_NM AS rpplUsrTyNm,
ORD_NUM
FROM (
SELECT
*
, ( SELECT CODE_NM FROM LETTCCMMNDETAILCODE WHERE CODE_ID = 'CC001' AND CODE = T1.RPPL_USR_TY) AS RPPL_USR_TY_NM
, CASE WHEN RPPL_TY = '01' THEN 2 WHEN RPPL_TY = '03' THEN 1 ELSE 3 END ORD_NUM
FROM ADR_RPPL T1
WHERE ADR_SEQ = #adrSeq#
)T1
ORDER BY ORD_NUM
</select>
<update id="adjstIncidentDAO.insertAdjstIncidentReq" parameterClass="AdjstIncidentVO">
MERGE INTO ADR_EDT_REQ T1 USING DB_ROOT
ON (T1.ADR_SEQ = #adrSeq# AND EDT_SN = #edtSn#)
WHEN MATCHED THEN
UPDATE SET
REQ_INF_YN = #reqInfYn#,
RES_INF_YN = #resInfYn#,
REQ_PPS_YN = #reqPpsYn#,
REQ_RSN_YN = #reqRsnYn#,
ATTCH_FILE_YN = #attchFileYn#,
REQ_DETAIL = #reqDetail#,
LAST_UPDT_PNTTM = NOW(),
LAST_UPDUSR_ID = #lastUpdusrId#
WHEN NOT MATCHED THEN
INSERT (
ADR_SEQ,
EDT_SN,
EDT_TY,
REQ_INF_YN,
RES_INF_YN,
REQ_PPS_YN,
REQ_RSN_YN,
ATTCH_FILE_YN,
REQ_DETAIL,
EDT_STATUS,
APPR_YN,
REQ_DT,
CPMTE_DT,
FRST_REGIST_PNTTM,
FRST_REGISTER_ID,
LAST_UPDT_PNTTM,
LAST_UPDUSR_ID
) VALUES (
#adrSeq#,
(SELECT IFNULL(MAX(edt_sn) + 1 , 1) FROM ADR_EDT_REQ WHERE ADR_SEQ = #adrSeq#),
#edtTy#,
#reqInfYn#,
#resInfYn#,
#reqPpsYn#,
#reqRsnYn#,
#attchFileYn#,
#reqDetail#,
#edtStatus#,
IF(#edtTy# = 'S' , 'Y' , NULL),
NOW(),
NULL,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#
)
</update>
<!-- 사용자 대시보드 관련 쿼리 -->
<select id="adjstIncidentDAO.selectAdjstIncidentDashCount" parameterClass="AdjstIncidentVO" resultClass="int">
SELECT
COUNT(1) AS TOT
FROM (
<include refid="adjstIncidentDAO.selectDash1"/>
) RS LEFT OUTER JOIN ADR_MGR_DEATAIL_MAX DTL ON RS.ADR_SEQ = DTL.ADR_SEQ
LEFT OUTER JOIN ADR_EDT_REQ_MAX_V V1 ON RS.ADR_SEQ = V1.ADR_SEQ
LEFT OUTER JOIN ADR_MEM_DEPT_MGR DEPT ON DTL.MEM_DEPT_SEQ = DEPT.MEM_DEPT_SEQ AND DEPT.USE_YN = 'Y'
LEFT OUTER JOIN COMVNUSERMASTER USR ON DTL.ADR_ADM_ID = USR.ESNTL_ID
WHERE 1=1
<isNotEmpty property="searchKeyword">
<isEqual prepend="AND" property="searchCondition" compareValue="1">
RS.ADR_SEQ LIKE CONCAT('%' , #searchKeyword#, '%')
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="2">
TO_CHAR(RS.SBMT_DE,'YYYY-MM-DD') = #searchKeyword#
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="5">
RS.REQ_CN1 LIKE CONCAT('%' , #searchKeyword#, '%')
</isEqual>
</isNotEmpty>
<isNotEmpty property="searchEncKeyword">
<isEqual prepend="AND" property="searchCondition" compareValue="3">
EXISTS (SELECT '1' FROM ADR_RPPL WHERE ADR_SEQ = RS.ADR_SEQ AND RPPL_NM = #searchKeyword# AND RPPL_TY = '10')
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="4">
EXISTS (SELECT '1' FROM ADR_RPPL WHERE ADR_SEQ = RS.ADR_SEQ AND RPPL_NM = #searchKeyword# AND RPPL_TY = '20')
</isEqual>
</isNotEmpty>
<isEqual prepend="AND" property="searchCondition" compareValue="6">
RS.STAT_CD LIKE CONCAT('%' , #searchSelStatus#, '%')
</isEqual>
<isNotEmpty property="searchStatus">
<isEqual property="searchStatus" compareValue="A">
<!-- 신청 상태 구역 -->
AND RS.STAT_CD BETWEEN '101000' AND '104050'
AND RS.STAT_CD NOT IN ('101050')
</isEqual>
<isEqual property="searchStatus" compareValue="B">
<!-- 진행 상태 구역 -->
AND (RS.STAT_CD BETWEEN '201010' AND '309050' OR RS.STAT_CD IN ('101050'))
</isEqual>
<isEqual property="searchStatus" compareValue="C">
<!-- 종결 상태 구역 -->
AND RS.STAT_CD IN ('309050','310050','311050')
</isEqual>
</isNotEmpty>
<isNotEmpty prepend="AND" property="searchStartDt">
TO_CHAR(RS.FRST_REGIST_PNTTM,'YYYYMMDD') <![CDATA[ >= ]]> REPLACE(#searchStartDt#, '-' , '')
</isNotEmpty>
<isNotEmpty prepend="AND" property="searchEndDt">
TO_CHAR(RS.FRST_REGIST_PNTTM,'YYYYMMDD')<![CDATA[ <= ]]> REPLACE(#searchEndDt#, '-' , '')
</isNotEmpty>
</select>
<select id="adjstIncidentDAO.selectAdjstIncidentDashList" parameterClass="AdjstIncidentVO" resultClass="AdjstIncidentVO">
SELECT
RS.ADR_SEQ AS adrSeq
,RS.ADR_NO AS adrNo
,RS.STAT_CD AS statCd
,RS.REQ_OL_CD AS reqOlCd
,RS.REQ_CN1 AS reqCn1
,RS.REQ_CN2 AS reqCn2
,RS.REQ_TY AS reqTy
,RS.CC_TY AS ccTy
,RS.SBMT_YN AS sbmtYn
,TO_CHAR(RS.SBMT_DE,'YYYY-MM-DD') AS sbmtDe
,RS.ADR_COST AS adrCost
,RS.ADR_PAY_YN AS adrPayYn
,RS.APPR_SEQ AS apprSeq
,RS.APPR_DE AS apprDe
,RS.ATCH_FILE_ID AS atchFileId
,RS.RES_PON_DENT_NM AS resPonDentNm
,RS.DEPU_TY_NMS AS depuTyNms
,RS.APPLI_CANT_NM AS appliCantNm
,RS.FRST_REGIST_PNTTM AS frstRegistPnttm
,RS.FRST_REGISTER_ID AS frstRegisterId
,TO_CHAR(RS.LAST_UPDT_PNTTM,'YYYY-MM-DD') AS lastUpdtPnttm
,RS.LAST_UPDUSR_ID AS lastUpdusrId
,V1.EDT_STATUS AS edtStatus
,V1.EDT_TY AS edtTy
,V1.EDT_SN AS edtSn
,V1.REQ_DETAIL AS reqDetail
,V1.REJT_RESON AS rejtReson
,V1.APPR_YN AS apprYn
,DTL.ADR_SN AS adrSn
,DTL.ADR_ADM_ID AS adrAdmId
,DTL.MEM_DEPT_SEQ AS memDeptSeq
,DTL.ASS_SEQ AS assSeq
,DTL.APP_YN AS appYn
,DEPT.MEM_DEPT_NM AS memDeptNm
,USR.USER_NM AS adrAdmNm
FROM (
<include refid="adjstIncidentDAO.selectDash1"/>
) RS LEFT OUTER JOIN ADR_MGR_DEATAIL_MAX DTL ON RS.ADR_SEQ = DTL.ADR_SEQ
LEFT OUTER JOIN ADR_EDT_REQ_MAX_V V1 ON RS.ADR_SEQ = V1.ADR_SEQ
LEFT OUTER JOIN ADR_MEM_DEPT_MGR DEPT ON DTL.MEM_DEPT_SEQ = DEPT.MEM_DEPT_SEQ AND DEPT.USE_YN = 'Y'
LEFT OUTER JOIN COMVNUSERMASTER USR ON DTL.ADR_ADM_ID = USR.ESNTL_ID
WHERE 1=1
<isNotEmpty property="searchKeyword">
<isEqual prepend="AND" property="searchCondition" compareValue="1">
RS.ADR_SEQ LIKE CONCAT('%' , #searchKeyword#, '%')
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="2">
TO_CHAR(RS.SBMT_DE,'YYYY-MM-DD') = #searchKeyword#
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="5">
RS.REQ_CN1 LIKE CONCAT('%' , #searchKeyword#, '%')
</isEqual>
</isNotEmpty>
<isNotEmpty property="searchEncKeyword">
<isEqual prepend="AND" property="searchCondition" compareValue="3">
EXISTS (SELECT '1' FROM ADR_RPPL WHERE ADR_SEQ = RS.ADR_SEQ AND RPPL_NM = #searchEncKeyword# AND RPPL_TY = '10')
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="4">
EXISTS (SELECT '1' FROM ADR_RPPL WHERE ADR_SEQ = RS.ADR_SEQ AND RPPL_NM = #searchEncKeyword# AND RPPL_TY = '20')
</isEqual>
</isNotEmpty>
<isEqual prepend="AND" property="searchCondition" compareValue="6">
RS.STAT_CD LIKE CONCAT('%' , #searchSelStatus#, '%')
</isEqual>
<isNotEmpty property="searchStatus">
<isEqual property="searchStatus" compareValue="A">
<!-- 신청 상태 구역 -->
AND RS.STAT_CD BETWEEN '101000' AND '104050'
AND RS.STAT_CD NOT IN ('101050')
</isEqual>
<isEqual property="searchStatus" compareValue="B">
<!-- 진행 상태 구역 -->
AND (RS.STAT_CD BETWEEN '201010' AND '309050' OR RS.STAT_CD IN ('101050'))
</isEqual>
<isEqual property="searchStatus" compareValue="C">
<!-- 종결 상태 구역 -->
AND RS.STAT_CD IN ('309050','310050','311050')
</isEqual>
</isNotEmpty>
<isNotEmpty prepend="AND" property="searchStartDt">
TO_CHAR(RS.FRST_REGIST_PNTTM,'YYYYMMDD') <![CDATA[ >= ]]> REPLACE(#searchStartDt#, '-' , '')
</isNotEmpty>
<isNotEmpty prepend="AND" property="searchEndDt">
TO_CHAR(RS.FRST_REGIST_PNTTM,'YYYYMMDD')<![CDATA[ <= ]]> REPLACE(#searchEndDt#, '-' , '')
</isNotEmpty>
ORDER BY 1=1
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<select id="adjstIncidentDAO.selectAdjstIncidentDashSummary" parameterClass="AdjstIncidentVO" resultClass="egovMap">
SELECT aa.frstRegisterId
, SUM(IF (aa.statCd BETWEEN '101010' AND '199999' AND NOT aa.statCd = '101050' AND NOT aa.statCd = '104010', 1, 0)) step1
, SUM(IF (aa.statCd = '104010', 1, 0)) step2
, SUM(IF (aa.statCd BETWEEN '200000' AND '399999' OR aa.statCd = '101050' , 1, 0)) step3
, SUM(IF (aa.statCd = '400000', 1, 0)) step4
FROM (
SELECT
RS.ADR_SEQ AS adrSeq
,RS.ADR_NO AS adrNo
,RS.STAT_CD AS statCd
,RS.REQ_OL_CD AS reqOlCd
,RS.REQ_CN1 AS reqCn1
,RS.REQ_CN2 AS reqCn2
,RS.REQ_TY AS reqTy
,RS.CC_TY AS ccTy
,RS.SBMT_YN AS sbmtYn
,TO_CHAR(RS.SBMT_DE,'YYYY-MM-DD') AS sbmtDe
,RS.ADR_COST AS adrCost
,RS.ADR_PAY_YN AS adrPayYn
,RS.APPR_SEQ AS apprSeq
,RS.APPR_DE AS apprDe
,RS.ATCH_FILE_ID AS atchFileId
,RS.RES_PON_DENT_NM AS resPonDentNm
,RS.DEPU_TY_NMS AS depuTyNms
,RS.APPLI_CANT_NM AS appliCantNm
,RS.FRST_REGIST_PNTTM AS frstRegistPnttm
,RS.FRST_REGISTER_ID AS frstRegisterId
,TO_CHAR(RS.LAST_UPDT_PNTTM,'YYYY-MM-DD') AS lastUpdtPnttm
,RS.LAST_UPDUSR_ID AS lastUpdusrId
,V1.EDT_STATUS AS edtStatus
,V1.EDT_TY AS edtTy
,V1.EDT_SN AS edtSn
,V1.REQ_DETAIL AS reqDetail
,V1.REJT_RESON AS rejtReson
,V1.APPR_YN AS apprYn
,DTL.ADR_SN AS adrSn
,DTL.ADR_ADM_ID AS adrAdmId
,DTL.MEM_DEPT_SEQ AS memDeptSeq
,DTL.ASS_SEQ AS assSeq
,DTL.APP_YN AS appYn
,DEPT.MEM_DEPT_NM AS memDeptNm
,USR.USER_NM AS adrAdmNm
FROM (
<include refid="adjstIncidentDAO.selectDash1"/>
) RS LEFT OUTER JOIN ADR_MGR_DEATAIL_MAX DTL ON RS.ADR_SEQ = DTL.ADR_SEQ
LEFT OUTER JOIN ADR_EDT_REQ_MAX_V V1 ON RS.ADR_SEQ = V1.ADR_SEQ
LEFT OUTER JOIN ADR_MEM_DEPT_MGR DEPT ON DTL.MEM_DEPT_SEQ = DEPT.MEM_DEPT_SEQ AND DEPT.USE_YN = 'Y'
LEFT OUTER JOIN COMVNUSERMASTER USR ON DTL.ADR_ADM_ID = USR.ESNTL_ID
WHERE 1=1
<isNotEmpty property="searchKeyword">
<isEqual prepend="AND" property="searchCondition" compareValue="1">
RS.ADR_SEQ LIKE CONCAT('%' , #searchKeyword#, '%')
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="2">
TO_CHAR(RS.SBMT_DE,'YYYY-MM-DD') = #searchKeyword#
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="5">
RS.REQ_CN1 LIKE CONCAT('%' , #searchKeyword#, '%')
</isEqual>
</isNotEmpty>
<isNotEmpty property="searchEncKeyword">
<isEqual prepend="AND" property="searchCondition" compareValue="3">
EXISTS (SELECT '1' FROM ADR_RPPL WHERE ADR_SEQ = RS.ADR_SEQ AND RPPL_NM = #searchEncKeyword# AND RPPL_TY = '10')
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="4">
EXISTS (SELECT '1' FROM ADR_RPPL WHERE ADR_SEQ = RS.ADR_SEQ AND RPPL_NM = #searchEncKeyword# AND RPPL_TY = '20')
</isEqual>
</isNotEmpty>
<isEqual prepend="AND" property="searchCondition" compareValue="6">
RS.STAT_CD LIKE CONCAT('%' , #searchSelStatus#, '%')
</isEqual>
<isNotEmpty property="searchStatus">
<isEqual property="searchStatus" compareValue="A">
<!-- 신청 상태 구역 -->
AND RS.STAT_CD BETWEEN '101000' AND '104050'
AND RS.STAT_CD NOT IN ('101050')
</isEqual>
<isEqual property="searchStatus" compareValue="B">
<!-- 진행 상태 구역 -->
AND (RS.STAT_CD BETWEEN '201010' AND '309050' OR RS.STAT_CD IN ('101050'))
</isEqual>
<isEqual property="searchStatus" compareValue="C">
<!-- 종결 상태 구역 -->
AND RS.STAT_CD IN ('309050','310050','311050')
</isEqual>
</isNotEmpty>
<isNotEmpty prepend="AND" property="searchStartDt">
TO_CHAR(RS.FRST_REGIST_PNTTM,'YYYYMMDD') <![CDATA[ >= ]]> REPLACE(#searchStartDt#, '-' , '')
</isNotEmpty>
<isNotEmpty prepend="AND" property="searchEndDt">
TO_CHAR(RS.FRST_REGIST_PNTTM,'YYYYMMDD')<![CDATA[ <= ]]> REPLACE(#searchEndDt#, '-' , '')
</isNotEmpty>
)aa
GROUP BY aa.frstRegisterId
</select>
</sqlMap>

View File

@ -0,0 +1,110 @@
<?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="Ans">
<typeAlias alias="AnsVO" type="kcc.kccadr.accdnt.ans.service.AnsVO"/>
<select id="ansDAO.selectAnsSubmit" resultClass="AnsVO">
SELECT M.ADR_SEQ AS adrSeq /* Cmm.selectPgrCmm 조정일련번호 */
, D.ADR_SN AS adrSn /* 조정회차 */
, M.ADR_NO AS adrNo /* 신청번호 */
, M.STAT_CD AS statCd /* 신청상태 */
, SCD.CODE_NM AS statCdTx /* 신청상태_TX */
, CCD.CODE_NM AS ccTyTx /* 저작물 유형_Tx */
, D.MEM_DEPT_SEQ AS memDeptSeq /* 담당자 */
, DM.MEM_DEPT_NM AS memDeptNm /* 담당자명 */
, AP.RPPL_NM AS appliCantNm /* 신청인 */
, AP.RPPL_SEQ AS appliCantSeq /* 신청인Seq */
, ( SELECT GROUP_CONCAT ( RPPL_NM SEPARATOR ', ' )
FROM ADR_RPPL S1
WHERE S1.ADR_SEQ = M.ADR_SEQ
AND S1.RPPL_TY = '20'
GROUP BY S1.ADR_SEQ
ORDER BY S1.FRST_REGIST_PNTTM ) AS resPonDentNm /* 피신청인 */
, ( SELECT GROUP_CONCAT ( RPPL_SEQ SEPARATOR ', ' )
FROM ADR_RPPL S1
WHERE S1.ADR_SEQ = M.ADR_SEQ
AND S1.RPPL_TY = '20'
GROUP BY S1.ADR_SEQ
ORDER BY S1.FRST_REGIST_PNTTM ) AS resPonDentSeq /* 피신청인Seq */
FROM ADR_MGR_MASTER M
LEFT JOIN
( SELECT ADR_SEQ
, MAX ( ADR_SN ) AS ADR_SN
FROM ADR_MGR_DETAIL
GROUP BY ADR_SEQ ) Z ON M.ADR_SEQ = Z.ADR_SEQ
LEFT JOIN ADR_MGR_DETAIL D ON M.ADR_SEQ = D.ADR_SEQ AND D.ADR_SN = Z.ADR_SN
LEFT JOIN LETTCCMMNDETAILCODE SCD ON SCD.CODE_ID = 'CC013' AND SCD.CODE = M.STAT_CD
LEFT JOIN LETTCCMMNDETAILCODE CCD ON CCD.CODE_ID = 'CC002' AND CCD.CODE = TRIM ( M.CC_TY )
LEFT JOIN ADR_MEM_DEPT_MGR DM ON DM.MEM_DEPT_SEQ = D.MEM_DEPT_SEQ
LEFT JOIN ADR_RPPL AP ON AP.ADR_SEQ = M.ADR_SEQ AND AP.RPPL_TY = '10'
WHERE M.ADR_SEQ = #adrSeq#
<isNotEmpty property="adrSn">
AND D.ADR_SN = #adrSn#
</isNotEmpty>
</select>
<insert id="ansDAO.ansSubmitAjax_setp1" parameterClass="AnsVO">
INSERT INTO ADR_RPPL_DOC
(
ADR_SEQ
, ADR_SN
, RPPL_DOC_SEQ
, RPPL_SEQ
, ADR_DOC_TY
, ADR_DOC_CN1
, ADR_DOC_CN2
, SBMT_YN
, SBMT_DE
, USR_CI
, ATCH_FILE_ID
, FRST_REGIST_PNTTM
, FRST_REGISTER_ID
, LAST_UPDT_PNTTM
, LAST_UPDUSR_ID
)
VALUES
(
#adrSeq#
, #adrSn#
, #rpplDocSeq#
, #rpplSeq#
, #adrDocTy#
, #adrDocCn1#
, #adrDocCn2#
, 'Y'
, SYS_DATETIME
, #usrCi#
, #atchFileId#
, SYS_DATETIME
, #frstRegisterId#
, SYS_DATETIME
, #lastUpdusrId#
)
</insert>
<insert id="ansDAO.ansSubmitAjax_setp2" parameterClass="AnsVO">
INSERT INTO ADR_RPPL_DOC_OPEN (
ADR_SEQ
, ADR_SN
, RPPL_DOC_SEQ
, RPPL_SEQ
, OPEN_YN
, FRST_REGIST_PNTTM
, FRST_REGISTER_ID
, LAST_UPDT_PNTTM
, LAST_UPDUSR_ID
) VALUES (
#adrSeq#
, #adrSn#
, #rpplDocSeq#
, #rpplSeq#
, #openYn#
, SYS_DATETIME
, #frstRegisterId#
, SYS_DATETIME
, #lastUpdusrId#
)
</insert>
</sqlMap>

View File

@ -0,0 +1,219 @@
<?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="AdjstPayMent">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="AdjstPayMentVO" type="kcc.kccadr.accdnt.apm.service.AdjstPayMentVO"/>
<select id="adjstPayMentDAO.selectAdjstPayMentCount" parameterClass="AdjstPayMentVO" resultClass="int">
SELECT
COUNT(1) AS TOT
FROM (
SELECT
T1.ADR_SEQ
,T1.ADR_NO
,TO_CHAR(T1.SBMT_DE,'YYYY-MM-DD') SBMT_DE
,(SELECT RPPL_NM FROM ADR_RPPL WHERE ADR_SEQ = T1.ADR_SEQ AND RPPL_TY = '10') AS RPPL_NM
,(
SELECT
CASE
WHEN COUNT(*) <![CDATA[ <= ]]> 1 THEN GROUP_CONCAT(RPPL_NM SEPARATOR ',')
ELSE RPPL_NM || '외' || (COUNT(*)-1) || '명'
END RPPL_NMS
FROM ADR_RPPL S1
WHERE 1=1
AND S1.ADR_SEQ = T1.ADR_SEQ
AND S1.RPPL_TY = '20'
GROUP BY S1.ADR_SEQ
ORDER BY S1.FRST_REGIST_PNTTM
) AS RES_PON_DENT_NM
,T1.ADR_PAY_YN
,T1.REQ_CN1
,T2.APPR_TY
,T2.ADR_COST
,T1.ADR_COST_BATCH_YN
,T3.MLT_APPR_SEQ
,T2.APPR_DT
FROM ADR_MGR_MASTER T1 INNER JOIN (
SELECT
ADR_SEQ ,
MAX(APPR_TY) AS APPR_TY,
SUM(ADR_COST) AS ADR_COST,
MAX(FRST_REGIST_PNTTM) AS APPR_DT
FROM ADR_APPR_MGR
GROUP BY ADR_SEQ
) T2
ON T1.ADR_SEQ = T2.ADR_SEQ
LEFT OUTER JOIN ADR_MLT_APPR_MGR T3
ON T1.ADR_SEQ = T3.ADR_SEQ
WHERE 1=1
AND T1.FRST_REGISTER_ID = #frstRegisterId#
<isNotEmpty prepend="AND" property="adrSeq">
T1.ADR_SEQ = #adrSeq#
</isNotEmpty>
) RS
WHERE 1=1
<isNotEmpty property="searchKeyword">
<isEqual prepend="AND" property="searchCondition" compareValue="1">
RS.ADR_NO = #searchKeyword#
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="2">
EXISTS (SELECT '1' FROM ADR_RPPL WHERE ADR_SEQ = RS.ADR_SEQ AND RPPL_NM = #searchKeyword# AND RPPL_TY = '10')
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="3">
EXISTS (SELECT '1' FROM ADR_RPPL WHERE ADR_SEQ = RS.ADR_SEQ AND RPPL_NM = #searchKeyword# AND RPPL_TY = '20')
</isEqual>
</isNotEmpty>
<isNotEmpty property="searchStatusArr">
<iterate open="(" close=")" conjunction="," property="searchStatusArr" prepend="AND RS.ADR_PAY_YN IN " > #searchStatusArr[]#</iterate>
</isNotEmpty>
<isNotEmpty property="searchStartDt">
<isNotEmpty property="searchStartDt">
AND TO_CHAR(RS.APPR_DT, 'YYYY-MM-DD') BETWEEN #searchStartDt# AND #searchEndDt#
</isNotEmpty>
</isNotEmpty>
</select>
<select id="adjstPayMentDAO.selectAdjstPayMentList" parameterClass="AdjstPayMentVO" resultClass="AdjstPayMentVO">
SELECT
RS.ADR_SEQ AS adrSeq
,RS.ADR_NO AS adrNo
,RS.SBMT_DE AS sbmtDe
,RS.RES_PON_DENT_NM AS resPonDentNm
,RS.APPR_TY AS apprTy
,RS.ADR_COST AS adrCost
,RS.ADR_PAY_YN AS adrPayYn
,RS.RPPL_NM AS rpplNm
,RS.REQ_CN1 AS reqCn1
,RS.ADR_COST_BATCH_YN AS adrCostBatchYn
,RS.MLT_APPR_SEQ AS mltApprSeq
,TO_CHAR(RS.APPR_DT, 'YYYY-MM-DD') AS apprDt
FROM (
SELECT
T1.ADR_SEQ
,T1.ADR_NO
,TO_CHAR(T1.SBMT_DE,'YYYY-MM-DD') SBMT_DE
,(SELECT RPPL_NM FROM ADR_RPPL WHERE ADR_SEQ = T1.ADR_SEQ AND RPPL_TY = '10') AS RPPL_NM
,(
SELECT
CASE
WHEN COUNT(*) <![CDATA[ <= ]]> 1 THEN GROUP_CONCAT(RPPL_NM SEPARATOR ',')
ELSE RPPL_NM || '외' || (COUNT(*)-1) || '명'
END RPPL_NMS
FROM ADR_RPPL S1
WHERE 1=1
AND S1.ADR_SEQ = T1.ADR_SEQ
AND S1.RPPL_TY = '20'
GROUP BY S1.ADR_SEQ
ORDER BY S1.FRST_REGIST_PNTTM
) AS RES_PON_DENT_NM
,T1.ADR_PAY_YN
,T1.REQ_CN1
,T2.APPR_TY
,T2.ADR_COST
,T1.ADR_COST_BATCH_YN
,T3.MLT_APPR_SEQ
,T2.APPR_DT
FROM ADR_MGR_MASTER T1 INNER JOIN (
SELECT
ADR_SEQ ,
MAX(APPR_TY) AS APPR_TY,
SUM(ADR_COST) AS ADR_COST,
MAX(FRST_REGIST_PNTTM) AS APPR_DT
FROM ADR_APPR_MGR
GROUP BY ADR_SEQ
) T2
ON T1.ADR_SEQ = T2.ADR_SEQ
LEFT OUTER JOIN ADR_MLT_APPR_MGR T3
ON T1.ADR_SEQ = T3.ADR_SEQ
WHERE 1=1
AND T1.FRST_REGISTER_ID = #frstRegisterId#
<isNotEmpty prepend="AND" property="adrSeq">
T1.ADR_SEQ = #adrSeq#
</isNotEmpty>
) RS
WHERE 1=1
<isNotEmpty property="searchKeyword">
<isEqual prepend="AND" property="searchCondition" compareValue="1">
RS.ADR_NO = #searchKeyword#
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="2">
EXISTS (SELECT '1' FROM ADR_RPPL WHERE ADR_SEQ = RS.ADR_SEQ AND RPPL_NM = #searchKeyword# AND RPPL_TY = '10')
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="3">
EXISTS (SELECT '1' FROM ADR_RPPL WHERE ADR_SEQ = RS.ADR_SEQ AND RPPL_NM = #searchKeyword# AND RPPL_TY = '20')
</isEqual>
</isNotEmpty>
<isNotEmpty property="searchStatusArr">
<iterate open="(" close=")" conjunction="," property="searchStatusArr" prepend="AND RS.ADR_PAY_YN IN " > #searchStatusArr[]#</iterate>
</isNotEmpty>
<isNotEmpty property="searchStartDt">
<isNotEmpty property="searchStartDt">
AND TO_CHAR(RS.APPR_DT, 'YYYY-MM-DD') BETWEEN #searchStartDt# AND #searchEndDt#
</isNotEmpty>
</isNotEmpty>
ORDER BY 1=1
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<resultMap id="joinlist" class="AdjstPayMentVO" groupBy="adrSeq">
<result column="ADR_SEQ" property="adrSeq" />
<result column="REQ_CN1" property="reqCn1" />
<result column="CC_TY" property="ccTy" />
<result property="list" resultMap="AdjstPayMent.apyList"/>
</resultMap>
<resultMap id="apyList" class="AdjstPayMentVO">
<result column="APPR_TY" property="apprTy" />
<result column="ADR_COST" property="adrCost" />
<result column="APPR_NM" property="apprNm" />
<result column="APPR_RSON" property="apprRson" />
</resultMap>
<select id="adjstPayMentDAO.selectAdjstPayMentDetailList" parameterClass="AdjstPayMentVO" resultMap="AdjstPayMent.joinlist" remapResults="true">
SELECT
T1.ADR_SEQ,
T1.REQ_CN1,
T1.CC_TY,
T2.APPR_TY,
T2.ADR_COST,
(SELECT CODE_NM FROM LETTCCMMNDETAILCODE WHERE CODE_ID = 'ADR010' AND CODE = T2.APPR_TY) AS APPR_NM,
T2.APPR_RSON
FROM ADR_MGR_MASTER T1 INNER JOIN ADR_APPR_MGR T2
ON T1.ADR_SEQ = T2.ADR_SEQ
WHERE 1=1
<isNotEmpty prepend="AND" property="mltApprSeq">
T1.ADR_SEQ IN (
SELECT ADR_SEQ FROM ADR_MLT_APPR_MGR WHERE MLT_APPR_SEQ = #mltApprSeq#
)
</isNotEmpty>
<isEmpty prepend="AND" property="mltApprSeq">
T1.ADR_SEQ = #adrSeq#
</isEmpty>
</select>
<select id="adjstPayMentDAO.selectAdjstPayMentDetail" parameterClass="AdjstPayMentVO" resultClass="AdjstPayMentVO">
SELECT
T1.ADR_SEQ,
T1.CC_TY AS ccTy ,
(SELECT SUM(ADR_COST) FROM ADR_APPR_MGR WHERE ADR_SEQ = T1.ADR_SEQ GROUP BY ADR_SEQ) AS adrCost ,
MLT_APPR_SEQ AS mltApprSeq
FROM ADR_MGR_MASTER T1 LEFT OUTER JOIN ADR_MLT_APPR_MGR T2
ON T1.ADR_SEQ = T2.ADR_SEQ
WHERE 1=1
<isNotEmpty prepend="AND" property="mltApprSeq">
T2.MLT_APPR_SEQ = #mltApprSeq#
</isNotEmpty>
<isEmpty prepend="AND" property="mltApprSeq">
T1.ADR_SEQ = #adrSeq#
</isEmpty>
</select>
</sqlMap>

View File

@ -0,0 +1,260 @@
<?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="CorReq">
<typeAlias alias="CorReqVO" type="kcc.kccadr.accdnt.arc.service.CorReqVO"/>
<select id="corReqDAO.selectCorReqList" parameterClass="CorReqVO" resultClass="CorReqVO">
SELECT A.ADR_SEQ AS adrSeq /* 조정일련번호" */
, A.RPPL_CHG_SEQ AS rpplChgSeq /* 피신청인경정일련번호" */
, A.RPPL_SEQ AS rpplSeq /* 관리인일련번호" */
, A.RPPL_USR_TY AS rpplUsrTy /* 관리인분류" */
, A.RPPL_NM AS rpplNm /* 이름_대표자" */
, A.RPPL_BIZ_ID AS rpplBizId /* 법인등록번호" */
, A.RPPL_BIZ_NM AS rpplBizNm /* 법인_사업체명" */
, A.RPPL_BIZ_NO AS rpplBizNo /* 개인사업자번호" */
, A.RPPL_POST AS rpplPost /* 우편번호" */
, A.RPPL_ADDR AS rpplAddr /* 주소" */
, A.RPPL_ADDR_DTL AS rpplAddrDtl /* 상세주소" */
, A.RPPL_PHONE AS rpplPhone /* 연락처" */
, A.RPPL_EMAIL AS rpplEmail /* 이메일" */
, A.OLD_RPPL_NM AS oldRpplNm /* 이전_이름_대표자" */
, A.OLD_RPPL_POST AS oldRpplPost /* 이전_우편번호" */
, A.OLD_RPPL_ADDR AS oldRpplAddr /* 이전_주소" */
, A.OLD_RPPL_ADDR_DTL AS oldRpplAddrDtl /* 이전_상세주소" */
, A.OLD_RPPL_PHONE AS oldRpplPhone /* 이전_연락처" */
, A.OLD_RPPL_EMAIL AS oldRpplEmail /* 이전_이메일" */
, A.FRST_REGIST_PNTTM AS frstRegistPnttm /* 등록일시" */
, A.FRST_REGISTER_ID AS frstRegisterId /* 등록자" */
, C.RPPL_CHG_CN1 AS rpplChgCn1 /* 경정취지" */
, C.RPPL_CHG_CN2 AS rpplChgCn2 /* 경정사유" */
, C.SBMT_YN AS sbmtYn /* 제출여부" */
, C.SBMT_DE AS sbmtDe /* 제출일시" */
, C.APPR_YN AS apprYn /* 결재여부" */
, C.APPR_DE AS apprDe /* 결재일시" */
, C.APPR_CN AS apprCn /* 결재내용" */
, C.ATCH_FILE_ID AS atchFileId /* 첨부파일ID" */
, TO_CHAR(A.FRST_REGIST_PNTTM, 'YYYY-MM-DD') AS frstRegistPnttmDay /* 등록일 */
, DECODE(C.APPR_YN, 'Y', '승인', DECODE(C.SBMT_YN, 'Y','신청완료','작성중')) AS statusTx /* 상태 */
FROM ADR_RPPL_CHG_DETAIL A
LEFT JOIN ADR_RPPL_CHG C ON A.ADR_SEQ = C.ADR_SEQ AND A.RPPL_CHG_SEQ = C.RPPL_CHG_SEQ
WHERE A.ADR_SEQ = #adrSeq#
<isNotEmpty property="rpplChgSeq">
AND A.RPPL_CHG_SEQ = #rpplChgSeq#
</isNotEmpty>
ORDER BY A.ADR_SEQ, A.RPPL_CHG_SEQ
</select>
<select id="corReqDAO.selectRpplList" parameterClass="CorReqVO" resultClass="CorReqVO">
SELECT A.ADR_SEQ AS adrSeq /* 조정일련번호" */
, A.RPPL_SEQ AS rpplSeq /* 관리인일련번호" */
, A.RPPL_USR_TY AS rpplUsrTy /* 관리인분류" */
, A.RPPL_NM AS rpplNm /* 이름_대표자" */
, A.RPPL_POST AS rpplPost /* 우편번호" */
, A.RPPL_ADDR AS rpplAddr /* 주소" */
, A.RPPL_ADDR_DTL AS rpplAddrDtl /* 상세주소" */
, A.RPPL_PHONE AS rpplPhone /* 연락처" */
, A.RPPL_EMAIL AS rpplEmail /* 이메일" */
FROM ADR_RPPL A
WHERE A.ADR_SEQ = #adrSeq#
AND A.RPPL_TY = '20' <!-- 피신청인만 추출 -->
<isNotEmpty property="selectRpplSeq">
AND A.RPPL_SEQ = #selectRpplSeq#
</isNotEmpty>
ORDER BY A.ADR_SEQ, A.RPPL_SEQ
</select>
<select id="corReqDAO.selectMemMgrList" resultClass="kcc.kccadr.adjPgrMgr.cclt.service.ConciliatorManageVO">
SELECT DISTINCT M.MEM_SEQ AS memSeq
, M.MEM_NAME AS memName
, M.MEM_ID AS memId
, M.MEM_CELNUM AS memCelnum
, M.MEM_EMAIL AS memEmail
FROM ADR_MEM_MGR M
INNER JOIN ADR_MEM_DEPT_MAP B ON M.MEM_SEQ = B.MEM_SEQ
WHERE B.MEM_GRADE ='02'
AND B.MEM_DEPT_SEQ = #memDeptSeq#
</select>
<insert id="corReqDAO.corReqCreateAjax_step1" parameterClass="CorReqVO">
INSERT INTO ADR_RPPL_CHG
(
ADR_SEQ
, RPPL_CHG_SEQ
, RPPL_SEQ
, RPPL_CHG_CN1
, RPPL_CHG_CN2
, SBMT_YN
, FRST_REGIST_PNTTM
, FRST_REGISTER_ID
, LAST_UPDT_PNTTM
, LAST_UPDUSR_ID
)
VALUES
(
#adrSeq#
, #rpplChgSeq#
, #rpplSeq#
, #rpplChgCn1#
, #rpplChgCn2#
, 'N'
, SYS_DATETIME
, #frstRegisterId#
, SYS_DATETIME
, #lastUpdusrId#
)
</insert>
<insert id="corReqDAO.insertAvoidMem" parameterClass="CorReqVO">
MERGE INTO ADR_AVOID_CMT_MGR T1 USING DB_ROOT
ON (T1.ADR_SEQ = #adrSeq# AND T1.ADR_SN = #adrSn# )
WHEN MATCHED THEN
UPDATE SET
T1.MEM_SEQ = #memSeq#,
T1.REGIST_PNTTM = SYS_DATETIME,
T1.REGISTER_ID = #registerId#
WHEN NOT MATCHED THEN
INSERT
(
T1.ADR_SEQ
, T1.ADR_SN
, T1.ADR_AVOID_SEQ
, T1.MEM_SEQ
, T1.REQ_CN
, T1.REGIST_PNTTM
, T1.REGISTER_ID
) VALUES (
#adrSeq#
, #adrSn#
, (SELECT IFNULL(MAX(ADR_AVOID_SEQ),0)+1 FROM ADR_AVOID_CMT_MGR WHERE ADR_SEQ= #adrSeq# AND ADR_SN=#adrSn#)
, #memSeq#
, #reqCn#
, SYS_DATETIME
, #registerId#
)
</insert>
<insert id="corReqDAO.corReqCreateAjax_step2" parameterClass="CorReqVO">
INSERT INTO ADR_RPPL_CHG_DETAIL
(
ADR_SEQ
, RPPL_CHG_SEQ
, RPPL_SEQ
, RPPL_USR_TY
, RPPL_NM
, RPPL_BIZ_ID
, RPPL_BIZ_NM
, RPPL_BIZ_NO
, RPPL_POST
, RPPL_ADDR
, RPPL_ADDR_DTL
, RPPL_PHONE
, RPPL_EMAIL
, OLD_RPPL_SEQ
, OLD_RPPL_NM
, OLD_RPPL_BIZ_ID
, OLD_RPPL_BIZ_NM
, OLD_RPPL_BIZ_NO
, OLD_RPPL_POST
, OLD_RPPL_ADDR
, OLD_RPPL_ADDR_DTL
, OLD_RPPL_PHONE
, OLD_RPPL_EMAIL
, FRST_REGIST_PNTTM
, FRST_REGISTER_ID
, LAST_UPDT_PNTTM
, LAST_UPDUSR_ID
)
SELECT #adrSeq#
, #rpplChgSeq#
, #rpplSeq#
, #rpplUsrTy#
, #rpplNm#
, #rpplBizId#
, #rpplBizNm#
, #rpplBizNo#
, #rpplPost#
, #rpplAddr#
, #rpplAddrDtl#
, #rpplPhone#
, #rpplEmail#
, #rpplSeq#
, RPPL_NM
, RPPL_BIZ_ID
, RPPL_BIZ_NM
, RPPL_BIZ_NO
, RPPL_POST
, RPPL_ADDR
, RPPL_ADDR_DTL
, RPPL_PHONE
, RPPL_EMAIL
, SYS_DATETIME
, #frstRegisterId#
, SYS_DATETIME
, #lastUpdusrId#
FROM ADR_RPPL
WHERE ADR_SEQ = #adrSeq#
AND RPPL_SEQ = #rpplSeq#
</insert>
<delete id="corReqDAO.corReqDelAjax_step1" parameterClass="CorReqVO">
DELETE FROM ADR_RPPL_CHG
WHERE ADR_SEQ = #adrSeq#
AND RPPL_CHG_SEQ = #rpplChgSeq#
</delete>
<delete id="corReqDAO.corReqDelAjax_step2" parameterClass="CorReqVO">
DELETE FROM ADR_RPPL_CHG_DETAIL
WHERE ADR_SEQ = #adrSeq#
AND RPPL_CHG_SEQ = #rpplChgSeq#
</delete>
<delete id="corReqDAO.corReqAppAjax_step1" parameterClass="CorReqVO">
UPDATE ADR_RPPL_CHG SET
SBMT_YN = 'Y'
, APPR_YN = #apprYn#
, SBMT_DE = SYS_DATETIME
, LAST_UPDT_PNTTM = SYS_DATETIME
, LAST_UPDUSR_ID = #lastUpdusrId#
WHERE ADR_SEQ = #adrSeq#
AND RPPL_CHG_SEQ = #rpplChgSeq#
</delete>
<update id="corReqDAO.corReqUpdAjax_step1" parameterClass="CorReqVO">
UPDATE ADR_RPPL_CHG SET
RPPL_CHG_CN1 = #rpplChgCn1#
, RPPL_CHG_CN2 = #rpplChgCn2#
, LAST_UPDT_PNTTM = SYS_DATETIME
, LAST_UPDUSR_ID = #lastUpdusrId#
WHERE ADR_SEQ = #adrSeq#
AND RPPL_CHG_SEQ = #rpplChgSeq#
</update>
<update id="corReqDAO.corReqUpdAjax_step2" parameterClass="CorReqVO">
UPDATE ADR_RPPL_CHG_DETAIL SET
RPPL_USR_TY = #rpplUsrTy#
, RPPL_NM = #rpplNm#
, RPPL_BIZ_ID = #rpplBizId#
, RPPL_BIZ_NM = #rpplBizNm#
, RPPL_BIZ_NO = #rpplBizNo#
, RPPL_POST = #rpplPost#
, RPPL_ADDR = #rpplAddr#
, RPPL_ADDR_DTL = #rpplAddrDtl#
, RPPL_PHONE = #rpplPhone#
, RPPL_EMAIL = #rpplEmail#
, LAST_UPDT_PNTTM = SYS_DATETIME
, LAST_UPDUSR_ID = #lastUpdusrId#
WHERE ADR_SEQ = #adrSeq#
AND RPPL_CHG_SEQ = #rpplChgSeq#
</update>
</sqlMap>

View File

@ -0,0 +1,340 @@
<?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="AdjustSchStatus">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="AdjstReqStatusVO" type="kcc.kccadr.accdnt.ars.service.AdjstReqStatusVO"/>
<select id="adjstReqStatusDAO.selectAdjstReqStatusCount" parameterClass="AdjstReqStatusVO" resultClass="int">
SELECT
COUNT(*) totcnt
FROM ADR_MGR_MASTER T1 INNER JOIN ADR_MGR_DEATAIL_MAX DTL ON T1.ADR_sEQ = DTL.ADR_SEQ
LEFT OUTER JOIN ADR_EDT_REQ_MAX_V V1 ON T1.ADR_SEQ = V1.ADR_SEQ
WHERE 1=1
AND T1.FRST_REGISTER_ID = #frstRegisterId#
AND T1.STAT_CD NOT IN ('010100' , '101000') <!-- 작성중, 제출상태 제외-->
AND T1.USE_YN <![CDATA[ <> ]]> 'N'
<isNotEmpty property="searchKeyword">
<isEqual prepend="AND" property="searchCondition" compareValue="">
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="1">
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="2">
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="3">
</isEqual>
</isNotEmpty>
</select>
<select id="adjstReqStatusDAO.selectAdjstReqStatusList" parameterClass="AdjstReqStatusVO" resultClass="AdjstReqStatusVO">
SELECT
RS.ADR_SEQ AS adrSeq
,RS.ADR_NO AS adrNo
,RS.STAT_CD AS statCd
,RS.REQ_OL_CD AS reqOlCd
,RS.REQ_CN1 AS reqCn1
,RS.REQ_CN2 AS reqCn2
,RS.REQ_TY AS reqTy
,RS.CC_TY AS ccTy
,RS.SBMT_YN AS sbmtYn
,TO_CHAR(RS.SBMT_DE,'YYYY-MM-DD') AS sbmtDe
,RS.ADR_COST AS adrCost
,RS.ADR_PAY_YN AS adrPayYn
,RS.APPR_SEQ AS apprSeq
,RS.APPR_DE AS apprDe
,RS.ATCH_FILE_ID AS atchFileId
,RS.RES_PON_DENT_NM AS resPonDentNm
,RS.DEPU_TY_NM AS depuTyNm
,RS.APPLI_CANT_NM AS appliCantNm
,RS.FRST_REGIST_PNTTM AS frstRegistPnttm
,RS.FRST_REGISTER_ID AS frstRegisterId
,RS.LAST_UPDT_PNTTM AS lastUpdtPnttm
,RS.LAST_UPDUSR_ID AS lastUpdusrId
,V1.EDT_STATUS AS edtStatus
,DTL.ADR_SN AS adrSn
,DTL.ADR_ADM_ID AS adrAdmId
,DTL.MEM_DEPT_SEQ AS memDeptSeq
,DTL.ASS_SEQ AS assSeq
,DTL.APP_YN AS appYn
FROM (
SELECT
ADR_SEQ
,ADR_NO
,STAT_CD
,REQ_OL_CD
,REQ_CN1
,REQ_CN2
,REQ_TY
,CC_TY
,SBMT_YN
,SBMT_DE
,ADR_COST
,ADR_PAY_YN
,APPR_SEQ
,APPR_DE
,ATCH_FILE_ID
,(
SELECT
CASE
WHEN COUNT(*) <![CDATA[ <= ]]> 1 THEN GROUP_CONCAT(RPPL_NM SEPARATOR ',')
ELSE RPPL_NM || '외' || (COUNT(*)-1) || '명'
END RPPL_NMS
FROM ADR_RPPL S1
WHERE 1=1
AND S1.adr_seq = T1.adr_seq
AND S1.RPPL_TY = '20'
GROUP BY S1.adr_seq
ORDER BY S1.FRST_REGIST_PNTTM
) AS RES_PON_DENT_NM
, ( SELECT RPPL_NM FROM ADR_RPPL s1 WHERE 1=1 AND S1.adr_seq = T1.adr_seq AND s1.RPPL_TY = '30') AS DEPU_TY_NM
, ( SELECT RPPL_NM FROM ADR_RPPL s1 WHERE 1=1 AND S1.adr_seq = T1.adr_seq AND s1.RPPL_TY = '10') AS APPLI_CANT_NM
,FRST_REGIST_PNTTM
,FRST_REGISTER_ID
,LAST_UPDT_PNTTM
,LAST_UPDUSR_ID
FROM ADR_MGR_MASTER T1
WHERE 1=1
AND T1.FRST_REGISTER_ID = #frstRegisterId#
AND T1.STAT_CD NOT IN ('010100' , '101000') <!-- 작성중, 제출상태 제외-->
AND T1.USE_YN <![CDATA[ <> ]]> 'N'
) RS INNER JOIN ADR_MGR_DEATAIL_MAX DTL ON RS.ADR_sEQ = DTL.ADR_SEQ
LEFT OUTER JOIN ADR_EDT_REQ_MAX_V V1 ON RS.ADR_SEQ = V1.ADR_SEQ
WHERE 1=1
<isNotEmpty property="searchKeyword">
<isEqual prepend="AND" property="searchCondition" compareValue="1">
RS.ADR_SEQ LIKE CONCAT('%' , #searchKeyword#, '%')
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="2">
TO_CHAR(RS.SBMT_DE,'YYYY-MM-DD') = #searchKeyword#
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="3">
RS.APPLI_CANT_NM LIKE CONCAT('%' , #searchKeyword#, '%')
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="4">
RS.RES_PON_DENT_NM LIKE CONCAT('%' , #searchKeyword#, '%')
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="5">
RS.REQ_CN1 LIKE CONCAT('%' , #searchKeyword#, '%')
</isEqual>
<isEqual prepend="AND" property="searchCondition" compareValue="6">
RS.STAT_CD LIKE CONCAT('%' , #searchKeyword#, '%')
</isEqual>
</isNotEmpty>
<isNotEmpty prepend="AND" property="searchStatus">
RS.STAT_CD = #searchStatus#
</isNotEmpty>
<isNotEmpty prepend="AND" property="searchStartDt">
TO_CHAR(RS.FRST_REGIST_PNTTM,'YYYYMMDD') <![CDATA[ >= ]]> REPLACE(#searchStartDt#, '-' , '')
</isNotEmpty>
<isNotEmpty prepend="AND" property="searchEndDt">
TO_CHAR(RS.FRST_REGIST_PNTTM,'YYYYMMDD')<![CDATA[ <= ]]> REPLACE(#searchEndDt#, '-' , '')
</isNotEmpty>
ORDER BY 1=1
<isNotEmpty property="searchSortCnd">
,$searchSortCnd$
</isNotEmpty>
<isNotEmpty property="searchSortOrd">
$searchSortOrd$
</isNotEmpty>
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
<select id="adjstReqStatusDAO.selectAdjstReqRpplInfo" parameterClass="AdjstReqStatusVO" resultClass="AdjstReqStatusVO">
SELECT
ADR_SEQ AS adrSeq
,RPPL_SEQ AS rpplSeq
,RPPL_TY AS rpplTy
,AGNT_YN AS agntYn
,RPPL_USR_TY AS rpplUsrTy
,ADR_OL_YN AS adrOlYn
,RPPL_ID AS rpplId
,RPPL_NM AS rpplNm
,RPPL_BIZ_ID AS rpplBizId
,RPPL_BIZ_NM AS rpplBizNm
,RPPL_BIZ_NO AS rpplBizNo
,RPPL_POST AS rpplPost
,RPPL_ADDR AS rpplAddr
,RPPL_ADDR_DTL AS rpplAddrDtl
,RPPL_ADDR_CP_YN AS rpplAddrCpYn
,RPPL_REAL_POST AS rpplRealPost
,RPPL_REAL_ADDR AS rpplRealAddr
,RPPL_REAL_ADDR_DTL AS rpplRealAddrDtl
,RPPL_PHONE AS rpplPhone
,RPPL_EMAIL AS rpplEmail
,RPPL_EMAIL_YN AS rpplEmailYn
,RPPL_SMS_YN AS rpplSmsYn
,RPPL_CLASS AS rpplClass
,RPPL_GRADE AS rpplGrade
,SBMT_YN AS sbmtYn
,SBMT_DE AS sbmtDe
,USR_CI AS usrCi
,APPR_YN AS apprYn
,APPR_DE AS apprDe
,ATCH_FILE_ID AS atchFileId
,FRST_REGIST_PNTTM AS frstRegistPnttm
,FRST_REGISTER_ID AS frstRegisterId
,LAST_UPDT_PNTTM AS lastUpdtPnttm
,LAST_UPDUSR_ID AS lastUpdusrId
FROM ADR_RPPL
WHERE 1=1
AND ADR_SEQ = #adrSeq#
</select>
<select id="adjstReqStatusDAO.selectAdjstHistoryList" parameterClass="AdjstReqStatusVO" resultClass="AdjstReqStatusVO">
SELECT *
FROM (
SELECT '1' AS adrDocCn1,
TO_CHAR(HSTRY_DE,'YYYY-MM-DD') AS hstryDe,
STAT_CD AS statCd,
HSTRY_CN AS hstryCn,
FRST_REGIST_PNTTM AS frstRegistPnttm,
'' AS hstryDetailCn
FROM ADR_HSTRY
WHERE 1 =1
AND ADR_SEQ = #adrSeq#
AND stat_cd like '%50'
AND (
stat_cd IN ( '101050')
OR stat_cd >'200000'
)
UNION ALL
SELECT 2 AS adrDocCn1,
TO_CHAR(send_de,'YYYY-MM-DD') AS sendDe,
CONCAT(c.code_nm, ' ', rppl_nm, '에게 ', b.code_nm, ' 송달') AS rpplNm,
CONCAT(TO_CHAR(rec_de,'YYYY-MM-DD'),' 도달') AS recDe,
D.FRST_REGIST_PNTTM AS frstRegistPnttm,
'' AS hstryDetailCn
FROM ADR_DLVRY D
, lettccmmndetailcode b
, lettccmmndetailcode c
WHERE 1 =1
AND D.ADR_SEQ = #adrSeq#
AND b.code_id='CC004'
AND b.code=D.dlvry_doc_ty
AND c.code_id='CC005'
AND c.code=D.rppl_ty
UNION ALL
SELECT 3 AS adrDocCn1,
TO_CHAR(a.FRST_REGIST_PNTTM,'YYYY-MM-DD') AS sendDe,
b.rppl_nm,
CONCAT(TO_CHAR(a.sbmt_de,'YYYY-MM-DD'), ' 제출') AS sendDe,
a.FRST_REGIST_PNTTM AS frstRegistPnttm,
c.code_nm
FROM adr_rppl_doc a
, adr_rppl b
, lettccmmndetailcode c
WHERE a.rppl_seq=b.rppl_seq
AND c.code_id='CC019'
AND c.code=b.rppl_ty
AND a.ADR_SEQ = #adrSeq#
)aa
ORDER BY frstRegistPnttm
</select>
<select id="adjstReqStatusDAO.selectAdjstDocsList" parameterClass="AdjstReqStatusVO" resultClass="AdjstReqStatusVO">
SELECT
T3.ADR_SEQ AS adrSeq,
T3.ADR_SN AS adrSn,
T3.RPPL_DOC_SEQ AS rpplDocSeq,
T3.RPPL_SEQ AS rpplSeq,
T3.ADR_DOC_TY AS adrDocTy,
T3.ADR_DOC_CN1 AS adrDocCn1,
T3.ADR_DOC_CN2 AS adrDocCn2,
T3.SBMT_YN AS sbmtYn,
T3.SBMT_DE AS sbmtDe,
T3.USR_CI AS usrCi,
T3.ATCH_FILE_ID AS atchFileId,
T3.FRST_REGIST_PNTTM AS frstRegistPnttm,
T3.FRST_REGISTER_ID AS frstRegisterId,
T3.LAST_UPDT_PNTTM AS lastUpdtPnttm,
T3.LAST_UPDUSR_ID AS lastUpdusrId
FROM ADR_MGR_DETAIL T2 INNER JOIN ADR_RPPL_DOC T3 ON T2.ADR_SEQ = T3.ADR_SEQ AND T2.ADR_SN = T3.ADR_SN
INNER JOIN ADR_RPPL_DOC_OPEN T4 ON T3.RPPL_SEQ = T4.RPPL_SEQ AND T3.ADR_SEQ = T4.ADR_SEQ AND T3.ADR_SN = T4.ADR_SN AND T3.RPPL_DOC_SEQ = T4.RPPL_DOC_SEQ
WHERE 1=1
AND T2.ADR_SEQ = #adrSeq#
AND T4.RPPL_SEQ = #rpplSeq#
AND T4.OPEN_YN = 'Y'
<isNotEmpty prepend="AND" property="adrSn">
T2.ADR_SN = #adrSn#
</isNotEmpty>
</select>
<select id="adjstReqStatusDAO.selectAdjstDocs20211020List" parameterClass="AdjstReqStatusVO" resultClass="AdjstReqStatusVO">
SELECT aa.frst_regist_pnttm AS frstRegistPnttm
, aa.orignl_file_nm AS adrDocTy
, aa.is_open AS adrDocCn1
, aa.atch_file_id AS atchFileId
, CONCAT(aa.file_sn,'') AS fileSn
, aa.mber_nm AS frstRegisterId
, aa.nos AS adrDocCn2
FROM (
SELECT TO_CHAR(a.frst_regist_pnttm,'YYYY-MM-DD') AS frst_regist_pnttm
, a.frst_register_id
, b.orignl_file_nm
, 'Y' is_open
, b.atch_file_id
, b.file_sn
, '신청인' mber_nm
, 1 nos
FROM adr_mgr_master a
, lettnfiledetail b
, lettngnrlmber c
WHERE a.adr_seq=#adrSeq#
AND a.atch_file_id=b.atch_file_id
AND a.frst_register_id=c.mber_id
UNION ALL
SELECT TO_CHAR(a.frst_regist_pnttm,'YYYY-MM-DD') AS frst_regist_pnttm
, a.frst_register_id
, '교육신청서'
, 'Y' isOpen
, a.atch_file_id
, '-1'
, '신청인' mber_nm
, 0 nos
FROM adr_mgr_master a
, lettngnrlmber c
WHERE a.adr_seq=#adrSeq#
AND a.frst_register_id=c.mber_id
UNION ALL
SELECT
TO_CHAR(a.frst_regist_pnttm,'YYYY-MM-DD') AS frst_regist_pnttm,
c.rppl_id,
b.orignl_file_nm ,
e.open_yn,
b.atch_file_id ,
b.file_sn ,
c.rppl_nm,
2 nos
FROM adr_rppl_doc a
LEFT OUTER JOIN adr_rppl_doc_open e ON(a.adr_seq=e.adr_seq AND a.adr_sn=e.adr_sn AND a.rppl_doc_seq=e.rppl_doc_seq),
lettnfiledetail b,
adr_rppl c
WHERE a.ADR_SEQ = #adrSeq#
AND a.atch_file_id=b.atch_file_id
AND a.rppl_seq=c.rppl_seq
)aa
ORDER BY aa.nos
</select>
</sqlMap>

View File

@ -0,0 +1,110 @@
<?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="AdjustSchStatus">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="AdjustSchStatusVO" type="kcc.kccadr.accdnt.ass.service.AdjustSchStatusVO"/>
<select id="AdjustSchStatusDAO.selectSchStatusList" parameterClass="AdjustSchStatusVO" resultClass="AdjustSchStatusVO">
SELECT
t1.*
,CASE WHEN DATEDIFF(t1.end, t1.start) = 0 THEN 'true' ELSE 'false' END AS allDay
FROM (
WITH virtureTb AS (SELECT 'a' FROM lettccmmncode LIMIT 20)
SELECT
'타이틀' || ROWNUM AS title
,'내용입니다.' || ROWNUM AS content
,ADDDATE(SYSDATE, ROWNUM) AS "start"
,ADDDATE(SYSDATE, (random() % 20 +1)+ROWNUM) AS "end"
,<![CDATA['##none']]> AS url
, FALSE AS allDay
FROM virtureTb
) t1
</select>
<select id="AdjustSchStatusDAO.selectWebSchList" parameterClass="AdjustSchStatusVO" resultClass="AdjustSchStatusVO">
SELECT
CONCAT('(',T3.ADR_NO,')',' ', T2.ADR_SN, '차 신청') AS title
,TO_CHAR(T2.APP_DE,'YYYY-MM-DD HH24:MI') AS "start"
,TO_CHAR(T2.APP_DE,'YYYY-MM-DD HH24:MI') AS "end"
,T2.ADR_SEQ AS adrSeq
,T3.ADR_NO AS adrNo
,T2.ADR_SN AS adrSn
,T2.APP_SEQ AS appSeq
,T1.RPPL_ID AS rpplId
,T2.ADR_ADMIN_ID AS adrAdminId
,T2.RPPL_SEQ AS rpplSeq
,T2.APP_CHG_CN AS appChgCn
,T2.APP_CHG_PHONE AS appChgPhone
,T2.APP_CHG_CELNUM AS appChgCelnum
,T2.SBMT_YN AS sbmtYn
,T2.SBMT_DE AS sbmtDe
,T2.USR_CI AS usrCi
,T2.APP_DE AS appDe
,T2.APP_PLACE AS appPlace
,T2.APP_PLACE_ADDR AS appPlaceAddr
,T2.APPR_YN AS apprYn
,T2.APPR_DE AS apprDe
,T2.APPR_CN AS apprCn
,T2.ATCH_FILE_ID AS atchFileId
,T2.FRST_REGIST_PNTTM AS frstRegistPnttm
,T2.FRST_REGISTER_ID AS frstRegisterId
,T2.LAST_UPDT_PNTTM AS lastUpdtPnttm
,T2.LAST_UPDUSR_ID AS lastUpdusrId
,T2.APP_PLACE_TY AS appPlaceTy
,T2.APP_PLACE_ADDR_TY AS appPlaceAddrTy
FROM ADR_RPPL T1 INNER JOIN ADR_APP_MGR T2 ON T1.ADR_SEQ = T2.ADR_SEQ
INNER JOIN ADR_MGR_MASTER T3 ON T1.ADR_SEQ = T3.ADR_SEQ
WHERE 1 = 1
AND T1.RPPL_ID = #rpplId#
</select>
<select id="AdjustSchStatusDAO.selectWebSchDetail" parameterClass="AdjustSchStatusVO" resultClass="AdjustSchStatusVO">
SELECT
T2.ADR_SEQ AS adrSeq
,T3.CC_TY AS ccTy
,T3.ADR_NO AS adrNo
,T2.ADR_SN AS adrSn
,T2.APP_SEQ AS appSeq
,T2.ADR_ADMIN_ID AS adrAdminId
,T2.RPPL_SEQ AS rpplSeq
,T2.APP_CHG_CN AS appChgCn
,T2.APP_CHG_PHONE AS appChgPhone
,T2.APP_CHG_CELNUM AS appChgCelnum
,T2.SBMT_YN AS sbmtYn
,T2.SBMT_DE AS sbmtDe
,T2.USR_CI AS usrCi
,T2.APP_DE AS appDe
,TO_CHAR(T2.APP_DE, 'YYYY') AS "year"
,TO_CHAR(T2.APP_DE, 'MM') AS "month"
,TO_CHAR(T2.APP_DE, 'DD') AS "day"
,TO_CHAR(T2.APP_DE, 'HH24') AS "hour"
,TO_CHAR(T2.APP_DE, 'MI') AS "minute"
,TO_CHAR(T2.APP_DE, 'DAY') AS koDay
,T2.APP_PLACE AS appPlace
,T2.APP_PLACE_ADDR AS appPlaceAddr
,T2.APPR_YN AS apprYn
,T2.APPR_DE AS apprDe
,T2.APPR_CN AS apprCn
,T2.ATCH_FILE_ID AS atchFileId
,T2.FRST_REGIST_PNTTM AS frstRegistPnttm
,T2.FRST_REGISTER_ID AS frstRegisterId
,T2.LAST_UPDT_PNTTM AS lastUpdtPnttm
,T2.LAST_UPDUSR_ID AS lastUpdusrId
,T2.APP_PLACE_TY AS appPlaceTy
,T2.APP_PLACE_ADDR_TY AS appPlaceAddrTy
,( SELECT GROUP_CONCAT(RPPL_NM) FROM ADR_RPPL s1 WHERE 1=1 AND S1.ADR_SEQ = T1.ADR_SEQ AND S1.RPPL_TY = '20' GROUP BY ADR_SEQ) AS resPonDentNms
,( SELECT RPPL_NM FROM ADR_RPPL s1 WHERE 1=1 AND S1.adr_seq = T1.ADR_SEQ AND S1.RPPL_TY = '10') AS appliCantNm
,T5.MEM_DEPT_NM AS memDeptNm
,T5.ADR_CDNT AS adrCdnt
FROM ADR_RPPL T1 INNER JOIN ADR_APP_MGR T2 ON T1.ADR_SEQ = T2.ADR_SEQ
INNER JOIN ADR_MGR_MASTER T3 ON T1.ADR_SEQ = T3.ADR_SEQ
LEFT OUTER JOIN ADR_MGR_DETAIL T4 ON T1.ADR_SEQ = T4.ADR_SEQ AND T2.ADR_SN = T4.ADR_SN
LEFT OUTER JOIN ADR_MEM_DEPT_VIEW T5 ON T4.MEM_DEPT_SEQ = T5.MEM_DEPT_SEQ
WHERE 1 = 1
AND T1.RPPL_ID = #rpplId#
AND T2.ADR_SEQ = #adrSeq#
AND T2.ADR_SN = #adrSn#
AND T2.APP_SEQ = #appSeq#
</select>
</sqlMap>

View File

@ -0,0 +1,109 @@
<?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="AdjstWithDrawVO">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="AdjstWithDrawVO" type="kcc.kccadr.accdnt.awd.service.AdjstWithDrawVO"/>
<select id="adjstWithDrawDAO.selectAdjstWithDrawInfo" parameterClass="AdjstWithDrawVO" resultClass="AdjstWithDrawVO">
SELECT
T1.ADR_SEQ AS adrSeq,
T1.STAT_CD AS statCd,
T1.REQ_OL_CD AS reqOlCd,
T1.REQ_CN1 AS reqCn1,
T1.REQ_CN2 AS reqCn2,
T1.REQ_TY AS reqTy,
T1.CC_TY AS ccTy,
T1.ATCH_FILE_ID AS atchFileId,
T2.ADR_SN AS adrSn,
T2.ADR_ADM_ID AS adrAdmId,
T2.MEM_DEPT_SEQ AS memDeptSeq,
T2.ASS_SEQ AS assSeq,
T3.ADR_CNCL_SEQ AS adrCnclSeq,
T3.RPPL_SEQ AS rpplSeq,
T4.USER_NM AS rpplNm,
T3.CNCL_CN AS cnclCn,
T3.SBMT_YN AS sbmtYn,
TO_CHAR(T3.SBMT_DE, 'YYYY-MM-DD') AS sbmtDe,
T3.USR_CI AS usrCi,
T3.APPR_YN AS apprYn,
TO_CHAR(T3.APPR_DE, 'YYYY-MM-DD') AS apprDe,
T3.FRST_REGIST_PNTTM AS frstRegistPnttm,
T3.FRST_REGISTER_ID AS frstRegisterId,
T3.LAST_UPDT_PNTTM AS lastUpdtPnttm,
T3.LAST_UPDUSR_ID AS lastUpdusrId
FROM ADR_MGR_MASTER T1 INNER JOIN ADR_MGR_DEATAIL_MAX T2 ON T1.ADR_SEQ = T2.ADR_SEQ
INNER JOIN ADR_CNCL_MGR T3 ON T1.ADR_SEQ = T3.ADR_SEQ
LEFT OUTER JOIN COMVNUSERMASTER T4 ON T3.RPPL_SEQ = T4.ESNTL_ID
WHERE 1=1
AND T1.ADR_SEQ = #adrSeq#
</select>
<update id="adjstWithDrawDAO.insertAndUpdateAdjstWithDrawSave" parameterClass="AdjstWithDrawVO">
MERGE INTO ADR_CNCL_MGR T1 USING DB_ROOT
ON (T1.ADR_SEQ = #adrSeq# AND ADR_CNCL_SEQ = #adrCnclSeq#)
WHEN MATCHED THEN
UPDATE SET
<isNotEmpty property="cnclCn">
CNCL_CN = #cnclCn#,
</isNotEmpty>
<isNotEmpty property="sbmtYn">
SBMT_YN = #sbmtYn#,
SBMT_DE = NOW(),
USR_CI = #usrCi#,
</isNotEmpty>
<isNotEmpty property="apprYn">
APPR_YN = #apprYn#,
APPR_DE = NOW(),
</isNotEmpty>
LAST_UPDT_PNTTM = NOW(),
LAST_UPDUSR_ID = #lastUpdusrId#
WHEN NOT MATCHED THEN
INSERT (
ADR_SEQ,
ADR_CNCL_SEQ,
RPPL_SEQ,
CNCL_CN,
SBMT_YN,
SBMT_DE,
USR_CI,
APPR_YN,
APPR_DE,
FRST_REGIST_PNTTM,
FRST_REGISTER_ID,
LAST_UPDT_PNTTM,
LAST_UPDUSR_ID
) VALUES (
#adrSeq#,
#adrCnclSeq#,
#rpplSeq#,
#cnclCn#,
'N',
NULL,
#usrCi#,
#apprYn#,
NULL,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#
)
</update>
<delete id="adjstWithDrawDAO.deleteAdjstWithDraw" parameterClass="AdjstWithDrawVO">
DELETE FROM ADR_CNCL_MGR WHERE ADR_SEQ = #adrSeq# AND ADR_CNCL_SEQ = #adrCnclSeq#
</delete>
<update id="adjstWithDrawDAO.updateAdjstWithDrawSubmit" parameterClass="AdjstWithDrawVO">
UPDATE
ADR_CNCL_MGR
SET
SBMT_YN = #sbmtYn#
,SBMT_DE = NOW()
,LAST_UPDT_PNTTM = NOW()
,LAST_UPDUSR_ID = #lastUpdusrId#
WHERE
ADR_SEQ = #adrSeq#
AND
ADR_CNCL_SEQ = #adrCnclSeq#
</update>
</sqlMap>

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