package com.pms.controller; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import com.pms.common.bean.PersonBean; import com.pms.common.utils.CommonUtils; import com.pms.common.utils.Constants; import com.pms.service.BoardService; @Controller public class BoardController { @Autowired BoardService boardService; /** * 이슈 등록 Detail 화면을 호출한다 * @param request * @param paramMap * @return */ @RequestMapping("/board/issue/issueDetailPopUp.do") public String issueDetailPopUp(HttpServletRequest request, @RequestParam Map paramMap){ return "/board/issue/issueDetailPopUp"; } /** * 이슈 등록 Form 화면을 호출한다 * @param request * @param paramMap * @return */ @RequestMapping("/board/issue/issueFormPopUp.do") public String issueFormPopUp(HttpServletRequest request, @RequestParam Map paramMap){ return "/board/issue/issueFormPopUp"; } /** * 이슈 목록을 호출한다 * @param request * @param paramMap * @return */ @RequestMapping("/board/issue/issueList.do") public String issueList(HttpServletRequest request, @RequestParam Map paramMap){ return "/board/issue/issueList"; } /** * 공지사항 qna_진양 * @param request * @param paramMap * @return */ @RequestMapping("/board/notice/noticeQnaList.do") public String noticeQnaList(HttpServletRequest request, @RequestParam Map paramMap){ return "/board/notice/noticeQnaList"; } /** * 공지사항 qna 등록_진양 * @param request * @param paramMap * @return */ @RequestMapping("/board/notice/noticeQnaFormPopUp.do") public String noticeQnaFormPopUp(HttpServletRequest request, @RequestParam Map paramMap){ return "/board/notice/noticeQnaFormPopUp"; } /** * 공지사항 목록을 호출한다. * * @param request * @param paramMap * @return */ @RequestMapping("/notice/getNoticeList.do") public String getNoticeList(HttpServletRequest request, @RequestParam Map paramMap){ ArrayList noticeList = new ArrayList(); HttpSession session = request.getSession(); PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); String systemType = CommonUtils.checkNull(paramMap.get("systemType"),Constants.SYSTEM_NAME.toLowerCase()); try{ paramMap.put("search_systemType", systemType); paramMap.put("search_boardType", "notice"); System.out.println("paramMap:"+paramMap); noticeList = boardService.getBoardList(request, paramMap); }catch(Exception e){ e.printStackTrace(); } request.setAttribute("reqWriter", CommonUtils.checkNull(person.getUserId())); request.setAttribute("systemType", systemType); request.setAttribute("LIST", noticeList); request.setAttribute("isAdmin", person.getIsAdmin()); return "/board/notice/noticeList"; } /** * TestPage 공지사항 목록을 호출한다. * * @param request * @param paramMap * @return */ @RequestMapping("/test/Test.do") public String gettestNoticeList(HttpServletRequest request, @RequestParam Map paramMap){ ArrayList noticeList = new ArrayList(); HttpSession session = request.getSession(); PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); String systemType = CommonUtils.checkNull(paramMap.get("systemType"),Constants.SYSTEM_NAME.toLowerCase()); try{ paramMap.put("search_systemType", systemType); //paramMap.put("search_boardType", "notice"); System.out.println("paramMap:"+paramMap); noticeList = boardService.getBoardList(request, paramMap); }catch(Exception e){ e.printStackTrace(); } request.setAttribute("reqWriter", CommonUtils.checkNull(person.getUserId())); request.setAttribute("systemType", systemType); request.setAttribute("LIST", noticeList); request.setAttribute("isAdmin", person.getIsAdmin()); return "/TestBoard/notice/testNoticeList"; } //원가 pie차트 @SuppressWarnings("unchecked") @ResponseBody @RequestMapping("/notice/getpopupList.do") public Map getpopupList(HttpServletRequest request, @RequestParam Map paramMap){ Map result_map = new HashMap(); try { result_map.put("RESULT", boardService.getpopupList(request,paramMap)); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return result_map; } /** * 공지사항 입력 Form 화면을 호출한다. * * @param request * @param paramMap * @return */ @RequestMapping("/notice/openNoticeFormPopUp.do") public String openNoticeFormPopUp(HttpServletRequest request, @RequestParam Map paramMap){ HashMap resultMap = new HashMap(); ArrayList commentsMap = new ArrayList(); HttpSession session = request.getSession(); PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); try{ String objId = CommonUtils.checkNull(paramMap.get("objId")); if("".equals(objId)){ resultMap.put("OBJID", CommonUtils.createObjId()); paramMap.put("actionType", "regist"); }else{ resultMap = boardService.getBoardDetailInfo(request, paramMap); commentsMap = boardService.getBoardCommentsInfo(request, paramMap); } }catch(Exception e){ e.printStackTrace(); } request.setAttribute("reqWriter", CommonUtils.checkNull(person.getUserId())); request.setAttribute("NOTICE_ATTACH_CODE", Constants.FILE_DOC_TYPE_NOTICE_ATTACH_CODE); request.setAttribute("NOTICE_ATTACH_NAME", Constants.FILE_DOC_TYPE_NOTICE_ATTACH_NAME); request.setAttribute("systemType", Constants.SYSTEM_NAME.toLowerCase()); request.setAttribute("boardInfo", resultMap); request.setAttribute("postComments", commentsMap); return "/board/notice/noticeFormPopUp"; } /** * 댓글 작성 Form 화면을 호출한다. * * @param request * @param paramMap * @return */ @RequestMapping("/notice/openComentsFormPopUp.do") public String openComentsFormPopUp(HttpServletRequest request, @RequestParam Map paramMap){ Map commentsMap = new HashMap(); HttpSession session = request.getSession(); PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); try{ String objId = CommonUtils.checkNull(paramMap.get("objId")); String parentObjId = CommonUtils.checkNull(paramMap.get("parentObjId")); if("".equals(objId)){ commentsMap.put("OBJID", CommonUtils.createObjId()); commentsMap.put("POST_OBJID", parentObjId); commentsMap.put("WRITER", person.getUserId()); }else{ commentsMap = boardService.getBoardCommentsInfoMap(request, paramMap); } }catch(Exception e){ e.printStackTrace(); } request.setAttribute("commentsMap", commentsMap); return "/board/notice/noticeContentsFormPopUp"; } /** * 공지사항 상세 화면을 호출한다. * * @param request * @param paramMap * @return */ @RequestMapping("/notice/openNoticeDetailPopUp.do") public String openNoticeDetailPopUp(HttpServletRequest request, @RequestParam Map paramMap){ HashMap resultMap = new HashMap(); ArrayList commentsMap = new ArrayList(); try{ String objId = CommonUtils.checkNull(paramMap.get("objId")); if("".equals(objId)){ resultMap.put("OBJID", CommonUtils.createObjId()); paramMap.put("actionType", "regist"); }else{ resultMap = boardService.getBoardDetailInfo(request, paramMap); commentsMap = boardService.getBoardCommentsInfo(request, paramMap); } }catch(Exception e){ e.printStackTrace(); } request.setAttribute("NOTICE_ATTACH_CODE", Constants.FILE_DOC_TYPE_NOTICE_ATTACH_CODE); request.setAttribute("NOTICE_ATTACH_NAME", Constants.FILE_DOC_TYPE_NOTICE_ATTACH_NAME); request.setAttribute("boardInfo", resultMap); request.setAttribute("postComments", commentsMap); return "/board/notice/noticeDetailPopUp"; } /** * 공지사항을 저장한다. * * @param request * @param paramMap * @return */ @RequestMapping("/notice/saveNotice.do") public String saveNotice(HttpServletRequest request, @RequestParam Map paramMap){ HashMap resultMap = new HashMap(); try{ HttpSession session = request.getSession(); PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); paramMap.put("reqWriter",CommonUtils.checkNull(person.getUserId())); boardService.saveBoardInfo(request, paramMap); CommonUtils.setReqAttrResultMsg(request, "저장하였습니다.", "true", null,resultMap); }catch(Exception e){ e.printStackTrace(); CommonUtils.setReqAttrResultMsg(request, "실패하였습니다.", "false", e,resultMap); } request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap)); return "/ajax/ajaxResult"; } /** * 공지사항을 삭제한다. * LIST DELETE IN POPUP * @param request * @param paramMap * @return */ @RequestMapping("/notice/delNotice.do") public String delNotice(HttpServletRequest request, @RequestParam Map paramMap){ HashMap resultMap = new HashMap(); try{ HttpSession session = request.getSession(); PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); paramMap.put("reqWriter",CommonUtils.checkNull(person.getUserId())); boardService.delBoardInfo(request, paramMap); CommonUtils.setReqAttrResultMsg(request, "삭제하였습니다.", "true", null,resultMap); }catch(Exception e){ e.printStackTrace(); CommonUtils.setReqAttrResultMsg(request, "실패하였습니다.", "false", e,resultMap); } request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap)); return "/ajax/ajaxResult"; } /** * 공지사항을 삭제한다. * LIST DELETE * @param request * @param paramMap * @return */ @RequestMapping("/notice/delNoticeList.do") public String delBoardListInfo(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = boardService.delBoardListInfo(request,paramMap); request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap)); return "/ajax/ajaxResult"; } /** * 공지사항 상세 화면을 호출한다. * * @param request * @param paramMap * @return */ @RequestMapping("/notice/openMainNoticeDetailPopUp.do") public String openMainNoticeDetailPopUp(HttpServletRequest request, @RequestParam Map paramMap){ HashMap resultMap = new HashMap(); ArrayList commentsMap = new ArrayList(); try{ String objId = CommonUtils.checkNull(paramMap.get("objId")); if("".equals(objId)){ resultMap.put("OBJID", CommonUtils.createObjId()); paramMap.put("actionType", "regist"); }else{ resultMap = boardService.getBoardDetailInfo(request, paramMap); commentsMap = boardService.getBoardCommentsInfo(request, paramMap); } }catch(Exception e){ e.printStackTrace(); } request.setAttribute("NOTICE_ATTACH_CODE", Constants.FILE_DOC_TYPE_NOTICE_ATTACH_CODE); request.setAttribute("NOTICE_ATTACH_NAME", Constants.FILE_DOC_TYPE_NOTICE_ATTACH_NAME); request.setAttribute("boardInfo", resultMap); request.setAttribute("postComments", commentsMap); return "/board/notice/noticeMainDetailPopUp"; } /** * 게시물 댓글을 저장한다. * * @param request * @param paramMap * @return */ @ResponseBody @RequestMapping("/notice/saveContents.do") public Map saveContents(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = new HashMap(); try{ resultMap = boardService.saveBoardContentsInfo(request, paramMap); }catch(Exception e){ e.printStackTrace(); } return resultMap; } /** * 게시물 댓글을 삭제한다. * * @param request * @param paramMap * @return */ @RequestMapping("/notice/deleteContents.do") public String deleteBoardContentsInfo(HttpServletRequest request, @RequestParam Map paramMap){ Map resultMap = boardService.deleteBoardContentsInfo(request,paramMap); request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap)); return "/ajax/ajaxResult"; } /** * Q&A 목록을 호출한다. * * @param request * @param paramMap * @return */ @RequestMapping("/qna/getQnaList.do") public String getQnaList(HttpServletRequest request, @RequestParam Map paramMap){ ArrayList qnaList = new ArrayList(); HttpSession session = request.getSession(); PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); String systemType = CommonUtils.checkNull(paramMap.get("systemType"),Constants.SYSTEM_NAME.toLowerCase()); try{ paramMap.put("search_systemType", systemType); paramMap.put("search_boardType", "qna"); paramMap.put("userId",CommonUtils.checkNull(person.getUserId())); qnaList = boardService.getBoardList(request, paramMap); }catch(Exception e){ e.printStackTrace(); } request.setAttribute("systemType", systemType); request.setAttribute("LIST", qnaList); request.setAttribute("isAdmin", person.getIsAdmin()); return "/board/qna/qnaList"; } /** * Q&A 요청 입력 Form 화면을 호출한다. * * @param request * @param paramMap * @return */ @RequestMapping("/qna/openQnaReqFormPopUp.do") public String openQnaReqFormPopUp(HttpServletRequest request, @RequestParam Map paramMap){ HashMap resultMap = new HashMap(); try{ String objId = CommonUtils.checkNull(paramMap.get("objId")); if("".equals(objId)){ resultMap.put("OBJID", CommonUtils.createObjId()); paramMap.put("actionType", "regist"); }else{ resultMap = boardService.getBoardDetailInfo(request, paramMap); } }catch(Exception e){ e.printStackTrace(); } request.setAttribute("REQUEST_ATTACH_CODE", Constants.FILE_DOC_TYPE_QNA_REQ_ATTACH_CODE); request.setAttribute("REQUEST_ATTACH_NAME", Constants.FILE_DOC_TYPE_QNA_REQ_ATTACH_NAME); request.setAttribute("systemType", Constants.SYSTEM_NAME.toLowerCase()); request.setAttribute("boardInfo", resultMap); return "/board/qna/qnaReqFormPopUp"; } /** * Q&A 조치 입력 Form 화면을 호출한다. * * @param request * @param paramMap * @return */ @RequestMapping("/qna/openQnaResFormPopUp.do") public String openQnaResFormPopUp(HttpServletRequest request, @RequestParam Map paramMap){ HashMap resultMap = new HashMap(); try{ String objId = CommonUtils.checkNull(paramMap.get("objId")); if("".equals(objId)){ resultMap.put("OBJID", CommonUtils.createObjId()); paramMap.put("actionType", "regist"); }else{ resultMap = boardService.getBoardDetailInfo(request, paramMap); } }catch(Exception e){ e.printStackTrace(); } request.setAttribute("REQUEST_ATTACH_CODE", Constants.FILE_DOC_TYPE_QNA_REQ_ATTACH_CODE); request.setAttribute("REQUEST_ATTACH_NAME", Constants.FILE_DOC_TYPE_QNA_REQ_ATTACH_NAME); request.setAttribute("RESPONSE_ATTACH_CODE", Constants.FILE_DOC_TYPE_QNA_RES_ATTACH_CODE); request.setAttribute("RESPONSE_ATTACH_NAME", Constants.FILE_DOC_TYPE_QNA_RES_ATTACH_NAME); request.setAttribute("systemType", Constants.SYSTEM_NAME.toLowerCase()); request.setAttribute("boardInfo", resultMap); return "/board/qna/qnaResFormPopUp2"; } /** * Q&A 상세 화면을 호출한다. * * @param request * @param paramMap * @return */ @RequestMapping("/qna/openQnaDetailPopUp.do") public String openQnaDetailPopUp(HttpServletRequest request, @RequestParam Map paramMap){ HashMap resultMap = new HashMap(); try{ String objId = CommonUtils.checkNull(paramMap.get("objId")); if("".equals(objId)){ resultMap.put("OBJID", CommonUtils.createObjId()); paramMap.put("actionType", "regist"); }else{ resultMap = boardService.getBoardDetailInfo(request, paramMap); } }catch(Exception e){ e.printStackTrace(); } request.setAttribute("REQUEST_ATTACH_CODE", Constants.FILE_DOC_TYPE_QNA_REQ_ATTACH_CODE); request.setAttribute("REQUEST_ATTACH_NAME", Constants.FILE_DOC_TYPE_QNA_REQ_ATTACH_NAME); request.setAttribute("RESPONSE_ATTACH_CODE", Constants.FILE_DOC_TYPE_QNA_RES_ATTACH_CODE); request.setAttribute("RESPONSE_ATTACH_NAME", Constants.FILE_DOC_TYPE_QNA_RES_ATTACH_NAME); request.setAttribute("boardInfo", resultMap); return "/board/qna/qnaDetailPopUp"; } /** * 공지사항을 저장한다. * * @param request * @param paramMap * @return */ @RequestMapping("/qna/saveReqQna.do") public String saveQna(HttpServletRequest request, @RequestParam Map paramMap){ HashMap resultMap = new HashMap(); try{ HttpSession session = request.getSession(); PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); paramMap.put("reqWriter",CommonUtils.checkNull(person.getUserId())); boardService.saveQnaReqInfo(request, paramMap); CommonUtils.setReqAttrResultMsg(request, "저장하였습니다.", "true", null,resultMap); }catch(Exception e){ e.printStackTrace(); CommonUtils.setReqAttrResultMsg(request, "실패하였습니다.", "false", e,resultMap); } request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap)); return "/ajax/ajaxResult"; } /** * Q&A를 삭제한다. * * @param request * @param paramMap * @return */ @RequestMapping("/qna/deleteReqQna.do") public String deleteQna(HttpServletRequest request, @RequestParam Map paramMap) { HashMap resultMap = new HashMap(); try { HttpSession session = request.getSession(); PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); paramMap.put("deleter", CommonUtils.checkNull(person.getUserId())); boardService.deleteQnaReqInfo(request, paramMap); CommonUtils.setReqAttrResultMsg(request, "삭제하였습니다.", "true", null, resultMap); } catch(Exception e) { e.printStackTrace(); CommonUtils.setReqAttrResultMsg(request, "삭제에 실패하였습니다.", "false", e, resultMap); } request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap)); return "/ajax/ajaxResult"; } /** * 공지사항을 저장한다. * * @param request * @param paramMap * @return */ @RequestMapping("/qna/saveResQna.do") public String saveResQna(HttpServletRequest request, @RequestParam Map paramMap){ HashMap resultMap = new HashMap(); try{ HttpSession session = request.getSession(); PersonBean person = (PersonBean)session.getAttribute(Constants.PERSON_BEAN); paramMap.put("resWriter",CommonUtils.checkNull(person.getUserId())); boardService.saveQnaResInfo(request, paramMap); CommonUtils.setReqAttrResultMsg(request, "저장하였습니다.", "true", null,resultMap); }catch(Exception e){ e.printStackTrace(); CommonUtils.setReqAttrResultMsg(request, "실패하였습니다.", "false", e,resultMap); } request.setAttribute("RESULT", CommonUtils.getJsonMap(resultMap)); return "/ajax/ajaxResult"; } }