From 50d2f054049228f9d86f1cbdb9cea7067b29645e Mon Sep 17 00:00:00 2001 From: pjs Date: Sun, 25 Jan 2026 21:54:15 +0900 Subject: [PATCH] =?UTF-8?q?2026-01-25=20=EC=9E=91=EC=97=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/madeu/config/DatabaseConfig.java | 6 +- .../java/com/madeu/constants/Constants.java | 2 + .../madeu/crm/kiosk/ctrl/KioskController.java | 24 +- .../com/madeu/crm/kiosk/dto/KioskDTO.java | 19 + .../com/madeu/crm/kiosk/map/KioskMAP.java | 3 + .../madeu/crm/kiosk/service/KioskService.java | 25 + src/main/resources/application.yml | 5 - src/main/resources/mappers/WebUserSqlMap.xml | 1 + .../resources/mappers/crm/kiosk/KioskMAP.xml | 21 + .../static/js/web/user/userUpdate.js | 24 +- .../templates/kiosk/existing-patient.html | 707 +++++++----------- .../templates/web/user/userUpdate.html | 8 +- 12 files changed, 399 insertions(+), 446 deletions(-) create mode 100644 src/main/java/com/madeu/crm/kiosk/dto/KioskDTO.java diff --git a/src/main/java/com/madeu/config/DatabaseConfig.java b/src/main/java/com/madeu/config/DatabaseConfig.java index 1bb8158..3ad7fea 100644 --- a/src/main/java/com/madeu/config/DatabaseConfig.java +++ b/src/main/java/com/madeu/config/DatabaseConfig.java @@ -30,7 +30,11 @@ public class DatabaseConfig { factoryBean.setDataSource(dataSource); factoryBean.setMapperLocations(applicationContext.getResources("classpath:/mappers/**/*.xml")); - return factoryBean.getObject(); + org.apache.ibatis.session.Configuration mybatisConfig = new org.apache.ibatis.session.Configuration(); + mybatisConfig.setMapUnderscoreToCamelCase(true); // 언더바를 카멜케이스로 매핑 + factoryBean.setConfiguration(mybatisConfig); + + return factoryBean.getObject(); } @Bean diff --git a/src/main/java/com/madeu/constants/Constants.java b/src/main/java/com/madeu/constants/Constants.java index 56af3ed..1c19a4d 100644 --- a/src/main/java/com/madeu/constants/Constants.java +++ b/src/main/java/com/madeu/constants/Constants.java @@ -37,6 +37,8 @@ public interface Constants { static final public String END_DATE_NONE = "408"; // 서비스 종료일 정보가 없습니다. static final public String USER_SAME = "409"; // 이미 등록되어 있는 사용자입니다. static final public String EBS_ID_UNEQUAL = "410"; // 사용자 정보가 없습니다. + + static final public String SERVER_ERROR = "서버 오류가 발생했습니다."; //서버 오류가 발생했습니다. } diff --git a/src/main/java/com/madeu/crm/kiosk/ctrl/KioskController.java b/src/main/java/com/madeu/crm/kiosk/ctrl/KioskController.java index 3f8bf89..a3bd068 100644 --- a/src/main/java/com/madeu/crm/kiosk/ctrl/KioskController.java +++ b/src/main/java/com/madeu/crm/kiosk/ctrl/KioskController.java @@ -1,6 +1,7 @@ package com.madeu.crm.kiosk.ctrl; import java.util.HashMap; +import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -12,6 +13,7 @@ import org.springframework.web.servlet.ModelAndView; import com.madeu.constants.Constants; import com.madeu.crm.kiosk.dto.ConsentFormDTO; +import com.madeu.crm.kiosk.dto.KioskDTO; import com.madeu.crm.kiosk.dto.UserDTO; import com.madeu.crm.kiosk.service.KioskService; import com.madeu.init.ManagerDraftAction; @@ -224,7 +226,7 @@ public class KioskController extends ManagerDraftAction { } catch (Exception e) { log.error("Error inserting user", e); resultMap.put("msgCode", Constants.FAIL); - resultMap.put("msgDesc", "서버 오류가 발생했습니다."); + resultMap.put("msgDesc", Constants.SERVER_ERROR); errorMsg.append(e.getMessage()); } finally { // 결과 처리 및 로그 기록 (기존과 동일) @@ -233,6 +235,26 @@ public class KioskController extends ManagerDraftAction { return resultMap; } + + /** + * 고객 등록 + */ + @PostMapping("/kiosk/putSubmit.do") + public KioskDTO putSubmit(@RequestBody KioskDTO dto) { + + return null; + } + + /** + * 고객 등록 + * @throws Exception + */ + @PostMapping("/kiosk/getUserByPhoneNumber.do") + public HashMap getUserByPhoneNumber(@RequestBody KioskDTO dto) throws Exception { + + return kioskService.getUserByPhoneNumber(dto); + } + /** * 고객 정보 조회 diff --git a/src/main/java/com/madeu/crm/kiosk/dto/KioskDTO.java b/src/main/java/com/madeu/crm/kiosk/dto/KioskDTO.java new file mode 100644 index 0000000..3de51ab --- /dev/null +++ b/src/main/java/com/madeu/crm/kiosk/dto/KioskDTO.java @@ -0,0 +1,19 @@ +package com.madeu.crm.kiosk.dto; + +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + +@Getter +@Setter +@ToString +public class KioskDTO { + private String userNumber; // 고객명 + private String userName; // 고객명 + private String birthday; // 생년월일 (YYYYMMDD) + private String gender; // 성별 (M/F) + private String phoneNumber; + private String lastVisitDate; + private String msgCode; + private String msgDesc; +} diff --git a/src/main/java/com/madeu/crm/kiosk/map/KioskMAP.java b/src/main/java/com/madeu/crm/kiosk/map/KioskMAP.java index fb0072d..102fcec 100644 --- a/src/main/java/com/madeu/crm/kiosk/map/KioskMAP.java +++ b/src/main/java/com/madeu/crm/kiosk/map/KioskMAP.java @@ -6,6 +6,7 @@ import java.util.Map; import org.apache.ibatis.annotations.Mapper; import com.madeu.crm.kiosk.dto.ConsentFormDTO; +import com.madeu.crm.kiosk.dto.KioskDTO; import com.madeu.crm.kiosk.dto.UserDTO; @Mapper @@ -47,4 +48,6 @@ public interface KioskMAP { List> getReserveUserOptionList(Map paramMap); int insertUser(UserDTO dto); + + List selectUserByPhoneNumber(KioskDTO dto); } \ No newline at end of file diff --git a/src/main/java/com/madeu/crm/kiosk/service/KioskService.java b/src/main/java/com/madeu/crm/kiosk/service/KioskService.java index 9b58720..c15b2f5 100644 --- a/src/main/java/com/madeu/crm/kiosk/service/KioskService.java +++ b/src/main/java/com/madeu/crm/kiosk/service/KioskService.java @@ -12,6 +12,7 @@ import org.springframework.stereotype.Service; import com.madeu.constants.Constants; import com.madeu.crm.kiosk.dto.ConsentFormDTO; +import com.madeu.crm.kiosk.dto.KioskDTO; import com.madeu.crm.kiosk.dto.UserDTO; import com.madeu.crm.kiosk.map.KioskMAP; import com.madeu.dao.web.webuser.WebUserSqlMapDAO; @@ -312,4 +313,28 @@ public class KioskService { public ConsentFormDTO getConsentForm(ConsentFormDTO dto) { return kioskMAP.selectConsentForm(dto); } + + public HashMap getUserByPhoneNumber(KioskDTO dto) throws Exception { + HashMap map = new HashMap<>(); + + List list = null; + try { + list = kioskMAP.selectUserByPhoneNumber(dto); + map.put("list", list); + map.put("msgCode", Constants.OK); + //dto.setMsgDesc(Constants.SERVER_ERROR); + } catch (Exception e) { + map.put("msgCode", Constants.FAIL); + map.put("msgDesc", Constants.SERVER_ERROR); + e.printStackTrace(); + } + + + return map; + } + + + + + } \ No newline at end of file diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index f73766e..1645c48 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -16,11 +16,6 @@ spring: aop: proxy-target-class: false -mybatis: - mapper-locations: mybatis/mappers/*.xml - configuration: - map-underscore-to-camel-case: true - server: encoding: charset: UTF-8 diff --git a/src/main/resources/mappers/WebUserSqlMap.xml b/src/main/resources/mappers/WebUserSqlMap.xml index cd7e23a..a8f9458 100644 --- a/src/main/resources/mappers/WebUserSqlMap.xml +++ b/src/main/resources/mappers/WebUserSqlMap.xml @@ -438,6 +438,7 @@ END AS "appUseYn" ,DATE_FORMAT(MU.APP_INTRO_DATE, '%Y-%m-%d') AS "appIntroDate" ,DATE_FORMAT(MU.LEAVE_DATE, '%Y-%m-%d') AS "leaveDate" + ,INTRO_NAME as "introName" FROM MU_USER AS MU LEFT JOIN MU_CATEGORY_ITEM AS MCIN ON MCIN.MU_CATEGORY_ITEM_ID = MU.NATIONALITY diff --git a/src/main/resources/mappers/crm/kiosk/KioskMAP.xml b/src/main/resources/mappers/crm/kiosk/KioskMAP.xml index 53637df..a235be4 100644 --- a/src/main/resources/mappers/crm/kiosk/KioskMAP.xml +++ b/src/main/resources/mappers/crm/kiosk/KioskMAP.xml @@ -364,6 +364,27 @@ AND MU.MU_USER_ID = #{muUserId} + + + + - - search - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
고객등급-
생년월일-
성별-
국적-
연락처-
특이사항-
-
- - - -
-
예약 정보
- - - - -
- - -
-
담당자 및 메모
- -
- - - - -
- - -
- - - -
- -
- - -
-
- - - - - -
- -
- -
-
- - - - - - - - - - - - + function submitBtn() { + const selectedUser = $("input[name='selectedUser']:checked"); + if (selectedUser.length === 0) { + alert("접수할 고객을 선택해 주세요."); + return; + } + const userName = selectedUser.val(); + alert(userName + "님 접수가 완료되었습니다."); + $("#customerDialog").dialog("close"); + } + function moveKiosk() { + window.location.href = "/kiosk"; + } + + \ No newline at end of file diff --git a/src/main/resources/templates/web/user/userUpdate.html b/src/main/resources/templates/web/user/userUpdate.html index a459204..efcef20 100644 --- a/src/main/resources/templates/web/user/userUpdate.html +++ b/src/main/resources/templates/web/user/userUpdate.html @@ -119,7 +119,7 @@ - +
@@ -177,6 +177,10 @@
+
+ + +