From cd726d6c4208c5fe8f3b8ad109e7b8bd7ae34978 Mon Sep 17 00:00:00 2001 From: sungsu Date: Tue, 9 Jan 2024 16:35:38 +0900 Subject: [PATCH 1/5] #update stock/list.jsp WarehouseController.java WarehouseMapper.xml WarehouseService.java WarehouseMapper.java --- .../wms/warehouse/WarehouseController.java | 8 +++-- .../no1/wms/warehouse/WarehouseMapper.java | 2 +- .../no1/wms/warehouse/WarehouseService.java | 4 +-- .../resources/mappers/WarehouseMapper.xml | 2 +- .../webapp/WEB-INF/views/warehouse/list.jsp | 34 +++++++++++++------ 5 files changed, 32 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/no1/wms/warehouse/WarehouseController.java b/src/main/java/com/no1/wms/warehouse/WarehouseController.java index 5049ed7..85d1c78 100644 --- a/src/main/java/com/no1/wms/warehouse/WarehouseController.java +++ b/src/main/java/com/no1/wms/warehouse/WarehouseController.java @@ -22,14 +22,15 @@ public class WarehouseController { @RequestParam(name = "p", defaultValue = "1") int page, Model m) { int count = service.count(searchn, search); - int perPage = 10; // 한 페이지에 보일 글의 갯수 + int perPage = 5; // 한 페이지에 보일 글의 갯수 int startRow = (page - 1) * perPage; //스톡서비스로 재고 리스트 출력 메서트 작성 - List dto = service.list(searchn, search, perPage); + List dto = service.list(searchn, search, startRow ,perPage); m.addAttribute("wlist", dto); + m.addAttribute("start", startRow + 1); - int pageNum = 4;//보여질 페이지 번호 수 + int pageNum = 5;//보여질 페이지 번호 수 int totalPages = count / perPage + (count % perPage > 0 ? 1 : 0); // 전체 페이지 수 int begin = (page - 1) / pageNum * pageNum + 1; @@ -41,6 +42,7 @@ public class WarehouseController { m.addAttribute("end", end); m.addAttribute("pageNum", pageNum); m.addAttribute("totalPages", totalPages); + m.addAttribute("p" , page); return "warehouse/list"; } diff --git a/src/main/java/com/no1/wms/warehouse/WarehouseMapper.java b/src/main/java/com/no1/wms/warehouse/WarehouseMapper.java index cf7df42..4244fd2 100644 --- a/src/main/java/com/no1/wms/warehouse/WarehouseMapper.java +++ b/src/main/java/com/no1/wms/warehouse/WarehouseMapper.java @@ -11,7 +11,7 @@ public interface WarehouseMapper { int count(Map m);//검색 글 갯수 - List list(Map m); + List list(Map m); int updateWarehouse(WarehouseDto dto); diff --git a/src/main/java/com/no1/wms/warehouse/WarehouseService.java b/src/main/java/com/no1/wms/warehouse/WarehouseService.java index eae28ec..03734cc 100644 --- a/src/main/java/com/no1/wms/warehouse/WarehouseService.java +++ b/src/main/java/com/no1/wms/warehouse/WarehouseService.java @@ -22,7 +22,7 @@ public class WarehouseService { } - public List list(int searchn, String search, int start){ + public List list(int searchn, String search, int start, int perPage){ System.out.println(searchn+search); @@ -30,7 +30,7 @@ public class WarehouseService { m.put("searchn",searchn); m.put("search", search); m.put("start", start); - m.put("perPage", 10); + m.put("perPage", perPage); return mapper.list(m); diff --git a/src/main/resources/mappers/WarehouseMapper.xml b/src/main/resources/mappers/WarehouseMapper.xml index 70036fe..86484fe 100644 --- a/src/main/resources/mappers/WarehouseMapper.xml +++ b/src/main/resources/mappers/WarehouseMapper.xml @@ -16,7 +16,7 @@ - select * from warehouse diff --git a/src/main/webapp/WEB-INF/views/warehouse/list.jsp b/src/main/webapp/WEB-INF/views/warehouse/list.jsp index 84fef99..93a3cf4 100644 --- a/src/main/webapp/WEB-INF/views/warehouse/list.jsp +++ b/src/main/webapp/WEB-INF/views/warehouse/list.jsp @@ -19,18 +19,18 @@
-
-
+
@@ -49,6 +49,7 @@ + ${count} ${start} @@ -66,18 +67,29 @@
+
+ +
-
+ +
+ +
From 8d6174c39e74c821d084ede7a16ea7ebcde73188 Mon Sep 17 00:00:00 2001 From: Kana Date: Tue, 9 Jan 2024 17:21:15 +0900 Subject: [PATCH 2/5] add product dto, mapper, mapper.xml, controller, service, product.list.jsp, vendorDto, change category controller, mapper.xml, read.jsp --- .../no1/wms/category/CategoryController.java | 10 +- .../no1/wms/product/ProductController.java | 28 +++++ .../java/com/no1/wms/product/ProductDto.java | 30 +++++ .../com/no1/wms/product/ProductMapper.java | 15 +++ .../com/no1/wms/product/ProductService.java | 29 +++++ .../java/com/no1/wms/vendor/VendorDto.java | 25 ++++ src/main/resources/mappers/CategoryMapper.xml | 2 +- src/main/resources/mappers/ProductMapper.xml | 64 ++++++++++ .../webapp/WEB-INF/views/category/read.jsp | 43 ++++++- .../webapp/WEB-INF/views/product/list.jsp | 110 ++++++++++++++++++ 10 files changed, 346 insertions(+), 10 deletions(-) create mode 100644 src/main/java/com/no1/wms/product/ProductController.java create mode 100644 src/main/java/com/no1/wms/product/ProductDto.java create mode 100644 src/main/java/com/no1/wms/product/ProductMapper.java create mode 100644 src/main/java/com/no1/wms/product/ProductService.java create mode 100644 src/main/java/com/no1/wms/vendor/VendorDto.java create mode 100644 src/main/resources/mappers/ProductMapper.xml create mode 100644 src/main/webapp/WEB-INF/views/product/list.jsp diff --git a/src/main/java/com/no1/wms/category/CategoryController.java b/src/main/java/com/no1/wms/category/CategoryController.java index 58cff6d..69a6c26 100644 --- a/src/main/java/com/no1/wms/category/CategoryController.java +++ b/src/main/java/com/no1/wms/category/CategoryController.java @@ -98,16 +98,14 @@ public class CategoryController { } // 삭제 - @DeleteMapping("/category/delete/{kan_code}") + @DeleteMapping("/category/delete") @ResponseBody - public int delete(@PathVariable String kan_code) { + public boolean delete(String kan_code) { int i = categoryService.deactivateByKanCode(kan_code); if (i == 1) { - return i; + return true; } else { - // ajax테스트후 결정 - // m.addAttribute("dto", dto); - return 0; + return false; } } diff --git a/src/main/java/com/no1/wms/product/ProductController.java b/src/main/java/com/no1/wms/product/ProductController.java new file mode 100644 index 0000000..0c100f7 --- /dev/null +++ b/src/main/java/com/no1/wms/product/ProductController.java @@ -0,0 +1,28 @@ +package com.no1.wms.product; + +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +@Controller +public class ProductController { + + @Autowired + ProductService productservice; + + @GetMapping("/product/list") + public String list(@RequestParam(name = "p", defaultValue = "1") int p, Model m) { + + // 서비스로 카테고리 목록 불러오는 메서드 작성 + List dto = productservice.productList(p); + m.addAttribute("list", dto); + return "product/list"; + } + + + +} diff --git a/src/main/java/com/no1/wms/product/ProductDto.java b/src/main/java/com/no1/wms/product/ProductDto.java new file mode 100644 index 0000000..bb352b7 --- /dev/null +++ b/src/main/java/com/no1/wms/product/ProductDto.java @@ -0,0 +1,30 @@ +package com.no1.wms.product; + +import java.util.Date; + +import org.apache.ibatis.type.Alias; + +import com.no1.wms.category.CategoryDto; + +import lombok.AllArgsConstructor; +import lombok.Data; + +@Data +@AllArgsConstructor +@Alias("ProductDto") +public class ProductDto { + + private String id; + private String name; + private String company_name; + private String kan_code; + private String vendor_id; + private Date registration_date; + private String manager_id; + private boolean activation; + + + + + +} diff --git a/src/main/java/com/no1/wms/product/ProductMapper.java b/src/main/java/com/no1/wms/product/ProductMapper.java new file mode 100644 index 0000000..acbd9cc --- /dev/null +++ b/src/main/java/com/no1/wms/product/ProductMapper.java @@ -0,0 +1,15 @@ +package com.no1.wms.product; + +import java.util.List; +import java.util.Map; + +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface ProductMapper { + + List productList(Map m); + + + +} diff --git a/src/main/java/com/no1/wms/product/ProductService.java b/src/main/java/com/no1/wms/product/ProductService.java new file mode 100644 index 0000000..6e87c2e --- /dev/null +++ b/src/main/java/com/no1/wms/product/ProductService.java @@ -0,0 +1,29 @@ +package com.no1.wms.product; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class ProductService { + + @Autowired + ProductMapper mapper; + + public List productList(int p){ + //페이징 완료되면 수정해야함. + + int start = 0; + int count = 10; + + Map m = new HashMap(); + m.put("start", start); + m.put("count", count); + + return mapper.productList(m); + } + +} diff --git a/src/main/java/com/no1/wms/vendor/VendorDto.java b/src/main/java/com/no1/wms/vendor/VendorDto.java new file mode 100644 index 0000000..7586086 --- /dev/null +++ b/src/main/java/com/no1/wms/vendor/VendorDto.java @@ -0,0 +1,25 @@ +package com.no1.wms.vendor; + +import org.apache.ibatis.type.Alias; + +import lombok.AllArgsConstructor; +import lombok.Data; + +@Data +@AllArgsConstructor +@Alias("VendorDto") +public class VendorDto { + + private String id; + private String name; + private String president_name; + private String address; + private String registration_number; + private String email; + private String president_telephone; + private String vendor_manager; + private String vendor_manager_telephone; + private String main_product; + private String manager_id; + private boolean activation; +} diff --git a/src/main/resources/mappers/CategoryMapper.xml b/src/main/resources/mappers/CategoryMapper.xml index 3d47c79..5edd7d2 100644 --- a/src/main/resources/mappers/CategoryMapper.xml +++ b/src/main/resources/mappers/CategoryMapper.xml @@ -39,7 +39,7 @@ diff --git a/src/main/resources/mappers/ProductMapper.xml b/src/main/resources/mappers/ProductMapper.xml new file mode 100644 index 0000000..a684ac6 --- /dev/null +++ b/src/main/resources/mappers/ProductMapper.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/category/read.jsp b/src/main/webapp/WEB-INF/views/category/read.jsp index 864c84e..8bd5901 100644 --- a/src/main/webapp/WEB-INF/views/category/read.jsp +++ b/src/main/webapp/WEB-INF/views/category/read.jsp @@ -8,7 +8,13 @@
+ +

