2026 02 15 예약기능 캘린더 수정
pjs edited this page 2026-02-15 19:07:16 +09:00

작업 요약 (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.javaputContentsBbs(등록), 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-box div 크기에 맞게 조정되도록 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_SCHEDULEOPEN_YN='Y'로 스케줄을 넣어도, holidayYn 판단은 MU_HOSPITAL_HOLIDAY/MU_PUBLIC_HOLIDAY만 참조하여 휴무로 표시
  • 수정: WebServiceSqlMap.xmlselectHospitalWorkTime 쿼리에서 holidayYn CASE에 스케줄 우선 판단 추가
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 처리