관리 메뉴

거니의 velog

6. 관리자 페이지 (3) : 가게 리스트 관리 본문

대덕인재개발원_1st project

6. 관리자 페이지 (3) : 가게 리스트 관리

Unlimited00 2023. 8. 19. 11:22

public int storeCreate() {
    String CodeStr = ""; // 업체코드
    String StoNm = ""; // 업체명
    String StoAdd = ""; // 실제업체주소 : daejeonRandGu
    long MinOrder = 0; // 최소주문금액
    String DeliYn = ""; // 배달가능유무
    String PackYn = ""; // 포장가능유무
    String CloseYn = ""; // 매장오픈유무
    String CateCode = ""; // 카테고리코드
    String createStore = ""; // 가게 생성

    while(true) {
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.println("현재 가게가 대전광역시 어느 구에 위치해 있습니까?");
        System.out.println("1. 대덕구");
        System.out.println("2. 동구");
        System.out.println("3. 서구");
        System.out.println("4. 유성구");
        System.out.println("5. 중구");
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.print(" >> ");
        int GuSelect = ScanUtil.nextIntegerLine();
        if(GuSelect == 1) {
            CodeStr = "AG";
            break;
        }else if(GuSelect == 2) {
            CodeStr = "DG";
            break;
        }else if(GuSelect == 3) {
            CodeStr = "SG";
            break;
        }else if(GuSelect == 4) {
            CodeStr = "YG";
            break;
        }else if(GuSelect == 5) {
            CodeStr = "JG";
            break;
        }else {
            System.out.println("올바로 입력해 주세요.");
        }
    }

    String daejeonRandGu = "대전광역시 ";
    if(CodeStr.equals("AG")) {
        daejeonRandGu += "대덕구 ";
    }else if(CodeStr.equals("DG")) {
        daejeonRandGu += "동구 ";
    }else if(CodeStr.equals("SG")) {
        daejeonRandGu += "서구 ";
    }else if(CodeStr.equals("YG")) {
        daejeonRandGu += "유성구 ";
    }else if(CodeStr.equals("JG")) {
        daejeonRandGu += "중구 ";
    }

    while(true) {
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.println("현재 가게가 어느 카테고리 업종에 속하십니까?");
        System.out.println("1. 한식");
        System.out.println("2. 양식");
        System.out.println("3. 중식");
        System.out.println("4. 일식");
        System.out.println("5. 디저트");
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.print(" >> ");
        int CateSelect = ScanUtil.nextIntegerLine();
        if(CateSelect == 1) {
            CodeStr += "HS";
            CateCode = "HS";
            break;
        }else if(CateSelect == 2) {
            CodeStr += "YS";
            CateCode = "YS";
            break;
        }else if(CateSelect == 3) {
            CodeStr += "CS";
            CateCode = "CS";
            break;
        }else if(CateSelect == 4) {
            CodeStr += "JS";
            CateCode = "JS";
            break;
        }else if(CateSelect == 5) {
            CodeStr += "DS";
            CateCode = "DS";
            break;
        }else {
            System.out.println("올바로 입력해 주세요.");
        }
    }

//		System.out.println("CodeStr : " + CodeStr);
    CodeStr += "%";
    List<Object> cdStr = new ArrayList<>();
    cdStr.add(CodeStr);
//		System.out.println("cdStr.get(0) : " + cdStr.get(0));
    List<Map<String, Object>> searchStoreCode = adminCreateDAO.searchStoreCode(cdStr);
    if(NullCheckUtil.isEmpty(searchStoreCode)) {
        CodeStr += "01";
        CodeStr = CodeStr.replace("%", "");
    }else {
//			System.out.println(searchStoreCode.toString());
        CodeStr += searchStoreCode.get(0).get("STOCODE").toString();
        CodeStr = CodeStr.replace("%", "");
//			System.out.println(CodeStr);
    }

    while(true) {
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.println("업체명을 입력해 주세요.");
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.print(" >> ");
        StoNm = ScanUtil.nextLine();
        System.out.println();
        if(ValidationUtil.validationStoreNM(StoNm)) break;
    }

    while(true) {
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.println("업체 나머지 주소를 입력해 주세요.");
        System.out.println();
        System.out.println("입력 형식 : 신주소 기준");
        System.out.println("예시 >> XX로 00번길 00");
        System.out.println();
        System.out.println("업장 현재 위치 : " + daejeonRandGu);
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.print(" >> ");
        StoAdd = ScanUtil.nextLine();
        if(ValidationUtil.validationStoreAddress(StoAdd)) {
            daejeonRandGu += StoAdd; // 실제 업체주소
            break;
        }
    }

    while(true) {
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.println("최소주문금액을 입력해 주세요. (0 ~ 9999999999)");
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.print(" >> ");
        MinOrder = ScanUtil.nextLong();
        if(ValidationUtil.validationMinOrder(MinOrder)) break;
    }

    while(true) {
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.println("배달 가능 합니까? (y / n)");
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.print(" >> ");
        DeliYn = ScanUtil.nextLine();
        if(ValidationUtil.validationYN(DeliYn)) {
            DeliYn = DeliYn.toUpperCase();
            break;
        }
    }

    while(true) {
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.println("포장 가능 합니까? (y / n)");
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.print(" >> ");
        PackYn = ScanUtil.nextLine();
        if(ValidationUtil.validationYN(PackYn)) {
            PackYn = PackYn.toUpperCase();
            break;
        }
    }

    while(true) {
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.println("매장이 오픈 되었습니까? (y / n)");
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.print(" >> ");
        CloseYn = ScanUtil.nextLine();
        if(ValidationUtil.validationYN(CloseYn)) {
            CloseYn = CloseYn.toUpperCase();
            break;
        }
    }

    while(true) {
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.println("가게를 등록하시겠습니까? (y / n)");
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.print(" >> ");
        createStore = ScanUtil.nextLine();
        if(ValidationUtil.validationYN(createStore)) break;
    }

    if(createStore.equals("n")) {
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.println("가게 등록을 취소합니다.");
        System.out.println(" ───────────────────────────────────────────────────");
        EnterUtil.enterNext(2);
        return View.ADMIN_STORE_MANAGEMENT;
    }else if(createStore.equals("y")) {
        List<Object> param = new ArrayList<>();
        param.add(CodeStr);
        param.add(StoNm);
        param.add(daejeonRandGu);
        param.add(MinOrder);
        param.add(DeliYn);
        param.add(PackYn);
        param.add(CloseYn);
        param.add(CateCode);
        int isSuccess = adminCreateDAO.createStore(param);
        if (isSuccess > 0) {
            System.out.println(" ───────────────────────────────────────────────────");
            System.out.println("가게 등록이 완료되었습니다!");
            System.out.println(" ───────────────────────────────────────────────────");
            EnterUtil.enterNext(2);
        }else {
            System.out.println(" ───────────────────────────────────────────────────");
            System.out.println(">> 가게 등록 실패! <<");
            System.out.println(" ───────────────────────────────────────────────────");
            EnterUtil.enterNext(2);
        }
    }

    return View.ADMIN_STORE_MANAGEMENT;
}

