jhleem / egov star

이다솜 이다솜 2022-02-16 @78

[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
List