From 056e39dedcd8b83cfc08fbe836e6c9b858a85955 Mon Sep 17 00:00:00 2001 From: sungsu Date: Mon, 15 Jan 2024 23:50:25 +0900 Subject: [PATCH] #update /stock/create.jsp /warehouse/create.jsp /stock/list.jsp /warehouse/list.jsp /warehouse/read.jsp StockController.java StockDto.java StockMapper.xml StockMapper.java StockService.java VendorDto.java WarehouseMapper.xml WarehouseController.java #insert /vendor/create.jsp /vendor/list.jsp product_category_company_search.jsp /stock/read.jsp /vendor/read.jsp /stock/update.jsp /vendor/update.jsp VendorController.java VendorMapper.java VendorMapper.xml VendorService.java warehouse_capacity_currentCapacity.jsp --- .../com/no1/wms/stock/StockController.java | 184 +++++-- src/main/java/com/no1/wms/stock/StockDto.java | 14 +- .../java/com/no1/wms/stock/StockMapper.java | 32 +- .../java/com/no1/wms/stock/StockService.java | 106 ++++- .../com/no1/wms/vendor/VendorController.java | 124 +++++ .../java/com/no1/wms/vendor/VendorDto.java | 18 +- .../java/com/no1/wms/vendor/VendorMapper.java | 26 + .../com/no1/wms/vendor/VendorService.java | 57 +++ .../wms/warehouse/WarehouseController.java | 25 +- src/main/resources/mappers/StockMapper.xml | 231 +++++++-- src/main/resources/mappers/VendorMapper.xml | 106 +++++ .../resources/mappers/WarehouseMapper.xml | 30 +- .../modal/product_category_company_search.jsp | 157 ++++++ .../warehouse_capacity_currentCapacity.jsp | 163 +++++++ .../webapp/WEB-INF/views/stock/create.jsp | 224 ++++++--- src/main/webapp/WEB-INF/views/stock/list.jsp | 449 ++++++++++++++---- src/main/webapp/WEB-INF/views/stock/read.jsp | 190 ++++++++ .../webapp/WEB-INF/views/stock/update.jsp | 200 ++++++++ .../webapp/WEB-INF/views/vendor/create.jsp | 253 ++++++++++ src/main/webapp/WEB-INF/views/vendor/list.jsp | 203 ++++++++ src/main/webapp/WEB-INF/views/vendor/read.jsp | 181 +++++++ .../webapp/WEB-INF/views/vendor/update.jsp | 263 ++++++++++ .../webapp/WEB-INF/views/warehouse/create.jsp | 55 ++- .../webapp/WEB-INF/views/warehouse/list.jsp | 29 +- .../webapp/WEB-INF/views/warehouse/read.jsp | 6 +- 25 files changed, 3012 insertions(+), 314 deletions(-) create mode 100644 src/main/java/com/no1/wms/vendor/VendorController.java create mode 100644 src/main/java/com/no1/wms/vendor/VendorMapper.java create mode 100644 src/main/java/com/no1/wms/vendor/VendorService.java create mode 100644 src/main/resources/mappers/VendorMapper.xml create mode 100644 src/main/webapp/WEB-INF/views/modal/product_category_company_search.jsp create mode 100644 src/main/webapp/WEB-INF/views/modal/warehouse_capacity_currentCapacity.jsp create mode 100644 src/main/webapp/WEB-INF/views/stock/read.jsp create mode 100644 src/main/webapp/WEB-INF/views/stock/update.jsp create mode 100644 src/main/webapp/WEB-INF/views/vendor/create.jsp create mode 100644 src/main/webapp/WEB-INF/views/vendor/list.jsp create mode 100644 src/main/webapp/WEB-INF/views/vendor/read.jsp create mode 100644 src/main/webapp/WEB-INF/views/vendor/update.jsp diff --git a/src/main/java/com/no1/wms/stock/StockController.java b/src/main/java/com/no1/wms/stock/StockController.java index c78764c..09eeaee 100644 --- a/src/main/java/com/no1/wms/stock/StockController.java +++ b/src/main/java/com/no1/wms/stock/StockController.java @@ -1,101 +1,223 @@ package com.no1.wms.stock; + +import com.no1.wms.vendor.VendorDto; 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 org.springframework.web.servlet.ModelAndView; import java.util.List; +import java.util.Map; @Controller @Slf4j +@RequestMapping("/stock") public class StockController { @Autowired StockService service; - // 재고 리스트 출력 - @GetMapping("stock/list") + // 탭 1 재고 리스트 출력 + @GetMapping("/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;//보여질 페이지 번호 수 + List> dto = service.list(searchn, search, startRow ,perPage); + m.addAttribute("slist", dto); + + m.addAttribute("start", startRow + 1); + + int pageNum = 5;//보여질 페이지 번호 수 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("searchn", searchn); + m.addAttribute("search", search); m.addAttribute("begin", begin); m.addAttribute("end", end); m.addAttribute("pageNum", pageNum); m.addAttribute("totalPages", totalPages); + m.addAttribute("p" , page); + + + return "stock/list"; + } + + + // 탭 2 재고 리스트 출력 + @GetMapping("/list2") + public String list2(@RequestParam(name = "searchn", defaultValue = "0") int searchn, + @RequestParam(name = "search", defaultValue = "") String search, + @RequestParam(name = "p2", 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, startRow ,perPage); + m.addAttribute("slist2", dto); + + m.addAttribute("start2", startRow + 1); + + int pageNum = 5;//보여질 페이지 번호 수 + 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("searchn2", searchn); + m.addAttribute("search2", search); + m.addAttribute("begin2", begin); + m.addAttribute("end2", end); + m.addAttribute("pageNum2", pageNum); + m.addAttribute("totalPages2", totalPages); + m.addAttribute("p2" , page); + + + return "stock/list"; } // 재고 상세페이지 - @PostMapping("stock/read/{id}") - public String read(@PathVariable String id, Model m) { + @PostMapping("/read") + public String read(@RequestParam String id, Model m) { //스톡서비스로 재고 상세페이지 출력 메서드 작성 - StockDto dto = service.stockOne(id); + Map dto = service.stockOne(id); m.addAttribute("dto", dto); - return "stock/read/"; + return "stock/read"; } // 수정 - 폼 - @GetMapping("/stock/update/{id}") - public String update(@PathVariable String id, Model m) { - StockDto dto = service.stockOne(id); + @PostMapping("/update") + public String update(String id, Model m) { + Map dto = service.stockOne(id); m.addAttribute("dto", dto); return "stock/update"; } // 수정 프로세스 - @PutMapping("/board/update_process") + @PutMapping("/update_process") @ResponseBody - public String updateProcess(StockDto dto) { - service.updateStock(dto); - return "redirect:list"; + public boolean updateProcess(StockDto dto) { + + int i = service.updateStock(dto); + if (i == 1) { + service.updateWarehouse(dto); + return true; + } else { + return false; + } } + // 생성 폼 - @GetMapping ("/stock/create") - public String create() - { + @PostMapping("/create") + public String create() { return "stock/create"; } - // 생성 프로세스 - @PostMapping("/stock/create_process") + // 생성 - Ajax + @PostMapping("/create_process") @ResponseBody - public String createProcess(StockDto dto) { - service.createStock(dto); - return "redirect:list";// 글목록 + public boolean createProcess(StockDto dto) { + int i = service.createStock(dto); + if (i != 0) { + service.updateWarehousePlus(dto); + return true; + } else { + return false; + } } // 삭제 - @DeleteMapping("/stock/delete") + @DeleteMapping("/delete") @ResponseBody - public int delete(String id) { - int i = service.deleteBoard(id); + public int delete(StockDto dto) { + System.out.println("데이터 :: " + dto); + int i = service.deleteStock(dto); + service.updateWarehouseDeleteStock(dto); return i; } + + + + @PostMapping("/show_modal") + public ModelAndView showModal(@RequestParam(name = "searchn", defaultValue = "0") int searchn, + @RequestParam(name = "search", defaultValue = "") String search, + @RequestParam(name = "p", defaultValue = "1") int page, + @RequestParam String name, ModelAndView mav){ + + int perPage = 5; // 한 페이지에 보일 글의 갯수 + int startRow = (page - 1) * perPage; + + List> list = null; + int count = 0; + + //테스트 + System.out.println("name : " + name); + System.out.println("list : " + list); + System.out.println("count : " + count); + System.out.println("mav : " + mav); + //테스트 + + // 모달 선택 + if(name.equals("product_category_company_search")){ + list = service.productSelect(searchn, search, startRow, perPage); + count = service.productCount(searchn, search); + }else if(name.equals("warehouse_capacity_currentCapacity")) { + list = service.warehousesSelect(searchn, search, startRow, perPage); + count = service.warehouseCount(searchn, search); + } + + mav.addObject("list", list); + + mav.addObject("start", startRow + 1); + + int pageNum = 5;//보여질 페이지 번호 수 + 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; + } + mav.addObject("begin", begin); + mav.addObject("end", end); + mav.addObject("pageNum", pageNum); + mav.addObject("totalPages", totalPages); + mav.addObject("p" , page); + + mav.setViewName(name); + + //테스트 + System.out.println("name : " + name); + System.out.println("list : " + list); + System.out.println("count : " + count); + System.out.println("mav : " + mav); + //테스트 + return mav; + } } diff --git a/src/main/java/com/no1/wms/stock/StockDto.java b/src/main/java/com/no1/wms/stock/StockDto.java index 7fb44bf..a7a7682 100644 --- a/src/main/java/com/no1/wms/stock/StockDto.java +++ b/src/main/java/com/no1/wms/stock/StockDto.java @@ -1,13 +1,23 @@ package com.no1.wms.stock; +import com.no1.wms.product.ProductDto; +import com.no1.wms.warehouse.WarehouseDto; +import lombok.AllArgsConstructor; import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; @Data +@NoArgsConstructor +@AllArgsConstructor public class StockDto { private String id; - private int warehouseId; - private int productId; + private String warehouseId; + private String productId; private int quantity; private boolean activation; + + private int quantityAdjustment; } diff --git a/src/main/java/com/no1/wms/stock/StockMapper.java b/src/main/java/com/no1/wms/stock/StockMapper.java index 99238b5..79d8476 100644 --- a/src/main/java/com/no1/wms/stock/StockMapper.java +++ b/src/main/java/com/no1/wms/stock/StockMapper.java @@ -10,17 +10,37 @@ import java.util.Map; public interface StockMapper { int count(Map m);//검색 글 갯수 - - List list(Map m); -// List list(Map m); + + List> list(Map m); + + + int count2(Map m);//검색 글 갯수 + + List> list2(Map m); + int updateStock(StockDto dto); + + int updateWarehouse(StockDto dto); + + int updateWarehousePlus(StockDto dto); + + int updateWarehouseDeleteStock(StockDto dto); int createStock(StockDto dto); - - StockDto stockOne(String id); - int deleteStock(String id); + Map stockOne(String id); + + int deleteStock(StockDto dto); + + List> productSelect(Map m); + + int productCount(Map m);//검색 글 갯수 + + List> warehouseSelect(Map m); + + int warehouseCount(Map m);//검색 글 갯수 + diff --git a/src/main/java/com/no1/wms/stock/StockService.java b/src/main/java/com/no1/wms/stock/StockService.java index 44f617e..03ef0ed 100644 --- a/src/main/java/com/no1/wms/stock/StockService.java +++ b/src/main/java/com/no1/wms/stock/StockService.java @@ -1,5 +1,6 @@ package com.no1.wms.stock; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -8,6 +9,7 @@ import java.util.List; import java.util.Map; @Service +@Slf4j public class StockService { @Autowired StockMapper mapper; @@ -19,13 +21,11 @@ public class StockService { 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){ + public List> list(int searchn, String search, int start, int perPage){ System.out.println(searchn+search); @@ -33,14 +33,43 @@ public class StockService { m.put("searchn",searchn); m.put("search", search); m.put("start", start); - m.put("perPage", 10); + m.put("perPage", perPage); - return mapper.list(m); + List> result = mapper.list(m); + log.debug("warehouseOne테스트 :: " + result); + return result; } + + public int count2(int searchn, String search) { + + System.out.println(searchn+search); + + Map m = new HashMap(); + m.put("searchn",searchn); + m.put("search", search); + return mapper.count2(m); + } + + + public List> list2(int searchn, String search, int start, int perPage){ + + System.out.println(searchn+search); + + Map m = new HashMap(); + m.put("searchn",searchn); + m.put("search", search); + m.put("start", start); + m.put("perPage", perPage); + + List> result = mapper.list2(m); + log.debug("warehouseOne테스트 :: " + result); + return result; + + } + - - public StockDto stockOne(String id) { + public Map stockOne(String id) { return mapper.stockOne(id); } @@ -54,8 +83,65 @@ public class StockService { return mapper.updateStock(dto); } - - public int deleteBoard(String id) { - return mapper.deleteStock(id); + public int updateWarehouse(StockDto dto){ + return mapper.updateWarehouse(dto); } + + public int updateWarehousePlus(StockDto dto){ + return mapper.updateWarehousePlus(dto); + } + + public int updateWarehouseDeleteStock(StockDto dto){ + return mapper.updateWarehouseDeleteStock(dto); + } + + public int deleteStock(StockDto dto) { + return mapper.deleteStock(dto); + } + + + public List> productSelect(int searchn, String search, int start, int perPage){ + Map m = new HashMap(); + m.put("searchn", searchn); + m.put("search", search); + m.put("start", start); + m.put("perPage", perPage); + + List> productresult = mapper.productSelect(m); + + return productresult; + } + + public int productCount(int searchn, String search) { + + + Map m = new HashMap(); + m.put("searchn",searchn); + m.put("search", search); + return mapper.productCount(m); + } + + public List> warehousesSelect(int searchn, String search, int start, int perPage){ + Map m = new HashMap(); + m.put("searchn", searchn); + m.put("search", search); + m.put("start", start); + m.put("perPage", perPage); + + List> warehouseresult = mapper.warehouseSelect(m); + + return warehouseresult; + } + + public int warehouseCount(int searchn, String search) { + + + Map m = new HashMap(); + m.put("searchn",searchn); + m.put("search", search); + return mapper.warehouseCount(m); + } + + } + diff --git a/src/main/java/com/no1/wms/vendor/VendorController.java b/src/main/java/com/no1/wms/vendor/VendorController.java new file mode 100644 index 0000000..39d21ec --- /dev/null +++ b/src/main/java/com/no1/wms/vendor/VendorController.java @@ -0,0 +1,124 @@ +package com.no1.wms.vendor; + +import com.no1.wms.warehouse.WarehouseDto; +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; +import java.util.Map; + +@Controller +@Slf4j +public class VendorController { + + @Autowired + VendorService service; + + // 재고 리스트 출력 + @GetMapping("vendor/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, startRow ,perPage); + + + m.addAttribute("vlist", dto); + m.addAttribute("start", startRow + 1); + + int pageNum = 5;//보여질 페이지 번호 수 + 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("searchn", searchn); + m.addAttribute("search", search); + m.addAttribute("begin", begin); + m.addAttribute("end", end); + m.addAttribute("pageNum", pageNum); + m.addAttribute("totalPages", totalPages); + m.addAttribute("p" , page); + + return "vendor/list"; + } + + + // 재고 상세페이지 + @PostMapping("vendor/read") + public String read(String id, Model m) { + //스톡서비스로 재고 상세페이지 출력 메서드 작성 + + VendorDto One = service.vendorOne(id); + System.out.println("one :: " + One); + log.debug("One테스트 :: " + One); + + m.addAttribute("One", One); + + return "vendor/read"; + } + + + // 수정 - 폼 + @PostMapping("/vendor/update") + public String update(String id, Model m) { + VendorDto dto = service.vendorOne(id); + m.addAttribute("dto", dto); + return "vendor/update"; + } + + + // 수정 프로세스 + @PutMapping("/vendor/update_process") + @ResponseBody + public boolean updateProcess(VendorDto dto) { + + int i = service.updateVendor(dto); + if (i == 1) { + return true; + } else { + return false; + } + } + + + // 생성 폼 + @PostMapping("/vendor/create") + public String create() + { + return "vendor/create"; + } + + + // 생성 프로세스 + @PostMapping("/vendor/create_process") + @ResponseBody + public boolean createProcess(VendorDto dto) { + int i = service.createVendor(dto); + if (i == 1) { + return true; + } else { + return false; + } + } + + + // 삭제 + @DeleteMapping("/vendor/delete") + @ResponseBody + public int delete(String id) { + int i = service.deleteVendor(id); + return i; + } +} diff --git a/src/main/java/com/no1/wms/vendor/VendorDto.java b/src/main/java/com/no1/wms/vendor/VendorDto.java index 06935a0..a32f249 100644 --- a/src/main/java/com/no1/wms/vendor/VendorDto.java +++ b/src/main/java/com/no1/wms/vendor/VendorDto.java @@ -8,20 +8,20 @@ import lombok.NoArgsConstructor; @Data @AllArgsConstructor -@NoArgsConstructor + @Alias("VendorDto") public class VendorDto { private String id; private String name; - private String president_name; + private String presidentName; private String address; - private String registration_number; + private String registrationNumber; 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; + private String presidentTelephone; + private String vendorManager; + private String vendorManagerTelephone; + private String mainProduct; + private String managerId; + private boolean activation; } diff --git a/src/main/java/com/no1/wms/vendor/VendorMapper.java b/src/main/java/com/no1/wms/vendor/VendorMapper.java new file mode 100644 index 0000000..f8b0a86 --- /dev/null +++ b/src/main/java/com/no1/wms/vendor/VendorMapper.java @@ -0,0 +1,26 @@ +package com.no1.wms.vendor; + +import com.no1.wms.warehouse.WarehouseDto; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; +import java.util.Map; + + +@Mapper +public interface VendorMapper { + + List list(Map m); + + int count(Map m);//검색 글 갯수 + + VendorDto vendorOne(String id); + + int updateVendor(VendorDto dto); + + int createVendor(VendorDto dto); + + int deleteVendor(String id); + + +} diff --git a/src/main/java/com/no1/wms/vendor/VendorService.java b/src/main/java/com/no1/wms/vendor/VendorService.java new file mode 100644 index 0000000..f0793c5 --- /dev/null +++ b/src/main/java/com/no1/wms/vendor/VendorService.java @@ -0,0 +1,57 @@ +package com.no1.wms.vendor; + +import com.no1.wms.warehouse.WarehouseDto; +import lombok.extern.slf4j.Slf4j; +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 +@Slf4j +public class VendorService { + @Autowired + VendorMapper mapper; + + public int count(int searchn, String search) { + + Map m = new HashMap(); + m.put("searchn", searchn); + m.put("search", search); + return mapper.count(m); + } + + + public List list(int searchn, String search, int start, int perPage) { + + System.out.println(searchn + search); + + Map m = new HashMap(); + m.put("searchn", searchn); + m.put("search", search); + m.put("start", start); + m.put("perPage", perPage); + + return mapper.list(m); + } + + public VendorDto vendorOne(String id) { + return mapper.vendorOne(id); + } + + public int updateVendor(VendorDto dto) { + return mapper.updateVendor(dto); + } + + + public int createVendor(VendorDto dto) { + return mapper.createVendor(dto); + } + + + public int deleteVendor(String id) { + return mapper.deleteVendor(id); + } +} diff --git a/src/main/java/com/no1/wms/warehouse/WarehouseController.java b/src/main/java/com/no1/wms/warehouse/WarehouseController.java index c5edbab..84e25fd 100644 --- a/src/main/java/com/no1/wms/warehouse/WarehouseController.java +++ b/src/main/java/com/no1/wms/warehouse/WarehouseController.java @@ -33,6 +33,10 @@ public class WarehouseController { m.addAttribute("wlist", dto); m.addAttribute("start", startRow + 1); + + //테스트 + System.out.println("list" + dto); + //테스트 int pageNum = 5;//보여질 페이지 번호 수 int totalPages = count / perPage + (count % perPage > 0 ? 1 : 0); // 전체 페이지 수 @@ -42,6 +46,8 @@ public class WarehouseController { if (end > totalPages) { end = totalPages; } + m.addAttribute("searchn", searchn); + m.addAttribute("search", search); m.addAttribute("begin", begin); m.addAttribute("end", end); m.addAttribute("pageNum", pageNum); @@ -60,19 +66,16 @@ public class WarehouseController { //스톡서비스로 재고 상세페이지 출력 메서드 작성 WarehouseDto One = service.One(id); - System.out.println("one :: " + One); - log.debug("Osne테스트 :: " + One); - m.addAttribute("One", One); - int warehouseOneCount = service.warehouseOneCount(searchn, search, id); - log.debug("warehouseOneCount테스트 :: " + warehouseOneCount); + int perPage = 5; // 한 페이지에 보일 글의 갯수 int startRow = (page - 1) * perPage; m.addAttribute("start", startRow + 1); + int warehouseOneCount = service.warehouseOneCount(searchn, search, id); List> dto = service.warehouseOne(searchn, search, id, startRow, perPage); m.addAttribute("wlist", dto); System.out.println("list ::" + dto); @@ -86,6 +89,8 @@ public class WarehouseController { if (end > totalPages) { end = totalPages; } + m.addAttribute("searchn", searchn); + m.addAttribute("search", search); m.addAttribute("begin", begin); m.addAttribute("end", end); m.addAttribute("pageNum", pageNum); @@ -130,9 +135,13 @@ public class WarehouseController { // 생성 프로세스 @PostMapping("/warehouse/create_process") @ResponseBody - public String createProcess(WarehouseDto dto) { - service.createWarehouse(dto); - return "redirect:list";// 글목록 + public boolean createProcess(WarehouseDto dto) { + int i = service.createWarehouse(dto); + if (i == 1) { + return true; + } else { + return false; + } } diff --git a/src/main/resources/mappers/StockMapper.xml b/src/main/resources/mappers/StockMapper.xml index e27c9e1..dc43d41 100644 --- a/src/main/resources/mappers/StockMapper.xml +++ b/src/main/resources/mappers/StockMapper.xml @@ -3,55 +3,188 @@ - - - - - - - - - - - - update stock - set quantity = #{dto.quantity} - where id = #{dto.id} - - - - - - - insert into stock (id, warehouse_id, product_id, quantity, activation) - values (#{dto.id}, #{dto.warehouse_id}, #{dto.product_id}, #{dto.quantity}, 1) - - + + + + + + + + + + + + + + + + + + + + + + + + update stock + set warehouse_id = #{warehouseId}, quantity = #{quantityAdjustment} + where id = #{id} + + + + update warehouse w + left join stock s on w.id = s.warehouse_id + set w.current_capacity = w.current_capacity + #{quantity} + where w.id = #{warehouseId}; + + + + update warehouse w + left join stock s on w.id = s.warehouse_id + set w.current_capacity = w.current_capacity + (#{quantityAdjustment} - #{quantity}) + where w.id = #{warehouseId}; + + + + update warehouse + set current_capacity = current_capacity - #{quantity} + where id = #{warehouseId}; + + + + + + + insert into stock (id, warehouse_id, product_id, quantity, activation) + values (UUID(), #{warehouseId}, #{productId}, #{quantity}, #{activation}) + + + + + + delete + from stock + where id = #{id} + + \ No newline at end of file diff --git a/src/main/resources/mappers/VendorMapper.xml b/src/main/resources/mappers/VendorMapper.xml new file mode 100644 index 0000000..3e3f8b4 --- /dev/null +++ b/src/main/resources/mappers/VendorMapper.xml @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + update vendor + set name = #{name}, + president_name = #{presidentName}, + address = #{address}, + registration_number = #{registrationNumber}, + email = #{email}, + president_telephone = #{presidentTelephone}, + vendor_manager = #{vendorManager}, + vendor_manager_telephone = #{vendorManagerTelephone}, + main_product = #{mainProduct}, + manager_id = #{managerId}, + activation = #{activation} + where id = #{id} + + + + + + + insert into vendor (id, name, president_name, address, registration_number, email, president_telephone, vendor_manager, vendor_manager_telephone, main_product, manager_id, activation) + values (UUID(), #{name}, #{presidentName}, #{address}, #{registrationNumber}, #{email}, #{presidentTelephone}, #{vendorManager}, #{vendorManagerTelephone}, #{mainProduct}, #{managerId}, #{activation}) + + + + + + delete from vendor where id = #{id} + + + \ No newline at end of file diff --git a/src/main/resources/mappers/WarehouseMapper.xml b/src/main/resources/mappers/WarehouseMapper.xml index 3988987..5d997a5 100644 --- a/src/main/resources/mappers/WarehouseMapper.xml +++ b/src/main/resources/mappers/WarehouseMapper.xml @@ -31,7 +31,15 @@ w.activation = 1 and w.current_capacity like concat('%',#{search},'%') - order by w.id desc limit #{start}, #{perPage} + order by w.name ASC limit #{start}, #{perPage} + + + - @@ -84,13 +85,14 @@ set capacity = #{capacity}, name = #{name}, address = #{address} where id = #{id} + - insert into warehouse (id, name, capacity, current_capacity as currentCapacity, manager_id as managerId, address, activation) - values (UUID(), #{dto.name}, #{dto.capacity}, 0, #{dto.managerId}, #{dto.address}, 1) + insert into warehouse (id, name, capacity, current_capacity, manager_id, address, activation) + values (UUID(), #{name}, #{capacity}, #{currentCapacity}, #{managerId}, #{address}, #{activation}) diff --git a/src/main/webapp/WEB-INF/views/modal/product_category_company_search.jsp b/src/main/webapp/WEB-INF/views/modal/product_category_company_search.jsp new file mode 100644 index 0000000..38aff74 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/modal/product_category_company_search.jsp @@ -0,0 +1,157 @@ +<%@ page contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> + + +
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + +
제품카테고리제조사
${dto.name }${dto.cls_Nm_4 }${dto.company_name } + +
+
+
+ +
+ +
+ +
+
+
diff --git a/src/main/webapp/WEB-INF/views/modal/warehouse_capacity_currentCapacity.jsp b/src/main/webapp/WEB-INF/views/modal/warehouse_capacity_currentCapacity.jsp new file mode 100644 index 0000000..bdf2f27 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/modal/warehouse_capacity_currentCapacity.jsp @@ -0,0 +1,163 @@ +<%@ page contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> + + +
+
+
+
+
+
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
창고명지역용적잔여 용량
${dto.warehouseName }${dto.address }${dto.capacity }${dto.capacity - dto.current_capacity } + +
+
+
+ +
+ +
+ +
+
+
\ 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 index 22d012e..84baacf 100644 --- a/src/main/webapp/WEB-INF/views/stock/create.jsp +++ b/src/main/webapp/WEB-INF/views/stock/create.jsp @@ -1,68 +1,186 @@ -<%@ page contentType="text/html; charset=UTF-8"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ 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" %> - - - - - 재고 생성 - - - -
-
-