public int storeRead() {
    List<Map<String, Object>> storeALL = adminReadDAO.storeALL();

    if(NullCheckUtil.isEmpty(storeALL)) {
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.println("등록된 가게가 없습니다!");
        System.out.println(" ───────────────────────────────────────────────────");
    }else {
        int maxStoCodeLen = gapUtil.gapFullCnt(storeALL, "STOCODE");
        int maxNmLen = gapUtil.gapFullCnt(storeALL, "STONM");
        int maxAddLen = gapUtil.gapFullCnt(storeALL, "STOADD");
        int maxMinLen = gapUtil.gapFullCnt(storeALL, "MINORDER");
        int maxCloseLen = gapUtil.gapFullCnt(storeALL, "CLOSEYN");
        int maxDeliLen = gapUtil.gapFullCnt(storeALL, "DELIYN");
        int maxPackLen = gapUtil.gapFullCnt(storeALL, "PACKYN");
        int maxCateLen = gapUtil.gapFullCnt(storeALL, "CATENM");

        // 페이징 기능
        int pageNumber = 1; // 현재 페이지 번호
        int pageSize = 5;  // 페이지당 표시할 데이터 수

        int startIndex = (pageNumber - 1) * pageSize; // 시작 인덱스
        int endIndex = Math.min(startIndex + pageSize, storeALL.size()); // 끝 인덱스

        int pageRowCnt = storeALL.size(); // 로우 개수
        int totalPageSize = pageRowCnt / pageSize; // 총 페이지 개수

        if(pageRowCnt % pageSize != 0) { // 다음 페이지까지 로우가 남음
            totalPageSize++;
        }

        System.out.println(" ───────────────────────────────────────────────────");
        System.out.println(" 1. 전체목록 보기");
        System.out.println(" 2. 페이지 목록 보기");
        System.out.println(" 3. 부분 검색");
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.print(" >> ");
        int choice = ScanUtil.nextInt();
        if(choice == 1) { // 전체 검색
            System.out.println(" ──────────────────────────────────────────────────────────────────────────────────────────────────");
            System.out.println(" 총 가게 수 "+ pageRowCnt +" 개");
            System.out.println(" ──────────────────────────────────────────────────────────────────────────────────────────────────");
            System.out.println("업체코드    업체명                업체주소                                                 최소주문금액     매장오픈유무     배달여부     포장여부     카테고리명");
            System.out.println(" ──────────────────────────────────────────────────────────────────────────────────────────────────");
            for(Map<String, Object> item : storeALL) {
                int storeStoCodeLen = gapUtil.gapCnt("STOCODE");
                int storeNmLen = gapUtil.gapCnt("STONM");
                int storeAddLen = gapUtil.gapCnt("STOADD");
                int storeMinLen = gapUtil.gapCnt("MINORDER");
                int storeCloseLen = gapUtil.gapCnt("CLOSEYN");
                int storeDeliLen = gapUtil.gapCnt("DELIYN");
                int storePackLen = gapUtil.gapCnt("PACKYN");
                int storeCateLen = gapUtil.gapCnt("CATENM");

                StringBuilder memSTOCODE = gapUtil.gapFullSpace(String.valueOf(item.get("STOCODE")), maxStoCodeLen, storeStoCodeLen);
                StringBuilder memNM = gapUtil.gapFullSpace(String.valueOf(item.get("STONM")), maxNmLen, storeNmLen);
                StringBuilder memADD = gapUtil.gapFullSpace(String.valueOf(item.get("STOADD")), maxAddLen, storeAddLen);
                StringBuilder memMIN = gapUtil.gapFullSpace(String.valueOf(item.get("MINORDER")), maxMinLen, storeMinLen);
                StringBuilder memCLOSE = gapUtil.gapFullSpace(String.valueOf(item.get("CLOSEYN")), maxCloseLen, storeCloseLen);
                StringBuilder memDELI = gapUtil.gapFullSpace(String.valueOf(item.get("DELIYN")), maxDeliLen, storeDeliLen);
                StringBuilder memPACK = gapUtil.gapFullSpace(String.valueOf(item.get("PACKYN")), maxPackLen, storePackLen);
                StringBuilder memCATE = gapUtil.gapFullSpace(String.valueOf(item.get("CATENM")), maxCateLen, storeCateLen);
                System.out.printf("%-" + maxStoCodeLen + "s%-" + maxNmLen + "s%-" + maxAddLen + "s%-" + maxMinLen + "s%-" + storeCloseLen + "s%-" + maxDeliLen + "s%-" + maxPackLen + "s%-" + maxCateLen + "s\n", memSTOCODE, memNM, memADD, memMIN, memCLOSE, memDELI, memPACK, memCATE);
            }
            EnterUtil.enterNext(1);
        }else if(choice == 2) { // 페이징 검색
            System.out.println(" ───────────────────────────────────────────────────");
            System.out.println(" 한 페이지에 몇 개의 데이터를 보시겠습니까?");
            System.out.println(" ───────────────────────────────────────────────────");
            System.out.print(" >> ");
            pageSize = ScanUtil.nextInt();
            startIndex = (pageNumber - 1) * pageSize;
            endIndex = Math.min(startIndex + pageSize, storeALL.size());
            totalPageSize = pageRowCnt / pageSize; // 총 페이지 개수
            if(pageRowCnt % pageSize != 0) { // 다음 페이지까지 로우가 남음
                totalPageSize++;
            }
            System.out.println(" ──────────────────────────────────────────────────────────────────────────────────────────────────");
            System.out.println(" 총 가게 수 "+ pageRowCnt +" 개  : " + pageNumber + " / " + totalPageSize + " 페이지");
            System.out.println(" ──────────────────────────────────────────────────────────────────────────────────────────────────");
            System.out.println("업체코드    업체명                업체주소                                                 최소주문금액     매장오픈유무     배달여부     포장여부     카테고리명");
            System.out.println(" ──────────────────────────────────────────────────────────────────────────────────────────────────");
            for(int i = startIndex; i < endIndex; i++) {
                int storeStoCodeLen = gapUtil.gapCnt(String.valueOf(storeALL.get(i).get("STOCODE")));
                int storeNmLen = gapUtil.gapCnt(String.valueOf(storeALL.get(i).get("STONM")));
                int storeAddLen = gapUtil.gapCnt(String.valueOf(storeALL.get(i).get("STOADD")));
                int storeMinLen = gapUtil.gapCnt(String.valueOf(storeALL.get(i).get("MINORDER")));
                int storeCloseLen = gapUtil.gapCnt(String.valueOf(storeALL.get(i).get("CLOSEYN")));
                int storeDeliLen = gapUtil.gapCnt(String.valueOf(storeALL.get(i).get("DELIYN")));
                int storePackLen = gapUtil.gapCnt(String.valueOf(storeALL.get(i).get("PACKYN")));
                int storeCateLen = gapUtil.gapCnt(String.valueOf(storeALL.get(i).get("CATENM")));

                StringBuilder memSTOCODE = gapUtil.gapFullSpace(String.valueOf(storeALL.get(i).get("STOCODE")), maxStoCodeLen, storeStoCodeLen);
                StringBuilder memNM = gapUtil.gapFullSpace(String.valueOf(storeALL.get(i).get("STONM")), maxNmLen, storeNmLen);
                StringBuilder memADD = gapUtil.gapFullSpace(String.valueOf(storeALL.get(i).get("STOADD")), maxAddLen, storeAddLen);
                StringBuilder memMIN = gapUtil.gapFullSpace(String.valueOf(storeALL.get(i).get("MINORDER")), maxMinLen, storeMinLen);
                StringBuilder memCLOSE = gapUtil.gapFullSpace(String.valueOf(storeALL.get(i).get("CLOSEYN")), maxCloseLen, storeCloseLen);
                StringBuilder memDELI = gapUtil.gapFullSpace(String.valueOf(storeALL.get(i).get("DELIYN")), maxDeliLen, storeDeliLen);
                StringBuilder memPACK = gapUtil.gapFullSpace(String.valueOf(storeALL.get(i).get("PACKYN")), maxPackLen, storePackLen);
                StringBuilder memCATE = gapUtil.gapFullSpace(String.valueOf(storeALL.get(i).get("CATENM")), maxCateLen, storeCateLen);
                System.out.printf("%-" + maxStoCodeLen + "s%-" + maxNmLen + "s%-" + maxAddLen + "s%-" + maxMinLen + "s%-" + maxCloseLen + "s%-" + maxDeliLen + "s%-" + maxPackLen + "s%-" + maxCateLen + "s\n", memSTOCODE, memNM, memADD, memMIN, memCLOSE, memDELI, memPACK, memCATE);
            }
            while(true) {
                System.out.println(" ───────────────────────────────────────────────────");
                System.out.println(" 1. 원하는 페이지 보기");
                System.out.println(" 0. 이전 화면");
                System.out.println(" ───────────────────────────────────────────────────");
                System.out.print(" >> ");
                int pageListSelect = ScanUtil.nextInt();
                if(pageListSelect == 1) {
                    System.out.println(" ───────────────────────────────────────────────────");
                    System.out.println(" 몇 페이지를 보시겠습니까?");
                    System.out.println(" ───────────────────────────────────────────────────");
                    System.out.print(" >> ");
                    pageNumber = ScanUtil.nextInt();
                    if(pageNumber > totalPageSize || pageNumber <= 0) {
                        System.out.println(" ──────────────────────────────────────────────────────────────────────────────────────────────────");
                        System.out.println(" 총 가게 수 "+ pageRowCnt +" 개  : " + pageNumber + " / " + totalPageSize + " 페이지");
                        System.out.println(" ──────────────────────────────────────────────────────────────────────────────────────────────────");
                        System.out.println("업체코드    업체명                업체주소                                                 최소주문금액     매장오픈유무     배달여부     포장여부     카테고리명");
                        System.out.println(" ──────────────────────────────────────────────────────────────────────────────────────────────────");
                        System.out.println("해당 페이지는 정보가 없습니다.");
                    }else {
                        startIndex = (pageNumber - 1) * pageSize;
                        endIndex = Math.min(startIndex + pageSize, storeALL.size());
                        System.out.println(" ──────────────────────────────────────────────────────────────────────────────────────────────────");
                        System.out.println(" 총 가게 수 "+ pageRowCnt +" 개  : " + pageNumber + " / " + totalPageSize + " 페이지");
                        System.out.println(" ──────────────────────────────────────────────────────────────────────────────────────────────────");
                        System.out.println("업체코드    업체명                업체주소                                                 최소주문금액     매장오픈유무     배달여부     포장여부     카테고리명");
                        System.out.println(" ──────────────────────────────────────────────────────────────────────────────────────────────────");
                        for(int i = startIndex; i < endIndex; i++) {
                            int storeStoCodeLen = gapUtil.gapCnt(String.valueOf(storeALL.get(i).get("STOCODE")));
                            int storeNmLen = gapUtil.gapCnt(String.valueOf(storeALL.get(i).get("STONM")));
                            int storeAddLen = gapUtil.gapCnt(String.valueOf(storeALL.get(i).get("STOADD")));
                            int storeMinLen = gapUtil.gapCnt(String.valueOf(storeALL.get(i).get("MINORDER")));
                            int storeCloseLen = gapUtil.gapCnt(String.valueOf(storeALL.get(i).get("CLOSEYN")));
                            int storeDeliLen = gapUtil.gapCnt(String.valueOf(storeALL.get(i).get("DELIYN")));
                            int storePackLen = gapUtil.gapCnt(String.valueOf(storeALL.get(i).get("PACKYN")));
                            int storeCateLen = gapUtil.gapCnt(String.valueOf(storeALL.get(i).get("CATENM")));

                            StringBuilder memSTOCODE = gapUtil.gapFullSpace(String.valueOf(storeALL.get(i).get("STOCODE")), maxStoCodeLen, storeStoCodeLen);
                            StringBuilder memNM = gapUtil.gapFullSpace(String.valueOf(storeALL.get(i).get("STONM")), maxNmLen, storeNmLen);
                            StringBuilder memADD = gapUtil.gapFullSpace(String.valueOf(storeALL.get(i).get("STOADD")), maxAddLen, storeAddLen);
                            StringBuilder memMIN = gapUtil.gapFullSpace(String.valueOf(storeALL.get(i).get("MINORDER")), maxMinLen, storeMinLen);
                            StringBuilder memCLOSE = gapUtil.gapFullSpace(String.valueOf(storeALL.get(i).get("CLOSEYN")), maxCloseLen, storeCloseLen);
                            StringBuilder memDELI = gapUtil.gapFullSpace(String.valueOf(storeALL.get(i).get("DELIYN")), maxDeliLen, storeDeliLen);
                            StringBuilder memPACK = gapUtil.gapFullSpace(String.valueOf(storeALL.get(i).get("PACKYN")), maxPackLen, storePackLen);
                            StringBuilder memCATE = gapUtil.gapFullSpace(String.valueOf(storeALL.get(i).get("CATENM")), maxCateLen, storeCateLen);
                            System.out.printf("%-" + maxStoCodeLen + "s%-" + maxNmLen + "s%-" + maxAddLen + "s%-" + maxMinLen + "s%-" + maxCloseLen + "s%-" + maxDeliLen + "s%-" + maxPackLen + "s%-" + maxCateLen + "s\n", memSTOCODE, memNM, memADD, memMIN, memCLOSE, memDELI, memPACK, memCATE);
                        }
                    }
                }else if(pageListSelect == 0) {
                    return View.ADMIN_STORE_MANAGEMENT;
                }
            }
        }else if(choice == 3) { // 부분 검색
            System.out.println(" ───────────────────────────────────────────────────");
            System.out.println(" 1. 가게코드로 검색");
            System.out.println(" 2. 가게명으로 검색");
            System.out.println(" 3. 주소로 검색");
            System.out.println(" 4. 포장 가능한 가게 검색");
            System.out.println(" 5. 배달 가능한 가게 검색");
            System.out.println(" 6. 현재 운영중인 가게 검색");
            System.out.println(" ───────────────────────────────────────────────────");
            System.out.print(" >> ");
            int searchno = ScanUtil.nextInt();
            if(searchno == 1) {
                System.out.print("가게코드 >> ");
                String storeCodestr = ScanUtil.nextLine();
                List<Object> searchStoCode = new ArrayList<>();
                searchStoCode.add(storeCodestr);
                Map<String, Object> storeInfo = adminReadDAO.storeSearchFromStoCode(searchStoCode);
                if(NullCheckUtil.isEmpty(storeInfo)) {
                    System.out.println(" ───────────────────────────────────────────────────");
                    System.out.println("등록된 가게가 없습니다!");
                    System.out.println(" ───────────────────────────────────────────────────");
                }else {
                    int storeStoCodeLen = gapUtil.gapCnt("STOCODE");
                    int storeNmLen = gapUtil.gapCnt("STONM");
                    int storeAddLen = gapUtil.gapCnt("STOADD");
                    int storeMinLen = gapUtil.gapCnt("MINORDER");
                    int storeCloseLen = gapUtil.gapCnt("CLOSEYN");
                    int storeDeliLen = gapUtil.gapCnt("DELIYN");
                    int storePackLen = gapUtil.gapCnt("PACKYN");
                    int storeCateLen = gapUtil.gapCnt("CATENM");

                    StringBuilder memSTOCODE = gapUtil.gapFullSpace(String.valueOf(storeInfo.get("STOCODE")), maxStoCodeLen, storeStoCodeLen);
                    StringBuilder memNM = gapUtil.gapFullSpace(String.valueOf(storeInfo.get("STONM")), maxNmLen, storeNmLen);
                    StringBuilder memADD = gapUtil.gapFullSpace(String.valueOf(storeInfo.get("STOADD")), maxAddLen, storeAddLen);
                    StringBuilder memMIN = gapUtil.gapFullSpace(String.valueOf(storeInfo.get("MINORDER")), maxMinLen, storeMinLen);
                    StringBuilder memCLOSE = gapUtil.gapFullSpace(String.valueOf(storeInfo.get("CLOSEYN")), maxCloseLen, storeCloseLen);
                    StringBuilder memDELI = gapUtil.gapFullSpace(String.valueOf(storeInfo.get("DELIYN")), maxDeliLen, storeDeliLen);
                    StringBuilder memPACK = gapUtil.gapFullSpace(String.valueOf(storeInfo.get("PACKYN")), maxPackLen, storePackLen);
                    StringBuilder memCATE = gapUtil.gapFullSpace(String.valueOf(storeInfo.get("CATENM")), maxCateLen, storeCateLen);
                    System.out.println(" ──────────────────────────────────────────────────────────────────────────────────────────────────");
                    System.out.println("업체코드    업체명                업체주소                                                 최소주문금액     매장오픈유무     배달여부     포장여부     카테고리명");
                    System.out.println(" ──────────────────────────────────────────────────────────────────────────────────────────────────");
                    System.out.printf("%-" + maxStoCodeLen + "s%-" + maxNmLen + "s%-" + maxAddLen + "s%-" + maxMinLen + "s%-" + maxCloseLen + "s%-" + maxDeliLen + "s%-" + maxPackLen + "s%-" + maxCateLen + "s\n", memSTOCODE, memNM, memADD, memMIN, memCLOSE, memDELI, memPACK, memCATE);
                }
                EnterUtil.enterNext(2);
            }else if(searchno == 2) {
                System.out.print("가게명 >> ");
                String storeNMstr = ScanUtil.nextLine();
                List<Object> searchStoName = new ArrayList<>();
                searchStoName.add(storeNMstr);
                List<Map<String, Object>> storeInfo = adminReadDAO.storeSearchFromStoName(searchStoName);
                if(NullCheckUtil.isEmpty(storeInfo)) {
                    System.out.println(" ───────────────────────────────────────────────────");
                    System.out.println("등록된 가게가 없습니다!");
                    System.out.println(" ───────────────────────────────────────────────────");
                }else {
                    System.out.println(" ──────────────────────────────────────────────────────────────────────────────────────────────────");
                    System.out.println("업체코드    업체명                업체주소                                                 최소주문금액     매장오픈유무     배달여부     포장여부     카테고리명");
                    System.out.println(" ──────────────────────────────────────────────────────────────────────────────────────────────────");
                    for(Map<String, Object> item : storeInfo) {
                        int storeStoCodeLen = gapUtil.gapCnt("STOCODE");
                        int storeNmLen = gapUtil.gapCnt("STONM");
                        int storeAddLen = gapUtil.gapCnt("STOADD");
                        int storeMinLen = gapUtil.gapCnt("MINORDER");
                        int storeCloseLen = gapUtil.gapCnt("CLOSEYN");
                        int storeDeliLen = gapUtil.gapCnt("DELIYN");
                        int storePackLen = gapUtil.gapCnt("PACKYN");
                        int storeCateLen = gapUtil.gapCnt("CATENM");

                        StringBuilder memSTOCODE = gapUtil.gapFullSpace(String.valueOf(item.get("STOCODE")), maxStoCodeLen, storeStoCodeLen);
                        StringBuilder memNM = gapUtil.gapFullSpace(String.valueOf(item.get("STONM")), maxNmLen, storeNmLen);
                        StringBuilder memADD = gapUtil.gapFullSpace(String.valueOf(item.get("STOADD")), maxAddLen, storeAddLen);
                        StringBuilder memMIN = gapUtil.gapFullSpace(String.valueOf(item.get("MINORDER")), maxMinLen, storeMinLen);
                        StringBuilder memCLOSE = gapUtil.gapFullSpace(String.valueOf(item.get("CLOSEYN")), maxCloseLen, storeCloseLen);
                        StringBuilder memDELI = gapUtil.gapFullSpace(String.valueOf(item.get("DELIYN")), maxDeliLen, storeDeliLen);
                        StringBuilder memPACK = gapUtil.gapFullSpace(String.valueOf(item.get("PACKYN")), maxPackLen, storePackLen);
                        StringBuilder memCATE = gapUtil.gapFullSpace(String.valueOf(item.get("CATENM")), maxCateLen, storeCateLen);
                        System.out.printf("%-" + maxStoCodeLen + "s%-" + maxNmLen + "s%-" + maxAddLen + "s%-" + maxMinLen + "s%-" + maxCloseLen + "s%-" + maxDeliLen + "s%-" + maxPackLen + "s%-" + maxCateLen + "s\n", memSTOCODE, memNM, memADD, memMIN, memCLOSE, memDELI, memPACK, memCATE);
                    }
                }
                EnterUtil.enterNext(2);
            }else if(searchno == 3) {
                System.out.print("가게 주소 >> ");
                String storeADDstr = ScanUtil.nextLine();
                List<Object> searchStoAdd = new ArrayList<>();
                searchStoAdd.add(storeADDstr);
                List<Map<String, Object>> storeInfo = adminReadDAO.storeSearchFromStoAdd(searchStoAdd);
                if(NullCheckUtil.isEmpty(storeInfo)) {
                    System.out.println(" ───────────────────────────────────────────────────");
                    System.out.println("등록된 가게가 없습니다!");
                    System.out.println(" ───────────────────────────────────────────────────");
                }else {
                    System.out.println(" ──────────────────────────────────────────────────────────────────────────────────────────────────");
                    System.out.println("업체코드    업체명                업체주소                                                 최소주문금액     매장오픈유무     배달여부     포장여부     카테고리명");
                    System.out.println(" ──────────────────────────────────────────────────────────────────────────────────────────────────");
                    for(Map<String, Object> item : storeInfo) {
                        int storeStoCodeLen = gapUtil.gapCnt("STOCODE");
                        int storeNmLen = gapUtil.gapCnt("STONM");
                        int storeAddLen = gapUtil.gapCnt("STOADD");
                        int storeMinLen = gapUtil.gapCnt("MINORDER");
                        int storeCloseLen = gapUtil.gapCnt("CLOSEYN");
                        int storeDeliLen = gapUtil.gapCnt("DELIYN");
                        int storePackLen = gapUtil.gapCnt("PACKYN");
                        int storeCateLen = gapUtil.gapCnt("CATENM");

                        StringBuilder memSTOCODE = gapUtil.gapFullSpace(String.valueOf(item.get("STOCODE")), maxStoCodeLen, storeStoCodeLen);
                        StringBuilder memNM = gapUtil.gapFullSpace(String.valueOf(item.get("STONM")), maxNmLen, storeNmLen);
                        StringBuilder memADD = gapUtil.gapFullSpace(String.valueOf(item.get("STOADD")), maxAddLen, storeAddLen);
                        StringBuilder memMIN = gapUtil.gapFullSpace(String.valueOf(item.get("MINORDER")), maxMinLen, storeMinLen);
                        StringBuilder memCLOSE = gapUtil.gapFullSpace(String.valueOf(item.get("CLOSEYN")), maxCloseLen, storeCloseLen);
                        StringBuilder memDELI = gapUtil.gapFullSpace(String.valueOf(item.get("DELIYN")), maxDeliLen, storeDeliLen);
                        StringBuilder memPACK = gapUtil.gapFullSpace(String.valueOf(item.get("PACKYN")), maxPackLen, storePackLen);
                        StringBuilder memCATE = gapUtil.gapFullSpace(String.valueOf(item.get("CATENM")), maxCateLen, storeCateLen);
                        System.out.printf("%-" + maxStoCodeLen + "s%-" + maxNmLen + "s%-" + maxAddLen + "s%-" + maxMinLen + "s%-" + maxCloseLen + "s%-" + maxDeliLen + "s%-" + maxPackLen + "s%-" + maxCateLen + "s\n", memSTOCODE, memNM, memADD, memMIN, memCLOSE, memDELI, memPACK, memCATE);
                    }
                }
                EnterUtil.enterNext(2);
            }else if(searchno == 4) {
                List<Map<String, Object>> storeInfo = adminReadDAO.storeSearchFromPackYN();
                if(NullCheckUtil.isEmpty(storeInfo)) {
                    System.out.println(" ───────────────────────────────────────────────────");
                    System.out.println("등록된 가게가 없습니다!");
                    System.out.println(" ───────────────────────────────────────────────────");
                }else {
                    System.out.println(" ──────────────────────────────────────────────────────────────────────────");
                    System.out.println("업체코드    업체명              업체주소                                          최소주문금액     포장여부    카테고리명");
                    System.out.println(" ──────────────────────────────────────────────────────────────────────────");
                    for(Map<String, Object> item : storeInfo) {
                        int storeStoCodeLen = gapUtil.gapCnt("STOCODE");
                        int storeNmLen = gapUtil.gapCnt("STONM");
                        int storeAddLen = gapUtil.gapCnt("STOADD");
                        int storeMinLen = gapUtil.gapCnt("MINORDER");
                        int storePackLen = gapUtil.gapCnt("PACKYN");
                        int storeCateLen = gapUtil.gapCnt("CATENM");

                        StringBuilder memSTOCODE = gapUtil.gapFullSpace(String.valueOf(item.get("STOCODE")), maxStoCodeLen, storeStoCodeLen);
                        StringBuilder memNM = gapUtil.gapFullSpace(String.valueOf(item.get("STONM")), maxNmLen, storeNmLen);
                        StringBuilder memADD = gapUtil.gapFullSpace(String.valueOf(item.get("STOADD")), maxAddLen, storeAddLen);
                        StringBuilder memMIN = gapUtil.gapFullSpace(String.valueOf(item.get("MINORDER")), maxMinLen, storeMinLen);
                        StringBuilder memPACK = gapUtil.gapFullSpace(String.valueOf(item.get("PACKYN")), maxPackLen, storePackLen);
                        StringBuilder memCATE = gapUtil.gapFullSpace(String.valueOf(item.get("CATENM")), maxCateLen, storeCateLen);
                        System.out.printf("%-" + maxStoCodeLen + "s%-" + maxNmLen + "s%-" + maxAddLen + "s%-" + maxMinLen + "s%-" + maxPackLen + "s%-" + maxCateLen + "s\n", memSTOCODE, memNM, memADD, memMIN, memPACK, memCATE);
                    }
                }
                EnterUtil.enterNext(2);
            }else if(searchno == 5) {
                List<Map<String, Object>> storeInfo = adminReadDAO.storeSearchFromDeliYN();
                if(NullCheckUtil.isEmpty(storeInfo)) {
                    System.out.println(" ───────────────────────────────────────────────────");
                    System.out.println("등록된 가게가 없습니다!");
                    System.out.println(" ───────────────────────────────────────────────────");
                }else {
                    System.out.println(" ──────────────────────────────────────────────────────────────────────────");
                    System.out.println("업체코드    업체명              업체주소                                          최소주문금액     배달여부    카테고리명");
                    System.out.println(" ──────────────────────────────────────────────────────────────────────────");
                    for(Map<String, Object> item : storeInfo) {
                        int storeStoCodeLen = gapUtil.gapCnt("STOCODE");
                        int storeNmLen = gapUtil.gapCnt("STONM");
                        int storeAddLen = gapUtil.gapCnt("STOADD");
                        int storeMinLen = gapUtil.gapCnt("MINORDER");
                        int storeDeliLen = gapUtil.gapCnt("DELIYN");
                        int storeCateLen = gapUtil.gapCnt("CATENM");

                        StringBuilder memSTOCODE = gapUtil.gapFullSpace(String.valueOf(item.get("STOCODE")), maxStoCodeLen, storeStoCodeLen);
                        StringBuilder memNM = gapUtil.gapFullSpace(String.valueOf(item.get("STONM")), maxNmLen, storeNmLen);
                        StringBuilder memADD = gapUtil.gapFullSpace(String.valueOf(item.get("STOADD")), maxAddLen, storeAddLen);
                        StringBuilder memMIN = gapUtil.gapFullSpace(String.valueOf(item.get("MINORDER")), maxMinLen, storeMinLen);
                        StringBuilder memDELI = gapUtil.gapFullSpace(String.valueOf(item.get("DELIYN")), maxDeliLen, storeDeliLen);
                        StringBuilder memCATE = gapUtil.gapFullSpace(String.valueOf(item.get("CATENM")), maxCateLen, storeCateLen);
                        System.out.printf("%-" + maxStoCodeLen + "s%-" + maxNmLen + "s%-" + maxAddLen + "s%-" + maxMinLen + "s%-" + maxDeliLen + "s%-" + maxCateLen + "s\n", memSTOCODE, memNM, memADD, memMIN, memDELI, memCATE);
                    }
                }
                EnterUtil.enterNext(2);
            }else if(searchno == 6) {
                List<Map<String, Object>> storeInfo = adminReadDAO.storeSearchFromCloseYN();
                if(NullCheckUtil.isEmpty(storeInfo)) {
                    System.out.println(" ───────────────────────────────────────────────────");
                    System.out.println("등록된 가게가 없습니다!");
                    System.out.println(" ───────────────────────────────────────────────────");
                }else {
                    System.out.println(" ──────────────────────────────────────────────────────────────────────────");
                    System.out.println("업체코드    업체명              업체주소                                          최소주문금액     매장오픈    카테고리명");
                    System.out.println(" ──────────────────────────────────────────────────────────────────────────");
                    for(Map<String, Object> item : storeInfo) {
                        int storeStoCodeLen = gapUtil.gapCnt("STOCODE");
                        int storeNmLen = gapUtil.gapCnt("STONM");
                        int storeAddLen = gapUtil.gapCnt("STOADD");
                        int storeMinLen = gapUtil.gapCnt("MINORDER");
                        int storeCloseLen = gapUtil.gapCnt("CLOSEYN");
                        int storeCateLen = gapUtil.gapCnt("CATENM");

                        StringBuilder memSTOCODE = gapUtil.gapFullSpace(String.valueOf(item.get("STOCODE")), maxStoCodeLen, storeStoCodeLen);
                        StringBuilder memNM = gapUtil.gapFullSpace(String.valueOf(item.get("STONM")), maxNmLen, storeNmLen);
                        StringBuilder memADD = gapUtil.gapFullSpace(String.valueOf(item.get("STOADD")), maxAddLen, storeAddLen);
                        StringBuilder memMIN = gapUtil.gapFullSpace(String.valueOf(item.get("MINORDER")), maxMinLen, storeMinLen);
                        StringBuilder memCLOSE = gapUtil.gapFullSpace(String.valueOf(item.get("CLOSEYN")), maxCloseLen, storeCloseLen);
                        StringBuilder memCATE = gapUtil.gapFullSpace(String.valueOf(item.get("CATENM")), maxCateLen, storeCateLen);
                        System.out.printf("%-" + maxStoCodeLen + "s%-" + maxNmLen + "s%-" + maxAddLen + "s%-" + maxMinLen + "s%-" + maxCloseLen + "s%-" + maxCateLen + "s\n", memSTOCODE, memNM, memADD, memMIN, memCLOSE, memCATE);
                    }
                }
                EnterUtil.enterNext(2);
            }
        }
    }

    return View.ADMIN_STORE_MANAGEMENT;
}

