From 93e55e26ec3522e0ad26e15a3519d38b74669d38 Mon Sep 17 00:00:00 2001 From: Kana Date: Wed, 10 Jan 2024 19:21:23 +0900 Subject: [PATCH] change Categorys and change Products and add Product jsp --- .../com/no1/wms/category/CategoryDto.java | 1 - .../no1/wms/product/ProductController.java | 76 +++-- .../java/com/no1/wms/product/ProductDto.java | 6 +- .../com/no1/wms/product/ProductMapper.java | 6 +- .../com/no1/wms/product/ProductService.java | 12 + src/main/resources/mappers/ProductMapper.xml | 41 ++- .../webapp/WEB-INF/views/category/create.jsp | 6 +- .../webapp/WEB-INF/views/product/create.jsp | 259 ++++++++++++++++++ .../webapp/WEB-INF/views/product/list.jsp | 69 ++++- .../webapp/WEB-INF/views/product/read.jsp | 109 ++++++++ .../webapp/WEB-INF/views/product/update.jsp | 189 +++++++++++++ 11 files changed, 723 insertions(+), 51 deletions(-) create mode 100644 src/main/webapp/WEB-INF/views/product/create.jsp create mode 100644 src/main/webapp/WEB-INF/views/product/read.jsp create mode 100644 src/main/webapp/WEB-INF/views/product/update.jsp diff --git a/src/main/java/com/no1/wms/category/CategoryDto.java b/src/main/java/com/no1/wms/category/CategoryDto.java index a0db01b..dddabe6 100644 --- a/src/main/java/com/no1/wms/category/CategoryDto.java +++ b/src/main/java/com/no1/wms/category/CategoryDto.java @@ -8,7 +8,6 @@ import lombok.NoArgsConstructor; @Data @AllArgsConstructor -@NoArgsConstructor @Alias("CategoryDto") public class CategoryDto { diff --git a/src/main/java/com/no1/wms/product/ProductController.java b/src/main/java/com/no1/wms/product/ProductController.java index 945fe7e..bc78202 100644 --- a/src/main/java/com/no1/wms/product/ProductController.java +++ b/src/main/java/com/no1/wms/product/ProductController.java @@ -6,39 +6,73 @@ 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.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; @Controller +@RequestMapping("/product") public class ProductController { @Autowired ProductService productservice; - @GetMapping("/product/list") - public void list(@RequestParam(name = "p", defaultValue = "1") int p, Model m) { + @GetMapping("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"; + } + + // 생성 - 폼 + @PostMapping("/create") + public String create() { + return "/product/create"; + } + + // 생성 - Ajax + @PostMapping("/create_process") + @ResponseBody + public boolean createProcess(ProductDto dto) { + int i = productservice.createProcess(dto); + if (i == 1) { + return true; + } else { + return false; + } + } + + // 상세페이지 + @PostMapping("/read") + public String read(String id, Model m) { + ProductDto dto = productservice.selectById(id); + m.addAttribute("dto", dto); + return "product/read"; + } + + @PostMapping("/update") + public String update(String id, Model m) { + ProductDto dto = productservice.selectById(id); + m.addAttribute("dto", dto); + return "product/update"; + } + + // 수정 - Ajax + @PutMapping("update_process") + @ResponseBody + public boolean update_process(ProductDto dto) { + System.out.println(dto.getId()); - System.out.println(dto.get(0).getId()); - System.out.println(dto.get(0).getName()); - System.out.println(dto.get(0).getCompany_name()); - System.out.println(dto.get(0).getKan_code()); - System.out.println(dto.get(0).getVendor_id()); - System.out.println(dto.get(0).getRegistration_date()); - System.out.println(dto.get(0).getManager_id()); - System.out.println(dto.get(0).getAccountDto()); - System.out.println(dto.get(0).getVendorDto().getName()); - System.out.println(dto.get(0).getVendorDto().getPresident_name()); - System.out.println(dto.get(0).getAccountDto().getName()); - System.out.println(dto.get(0).getCategoryDto().getCls_nm_1()); - System.out.println(dto.get(0).getCategoryDto().getCls_nm_2()); - System.out.println(dto.get(0).getCategoryDto().getCls_nm_3()); - System.out.println(dto.get(0).getCategoryDto().getCls_nm_4()); - - - //m.addAttribute("list", dto); - //return "/"; + int i = productservice.updateById(dto); + if (i == 1) { + return true; + } else { + return false; + } } diff --git a/src/main/java/com/no1/wms/product/ProductDto.java b/src/main/java/com/no1/wms/product/ProductDto.java index 4848831..5394b02 100644 --- a/src/main/java/com/no1/wms/product/ProductDto.java +++ b/src/main/java/com/no1/wms/product/ProductDto.java @@ -5,14 +5,17 @@ import java.util.Date; import org.apache.ibatis.type.Alias; import com.no1.wms.account.AccountDto; +import com.no1.wms.authority.AuthorityDto; import com.no1.wms.category.CategoryDto; import com.no1.wms.vendor.VendorDto; import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; @Data +@Builder @AllArgsConstructor @NoArgsConstructor @Alias("ProductDto") @@ -20,7 +23,8 @@ public class ProductDto { private String id;//id private String name;//제품명 - private String company_name;//회사명 + @Builder.Default + private String company_name = "미지정";//회사명 private String kan_code;//분류코드 private String vendor_id;//거래처 id private Date registration_date;//등록날짜 diff --git a/src/main/java/com/no1/wms/product/ProductMapper.java b/src/main/java/com/no1/wms/product/ProductMapper.java index acbd9cc..7116e49 100644 --- a/src/main/java/com/no1/wms/product/ProductMapper.java +++ b/src/main/java/com/no1/wms/product/ProductMapper.java @@ -9,7 +9,7 @@ import org.apache.ibatis.annotations.Mapper; public interface ProductMapper { List productList(Map m); - - - + int createProcess(ProductDto dto); + ProductDto selectById(String id); + int updateById(ProductDto dto); } diff --git a/src/main/java/com/no1/wms/product/ProductService.java b/src/main/java/com/no1/wms/product/ProductService.java index 6e87c2e..5fdfc8c 100644 --- a/src/main/java/com/no1/wms/product/ProductService.java +++ b/src/main/java/com/no1/wms/product/ProductService.java @@ -26,4 +26,16 @@ public class ProductService { return mapper.productList(m); } + public int createProcess(ProductDto dto) { + return mapper.createProcess(dto); + } + + public ProductDto selectById(String id) { + return mapper.selectById(id); + } + + public int updateById(ProductDto dto) { + return mapper.updateById(dto); + } + } diff --git a/src/main/resources/mappers/ProductMapper.xml b/src/main/resources/mappers/ProductMapper.xml index 617d634..0b42ad7 100644 --- a/src/main/resources/mappers/ProductMapper.xml +++ b/src/main/resources/mappers/ProductMapper.xml @@ -30,13 +30,24 @@ - - + + + INSERT INTO product (id, name, company_name, kan_code, vendor_id, registration_date, manager_id, activation) + VALUES (UUID(), #{name}, #{company_name}, #{kan_code}, #{vendor_id}, CURDATE(), #{manager_id}, 1) + + + + + - - + + UPDATE product + SET name = #{name}, company_name = #{company_name},kan_code = #{kan_code}, + vendor_id = #{vendor_id}, manager_id = #{manager_id}, registration_date = CURDATE() + WHERE id = #{id} + + @@ -55,6 +66,24 @@ WHERE p.activation != 0 ORDER BY p.registration_date limit #{start} , #{count} - + + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/category/create.jsp b/src/main/webapp/WEB-INF/views/category/create.jsp index b0db436..2295dec 100644 --- a/src/main/webapp/WEB-INF/views/category/create.jsp +++ b/src/main/webapp/WEB-INF/views/category/create.jsp @@ -5,9 +5,6 @@ 카테고리 생성 + + +
+

제품 추가

+
+
+
+
+
+
+
+
+ 제품명 + +
+ +
+ 회사명 + +
+ +
+ 분류 + + + +
+ +
+ 거래처 + + + +
+ + + + + + + + +
+
+
+
+
+
+ + + +
+
+
+
+ + + + + + + + + + + + \ 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 index 8c97e6b..7bd1880 100644 --- a/src/main/webapp/WEB-INF/views/product/list.jsp +++ b/src/main/webapp/WEB-INF/views/product/list.jsp @@ -1,4 +1,6 @@ <%@ page contentType="text/html; charset=UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> @@ -39,7 +41,7 @@ 제품명 회사명 - 소분류 + 분류 거래처 등록날짜 담당자 @@ -47,17 +49,14 @@ - + ${dto.name } ${dto.company_name } - - 3 - 4 - 5 - 6 + + ${dto.accountDto.name } @@ -66,11 +65,10 @@
+
- 엑셀이미지 -
- +
- + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/product/read.jsp b/src/main/webapp/WEB-INF/views/product/read.jsp new file mode 100644 index 0000000..ccc731f --- /dev/null +++ b/src/main/webapp/WEB-INF/views/product/read.jsp @@ -0,0 +1,109 @@ +<%@ page contentType="text/html; charset=UTF-8"%> + + + + +제품 상세페이지 + + +
+ +
+

제품 상세페이지

+
+ +
+
+
+
+ +
+
+
+
+
+
+ 제품명 +
+ +
+ 회사명 +
+ +
+ 분류 +
+ +
+ 거래처 +
+ +
+ 등록날짜 +
+ +
+ 담당자 +
+ + +
+
+
+ +
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/product/update.jsp b/src/main/webapp/WEB-INF/views/product/update.jsp new file mode 100644 index 0000000..581b4fb --- /dev/null +++ b/src/main/webapp/WEB-INF/views/product/update.jsp @@ -0,0 +1,189 @@ +<%@ page contentType="text/html; charset=UTF-8"%> + + + + +Insert title here + + +
+
+

제품 수정

+
+
+
+ +
+
+
+
+
+ +
+ 제품명 + +
+ +
+ 회사명 + +
+ +
+ 분류 + + + + +
+ +
+ 거래처 + + + + +
+ +
+ 등록날짜 + +
+ + + + + + + + + +
+
+
+ +
+
+
+ + +
+
+
+
+
+ + + + + \ No newline at end of file