[20220216 이다솜] 권한 insert update 추가 코밋
Index: base3.10/src/main/java/egovframework/com/sec/rgm/service/impl/AuthorGroupDAO.java
===================================================================
--- base3.10/src/main/java/egovframework/com/sec/rgm/service/impl/AuthorGroupDAO.java (revision 77)
+++ base3.10/src/main/java/egovframework/com/sec/rgm/service/impl/AuthorGroupDAO.java (revision 78)
@@ -2,11 +2,12 @@
import java.util.List;
+import org.springframework.stereotype.Repository;
+
import egovframework.com.cmm.service.impl.EgovComAbstractDAO;
import egovframework.com.sec.rgm.service.AuthorGroup;
import egovframework.com.sec.rgm.service.AuthorGroupVO;
-
-import org.springframework.stereotype.Repository;
+import egovframework.rte.fdl.cmmn.exception.EgovBizException;
/**
* 권한그룹에 대한 DAO 클래스를 정의한다.
@@ -17,7 +18,7 @@
*
* <pre>
* << 개정이력(Modification Information) >>
- *
+ *
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.20 이문준 최초 생성
@@ -38,7 +39,7 @@
public List<AuthorGroupVO> selectAuthorGroupList(AuthorGroupVO authorGroupVO) throws Exception {
return (List<AuthorGroupVO>) list("authorGroupDAO.selectAuthorGroupList", authorGroupVO);
}
-
+
/**
* 그룹에 권한정보를 할당하여 데이터베이스에 등록
* @param authorGroup AuthorGroup
@@ -47,7 +48,7 @@
public void insertAuthorGroup(AuthorGroup authorGroup) throws Exception {
insert("authorGroupDAO.insertAuthorGroup", authorGroup);
}
-
+
/**
* 화면에 조회된 그룹권한정보를 수정하여 항목의 정합성을 체크하고 수정된 데이터를 데이터베이스에 반영
* @param authorGroup AuthorGroup
@@ -56,7 +57,7 @@
public void updateAuthorGroup(AuthorGroup authorGroup) throws Exception {
update("authorGroupDAO.updateAuthorGroup", authorGroup);
}
-
+
/**
* 그룹별 할당된 시스템 메뉴 접근권한을 삭제
* @param authorGroup AuthorGroup
@@ -75,4 +76,13 @@
public int selectAuthorGroupListTotCnt(AuthorGroupVO authorGroupVO) throws Exception {
return (Integer)selectOne("authorGroupDAO.selectAuthorGroupListTotCnt", authorGroupVO);
}
+
+ /**
+ * 권한 조회 및 등록
+ * @param emplyrId
+ * @return
+ */
+ public AuthorGroupVO selectUserManageAuthor(String esntlId) throws EgovBizException {
+ return selectOne("authorGroupDAO.selectUserManageAuthor", esntlId);
+ }
}
\ No newline at end of file
Index: base3.10/src/main/java/egovframework/com/sec/rgm/service/impl/EgovAuthorGroupServiceImpl.java
===================================================================
--- base3.10/src/main/java/egovframework/com/sec/rgm/service/impl/EgovAuthorGroupServiceImpl.java (revision 77)
+++ base3.10/src/main/java/egovframework/com/sec/rgm/service/impl/EgovAuthorGroupServiceImpl.java (revision 78)
@@ -2,15 +2,15 @@
import java.util.List;
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Service;
+
import egovframework.com.sec.rgm.service.AuthorGroup;
import egovframework.com.sec.rgm.service.AuthorGroupVO;
import egovframework.com.sec.rgm.service.EgovAuthorGroupService;
-
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
-
-import javax.annotation.Resource;
-
-import org.springframework.stereotype.Service;
+import egovframework.rte.fdl.cmmn.exception.EgovBizException;
/**
* 권한그룹에 관한 ServiceImpl 클래스를 정의한다.
@@ -21,7 +21,7 @@
*
* <pre>
* << 개정이력(Modification Information) >>
- *
+ *
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.11 이문준 최초 생성
@@ -31,7 +31,7 @@
@Service("egovAuthorGroupService")
public class EgovAuthorGroupServiceImpl extends EgovAbstractServiceImpl implements EgovAuthorGroupService {
-
+
@Resource(name="authorGroupDAO")
private AuthorGroupDAO authorGroupDAO;
@@ -41,24 +41,27 @@
* @return List<AuthorGroupVO>
* @exception Exception
*/
+ @Override
public List<AuthorGroupVO> selectAuthorGroupList(AuthorGroupVO authorGroupVO) throws Exception{
return authorGroupDAO.selectAuthorGroupList(authorGroupVO);
}
-
+
/**
* 그룹에 권한정보를 할당하여 데이터베이스에 등록
* @param authorGroup AuthorGroup
* @exception Exception
*/
+ @Override
public void insertAuthorGroup(AuthorGroup authorGroup) throws Exception{
authorGroupDAO.insertAuthorGroup(authorGroup);
}
-
+
/**
* 화면에 조회된 그룹권한정보를 수정하여 항목의 정합성을 체크하고 수정된 데이터를 데이터베이스에 반영
* @param authorGroup AuthorGroup
* @exception Exception
*/
+ @Override
public void updateAuthorGroup(AuthorGroup authorGroup) throws Exception{
authorGroupDAO.updateAuthorGroup(authorGroup);
}
@@ -68,18 +71,28 @@
* @param authorGroup AuthorGroup
* @exception Exception
*/
+ @Override
public void deleteAuthorGroup(AuthorGroup authorGroup) throws Exception {
authorGroupDAO.deleteAuthorGroup(authorGroup);
}
-
+
/**
* 목록조회 카운트를 반환한다
* @param authorGroupVO AuthorGroupVO
* @return int
* @exception Exception
*/
+ @Override
public int selectAuthorGroupListTotCnt(AuthorGroupVO authorGroupVO) throws Exception {
return authorGroupDAO.selectAuthorGroupListTotCnt(authorGroupVO);
}
-
+
+ /**
+ * 권한 조회 및 등록
+ */
+ @Override
+ public AuthorGroupVO selectUserManageAuthor(String esntlId) throws EgovBizException {
+ return authorGroupDAO.selectUserManageAuthor(esntlId);
+ }
+
}
\ No newline at end of file
Index: base3.10/src/main/java/egovframework/com/sec/rgm/service/EgovAuthorGroupService.java
===================================================================
--- base3.10/src/main/java/egovframework/com/sec/rgm/service/EgovAuthorGroupService.java (revision 77)
+++ base3.10/src/main/java/egovframework/com/sec/rgm/service/EgovAuthorGroupService.java (revision 78)
@@ -2,6 +2,8 @@
import java.util.List;
+import egovframework.rte.fdl.cmmn.exception.EgovBizException;
+
/**
* 권한그룹에 관한 서비스 인터페이스 클래스를 정의한다.
@@ -12,7 +14,7 @@
*
* <pre>
* << 개정이력(Modification Information) >>
- *
+ *
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.20 이문준 최초 생성
@@ -50,13 +52,20 @@
* @exception Exception
*/
public void updateAuthorGroup(AuthorGroup authorGroup) throws Exception;
-
+
/**
* 목록조회 카운트를 반환한다
* @param authorGroupVO AuthorGroupVO
* @return int
* @exception Exception
*/
- public int selectAuthorGroupListTotCnt(AuthorGroupVO authorGroupVO) throws Exception;
+ public int selectAuthorGroupListTotCnt(AuthorGroupVO authorGroupVO) throws Exception;
+
+ /**
+ * 권한 조회 및 등록
+ * @param emplyrId
+ * @return
+ */
+ public AuthorGroupVO selectUserManageAuthor(String esntlId) throws EgovBizException;
}
\ No newline at end of file
Index: base3.10/src/main/java/egovframework/com/uss/umt/web/EgovUserManageController.java
===================================================================
--- base3.10/src/main/java/egovframework/com/uss/umt/web/EgovUserManageController.java (revision 77)
+++ base3.10/src/main/java/egovframework/com/uss/umt/web/EgovUserManageController.java (revision 78)
@@ -20,6 +20,10 @@
import egovframework.com.cmm.annotation.IncludedInfo;
import egovframework.com.cmm.service.EgovCmmUseService;
import egovframework.com.cmm.util.EgovUserDetailsHelper;
+import egovframework.com.sec.ram.service.AuthorManageVO;
+import egovframework.com.sec.ram.service.EgovAuthorManageService;
+import egovframework.com.sec.rgm.service.AuthorGroupVO;
+import egovframework.com.sec.rgm.service.EgovAuthorGroupService;
import egovframework.com.uss.umt.service.EgovUserManageService;
import egovframework.com.uss.umt.service.UserDefaultVO;
import egovframework.com.uss.umt.service.UserManageVO;
@@ -69,6 +73,12 @@
@Autowired
private DefaultBeanValidator beanValidator;
+ @Resource(name = "egovAuthorManageService")
+ private EgovAuthorManageService egovAuthorManageService;
+
+ @Resource(name = "egovAuthorGroupService")
+ private EgovAuthorGroupService egovAuthorGroupService;
+
/**
* 사용자목록을 조회한다. (pageing)
* @param userSearchVO 검색조건정보
@@ -135,7 +145,6 @@
}
ComDefaultCodeVO vo = new ComDefaultCodeVO();
-
//패스워드힌트목록을 코드정보로부터 조회
vo.setCodeId("COM022");
List<?> passwordHint_result = cmmUseService.selectCmmCodeDetail(vo);
@@ -155,6 +164,12 @@
vo.setTableNm("COMTNORGNZTINFO");
List<?> groupId_result = cmmUseService.selectGroupIdDetail(vo);
+ // 사용자 등록 권한을 위한 권한 리스트를 가지고 온다
+ AuthorManageVO authorManageVO = new AuthorManageVO();
+ authorManageVO.setPagingAt(false);
+ authorManageVO.setAuthorManageList(egovAuthorManageService.selectAuthorList(authorManageVO));
+ model.addAttribute("authorList", authorManageVO.getAuthorManageList());
+
model.addAttribute("passwordHint_result", passwordHint_result); //패스워트힌트목록
model.addAttribute("sexdstnCode_result", sexdstnCode_result); //성별구분코드목록
model.addAttribute("emplyrSttusCode_result", emplyrSttusCode_result);//사용자상태코드목록
@@ -193,6 +208,21 @@
userManageVO.setGroupId(null);
}
userManageService.insertUser(userManageVO);
+
+ // 권한 조회 및 등록
+ AuthorGroupVO userAutho = egovAuthorGroupService.selectUserManageAuthor(userManageVO.getUniqId());
+
+ AuthorGroupVO authorGroup = new AuthorGroupVO();
+ authorGroup.setUniqId(userManageVO.getUniqId());
+ authorGroup.setMberTyCode("USR03");
+ authorGroup.setAuthorCode(userManageVO.getAuthorCode());
+
+ if (userAutho != null && userAutho.getAuthorCode() != null && !(userAutho.getAuthorCode().equals(""))) {
+ egovAuthorGroupService.updateAuthorGroup(authorGroup);
+ } else {
+ egovAuthorGroupService.insertAuthorGroup(authorGroup);
+ }
+
//Exception 없이 진행시 등록성공메시지
model.addAttribute("resultMsg", "success.common.insert");
}
@@ -237,6 +267,12 @@
vo.setTableNm("COMTNORGNZTINFO");
List<?> groupId_result = cmmUseService.selectGroupIdDetail(vo);
+ // 사용자 등록 권한을 위한 권한 리스트를 가지고 온다
+ AuthorManageVO authorManageVO = new AuthorManageVO();
+ authorManageVO.setPagingAt(false);
+ authorManageVO.setAuthorManageList(egovAuthorManageService.selectAuthorList(authorManageVO));
+ model.addAttribute("authorList", authorManageVO.getAuthorManageList());
+
model.addAttribute("passwordHint_result", passwordHint_result); //패스워트힌트목록
model.addAttribute("sexdstnCode_result", sexdstnCode_result); //성별구분코드목록
model.addAttribute("emplyrSttusCode_result", emplyrSttusCode_result);//사용자상태코드목록
@@ -304,6 +340,21 @@
if ("".equals(userManageVO.getGroupId())) {//KISA 보안약점 조치 (2018-10-29, 윤창원)
userManageVO.setGroupId(null);
}
+
+ // 권한 조회 및 등록
+ AuthorGroupVO userAutho = egovAuthorGroupService.selectUserManageAuthor(userManageVO.getUniqId());
+
+ AuthorGroupVO authorGroup = new AuthorGroupVO();
+ authorGroup.setUniqId(userManageVO.getUniqId());
+ authorGroup.setMberTyCode("USR03");
+ authorGroup.setAuthorCode(userManageVO.getAuthorCode());
+
+ if (userAutho != null && userAutho.getAuthorCode() != null && !(userAutho.getAuthorCode().equals(""))) {
+ egovAuthorGroupService.updateAuthorGroup(authorGroup);
+ } else {
+ egovAuthorGroupService.insertAuthorGroup(authorGroup);
+ }
+
userManageService.updateUser(userManageVO);
//Exception 없이 진행시 수정성공메시지
model.addAttribute("resultMsg", "success.common.update");
@@ -328,6 +379,15 @@
return "index";
}
+ // 해당 사용자의 권한 삭제
+ String[] uniqId = checkedIdForDel.split(":");
+ AuthorGroupVO userAutho = egovAuthorGroupService.selectUserManageAuthor(uniqId[1]);
+ if (userAutho != null) {
+ AuthorGroupVO authorGroup = new AuthorGroupVO();
+ authorGroup.setUniqId(uniqId[1]);
+ egovAuthorGroupService.deleteAuthorGroup(authorGroup);
+ }
+
userManageService.deleteUser(checkedIdForDel);
//Exception 없이 진행시 등록성공메시지
model.addAttribute("resultMsg", "success.common.delete");
Index: base3.10/src/main/java/egovframework/com/uss/umt/service/UserManageVO.java
===================================================================
--- base3.10/src/main/java/egovframework/com/uss/umt/service/UserManageVO.java (revision 77)
+++ base3.10/src/main/java/egovframework/com/uss/umt/service/UserManageVO.java (revision 78)
@@ -148,11 +148,21 @@
* DN 값
*/
private String subDn;
-
+
private String lockAt;
public String getLockAt() {return lockAt;}
public void setLockAt(String lockAt) {this.lockAt = lockAt;}
-
+
+ /**
+ * 권한 공통코드
+ */
+ private String authorCode;
+
+ /**
+ * 권한 공통코드 이름
+ */
+ private String authorCdnm;
+
/**
* oldPassword attribute 값을 리턴한다.
* @return String
@@ -601,5 +611,17 @@
public void setSubDn(String subDn) {
this.subDn = subDn;
}
+ public String getAuthorCode() {
+ return authorCode;
+ }
+ public void setAuthorCode(String authorCode) {
+ this.authorCode = authorCode;
+ }
+ public String getAuthorCdnm() {
+ return authorCdnm;
+ }
+ public void setAuthorCdnm(String authorCdnm) {
+ this.authorCdnm = authorCdnm;
+ }
}
\ No newline at end of file
Index: base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_postgres.xml
===================================================================
--- base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_postgres.xml (revision 77)
+++ base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_postgres.xml (revision 78)
@@ -107,4 +107,20 @@
</if>
</select>
+ <!-- 등록 된 업체의 권한 조회 및 등록 -->
+ <select id="selectUserManageAuthor" parameterType="String" resultMap="authorGroup">
+ SELECT
+ a.esntl_id USER_ID
+ , a.user_nm USER_NM
+ , b.author_code AUTHOR_CODE,
+ (CASE WHEN
+ B.SCRTY_DTRMN_TRGET_ID IS NULL
+ THEN 'N'
+ ELSE 'Y' END) AS REG_YN
+ FROM COMTNEMPLYRINFO a
+ LEFT OUTER JOIN COMTNEMPLYRSCRTYESTBS b
+ ON a.esntl_id = b.scrty_dtrmn_trget_id
+ WHERE B.SCRTY_DTRMN_TRGET_ID = #{esntlId }
+ </select>
+
</mapper>
\ No newline at end of file
Index: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_postgres.xml
===================================================================
--- base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_postgres.xml (revision 77)
+++ base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_postgres.xml (revision 78)
@@ -138,42 +138,44 @@
</delete>
<select id="selectUser_S" resultType="egovframework.com.uss.umt.service.UserManageVO">
-
- SELECT
- ESNTL_ID "uniqId" ,
- 'USR03' "userTy" ,
- EMPLYR_ID "emplyrId" ,
- USER_NM "emplyrNm" ,
- PASSWORD "password" ,
- PASSWORD_HINT "passwordHint" ,
- PASSWORD_CNSR "passwordCnsr" ,
- EMPL_NO "emplNo" ,
- IHIDNUM "ihidnum" ,
- SEXDSTN_CODE "sexdstnCode" ,
- BRTHDY "brth" ,
- AREA_NO "areaNo" ,
- HOUSE_MIDDLE_TELNO "homemiddleTelno" ,
- HOUSE_END_TELNO "homeendTelno" ,
- FXNUM "fxnum" ,
- HOUSE_ADRES "homeadres" ,
- DETAIL_ADRES "detailAdres" ,
- ZIP "zip" ,
- OFFM_TELNO "offmTelno" ,
- MBTLNUM "moblphonNo" ,
- EMAIL_ADRES "emailAdres" ,
- OFCPS_NM "ofcpsNm" ,
- GROUP_ID "groupId" ,
- ORGNZT_ID "orgnztId" ,
- PSTINST_CODE "insttCode" ,
- EMPLYR_STTUS_CODE "emplyrSttusCode" ,
- SBSCRB_DE "sbscrbDe" ,
- CRTFC_DN_VALUE "subDn" ,
- LOCK_AT "lockAt"
- FROM COMTNEMPLYRINFO
- WHERE ESNTL_ID=#{uniqId}
-
- </select>
-
+ SELECT
+ ESNTL_ID "uniqId" ,
+ 'USR03' "userTy" ,
+ EMPLYR_ID "emplyrId" ,
+ USER_NM "emplyrNm" ,
+ PASSWORD "password" ,
+ PASSWORD_HINT "passwordHint" ,
+ PASSWORD_CNSR "passwordCnsr" ,
+ EMPL_NO "emplNo" ,
+ IHIDNUM "ihidnum" ,
+ SEXDSTN_CODE "sexdstnCode" ,
+ BRTHDY "brth" ,
+ AREA_NO "areaNo" ,
+ HOUSE_MIDDLE_TELNO "homemiddleTelno" ,
+ HOUSE_END_TELNO "homeendTelno" ,
+ FXNUM "fxnum" ,
+ HOUSE_ADRES "homeadres" ,
+ DETAIL_ADRES "detailAdres" ,
+ ZIP "zip" ,
+ OFFM_TELNO "offmTelno" ,
+ MBTLNUM "moblphonNo" ,
+ EMAIL_ADRES "emailAdres" ,
+ OFCPS_NM "ofcpsNm" ,
+ GROUP_ID "groupId" ,
+ ORGNZT_ID "orgnztId" ,
+ PSTINST_CODE "insttCode" ,
+ EMPLYR_STTUS_CODE "emplyrSttusCode" ,
+ SBSCRB_DE "sbscrbDe" ,
+ CRTFC_DN_VALUE "subDn" ,
+ LOCK_AT "lockAt",
+ b.author_code,
+ fncauthorcodenm(b.author_code) as author_cdnm
+ FROM COMTNEMPLYRINFO a
+ LEFT OUTER JOIN COMTNEMPLYRSCRTYESTBS b
+ ON a.ESNTL_ID = b.scrty_dtrmn_trget_id
+ WHERE ESNTL_ID=#{uniqId}
+ </select>
+
<update id="updateUser_S">
UPDATE COMTNEMPLYRINFO
Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovUserSelectUpdt.jsp
===================================================================
--- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovUserSelectUpdt.jsp (revision 77)
+++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovUserSelectUpdt.jsp (revision 78)
@@ -174,7 +174,26 @@
<div><form:errors path="passwordCnsr" cssClass="error"/></div>
</td>
</tr>
-
+ <tr>
+ <th scope="col"><label for="insttCode">회원권환</label></th>
+ <td>
+ <ul class="check_auto">
+ <c:set var="chkAuthorList" value="${fn:split(userManageVO.authorCode, ',') }" />
+ <c:forEach items="${authorList }" var="author" varStatus="status">
+ <c:set var="chk" value="" />
+ <c:forEach items="${chkAuthorList }" var="chkAuthor">
+ <c:if test="${author.authorCode eq chkAuthor}">
+ <c:set var="chk" value="Y" />
+ </c:if>
+ </c:forEach>
+ <li>
+ <input type="checkbox" id="authorCode${status.index }" name="authorCode" value="${author.authorCode }" <c:if test="${chk eq 'Y' }">checked</c:if>>
+ <label for="authorCode${status.index }"><span></span> <c:out value="${author.authorNm }" /></label>
+ </li>
+ </c:forEach>
+ </ul>
+ </td>
+ </tr>
<!-- 소속기관코드 -->
<c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.insttCode"/></c:set>
<tr>
Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovUserInsert.jsp
===================================================================
--- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovUserInsert.jsp (revision 77)
+++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovUserInsert.jsp (revision 78)
@@ -188,6 +188,26 @@
<div><form:errors path="passwordCnsr" cssClass="error"/></div>
</td>
</tr>
+ <tr>
+ <th scope="col"><label for="insttCode">회원권환</label></th>
+ <td>
+ <ul class="check_auto">
+ <c:set var="chkAuthorList" value="${fn:split(mbeEntrpsVO.authorCode, ',') }" />
+ <c:forEach items="${authorList }" var="author" varStatus="status">
+ <c:set var="chk" value="" />
+ <c:forEach items="${chkAuthorList }" var="chkAuthor">
+ <c:if test="${author.authorCode eq chkAuthor}">
+ <c:set var="chk" value="Y" />
+ </c:if>
+ </c:forEach>
+ <li>
+ <input type="checkbox" id="authorCode${status.index }" name="authorCode" value="${author.authorCode }" <c:if test="${chk eq 'Y' }">checked</c:if>>
+ <label for="authorCode${status.index }"><span></span> <c:out value="${author.authorNm }" /></label>
+ </li>
+ </c:forEach>
+ </ul>
+ </td>
+ </tr>
<!-- 소속기관코드 -->
<c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.insttCode"/></c:set>
<tr>
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?