접수 저장 및 메시지 처리
This commit is contained in:
@@ -15,6 +15,19 @@ spring:
|
||||
|
||||
aop:
|
||||
proxy-target-class: false
|
||||
|
||||
messages:
|
||||
# 메시지 파일의 경로와 기본 파일명 (src/main/resources 기준)
|
||||
basename: messages
|
||||
# 인코딩 설정 (한글 깨짐 방지를 위해 UTF-8 권장)
|
||||
encoding: UTF-8
|
||||
# 메시지 파일을 찾지 못했을 때 시스템 언어를 사용할지 여부
|
||||
fallback-to-system-locale: true
|
||||
# 설정한 로케일에 해당하는 파일이 없어도 에러를 내지 않고 기본 파일을 사용함
|
||||
use-code-as-default-message: true
|
||||
# 메시지 변경 시 새로고침 주기 (초 단위, -1은 캐싱)
|
||||
cache-duration: 3600
|
||||
|
||||
|
||||
server:
|
||||
encoding:
|
||||
|
||||
@@ -710,4 +710,56 @@
|
||||
ORDER BY CONSENT_FORM_VERSION DESC
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
<select id="selectReserveByMuUserId" parameterType="com.madeu.crm.kiosk.dto.KioskDTO" resultType="com.madeu.crm.kiosk.dto.ReserveDTO">
|
||||
SELECT MU_RESERVE_ID
|
||||
,RESERVE_TIME
|
||||
FROM MU_RESERVE
|
||||
WHERE MU_USER_ID = #{muUserId} -- 찾으려는 고객 ID
|
||||
AND RESERVE_DATE = CURDATE() -- 오늘 날짜
|
||||
AND USE_YN = 'Y' -- 사용 중인 데이터
|
||||
AND STATUS = 'T'
|
||||
|
||||
</select>
|
||||
|
||||
<update id="updateReserveStatus" parameterType="com.madeu.crm.kiosk.dto.ReserveDTO">
|
||||
UPDATE MU_RESERVE
|
||||
SET STATUS = #{status}
|
||||
WHERE MU_RESERVE_ID = #{muReserveId} -- 찾으려는 예약 ID
|
||||
AND USE_YN = 'Y' -- 사용 중인 데이터
|
||||
AND STATUS = 'T'
|
||||
</update>
|
||||
|
||||
<update id="insertReserve" parameterType="com.madeu.crm.kiosk.dto.ReserveDTO">
|
||||
<selectKey resultType="string" keyProperty="id" order="BEFORE">
|
||||
SELECT CONCAT(#{muReserveId},LPAD((SELECT NEXTVAL(MU_RESERVE_SEQ)), 11, 0))
|
||||
</selectKey>
|
||||
INSERT INTO MU_RESERVE (
|
||||
MU_RESERVE_ID,
|
||||
USER_NAME,
|
||||
MU_USER_ID,
|
||||
RESERVE_DATE,
|
||||
RESERVE_TIME,
|
||||
STATUS,
|
||||
WRITE_DATE,
|
||||
WRITE_TIME,
|
||||
CUD_FLAG,
|
||||
USE_YN,
|
||||
REG_ID,
|
||||
MOD_ID
|
||||
) VALUES (
|
||||
#{id},
|
||||
#{userName},
|
||||
#{muUserId},
|
||||
CURDATE(),
|
||||
CURTIME(),
|
||||
#{status},
|
||||
CURDATE(),
|
||||
CURTIME(),
|
||||
'C',
|
||||
'Y',
|
||||
#{regId},
|
||||
#{regId}
|
||||
)
|
||||
</update>
|
||||
</mapper>
|
||||
9
src/main/resources/messages.properties
Normal file
9
src/main/resources/messages.properties
Normal file
@@ -0,0 +1,9 @@
|
||||
# 공통 오류
|
||||
common.error.server=서버 오류가 발생했습니다.
|
||||
|
||||
# 예약/접수 관련 (Reservation)
|
||||
reserve.checkin.success=접수되었습니다! 안내데스크에서 확인 후 바로 안내해 드릴게요. 잠시만 기다려 주세요.
|
||||
reserve.checkin.time-mismatch=오늘 예약은 확인되었습니다만, 방문하신 시간이 예약 시간과 차이가 있어 데스크 확인이 필요합니다. 안내데스크로 문의해 주세요.
|
||||
|
||||
# 만약 파라미터를 쓴다면 (나중을 위해)
|
||||
reserve.checkin.welcome={0}님, 접수가 완료되었습니다. 잠시만 기다려 주세요.
|
||||
@@ -251,7 +251,7 @@
|
||||
let html = "";
|
||||
if( res.msgCode == 0 ){
|
||||
const userList = res.list;
|
||||
|
||||
console.log(userList);
|
||||
if (!userList || userList.length === 0) {
|
||||
alert("조회된 정보가 없습니다.");
|
||||
return;
|
||||
@@ -260,7 +260,7 @@
|
||||
userList.forEach((user, index) => {
|
||||
html += `
|
||||
<tr>
|
||||
<td><input type="radio" name="selectedUser" class="user-radio" value="${user.userNumber}" ${index === 0 ? 'checked' : ''}></td>
|
||||
<td><input type="radio" name="selectedUser" class="user-radio" value="${user.muUserId}" ${index === 0 ? 'checked' : ''}></td>
|
||||
<td class="user-name-cell">${user.userName}</td>
|
||||
<td>${user.birthday || '-'}</td>
|
||||
<td>${user.gender === 'M' ? '남' : (user.gender === 'F' ? '여' : '-')}</td>
|
||||
@@ -282,16 +282,44 @@
|
||||
});
|
||||
}
|
||||
|
||||
function submitBtn() {
|
||||
const selectedUser = $("input[name='selectedUser']:checked");
|
||||
if (selectedUser.length === 0) {
|
||||
alert("접수할 고객을 선택해 주세요.");
|
||||
return;
|
||||
}
|
||||
const userName = selectedUser.val();
|
||||
alert(userName + "님 접수가 완료되었습니다.");
|
||||
$("#customerDialog").dialog("close");
|
||||
}
|
||||
function submitBtn() {
|
||||
const selectedUser = $("input[name='selectedUser']:checked");
|
||||
|
||||
// 1. 선택 여부 확인
|
||||
if (selectedUser.length === 0) {
|
||||
alert("접수할 고객을 선택해 주세요.");
|
||||
return;
|
||||
}
|
||||
|
||||
// 2. 선택된 사용자의 식별값 (userNumber) 가져오기
|
||||
const muUserId = selectedUser.val();
|
||||
const userName = selectedUser.closest('tr').find('.user-name-cell').text();
|
||||
|
||||
// 3. 서버로 접수 정보 전송 (AJAX)
|
||||
$.ajax({
|
||||
url: '/kiosk/putSubmit.do', // 실제 서버의 접수 처리 URL로 변경하세요
|
||||
type: 'POST',
|
||||
contentType: 'application/json',
|
||||
data: JSON.stringify({
|
||||
muUserId: muUserId,
|
||||
userName: userName
|
||||
}),
|
||||
success: function(res) {
|
||||
if (res.msgCode == 0) {
|
||||
alert(res.msgDesc);
|
||||
$("#customerDialog").dialog("close");
|
||||
|
||||
// 접수 완료 후 메인 페이지로 이동하거나 초기화
|
||||
location.href = "/kiosk";
|
||||
} else {
|
||||
alert(res.msgDesc);
|
||||
}
|
||||
},
|
||||
error: function() {
|
||||
alert("서버 통신 중 오류가 발생했습니다.");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function moveKiosk() {
|
||||
window.location.href = "/kiosk";
|
||||
|
||||
Reference in New Issue
Block a user