ERP-node/src/com/pms/controller/BoardController.java

606 lines
19 KiB
Java
Raw Normal View History

2025-08-21 09:41:46 +09:00
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<String, Object> paramMap){
return "/board/issue/issueDetailPopUp";
}
/**
* 이슈 등록 Form 화면을 호출한다
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/board/issue/issueFormPopUp.do")
public String issueFormPopUp(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
return "/board/issue/issueFormPopUp";
}
/**
* 이슈 목록을 호출한다
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/board/issue/issueList.do")
public String issueList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
return "/board/issue/issueList";
}
/**
* 공지사항 qna_진양
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/board/notice/noticeQnaList.do")
public String noticeQnaList(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
return "/board/notice/noticeQnaList";
}
/**
* 공지사항 qna 등록_진양
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/board/notice/noticeQnaFormPopUp.do")
public String noticeQnaFormPopUp(HttpServletRequest request, @RequestParam Map<String, Object> paramMap){
return "/board/notice/noticeQnaFormPopUp";
}
/**
* 공지사항 목록을 호출한다.
*
* @param request
* @param paramMap
* @return
*/
@RequestMapping("/notice/getNoticeList.do")
public String getNoticeList(HttpServletRequest request, @RequestParam Map<String, Object> 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<String, Object> 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<String, Object> getpopupList(HttpServletRequest request, @RequestParam Map<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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";
}
}