안녕하세요. 그레이프시티입니다.
문의하신 사항에 대한 답변은 아래와 같습니다.
문의사항 1. 예약일자가 같고, 시작시간/종료시간이 기존의 시간 내에 포함이 된다면
등록이 불가하게 만드는 방법
1. 서버단 명령을 추가합니다.
2. 예약페이지에서 입력받는 내용들을 서버단 명령의 파라미터로 설정합니다.
3. 명령을 설정합니다.
1)아래와 같이 첫번쨰 명령을 설정합니다.
명령선택: 트랜잭션 생성하기
2)트랜잭션 생성하기의 하위 명령들을 설정합니다.
- 명령선택 : 파라미터 설정
- 파라미터 이름 : 예약파라미터
- 파라미터 값: 데이터베이스 참조
- 테이블 : 차량예약
- 선택: 데이터수
- 쿼리 : 예약할 수 있는 조건을 아래 그림과 같이 설정합니다.
3) 명령설정 : 조건문 만들기
- IF 조건식 : 예약된 것이 있을 때의 조건
- 파라미터 : 예약파라미터
- 연산자: 보다큼
- 값 : 0
- 명령설정 : 반환 명령 생성하기
- 에러코드 : 1
- 반환메시지 : 해당 시간대에는 이미 예약이 되어있습니다.
4) 예약조건에 성립할 때의 명령을 설정함
- IF조건(조건 1). 이미 예약된 항목을 수정해야 할 경우
- 명령 설정 : 데이터 테이블 업데이트하기
- 작동유형 : 편집
- 대상테이블 : 차량예약
- 필드업데이트 : 필드와 파라미터를 열과 값으로 설정
- 조건 업데이트 :
- Else . 새로 예약을 추가하는 경우
- 명령선택 : 데이터 테이블 업데이트하기
- 작동유형 : 추가
- 대상 테이블 :차량예약
- 필드업데이트 : 필드와 파라미터를 열과 값으로 설정
4. 예약페이지에서 예약ID를 나오게 설정한 후, 행 숨김을 설정합니다.
5. 예약버튼의 명령을 설정합니다.
- 명령선택 : 서버단 명령 호출
- 서버단 명령 : 예약하기
- 파라미터 이름과 페이지의 값을 매칭
문의사항 2. 예약날짜를 선택하면 시작시간, 종료시간을 배열로 저장하는 방법
아래와 같이 파라미터를 저장할 수 있으나 저장 시 시간이 텍스트로 변환이 되어 저장됩니다.
1. 파라미터를 아래와 같이 설정합니다.
- 명령 선택 :파라미터 설정
- 파라미터 이름 : querycarid
- 파라미터 값 : 데이터베이스 참조
- 테이블 : 차량예약
- 선택 : 여러데이터
조건을 아래와 같이 설정합니다.
2. starttime 파라미터 설정
- 파라미터 이름 : starttime
- 파라미터 값 : 값 또는 수식
3. endtime 파라미터 설정
starttime 파라미터 설정과 동일하게 설정
4. 루프를 만들어서 시작시간과 종료시간을 배열로 받아올 수 있도록 설정합니다.
1) 루프명령 만들기
- 반복회수
- 개수 혹은 배열 : =querycarid
- 객체 파라미터: Item
2) 루프의 하위 명령으로 starttime 파라미터의 값을 아래와 같이 설정합니다.
- 명령선택: 파라미터 설정
- 파라미터 이름 : starttime
- 파라미터값 :
- 값 또는 수식 : =CONCATENATE(starttime,",",Item.예약시작시간)
3) 루프의 하위 명령으로 endtime 파라미터의 값을 starttime과 동일하게 설정합니다.
문의사항 3. 예약상황을 막대그래프에 표현하는 방법
예약시간을 담은 배열을 이용하여 막대그래프를 간트차트처럼 구현을 하고 싶으신 것으로 보입니다.
이 방법보다 달력 셀타입을 사용하시는 것을 추천 드립니다.
아래 도움말 링크를 통해 달력 셀타입 사용방법을 확인할 수 있습니다.
달력 셀타입 사용방법 알아보기
만약 예약시간을 막대차트로 구현을 하고 싶으신 것이라면 차트 기능으로는 구현이 어려울 것으로 보입니다.
차트가 아닌 간트차트 플러그인을 사용하는 방법이 있습니다.
간트차트 사용방법은 아래 링크를 통해 확인하실 수 있습니다.
간트차트 사용방법 알아보기
문의사항 1, 2의 기능이 포함된 차량예약 샘플 프로젝트도 첨부하오니 참고하시기 바랍니다.
감사합니다.