Page:
2026 02 15 예약기능 캘린더 수정
Clone
Table of Contents
작업 요약 (2026-02-14 ~ 2026-02-15)
프로젝트: madeu_diet_home (마데유 다이어트 홈페이지) 기간: 2026년 2월 14일 ~ 2월 15일
2월 13일 (금) ~ 2월 14일 (토)
1. 이벤트 등록 페이지 디자인 적용
ContentsBbsUpd.html(수정 페이지)의 디자인/기능을ContentsBbsReg.html(등록 페이지)에 적용- 이미지 업로드, 텍스트 입력, 시술 선택, 미리보기 버튼 등 전체 기능 통일
2. 이벤트 목록 그리드 컬럼 수정
ContentsBbsSelectList.js에서 "이벤트(다이어트)"/"이벤트(쁘띠)" 메뉴의 컬럼 정의 수정categoryDivCd에 따라 조건부로 컬럼 변경- 이벤트 시작일/종료일 컬럼 추가
3. 이벤트 날짜 포맷 수정
eventStartDt,eventEndDt가 DB에 "YYYY-MM-" 형식으로 잘못 저장되던 버그 수정ContentsBbsServiceImpl.java의putContentsBbs(등록),modContentsBbs(수정) 메서드에서 하이픈 제거 처리
2월 14일 (토)
4. 병원 휴일 기본값 설정
repeatYn필드가 "반복 안함"(N)으로 기본 설정되도록 수정- 새 휴일 추가 시 반복 옵션을 선택하지 않고 저장하는 문제 해결
5. 병원 별도 스케줄(운영시간) 기능 구현
- DB:
MU_HOSPITAL_SCHEDULE테이블 생성 (날짜별 운영시간, 휴식시간, 운영 여부 관리) - SQL:
WebHospitalSqlMap.xml에 CRUD 쿼리 추가 - DAO/Service/Controller: 조회, 저장, 삭제 API 전체 구현
- 날짜별 스케줄이 기본 요일별 운영시간보다 우선 적용되도록 설계
6. 운영시간 탭 버튼 크기 조정
- 운영시간 관리 화면의 버튼 크기를 다른 화면과 통일
7. 예약 시간슬롯 & 캘린더 표시 수정
- 평일 시간슬롯 버그: 잘못된 SQL 로직 및 프론트 파라미터 처리 수정
- 캘린더 공휴일/일요일 표시: 빨간색 글자로 스타일링하는 Flatpickr
onDayCreate로직 구현 - 캘린더 반응형: Flatpickr 캘린더가
calendar-boxdiv 크기에 맞게 조정되도록 CSS 추가
2월 15일 (일)
8. HTML에서 CSS/JS 분리
makeReservation.html(1,614줄 → 97줄)에서 인라인 CSS와 JS를 외부 파일로 분리
| 파일 | 경로 | 내용 |
|---|---|---|
| CSS | static/css/web/service/makeReservation.css |
약 600줄 (레이아웃, 반응형, 캘린더 스타일 등) |
| JS | static/js/web/service/makeReservation.js |
약 900줄 (폼 검증, Flatpickr, 예약 로직 등) |
| HTML | templates/web/service/makeReservation.html |
97줄 (구조만 유지, Thymeleaf 변수 인라인 유지) |
9. 별도 스케줄 날짜 휴무 표시 버그 수정
- 문제: 2/18처럼
MU_HOSPITAL_SCHEDULE에OPEN_YN='Y'로 스케줄을 넣어도,holidayYn판단은MU_HOSPITAL_HOLIDAY/MU_PUBLIC_HOLIDAY만 참조하여 휴무로 표시 - 수정:
WebServiceSqlMap.xml의selectHospitalWorkTime쿼리에서holidayYnCASE에 스케줄 우선 판단 추가
WHEN MHS.MU_HOSPITAL_SCHEDULE_ID IS NOT NULL AND MHS.OPEN_YN = 'Y' THEN 'N'
WHEN MHS.MU_HOSPITAL_SCHEDULE_ID IS NOT NULL AND MHS.OPEN_YN = 'N' THEN 'Y'
10. 일요일/공휴일 캘린더 비활성화
- CSS: 빨간색(연한) + 회색 배경 + 투명도 60% +
cursor: not-allowed - JS:
flatpickr-disabled클래스 추가로 클릭 차단 - SQL:
selectHospitalHolidayList에서 스케줄 오버라이드(OPEN_YN='Y')도 반환하도록 변경 - 예외 처리: 스케줄에
OPEN_YN='Y'로 등록된 날은 일요일/공휴일이라도 클릭 가능
수정된 파일 목록
| 파일 | 수정 내용 |
|---|---|
WebServiceSqlMap.xml |
holidayYn 스케줄 우선 로직, selectHospitalHolidayList 오픈 스케줄 반환 |
makeReservation.html |
CSS/JS 분리, 외부 파일 참조로 변경 |
makeReservation.css |
전체 재작성 + 공휴일/일요일 비활성화 스타일 |
makeReservation.js |
전체 재작성 + openScheduleDates 추가 + flatpickr-disabled 처리 |