재고 관리 생성

-
-
-
-
-
- - -
-
-
+
+

재고 생성

+
+
+
+
+
+ + + + + + +
+ 제품 + + + +
+ +
+ 카테고리 + +
+ +
+ 제조사 + +
+ + + +
+ 창고 + + + +
+ +
+ 주소 + +
+ +
+ 용적 + +
+ +
+ 잔여 용량 + +
+ + + +
+ 재고량 + +
-
- - + $(document).ready(function () { - \ No newline at end of file + + $("#submitBtn").on("click", function () { + var product_id = $("#product_id").val(); + var warehouse_id = $("#warehouse_id").val(); + var quantity = $("#quantity").val(); + var activation = $("#activation").val(); + var remainingcapacity = $("#remainingcapacity").val(); + + if (!product_id) { + alert("제품을 선택해야 합니다."); + $("#product_id").focus(); + return false; + } + if (!warehouse_id) { + alert("적재할 창고를 선택해야 합니다."); + $("#warehouse_id").focus(); + return false; + } + + if (!quantity) { + alert("재고량를 입력해야 합니다."); + $("#quantity").focus(); + return false; + } + + if (quantity > remainingcapacity) { + alert("적재 할 재고량이 잔여 용량을 넘을 수 없습니다."); + $("#quantity").focus(); + return false; + } + + $.ajax({ + url: "/stock/create_process", + type: "post", + data: { + "productId": product_id, + "warehouseId": warehouse_id, + "quantity": quantity, + "activation": activation + + }, + datatype: "json" + }).done(function (data) { + if (data == true) { + alert("재고 정보가 생성되었습니다."); + + var form = document.createElement("form"); + form.action = "/stock/read"; + form.method = "POST"; + document.body.appendChild(form); + + var input = document.createElement("input"); + input.type = "hidden"; + input.name = "name"; + input.value = name; + form.appendChild(input); + + form.submit(); + + window.location.href = "/stock/list"; + } else { + alert("재고 정보 생성에 실패하였습니다."); + } + }).fail(function () { + alert("오류가 발생했습니다."); + }).always(function () { + // + }); + + }) + + $("#cancelBtn").on("click", function () { + $(location).attr("href", "/stock/list"); + + }) + + + }); + \ 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 817a95d..b7be395 100644 --- a/src/main/webapp/WEB-INF/views/stock/list.jsp +++ b/src/main/webapp/WEB-INF/views/stock/list.jsp @@ -1,121 +1,388 @@ <%@ page contentType="text/html; charset=UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> - - 재고 리스트 - + + + + + + + + + 재고 관리 - -
-

재고 리스트

+
+

재고 관리


-
- - -
-
- - - - - - - - - - - - - - - - -
번호제품명창고명
${stock.id}${stock.product_name }${stock.warehouse_name }
+ +
+
+
+
+
+
+
+ +
+ + - -
- -
-
- - [<] - - - ${i} - - - [>] - -
+ + + + -
- +
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + +
번호제품명카테고리재고수
${start} ${dto.productName }${dto.cls_nm_4 }${dto.quantity}
+
+
+
+
+
+
+ ms-excel + +
+
+ +
+
+ +
+
+
+ +
+
+
+
+
+
+ +
+ + + + + + + + +
+
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + +
번호제품명카테고리재고수
${start} ${dto.productName }${dto.cls_nm_4 }${dto.quantity }
+
+
+
+
+
+
+ ms-excel + +
+
+ +
+
+ +
+
+
+
- -
-
- 탭2 내용 -
-
- - - - + - + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/stock/read.jsp b/src/main/webapp/WEB-INF/views/stock/read.jsp new file mode 100644 index 0000000..8fe410e --- /dev/null +++ b/src/main/webapp/WEB-INF/views/stock/read.jsp @@ -0,0 +1,190 @@ +<%@ 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" %> + +
+

재고 상세페이지

+
+ +
+
+
+
+
+
+
+ + + + + + +
+ 제품 + + + <%-- --%> +
+ +
+ 카테고리 + +
+ +
+ 제조사 + +
+ + + +
+ 창고 + + + <%-- --%> +
+ +
+ 주소 + +
+ +
+ 용적 + +
+ + + +
+ 재고량 + +
+ + + + +
+
+
+
+
+
+ + + +
+
+
+
+ + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/stock/update.jsp b/src/main/webapp/WEB-INF/views/stock/update.jsp new file mode 100644 index 0000000..a9982ff --- /dev/null +++ b/src/main/webapp/WEB-INF/views/stock/update.jsp @@ -0,0 +1,200 @@ +<%@ 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" %> + + +
+

재고 수정

+
+
+
+
+
+
+ + + + + + + +
+ 제품 + + + <%-- --%> +
+ +
+ 카테고리 + +
+ +
+ 제조사 + +
+ + + +
+ 창고 + + + <%-- --%> +
+ +
+ 주소 + +
+ +
+ 용적 + +
+ +
+ 재고량 한도 + +
+ + +
+ 기존 재고량 + +
+ +
+ 수정 할 재고량 + +
+ + + + + +
+
+
+
+
+
+ + + +
+
+
+
+ \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/vendor/create.jsp b/src/main/webapp/WEB-INF/views/vendor/create.jsp new file mode 100644 index 0000000..2a931b4 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/vendor/create.jsp @@ -0,0 +1,253 @@ +<%@ 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" %> + + + + + 거래처 생성 + + + +
+

거래처 생성

+
+
+
+
+
+
+
+ + + <%-- 세션 만들어지고 value 수정--%> + + + + + +
+ 업체명 + +
+ +
+ 대표자명 + +
+ +
+ 주소 + +
+ +
+ 사업자등록번호 + +
+ +
+ email + +
+ +
+ 대표번호 + +
+ +
+ 거래처 담당자 이름 + +
+ +
+ 거래처 담당자 연락 번호 + +
+ +
+ 주요품목 + +
+ + +
+
+
+
+
+
+ + + +
+
+
+
+ + + + +
+ + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/vendor/list.jsp b/src/main/webapp/WEB-INF/views/vendor/list.jsp new file mode 100644 index 0000000..9bd2736 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/vendor/list.jsp @@ -0,0 +1,203 @@ +<%@ page contentType="text/html; charset=UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> + + + + +거래처 관리 + + +
+

거래처 관리

+
+
+
+
+
+
+
+
+ +
+ + + + + + + + +
+
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
번호업체명대표번호거래처 담당자거래처 담당자 전화번호
${start} ${dto.name }${dto.presidentTelephone }${dto.vendorManager }${dto.vendorManagerTelephone }
+
+
+
+
+
+
+ ms-excel + + +
+
+ +
+
+ +
+
+
+
+ + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/vendor/read.jsp b/src/main/webapp/WEB-INF/views/vendor/read.jsp new file mode 100644 index 0000000..3dcc24f --- /dev/null +++ b/src/main/webapp/WEB-INF/views/vendor/read.jsp @@ -0,0 +1,181 @@ +<%@ page contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> + + + + + + 거래처 상세페이지 + + + +
+ +
+

거래처 상세페이지

+
+ +
+
+
+
+
+
+
+
+
+ + + +
+ 업체명 + +
+ +
+ 대표자명 + +
+ +
+ 주소 + +
+ +
+ 사업자등록번호 + +
+ +
+ email + +
+ +
+ 대표번호 + +
+ +
+ 거래처 담당자 이름 + +
+ +
+ 거래처 담당자 연락 번호 + +
+ +
+ 주요품목 + +
+
+
+
+
+ +
+
+
+
+
+
+ + +
+ + + + + diff --git a/src/main/webapp/WEB-INF/views/vendor/update.jsp b/src/main/webapp/WEB-INF/views/vendor/update.jsp new file mode 100644 index 0000000..39417ab --- /dev/null +++ b/src/main/webapp/WEB-INF/views/vendor/update.jsp @@ -0,0 +1,263 @@ +<%@ 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" %> + + + + + + 창고 정보 수정페이지 + + + +
+

창고 정보 수정페이지

+
+
+
+
+ +
+
+
+ + + + + + +
+ 업체명 + +
+ +
+ 대표자명 + +
+ +
+ 주소 + +
+ +
+ 사업자등록번호 + +
+ +
+ email + +
+ +
+ 대표번호 + +
+ +
+ 거래처 담당자 이름 + +
+ +
+ 거래처 담당자 연락 번호 + +
+ +
+ 주요품목 + +
+ + +
+
+
+ +
+
+
+ + +
+
+
+
+
+ + + + diff --git a/src/main/webapp/WEB-INF/views/warehouse/create.jsp b/src/main/webapp/WEB-INF/views/warehouse/create.jsp index 1e41b0b..d2bb1e9 100644 --- a/src/main/webapp/WEB-INF/views/warehouse/create.jsp +++ b/src/main/webapp/WEB-INF/views/warehouse/create.jsp @@ -1,25 +1,26 @@ -<%@ 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"%> +<%@ 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" %> 창고 생성 @@ -34,9 +35,10 @@
- <-- 세션 만들어지고 value 수정--> + <%-- 세션 만들어지고 value 수정--%> - + +
@@ -75,28 +77,29 @@ diff --git a/src/main/webapp/WEB-INF/views/warehouse/list.jsp b/src/main/webapp/WEB-INF/views/warehouse/list.jsp index cba2276..6c05c2d 100644 --- a/src/main/webapp/WEB-INF/views/warehouse/list.jsp +++ b/src/main/webapp/WEB-INF/views/warehouse/list.jsp @@ -26,7 +26,7 @@
-
+