From 0617670c0815b8ae5abe7206c7712e90943c8deb Mon Sep 17 00:00:00 2001 From: JIWOO Date: Mon, 23 Sep 2024 09:37:19 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9D=B4=EC=A7=80=EC=9A=B0=20-=20=EB=B6=84?= =?UTF-8?q?=EC=9F=81=EC=A1=B0=EC=A0=95=20=EA=B2=8C=EC=8B=9C=ED=8C=90=20?= =?UTF-8?q?=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/seed/com/gtm/dao/TeamBoardDao.java | 14 ++ .../seed/com/gtm/dao/TeamBoardDaoImpl.java | 49 +++++ .../com/gtm/team/TeamBoardController.java | 132 ++++++++++++ .../seed/com/gtm/team/TeamBoardService.java | 43 ++++ .../sqlmap/config/mappers/team/team_sql.xml | 135 ++++++++++++ .../WEB-INF/jsp/seed/_extra/gtm/team/edit.jsp | 162 +++++++++++++++ .../WEB-INF/jsp/seed/_extra/gtm/team/list.jsp | 168 +++++++++++++++ .../WEB-INF/jsp/seed/_extra/gtm/team/view.jsp | 110 ++++++++++ .../jsp/seed/_extra/gtm/team/write.jsp | 193 ++++++++++++++++++ 9 files changed, 1006 insertions(+) create mode 100644 src/main/java/seed/com/gtm/dao/TeamBoardDao.java create mode 100644 src/main/java/seed/com/gtm/dao/TeamBoardDaoImpl.java create mode 100644 src/main/java/seed/com/gtm/team/TeamBoardController.java create mode 100644 src/main/java/seed/com/gtm/team/TeamBoardService.java create mode 100644 src/main/resources/egovframework/sqlmap/config/mappers/team/team_sql.xml create mode 100644 src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/team/edit.jsp create mode 100644 src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/team/list.jsp create mode 100644 src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/team/view.jsp create mode 100644 src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/team/write.jsp diff --git a/src/main/java/seed/com/gtm/dao/TeamBoardDao.java b/src/main/java/seed/com/gtm/dao/TeamBoardDao.java new file mode 100644 index 00000000..60cb9ee0 --- /dev/null +++ b/src/main/java/seed/com/gtm/dao/TeamBoardDao.java @@ -0,0 +1,14 @@ +package seed.com.gtm.dao; + +import java.util.List; +import java.util.Map; + +public interface TeamBoardDao { + public void boardInsert(Map paramMap); + public List> boardList(Map paramMap); + public int boardListCnt(Map paramMap); + public Map boardView(Map paramMap); + public void boardUpdate(Map paramMap); + public void boardDel(Map paramMap); + public void cntUpdate(Map paramMap); +} diff --git a/src/main/java/seed/com/gtm/dao/TeamBoardDaoImpl.java b/src/main/java/seed/com/gtm/dao/TeamBoardDaoImpl.java new file mode 100644 index 00000000..1583c66f --- /dev/null +++ b/src/main/java/seed/com/gtm/dao/TeamBoardDaoImpl.java @@ -0,0 +1,49 @@ +package seed.com.gtm.dao; + +import java.util.List; +import java.util.Map; + +import org.apache.ibatis.session.SqlSession; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + +@Repository +public class TeamBoardDaoImpl implements TeamBoardDao { + @Autowired + private SqlSession sqlSession; + + @Override + public void boardInsert(Map paramMap) { + sqlSession.insert("team.insert", paramMap); + } + + @Override + public List> boardList(Map paramMap) { + return sqlSession.selectList("team.select", paramMap); + } + + @Override + public int boardListCnt(Map paramMap) { + return sqlSession.selectOne("team.selectCnt", paramMap); + } + + @Override + public Map boardView(Map paramMap) { + return sqlSession.selectOne("team.selectOne", paramMap); + } + + @Override + public void boardUpdate(Map paramMap) { + sqlSession.update("team.update", paramMap); + } + + @Override + public void boardDel(Map paramMap) { + sqlSession.update("team.delete", paramMap); + } + + @Override + public void cntUpdate(Map paramMap) { + sqlSession.update("team.cntUpdate", paramMap); + } +} diff --git a/src/main/java/seed/com/gtm/team/TeamBoardController.java b/src/main/java/seed/com/gtm/team/TeamBoardController.java new file mode 100644 index 00000000..dd693731 --- /dev/null +++ b/src/main/java/seed/com/gtm/team/TeamBoardController.java @@ -0,0 +1,132 @@ +package seed.com.gtm.team; + +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.ui.ModelMap; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; + +import seed.com.gtm.seedfile.SeedFileService; +import seed.com.gtm.util.SeedCriteria; +import seed.com.gtm.util.PageMaker; + +@Controller +@RequestMapping("/gtm/case") +public class TeamBoardController { + @Autowired + private TeamBoardService service; + + @Autowired + private SeedFileService fileService; + + @RequestMapping(value="/team/board/write.do", method=RequestMethod.GET) + public String teamWrite(ModelMap model, @RequestParam Map paramMap){ + return "/seed/_extra/gtm/team/write"; + } + + @RequestMapping(value="/team/board/write.do", method=RequestMethod.POST) + public String teamWrite(HttpServletRequest request ,HttpSession session, @RequestParam Map paramMap, Map map){ + + paramMap.put("memberName", session.getAttribute("memberName")); + paramMap.put("memberId", session.getAttribute("memberId")); + paramMap.put("memberDept", session.getAttribute("memberDept")); + paramMap.put("memberPosition", session.getAttribute("memberPosition")); + service.boardInsert(paramMap); + + //현제 등록된 게시글의 시퀀스 불러와 맵에 저장 + paramMap.put("dataIdx", paramMap.get("seq")); + fileService.fileInsert(paramMap, request, session); + + map.put("message", "common.message.reg"); + map.put("url", "/gtm/case/team/board/list.do"); + + return "/_common/jsp/message"; + } + + @RequestMapping("/team/board/list.do") + public String teamList(ModelMap model, HttpSession session, SeedCriteria cri,@RequestParam Map paramMap){ + + //로그인페이지로 튕겨나가지 않게 우선은 임시방편 + session.setAttribute("siteIdx", "case"); + + + //페이징 관련 + paramMap.put("pageStart", cri.getPageStart()); + paramMap.put("perPageNum", cri.getPerPageNum()); + paramMap.put("memberDept", session.getAttribute("memberDept")); + List> bbsList = service.boardList(paramMap); + + PageMaker pageMaker = new PageMaker(); + pageMaker.setCri(cri); + pageMaker.setTotalCount(service.boardListCnt(paramMap)); + + model.addAttribute("bbsList", bbsList); + model.addAttribute("pageMaker", pageMaker); + + return "/seed/_extra/gtm/team/list"; + } + + @RequestMapping("/team/board/view.do") + public String teamView(ModelMap model, @RequestParam Map paramMap){ + + paramMap.put("dataIdx", paramMap.get("teamNo")); + model.addAttribute("bbsView", service.boardView(paramMap)); + model.addAttribute("fileList", fileService.fileList(paramMap)); + service.cntUpdate(paramMap); + return "/seed/_extra/gtm/team/view"; + } + + @RequestMapping(value="/team/board/edit.do", method=RequestMethod.GET) + public String teamEdit(ModelMap model, @RequestParam Map paramMap){ + + + paramMap.put("dataIdx", paramMap.get("teamNo")); + List> fileList = fileService.fileList(paramMap); + + model.addAttribute("bbsView", service.boardView(paramMap)); + model.addAttribute("fileList", fileList); + model.addAttribute("fileListSize", fileList.size()); + + return "/seed/_extra/gtm/team/edit"; + } + + @RequestMapping(value="/team/board/edit.do", method=RequestMethod.POST) + public String teamEdit(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap, Map map){ + paramMap.put("memberId", session.getAttribute("memberId")); + paramMap.put("dataIdx", paramMap.get("teamNo"));//fileInsert에서 필요 + + service.boardUpdate(paramMap); + fileService.fileInsert(paramMap, request, session); + fileService.fileDel(paramMap); + + map.put("message", "common.message.mod"); + map.put("url", "/gtm/case/team/board/view.do?teamNo=" + paramMap.get("teamNo") + + "&searchType=" + paramMap.get("searchType") + "&searchTilte=" + paramMap.get("searchTilte") + "&page=" + paramMap.get("page")+ + "&fileFuncType=" + paramMap.get("fileFuncType") + ); + + return "/_common/jsp/message"; + } + + @RequestMapping("team/board/bbsDel.do") + public String teamDel(HttpSession session, @RequestParam Map paramMap, Map map){ + paramMap.put("dataIdx", paramMap.get("teamNo")); + service.boardDel(paramMap); + fileService.fileDelAll(paramMap); + + map.put("message", "common.message.del"); + map.put("url", "/gtm/case/team/board/list.do?searchType=" + paramMap.get("searchType") + + "&searchTilte=" + paramMap.get("searchTilte") + "&page=" + paramMap.get("page") + ); + + return "/_common/jsp/message"; + } + +} diff --git a/src/main/java/seed/com/gtm/team/TeamBoardService.java b/src/main/java/seed/com/gtm/team/TeamBoardService.java new file mode 100644 index 00000000..1b7d2917 --- /dev/null +++ b/src/main/java/seed/com/gtm/team/TeamBoardService.java @@ -0,0 +1,43 @@ +package seed.com.gtm.team; + +import java.util.List; +import java.util.Map; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import seed.com.gtm.dao.TeamBoardDao; + +@Service +public class TeamBoardService { + @Autowired + private TeamBoardDao dao; + + public void boardInsert(Map paramMap){ + dao.boardInsert(paramMap); + } + + public List> boardList(Map paramMap){ + return dao.boardList(paramMap); + } + + public int boardListCnt(Map paramMap){ + return dao.boardListCnt(paramMap); + } + + public Map boardView(Map paramMap){ + return dao.boardView(paramMap); + } + + public void boardUpdate(Map paramMap){ + dao.boardUpdate(paramMap); + } + + public void boardDel(Map paramMap){ + dao.boardDel(paramMap); + } + + public void cntUpdate(Map paramMap){ + dao.cntUpdate(paramMap); + } +} diff --git a/src/main/resources/egovframework/sqlmap/config/mappers/team/team_sql.xml b/src/main/resources/egovframework/sqlmap/config/mappers/team/team_sql.xml new file mode 100644 index 00000000..7e6986f5 --- /dev/null +++ b/src/main/resources/egovframework/sqlmap/config/mappers/team/team_sql.xml @@ -0,0 +1,135 @@ + + + + + + + select C_TEAMBOARD_SEQ.NEXTVAL FROM DUAL + + INSERT INTO C_TEAMBOARD( + TEAM_NO, + TEAM_TITLE, + TEAM_CONTENT, + TEAM_CNT, + TEAM_REGID, + TEAM_REGNM, + TEAM_REGDATE, + TEAM_MODID, + TEAM_MODDATE, + TEAM_GUBUN, + DEL_YN, + TEAM_PART + ) VALUES ( + ${seq}, + #{teamTitle}, + #{editorParam_teamContent}, + 0, + #{memberId}, + #{memberName}, + SYSDATE, + #{memberId}, + SYSDATE, + #{memberDept}, + 'N', + #{memberPosition} + ) + + + + + + + + + + UPDATE C_TEAMBOARD + SET TEAM_TITLE = #{teamTitle}, + TEAM_CONTENT = #{editorParam_teamContent}, + TEAM_MODID = #{memberId}, + TEAM_MODDATE = SYSDATE + WHERE TEAM_NO = #{teamNo} + + + + UPDATE C_TEAMBOARD + SET DEL_YN = 'Y' + WHERE TEAM_NO = #{teamNo} + + + + UPDATE C_TEAMBOARD + SET TEAM_CNT = TEAM_CNT+1 + WHERE TEAM_NO = #{teamNo} + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/team/edit.jsp b/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/team/edit.jsp new file mode 100644 index 00000000..4f07bcef --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/team/edit.jsp @@ -0,0 +1,162 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%> + + + +정보 관리 + + + + + + + + + +
+
+

팀 게시판

+
+ +
+

팀 게시판을 수정 할 수 있는 페이지 입니다.

+
+
+
+
+ + + + + + + +
+
+
+

제목

+
+ +
+
+
+

작성자

+
+ ${memberName} +
+
+
+

첨부자료

+
+
+ +
+
    + +
  • + gif  ${list.EXTRA_FILE_NAME} + 삭제 + +
  • +
    +
+ + + +
+
+
+

내용

+
+ +
+
+
+ +
+ + 목록 +
+
+
+ +
+ +
+ +
+
+
+ + + + +
+ + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/team/list.jsp b/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/team/list.jsp new file mode 100644 index 00000000..48238671 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/team/list.jsp @@ -0,0 +1,168 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%> + + + +정보 관리 + + + + + + + + + +
+
+

팀 게시판

+
+ +
+

팀 게시판에 대한 목록 화면 입니다.

+
+
+
+
+
+ + + +
+ + + + +
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
분쟁조정 사례 테이블입니다.
번호구분제목작성자작성일조회수
${(pageMaker.totalCount - ((pageMaker.cri.page-1)*pageMaker.cri.perPageNum)) - status.index}${list.TEAM_GUBUN_NM}${list.TEAM_TITLE}${list.TEAM_REGNM}${list.TEAM_REGDATE}${list.TEAM_CNT}
+
+ +
+
+ +
+
+
+ + +
+
+ + + + + +
+
+ + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/team/view.jsp b/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/team/view.jsp new file mode 100644 index 00000000..31b86a19 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/team/view.jsp @@ -0,0 +1,110 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%> + + + +정보 관리 + + + + + + + + + +
+
+

팀 게시판

+
+ +
+

팀 게시판 상세 페이지 입니다.

+
+
+
+
+ +
+
+

제목

+
+ ${bbsView.TEAM_TITLE} +
+
+
+

구분

+
+ ${bbsView.TEAM_GUBUN_NM} +
+
+
+

작성자

+
+ ${bbsView.TEAM_REGNM} +
+
+
+

작성일

+
+ ${bbsView.TEAM_REGDATE} +
+
+
+

조회수

+
+ ${bbsView.TEAM_CNT} +
+
+
+

첨부자료

+
+ + + +
+
+
+

내용

+
+ ${bbsView.TEAM_CONTENT} +
+
+
+
+ + + 목록 +
+
+ + + + + + +
+ + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/team/write.jsp b/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/team/write.jsp new file mode 100644 index 00000000..aa0a8c5a --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/team/write.jsp @@ -0,0 +1,193 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%> + + + +정보 관리 + + + + + + + + +
+
+

팀 게시판

+
+ +
+

팀 게시판을 등록 할 수 있는 페이지 입니다.

+
+
+
+
+ + <%-- --%> + +
+
+
+

제목

+
+ +
+
+
+

구분

+
+ + + 한국공정거래조정원 + + + 운영지원팀 + + + 분쟁조정실 + + + 공정거래팀 + + + 가맹거래팀 + + + 건설하도급팀 + + + 제조하도급팀 + + + 약관팀 + + + 유통팀 + + + 대리점팀 + + + 민원상담센터 + + + 관리팀 + + +
+
+
+

작성자

+
+ ${memberName} +
+
+
+

첨부자료

+
+
+ +
+
    + +
+ + + +
+
+
+

내용

+
+ +
+
+
+
+ + 목록 +
+
+
+ +
+ +
+ +
+
+
+ + + + +
+ + + + + \ No newline at end of file