From b6e967975b899bcb45639bcf924f3452eb37ac51 Mon Sep 17 00:00:00 2001 From: sungsu Date: Mon, 8 Jan 2024 18:46:09 +0900 Subject: [PATCH] =?UTF-8?q?#=EC=88=98=EC=A0=95=20stock.list.jsp=20StockMap?= =?UTF-8?q?per.xml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #추가 stock.create.jsp WarehouseController.java WarehouseDto.java WarehouseMapper.java WarehouseMapper.xml WarehouseService.java --- .../wms/warehouse/WarehouseController.java | 101 ++++++++++ .../com/no1/wms/warehouse/WarehouseDto.java | 15 ++ .../no1/wms/warehouse/WarehouseMapper.java | 26 +++ .../no1/wms/warehouse/WarehouseService.java | 61 +++++++ src/main/resources/mappers/StockMapper.xml | 22 +-- .../resources/mappers/WarehouseMapper.xml | 59 ++++++ .../webapp/WEB-INF/views/stock/create.jsp | 60 ++++++ src/main/webapp/WEB-INF/views/stock/list.jsp | 172 +++++++++--------- 8 files changed, 416 insertions(+), 100 deletions(-) create mode 100644 src/main/java/com/no1/wms/warehouse/WarehouseController.java create mode 100644 src/main/java/com/no1/wms/warehouse/WarehouseDto.java create mode 100644 src/main/java/com/no1/wms/warehouse/WarehouseMapper.java create mode 100644 src/main/java/com/no1/wms/warehouse/WarehouseService.java create mode 100644 src/main/resources/mappers/WarehouseMapper.xml create mode 100644 src/main/webapp/WEB-INF/views/stock/create.jsp diff --git a/src/main/java/com/no1/wms/warehouse/WarehouseController.java b/src/main/java/com/no1/wms/warehouse/WarehouseController.java new file mode 100644 index 0000000..9c4f1b1 --- /dev/null +++ b/src/main/java/com/no1/wms/warehouse/WarehouseController.java @@ -0,0 +1,101 @@ +package com.no1.wms.warehouse; + +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Controller +@Slf4j +public class WarehouseController { + + @Autowired + WarehouseService service; + + // 재고 리스트 출력 + @GetMapping("warehouse/list") + public String list(@RequestParam(name = "searchn", defaultValue = "0") int searchn, + @RequestParam(name = "search", defaultValue = "") String search, + @RequestParam(name = "p", defaultValue = "1") int page, Model m) { + int count = service.count(searchn, search); + + int perPage = 10; // 한 페이지에 보일 글의 갯수 + int startRow = (page - 1) * perPage; + + //스톡서비스로 재고 리스트 출력 메서트 작성 + List dto = service.list(searchn, search, perPage); + m.addAttribute("list", dto); + + int pageNum = 4;//보여질 페이지 번호 수 + int totalPages = count / perPage + (count % perPage > 0 ? 1 : 0); // 전체 페이지 수 + + int begin = (page - 1) / pageNum * pageNum + 1; + int end = begin + pageNum - 1; + if (end > totalPages) { + end = totalPages; + } + m.addAttribute("begin", begin); + m.addAttribute("end", end); + m.addAttribute("pageNum", pageNum); + m.addAttribute("totalPages", totalPages); + + return "warehouse/list"; + } + + + // 재고 상세페이지 + @PostMapping("warehouse/read/{id}") + public String read(@PathVariable String id, Model m) { + //스톡서비스로 재고 상세페이지 출력 메서드 작성 + WarehouseDto dto = service.warehouseOne(id); + m.addAttribute("dto", dto); + return "warehouse/read/"; + } + + + // 수정 - 폼 + @GetMapping("/warehouse/update/{id}") + public String update(@PathVariable String id, Model m) { + WarehouseDto dto = service.warehouseOne(id); + m.addAttribute("dto", dto); + return "warehouse/update"; + } + + + // 수정 프로세스 + @PutMapping("/warehouse/update_process") + @ResponseBody + public String updateProcess(WarehouseDto dto) { + service.updateWarehouse(dto); + return "redirect:list"; + } + + + // 생성 폼 + @GetMapping("/warehouse/create") + public String create() + { + return "stock/create"; + } + + + // 생성 프로세스 + @PostMapping("/warehouse/create_process") + @ResponseBody + public String createProcess(WarehouseDto dto) { + service.createWarehouse(dto); + return "redirect:list";// 글목록 + } + + + // 삭제 + @DeleteMapping("/warehouse/delete") + @ResponseBody + public int delete(String id) { + int i = service.deleteWarehouse(id); + return i; + } +} diff --git a/src/main/java/com/no1/wms/warehouse/WarehouseDto.java b/src/main/java/com/no1/wms/warehouse/WarehouseDto.java new file mode 100644 index 0000000..c261634 --- /dev/null +++ b/src/main/java/com/no1/wms/warehouse/WarehouseDto.java @@ -0,0 +1,15 @@ +package com.no1.wms.warehouse; + +import lombok.Data; + +@Data +public class WarehouseDto { + + private String id; + private String name; + private int capacity; + private int current_capacity; + private String manager_id; + private String address; + private boolean activation; +} diff --git a/src/main/java/com/no1/wms/warehouse/WarehouseMapper.java b/src/main/java/com/no1/wms/warehouse/WarehouseMapper.java new file mode 100644 index 0000000..cf7df42 --- /dev/null +++ b/src/main/java/com/no1/wms/warehouse/WarehouseMapper.java @@ -0,0 +1,26 @@ +package com.no1.wms.warehouse; + +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; +import java.util.Map; + + +@Mapper +public interface WarehouseMapper { + + int count(Map m);//검색 글 갯수 + + List list(Map m); + + int updateWarehouse(WarehouseDto dto); + + int createWarehouse(WarehouseDto dto); + + WarehouseDto warehouseOne(String id); + + int deleteWarehouse(String id); + + + +} diff --git a/src/main/java/com/no1/wms/warehouse/WarehouseService.java b/src/main/java/com/no1/wms/warehouse/WarehouseService.java new file mode 100644 index 0000000..15e5bf3 --- /dev/null +++ b/src/main/java/com/no1/wms/warehouse/WarehouseService.java @@ -0,0 +1,61 @@ +package com.no1.wms.warehouse; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +public class WarehouseService { + @Autowired + WarehouseMapper mapper; + + public int count(int searchn, String search) { + + System.out.println(searchn+search); + + Map m = new HashMap(); + m.put("searchn",searchn); + m.put("search", search); + m.put("start", 0); + m.put("perPage", 10000); + return mapper.count(m); + } + + + public List list(int searchn, String search, int start){ + + System.out.println(searchn+search); + + Map m = new HashMap(); + m.put("searchn",searchn); + m.put("search", search); + m.put("start", start); + m.put("perPage", 10); + + return mapper.list(m); + + } + + + public WarehouseDto warehouseOne(String id) { + return mapper.warehouseOne(id); + } + + + public int createWarehouse(WarehouseDto dto) { + return mapper.createWarehouse(dto); + } + + + public int updateWarehouse(WarehouseDto dto) { + return mapper.updateWarehouse(dto); + } + + + public int deleteWarehouse(String id) { + return mapper.deleteWarehouse(id); + } +} diff --git a/src/main/resources/mappers/StockMapper.xml b/src/main/resources/mappers/StockMapper.xml index 9cdc6a3..ed35064 100644 --- a/src/main/resources/mappers/StockMapper.xml +++ b/src/main/resources/mappers/StockMapper.xml @@ -9,23 +9,23 @@ select count(*) from stock left join warehouse on stock.warehouse_id = warehouse.id left join product on stock.product_id = product.id left join product_category on product.kan_code = product_category.kan_code - stock.activation = 1 and warehouse.name like concat('%',#{search},'%') - stock.activation = 1 and product.name like concat('%',#{search},'%') + stock.activation = 1 and product.name like concat('%',#{search},'%') + stock.activation = 1 and product_category.cls_Nm_4 like concat('%',#{search},'%') order by stock.id desc limit #{start}, #{perPage} - - + select * from stock left join warehouse on stock.warehouse_id = warehouse.id left join product on stock.product_id = product.id left join product_category on product.kan_code = product_category.kan_code + - stock.activation = 1 and warehouse.name like concat('%',#{search},'%') - stock.activation = 1 and product.name like concat('%',#{search},'%') + stock.activation = 1 and product.name like concat('%',#{search},'%') + stock.activation = 1 and product_category.cls_Nm_4 like concat('%',#{search},'%') - - order by stock.id desc limit #{start}, #{perPage} - + + order by stock.id desc limit #{start}, #{perPage} + + select count(*) from warehouse left join account on warehouse.manager_id = account.id + + + warehouse.activation = 1 and warehouse.name like concat('%',#{search},'%') + warehouse.activation = 1 and warehouse.capacity like concat('%',#{search},'%') + warehouse.activation = 1 and warehouse.current_capacity like concat('%',#{search},'%') + + + order by stock.id desc limit #{start}, #{perPage} + + + + + + + + + + + update warehouse + set capacity = #{dto.capacity}, name = #{dto.name} + where id = #{dto.id} + + + + + + + insert into warehouse (id, warehouse_id, product_id, quantity, activation) + values ((UUID), #{dto.warehouse_id}, #{dto.product_id}, #{dto.quantity}, 1) + + + + + + delete from warehouse where no = #{id} + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/stock/create.jsp b/src/main/webapp/WEB-INF/views/stock/create.jsp new file mode 100644 index 0000000..3b37225 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/stock/create.jsp @@ -0,0 +1,60 @@ +<%@ page contentType="text/html; charset=UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> + + + + + + 재고 생성 + + + +
+
+

재고 관리 생성

+
+
+
+
+
+ + +
+
+
+ + + +
+ + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/stock/list.jsp b/src/main/webapp/WEB-INF/views/stock/list.jsp index 163dcaa..76e6b3b 100644 --- a/src/main/webapp/WEB-INF/views/stock/list.jsp +++ b/src/main/webapp/WEB-INF/views/stock/list.jsp @@ -1,5 +1,6 @@ <%@ page contentType="text/html; charset=UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> + @@ -13,30 +14,92 @@ -

재고 리스트


-< - + -여기다가 화면 만들기 - -
- - - -
- - -
- - - - - - - - - - - - - - - - - -
번호제품명창고명
${stock.id}${stock.product_name }${stock.warehouse_name }
- - -
- -
-
- - [<] - - - ${i} - - - [>] - -
- -
- -
- - -
- tab2 content -
-
-
- - - \ No newline at end of file +