From 2ac03528ce6305a25427b467fa9dcb2e119f81f7 Mon Sep 17 00:00:00 2001 From: hylee Date: Fri, 17 Nov 2023 11:30:22 +0900 Subject: [PATCH] =?UTF-8?q?q&a=20=EC=82=AC=EC=9A=A9=EC=9E=90=20=ED=99=94?= =?UTF-8?q?=EB=A9=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EgovBBSAttributeManageServiceImpl.java | 547 ++--- .../web/EgovBBSAttributeManageController.java | 1811 +++++++++-------- .../service/FndtnEnhanceTrnService.java | 7 + .../impl/FndtnEnhanceTrnServiceImpl.java | 11 + .../web/FndtnEnhanceTrnController.java | 69 + .../eduInfo/service/impl/VEEduAplctDAO.java | 11 + .../prcsInfo/service/VEPrcsDetailVO.java | 37 + .../web/FndthPrcsInfoMngController.java | 48 + .../spring/com/context-idgen.xml | 15 + .../let/cop/bbs/EgovBBSMaster_SQL_Tibero.xml | 15 +- .../sqlmap/ve/edu/VEEduAplct_SQL_Tibero.xml | 41 + src/main/webapp/WEB-INF/decorators.xml | 1 + .../fndthEnhanceTrn/fndthEduPrcsMngList.jsp | 1 - .../fndthEnhanceTrn/fndthEduQnaMngList.jsp | 287 +++ .../jsp/web/ve/aplct/fndtnEnhanceTrn/main.jsp | 155 +- .../web/ve/aplct/sspnIdtmt/eduAplctList.jsp | 2 +- 16 files changed, 1871 insertions(+), 1187 deletions(-) create mode 100644 src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduQnaMngList.jsp diff --git a/src/main/java/kcc/let/cop/bbs/service/impl/EgovBBSAttributeManageServiceImpl.java b/src/main/java/kcc/let/cop/bbs/service/impl/EgovBBSAttributeManageServiceImpl.java index 7320860d..e61d16ae 100644 --- a/src/main/java/kcc/let/cop/bbs/service/impl/EgovBBSAttributeManageServiceImpl.java +++ b/src/main/java/kcc/let/cop/bbs/service/impl/EgovBBSAttributeManageServiceImpl.java @@ -1,273 +1,274 @@ -package kcc.let.cop.bbs.service.impl; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; -import egovframework.rte.fdl.idgnr.EgovIdGnrService; -import egovframework.rte.fdl.property.EgovPropertyService; -import egovframework.rte.psl.dataaccess.util.EgovMap; -import kcc.com.cmm.ComDefaultVO; -import kcc.let.cop.bbs.service.BoardMaster; -import kcc.let.cop.bbs.service.BoardMasterVO; -import kcc.let.cop.bbs.service.BoardVO; -import kcc.let.cop.bbs.service.EgovBBSAttributeManageService; -import kcc.let.cop.com.service.EgovUserInfManageService; -import kcc.let.cop.com.service.impl.BBSUseInfoManageDAO; - -/** - * 게시판 속성관리를 위한 서비스 구현 클래스 - * @author 공통 서비스 개발팀 이삼섭 - * @since 2009.03.24 - * @version 1.0 - * @see - * - *
- * << 개정이력(Modification Information) >>
- *
- *   수정일      수정자          수정내용
- *  -------    --------    ---------------------------
- *  2009.03.24  이삼섭          최초 생성
- *  2009.06.26	한성곤		   2단계 기능 추가 (댓글관리, 만족도조사)
- *  2011.08.31  JJY            경량환경 템플릿 커스터마이징버전 생성
- *
- *  
- */ -@Service("EgovBBSAttributeManageService") -public class EgovBBSAttributeManageServiceImpl extends EgovAbstractServiceImpl implements EgovBBSAttributeManageService { - - @Resource(name = "BBSAttributeManageDAO") - private BBSAttributeManageDAO attrbMngDAO; - - @Resource(name = "BBSUseInfoManageDAO") - private BBSUseInfoManageDAO bbsUseDAO; - - @Resource(name = "EgovUserInfManageService") - private EgovUserInfManageService userService; - - @Resource(name = "egovBBSMstrIdGnrService") - private EgovIdGnrService idgenService; - - @Resource(name = "propertiesService") - protected EgovPropertyService propertyService; - - /** - * 등록된 게시판 속성정보를 삭제한다. - * - * @see kcc.let.cop.bbs.brd.service.EgovBBSAttributeManageService#deleteBBSMasterInf(kcc.let.cop.bbs.brd.service.BoardMaster) - */ - public void deleteBBSMasterInf(BoardMaster boardMaster) throws Exception { - attrbMngDAO.deleteBBSMasterInf(boardMaster); - -// BoardUseInf bdUseInf = new BoardUseInf(); -// -// bdUseInf.setBbsId(boardMaster.getBbsId()); -// bdUseInf.setLastUpdusrId(boardMaster.getLastUpdusrId()); -// -// bbsUseDAO.deleteBBSUseInfByBoardId(bdUseInf); - } - - /** - * 게시판 속성 정보의 목록을 조회 한다. - * - * @see kcc.let.cop.bbs.brd.service.EgovBBSAttributeManageService#selectAllBBSMasteInf(kcc.let.cop.bbs.brd.service.BoardMasterVO) - */ - public List selectAllBBSMasteInf(BoardMasterVO vo) throws Exception { - return attrbMngDAO.selectAllBBSMasteInf(vo); - } - - /** - * 게시판 속성 정보의 목록을 조회 한다. - * - * @see kcc.let.cop.bbs.brd.service.EgovBBSAttributeManageService#selectBBSMasterInfs(kcc.let.cop.bbs.brd.service.BoardMasterVO) - */ - public Map selectBBSMasterInfs(BoardMasterVO searchVO) throws Exception { - List result = attrbMngDAO.selectBBSMasterInfs(searchVO); - int cnt = attrbMngDAO.selectBBSMasterInfsCnt(searchVO); - - Map map = new HashMap(); - - map.put("resultList", result); - map.put("resultCnt", Integer.toString(cnt)); - - return map; - } - - /** - * 신규 게시판 속성정보를 생성한다. - * - * @see kcc.let.cop.bbs.brd.service.EgovBBSAttributeManageService#insertBBSMastetInf(kcc.let.cop.bbs.brd.service.BoardMaster) - */ - public String insertBBSMastetInf(BoardMaster boardMaster) throws Exception { - String bbsId = idgenService.getNextStringId(); - - boardMaster.setBbsId(bbsId); - - attrbMngDAO.insertBBSMasterInf(boardMaster); - - // 게시판 관리자 등록 - if (!"".equals(boardMaster.getBbsMngIds())) { - String[] bbsMngIds = boardMaster.getBbsMngIds().split("\\|"); - - for (int i = 0; i < bbsMngIds.length; i++) { - if (bbsMngIds[i] != null && !("".equals(bbsMngIds[i]))) { - BoardMaster vo = new BoardMaster(); - vo.setBbsId(bbsId); - vo.setMngId(attrbMngDAO.selectBBSMaxMngId()); - vo.setBbsMngId(bbsMngIds[i]); - - attrbMngDAO.insertBBSMngInf(vo); - } - } - } - - return bbsId; - } - - /** - * 게시판 속성정보 한 건을 상세조회한다. - * - * @see kcc.let.cop.bbs.brd.service.EgovBBSAttributeManageService#selectBBSMasterInf(kcc.let.cop.bbs.brd.service.BoardMasterVO) - */ - public BoardMasterVO selectBBSMasterInf(BoardMasterVO searchVO) throws Exception { - BoardMasterVO result = attrbMngDAO.selectBBSMasterInf(searchVO); - - return result; - } - - /** - * 게시판 속성정보를 수정한다. - * - * @see kcc.let.cop.bbs.brd.service.EgovBBSAttributeManageService#updateBBSMasterInf(kcc.let.cop.bbs.brd.service.BoardMaster) - */ - public void updateBBSMasterInf(BoardMaster boardMaster) throws Exception { - attrbMngDAO.updateBBSMasterInf(boardMaster); - } - - /** - * 게시판 관리자ID 목록을 조회한다. - * - * @see kcc.let.cop.bbs.brd.service.EgovBBSAttributeManageService#selectBBSMngIdList(kcc.let.cop.bbs.brd.service.BoardMasterVO) - */ - public List selectBBSMngIdList(BoardMaster vo) throws Exception { - return attrbMngDAO.selectBBSMngIdList(vo); - } - - /** - * 게시판 관리자 정보를 등록한다. - * - * @see kcc.let.cop.bbs.brd.service.EgovBBSAttributeManageService#insertBBSMngInf(kcc.let.cop.bbs.brd.service.BoardMaster) - */ - public int insertBBSMngInf(BoardMaster vo) throws Exception { - // 게시판 관리자 중복 체크 - int resultCnt = attrbMngDAO.selectBBSMngInfCnt(vo); - int mngId = 0; - - if (!(resultCnt > 0)) { - mngId = attrbMngDAO.selectBBSMaxMngId(); - vo.setMngId(mngId); - - attrbMngDAO.insertBBSMngInf(vo); - } - - return mngId; - } - - /** - * 게시판 관리자 정보를 삭제한다. - * - * @see kcc.let.cop.bbs.brd.service.EgovBBSAttributeManageService#deleteBBSMngInf(kcc.let.cop.bbs.brd.service.BoardMaster) - */ - public void deleteBBSMngInf(BoardMaster vo) throws Exception { - attrbMngDAO.deleteBBSMngInf(vo); - } - - /** - * 게시판 ID 정보의 목록을 조회 한다. - * - * @see kcc.let.cop.bbs.brd.service.EgovBBSAttributeManageService#selectBBSIdList(kcc.com.cmm.ComDefaultVO) - */ - public Map selectBBSIdList(ComDefaultVO searchVO) throws Exception { - List result = attrbMngDAO.selectBBSIdList(searchVO); - int cnt = attrbMngDAO.selectBBSIdListCnt(searchVO); - - Map map = new HashMap(); - - map.put("resultList", result); - map.put("resultCnt", Integer.toString(cnt)); - - return map; - } - - @Override - public void insupNoticeBbsid(BoardMaster boardMaster) throws Exception { - attrbMngDAO.insupNoticeBbsid(boardMaster); - - } - - @Override - public void insupQnaBbsid(BoardMaster boardMaster) throws Exception { - attrbMngDAO.insupQnaBbsid(boardMaster); - - } - - @Override - public void insupNewsBbsid(BoardMaster boardMaster) throws Exception { - attrbMngDAO.insupNewsBbsid(boardMaster); - - } - - @Override - public BoardMaster getSiteMainNbsVO(BoardMasterVO searchVO) throws Exception { - return attrbMngDAO.getSiteMainNbsVO(searchVO); - } - - @Override - public void insupLibraryBbsid(BoardMaster boardMaster) throws Exception { - attrbMngDAO.insupLibraryBbsid(boardMaster); - } - - @Override - public List selectMenuBbs(BoardMasterVO boardMasterVO) throws Exception { - return attrbMngDAO.selectMenuBbs(boardMasterVO); - } - - @Override - public void updateMenuBbs(BoardMasterVO boardMasterVO) throws Exception { - attrbMngDAO.deleteMenuBbs(boardMasterVO); - - for(int i=0; i < boardMasterVO.getBbsIds().size(); i++){ - BoardMasterVO tempBoardMaster= new BoardMasterVO(); - tempBoardMaster.setBbsId(boardMasterVO.getBbsIds().get(i)); - tempBoardMaster.setBbsSort( boardMasterVO.getBbsSorts().size()==0 ? "0" : boardMasterVO.getBbsSorts().get(i)); - tempBoardMaster.setMenuNo(boardMasterVO.getMenuNo()); - attrbMngDAO.updateMenuBbs(tempBoardMaster); - } - } - - @Override - public List selectBBSMenuByUrl(BoardMasterVO boardMasterVO) throws Exception { - return attrbMngDAO.selectBBSMenuByUrl(boardMasterVO); - } - - @Override - public int selectBBSMngInfCnt(BoardMasterVO bmVO) throws Exception { - return attrbMngDAO.selectBBSMngInfCnt(bmVO); - } - - @Override - public BoardMasterVO selectBbsIdByNttId(BoardVO boardVO) throws Exception { - return attrbMngDAO.selectBbsIdByNttId(boardVO); - } - - @Override - public List selectBbsAdmin(BoardVO bbsVO) throws Exception { - return attrbMngDAO.selectBbsAdmin(bbsVO); - } - - -} +package kcc.let.cop.bbs.service.impl; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; +import egovframework.rte.fdl.idgnr.EgovIdGnrService; +import egovframework.rte.fdl.property.EgovPropertyService; +import egovframework.rte.psl.dataaccess.util.EgovMap; +import kcc.com.cmm.ComDefaultVO; +import kcc.let.cop.bbs.service.BoardMaster; +import kcc.let.cop.bbs.service.BoardMasterVO; +import kcc.let.cop.bbs.service.BoardVO; +import kcc.let.cop.bbs.service.EgovBBSAttributeManageService; +import kcc.let.cop.com.service.EgovUserInfManageService; +import kcc.let.cop.com.service.impl.BBSUseInfoManageDAO; + +/** + * 게시판 속성관리를 위한 서비스 구현 클래스 + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009.03.24 + * @version 1.0 + * @see + * + *
+ * << 개정이력(Modification Information) >>
+ *
+ *   수정일      수정자          수정내용
+ *  -------    --------    ---------------------------
+ *  2009.03.24  이삼섭          최초 생성
+ *  2009.06.26	한성곤		   2단계 기능 추가 (댓글관리, 만족도조사)
+ *  2011.08.31  JJY            경량환경 템플릿 커스터마이징버전 생성
+ *
+ *  
+ */ +@Service("EgovBBSAttributeManageService") +public class EgovBBSAttributeManageServiceImpl extends EgovAbstractServiceImpl implements EgovBBSAttributeManageService { + + @Resource(name = "BBSAttributeManageDAO") + private BBSAttributeManageDAO attrbMngDAO; + + @Resource(name = "BBSUseInfoManageDAO") + private BBSUseInfoManageDAO bbsUseDAO; + + @Resource(name = "EgovUserInfManageService") + private EgovUserInfManageService userService; + + @Resource(name = "egovBBSMstrIdGnrService") + private EgovIdGnrService idgenService; + + @Resource(name = "propertiesService") + protected EgovPropertyService propertyService; + + /** + * 등록된 게시판 속성정보를 삭제한다. + * + * @see kcc.let.cop.bbs.brd.service.EgovBBSAttributeManageService#deleteBBSMasterInf(kcc.let.cop.bbs.brd.service.BoardMaster) + */ + public void deleteBBSMasterInf(BoardMaster boardMaster) throws Exception { + attrbMngDAO.deleteBBSMasterInf(boardMaster); + +// BoardUseInf bdUseInf = new BoardUseInf(); +// +// bdUseInf.setBbsId(boardMaster.getBbsId()); +// bdUseInf.setLastUpdusrId(boardMaster.getLastUpdusrId()); +// +// bbsUseDAO.deleteBBSUseInfByBoardId(bdUseInf); + } + + /** + * 게시판 속성 정보의 목록을 조회 한다. + * + * @see kcc.let.cop.bbs.brd.service.EgovBBSAttributeManageService#selectAllBBSMasteInf(kcc.let.cop.bbs.brd.service.BoardMasterVO) + */ + public List selectAllBBSMasteInf(BoardMasterVO vo) throws Exception { + return attrbMngDAO.selectAllBBSMasteInf(vo); + } + + /** + * 게시판 속성 정보의 목록을 조회 한다. + * + * @see kcc.let.cop.bbs.brd.service.EgovBBSAttributeManageService#selectBBSMasterInfs(kcc.let.cop.bbs.brd.service.BoardMasterVO) + */ + public Map selectBBSMasterInfs(BoardMasterVO searchVO) throws Exception { + List result = attrbMngDAO.selectBBSMasterInfs(searchVO); + int cnt = attrbMngDAO.selectBBSMasterInfsCnt(searchVO); + + Map map = new HashMap(); + + map.put("resultList", result); + map.put("resultCnt", Integer.toString(cnt)); + + return map; + } + + /** + * 신규 게시판 속성정보를 생성한다. + * + * @see kcc.let.cop.bbs.brd.service.EgovBBSAttributeManageService#insertBBSMastetInf(kcc.let.cop.bbs.brd.service.BoardMaster) + */ + public String insertBBSMastetInf(BoardMaster boardMaster) throws Exception { + String bbsId = idgenService.getNextStringId(); + + boardMaster.setBbsId(bbsId); + + attrbMngDAO.insertBBSMasterInf(boardMaster); + + // 게시판 관리자 등록 + if (!"".equals(boardMaster.getBbsMngIds())) { + String[] bbsMngIds = boardMaster.getBbsMngIds().split("\\|"); + + for (int i = 0; i < bbsMngIds.length; i++) { + if (bbsMngIds[i] != null && !("".equals(bbsMngIds[i]))) { + BoardMaster vo = new BoardMaster(); + vo.setBbsId(bbsId); + vo.setMngId(attrbMngDAO.selectBBSMaxMngId()); + vo.setBbsMngId(bbsMngIds[i]); + + attrbMngDAO.insertBBSMngInf(vo); + } + } + } + + return bbsId; + } + + /** + * 게시판 속성정보 한 건을 상세조회한다. + * + * @see kcc.let.cop.bbs.brd.service.EgovBBSAttributeManageService#selectBBSMasterInf(kcc.let.cop.bbs.brd.service.BoardMasterVO) + */ + public BoardMasterVO selectBBSMasterInf(BoardMasterVO searchVO) throws Exception { + BoardMasterVO result = attrbMngDAO.selectBBSMasterInf(searchVO); + + return result; + } + + /** + * 게시판 속성정보를 수정한다. + * + * @see kcc.let.cop.bbs.brd.service.EgovBBSAttributeManageService#updateBBSMasterInf(kcc.let.cop.bbs.brd.service.BoardMaster) + */ + public void updateBBSMasterInf(BoardMaster boardMaster) throws Exception { + attrbMngDAO.updateBBSMasterInf(boardMaster); + } + + /** + * 게시판 관리자ID 목록을 조회한다. + * + * @see kcc.let.cop.bbs.brd.service.EgovBBSAttributeManageService#selectBBSMngIdList(kcc.let.cop.bbs.brd.service.BoardMasterVO) + */ + public List selectBBSMngIdList(BoardMaster vo) throws Exception { + return attrbMngDAO.selectBBSMngIdList(vo); + } + + /** + * 게시판 관리자 정보를 등록한다. + * + * @see kcc.let.cop.bbs.brd.service.EgovBBSAttributeManageService#insertBBSMngInf(kcc.let.cop.bbs.brd.service.BoardMaster) + */ + public int insertBBSMngInf(BoardMaster vo) throws Exception { + // 게시판 관리자 중복 체크 + int resultCnt = attrbMngDAO.selectBBSMngInfCnt(vo); + int mngId = 0; + + if (!(resultCnt > 0)) { + mngId = attrbMngDAO.selectBBSMaxMngId(); + vo.setMngId(mngId); + + attrbMngDAO.insertBBSMngInf(vo); + } + + return mngId; + } + + /** + * 게시판 관리자 정보를 삭제한다. + * + * @see kcc.let.cop.bbs.brd.service.EgovBBSAttributeManageService#deleteBBSMngInf(kcc.let.cop.bbs.brd.service.BoardMaster) + */ + public void deleteBBSMngInf(BoardMaster vo) throws Exception { + attrbMngDAO.deleteBBSMngInf(vo); + } + + /** + * 게시판 ID 정보의 목록을 조회 한다. + * + * @see kcc.let.cop.bbs.brd.service.EgovBBSAttributeManageService#selectBBSIdList(kcc.com.cmm.ComDefaultVO) + */ + public Map selectBBSIdList(ComDefaultVO searchVO) throws Exception { + List result = attrbMngDAO.selectBBSIdList(searchVO); + int cnt = attrbMngDAO.selectBBSIdListCnt(searchVO); + + System.out.println("22222222222222222222"); + Map map = new HashMap(); + + map.put("resultList", result); + map.put("resultCnt", Integer.toString(cnt)); + + return map; + } + + @Override + public void insupNoticeBbsid(BoardMaster boardMaster) throws Exception { + attrbMngDAO.insupNoticeBbsid(boardMaster); + + } + + @Override + public void insupQnaBbsid(BoardMaster boardMaster) throws Exception { + attrbMngDAO.insupQnaBbsid(boardMaster); + + } + + @Override + public void insupNewsBbsid(BoardMaster boardMaster) throws Exception { + attrbMngDAO.insupNewsBbsid(boardMaster); + + } + + @Override + public BoardMaster getSiteMainNbsVO(BoardMasterVO searchVO) throws Exception { + return attrbMngDAO.getSiteMainNbsVO(searchVO); + } + + @Override + public void insupLibraryBbsid(BoardMaster boardMaster) throws Exception { + attrbMngDAO.insupLibraryBbsid(boardMaster); + } + + @Override + public List selectMenuBbs(BoardMasterVO boardMasterVO) throws Exception { + return attrbMngDAO.selectMenuBbs(boardMasterVO); + } + + @Override + public void updateMenuBbs(BoardMasterVO boardMasterVO) throws Exception { + attrbMngDAO.deleteMenuBbs(boardMasterVO); + + for(int i=0; i < boardMasterVO.getBbsIds().size(); i++){ + BoardMasterVO tempBoardMaster= new BoardMasterVO(); + tempBoardMaster.setBbsId(boardMasterVO.getBbsIds().get(i)); + tempBoardMaster.setBbsSort( boardMasterVO.getBbsSorts().size()==0 ? "0" : boardMasterVO.getBbsSorts().get(i)); + tempBoardMaster.setMenuNo(boardMasterVO.getMenuNo()); + attrbMngDAO.updateMenuBbs(tempBoardMaster); + } + } + + @Override + public List selectBBSMenuByUrl(BoardMasterVO boardMasterVO) throws Exception { + return attrbMngDAO.selectBBSMenuByUrl(boardMasterVO); + } + + @Override + public int selectBBSMngInfCnt(BoardMasterVO bmVO) throws Exception { + return attrbMngDAO.selectBBSMngInfCnt(bmVO); + } + + @Override + public BoardMasterVO selectBbsIdByNttId(BoardVO boardVO) throws Exception { + return attrbMngDAO.selectBbsIdByNttId(boardVO); + } + + @Override + public List selectBbsAdmin(BoardVO bbsVO) throws Exception { + return attrbMngDAO.selectBbsAdmin(bbsVO); + } + + +} diff --git a/src/main/java/kcc/let/cop/bbs/web/EgovBBSAttributeManageController.java b/src/main/java/kcc/let/cop/bbs/web/EgovBBSAttributeManageController.java index 935244e7..4b2620fd 100644 --- a/src/main/java/kcc/let/cop/bbs/web/EgovBBSAttributeManageController.java +++ b/src/main/java/kcc/let/cop/bbs/web/EgovBBSAttributeManageController.java @@ -1,904 +1,907 @@ -package kcc.let.cop.bbs.web; - -import java.io.OutputStream; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Locale; -import java.util.Map; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; - -import org.apache.poi.ss.usermodel.Cell; -import org.apache.poi.ss.usermodel.CellStyle; -import org.apache.poi.ss.usermodel.Font; -import org.apache.poi.ss.usermodel.Row; -import org.apache.poi.ss.usermodel.Sheet; -import org.apache.poi.xssf.streaming.SXSSFWorkbook; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.ui.ModelMap; -import org.springframework.validation.BindingResult; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.support.SessionStatus; -import org.springframework.web.servlet.ModelAndView; -import org.springframework.web.servlet.mvc.support.RedirectAttributes; -import org.springmodules.validation.commons.DefaultBeanValidator; - -import egovframework.rte.fdl.property.EgovPropertyService; -import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; -import egovframework.rte.psl.dataaccess.util.EgovMap; -import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; -import kcc.com.cmm.ComDefaultCodeVO; -import kcc.com.cmm.ComDefaultVO; -import kcc.com.cmm.EgovMessageSource; -import kcc.com.cmm.LoginVO; -import kcc.com.cmm.service.EgovCmmUseService; -import kcc.let.cop.bbs.service.BoardMaster; -import kcc.let.cop.bbs.service.BoardMasterVO; -import kcc.let.cop.bbs.service.EgovBBSAttributeManageService; -import kcc.let.sec.ram.service.AuthorManageVO; -import kcc.let.sec.ram.service.EgovAuthorManageService; -import kcc.let.sym.site.service.EgovSiteManagerService; -import kcc.let.uss.umt.service.EgovUserManageService; -import kcc.let.uss.umt.service.UserDefaultVO; - -/** - * 게시판 속성관리를 위한 컨트롤러 클래스 - * @author 공통 서비스 개발팀 이삼섭 - * @since 2009.03.12 - * @version 1.0 - * @see - * - *
- * << 개정이력(Modification Information) >>
- *
- *   수정일      수정자          수정내용
- *  -------    --------    ---------------------------
- *  2009.03.12  이삼섭          최초 생성
- *  2009.06.26	한성곤		2단계 기능 추가 (댓글관리, 만족도조사)
- *  2011.08.31  JJY            경량환경 템플릿 커스터마이징버전 생성
- *
- *  
- */ -@Controller -public class EgovBBSAttributeManageController { - - @Resource(name = "EgovBBSAttributeManageService") - private EgovBBSAttributeManageService bbsAttrbService; - - @Resource(name = "EgovCmmUseService") - private EgovCmmUseService cmmUseService; - - @Resource(name = "propertiesService") - protected EgovPropertyService propertyService; - - @Autowired - private DefaultBeanValidator beanValidator; - - @Resource(name = "egovAuthorManageService") - private EgovAuthorManageService egovAuthorManageService; - - @Resource(name = "userManageService") - private EgovUserManageService userManageService; - - @Resource(name="egovMessageSource") - EgovMessageSource egovMessageSource; - - /** EgovPropertyService */ - @Resource(name = "propertiesService") - protected EgovPropertyService propertiesService; - - @Resource(name = "egovSiteManagerService") - EgovSiteManagerService egovSiteManagerService; - - //배열 정의{"컬럼순차번호, 컬럼이름, 컬럼내용, 컬럼이름에 붙여야할 내용(엑셀코드양식다운로드시 필요)"} - private String[][] bbsMasterExcelValue ={ - {"0" ,"번호" , "1" , "" }, - {"1", "사이트명" , "ITN" , "[코드]"}, - {"2", "게시판명" , "testId", ""}, - {"3", "새글/총글수" , "홍길동", ""}, - {"4", "게시판유형" , "일반관리자", "[코드]"}, - {"5", "사용여부" , "test@kcc.co.kr", ""}, - {"6", "생성일" , "02-123-4567", ""} - } ; - /** - * 게시판 마스터 목록을 조회한다. - * - * @param boardMasterVO - * @param model - * @return - * @throws Exception - */ - @RequestMapping("/cop/bbs/SelectBBSMasterInfs.do") - public String selectBBSMasterInfs(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, - ModelMap model , HttpSession session) throws Exception { - try{ - System.out.println("cop-bbs-SelectBBSMasterInfs"); - List authorities = EgovUserDetailsHelper.getAuthorities(); - LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); - - // 게시판 설정 관리권한 체크 - boolean bbsAttrMngAuth = false; - for (String authority : authorities) { - if (authority.equals("ROLE_ADMIN") || authority.equals("ROLE_ADR_ADMIN")) bbsAttrMngAuth = true; - } - - if (!bbsAttrMngAuth) boardMasterVO.setBbsMngId(user.getId()); - - if(boardMasterVO.getPageUnit() != 10) { - boardMasterVO.setPageUnit(boardMasterVO.getPageUnit()); - } - - PaginationInfo paginationInfo = new PaginationInfo(); - - paginationInfo.setCurrentPageNo(boardMasterVO.getPageIndex()); - paginationInfo.setRecordCountPerPage(boardMasterVO.getPageUnit()); - paginationInfo.setPageSize(boardMasterVO.getPageSize()); - - boardMasterVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); - boardMasterVO.setLastIndex(paginationInfo.getLastRecordIndex()); - boardMasterVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); - - if(null != user && !"super".equals(user.getSiteId())){ - boardMasterVO.setSiteId(user.getSiteId()) ; //사이트 아이디 - } - - if("".equals(boardMasterVO.getSearchSortCnd())){ //최초조회시 최신것 조회List - boardMasterVO.setSearchSortCnd("a.BBS_ID"); - boardMasterVO.setSearchSortOrd("desc"); - boardMasterVO.setUseAt("Y"); //사용하는 것만 조회 - }else { - if("".equals(boardMasterVO.getUseAt())){ //사용 - boardMasterVO.setUseAt("Y"); - } - } - - Map map = bbsAttrbService.selectBBSMasterInfs(boardMasterVO); - - int totCnt = Integer.parseInt((String) map.get("resultCnt")); - //게시판 관리자 정보 가져오기 - List adminBbsList = (List)map.get("resultList"); - - //사용자 bbs url가져오기 - String bbsHomeUrl = "/web/cop/bbsWeb/selectBoardList.do?bbsId="; //초기값 - for (BoardMasterVO tempVO: adminBbsList){ - List mngIdList = new ArrayList<>(); - mngIdList = bbsAttrbService.selectBBSMngIdList(tempVO); - tempVO.setMngIdList(mngIdList); - tempVO.setBbsHomeUrl(getBbsUrl(tempVO.getBbsId(), bbsHomeUrl)); - } - paginationInfo.setTotalRecordCount(totCnt); - - model.addAttribute("resultList", map.get("resultList")); - model.addAttribute("resultCnt", map.get("resultCnt")); - model.addAttribute("bbsAttrMngAuth", bbsAttrMngAuth); - model.addAttribute("paginationInfo", paginationInfo); - - }catch(Exception ex) { - ex.printStackTrace(); - } - - return "cop/bbs/EgovBoardMstrList"; - } - - /** - * 게시판 마스터 정보를 삭제한다. - * - * @param boardMasterVO - * @param boardMaster - * @param status - * @return - * @throws Exception - */ - @RequestMapping("/cop/bbs/DeleteBBSMasterInf.do") - public String deleteBBSMasterInf(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, @ModelAttribute("boardMaster") BoardMaster boardMaster, SessionStatus status - , RedirectAttributes redirectAttributes) throws Exception { - LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); - - // 게시판 설정 관리권한 체크 - boolean bbsAttrMngAuth = false; - List authorities = EgovUserDetailsHelper.getAuthorities(); - for (String authority : authorities) { - if (authority.equals("ROLE_ADMIN")) bbsAttrMngAuth = true; - } - if (!bbsAttrMngAuth) { - redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.auth")); - return "redirect:/cop/bbs/SelectBBSMasterInfs.do"; - } - - boardMaster.setLastUpdusrId(user.getUniqId()); - bbsAttrbService.deleteBBSMasterInf(boardMaster); - - redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.delete")); - return "redirect:/cop/bbs/SelectBBSMasterInfs.do"; - } - - /** - * 신규 게시판 마스터 등록을 위한 등록페이지로 이동한다. - * - * @param boardMasterVO - * @param model - * @return - * @throws Exception - */ - @RequestMapping("/cop/bbs/addBBSMaster.do") - public String addBBSMaster(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, @ModelAttribute("boardMaster") BoardMaster boardMaster, - ModelMap model, BindingResult bindingResult, RedirectAttributes redirectAttributes, - HttpSession session ) throws Exception { - // 게시판 설정 관리권한 체크 - boolean bbsAttrMngAuth = false; - List authorities = EgovUserDetailsHelper.getAuthorities(); - for (String authority : authorities) { - if (authority.equals("ROLE_ADMIN")) bbsAttrMngAuth = true; - } - if (!bbsAttrMngAuth) { - redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.auth")); - return "redirect:/cop/bbs/SelectBBSMasterInfs.do"; - } - - // 게시판 공통코드 및 권한목록 Set - setBBSModelInfo(model); - return "cop/bbs/EgovBoardMstrRegist"; - } - - /** - * 신규 게시판 마스터 정보를 등록한다. - * - * @param boardMasterVO - * @param boardMaster - * @param status - * @return - * @throws Exception - */ - @RequestMapping("/cop/bbs/insertBBSMasterInf.do") - public String insertBBSMasterInf(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, @ModelAttribute("boardMaster") BoardMaster boardMaster, BindingResult bindingResult, - SessionStatus status, ModelMap model, RedirectAttributes redirectAttributes, HttpSession session) throws Exception { - // 게시판 설정 관리권한 체크 - boolean bbsAttrMngAuth = false; - List authorities = EgovUserDetailsHelper.getAuthorities(); - for (String authority : authorities) { - if (authority.equals("ROLE_ADMIN")) bbsAttrMngAuth = true; - } - if (!bbsAttrMngAuth) { - redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.auth")); - return "redirect:/cop/bbs/SelectBBSMasterInfs.do"; - } - - LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); - beanValidator.validate(boardMaster, bindingResult); - if (bindingResult.hasErrors()) { - model.addAttribute("siteId", user.getSiteId()); - // 게시판 공통코드 및 권한목록 Set - setBBSModelInfo(model); - return "cop/bbs/EgovBoardMstrRegist"; - } - - - boardMaster.setFrstRegisterId(user.getUniqId()); - // eGov 게시판 유형 코드. BBSA03:기본게시판. (게시판 타입코드로 기본,웹진,포토 사용중. 유형 코드 필요 유무 확인필요) - boardMaster.setBbsAttrbCode("BBSA03"); - if(null != user && !"super".equals(user.getSiteId())){ //리스트, 수정, 입력 - boardMaster.setSiteId(user.getSiteId());//사이트 아이디 - } - - bbsAttrbService.insertBBSMastetInf(boardMaster); - redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.insert")); - return "redirect:/cop/bbs/SelectBBSMasterInfs.do"; - } - - /** - * 게시판 마스터 상세내용을 조회한다. - * - * @param boardMasterVO - * @param model - * @return - * @throws Exception - */ - @RequestMapping("/cop/bbs/SelectBBSMasterInf.do") - public String selectBBSMasterInf(@ModelAttribute("searchVO") BoardMasterVO searchVO, ModelMap model, - RedirectAttributes redirectAttributes, HttpSession session) throws Exception { - // 게시판 설정 관리권한 체크 - boolean bbsAttrMngAuth = false; - List authorities = EgovUserDetailsHelper.getAuthorities(); - for (String authority : authorities) { - if (authority.equals("ROLE_ADMIN") || authority.equals("ROLE_USER_MEMBER")) bbsAttrMngAuth = true; - } - if (!bbsAttrMngAuth) { - redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.auth")); - return "redirect:/cop/bbs/SelectBBSMasterInfs.do"; - } - - BoardMasterVO vo = bbsAttrbService.selectBBSMasterInf(searchVO); - model.addAttribute("boardMaster", vo); - - // 게시판 관리자ID 조회 - List mngIdList = bbsAttrbService.selectBBSMngIdList(searchVO); - model.addAttribute("mngIdList", mngIdList); - - // 게시판 공통코드 및 권한목록 Set - setBBSModelInfo(model); - - BoardMaster siteMainNbsVO = new BoardMaster(); - siteMainNbsVO = bbsAttrbService.getSiteMainNbsVO(searchVO); - model.addAttribute("siteMainNbsVO", siteMainNbsVO); - - if(EgovUserDetailsHelper.getAuthorities().contains("ROLE_ADMIN")){ - model.addAttribute("ROLE_ADMIN", "ROLE_ADMIN"); - } - return "cop/bbs/EgovBoardMstrUpdt"; - } - - /** - * 게시판 마스터 정보를 수정한다. - * - * @param boardMasterVO - * @param boardMaster - * @param model - * @return - * @throws Exception - */ - @RequestMapping("/cop/bbs/UpdateBBSMasterInf.do") - public String updateBBSMasterInf(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, @ModelAttribute("boardMaster") BoardMaster boardMaster, BindingResult bindingResult, - ModelMap model, RedirectAttributes redirectAttributes) throws Exception { - - LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); - // 게시판 설정 관리권한 체크 - boolean bbsAttrMngAuth = false; - List authorities = EgovUserDetailsHelper.getAuthorities(); - for (String authority : authorities) { - if (authority.equals("ROLE_ADMIN")) bbsAttrMngAuth = true; - } - if (!bbsAttrMngAuth) { - redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.auth")); - return "redirect:/cop/bbs/SelectBBSMasterInfs.do"; - } - - beanValidator.validate(boardMaster, bindingResult); - if (bindingResult.hasErrors()) { - model.addAttribute("siteId", user.getSiteId()); - // 게시판 공통코드 및 권한목록 Set - setBBSModelInfo(model); - return "cop/bbs/EgovBoardMstrUpdt"; - } - - if(null != user && !"super".equals(user.getSiteId())){ - boardMaster.setSiteId(user.getSiteId()); - } - - boardMaster.setLastUpdusrId(user.getUniqId()); - bbsAttrbService.updateBBSMasterInf(boardMaster); //BBST07 사전정보공표 - - //매인 bbs 등록 - LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); - if(null != loginVO && !"super".equals(loginVO.getSiteId())){ //리스트, 수정, 입력 - boardMaster.setSiteId(loginVO.getSiteId()); - boardMasterVO.setSiteId(loginVO.getSiteId()); - } - - //변경이 되면 업데이트 함. - BoardMaster siteMainNbsVO = new BoardMaster(); - siteMainNbsVO = bbsAttrbService.getSiteMainNbsVO(boardMasterVO); - - if(boardMaster.getNoticeBbsid().equals("") && siteMainNbsVO !=null){//체크안했을 경우 이전 값이 있을때 변경 - if(boardMasterVO.getBbsId().equals(siteMainNbsVO.getNoticeBbsid())){ - bbsAttrbService.insupNoticeBbsid(boardMaster) ; - } - }else{ - bbsAttrbService.insupNoticeBbsid(boardMaster) ; - } - - if(boardMaster.getQnaBbsid().equals("")){//체크안했을 경우 이전 값이 있을때 변경 - if(siteMainNbsVO !=null && boardMasterVO.getBbsId().equals(siteMainNbsVO.getQnaBbsid())){ - bbsAttrbService.insupQnaBbsid(boardMaster) ; - } - }else{ - bbsAttrbService.insupQnaBbsid(boardMaster) ; - } - - if(boardMaster.getNewsBbsid().equals("")){//체크안했을 경우 이전 값이 있을때 변경 - if(siteMainNbsVO !=null && boardMasterVO.getBbsId().equals(siteMainNbsVO.getNewsBbsid())){ - bbsAttrbService.insupNewsBbsid(boardMaster) ; - } - }else{ - bbsAttrbService.insupNewsBbsid(boardMaster) ; - } - - if(boardMaster.getLibraryBbsid().equals("")){//체크안했을 경우 이전 값이 있을때 변경 - if(siteMainNbsVO !=null && boardMasterVO.getBbsId().equals(siteMainNbsVO.getLibraryBbsid())){ - bbsAttrbService.insupLibraryBbsid(boardMaster) ; - } - }else{ - bbsAttrbService.insupLibraryBbsid(boardMaster) ; - } - - redirectAttributes.addAttribute("pageIndex", boardMasterVO.getPageIndex()); - redirectAttributes.addAttribute("searchCnd", boardMasterVO.getSearchCnd()); - redirectAttributes.addAttribute("searchWrd", boardMasterVO.getSearchWrd()); - redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.update")); - return "redirect:/cop/bbs/SelectBBSMasterInfs.do"; - } - - /** - * 팝업을 위한 게시판 관리자 목록을 조회한다. - * - * @param boardMasterVO - * @param model - * @return - * @throws Exception - */ - @RequestMapping("/cop/bbs/selectBBSMngInfsPop.do") - public String selectBBSmngInfsPop(@ModelAttribute("userSearchVO") UserDefaultVO userSearchVO, @RequestParam Map commandMap, ModelMap model) throws Exception { - /** EgovPropertyService */ - userSearchVO.setPageUnit(propertyService.getInt("pageUnit")); - userSearchVO.setPageSize(propertyService.getInt("pageSize")); - - /** pageing */ - PaginationInfo paginationInfo = new PaginationInfo(); - paginationInfo.setCurrentPageNo(userSearchVO.getPageIndex()); - paginationInfo.setRecordCountPerPage(userSearchVO.getPageUnit()); - paginationInfo.setPageSize(userSearchVO.getPageSize()); - - userSearchVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); - userSearchVO.setLastIndex(paginationInfo.getLastRecordIndex()); - userSearchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); - - model.addAttribute("resultList", userManageService.selectUserList(userSearchVO)); - int totCnt = userManageService.selectUserListTotCnt(userSearchVO); - model.addAttribute("resultCnt", totCnt); - - paginationInfo.setTotalRecordCount(totCnt); - model.addAttribute("paginationInfo", paginationInfo); - - return "cop/bbs/EgovBoardMngInfsPop"; - } - - /** - * 게시판 관리자 추가 등록 - * @param commandMap 파라메터전달용 commandMap - * @param model 화면모델 - * @throws Exception - */ - @RequestMapping(value = "/cop/bbs/insertBBSMngInfAjax.do") - public ModelAndView insertBBSMngInfAjax(@RequestParam Map commandMap) throws Exception { - - ModelAndView modelAndView = new ModelAndView(); - modelAndView.setViewName("jsonView"); - - String bbsMngId = (String) commandMap.get("bbsMngId"); - String bbsId = (String) commandMap.get("bbsId"); - BoardMaster vo = new BoardMaster(); - vo.setBbsId(bbsId); - vo.setBbsMngId(bbsMngId); - - int mngId = bbsAttrbService.insertBBSMngInf(vo); - modelAndView.addObject("bbsMngId", bbsMngId); - modelAndView.addObject("mngId", mngId); - - return modelAndView; - } - - /** - * 게시판 관리자 삭제 - * @param commandMap 파라메터전달용 commandMap - * @throws Exception - */ - @RequestMapping(value = "/cop/bbs/deleteBBSMngInfAjax.do") - public ModelAndView deleteBBSMngInfAjax(@RequestParam Map commandMap) throws Exception { - - ModelAndView modelAndView = new ModelAndView(); - modelAndView.setViewName("jsonView"); - - String mngId = (String) commandMap.get("mngId"); - - BoardMaster vo = new BoardMaster(); - vo.setMngId(Integer.parseInt(mngId)); - - bbsAttrbService.deleteBBSMngInf(vo); - - modelAndView.addObject("mngId", mngId); - return modelAndView; - } - - /** - * 게시판 관리 권한 여부 체크 - * @param manageAuth 게시판 관리권한 - * @param mngIdList 게시판 관리자 목록 (없을 시 null) - * @param bbsId 게시판Id (게시판 관리자ID 목록 없을 시 조회하기 위한 게시판ID. 게시판 관리자 목록 있을 시 null) - * @return boolean - * @throws Exception - */ - private boolean isBBSManageAuthFlag(String manageAuth, List mngIdList, String bbsId) throws Exception { - boolean authFlag = false; - List authorities = EgovUserDetailsHelper.getAuthorities(); - LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); - - if (manageAuth == null) { - BoardMasterVO vo = new BoardMasterVO(); - vo.setBbsId(bbsId); - vo = bbsAttrbService.selectBBSMasterInf(vo); - manageAuth = vo.getManageAuth(); - } - - // 게시판 관리권한 체크 - for (String authority : authorities) { - if (authority.equals(manageAuth)) authFlag = true; - } - - // 게시판 관리자 체크 - if (!authFlag) { - if (mngIdList == null) { - BoardMaster vo = new BoardMaster(); - vo.setBbsId(bbsId); - mngIdList = (List)bbsAttrbService.selectBBSMngIdList(vo); - } - - int mngYn = 0; - for(int i = 0; i < mngIdList.size(); i++) { - String emplyrId = (String) mngIdList.get(i).get("emplyrId"); - if (emplyrId.equals(user.getId())) mngYn++; - } - - if (mngYn != 0) authFlag = true; - } - - return authFlag; - } - - /** - * 게시판 공통코드 및 권한목록 Set - * @param model - * @throws Exception - */ - private void setBBSModelInfo(ModelMap model) throws Exception { - ComDefaultCodeVO comDefaultCodeVO = new ComDefaultCodeVO(); - comDefaultCodeVO.setCodeId("COM004"); - List codeResult = cmmUseService.selectCmmCodeDetail(comDefaultCodeVO); - model.addAttribute("typeList", codeResult); - comDefaultCodeVO.setCodeId("COM009"); - codeResult = cmmUseService.selectCmmCodeDetail(comDefaultCodeVO); - model.addAttribute("attrbList", codeResult); - comDefaultCodeVO.setCodeId("COM005"); - codeResult = cmmUseService.selectCmmCodeDetail(comDefaultCodeVO); - model.addAttribute("tmptList", codeResult); - - AuthorManageVO authorManageVO = new AuthorManageVO(); - authorManageVO.setAuthorManageList(egovAuthorManageService.selectAuthorAllList(authorManageVO)); - model.addAttribute("authorList", authorManageVO.getAuthorManageList()); - } - - - /** - * @@@@@@사용자 Test 용. 추후 삭제 @@@@@ - * 게시판 마스터 목록을 조회한다. - * - * @param boardMasterVO - * @param model - * @return - * @throws Exception - */ - @RequestMapping("/cop/bbs/SelectBBSMasterInfsUsr.do") - public String selectBBSMasterInfsUsr(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, ModelMap model) throws Exception { - - boardMasterVO.setPageUnit(propertyService.getInt("pageUnit")); - boardMasterVO.setPageSize(propertyService.getInt("pageSize")); - - PaginationInfo paginationInfo = new PaginationInfo(); - - paginationInfo.setCurrentPageNo(boardMasterVO.getPageIndex()); - paginationInfo.setRecordCountPerPage(boardMasterVO.getPageUnit()); - paginationInfo.setPageSize(boardMasterVO.getPageSize()); - - boardMasterVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); - boardMasterVO.setLastIndex(paginationInfo.getLastRecordIndex()); - boardMasterVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); - - Map map = bbsAttrbService.selectBBSMasterInfs(boardMasterVO); - int totCnt = Integer.parseInt((String) map.get("resultCnt")); - - paginationInfo.setTotalRecordCount(totCnt); - - model.addAttribute("resultList", map.get("resultList")); - model.addAttribute("resultCnt", map.get("resultCnt")); - model.addAttribute("paginationInfo", paginationInfo); - - return "cop/bbs/EgovBoardMstrList"; - } - - /** - * 게시판 ID를 조회한다. - * @param searchVO ComDefaultVO - * @return 출력페이지정보 "cop/bbs/EgovBoardIdSearch" - * @exception Exception - */ - @RequestMapping(value = "/cop/bbs/EgovBBSIdListSearch.do") - public String selectBBSIdListSearch(@ModelAttribute("searchVO") ComDefaultVO searchVO, ModelMap model) throws Exception { - - // 0. Spring Security 사용자권한 처리 - Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); - if (!isAuthenticated) { - model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); - return "uat/uia/EgovLoginUsr"; - } - // 내역 조회 - searchVO.setPageUnit(propertiesService.getInt("pageUnit")); - searchVO.setPageSize(propertiesService.getInt("pageSize")); - - - /** 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()); - - Map map = bbsAttrbService.selectBBSIdList(searchVO); - int totCnt = Integer.parseInt((String) map.get("resultCnt")); - - paginationInfo.setTotalRecordCount(totCnt); - - model.addAttribute("resultList", map.get("resultList")); - model.addAttribute("paginationInfo", paginationInfo); - - return "cop/bbs/EgovBoardIdSearch"; - } - - /** - * 선택된 게시판을 삭제한다. - * @param bbsIds String - * @param boardMasterVO BoardMasterVO - * @return String - * @exception Exception - */ - @RequestMapping(value = "/cop/bbs/DeleteBBSMasterInfs.do") - public String deleteBBSMasterInfs(@RequestParam("bbsIds") String bbsIds, @ModelAttribute("BoardMasterVO") BoardMasterVO boardMasterVO, RedirectAttributes redirectAttributes) - throws Exception { - - // 게시판 설정 관리권한 체크 - boolean bbsAttrMngAuth = false; - LoginVO loginVo = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser() ; - if("ROLE_ADMIN".equals(loginVo.getAuthority())){ - bbsAttrMngAuth = true; - } - - if (!bbsAttrMngAuth) { - redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.auth")); - return "redirect:/cop/bbs/SelectBBSMasterInfs.do"; - } - - String[] strBbsIds = bbsIds.split(";"); - for (int i = 0; i < strBbsIds.length; i++) { - boardMasterVO.setBbsId(strBbsIds[i]); - bbsAttrbService.deleteBBSMasterInf(boardMasterVO); - } - - // status.setComplete(); // ? - - boardMasterVO.setPageIndex(1); - redirectAttributes.addAttribute("pageIndex", boardMasterVO.getPageIndex()); - redirectAttributes.addAttribute("searchCnd", boardMasterVO.getSearchCnd()); - redirectAttributes.addAttribute("searchWrd", boardMasterVO.getSearchWrd()); - redirectAttributes.addFlashAttribute("message", "정상적으로 처리 되었습니다."); - return "redirect:/cop/bbs/SelectBBSMasterInfs.do"; - } - - public String getBbsUrl(String bbsId , String bbsHomeUrl){ - //원자력소식 - if("BBSMSTR_000000000411".equals(bbsId) - ||"BBSMSTR_000000000412".equals(bbsId) - ){bbsHomeUrl = "/web/cop/bbs/NewsList.do"; return bbsHomeUrl ;} - //자료실 - if("BBSMSTR_000000000493".equals(bbsId) - ||"BBSMSTR_000000000477".equals(bbsId) - ||"BBSMSTR_000000000476".equals(bbsId) - ||"BBSMSTR_000000000475".equals(bbsId) - ||"BBSMSTR_000000000474".equals(bbsId) - ||"BBSMSTR_000000000473".equals(bbsId) - ||"BBSMSTR_000000000472".equals(bbsId) - ||"BBSMSTR_000000000471".equals(bbsId) - ||"BBSMSTR_000000000461".equals(bbsId) - ){bbsHomeUrl = "/web/cop/bbs/LibList.do?bbsId="+bbsId; return bbsHomeUrl ;} - - //자주하는질문 - if("BBSMSTR_000000000429".equals(bbsId) - ||"BBSMSTR_000000000428".equals(bbsId) - ||"BBSMSTR_000000000427".equals(bbsId) - ||"BBSMSTR_000000000426".equals(bbsId) - ||"BBSMSTR_000000000425".equals(bbsId) - ||"BBSMSTR_000000000424".equals(bbsId) - ||"BBSMSTR_000000000423".equals(bbsId) - ||"BBSMSTR_000000000422".equals(bbsId) - ||"BBSMSTR_000000000421".equals(bbsId) - ){bbsHomeUrl = "/web/cop/bbs/FaqList.do"; return bbsHomeUrl ;} - - //묻고답하기 - if("BBSMSTR_000000000528".equals(bbsId) - ||"BBSMSTR_000000000527".equals(bbsId) - ||"BBSMSTR_000000000526".equals(bbsId) - ||"BBSMSTR_000000000525".equals(bbsId) - ||"BBSMSTR_000000000524".equals(bbsId) - ||"BBSMSTR_000000000523".equals(bbsId) - ||"BBSMSTR_000000000522".equals(bbsId) - ||"BBSMSTR_000000000521".equals(bbsId) - ||"BBSMSTR_000000000490".equals(bbsId) - ){bbsHomeUrl = "/web/cop/bbs/QnaList.do"; return bbsHomeUrl ;} - - //사전정보공표 - if("BBSMSTR_000000000541".equals(bbsId) - ||"BBSMSTR_000000000456".equals(bbsId) - ||"BBSMSTR_000000000455".equals(bbsId) - ||"BBSMSTR_000000000454".equals(bbsId) - ||"BBSMSTR_000000000453".equals(bbsId) - ||"BBSMSTR_000000000452".equals(bbsId) - ||"BBSMSTR_000000000451".equals(bbsId) - ||"BBSMSTR_000000000445".equals(bbsId) - ||"BBSMSTR_000000000444".equals(bbsId) - ||"BBSMSTR_000000000443".equals(bbsId) - ||"BBSMSTR_000000000442".equals(bbsId) - ){bbsHomeUrl = "/web/cop/bbs/PubOperList.do?bbsId="+bbsId; return bbsHomeUrl ;} - - //통합경영공시 - if("BBSMSTR_000000000581".equals(bbsId) - ||"BBSMSTR_000000000582".equals(bbsId) - ||"BBSMSTR_000000000583".equals(bbsId) - ||"BBSMSTR_000000000584".equals(bbsId) - ){bbsHomeUrl = "/web/content.do?proFn=9640000"; return bbsHomeUrl ;} - - //사전정보공표(하단 리스트 게시판 ) BBSMSTR_000000000442 ~ - if("BBSMSTR_000000000599".equals(bbsId) - ||"BBSMSTR_000000000551".equals(bbsId) - ||"BBSMSTR_000000000598".equals(bbsId) - ||"BBSMSTR_000000000597".equals(bbsId) - ||"BBSMSTR_000000000596".equals(bbsId) - ||"BBSMSTR_000000000595".equals(bbsId) - ||"BBSMSTR_000000000594".equals(bbsId) - ||"BBSMSTR_000000000593".equals(bbsId) - ||"BBSMSTR_000000000571".equals(bbsId) - - ||"BBSMSTR_000000000602".equals(bbsId) - ||"BBSMSTR_000000000601".equals(bbsId) - ||"BBSMSTR_000000000600".equals(bbsId) - ||"BBSMSTR_000000000592".equals(bbsId) - ||"BBSMSTR_000000000591".equals(bbsId) - - ||"BBSMSTR_000000000608".equals(bbsId) - ||"BBSMSTR_000000000607".equals(bbsId) - ||"BBSMSTR_000000000606".equals(bbsId) - ||"BBSMSTR_000000000605".equals(bbsId) - ||"BBSMSTR_000000000604".equals(bbsId) - ||"BBSMSTR_000000000603".equals(bbsId) - - - ||"BBSMSTR_000000000614".equals(bbsId) - ||"BBSMSTR_000000000613".equals(bbsId) - ||"BBSMSTR_000000000612".equals(bbsId) - ||"BBSMSTR_000000000611".equals(bbsId) - ||"BBSMSTR_000000000610".equals(bbsId) - ||"BBSMSTR_000000000609".equals(bbsId) - - ||"BBSMSTR_000000000632".equals(bbsId) - ||"BBSMSTR_000000000631".equals(bbsId) - ||"BBSMSTR_000000000630".equals(bbsId) - - ||"BBSMSTR_000000000616".equals(bbsId) - ||"BBSMSTR_000000000615".equals(bbsId) - - ||"BBSMSTR_000000000618".equals(bbsId) - ||"BBSMSTR_000000000617".equals(bbsId) - - ||"BBSMSTR_000000000621".equals(bbsId) - ||"BBSMSTR_000000000620".equals(bbsId) - ||"BBSMSTR_000000000619".equals(bbsId) - - ||"BBSMSTR_000000000625".equals(bbsId) - ||"BBSMSTR_000000000622".equals(bbsId) - - ||"BBSMSTR_000000000629".equals(bbsId) - ){bbsHomeUrl = "/web/cop/bbs/PubOperList.do?pubDetail=Y&bbsId="+bbsId; return bbsHomeUrl ;} - return bbsHomeUrl+bbsId; - } - - - //게시판 마스터 리스트 엑셀 다운로드 - @RequestMapping(value="/cop/bbs/bbsMasterExcelDownload.do") - public void bbsMasterExcelDownload( BoardMasterVO boardMasterVO, - HttpServletRequest request, - HttpServletResponse response , - ModelMap model) throws Exception { - - boardMasterVO.setRecordCountPerPage(100000); - boardMasterVO.setFirstIndex(0); - LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); - if(null != loginVO && !"super".equals(loginVO.getSiteId())){ - boardMasterVO.setSiteId(loginVO.getSiteId()); - } - // 메모리에 100개의 행을 유지합니다. 행의 수가 넘으면 디스크에 적습니다. - SXSSFWorkbook wb = new SXSSFWorkbook(100); - CellStyle style = wb.createCellStyle(); - style.setBorderBottom(CellStyle.BORDER_THIN); //테두리 두껍게 - style.setBorderLeft(CellStyle.BORDER_THIN); - style.setBorderRight(CellStyle.BORDER_THIN); - style.setBorderTop(CellStyle.BORDER_THIN); - Font font = wb.createFont(); - font.setBoldweight(Font.BOLDWEIGHT_BOLD); //글씨 bold - - Cell cell = null; - Row row = null; - - String fileName ="게시판 마스터 리스트"; - - String sheetTitle = ""; - try{ - //List userSearchList = userManageService.selectUserList(userSearchVO) ; - boardMasterVO.setDelSttus("Y"); - Map bbsMasterList = bbsAttrbService.selectBBSMasterInfs(boardMasterVO); - { //화면 리스트 - sheetTitle = "게시판 마스터 리스트(화면)" ; //제목 - Sheet sheet = wb.createSheet(sheetTitle); - row = sheet.createRow(0); - for(int i=0 ; i < bbsMasterExcelValue.length ; i++) { - cell = row.createCell(i); - cell.setCellStyle(style); - cell.setCellValue(bbsMasterExcelValue[i][1]); - } - - List bbsMasterCastList = (List)bbsMasterList.get("resultList") ; - for(int i=0; i < bbsMasterCastList.size(); i++){ - row = sheet.createRow(i+1); - for(int j=0 ; j < bbsMasterExcelValue.length ; j++) { - cell = row.createCell(j); - cell.setCellStyle(style); - if(j==0) cell.setCellValue(i+1); //번호 - if(j==1) cell.setCellValue(((BoardMasterVO)bbsMasterCastList.get(i)).getSiteNm()); //사이트명 - if(j==2) cell.setCellValue(((BoardMasterVO)bbsMasterCastList.get(i)).getBbsNm()); //게시판명 - if(j==3) cell.setCellValue(((BoardMasterVO)bbsMasterCastList.get(i)).getNewCnt()+"/"+ ((BoardMasterVO)bbsMasterCastList.get(i)).getTotCnt()); //새글/총글수 - if(j==4) cell.setCellValue(((BoardMasterVO)bbsMasterCastList.get(i)).getBbsTyCodeNm()); //게시판유형 - if(j==5) cell.setCellValue(((BoardMasterVO)bbsMasterCastList.get(i)).getUseAtTxt()); //사용여부 - if(j==6) cell.setCellValue(((BoardMasterVO)bbsMasterCastList.get(i)).getFrstRegisterPnttm()); //생성일 - } - } - } - response.setHeader("Set-Cookie", "fileDownload=true; path=/"); - SimpleDateFormat mSimpleDateFormat = new SimpleDateFormat ( "yyyy_MM_dd_HH_mm_ss", Locale.KOREA ); - Date currentTime = new Date (); - String mTime = mSimpleDateFormat.format ( currentTime ); - fileName = fileName+"("+mTime+")"; - - response.setHeader("Content-Disposition", String.format("attachment; filename=\""+new String((fileName).getBytes("KSC5601"),"8859_1")+".xlsx")); - wb.write(response.getOutputStream()); - - }catch(Exception e) { - response.setHeader("Set-Cookie", "fileDownload=false; path=/"); - response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); - response.setHeader("Content-Type","text/html; charset=utf-8"); - OutputStream out = null; - try { - out = response.getOutputStream(); - byte[] data = new String("fail..").getBytes(); - out.write(data, 0, data.length); - } catch(Exception ignore) { - System.out.println("bbsMasterExcelDownload Exception Error"); - } finally { - if(out != null) try { out.close(); } catch(Exception ignore) {System.out.println("file Exception Error");} - } - }finally { - // 디스크 적었던 임시파일을 제거합니다. - wb.dispose(); - try { - wb.close(); - } catch(Exception ignore) { - System.out.println("bbsMasterExcelDownload Exception Error"); - } - } - } - -} +package kcc.let.cop.bbs.web; + +import java.io.OutputStream; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Locale; +import java.util.Map; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.CellStyle; +import org.apache.poi.ss.usermodel.Font; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.xssf.streaming.SXSSFWorkbook; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.support.SessionStatus; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.mvc.support.RedirectAttributes; +import org.springmodules.validation.commons.DefaultBeanValidator; + +import egovframework.rte.fdl.property.EgovPropertyService; +import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; +import egovframework.rte.psl.dataaccess.util.EgovMap; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; +import kcc.com.cmm.ComDefaultCodeVO; +import kcc.com.cmm.ComDefaultVO; +import kcc.com.cmm.EgovMessageSource; +import kcc.com.cmm.LoginVO; +import kcc.com.cmm.service.EgovCmmUseService; +import kcc.let.cop.bbs.service.BoardMaster; +import kcc.let.cop.bbs.service.BoardMasterVO; +import kcc.let.cop.bbs.service.EgovBBSAttributeManageService; +import kcc.let.sec.ram.service.AuthorManageVO; +import kcc.let.sec.ram.service.EgovAuthorManageService; +import kcc.let.sym.site.service.EgovSiteManagerService; +import kcc.let.uss.umt.service.EgovUserManageService; +import kcc.let.uss.umt.service.UserDefaultVO; + +/** + * 게시판 속성관리를 위한 컨트롤러 클래스 + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009.03.12 + * @version 1.0 + * @see + * + *
+ * << 개정이력(Modification Information) >>
+ *
+ *   수정일      수정자          수정내용
+ *  -------    --------    ---------------------------
+ *  2009.03.12  이삼섭          최초 생성
+ *  2009.06.26	한성곤		2단계 기능 추가 (댓글관리, 만족도조사)
+ *  2011.08.31  JJY            경량환경 템플릿 커스터마이징버전 생성
+ *
+ *  
+ */ +@Controller +public class EgovBBSAttributeManageController { + + @Resource(name = "EgovBBSAttributeManageService") + private EgovBBSAttributeManageService bbsAttrbService; + + @Resource(name = "EgovCmmUseService") + private EgovCmmUseService cmmUseService; + + @Resource(name = "propertiesService") + protected EgovPropertyService propertyService; + + @Autowired + private DefaultBeanValidator beanValidator; + + @Resource(name = "egovAuthorManageService") + private EgovAuthorManageService egovAuthorManageService; + + @Resource(name = "userManageService") + private EgovUserManageService userManageService; + + @Resource(name="egovMessageSource") + EgovMessageSource egovMessageSource; + + /** EgovPropertyService */ + @Resource(name = "propertiesService") + protected EgovPropertyService propertiesService; + + @Resource(name = "egovSiteManagerService") + EgovSiteManagerService egovSiteManagerService; + + //배열 정의{"컬럼순차번호, 컬럼이름, 컬럼내용, 컬럼이름에 붙여야할 내용(엑셀코드양식다운로드시 필요)"} + private String[][] bbsMasterExcelValue ={ + {"0" ,"번호" , "1" , "" }, + {"1", "사이트명" , "ITN" , "[코드]"}, + {"2", "게시판명" , "testId", ""}, + {"3", "새글/총글수" , "홍길동", ""}, + {"4", "게시판유형" , "일반관리자", "[코드]"}, + {"5", "사용여부" , "test@kcc.co.kr", ""}, + {"6", "생성일" , "02-123-4567", ""} + } ; + /** + * 게시판 마스터 목록을 조회한다. + * + * @param boardMasterVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/SelectBBSMasterInfs.do") + public String selectBBSMasterInfs(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, + ModelMap model , HttpSession session) throws Exception { + try{ + System.out.println("cop-bbs-SelectBBSMasterInfs"); + List authorities = EgovUserDetailsHelper.getAuthorities(); + LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); + + // 게시판 설정 관리권한 체크 + boolean bbsAttrMngAuth = false; + for (String authority : authorities) { + if (authority.equals("ROLE_ADMIN") || authority.equals("ROLE_ADR_ADMIN")) bbsAttrMngAuth = true; + } + + if (!bbsAttrMngAuth) boardMasterVO.setBbsMngId(user.getId()); + + if(boardMasterVO.getPageUnit() != 10) { + boardMasterVO.setPageUnit(boardMasterVO.getPageUnit()); + } + + PaginationInfo paginationInfo = new PaginationInfo(); + + paginationInfo.setCurrentPageNo(boardMasterVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(boardMasterVO.getPageUnit()); + paginationInfo.setPageSize(boardMasterVO.getPageSize()); + + boardMasterVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + boardMasterVO.setLastIndex(paginationInfo.getLastRecordIndex()); + boardMasterVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + if(null != user && !"super".equals(user.getSiteId())){ + boardMasterVO.setSiteId(user.getSiteId()) ; //사이트 아이디 + } + + if("".equals(boardMasterVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + boardMasterVO.setSearchSortCnd("a.BBS_ID"); + boardMasterVO.setSearchSortOrd("desc"); + boardMasterVO.setUseAt("Y"); //사용하는 것만 조회 + }else { + if("".equals(boardMasterVO.getUseAt())){ //사용 + boardMasterVO.setUseAt("Y"); + } + } + + Map map = bbsAttrbService.selectBBSMasterInfs(boardMasterVO); + + int totCnt = Integer.parseInt((String) map.get("resultCnt")); + //게시판 관리자 정보 가져오기 + List adminBbsList = (List)map.get("resultList"); + + //사용자 bbs url가져오기 + String bbsHomeUrl = "/web/cop/bbsWeb/selectBoardList.do?bbsId="; //초기값 + for (BoardMasterVO tempVO: adminBbsList){ + List mngIdList = new ArrayList<>(); + mngIdList = bbsAttrbService.selectBBSMngIdList(tempVO); + tempVO.setMngIdList(mngIdList); + tempVO.setBbsHomeUrl(getBbsUrl(tempVO.getBbsId(), bbsHomeUrl)); + } + paginationInfo.setTotalRecordCount(totCnt); + + model.addAttribute("resultList", map.get("resultList")); + model.addAttribute("resultCnt", map.get("resultCnt")); + model.addAttribute("bbsAttrMngAuth", bbsAttrMngAuth); + model.addAttribute("paginationInfo", paginationInfo); + + }catch(Exception ex) { + ex.printStackTrace(); + } + + return "cop/bbs/EgovBoardMstrList"; + } + + /** + * 게시판 마스터 정보를 삭제한다. + * + * @param boardMasterVO + * @param boardMaster + * @param status + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/DeleteBBSMasterInf.do") + public String deleteBBSMasterInf(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, @ModelAttribute("boardMaster") BoardMaster boardMaster, SessionStatus status + , RedirectAttributes redirectAttributes) throws Exception { + LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); + + // 게시판 설정 관리권한 체크 + boolean bbsAttrMngAuth = false; + List authorities = EgovUserDetailsHelper.getAuthorities(); + for (String authority : authorities) { + if (authority.equals("ROLE_ADMIN")) bbsAttrMngAuth = true; + } + if (!bbsAttrMngAuth) { + redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.auth")); + return "redirect:/cop/bbs/SelectBBSMasterInfs.do"; + } + + boardMaster.setLastUpdusrId(user.getUniqId()); + bbsAttrbService.deleteBBSMasterInf(boardMaster); + + redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.delete")); + return "redirect:/cop/bbs/SelectBBSMasterInfs.do"; + } + + /** + * 신규 게시판 마스터 등록을 위한 등록페이지로 이동한다. + * + * @param boardMasterVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/addBBSMaster.do") + public String addBBSMaster(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, @ModelAttribute("boardMaster") BoardMaster boardMaster, + ModelMap model, BindingResult bindingResult, RedirectAttributes redirectAttributes, + HttpSession session ) throws Exception { + // 게시판 설정 관리권한 체크 + boolean bbsAttrMngAuth = false; + List authorities = EgovUserDetailsHelper.getAuthorities(); + for (String authority : authorities) { + if (authority.equals("ROLE_ADMIN")) bbsAttrMngAuth = true; + } + if (!bbsAttrMngAuth) { + redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.auth")); + return "redirect:/cop/bbs/SelectBBSMasterInfs.do"; + } + + // 게시판 공통코드 및 권한목록 Set + setBBSModelInfo(model); + return "cop/bbs/EgovBoardMstrRegist"; + } + + /** + * 신규 게시판 마스터 정보를 등록한다. + * + * @param boardMasterVO + * @param boardMaster + * @param status + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/insertBBSMasterInf.do") + public String insertBBSMasterInf(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, @ModelAttribute("boardMaster") BoardMaster boardMaster, BindingResult bindingResult, + SessionStatus status, ModelMap model, RedirectAttributes redirectAttributes, HttpSession session) throws Exception { + // 게시판 설정 관리권한 체크 + boolean bbsAttrMngAuth = false; + List authorities = EgovUserDetailsHelper.getAuthorities(); + for (String authority : authorities) { + if (authority.equals("ROLE_ADMIN")) bbsAttrMngAuth = true; + } + if (!bbsAttrMngAuth) { + redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.auth")); + return "redirect:/cop/bbs/SelectBBSMasterInfs.do"; + } + + LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); + beanValidator.validate(boardMaster, bindingResult); + if (bindingResult.hasErrors()) { + model.addAttribute("siteId", user.getSiteId()); + // 게시판 공통코드 및 권한목록 Set + setBBSModelInfo(model); + return "cop/bbs/EgovBoardMstrRegist"; + } + + + boardMaster.setFrstRegisterId(user.getUniqId()); + // eGov 게시판 유형 코드. BBSA03:기본게시판. (게시판 타입코드로 기본,웹진,포토 사용중. 유형 코드 필요 유무 확인필요) + boardMaster.setBbsAttrbCode("BBSA03"); + if(null != user && !"super".equals(user.getSiteId())){ //리스트, 수정, 입력 + boardMaster.setSiteId(user.getSiteId());//사이트 아이디 + } + + bbsAttrbService.insertBBSMastetInf(boardMaster); + redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.insert")); + return "redirect:/cop/bbs/SelectBBSMasterInfs.do"; + } + + /** + * 게시판 마스터 상세내용을 조회한다. + * + * @param boardMasterVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/SelectBBSMasterInf.do") + public String selectBBSMasterInf(@ModelAttribute("searchVO") BoardMasterVO searchVO, ModelMap model, + RedirectAttributes redirectAttributes, HttpSession session) throws Exception { + // 게시판 설정 관리권한 체크 + boolean bbsAttrMngAuth = false; + List authorities = EgovUserDetailsHelper.getAuthorities(); + for (String authority : authorities) { + if (authority.equals("ROLE_ADMIN") || authority.equals("ROLE_USER_MEMBER")) bbsAttrMngAuth = true; + } + if (!bbsAttrMngAuth) { + redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.auth")); + return "redirect:/cop/bbs/SelectBBSMasterInfs.do"; + } + + BoardMasterVO vo = bbsAttrbService.selectBBSMasterInf(searchVO); + model.addAttribute("boardMaster", vo); + + // 게시판 관리자ID 조회 + List mngIdList = bbsAttrbService.selectBBSMngIdList(searchVO); + model.addAttribute("mngIdList", mngIdList); + + // 게시판 공통코드 및 권한목록 Set + setBBSModelInfo(model); + + BoardMaster siteMainNbsVO = new BoardMaster(); + siteMainNbsVO = bbsAttrbService.getSiteMainNbsVO(searchVO); + model.addAttribute("siteMainNbsVO", siteMainNbsVO); + + if(EgovUserDetailsHelper.getAuthorities().contains("ROLE_ADMIN")){ + model.addAttribute("ROLE_ADMIN", "ROLE_ADMIN"); + } + return "cop/bbs/EgovBoardMstrUpdt"; + } + + /** + * 게시판 마스터 정보를 수정한다. + * + * @param boardMasterVO + * @param boardMaster + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/UpdateBBSMasterInf.do") + public String updateBBSMasterInf(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, @ModelAttribute("boardMaster") BoardMaster boardMaster, BindingResult bindingResult, + ModelMap model, RedirectAttributes redirectAttributes) throws Exception { + + LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); + // 게시판 설정 관리권한 체크 + boolean bbsAttrMngAuth = false; + List authorities = EgovUserDetailsHelper.getAuthorities(); + for (String authority : authorities) { + if (authority.equals("ROLE_ADMIN")) bbsAttrMngAuth = true; + } + if (!bbsAttrMngAuth) { + redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.auth")); + return "redirect:/cop/bbs/SelectBBSMasterInfs.do"; + } + + beanValidator.validate(boardMaster, bindingResult); + if (bindingResult.hasErrors()) { + model.addAttribute("siteId", user.getSiteId()); + // 게시판 공통코드 및 권한목록 Set + setBBSModelInfo(model); + return "cop/bbs/EgovBoardMstrUpdt"; + } + + if(null != user && !"super".equals(user.getSiteId())){ + boardMaster.setSiteId(user.getSiteId()); + } + + boardMaster.setLastUpdusrId(user.getUniqId()); + bbsAttrbService.updateBBSMasterInf(boardMaster); //BBST07 사전정보공표 + + //매인 bbs 등록 + LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); + if(null != loginVO && !"super".equals(loginVO.getSiteId())){ //리스트, 수정, 입력 + boardMaster.setSiteId(loginVO.getSiteId()); + boardMasterVO.setSiteId(loginVO.getSiteId()); + } + + //변경이 되면 업데이트 함. + BoardMaster siteMainNbsVO = new BoardMaster(); + siteMainNbsVO = bbsAttrbService.getSiteMainNbsVO(boardMasterVO); + + if(boardMaster.getNoticeBbsid().equals("") && siteMainNbsVO !=null){//체크안했을 경우 이전 값이 있을때 변경 + if(boardMasterVO.getBbsId().equals(siteMainNbsVO.getNoticeBbsid())){ + bbsAttrbService.insupNoticeBbsid(boardMaster) ; + } + }else{ + bbsAttrbService.insupNoticeBbsid(boardMaster) ; + } + + if(boardMaster.getQnaBbsid().equals("")){//체크안했을 경우 이전 값이 있을때 변경 + if(siteMainNbsVO !=null && boardMasterVO.getBbsId().equals(siteMainNbsVO.getQnaBbsid())){ + bbsAttrbService.insupQnaBbsid(boardMaster) ; + } + }else{ + bbsAttrbService.insupQnaBbsid(boardMaster) ; + } + + if(boardMaster.getNewsBbsid().equals("")){//체크안했을 경우 이전 값이 있을때 변경 + if(siteMainNbsVO !=null && boardMasterVO.getBbsId().equals(siteMainNbsVO.getNewsBbsid())){ + bbsAttrbService.insupNewsBbsid(boardMaster) ; + } + }else{ + bbsAttrbService.insupNewsBbsid(boardMaster) ; + } + + if(boardMaster.getLibraryBbsid().equals("")){//체크안했을 경우 이전 값이 있을때 변경 + if(siteMainNbsVO !=null && boardMasterVO.getBbsId().equals(siteMainNbsVO.getLibraryBbsid())){ + bbsAttrbService.insupLibraryBbsid(boardMaster) ; + } + }else{ + bbsAttrbService.insupLibraryBbsid(boardMaster) ; + } + + redirectAttributes.addAttribute("pageIndex", boardMasterVO.getPageIndex()); + redirectAttributes.addAttribute("searchCnd", boardMasterVO.getSearchCnd()); + redirectAttributes.addAttribute("searchWrd", boardMasterVO.getSearchWrd()); + redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.update")); + return "redirect:/cop/bbs/SelectBBSMasterInfs.do"; + } + + /** + * 팝업을 위한 게시판 관리자 목록을 조회한다. + * + * @param boardMasterVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/selectBBSMngInfsPop.do") + public String selectBBSmngInfsPop(@ModelAttribute("userSearchVO") UserDefaultVO userSearchVO, @RequestParam Map commandMap, ModelMap model) throws Exception { + /** EgovPropertyService */ + userSearchVO.setPageUnit(propertyService.getInt("pageUnit")); + userSearchVO.setPageSize(propertyService.getInt("pageSize")); + + /** pageing */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(userSearchVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(userSearchVO.getPageUnit()); + paginationInfo.setPageSize(userSearchVO.getPageSize()); + + userSearchVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + userSearchVO.setLastIndex(paginationInfo.getLastRecordIndex()); + userSearchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + model.addAttribute("resultList", userManageService.selectUserList(userSearchVO)); + int totCnt = userManageService.selectUserListTotCnt(userSearchVO); + model.addAttribute("resultCnt", totCnt); + + paginationInfo.setTotalRecordCount(totCnt); + model.addAttribute("paginationInfo", paginationInfo); + + return "cop/bbs/EgovBoardMngInfsPop"; + } + + /** + * 게시판 관리자 추가 등록 + * @param commandMap 파라메터전달용 commandMap + * @param model 화면모델 + * @throws Exception + */ + @RequestMapping(value = "/cop/bbs/insertBBSMngInfAjax.do") + public ModelAndView insertBBSMngInfAjax(@RequestParam Map commandMap) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + String bbsMngId = (String) commandMap.get("bbsMngId"); + String bbsId = (String) commandMap.get("bbsId"); + BoardMaster vo = new BoardMaster(); + vo.setBbsId(bbsId); + vo.setBbsMngId(bbsMngId); + + int mngId = bbsAttrbService.insertBBSMngInf(vo); + modelAndView.addObject("bbsMngId", bbsMngId); + modelAndView.addObject("mngId", mngId); + + return modelAndView; + } + + /** + * 게시판 관리자 삭제 + * @param commandMap 파라메터전달용 commandMap + * @throws Exception + */ + @RequestMapping(value = "/cop/bbs/deleteBBSMngInfAjax.do") + public ModelAndView deleteBBSMngInfAjax(@RequestParam Map commandMap) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + String mngId = (String) commandMap.get("mngId"); + + BoardMaster vo = new BoardMaster(); + vo.setMngId(Integer.parseInt(mngId)); + + bbsAttrbService.deleteBBSMngInf(vo); + + modelAndView.addObject("mngId", mngId); + return modelAndView; + } + + /** + * 게시판 관리 권한 여부 체크 + * @param manageAuth 게시판 관리권한 + * @param mngIdList 게시판 관리자 목록 (없을 시 null) + * @param bbsId 게시판Id (게시판 관리자ID 목록 없을 시 조회하기 위한 게시판ID. 게시판 관리자 목록 있을 시 null) + * @return boolean + * @throws Exception + */ + private boolean isBBSManageAuthFlag(String manageAuth, List mngIdList, String bbsId) throws Exception { + boolean authFlag = false; + List authorities = EgovUserDetailsHelper.getAuthorities(); + LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); + + if (manageAuth == null) { + BoardMasterVO vo = new BoardMasterVO(); + vo.setBbsId(bbsId); + vo = bbsAttrbService.selectBBSMasterInf(vo); + manageAuth = vo.getManageAuth(); + } + + // 게시판 관리권한 체크 + for (String authority : authorities) { + if (authority.equals(manageAuth)) authFlag = true; + } + + // 게시판 관리자 체크 + if (!authFlag) { + if (mngIdList == null) { + BoardMaster vo = new BoardMaster(); + vo.setBbsId(bbsId); + mngIdList = (List)bbsAttrbService.selectBBSMngIdList(vo); + } + + int mngYn = 0; + for(int i = 0; i < mngIdList.size(); i++) { + String emplyrId = (String) mngIdList.get(i).get("emplyrId"); + if (emplyrId.equals(user.getId())) mngYn++; + } + + if (mngYn != 0) authFlag = true; + } + + return authFlag; + } + + /** + * 게시판 공통코드 및 권한목록 Set + * @param model + * @throws Exception + */ + private void setBBSModelInfo(ModelMap model) throws Exception { + ComDefaultCodeVO comDefaultCodeVO = new ComDefaultCodeVO(); + comDefaultCodeVO.setCodeId("COM004"); + List codeResult = cmmUseService.selectCmmCodeDetail(comDefaultCodeVO); + model.addAttribute("typeList", codeResult); + comDefaultCodeVO.setCodeId("COM009"); + codeResult = cmmUseService.selectCmmCodeDetail(comDefaultCodeVO); + model.addAttribute("attrbList", codeResult); + comDefaultCodeVO.setCodeId("COM005"); + codeResult = cmmUseService.selectCmmCodeDetail(comDefaultCodeVO); + model.addAttribute("tmptList", codeResult); + + AuthorManageVO authorManageVO = new AuthorManageVO(); + authorManageVO.setAuthorManageList(egovAuthorManageService.selectAuthorAllList(authorManageVO)); + model.addAttribute("authorList", authorManageVO.getAuthorManageList()); + } + + + /** + * @@@@@@사용자 Test 용. 추후 삭제 @@@@@ + * 게시판 마스터 목록을 조회한다. + * + * @param boardMasterVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/SelectBBSMasterInfsUsr.do") + public String selectBBSMasterInfsUsr(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, ModelMap model) throws Exception { + + boardMasterVO.setPageUnit(propertyService.getInt("pageUnit")); + boardMasterVO.setPageSize(propertyService.getInt("pageSize")); + + PaginationInfo paginationInfo = new PaginationInfo(); + + paginationInfo.setCurrentPageNo(boardMasterVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(boardMasterVO.getPageUnit()); + paginationInfo.setPageSize(boardMasterVO.getPageSize()); + + boardMasterVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + boardMasterVO.setLastIndex(paginationInfo.getLastRecordIndex()); + boardMasterVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + Map map = bbsAttrbService.selectBBSMasterInfs(boardMasterVO); + int totCnt = Integer.parseInt((String) map.get("resultCnt")); + + paginationInfo.setTotalRecordCount(totCnt); + + model.addAttribute("resultList", map.get("resultList")); + model.addAttribute("resultCnt", map.get("resultCnt")); + model.addAttribute("paginationInfo", paginationInfo); + + return "cop/bbs/EgovBoardMstrList"; + } + + /** + * 게시판 ID를 조회한다. + * @param searchVO ComDefaultVO + * @return 출력페이지정보 "cop/bbs/EgovBoardIdSearch" + * @exception Exception + */ + @RequestMapping(value = "/cop/bbs/EgovBBSIdListSearch.do") + public String selectBBSIdListSearch(@ModelAttribute("searchVO") ComDefaultVO searchVO, ModelMap model) throws Exception { + + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "uat/uia/EgovLoginUsr"; + } + // 내역 조회 + searchVO.setPageUnit(propertiesService.getInt("pageUnit")); + searchVO.setPageSize(propertiesService.getInt("pageSize")); + + + /** 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()); +System.out.println("==========="); + + /*OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY*/ + + Map map = bbsAttrbService.selectBBSIdList(searchVO); + int totCnt = Integer.parseInt((String) map.get("resultCnt")); + + paginationInfo.setTotalRecordCount(totCnt); + + model.addAttribute("resultList", map.get("resultList")); + model.addAttribute("paginationInfo", paginationInfo); + + return "cop/bbs/EgovBoardIdSearch"; + } + + /** + * 선택된 게시판을 삭제한다. + * @param bbsIds String + * @param boardMasterVO BoardMasterVO + * @return String + * @exception Exception + */ + @RequestMapping(value = "/cop/bbs/DeleteBBSMasterInfs.do") + public String deleteBBSMasterInfs(@RequestParam("bbsIds") String bbsIds, @ModelAttribute("BoardMasterVO") BoardMasterVO boardMasterVO, RedirectAttributes redirectAttributes) + throws Exception { + + // 게시판 설정 관리권한 체크 + boolean bbsAttrMngAuth = false; + LoginVO loginVo = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser() ; + if("ROLE_ADMIN".equals(loginVo.getAuthority())){ + bbsAttrMngAuth = true; + } + + if (!bbsAttrMngAuth) { + redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.auth")); + return "redirect:/cop/bbs/SelectBBSMasterInfs.do"; + } + + String[] strBbsIds = bbsIds.split(";"); + for (int i = 0; i < strBbsIds.length; i++) { + boardMasterVO.setBbsId(strBbsIds[i]); + bbsAttrbService.deleteBBSMasterInf(boardMasterVO); + } + + // status.setComplete(); // ? + + boardMasterVO.setPageIndex(1); + redirectAttributes.addAttribute("pageIndex", boardMasterVO.getPageIndex()); + redirectAttributes.addAttribute("searchCnd", boardMasterVO.getSearchCnd()); + redirectAttributes.addAttribute("searchWrd", boardMasterVO.getSearchWrd()); + redirectAttributes.addFlashAttribute("message", "정상적으로 처리 되었습니다."); + return "redirect:/cop/bbs/SelectBBSMasterInfs.do"; + } + + public String getBbsUrl(String bbsId , String bbsHomeUrl){ + //원자력소식 + if("BBSMSTR_000000000411".equals(bbsId) + ||"BBSMSTR_000000000412".equals(bbsId) + ){bbsHomeUrl = "/web/cop/bbs/NewsList.do"; return bbsHomeUrl ;} + //자료실 + if("BBSMSTR_000000000493".equals(bbsId) + ||"BBSMSTR_000000000477".equals(bbsId) + ||"BBSMSTR_000000000476".equals(bbsId) + ||"BBSMSTR_000000000475".equals(bbsId) + ||"BBSMSTR_000000000474".equals(bbsId) + ||"BBSMSTR_000000000473".equals(bbsId) + ||"BBSMSTR_000000000472".equals(bbsId) + ||"BBSMSTR_000000000471".equals(bbsId) + ||"BBSMSTR_000000000461".equals(bbsId) + ){bbsHomeUrl = "/web/cop/bbs/LibList.do?bbsId="+bbsId; return bbsHomeUrl ;} + + //자주하는질문 + if("BBSMSTR_000000000429".equals(bbsId) + ||"BBSMSTR_000000000428".equals(bbsId) + ||"BBSMSTR_000000000427".equals(bbsId) + ||"BBSMSTR_000000000426".equals(bbsId) + ||"BBSMSTR_000000000425".equals(bbsId) + ||"BBSMSTR_000000000424".equals(bbsId) + ||"BBSMSTR_000000000423".equals(bbsId) + ||"BBSMSTR_000000000422".equals(bbsId) + ||"BBSMSTR_000000000421".equals(bbsId) + ){bbsHomeUrl = "/web/cop/bbs/FaqList.do"; return bbsHomeUrl ;} + + //묻고답하기 + if("BBSMSTR_000000000528".equals(bbsId) + ||"BBSMSTR_000000000527".equals(bbsId) + ||"BBSMSTR_000000000526".equals(bbsId) + ||"BBSMSTR_000000000525".equals(bbsId) + ||"BBSMSTR_000000000524".equals(bbsId) + ||"BBSMSTR_000000000523".equals(bbsId) + ||"BBSMSTR_000000000522".equals(bbsId) + ||"BBSMSTR_000000000521".equals(bbsId) + ||"BBSMSTR_000000000490".equals(bbsId) + ){bbsHomeUrl = "/web/cop/bbs/QnaList.do"; return bbsHomeUrl ;} + + //사전정보공표 + if("BBSMSTR_000000000541".equals(bbsId) + ||"BBSMSTR_000000000456".equals(bbsId) + ||"BBSMSTR_000000000455".equals(bbsId) + ||"BBSMSTR_000000000454".equals(bbsId) + ||"BBSMSTR_000000000453".equals(bbsId) + ||"BBSMSTR_000000000452".equals(bbsId) + ||"BBSMSTR_000000000451".equals(bbsId) + ||"BBSMSTR_000000000445".equals(bbsId) + ||"BBSMSTR_000000000444".equals(bbsId) + ||"BBSMSTR_000000000443".equals(bbsId) + ||"BBSMSTR_000000000442".equals(bbsId) + ){bbsHomeUrl = "/web/cop/bbs/PubOperList.do?bbsId="+bbsId; return bbsHomeUrl ;} + + //통합경영공시 + if("BBSMSTR_000000000581".equals(bbsId) + ||"BBSMSTR_000000000582".equals(bbsId) + ||"BBSMSTR_000000000583".equals(bbsId) + ||"BBSMSTR_000000000584".equals(bbsId) + ){bbsHomeUrl = "/web/content.do?proFn=9640000"; return bbsHomeUrl ;} + + //사전정보공표(하단 리스트 게시판 ) BBSMSTR_000000000442 ~ + if("BBSMSTR_000000000599".equals(bbsId) + ||"BBSMSTR_000000000551".equals(bbsId) + ||"BBSMSTR_000000000598".equals(bbsId) + ||"BBSMSTR_000000000597".equals(bbsId) + ||"BBSMSTR_000000000596".equals(bbsId) + ||"BBSMSTR_000000000595".equals(bbsId) + ||"BBSMSTR_000000000594".equals(bbsId) + ||"BBSMSTR_000000000593".equals(bbsId) + ||"BBSMSTR_000000000571".equals(bbsId) + + ||"BBSMSTR_000000000602".equals(bbsId) + ||"BBSMSTR_000000000601".equals(bbsId) + ||"BBSMSTR_000000000600".equals(bbsId) + ||"BBSMSTR_000000000592".equals(bbsId) + ||"BBSMSTR_000000000591".equals(bbsId) + + ||"BBSMSTR_000000000608".equals(bbsId) + ||"BBSMSTR_000000000607".equals(bbsId) + ||"BBSMSTR_000000000606".equals(bbsId) + ||"BBSMSTR_000000000605".equals(bbsId) + ||"BBSMSTR_000000000604".equals(bbsId) + ||"BBSMSTR_000000000603".equals(bbsId) + + + ||"BBSMSTR_000000000614".equals(bbsId) + ||"BBSMSTR_000000000613".equals(bbsId) + ||"BBSMSTR_000000000612".equals(bbsId) + ||"BBSMSTR_000000000611".equals(bbsId) + ||"BBSMSTR_000000000610".equals(bbsId) + ||"BBSMSTR_000000000609".equals(bbsId) + + ||"BBSMSTR_000000000632".equals(bbsId) + ||"BBSMSTR_000000000631".equals(bbsId) + ||"BBSMSTR_000000000630".equals(bbsId) + + ||"BBSMSTR_000000000616".equals(bbsId) + ||"BBSMSTR_000000000615".equals(bbsId) + + ||"BBSMSTR_000000000618".equals(bbsId) + ||"BBSMSTR_000000000617".equals(bbsId) + + ||"BBSMSTR_000000000621".equals(bbsId) + ||"BBSMSTR_000000000620".equals(bbsId) + ||"BBSMSTR_000000000619".equals(bbsId) + + ||"BBSMSTR_000000000625".equals(bbsId) + ||"BBSMSTR_000000000622".equals(bbsId) + + ||"BBSMSTR_000000000629".equals(bbsId) + ){bbsHomeUrl = "/web/cop/bbs/PubOperList.do?pubDetail=Y&bbsId="+bbsId; return bbsHomeUrl ;} + return bbsHomeUrl+bbsId; + } + + + //게시판 마스터 리스트 엑셀 다운로드 + @RequestMapping(value="/cop/bbs/bbsMasterExcelDownload.do") + public void bbsMasterExcelDownload( BoardMasterVO boardMasterVO, + HttpServletRequest request, + HttpServletResponse response , + ModelMap model) throws Exception { + + boardMasterVO.setRecordCountPerPage(100000); + boardMasterVO.setFirstIndex(0); + LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + if(null != loginVO && !"super".equals(loginVO.getSiteId())){ + boardMasterVO.setSiteId(loginVO.getSiteId()); + } + // 메모리에 100개의 행을 유지합니다. 행의 수가 넘으면 디스크에 적습니다. + SXSSFWorkbook wb = new SXSSFWorkbook(100); + CellStyle style = wb.createCellStyle(); + style.setBorderBottom(CellStyle.BORDER_THIN); //테두리 두껍게 + style.setBorderLeft(CellStyle.BORDER_THIN); + style.setBorderRight(CellStyle.BORDER_THIN); + style.setBorderTop(CellStyle.BORDER_THIN); + Font font = wb.createFont(); + font.setBoldweight(Font.BOLDWEIGHT_BOLD); //글씨 bold + + Cell cell = null; + Row row = null; + + String fileName ="게시판 마스터 리스트"; + + String sheetTitle = ""; + try{ + //List userSearchList = userManageService.selectUserList(userSearchVO) ; + boardMasterVO.setDelSttus("Y"); + Map bbsMasterList = bbsAttrbService.selectBBSMasterInfs(boardMasterVO); + { //화면 리스트 + sheetTitle = "게시판 마스터 리스트(화면)" ; //제목 + Sheet sheet = wb.createSheet(sheetTitle); + row = sheet.createRow(0); + for(int i=0 ; i < bbsMasterExcelValue.length ; i++) { + cell = row.createCell(i); + cell.setCellStyle(style); + cell.setCellValue(bbsMasterExcelValue[i][1]); + } + + List bbsMasterCastList = (List)bbsMasterList.get("resultList") ; + for(int i=0; i < bbsMasterCastList.size(); i++){ + row = sheet.createRow(i+1); + for(int j=0 ; j < bbsMasterExcelValue.length ; j++) { + cell = row.createCell(j); + cell.setCellStyle(style); + if(j==0) cell.setCellValue(i+1); //번호 + if(j==1) cell.setCellValue(((BoardMasterVO)bbsMasterCastList.get(i)).getSiteNm()); //사이트명 + if(j==2) cell.setCellValue(((BoardMasterVO)bbsMasterCastList.get(i)).getBbsNm()); //게시판명 + if(j==3) cell.setCellValue(((BoardMasterVO)bbsMasterCastList.get(i)).getNewCnt()+"/"+ ((BoardMasterVO)bbsMasterCastList.get(i)).getTotCnt()); //새글/총글수 + if(j==4) cell.setCellValue(((BoardMasterVO)bbsMasterCastList.get(i)).getBbsTyCodeNm()); //게시판유형 + if(j==5) cell.setCellValue(((BoardMasterVO)bbsMasterCastList.get(i)).getUseAtTxt()); //사용여부 + if(j==6) cell.setCellValue(((BoardMasterVO)bbsMasterCastList.get(i)).getFrstRegisterPnttm()); //생성일 + } + } + } + response.setHeader("Set-Cookie", "fileDownload=true; path=/"); + SimpleDateFormat mSimpleDateFormat = new SimpleDateFormat ( "yyyy_MM_dd_HH_mm_ss", Locale.KOREA ); + Date currentTime = new Date (); + String mTime = mSimpleDateFormat.format ( currentTime ); + fileName = fileName+"("+mTime+")"; + + response.setHeader("Content-Disposition", String.format("attachment; filename=\""+new String((fileName).getBytes("KSC5601"),"8859_1")+".xlsx")); + wb.write(response.getOutputStream()); + + }catch(Exception e) { + response.setHeader("Set-Cookie", "fileDownload=false; path=/"); + response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); + response.setHeader("Content-Type","text/html; charset=utf-8"); + OutputStream out = null; + try { + out = response.getOutputStream(); + byte[] data = new String("fail..").getBytes(); + out.write(data, 0, data.length); + } catch(Exception ignore) { + System.out.println("bbsMasterExcelDownload Exception Error"); + } finally { + if(out != null) try { out.close(); } catch(Exception ignore) {System.out.println("file Exception Error");} + } + }finally { + // 디스크 적었던 임시파일을 제거합니다. + wb.dispose(); + try { + wb.close(); + } catch(Exception ignore) { + System.out.println("bbsMasterExcelDownload Exception Error"); + } + } + } + +} diff --git a/src/main/java/kcc/ve/aplct/fndtnEnhanceTrn/service/FndtnEnhanceTrnService.java b/src/main/java/kcc/ve/aplct/fndtnEnhanceTrn/service/FndtnEnhanceTrnService.java index 305e1998..507b03f5 100644 --- a/src/main/java/kcc/ve/aplct/fndtnEnhanceTrn/service/FndtnEnhanceTrnService.java +++ b/src/main/java/kcc/ve/aplct/fndtnEnhanceTrn/service/FndtnEnhanceTrnService.java @@ -1,7 +1,10 @@ package kcc.ve.aplct.fndtnEnhanceTrn.service; +import java.util.List; + import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; public interface FndtnEnhanceTrnService { @@ -9,5 +12,9 @@ public interface FndtnEnhanceTrnService { VEEduAplctVO findByAprvlCd(VEEduAplctVO vEEduAplctReqVO); + void insertVeEduQna(VEPrcsDetailVO vEPrcsDetailVO); + + List selectVeEduQna(VEPrcsDetailVO vEPrcsDetailVO); + } diff --git a/src/main/java/kcc/ve/aplct/fndtnEnhanceTrn/service/impl/FndtnEnhanceTrnServiceImpl.java b/src/main/java/kcc/ve/aplct/fndtnEnhanceTrn/service/impl/FndtnEnhanceTrnServiceImpl.java index 079e729d..f3a58a0b 100644 --- a/src/main/java/kcc/ve/aplct/fndtnEnhanceTrn/service/impl/FndtnEnhanceTrnServiceImpl.java +++ b/src/main/java/kcc/ve/aplct/fndtnEnhanceTrn/service/impl/FndtnEnhanceTrnServiceImpl.java @@ -48,4 +48,15 @@ public class FndtnEnhanceTrnServiceImpl implements FndtnEnhanceTrnService { public VEEduAplctVO findByAprvlCd(VEEduAplctVO vEEduAplctReqVO) { return vEEduAplctDAO.findByAprvlCd(vEEduAplctReqVO); } + + @Override + public void insertVeEduQna(VEPrcsDetailVO vEPrcsDetailVO) { + vEEduAplctDAO.insertVeEduQna(vEPrcsDetailVO); + + } + + @Override + public List selectVeEduQna(VEPrcsDetailVO vEPrcsDetailVO) { + return vEEduAplctDAO.selectVeEduQna(vEPrcsDetailVO); + } } diff --git a/src/main/java/kcc/ve/aplct/fndtnEnhanceTrn/web/FndtnEnhanceTrnController.java b/src/main/java/kcc/ve/aplct/fndtnEnhanceTrn/web/FndtnEnhanceTrnController.java index 80da7a34..60f71b76 100644 --- a/src/main/java/kcc/ve/aplct/fndtnEnhanceTrn/web/FndtnEnhanceTrnController.java +++ b/src/main/java/kcc/ve/aplct/fndtnEnhanceTrn/web/FndtnEnhanceTrnController.java @@ -131,6 +131,10 @@ public class FndtnEnhanceTrnController { @Resource(name="eduChasiGnrService") private EgovIdGnrService eduChasiGnrService; + //qna순번 + @Resource(name="prcsAplctPrdQnaOrdGnrService") + private EgovIdGnrService prcsAplctPrdQnaOrdGnrService; + //교육신청온라인 @Resource(name = "vEEduAplctOnlnService") private VEEduAplctOnlnService vEEduAplctOnlnService; @@ -219,6 +223,12 @@ public class FndtnEnhanceTrnController { model.addAttribute("list", vEPrcsDetailVOList); model.addAttribute("countMap", countMap); + + // Q&A 영역 + vEPrcsDetailVO.setQnaRegist(loginVO.getUniqId()); + List vEPrcsDetailQnaVOList = fndtnEnhanceTrnService.selectVeEduQna(vEPrcsDetailVO); + model.addAttribute("qnaList", vEPrcsDetailQnaVOList); + //3.pageing step3 return "/web/ve/aplct/fndtnEnhanceTrn/main"; } @@ -503,6 +513,65 @@ public class FndtnEnhanceTrnController { } + /** + * @methodName : fndthEduPrcsAplctPrdMngRegAjax + * @author : 이호영 + * @date : 2023.11.16 + * @description : + * @param vEPrcsDetailVO + * @param model + * @param request + * @return + * @throws Exception + */ + @RequestMapping("/web/ve/aplct/fndtnEnhanceTrn/qnaRegAjax.do") + public ModelAndView qnaRegAjax( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + //로그인 처리==================================== + //로그인 정보 가져오기 + + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) { + modelAndView.addObject("result", "loginFail"); + return modelAndView; + } + + //로그인 처리==================================== + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + + vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id + vEPrcsDetailVO.setQnaRegist(loginVO.getUniqId()); //esntl_id + vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + vEPrcsDetailVO.setPrcsAplctPrdQnaOrd(prcsAplctPrdQnaOrdGnrService.getNextStringId()); + vEPrcsDetailVO.setQnaRegist(loginVO.getUniqId()); + + String msg = "등록되었습니다"; + try { + fndtnEnhanceTrnService.insertVeEduQna(vEPrcsDetailVO); + + } catch (Exception e) { + // TODO: handle exception + e.printStackTrace(); + msg = "등록에 실패하였습니다. 관리자에게 문의해주세요"; + } + + + modelAndView.addObject("msg", msg); + modelAndView.addObject("result", "success"); + + return modelAndView; + + } + /** * 교육 list select */ diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduAplctDAO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduAplctDAO.java index c3a0313f..08ead63e 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduAplctDAO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/eduInfo/service/impl/VEEduAplctDAO.java @@ -7,6 +7,7 @@ import org.springframework.stereotype.Repository; import egovframework.rte.psl.dataaccess.EgovAbstractDAO; import kcc.ve.adv.tngr.stngInfo.service.VEAStngVO; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; @Repository("vEEduAplctDAO") public class VEEduAplctDAO extends EgovAbstractDAO { @@ -159,4 +160,14 @@ public class VEEduAplctDAO extends EgovAbstractDAO { public void updateSbmtAtchFileId(VEEduAplctVO paramVO) throws Exception { insert("VEEduAplctDAO.updateSbmtAtchFileId", paramVO); } + + public void insertVeEduQna(VEPrcsDetailVO vEPrcsDetailVO) { + insert("VEEduAplctDAO.insertVeEduQna", vEPrcsDetailVO); + } + + public List selectVeEduQna(VEPrcsDetailVO vEPrcsDetailVO) { + return (List) list("VEEduAplctDAO.selectVeEduQna", vEPrcsDetailVO); + } + + } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java index 717cd553..0f284399 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsDetailVO.java @@ -143,6 +143,13 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { private String prcsAplctPrdEtcOrd; + private String prcsAplctPrdQnaOrd; + private String qnaRegist; + private String qnaCn; + private String qnaAnswerCn; + private String qnaAnswerer; + + public String getSearchDiv() { @@ -686,6 +693,36 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable { public void setPrcsAplctPrdEtcOrd(String prcsAplctPrdEtcOrd) { this.prcsAplctPrdEtcOrd = prcsAplctPrdEtcOrd; } + public String getPrcsAplctPrdQnaOrd() { + return prcsAplctPrdQnaOrd; + } + public void setPrcsAplctPrdQnaOrd(String prcsAplctPrdQnaOrd) { + this.prcsAplctPrdQnaOrd = prcsAplctPrdQnaOrd; + } + public String getQnaRegist() { + return qnaRegist; + } + public void setQnaRegist(String qnaRegist) { + this.qnaRegist = qnaRegist; + } + public String getQnaCn() { + return qnaCn; + } + public void setQnaCn(String qnaCn) { + this.qnaCn = qnaCn; + } + public String getQnaAnswerCn() { + return qnaAnswerCn; + } + public void setQnaAnswerCn(String qnaAnswerCn) { + this.qnaAnswerCn = qnaAnswerCn; + } + public String getQnaAnswerer() { + return qnaAnswerer; + } + public void setQnaAnswerer(String qnaAnswerer) { + this.qnaAnswerer = qnaAnswerer; + } } diff --git a/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsInfoMng/web/FndthPrcsInfoMngController.java b/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsInfoMng/web/FndthPrcsInfoMngController.java index 42e3c5e7..822e4c6e 100644 --- a/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsInfoMng/web/FndthPrcsInfoMngController.java +++ b/src/main/java/kcc/ve/oprtn/fndtnEnhanceTrn/prcsInfoMng/web/FndthPrcsInfoMngController.java @@ -208,6 +208,54 @@ public class FndthPrcsInfoMngController { ///kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngList.do } + @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduQnaMngList.do") + public String fndthEduQnaMngList( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo; + + //로그인 처리==================================== + + //1.pageing step1 + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + //paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); + + //기반강화 조회 + vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + + if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){ + String selectCondition = "AND a.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')"; + vEPrcsDetailVO.setSelectPagingListQuery(selectCondition); + } + + List vEPrcsDetailVOList = vEPrcsService.selectPagingList(vEPrcsDetailVO); + + //3.pageing step3 + paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); + + + model.addAttribute("paginationInfo", paginationInfo); + + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", vEPrcsDetailVOList); + + + return "oprtn/fndthEnhanceTrn/fndthEduQnaMngList"; +// return "oprtn/fndthEnhanceTrn/fndthEduPrcsMngList"; + } + /** * 기반강화연수과정 등록 화면 */ diff --git a/src/main/resources/egovframework/spring/com/context-idgen.xml b/src/main/resources/egovframework/spring/com/context-idgen.xml index fcdfe196..ce0391d2 100644 --- a/src/main/resources/egovframework/spring/com/context-idgen.xml +++ b/src/main/resources/egovframework/spring/com/context-idgen.xml @@ -3013,5 +3013,20 @@ + + + + + + + + + + + + + + + diff --git a/src/main/resources/egovframework/sqlmap/let/cop/bbs/EgovBBSMaster_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/let/cop/bbs/EgovBBSMaster_SQL_Tibero.xml index d099a335..91395f2a 100644 --- a/src/main/resources/egovframework/sqlmap/let/cop/bbs/EgovBBSMaster_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/let/cop/bbs/EgovBBSMaster_SQL_Tibero.xml @@ -606,20 +606,23 @@ + + SELECT + PRCS_APLCT_PRD_QNA_ORD as prcsAplctPrdQnaOrd + , LCTR_DIV_CD as lctrDivCd + , QNA_REGIST as qnaRegist + , QNA_CN as qnaCn + , QNA_ANSWER_CN as qnaAnswerCn + , QNA_ANSWERER as qnaAnswerer + , FRST_REGIST_PNTTM as frstRegistPnttm + , FRST_REGISTER_ID as frstRegisterId + , LAST_UPDT_PNTTM as lastUpdtPnttm + , LAST_UPDUSR_ID as lastUpdusrId + FROM + VEA_PRCS_APLCT_PRD_QNA + WHERE + QNA_REGIST = #qnaRegist# + + + diff --git a/src/main/webapp/WEB-INF/decorators.xml b/src/main/webapp/WEB-INF/decorators.xml index e7dbf45d..d41720dc 100644 --- a/src/main/webapp/WEB-INF/decorators.xml +++ b/src/main/webapp/WEB-INF/decorators.xml @@ -158,6 +158,7 @@ */kccadr/oprtn/cpyrgExprnClsrm/cautionGuidePreView.do */kccadr/oprtn/cpyrgExprnClsrm/popup/slctnTeacherPopup.do + */cop/bbs/EgovBBSIdListSearch.do diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsMngList.jsp index 96f0c4cd..98c8f3be 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/fndthEnhanceTrn/fndthEduPrcsMngList.jsp @@ -36,7 +36,6 @@ } + 교육과정관리 + + + + + " /> + " /> + + + +
+
+ + +
+

과정관리목록

+
    +
  • +
  • +

    실무자역량강화(기반강화연수관리)

    +
  • +
  • 과정관리목록
  • +
+
+ + +
+
+

교육 과정 관리

+
+ +
+
+
+ + +
+ +
+ ~ +
+ +
+ + + +
+
+
+ +
+

건의 접수가 검색되었습니다.

+
+ + <%----%> +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
교육부문과정명설명등록일시사용여부
+ + ');" style="cursor:pointer;"> + + ');" style="cursor:pointer;"> + + + + + + 사용 + + + 미사용 + +
+
+ + + +
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ + + +
+ + + diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/main.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/main.jsp index 855b596c..a898c1c5 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/main.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/main.jsp @@ -39,6 +39,62 @@ $(this).val(''); }); } + //FAQ 답변 open&close + function faqOpen(item) { + if($(item).is(".slide_open") == true) { + $(item).removeClass("slide_open"); + $(item).next(".answer").slideUp(300); + $(item).attr("title","답변 열기"); + } else { + $(item).addClass("slide_open"); + $(item).next(".answer").slideDown(300); + $(item).attr("title","답변 닫기"); + $(item).closest("li").siblings("li").children(".question").removeClass("slide_open"); + $(item).closest("li").siblings("li").children(".answer").slideUp(300); + $(item).closest("li").siblings("li").children(".question").attr("title","답변 열기"); + } + } + + + + function fn_qnaReg(){ + + + var data = new FormData(document.getElementById("qnaForm")); + + var url = "${pageContext.request.contextPath}/web/ve/aplct/fndtnEnhanceTrn/qnaRegAjax.do"; + $.ajax({ + type:"POST", + url: url, + data: data, + dataType:'json', + async: false, + processData: false, + contentType: false, + cache: false, + success:function(returnData){ + console.log('returnData : ', returnData); + if(returnData.result == "success"){ + // 대상자 테이블 pk 값 + var sspnIdtmtTrgtOrd = returnData.id; + alert(returnData.msg); + }else{ + alert(returnData.msg); + } +// fn_target_confirm_clean(); + location.reload(); + }, + error:function(request , status, error){ + alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error); + } + }); + + + + + $('#target_confirm_popup-close').click(); + } + @@ -71,7 +127,7 @@ -
+
@@ -136,6 +192,101 @@
최근 교육 목록표
+ + +
+
+
+
+
+
+ +
+
+ +
+
+
Q&A
+
+
+<%-- --%> +
+
+
+
+
    + +
  • + +
    +
    +

    답변A

    +

    + + + ${list.qnaAnswerCn } + + + 내용이 없습니다. + + +

    +
    +
    +
  • +
    + +
  • +
    +
+
+
+ -
\ No newline at end of file + + +
+ +
+ +
+ +
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduAplctList.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduAplctList.jsp index b8be457b..add3db68 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduAplctList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduAplctList.jsp @@ -454,7 +454,7 @@ $(document).ready(function(){
- +