From 16bc0a6f4351cb980a953aed2ba25299b0e16c2a Mon Sep 17 00:00:00 2001 From: shoqying Date: Thu, 19 Dec 2024 16:56:06 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=ED=95=A9=EC=B9=98=EA=B8=B0=20=ED=85=8C?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/stockm8/controller/ReceivingController.java | 2 +- .../src/main/java/com/stockm8/persistence/ReceivingDAO.java | 2 +- .../main/java/com/stockm8/persistence/ReceivingDAOImpl.java | 3 ++- .../src/main/java/com/stockm8/service/ReceivingService.java | 2 +- .../main/java/com/stockm8/service/ReceivingServiceImpl.java | 4 ++-- stockMate/src/main/resources/mappers/OrderMapper.xml | 2 +- stockMate/src/main/resources/mappers/receivingMapper.xml | 6 ++++-- 7 files changed, 12 insertions(+), 9 deletions(-) diff --git a/stockMate/src/main/java/com/stockm8/controller/ReceivingController.java b/stockMate/src/main/java/com/stockm8/controller/ReceivingController.java index 041e586..ce76699 100644 --- a/stockMate/src/main/java/com/stockm8/controller/ReceivingController.java +++ b/stockMate/src/main/java/com/stockm8/controller/ReceivingController.java @@ -258,7 +258,7 @@ public Map scanPOST(@RequestBody Map payload, } try { - rService.ReceivingStatusToComplete(businessId, barcode, receivingShipmentNo); + rService.ReceivingStatusToComplete(businessId, barcode, receivingShipmentNo, orderItemId); int remainingStock = rService.increseStockByBarcode(businessId, barcode, receivingShipmentNo, orderItemId); int reservedQuantity = rService.decreaseReservedQuantity(businessId, barcode, receivingShipmentNo, orderItemId); ProductVO product = rService.productNameBarcode(businessId, barcode, receivingShipmentNo); diff --git a/stockMate/src/main/java/com/stockm8/persistence/ReceivingDAO.java b/stockMate/src/main/java/com/stockm8/persistence/ReceivingDAO.java index dfe9788..231c7cf 100644 --- a/stockMate/src/main/java/com/stockm8/persistence/ReceivingDAO.java +++ b/stockMate/src/main/java/com/stockm8/persistence/ReceivingDAO.java @@ -49,7 +49,7 @@ public interface ReceivingDAO { public ProductVO selectProductNameBarcode(int businessId, String barcode, Integer receivingShipmentNo) throws Exception; // 수량 없을시 완료상태로 변경 - public void updateReceivingStatusToComplete(int businessId, String barcode, Integer receivingShipmentNo) throws Exception; + public void updateReceivingStatusToComplete(int businessId, String barcode, Integer receivingShipmentNo, int orderItemId) throws Exception; // 입출고 번호를 누를시 스캔으로가서 특정 리스트 보여주기 public List selectReceivingShipmentNo(int businessId, Integer receivingShipmentNo, int orderItemId) throws Exception; diff --git a/stockMate/src/main/java/com/stockm8/persistence/ReceivingDAOImpl.java b/stockMate/src/main/java/com/stockm8/persistence/ReceivingDAOImpl.java index 72d8215..3b2458d 100644 --- a/stockMate/src/main/java/com/stockm8/persistence/ReceivingDAOImpl.java +++ b/stockMate/src/main/java/com/stockm8/persistence/ReceivingDAOImpl.java @@ -161,12 +161,13 @@ public ProductVO selectProductNameBarcode(int businessId, String barcode, Intege } @Override - public void updateReceivingStatusToComplete(int businessId, String barcode, Integer receivingShipmentNo) throws Exception { + public void updateReceivingStatusToComplete(int businessId, String barcode, Integer receivingShipmentNo, int orderItemId) throws Exception { logger.info("updateReceivingStatusToComplete() 호출"); Map params = new HashMap<>(); params.put("businessId", businessId); params.put("barcode", barcode); params.put("receivingShipmentNo", receivingShipmentNo); + params.put("orderItemId", orderItemId); sqlSession.update(NAMESPACE + "updateReceivingStatusToComplete", params); } diff --git a/stockMate/src/main/java/com/stockm8/service/ReceivingService.java b/stockMate/src/main/java/com/stockm8/service/ReceivingService.java index 8a0ce75..47a692f 100644 --- a/stockMate/src/main/java/com/stockm8/service/ReceivingService.java +++ b/stockMate/src/main/java/com/stockm8/service/ReceivingService.java @@ -47,7 +47,7 @@ public interface ReceivingService { public ProductVO productNameBarcode(int businessId, String barcode, Integer receivingShipmentNo) throws Exception; // 수량 없을시 완료상태로 변경 - public void ReceivingStatusToComplete(int businessId, String barcode, Integer receivingShipmentNo) throws Exception; + public void ReceivingStatusToComplete(int businessId, String barcode, Integer receivingShipmentNo, int orderItemId) throws Exception; // 입출고 번호를 누를시 스캔으로가서 특정 리스트 보여주기 public List getReceivingShipmentNo(int businessId, Integer receivingShipmentNo, int rderItemId) throws Exception; diff --git a/stockMate/src/main/java/com/stockm8/service/ReceivingServiceImpl.java b/stockMate/src/main/java/com/stockm8/service/ReceivingServiceImpl.java index 1ec1560..a9ab0c8 100644 --- a/stockMate/src/main/java/com/stockm8/service/ReceivingServiceImpl.java +++ b/stockMate/src/main/java/com/stockm8/service/ReceivingServiceImpl.java @@ -122,10 +122,10 @@ public ProductVO productNameBarcode(int businessId, String barcode, Integer rece } @Override - public void ReceivingStatusToComplete(int businessId, String barcode, Integer receivingShipmentNo) { + public void ReceivingStatusToComplete(int businessId, String barcode, Integer receivingShipmentNo, int orderItemId) { try { // MyBatis 매퍼 호출 - rdao.updateReceivingStatusToComplete(businessId, barcode, receivingShipmentNo); + rdao.updateReceivingStatusToComplete(businessId, barcode, receivingShipmentNo, orderItemId); // opService.processInboundAfterInspection(orderId, completedItems); } catch (Exception e) { // 예외 처리 diff --git a/stockMate/src/main/resources/mappers/OrderMapper.xml b/stockMate/src/main/resources/mappers/OrderMapper.xml index b4caf7e..19db36f 100644 --- a/stockMate/src/main/resources/mappers/OrderMapper.xml +++ b/stockMate/src/main/resources/mappers/OrderMapper.xml @@ -120,7 +120,7 @@ #{productId}, #{warehouseId}, #{quantity}, - #{quantity} + #{quantity}, #{unitPrice}, #{remarks}, NOW() diff --git a/stockMate/src/main/resources/mappers/receivingMapper.xml b/stockMate/src/main/resources/mappers/receivingMapper.xml index d2bc114..daa8e6c 100644 --- a/stockMate/src/main/resources/mappers/receivingMapper.xml +++ b/stockMate/src/main/resources/mappers/receivingMapper.xml @@ -238,7 +238,6 @@ WHERE r.transaction_type = 'INBOUND' JOIN stocks s on o.product_id = s.product_id JOIN receiving_shipment r on r.stock_id = s.stock_id AND r.order_item_id = o.order_item_id SET s.total_quantity = s.total_quantity + 1, - s.reserved_quantity = s.reserved_quantity -1, o.change_quantity = o.change_quantity -1 WHERE p.product_barcode = #{barcode} AND s.business_id = #{businessId} @@ -288,12 +287,15 @@ AND r.order_item_id = #{orderItemId} JOIN products p ON r.product_id = p.product_id JOIN stocks s ON s.product_id = p.product_id JOIN order_items o ON s.product_id = o.product_id - SET r.status = 'COMPLETED' + SET r.status = 'COMPLETED', + s.reserved_quantity = s.reserved_quantity - o.quantity WHERE p.product_barcode = #{barcode} AND o.change_quantity = 0 AND r.status = 'PENDING' AND s.business_id = #{businessId} AND r.receiving_shipment_no = #{receivingShipmentNo} + AND r.order_item_id = #{orderItemId} + AND o.order_item_id = r.order_item_id; From 2bbe7e7f3d2a589e0eedaf6d6300ec7893b72957 Mon Sep 17 00:00:00 2001 From: freehyeon Date: Thu, 19 Dec 2024 16:59:57 +0900 Subject: [PATCH 2/2] =?UTF-8?q?order=20=EC=99=80=20receving=20=EC=9D=98=20?= =?UTF-8?q?=ED=85=8C=EC=8A=A4=ED=8A=B8=20=EC=A0=95=EB=B3=B4=EC=A0=84?= =?UTF-8?q?=EB=8B=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ReceivingController.java | 19 +++++++++++++++++-- .../com/stockm8/persistence/OrderDAO.java | 2 ++ .../com/stockm8/persistence/OrderDAOImpl.java | 5 ++++- .../com/stockm8/service/OrderService.java | 3 +++ .../com/stockm8/service/OrderServiceImpl.java | 5 ++++- .../com/stockm8/service/ReceivingService.java | 2 +- .../stockm8/service/ReceivingServiceImpl.java | 8 ++++---- .../main/resources/mappers/OrderMapper.xml | 10 ++++++++-- .../main/webapp/WEB-INF/views/user/signin.jsp | 2 +- 9 files changed, 44 insertions(+), 12 deletions(-) diff --git a/stockMate/src/main/java/com/stockm8/controller/ReceivingController.java b/stockMate/src/main/java/com/stockm8/controller/ReceivingController.java index 041e586..952d7b3 100644 --- a/stockMate/src/main/java/com/stockm8/controller/ReceivingController.java +++ b/stockMate/src/main/java/com/stockm8/controller/ReceivingController.java @@ -1,5 +1,6 @@ package com.stockm8.controller; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -20,6 +21,7 @@ import org.springframework.web.bind.annotation.ResponseBody; import com.stockm8.domain.vo.Criteria; +import com.stockm8.domain.vo.OrderItemVO; import com.stockm8.domain.vo.OrderVO; import com.stockm8.domain.vo.PageVO; import com.stockm8.domain.vo.ProductVO; @@ -30,6 +32,7 @@ import com.stockm8.service.OrderService; import com.stockm8.service.ReceivingService; import com.stockm8.service.UserService; +import com.stockm8.domain.vo.OrderItemVO; @Controller @RequestMapping(value = "/receiving/*") @@ -43,6 +46,9 @@ public class ReceivingController { @Inject private UserService uService; + @Inject + private OrderService orderService; + // http://localhost:8088/receiving/main @RequestMapping(value = "/main", method = RequestMethod.GET) public void mainGET(Model model, HttpServletRequest request) throws Exception { @@ -249,7 +255,6 @@ public Map scanPOST(@RequestBody Map payload, model.addAttribute("receivingShipmentNo", receivingShipmentNo); model.addAttribute("orderItemId", orderItemId); - Map response = new HashMap<>(); if (userId == null) { response.put("success", false); @@ -258,7 +263,17 @@ public Map scanPOST(@RequestBody Map payload, } try { - rService.ReceivingStatusToComplete(businessId, barcode, receivingShipmentNo); + // OrderItemVO 리스트 생성 + List completedItems = new ArrayList<>(); + OrderItemVO item = new OrderItemVO(); + item.setOrderItemId(orderItemId); + completedItems.add(item); + + // OrderService를 통해 orderId 가져오기 + // OrderService에 해당 메소드 추가 필요 + int orderId = orderService.getOrderIdByOrderItemId(orderItemId); + + rService.ReceivingStatusToComplete(businessId, barcode, receivingShipmentNo, orderId, completedItems); int remainingStock = rService.increseStockByBarcode(businessId, barcode, receivingShipmentNo, orderItemId); int reservedQuantity = rService.decreaseReservedQuantity(businessId, barcode, receivingShipmentNo, orderItemId); ProductVO product = rService.productNameBarcode(businessId, barcode, receivingShipmentNo); diff --git a/stockMate/src/main/java/com/stockm8/persistence/OrderDAO.java b/stockMate/src/main/java/com/stockm8/persistence/OrderDAO.java index 4354601..33a2926 100644 --- a/stockMate/src/main/java/com/stockm8/persistence/OrderDAO.java +++ b/stockMate/src/main/java/com/stockm8/persistence/OrderDAO.java @@ -41,6 +41,8 @@ public interface OrderDAO { // 전체 주문 개수 조회 (페이징 계산) public int getTotalOrderCount(int businessId); + // 오더아이디 + public int getOrderIdByOrderItemId(Integer orderItemId) throws Exception; } // OrderDAO diff --git a/stockMate/src/main/java/com/stockm8/persistence/OrderDAOImpl.java b/stockMate/src/main/java/com/stockm8/persistence/OrderDAOImpl.java index d2d1270..597ace8 100644 --- a/stockMate/src/main/java/com/stockm8/persistence/OrderDAOImpl.java +++ b/stockMate/src/main/java/com/stockm8/persistence/OrderDAOImpl.java @@ -139,7 +139,10 @@ public List getOrderItemsByOrderId(int orderId) throws Exception { public int getTotalOrderCount(int businessId) { return sqlSession.selectOne(NAMESPACE + "getTotalOrderCount", businessId); } - + @Override + public int getOrderIdByOrderItemId(Integer orderItemId) throws Exception { + return sqlSession.selectOne(NAMESPACE + "getOrderIdByOrderItemId", orderItemId); + } } // OrderImpl \ No newline at end of file diff --git a/stockMate/src/main/java/com/stockm8/service/OrderService.java b/stockMate/src/main/java/com/stockm8/service/OrderService.java index 85038b9..a7cafe6 100644 --- a/stockMate/src/main/java/com/stockm8/service/OrderService.java +++ b/stockMate/src/main/java/com/stockm8/service/OrderService.java @@ -38,5 +38,8 @@ public interface OrderService { // 전체 주문 개수 조회 (페이징 계산) public int getTotalOrderCount(int businessId); + // 오더 아이디 가져가는 메소드 + + public int getOrderIdByOrderItemId(Integer orderItemId) throws Exception; } //OrderService diff --git a/stockMate/src/main/java/com/stockm8/service/OrderServiceImpl.java b/stockMate/src/main/java/com/stockm8/service/OrderServiceImpl.java index 1cf4973..f80e211 100644 --- a/stockMate/src/main/java/com/stockm8/service/OrderServiceImpl.java +++ b/stockMate/src/main/java/com/stockm8/service/OrderServiceImpl.java @@ -123,7 +123,10 @@ public int getTotalOrderCount(int businessId) { } - + @Override + public int getOrderIdByOrderItemId(Integer orderItemId) throws Exception { + return odao.getOrderIdByOrderItemId(orderItemId); + } } //OrderServiceImpl \ No newline at end of file diff --git a/stockMate/src/main/java/com/stockm8/service/ReceivingService.java b/stockMate/src/main/java/com/stockm8/service/ReceivingService.java index 8a0ce75..fc2d81e 100644 --- a/stockMate/src/main/java/com/stockm8/service/ReceivingService.java +++ b/stockMate/src/main/java/com/stockm8/service/ReceivingService.java @@ -47,7 +47,7 @@ public interface ReceivingService { public ProductVO productNameBarcode(int businessId, String barcode, Integer receivingShipmentNo) throws Exception; // 수량 없을시 완료상태로 변경 - public void ReceivingStatusToComplete(int businessId, String barcode, Integer receivingShipmentNo) throws Exception; + public void ReceivingStatusToComplete(int businessId, String barcode, Integer receivingShipmentNo,int orderId, List completedItems) throws Exception; // 입출고 번호를 누를시 스캔으로가서 특정 리스트 보여주기 public List getReceivingShipmentNo(int businessId, Integer receivingShipmentNo, int rderItemId) throws Exception; diff --git a/stockMate/src/main/java/com/stockm8/service/ReceivingServiceImpl.java b/stockMate/src/main/java/com/stockm8/service/ReceivingServiceImpl.java index 1ec1560..cab7556 100644 --- a/stockMate/src/main/java/com/stockm8/service/ReceivingServiceImpl.java +++ b/stockMate/src/main/java/com/stockm8/service/ReceivingServiceImpl.java @@ -24,8 +24,8 @@ public class ReceivingServiceImpl implements ReceivingService { @Inject private ReceivingDAO rdao; -// @Inject -// private OrderProcessor opService; + @Inject + private OrderProcessor opService; // 메인 입고 리스트 @@ -122,11 +122,11 @@ public ProductVO productNameBarcode(int businessId, String barcode, Integer rece } @Override - public void ReceivingStatusToComplete(int businessId, String barcode, Integer receivingShipmentNo) { + public void ReceivingStatusToComplete(int businessId, String barcode, Integer receivingShipmentNo,int orderId, List completedItems) { try { // MyBatis 매퍼 호출 rdao.updateReceivingStatusToComplete(businessId, barcode, receivingShipmentNo); -// opService.processInboundAfterInspection(orderId, completedItems); + opService.processInboundAfterInspection(orderId, completedItems); } catch (Exception e) { // 예외 처리 logger.error("입고 상태 업데이트 오류: " + e.getMessage()); diff --git a/stockMate/src/main/resources/mappers/OrderMapper.xml b/stockMate/src/main/resources/mappers/OrderMapper.xml index b4caf7e..13afe40 100644 --- a/stockMate/src/main/resources/mappers/OrderMapper.xml +++ b/stockMate/src/main/resources/mappers/OrderMapper.xml @@ -120,7 +120,7 @@ #{productId}, #{warehouseId}, #{quantity}, - #{quantity} + #{quantity}, #{unitPrice}, #{remarks}, NOW() @@ -231,5 +231,11 @@ JOIN users u ON o.created_by = u.user_id WHERE u.business_id = #{businessId} - + + + \ No newline at end of file diff --git a/stockMate/src/main/webapp/WEB-INF/views/user/signin.jsp b/stockMate/src/main/webapp/WEB-INF/views/user/signin.jsp index 3e6311b..1075eb2 100644 --- a/stockMate/src/main/webapp/WEB-INF/views/user/signin.jsp +++ b/stockMate/src/main/webapp/WEB-INF/views/user/signin.jsp @@ -93,7 +93,7 @@ body {