diff --git a/src/main/java/com/no1/wms/account/AccountController.java b/src/main/java/com/no1/wms/account/AccountController.java index 606fe97..b4ebfd8 100644 --- a/src/main/java/com/no1/wms/account/AccountController.java +++ b/src/main/java/com/no1/wms/account/AccountController.java @@ -1,8 +1,6 @@ package com.no1.wms.account; import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.google.gson.stream.JsonReader; import com.no1.wms.authority.AuthorityDto; import com.no1.wms.authority.AuthorityService; import com.no1.wms.utils.ConstantValues; @@ -11,7 +9,6 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; -import java.io.StringReader; import java.util.List; import java.util.Map; import java.util.UUID; @@ -27,11 +24,32 @@ public class AccountController { AuthorityService authorityService; @GetMapping("/list") - public ModelAndView list(ModelAndView mav, @RequestParam(defaultValue = "") String search, @RequestParam(defaultValue = "0") int start){ + public ModelAndView list(ModelAndView mav,@RequestParam(defaultValue = "0") int searchn, @RequestParam(defaultValue = "") String search, @RequestParam(defaultValue = "1") int page){ + int perPage = 10; + int startRow = (page - 1) * perPage; + int count = accountService.count(searchn, search, startRow, perPage); - List list = accountService.selectAll(search, start, ConstantValues.PER_PAGE); + int pageNum = 4;//보여질 페이지 번호 수 + int totalPages = count / perPage + (count % perPage > 0 ? 1 : 0); // 전체 페이지 수 + + + + + //스톡서비스로 재고 리스트 출력 메서트 작성 + List list = accountService.selectAll(searchn, search, searchn, perPage); + + int begin = (page - 1) / pageNum * pageNum + 1; + int end = begin + pageNum - 1; + if (end > totalPages) { + end = totalPages; + } mav.addObject("list", list); + mav.addObject("end", end); + mav.addObject("searchn", searchn); + mav.addObject("search", search); + mav.addObject("page", startRow); + mav.addObject("begin", begin); mav.setViewName("account/list"); return mav; } @@ -120,7 +138,7 @@ public class AccountController { }else if(name.equals("dept")){ list = accountService.selectDeptAll(search, start, ConstantValues.PER_PAGE); }else if(name.equals("pos")){ - list = accountService.selectPosAll(search, start, ConstantValues.PER_PAGE); + list = accountService.selectPosAll(10, search, start); } // mav.addObject("list", list); diff --git a/src/main/java/com/no1/wms/account/AccountMapper.java b/src/main/java/com/no1/wms/account/AccountMapper.java index 0be0ebd..2a72779 100644 --- a/src/main/java/com/no1/wms/account/AccountMapper.java +++ b/src/main/java/com/no1/wms/account/AccountMapper.java @@ -31,4 +31,6 @@ public interface AccountMapper { int delete(AccountDto dto); AccountDto selectByLogin(AccountDto dto); + + int count(Map m); } diff --git a/src/main/java/com/no1/wms/account/AccountService.java b/src/main/java/com/no1/wms/account/AccountService.java index fe299eb..cf196c5 100644 --- a/src/main/java/com/no1/wms/account/AccountService.java +++ b/src/main/java/com/no1/wms/account/AccountService.java @@ -29,11 +29,12 @@ public class AccountService { return mapper.selectById(dto); } - public List selectAll(String search, int start, int perPage){ + public List selectAll(int searchn, String search, int start, int perPage){ HashMap map = new HashMap(); map.put("search", search); map.put("start", start); map.put("perPage", perPage); + map.put("searchn", searchn); @@ -49,7 +50,7 @@ public class AccountService { return mapper.selectDeptAll(map); } - List selectPosAll(String search, int start, int perPage){ + List selectPosAll(int perPage, String search, int start){ HashMap map = new HashMap(); map.put("search", search); map.put("start", start); @@ -69,4 +70,13 @@ public class AccountService { return mapper.selectByLogin(dto); } + int count(int searchn, String search, int start, int perPage){ + HashMap m = new HashMap<>(); + m.put("searchn", searchn); + m.put("search", search); + m.put("start", start); + m.put("perPage", perPage); + return mapper.count(m); + } + } diff --git a/src/main/resources/mappers/AccountMapper.xml b/src/main/resources/mappers/AccountMapper.xml index d82361c..5696769 100644 --- a/src/main/resources/mappers/AccountMapper.xml +++ b/src/main/resources/mappers/AccountMapper.xml @@ -63,8 +63,14 @@ acc.birth, acc.telephone, acc.address, acc.activation, auth2.name group_auth_name, auth.name personal_auth_name from account acc join authority auth join authority auth2 on acc.personal_authority_id = auth.id and acc.group_authority_id = auth2.id - where acc.name like concat('%',#{search},'%') - order by acc.activation desc, acc.id desc limit #{start}, #{perPage} + + + acc.activation = 1 and acc.name like concat('%',#{search},'%') + acc.activation = 1 and acc.employee_number like concat('%',#{search},'%') + + + order by acc.id desc limit #{start}, #{perPage} + insert into account @@ -134,4 +140,15 @@ update account SET activation = false WHERE id = #{id} + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/account/list.jsp b/src/main/webapp/WEB-INF/views/account/list.jsp index 78dcaf3..392626b 100644 --- a/src/main/webapp/WEB-INF/views/account/list.jsp +++ b/src/main/webapp/WEB-INF/views/account/list.jsp @@ -49,6 +49,14 @@ } + function onPaging(target){ + const p = $(target).data("p"); + $("#pPage").val(p); + const $form = $("#search_form"); + $form.attr("action", "/account/list"); + $form.trigger("submit"); + } + @@ -66,6 +74,21 @@
+
+
+ +
+
@@ -89,6 +112,21 @@
+
+
+
+ + [<] + + + ${i} + + + [>] + +
+
+