From 6b6b96019684906ac74a63d27b69b4acf3e014bf Mon Sep 17 00:00:00 2001 From: tolag3 Date: Mon, 6 Nov 2023 16:34:02 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9D=B4=EC=A4=80=ED=98=B8=20=EC=A0=84?= =?UTF-8?q?=EC=9E=90=EC=A1=B0=EC=A0=95=EC=8B=9C=EC=8A=A4=ED=85=9C=20?= =?UTF-8?q?=EC=BB=A4=EB=B0=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 용어해설 수정 --- .../glossary/service/GlossaryService.java | 4 +- .../kccadr/glossary/service/GlossaryVO.java | 8 + .../glossary/service/impl/GlossaryDAO.java | 27 +-- .../service/impl/GlossaryServiceImpl.java | 32 ++-- .../glossary/web/GlossaryController.java | 93 ++++++++++- src/main/java/kcc/web/MainController.java | 26 ++- .../sql-map-config-cubrid-glossary.xml | 0 .../kccadr/glossary/Glossary_SQL_Cubrid.xml | 154 ++++++++++++++++-- src/main/webapp/WEB-INF/decorators.xml | 2 +- .../jsp/kccadr/glossary/glossaryDetail.jsp | 25 ++- .../jsp/kccadr/glossary/glossaryList.jsp | 11 +- .../jsp/kccadr/glossary/glossaryRegist.jsp | 4 +- .../kccadr/textSense/EgovTextSenseRegist.jsp | 1 + .../jsp/web/com/pop/quickWrapGlossaryPop.jsp | 84 +++++----- .../com/pop/quickWrapGlossaryPopDetail.jsp | 44 +++++ .../com/pop/quickWrapGlossaryPopDetailCn.jsp | 20 +++ .../jsp/web/com/webCommonQuickMenu.jsp | 17 +- src/main/webapp/kccadrPb/usr/css/popup.css | 8 +- 18 files changed, 432 insertions(+), 128 deletions(-) rename src/main/resources/egovframework/sqlmap/config/{cubrid => mysql}/sql-map-config-cubrid-glossary.xml (100%) create mode 100644 src/main/webapp/WEB-INF/jsp/web/com/pop/quickWrapGlossaryPopDetail.jsp create mode 100644 src/main/webapp/WEB-INF/jsp/web/com/pop/quickWrapGlossaryPopDetailCn.jsp diff --git a/src/main/java/kcc/kccadr/glossary/service/GlossaryService.java b/src/main/java/kcc/kccadr/glossary/service/GlossaryService.java index 55ab3cfe..6eacc235 100644 --- a/src/main/java/kcc/kccadr/glossary/service/GlossaryService.java +++ b/src/main/java/kcc/kccadr/glossary/service/GlossaryService.java @@ -10,10 +10,10 @@ public interface GlossaryService { public GlossaryVO selectGlossaryDetail(GlossaryVO glossaryVO) throws Exception; - public void updateGlossaryStatus(GlossaryVO glossaryVO) throws Exception; - public void updateGlossaryModify(GlossaryVO glossaryVO) throws Exception; public void deleteGlossary(GlossaryVO glossaryVO) throws Exception; + public List selectGlossaryListForWeb(GlossaryVO glossaryVO) throws Exception; + } \ No newline at end of file diff --git a/src/main/java/kcc/kccadr/glossary/service/GlossaryVO.java b/src/main/java/kcc/kccadr/glossary/service/GlossaryVO.java index 3fc7f4fc..3da30ff0 100644 --- a/src/main/java/kcc/kccadr/glossary/service/GlossaryVO.java +++ b/src/main/java/kcc/kccadr/glossary/service/GlossaryVO.java @@ -16,6 +16,7 @@ public class GlossaryVO extends ComDefaultVO implements Serializable{ private String lastUpdusrId; private String lastUpdtPnttm; private String useYn; + private int cnt; public String getGlssrSeq() { @@ -66,4 +67,11 @@ public class GlossaryVO extends ComDefaultVO implements Serializable{ public void setUseYn(String useYn) { this.useYn = useYn; } + public int getCnt() { + return cnt; + } + public void setCnt(int cnt) { + this.cnt = cnt; + } + } diff --git a/src/main/java/kcc/kccadr/glossary/service/impl/GlossaryDAO.java b/src/main/java/kcc/kccadr/glossary/service/impl/GlossaryDAO.java index cadbcd0e..9e2713fd 100644 --- a/src/main/java/kcc/kccadr/glossary/service/impl/GlossaryDAO.java +++ b/src/main/java/kcc/kccadr/glossary/service/impl/GlossaryDAO.java @@ -6,39 +6,40 @@ import org.springframework.stereotype.Repository; import egovframework.rte.psl.dataaccess.EgovAbstractDAO; import kcc.kccadr.glossary.service.GlossaryVO; +import kcc.kccadr.textsense.service.TextSenseVO; @Repository("GlossaryDAO") public class GlossaryDAO extends EgovAbstractDAO{ public int insertGlossary(GlossaryVO glossaryVO) throws Exception { - - return (int) insert("glossaryDAO.insertGlossary", glossaryVO); + return (int) update("glossaryDAO.insertGlossary", glossaryVO); } + @SuppressWarnings("unchecked") public List selectGlossaryList(GlossaryVO glossaryVO) throws Exception { - // TODO Auto-generated method stub - return null; + + return (List) list("glossaryDAO.selectGlossaryList", glossaryVO); } public GlossaryVO selectGlossaryDetail(GlossaryVO glossaryVO) throws Exception { - // TODO Auto-generated method stub - return null; + + return (GlossaryVO) select("glossaryDAO.selectGlossaryDetail", glossaryVO); } - public void updateGlossaryStatus(GlossaryVO glossaryVO) throws Exception { - // TODO Auto-generated method stub - - } public void updateGlossaryModify(GlossaryVO glossaryVO) throws Exception { - // TODO Auto-generated method stub - + update("glossaryDAO.updateGlossaryModify", glossaryVO); } public void deleteGlossary(GlossaryVO glossaryVO) throws Exception { - // TODO Auto-generated method stub + update("glossaryDAO.deleteGlossary", glossaryVO); + } + + @SuppressWarnings("unchecked") + public List selectGlossaryListForWeb(GlossaryVO glossaryVO) throws Exception { + return (List) list("glossaryDAO.selectGlossaryListForWeb", glossaryVO); } } diff --git a/src/main/java/kcc/kccadr/glossary/service/impl/GlossaryServiceImpl.java b/src/main/java/kcc/kccadr/glossary/service/impl/GlossaryServiceImpl.java index ec4d8cba..4d37d464 100644 --- a/src/main/java/kcc/kccadr/glossary/service/impl/GlossaryServiceImpl.java +++ b/src/main/java/kcc/kccadr/glossary/service/impl/GlossaryServiceImpl.java @@ -6,51 +6,53 @@ import javax.annotation.Resource; import org.springframework.stereotype.Service; +import egovframework.rte.fdl.idgnr.EgovIdGnrService; import kcc.kccadr.glossary.service.GlossaryService; import kcc.kccadr.glossary.service.GlossaryVO; @Service("GlossaryService") public class GlossaryServiceImpl implements GlossaryService{ + /** ID Generation */ + @Resource(name="glssrIdgenService") + private EgovIdGnrService glssrIdgenService; + + @Resource(name = "GlossaryDAO") private GlossaryDAO glossaryDAO; @Override public int insertGlossary(GlossaryVO glossaryVO) throws Exception { + glossaryVO.setGlssrSeq(glssrIdgenService.getNextStringId()); + return glossaryDAO.insertGlossary(glossaryVO); } @Override public List selectGlossaryList(GlossaryVO glossaryVO) throws Exception { - // TODO Auto-generated method stub - return null; + + return glossaryDAO.selectGlossaryList(glossaryVO); } @Override public GlossaryVO selectGlossaryDetail(GlossaryVO glossaryVO) throws Exception { - // TODO Auto-generated method stub - return null; - } - - @Override - public void updateGlossaryStatus(GlossaryVO glossaryVO) throws Exception { - // TODO Auto-generated method stub - + return glossaryDAO.selectGlossaryDetail(glossaryVO); } @Override public void updateGlossaryModify(GlossaryVO glossaryVO) throws Exception { - // TODO Auto-generated method stub - + glossaryDAO.updateGlossaryModify(glossaryVO); } @Override public void deleteGlossary(GlossaryVO glossaryVO) throws Exception { - // TODO Auto-generated method stub - + glossaryDAO.deleteGlossary(glossaryVO); } - + @Override + public List selectGlossaryListForWeb(GlossaryVO glossaryVO) throws Exception { + return glossaryDAO.selectGlossaryListForWeb(glossaryVO); + } } diff --git a/src/main/java/kcc/kccadr/glossary/web/GlossaryController.java b/src/main/java/kcc/kccadr/glossary/web/GlossaryController.java index afc06839..d8f2aa1f 100644 --- a/src/main/java/kcc/kccadr/glossary/web/GlossaryController.java +++ b/src/main/java/kcc/kccadr/glossary/web/GlossaryController.java @@ -1,6 +1,5 @@ package kcc.kccadr.glossary.web; -import java.util.ArrayList; import java.util.List; import javax.annotation.Resource; @@ -16,7 +15,6 @@ import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import kcc.com.cmm.LoginVO; import kcc.kccadr.glossary.service.GlossaryService; import kcc.kccadr.glossary.service.GlossaryVO; -import kcc.kccadr.textsense.service.TextSenseVO; @Controller public class GlossaryController { @@ -66,10 +64,11 @@ public class GlossaryController { glossaryVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); glossaryVO.setFrstRegisterId(user.getUniqId()); -// paginationInfo.setTotalRecordCount(glossaryService.selectTextSenseListCount(textSenseVO)); model.addAttribute("paginationInfo", paginationInfo); -// List list = glossaryService.selectTextSenseList(textSenseVO); - List list = new ArrayList(); + List list = glossaryService.selectGlossaryList(glossaryVO); + if(list.size() > 0) { + paginationInfo.setTotalRecordCount(list.get(0).getCnt()); + } model.addAttribute("list", list); return "kccadr/glossary/glossaryList"; @@ -91,6 +90,7 @@ public class GlossaryController { } + @SuppressWarnings("unused") @RequestMapping(value="/kccadr/glossary/glossaryRegistAjax.do") public ModelAndView glossaryRegistAjax(GlossaryVO glossaryVO) throws Exception{ @@ -99,7 +99,7 @@ public class GlossaryController { LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); - glossaryVO.setFrstRegisterId(user.getId()); + glossaryVO.setFrstRegisterId(user.getUniqId()); if(user == null) { modelAndView.addObject("result", "FAIL"); @@ -118,8 +118,89 @@ public class GlossaryController { } return modelAndView; + } + + @RequestMapping(value="/kccadr/glossary/gossaryDetail.do") + public String gossaryDetail(@ModelAttribute("searchVO") GlossaryVO glossaryVO, ModelMap model) throws Exception{ + LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); + + if(user == null) { + + return "redirect:/uat/uia/EgovLoginUsr.do"; + + } + + GlossaryVO detailVO = glossaryService.selectGlossaryDetail(glossaryVO); + + model.addAttribute("glossaryVO", detailVO); + + if("N".equals(detailVO.getUseYn())) { + return "redirect:/kccadr/glossary/glossaryList.do"; + } + + return "kccadr/glossary/glossaryDetail"; } + @SuppressWarnings("unused") + @RequestMapping(value="/kccadr/glossary/glossaryModifyAjax.do") + public ModelAndView glossaryModifyAjax(GlossaryVO glossaryVO) throws Exception{ + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); + + glossaryVO.setLastUpdusrId(user.getUniqId()); + + if(user == null) { + modelAndView.addObject("result", "FAIL"); + modelAndView.addObject("message", "다시 로그인 해주세요."); + return modelAndView; + + } + try { + glossaryService.updateGlossaryModify(glossaryVO); + + modelAndView.addObject("result", "SUCCESS"); + modelAndView.addObject("message", "저장되었습니다."); + } catch (Exception e) { + modelAndView.addObject("result", "FAIL"); + modelAndView.addObject("message", "저장에 실패했습니다."); + } + + return modelAndView; + } + + @SuppressWarnings("unused") + @RequestMapping(value="/kccadr/glossary/glossaryDeleteAjax.do") + public ModelAndView glossaryDeleteAjax(GlossaryVO glossaryVO) throws Exception{ + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); + + glossaryVO.setLastUpdusrId(user.getUniqId()); + + if(user == null) { + modelAndView.addObject("result", "FAIL"); + modelAndView.addObject("message", "다시 로그인 해주세요."); + return modelAndView; + + } + try { + glossaryService.deleteGlossary(glossaryVO); + + modelAndView.addObject("result", "SUCCESS"); + modelAndView.addObject("message", "저장되었습니다."); + } catch (Exception e) { + modelAndView.addObject("result", "FAIL"); + modelAndView.addObject("message", "저장에 실패했습니다."); + } + + return modelAndView; + } + } diff --git a/src/main/java/kcc/web/MainController.java b/src/main/java/kcc/web/MainController.java index edc2f1ce..09f51c1a 100644 --- a/src/main/java/kcc/web/MainController.java +++ b/src/main/java/kcc/web/MainController.java @@ -77,6 +77,8 @@ import kcc.com.uss.ion.pwm.service.PopupManageVO; import kcc.com.uss.ion.pwm.service.PopupzoneVO; import kcc.com.utl.fcc.service.EgovStringUtil; import kcc.kccadr.accdnt.ai.service.AdjstIncidentVO; +import kcc.kccadr.glossary.service.GlossaryService; +import kcc.kccadr.glossary.service.GlossaryVO; import kcc.let.cop.bbs.service.BoardMasterVO; import kcc.let.cop.bbs.service.BoardVO; import kcc.let.cop.bbs.service.EgovBBSAttributeManageService; @@ -180,6 +182,9 @@ public class MainController { @Resource(name="EgovFileMngUtil") private EgovFileMngUtil fileUtil; + @Resource(name = "GlossaryService") + private GlossaryService glossaryService; + @Value("#{globalSettings['Globals.email.host']}") private String Globals_email_host; @Value("#{globalSettings['Globals.email.port']}") @@ -1954,9 +1959,28 @@ public class MainController { //용어해설 팝업 @RequestMapping(value = "/web/com/popup/quickWrapGlossaryPop.do") - public String quickWrapGlossaryPop(@ModelAttribute("adjstIncidentVO") AdjstIncidentVO adjstIncidentVO, ModelMap model) throws Exception { + public String quickWrapGlossaryPop(@ModelAttribute("searchVO") GlossaryVO glossaryVO, ModelMap model) throws Exception { + return "web/com/pop/quickWrapGlossaryPop"; } + + //용어해설 팝업 상세 + @RequestMapping(value = "/web/com/popup/quickWrapGlossaryPopDetail.do") + public String quickWrapGlossaryPopDetail(@ModelAttribute("searchVO") GlossaryVO glossaryVO, ModelMap model) throws Exception { + + model.addAttribute("list", glossaryService.selectGlossaryListForWeb(glossaryVO)); + + return "web/com/pop/quickWrapGlossaryPopDetail"; + } + + //용어해설 팝업 상세 + @RequestMapping(value = "/web/com/popup/quickWrapGlossaryPopDetailCn.do") + public String quickWrapGlossaryPopDetailCn(@ModelAttribute("searchVO") GlossaryVO glossaryVO, ModelMap model) throws Exception { + + model.addAttribute("glossaryVO", glossaryService.selectGlossaryDetail(glossaryVO)); + + return "web/com/pop/quickWrapGlossaryPopDetailCn"; + } // 파일을 로컬로 부터 읽어와서 BodyPart 클래스로 만든다. (바운더리 변환) private BodyPart getFileAttachment(String realFile, String filename) throws MessagingException { diff --git a/src/main/resources/egovframework/sqlmap/config/cubrid/sql-map-config-cubrid-glossary.xml b/src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-cubrid-glossary.xml similarity index 100% rename from src/main/resources/egovframework/sqlmap/config/cubrid/sql-map-config-cubrid-glossary.xml rename to src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-cubrid-glossary.xml diff --git a/src/main/resources/egovframework/sqlmap/kccadr/glossary/Glossary_SQL_Cubrid.xml b/src/main/resources/egovframework/sqlmap/kccadr/glossary/Glossary_SQL_Cubrid.xml index cfcc1b80..cd90f1fa 100644 --- a/src/main/resources/egovframework/sqlmap/kccadr/glossary/Glossary_SQL_Cubrid.xml +++ b/src/main/resources/egovframework/sqlmap/kccadr/glossary/Glossary_SQL_Cubrid.xml @@ -2,15 +2,18 @@ - + - + SELECT COUNT(1) over() AS cnt, + a.glssr_seq AS glssrSeq, a.glssr_subject AS glssrSubject, a.glssr_cn AS glssrCn, a.frst_register_id AS frstRegisterId, - DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d %T') AS frstRegistPnttm + DATE_FORMAT(a.frst_regist_pnttm,'%Y-%m-%d %H:%i') AS frstRegistPnttm FROM adr_glossary a + LEFT JOIN comvnusermaster b + ON a.frst_register_id = b.esntl_id WHERE 1 = 1 AND a.use_yn = 'Y' @@ -21,7 +24,7 @@ ORDER BY A.FRST_REGIST_PNTTM DESC LIMIT #recordCountPerPage# OFFSET #firstIndex# - SELECT a.glssr_seq AS glssrSeq, a.glssr_subject AS glssrSubject, a.glssr_cn AS glssrCn, @@ -33,7 +36,7 @@ AND a.glssr_seq = #glssrSeq# - + INSERT INTO adr_glossary ( @@ -41,8 +44,7 @@ glssr_subject, glssr_cn, frst_register_id, - frst_regist_pnttm, - use_yn + frst_regist_pnttm ) VALUES ( @@ -50,26 +52,144 @@ #glssrSubject#, #glssrCn#, #frstRegisterId#, - now(), - #useYn# + now() ) - + - + UPDATE adr_glossary - SET glssr_subject = '', - glssr_cn = '', - last_updusr_id = '', + SET glssr_subject = #glssrSubject#, + glssr_cn = #glssrCn#, + last_updusr_id = #lastUpdusrId#, last_updt_pnttm = now() WHERE glssr_seq = #glssrSeq# - + UPDATE adr_glossary - SET last_updusr_id = '', + SET last_updusr_id = #lastUpdusrId#, last_updt_pnttm = now(), use_yn = 'N' WHERE glssr_seq = #glssrSeq# + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/decorators.xml b/src/main/webapp/WEB-INF/decorators.xml index 2a48fd55..4c512dbe 100644 --- a/src/main/webapp/WEB-INF/decorators.xml +++ b/src/main/webapp/WEB-INF/decorators.xml @@ -66,7 +66,7 @@ /web/kccadr/adjPgrMgr/cclt/membDeptDetailPop.do */web/kccadr/pdf/pdfview.do* - /web/com/popup/quickWrapGlossaryPop.do* + /web/com/popup/quickWrapGlossaryPop*.do* diff --git a/src/main/webapp/WEB-INF/jsp/kccadr/glossary/glossaryDetail.jsp b/src/main/webapp/WEB-INF/jsp/kccadr/glossary/glossaryDetail.jsp index 8b639098..066fcb32 100644 --- a/src/main/webapp/WEB-INF/jsp/kccadr/glossary/glossaryDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/kccadr/glossary/glossaryDetail.jsp @@ -14,12 +14,7 @@ - + + + + + + + + - - -
+
-