From fbff8f714df952fd203241fef4e77e49f62301bc Mon Sep 17 00:00:00 2001 From: myname Date: Tue, 25 Oct 2022 18:23:21 +0900 Subject: [PATCH] =?UTF-8?q?2022-10-25=2018:23=20=EC=A7=81=EA=B8=89?= =?UTF-8?q?=EB=B3=84=20=EA=B6=8C=ED=95=9C=20=EA=B4=80=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/AdjReqMgrOffLineController.java | 249 +++++++++++++++- .../advcDept/service/DeptUsrInfoVO.java | 45 +++ .../service/EgovMenuCreateManageService.java | 6 + .../impl/EgovMenuCreateManageServiceImpl.java | 9 + .../mcm/service/impl/MenuCreateManageDAO.java | 11 + .../web/EgovMenuCreateManageController.java | 19 +- .../advcDept/PstnMenuInfo_SQL_Cubrid.xml | 126 +++++--- .../sym/mnu/mcm/EgovMenuCreat_SQL_Mysql.xml | 117 ++++++++ .../kccadr/adjReqMgr/adjReqMgrRegDetail.jsp | 59 ++++ .../jsp/kccadr/adjReqMgr/adjReqMgrRegList.jsp | 54 ++++ .../mnu/mpm/EgovMenuAuthoritySelectJtree.jsp | 268 +++++++++++++----- .../sym/mnu/mpm/EgovMenuCreatSelectJtree.jsp | 15 +- 12 files changed, 868 insertions(+), 110 deletions(-) diff --git a/src/main/java/kcc/kccadr/adjReqMgrOff/web/AdjReqMgrOffLineController.java b/src/main/java/kcc/kccadr/adjReqMgrOff/web/AdjReqMgrOffLineController.java index 12b289fb..fd99cb61 100644 --- a/src/main/java/kcc/kccadr/adjReqMgrOff/web/AdjReqMgrOffLineController.java +++ b/src/main/java/kcc/kccadr/adjReqMgrOff/web/AdjReqMgrOffLineController.java @@ -39,8 +39,11 @@ import kcc.com.cmm.util.StringUtil; import kcc.com.utl.fcc.service.EgovStringUtil; import kcc.kccadr.adjReqMgrOff.service.AdjReqMgrOffLineService; import kcc.kccadr.adjReqMgrOff.service.AdjReqMgrOffLineVO; +import kcc.kccadr.advcDept.service.DeptUsrInfoVO; +import kcc.kccadr.advcDept.service.PstnMenuInfoService; import kcc.let.sym.ccm.cde.service.CmmnDetailCodeVO; import kcc.let.sym.ccm.cde.service.EgovCcmCmmnDetailCodeManageService; +import kcc.let.sym.mnu.mcm.service.EgovMenuCreateManageService; import kcc.let.utl.fcc.service.EgovCryptoUtil; @Controller @@ -77,6 +80,15 @@ public class AdjReqMgrOffLineController { @Resource(name = "CmmnDetailCodeManageService") private EgovCcmCmmnDetailCodeManageService cmmnDetailCodeManageService; + /** EgovMenuManageService */ + @Resource(name = "meunCreateManageService") + private EgovMenuCreateManageService menuCreateManageService; + + //암복호화 유틸 + @Resource(name = "pstnMenuInfoService") + PstnMenuInfoService pstnMenuInfoService; + + /** * 오프라인 조정신청 정보 입력 화면 */ @@ -627,10 +639,11 @@ public class AdjReqMgrOffLineController { if ("CC401".equals(searchVO.getId())) { topCmmnDetailCodeVO.setText("직급별"); resultList = cmmnDetailCodeManageService.selectCmmnDetailCodeListWithPerson(searchVO) ; - + System.out.println("직급별"); }else if ("CC402".equals(searchVO.getId())) { topCmmnDetailCodeVO.setText("부서별"); resultList = cmmnDetailCodeManageService.selectCmmnDetailCodeListWithPersonDept(searchVO) ; + System.out.println("부서별"); } @@ -668,7 +681,241 @@ public class AdjReqMgrOffLineController { */ } + /** + * 매뉴 정보를 조회한다. + * + * @param partInfVO + * @param model + * @return + * @throws Exception + */ + //선택한 대상의 메뉴권한 목록을 가져온다. + @RequestMapping("/kccadr/adjReqMgOff/EgovMenuAuthPstnListAjax.do") + //@RequestMapping("/sym/mnu/mcm/EgovMenuInfoAjax.do") + public ModelAndView EgovMenuAuthPstnListAjax( + @ModelAttribute("searchVO") CmmnDetailCodeVO searchVO + //HttpServletRequest request + , ModelMap model + //, HttpServletResponse response + //, HttpServletRequest request + ) throws Exception { + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + try { + //step2.저장 데이터를 셋팅한다. + String s_pstn_ty = ""; + String s_mngr_id = ""; + String s_progrmFileNm = ""; + + + if ("0".equals(searchVO.getParent())) { + s_pstn_ty = searchVO.getId(); + s_mngr_id = searchVO.getParent(); + + }else { + s_pstn_ty = searchVO.getParent(); + s_mngr_id = searchVO.getId(); + + } + + + //메뉴권한목록 + DeptUsrInfoVO deptUsrInfoVO = new DeptUsrInfoVO(); + + deptUsrInfoVO.setPstnTy(s_pstn_ty); + deptUsrInfoVO.setMngrId(s_mngr_id); + + + List resultList = null ; + //resultList = menuCreateManageService.selectMenuListJtree4Pstn(menuManageVO) ; + resultList = menuCreateManageService.selectMenuList4Pstn(deptUsrInfoVO) ; + model.addAttribute("resultList", resultList); + + }catch(Exception ex) { + ex.printStackTrace(); + + } + + modelAndView.addObject("status", "success"); + return modelAndView; + } + + /** + * 매뉴 정보를 저장 + * + * @param partInfVO + * @param model + * @return + * @throws Exception + */ + //선택한 대상의 메뉴권한 목록을 가져온다. + @RequestMapping("/kccadr/adjReqMgOff/EgovMenuAuthPstnSaveAjax.do") + //@RequestMapping("/sym/mnu/mcm/EgovMenuInfoAjax.do") + public ModelAndView EgovMenuAuthPstnSaveAjax( + @ModelAttribute("searchVO") CmmnDetailCodeVO searchVO + //HttpServletRequest request + , ModelMap model + , HttpServletResponse response + , HttpServletRequest request + ) throws Exception { + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + //step1.프로그램 대상 리스트를 가져온다. + //step2.저장 데이터를 셋팅한다. + //step3.데이터 저장 + + try { + //로그인 권한정보 불러오기 + LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; + String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId()); + + //step1.프로그램 대상 리스트를 가져온다. + DeptUsrInfoVO deptUsrInfoVO = new DeptUsrInfoVO(); + List resultList = null ; + //resultList = menuCreateManageService.selectMenuListJtree4Pstn(menuManageVO) ; + resultList = menuCreateManageService.selectMenuList4Pstn(deptUsrInfoVO) ; + + + //step2.저장 데이터를 셋팅한다. + String s_pstn_ty = ""; + String s_mngr_id = ""; + String s_progrmFileNm = ""; + + + if ("0".equals(searchVO.getParent())) { + s_pstn_ty = searchVO.getId(); + s_mngr_id = searchVO.getParent(); + + }else { + s_pstn_ty = searchVO.getParent(); + s_mngr_id = searchVO.getId(); + + } + + + //System.out.println(request.getParameter("id")); + //System.out.println(request.getParameter("parent")); + //System.out.println(request.getParameter("existChildNode")); + + + deptUsrInfoVO.setPstnTy(s_pstn_ty); + deptUsrInfoVO.setMngrId(s_mngr_id); + + deptUsrInfoVO.setFrstRegisterId(userId); + deptUsrInfoVO.setLastUpdusrId(userId); + + for (int i=0;i list, AdjReqMgrOffLineVO info){ if(CollectionUtils.isNotEmpty(list)){ diff --git a/src/main/java/kcc/kccadr/advcDept/service/DeptUsrInfoVO.java b/src/main/java/kcc/kccadr/advcDept/service/DeptUsrInfoVO.java index c5facb6b..dcf206d1 100644 --- a/src/main/java/kcc/kccadr/advcDept/service/DeptUsrInfoVO.java +++ b/src/main/java/kcc/kccadr/advcDept/service/DeptUsrInfoVO.java @@ -17,7 +17,10 @@ public class DeptUsrInfoVO extends ComDefaultVO implements Serializable { // private String pstnMenuSeq; //직급별 메뉴 일련번호 + private String pstnTy; //직급구분-CC401 + private String progrmFileNm; //프로그램파일명 + private String allIs; //all 여부 private String rIs; //R 여부 private String cudIs; //CUD 여부 @@ -32,6 +35,12 @@ public class DeptUsrInfoVO extends ComDefaultVO implements Serializable { private String userNm; //성명 + private String upperMenuNm; + private String menuNm; + private String menuNo; + private String upperMenuId; + private String url; + public String getDeptSeq() { return deptSeq; } @@ -134,5 +143,41 @@ public class DeptUsrInfoVO extends ComDefaultVO implements Serializable { public void setUserNm(String userNm) { this.userNm = userNm; } + public String getProgrmFileNm() { + return progrmFileNm; + } + public void setProgrmFileNm(String progrmFileNm) { + this.progrmFileNm = progrmFileNm; + } + public String getUpperMenuNm() { + return upperMenuNm; + } + public void setUpperMenuNm(String upperMenuNm) { + this.upperMenuNm = upperMenuNm; + } + public String getMenuNm() { + return menuNm; + } + public void setMenuNm(String menuNm) { + this.menuNm = menuNm; + } + public String getMenuNo() { + return menuNo; + } + public void setMenuNo(String menuNo) { + this.menuNo = menuNo; + } + public String getUpperMenuId() { + return upperMenuId; + } + public void setUpperMenuId(String upperMenuId) { + this.upperMenuId = upperMenuId; + } + public String getUrl() { + return url; + } + public void setUrl(String url) { + this.url = url; + } } diff --git a/src/main/java/kcc/let/sym/mnu/mcm/service/EgovMenuCreateManageService.java b/src/main/java/kcc/let/sym/mnu/mcm/service/EgovMenuCreateManageService.java index e20a2a29..424efe85 100644 --- a/src/main/java/kcc/let/sym/mnu/mcm/service/EgovMenuCreateManageService.java +++ b/src/main/java/kcc/let/sym/mnu/mcm/service/EgovMenuCreateManageService.java @@ -3,6 +3,7 @@ package kcc.let.sym.mnu.mcm.service; import java.util.List; import kcc.com.cmm.ComDefaultVO; +import kcc.kccadr.advcDept.service.DeptUsrInfoVO; import kcc.let.sym.mnu.mpm.service.MenuManageJTreeVO; import kcc.let.sym.mnu.mpm.service.MenuManageVO; @@ -77,6 +78,11 @@ public interface EgovMenuCreateManageService { void insertMenuCreatList(String checkedScrtyForInsert, String checkedMenuNoForInsert) throws Exception; List selectMenuListJtree(MenuManageJTreeVO menuManageVO) throws Exception; + + List selectMenuList4Pstn(DeptUsrInfoVO deptUsrInfoVO) throws Exception; + + //개별 권한 정보를 가져온다. + DeptUsrInfoVO selectMenu4Pstn(DeptUsrInfoVO deptUsrInfoVO) throws Exception; /** * 단일 메뉴생성 내역을 조회 diff --git a/src/main/java/kcc/let/sym/mnu/mcm/service/impl/EgovMenuCreateManageServiceImpl.java b/src/main/java/kcc/let/sym/mnu/mcm/service/impl/EgovMenuCreateManageServiceImpl.java index bd2eb70d..3144512c 100644 --- a/src/main/java/kcc/let/sym/mnu/mcm/service/impl/EgovMenuCreateManageServiceImpl.java +++ b/src/main/java/kcc/let/sym/mnu/mcm/service/impl/EgovMenuCreateManageServiceImpl.java @@ -8,6 +8,7 @@ import org.springframework.stereotype.Service; import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; import kcc.com.cmm.ComDefaultVO; +import kcc.kccadr.advcDept.service.DeptUsrInfoVO; import kcc.let.sym.mnu.mcm.service.EgovMenuCreateManageService; import kcc.let.sym.mnu.mcm.service.MenuCreatVO; import kcc.let.sym.mnu.mpm.service.MenuManageJTreeVO; @@ -130,6 +131,14 @@ public class EgovMenuCreateManageServiceImpl extends EgovAbstractServiceImpl imp return menuCreateManageDAO.selectMenuListJtree(menuManageVO); } + public List selectMenuList4Pstn(DeptUsrInfoVO deptUsrInfoVO) throws Exception { + return menuCreateManageDAO.selectMenuList4Pstn(deptUsrInfoVO); + } + + public DeptUsrInfoVO selectMenu4Pstn(DeptUsrInfoVO deptUsrInfoVO) throws Exception { + return menuCreateManageDAO.selectMenu4Pstn(deptUsrInfoVO); + } + @Override public void insertMenuCreat(MenuManageVO menuManageVO) throws Exception { MenuCreatVO menuCreatVO = new MenuCreatVO(); diff --git a/src/main/java/kcc/let/sym/mnu/mcm/service/impl/MenuCreateManageDAO.java b/src/main/java/kcc/let/sym/mnu/mcm/service/impl/MenuCreateManageDAO.java index b6741f36..9c41c6dc 100644 --- a/src/main/java/kcc/let/sym/mnu/mcm/service/impl/MenuCreateManageDAO.java +++ b/src/main/java/kcc/let/sym/mnu/mcm/service/impl/MenuCreateManageDAO.java @@ -6,6 +6,7 @@ import org.springframework.stereotype.Repository; import egovframework.rte.psl.dataaccess.EgovAbstractDAO; import kcc.com.cmm.ComDefaultVO; +import kcc.kccadr.advcDept.service.DeptUsrInfoVO; import kcc.let.sym.mnu.mcm.service.MenuCreatVO; import kcc.let.sym.mnu.mpm.service.MenuManageJTreeVO; @@ -128,6 +129,16 @@ public class MenuCreateManageDAO extends EgovAbstractDAO{ return (List) list("menuManageDAO.selectMenuListJtree", menuManageVO); } + @SuppressWarnings("unchecked") + public List selectMenuList4Pstn(DeptUsrInfoVO deptUsrInfoVO) throws Exception { + return (List) list("menuManageDAO.selectMenuList4Pstn", deptUsrInfoVO); + } + + @SuppressWarnings("unchecked") + public DeptUsrInfoVO selectMenu4Pstn(DeptUsrInfoVO deptUsrInfoVO) throws Exception { + return (DeptUsrInfoVO) select("menuManageDAO.selectMenu4Pstn", deptUsrInfoVO); + } + public int deleteMenuCreatByNo(MenuCreatVO menuCreatVO) throws Exception{ return delete("menuManageDAO.deleteMenuCreatByNo", menuCreatVO); } diff --git a/src/main/java/kcc/let/sym/mnu/mcm/web/EgovMenuCreateManageController.java b/src/main/java/kcc/let/sym/mnu/mcm/web/EgovMenuCreateManageController.java index e966c0b3..2b9f843a 100644 --- a/src/main/java/kcc/let/sym/mnu/mcm/web/EgovMenuCreateManageController.java +++ b/src/main/java/kcc/let/sym/mnu/mcm/web/EgovMenuCreateManageController.java @@ -30,6 +30,7 @@ import kcc.com.cmm.ComDefaultVO; import kcc.com.cmm.EgovMessageSource; import kcc.com.cmm.LoginVO; import kcc.com.cmm.service.EgovCmmUseService; +import kcc.kccadr.advcDept.service.DeptUsrInfoVO; import kcc.let.cop.bbs.service.BoardMasterVO; import kcc.let.cop.bbs.service.EgovBBSAttributeManageService; import kcc.let.sym.ccm.cde.service.CmmnDetailCodeVO; @@ -271,6 +272,14 @@ public class EgovMenuCreateManageController { menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); } model.addAttribute("menuCreatVO", menuCreatVO); + + //메뉴권한목록 + DeptUsrInfoVO deptUsrInfoVO = new DeptUsrInfoVO(); + List resultList = null ; + //resultList = menuCreateManageService.selectMenuListJtree4Pstn(menuManageVO) ; + resultList = menuCreateManageService.selectMenuList4Pstn(deptUsrInfoVO) ; + model.addAttribute("resultList", resultList); + return "sym/mnu/mpm/EgovMenuAuthoritySelectJtree"; } @@ -334,6 +343,8 @@ public class EgovMenuCreateManageController { resultVO.setUrl(progrmManageVO.getURL()); resultVO.setProgrmBbsId(progrmManageVO.getProgrmBbsId()); resultVO.setProgrmHtmlFileId(progrmManageVO.getProgrmHtmlFileId()); + + resultVO.setMenuDc(progrmManageVO.getProgrmDc()); } } model.addAttribute("menuManageVO", resultVO); @@ -524,7 +535,13 @@ public class EgovMenuCreateManageController { //프로그램에 목록이 있는지 조회후 있으면 update/ 아닌경우 insert progrmManageVO.setProgrmStrePath("/web/"); progrmManageVO.setProgrmKoreanNm(menuManageVO.getMenuNm()); - progrmManageVO.setProgrmDc(menuManageVO.getMenuNm()); + + if (!"".equals(menuManageVO.getMenuDc())) { + progrmManageVO.setProgrmDc(menuManageVO.getMenuDc()); + }else { + progrmManageVO.setProgrmDc(menuManageVO.getMenuNm()); + } + progrmManageVO.setURL(menuManageVO.getUrl()); if("C".equals(menuManageVO.getMenuType())){ //html/게시판 progrmManageVO.setURL("/web/content.do?proFn="+progrmManageVO.getProgrmFileNm()); diff --git a/src/main/resources/egovframework/sqlmap/kccadr/advcDept/PstnMenuInfo_SQL_Cubrid.xml b/src/main/resources/egovframework/sqlmap/kccadr/advcDept/PstnMenuInfo_SQL_Cubrid.xml index 20d09da6..3944da6f 100644 --- a/src/main/resources/egovframework/sqlmap/kccadr/advcDept/PstnMenuInfo_SQL_Cubrid.xml +++ b/src/main/resources/egovframework/sqlmap/kccadr/advcDept/PstnMenuInfo_SQL_Cubrid.xml @@ -8,29 +8,40 @@ - dept_usr_info + pstn_menu_info - dept_seq, - dept_ty, - mngr_id, - - frst_regist_pnttm, - frst_register_id - + pstn_ty, + mngr_id, + progrm_file_nm, + all_is, + r_is, + cud_is, + p_is, + frst_regist_pnttm, + frst_register_id, + last_updt_pnttm, + last_updusr_id + - - a.dept_seq AS deptSeq, - a.dept_ty AS deptTy, - a.mngr_id AS mngrId, + a.pstn_ty AS pstnTy, + a.mngr_id AS mngrId, + a.progrm_file_nm AS progrmFileNm, + a.all_is AS allIs, + a.r_is AS rIs, + a.cud_is AS cudIs, + a.p_is AS pIs, + + DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d %H:%i:%s') AS frstRegistPnttm, + a.frst_register_id AS frstRegisterId, - DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d %H:%i:%s') AS frstRegistPnttm, - a.frst_register_id AS frstRegisterId + DATE_FORMAT(a.last_updt_pnttm,'%Y-%m-%d %H:%i:%s') AS lastUpdtPnttm, + a.last_updusr_id AS lastUpdusrId @@ -42,15 +53,30 @@ )VALUES( - - #deptSeq#, - #deptTy#, - #mngrId#, - + #pstnTy#, + #mngrId#, + #progrmFileNm#, + + #allIs#, + #rIs#, + #cudIs#, + #pIs#, + NOW(), - #frstRegisterId# + #frstRegisterId#, + NULL, + NULL ) + ON DUPLICATE KEY UPDATE + last_updt_pnttm = NOW() + , last_updusr_id = #lastUpdusrId# + + , all_is = #allIs# + , r_is = #rIs# + , cud_is = #cudIs# + , p_is = #pIs# + @@ -60,7 +86,9 @@ FROM a WHERE - a.dept_seq = #deptSeq# + a.pstn_ty = #pstnTy# + AND a.mngr_id = #mngrId# + AND a.progrm_file_nm = #progrmFileNm# @@ -69,28 +97,38 @@ UPDATE SET - - dept_seq = #deptSeq# + last_updt_pnttm = NOW() + , last_updusr_id = #lastUpdusrId# - - , dept_ty = #deptTy# + + , all_is = #allIs# - - , mngr_id = #mngrId# - + + , r_is = #rIs# + + + , cud_is = #cudIs# + + + , p_is = #pIs# + WHERE - dept_seq = #deptSeq# + pstn_ty = #pstnTy# + AND mngr_id = #mngrId# + AND progrm_file_nm = #progrmFileNm# - + DELETE FROM WHERE - dept_seq = #deptSeq# + pstn_ty = #pstnTy# + AND mngr_id = #mngrId# + AND progrm_file_nm = #progrmFileNm# @@ -102,10 +140,16 @@ a WHERE 1=1 - - AND a.dept_seq = #deptSeq# + + AND a.pstn_ty = #pstnTy# - + + AND a.mngr_id = #mngrId# + + + AND a.progrm_file_nm = #progrmFileNm# + + ORDER BY a.frst_regist_pnttm @@ -123,10 +167,16 @@ WHERE 1=1 - - AND a.dept_seq = #deptSeq# + + AND a.pstn_ty = #pstnTy# - + + AND a.mngr_id = #mngrId# + + + AND a.progrm_file_nm = #progrmFileNm# + + $selectPagingListQuery$ @@ -135,7 +185,7 @@ ORDER BY 1=1 - , a.dept_seq desc + , a.frst_regist_pnttm desc , $orderByQuery$ diff --git a/src/main/resources/egovframework/sqlmap/let/sym/mnu/mcm/EgovMenuCreat_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/sym/mnu/mcm/EgovMenuCreat_SQL_Mysql.xml index 684c01cb..d678a138 100644 --- a/src/main/resources/egovframework/sqlmap/let/sym/mnu/mcm/EgovMenuCreat_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/sym/mnu/mcm/EgovMenuCreat_SQL_Mysql.xml @@ -19,6 +19,7 @@ + + + + + + + 전자조정신청 상세