제품 카테고리 상세페이지

+
+ +
+

@@ -86,10 +92,41 @@ })//modifyBtn click - - + yesNoModal.yesFunction = deleteCategoryFunction; });//ready + + + + + function deleteCategoryFunction(){ + var kan_code = $("#kan_code").val(); + $.ajax({ + url: "/category/delete", + type: "delete", + data: { + "kan_code": kan_code + }, + datatype:"json" + }).done(function(data) { + if (data == true) { + alert("삭제되었습니다."); + $(location).attr("href", "/category/list"); + } else { + alert("정상적으로 삭제되지 않았습니다.."); + } + }).fail(function() { + alert("오류가 발생했습니다."); + }).always(function() { + // + }); + + }//deleteCategoryFunction + + + + + + - \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/product/list.jsp b/src/main/webapp/WEB-INF/views/product/list.jsp new file mode 100644 index 0000000..8eb1b2b --- /dev/null +++ b/src/main/webapp/WEB-INF/views/product/list.jsp @@ -0,0 +1,110 @@ +<%@ page contentType="text/html; charset=UTF-8"%> + + + + +제품 목록 + + +
+

제품 관리

+
+
+
+
+
+
+
+
+ +
+ + +
+
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + +
제품명회사명소분류거래처등록날짜담당자
${dto.cls_nm_1 }${dto.cls_nm_2 }${dto.cls_nm_3 }${dto.cls_nm_4 }${dto.kan_code }
+ +
+
+
+
+
+
+ 엑셀이미지 + +
+
+ +
+
+ +
+
+
+
+ + + + + \ No newline at end of file From 48cc35431ae497ec453d8ec354ee8729a1d9a4ce Mon Sep 17 00:00:00 2001 From: Kana Date: Tue, 9 Jan 2024 18:36:13 +0900 Subject: [PATCH 3/5] change category create.jsp To prevent the use of minus KAN code. --- src/main/webapp/WEB-INF/views/category/create.jsp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main/webapp/WEB-INF/views/category/create.jsp b/src/main/webapp/WEB-INF/views/category/create.jsp index c851f5e..b0db436 100644 --- a/src/main/webapp/WEB-INF/views/category/create.jsp +++ b/src/main/webapp/WEB-INF/views/category/create.jsp @@ -56,12 +56,11 @@ aria-describedby="basic-addon1">
- - +
@@ -94,6 +93,14 @@ $("#checkKan").prop("disabled", false); return false; } + + //1이상의 정수만 입력받는다. + if (kanCode <= 0){ + alert("KAN 분류코드는 1 이상의 정수를 입력해주세요"); + $("#kan_code").focus(); + $("#checkKan").prop("disabled", false); + return false; + } $.ajax({ url: "/category/checkKancode", From ae2ac39d94627eeddd79e313b4eb709fa0c21279 Mon Sep 17 00:00:00 2001 From: Kana Date: Tue, 9 Jan 2024 18:36:39 +0900 Subject: [PATCH 4/5] change products --- .../java/com/no1/wms/product/ProductDto.java | 23 +++--- src/main/resources/mappers/ProductMapper.xml | 81 +++++++++---------- .../webapp/WEB-INF/views/product/list.jsp | 17 ++-- 3 files changed, 61 insertions(+), 60 deletions(-) diff --git a/src/main/java/com/no1/wms/product/ProductDto.java b/src/main/java/com/no1/wms/product/ProductDto.java index bb352b7..211eabf 100644 --- a/src/main/java/com/no1/wms/product/ProductDto.java +++ b/src/main/java/com/no1/wms/product/ProductDto.java @@ -4,7 +4,9 @@ import java.util.Date; import org.apache.ibatis.type.Alias; +import com.no1.wms.account.AccountDto; import com.no1.wms.category.CategoryDto; +import com.no1.wms.vendor.VendorDto; import lombok.AllArgsConstructor; import lombok.Data; @@ -14,17 +16,18 @@ import lombok.Data; @Alias("ProductDto") public class ProductDto { - private String id; - private String name; - private String company_name; - private String kan_code; - private String vendor_id; - private Date registration_date; - private String manager_id; - private boolean activation; - - + private String id;//id + private String name;//제품명 + private String company_name;//회사명 + private String kan_code;//분류코드 + private String vendor_id;//거래처 id + private Date registration_date;//등록날짜 + private String manager_id;//담당자 + private boolean activation;//활성화 + private VendorDto vendorDto; + private AccountDto accountDto; + private CategoryDto categoryDto; } diff --git a/src/main/resources/mappers/ProductMapper.xml b/src/main/resources/mappers/ProductMapper.xml index a684ac6..a456e5b 100644 --- a/src/main/resources/mappers/ProductMapper.xml +++ b/src/main/resources/mappers/ProductMapper.xml @@ -4,60 +4,53 @@ - - - - - - - - - - - + + + + + + + + + + + - - - + + - + - + + + + - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - + SELECT + p.id, p.name, p.company_name, p.kan_code, p.vendor_id, p.registration_date, + p.manager_id, p.activation, + v.name as vendor_name, v.president_name, + a.name as account_name, + pc.cls_nm_1, pc.cls_nm_2, pc.cls_nm_3, pc.cls_nm_4 + FROM product as p + left join vendor as v on p.vendor_id = v.id + left join account as a on p.manager_id = a.id + left join product_category as pc on p.kan_code = pc.kan_code + WHERE p.activation != 0 + ORDER BY p.registration_date limit #{start} , #{count} diff --git a/src/main/webapp/WEB-INF/views/product/list.jsp b/src/main/webapp/WEB-INF/views/product/list.jsp index 8eb1b2b..6e6a710 100644 --- a/src/main/webapp/WEB-INF/views/product/list.jsp +++ b/src/main/webapp/WEB-INF/views/product/list.jsp @@ -47,12 +47,17 @@ - - ${dto.cls_nm_1 } - ${dto.cls_nm_2 } - ${dto.cls_nm_3 } - ${dto.cls_nm_4 } - ${dto.kan_code } + + ${dto.name } + ${dto.company_name } + + 1 + 2 + 3 + 4 From 26e538fc063f6e05aeb41cd886a68f563c8b9a90 Mon Sep 17 00:00:00 2001 From: sungsu Date: Tue, 9 Jan 2024 20:31:51 +0900 Subject: [PATCH 5/5] #update stock/list.jps WarehouseController.java WarehouseMapper.xml #insert warehouse/read.jsp --- .../wms/warehouse/WarehouseController.java | 4 +- .../resources/mappers/WarehouseMapper.xml | 2 +- .../webapp/WEB-INF/views/warehouse/list.jsp | 35 ++++++++++--- .../webapp/WEB-INF/views/warehouse/read.jsp | 52 +++++++++++++++++++ 4 files changed, 82 insertions(+), 11 deletions(-) create mode 100644 src/main/webapp/WEB-INF/views/warehouse/read.jsp diff --git a/src/main/java/com/no1/wms/warehouse/WarehouseController.java b/src/main/java/com/no1/wms/warehouse/WarehouseController.java index 85d1c78..1206de6 100644 --- a/src/main/java/com/no1/wms/warehouse/WarehouseController.java +++ b/src/main/java/com/no1/wms/warehouse/WarehouseController.java @@ -49,8 +49,8 @@ public class WarehouseController { // 재고 상세페이지 - @PostMapping("warehouse/read/{id}") - public String read(@PathVariable String id, Model m) { + @PostMapping("warehouse/read") + public String read(String id, Model m) { //스톡서비스로 재고 상세페이지 출력 메서드 작성 WarehouseDto dto = service.warehouseOne(id); m.addAttribute("dto", dto); diff --git a/src/main/resources/mappers/WarehouseMapper.xml b/src/main/resources/mappers/WarehouseMapper.xml index 86484fe..934d0e1 100644 --- a/src/main/resources/mappers/WarehouseMapper.xml +++ b/src/main/resources/mappers/WarehouseMapper.xml @@ -29,7 +29,7 @@ diff --git a/src/main/webapp/WEB-INF/views/warehouse/list.jsp b/src/main/webapp/WEB-INF/views/warehouse/list.jsp index 93a3cf4..bfe82b2 100644 --- a/src/main/webapp/WEB-INF/views/warehouse/list.jsp +++ b/src/main/webapp/WEB-INF/views/warehouse/list.jsp @@ -49,19 +49,16 @@ - ${count} - + ${start} - - ${dto.name } + ${dto.name } ${dto.capacity } ${dto.current_capacity } -
@@ -104,8 +101,30 @@ diff --git a/src/main/webapp/WEB-INF/views/warehouse/read.jsp b/src/main/webapp/WEB-INF/views/warehouse/read.jsp new file mode 100644 index 0000000..2c1d4eb --- /dev/null +++ b/src/main/webapp/WEB-INF/views/warehouse/read.jsp @@ -0,0 +1,52 @@ +<%@ page contentType="text/html; charset=UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> + + + + + + 창고 상세페이지 + + + +
+
+
+
+

제품 카테고리 상세페이지

+
+
+ +
+
+ + + + +