From 93079777dbab683a1f5578d9e86267501af36a32 Mon Sep 17 00:00:00 2001 From: Suh Date: Mon, 27 Apr 2020 04:58:06 +0900 Subject: [PATCH] =?UTF-8?q?=E3=85=97=E3=85=9C=E3=85=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/co/nook/app/todo/dao/TodoDao.java | 30 +- .../co/nook/app/todo/service/TodoService.java | 2 +- .../app/todo/service/TodoServiceImpl.java | 4 +- src/main/java/co/nook/app/todo/vo/TodoVo.java | 18 + .../co/nook/app/todo/web/TodoController.java | 62 ++- src/main/webapp/WEB-INF/tags/button_leaf.tag | 1 + src/main/webapp/WEB-INF/tags/todo_input.tag | 2 +- .../webapp/WEB-INF/views/todo/todo_form.jsp | 391 +++++++++++++++--- src/main/webapp/resources/css/todo.css | 75 +++- 9 files changed, 511 insertions(+), 74 deletions(-) create mode 100644 src/main/webapp/WEB-INF/tags/button_leaf.tag diff --git a/src/main/java/co/nook/app/todo/dao/TodoDao.java b/src/main/java/co/nook/app/todo/dao/TodoDao.java index fadfac5..adc3fee 100644 --- a/src/main/java/co/nook/app/todo/dao/TodoDao.java +++ b/src/main/java/co/nook/app/todo/dao/TodoDao.java @@ -17,22 +17,23 @@ public class TodoDao implements TodoService{ ResultSet rs; - final String SELECT_ALL = "SELECT * FROM userTodo"; + final String SELECT_ALL = "SELECT * FROM userTodo where userno = ?"; @Override - public ArrayList selectAll(Connection conn){ + public ArrayList selectAll(Connection conn, int userNo){ ArrayList list = new ArrayList(); try{ psmt = conn.prepareStatement(SELECT_ALL); + psmt.setInt(1, userNo); rs = psmt.executeQuery(); + while(rs.next()){ TodoVo vo = new TodoVo(); vo.setuNo(rs.getInt("uNo")); - vo.setUserno(rs.getInt("userno")); vo.setuContent(rs.getString("uContent")); - vo.setuDay(rs.getString("uDay")); - vo.setuNpc(rs.getString("uNpc")); vo.setuCheck(rs.getString("uCheck")); + vo.setuSub1(rs.getString("uSub1")); + vo.setuSub2(rs.getString("uSub2")); list.add(vo); } }catch(SQLException throwables){ @@ -47,9 +48,26 @@ public class TodoDao implements TodoService{ return 0; } + final String UPDATE = "UPDATE userTodo SET uContent = ?, uCheck = ?, uSub1 = ?, uSub2 = ? WHERE uNo = ?"; @Override public int update(Connection conn, TodoVo vo){ - return 0; + int result = 0; + try{ + psmt = conn.prepareStatement(UPDATE); + psmt.setString(1, vo.getuContent()); + psmt.setString(2, vo.getuCheck()); + psmt.setString(3, vo.getuSub1()); + psmt.setString(4, vo.getuSub2()); + psmt.setInt(5, vo.getuNo()); + + + result = psmt.executeUpdate(); + }catch(SQLException e){ + e.printStackTrace(); + } + + + return result; } @Override diff --git a/src/main/java/co/nook/app/todo/service/TodoService.java b/src/main/java/co/nook/app/todo/service/TodoService.java index 5285348..a3e7be1 100644 --- a/src/main/java/co/nook/app/todo/service/TodoService.java +++ b/src/main/java/co/nook/app/todo/service/TodoService.java @@ -6,7 +6,7 @@ import java.sql.Connection; import java.util.ArrayList; public interface TodoService{ - public ArrayList selectAll(Connection conn); + public ArrayList selectAll(Connection conn, int userNo); public int insert(Connection conn, TodoVo vo); public int update(Connection conn, TodoVo vo); public int delete(Connection conn, TodoVo vo); diff --git a/src/main/java/co/nook/app/todo/service/TodoServiceImpl.java b/src/main/java/co/nook/app/todo/service/TodoServiceImpl.java index 5e71abe..21267f2 100644 --- a/src/main/java/co/nook/app/todo/service/TodoServiceImpl.java +++ b/src/main/java/co/nook/app/todo/service/TodoServiceImpl.java @@ -18,8 +18,8 @@ public class TodoServiceImpl implements TodoService{ } @Override - public ArrayList selectAll(Connection conn){ - return todoDao.selectAll(conn); + public ArrayList selectAll(Connection conn, int userNo){ + return todoDao.selectAll(conn, userNo); } @Override diff --git a/src/main/java/co/nook/app/todo/vo/TodoVo.java b/src/main/java/co/nook/app/todo/vo/TodoVo.java index 0ceeca1..1229817 100644 --- a/src/main/java/co/nook/app/todo/vo/TodoVo.java +++ b/src/main/java/co/nook/app/todo/vo/TodoVo.java @@ -7,6 +7,8 @@ public class TodoVo{ String uDay; String uNpc; String uCheck; + String uSub1; + String uSub2; public int getuNo(){ return uNo; @@ -55,4 +57,20 @@ public class TodoVo{ public void setuCheck(String uCheck){ this.uCheck = uCheck; } + + public String getuSub1(){ + return uSub1; + } + + public void setuSub1(String uSub1){ + this.uSub1 = uSub1; + } + + public String getuSub2(){ + return uSub2; + } + + public void setuSub2(String uSub2){ + this.uSub2 = uSub2; + } } diff --git a/src/main/java/co/nook/app/todo/web/TodoController.java b/src/main/java/co/nook/app/todo/web/TodoController.java index 5041f4c..34e931f 100644 --- a/src/main/java/co/nook/app/todo/web/TodoController.java +++ b/src/main/java/co/nook/app/todo/web/TodoController.java @@ -8,10 +8,13 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpSession; import java.sql.Connection; import java.util.ArrayList; import java.util.HashMap; @@ -20,6 +23,7 @@ import java.util.List; @Controller public class TodoController{ + TodoService todoService; @Autowired @@ -30,14 +34,68 @@ public class TodoController{ @ResponseBody @RequestMapping(value = "/getTodoData.do") - public HashMap getTodoData(Model model){ + public HashMap getTodoData(HttpServletRequest request, Model model){ + HttpSession session = request.getSession(); HashMap map = new HashMap(); + Connection conn = Dao.getConnection(); - ArrayList list = todoService.selectAll(conn); + int userNo = (int)session.getAttribute("userNo"); + ArrayList list = todoService.selectAll(conn, userNo); + HashMap boardMap = new HashMap(); + int index = 1; + for(TodoVo vo : list){ + boardMap.put(index, vo.getuNo()); + vo.setuNo(index); + ++index; + } + + session.setAttribute("todoMap", boardMap); + Dao.close(conn); map.put("list", list); return map; } + + @ResponseBody + @RequestMapping(value = "/todoUpdate.do") + public HashMap todoUpdate(HttpServletRequest request, + @RequestBody HashMap map, + Model model){ + HashMap returnMap = new HashMap(); + HttpSession session =request.getSession(); + HashMap boardMap = (HashMap)session.getAttribute("todoMap"); + int todoNo = Integer.parseInt((String)map.get("todoNo")); + String content = (String)map.get("content"); + String check = (String)map.get("check"); + Object o1 = map.get("sub1"); + Object o2 = map.get("sub2"); + String sub1 = null; + String sub2 = null; + if( o1 != null){ + sub1= o1.toString(); + } + if( o2 != null){ + sub2= o2.toString(); + } + + Connection conn = Dao.getConnection(); + if(!(check.equals("true") || check.equals("false"))) + { + returnMap.put("result", 0); + }else{ + TodoVo vo = new TodoVo(); + vo.setuNo(boardMap.get(todoNo)); + vo.setuCheck(check); + vo.setuContent(content); + vo.setuSub1(sub1); + vo.setuSub2(sub2); + + int result = todoService.update(conn, vo); + returnMap.put("result", result); + } + Dao.close(conn); + return returnMap; + } } diff --git a/src/main/webapp/WEB-INF/tags/button_leaf.tag b/src/main/webapp/WEB-INF/tags/button_leaf.tag new file mode 100644 index 0000000..c3a1bb5 --- /dev/null +++ b/src/main/webapp/WEB-INF/tags/button_leaf.tag @@ -0,0 +1 @@ +<%@ tag language="java" pageEncoding="utf-8" %> \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/tags/todo_input.tag b/src/main/webapp/WEB-INF/tags/todo_input.tag index 10cdccd..8c58ff4 100644 --- a/src/main/webapp/WEB-INF/tags/todo_input.tag +++ b/src/main/webapp/WEB-INF/tags/todo_input.tag @@ -1 +1 @@ -<%@ tag language="java" pageEncoding="utf-8" %> \ No newline at end of file +<%@ tag language="java" pageEncoding="utf-8" %> \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/todo/todo_form.jsp b/src/main/webapp/WEB-INF/views/todo/todo_form.jsp index 3ee61a7..dcc64f8 100644 --- a/src/main/webapp/WEB-INF/views/todo/todo_form.jsp +++ b/src/main/webapp/WEB-INF/views/todo/todo_form.jsp @@ -19,90 +19,354 @@ - @@ -157,13 +421,13 @@
-
- - + + + @@ -173,6 +437,11 @@ +
+
+ +
+
diff --git a/src/main/webapp/resources/css/todo.css b/src/main/webapp/resources/css/todo.css index 5b7cfef..b260daa 100644 --- a/src/main/webapp/resources/css/todo.css +++ b/src/main/webapp/resources/css/todo.css @@ -1,4 +1,44 @@ +.w-14{ + width : 6.4em; +} +.tb_vertical_center{ + vertical-align: middle; +} + +tr{ + cursor : pointer; + height : 6rem; + padding : 0; + margin : 0; +} +td{ + padding : 0; + margin : 0; +} + +input[type="text"] { + outline : none; + max-width : 20em; + overflow : visible; + cursor : pointer; +} + +#tbodyTodo tr:nth-child(2n-1){ + background-color : #89caa2; +} +#tbodyTodo tr:nth-child(2n){ + background-color : #70b98b; +} +#tbodyTodo{ + overflow: hidden; +} +body{ + background-color: #a3d5a4; + font-family: 'Cute Font', sans-serif; + font-size : 1.3rem; +} + .custom-control-label::before{ width: 1rem; height: 1rem; @@ -18,4 +58,37 @@ .custom-control-label{ font-size: 1rem; -} \ No newline at end of file +} + +.btnCheck{ + background-color : white; + border : none; + text-align: center; + text-decoration: none; + padding : 0; + margin : 0; + width: 2.5rem; + height : 2.5rem; +} + +.btnCheck > .leafCheck{ + width : 100%; + height : 100%; +} + +.leafCheck{ + color : white; + background-color : green; +} +.leafHide{ + color : transparent; + background-color : white; +} + +.inputAddTodoNumber{ + width : 15rem; +} + +.inputAddTodoText{ + width : 40rem; +}
#할 일#체 크할 일