refactor : 유저 테이블 수정
parent
ce026e8d2e
commit
4424171129
@ -1,50 +0,0 @@
|
||||
package kr.xit.fims.framework.biz.mng.user.dao;
|
||||
|
||||
import kr.xit.fims.framework.biz.mng.user.XitEntUserRegMngSearchVO;
|
||||
import kr.xit.fims.framework.biz.mng.user.XitEntUserRegMngVO;
|
||||
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* @업무그룹명: 기업사용자등록관리 Mapper
|
||||
* @설명:
|
||||
* @최초작성일: 2020. 4. 8. 오후 3:33:35
|
||||
* @최초작성자: 박민규
|
||||
* @author (주)엑스아이티 개발팀
|
||||
* @since 2002. 2. 2.
|
||||
* @version 1.0 Copyright(c) XIT All rights reserved.
|
||||
*/
|
||||
@Mapper
|
||||
public interface XitEntUserRegMngMapper {
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 기업사용자등록관리 목록 조회</pre>
|
||||
* @param searchVO
|
||||
* @return List<XitEntUserRegMngVO> 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 3. 26.
|
||||
*/
|
||||
public List<XitEntUserRegMngVO> findList(XitEntUserRegMngSearchVO searchVO) throws SQLException;
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 기업사용자등록관리 목록 총건수 조회</pre>
|
||||
* @param searchVO
|
||||
* @return int 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 3. 26.
|
||||
*/
|
||||
public int findListTotCnt(XitEntUserRegMngSearchVO searchVO) throws SQLException;
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 기업사용자등록관리 상세정보 조회</pre>
|
||||
* @param vo
|
||||
* @return XitEntUserRegMngVO 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 3. 26.
|
||||
*/
|
||||
public XitEntUserRegMngVO findView(XitEntUserRegMngVO vo) throws SQLException;
|
||||
|
||||
}
|
@ -1,50 +0,0 @@
|
||||
package kr.xit.fims.framework.biz.mng.user.dao;
|
||||
|
||||
import kr.xit.fims.framework.biz.mng.user.XitGnrUserRegMngSearchVO;
|
||||
import kr.xit.fims.framework.biz.mng.user.XitGnrUserRegMngVO;
|
||||
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* @업무그룹명: 일반사용자등록관리 Mapper
|
||||
* @설명:
|
||||
* @최초작성일: 2020. 4. 8. 오후 3:33:35
|
||||
* @최초작성자: 박민규
|
||||
* @author (주)엑스아이티 개발팀
|
||||
* @since 2002. 2. 2.
|
||||
* @version 1.0 Copyright(c) XIT All rights reserved.
|
||||
*/
|
||||
@Mapper
|
||||
public interface XitGnrUserRegMngMapper {
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 일반사용자등록관리 목록 조회</pre>
|
||||
* @param searchVO
|
||||
* @return List<XitGnrUserRegMngVO> 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 3. 26.
|
||||
*/
|
||||
public List<XitGnrUserRegMngVO> findList(XitGnrUserRegMngSearchVO searchVO) throws SQLException;
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 일반사용자등록관리 목록 총건수 조회</pre>
|
||||
* @param searchVO
|
||||
* @return int 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 3. 26.
|
||||
*/
|
||||
public int findListTotCnt(XitGnrUserRegMngSearchVO searchVO) throws SQLException;
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 일반사용자등록관리 상세정보 조회</pre>
|
||||
* @param vo
|
||||
* @return XitGnrUserRegMngVO 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 3. 26.
|
||||
*/
|
||||
public XitGnrUserRegMngVO findView(XitGnrUserRegMngVO vo) throws SQLException;
|
||||
|
||||
}
|
@ -1,92 +0,0 @@
|
||||
package kr.xit.fims.framework.biz.mng.user.service;
|
||||
|
||||
import kr.xit.fims.framework.biz.mng.user.XitEntUserRegMngSearchVO;
|
||||
import kr.xit.fims.framework.biz.mng.user.XitEntUserRegMngVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* @업무그룹명: 기업사용자등록관리 Service
|
||||
* @설명:
|
||||
* @최초작성일: 2020. 4. 8. 오후 3:33:18
|
||||
* @최초작성자: 박민규
|
||||
* @author (주)엑스아이티 개발팀
|
||||
* @since 2002. 2. 2.
|
||||
* @version 1.0 Copyright(c) XIT All rights reserved.
|
||||
*/
|
||||
public interface XitEntUserRegMngService {
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 기업사용자등록관리 목록 조회</pre>
|
||||
* @param searchVO
|
||||
* @return List<XitEntUserRegMngVO> 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 8.
|
||||
*/
|
||||
public List<XitEntUserRegMngVO> findList(XitEntUserRegMngSearchVO searchVO);
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 기업사용자등록관리 목록 총건수 조회</pre>
|
||||
* @param searchVO
|
||||
* @return int 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 8.
|
||||
*/
|
||||
public int findListTotCnt(XitEntUserRegMngSearchVO searchVO);
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 기업사용자등록관리 상세정보 조회</pre>
|
||||
* @param vo
|
||||
* @return XitEntUserRegMngVO 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 8.
|
||||
*/
|
||||
public XitEntUserRegMngVO findView(XitEntUserRegMngVO vo);
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 기업사용자등록관리 등록</pre>
|
||||
* @param vo void 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 8.
|
||||
*/
|
||||
public void addProc(XitEntUserRegMngVO vo);
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 기업사용자등록관리 수정</pre>
|
||||
* @param vo void 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 8.
|
||||
*/
|
||||
public void modifyProc(XitEntUserRegMngVO vo);
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 사용자 비밀번호 수정</pre>
|
||||
* @param uniqId 고유식별ID
|
||||
* @param id 사용자ID
|
||||
* @param oldPassword 구 비밀번호
|
||||
* @param newPassword 신규 비밀번호
|
||||
* @param newPassword2 신규 비밀번호 확인
|
||||
* @return void 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 10.
|
||||
*/
|
||||
public void modifyPwdProc(String uniqId, String id, String oldPassword, String newPassword, String newPassword2);
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 기업사용자등록관리 삭제</pre>
|
||||
* @param id void 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 8.
|
||||
*/
|
||||
public void removeProc(String id);
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 기업사용자등록관리 다건 삭제</pre>
|
||||
* @param ids void 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 8.
|
||||
*/
|
||||
public void removesProc(String ids);
|
||||
|
||||
}
|
@ -1,92 +0,0 @@
|
||||
package kr.xit.fims.framework.biz.mng.user.service;
|
||||
|
||||
import kr.xit.fims.framework.biz.mng.user.XitGnrUserRegMngSearchVO;
|
||||
import kr.xit.fims.framework.biz.mng.user.XitGnrUserRegMngVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* @업무그룹명: 일반사용자등록관리 Service
|
||||
* @설명:
|
||||
* @최초작성일: 2020. 4. 8. 오후 3:33:18
|
||||
* @최초작성자: 박민규
|
||||
* @author (주)엑스아이티 개발팀
|
||||
* @since 2002. 2. 2.
|
||||
* @version 1.0 Copyright(c) XIT All rights reserved.
|
||||
*/
|
||||
public interface XitGnrUserRegMngService {
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 일반사용자등록관리 목록 조회</pre>
|
||||
* @param searchVO
|
||||
* @return List<XitGnrUserRegMngVO> 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 8.
|
||||
*/
|
||||
public List<XitGnrUserRegMngVO> findList(XitGnrUserRegMngSearchVO searchVO);
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 일반사용자등록관리 목록 총건수 조회</pre>
|
||||
* @param searchVO
|
||||
* @return int 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 8.
|
||||
*/
|
||||
public int findListTotCnt(XitGnrUserRegMngSearchVO searchVO);
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 일반사용자등록관리 상세정보 조회</pre>
|
||||
* @param vo
|
||||
* @return XitGnrUserRegMngVO 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 8.
|
||||
*/
|
||||
public XitGnrUserRegMngVO findView(XitGnrUserRegMngVO vo);
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 일반사용자등록관리 등록</pre>
|
||||
* @param vo void 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 8.
|
||||
*/
|
||||
public void addProc(XitGnrUserRegMngVO vo);
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 일반사용자등록관리 수정</pre>
|
||||
* @param vo void 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 8.
|
||||
*/
|
||||
public void modifyProc(XitGnrUserRegMngVO vo);
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 사용자 비밀번호 수정</pre>
|
||||
* @param uniqId 고유식별ID
|
||||
* @param id 사용자ID
|
||||
* @param oldPassword 구 비밀번호
|
||||
* @param newPassword 신규 비밀번호
|
||||
* @param newPassword2 신규 비밀번호 확인
|
||||
* @return void 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 10.
|
||||
*/
|
||||
public void modifyPwdProc(String uniqId, String id, String oldPassword, String newPassword, String newPassword2);
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 일반사용자등록관리 삭제</pre>
|
||||
* @param id void 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 8.
|
||||
*/
|
||||
public void removeProc(String id);
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 일반사용자등록관리 다건 삭제</pre>
|
||||
* @param ids void 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 8.
|
||||
*/
|
||||
public void removesProc(String ids);
|
||||
|
||||
}
|
@ -1,384 +0,0 @@
|
||||
package kr.xit.fims.framework.biz.mng.user.service.bean;
|
||||
|
||||
import cokr.xit.foundation.component.AbstractServiceBean;
|
||||
import kr.xit.fims.framework.biz.cmm.XitEntrprsMberVO;
|
||||
import kr.xit.fims.framework.biz.cmm.XitLoginVO;
|
||||
import kr.xit.fims.framework.biz.cmm.service.XitFrameCrudService;
|
||||
import kr.xit.fims.framework.biz.cmm.service.XitFrameUnitService;
|
||||
import kr.xit.fims.framework.biz.mng.user.dao.XitEntUserRegMngMapper;
|
||||
import kr.xit.fims.framework.biz.mng.user.XitEntUserRegMngSearchVO;
|
||||
import kr.xit.fims.framework.biz.mng.user.XitEntUserRegMngVO;
|
||||
import kr.xit.fims.framework.biz.mng.user.XitUserInfoVO;
|
||||
import kr.xit.fims.framework.biz.mng.user.XitUserScrtySetupVO;
|
||||
import kr.xit.fims.framework.biz.mng.user.service.UserMgtService;
|
||||
import kr.xit.fims.framework.biz.mng.user.service.XitEntUserRegMngService;
|
||||
import kr.xit.fims.framework.core.message.XitMessageSource;
|
||||
import kr.xit.fims.framework.core.utils.XitCmmnUtil;
|
||||
import kr.xit.fims.framework.core.utils.XitScrtyUtil;
|
||||
import org.egovframe.rte.fdl.cmmn.exception.FdlException;
|
||||
import org.egovframe.rte.fdl.idgnr.EgovIdGnrService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.sql.SQLException;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class XitEntUserRegMngServiceBean extends AbstractServiceBean implements XitEntUserRegMngService {
|
||||
private static final Logger logger = LoggerFactory.getLogger(XitEntUserRegMngServiceBean.class);
|
||||
|
||||
@Resource
|
||||
private XitEntUserRegMngMapper xitEntUserRegMngMapper;
|
||||
@Resource
|
||||
private UserMgtService userMgtService;
|
||||
@Resource
|
||||
private XitFrameCrudService xitFrameCrudService;
|
||||
@Resource
|
||||
private XitFrameUnitService xitFrameUnitService;
|
||||
@Resource
|
||||
private XitMessageSource xitMessageSource;
|
||||
@Autowired
|
||||
@Qualifier("usrEsntlIdGnrService")
|
||||
private EgovIdGnrService usrEsntlIdGnrService;
|
||||
|
||||
@Override
|
||||
public List<XitEntUserRegMngVO> findList(XitEntUserRegMngSearchVO searchVO) {
|
||||
List<XitEntUserRegMngVO> result = null;
|
||||
try {
|
||||
result = xitEntUserRegMngMapper.findList(searchVO);
|
||||
} catch (SQLException e) {
|
||||
throw new RuntimeException("기업사용자등록관리 목록 조회 FAIL::", e);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int findListTotCnt(XitEntUserRegMngSearchVO searchVO) {
|
||||
int result = 0;
|
||||
try {
|
||||
result = xitEntUserRegMngMapper.findListTotCnt(searchVO);
|
||||
} catch (SQLException e) {
|
||||
throw new RuntimeException("기업사용자등록관리 목록 총건수 조회 FAIL::", e);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public XitEntUserRegMngVO findView(XitEntUserRegMngVO vo) {
|
||||
/**
|
||||
* 유효성 확인
|
||||
*/
|
||||
if(!this.isUserModifyAuth(vo.getUniqId()))
|
||||
throw new RuntimeException("대상에 대한 열람 권한이 없습니다.");
|
||||
|
||||
XitEntUserRegMngVO result = null;
|
||||
try {
|
||||
result = xitEntUserRegMngMapper.findView(vo);
|
||||
} catch (SQLException e) {
|
||||
throw new RuntimeException("기업사용자등록관리 상세정보 조회 FAIL::", e);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addProc(XitEntUserRegMngVO vo) {
|
||||
/**
|
||||
* 필수값 설정
|
||||
*/
|
||||
String esntlId = null;
|
||||
try {
|
||||
esntlId = usrEsntlIdGnrService.getNextStringId();
|
||||
} catch (FdlException e) {
|
||||
throw new RuntimeException(String.format("%s %s", xitMessageSource.getMessage("fail.common.insert"), e.getMessage()));
|
||||
}
|
||||
vo.setUniqId(esntlId); //고유식별키
|
||||
XitEntrprsMberVO crudVO = convertToCrudVO(vo);
|
||||
//그룹의 기본권한 조회 및 설정
|
||||
XitUserScrtySetupVO userScrtySetupVO = new XitUserScrtySetupVO();
|
||||
userScrtySetupVO.setScrtySetupTrgetId(crudVO.getEsntlId());
|
||||
userScrtySetupVO.setMberTyCode("USR02");
|
||||
String defaultAuthorCode = xitFrameUnitService.getDefaultAuthorCode(crudVO.getGroupId());
|
||||
userScrtySetupVO.setAuthorCode(defaultAuthorCode);
|
||||
|
||||
/**
|
||||
* 처리
|
||||
*/
|
||||
//사용자정보 등록
|
||||
xitFrameCrudService.addXitEntrprsMber(crudVO);
|
||||
//사용자의 권한 등록
|
||||
xitFrameCrudService.addXitUserScrtySetup(userScrtySetupVO);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void modifyProc(XitEntUserRegMngVO vo) {
|
||||
/**
|
||||
* 유효성 확인
|
||||
*/
|
||||
if(!this.isUserModifyAuth(vo.getUniqId()))
|
||||
throw new RuntimeException("대상에 대한 수정 권한이 없습니다.");
|
||||
|
||||
/**
|
||||
* 필수값 설정
|
||||
*/
|
||||
XitEntrprsMberVO crudVO = convertToCrudVO(vo);
|
||||
crudVO.setEntrprsMberPassword(null);
|
||||
boolean isChangedGroupId = false; //그룹ID 변경 여부
|
||||
XitEntrprsMberVO curUserInfo = xitFrameCrudService.findXitEntrprsMber(crudVO);
|
||||
if(!crudVO.getGroupId().equals(curUserInfo.getGroupId()))
|
||||
isChangedGroupId = true;
|
||||
/* =======================================
|
||||
* 2020.11.16. 박민규
|
||||
* 고유식별자 수정 방지
|
||||
* -사유: esntl_id의 경우 회원의 고유식별자이므로 변경 되어선 안됨.
|
||||
* -작업내용: crudVO.setEsntl_id(null) 코드 추가
|
||||
======================================= */
|
||||
String uniqId = crudVO.getEsntlId();
|
||||
crudVO.setEsntlId(null);
|
||||
/* =======================================
|
||||
* 2020.11.16. 박민규
|
||||
* 고유식별자 확인 코드 추가
|
||||
* -사유: parameter 조작(CSRF)에 대한 방어 코드
|
||||
* -작업내용: 현재 사용자정보와 요청값 확인코드 추가
|
||||
* -> if(!curUserInfo.getEsntl_id().equals(uniqId))
|
||||
======================================= */
|
||||
if(!curUserInfo.getEsntlId().equals(uniqId))
|
||||
throw new RuntimeException("사용자 고유식별값이 일치하지 않습니다.");
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 처리
|
||||
*/
|
||||
xitFrameCrudService.modifyXitEntrprsMber(crudVO);
|
||||
if(isChangedGroupId) { //그룹ID가 변경되었을 경우
|
||||
//그룹의 기본권한 조회 및 설정
|
||||
XitUserScrtySetupVO userScrtySetupVO = new XitUserScrtySetupVO();
|
||||
userScrtySetupVO.setScrtySetupTrgetId(uniqId);
|
||||
String defaultAuthorCode = xitFrameUnitService.getDefaultAuthorCode(crudVO.getGroupId());
|
||||
userScrtySetupVO.setAuthorCode(defaultAuthorCode);
|
||||
//사용자의 권한 갱신
|
||||
if(XitCmmnUtil.isEmpty(xitFrameCrudService.findXitUserScrtySetup(userScrtySetupVO))) {
|
||||
userScrtySetupVO.setMberTyCode("USR02");
|
||||
xitFrameCrudService.addXitUserScrtySetup(userScrtySetupVO);
|
||||
}else {
|
||||
xitFrameCrudService.modifyXitUserScrtySetup(userScrtySetupVO);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void modifyPwdProc(String uniqId, String id, String oldPassword, String newPassword, String newPassword2) {
|
||||
|
||||
/**
|
||||
* 유효성 확인
|
||||
*/
|
||||
if(!this.isUserModifyAuth(uniqId))
|
||||
throw new RuntimeException("대상에 대한 수정 권한이 없습니다.");
|
||||
XitEntUserRegMngVO vo = new XitEntUserRegMngVO();
|
||||
vo.setUniqId(uniqId);
|
||||
vo = this.findView(vo);
|
||||
String encryptPass = null;
|
||||
String encryptNewPass = null;
|
||||
try {
|
||||
encryptPass = XitScrtyUtil.encryptPassword(oldPassword, id);
|
||||
encryptNewPass = XitScrtyUtil.encryptPassword(newPassword, id);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(String.format("비밀번호 암호화 실패:: %s", e.getMessage()));
|
||||
}
|
||||
//비밀번호 동일 여부
|
||||
if (vo.getEntrprsMberPassword().equals(encryptPass)) {
|
||||
//신 비밀번호/비밀번호 확인 동일 여부
|
||||
if (!newPassword.equals(newPassword2)) {
|
||||
throw new RuntimeException(xitMessageSource.getMessage("fail.user.passwordUpdate2"));
|
||||
}
|
||||
} else {
|
||||
throw new RuntimeException(xitMessageSource.getMessage("fail.user.passwordUpdate1"));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 필수값 설정
|
||||
*/
|
||||
XitEntrprsMberVO crudVO = new XitEntrprsMberVO();
|
||||
crudVO.setEntrprsMberId(id);
|
||||
crudVO.setEntrprsMberPassword(encryptNewPass);
|
||||
|
||||
|
||||
/**
|
||||
* 처리
|
||||
*/
|
||||
xitFrameCrudService.modifyXitEntrprsMber(crudVO);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeProc(String id) {
|
||||
// TODO : Refactor 적용
|
||||
userMgtService.removeUser("", id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removesProc(String userIds) {
|
||||
|
||||
/**
|
||||
* 유효성 확인
|
||||
*/
|
||||
String [] delId = userIds.split(",");
|
||||
if (delId == null || (delId.length == 0)) {
|
||||
throw new RuntimeException(xitMessageSource.getMessage("fail.common.delete"));
|
||||
}
|
||||
|
||||
/**
|
||||
* 처리
|
||||
*/
|
||||
String [] arrUserId = userIds.split(",");
|
||||
for (int i=0; i<arrUserId.length ; i++){
|
||||
this.removeProc(arrUserId[i]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 메뉴VO를 CRUD Service의 VO로 변환 한다.</pre>
|
||||
* @return XitEntrprsMberVO 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 3. 27.
|
||||
*/
|
||||
private XitEntrprsMberVO convertToCrudVO(XitEntUserRegMngVO vo) {
|
||||
String password = null;
|
||||
try {
|
||||
password = XitScrtyUtil.encryptPassword(vo.getEntrprsMberPassword(), vo.getEntrprsmberId());
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(String.format("비밀번호 암호화 실패:: %s", e.getMessage()));
|
||||
}
|
||||
|
||||
|
||||
XitEntrprsMberVO crudVO = new XitEntrprsMberVO();
|
||||
crudVO.setEntrprsMberId(vo.getEntrprsmberId()); //기업 회원 id
|
||||
crudVO.setEntrprsSeCode(vo.getEntrprsSeCode()); //기업 구분 코드
|
||||
crudVO.setBizrno (vo.getBizrno()); //사업자등록번호
|
||||
crudVO.setJurirno (vo.getJurirno()); //법인등록번호
|
||||
crudVO.setCmpnyNm(vo.getCmpnyNm()); //회사 명
|
||||
crudVO.setCxfc (vo.getCxfc()); //대표이사
|
||||
crudVO.setZip (vo.getZip()); //우편번호
|
||||
crudVO.setAdres (vo.getAdres()); //주소
|
||||
crudVO.setEntrprsMiddleTelno(vo.getEntrprsMiddleTelno()); //기업 중간 전화번호
|
||||
crudVO.setFxnum (vo.getFxnum()); //팩스번호
|
||||
crudVO.setInduty_code (vo.getIndutyCode()); //업종 코드
|
||||
crudVO.setApplcntNm(vo.getApplcntNm()); //신청인 명
|
||||
crudVO.setApplcntIhidnum(vo.getApplcntIhidnum()); //신청인 주민등록번호
|
||||
crudVO.setRegDt(vo.getRegDt()); //가입 일
|
||||
crudVO.setEntrprsMberSttus(vo.getEntrprsMberSttus()); //기업 회원 상태
|
||||
crudVO.setEntrprsMberPassword(password); //기업 회원 비밀번호
|
||||
crudVO.setEntrprsMberPasswordHint(vo.getEntrprsMberPasswordHint()); //기업 회원 비밀번호 힌트
|
||||
crudVO.setEntrprsMberPasswordCnsr(vo.getEntrprsMberPasswordCnsr()); //기업 회원 비밀번호 정답
|
||||
crudVO.setGroupId(vo.getGroupId()); //그룹 id
|
||||
crudVO.setDetailAdres(vo.getDetailAdres()); //상세 주소
|
||||
crudVO.setEntrprsEndTelno(vo.getEntrprsEndTelno()); //기업 끝 전화번호
|
||||
crudVO.setArea_no (vo.getAreaNo()); //지역 번호
|
||||
crudVO.setApplcntEmailAdres(vo.getApplcntEmailAdres()); //신청자 이메일 주소
|
||||
crudVO.setEsntlId(vo.getUniqId()); //고유 id
|
||||
|
||||
return crudVO;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 사용자정보 수정 권한 여부 확인
|
||||
* -보안성 강화를 위해 다음 조건을 충족 하도록 한다.
|
||||
* :"ROLE_ADMIN 권한"의 사용자는 모든 사용자의 정보 수정이 가능해야 한다.
|
||||
* :"ROLE_ADMIN 권한"의 사용자정보는 같은 "ROLE_ADMIN 권한"의 사용자만 수정이 가능해야 한다.
|
||||
* :타인의 정보는 "ROLE_ADMIN 권한" 또는 "사용자관리권한"이 부여된 사용자만 수정이 가능해야 한다.
|
||||
* </pre>
|
||||
* @param uniqId 고유ID
|
||||
* @return boolean 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 6. 9.
|
||||
*/
|
||||
private boolean isUserModifyAuth(String uniqId) {
|
||||
|
||||
XitLoginVO loginVO = XitCmmnUtil.getUserInfo();
|
||||
|
||||
|
||||
//본인정보인 경우
|
||||
if(loginVO.getUniqId().equals(uniqId)) {
|
||||
return true;
|
||||
}
|
||||
//본인정보가 아닌 경우
|
||||
else {
|
||||
/**
|
||||
* 필수조회
|
||||
*/
|
||||
//사용자(수정대상) 권한 조회
|
||||
String trgetAuthorCode = null;
|
||||
XitUserScrtySetupVO vo = new XitUserScrtySetupVO();
|
||||
vo.setScrtySetupTrgetId(uniqId);
|
||||
vo = xitFrameCrudService.findXitUserScrtySetup(vo);
|
||||
trgetAuthorCode = vo.getAuthorCode();
|
||||
//사용자(수정자) 권한 조회
|
||||
String userAuthorCode = null;
|
||||
vo = new XitUserScrtySetupVO();
|
||||
vo.setScrtySetupTrgetId(loginVO.getUniqId());
|
||||
vo = xitFrameCrudService.findXitUserScrtySetup(vo);
|
||||
userAuthorCode = vo.getAuthorCode();
|
||||
|
||||
|
||||
/**
|
||||
* 유효성 확인
|
||||
*/
|
||||
//사용자(수정자)가 ROLE_ADMIN 권한의 사용자인 경우
|
||||
if("ROLE_ADMIN".equals(userAuthorCode)) {
|
||||
return true;
|
||||
}else {
|
||||
//사용자(수정대상)가 ROLE_ADMIN 권한의 사용자인 경우
|
||||
if("ROLE_ADMIN".equals(trgetAuthorCode)) {
|
||||
return false;
|
||||
}
|
||||
//사용자관리권한별 분기
|
||||
XitUserInfoVO trgetUserInfoVO = new XitUserInfoVO();
|
||||
trgetUserInfoVO.setEsntlId(uniqId);
|
||||
trgetUserInfoVO = xitFrameCrudService.findXitUserInfos(trgetUserInfoVO).get(0); //사용자(수정대상) 정보 조회
|
||||
XitUserInfoVO loginUserInfoVO = new XitUserInfoVO();
|
||||
loginUserInfoVO.setEsntlId(uniqId);
|
||||
loginUserInfoVO = xitFrameCrudService.findXitUserInfos(loginUserInfoVO).get(0); //사용자(수정자) 정보 조회
|
||||
switch(loginVO.getUserManageAuthor()) {
|
||||
case "ALL": //모든 사용자
|
||||
return true;
|
||||
case "DEPT": //자신이 속한 부서의 모든 사용자
|
||||
if(loginUserInfoVO.getPstinstCode().equals(trgetUserInfoVO.getPstinstCode()))
|
||||
return true;
|
||||
break;
|
||||
// case "ONESELF": //본인정보만
|
||||
// return true;
|
||||
case "ORGNZT": //자신이 속한 조직의 모든 사용자
|
||||
if(loginVO.getOrgnztId().equals(trgetUserInfoVO.getOrgnztId()))
|
||||
return true;
|
||||
break;
|
||||
// case "ORGNZT_N_CHILD": //자신이 속한 조직의 모든 하위 조직 사용자(ex: 종로구청이 담당하는 조직)
|
||||
// return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
@ -1,380 +0,0 @@
|
||||
package kr.xit.fims.framework.biz.mng.user.service.bean;
|
||||
|
||||
import cokr.xit.foundation.component.AbstractServiceBean;
|
||||
import kr.xit.fims.framework.biz.cmm.XitGnrlMberVO;
|
||||
import kr.xit.fims.framework.biz.cmm.XitLoginVO;
|
||||
import kr.xit.fims.framework.biz.cmm.service.XitFrameCrudService;
|
||||
import kr.xit.fims.framework.biz.cmm.service.XitFrameUnitService;
|
||||
import kr.xit.fims.framework.biz.mng.user.dao.XitGnrUserRegMngMapper;
|
||||
import kr.xit.fims.framework.biz.mng.user.XitGnrUserRegMngSearchVO;
|
||||
import kr.xit.fims.framework.biz.mng.user.XitGnrUserRegMngVO;
|
||||
import kr.xit.fims.framework.biz.mng.user.XitUserInfoVO;
|
||||
import kr.xit.fims.framework.biz.mng.user.XitUserScrtySetupVO;
|
||||
import kr.xit.fims.framework.biz.mng.user.service.UserMgtService;
|
||||
import kr.xit.fims.framework.biz.mng.user.service.XitGnrUserRegMngService;
|
||||
import kr.xit.fims.framework.core.message.XitMessageSource;
|
||||
import kr.xit.fims.framework.core.utils.XitCmmnUtil;
|
||||
import kr.xit.fims.framework.core.utils.XitScrtyUtil;
|
||||
import org.egovframe.rte.fdl.cmmn.exception.FdlException;
|
||||
import org.egovframe.rte.fdl.idgnr.EgovIdGnrService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.sql.SQLException;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class XitGnrUserRegMngServiceBean extends AbstractServiceBean implements XitGnrUserRegMngService{
|
||||
private static final Logger logger = LoggerFactory.getLogger(XitGnrUserRegMngServiceBean.class);
|
||||
|
||||
@Resource
|
||||
private XitGnrUserRegMngMapper xitGnrUserRegMngMapper;
|
||||
@Resource
|
||||
private UserMgtService userMgtService;
|
||||
@Resource
|
||||
private XitFrameCrudService xitFrameCrudService;
|
||||
@Resource
|
||||
private XitFrameUnitService xitFrameUnitService;
|
||||
@Resource
|
||||
private XitMessageSource xitMessageSource;
|
||||
@Autowired
|
||||
@Qualifier("usrEsntlIdGnrService")
|
||||
private EgovIdGnrService usrEsntlIdGnrService;
|
||||
|
||||
@Override
|
||||
public List<XitGnrUserRegMngVO> findList(XitGnrUserRegMngSearchVO searchVO) {
|
||||
List<XitGnrUserRegMngVO> result = null;
|
||||
try {
|
||||
result = xitGnrUserRegMngMapper.findList(searchVO);
|
||||
} catch (SQLException e) {
|
||||
throw new RuntimeException("일반사용자등록관리 목록 조회 FAIL::", e);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int findListTotCnt(XitGnrUserRegMngSearchVO searchVO) {
|
||||
int result = 0;
|
||||
try {
|
||||
result = xitGnrUserRegMngMapper.findListTotCnt(searchVO);
|
||||
} catch (SQLException e) {
|
||||
throw new RuntimeException("일반사용자등록관리 목록 총건수 조회 FAIL::", e);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public XitGnrUserRegMngVO findView(XitGnrUserRegMngVO vo) {
|
||||
/**
|
||||
* 유효성 확인
|
||||
*/
|
||||
if(!this.isUserModifyAuth(vo.getUniqId()))
|
||||
throw new RuntimeException("대상에 대한 열람 권한이 없습니다.");
|
||||
|
||||
XitGnrUserRegMngVO result = null;
|
||||
try {
|
||||
result = xitGnrUserRegMngMapper.findView(vo);
|
||||
} catch (SQLException e) {
|
||||
throw new RuntimeException("일반사용자등록관리 상세정보 조회 FAIL::", e);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addProc(XitGnrUserRegMngVO vo) {
|
||||
/**
|
||||
* 필수값 설정
|
||||
*/
|
||||
String esntlId = null;
|
||||
try {
|
||||
esntlId = usrEsntlIdGnrService.getNextStringId();
|
||||
} catch (FdlException e) {
|
||||
throw new RuntimeException(String.format("%s %s", xitMessageSource.getMessage("fail.common.insert"), e.getMessage()));
|
||||
}
|
||||
vo.setUniqId(esntlId); //고유식별키
|
||||
XitGnrlMberVO crudVO = this.convertToCrudVO(vo);
|
||||
//그룹의 기본권한 조회 및 설정
|
||||
XitUserScrtySetupVO userScrtySetupVO = new XitUserScrtySetupVO();
|
||||
userScrtySetupVO.setScrtySetupTrgetId(crudVO.getEsntlId());
|
||||
userScrtySetupVO.setMberTyCode("USR01");
|
||||
String defaultAuthorCode = xitFrameUnitService.getDefaultAuthorCode(crudVO.getGroupId());
|
||||
userScrtySetupVO.setAuthorCode(defaultAuthorCode);
|
||||
|
||||
/**
|
||||
* 처리
|
||||
*/
|
||||
//일반회원정보 등록
|
||||
xitFrameCrudService.addXitGnrlMber(crudVO);
|
||||
//사용자의 권한 등록
|
||||
xitFrameCrudService.addXitUserScrtySetup(userScrtySetupVO);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void modifyProc(XitGnrUserRegMngVO vo) {
|
||||
/**
|
||||
* 유효성 확인
|
||||
*/
|
||||
if(!this.isUserModifyAuth(vo.getUniqId()))
|
||||
throw new RuntimeException("대상에 대한 수정 권한이 없습니다.");
|
||||
|
||||
/**
|
||||
* 필수값 설정
|
||||
*/
|
||||
XitGnrlMberVO crudVO = convertToCrudVO(vo);
|
||||
crudVO.setPassword(null);
|
||||
boolean isChangedGroupId = false; //그룹ID 변경 여부
|
||||
XitGnrlMberVO curUserInfo = xitFrameCrudService.findXitGnrlMber(crudVO);
|
||||
if(!crudVO.getGroupId().equals(curUserInfo.getGroupId()))
|
||||
isChangedGroupId = true;
|
||||
/* =======================================
|
||||
* 2020.11.16. 박민규
|
||||
* 고유식별자 수정 방지
|
||||
* -사유: esntl_id의 경우 회원의 고유식별자이므로 변경 되어선 안됨.
|
||||
* -작업내용: crudVO.setEsntl_id(null) 코드 추가
|
||||
======================================= */
|
||||
String uniqId = crudVO.getEsntlId();
|
||||
crudVO.setEsntlId(null);
|
||||
/* =======================================
|
||||
* 2020.11.16. 박민규
|
||||
* 고유식별자 확인 코드 추가
|
||||
* -사유: parameter 조작(CSRF)에 대한 방어 코드
|
||||
* -작업내용: 현재 사용자정보와 요청값 확인코드 추가
|
||||
* -> if(!curUserInfo.getEsntl_id().equals(uniqId))
|
||||
======================================= */
|
||||
if(!curUserInfo.getEsntlId().equals(uniqId))
|
||||
throw new RuntimeException("사용자 고유식별값이 일치하지 않습니다.");
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 처리
|
||||
*/
|
||||
xitFrameCrudService.modifyXitGnrlMber(crudVO);
|
||||
if(isChangedGroupId) { //그룹ID가 변경되었을 경우
|
||||
//그룹의 기본권한 조회 및 설정
|
||||
XitUserScrtySetupVO userScrtySetupVO = new XitUserScrtySetupVO();
|
||||
userScrtySetupVO.setScrtySetupTrgetId(uniqId);
|
||||
String defaultAuthorCode = xitFrameUnitService.getDefaultAuthorCode(crudVO.getGroupId());
|
||||
userScrtySetupVO.setAuthorCode(defaultAuthorCode);
|
||||
//사용자의 권한 갱신
|
||||
if(XitCmmnUtil.isEmpty(xitFrameCrudService.findXitUserScrtySetup(userScrtySetupVO))) {
|
||||
userScrtySetupVO.setMberTyCode("USR01");
|
||||
xitFrameCrudService.addXitUserScrtySetup(userScrtySetupVO);
|
||||
}else {
|
||||
xitFrameCrudService.modifyXitUserScrtySetup(userScrtySetupVO);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void modifyPwdProc(String uniqId, String id, String oldPassword, String newPassword, String newPassword2) {
|
||||
|
||||
/**
|
||||
* 유효성 확인
|
||||
*/
|
||||
if(!this.isUserModifyAuth(uniqId))
|
||||
throw new RuntimeException("대상에 대한 수정 권한이 없습니다.");
|
||||
XitGnrUserRegMngVO vo = new XitGnrUserRegMngVO();
|
||||
vo.setUniqId(uniqId);
|
||||
vo = this.findView(vo);
|
||||
String encryptPass = null;
|
||||
String encryptNewPass = null;
|
||||
try {
|
||||
encryptPass = XitScrtyUtil.encryptPassword(oldPassword, id);
|
||||
encryptNewPass = XitScrtyUtil.encryptPassword(newPassword, id);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(String.format("비밀번호 암호화 실패:: %s", e.getMessage()));
|
||||
}
|
||||
//비밀번호 동일 여부
|
||||
if (vo.getPassword().equals(encryptPass)) {
|
||||
//신 비밀번호/비밀번호 확인 동일 여부
|
||||
if (!newPassword.equals(newPassword2)) {
|
||||
throw new RuntimeException(xitMessageSource.getMessage("fail.user.passwordUpdate2"));
|
||||
}
|
||||
} else {
|
||||
throw new RuntimeException(xitMessageSource.getMessage("fail.user.passwordUpdate1"));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 필수값 설정
|
||||
*/
|
||||
XitGnrlMberVO crudVO = new XitGnrlMberVO();
|
||||
crudVO.setMberId(id);
|
||||
crudVO.setPassword(encryptNewPass);
|
||||
|
||||
|
||||
/**
|
||||
* 처리
|
||||
*/
|
||||
xitFrameCrudService.modifyXitGnrlMber(crudVO);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeProc(String id) {
|
||||
// TODO : refactoring 적용
|
||||
userMgtService.removeUser("", id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removesProc(String userIds) {
|
||||
|
||||
/**
|
||||
* 유효성 확인
|
||||
*/
|
||||
String [] delId = userIds.split(",");
|
||||
if (delId == null || (delId.length == 0)) {
|
||||
throw new RuntimeException(xitMessageSource.getMessage("fail.common.delete"));
|
||||
}
|
||||
|
||||
/**
|
||||
* 처리
|
||||
*/
|
||||
String [] arrUserId = userIds.split(",");
|
||||
for (int i=0; i<arrUserId.length ; i++){
|
||||
this.removeProc(arrUserId[i]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 메뉴VO를 CRUD Service의 VO로 변환 한다.</pre>
|
||||
* @return XitGnrlMberVO 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 3. 27.
|
||||
*/
|
||||
private XitGnrlMberVO convertToCrudVO(XitGnrUserRegMngVO vo) {
|
||||
String password = null;
|
||||
try {
|
||||
password = XitScrtyUtil.encryptPassword(vo.getPassword(), vo.getMberId());
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(String.format("비밀번호 암호화 실패:: %s", e.getMessage()));
|
||||
}
|
||||
|
||||
|
||||
XitGnrlMberVO crudVO = new XitGnrlMberVO();
|
||||
crudVO.setMberId(vo.getMberId()); //회원 id
|
||||
crudVO.setPassword (password); //비밀번호
|
||||
crudVO.setPasswordHint(vo.getPasswordHint()); //비밀번호 힌트
|
||||
crudVO.setPasswordCnsr(vo.getPasswordCnsr()); //비밀번호 정답
|
||||
crudVO.setIhidnum (vo.getIhidnum()); //주민등록번호
|
||||
crudVO.setMberNm(vo.getMberNm()); //회원 명
|
||||
crudVO.setZip (vo.getZip()); //우편번호
|
||||
crudVO.setAdres (vo.getAdres()); //주소
|
||||
crudVO.setAreaNo(vo.getAreaNo()); //지역 번호
|
||||
crudVO.setMberSttus(vo.getMberSttus()); //회원 상태
|
||||
crudVO.setDetailAdres(vo.getDetailAdres()); //상세 주소
|
||||
crudVO.setEndTelno(vo.getEndTelno()); //끝 전화번호
|
||||
crudVO.setMbtlnum (vo.getMoblphonNo()); //이동전화번호
|
||||
crudVO.setGroupId(vo.getGroupId()); //그룹 id
|
||||
crudVO.setMberFxnum(vo.getMberFxnum()); //회원 팩스번호
|
||||
crudVO.setMberEmailAdres(vo.getMberEmailAdres()); //회원 이메일 주소
|
||||
crudVO.setMiddleTelno(vo.getMiddleTelno()); //중간 전화번호
|
||||
crudVO.setRegDt(vo.getRegDt()); //가입 일자
|
||||
crudVO.setSexdstnCode(vo.getSexdstnCode()); //성별 코드
|
||||
crudVO.setEsntlId(vo.getUniqId()); //고유 id
|
||||
|
||||
return crudVO;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 사용자정보 수정 권한 여부 확인
|
||||
* -보안성 강화를 위해 다음 조건을 충족 하도록 한다.
|
||||
* :"ROLE_ADMIN 권한"의 사용자는 모든 사용자의 정보 수정이 가능해야 한다.
|
||||
* :"ROLE_ADMIN 권한"의 사용자정보는 같은 "ROLE_ADMIN 권한"의 사용자만 수정이 가능해야 한다.
|
||||
* :타인의 정보는 "ROLE_ADMIN 권한" 또는 "사용자관리권한"이 부여된 사용자만 수정이 가능해야 한다.
|
||||
* </pre>
|
||||
* @param uniqId 고유ID
|
||||
* @return boolean 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 6. 9.
|
||||
*/
|
||||
private boolean isUserModifyAuth(String uniqId) {
|
||||
|
||||
XitLoginVO loginVO = XitCmmnUtil.getUserInfo();
|
||||
|
||||
|
||||
//본인정보인 경우
|
||||
if(loginVO.getUniqId().equals(uniqId)) {
|
||||
return true;
|
||||
}
|
||||
//본인정보가 아닌 경우
|
||||
else {
|
||||
/**
|
||||
* 필수조회
|
||||
*/
|
||||
//사용자(수정대상) 권한 조회
|
||||
String trgetAuthorCode = null;
|
||||
XitUserScrtySetupVO vo = new XitUserScrtySetupVO();
|
||||
vo.setScrtySetupTrgetId(uniqId);
|
||||
vo = xitFrameCrudService.findXitUserScrtySetup(vo);
|
||||
trgetAuthorCode = vo.getAuthorCode();
|
||||
//사용자(수정자) 권한 조회
|
||||
String userAuthorCode = null;
|
||||
vo = new XitUserScrtySetupVO();
|
||||
vo.setScrtySetupTrgetId(loginVO.getUniqId());
|
||||
vo = xitFrameCrudService.findXitUserScrtySetup(vo);
|
||||
userAuthorCode = vo.getAuthorCode();
|
||||
|
||||
|
||||
/**
|
||||
* 유효성 확인
|
||||
*/
|
||||
//사용자(수정자)가 ROLE_ADMIN 권한의 사용자인 경우
|
||||
if("ROLE_ADMIN".equals(userAuthorCode)) {
|
||||
return true;
|
||||
}else {
|
||||
//사용자(수정대상)가 ROLE_ADMIN 권한의 사용자인 경우
|
||||
if("ROLE_ADMIN".equals(trgetAuthorCode)) {
|
||||
return false;
|
||||
}
|
||||
//사용자관리권한별 분기
|
||||
XitUserInfoVO trgetUserInfoVO = new XitUserInfoVO();
|
||||
trgetUserInfoVO.setEsntlId(uniqId);
|
||||
trgetUserInfoVO = xitFrameCrudService.findXitUserInfos(trgetUserInfoVO).get(0); //사용자(수정대상) 정보 조회
|
||||
XitUserInfoVO loginUserInfoVO = new XitUserInfoVO();
|
||||
loginUserInfoVO.setEsntlId(uniqId);
|
||||
loginUserInfoVO = xitFrameCrudService.findXitUserInfos(loginUserInfoVO).get(0); //사용자(수정자) 정보 조회
|
||||
switch(loginVO.getUserManageAuthor()) {
|
||||
case "ALL": //모든 사용자
|
||||
return true;
|
||||
case "DEPT": //자신이 속한 부서의 모든 사용자
|
||||
if(loginUserInfoVO.getPstinstCode().equals(trgetUserInfoVO.getPstinstCode()))
|
||||
return true;
|
||||
break;
|
||||
// case "ONESELF": //본인정보만
|
||||
// return true;
|
||||
case "ORGNZT": //자신이 속한 조직의 모든 사용자
|
||||
if(loginVO.getOrgnztId().equals(trgetUserInfoVO.getOrgnztId()))
|
||||
return true;
|
||||
break;
|
||||
// case "ORGNZT_N_CHILD": //자신이 속한 조직의 모든 하위 조직 사용자(ex: 종로구청이 담당하는 조직)
|
||||
// return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
@ -1,399 +0,0 @@
|
||||
package kr.xit.fims.framework.biz.mng.user.web;
|
||||
|
||||
import cokr.xit.foundation.web.AbstractController;
|
||||
import kr.xit.fims.framework.biz.cmm.service.XitFrameCodeService;
|
||||
import kr.xit.fims.framework.biz.mng.user.XitEntUserRegMngSearchVO;
|
||||
import kr.xit.fims.framework.biz.mng.user.XitEntUserRegMngVO;
|
||||
import kr.xit.fims.framework.biz.mng.user.service.XitEntUserRegMngService;
|
||||
import kr.xit.fims.framework.core.constants.FrameworkConstants;
|
||||
import kr.xit.fims.framework.core.constants.FrameworkConstants.TILES_TYPE;
|
||||
import kr.xit.fims.framework.core.message.XitMessageSource;
|
||||
import kr.xit.fims.framework.core.utils.XitCmmnUtil;
|
||||
import kr.xit.fims.framework.core.validation.XitBeanValidator;
|
||||
import kr.xit.fims.framework.support.util.AjaxUtils;
|
||||
import org.egovframe.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.validation.BindingResult;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
*
|
||||
* @업무그룹명: 기업사용자등록관리 Controller
|
||||
* @설명:
|
||||
* @최초작성일: 2020. 4. 8. 오후 3:32:51
|
||||
* @최초작성자: 박민규
|
||||
* @author (주)엑스아이티 개발팀
|
||||
* @since 2002. 2. 2.
|
||||
* @version 1.0 Copyright(c) XIT All rights reserved.
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping(name = "", value = "/framework/biz/mng/usr/")
|
||||
public class XitEntUserRegMngController extends AbstractController {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(XitEntUserRegMngController.class);
|
||||
|
||||
@Resource
|
||||
private XitEntUserRegMngService xitEntUserRegMngService;
|
||||
@Autowired
|
||||
private XitBeanValidator beanValidator;
|
||||
@Resource(name = "xitMessageSource")
|
||||
XitMessageSource xitMessageSource;
|
||||
@Resource
|
||||
private XitFrameCodeService xitFrameCodeService;
|
||||
|
||||
@Value("#{prop['Globals.Xit.Pagination.PageUnit']}")
|
||||
private int PAGE_UNIT;
|
||||
@Value("#{prop['Globals.Xit.Pagination.PageSize']}")
|
||||
private int PAGE_SIZE;
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 기업사용자등록관리 목록 페이지</pre>
|
||||
* @return String 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 8.
|
||||
*/
|
||||
@RequestMapping(name = "", value = "entUserRegMng_list", method={RequestMethod.GET, RequestMethod.POST})
|
||||
public String entUserRegMng_list(@ModelAttribute("userSearchVO") XitEntUserRegMngSearchVO searchVO, ModelMap model) {
|
||||
|
||||
// 내역 조회
|
||||
|
||||
searchVO.setPageUnit(PAGE_UNIT);
|
||||
searchVO.setPageSize(PAGE_SIZE);
|
||||
|
||||
/** pageing */
|
||||
PaginationInfo paginationInfo = new PaginationInfo();
|
||||
paginationInfo.setCurrentPageNo(searchVO.getPageIndex());
|
||||
paginationInfo.setRecordCountPerPage(searchVO.getPageUnit());
|
||||
paginationInfo.setPageSize(searchVO.getPageSize());
|
||||
|
||||
searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
|
||||
searchVO.setLastIndex(paginationInfo.getLastRecordIndex());
|
||||
searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
|
||||
|
||||
model.addAttribute("resultList", xitEntUserRegMngService.findList(searchVO));
|
||||
|
||||
int totCnt = xitEntUserRegMngService.findListTotCnt(searchVO);
|
||||
paginationInfo.setTotalRecordCount(totCnt);
|
||||
model.addAttribute("paginationInfo", paginationInfo);
|
||||
|
||||
//사용자상태코드를 코드정보로부터 조회
|
||||
model.addAttribute("entrprsMberSttus_result", xitFrameCodeService.findCmmnDetailCodes("XIT013"));//사용자상태코드목록
|
||||
|
||||
return FrameworkConstants.FRAMEWORK_JSP_BASE_PATH +"mng/usr/XitEntUserRegMng_list";
|
||||
}
|
||||
/**
|
||||
* <pre>메소드 설명: 기업사용자등록관리 목록 페이지 조회</pre>
|
||||
* @return String 요청처리 후 응답객체
|
||||
* @author: 최유수
|
||||
* @date: 2020. 7. 29.
|
||||
*/
|
||||
@RequestMapping(name = "", value = "entUserRegMng_list.ajax", method={RequestMethod.GET, RequestMethod.POST})
|
||||
@ResponseBody
|
||||
public Map<String, Object> entUserRegMng_listAjax(HttpServletRequest req, @ModelAttribute("userSearchVO") XitEntUserRegMngSearchVO searchVO, ModelMap model) throws IOException, SQLException, RuntimeException {
|
||||
|
||||
/** paging */
|
||||
PaginationInfo paginationInfo = new PaginationInfo();
|
||||
paginationInfo.setCurrentPageNo(searchVO.getPageNum()>-1?searchVO.getPageNum():searchVO.getPageIndex());
|
||||
paginationInfo.setRecordCountPerPage(searchVO.getFetchSize()>-1?searchVO.getFetchSize():searchVO.getPageUnit());
|
||||
paginationInfo.setPageSize(searchVO.getPageSize());
|
||||
searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
|
||||
searchVO.setLastIndex(paginationInfo.getLastRecordIndex());
|
||||
searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
try {
|
||||
/**
|
||||
* 조회
|
||||
*/
|
||||
int totCnt = xitEntUserRegMngService.findListTotCnt(searchVO);
|
||||
paginationInfo.setTotalRecordCount(totCnt);
|
||||
/**
|
||||
* 반환값 설정
|
||||
*/
|
||||
/* ***************************
|
||||
* tui Grid Response Set
|
||||
*************************** */
|
||||
resultMap.put("result", true); //[tui Grid] result
|
||||
resultMap.put("message", xitMessageSource.getMessage("success.common.select")); //[tui Grid] result message
|
||||
Map<String, Object> data = new HashMap<String, Object>();
|
||||
data.put("contents", xitEntUserRegMngService.findList(searchVO)); //[tui Grid] data-contents
|
||||
Map<String, Integer> pagination = new HashMap<String, Integer>();
|
||||
pagination.put("pageNum", searchVO.getPageNum());
|
||||
pagination.put("totalSize", totCnt);
|
||||
data.put("pagination", pagination); //[tui Grid] data-paging
|
||||
resultMap.put("data", data); //[tui Grid] data
|
||||
/* ***************************
|
||||
* //tui Grid Response Set
|
||||
*************************** */
|
||||
} catch (Exception e) {
|
||||
/**
|
||||
* 반환값 설정
|
||||
*/
|
||||
//tui Grid Response Set
|
||||
resultMap.put("result", false); //[tui Grid] result
|
||||
resultMap.put("message", xitMessageSource.getMessage("fail.common.select")); //[tui Grid] result message
|
||||
}
|
||||
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 요청 페이지로 이동 한다.</pre>
|
||||
* @param page
|
||||
* @param tilesDef 타일즈 적용 Type(none: tiles 미적용)
|
||||
* @param model
|
||||
* @return String 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 8.
|
||||
*/
|
||||
@RequestMapping(name = "", value = "entUserRegMng_{cmd}", method={RequestMethod.GET, RequestMethod.POST})
|
||||
public String entUserRegMng_page(@PathVariable String cmd
|
||||
, @RequestParam(value="tilesDef", required=false, defaultValue="") String tilesDef
|
||||
, @ModelAttribute("userSearchVO") XitEntUserRegMngSearchVO searchVO
|
||||
, @ModelAttribute("entrprsManageVO") XitEntUserRegMngVO vo
|
||||
, @RequestParam(value="selectedId", required=false, defaultValue="") String uniqId
|
||||
, @RequestParam(value="userTyForPassword", required=false, defaultValue="") String userTyForPassword
|
||||
, ModelMap model
|
||||
, HttpServletRequest request) {
|
||||
switch (cmd) {
|
||||
case "input": //등록 페이지
|
||||
/*================
|
||||
* 코드목록 조회
|
||||
================*/
|
||||
model.addAttribute("passwordHint_result" , xitFrameCodeService.findCmmnDetailCodes("XIT022")); //패스워트힌트코드 목록
|
||||
model.addAttribute("sexdstnCode_result" , xitFrameCodeService.findCmmnDetailCodes("XIT014")); //성별구분코드 목록
|
||||
model.addAttribute("entrprsMberSttus_result" , xitFrameCodeService.findCmmnDetailCodes("XIT013")); //사용자상태코드 목록
|
||||
model.addAttribute("entrprsSeCode_result" , xitFrameCodeService.findCmmnDetailCodes("XIT026")); //기업구분코드 목록
|
||||
model.addAttribute("indutyCode_result" , xitFrameCodeService.findCmmnDetailCodes("XIT027")); //업종코드 목록
|
||||
model.addAttribute("groupId_result" , xitFrameCodeService.findGroupCodes("XIT_ORGNZT_INFO")); //그룹정보코드 목록
|
||||
break;
|
||||
case "view": //수정 페이지
|
||||
case "edit": //상세 페이지
|
||||
/*================
|
||||
* 코드목록 조회
|
||||
================*/
|
||||
model.addAttribute("passwordHint_result" , xitFrameCodeService.findCmmnDetailCodes("XIT022")); //패스워트힌트코드 목록
|
||||
model.addAttribute("sexdstnCode_result" , xitFrameCodeService.findCmmnDetailCodes("XIT014")); //성별구분코드 목록
|
||||
model.addAttribute("entrprsMberSttus_result" , xitFrameCodeService.findCmmnDetailCodes("XIT013")); //사용자상태코드 목록
|
||||
model.addAttribute("entrprsSeCode_result" , xitFrameCodeService.findCmmnDetailCodes("XIT026")); //기업구분코드 목록
|
||||
model.addAttribute("indutyCode_result" , xitFrameCodeService.findCmmnDetailCodes("XIT027")); //업종코드 목록
|
||||
model.addAttribute("groupId_result" , xitFrameCodeService.findGroupCodes("XIT_ORGNZT_INFO")); //그룹정보코드 목록
|
||||
if(XitCmmnUtil.notEmpty(uniqId))
|
||||
vo.setUniqId(uniqId);
|
||||
|
||||
XitEntUserRegMngVO xitEntUserRegMngVO = xitEntUserRegMngService.findView(vo);
|
||||
model.addAttribute("entrprsManageVO", xitEntUserRegMngVO);
|
||||
break;
|
||||
default:
|
||||
throw new RuntimeException("유효하지 않은 요청 입니다.");
|
||||
}
|
||||
|
||||
|
||||
if(!"".equals(tilesDef))
|
||||
tilesDef = "."+tilesDef;
|
||||
return FrameworkConstants.FRAMEWORK_JSP_BASE_PATH +"mng/usr/XitEntUserRegMng_"+cmd+tilesDef;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 요청 팝업 페이지 이동 한다.</pre>
|
||||
* @param page
|
||||
* @param model
|
||||
* @return String 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 8.
|
||||
*/
|
||||
@RequestMapping(name = "", value = "entUserRegMng_{cmd}_popup", method={RequestMethod.GET, RequestMethod.POST})
|
||||
public String entUserRegMng_page_popup(
|
||||
@PathVariable String cmd
|
||||
, @ModelAttribute("userSearchVO") XitEntUserRegMngSearchVO searchVO
|
||||
, @ModelAttribute("entrprsManageVO") XitEntUserRegMngVO vo
|
||||
, ModelMap model
|
||||
, @RequestParam(value="selectedId", required=false, defaultValue="") String uniqId
|
||||
, @RequestParam(value="userTyForPassword", required=false, defaultValue="") String userTyForPassword
|
||||
) {
|
||||
|
||||
switch (cmd) {
|
||||
case "editPwd": //수정(비밀번호) 페이지
|
||||
vo.setUserTy(userTyForPassword);
|
||||
model.addAttribute("entrprsManageVO", vo);
|
||||
break;
|
||||
default:
|
||||
throw new RuntimeException("유효하지 않은 요청 입니다.");
|
||||
}
|
||||
return FrameworkConstants.FRAMEWORK_JSP_BASE_PATH +"mng/usr/XitEntUserRegMng_"+cmd+"_popup"+TILES_TYPE.POPUP.getVal();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 기업사용자등록관리 CUD 처리</pre>
|
||||
* @return String 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @throws IOException
|
||||
* @throws ServletException
|
||||
* @date: 2020. 4. 8.
|
||||
*/
|
||||
@RequestMapping(name = "", value = "entUserRegMng_{cmd}_proc", method=RequestMethod.POST)
|
||||
public void entUserRegMng_cmd_proc(@PathVariable String cmd
|
||||
,@ModelAttribute("entrprsManageVO") XitEntUserRegMngVO vo
|
||||
,@RequestParam(value="checkedIdForDel", required=false, defaultValue="") String checkedIdForDel
|
||||
,@RequestParam(value="isViewPage", required=false, defaultValue="N") String isViewPage
|
||||
,@RequestParam Map<String, Object> commandMap
|
||||
,BindingResult bindingResult
|
||||
,Model model
|
||||
,HttpServletRequest request
|
||||
,HttpServletResponse response
|
||||
) throws ServletException, IOException {
|
||||
|
||||
/**
|
||||
* 처리 분기
|
||||
*/
|
||||
String sLocationUrl = "forward:/framework/biz/mng/usr/entUserRegMng_list";
|
||||
String message = null;
|
||||
switch (cmd) {
|
||||
case "insert": //등록
|
||||
//유효성 확인
|
||||
//2020.11.24. 주석처리
|
||||
beanValidator.validate(vo, bindingResult);
|
||||
// beanValidator.validate("entrprsManageVO", vo, bindingResult);
|
||||
if (bindingResult.hasErrors()) {
|
||||
// throw new RuntimeException(xitMessageSource.getMessage("fail.common.insert"));
|
||||
message = xitMessageSource.getMessage("fail.common.insert");
|
||||
sLocationUrl = "forward:/framework/biz/mng/usr/entUserRegMng_input";
|
||||
break;
|
||||
}
|
||||
//처리
|
||||
try {
|
||||
xitEntUserRegMngService.addProc(vo);
|
||||
message = xitMessageSource.getMessage("success.common.insert");
|
||||
} catch (RuntimeException e) {
|
||||
message = e.getMessage();
|
||||
sLocationUrl = "forward:/framework/biz/mng/usr/entUserRegMng_input";
|
||||
} catch (Exception e) {
|
||||
message = xitMessageSource.getMessage("fail.common.insert");
|
||||
sLocationUrl = "forward:/framework/biz/mng/usr/entUserRegMng_input";
|
||||
}
|
||||
break;
|
||||
|
||||
// case "inserts": //다건 등록
|
||||
// break;
|
||||
|
||||
case "update": //수정
|
||||
//유효성 확인
|
||||
//2020.11.24. 주석처리
|
||||
beanValidator.validate(vo, bindingResult);
|
||||
// beanValidator.validate("entrprsManageVO", vo, bindingResult);
|
||||
if (bindingResult.hasErrors()) {
|
||||
message = xitMessageSource.getMessage("fail.common.update");
|
||||
sLocationUrl = "forward:/framework/biz/mng/usr/entUserRegMng_edit";
|
||||
break;
|
||||
}
|
||||
//처리
|
||||
try {
|
||||
xitEntUserRegMngService.modifyProc(vo);
|
||||
message = xitMessageSource.getMessage("success.common.update");
|
||||
sLocationUrl = "Y".equals(isViewPage)?"forward:/framework/biz/mng/usr/entUserRegMng_view":"forward:/framework/biz/mng/usr/entUserRegMng_edit";
|
||||
} catch (RuntimeException e) {
|
||||
message = e.getMessage();
|
||||
sLocationUrl = "Y".equals(isViewPage)?"forward:/framework/biz/mng/usr/entUserRegMng_view":"forward:/framework/biz/mng/usr/entUserRegMng_edit";
|
||||
} catch (Exception e) {
|
||||
message = xitMessageSource.getMessage("fail.common.update");
|
||||
sLocationUrl = "Y".equals(isViewPage)?"forward:/framework/biz/mng/usr/entUserRegMng_view":"forward:/framework/biz/mng/usr/entUserRegMng_edit";
|
||||
}
|
||||
break;
|
||||
|
||||
case "update_pwd": //수정(비밀번호)
|
||||
String oldPassword = (String) commandMap.get("oldPassword");
|
||||
String newPassword = (String) commandMap.get("newPassword");
|
||||
String newPassword2 = (String) commandMap.get("newPassword2");
|
||||
String uniqId = (String) commandMap.get("uniqId");
|
||||
|
||||
try {
|
||||
xitEntUserRegMngService.modifyPwdProc(uniqId, vo.getEntrprsmberId(), oldPassword, newPassword, newPassword2);
|
||||
message = xitMessageSource.getMessage("success.common.update");
|
||||
sLocationUrl = "Y".equals(isViewPage)?"forward:/framework/biz/mng/usr/entUserRegMng_view":"forward:/framework/biz/mng/usr/entUserRegMng_edit";
|
||||
} catch (RuntimeException e) {
|
||||
message = e.getMessage();
|
||||
sLocationUrl = "Y".equals(isViewPage)?"forward:/framework/biz/mng/usr/entUserRegMng_view":"forward:/framework/biz/mng/usr/entUserRegMng_edit";
|
||||
} catch (Exception e) {
|
||||
message = xitMessageSource.getMessage("fail.common.update");
|
||||
sLocationUrl = "Y".equals(isViewPage)?"forward:/framework/biz/mng/usr/entUserRegMng_view":"forward:/framework/biz/mng/usr/entUserRegMng_edit";
|
||||
}
|
||||
break;
|
||||
|
||||
case "delete": //삭제
|
||||
//처리
|
||||
try {
|
||||
xitEntUserRegMngService.removeProc(checkedIdForDel);
|
||||
message = xitMessageSource.getMessage("success.common.delete");
|
||||
break;
|
||||
} catch (RuntimeException e) {
|
||||
message = e.getMessage();
|
||||
sLocationUrl = "Y".equals(isViewPage)?"forward:/framework/biz/mng/usr/entUserRegMng_view":"forward:/framework/biz/mng/usr/entUserRegMng_edit";
|
||||
} catch (Exception e) {
|
||||
message = xitMessageSource.getMessage("fail.common.delete");
|
||||
sLocationUrl = "Y".equals(isViewPage)?"forward:/framework/biz/mng/usr/entUserRegMng_view":"forward:/framework/biz/mng/usr/entUserRegMng_edit";
|
||||
}
|
||||
break;
|
||||
|
||||
case "deletes": //다건 삭제
|
||||
//처리
|
||||
try {
|
||||
xitEntUserRegMngService.removesProc(checkedIdForDel);
|
||||
message = xitMessageSource.getMessage("success.common.delete");
|
||||
} catch (RuntimeException e) {
|
||||
message = e.getMessage();
|
||||
} catch (Exception e) {
|
||||
message = xitMessageSource.getMessage("fail.common.delete");
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
new RuntimeException("유효하지 않은 요청 입니다.");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 응답 설정
|
||||
*/
|
||||
/* ============================
|
||||
* 2020.09.10 박민규
|
||||
* 서버 호출 방식에 관계 없이 응답처리가 가능하도록 개선
|
||||
* -기존 호출방식도 유지하며 ajax로 서버호출 시 json 으로 응답처리가 가능하도록 개선
|
||||
* [AS-IS] 반환타입 String, return url에 "forward"구문으로 처리
|
||||
* [TO-BE] 반환타입 void, DispatchServlet으로 forward 처리, ajax 호출인 경우 json응답처리 서비스로 forward
|
||||
============================ */
|
||||
//2020.09.10 주석처리
|
||||
// model.addAttribute("message", message);
|
||||
// return sLocationUrl;
|
||||
model.addAttribute("message", message);
|
||||
if(AjaxUtils.isAjaxRequest(request)){ //ajax 요청시
|
||||
//반환 데이터 설정
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
resultMap.put("message", message);
|
||||
XitCmmnUtil.forwardForAjaxRequest(request, response, resultMap);
|
||||
}else { //submit 요청 시
|
||||
XitCmmnUtil.forwardForSubmitRequest(request, response, sLocationUrl, model.asMap());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,394 +0,0 @@
|
||||
package kr.xit.fims.framework.biz.mng.user.web;
|
||||
|
||||
import cokr.xit.foundation.web.AbstractController;
|
||||
import kr.xit.fims.framework.biz.cmm.service.XitFrameCodeService;
|
||||
import kr.xit.fims.framework.biz.mng.user.XitGnrUserRegMngSearchVO;
|
||||
import kr.xit.fims.framework.biz.mng.user.XitGnrUserRegMngVO;
|
||||
import kr.xit.fims.framework.biz.mng.user.service.XitGnrUserRegMngService;
|
||||
import kr.xit.fims.framework.core.constants.FrameworkConstants;
|
||||
import kr.xit.fims.framework.core.constants.FrameworkConstants.TILES_TYPE;
|
||||
import kr.xit.fims.framework.core.message.XitMessageSource;
|
||||
import kr.xit.fims.framework.core.utils.XitCmmnUtil;
|
||||
import kr.xit.fims.framework.core.validation.XitBeanValidator;
|
||||
import kr.xit.fims.framework.support.util.AjaxUtils;
|
||||
import org.egovframe.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.validation.BindingResult;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.sql.SQLException;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
*
|
||||
* @업무그룹명: 일반사용자등록관리 Controller
|
||||
* @설명:
|
||||
* @최초작성일: 2020. 4. 8. 오후 3:32:51
|
||||
* @최초작성자: 박민규
|
||||
* @author (주)엑스아이티 개발팀
|
||||
* @since 2002. 2. 2.
|
||||
* @version 1.0 Copyright(c) XIT All rights reserved.
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping(name = "", value = "/framework/biz/mng/usr/")
|
||||
public class XitGnrUserRegMngController extends AbstractController {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(XitGnrUserRegMngController.class);
|
||||
|
||||
@Resource
|
||||
private XitGnrUserRegMngService xitGnrUserRegMngService;
|
||||
@Autowired
|
||||
private XitBeanValidator beanValidator;
|
||||
@Resource(name = "xitMessageSource")
|
||||
XitMessageSource xitMessageSource;
|
||||
@Resource
|
||||
private XitFrameCodeService xitFrameCodeService;
|
||||
|
||||
@Value("#{prop['Globals.Xit.Pagination.PageUnit']}")
|
||||
private int PAGE_UNIT;
|
||||
@Value("#{prop['Globals.Xit.Pagination.PageSize']}")
|
||||
private int PAGE_SIZE;
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 일반사용자등록관리 목록 페이지</pre>
|
||||
* @return String 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 8.
|
||||
*/
|
||||
@RequestMapping(name = "", value = "gnrUserRegMng_list", method={RequestMethod.GET, RequestMethod.POST})
|
||||
public String gnrUserRegMng_list(@ModelAttribute("userSearchVO") XitGnrUserRegMngSearchVO searchVO, ModelMap model) {
|
||||
|
||||
// 내역 조회
|
||||
|
||||
searchVO.setPageUnit(PAGE_UNIT);
|
||||
searchVO.setPageSize(PAGE_SIZE);
|
||||
|
||||
/** pageing */
|
||||
PaginationInfo paginationInfo = new PaginationInfo();
|
||||
paginationInfo.setCurrentPageNo(searchVO.getPageIndex());
|
||||
paginationInfo.setRecordCountPerPage(searchVO.getPageUnit());
|
||||
paginationInfo.setPageSize(searchVO.getPageSize());
|
||||
|
||||
searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
|
||||
searchVO.setLastIndex(paginationInfo.getLastRecordIndex());
|
||||
searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
|
||||
|
||||
model.addAttribute("resultList", xitGnrUserRegMngService.findList(searchVO));
|
||||
|
||||
int totCnt = xitGnrUserRegMngService.findListTotCnt(searchVO);
|
||||
paginationInfo.setTotalRecordCount(totCnt);
|
||||
model.addAttribute("paginationInfo", paginationInfo);
|
||||
|
||||
model.addAttribute("mberSttus_result", xitFrameCodeService.findCmmnDetailCodes("XIT013"));//사용자상태코드목록
|
||||
|
||||
return FrameworkConstants.FRAMEWORK_JSP_BASE_PATH +"mng/usr/XitGnrUserRegMng_list";
|
||||
}
|
||||
/**
|
||||
* <pre>메소드 설명: 일반사용자등록관리 목록 페이지 조회</pre>
|
||||
* @return String 요청처리 후 응답객체
|
||||
* @author: 최유수
|
||||
* @date: 2020. 7. 29.
|
||||
*/
|
||||
@RequestMapping(name = "", value = "gnrUserRegMng_list.ajax", method={RequestMethod.GET, RequestMethod.POST})
|
||||
@ResponseBody
|
||||
public Map<String, Object> gnrUserRegMng_listAjax(HttpServletRequest req, @ModelAttribute("userSearchVO") XitGnrUserRegMngSearchVO searchVO, ModelMap model) throws IOException, SQLException, RuntimeException {
|
||||
|
||||
/** paging */
|
||||
PaginationInfo paginationInfo = new PaginationInfo();
|
||||
paginationInfo.setCurrentPageNo(searchVO.getPageNum()>-1?searchVO.getPageNum():searchVO.getPageIndex());
|
||||
paginationInfo.setRecordCountPerPage(searchVO.getFetchSize()>-1?searchVO.getFetchSize():searchVO.getPageUnit());
|
||||
paginationInfo.setPageSize(searchVO.getPageSize());
|
||||
searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
|
||||
searchVO.setLastIndex(paginationInfo.getLastRecordIndex());
|
||||
searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
try {
|
||||
/**
|
||||
* 조회
|
||||
*/
|
||||
int totCnt = xitGnrUserRegMngService.findListTotCnt(searchVO);
|
||||
paginationInfo.setTotalRecordCount(totCnt);
|
||||
/**
|
||||
* 반환값 설정
|
||||
*/
|
||||
/* ***************************
|
||||
* tui Grid Response Set
|
||||
*************************** */
|
||||
resultMap.put("result", true); //[tui Grid] result
|
||||
resultMap.put("message", xitMessageSource.getMessage("success.common.select")); //[tui Grid] result message
|
||||
Map<String, Object> data = new HashMap<String, Object>();
|
||||
data.put("contents", xitGnrUserRegMngService.findList(searchVO)); //[tui Grid] data-contents
|
||||
Map<String, Integer> pagination = new HashMap<String, Integer>();
|
||||
pagination.put("pageNum", searchVO.getPageNum());
|
||||
pagination.put("totalSize", totCnt);
|
||||
data.put("pagination", pagination); //[tui Grid] data-paging
|
||||
resultMap.put("data", data); //[tui Grid] data
|
||||
/* ***************************
|
||||
* //tui Grid Response Set
|
||||
*************************** */
|
||||
} catch (Exception e) {
|
||||
/**
|
||||
* 반환값 설정
|
||||
*/
|
||||
//tui Grid Response Set
|
||||
resultMap.put("result", false); //[tui Grid] result
|
||||
resultMap.put("message", xitMessageSource.getMessage("fail.common.select")); //[tui Grid] result message
|
||||
}
|
||||
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 요청 페이지로 이동 한다.</pre>
|
||||
* @param cmd
|
||||
* @param tilesDef 타일즈 적용 Type(none: tiles 미적용)
|
||||
* @param model
|
||||
* @return String 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 8.
|
||||
*/
|
||||
@RequestMapping(name = "", value = "gnrUserRegMng_{cmd}", method={RequestMethod.GET, RequestMethod.POST})
|
||||
public String gnrUserRegMng_page(@PathVariable String cmd
|
||||
, @RequestParam(value="tilesDef", required=false, defaultValue="") String tilesDef
|
||||
, @ModelAttribute("userSearchVO") XitGnrUserRegMngSearchVO searchVO
|
||||
, @ModelAttribute("mberManageVO") XitGnrUserRegMngVO vo
|
||||
, @RequestParam(value="selectedId", required=false, defaultValue="") String uniqId
|
||||
, @RequestParam(value="userTyForPassword", required=false, defaultValue="") String userTyForPassword
|
||||
, ModelMap model
|
||||
, HttpServletRequest request) {
|
||||
switch (cmd) {
|
||||
case "input": //등록 페이지
|
||||
/*================
|
||||
* 코드목록 조회
|
||||
================*/
|
||||
model.addAttribute("passwordHint_result" , xitFrameCodeService.findCmmnDetailCodes("XIT022")); //패스워트힌트코드 목록
|
||||
model.addAttribute("sexdstnCode_result" , xitFrameCodeService.findCmmnDetailCodes("XIT014")); //성별구분코드 목록
|
||||
model.addAttribute("mberSttus_result" , xitFrameCodeService.findCmmnDetailCodes("XIT013")); //사용자상태코드 목록
|
||||
model.addAttribute("groupId_result" , xitFrameCodeService.findGroupCodes("XIT_ORGNZT_INFO")); //그룹정보코드 목록
|
||||
break;
|
||||
case "view": //수정 페이지
|
||||
case "edit": //상세 페이지
|
||||
/*================
|
||||
* 코드목록 조회
|
||||
================*/
|
||||
model.addAttribute("passwordHint_result" , xitFrameCodeService.findCmmnDetailCodes("XIT022")); //패스워트힌트코드 목록
|
||||
model.addAttribute("sexdstnCode_result" , xitFrameCodeService.findCmmnDetailCodes("XIT014")); //성별구분코드 목록
|
||||
model.addAttribute("mberSttus_result" , xitFrameCodeService.findCmmnDetailCodes("XIT013")); //사용자상태코드 목록
|
||||
model.addAttribute("groupId_result" , xitFrameCodeService.findGroupCodes("XIT_ORGNZT_INFO")); //그룹정보코드 목록
|
||||
if(XitCmmnUtil.notEmpty(uniqId))
|
||||
vo.setUniqId(uniqId);
|
||||
|
||||
XitGnrUserRegMngVO xitGnrUserRegMngVO = xitGnrUserRegMngService.findView(vo);
|
||||
model.addAttribute("mberManageVO", xitGnrUserRegMngVO);
|
||||
break;
|
||||
default:
|
||||
throw new RuntimeException("유효하지 않은 요청 입니다.");
|
||||
}
|
||||
|
||||
|
||||
if(!"".equals(tilesDef))
|
||||
tilesDef = "."+tilesDef;
|
||||
return FrameworkConstants.FRAMEWORK_JSP_BASE_PATH +"mng/usr/XitGnrUserRegMng_"+cmd+tilesDef;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 요청 팝업 페이지 이동 한다.</pre>
|
||||
* @param cmd
|
||||
* @param model
|
||||
* @return String 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @date: 2020. 4. 8.
|
||||
*/
|
||||
@RequestMapping(name = "", value = "gnrUserRegMng_{cmd}_popup", method={RequestMethod.GET, RequestMethod.POST})
|
||||
public String gnrUserRegMng_page_popup(
|
||||
@PathVariable String cmd
|
||||
, @ModelAttribute("userSearchVO") XitGnrUserRegMngSearchVO searchVO
|
||||
, @ModelAttribute("mberManageVO") XitGnrUserRegMngVO vo
|
||||
, ModelMap model
|
||||
, @RequestParam(value="selectedId", required=false, defaultValue="") String uniqId
|
||||
, @RequestParam(value="userTyForPassword", required=false, defaultValue="") String userTyForPassword
|
||||
) {
|
||||
|
||||
switch (cmd) {
|
||||
case "editPwd": //수정(비밀번호) 페이지
|
||||
vo.setUserTy(userTyForPassword);
|
||||
model.addAttribute("mberManageVO", vo);
|
||||
break;
|
||||
default:
|
||||
throw new RuntimeException("유효하지 않은 요청 입니다.");
|
||||
}
|
||||
return FrameworkConstants.FRAMEWORK_JSP_BASE_PATH +"mng/usr/XitGnrUserRegMng_"+cmd+"_popup"+TILES_TYPE.POPUP.getVal();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* <pre>메소드 설명: 일반사용자등록관리 CUD 처리</pre>
|
||||
* @return String 요청처리 후 응답객체
|
||||
* @author: 박민규
|
||||
* @throws IOException
|
||||
* @throws ServletException
|
||||
* @date: 2020. 4. 8.
|
||||
*/
|
||||
@RequestMapping(name = "", value = "gnrUserRegMng_{cmd}_proc", method=RequestMethod.POST)
|
||||
public void gnrUserRegMng_cmd_proc(@PathVariable String cmd
|
||||
,@ModelAttribute("mberManageVO") XitGnrUserRegMngVO vo
|
||||
,@RequestParam(value="checkedIdForDel", required=false, defaultValue="") String checkedIdForDel
|
||||
,@RequestParam(value="isViewPage", required=false, defaultValue="N") String isViewPage
|
||||
,@RequestParam Map<String, Object> commandMap
|
||||
,BindingResult bindingResult
|
||||
,Model model
|
||||
,HttpServletRequest request
|
||||
,HttpServletResponse response
|
||||
) throws ServletException, IOException {
|
||||
|
||||
/**
|
||||
* 처리 분기
|
||||
*/
|
||||
String sLocationUrl = "forward:/framework/biz/mng/usr/gnrUserRegMng_list";
|
||||
String message = null;
|
||||
switch (cmd) {
|
||||
case "insert": //등록
|
||||
//유효성 확인
|
||||
//2020.11.24. 주석처리
|
||||
beanValidator.validate(vo, bindingResult);
|
||||
// beanValidator.validate("mberManageVO", vo, bindingResult);
|
||||
if (bindingResult.hasErrors()) {
|
||||
// throw new RuntimeException(xitMessageSource.getMessage("fail.common.insert"));
|
||||
message = xitMessageSource.getMessage("fail.common.insert");
|
||||
sLocationUrl = "forward:/framework/biz/mng/usr/gnrUserRegMng_input";
|
||||
break;
|
||||
}
|
||||
//처리
|
||||
try {
|
||||
xitGnrUserRegMngService.addProc(vo);
|
||||
message = xitMessageSource.getMessage("success.common.insert");
|
||||
} catch (RuntimeException e) {
|
||||
message = e.getMessage();
|
||||
sLocationUrl = "forward:/framework/biz/mng/usr/gnrUserRegMng_input";
|
||||
} catch (Exception e) {
|
||||
message = xitMessageSource.getMessage("fail.common.insert");
|
||||
sLocationUrl = "forward:/framework/biz/mng/usr/gnrUserRegMng_input";
|
||||
}
|
||||
break;
|
||||
|
||||
// case "inserts": //다건 등록
|
||||
// break;
|
||||
|
||||
case "update": //수정
|
||||
//유효성 확인
|
||||
//2020.11.24. 주석처리
|
||||
beanValidator.validate(vo, bindingResult);
|
||||
// beanValidator.validate("mberManageVO", vo, bindingResult);
|
||||
if (bindingResult.hasErrors()) {
|
||||
message = xitMessageSource.getMessage("fail.common.update");
|
||||
sLocationUrl = "forward:/framework/biz/mng/usr/gnrUserRegMng_edit";
|
||||
break;
|
||||
}
|
||||
//처리
|
||||
try {
|
||||
xitGnrUserRegMngService.modifyProc(vo);
|
||||
message = xitMessageSource.getMessage("success.common.update");
|
||||
sLocationUrl = "Y".equals(isViewPage)?"forward:/framework/biz/mng/usr/gnrUserRegMng_view":"forward:/framework/biz/mng/usr/gnrUserRegMng_edit";
|
||||
} catch (RuntimeException e) {
|
||||
message = e.getMessage();
|
||||
sLocationUrl = "Y".equals(isViewPage)?"forward:/framework/biz/mng/usr/gnrUserRegMng_view":"forward:/framework/biz/mng/usr/gnrUserRegMng_edit";
|
||||
} catch (Exception e) {
|
||||
message = xitMessageSource.getMessage("fail.common.update");
|
||||
sLocationUrl = "Y".equals(isViewPage)?"forward:/framework/biz/mng/usr/gnrUserRegMng_view":"forward:/framework/biz/mng/usr/gnrUserRegMng_edit";
|
||||
}
|
||||
break;
|
||||
|
||||
case "update_pwd": //수정(비밀번호)
|
||||
String oldPassword = (String) commandMap.get("oldPassword");
|
||||
String newPassword = (String) commandMap.get("newPassword");
|
||||
String newPassword2 = (String) commandMap.get("newPassword2");
|
||||
String uniqId = (String) commandMap.get("uniqId");
|
||||
|
||||
try {
|
||||
xitGnrUserRegMngService.modifyPwdProc(uniqId, vo.getMberId(), oldPassword, newPassword, newPassword2);
|
||||
message = xitMessageSource.getMessage("success.common.update");
|
||||
sLocationUrl = "Y".equals(isViewPage)?"forward:/framework/biz/mng/usr/gnrUserRegMng_view":"forward:/framework/biz/mng/usr/gnrUserRegMng_edit";
|
||||
} catch (RuntimeException e) {
|
||||
message = e.getMessage();
|
||||
sLocationUrl = "Y".equals(isViewPage)?"forward:/framework/biz/mng/usr/gnrUserRegMng_view":"forward:/framework/biz/mng/usr/gnrUserRegMng_edit";
|
||||
} catch (Exception e) {
|
||||
message = xitMessageSource.getMessage("fail.common.update");
|
||||
sLocationUrl = "Y".equals(isViewPage)?"forward:/framework/biz/mng/usr/gnrUserRegMng_view":"forward:/framework/biz/mng/usr/gnrUserRegMng_edit";
|
||||
}
|
||||
break;
|
||||
|
||||
case "delete": //삭제
|
||||
//처리
|
||||
try {
|
||||
xitGnrUserRegMngService.removeProc(checkedIdForDel);
|
||||
message = xitMessageSource.getMessage("success.common.delete");
|
||||
break;
|
||||
} catch (RuntimeException e) {
|
||||
message = e.getMessage();
|
||||
sLocationUrl = "Y".equals(isViewPage)?"forward:/framework/biz/mng/usr/gnrUserRegMng_view":"forward:/framework/biz/mng/usr/gnrUserRegMng_edit";
|
||||
} catch (Exception e) {
|
||||
message = xitMessageSource.getMessage("fail.common.delete");
|
||||
sLocationUrl = "Y".equals(isViewPage)?"forward:/framework/biz/mng/usr/gnrUserRegMng_view":"forward:/framework/biz/mng/usr/gnrUserRegMng_edit";
|
||||
}
|
||||
break;
|
||||
|
||||
case "deletes": //다건 삭제
|
||||
//처리
|
||||
try {
|
||||
xitGnrUserRegMngService.removesProc(checkedIdForDel);
|
||||
message = xitMessageSource.getMessage("success.common.delete");
|
||||
} catch (RuntimeException e) {
|
||||
message = e.getMessage();
|
||||
} catch (Exception e) {
|
||||
message = xitMessageSource.getMessage("fail.common.delete");
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
new RuntimeException("유효하지 않은 요청 입니다.");
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 응답 설정
|
||||
*/
|
||||
/* ============================
|
||||
* 2020.09.10 박민규
|
||||
* 서버 호출 방식에 관계 없이 응답처리가 가능하도록 개선
|
||||
* -기존 호출방식도 유지하며 ajax로 서버호출 시 json 으로 응답처리가 가능하도록 개선
|
||||
* [AS-IS] 반환타입 String, return url에 "forward"구문으로 처리
|
||||
* [TO-BE] 반환타입 void, DispatchServlet으로 forward 처리, ajax 호출인 경우 json응답처리 서비스로 forward
|
||||
============================ */
|
||||
//2020.09.10 주석처리
|
||||
// model.addAttribute("message", message);
|
||||
// return sLocationUrl;
|
||||
model.addAttribute("message", message);
|
||||
if(AjaxUtils.isAjaxRequest(request)){ //ajax 요청시
|
||||
//반환 데이터 설정
|
||||
Map<String, Object> resultMap = new HashMap<String, Object>();
|
||||
resultMap.put("message", message);
|
||||
XitCmmnUtil.forwardForAjaxRequest(request, response, resultMap);
|
||||
}else { //submit 요청 시
|
||||
XitCmmnUtil.forwardForSubmitRequest(request, response, sLocationUrl, model.asMap());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,119 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="kr.xit.fims.framework.biz.mng.user.dao.XitEntUserRegMngMapper">
|
||||
<!-- SQL 페이징 코드 -->
|
||||
<sql id="pageBefore">
|
||||
SELECT LIST.* FROM(
|
||||
</sql>
|
||||
|
||||
<sql id="pageAfter">
|
||||
) LIST LIMIT #{firstIndex}, #{recordCountPerPage}
|
||||
</sql>
|
||||
|
||||
|
||||
<sql id="findList_SELECT">
|
||||
SELECT
|
||||
A.ESNTL_ID AS "uniqId"
|
||||
,'USR02' AS "userTy"
|
||||
,A.ENTRPRS_MBER_ID AS "userId"
|
||||
,A.CMPNY_NM AS "cmpnyNm"
|
||||
,A.APPLCNT_NM AS "userNm"
|
||||
,A.APPLCNT_EMAIL_ADRES AS "emailAdres"
|
||||
,A.AREA_NO AS "areaNo"
|
||||
,A.ENTRPRS_MIDDLE_TELNO AS "middleTelno"
|
||||
,A.ENTRPRS_END_TELNO AS "endTelno"
|
||||
,'' AS "mbtlnum"
|
||||
,A.GROUP_ID AS "groupId"
|
||||
,A.ENTRPRS_MBER_STTUS AS "sttus"
|
||||
,A.REG_DT AS "regDt"
|
||||
,(SELECT CODE_VAL FROM tb_cmn_code WHERE USE_YN = 'Y' AND GRP_ID = 'XIT013' AND CODE = A.ENTRPRS_MBER_STTUS) AS "userSttusCode"
|
||||
</sql>
|
||||
<sql id="findList_FROM">
|
||||
FROM XIT_ENTRPRS_MBER A
|
||||
</sql>
|
||||
<sql id="findList_WHERE">
|
||||
<if test="'0'.toString() != sbscrbSttus">
|
||||
AND A.ENTRPRS_MBER_STTUS LIKE #{sbscrbSttus}
|
||||
</if>
|
||||
<if test="@kr.xit.fims.framework.core.utils.XitCmmnUtil@notEmpty(searchKeyword)">
|
||||
<choose>
|
||||
<when test="'0'.toString() == searchCondition">
|
||||
AND A.ENTRPRS_MBER_ID LIKE #{searchKeyword}
|
||||
</when>
|
||||
<when test="'1'.toString() == searchCondition">
|
||||
AND A.APPLCNT_NM LIKE CONCAT('%',#{searchKeyword},'%')
|
||||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
</sql>
|
||||
|
||||
|
||||
|
||||
<select id="findList" resultType="kr.xit.fims.framework.biz.mng.user.XitEntUserRegMngVO">
|
||||
/** XitEntUserRegMngMapper.findList */
|
||||
/** 기업사용자등록관리 목록 조회 */
|
||||
<if test="searchGubun == 'list'">
|
||||
<include refid="pageBefore" />
|
||||
</if>
|
||||
|
||||
<include refid="findList_SELECT"/>
|
||||
<include refid="findList_FROM"/>
|
||||
WHERE 1 = 1
|
||||
<include refid="findList_WHERE"/>
|
||||
ORDER BY 13 DESC
|
||||
|
||||
<if test="searchGubun == 'list'">
|
||||
<include refid="pageAfter" />
|
||||
</if>
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
<select id="findListTotCnt" resultType="int">
|
||||
/** XitEntUserRegMngMapper.findListTotCnt */
|
||||
/** 기업사용자등록관리 목록 총건수 조회 */
|
||||
SELECT COUNT(1) AS "CNT"
|
||||
<include refid="findList_FROM"/>
|
||||
WHERE 1=1
|
||||
<include refid="findList_WHERE"/>
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
<select id="findView" resultType="kr.xit.fims.framework.biz.mng.user.XitEntUserRegMngVO">
|
||||
/** XitEntUserRegMngMapper.findView */
|
||||
/** 기업사용자등록관리 상세정보 조회 */
|
||||
SELECT
|
||||
A.ESNTL_ID AS "uniqId"
|
||||
,'USR02' AS "userTy"
|
||||
,A.ENTRPRS_MBER_ID AS "entrprsmberId"
|
||||
,A.ENTRPRS_SE_CODE AS "entrprsSeCode"
|
||||
,A.BIZRNO AS "bizrno"
|
||||
,A.JURIRNO AS "jurirno"
|
||||
,A.CMPNY_NM AS "cmpnyNm"
|
||||
,A.CXFC AS "cxfc"
|
||||
,A.ZIP AS "zip"
|
||||
,A.ADRES AS "adres"
|
||||
,A.ENTRPRS_MIDDLE_TELNO AS "entrprsMiddleTelno"
|
||||
,A.FXNUM AS "fxnum"
|
||||
,A.INDUTY_CODE AS "indutyCode"
|
||||
,A.APPLCNT_NM AS "applcntNm"
|
||||
,A.REG_DT AS "regDt"
|
||||
,A.ENTRPRS_MBER_STTUS AS "entrprsMberSttus"
|
||||
,A.ENTRPRS_MBER_PASSWORD AS "entrprsMberPassword"
|
||||
,A.ENTRPRS_MBER_PASSWORD_HINT AS "entrprsMberPasswordHint"
|
||||
,A.ENTRPRS_MBER_PASSWORD_CNSR AS "entrprsMberPasswordCnsr"
|
||||
,A.GROUP_ID AS "groupId"
|
||||
,A.DETAIL_ADRES AS "detailAdres"
|
||||
,A.ENTRPRS_END_TELNO AS "entrprsEndTelno"
|
||||
,A.AREA_NO AS "areaNo"
|
||||
,A.APPLCNT_IHIDNUM AS "applcntIhidnum"
|
||||
,A.APPLCNT_EMAIL_ADRES AS "applcntEmailAdres"
|
||||
<!-- ,A.LOCK_AT AS "lockAt" -->
|
||||
<include refid="findList_FROM"/>
|
||||
WHERE A.ESNTL_ID = #{uniqId}
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
</mapper>
|
@ -1,115 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="kr.xit.fims.framework.biz.mng.user.dao.XitGnrUserRegMngMapper">
|
||||
<!-- SQL 페이징 코드 -->
|
||||
<sql id="pageBefore">
|
||||
SELECT LIST.* FROM(
|
||||
</sql>
|
||||
|
||||
<sql id="pageAfter">
|
||||
) LIST LIMIT #{firstIndex}, #{recordCountPerPage}
|
||||
</sql>
|
||||
|
||||
|
||||
<sql id="findList_SELECT">
|
||||
SELECT
|
||||
A.ESNTL_ID AS "uniqId"
|
||||
,'USR01' AS "userTy"
|
||||
,A.MBER_ID AS "userId"
|
||||
,A.MBER_NM AS "userNm"
|
||||
,A.MBER_EMAIL_ADRES AS "emailAdres"
|
||||
,A.AREA_NO AS "areaNo"
|
||||
,A.MIDDLE_TELNO AS "middleTelno"
|
||||
,A.END_TELNO AS "endTelno"
|
||||
,A.MBTLNUM AS "mbtlnum"
|
||||
,A.GROUP_ID AS "groupId"
|
||||
,A.MBER_STTUS AS "sttus"
|
||||
,A.REG_DT AS "regDt"
|
||||
,(SELECT CODE_VAL FROM tb_cmn_code WHERE USE_YN = 'Y' AND GRP_ID = 'XIT013' AND CODE = A.MBER_STTUS) AS "userSttusCode"
|
||||
</sql>
|
||||
<sql id="findList_FROM">
|
||||
|
||||
FROM XIT_GNRL_MBER A
|
||||
</sql>
|
||||
<sql id="findList_WHERE">
|
||||
<if test="'0'.toString() != sbscrbSttus">
|
||||
AND A.MBER_STTUS LIKE #{sbscrbSttus}
|
||||
</if>
|
||||
<if test="@kr.xit.fims.framework.core.utils.XitCmmnUtil@notEmpty(searchKeyword)">
|
||||
<choose>
|
||||
<when test="'0'.toString() == searchCondition">
|
||||
AND A.MBER_ID LIKE #{searchKeyword}
|
||||
</when>
|
||||
<when test="'1'.toString() == searchCondition">
|
||||
AND A.MBER_NM LIKE CONCAT('%',#{searchKeyword},'%')
|
||||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
</sql>
|
||||
|
||||
|
||||
|
||||
<select id="findList" resultType="kr.xit.fims.framework.biz.mng.user.XitGnrUserRegMngVO">
|
||||
/** XitGnrUserRegMngMapper.findList */
|
||||
/** 일반사용자등록관리 목록 조회 */
|
||||
<if test="searchGubun == 'list'">
|
||||
<include refid="pageBefore" />
|
||||
</if>
|
||||
|
||||
<include refid="findList_SELECT"/>
|
||||
<include refid="findList_FROM"/>
|
||||
WHERE 1 = 1
|
||||
<include refid="findList_WHERE"/>
|
||||
ORDER BY 12 DESC
|
||||
|
||||
<if test="searchGubun == 'list'">
|
||||
<include refid="pageAfter" />
|
||||
</if>
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
<select id="findListTotCnt" resultType="int">
|
||||
/** XitGnrUserRegMngMapper.findListTotCnt */
|
||||
/** 일반사용자등록관리 목록 총건수 조회 */
|
||||
SELECT COUNT(1) AS "CNT"
|
||||
<include refid="findList_FROM"/>
|
||||
WHERE 1=1
|
||||
<include refid="findList_WHERE"/>
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
<select id="findView" resultType="kr.xit.fims.framework.biz.mng.user.XitGnrUserRegMngVO">
|
||||
/** XitGnrUserRegMngMapper.findView */
|
||||
/** 일반사용자등록관리 상세정보 조회 */
|
||||
SELECT
|
||||
A.ESNTL_ID AS "uniqId"
|
||||
,'USR01' AS "userTy"
|
||||
,A.MBER_ID AS "mberId"
|
||||
,A.MBER_NM AS "mberNm"
|
||||
,A.PASSWORD AS "password"
|
||||
,A.PASSWORD_HINT AS "passwordHint"
|
||||
,A.PASSWORD_CNSR AS "passwordCnsr"
|
||||
,A.IHIDNUM AS "ihidnum"
|
||||
,A.SEXDSTN_CODE AS "sexdstnCode"
|
||||
,A.ZIP AS "zip"
|
||||
,A.ADRES AS "adres"
|
||||
,A.AREA_NO AS "areaNo"
|
||||
,A.MBER_STTUS AS "mberSttus"
|
||||
,A.DETAIL_ADRES AS "detailAdres"
|
||||
,A.END_TELNO AS "endTelno"
|
||||
,A.MBTLNUM AS "mbtlnum"
|
||||
,A.GROUP_ID AS "groupId"
|
||||
,A.MBER_FXNUM AS "mberFxnum"
|
||||
,A.MBER_EMAIL_ADRES AS "mberEmailAdres"
|
||||
,A.MIDDLE_TELNO AS "middleTelno"
|
||||
,A.REG_DT AS "regDt"
|
||||
<!-- ,A.LOCK_AT AS "lockAt" -->
|
||||
<include refid="findList_FROM"/>
|
||||
WHERE A.ESNTL_ID = #{uniqId}
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
</mapper>
|
Loading…
Reference in New Issue