2023-10-26

kongta2·2023년 10월 27일

팀프로젝트

키오스크 관리프로그램 (2)

신규 기능 추가
1. 관리자 프로그램 메뉴
2. 관리자 대기 주문 목록
3. 관리자 완료 주문 목록
4. 사용자 완료, 대기 주문 목록

1. 관리자 프로그램 메뉴

    private static void showManagement() {
        System.out.println("\"SHAKESHAKE BURGER 관리자 페이지\"");
        managementContext.showManagementMenu();

        System.out.println("기능을 선택해주세요.");
        int manageNum = sc.nextInt();
        switch (manageNum) {
            case 1: // 대기 주문 목록
                managementContext.processWaitingOrders(order);
                break;
            case 2: // 완료 주문 목록
                managementContext.completeOrders(order);
                break;
            default:
                System.out.println("잘못된 선택지입니다.");
        }

        showManagement();

    }

2. 대기 주문 목록

    public void processWaitingOrders(Order orders) {
        waitingOrders(orders);

        System.out.println("대기중인 주문을 완료하시겠습니까?");
        System.out.println("1.확인        2. 취소");
        int choice = sc.nextInt();

        System.out.println("완료 주문 번호: ");
        int orderNumber = sc.nextInt();

        if(choice == 1) {
            for (Order order: orders.getOrderList()) {
                if(order.getOrderNumber() == orderNumber) {
                    order.setComplete(true);
                    System.out.println("처리가 완료되었습니다.");
                    break;
                }
            }
        }
    }
    
        public void waitingOrders(Order orders) {
        System.out.println("[ 대기 주문 목록 ]");
        for (Order order : orders.getOrderList()) {
            if (!order.complete) {
                order.show();
                System.out.println();
            }
        }
    }
    
    
        public void show() {
        System.out.println("대기 번호 : " + this.orderNumber);
        System.out.println("주문 상품 목록");
        for (Product products: orders) {
            System.out.println(String.format("%-15s | W %.1f | %s", products.getName(), products.getPrice(), products.getDescription()));
        }
        System.out.println("주문 총 가격 : " + this.total);
        System.out.println("요청 사항 : " + this.request);
        System.out.println("주문 일시 : " + this.orderDate);
    }

3. 완료 주문 목록

    public void completeOrders(Order orders) {
        System.out.println("[ 완료 주문 목록 ]");
        for (Order order: orders.getOrderList()) {
            if(order.complete) {
                order.show();
                System.out.println("완료주문 일시 : " + orders.completeDate);
                System.out.println();
            }
        }
    }
    
        public void show() {
        System.out.println("대기 번호 : " + this.orderNumber);
        System.out.println("주문 상품 목록");
        for (Product products: orders) {
            System.out.println(String.format("%-15s | W %.1f | %s", products.getName(), products.getPrice(), products.getDescription()));
        }
        System.out.println("주문 총 가격 : " + this.total);
        System.out.println("요청 사항 : " + this.request);
        System.out.println("주문 일시 : " + this.orderDate);
    }

4. 사용자 완료, 대기 주문 목록

    private static void showOrderList() {
        managementContext.completeOrders(order);
        managementContext.waitingOrders(order);

        showMainMenu();
    }

잘 될거라고 생각했는데 실행시켜보니 뭔가 이상하다.
대기 주문 목록에서는 주문 상품 목록, 요청사항이 나오지 않았고
관리자 완료 대기 목록은 주문을 완료시켜도 대기 목록에 나오지 않았다.

profile
2025.04.01~

0개의 댓글