From c4776ac8a230b255d3f906b268be02e028d83634 Mon Sep 17 00:00:00 2001 From: sungsu Date: Sun, 21 Jan 2024 23:25:34 +0900 Subject: [PATCH 01/15] #update --- .../com/no1/wms/excel/ExcelDownlodeUtils.java | 2 +- .../com/no1/wms/out/ProductOutController.java | 13 ++-- .../com/no1/wms/out/ProductOutMapper.java | 2 + .../com/no1/wms/out/ProductOutService.java | 5 ++ .../com/no1/wms/stock/StockController.java | 7 +- .../com/no1/wms/vendor/VendorController.java | 64 +++++++++++++++++++ .../java/com/no1/wms/vendor/VendorMapper.java | 2 + .../com/no1/wms/vendor/VendorService.java | 4 +- .../resources/mappers/ProductOutMapper.xml | 6 ++ src/main/resources/mappers/StockMapper.xml | 20 +++++- src/main/resources/mappers/VendorMapper.xml | 13 +++- .../resources/mappers/WarehouseMapper.xml | 10 +-- src/main/webapp/WEB-INF/views/out/create.jsp | 4 +- src/main/webapp/WEB-INF/views/out/list.jsp | 6 +- src/main/webapp/WEB-INF/views/out/read.jsp | 19 +++++- src/main/webapp/WEB-INF/views/out/update.jsp | 2 +- .../webapp/WEB-INF/views/stock/create.jsp | 32 ++++++---- src/main/webapp/WEB-INF/views/stock/list.jsp | 20 +++--- .../webapp/WEB-INF/views/stock/update.jsp | 8 +-- src/main/webapp/WEB-INF/views/vendor/list.jsp | 34 ++++++++-- .../webapp/WEB-INF/views/warehouse/list.jsp | 8 +-- .../webapp/WEB-INF/views/warehouse/read.jsp | 6 +- 22 files changed, 215 insertions(+), 72 deletions(-) diff --git a/src/main/java/com/no1/wms/excel/ExcelDownlodeUtils.java b/src/main/java/com/no1/wms/excel/ExcelDownlodeUtils.java index daa6dd8..8850a21 100644 --- a/src/main/java/com/no1/wms/excel/ExcelDownlodeUtils.java +++ b/src/main/java/com/no1/wms/excel/ExcelDownlodeUtils.java @@ -240,7 +240,7 @@ public class ExcelDownlodeUtils { cell = row.createCell(2); cell.setCellValue((String) dto.get("warehouseName")); cell = row.createCell(3); - cell.setCellValue((String) dto.get("quantity")); + cell.setCellValue((int) dto.get("quantity")); } } diff --git a/src/main/java/com/no1/wms/out/ProductOutController.java b/src/main/java/com/no1/wms/out/ProductOutController.java index 47423ee..5603f85 100644 --- a/src/main/java/com/no1/wms/out/ProductOutController.java +++ b/src/main/java/com/no1/wms/out/ProductOutController.java @@ -120,7 +120,7 @@ public class ProductOutController { @ResponseBody public int delete(ProductOutDto dto) { System.out.println("데이터 :: " + dto); - int i = service.deleteOut(dto); + int i = service.outNow(dto); return i; } @@ -130,13 +130,10 @@ public class ProductOutController { @PutMapping("/outNow") @ResponseBody public boolean outNow(ProductOutDto dto) { - int i = service.outNowUpdate(dto); - if (i != 0) { - service.updateWarehouseDeleteStock(dto); - return true; - } else { - return false; - } + service.outNowUpdate(dto); + service.updateWarehouseDeleteStock(dto); + service.stockQuantityUpdate(dto); + return true; } diff --git a/src/main/java/com/no1/wms/out/ProductOutMapper.java b/src/main/java/com/no1/wms/out/ProductOutMapper.java index f28f3b3..e7e3975 100644 --- a/src/main/java/com/no1/wms/out/ProductOutMapper.java +++ b/src/main/java/com/no1/wms/out/ProductOutMapper.java @@ -25,6 +25,8 @@ public interface ProductOutMapper { int updateWarehousePlus(ProductOutDto dto); int updateWarehouseDeleteStock(ProductOutDto dto); + + int stockQuantityUpdate(ProductOutDto dto); int createOut(ProductOutDto dto); diff --git a/src/main/java/com/no1/wms/out/ProductOutService.java b/src/main/java/com/no1/wms/out/ProductOutService.java index ae3eb8d..cd8e79e 100644 --- a/src/main/java/com/no1/wms/out/ProductOutService.java +++ b/src/main/java/com/no1/wms/out/ProductOutService.java @@ -73,6 +73,11 @@ public class ProductOutService { return mapper.updateWarehouseDeleteStock(dto); } + public int stockQuantityUpdate(ProductOutDto dto){ + return mapper.stockQuantityUpdate(dto); + } + + public int deleteOut(ProductOutDto dto) { return mapper.deleteOut(dto); } diff --git a/src/main/java/com/no1/wms/stock/StockController.java b/src/main/java/com/no1/wms/stock/StockController.java index facdd24..fdf0673 100644 --- a/src/main/java/com/no1/wms/stock/StockController.java +++ b/src/main/java/com/no1/wms/stock/StockController.java @@ -196,7 +196,7 @@ public class StockController { list = service.warehousesSelect(searchn, search, startRow, perPage ,product_id); count = service.warehouseCount(searchn, search ,product_id); } - + System.out.println("테스트 :: "+ product_id); mav.addObject("list", list); mav.addObject("start", startRow + 1); @@ -230,9 +230,10 @@ public class StockController { // 리스트 다운로드 - @GetMapping("/stock/downloadExcelList") + @GetMapping("/downloadExcelList") public void downlodeExcelList(HttpServletResponse response) { List> dto = service.selectAll(); + System.out.println("엑셀 출력 확인 : : " + dto); String excelFileName = "재고 파일"; String sheetName = "재고"; String[] columnName = {"제품명","카테고리","창고","재고수"}; @@ -241,7 +242,7 @@ public class StockController { }; //서식 다운로드 - @GetMapping("/stock/downloadStockForm") + @GetMapping("/downloadStockForm") public void downlodeStockForm (HttpServletResponse response) throws IOException { String stockFormName = "재고 데이터 입력 서식.xlsx"; excelDownlodeUtils.downlodeExcelForm(response, stockFormName); diff --git a/src/main/java/com/no1/wms/vendor/VendorController.java b/src/main/java/com/no1/wms/vendor/VendorController.java index 0f53f17..c414826 100644 --- a/src/main/java/com/no1/wms/vendor/VendorController.java +++ b/src/main/java/com/no1/wms/vendor/VendorController.java @@ -2,15 +2,22 @@ package com.no1.wms.vendor; import com.no1.wms.category.CategoryDto; import com.no1.wms.excel.ExcelDownlodeUtils; +import com.no1.wms.excel.ExcelRequestManager; 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.ui.ModelMap; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.mvc.support.RedirectAttributes; +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -146,4 +153,61 @@ public class VendorController { String vendorFormName = "거래처 데이터 입력 서식.xlsx"; excelDownlodeUtils.downlodeExcelForm(response, vendorFormName); }; + + + + @PostMapping("/vendor/uplodeExcel") + public String uploadExcel(@ModelAttribute("dto") VendorDto dto , RedirectAttributes redirectAttributes, final MultipartHttpServletRequest multiRequest, + HttpServletRequest request, ModelMap model) { + + Map resMap = new HashMap<>(); + + + try { + + ExcelRequestManager em = new ExcelRequestManager(); + + // 멀티파트 요청 객체에서 파일 맵을 가져옴 + final Map files = multiRequest.getFileMap(); + //초기화 + List> apply =null; + + //엑셀파일 가져와서 저장 및 읽기 + //변수는 멀티파트 요청 객체의 파일맵, 저장할 엑셀파일명 이름에 추가할 숫자(그냥 0으로 해도 됨) + //마찬가지로 엑셀파일 명 이름에 추가할 문자열, uplode폴더에 들어갈 폴더명(카테고리같은 파트 이름으로 해주세요) + //폴더가 없으면 자동생성되게 해뒀습니다. + //마지막으로 HttpServletRequest + apply = em.parseExcelSpringMultiPart(files, "테스트파일", 0, "", "category", request); + + for (int i = 0; i < apply.size(); i++) { + + + dto.setName(apply.get(i).get("nsme")); + dto.setPresident_name(apply.get(i).get("president_name")); + dto.setAddress(apply.get(i).get("address")); + dto.setRegistration_number(apply.get(i).get("registration_number")); + dto.setEmail(apply.get(i).get("email")); + dto.setPresident_telephone(apply.get(i).get("president_telephone")); + dto.setVendor_manager(apply.get(i).get("vendor_manager")); + dto.setVendor_manager_telephone(apply.get(i).get("vendor_manager_telephone")); + dto.setMain_product(apply.get(i).get("main_product")); + dto.setManager_id(apply.get(i).get("manager_id")); + dto.setActivation(true); + + service.createProcess(dto); + + } + + resMap.put("res", "ok"); + resMap.put("msg", "업로드 성공"); + } catch (Exception e) { + System.out.println(e.toString()); + resMap.put("res", "error"); + resMap.put("msg", "업로드 실패"); + } + + redirectAttributes.addFlashAttribute("resMap", resMap); + + return "redirect:/vendor/list"; + }; } diff --git a/src/main/java/com/no1/wms/vendor/VendorMapper.java b/src/main/java/com/no1/wms/vendor/VendorMapper.java index 46e39b6..179f677 100644 --- a/src/main/java/com/no1/wms/vendor/VendorMapper.java +++ b/src/main/java/com/no1/wms/vendor/VendorMapper.java @@ -1,5 +1,6 @@ package com.no1.wms.vendor; +import com.no1.wms.category.CategoryDto; import com.no1.wms.warehouse.WarehouseDto; import org.apache.ibatis.annotations.Mapper; @@ -19,6 +20,7 @@ public interface VendorMapper { int updateVendor(VendorDto dto); int createVendor(VendorDto dto); + int createProcess(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 index 7e67e76..2a51ca3 100644 --- a/src/main/java/com/no1/wms/vendor/VendorService.java +++ b/src/main/java/com/no1/wms/vendor/VendorService.java @@ -1,6 +1,5 @@ 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; @@ -49,6 +48,9 @@ public class VendorService { public int createVendor(VendorDto dto) { return mapper.createVendor(dto); } + public int createProcess(VendorDto dto) { + return mapper.createProcess(dto); + } public int deleteVendor(String id) { diff --git a/src/main/resources/mappers/ProductOutMapper.xml b/src/main/resources/mappers/ProductOutMapper.xml index 316f79c..a9b7abd 100644 --- a/src/main/resources/mappers/ProductOutMapper.xml +++ b/src/main/resources/mappers/ProductOutMapper.xml @@ -119,6 +119,12 @@ set quantity = #{quantity}, expected_delivery_date = #{expected_delivery_date}, delivery_date = #{delivery_date} where id = #{id}; + + + update stock + set quantity = quantity - #{quantity} + where product_id = #{product_id} and warehouse_id = #{warehouse_id}; + diff --git a/src/main/resources/mappers/StockMapper.xml b/src/main/resources/mappers/StockMapper.xml index d41cf96..8c05105 100644 --- a/src/main/resources/mappers/StockMapper.xml +++ b/src/main/resources/mappers/StockMapper.xml @@ -27,6 +27,7 @@ s.activation = 1 and p.name like concat('%',#{search},'%') s.activation = 1 and c.cls_Nm_4 like concat('%',#{search},'%') s.activation = 1 and s.quantity like concat('%',#{search},'%') + s.activation = 1 and w.name like concat('%',#{search},'%') @@ -44,6 +45,7 @@ s.activation = 1 and p.name like concat('%',#{search},'%') s.activation = 1 and c.cls_Nm_4 like concat('%',#{search},'%') s.activation = 1 and s.quantity like concat('%',#{search},'%') + s.activation = 1 and w.name like concat('%',#{search},'%') order by s.id desc limit #{start}, #{perPage} @@ -62,6 +64,7 @@ quantity <= 200 and s.activation = 1 and p.name like concat('%',#{search},'%') quantity <= 200 and s.activation = 1 and c.cls_Nm_4 like concat('%',#{search},'%') quantity <= 200 and s.activation = 1 and s.quantity like concat('%',#{search},'%') + s.activation = 1 and w.name like concat('%',#{search},'%') @@ -79,13 +82,22 @@ quantity <= 200 and s.activation = 1 and p.name like concat('%',#{search},'%') quantity <= 200 and s.activation = 1 and c.cls_Nm_4 like concat('%',#{search},'%') quantity <= 200 and s.activation = 1 and s.quantity like concat('%',#{search},'%') + s.activation = 1 and w.name like concat('%',#{search},'%') order by s.id desc limit #{start}, #{perPage} - select + select id, name, president_name, address, @@ -14,7 +14,9 @@ president_telephone, vendor_manager, vendor_manager_telephone, - main_products + main_product, + manager_id, + activation from vendor; @@ -108,7 +110,12 @@ 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}, #{president_name}, #{address}, #{registration_number}, #{email}, #{president_telephone}, #{vendor_manager}, #{vendor_manager_telephone}, #{main_product}, #{manager_id}, #{activation}) + values (UUID(), #{name}, #{president_name}, #{address}, #{registration_number}, #{email}, #{president_telephone}, #{vendor_manager}, #{vendor_manager_telephone}, #{main_product}, #{manager_id}, 1) + + + + 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}, #{president_name}, #{address}, #{registration_number}, #{email}, #{president_telephone}, #{vendor_manager}, #{vendor_manager_telephone}, #{main_product}, #{manager_id}, 1) diff --git a/src/main/resources/mappers/WarehouseMapper.xml b/src/main/resources/mappers/WarehouseMapper.xml index 060e266..4222582 100644 --- a/src/main/resources/mappers/WarehouseMapper.xml +++ b/src/main/resources/mappers/WarehouseMapper.xml @@ -6,7 +6,7 @@ - - + + + aria-label="Text input with dropdown button" value="${search}" placeholder="검색어를 입력하세요"> diff --git a/src/main/webapp/WEB-INF/views/out/read.jsp b/src/main/webapp/WEB-INF/views/out/read.jsp index 8a9d1d6..463cf23 100644 --- a/src/main/webapp/WEB-INF/views/out/read.jsp +++ b/src/main/webapp/WEB-INF/views/out/read.jsp @@ -60,7 +60,7 @@
비고 - +
@@ -68,7 +68,7 @@
-
+
@@ -109,7 +109,7 @@
@@ -137,6 +137,13 @@ $(document).ready(function () { + var deliveryDate = $("#delivery_date").val(); + + // '출고 날짜' 입력 필드에 값이 있다면, '출고' 버튼을 숨깁니다. + if (deliveryDate) { + $("#outNow").hide(); + } + $("#modifyBtn").on("click", function () { var id = $("#id").val(); @@ -207,6 +214,9 @@ function outNowUpdate() { var id = $("#id").val(); + var quantity = $("#quantity").val(); + var product_id = $("#product_id").val() + var warehouse_id = $("#warehouse_id").val(); var expected_delivery_date = $("#expected_delivery_date").val(); // 현재 날짜와 시간을 얻기 var now = new Date(); @@ -217,6 +227,9 @@ type: "put", data: { "id": id, + "quantity": quantity, + "product_id":product_id, + "warehouse_id": warehouse_id, "expected_delivery_date": expected_delivery_date, "delivery_date": delivery_date }, diff --git a/src/main/webapp/WEB-INF/views/out/update.jsp b/src/main/webapp/WEB-INF/views/out/update.jsp index 1428606..0dc409d 100644 --- a/src/main/webapp/WEB-INF/views/out/update.jsp +++ b/src/main/webapp/WEB-INF/views/out/update.jsp @@ -59,7 +59,7 @@
비고 - +
diff --git a/src/main/webapp/WEB-INF/views/stock/create.jsp b/src/main/webapp/WEB-INF/views/stock/create.jsp index a014b1d..4826f05 100644 --- a/src/main/webapp/WEB-INF/views/stock/create.jsp +++ b/src/main/webapp/WEB-INF/views/stock/create.jsp @@ -54,7 +54,7 @@
잔여 용량 - +
@@ -62,13 +62,15 @@
재고량
+ + @@ -103,15 +105,16 @@ } function showSearchModals2(title, val){ - $("#searchModalLabel").text(title); - const data = { name : val}; var product_id = $("#product_id").val(); + $("#searchModalLabel").text(title); + const data = { name : val, + product_id :product_id}; $.ajax({ type : 'post', // 타입 (get, post, put 등등) url : '/stock/show_modal', // 요청할 서버url dataType : 'html', // 데이터 타입 (html, xml, json, text 등등) - data : {"product_id" : product_id},data, + data : data, success : function(result) { // 결과 성공 콜백함수 $("#search_modal_body").html(result); searchModalBootStrap.show(); @@ -129,9 +132,18 @@ $("#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(); + var quantity = parseInt($("#quantity").val(), 10); + var remainingcapacity = parseInt($("#remainingcapacity").val(), 10); + + console.log("Quantity:", quantity); + console.log("Remaining Capacity:", remainingcapacity); + + if (quantity > remainingcapacity) { + alert("적재 할 재고량이 잔여 용량을 넘을 수 없습니다."); + $("#quantity").focus(); + return false; + } if (!product_id) { alert("제품을 선택해야 합니다."); @@ -150,12 +162,6 @@ return false; } - if (quantity > remainingcapacity) { - alert("적재 할 재고량이 잔여 용량을 넘을 수 없습니다."); - $("#quantity").focus(); - return false; - } - $.ajax({ url: "/stock/create_process", type: "post", diff --git a/src/main/webapp/WEB-INF/views/stock/list.jsp b/src/main/webapp/WEB-INF/views/stock/list.jsp index cd8c958..00e8aaa 100644 --- a/src/main/webapp/WEB-INF/views/stock/list.jsp +++ b/src/main/webapp/WEB-INF/views/stock/list.jsp @@ -48,13 +48,14 @@
+ aria-label="Text input with dropdown button" value="${search}" placeholder="검색어를 입력하세요"> @@ -98,7 +99,6 @@
ms-excel -
@@ -147,13 +147,14 @@
+ aria-label="Text input with dropdown button" value="${search}" placeholder="검색어를 입력하세요"> @@ -195,7 +196,6 @@
ms-excel -
diff --git a/src/main/webapp/WEB-INF/views/stock/update.jsp b/src/main/webapp/WEB-INF/views/stock/update.jsp index 321b97e..5384654 100644 --- a/src/main/webapp/WEB-INF/views/stock/update.jsp +++ b/src/main/webapp/WEB-INF/views/stock/update.jsp @@ -39,7 +39,7 @@
창고 - + <%-- --%>
@@ -55,7 +55,7 @@
- 재고량 한도 + 수정 가능한 재고량 한도
@@ -120,9 +120,9 @@ var warehouse_id = $("#warehouse_id").val(); var quantity = $("#quantity").val(); var activation = $("#activation").val(); - var remainingcapacity = $("#remainingcapacity").val(); var id = $("#id").val(); - var quantityAdjustment = $("#quantityAdjustment").val(); + var quantityAdjustment = parseInt($("#quantityAdjustment").val(), 10); + var remainingcapacity = parseInt($("#remainingcapacity").val(), 10); if (!product_id) { diff --git a/src/main/webapp/WEB-INF/views/vendor/list.jsp b/src/main/webapp/WEB-INF/views/vendor/list.jsp index c5b211c..ae305b3 100644 --- a/src/main/webapp/WEB-INF/views/vendor/list.jsp +++ b/src/main/webapp/WEB-INF/views/vendor/list.jsp @@ -18,13 +18,13 @@
- + @@ -69,8 +69,7 @@
ms-excel - - +
@@ -99,6 +98,14 @@
+ + +
+ + +
+ +
@@ -215,6 +222,19 @@ document.body.appendChild(form); form.submit(); } + + function _onSubmit(){ + + if($("#file").val() == ""){ + alert("파일을 업로드해주세요."); + $("#file").focus(); + return false; + } + + + + return true; + } \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/warehouse/list.jsp b/src/main/webapp/WEB-INF/views/warehouse/list.jsp index b153df8..40d248c 100644 --- a/src/main/webapp/WEB-INF/views/warehouse/list.jsp +++ b/src/main/webapp/WEB-INF/views/warehouse/list.jsp @@ -30,13 +30,13 @@
+ aria-label="Text input with dropdown button" value="${search}" placeholder="검색어를 입력하세요"> diff --git a/src/main/webapp/WEB-INF/views/warehouse/read.jsp b/src/main/webapp/WEB-INF/views/warehouse/read.jsp index 12fe0e4..4954ee0 100644 --- a/src/main/webapp/WEB-INF/views/warehouse/read.jsp +++ b/src/main/webapp/WEB-INF/views/warehouse/read.jsp @@ -53,13 +53,13 @@
+ aria-label="Text input with dropdown button" value="${search}" placeholder="검색어를 입력하세요">
From fd2d273f54f1fef7e8e0241a586c2d7eb6d78c58 Mon Sep 17 00:00:00 2001 From: Kana Date: Mon, 22 Jan 2024 09:15:12 +0900 Subject: [PATCH 02/15] update in --- .../java/com/no1/wms/in/InController.java | 36 +++++++++++++++---- src/main/java/com/no1/wms/in/InMapper.java | 3 ++ src/main/java/com/no1/wms/in/InService.java | 10 ++++++ 3 files changed, 43 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/no1/wms/in/InController.java b/src/main/java/com/no1/wms/in/InController.java index 6f62822..6334686 100644 --- a/src/main/java/com/no1/wms/in/InController.java +++ b/src/main/java/com/no1/wms/in/InController.java @@ -79,11 +79,35 @@ public class InController { @PostMapping("/create_process") @ResponseBody public boolean createProcess(InDto dto) { - int i = inService.createProcess(dto); - int j = inService.createProcess2(dto); - if (i == 1 & i == j) { - return true; - } else { + int j = inService.checkIfExistsStock(dto); + if(j == 1) { + int k = inService.updateStockProcess(dto); + if(k == 1) { + int i = inService.createProcess(dto); + if(i == k) { + System.out.println("달라서 새로만듬"); + return true; + }else { + return false; + } + }else { + return false; + } + + }else if(j == 0) { + int k = inService.createStockProcess(dto); + if(k == 1) { + int i = inService.createProcess(dto); + if(i == k) { + System.out.println("같아서 합침"); + return true; + }else { + return false; + } + }else { + return false; + } + }else { return false; } } @@ -172,7 +196,7 @@ public class InController { @RequestParam(name = "p", defaultValue = "1") int page, @RequestParam String name, String product_id, ModelAndView mav){ - int perPage = 9; // 한 페이지에 보일 글의 갯수 + int perPage = 5; // 한 페이지에 보일 글의 갯수 int startRow = (page - 1) * perPage; List> list = null; diff --git a/src/main/java/com/no1/wms/in/InMapper.java b/src/main/java/com/no1/wms/in/InMapper.java index 97883e0..750bd8c 100644 --- a/src/main/java/com/no1/wms/in/InMapper.java +++ b/src/main/java/com/no1/wms/in/InMapper.java @@ -13,5 +13,8 @@ public interface InMapper { int createProcess2(InDto dto); InDto selectById (String id); int updateById(InDto dto); + int checkIfExistsStock(InDto dto); + int updateStockProcess(InDto dto); + int createStockProcess(InDto dto); } diff --git a/src/main/java/com/no1/wms/in/InService.java b/src/main/java/com/no1/wms/in/InService.java index 6adb815..f837f5d 100644 --- a/src/main/java/com/no1/wms/in/InService.java +++ b/src/main/java/com/no1/wms/in/InService.java @@ -46,6 +46,16 @@ public class InService { return mapper.updateById(dto); } + public int checkIfExistsStock(InDto dto) { + return mapper.checkIfExistsStock(dto); + } + public int updateStockProcess(InDto dto) { + return mapper.updateStockProcess(dto); + } + + public int createStockProcess(InDto dto) { + return mapper.createStockProcess(dto); + } } From 75e2cbaadea5193cd394e6df03d71a78ab936075 Mon Sep 17 00:00:00 2001 From: sungsu Date: Mon, 22 Jan 2024 10:11:07 +0900 Subject: [PATCH 03/15] =?UTF-8?q?#=EC=88=98=EC=A0=95=20stock/create.jsp=20?= =?UTF-8?q?stock/list.jsp=20stock/read.jsp=20stock/update.jsp=20WarehouseC?= =?UTF-8?q?ontroller.java=20WarehouseMapper.xml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/no1/wms/stock/StockController.java | 7 +++---- src/main/java/com/no1/wms/stock/StockService.java | 6 ++---- src/main/resources/mappers/StockMapper.xml | 12 ++++++------ 3 files changed, 11 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/no1/wms/stock/StockController.java b/src/main/java/com/no1/wms/stock/StockController.java index fdf0673..cdd15af 100644 --- a/src/main/java/com/no1/wms/stock/StockController.java +++ b/src/main/java/com/no1/wms/stock/StockController.java @@ -172,7 +172,7 @@ public class StockController { @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, String product_id, + @RequestParam(name = "p", defaultValue = "1") int page, @RequestParam String name, ModelAndView mav){ int perPage = 5; // 한 페이지에 보일 글의 갯수 @@ -193,10 +193,9 @@ public class StockController { 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 ,product_id); - count = service.warehouseCount(searchn, search ,product_id); + list = service.warehousesSelect(searchn, search, startRow, perPage); + count = service.warehouseCount(searchn, search); } - System.out.println("테스트 :: "+ product_id); mav.addObject("list", list); mav.addObject("start", startRow + 1); diff --git a/src/main/java/com/no1/wms/stock/StockService.java b/src/main/java/com/no1/wms/stock/StockService.java index 2dbe496..c8d349b 100644 --- a/src/main/java/com/no1/wms/stock/StockService.java +++ b/src/main/java/com/no1/wms/stock/StockService.java @@ -121,26 +121,24 @@ public class StockService { return mapper.productCount(m); } - public List> warehousesSelect(int searchn, String search, int start, int perPage, String product_id){ + 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); - m.put("product_id", product_id); List> warehouseresult = mapper.warehouseSelect(m); return warehouseresult; } - public int warehouseCount(int searchn, String search, String product_id) { + public int warehouseCount(int searchn, String search) { Map m = new HashMap(); m.put("searchn",searchn); m.put("search", search); - m.put("product_id", product_id); return mapper.warehouseCount(m); } diff --git a/src/main/resources/mappers/StockMapper.xml b/src/main/resources/mappers/StockMapper.xml index 8c05105..c60abcb 100644 --- a/src/main/resources/mappers/StockMapper.xml +++ b/src/main/resources/mappers/StockMapper.xml @@ -147,9 +147,9 @@ - (s.product_id <> #{product_id} or s.product_id is null) and w.activation = 1 and w.name like concat('%',#{search},'%') - (s.product_id <> #{product_id} or s.product_id is null) and w.activation = 1 and address like concat('%',#{search},'%') - (s.product_id <> #{product_id} or s.product_id is null) and w.activation = 1 and capacity like concat('%',#{search},'%') + w.activation = 1 and w.name like concat('%',#{search},'%') + w.activation = 1 and address like concat('%',#{search},'%') + w.activation = 1 and capacity like concat('%',#{search},'%') order by w.name desc limit #{start}, #{perPage} @@ -162,9 +162,9 @@ - (s.product_id <> #{product_id} or s.product_id is null) and w.activation = 1 and w.name like concat('%',#{search},'%') - (s.product_id <> #{product_id} or s.product_id is null) and w.activation = 1 and address like concat('%',#{search},'%') - (s.product_id <> #{product_id} or s.product_id is null) and w.activation = 1 and capacity like concat('%',#{search},'%') + w.activation = 1 and w.name like concat('%',#{search},'%') + w.activation = 1 and address like concat('%',#{search},'%') + and w.activation = 1 and capacity like concat('%',#{search},'%') From fbc2470c98743c205f6fd937c3bb2f5bbefee233 Mon Sep 17 00:00:00 2001 From: sungsu Date: Mon, 22 Jan 2024 10:11:38 +0900 Subject: [PATCH 04/15] =?UTF-8?q?#=EC=88=98=EC=A0=95=20stock/create.jsp=20?= =?UTF-8?q?stock/list.jsp=20stock/read.jsp=20stock/update.jsp=20WarehouseC?= =?UTF-8?q?ontroller.java=20WarehouseMapper.xml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/mappers/StockMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/mappers/StockMapper.xml b/src/main/resources/mappers/StockMapper.xml index c60abcb..58bd1de 100644 --- a/src/main/resources/mappers/StockMapper.xml +++ b/src/main/resources/mappers/StockMapper.xml @@ -164,7 +164,7 @@ w.activation = 1 and w.name like concat('%',#{search},'%') w.activation = 1 and address like concat('%',#{search},'%') - and w.activation = 1 and capacity like concat('%',#{search},'%') + w.activation = 1 and capacity like concat('%',#{search},'%') From 3cb86ba7b3e5c33ba1f7cec84f468684bccd9973 Mon Sep 17 00:00:00 2001 From: Kana Date: Mon, 22 Jan 2024 10:12:52 +0900 Subject: [PATCH 05/15] change inController --- .../java/com/no1/wms/in/InController.java | 36 +--------- src/main/java/com/no1/wms/in/InService.java | 41 +++++++++++ src/main/webapp/WEB-INF/views/in/update.jsp | 71 ++++++++++--------- 3 files changed, 80 insertions(+), 68 deletions(-) diff --git a/src/main/java/com/no1/wms/in/InController.java b/src/main/java/com/no1/wms/in/InController.java index 6334686..8397990 100644 --- a/src/main/java/com/no1/wms/in/InController.java +++ b/src/main/java/com/no1/wms/in/InController.java @@ -79,37 +79,7 @@ public class InController { @PostMapping("/create_process") @ResponseBody public boolean createProcess(InDto dto) { - int j = inService.checkIfExistsStock(dto); - if(j == 1) { - int k = inService.updateStockProcess(dto); - if(k == 1) { - int i = inService.createProcess(dto); - if(i == k) { - System.out.println("달라서 새로만듬"); - return true; - }else { - return false; - } - }else { - return false; - } - - }else if(j == 0) { - int k = inService.createStockProcess(dto); - if(k == 1) { - int i = inService.createProcess(dto); - if(i == k) { - System.out.println("같아서 합침"); - return true; - }else { - return false; - } - }else { - return false; - } - }else { - return false; - } + return inService.chechAndUpdateOrCreateProcess(dto); } @PostMapping("/read") @@ -202,8 +172,8 @@ public class InController { List> list = null; int count = 0; - list = stockservice.warehousesSelect(searchn, search, startRow, perPage, product_id); - count = stockservice.warehouseCount(searchn, search, product_id); + list = stockservice.warehousesSelect(searchn, search, startRow, perPage); + count = stockservice.warehouseCount(searchn, search); mav.addObject("list", list); diff --git a/src/main/java/com/no1/wms/in/InService.java b/src/main/java/com/no1/wms/in/InService.java index f837f5d..4c84faa 100644 --- a/src/main/java/com/no1/wms/in/InService.java +++ b/src/main/java/com/no1/wms/in/InService.java @@ -58,4 +58,45 @@ public class InService { return mapper.createStockProcess(dto); } + //createProcess + public boolean chechAndUpdateOrCreateProcess(InDto dto) { + int j = mapper.checkIfExistsStock(dto); + if(j == 1) { + int k = mapper.updateStockProcess(dto); + if(k == 1) { + int i = mapper.createProcess(dto); + if(i == k) { + System.out.println("달라서 새로만듬"); + return true; + }else { + return false; + } + }else { + return false; + } + + }else if(j == 0) { + int k = mapper.createStockProcess(dto); + if(k == 1) { + int i = mapper.createProcess(dto); + if(i == k) { + System.out.println("같아서 합침"); + return true; + }else { + return false; + } + }else { + return false; + } + }else { + return false; + } + } + + + + + + + } diff --git a/src/main/webapp/WEB-INF/views/in/update.jsp b/src/main/webapp/WEB-INF/views/in/update.jsp index 7bdfab3..3a79e20 100644 --- a/src/main/webapp/WEB-INF/views/in/update.jsp +++ b/src/main/webapp/WEB-INF/views/in/update.jsp @@ -103,6 +103,7 @@ +
@@ -216,41 +217,41 @@ });//submitBtn });//ready - function showSearchModal(title, val){ - $("#searchModalLabel").text(title); - const data = { name : val}; - $.ajax({ - type : 'post', // 타입 (get, post, put 등등) - url : '/product/show_modal', // 요청할 서버url - dataType : 'html', // 데이터 타입 (html, xml, json, text 등등) - data : data, - success : function(result) { // 결과 성공 콜백함수 - $("#search_modal_body").html(result); - searchModalBootStrap.show(); - }, - error : function(request, status, error) { - alert(error) - } - }); - } - - function showSearchModal2(title, val){ - $("#searchModalLabel").text(title); - const data = { name : val}; - $.ajax({ - type : 'post', // 타입 (get, post, put 등등) - url : '/product/show_modal2', // 요청할 서버url - dataType : 'html', // 데이터 타입 (html, xml, json, text 등등) - data : data, - success : function(result) { // 결과 성공 콜백함수 - $("#search_modal_body").html(result); - searchModalBootStrap.show(); - }, - error : function(request, status, error) { - alert(error) - } - }); - } + function showSearchModal_product(title, val){ + $("#searchModalLabel").text(title); + const data = { name : val}; + $.ajax({ + type : 'post', // 타입 (get, post, put 등등) + url : '/in/show_modal_product', // 요청할 서버url + dataType : 'html', // 데이터 타입 (html, xml, json, text 등등) + data : data, + success : function(result) { // 결과 성공 콜백함수 + $("#search_modal_body").html(result); + searchModalBootStrap.show(); + }, + error : function(request, status, error) { + alert(error) + } + }); + }//showSearchModal_products + + function showSearchModal_warehouse(title, val){ + $("#searchModalLabel").text(title); + const data = { name : val}; + $.ajax({ + type : 'post', // 타입 (get, post, put 등등) + url : '/in/show_modal_warehouse', // 요청할 서버url + dataType : 'html', // 데이터 타입 (html, xml, json, text 등등) + data : data, + success : function(result) { // 결과 성공 콜백함수 + $("#search_modal_body").html(result); + searchModalBootStrap.show(); + }, + error : function(request, status, error) { + alert(error) + } + }); + }//showSearchModal_warehouse \ No newline at end of file From ba94f72e5e4eb921acd5d9c96b5d440c85edc387 Mon Sep 17 00:00:00 2001 From: sungsu Date: Mon, 22 Jan 2024 10:26:52 +0900 Subject: [PATCH 06/15] =?UTF-8?q?#=EC=88=98=EC=A0=95=20stock/create.jsp=20?= =?UTF-8?q?StockController.java=20StockMapper.xml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/no1/wms/stock/StockController.java | 2 +- src/main/resources/mappers/StockMapper.xml | 4 ---- src/main/webapp/WEB-INF/views/stock/create.jsp | 4 +--- 3 files changed, 2 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/no1/wms/stock/StockController.java b/src/main/java/com/no1/wms/stock/StockController.java index cdd15af..ac4ca05 100644 --- a/src/main/java/com/no1/wms/stock/StockController.java +++ b/src/main/java/com/no1/wms/stock/StockController.java @@ -175,7 +175,7 @@ public class StockController { @RequestParam(name = "p", defaultValue = "1") int page, @RequestParam String name, ModelAndView mav){ - int perPage = 5; // 한 페이지에 보일 글의 갯수 + int perPage = 9; // 한 페이지에 보일 글의 갯수 int startRow = (page - 1) * perPage; List> list = null; diff --git a/src/main/resources/mappers/StockMapper.xml b/src/main/resources/mappers/StockMapper.xml index 58bd1de..a7d73f6 100644 --- a/src/main/resources/mappers/StockMapper.xml +++ b/src/main/resources/mappers/StockMapper.xml @@ -110,7 +110,6 @@ SELECT count(name) FROM product p - LEFT JOIN stock s ON s.product_id = p.id left join product_category c on p.kan_code = c.kan_code @@ -143,7 +141,6 @@ (SELECT SUM(s.quantity) FROM stock s WHERE s.warehouse_id = w.id) AS current_capacity , address from warehouse w - left join stock s on s.warehouse_id = w.id @@ -158,7 +155,6 @@ + SELECT COUNT(*) FROM stock + WHERE warehouse_id = #{warehouseId} AND product_id = #{productId} + + + + UPDATE stock + SET quantity = quantity + #{quantity} + WHERE warehouse_id = #{warehouseId} AND product_id = #{productId} + + + + INSERT INTO stock (id, warehouse_id, product_id, quantity, activation) + VALUES (UUID(), #{warehouseId}, #{productId}, #{quantity}, 1) + \ No newline at end of file From 7dbae87749a566f972c50bba1459f6c601782b0f Mon Sep 17 00:00:00 2001 From: sungsu Date: Mon, 22 Jan 2024 12:10:58 +0900 Subject: [PATCH 08/15] =?UTF-8?q?#=EC=88=98=EC=A0=95=20stock/create.jsp=20?= =?UTF-8?q?StockService.java=20StockController.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/no1/wms/stock/StockController.java | 6 +- .../java/com/no1/wms/stock/StockService.java | 8 +- .../webapp/WEB-INF/views/stock/create.jsp | 183 +++++++++--------- 3 files changed, 101 insertions(+), 96 deletions(-) diff --git a/src/main/java/com/no1/wms/stock/StockController.java b/src/main/java/com/no1/wms/stock/StockController.java index 0b97e4e..65d01de 100644 --- a/src/main/java/com/no1/wms/stock/StockController.java +++ b/src/main/java/com/no1/wms/stock/StockController.java @@ -146,9 +146,9 @@ public class StockController { // 생성 - Ajax @PostMapping("/create_process") @ResponseBody - public boolean createProcess(StockDto dto) { - service.checkandUpdateOrCreateProcess(dto); - return true; + public int createProcess(StockDto dto) { + int c = service.checkandUpdateOrCreateProcess(dto); + return c; } diff --git a/src/main/java/com/no1/wms/stock/StockService.java b/src/main/java/com/no1/wms/stock/StockService.java index cd8e834..1ba0e6b 100644 --- a/src/main/java/com/no1/wms/stock/StockService.java +++ b/src/main/java/com/no1/wms/stock/StockService.java @@ -1,6 +1,5 @@ package com.no1.wms.stock; -import com.no1.wms.in.InDto; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -149,15 +148,16 @@ public class StockService { //createProcess - public boolean checkandUpdateOrCreateProcess(StockDto dto){ + public int checkandUpdateOrCreateProcess(StockDto dto){ + mapper.updateWarehousePlus(dto); int j = mapper.checkIfExistsStock(dto); if (j == 1){ mapper.updateStockProcess(dto); + return 1; }else{ mapper.createStockProcess(dto); + return 2; } - mapper.updateWarehousePlus(dto); - return true; } } \ 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 525f229..976c6a5 100644 --- a/src/main/webapp/WEB-INF/views/stock/create.jsp +++ b/src/main/webapp/WEB-INF/views/stock/create.jsp @@ -7,117 +7,117 @@

-
-
-
- - - - - - -
- 제품 - - - -
- -
- 카테고리 - -
- -
- 제조사 - -
- - - -
- 창고 - - - -
- -
- 주소 - -
- -
- 용적 - -
- -
- 잔여 용량 - -
- - - -
- 재고량 - -
- - - - - - -
-
-
+
-
-
- - +
+ + + + + +
+ 제품 + + +
+ +
+ 카테고리 + +
+ +
+ 제조사 + +
+ + + +
+ 창고 + + + +
+ +
+ 주소 + +
+ +
+ 용적 + +
+ +
+ 잔여 용량 + +
+ + + +
+ 재고량 + +
+ +
+
+
+
+
+ + + +
+
+
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/in/update.jsp b/src/main/webapp/WEB-INF/views/in/update.jsp index 3a79e20..0c95de9 100644 --- a/src/main/webapp/WEB-INF/views/in/update.jsp +++ b/src/main/webapp/WEB-INF/views/in/update.jsp @@ -28,7 +28,7 @@ - +
@@ -52,7 +52,7 @@
수량 + value="${dto.quantity}">
@@ -63,7 +63,7 @@ - +
@@ -145,11 +145,11 @@ var in_date = $("#in_date").val(); var manager_id = $("#manager_id").val(); var note = $("#note").val(); - if(!name){ - alert("제품명을 입력해야 합니다."); - $("#name").focus(); - return false; - } + var id = $("#id").val(); + var quantityAdjustment = parseInt($("#quantityAdjustment").val(), 10); + var remainingcapacity = parseInt($("#remainingcapacity").val(), 10); + + if(!product_id){ alert("제품을 선택해야합니다."); return false; @@ -164,6 +164,12 @@ alert("창고을 선택해야합니다."); return false; } + if (quantityAdjustment > remainingcapacity) { + alert("적재 할 재고량이 재고량 한도를 넘을 수 없습니다."); + $("#quantityAdjustment").focus(); + return false; + } + if(!in_date){ in_date = new Date(); in_date = in_date.toISOString(); @@ -178,9 +184,10 @@ in_date : in_date, manager_id : manager_id, warehouse_id : warehouse_id, - note : note + note : note, + id : id } - + console.log(data); $.ajax({ url: "/in/update_process", type: "put", @@ -208,6 +215,7 @@ } else { alert("입고 수정에 실패하였습니다."); + console.log(data); } }).fail(function() { alert("오류가 발생했습니다."); From a53c6b9602dcba13475a3e60e016f6ea3860d926 Mon Sep 17 00:00:00 2001 From: Kana Date: Mon, 22 Jan 2024 15:56:51 +0900 Subject: [PATCH 12/15] in update search --- src/main/webapp/WEB-INF/views/in/list.jsp | 86 ++++++++++++++++++++--- src/main/webapp/WEB-INF/views/in/read.jsp | 7 +- 2 files changed, 81 insertions(+), 12 deletions(-) diff --git a/src/main/webapp/WEB-INF/views/in/list.jsp b/src/main/webapp/WEB-INF/views/in/list.jsp index d6aa4ed..568af45 100644 --- a/src/main/webapp/WEB-INF/views/in/list.jsp +++ b/src/main/webapp/WEB-INF/views/in/list.jsp @@ -141,19 +141,85 @@ });//body detailTr + //검색기능 + $("#searchBtn").on("click",function(){ + + var searchn = $("#searchn").val(); + var search = $("#search").val(); + + var form = document.createElement("form"); + form.action = "/in/list"; + form.method = "get"; + + var input1 = document.createElement("input"); + input1.type = "hidden"; + input1.name = "searchn"; + input1.value = searchn; + form.appendChild(input1); + + var input2 = document.createElement("input"); + input2.type = "hidden"; + input2.name = "search"; + input2.value = search; + form.appendChild(input2); + + var input3 = document.createElement("input"); + input3.type = "hidden"; + input3.name = "p"; + input3.value = 1; + form.appendChild(input3); + + document.body.appendChild(form); + form.submit(); + + }); - - - - - - - - - - + });//ready + function pagingFunction(clickedId){ + var searchn1 = $("#searchn1").val(); + var search1 = $("#search1").val(); + + var form = document.createElement("form"); + form.action = "/in/list"; + form.method = "get"; + + var input1 = document.createElement("input"); + input1.type = "hidden"; + input1.name = "searchn"; + input1.value = searchn1; + form.appendChild(input1); + + var input2 = document.createElement("input"); + input2.type = "hidden"; + input2.name = "search"; + input2.value = search1; + form.appendChild(input2); + + var input3 = document.createElement("input"); + input3.type = "hidden"; + input3.name = "p"; + input3.value = clickedId; + form.appendChild(input3); + + document.body.appendChild(form); + form.submit(); + + }//pagingFunction + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/in/read.jsp b/src/main/webapp/WEB-INF/views/in/read.jsp index aa484d9..50ca927 100644 --- a/src/main/webapp/WEB-INF/views/in/read.jsp +++ b/src/main/webapp/WEB-INF/views/in/read.jsp @@ -144,10 +144,13 @@ $("#yesNoModalBodyTextDiv").text(yesNoModal.body); yesNoModal.yesFunction = deleteInFunction; yesNoModalBootStrap.show(); - - } + + + + + \ No newline at end of file From ccd2c001b4269f2f9a346ba905b7011bcdcb59a3 Mon Sep 17 00:00:00 2001 From: Kana Date: Mon, 22 Jan 2024 17:06:14 +0900 Subject: [PATCH 13/15] change minor issue --- src/main/java/com/no1/wms/in/InController.java | 6 ++---- src/main/webapp/WEB-INF/views/category/list.jsp | 12 ++++++------ src/main/webapp/WEB-INF/views/in/create.jsp | 8 ++++---- src/main/webapp/WEB-INF/views/modal/category.jsp | 14 +++++++------- src/main/webapp/WEB-INF/views/mypage/mypage.jsp | 2 +- 5 files changed, 20 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/no1/wms/in/InController.java b/src/main/java/com/no1/wms/in/InController.java index 735abc3..f822bf5 100644 --- a/src/main/java/com/no1/wms/in/InController.java +++ b/src/main/java/com/no1/wms/in/InController.java @@ -79,10 +79,8 @@ public class InController { @PostMapping("/create_process") @ResponseBody - public int createProcess(InDto dto) { - boolean create = inService.chechAndUpdateOrCreateProcessForCreate(dto); - - return 0; + public boolean createProcess(InDto dto) { + return inService.chechAndUpdateOrCreateProcessForCreate(dto); } @PostMapping("/read") diff --git a/src/main/webapp/WEB-INF/views/category/list.jsp b/src/main/webapp/WEB-INF/views/category/list.jsp index a60ed48..858c0df 100644 --- a/src/main/webapp/WEB-INF/views/category/list.jsp +++ b/src/main/webapp/WEB-INF/views/category/list.jsp @@ -52,12 +52,12 @@ - - ${dto.cls_nm_1 } - ${dto.cls_nm_2 } - ${dto.cls_nm_3 } - ${dto.cls_nm_4 } - ${dto.kan_code } + + ${dto.cls_nm_1 } + ${dto.cls_nm_2 } + ${dto.cls_nm_3 } + ${dto.cls_nm_4 } + ${dto.kan_code } diff --git a/src/main/webapp/WEB-INF/views/in/create.jsp b/src/main/webapp/WEB-INF/views/in/create.jsp index 58e1a18..2185ee5 100644 --- a/src/main/webapp/WEB-INF/views/in/create.jsp +++ b/src/main/webapp/WEB-INF/views/in/create.jsp @@ -25,7 +25,7 @@
- 제품명 + 제품명 @@ -63,7 +63,7 @@
- 창고명 + 창고명 @@ -94,7 +94,7 @@
입고날짜 - + @@ -180,7 +180,7 @@ warehouse_id : warehouse_id, note : note } - + console.log(data); $.ajax({ url: "/in/create_process", diff --git a/src/main/webapp/WEB-INF/views/modal/category.jsp b/src/main/webapp/WEB-INF/views/modal/category.jsp index 044403d..86ad135 100644 --- a/src/main/webapp/WEB-INF/views/modal/category.jsp +++ b/src/main/webapp/WEB-INF/views/modal/category.jsp @@ -113,13 +113,13 @@ - - ${dto.cls_nm_1 } - ${dto.cls_nm_2 } - ${dto.cls_nm_3 } - ${dto.cls_nm_4 } - ${dto.kan_code } - + + ${dto.cls_nm_1 } + ${dto.cls_nm_2 } + ${dto.cls_nm_3 } + ${dto.cls_nm_4 } + ${dto.kan_code } + diff --git a/src/main/webapp/WEB-INF/views/mypage/mypage.jsp b/src/main/webapp/WEB-INF/views/mypage/mypage.jsp index 10525f4..ec5136c 100644 --- a/src/main/webapp/WEB-INF/views/mypage/mypage.jsp +++ b/src/main/webapp/WEB-INF/views/mypage/mypage.jsp @@ -194,7 +194,7 @@ });//submitBtn });//ready function _onSubmit(){ - if($("#file").val() == ""){ + if($("#file").val()){ alert("이미지 파일을 업로드해주세요."); $("#file").focus(); return false; From 70a59062994ddd2d2331551399862659f277fe8a Mon Sep 17 00:00:00 2001 From: sungsu Date: Mon, 22 Jan 2024 18:11:01 +0900 Subject: [PATCH 14/15] #update --- .../java/com/no1/wms/out/ProductOutDto.java | 2 + .../com/no1/wms/out/ProductOutMapper.java | 2 + .../com/no1/wms/out/ProductOutService.java | 5 +- .../wms/warehouse/WarehouseController.java | 5 +- .../resources/mappers/ProductOutMapper.xml | 11 +- src/main/webapp/WEB-INF/views/out/create.jsp | 12 +- src/main/webapp/WEB-INF/views/out/read.jsp | 2 +- src/main/webapp/WEB-INF/views/out/update.jsp | 7 +- src/main/webapp/WEB-INF/views/stock/list.jsp | 2 + .../webapp/WEB-INF/views/warehouse/read.jsp | 163 +++++++++++++----- 10 files changed, 156 insertions(+), 55 deletions(-) diff --git a/src/main/java/com/no1/wms/out/ProductOutDto.java b/src/main/java/com/no1/wms/out/ProductOutDto.java index c2c0ea6..76955cf 100644 --- a/src/main/java/com/no1/wms/out/ProductOutDto.java +++ b/src/main/java/com/no1/wms/out/ProductOutDto.java @@ -26,4 +26,6 @@ public class ProductOutDto { + + } diff --git a/src/main/java/com/no1/wms/out/ProductOutMapper.java b/src/main/java/com/no1/wms/out/ProductOutMapper.java index e7e3975..4dd549f 100644 --- a/src/main/java/com/no1/wms/out/ProductOutMapper.java +++ b/src/main/java/com/no1/wms/out/ProductOutMapper.java @@ -1,5 +1,6 @@ package com.no1.wms.out; +import com.no1.wms.stock.StockDto; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -43,6 +44,7 @@ public interface ProductOutMapper { + } diff --git a/src/main/java/com/no1/wms/out/ProductOutService.java b/src/main/java/com/no1/wms/out/ProductOutService.java index cd8e79e..0c3ec5b 100644 --- a/src/main/java/com/no1/wms/out/ProductOutService.java +++ b/src/main/java/com/no1/wms/out/ProductOutService.java @@ -1,5 +1,6 @@ package com.no1.wms.out; +import com.no1.wms.stock.StockDto; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -73,11 +74,10 @@ public class ProductOutService { return mapper.updateWarehouseDeleteStock(dto); } - public int stockQuantityUpdate(ProductOutDto dto){ + public int stockQuantityUpdate(ProductOutDto dto) { return mapper.stockQuantityUpdate(dto); } - public int deleteOut(ProductOutDto dto) { return mapper.deleteOut(dto); } @@ -108,6 +108,5 @@ public class ProductOutService { } - } diff --git a/src/main/java/com/no1/wms/warehouse/WarehouseController.java b/src/main/java/com/no1/wms/warehouse/WarehouseController.java index 84e25fd..d852f45 100644 --- a/src/main/java/com/no1/wms/warehouse/WarehouseController.java +++ b/src/main/java/com/no1/wms/warehouse/WarehouseController.java @@ -68,9 +68,6 @@ public class WarehouseController { WarehouseDto One = service.One(id); m.addAttribute("One", One); - - - int perPage = 5; // 한 페이지에 보일 글의 갯수 int startRow = (page - 1) * perPage; m.addAttribute("start", startRow + 1); @@ -78,8 +75,8 @@ public class WarehouseController { 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); + System.out.println("list ::" + dto); log.debug("dto테스트 :: " + dto); int pageNum = 5;//보여질 페이지 번호 수 diff --git a/src/main/resources/mappers/ProductOutMapper.xml b/src/main/resources/mappers/ProductOutMapper.xml index 1e48e8e..a218d5f 100644 --- a/src/main/resources/mappers/ProductOutMapper.xml +++ b/src/main/resources/mappers/ProductOutMapper.xml @@ -104,7 +104,7 @@ update warehouse - set current_capacity = current_capacity - #{outQuantity} + set current_capacity = current_capacity - #{quantity} where id = #{warehouse_id}; @@ -117,13 +117,13 @@ update product_out - set quantity = #{outQuantity}, expected_delivery_date = #{expected_delivery_date}, delivery_date = #{delivery_date} + set quantity = #{quantity}, expected_delivery_date = #{expected_delivery_date}, delivery_date = #{delivery_date} where id = #{id}; update stock - set quantity = quantity - #{outQuantity} + set quantity = quantity - #{quantity} where product_id = #{product_id} and warehouse_id = #{warehouse_id}; @@ -143,4 +143,9 @@ where id = #{id} + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/out/create.jsp b/src/main/webapp/WEB-INF/views/out/create.jsp index 550ce61..821cc7f 100644 --- a/src/main/webapp/WEB-INF/views/out/create.jsp +++ b/src/main/webapp/WEB-INF/views/out/create.jsp @@ -54,7 +54,10 @@
출고 예정 날짜 - + +
@@ -195,4 +198,9 @@ }); - + diff --git a/src/main/webapp/WEB-INF/views/out/read.jsp b/src/main/webapp/WEB-INF/views/out/read.jsp index f485f7f..027d859 100644 --- a/src/main/webapp/WEB-INF/views/out/read.jsp +++ b/src/main/webapp/WEB-INF/views/out/read.jsp @@ -238,7 +238,7 @@ type: "put", data: { "id": id, - "outQuantity": outQuantity, + "quantity": outQuantity, "product_id":product_id, "warehouse_id": warehouse_id, "expected_delivery_date": expected_delivery_date, diff --git a/src/main/webapp/WEB-INF/views/out/update.jsp b/src/main/webapp/WEB-INF/views/out/update.jsp index ac4de8d..6998f31 100644 --- a/src/main/webapp/WEB-INF/views/out/update.jsp +++ b/src/main/webapp/WEB-INF/views/out/update.jsp @@ -53,12 +53,15 @@
출고 예정 날짜 - + +
출고 날짜 - +
diff --git a/src/main/webapp/WEB-INF/views/stock/list.jsp b/src/main/webapp/WEB-INF/views/stock/list.jsp index 00e8aaa..b3432cf 100644 --- a/src/main/webapp/WEB-INF/views/stock/list.jsp +++ b/src/main/webapp/WEB-INF/views/stock/list.jsp @@ -176,6 +176,7 @@ 제품명 카테고리 재고수 + 창고 @@ -185,6 +186,7 @@ ${dto.productName } ${dto.cls_nm_4 } ${dto.quantity } + ${dto.warehouseName} diff --git a/src/main/webapp/WEB-INF/views/warehouse/read.jsp b/src/main/webapp/WEB-INF/views/warehouse/read.jsp index 4954ee0..53b6fcb 100644 --- a/src/main/webapp/WEB-INF/views/warehouse/read.jsp +++ b/src/main/webapp/WEB-INF/views/warehouse/read.jsp @@ -60,7 +60,14 @@ - + + + + + + + +
@@ -98,21 +105,26 @@
@@ -138,7 +150,8 @@
@@ -150,7 +163,7 @@ $(location).attr("href", "/warehouse/list"); })//checkBtn click - $("#modifyBtn").on("click", function() { + $("#modifyBtn").on("click", function () { var id = $("#id").val(); var form = document.createElement("form"); @@ -169,13 +182,10 @@ })//modifyBtn click - - - yesNoModal.yesFunction = deleteWarehouseFunction; - function deleteWarehouseFunction(){ + function deleteWarehouseFunction() { var id = $("#id").val(); $.ajax({ url: "/warehouse/delete", @@ -183,65 +193,138 @@ data: { "id": id }, - datatype:"json" - }).done(function(data) { + datatype: "json" + }).done(function (data) { if (data == true) { alert("삭제되었습니다."); $(location).attr("href", "/warehouse/list"); } else { alert("정상적으로 삭제되지 않았습니다.."); } - }).fail(function() { + }).fail(function () { alert("오류가 발생했습니다."); - }).always(function() { + }).always(function () { // }); }//deleteCategoryFunction const yesNoModalBootStrap = new bootstrap.Modal("#yes_no_modal_delete"); - $("#yes_no_modal_show").on("click", function(){ + $("#yes_no_modal_show").on("click", function () { yesNoModalBootStrap.show(); }); - $("#modal_yes_button_warehouse_delete").on("click", function(){ + $("#modal_yes_button_warehouse_delete").on("click", function () { yesNoModal.yesFunction(); yesNoModalBootStrap.hide(); }); - - - - - // 검색 버튼 클릭 시 Ajax로 검색 결과를 갱신 - $("#searchBtn").click(function () { - var search = $("#search").val(); + // $("#searchBtn").click(function () { + // var search = $("#search").val(); + // var searchn = $("#searchn").val(); + // var id = $("#id").val(); + // var p = $("#p").val(); + // + // $.ajax({ + // url: "warehouse/read.jsp", + // method: "POST", + // data: { + // search: search, + // searchn: searchn, + // id: id, + // p: p + // + // }, + // success: function (result) { + // // 검색 결과를 받아와서 결과를 보여주는 영역 업데이트 + // $("#searchResults").html(result); + // }, + // error: function () { + // alert("검색 중 오류가 발생했습니다."); + // } + // }); + // + //검색기능 + $("#searchBtn").on("click", function () { + var searchn = $("#searchn").val(); + var search = $("#search").val(); var id = $("#id").val(); - $.ajax({ - url: "read.jsp", - method: "POST", - data: { - search: search, - searchn: searchn, - id: id + var form = document.createElement("form"); + form.action = "/warehouse/read"; + form.method = "post"; + + var input1 = document.createElement("input"); + input1.type = "hidden"; + input1.name = "searchn"; + input1.value = searchn; + form.appendChild(input1); + + var input2 = document.createElement("input"); + input2.type = "hidden"; + input2.name = "search"; + input2.value = search; + form.appendChild(input2); + + var input3 = document.createElement("input"); + input3.type = "hidden"; + input3.name = "p"; + input3.value = 1; + form.appendChild(input3); + + var input4 = document.createElement("input"); + input4.type = "hidden"; + input4.name = "id"; + input4.value = id; + form.appendChild(input4); + + document.body.appendChild(form); + form.submit(); - }, - success: function (result) { - // 검색 결과를 받아와서 결과를 보여주는 영역 업데이트 - $("#searchResults").html(result); - }, - error: function () { - alert("검색 중 오류가 발생했습니다."); - } - }); }); + }); - });//ready + + function pageingFunction(clickedId) { + var searchn1 = $("#searchn1").val(); + var search1 = $("#search1").val(); + var id = $("#id").val(); + + var form = document.createElement("form"); + form.action = "/warehouse/read"; + form.method = "post"; + + var input1 = document.createElement("input"); + input1.type = "hidden"; + input1.name = "searchn"; + input1.value = searchn1; + form.appendChild(input1); + + var input2 = document.createElement("input"); + input2.type = "hidden"; + input2.name = "search"; + input2.value = search1; + form.appendChild(input2); + + var input3 = document.createElement("input"); + input3.type = "hidden"; + input3.name = "p"; + input3.value = clickedId; + form.appendChild(input3); + + var input4 = document.createElement("input"); + input4.type = "hidden"; + input4.name = "id"; + input4.value = id; + form.appendChild(input4); + + document.body.appendChild(form); + form.submit(); + } From c94cebdd133ae5accba04600c13c2109dfdb3f4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=80=E1=85=B5=E1=86=B7=E1=84=86=E1=85=B5=E1=86=AB?= =?UTF-8?q?=E1=84=80=E1=85=AE?= Date: Tue, 23 Jan 2024 21:30:32 +0900 Subject: [PATCH 15/15] =?UTF-8?q?=EC=9E=85=EA=B3=A0=EC=98=88=EC=A0=95=20?= =?UTF-8?q?=EB=A6=AC=EC=8A=A4=ED=8A=B8=20=EA=B2=80=EC=83=89=20=EA=B8=B0?= =?UTF-8?q?=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/no1/wms/planin/PlanInController.java | 6 ++---- .../java/com/no1/wms/planin/PlanInService.java | 4 +--- src/main/resources/mappers/PlainInMapper.xml | 5 +++-- src/main/webapp/WEB-INF/views/planin/list.jsp | 16 +++++++++++++--- 4 files changed, 19 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/no1/wms/planin/PlanInController.java b/src/main/java/com/no1/wms/planin/PlanInController.java index 280b117..9eebad7 100644 --- a/src/main/java/com/no1/wms/planin/PlanInController.java +++ b/src/main/java/com/no1/wms/planin/PlanInController.java @@ -33,9 +33,9 @@ public class PlanInController { @GetMapping("/list") public ModelAndView list(ModelAndView mav,@RequestParam(defaultValue = "0") int searchn, @RequestParam(defaultValue = "") String search, @RequestParam(defaultValue = "1") int page){ - int perPage = 10; + int perPage = 15; int startRow = (page - 1) * perPage; - int count = planinservice.count(searchn, search, startRow, perPage); + int count = planinservice.count(searchn, search); @@ -44,8 +44,6 @@ public class PlanInController { - - //스톡서비스로 재고 리스트 출력 메서트 작성 List list = planinservice.selectAll(searchn, search, startRow, perPage); HashMap map = new HashMap<>(); for( int i = 0 ; i < list.size(); ++i){ diff --git a/src/main/java/com/no1/wms/planin/PlanInService.java b/src/main/java/com/no1/wms/planin/PlanInService.java index 2431a51..b816bab 100644 --- a/src/main/java/com/no1/wms/planin/PlanInService.java +++ b/src/main/java/com/no1/wms/planin/PlanInService.java @@ -21,12 +21,10 @@ public class PlanInService { } - int count(int searchn, String search, int start, int perPage){ + int count(int searchn, String search){ 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/PlainInMapper.xml b/src/main/resources/mappers/PlainInMapper.xml index 3e41af4..4ddb5d2 100644 --- a/src/main/resources/mappers/PlainInMapper.xml +++ b/src/main/resources/mappers/PlainInMapper.xml @@ -66,8 +66,9 @@ and plan.warehouse_id = warehouse.id and product.kan_code = product_category.kan_code - plan.activation = 1 and pn like concat('%',#{search},'%') - plan.activation = 1 and plan.group_number like concat('%',#{search},'%') + plan.activation = 1 and plan.view_group_number like concat('%',#{search},'%') + plan.activation = 1 and product.name like concat('%',#{search},'%') + plan.activation = 1 and plan.quantity like concat(#{search}) order by plan.view_group_number desc limit #{start}, #{perPage} diff --git a/src/main/webapp/WEB-INF/views/planin/list.jsp b/src/main/webapp/WEB-INF/views/planin/list.jsp index 4ceb2a0..46b7e05 100644 --- a/src/main/webapp/WEB-INF/views/planin/list.jsp +++ b/src/main/webapp/WEB-INF/views/planin/list.jsp @@ -41,11 +41,21 @@

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