public int storeUpdate() {
    List<Object> param = new ArrayList<Object>();
    String sql = " UPDATE STORE SET ";
    int flag = 0; // 수정 여부 확인
    String yesOrNot = ""; // y, n 입력

    String storeCode = ""; // 업체코드
    String storeNm = ""; // 업체명
    String storeAdd = ""; // 업체주소
    long minOrder = 0; // 최소주문금액
    String deliYn = ""; // 배달가능유무
    String packYn = ""; // 포장가능유무
    String closeYn = ""; // 매장오픈유무

    while(true) {
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.println(" 변경할 업체코드를 입력하세요. ( ex. AGHS01 ) ");
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.print(" >> ");
        storeCode = ScanUtil.nextLine();
        if (ValidationUtil.validationCode(storeCode)) {
            param.add(storeCode);
            break;
        }
    }

    while(true) {
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.println(" 업체명을 변경하시겠습니까? (y/n)");
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.print(" >> ");
        yesOrNot = ScanUtil.nextLine();
        if(ValidationUtil.validationYN(yesOrNot)) break;
    }

    if(yesOrNot.equals("y")) {
        while(true) {
            System.out.println(" ───────────────────────────────────────────────────");
            System.out.println(" * 변경할 업체명 입력 [ 한글, 숫자, 띄어쓰기 입력 ]");
            System.out.println(" ───────────────────────────────────────────────────");
            System.out.print(" >> ");
            storeNm = ScanUtil.nextLine();
            if (ValidationUtil.validationStoreNM(storeNm)) {
                sql += "STONM = '"+ storeNm + "', ";
                break;
            }
        }
    }

    while(true) {
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.println(" 업체주소를 변경하시겠습니까? (y/n)");
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.print(" >> ");
        yesOrNot = ScanUtil.nextLine();
        if(ValidationUtil.validationYN(yesOrNot)) break;
    }

    if(yesOrNot.equals("y")) {
        while(true) {
            System.out.println(" ───────────────────────────────────────────────────");
            System.out.println(" * 변경할 업체주소 입력 [ 한글, 숫자, 띄어쓰기 입력 ]");
            System.out.println(" ───────────────────────────────────────────────────");
            System.out.print(" >> ");
            storeAdd = ScanUtil.nextLine();
            if (ValidationUtil.validationStoreAddress(storeAdd)) {
                sql += "STOADD = '"+ storeAdd + "', ";
                break;
            }
        }
    }

    while(true) {
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.println(" 최소주문금액을 변경하시겠습니까? (y/n)");
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.print(" >> ");
        yesOrNot = ScanUtil.nextLine();
        if(ValidationUtil.validationYN(yesOrNot)) break;
    }

    if(yesOrNot.equals("y")) {
        while(true) {
            System.out.println(" ───────────────────────────────────────────────────");
            System.out.println(" * 변경할 최소주문금액 입력 [ 0 ~ 9999999999 ]");
            System.out.println(" ───────────────────────────────────────────────────");
            System.out.print(" >> ");
            minOrder = ScanUtil.nextLongLine();
            if (ValidationUtil.validationMinOrder(minOrder)) {
                sql += "MINORDER = '"+ minOrder + "', ";
                break;
            }
        }
    }

    while(true) {
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.println(" 배달가능유무를 변경하시겠습니까? (y/n)");
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.print(" >> ");
        yesOrNot = ScanUtil.nextLine();
        if(ValidationUtil.validationYN(yesOrNot)) break;
    }

    if(yesOrNot.equals("y")) {
        while(true) {
            System.out.println(" ───────────────────────────────────────────────────");
            System.out.println(" * 배달 가능 : Y / 배달 불가 : N 을 입력하세요. 띄어쓰기 불가.");
            System.out.println(" ───────────────────────────────────────────────────");
            System.out.print(" >> ");
            deliYn = ScanUtil.nextLine();
            if (ValidationUtil.validationYNtoUpperCase(deliYn)) {
                sql += "DELIYN = '"+ deliYn + "', ";
                break;
            }
        }
    }

    while(true) {
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.println(" 포장가능유무를 변경하시겠습니까? (y/n)");
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.print(" >> ");
        yesOrNot = ScanUtil.nextLine();
        if(ValidationUtil.validationYN(yesOrNot)) break;
    }

    if(yesOrNot.equals("y")) {
        while(true) {
            System.out.println(" ───────────────────────────────────────────────────");
            System.out.println(" * 포장 가능 : Y / 포장 불가 : N 을 입력하세요. 띄어쓰기 불가.");
            System.out.println(" ───────────────────────────────────────────────────");
            System.out.print(" >> ");
            packYn = ScanUtil.nextLine();
            if (ValidationUtil.validationYNtoUpperCase(packYn)) {
                sql += "PACKYN = '"+ packYn + "', ";
                break;
            }
        }
    }

    while(true) {
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.println(" 매장오픈유무를 변경하시겠습니까? (y/n)");
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.print(" >> ");
        yesOrNot = ScanUtil.nextLine();
        if(ValidationUtil.validationYN(yesOrNot)) break;
    }

    if(yesOrNot.equals("y")) {
        while(true) {
            System.out.println(" ───────────────────────────────────────────────────");
            System.out.println(" * 매장 오픈 : Y / 매장 닫기 : N 을 입력하세요. 띄어쓰기 불가.");
            System.out.println(" ───────────────────────────────────────────────────");
            System.out.print(" >> ");
            closeYn = ScanUtil.nextLine();
            if (ValidationUtil.validationYNtoUpperCase(closeYn)) {
                sql += "CLOSEYN = '"+ closeYn + "', ";
                break;
            }
        }
    }

    int sqllen = sql.length();
    sql = sql.substring(0, sqllen-2); // (endindex-1)-1[,]
    sql += " WHERE STOCODE = ? ";

    while(true) {
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.println(" 가게 정보를 변경하시겠습니까? (y/n)");
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.print(" >> ");
        yesOrNot = ScanUtil.nextLine();
        if(ValidationUtil.validationYN(yesOrNot)) break;
    }

    if(yesOrNot.equals("y")) {
        flag = adminUpdateDAO.update(sql, param);
        if(flag != 0) {
            System.out.println(" ───────────────────────────────────────────────────");
            System.out.println(" 가게 수정이 완료되었습니다.");
            System.out.println(" ───────────────────────────────────────────────────");
            EnterUtil.enterNext(2);
        }else {
            System.out.println(" ───────────────────────────────────────────────────");
            System.out.println(" 가게 수정이 실패했습니다.");
            System.out.println(" ───────────────────────────────────────────────────");
            EnterUtil.enterNext(2);
        }
    }else if(yesOrNot.equals("n")) {
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.println(" 가게 정보 관리 페이지로 이동합니다.");
        System.out.println(" ───────────────────────────────────────────────────");
        EnterUtil.enterNext(2);
    }

    return View.ADMIN_STORE_MANAGEMENT;
}

public int storeDelete() {
    String storeCodeStr = ""; // 업체 코드
    String deleteStore = ""; // 업체 삭제

    List<Map<String, Object>> storeALL = adminReadDAO.storeALL();

    if(NullCheckUtil.isEmpty(storeALL)) {
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.println("등록된 업체가 없습니다!");
        System.out.println(" ───────────────────────────────────────────────────");
    }else {
        int maxStoCodeLen = gapUtil.gapFullCnt(storeALL, "STOCODE");
        int maxNmLen = gapUtil.gapFullCnt(storeALL, "STONM");
        int maxAddLen = gapUtil.gapFullCnt(storeALL, "STOADD");
        int maxMinLen = gapUtil.gapFullCnt(storeALL, "MINORDER");
        int maxPackLen = gapUtil.gapFullCnt(storeALL, "PACKYN");
        int maxCloseLen = gapUtil.gapFullCnt(storeALL, "CLOSEYN");
        int maxCateLen = gapUtil.gapFullCnt(storeALL, "CATENM");
        int maxDeliLen = gapUtil.gapFullCnt(storeALL, "DELIYN");

        System.out.println(" ───────────────────────────────────────────────────");
        System.out.println("업체 삭제");
        System.out.println("1. 업체코드 입력");
        System.out.println("2. 업체명 검색");
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.print(" >> ");
        int storeChoice = ScanUtil.nextIntegerLine();
        if(storeChoice == 1) {
            while(true) {
                System.out.println(" ───────────────────────────────────────────────────");
                System.out.println("삭제하실 업체코드를 입력해 주세요.");
                System.out.println(" ───────────────────────────────────────────────────");
                System.out.print(" >> ");
                storeCodeStr = ScanUtil.nextLine();
                System.out.println();
                if(ValidationUtil.validationCode(storeCodeStr)) break;
            }
        }else if(storeChoice == 2) {
            System.out.println(" ───────────────────────────────────────────────────");
            System.out.println(" 검색하실 업체명을 입력해 주세요.");
            System.out.println(" ───────────────────────────────────────────────────");
            System.out.print(" >> ");
            String storeNMstr = ScanUtil.nextLine();
            List<Object> searchStoName = new ArrayList<>();
            searchStoName.add(storeNMstr);
            List<Map<String, Object>> storeInfo = adminReadDAO.storeSearchFromStoName(searchStoName);
            if(NullCheckUtil.isEmpty(storeInfo)) {
                System.out.println(" ───────────────────────────────────────────────────");
                System.out.println("등록된 업체가 없습니다!");
                System.out.println(" ───────────────────────────────────────────────────");
            }else {
                System.out.println(" ──────────────────────────────────────────────────────────────────────────");
                System.out.println("업체코드    업체명         업체주소     최소주문금액     포장가능    매장오픈     주문가능여부     카테고리명");
                System.out.println(" ──────────────────────────────────────────────────────────────────────────");
                for(Map<String, Object> item : storeInfo) {
                    int storeStoCodeLen = gapUtil.gapCnt("STOCODE");
                    int storeNmLen = gapUtil.gapCnt("STONM");
                    int storeAddLen = gapUtil.gapCnt("STOADD");
                    int storeMinLen = gapUtil.gapCnt("MINORDER");
                    int storePackLen = gapUtil.gapCnt("PACKYN");
                    int storeCloseLen = gapUtil.gapCnt("CLOSEYN");
                    int storeCateLen = gapUtil.gapCnt("CATENM");
                    int storeDeliLen = gapUtil.gapCnt("DELIYN");

                    StringBuilder memSTOCODE = gapUtil.gapFullSpace(String.valueOf(item.get("STOCODE")), maxStoCodeLen, storeStoCodeLen);
                    StringBuilder memNM = gapUtil.gapFullSpace(String.valueOf(item.get("STONM")), maxNmLen, storeNmLen);
                    StringBuilder memADD = gapUtil.gapFullSpace(String.valueOf(item.get("STOADD")), maxAddLen, storeAddLen);
                    StringBuilder memMIN = gapUtil.gapFullSpace(String.valueOf(item.get("MINORDER")), maxMinLen, storeMinLen);
                    StringBuilder memPACK = gapUtil.gapFullSpace(String.valueOf(item.get("PACKYN")), maxPackLen, storePackLen);
                    StringBuilder memCLOSE = gapUtil.gapFullSpace(String.valueOf(item.get("CLOSEYN")), maxCloseLen, storeCloseLen);
                    StringBuilder memCATE = gapUtil.gapFullSpace(String.valueOf(item.get("CATENM")), maxCateLen, storeCateLen);
                    StringBuilder memDELI = gapUtil.gapFullSpace(String.valueOf(item.get("DELIYN")), maxDeliLen, storeDeliLen);
                    System.out.printf("%-" + maxStoCodeLen + "s%-" + maxNmLen + "s%-" + maxAddLen + "s%-" + maxMinLen + "s%-" + maxPackLen + "s%-" + maxCloseLen + "s%-" + maxDeliLen + "s%-" + maxCateLen + "s\n", memSTOCODE, memNM, memADD, memMIN, memPACK, memCLOSE, memDELI, memCATE);
                }
            }
            EnterUtil.enterNext(2);
            return View.ADMIN_STORE_MANAGEMENT;
        }
    }

    List<Object> searchStoNm = new ArrayList<>();
    searchStoNm.add(storeCodeStr);
    Map<String, Object> stoName = adminCreateDAO.searchStoreName(searchStoNm);
    String stoNameStr = stoName.get("STONM").toString();

    while(true) {
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.println(" [ "+ stoNameStr +" ] 업체를 삭제하시겠습니까? (y / n)");
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.print(" >> ");
        deleteStore = ScanUtil.nextLine();
        if(ValidationUtil.validationYN(deleteStore)) break;
    }

    if(deleteStore.equals("n")) {
        System.out.println(" ───────────────────────────────────────────────────");
        System.out.println("업체 삭제를 취소합니다.");
        System.out.println(" ───────────────────────────────────────────────────");
        EnterUtil.enterNext(2);
        return View.ADMIN_STORE_MANAGEMENT;
    }else if(deleteStore.equals("y")) {
        List<Object> param = new ArrayList<>();
        param.add(storeCodeStr);
        int isSuccess = adminDeleteDAO.deleteStore(param);
        if (isSuccess > 0) {
            System.out.println(" ───────────────────────────────────────────────────");
            System.out.println("업체 삭제가 완료되었습니다!");
            System.out.println(" ───────────────────────────────────────────────────");
            EnterUtil.enterNext(2);
        }else {
            System.out.println(" ───────────────────────────────────────────────────");
            System.out.println(">> 업체 삭제 실패! <<");
            System.out.println(" ───────────────────────────────────────────────────");
            EnterUtil.enterNext(2);
        }
    }

    return View.ADMIN_STORE_MANAGEMENT;
}