diff --git a/backend-spring/build.gradle b/backend-spring/build.gradle index 6c9f389e..04407810 100644 --- a/backend-spring/build.gradle +++ b/backend-spring/build.gradle @@ -24,6 +24,7 @@ repositories { dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' + developmentOnly 'org.springframework.boot:spring-boot-devtools' implementation 'org.springframework.boot:spring-boot-starter-mail' implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.3' diff --git a/backend-spring/src/main/java/com/erp/controller/AdminController.java b/backend-spring/src/main/java/com/erp/controller/AdminController.java index a038a4f0..43c88fef 100644 --- a/backend-spring/src/main/java/com/erp/controller/AdminController.java +++ b/backend-spring/src/main/java/com/erp/controller/AdminController.java @@ -27,16 +27,16 @@ public class AdminController { */ @GetMapping("/menus") public ResponseEntity>>> getAdminMenus( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestAttribute("role") String role, - @RequestAttribute("userId") String userId, + @RequestAttribute("user_id") String userId, @RequestParam Map params) { - params.put("companyCode", companyCode); - params.put("userType", role); - params.put("userId", userId); - params.putIfAbsent("userLang", "ko"); - params.put("isManagementScreen", - params.get("menuType") == null || "true".equals(params.get("includeInactive"))); + params.put("company_code", companyCode); + params.put("user_type", role); + params.put("user_id", userId); + params.putIfAbsent("user_lang", "ko"); + params.put("is_management_screen", + params.get("menu_type") == null || "true".equals(params.get("include_inactive"))); return ResponseEntity.ok(ApiResponse.success(adminService.getAdminMenuList(params), "관리자 메뉴 목록 조회 성공")); } @@ -46,14 +46,14 @@ public class AdminController { */ @GetMapping("/user-menus") public ResponseEntity>>> getUserMenus( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestAttribute("role") String role, - @RequestAttribute("userId") String userId, + @RequestAttribute("user_id") String userId, @RequestParam Map params) { - params.put("companyCode", companyCode); - params.put("userType", role); - params.put("userId", userId); - params.putIfAbsent("userLang", "ko"); + params.put("company_code", companyCode); + params.put("user_type", role); + params.put("user_id", userId); + params.putIfAbsent("user_lang", "ko"); return ResponseEntity.ok(ApiResponse.success(adminService.getUserMenuList(params), "사용자 메뉴 목록 조회 성공")); } @@ -63,11 +63,11 @@ public class AdminController { */ @GetMapping("/pop-menus") public ResponseEntity>> getPopMenus( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestAttribute("role") String role) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("userType", role); + params.put("company_code", companyCode); + params.put("user_type", role); return ResponseEntity.ok(ApiResponse.success(adminService.getPopMenuList(params), "POP 메뉴 목록 조회 성공")); } @@ -90,9 +90,9 @@ public class AdminController { */ @PostMapping("/menus") public ResponseEntity>> saveMenu( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(adminService.saveMenu(body), "메뉴 등록 성공")); } @@ -133,7 +133,7 @@ public class AdminController { @DeleteMapping("/menus/batch") public ResponseEntity> deleteMenusBatch(@RequestBody Map body) { @SuppressWarnings("unchecked") - List menuIds = (List) body.get("menuIds"); + List menuIds = (List) body.get("menu_ids"); if (menuIds != null) { menuIds.forEach(adminService::deleteMenu); } @@ -148,14 +148,14 @@ public class AdminController { */ @GetMapping("/users") public ResponseEntity getUserList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestAttribute("role") String role, @RequestParam Map params) { // SUPER_ADMIN이 아닌 경우 자사 필터 적용 if (!"SUPER_ADMIN".equals(role)) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); } else { - params.put("companyCode", "*"); + params.put("company_code", "*"); } params.putIfAbsent("page", "1"); params.putIfAbsent("limit", "20"); @@ -199,11 +199,11 @@ public class AdminController { */ @GetMapping("/users/{userId}/with-dept") public ResponseEntity>> getUserWithDept( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String userId) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("userId", userId); + params.put("company_code", companyCode); + params.put("user_id", userId); Map result = adminService.getUserWithDept(params); if (result == null) { return ResponseEntity.status(404).body(ApiResponse.error("사용자를 찾을 수 없습니다.")); @@ -217,9 +217,9 @@ public class AdminController { */ @PostMapping("/users/with-dept") public ResponseEntity>> saveUserWithDept( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(adminService.saveUserWithDept(body))); } @@ -229,9 +229,9 @@ public class AdminController { */ @PostMapping("/users") public ResponseEntity>> saveUser( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(adminService.saveUser(body), "사용자 저장 성공")); } @@ -242,10 +242,10 @@ public class AdminController { @PutMapping("/users/{userId}") public ResponseEntity>> updateUser( @PathVariable String userId, - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("userId", userId); - body.put("companyCode", companyCode); + body.put("user_id", userId); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(adminService.saveUser(body), "사용자 수정 성공")); } @@ -268,7 +268,7 @@ public class AdminController { */ @PostMapping("/users/reset-password") public ResponseEntity> resetUserPassword(@RequestBody Map body) { - String userId = (String) body.get("userId"); + String userId = (String) body.get("user_id"); adminService.resetUserPassword(userId); return ResponseEntity.ok(ApiResponse.success(null, "비밀번호 초기화 성공")); } @@ -280,10 +280,10 @@ public class AdminController { @PostMapping("/users/check-duplicate") public ResponseEntity>> checkDuplicateUserId( @RequestBody Map body) { - String userId = (String) body.get("userId"); + String userId = (String) body.get("user_id"); Map existing = adminService.getUserInfo(userId); Map result = new HashMap<>(); - result.put("isDuplicate", existing != null); + result.put("is_duplicate", existing != null); return ResponseEntity.ok(ApiResponse.success(result, "아이디 중복 확인 완료")); } @@ -295,9 +295,9 @@ public class AdminController { */ @PutMapping("/profile") public ResponseEntity>> updateProfile( - @RequestAttribute("userId") String userId, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { - body.put("userId", userId); + body.put("user_id", userId); return ResponseEntity.ok(ApiResponse.success(adminService.saveUser(body), "프로필 수정 성공")); } @@ -309,23 +309,23 @@ public class AdminController { */ @GetMapping("/departments") public ResponseEntity getDepartmentList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); Map serviceResult = adminService.getDepartmentList(params); int total = ((Number) serviceResult.get("total")).intValue(); Map data = new HashMap<>(); data.put("departments", serviceResult.get("departments")); - data.put("flatList", serviceResult.get("flatList")); + data.put("flat_list", serviceResult.get("flat_list")); Map response = new HashMap<>(); response.put("success", true); response.put("data", data); response.put("message", "부서 목록 조회 성공"); response.put("total", total); - response.put("totalCount", total); + response.put("total_count", total); return ResponseEntity.ok(response); } @@ -402,7 +402,7 @@ public class AdminController { */ @GetMapping("/user-locale") public ResponseEntity> getUserLocale( - @RequestAttribute("userId") String userId) { + @RequestAttribute("user_id") String userId) { Map row = adminService.getUserLocale(userId); Object locale = row.getOrDefault("locale", "KR"); return ResponseEntity.ok(ApiResponse.success(locale, "사용자 로케일 조회 성공")); @@ -414,7 +414,7 @@ public class AdminController { */ @PostMapping("/user-locale") public ResponseEntity> setUserLocale( - @RequestAttribute("userId") String userId, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { String locale = (String) body.get("locale"); if (locale == null || locale.isBlank()) { diff --git a/backend-spring/src/main/java/com/erp/controller/AiAssistantProxyController.java b/backend-spring/src/main/java/com/erp/controller/AiAssistantProxyController.java index ace153cd..c63e8ff5 100644 --- a/backend-spring/src/main/java/com/erp/controller/AiAssistantProxyController.java +++ b/backend-spring/src/main/java/com/erp/controller/AiAssistantProxyController.java @@ -21,7 +21,7 @@ public class AiAssistantProxyController { @GetMapping("/api/ai/v1/status") public ResponseEntity>> getStatus() { Map result = new HashMap<>(); - result.put("serviceUrl", "http://127.0.0.1:3100"); + result.put("service_url", "http://127.0.0.1:3100"); result.put("status", "ok"); result.put("message", "AI 어시스턴트 프록시 서비스가 구성되었습니다."); return ResponseEntity.ok(ApiResponse.success(result)); diff --git a/backend-spring/src/main/java/com/erp/controller/AnalyticsReportController.java b/backend-spring/src/main/java/com/erp/controller/AnalyticsReportController.java index 08c0cb2a..af6fb636 100644 --- a/backend-spring/src/main/java/com/erp/controller/AnalyticsReportController.java +++ b/backend-spring/src/main/java/com/erp/controller/AnalyticsReportController.java @@ -19,49 +19,49 @@ public class AnalyticsReportController { @GetMapping("/production/data") public ResponseEntity>> getProductionReportData( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(analyticsReportService.getProductionReportData(params))); } @GetMapping("/inventory/data") public ResponseEntity>> getInventoryReportData( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(analyticsReportService.getInventoryReportData(params))); } @GetMapping("/purchase/data") public ResponseEntity>> getPurchaseReportData( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(analyticsReportService.getPurchaseReportData(params))); } @GetMapping("/quality/data") public ResponseEntity>> getQualityReportData( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(analyticsReportService.getQualityReportData(params))); } @GetMapping("/equipment/data") public ResponseEntity>> getEquipmentReportData( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(analyticsReportService.getEquipmentReportData(params))); } @GetMapping("/mold/data") public ResponseEntity>> getMoldReportData( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(analyticsReportService.getMoldReportData(params))); } } diff --git a/backend-spring/src/main/java/com/erp/controller/ApprovalController.java b/backend-spring/src/main/java/com/erp/controller/ApprovalController.java index 15192fbe..adc270a5 100644 --- a/backend-spring/src/main/java/com/erp/controller/ApprovalController.java +++ b/backend-spring/src/main/java/com/erp/controller/ApprovalController.java @@ -27,19 +27,19 @@ public class ApprovalController { @GetMapping("/definitions") public ResponseEntity>>> getDefinitions( @RequestParam Map params, - @RequestAttribute("companyCode") String companyCode) { - params.put("companyCode", companyCode); + @RequestAttribute("company_code") String companyCode) { + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(approvalService.getDefinitions(params))); } @GetMapping("/definitions/{id}") public ResponseEntity>> getDefinition( @PathVariable Long id, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { Map params = new HashMap<>(); - params.put("definitionId", id); - params.put("companyCode", companyCode); + params.put("definition_id", id); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(approvalService.getDefinition(params))); } catch (IllegalArgumentException e) { return ResponseEntity.status(404).body(ApiResponse.error(e.getMessage())); @@ -49,12 +49,12 @@ public class ApprovalController { @PostMapping("/definitions") public ResponseEntity>> createDefinition( @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { if (body.get("definition_name") == null) return ResponseEntity.status(400).body(ApiResponse.error("결재 유형명은 필수입니다.")); - body.put("companyCode", companyCode); - body.put("userId", userId); + body.put("company_code", companyCode); + body.put("user_id", userId); try { return ResponseEntity.status(HttpStatus.CREATED) .body(ApiResponse.success(approvalService.createDefinition(body), "결재 유형이 생성되었습니다.")); @@ -68,11 +68,11 @@ public class ApprovalController { public ResponseEntity>> updateDefinition( @PathVariable Long id, @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { - body.put("definitionId", id); - body.put("companyCode", companyCode); - body.put("userId", userId); + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { + body.put("definition_id", id); + body.put("company_code", companyCode); + body.put("user_id", userId); try { return ResponseEntity.ok(ApiResponse.success(approvalService.updateDefinition(body), "결재 유형이 수정되었습니다.")); } catch (IllegalArgumentException e) { @@ -86,10 +86,10 @@ public class ApprovalController { @DeleteMapping("/definitions/{id}") public ResponseEntity> deleteDefinition( @PathVariable Long id, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { Map params = new HashMap<>(); - params.put("definitionId", id); - params.put("companyCode", companyCode); + params.put("definition_id", id); + params.put("company_code", companyCode); try { approvalService.deleteDefinition(params); return ResponseEntity.ok(ApiResponse.success(null, "결재 유형이 삭제되었습니다.")); @@ -108,19 +108,19 @@ public class ApprovalController { @GetMapping("/templates") public ResponseEntity>>> getTemplates( @RequestParam Map params, - @RequestAttribute("companyCode") String companyCode) { - params.put("companyCode", companyCode); + @RequestAttribute("company_code") String companyCode) { + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(approvalService.getTemplates(params))); } @GetMapping("/templates/{id}") public ResponseEntity>> getTemplate( @PathVariable Long id, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { Map params = new HashMap<>(); - params.put("templateId", id); - params.put("companyCode", companyCode); + params.put("template_id", id); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(approvalService.getTemplate(params))); } catch (IllegalArgumentException e) { return ResponseEntity.status(404).body(ApiResponse.error(e.getMessage())); @@ -130,12 +130,12 @@ public class ApprovalController { @PostMapping("/templates") public ResponseEntity>> createTemplate( @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { if (body.get("template_name") == null) return ResponseEntity.status(400).body(ApiResponse.error("템플릿명은 필수입니다.")); - body.put("companyCode", companyCode); - body.put("userId", userId); + body.put("company_code", companyCode); + body.put("user_id", userId); try { return ResponseEntity.status(HttpStatus.CREATED) .body(ApiResponse.success(approvalService.createTemplate(body), "결재선 템플릿이 생성되었습니다.")); @@ -149,11 +149,11 @@ public class ApprovalController { public ResponseEntity>> updateTemplate( @PathVariable Long id, @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { - body.put("templateId", id); - body.put("companyCode", companyCode); - body.put("userId", userId); + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { + body.put("template_id", id); + body.put("company_code", companyCode); + body.put("user_id", userId); try { return ResponseEntity.ok(ApiResponse.success(approvalService.updateTemplate(body), "결재선 템플릿이 수정되었습니다.")); } catch (IllegalArgumentException e) { @@ -167,10 +167,10 @@ public class ApprovalController { @DeleteMapping("/templates/{id}") public ResponseEntity> deleteTemplate( @PathVariable Long id, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { Map params = new HashMap<>(); - params.put("templateId", id); - params.put("companyCode", companyCode); + params.put("template_id", id); + params.put("company_code", companyCode); try { approvalService.deleteTemplate(params); return ResponseEntity.ok(ApiResponse.success(null, "결재선 템플릿이 삭제되었습니다.")); @@ -189,21 +189,21 @@ public class ApprovalController { @GetMapping("/requests") public ResponseEntity>> getRequests( @RequestParam Map params, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { - params.put("companyCode", companyCode); - params.put("userId", userId); + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { + params.put("company_code", companyCode); + params.put("user_id", userId); return ResponseEntity.ok(ApiResponse.success(approvalService.getRequests(params))); } @GetMapping("/requests/{id}") public ResponseEntity>> getRequest( @PathVariable Long id, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { Map params = new HashMap<>(); - params.put("requestId", id); - params.put("companyCode", companyCode); + params.put("request_id", id); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(approvalService.getRequest(params))); } catch (IllegalArgumentException e) { return ResponseEntity.status(404).body(ApiResponse.error(e.getMessage())); @@ -213,10 +213,10 @@ public class ApprovalController { @PostMapping("/requests") public ResponseEntity>> createRequest( @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { - body.put("companyCode", companyCode); - body.put("userId", userId); + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { + body.put("company_code", companyCode); + body.put("user_id", userId); try { return ResponseEntity.status(HttpStatus.CREATED) .body(ApiResponse.success(approvalService.createRequest(body), "결재 요청이 생성되었습니다.")); @@ -231,12 +231,12 @@ public class ApprovalController { @PostMapping("/requests/{id}/cancel") public ResponseEntity> cancelRequest( @PathVariable Long id, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { Map params = new HashMap<>(); - params.put("requestId", id); - params.put("companyCode", companyCode); - params.put("userId", userId); + params.put("request_id", id); + params.put("company_code", companyCode); + params.put("user_id", userId); try { approvalService.cancelRequest(params); return ResponseEntity.ok(ApiResponse.success(null, "결재 요청이 회수되었습니다.")); @@ -252,13 +252,13 @@ public class ApprovalController { public ResponseEntity> postApprove( @PathVariable Long id, @RequestBody(required = false) Map body, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { Map params = new HashMap<>(); if (body != null) params.putAll(body); - params.put("requestId", id); - params.put("companyCode", companyCode); - params.put("userId", userId); + params.put("request_id", id); + params.put("company_code", companyCode); + params.put("user_id", userId); try { approvalService.postApprove(params); return ResponseEntity.ok(ApiResponse.success(null, "후결 처리가 완료되었습니다.")); @@ -276,11 +276,11 @@ public class ApprovalController { @GetMapping("/my-pending") public ResponseEntity>>> getMyPendingLines( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("userId", userId); + params.put("company_code", companyCode); + params.put("user_id", userId); return ResponseEntity.ok(ApiResponse.success(approvalService.getMyPendingLines(params))); } @@ -288,16 +288,16 @@ public class ApprovalController { public ResponseEntity> processApproval( @PathVariable Long lineId, @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { String action = (String) body.get("action"); if (!List.of("approved", "rejected").contains(action)) return ResponseEntity.status(400).body(ApiResponse.error("액션은 approved 또는 rejected여야 합니다.")); Map params = new HashMap<>(body); - params.put("lineId", lineId); - params.put("companyCode", companyCode); - params.put("userId", userId); + params.put("line_id", lineId); + params.put("company_code", companyCode); + params.put("user_id", userId); try { approvalService.processApproval(params); String msg = "approved".equals(action) ? "승인 처리되었습니다." : "반려 처리되었습니다."; @@ -320,26 +320,26 @@ public class ApprovalController { @GetMapping("/proxy-settings/check/{targetUserId}") public ResponseEntity>>> checkActiveProxy( @PathVariable String targetUserId, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { Map params = new HashMap<>(); - params.put("userId", targetUserId); - params.put("companyCode", companyCode); + params.put("user_id", targetUserId); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(approvalService.checkActiveProxy(params))); } @GetMapping("/proxy-settings") public ResponseEntity>>> getProxySettings( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(approvalService.getProxySettings(params))); } @PostMapping("/proxy-settings") public ResponseEntity>> createProxySetting( @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode) { - body.put("companyCode", companyCode); + @RequestAttribute("company_code") String companyCode) { + body.put("company_code", companyCode); try { return ResponseEntity.status(HttpStatus.CREATED) .body(ApiResponse.success(approvalService.createProxySetting(body), "대결 위임이 생성되었습니다.")); @@ -355,9 +355,9 @@ public class ApprovalController { public ResponseEntity>> updateProxySetting( @PathVariable Long id, @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { body.put("id", id); - body.put("companyCode", companyCode); + body.put("company_code", companyCode); try { return ResponseEntity.ok(ApiResponse.success(approvalService.updateProxySetting(body), "대결 위임이 수정되었습니다.")); } catch (IllegalArgumentException e) { @@ -371,10 +371,10 @@ public class ApprovalController { @DeleteMapping("/proxy-settings/{id}") public ResponseEntity> deleteProxySetting( @PathVariable Long id, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { Map params = new HashMap<>(); params.put("id", id); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); try { approvalService.deleteProxySetting(params); return ResponseEntity.ok(ApiResponse.success(null, "대결 위임이 삭제되었습니다.")); diff --git a/backend-spring/src/main/java/com/erp/controller/AuditLogController.java b/backend-spring/src/main/java/com/erp/controller/AuditLogController.java index e5b091d8..c4c9f1d2 100644 --- a/backend-spring/src/main/java/com/erp/controller/AuditLogController.java +++ b/backend-spring/src/main/java/com/erp/controller/AuditLogController.java @@ -27,7 +27,7 @@ public class AuditLogController { */ @GetMapping public ResponseEntity> getAuditLogs( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestAttribute("role") String role, @RequestParam Map queryParams) { @@ -35,11 +35,11 @@ public class AuditLogController { // SUPER_ADMIN: 쿼리 파라미터 companyCode 사용(없으면 전체); 일반: JWT companyCode 강제 적용 String filterCompany = isSuperAdmin - ? (String) queryParams.get("companyCode") + ? (String) queryParams.get("company_code") : companyCode; Map filters = new HashMap<>(queryParams); - filters.put("filterCompany", filterCompany); + filters.put("filter_company", filterCompany); int page = toInt(queryParams.get("page"), 1); int limit = toInt(queryParams.get("limit"), 50); @@ -63,9 +63,9 @@ public class AuditLogController { */ @GetMapping("/stats") public ResponseEntity>> getAuditLogStats( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestAttribute("role") String role, - @RequestParam(value = "companyCode", required = false) String queryCompanyCode, + @RequestParam(value = "company_code", required = false) String queryCompanyCode, @RequestParam(required = false, defaultValue = "30") int days) { boolean isSuperAdmin = isSuperAdmin(role); @@ -81,9 +81,9 @@ public class AuditLogController { */ @GetMapping("/users") public ResponseEntity>>> getAuditLogUsers( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestAttribute("role") String role, - @RequestParam(value = "companyCode", required = false) String queryCompanyCode) { + @RequestParam(value = "company_code", required = false) String queryCompanyCode) { boolean isSuperAdmin = isSuperAdmin(role); String targetCompany = isSuperAdmin ? queryCompanyCode : companyCode; @@ -98,14 +98,14 @@ public class AuditLogController { */ @PostMapping public ResponseEntity> createAuditLog( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @RequestAttribute("role") String role, @RequestBody Map body, HttpServletRequest request) { String action = (String) body.get("action"); - String resourceType = (String) body.get("resourceType"); + String resourceType = (String) body.get("resource_type"); if (action == null || action.isBlank() || resourceType == null || resourceType.isBlank()) { return ResponseEntity.badRequest() @@ -113,17 +113,17 @@ public class AuditLogController { } Map params = new HashMap<>(body); - params.put("companyCode", companyCode); - params.put("userId", userId); + params.put("company_code", companyCode); + params.put("user_id", userId); // userName: request attribute(JWT) → body fallback - if (!params.containsKey("userName")) { - Object userName = request.getAttribute("userName"); + if (!params.containsKey("user_name")) { + Object userName = request.getAttribute("user_name"); if (userName != null) { - params.put("userName", userName); + params.put("user_name", userName); } } - params.put("ipAddress", resolveClientIp(request)); - params.put("requestPath", request.getRequestURI()); + params.put("ip_address", resolveClientIp(request)); + params.put("request_path", request.getRequestURI()); auditLogService.insertAuditLog(params); return ResponseEntity.ok(ApiResponse.success(null)); diff --git a/backend-spring/src/main/java/com/erp/controller/AuthController.java b/backend-spring/src/main/java/com/erp/controller/AuthController.java index 8590c1fa..debdc520 100644 --- a/backend-spring/src/main/java/com/erp/controller/AuthController.java +++ b/backend-spring/src/main/java/com/erp/controller/AuthController.java @@ -29,7 +29,7 @@ public class AuthController { public ResponseEntity>> login( @RequestBody Map body, HttpServletRequest request) { - String userId = (String) body.get("userId"); + String userId = (String) body.get("user_id"); String password = (String) body.get("password"); if (!StringUtils.hasText(userId) || !StringUtils.hasText(password)) { @@ -38,13 +38,13 @@ public class AuthController { } Map params = new HashMap<>(body); - params.put("remoteAddr", getRemoteAddr(request)); + params.put("remote_addr", getRemoteAddr(request)); Map result = authService.login(params); - if (Boolean.TRUE.equals(result.get("loginFailed"))) { + if (Boolean.TRUE.equals(result.get("login_failed"))) { return ResponseEntity.status(401) - .body(ApiResponse.error((String) result.get("errorReason"))); + .body(ApiResponse.error((String) result.get("error_reason"))); } return ResponseEntity.ok(ApiResponse.success(result, "로그인 성공")); @@ -125,7 +125,7 @@ public class AuthController { return ResponseEntity.status(401).body(ApiResponse.error("인증 토큰이 필요합니다.")); } - String companyCode = (String) body.get("companyCode"); + String companyCode = (String) body.get("company_code"); if (!StringUtils.hasText(companyCode)) { return ResponseEntity.badRequest().body(ApiResponse.error("전환할 회사 코드가 필요합니다.")); } @@ -143,12 +143,12 @@ public class AuthController { */ @PostMapping("/signup") public ResponseEntity> signup(@RequestBody Map body) { - String userId = (String) body.get("userId"); + String userId = (String) body.get("user_id"); String password = (String) body.get("password"); - String userName = (String) body.get("userName"); - String phoneNumber = (String) body.get("phoneNumber"); - String licenseNumber = (String) body.get("licenseNumber"); - String vehicleNumber = (String) body.get("vehicleNumber"); + String userName = (String) body.get("user_name"); + String phoneNumber = (String) body.get("phone_number"); + String licenseNumber = (String) body.get("license_number"); + String vehicleNumber = (String) body.get("vehicle_number"); if (!StringUtils.hasText(userId) || !StringUtils.hasText(password) || !StringUtils.hasText(userName) || !StringUtils.hasText(phoneNumber) diff --git a/backend-spring/src/main/java/com/erp/controller/BarcodeLabelController.java b/backend-spring/src/main/java/com/erp/controller/BarcodeLabelController.java index b8bc8342..bfa8e08d 100644 --- a/backend-spring/src/main/java/com/erp/controller/BarcodeLabelController.java +++ b/backend-spring/src/main/java/com/erp/controller/BarcodeLabelController.java @@ -18,9 +18,9 @@ public class BarcodeLabelController { @GetMapping("/list") public ResponseEntity>> getBarcodeLabelList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(barcodeLabelService.getBarcodeLabelList(params))); } @@ -55,11 +55,11 @@ public class BarcodeLabelController { @PostMapping public ResponseEntity>> insertBarcodeLabel( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @RequestBody Map body) { - body.put("companyCode", companyCode); - body.put("createdBy", userId); + body.put("company_code", companyCode); + body.put("created_by", userId); Map result = barcodeLabelService.insertBarcodeLabel(body); return ResponseEntity.status(201).body(ApiResponse.success(result, "라벨이 생성되었습니다.")); } @@ -67,11 +67,11 @@ public class BarcodeLabelController { @PostMapping("/{labelId}/copy") public ResponseEntity>> copyBarcodeLabel( @PathVariable String labelId, - @RequestAttribute(value = "userId", required = false) String userId) { + @RequestAttribute(value = "user_id", required = false) String userId) { String newLabelId = barcodeLabelService.copyBarcodeLabel(labelId, userId); if (newLabelId == null) return ResponseEntity.status(404).body(ApiResponse.error("복사할 라벨을 찾을 수 없습니다.")); Map result = new HashMap<>(); - result.put("labelId", newLabelId); + result.put("label_id", newLabelId); return ResponseEntity.status(201).body(ApiResponse.success(result, "라벨이 복사되었습니다.")); } @@ -87,7 +87,7 @@ public class BarcodeLabelController { @PutMapping("/{labelId}/layout") public ResponseEntity>> saveBarcodeLabelLayout( @PathVariable String labelId, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute(value = "user_id", required = false) String userId, @RequestBody Map body) { barcodeLabelService.saveBarcodeLabelLayout(labelId, body, userId); return ResponseEntity.ok(ApiResponse.success(null, "레이아웃이 저장되었습니다.")); diff --git a/backend-spring/src/main/java/com/erp/controller/BatchController.java b/backend-spring/src/main/java/com/erp/controller/BatchController.java index e1adff37..23d1d8a9 100644 --- a/backend-spring/src/main/java/com/erp/controller/BatchController.java +++ b/backend-spring/src/main/java/com/erp/controller/BatchController.java @@ -18,28 +18,28 @@ public class BatchController { @GetMapping public ResponseEntity>> getBatchList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(batchService.getBatchList(params))); } @GetMapping("/connections") public ResponseEntity>>> getConnections( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { return ResponseEntity.ok(ApiResponse.success(batchService.getConnections(companyCode))); } @GetMapping("/connections/{type}/tables") public ResponseEntity>>> getTablesByType( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String type) { return ResponseEntity.ok(ApiResponse.success(batchService.getTables(type, null))); } @GetMapping("/connections/{type}/{connectionId}/tables") public ResponseEntity>>> getTablesByTypeAndId( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String type, @PathVariable Long connectionId) { return ResponseEntity.ok(ApiResponse.success(batchService.getTables(type, connectionId))); @@ -47,7 +47,7 @@ public class BatchController { @GetMapping("/connections/{type}/tables/{tableName}/columns") public ResponseEntity>>> getColumnsByType( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String type, @PathVariable String tableName) { return ResponseEntity.ok(ApiResponse.success(batchService.getColumns(type, null, tableName))); @@ -55,7 +55,7 @@ public class BatchController { @GetMapping("/connections/{type}/{connectionId}/tables/{tableName}/columns") public ResponseEntity>>> getColumnsByTypeAndId( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String type, @PathVariable Long connectionId, @PathVariable String tableName) { @@ -64,10 +64,10 @@ public class BatchController { @GetMapping("/{id}") public ResponseEntity>> getBatchInfo( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); Map result = batchService.getBatchInfo(params); if (result == null) { @@ -78,10 +78,10 @@ public class BatchController { @PostMapping public ResponseEntity>> insertBatch( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); body.put("created_by", userId); body.put("updated_by", userId); Map created = batchService.insertBatch(body); @@ -90,11 +90,11 @@ public class BatchController { @PutMapping("/{id}") public ResponseEntity>> updateBatch( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable Long id, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); body.put("updated_by", userId); body.put("id", id); Map updated = batchService.updateBatch(body); @@ -103,12 +103,12 @@ public class BatchController { @DeleteMapping("/{id}") public ResponseEntity> deleteBatch( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("updatedBy", userId); + params.put("company_code", companyCode); + params.put("updated_by", userId); params.put("id", id); batchService.deleteBatch(params); return ResponseEntity.ok(ApiResponse.success(null, "배치 설정이 성공적으로 삭제되었습니다.")); diff --git a/backend-spring/src/main/java/com/erp/controller/BatchExecutionLogController.java b/backend-spring/src/main/java/com/erp/controller/BatchExecutionLogController.java index 1aea11c0..8a8c6327 100644 --- a/backend-spring/src/main/java/com/erp/controller/BatchExecutionLogController.java +++ b/backend-spring/src/main/java/com/erp/controller/BatchExecutionLogController.java @@ -16,65 +16,65 @@ public class BatchExecutionLogController { @GetMapping("/list") public ResponseEntity>> getBatchExecutionLogList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(batchExecutionLogService.getBatchExecutionLogList(params))); } @GetMapping("/{id}") public ResponseEntity>> getBatchExecutionLogInfo( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success(batchExecutionLogService.getBatchExecutionLogInfo(params))); } @PostMapping public ResponseEntity>> insertBatchExecutionLog( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(batchExecutionLogService.insertBatchExecutionLog(body))); } @PutMapping("/{id}") public ResponseEntity>> updateBatchExecutionLog( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); body.put("id", id); return ResponseEntity.ok(ApiResponse.success(batchExecutionLogService.updateBatchExecutionLog(body))); } @DeleteMapping("/{id}") public ResponseEntity>> deleteBatchExecutionLog( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success(batchExecutionLogService.deleteBatchExecutionLog(params))); } @GetMapping("/latest/{batchConfigId}") public ResponseEntity>> getBatchExecutionLogLatest( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long batchConfigId) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("batchConfigId", batchConfigId); + params.put("company_code", companyCode); + params.put("batch_config_id", batchConfigId); return ResponseEntity.ok(ApiResponse.success(batchExecutionLogService.getBatchExecutionLogLatest(params))); } @GetMapping("/stats") public ResponseEntity>> getBatchExecutionLogStats( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(batchExecutionLogService.getBatchExecutionLogStats(params))); } } diff --git a/backend-spring/src/main/java/com/erp/controller/BatchManagementController.java b/backend-spring/src/main/java/com/erp/controller/BatchManagementController.java index e200d598..34aafd6b 100644 --- a/backend-spring/src/main/java/com/erp/controller/BatchManagementController.java +++ b/backend-spring/src/main/java/com/erp/controller/BatchManagementController.java @@ -22,9 +22,9 @@ public class BatchManagementController { /** GET /api/batch-management/stats — 배치 대시보드 통계 */ @GetMapping("/stats") public ResponseEntity>> getBatchStats( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(batchManagementService.getBatchStats(params))); } @@ -33,9 +33,9 @@ public class BatchManagementController { /** GET /api/batch-management/node-flows — 배치 설정에서 노드 플로우 선택용 목록 */ @GetMapping("/node-flows") public ResponseEntity>>> getNodeFlows( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(batchManagementService.getNodeFlows(params))); } @@ -44,7 +44,7 @@ public class BatchManagementController { /** GET /api/batch-management/connections — 사용 가능한 커넥션 목록 조회 */ @GetMapping("/connections") public ResponseEntity>>> getAvailableConnections( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { return ResponseEntity.ok(ApiResponse.success( batchManagementService.getAvailableConnections(companyCode))); } @@ -52,7 +52,7 @@ public class BatchManagementController { /** GET /api/batch-management/connections/:type/tables — 내부 DB 테이블 목록 */ @GetMapping("/connections/{type}/tables") public ResponseEntity>>> getTablesFromConnection( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String type) { return ResponseEntity.ok(ApiResponse.success( batchManagementService.getTablesFromConnection(type, null, companyCode))); @@ -61,7 +61,7 @@ public class BatchManagementController { /** GET /api/batch-management/connections/:type/:id/tables — 외부 DB 테이블 목록 */ @GetMapping("/connections/{type}/{id}/tables") public ResponseEntity>>> getTablesFromExternalConnection( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String type, @PathVariable Long id) { return ResponseEntity.ok(ApiResponse.success( @@ -71,7 +71,7 @@ public class BatchManagementController { /** GET /api/batch-management/connections/:type/tables/:tableName/columns — 내부 DB 컬럼 정보 */ @GetMapping("/connections/{type}/tables/{tableName}/columns") public ResponseEntity>>> getTableColumns( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String type, @PathVariable String tableName) { return ResponseEntity.ok(ApiResponse.success( @@ -81,7 +81,7 @@ public class BatchManagementController { /** GET /api/batch-management/connections/:type/:id/tables/:tableName/columns — 외부 DB 컬럼 정보 */ @GetMapping("/connections/{type}/{id}/tables/{tableName}/columns") public ResponseEntity>>> getExternalTableColumns( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String type, @PathVariable Long id, @PathVariable String tableName) { @@ -94,9 +94,9 @@ public class BatchManagementController { /** POST /api/batch-management/batch-configs — 배치 설정 생성 */ @PostMapping("/batch-configs") public ResponseEntity>> insertBatchConfig( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); Map result = batchManagementService.insertBatchConfig(body); return ResponseEntity.status(201).body(ApiResponse.success(result, "배치 설정이 성공적으로 생성되었습니다.")); } @@ -104,19 +104,19 @@ public class BatchManagementController { /** GET /api/batch-management/batch-configs — 배치 설정 목록 조회 */ @GetMapping("/batch-configs") public ResponseEntity>> getBatchConfigList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(batchManagementService.getBatchConfigList(params))); } /** GET /api/batch-management/batch-configs/:id — 특정 배치 설정 조회 */ @GetMapping("/batch-configs/{id}") public ResponseEntity>> getBatchConfigInfo( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); Map result = batchManagementService.getBatchConfigInfo(params); if (result == null) { @@ -128,32 +128,32 @@ public class BatchManagementController { /** GET /api/batch-management/batch-configs/:id/sparkline — 최근 24시간 1시간 단위 실행 집계 */ @GetMapping("/batch-configs/{id}/sparkline") public ResponseEntity>>> getBatchSparkline( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("batchConfigId", id); + params.put("company_code", companyCode); + params.put("batch_config_id", id); return ResponseEntity.ok(ApiResponse.success(batchManagementService.getBatchSparkline(params))); } /** GET /api/batch-management/batch-configs/:id/recent-logs — 최근 실행 로그 (최대 20건) */ @GetMapping("/batch-configs/{id}/recent-logs") public ResponseEntity>>> getBatchRecentLogs( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("batchConfigId", id); + params.put("company_code", companyCode); + params.put("batch_config_id", id); return ResponseEntity.ok(ApiResponse.success(batchManagementService.getBatchRecentLogs(params))); } /** PUT /api/batch-management/batch-configs/:id — 배치 설정 업데이트 */ @PutMapping("/batch-configs/{id}") public ResponseEntity>> updateBatchConfig( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); body.put("id", id); return ResponseEntity.ok(ApiResponse.success( batchManagementService.updateBatchConfig(body), "배치 설정이 성공적으로 업데이트되었습니다.")); @@ -162,10 +162,10 @@ public class BatchManagementController { /** POST /api/batch-management/batch-configs/:id/execute — 배치 수동 실행 */ @PostMapping("/batch-configs/{id}/execute") public ResponseEntity>> executeBatchConfig( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success( batchManagementService.executeBatchConfig(params), "배치가 성공적으로 실행되었습니다.")); @@ -176,18 +176,18 @@ public class BatchManagementController { /** POST /api/batch-management/rest-api/preview — REST API 데이터 미리보기 */ @PostMapping("/rest-api/preview") public ResponseEntity>> previewRestApiData( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(batchManagementService.previewRestApiData(body))); } /** POST /api/batch-management/rest-api/save — REST API 배치 저장 */ @PostMapping("/rest-api/save") public ResponseEntity>> saveRestApiBatch( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success( batchManagementService.saveRestApiBatch(body), "REST API 배치가 성공적으로 저장되었습니다.")); } @@ -197,9 +197,9 @@ public class BatchManagementController { /** GET /api/batch-management/auth-services — 인증 토큰 서비스명 목록 조회 */ @GetMapping("/auth-services") public ResponseEntity>> getAuthServiceNames( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(batchManagementService.getAuthServiceNames(params))); } } diff --git a/backend-spring/src/main/java/com/erp/controller/BomController.java b/backend-spring/src/main/java/com/erp/controller/BomController.java index d06ee485..12d445d7 100644 --- a/backend-spring/src/main/java/com/erp/controller/BomController.java +++ b/backend-spring/src/main/java/com/erp/controller/BomController.java @@ -23,46 +23,46 @@ public class BomController { @GetMapping("/list") public ResponseEntity>> getBomList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(bomService.getBomList(params))); } @GetMapping("/{id}") public ResponseEntity>> getBomInfo( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success(bomService.getBomInfo(params))); } @PostMapping public ResponseEntity>> insertBom( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(bomService.insertBom(body))); } @PutMapping("/{id}") public ResponseEntity>> updateBom( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); body.put("id", id); return ResponseEntity.ok(ApiResponse.success(bomService.updateBom(body))); } @DeleteMapping("/{id}") public ResponseEntity>> deleteBom( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success(bomService.deleteBom(params))); } @@ -82,15 +82,15 @@ public class BomController { @GetMapping("/{bomId}/history") public ResponseEntity> getBomHistory( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String bomId) { return ResponseEntity.ok(ApiResponse.success(bomService.getBomHistory(bomId, companyCode))); } @PostMapping("/{bomId}/history") public ResponseEntity> addBomHistory( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable String bomId, @RequestBody Map body) { if (body.get("change_type") == null) { @@ -104,32 +104,32 @@ public class BomController { @GetMapping("/{bomId}/versions") public ResponseEntity> getBomVersions( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String bomId) { return ResponseEntity.ok(ApiResponse.success(bomService.getBomVersions(bomId, companyCode))); } @PostMapping("/{bomId}/versions") public ResponseEntity> createBomVersion( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable String bomId, @RequestBody(required = false) Map body) { - String versionName = body != null && body.get("versionName") != null ? String.valueOf(body.get("versionName")) : null; + String versionName = body != null && body.get("version_name") != null ? String.valueOf(body.get("version_name")) : null; return ResponseEntity.ok(ApiResponse.success(bomService.createBomVersion(bomId, companyCode, userId, versionName))); } @PostMapping("/{bomId}/initialize-version") public ResponseEntity> initializeBomVersion( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable String bomId) { return ResponseEntity.ok(ApiResponse.success(bomService.initializeBomVersion(bomId, companyCode, userId))); } @PostMapping("/{bomId}/versions/{versionId}/load") public ResponseEntity> loadBomVersion( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String bomId, @PathVariable String versionId) { return ResponseEntity.ok(ApiResponse.success(bomService.loadBomVersion(bomId, versionId, companyCode))); @@ -158,8 +158,8 @@ public class BomController { @PostMapping("/excel-upload") @SuppressWarnings("unchecked") public ResponseEntity> createBomFromExcel( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { List> rows = (List>) body.get("rows"); if (rows == null || rows.isEmpty()) { @@ -172,22 +172,22 @@ public class BomController { @PostMapping("/{bomId}/excel-upload-version") @SuppressWarnings("unchecked") public ResponseEntity> createBomVersionFromExcel( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable String bomId, @RequestBody Map body) { List> rows = (List>) body.get("rows"); if (rows == null || rows.isEmpty()) { return ResponseEntity.ok(ApiResponse.error("업로드할 데이터가 없습니다")); } - String versionName = body.get("versionName") != null ? String.valueOf(body.get("versionName")) : null; + String versionName = body.get("version_name") != null ? String.valueOf(body.get("version_name")) : null; Map result = bomService.createBomVersionFromExcel(bomId, companyCode, userId, rows, versionName); return ResponseEntity.ok(ApiResponse.success(result)); } @GetMapping("/{bomId}/excel-download") public ResponseEntity> downloadBomExcelData( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String bomId) { return ResponseEntity.ok(ApiResponse.success(bomService.downloadBomExcelData(bomId, companyCode))); } diff --git a/backend-spring/src/main/java/com/erp/controller/BookingController.java b/backend-spring/src/main/java/com/erp/controller/BookingController.java index 2368d520..4ae4e8ff 100644 --- a/backend-spring/src/main/java/com/erp/controller/BookingController.java +++ b/backend-spring/src/main/java/com/erp/controller/BookingController.java @@ -49,8 +49,8 @@ public class BookingController { @RequestBody(required = false) Map body) { Map params = new LinkedHashMap<>(); params.put("id", id); - if (body != null && body.containsKey("rejectionReason")) { - params.put("rejectionReason", body.get("rejectionReason")); + if (body != null && body.containsKey("rejection_reason")) { + params.put("rejection_reason", body.get("rejection_reason")); } return ResponseEntity.ok(ApiResponse.success(bookingService.rejectBooking(params))); } diff --git a/backend-spring/src/main/java/com/erp/controller/ButtonActionStandardController.java b/backend-spring/src/main/java/com/erp/controller/ButtonActionStandardController.java index 77415ce4..1f5fd7e8 100644 --- a/backend-spring/src/main/java/com/erp/controller/ButtonActionStandardController.java +++ b/backend-spring/src/main/java/com/erp/controller/ButtonActionStandardController.java @@ -47,7 +47,7 @@ public class ButtonActionStandardController { public ResponseEntity>> getButtonAction( @PathVariable String actionType) { Map params = new HashMap<>(); - params.put("actionType", actionType); + params.put("action_type", actionType); Map data = buttonActionStandardService.getButtonAction(params); if (data == null) { return ResponseEntity.status(HttpStatus.NOT_FOUND) @@ -62,7 +62,7 @@ public class ButtonActionStandardController { */ @PostMapping public ResponseEntity>> createButtonAction( - @RequestAttribute("userId") String userId, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { // 필수 필드 검증 if (body.get("action_type") == null || body.get("action_name") == null) { @@ -72,7 +72,7 @@ public class ButtonActionStandardController { body.put("created_by", userId); body.put("updated_by", userId); // selectButtonActionByType 에서 actionType 키 사용 - body.put("actionType", body.get("action_type")); + body.put("action_type", body.get("action_type")); Map data = buttonActionStandardService.createButtonAction(body); return ResponseEntity.status(HttpStatus.CREATED) @@ -85,9 +85,9 @@ public class ButtonActionStandardController { */ @PutMapping("/sort-order/bulk") public ResponseEntity> updateButtonActionSortOrder( - @RequestAttribute("userId") String userId, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { - Object raw = body.get("buttonActions"); + Object raw = body.get("button_actions"); if (!(raw instanceof List)) { return ResponseEntity.status(HttpStatus.BAD_REQUEST) .body(ApiResponse.error("유효하지 않은 데이터 형식입니다.")); @@ -105,9 +105,9 @@ public class ButtonActionStandardController { @PutMapping("/{actionType}") public ResponseEntity>> updateButtonAction( @PathVariable String actionType, - @RequestAttribute("userId") String userId, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { - body.put("actionType", actionType); + body.put("action_type", actionType); body.put("updated_by", userId); Map data = buttonActionStandardService.updateButtonAction(body); if (data == null) { @@ -125,7 +125,7 @@ public class ButtonActionStandardController { public ResponseEntity> deleteButtonAction( @PathVariable String actionType) { Map params = new HashMap<>(); - params.put("actionType", actionType); + params.put("action_type", actionType); boolean deleted = buttonActionStandardService.deleteButtonAction(params); if (!deleted) { return ResponseEntity.status(HttpStatus.NOT_FOUND) diff --git a/backend-spring/src/main/java/com/erp/controller/ButtonDataflowController.java b/backend-spring/src/main/java/com/erp/controller/ButtonDataflowController.java index 4f142e4e..fea04547 100644 --- a/backend-spring/src/main/java/com/erp/controller/ButtonDataflowController.java +++ b/backend-spring/src/main/java/com/erp/controller/ButtonDataflowController.java @@ -66,7 +66,7 @@ public class ButtonDataflowController { /** GET /diagrams */ @GetMapping("/diagrams") public ResponseEntity>>> getAvailableDiagrams( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { if (companyCode == null || companyCode.isBlank()) { return ResponseEntity.status(400).body(ApiResponse.error("회사 코드가 필요합니다.")); @@ -82,7 +82,7 @@ public class ButtonDataflowController { @GetMapping("/diagrams/{diagramId}/relationships") public ResponseEntity>>> getDiagramRelationships( @PathVariable int diagramId, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { if (companyCode == null || companyCode.isBlank()) { return ResponseEntity.status(400).body(ApiResponse.error("회사 코드가 필요합니다.")); @@ -103,7 +103,7 @@ public class ButtonDataflowController { public ResponseEntity>> getRelationshipPreview( @PathVariable int diagramId, @PathVariable String relationshipId, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { if (companyCode == null || companyCode.isBlank()) { return ResponseEntity.status(400).body(ApiResponse.error("관계도 ID, 관계 ID, 회사 코드가 필요합니다.")); @@ -126,7 +126,7 @@ public class ButtonDataflowController { /** POST /execute-optimized (메인 최적화 실행) */ @PostMapping("/execute-optimized") public ResponseEntity>> executeOptimizedButton( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { return doExecuteOptimized(companyCode, body); } @@ -134,7 +134,7 @@ public class ButtonDataflowController { /** POST /execute (레거시 — executeOptimized 와 동일) */ @PostMapping("/execute") public ResponseEntity>> executeLegacy( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { return doExecuteOptimized(companyCode, body); } @@ -142,7 +142,7 @@ public class ButtonDataflowController { /** POST /execute-background (레거시 — executeOptimized 와 동일) */ @PostMapping("/execute-background") public ResponseEntity>> executeBackground( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { return doExecuteOptimized(companyCode, body); } @@ -150,10 +150,10 @@ public class ButtonDataflowController { /** POST /execute-simple */ @PostMapping("/execute-simple") public ResponseEntity>> executeSimpleDataflow( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { try { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(service.executeSimpleDataflow(body))); } catch (Exception e) { log.error("단순 데이터플로우 실행 오류", e); @@ -185,7 +185,7 @@ public class ButtonDataflowController { public ResponseEntity>> getJoinRelationship( @PathVariable String mainTable, @PathVariable String detailTable, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { if (mainTable == null || detailTable == null) { return ResponseEntity.status(400).body(ApiResponse.error("메인 테이블과 디테일 테이블이 필요합니다.")); @@ -205,13 +205,13 @@ public class ButtonDataflowController { private ResponseEntity>> doExecuteOptimized( String companyCode, Map body) { try { - String buttonId = (String) body.get("buttonId"); - String actionType = (String) body.get("actionType"); + String buttonId = (String) body.get("button_id"); + String actionType = (String) body.get("action_type"); if (buttonId == null || actionType == null) { return ResponseEntity.status(400).body(ApiResponse.error("필수 파라미터가 누락되었습니다.")); } - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(service.executeOptimizedButton(body))); } catch (Exception e) { log.error("버튼 실행 오류", e); diff --git a/backend-spring/src/main/java/com/erp/controller/CascadingAutoFillController.java b/backend-spring/src/main/java/com/erp/controller/CascadingAutoFillController.java index 3517e8b6..0c1d21cf 100644 --- a/backend-spring/src/main/java/com/erp/controller/CascadingAutoFillController.java +++ b/backend-spring/src/main/java/com/erp/controller/CascadingAutoFillController.java @@ -19,27 +19,27 @@ public class CascadingAutoFillController { // Pipeline api_test compatibility alias @GetMapping("/list") public ResponseEntity>> getGroupListAlias( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(cascadingAutoFillService.getCascadingAutoFillGroupList(params))); } @GetMapping("/groups") public ResponseEntity>> getGroupList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(cascadingAutoFillService.getCascadingAutoFillGroupList(params))); } @GetMapping("/groups/{groupCode}") public ResponseEntity>> getGroupDetail( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String groupCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("groupCode", groupCode); + params.put("company_code", companyCode); + params.put("group_code", groupCode); Map result = cascadingAutoFillService.getCascadingAutoFillGroupDetail(params); if (result == null) { return ResponseEntity.status(HttpStatus.NOT_FOUND) @@ -50,20 +50,20 @@ public class CascadingAutoFillController { @PostMapping("/groups") public ResponseEntity>> createGroup( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.status(HttpStatus.CREATED) .body(ApiResponse.success(cascadingAutoFillService.insertCascadingAutoFillGroup(body))); } @PutMapping("/groups/{groupCode}") public ResponseEntity>> updateGroup( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String groupCode, @RequestBody Map body) { - body.put("companyCode", companyCode); - body.put("groupCode", groupCode); + body.put("company_code", companyCode); + body.put("group_code", groupCode); Map result = cascadingAutoFillService.updateCascadingAutoFillGroup(body); if (result == null) { return ResponseEntity.status(HttpStatus.NOT_FOUND) @@ -74,11 +74,11 @@ public class CascadingAutoFillController { @DeleteMapping("/groups/{groupCode}") public ResponseEntity> deleteGroup( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String groupCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("groupCode", groupCode); + params.put("company_code", companyCode); + params.put("group_code", groupCode); boolean deleted = cascadingAutoFillService.deleteCascadingAutoFillGroup(params); if (!deleted) { return ResponseEntity.status(HttpStatus.NOT_FOUND) @@ -89,11 +89,11 @@ public class CascadingAutoFillController { @GetMapping("/options/{groupCode}") public ResponseEntity>>> getMasterOptions( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String groupCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("groupCode", groupCode); + params.put("company_code", companyCode); + params.put("group_code", groupCode); List> result = cascadingAutoFillService.getAutoFillMasterOptions(params); if (result == null) { return ResponseEntity.status(HttpStatus.NOT_FOUND) @@ -104,7 +104,7 @@ public class CascadingAutoFillController { @GetMapping("/data/{groupCode}") public ResponseEntity>> getAutoFillData( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String groupCode, @RequestParam(required = false) String masterValue) { if (masterValue == null || masterValue.isBlank()) { @@ -112,9 +112,9 @@ public class CascadingAutoFillController { .body(ApiResponse.error("masterValue 파라미터가 필요합니다.")); } Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("groupCode", groupCode); - params.put("masterValue", masterValue); + params.put("company_code", companyCode); + params.put("group_code", groupCode); + params.put("master_value", masterValue); Map result = cascadingAutoFillService.getAutoFillData(params); if (result == null) { return ResponseEntity.status(HttpStatus.NOT_FOUND) diff --git a/backend-spring/src/main/java/com/erp/controller/CascadingConditionController.java b/backend-spring/src/main/java/com/erp/controller/CascadingConditionController.java index 0d0b3220..39894d61 100644 --- a/backend-spring/src/main/java/com/erp/controller/CascadingConditionController.java +++ b/backend-spring/src/main/java/com/erp/controller/CascadingConditionController.java @@ -17,65 +17,65 @@ public class CascadingConditionController { @GetMapping("/list") public ResponseEntity>> getCascadingConditionListAlias( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(cascadingConditionService.getCascadingConditionList(params))); } @GetMapping public ResponseEntity>> getCascadingConditionList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(cascadingConditionService.getCascadingConditionList(params))); } @GetMapping("/filtered-options/{relationCode}") public ResponseEntity>> getFilteredOptions( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String relationCode, @RequestParam Map params) { - params.put("companyCode", companyCode); - params.put("relationCode", relationCode); + params.put("company_code", companyCode); + params.put("relation_code", relationCode); return ResponseEntity.ok(ApiResponse.success(cascadingConditionService.getFilteredOptions(params))); } @GetMapping("/{conditionId}") public ResponseEntity>> getCascadingConditionInfo( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long conditionId) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("conditionId", conditionId); + params.put("company_code", companyCode); + params.put("condition_id", conditionId); return ResponseEntity.ok(ApiResponse.success(cascadingConditionService.getCascadingConditionInfo(params))); } @PostMapping public ResponseEntity>> insertCascadingCondition( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(cascadingConditionService.insertCascadingCondition(body))); } @PutMapping("/{conditionId}") public ResponseEntity>> updateCascadingCondition( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long conditionId, @RequestBody Map body) { - body.put("companyCode", companyCode); - body.put("conditionId", conditionId); + body.put("company_code", companyCode); + body.put("condition_id", conditionId); return ResponseEntity.ok(ApiResponse.success(cascadingConditionService.updateCascadingCondition(body))); } @DeleteMapping("/{conditionId}") public ResponseEntity>> deleteCascadingCondition( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long conditionId) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("conditionId", conditionId); + params.put("company_code", companyCode); + params.put("condition_id", conditionId); return ResponseEntity.ok(ApiResponse.success(cascadingConditionService.deleteCascadingCondition(params))); } } diff --git a/backend-spring/src/main/java/com/erp/controller/CascadingHierarchyController.java b/backend-spring/src/main/java/com/erp/controller/CascadingHierarchyController.java index f37c9020..09fe1383 100644 --- a/backend-spring/src/main/java/com/erp/controller/CascadingHierarchyController.java +++ b/backend-spring/src/main/java/com/erp/controller/CascadingHierarchyController.java @@ -19,27 +19,27 @@ public class CascadingHierarchyController { // Pipeline api_test compatibility alias @GetMapping("/list") public ResponseEntity>> getGroupListAlias( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(cascadingHierarchyService.getCascadingHierarchyGroupList(params))); } @GetMapping public ResponseEntity>> getGroupList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(cascadingHierarchyService.getCascadingHierarchyGroupList(params))); } @GetMapping("/{groupCode}") public ResponseEntity>> getGroupDetail( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String groupCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("groupCode", groupCode); + params.put("company_code", companyCode); + params.put("group_code", groupCode); Map result = cascadingHierarchyService.getCascadingHierarchyGroupDetail(params); if (result == null) { return ResponseEntity.status(HttpStatus.NOT_FOUND) @@ -50,24 +50,24 @@ public class CascadingHierarchyController { @PostMapping public ResponseEntity>> createGroup( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @RequestBody Map body) { - body.put("companyCode", companyCode); - if (userId != null) body.put("userId", userId); + body.put("company_code", companyCode); + if (userId != null) body.put("user_id", userId); return ResponseEntity.status(HttpStatus.CREATED) .body(ApiResponse.success(cascadingHierarchyService.insertCascadingHierarchyGroup(body))); } @PutMapping("/{groupCode}") public ResponseEntity>> updateGroup( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @PathVariable String groupCode, @RequestBody Map body) { - body.put("companyCode", companyCode); - body.put("groupCode", groupCode); - if (userId != null) body.put("userId", userId); + body.put("company_code", companyCode); + body.put("group_code", groupCode); + if (userId != null) body.put("user_id", userId); Map result = cascadingHierarchyService.updateCascadingHierarchyGroup(body); if (result == null) { return ResponseEntity.status(HttpStatus.NOT_FOUND) @@ -78,11 +78,11 @@ public class CascadingHierarchyController { @DeleteMapping("/{groupCode}") public ResponseEntity> deleteGroup( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String groupCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("groupCode", groupCode); + params.put("company_code", companyCode); + params.put("group_code", groupCode); boolean deleted = cascadingHierarchyService.deleteCascadingHierarchyGroup(params); if (!deleted) { return ResponseEntity.status(HttpStatus.NOT_FOUND) @@ -93,11 +93,11 @@ public class CascadingHierarchyController { @PostMapping("/{groupCode}/levels") public ResponseEntity>> addLevel( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String groupCode, @RequestBody Map body) { - body.put("companyCode", companyCode); - body.put("groupCode", groupCode); + body.put("company_code", companyCode); + body.put("group_code", groupCode); Map result = cascadingHierarchyService.addCascadingHierarchyLevel(body); if (result == null) { return ResponseEntity.status(HttpStatus.NOT_FOUND) @@ -108,11 +108,11 @@ public class CascadingHierarchyController { @PutMapping("/levels/{levelId}") public ResponseEntity>> updateLevel( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long levelId, @RequestBody Map body) { - body.put("companyCode", companyCode); - body.put("levelId", levelId); + body.put("company_code", companyCode); + body.put("level_id", levelId); Map result = cascadingHierarchyService.updateCascadingHierarchyLevel(body); if (result == null) { return ResponseEntity.status(HttpStatus.NOT_FOUND) @@ -123,11 +123,11 @@ public class CascadingHierarchyController { @DeleteMapping("/levels/{levelId}") public ResponseEntity> deleteLevel( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long levelId) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("levelId", levelId); + params.put("company_code", companyCode); + params.put("level_id", levelId); boolean deleted = cascadingHierarchyService.deleteCascadingHierarchyLevel(params); if (!deleted) { return ResponseEntity.status(HttpStatus.NOT_FOUND) @@ -138,15 +138,15 @@ public class CascadingHierarchyController { @GetMapping("/{groupCode}/options/{levelOrder}") public ResponseEntity>> getLevelOptions( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String groupCode, @PathVariable Integer levelOrder, @RequestParam(required = false) String parentValue) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("groupCode", groupCode); - params.put("levelOrder", levelOrder); - if (parentValue != null) params.put("parentValue", parentValue); + params.put("company_code", companyCode); + params.put("group_code", groupCode); + params.put("level_order", levelOrder); + if (parentValue != null) params.put("parent_value", parentValue); Map result = cascadingHierarchyService.getLevelOptions(params); if (result == null) { return ResponseEntity.status(HttpStatus.NOT_FOUND) diff --git a/backend-spring/src/main/java/com/erp/controller/CascadingMutualExclusionController.java b/backend-spring/src/main/java/com/erp/controller/CascadingMutualExclusionController.java index 82287dcb..739afd4d 100644 --- a/backend-spring/src/main/java/com/erp/controller/CascadingMutualExclusionController.java +++ b/backend-spring/src/main/java/com/erp/controller/CascadingMutualExclusionController.java @@ -22,9 +22,9 @@ public class CascadingMutualExclusionController { /** GET /list — 목록 조회 (alias) */ @GetMapping("/list") public ResponseEntity>> getCascadingMutualExclusionListAlias( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success( cascadingMutualExclusionService.getCascadingMutualExclusionList(params))); } @@ -32,9 +32,9 @@ public class CascadingMutualExclusionController { /** GET / — 목록 조회 */ @GetMapping public ResponseEntity>> getCascadingMutualExclusionList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success( cascadingMutualExclusionService.getCascadingMutualExclusionList(params))); } @@ -42,10 +42,10 @@ public class CascadingMutualExclusionController { /** GET /{exclusionId} — 상세 조회 */ @GetMapping("/{exclusionId}") public ResponseEntity>> getCascadingMutualExclusionInfo( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long exclusionId) { Map params = new LinkedHashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", exclusionId); return ResponseEntity.ok(ApiResponse.success( cascadingMutualExclusionService.getCascadingMutualExclusionInfo(params))); @@ -54,9 +54,9 @@ public class CascadingMutualExclusionController { /** POST / — 생성 */ @PostMapping public ResponseEntity>> insertCascadingMutualExclusion( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success( cascadingMutualExclusionService.insertCascadingMutualExclusion(body))); } @@ -64,10 +64,10 @@ public class CascadingMutualExclusionController { /** PUT /{exclusionId} — 수정 */ @PutMapping("/{exclusionId}") public ResponseEntity>> updateCascadingMutualExclusion( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long exclusionId, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); body.put("id", exclusionId); return ResponseEntity.ok(ApiResponse.success( cascadingMutualExclusionService.updateCascadingMutualExclusion(body))); @@ -76,10 +76,10 @@ public class CascadingMutualExclusionController { /** DELETE /{exclusionId} — 하드 삭제 */ @DeleteMapping("/{exclusionId}") public ResponseEntity>> deleteCascadingMutualExclusion( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long exclusionId) { Map params = new LinkedHashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", exclusionId); return ResponseEntity.ok(ApiResponse.success( cascadingMutualExclusionService.deleteCascadingMutualExclusion(params))); @@ -87,14 +87,14 @@ public class CascadingMutualExclusionController { /** * POST /validate/{exclusionCode} — 상호 배제 검증 - * body: { "fieldValues": { "fieldA": "val1", "fieldB": "val1" } } + * body: { "field_values": { "field_a": "val1", "field_b": "val1" } } */ @PostMapping("/validate/{exclusionCode}") public ResponseEntity>> validateCascadingMutualExclusion( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String exclusionCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); body.put("code", exclusionCode); return ResponseEntity.ok(ApiResponse.success( cascadingMutualExclusionService.validateCascadingMutualExclusion(body))); @@ -106,15 +106,15 @@ public class CascadingMutualExclusionController { */ @GetMapping("/options/{exclusionCode}") public ResponseEntity>>> getExcludedOptions( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String exclusionCode, @RequestParam(required = false) String currentField, @RequestParam(required = false) String selectedValues) { Map params = new LinkedHashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("code", exclusionCode); - params.put("currentField", currentField); - params.put("selectedValues", selectedValues); + params.put("current_field", currentField); + params.put("selected_values", selectedValues); return ResponseEntity.ok(ApiResponse.success( cascadingMutualExclusionService.getExcludedOptions(params))); } diff --git a/backend-spring/src/main/java/com/erp/controller/CascadingRelationController.java b/backend-spring/src/main/java/com/erp/controller/CascadingRelationController.java index c60940aa..ec6dd787 100644 --- a/backend-spring/src/main/java/com/erp/controller/CascadingRelationController.java +++ b/backend-spring/src/main/java/com/erp/controller/CascadingRelationController.java @@ -22,9 +22,9 @@ public class CascadingRelationController { /** GET /api/cascading-relation/list — 목록 조회 (alias) */ @GetMapping("/list") public ResponseEntity>> getCascadingRelationListAlias( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success( cascadingRelationService.getCascadingRelationList(params))); } @@ -32,9 +32,9 @@ public class CascadingRelationController { /** GET /api/cascading-relation — 목록 조회 */ @GetMapping public ResponseEntity>> getCascadingRelationList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success( cascadingRelationService.getCascadingRelationList(params))); } @@ -42,10 +42,10 @@ public class CascadingRelationController { /** GET /api/cascading-relation/{id} — 상세 조회 */ @GetMapping("/{id}") public ResponseEntity>> getCascadingRelationInfo( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new LinkedHashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success( cascadingRelationService.getCascadingRelationInfo(params))); @@ -54,10 +54,10 @@ public class CascadingRelationController { /** GET /api/cascading-relation/code/{code} — 코드로 단건 조회 */ @GetMapping("/code/{code}") public ResponseEntity>> getCascadingRelationByCode( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String code) { Map params = new LinkedHashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("code", code); return ResponseEntity.ok(ApiResponse.success( cascadingRelationService.getCascadingRelationByCode(params))); @@ -69,10 +69,10 @@ public class CascadingRelationController { */ @GetMapping("/parent-options/{code}") public ResponseEntity>>> getParentOptions( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String code) { Map params = new LinkedHashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("code", code); return ResponseEntity.ok(ApiResponse.success( cascadingRelationService.getParentOptions(params))); @@ -84,15 +84,15 @@ public class CascadingRelationController { */ @GetMapping("/options/{code}") public ResponseEntity>>> getCascadingOptions( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String code, @RequestParam(required = false) String parentValue, @RequestParam(required = false) String parentValues) { Map params = new LinkedHashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("code", code); - params.put("parentValue", parentValue); - params.put("parentValues", parentValues); + params.put("parent_value", parentValue); + params.put("parent_values", parentValues); return ResponseEntity.ok(ApiResponse.success( cascadingRelationService.getCascadingOptions(params))); } @@ -100,11 +100,11 @@ public class CascadingRelationController { /** POST /api/cascading-relation — 생성 */ @PostMapping public ResponseEntity>> insertCascadingRelation( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @RequestBody Map body) { - body.put("companyCode", companyCode); - body.put("userId", userId != null ? userId : "system"); + body.put("company_code", companyCode); + body.put("user_id", userId != null ? userId : "system"); return ResponseEntity.ok(ApiResponse.success( cascadingRelationService.insertCascadingRelation(body))); } @@ -112,12 +112,12 @@ public class CascadingRelationController { /** PUT /api/cascading-relation/{id} — 수정 */ @PutMapping("/{id}") public ResponseEntity>> updateCascadingRelation( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @PathVariable Long id, @RequestBody Map body) { - body.put("companyCode", companyCode); - body.put("userId", userId != null ? userId : "system"); + body.put("company_code", companyCode); + body.put("user_id", userId != null ? userId : "system"); body.put("id", id); return ResponseEntity.ok(ApiResponse.success( cascadingRelationService.updateCascadingRelation(body))); @@ -126,12 +126,12 @@ public class CascadingRelationController { /** DELETE /api/cascading-relation/{id} — 소프트 삭제 (is_active = 'N') */ @DeleteMapping("/{id}") public ResponseEntity>> deleteCascadingRelation( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @PathVariable Long id) { Map params = new LinkedHashMap<>(); - params.put("companyCode", companyCode); - params.put("userId", userId != null ? userId : "system"); + params.put("company_code", companyCode); + params.put("user_id", userId != null ? userId : "system"); params.put("id", id); return ResponseEntity.ok(ApiResponse.success( cascadingRelationService.deleteCascadingRelation(params))); diff --git a/backend-spring/src/main/java/com/erp/controller/CategoryTreeController.java b/backend-spring/src/main/java/com/erp/controller/CategoryTreeController.java index 287a7f16..e98b38dc 100644 --- a/backend-spring/src/main/java/com/erp/controller/CategoryTreeController.java +++ b/backend-spring/src/main/java/com/erp/controller/CategoryTreeController.java @@ -25,7 +25,7 @@ public class CategoryTreeController { */ @GetMapping("/test/all-category-keys") public ResponseEntity>>> getCategoryTreeKeyList( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { List> keys = categoryTreeService.getCategoryTreeKeyList(companyCode); return ResponseEntity.ok(ApiResponse.success(keys)); @@ -37,7 +37,7 @@ public class CategoryTreeController { */ @GetMapping("/test/{tableName}/{columnName}") public ResponseEntity>>> getCategoryTreeList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String tableName, @PathVariable String columnName) { @@ -51,7 +51,7 @@ public class CategoryTreeController { */ @GetMapping("/test/{tableName}/{columnName}/flat") public ResponseEntity>>> getCategoryTreeFlatList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String tableName, @PathVariable String columnName) { @@ -65,7 +65,7 @@ public class CategoryTreeController { */ @GetMapping("/test/value/{valueId}") public ResponseEntity>> getCategoryTreeInfo( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int valueId) { Map value = categoryTreeService.getCategoryTreeInfo(companyCode, valueId); @@ -81,19 +81,19 @@ public class CategoryTreeController { */ @PostMapping("/test/value") public ResponseEntity>> insertCategoryTree( - @RequestAttribute("companyCode") String userCompanyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String userCompanyCode, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { - if (body.get("tableName") == null || body.get("columnName") == null - || body.get("valueCode") == null || body.get("valueLabel") == null) { + if (body.get("table_name") == null || body.get("column_name") == null + || body.get("value_code") == null || body.get("value_label") == null) { return ResponseEntity.badRequest() .body(ApiResponse.error("tableName, columnName, valueCode, valueLabel은 필수입니다")); } // 최고 관리자(*) 는 targetCompanyCode 로 회사 코드 오버라이드 가능 String companyCode = userCompanyCode; - String targetCompanyCode = (String) body.get("targetCompanyCode"); + String targetCompanyCode = (String) body.get("target_company_code"); if (targetCompanyCode != null && "*".equals(userCompanyCode)) { companyCode = targetCompanyCode; } @@ -115,8 +115,8 @@ public class CategoryTreeController { */ @PutMapping("/test/value/{valueId}") public ResponseEntity>> updateCategoryTree( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable int valueId, @RequestBody Map body) { @@ -140,7 +140,7 @@ public class CategoryTreeController { */ @GetMapping("/test/value/{valueId}/can-delete") public ResponseEntity>> checkCanDelete( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int valueId) { Map result = categoryTreeService.checkCanDelete(companyCode, valueId); @@ -153,7 +153,7 @@ public class CategoryTreeController { */ @DeleteMapping("/test/value/{valueId}") public ResponseEntity> deleteCategoryTree( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int valueId) { try { @@ -182,7 +182,7 @@ public class CategoryTreeController { */ @GetMapping("/test/columns/{tableName}") public ResponseEntity>>> getCategoryTreeColumnList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String tableName) { List> columns = categoryTreeService.getCategoryTreeColumnList(companyCode, tableName); diff --git a/backend-spring/src/main/java/com/erp/controller/CategoryValueCascadingController.java b/backend-spring/src/main/java/com/erp/controller/CategoryValueCascadingController.java index 866015a3..20ef17c9 100644 --- a/backend-spring/src/main/java/com/erp/controller/CategoryValueCascadingController.java +++ b/backend-spring/src/main/java/com/erp/controller/CategoryValueCascadingController.java @@ -18,20 +18,20 @@ public class CategoryValueCascadingController { /** GET /groups → 그룹 목록 조회 */ @GetMapping("/groups") public ResponseEntity>> getCategoryValueCascadingGroupList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(categoryValueCascadingService.getCategoryValueCascadingGroupList(params))); } /** GET /groups/{groupId} → 그룹 상세 조회 (매핑 포함) */ @GetMapping("/groups/{groupId}") public ResponseEntity>> getCategoryValueCascadingGroupInfo( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long groupId) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("groupId", groupId); + params.put("company_code", companyCode); + params.put("group_id", groupId); Map result = categoryValueCascadingService.getCategoryValueCascadingGroupInfo(params); if (result == null) { return ResponseEntity.status(404).body(ApiResponse.error("카테고리 값 연쇄관계 그룹을 찾을 수 없습니다.")); @@ -42,10 +42,10 @@ public class CategoryValueCascadingController { /** GET /code/{code} → 관계 코드로 조회 */ @GetMapping("/code/{code}") public ResponseEntity>> getCategoryValueCascadingGroupByCode( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String code) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("code", code); Map result = categoryValueCascadingService.getCategoryValueCascadingGroupByCode(params); if (result == null) { @@ -57,52 +57,52 @@ public class CategoryValueCascadingController { /** POST /groups → 그룹 생성 */ @PostMapping("/groups") public ResponseEntity>> insertCategoryValueCascadingGroup( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(categoryValueCascadingService.insertCategoryValueCascadingGroup(body))); } /** PUT /groups/{groupId} → 그룹 수정 */ @PutMapping("/groups/{groupId}") public ResponseEntity>> updateCategoryValueCascadingGroup( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long groupId, @RequestBody Map body) { - body.put("companyCode", companyCode); - body.put("groupId", groupId); + body.put("company_code", companyCode); + body.put("group_id", groupId); return ResponseEntity.ok(ApiResponse.success(categoryValueCascadingService.updateCategoryValueCascadingGroup(body))); } /** DELETE /groups/{groupId} → 그룹 소프트 삭제 */ @DeleteMapping("/groups/{groupId}") public ResponseEntity>> deleteCategoryValueCascadingGroup( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long groupId) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("groupId", groupId); + params.put("company_code", companyCode); + params.put("group_id", groupId); return ResponseEntity.ok(ApiResponse.success(categoryValueCascadingService.deleteCategoryValueCascadingGroup(params))); } /** POST /groups/{groupId}/mappings → 매핑 일괄 저장 */ @PostMapping("/groups/{groupId}/mappings") public ResponseEntity>> saveCategoryValueCascadingMappings( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long groupId, @RequestBody Map body) { - body.put("companyCode", companyCode); - body.put("groupId", groupId); + body.put("company_code", companyCode); + body.put("group_id", groupId); return ResponseEntity.ok(ApiResponse.success(categoryValueCascadingService.saveCategoryValueCascadingMappings(body))); } /** GET /parent-options/{code} → 부모 카테고리 값 목록 */ @GetMapping("/parent-options/{code}") public ResponseEntity>> getCategoryValueCascadingParentOptions( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String code, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("code", code); return ResponseEntity.ok(ApiResponse.success(categoryValueCascadingService.getCategoryValueCascadingParentOptions(params))); } @@ -110,10 +110,10 @@ public class CategoryValueCascadingController { /** GET /child-options/{code} → 자식 카테고리 값 목록 */ @GetMapping("/child-options/{code}") public ResponseEntity>> getCategoryValueCascadingChildOptions( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String code, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("code", code); return ResponseEntity.ok(ApiResponse.success(categoryValueCascadingService.getCategoryValueCascadingChildOptions(params))); } @@ -121,10 +121,10 @@ public class CategoryValueCascadingController { /** GET /options/{code} → 연쇄 옵션 조회 (parentValue/parentValues 파라미터) */ @GetMapping("/options/{code}") public ResponseEntity>> getCategoryValueCascadingOptions( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String code, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("code", code); return ResponseEntity.ok(ApiResponse.success(categoryValueCascadingService.getCategoryValueCascadingOptions(params))); } @@ -132,11 +132,11 @@ public class CategoryValueCascadingController { /** GET /table/{tableName}/mappings → 테이블별 매핑 조회 */ @GetMapping("/table/{tableName}/mappings") public ResponseEntity>> getCategoryValueCascadingMappingsByTable( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String tableName) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("tableName", tableName); + params.put("company_code", companyCode); + params.put("table_name", tableName); return ResponseEntity.ok(ApiResponse.success(categoryValueCascadingService.getCategoryValueCascadingMappingsByTable(params))); } } diff --git a/backend-spring/src/main/java/com/erp/controller/CodeMergeController.java b/backend-spring/src/main/java/com/erp/controller/CodeMergeController.java index 8e122e96..4874ad79 100644 --- a/backend-spring/src/main/java/com/erp/controller/CodeMergeController.java +++ b/backend-spring/src/main/java/com/erp/controller/CodeMergeController.java @@ -20,9 +20,9 @@ public class CodeMergeController { /** POST /api/code-merge/merge-all-tables — columnName 기준 전체 테이블 코드 병합 */ @PostMapping("/merge-all-tables") public ResponseEntity>> mergeAllTables( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success( codeMergeService.mergeAllTables(body), "코드 병합이 완료되었습니다.")); @@ -39,9 +39,9 @@ public class CodeMergeController { /** POST /api/code-merge/preview — columnName + oldValue 기준 영향 미리보기 */ @PostMapping("/preview") public ResponseEntity>> previewCodeMerge( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success( codeMergeService.previewCodeMerge(body))); } @@ -49,9 +49,9 @@ public class CodeMergeController { /** POST /api/code-merge/merge-by-value — 값 기반 전체 테이블/컬럼 코드 병합 */ @PostMapping("/merge-by-value") public ResponseEntity>> mergeByValue( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success( codeMergeService.mergeByValue(body), "코드 병합이 완료되었습니다.")); @@ -60,9 +60,9 @@ public class CodeMergeController { /** POST /api/code-merge/preview-by-value — 값 기반 영향 미리보기 */ @PostMapping("/preview-by-value") public ResponseEntity>> previewByValue( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success( codeMergeService.previewByValue(body))); } diff --git a/backend-spring/src/main/java/com/erp/controller/CollectionController.java b/backend-spring/src/main/java/com/erp/controller/CollectionController.java index 194ed9ef..ecf23dd7 100644 --- a/backend-spring/src/main/java/com/erp/controller/CollectionController.java +++ b/backend-spring/src/main/java/com/erp/controller/CollectionController.java @@ -16,82 +16,82 @@ public class CollectionController { @GetMapping public ResponseEntity>> getCollectionList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(collectionService.getCollectionList(params))); } @GetMapping("/list") public ResponseEntity>> getCollectionListAlias( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(collectionService.getCollectionList(params))); } @GetMapping("/jobs/list") public ResponseEntity>> getCollectionJobList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(collectionService.getCollectionJobList(params))); } @GetMapping("/{id}") public ResponseEntity>> getCollectionInfo( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success(collectionService.getCollectionInfo(params))); } @GetMapping("/{configId}/history") public ResponseEntity>>> getCollectionHistory( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long configId) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("configId", configId); + params.put("company_code", companyCode); + params.put("config_id", configId); return ResponseEntity.ok(ApiResponse.success(collectionService.getCollectionHistory(params))); } @PostMapping public ResponseEntity>> insertCollection( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.status(201).body(ApiResponse.success(collectionService.insertCollection(body), "수집 설정이 생성되었습니다.")); } @PostMapping("/{id}/execute") public ResponseEntity>> executeCollection( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success(collectionService.executeCollection(params))); } @PutMapping("/{id}") public ResponseEntity>> updateCollection( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); body.put("id", id); return ResponseEntity.ok(ApiResponse.success(collectionService.updateCollection(body))); } @DeleteMapping("/{id}") public ResponseEntity>> deleteCollection( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); collectionService.deleteCollection(params); return ResponseEntity.ok(ApiResponse.success(null, "수집 설정이 삭제되었습니다.")); diff --git a/backend-spring/src/main/java/com/erp/controller/CommonCodeController.java b/backend-spring/src/main/java/com/erp/controller/CommonCodeController.java index cf12eceb..2e9f4352 100644 --- a/backend-spring/src/main/java/com/erp/controller/CommonCodeController.java +++ b/backend-spring/src/main/java/com/erp/controller/CommonCodeController.java @@ -34,10 +34,10 @@ public class CommonCodeController { @GetMapping("/categories") public ResponseEntity> getCommonCodeCategoryList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); Map svcResult = service.getCommonCodeCategoryList(params); Map response = new java.util.LinkedHashMap<>(); @@ -54,8 +54,8 @@ public class CommonCodeController { @GetMapping("/categories/check-duplicate") public ResponseEntity>> checkCategoryDuplicate( - @RequestAttribute("companyCode") String companyCode, - @RequestParam(defaultValue = "categoryCode") String field, + @RequestAttribute("company_code") String companyCode, + @RequestParam(defaultValue = "category_code") String field, @RequestParam String value, @RequestParam(required = false) String excludeCode) { @@ -69,11 +69,11 @@ public class CommonCodeController { @PostMapping("/categories") public ResponseEntity>> insertCommonCodeCategory( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { - if (body.get("categoryCode") == null || body.get("categoryName") == null) { + if (body.get("category_code") == null || body.get("category_name") == null) { return ResponseEntity.status(400) .body(ApiResponse.error("필수 필드가 누락되었습니다. (categoryCode, categoryName)")); } @@ -94,8 +94,8 @@ public class CommonCodeController { @PutMapping("/categories/{categoryCode}") public ResponseEntity>> updateCommonCodeCategory( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable String categoryCode, @RequestBody Map body) { @@ -119,7 +119,7 @@ public class CommonCodeController { @DeleteMapping("/categories/{categoryCode}") public ResponseEntity> deleteCommonCodeCategory( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String categoryCode) { try { @@ -140,11 +140,11 @@ public class CommonCodeController { @GetMapping("/categories/{categoryCode}/codes") public ResponseEntity> getCommonCodeList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String categoryCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); Map svcResult = service.getCommonCodeList(categoryCode, params); Map response = new java.util.LinkedHashMap<>(); @@ -161,12 +161,12 @@ public class CommonCodeController { @PostMapping("/categories/{categoryCode}/codes") public ResponseEntity>> insertCommonCode( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable String categoryCode, @RequestBody Map body) { - if (body.get("codeValue") == null || body.get("codeName") == null) { + if (body.get("code_value") == null || body.get("code_name") == null) { return ResponseEntity.status(400) .body(ApiResponse.error("필수 필드가 누락되었습니다. (codeValue, codeName)")); } @@ -187,9 +187,9 @@ public class CommonCodeController { @GetMapping("/categories/{categoryCode}/codes/check-duplicate") public ResponseEntity>> checkCodeDuplicate( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String categoryCode, - @RequestParam(defaultValue = "codeValue") String field, + @RequestParam(defaultValue = "code_value") String field, @RequestParam String value, @RequestParam(required = false) String excludeCode) { @@ -204,7 +204,7 @@ public class CommonCodeController { @SuppressWarnings("unchecked") @PutMapping("/categories/{categoryCode}/codes/reorder") public ResponseEntity> updateCommonCodeOrder( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String categoryCode, @RequestBody Map body) { @@ -229,11 +229,11 @@ public class CommonCodeController { @GetMapping("/categories/{categoryCode}/hierarchy") public ResponseEntity>>> getCommonCodeHierarchicalList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String categoryCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok( ApiResponse.success(service.getCommonCodeHierarchicalList(categoryCode, params))); } @@ -244,7 +244,7 @@ public class CommonCodeController { @GetMapping("/categories/{categoryCode}/tree") public ResponseEntity>> getCommonCodeTree( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String categoryCode) { return ResponseEntity.ok( @@ -257,11 +257,11 @@ public class CommonCodeController { @GetMapping("/categories/{categoryCode}/options") public ResponseEntity>>> getCommonCodeOptionList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String categoryCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok( ApiResponse.success(service.getCommonCodeOptionList(categoryCode, params))); } @@ -272,7 +272,7 @@ public class CommonCodeController { @GetMapping("/categories/{categoryCode}/codes/{codeValue}/has-children") public ResponseEntity>> hasChildren( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String categoryCode, @PathVariable String codeValue) { @@ -286,8 +286,8 @@ public class CommonCodeController { @PutMapping("/categories/{categoryCode}/codes/{codeValue}") public ResponseEntity>> updateCommonCode( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable String categoryCode, @PathVariable String codeValue, @RequestBody Map body) { @@ -312,7 +312,7 @@ public class CommonCodeController { @DeleteMapping("/categories/{categoryCode}/codes/{codeValue}") public ResponseEntity> deleteCommonCode( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String categoryCode, @PathVariable String codeValue) { diff --git a/backend-spring/src/main/java/com/erp/controller/CompanyManagementController.java b/backend-spring/src/main/java/com/erp/controller/CompanyManagementController.java index d66e01b8..64e41d8f 100644 --- a/backend-spring/src/main/java/com/erp/controller/CompanyManagementController.java +++ b/backend-spring/src/main/java/com/erp/controller/CompanyManagementController.java @@ -28,14 +28,14 @@ public class CompanyManagementController { @RequestBody(required = false) Map body) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); if (body != null) { params.putAll(body); } try { Map data = companyManagementService.deleteCompany(params); - String companyName = (String) data.get("companyName"); + String companyName = (String) data.get("company_name"); return ResponseEntity.ok( ApiResponse.success(data, "회사 '" + companyName + "'이(가) 성공적으로 삭제되었습니다.")); } catch (IllegalArgumentException e) { diff --git a/backend-spring/src/main/java/com/erp/controller/ComponentStandardController.java b/backend-spring/src/main/java/com/erp/controller/ComponentStandardController.java index d751a87b..34b8d55d 100644 --- a/backend-spring/src/main/java/com/erp/controller/ComponentStandardController.java +++ b/backend-spring/src/main/java/com/erp/controller/ComponentStandardController.java @@ -41,9 +41,9 @@ public class ComponentStandardController { @GetMapping public ResponseEntity>> getComponents( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(service.getComponents(params))); } @@ -53,9 +53,9 @@ public class ComponentStandardController { @GetMapping("/categories") public ResponseEntity>> getCategories( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(service.getCategories(params))); } @@ -65,9 +65,9 @@ public class ComponentStandardController { @GetMapping("/statistics") public ResponseEntity>> getStatistics( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(service.getStatistics(params))); } @@ -77,11 +77,11 @@ public class ComponentStandardController { @GetMapping("/check-duplicate/{component_code}") public ResponseEntity>> checkDuplicate( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable("component_code") String componentCode) { Map params = new HashMap<>(); params.put("component_code", componentCode); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); boolean exists = service.checkDuplicate(params); return ResponseEntity.ok(ApiResponse.success(Map.of("exists", exists))); } @@ -106,9 +106,9 @@ public class ComponentStandardController { @PostMapping public ResponseEntity>> createComponent( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); body.putIfAbsent("company_code", companyCode); try { return ResponseEntity.ok(ApiResponse.success(service.createComponent(body))); diff --git a/backend-spring/src/main/java/com/erp/controller/DashboardController.java b/backend-spring/src/main/java/com/erp/controller/DashboardController.java index 066e8634..1d2c26a0 100644 --- a/backend-spring/src/main/java/com/erp/controller/DashboardController.java +++ b/backend-spring/src/main/java/com/erp/controller/DashboardController.java @@ -20,33 +20,33 @@ public class DashboardController { @GetMapping public ResponseEntity>> getDashboards( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(dashboardService.getDashboardList(params))); } @GetMapping("/list") public ResponseEntity>> getDashboardsLegacy( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(dashboardService.getDashboardList(params))); } @GetMapping("/public") public ResponseEntity>> getPublicDashboards( @RequestParam Map params) { - params.put("companyCode", "*"); - params.put("isPublic", "true"); + params.put("company_code", "*"); + params.put("is_public", "true"); return ResponseEntity.ok(ApiResponse.success(dashboardService.getDashboardList(params))); } @GetMapping("/my") public ResponseEntity>> getMyDashboards( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(dashboardService.getDashboardList(params))); } @@ -60,13 +60,13 @@ public class DashboardController { @GetMapping("/{id}") public ResponseEntity>> getDashboard( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @PathVariable String id) { Map result = dashboardService.getDashboardById(id, companyCode); if (result == null) return ResponseEntity.status(404).body(ApiResponse.error("대시보드를 찾을 수 없거나 접근 권한이 없습니다.")); // 다른 사람 것 조회 시 조회수 증가 - if (userId != null && !userId.equals(result.get("createdBy"))) { + if (userId != null && !userId.equals(result.get("created_by"))) { dashboardService.incrementViewCount(id); } return ResponseEntity.ok(ApiResponse.success(result)); @@ -74,8 +74,8 @@ public class DashboardController { @PostMapping public ResponseEntity>> createDashboard( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @RequestBody Map body) { String title = (String) body.get("title"); if (title == null || title.isBlank()) return ResponseEntity.status(400).body(ApiResponse.error("대시보드 제목이 필요합니다.")); @@ -86,7 +86,7 @@ public class DashboardController { @PutMapping("/{id}") public ResponseEntity>> updateDashboard( @PathVariable String id, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute(value = "user_id", required = false) String userId, @RequestBody Map body) { Map result = dashboardService.updateDashboard(id, body, userId); if (result == null) return ResponseEntity.status(404).body(ApiResponse.error("대시보드를 찾을 수 없거나 수정 권한이 없습니다.")); @@ -96,7 +96,7 @@ public class DashboardController { @DeleteMapping("/{id}") public ResponseEntity>> deleteDashboard( @PathVariable String id, - @RequestAttribute(value = "userId", required = false) String userId) { + @RequestAttribute(value = "user_id", required = false) String userId) { boolean deleted = dashboardService.deleteDashboard(id, userId); if (!deleted) return ResponseEntity.status(404).body(ApiResponse.error("대시보드를 찾을 수 없거나 삭제 권한이 없습니다.")); return ResponseEntity.ok(ApiResponse.success(null, "대시보드가 삭제되었습니다.")); @@ -130,14 +130,14 @@ public class DashboardController { @PostMapping("/fetch-external-api") public ResponseEntity> fetchExternalApi( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { String url = (String) body.get("url"); if (url == null || url.isBlank()) return ResponseEntity.status(400).body(ApiResponse.error("URL이 필요합니다.")); - Object externalConnectionId = body.get("externalConnectionId"); + Object externalConnectionId = body.get("external_connection_id"); Map requestParams = new HashMap<>(body); - requestParams.put("companyCode", companyCode); + requestParams.put("company_code", companyCode); if (externalConnectionId != null) { int connId = Integer.parseInt(String.valueOf(externalConnectionId)); Map result = externalRestApiConnectionService.fetchData(connId, url, null, requestParams); @@ -154,7 +154,7 @@ public class DashboardController { @PostMapping("/table-schema") public ResponseEntity>> getTableSchema( @RequestBody Map body) { - String tableName = (String) body.get("tableName"); + String tableName = (String) body.get("table_name"); if (tableName == null || tableName.isBlank()) return ResponseEntity.status(400).body(ApiResponse.error("테이블명이 필요합니다.")); try { Map result = dashboardService.getTableSchema(tableName); diff --git a/backend-spring/src/main/java/com/erp/controller/DataAdvancedController.java b/backend-spring/src/main/java/com/erp/controller/DataAdvancedController.java index fb5dea47..b402091f 100644 --- a/backend-spring/src/main/java/com/erp/controller/DataAdvancedController.java +++ b/backend-spring/src/main/java/com/erp/controller/DataAdvancedController.java @@ -18,9 +18,9 @@ public class DataAdvancedController { @PostMapping("/upsert-grouped") public ResponseEntity> upsertGrouped( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); try { Map result = dataAdvancedService.upsertGrouped(body); Map response = new LinkedHashMap<>(); @@ -29,7 +29,7 @@ public class DataAdvancedController { response.put("inserted", result.getOrDefault("inserted", 0)); response.put("updated", result.getOrDefault("updated", 0)); response.put("deleted", result.getOrDefault("deleted", 0)); - response.put("savedIds", result.getOrDefault("savedIds", Collections.emptyList())); + response.put("saved_ids", result.getOrDefault("saved_ids", Collections.emptyList())); return ResponseEntity.ok(response); } catch (IllegalArgumentException e) { Map err = new LinkedHashMap<>(); @@ -41,18 +41,18 @@ public class DataAdvancedController { @PostMapping("/{tableName}/delete") public ResponseEntity>> deleteByCondition( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String tableName, @RequestBody Map body) { // Node.js는 복합키를 body에 직접 전송 (e.g. {user_id: 'x', dept_code: 'y'}) // DataService.deleteByCompositeKey는 params.get("keys")를 기대하므로 래핑 Map keys = new LinkedHashMap<>(body); - keys.remove("tableName"); - keys.remove("companyCode"); + keys.remove("table_name"); + keys.remove("company_code"); Map params = new LinkedHashMap<>(); - params.put("companyCode", companyCode); - params.put("tableName", tableName); + params.put("company_code", companyCode); + params.put("table_name", tableName); params.put("keys", keys); try { return ResponseEntity.ok(ApiResponse.success(dataAdvancedService.deleteByCondition(params))); @@ -63,18 +63,18 @@ public class DataAdvancedController { @PostMapping("/{tableName}/delete-group") public ResponseEntity>> deleteGroup( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String tableName, @RequestBody Map body) { // Node.js는 필터 조건을 body에 직접 전송 // DataService.deleteGroupRecords는 params.get("filters")를 기대하므로 래핑 Map filters = new LinkedHashMap<>(body); - filters.remove("tableName"); - filters.remove("companyCode"); + filters.remove("table_name"); + filters.remove("company_code"); Map params = new LinkedHashMap<>(); - params.put("companyCode", companyCode); - params.put("tableName", tableName); + params.put("company_code", companyCode); + params.put("table_name", tableName); params.put("filters", filters); try { return ResponseEntity.ok(ApiResponse.success(dataAdvancedService.deleteGroup(params))); @@ -85,51 +85,51 @@ public class DataAdvancedController { @GetMapping("/multi-table/auto-detect") public ResponseEntity>> autoDetectMultiTable( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(dataAdvancedService.autoDetectMultiTable(params))); } @PostMapping("/multi-table/upload") public ResponseEntity>> uploadMultiTable( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(dataAdvancedService.uploadMultiTable(body))); } @GetMapping("/master-detail/relation/{screenId}") public ResponseEntity>> getMasterDetailRelation( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String screenId) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("screenId", screenId); + params.put("company_code", companyCode); + params.put("screen_id", screenId); return ResponseEntity.ok(ApiResponse.success(dataAdvancedService.getMasterDetailRelation(params))); } @PostMapping("/master-detail/download") public ResponseEntity>> downloadMasterDetail( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(dataAdvancedService.downloadMasterDetail(body))); } @PostMapping("/master-detail/upload") public ResponseEntity>> uploadMasterDetail( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(dataAdvancedService.uploadMasterDetail(body))); } @PostMapping("/master-detail/upload-simple") public ResponseEntity>> uploadMasterDetailSimple( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(dataAdvancedService.uploadMasterDetailSimple(body))); } } diff --git a/backend-spring/src/main/java/com/erp/controller/DataController.java b/backend-spring/src/main/java/com/erp/controller/DataController.java index 9afcd622..8908a11c 100644 --- a/backend-spring/src/main/java/com/erp/controller/DataController.java +++ b/backend-spring/src/main/java/com/erp/controller/DataController.java @@ -17,19 +17,19 @@ public class DataController { @GetMapping("/join") public ResponseEntity>>> getJoinData( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(dataService.getJoinData(params))); } @GetMapping("/{tableName}") public ResponseEntity> getTableData( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String tableName, @RequestParam Map params) { - params.put("companyCode", companyCode); - params.put("tableName", tableName); + params.put("company_code", companyCode); + params.put("table_name", tableName); try { Map svc = dataService.getTableData(params); Map response = new LinkedHashMap<>(); @@ -38,7 +38,7 @@ public class DataController { response.put("total", svc.get("total")); response.put("page", svc.get("page")); response.put("size", svc.get("limit")); - response.put("totalPages", svc.get("totalPages")); + response.put("total_pages", svc.get("total_pages")); return ResponseEntity.ok(response); } catch (IllegalArgumentException e) { Map err = new LinkedHashMap<>(); @@ -50,7 +50,7 @@ public class DataController { @GetMapping("/{tableName}/columns") public ResponseEntity>>> getTableColumns( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String tableName) { try { return ResponseEntity.ok(ApiResponse.success(dataService.getTableColumns(tableName))); @@ -61,12 +61,12 @@ public class DataController { @GetMapping("/{tableName}/{id}") public ResponseEntity>> getRecordDetail( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String tableName, @PathVariable String id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("tableName", tableName); + params.put("company_code", companyCode); + params.put("table_name", tableName); params.put("id", id); try { Map result = dataService.getRecordDetail(params); @@ -79,11 +79,11 @@ public class DataController { @PostMapping("/{tableName}") public ResponseEntity>> createRecord( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String tableName, @RequestBody Map body) { - body.put("companyCode", companyCode); - body.put("tableName", tableName); + body.put("company_code", companyCode); + body.put("table_name", tableName); try { return ResponseEntity.status(201).body( ApiResponse.success(dataService.createRecord(body), "레코드가 생성되었습니다.")); @@ -94,12 +94,12 @@ public class DataController { @PutMapping("/{tableName}/{id}") public ResponseEntity>> updateRecord( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String tableName, @PathVariable String id, @RequestBody Map body) { - body.put("companyCode", companyCode); - body.put("tableName", tableName); + body.put("company_code", companyCode); + body.put("table_name", tableName); body.put("id", id); try { Map result = dataService.updateRecord(body); @@ -112,12 +112,12 @@ public class DataController { @DeleteMapping("/{tableName}/{id}") public ResponseEntity>> deleteRecord( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String tableName, @PathVariable String id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("tableName", tableName); + params.put("company_code", companyCode); + params.put("table_name", tableName); params.put("id", id); try { Map result = dataService.deleteRecord(params); diff --git a/backend-spring/src/main/java/com/erp/controller/DataflowController.java b/backend-spring/src/main/java/com/erp/controller/DataflowController.java index c83fcfdc..42d8fba4 100644 --- a/backend-spring/src/main/java/com/erp/controller/DataflowController.java +++ b/backend-spring/src/main/java/com/erp/controller/DataflowController.java @@ -28,15 +28,15 @@ public class DataflowController { */ @PostMapping("/table-relationships") public ResponseEntity>> createTableRelationship( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { - String relName = str(body.get("relationshipName")); - String fromTbl = str(body.get("fromTableName")); - String fromCol = str(body.get("fromColumnName")); - String toTbl = str(body.get("toTableName")); - String toCol = str(body.get("toColumnName")); + String relName = str(body.get("relationship_name")); + String fromTbl = str(body.get("from_table_name")); + String fromCol = str(body.get("from_column_name")); + String toTbl = str(body.get("to_table_name")); + String toCol = str(body.get("to_column_name")); if (blank(relName) || blank(fromTbl) || blank(fromCol) || blank(toTbl) || blank(toCol)) { return ResponseEntity.badRequest() @@ -60,7 +60,7 @@ public class DataflowController { */ @GetMapping("/table-relationships") public ResponseEntity>>> getTableRelationshipList( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { return ResponseEntity.ok(ApiResponse.success( dataflowService.getTableRelationshipList(companyCode), @@ -76,7 +76,7 @@ public class DataflowController { */ @GetMapping("/table-relationships/{relationshipId}") public ResponseEntity>> getTableRelationshipInfo( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int relationshipId) { try { Map rel = dataflowService.getTableRelationshipInfo(relationshipId, companyCode); @@ -95,8 +95,8 @@ public class DataflowController { */ @PutMapping("/table-relationships/{relationshipId}") public ResponseEntity>> updateTableRelationship( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable int relationshipId, @RequestBody Map body) { try { @@ -117,7 +117,7 @@ public class DataflowController { */ @DeleteMapping("/table-relationships/{relationshipId}") public ResponseEntity> deleteTableRelationship( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int relationshipId) { try { boolean deleted = dataflowService.deleteTableRelationship(relationshipId, companyCode); @@ -140,13 +140,13 @@ public class DataflowController { */ @PostMapping("/data-links") public ResponseEntity>> createDataLink( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { - if (body.get("relationshipId") == null || blank(str(body.get("fromTableName"))) - || blank(str(body.get("fromColumnName"))) || blank(str(body.get("toTableName"))) - || blank(str(body.get("toColumnName"))) || blank(str(body.get("connectionType")))) { + if (body.get("relationship_id") == null || blank(str(body.get("from_table_name"))) + || blank(str(body.get("from_column_name"))) || blank(str(body.get("to_table_name"))) + || blank(str(body.get("to_column_name"))) || blank(str(body.get("connection_type")))) { return ResponseEntity.badRequest() .body(ApiResponse.error("필수 필드가 누락되었습니다.")); } @@ -166,7 +166,7 @@ public class DataflowController { */ @GetMapping("/data-links/relationship/{relationshipId}") public ResponseEntity>>> getDataLinkList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int relationshipId) { try { return ResponseEntity.ok(ApiResponse.success( @@ -183,8 +183,8 @@ public class DataflowController { */ @DeleteMapping("/data-links/{bridgeId}") public ResponseEntity> deleteDataLink( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable int bridgeId) { try { dataflowService.deleteDataLink(bridgeId, companyCode, userId); @@ -204,7 +204,7 @@ public class DataflowController { */ @GetMapping("/table-data/{tableName}") public ResponseEntity>> getTableData( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String tableName, @RequestParam(defaultValue = "1") int page, @RequestParam(defaultValue = "10") int limit, @@ -231,7 +231,7 @@ public class DataflowController { */ @GetMapping("/diagrams") public ResponseEntity>> getDiagramList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam(defaultValue = "1") int page, @RequestParam(defaultValue = "20") int size, @RequestParam(defaultValue = "") String searchTerm) { @@ -251,7 +251,7 @@ public class DataflowController { */ @GetMapping("/diagrams/name/{diagramName}/relationships") public ResponseEntity>>> getDiagramRelationshipList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String diagramName) { try { return ResponseEntity.ok(ApiResponse.success( @@ -269,7 +269,7 @@ public class DataflowController { */ @GetMapping("/diagrams/{diagramId}/relationships") public ResponseEntity>>> getDiagramRelationshipListByDiagramId( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int diagramId) { try { return ResponseEntity.ok(ApiResponse.success( @@ -286,13 +286,13 @@ public class DataflowController { */ @PostMapping("/diagrams/{diagramName}/copy") public ResponseEntity>> copyDiagram( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String diagramName) { try { String decoded = java.net.URLDecoder.decode(diagramName, "UTF-8"); String newDiagramName = dataflowService.copyDiagram(companyCode, decoded); Map data = new HashMap<>(); - data.put("newDiagramName", newDiagramName); + data.put("new_diagram_name", newDiagramName); return ResponseEntity.ok(ApiResponse.success(data, "관계도가 성공적으로 복사되었습니다.")); } catch (IllegalArgumentException e) { return ResponseEntity.status(404).body(ApiResponse.error(e.getMessage())); @@ -307,13 +307,13 @@ public class DataflowController { */ @DeleteMapping("/diagrams/{diagramName}") public ResponseEntity>> deleteDiagram( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String diagramName) { try { String decoded = java.net.URLDecoder.decode(diagramName, "UTF-8"); int deletedCount = dataflowService.deleteDiagram(companyCode, decoded); Map data = new HashMap<>(); - data.put("deletedCount", deletedCount); + data.put("deleted_count", deletedCount); return ResponseEntity.ok(ApiResponse.success(data, "관계도가 성공적으로 삭제되었습니다.")); } catch (Exception e) { log.error("관계도 삭제 실패", e); @@ -327,7 +327,7 @@ public class DataflowController { */ @GetMapping("/relationships/{relationshipId}/diagram") public ResponseEntity>>> getDiagramRelationshipListByRelationshipId( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int relationshipId) { try { return ResponseEntity.ok(ApiResponse.success( @@ -351,7 +351,7 @@ public class DataflowController { @PathVariable int diagramId, @RequestBody(required = false) Map body) { Map result = new HashMap<>(); - result.put("diagramId", diagramId); + result.put("diagram_id", diagramId); result.put("tested", true); return ResponseEntity.ok(ApiResponse.success(result, "조건 테스트가 완료되었습니다.")); } @@ -364,7 +364,7 @@ public class DataflowController { @PathVariable int diagramId, @RequestBody(required = false) Map body) { Map result = new HashMap<>(); - result.put("diagramId", diagramId); + result.put("diagram_id", diagramId); result.put("executed", true); return ResponseEntity.ok(ApiResponse.success(result, "액션이 성공적으로 실행되었습니다.")); } diff --git a/backend-spring/src/main/java/com/erp/controller/DataflowDiagramController.java b/backend-spring/src/main/java/com/erp/controller/DataflowDiagramController.java index 9e62da80..fc28661b 100644 --- a/backend-spring/src/main/java/com/erp/controller/DataflowDiagramController.java +++ b/backend-spring/src/main/java/com/erp/controller/DataflowDiagramController.java @@ -34,10 +34,10 @@ public class DataflowDiagramController { @GetMapping public ResponseEntity>> getDataflowDiagrams( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(service.getDataflowDiagrams(params))); } @@ -47,8 +47,8 @@ public class DataflowDiagramController { @GetMapping("/{diagramId}") public ResponseEntity>> getDataflowDiagramById( - @RequestAttribute("companyCode") String companyCode, - @PathVariable("diagramId") String diagramIdStr) { + @RequestAttribute("company_code") String companyCode, + @PathVariable("diagram_id") String diagramIdStr) { int diagramId = parseId(diagramIdStr); if (diagramId < 0) { @@ -70,8 +70,8 @@ public class DataflowDiagramController { @PostMapping public ResponseEntity>> createDataflowDiagram( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { if (body.get("diagram_name") == null || body.get("relationships") == null) { @@ -104,9 +104,9 @@ public class DataflowDiagramController { @PutMapping("/{diagramId}") public ResponseEntity>> updateDataflowDiagram( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, - @PathVariable("diagramId") String diagramIdStr, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, + @PathVariable("diagram_id") String diagramIdStr, @RequestBody Map body) { int diagramId = parseId(diagramIdStr); @@ -144,8 +144,8 @@ public class DataflowDiagramController { @DeleteMapping("/{diagramId}") public ResponseEntity> deleteDataflowDiagram( - @RequestAttribute("companyCode") String companyCode, - @PathVariable("diagramId") String diagramIdStr) { + @RequestAttribute("company_code") String companyCode, + @PathVariable("diagram_id") String diagramIdStr) { int diagramId = parseId(diagramIdStr); if (diagramId < 0) { @@ -173,9 +173,9 @@ public class DataflowDiagramController { @PostMapping("/{diagramId}/copy") public ResponseEntity>> copyDataflowDiagram( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, - @PathVariable("diagramId") String diagramIdStr, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, + @PathVariable("diagram_id") String diagramIdStr, @RequestBody(required = false) Map body) { int diagramId = parseId(diagramIdStr); diff --git a/backend-spring/src/main/java/com/erp/controller/DataflowExecutionController.java b/backend-spring/src/main/java/com/erp/controller/DataflowExecutionController.java index be755e02..c0305505 100644 --- a/backend-spring/src/main/java/com/erp/controller/DataflowExecutionController.java +++ b/backend-spring/src/main/java/com/erp/controller/DataflowExecutionController.java @@ -25,18 +25,18 @@ public class DataflowExecutionController { @PostMapping("/execute-data-action") public ResponseEntity>> executeDataAction( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { try { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); log.info("데이터 액션 실행 요청: action={}, table={}", - body.get("actionType"), body.get("tableName")); + body.get("action_type"), body.get("table_name")); Map result = service.executeDataAction(body); return ResponseEntity.ok( - ApiResponse.success(result, "데이터 액션 실행 완료: " + body.get("actionType"))); + ApiResponse.success(result, "데이터 액션 실행 완료: " + body.get("action_type"))); } catch (IllegalArgumentException e) { log.warn("데이터 액션 파라미터 오류: {}", e.getMessage()); diff --git a/backend-spring/src/main/java/com/erp/controller/DdlController.java b/backend-spring/src/main/java/com/erp/controller/DdlController.java index 148c8365..205f2969 100644 --- a/backend-spring/src/main/java/com/erp/controller/DdlController.java +++ b/backend-spring/src/main/java/com/erp/controller/DdlController.java @@ -28,15 +28,15 @@ public class DdlController { */ @PostMapping("/tables") public ResponseEntity> createTable( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { if (!isSuperAdmin(companyCode)) { return ResponseEntity.status(403).body(ApiResponse.error("최고 관리자 권한이 필요합니다.")); } - String tableName = (String) body.get("tableName"); + String tableName = (String) body.get("table_name"); @SuppressWarnings("unchecked") List> columns = (List>) body.get("columns"); String description = (String) body.get("description"); @@ -50,9 +50,9 @@ public class DdlController { if (Boolean.TRUE.equals(result.get("success"))) { return ResponseEntity.ok(ApiResponse.success(Map.of( - "tableName", result.get("tableName"), - "columnCount", result.get("columnCount"), - "executedQuery", result.get("executedQuery") + "table_name", result.get("table_name"), + "column_count", result.get("column_count"), + "executed_query", result.get("executed_query") ), (String) result.get("message"))); } return ResponseEntity.status(400).body(ApiResponse.error((String) result.get("message"))); @@ -64,8 +64,8 @@ public class DdlController { @PostMapping("/tables/{tableName}/columns") public ResponseEntity> addColumn( @PathVariable String tableName, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { if (!isSuperAdmin(companyCode)) { @@ -83,9 +83,9 @@ public class DdlController { if (Boolean.TRUE.equals(result.get("success"))) { return ResponseEntity.ok(ApiResponse.success(Map.of( - "tableName", result.get("tableName"), - "columnName", result.get("columnName"), - "executedQuery", result.get("executedQuery") + "table_name", result.get("table_name"), + "column_name", result.get("column_name"), + "executed_query", result.get("executed_query") ), (String) result.get("message"))); } return ResponseEntity.status(400).body(ApiResponse.error((String) result.get("message"))); @@ -97,8 +97,8 @@ public class DdlController { @DeleteMapping("/tables/{tableName}") public ResponseEntity> dropTable( @PathVariable String tableName, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { if (!isSuperAdmin(companyCode)) { return ResponseEntity.status(403).body(ApiResponse.error("최고 관리자 권한이 필요합니다.")); @@ -108,8 +108,8 @@ public class DdlController { if (Boolean.TRUE.equals(result.get("success"))) { return ResponseEntity.ok(ApiResponse.success(Map.of( - "tableName", result.get("tableName"), - "executedQuery", result.get("executedQuery") + "table_name", result.get("table_name"), + "executed_query", result.get("executed_query") ), (String) result.get("message"))); } return ResponseEntity.status(400).body(ApiResponse.error((String) result.get("message"))); @@ -120,14 +120,14 @@ public class DdlController { */ @PostMapping("/validate/table") public ResponseEntity> validateTableCreation( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { if (!isSuperAdmin(companyCode)) { return ResponseEntity.status(403).body(ApiResponse.error("최고 관리자 권한이 필요합니다.")); } - String tableName = (String) body.get("tableName"); + String tableName = (String) body.get("table_name"); @SuppressWarnings("unchecked") List> columns = (List>) body.get("columns"); @@ -149,7 +149,7 @@ public class DdlController { */ @GetMapping("/logs") public ResponseEntity> getDdlLogs( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam(required = false, defaultValue = "50") int limit, @RequestParam(required = false) String userId, @RequestParam(required = false) String ddlType) { @@ -168,7 +168,7 @@ public class DdlController { */ @GetMapping("/statistics") public ResponseEntity> getDdlStatistics( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam(required = false) String fromDate, @RequestParam(required = false) String toDate) { @@ -186,7 +186,7 @@ public class DdlController { @GetMapping("/tables/{tableName}/history") public ResponseEntity> getTableDdlHistory( @PathVariable String tableName, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { if (!isSuperAdmin(companyCode)) { return ResponseEntity.status(403).body(ApiResponse.error("최고 관리자 권한이 필요합니다.")); @@ -194,7 +194,7 @@ public class DdlController { List> history = ddlService.getTableDdlHistory(tableName); return ResponseEntity.ok(ApiResponse.success( - Map.of("tableName", tableName, "history", history, "total", history.size()), + Map.of("table_name", tableName, "history", history, "total", history.size()), "테이블 DDL 히스토리 조회 성공")); } @@ -204,7 +204,7 @@ public class DdlController { @GetMapping("/tables/{tableName}/info") public ResponseEntity> getTableInfo( @PathVariable String tableName, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { if (!isSuperAdmin(companyCode)) { return ResponseEntity.status(403).body(ApiResponse.error("최고 관리자 권한이 필요합니다.")); @@ -228,7 +228,7 @@ public class DdlController { */ @DeleteMapping("/logs/cleanup") public ResponseEntity> cleanupOldLogs( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam(required = false, defaultValue = "90") int retentionDays) { if (!isSuperAdmin(companyCode)) { @@ -237,7 +237,7 @@ public class DdlController { int deletedCount = ddlService.cleanupOldLogs(retentionDays); return ResponseEntity.ok(ApiResponse.success( - Map.of("deletedCount", deletedCount, "retentionDays", retentionDays), + Map.of("deleted_count", deletedCount, "retention_days", retentionDays), deletedCount + "개의 오래된 DDL 로그가 삭제되었습니다.")); } @@ -246,7 +246,7 @@ public class DdlController { */ @GetMapping("/info") public ResponseEntity> getInfo( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { if (!isSuperAdmin(companyCode)) { return ResponseEntity.status(403).body(ApiResponse.error("최고 관리자 권한이 필요합니다.")); @@ -263,14 +263,14 @@ public class DdlController { "logging", "모든 DDL 실행은 감사 로그에 기록" ), "endpoints", Map.of( - "createTable", "POST /api/ddl/tables", - "addColumn", "POST /api/ddl/tables/{tableName}/columns", - "dropTable", "DELETE /api/ddl/tables/{tableName}", + "create_table", "POST /api/ddl/tables", + "add_column", "POST /api/ddl/tables/{tableName}/columns", + "drop_table", "DELETE /api/ddl/tables/{tableName}", "validate", "POST /api/ddl/validate/table", "logs", "GET /api/ddl/logs", "statistics", "GET /api/ddl/statistics", "history", "GET /api/ddl/tables/{tableName}/history", - "tableInfo", "GET /api/ddl/tables/{tableName}/info", + "table_info", "GET /api/ddl/tables/{tableName}/info", "cleanup", "DELETE /api/ddl/logs/cleanup" ) ), "DDL 서비스 정보")); diff --git a/backend-spring/src/main/java/com/erp/controller/DeliveryController.java b/backend-spring/src/main/java/com/erp/controller/DeliveryController.java index fc699b80..fe564f81 100644 --- a/backend-spring/src/main/java/com/erp/controller/DeliveryController.java +++ b/backend-spring/src/main/java/com/erp/controller/DeliveryController.java @@ -20,36 +20,36 @@ public class DeliveryController { @GetMapping("/status") public ResponseEntity>> getDeliveryStatus( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(deliveryService.getDeliveryStatus(params))); } @GetMapping("/delayed") public ResponseEntity>>> getDelayedDeliveries( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(deliveryService.getDelayedDeliveries(params))); } @GetMapping("/issues") public ResponseEntity>>> getCustomerIssues( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam(required = false) String status) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); if (status != null) params.put("status", status); return ResponseEntity.ok(ApiResponse.success(deliveryService.getCustomerIssues(params))); } @PutMapping("/{id}/status") public ResponseEntity> updateDeliveryStatus( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String id, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); body.put("id", id); deliveryService.updateDeliveryStatus(body); return ResponseEntity.ok(ApiResponse.success(null)); @@ -57,10 +57,10 @@ public class DeliveryController { @PutMapping("/issues/{id}/status") public ResponseEntity> updateIssueStatus( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String id, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); body.put("id", id); deliveryService.updateIssueStatus(body); return ResponseEntity.ok(ApiResponse.success(null)); diff --git a/backend-spring/src/main/java/com/erp/controller/DepartmentController.java b/backend-spring/src/main/java/com/erp/controller/DepartmentController.java index c2b6c1ef..55d1fa9c 100644 --- a/backend-spring/src/main/java/com/erp/controller/DepartmentController.java +++ b/backend-spring/src/main/java/com/erp/controller/DepartmentController.java @@ -25,7 +25,7 @@ public class DepartmentController { @GetMapping("/companies/{companyCode}/departments") public ResponseEntity>>> getDepartments( @PathVariable String companyCode, - @RequestAttribute("companyCode") String userCompanyCode) { + @RequestAttribute("company_code") String userCompanyCode) { if (!isSuperAdmin(userCompanyCode) && !userCompanyCode.equals(companyCode)) { return ResponseEntity.status(403) @@ -58,7 +58,7 @@ public class DepartmentController { @PostMapping("/companies/{companyCode}/departments") public ResponseEntity>> createDepartment( @PathVariable String companyCode, - @RequestAttribute("companyCode") String userCompanyCode, + @RequestAttribute("company_code") String userCompanyCode, @RequestAttribute("role") String role, @RequestBody Map body) { @@ -176,7 +176,7 @@ public class DepartmentController { // 프론트엔드는 snake_case(user_id)로 전송 (Node.js 호환) Object userIdObj = body.get("user_id"); - if (userIdObj == null) userIdObj = body.get("userId"); + if (userIdObj == null) userIdObj = body.get("user_id"); if (userIdObj == null || userIdObj.toString().isBlank()) { return ResponseEntity.status(400).body(ApiResponse.error("사용자 ID를 입력해주세요.")); } diff --git a/backend-spring/src/main/java/com/erp/controller/DesignController.java b/backend-spring/src/main/java/com/erp/controller/DesignController.java index 7e918060..79c1b18e 100644 --- a/backend-spring/src/main/java/com/erp/controller/DesignController.java +++ b/backend-spring/src/main/java/com/erp/controller/DesignController.java @@ -22,15 +22,15 @@ public class DesignController { @GetMapping("/requests") public ResponseEntity>> getDesignRequestList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(designService.getDesignRequestList(params))); } @GetMapping("/requests/{id}") public ResponseEntity>> getDesignRequestDetail( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String id) { Map result = designService.getDesignRequestDetail(id, companyCode); if (result == null) return ResponseEntity.status(404).body(ApiResponse.error("의뢰를 찾을 수 없습니다.")); @@ -39,16 +39,16 @@ public class DesignController { @PostMapping("/requests") public ResponseEntity>> createDesignRequest( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @RequestBody Map body) { return ResponseEntity.ok(ApiResponse.success(designService.createDesignRequest(body, companyCode, userId))); } @PutMapping("/requests/{id}") public ResponseEntity>> updateDesignRequest( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @PathVariable String id, @RequestBody Map body) { Map result = designService.updateDesignRequest(id, body, companyCode, userId); @@ -58,7 +58,7 @@ public class DesignController { @DeleteMapping("/requests/{id}") public ResponseEntity>> deleteDesignRequest( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String id) { boolean deleted = designService.deleteDesignRequest(id, companyCode); if (!deleted) return ResponseEntity.status(404).body(ApiResponse.error("의뢰를 찾을 수 없습니다.")); @@ -67,8 +67,8 @@ public class DesignController { @PostMapping("/requests/{id}/history") public ResponseEntity>> addRequestHistory( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @PathVariable String id, @RequestBody Map body) { return ResponseEntity.ok(ApiResponse.success(designService.addRequestHistory(id, body, companyCode, userId))); @@ -80,15 +80,15 @@ public class DesignController { @GetMapping("/projects") public ResponseEntity>> getProjectList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(designService.getProjectList(params))); } @GetMapping("/projects/{id}") public ResponseEntity>> getProjectDetail( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String id) { Map result = designService.getProjectDetail(id, companyCode); if (result == null) return ResponseEntity.status(404).body(ApiResponse.error("프로젝트를 찾을 수 없습니다.")); @@ -97,15 +97,15 @@ public class DesignController { @PostMapping("/projects") public ResponseEntity>> createProject( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @RequestBody Map body) { return ResponseEntity.ok(ApiResponse.success(designService.createProject(body, companyCode, userId))); } @PutMapping("/projects/{id}") public ResponseEntity>> updateProject( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String id, @RequestBody Map body) { Map result = designService.updateProject(id, body, companyCode); @@ -115,7 +115,7 @@ public class DesignController { @DeleteMapping("/projects/{id}") public ResponseEntity>> deleteProject( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String id) { boolean deleted = designService.deleteProject(id, companyCode); if (!deleted) return ResponseEntity.status(404).body(ApiResponse.error("프로젝트를 찾을 수 없습니다.")); @@ -128,15 +128,15 @@ public class DesignController { @GetMapping("/projects/{projectId}/tasks") public ResponseEntity>>> getTasksByProject( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String projectId) { return ResponseEntity.ok(ApiResponse.success(designService.getTasksByProject(projectId, companyCode))); } @PostMapping("/projects/{projectId}/tasks") public ResponseEntity>> createTask( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @PathVariable String projectId, @RequestBody Map body) { return ResponseEntity.ok(ApiResponse.success(designService.createTask(projectId, body, companyCode, userId))); @@ -144,7 +144,7 @@ public class DesignController { @PutMapping("/tasks/{taskId}") public ResponseEntity>> updateTask( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String taskId, @RequestBody Map body) { Map result = designService.updateTask(taskId, body, companyCode); @@ -154,7 +154,7 @@ public class DesignController { @DeleteMapping("/tasks/{taskId}") public ResponseEntity>> deleteTask( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String taskId) { boolean deleted = designService.deleteTask(taskId, companyCode); if (!deleted) return ResponseEntity.status(404).body(ApiResponse.error("태스크를 찾을 수 없습니다.")); @@ -167,15 +167,15 @@ public class DesignController { @GetMapping("/tasks/{taskId}/work-logs") public ResponseEntity>>> getWorkLogsByTask( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String taskId) { return ResponseEntity.ok(ApiResponse.success(designService.getWorkLogsByTask(taskId, companyCode))); } @PostMapping("/tasks/{taskId}/work-logs") public ResponseEntity>> createWorkLog( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @PathVariable String taskId, @RequestBody Map body) { return ResponseEntity.ok(ApiResponse.success(designService.createWorkLog(taskId, body, companyCode, userId))); @@ -183,7 +183,7 @@ public class DesignController { @DeleteMapping("/work-logs/{workLogId}") public ResponseEntity>> deleteWorkLog( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String workLogId) { boolean deleted = designService.deleteWorkLog(workLogId, companyCode); if (!deleted) return ResponseEntity.status(404).body(ApiResponse.error("작업일지를 찾을 수 없습니다.")); @@ -196,8 +196,8 @@ public class DesignController { @PostMapping("/tasks/{taskId}/sub-items") public ResponseEntity>> createSubItem( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @PathVariable String taskId, @RequestBody Map body) { return ResponseEntity.ok(ApiResponse.success(designService.createSubItem(taskId, body, companyCode, userId))); @@ -205,7 +205,7 @@ public class DesignController { @PutMapping("/sub-items/{subItemId}") public ResponseEntity>> updateSubItem( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String subItemId, @RequestBody Map body) { Map result = designService.updateSubItem(subItemId, body, companyCode); @@ -215,7 +215,7 @@ public class DesignController { @DeleteMapping("/sub-items/{subItemId}") public ResponseEntity>> deleteSubItem( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String subItemId) { boolean deleted = designService.deleteSubItem(subItemId, companyCode); if (!deleted) return ResponseEntity.status(404).body(ApiResponse.error("하위항목을 찾을 수 없습니다.")); @@ -228,8 +228,8 @@ public class DesignController { @PostMapping("/tasks/{taskId}/issues") public ResponseEntity>> createIssue( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @PathVariable String taskId, @RequestBody Map body) { return ResponseEntity.ok(ApiResponse.success(designService.createIssue(taskId, body, companyCode, userId))); @@ -237,7 +237,7 @@ public class DesignController { @PutMapping("/issues/{issueId}") public ResponseEntity>> updateIssue( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String issueId, @RequestBody Map body) { Map result = designService.updateIssue(issueId, body, companyCode); @@ -251,24 +251,24 @@ public class DesignController { @GetMapping("/ecn") public ResponseEntity>> getEcnList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(designService.getEcnList(params))); } @PostMapping("/ecn") public ResponseEntity>> createEcn( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @RequestBody Map body) { return ResponseEntity.ok(ApiResponse.success(designService.createEcn(body, companyCode, userId))); } @PutMapping("/ecn/{id}") public ResponseEntity>> updateEcn( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @PathVariable String id, @RequestBody Map body) { Map result = designService.updateEcn(id, body, companyCode, userId); @@ -278,7 +278,7 @@ public class DesignController { @DeleteMapping("/ecn/{id}") public ResponseEntity>> deleteEcn( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String id) { boolean deleted = designService.deleteEcn(id, companyCode); if (!deleted) return ResponseEntity.status(404).body(ApiResponse.error("ECN을 찾을 수 없습니다.")); @@ -291,8 +291,8 @@ public class DesignController { @GetMapping("/my-work") public ResponseEntity>>> getMyWork( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userName", required = false) String userName, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_name", required = false) String userName, @RequestParam Map params) { return ResponseEntity.ok(ApiResponse.success(designService.getMyWork(params, companyCode, userName))); } @@ -303,8 +303,8 @@ public class DesignController { @PostMapping("/work-logs/{workLogId}/purchase-reqs") public ResponseEntity>> createPurchaseReq( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @PathVariable String workLogId, @RequestBody Map body) { return ResponseEntity.ok(ApiResponse.success(designService.createPurchaseReq(workLogId, body, companyCode, userId))); @@ -312,8 +312,8 @@ public class DesignController { @PostMapping("/work-logs/{workLogId}/coop-reqs") public ResponseEntity>> createCoopReq( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @PathVariable String workLogId, @RequestBody Map body) { return ResponseEntity.ok(ApiResponse.success(designService.createCoopReq(workLogId, body, companyCode, userId))); @@ -321,8 +321,8 @@ public class DesignController { @PostMapping("/coop-reqs/{coopReqId}/responses") public ResponseEntity>> addCoopResponse( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @PathVariable String coopReqId, @RequestBody Map body) { return ResponseEntity.ok(ApiResponse.success(designService.addCoopResponse(coopReqId, body, companyCode, userId))); diff --git a/backend-spring/src/main/java/com/erp/controller/DigitalTwinController.java b/backend-spring/src/main/java/com/erp/controller/DigitalTwinController.java index 113a22d0..d682c581 100644 --- a/backend-spring/src/main/java/com/erp/controller/DigitalTwinController.java +++ b/backend-spring/src/main/java/com/erp/controller/DigitalTwinController.java @@ -21,19 +21,19 @@ public class DigitalTwinController { /** GET /layouts → 레이아웃 목록 */ @GetMapping("/layouts") public ResponseEntity>> getDigitalTwinLayoutList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(digitalTwinService.getDigitalTwinLayoutList(params))); } /** GET /layouts/:id → 레이아웃 상세 (객체 포함) */ @GetMapping("/layouts/{id}") public ResponseEntity>> getDigitalTwinLayoutInfo( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); Map result = digitalTwinService.getDigitalTwinLayoutInfo(params); if (result == null) { @@ -45,11 +45,11 @@ public class DigitalTwinController { /** POST /layouts → 레이아웃 생성 */ @PostMapping("/layouts") public ResponseEntity>> createDigitalTwinLayout( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @RequestBody Map body) { - body.put("companyCode", companyCode); - body.put("createdBy", userId); + body.put("company_code", companyCode); + body.put("created_by", userId); Map result = digitalTwinService.createDigitalTwinLayout(body); return ResponseEntity.status(201).body(ApiResponse.success(result)); } @@ -57,12 +57,12 @@ public class DigitalTwinController { /** PUT /layouts/:id → 레이아웃 수정 */ @PutMapping("/layouts/{id}") public ResponseEntity>> updateDigitalTwinLayout( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @PathVariable Long id, @RequestBody Map body) { - body.put("companyCode", companyCode); - body.put("updatedBy", userId); + body.put("company_code", companyCode); + body.put("updated_by", userId); body.put("id", id); Map result = digitalTwinService.updateDigitalTwinLayout(body); if (result == null) { @@ -74,10 +74,10 @@ public class DigitalTwinController { /** DELETE /layouts/:id → 레이아웃 삭제 */ @DeleteMapping("/layouts/{id}") public ResponseEntity>> deleteDigitalTwinLayout( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); boolean deleted = digitalTwinService.deleteDigitalTwinLayout(params); if (!deleted) { @@ -91,19 +91,19 @@ public class DigitalTwinController { /** GET /mapping-templates → 매핑 템플릿 목록 */ @GetMapping("/mapping-templates") public ResponseEntity>> getDigitalTwinTemplateList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(digitalTwinService.getDigitalTwinTemplateList(params))); } /** GET /mapping-templates/:id → 매핑 템플릿 상세 */ @GetMapping("/mapping-templates/{id}") public ResponseEntity>> getDigitalTwinTemplateInfo( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); Map result = digitalTwinService.getDigitalTwinTemplateInfo(params); if (result == null) { @@ -115,14 +115,14 @@ public class DigitalTwinController { /** POST /mapping-templates → 매핑 템플릿 생성 */ @PostMapping("/mapping-templates") public ResponseEntity>> createDigitalTwinTemplate( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @RequestBody Map body) { - if (body.get("name") == null || body.get("externalDbConnectionId") == null || body.get("config") == null) { + if (body.get("name") == null || body.get("external_db_connection_id") == null || body.get("config") == null) { return ResponseEntity.status(400).body(ApiResponse.error("필수 필드가 누락되었습니다. (name, externalDbConnectionId, config)")); } - body.put("companyCode", companyCode); - body.put("createdBy", userId); + body.put("company_code", companyCode); + body.put("created_by", userId); Map result = digitalTwinService.createDigitalTwinTemplate(body); return ResponseEntity.status(201).body(ApiResponse.success(result)); } @@ -133,7 +133,7 @@ public class DigitalTwinController { @PostMapping("/data/hierarchy") public ResponseEntity>> getHierarchyData( @RequestBody Map body) { - if (body.get("externalDbConnectionId") == null || body.get("hierarchyConfig") == null) { + if (body.get("external_db_connection_id") == null || body.get("hierarchy_config") == null) { return ResponseEntity.status(400).body( ApiResponse.error("외부 DB 연결 ID와 계층 구조 설정이 필요합니다.")); } @@ -145,8 +145,8 @@ public class DigitalTwinController { @PostMapping("/data/children") public ResponseEntity>>> getChildrenData( @RequestBody Map body) { - if (body.get("externalDbConnectionId") == null || body.get("hierarchyConfig") == null - || body.get("parentLevel") == null || body.get("parentKey") == null) { + if (body.get("external_db_connection_id") == null || body.get("hierarchy_config") == null + || body.get("parent_level") == null || body.get("parent_key") == null) { return ResponseEntity.status(400).body(ApiResponse.error("필수 파라미터가 누락되었습니다.")); } List> result = digitalTwinService.getChildrenData(body); @@ -219,8 +219,8 @@ public class DigitalTwinController { @PostMapping("/data/material-counts") public ResponseEntity>>> getMaterialCounts( @RequestBody Map body) { - if (body.get("externalDbConnectionId") == null || body.get("locationKeys") == null - || body.get("tableName") == null) { + if (body.get("external_db_connection_id") == null || body.get("location_keys") == null + || body.get("table_name") == null) { return ResponseEntity.status(400).body(ApiResponse.error("필수 파라미터가 누락되었습니다.")); } List> result = digitalTwinService.getMaterialCounts(body); diff --git a/backend-spring/src/main/java/com/erp/controller/DriverController.java b/backend-spring/src/main/java/com/erp/controller/DriverController.java index 7439ce27..936a0d20 100644 --- a/backend-spring/src/main/java/com/erp/controller/DriverController.java +++ b/backend-spring/src/main/java/com/erp/controller/DriverController.java @@ -18,23 +18,23 @@ public class DriverController { /** GET /list → 운전자 목록 (admin용 / api_test 호환) */ @GetMapping("/list") public ResponseEntity>> getDriverList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(driverService.getDriverList(params))); } /** GET /profile → 운전자 프로필 조회 */ @GetMapping("/profile") public ResponseEntity>> getDriverProfile( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId) { if (userId == null) { return ResponseEntity.status(401).body(ApiResponse.error("인증이 필요합니다.")); } Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("userId", userId); + params.put("company_code", companyCode); + params.put("user_id", userId); Map result = driverService.getDriverProfile(params); if (result == null) { return ResponseEntity.status(404).body(ApiResponse.error("사용자를 찾을 수 없습니다.")); @@ -45,14 +45,14 @@ public class DriverController { /** PUT /profile → 운전자 프로필 수정 */ @PutMapping("/profile") public ResponseEntity>> updateDriverProfile( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @RequestBody Map body) { if (userId == null) { return ResponseEntity.status(401).body(ApiResponse.error("인증이 필요합니다.")); } - body.put("companyCode", companyCode); - body.put("userId", userId); + body.put("company_code", companyCode); + body.put("user_id", userId); driverService.updateDriverProfile(body); return ResponseEntity.ok(ApiResponse.success(null, "프로필이 수정되었습니다.")); } @@ -60,8 +60,8 @@ public class DriverController { /** PUT /status → 차량 상태 변경 (off: 대기, maintenance: 정비) */ @PutMapping("/status") public ResponseEntity>> updateDriverStatus( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @RequestBody Map body) { if (userId == null) { return ResponseEntity.status(401).body(ApiResponse.error("인증이 필요합니다.")); @@ -71,7 +71,7 @@ public class DriverController { return ResponseEntity.status(400).body( ApiResponse.error("유효하지 않은 상태값입니다. (off: 대기, maintenance: 정비)")); } - body.put("userId", userId); + body.put("user_id", userId); driverService.updateDriverStatus(body); String msg = "off".equals(status) ? "차량 상태가 대기로 변경되었습니다." : "차량 상태가 정비로 변경되었습니다."; return ResponseEntity.ok(ApiResponse.success(null, msg)); @@ -80,13 +80,13 @@ public class DriverController { /** DELETE /vehicle → 차량 삭제 (기록 보존) */ @DeleteMapping("/vehicle") public ResponseEntity>> deleteDriverVehicle( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId) { if (userId == null) { return ResponseEntity.status(401).body(ApiResponse.error("인증이 필요합니다.")); } Map params = new HashMap<>(); - params.put("userId", userId); + params.put("user_id", userId); driverService.deleteDriverVehicle(params); return ResponseEntity.ok(ApiResponse.success(null, "차량이 삭제되었습니다.")); } @@ -94,17 +94,17 @@ public class DriverController { /** POST /vehicle → 새 차량 등록 */ @PostMapping("/vehicle") public ResponseEntity>> registerDriverVehicle( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @RequestBody Map body) { if (userId == null) { return ResponseEntity.status(401).body(ApiResponse.error("인증이 필요합니다.")); } - if (body.get("vehicleNumber") == null) { + if (body.get("vehicle_number") == null) { return ResponseEntity.status(400).body(ApiResponse.error("차량번호는 필수입니다.")); } - body.put("companyCode", companyCode); - body.put("userId", userId); + body.put("company_code", companyCode); + body.put("user_id", userId); driverService.registerDriverVehicle(body); return ResponseEntity.ok(ApiResponse.success(null, "차량이 등록되었습니다.")); } @@ -112,13 +112,13 @@ public class DriverController { /** DELETE /account → 회원 탈퇴 */ @DeleteMapping("/account") public ResponseEntity>> deleteDriverAccount( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId) { if (userId == null) { return ResponseEntity.status(401).body(ApiResponse.error("인증이 필요합니다.")); } Map params = new HashMap<>(); - params.put("userId", userId); + params.put("user_id", userId); driverService.deleteDriverAccount(params); return ResponseEntity.ok(ApiResponse.success(null, "회원 탈퇴가 완료되었습니다.")); } diff --git a/backend-spring/src/main/java/com/erp/controller/DynamicFormController.java b/backend-spring/src/main/java/com/erp/controller/DynamicFormController.java index 197fbd69..eb04e0f7 100644 --- a/backend-spring/src/main/java/com/erp/controller/DynamicFormController.java +++ b/backend-spring/src/main/java/com/erp/controller/DynamicFormController.java @@ -25,13 +25,13 @@ public class DynamicFormController { @PostMapping("/save") public ResponseEntity> saveFormData( - @RequestAttribute("userId") String userId, - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("user_id") String userId, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body, HttpServletRequest request) { - Object screenIdRaw = body.get("screenId"); - String tableName = (String) body.get("tableName"); + Object screenIdRaw = body.get("screen_id"); + String tableName = (String) body.get("table_name"); Map data = (Map) body.get("data"); if (screenIdRaw == null || tableName == null || data == null) { @@ -70,12 +70,12 @@ public class DynamicFormController { @PostMapping("/save-enhanced") public ResponseEntity> saveFormDataEnhanced( - @RequestAttribute("userId") String userId, - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("user_id") String userId, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - Object screenIdRaw = body.get("screenId"); - String tableName = (String) body.get("tableName"); + Object screenIdRaw = body.get("screen_id"); + String tableName = (String) body.get("table_name"); Map data = (Map) body.get("data"); if (screenIdRaw == null || tableName == null || data == null) { @@ -111,15 +111,15 @@ public class DynamicFormController { @PutMapping("/update-field") public ResponseEntity> updateFieldValue( - @RequestAttribute("userId") String userId, - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("user_id") String userId, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - String tableName = (String) body.get("tableName"); - String keyField = (String) body.get("keyField"); - Object keyValue = body.get("keyValue"); - String updateField = (String) body.get("updateField"); - Object updateValue = body.get("updateValue"); + String tableName = (String) body.get("table_name"); + String keyField = (String) body.get("key_field"); + Object keyValue = body.get("key_value"); + String updateField = (String) body.get("update_field"); + Object updateValue = body.get("update_value"); if (tableName == null || keyField == null || keyValue == null || updateField == null || updateValue == null) { @@ -150,11 +150,11 @@ public class DynamicFormController { @PutMapping("/{id}") public ResponseEntity> updateFormData( @PathVariable String id, - @RequestAttribute("userId") String userId, - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("user_id") String userId, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - String tableName = (String) body.get("tableName"); + String tableName = (String) body.get("table_name"); Map data = (Map) body.get("data"); if (tableName == null || data == null) { @@ -182,13 +182,13 @@ public class DynamicFormController { @PatchMapping("/{id}/partial") public ResponseEntity> updateFormDataPartial( @PathVariable String id, - @RequestAttribute("userId") String userId, - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("user_id") String userId, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - String tableName = (String) body.get("tableName"); - Map originalData = (Map) body.get("originalData"); - Map newData = (Map) body.get("newData"); + String tableName = (String) body.get("table_name"); + Map originalData = (Map) body.get("original_data"); + Map newData = (Map) body.get("new_data"); if (tableName == null || originalData == null || newData == null) { return ResponseEntity.badRequest() @@ -215,13 +215,13 @@ public class DynamicFormController { @DeleteMapping("/{id}") public ResponseEntity> deleteFormData( @PathVariable String id, - @RequestAttribute("userId") String userId, - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("user_id") String userId, + @RequestAttribute("company_code") String companyCode, @RequestBody(required = false) Map body) { if (body == null) body = new HashMap<>(); - String tableName = (String) body.get("tableName"); - Object screenIdRaw = body.get("screenId"); + String tableName = (String) body.get("table_name"); + Object screenIdRaw = body.get("screen_id"); if (tableName == null) { return ResponseEntity.badRequest() @@ -257,8 +257,8 @@ public class DynamicFormController { params.put("page", page); params.put("size", size); params.put("search", search.isEmpty() ? null : search); - params.put("sortBy", sortBy); - params.put("sortOrder", sortOrder); + params.put("sort_by", sortBy); + params.put("sort_order", sortOrder); int sid = (screenId != null) ? screenId : 0; Map result = dynamicFormService.getFormDataList(sid, params); return ResponseEntity.ok(ApiResponse.success(result)); @@ -285,8 +285,8 @@ public class DynamicFormController { params.put("page", page); params.put("size", size); params.put("search", search.isEmpty() ? null : search); - params.put("sortBy", sortBy); - params.put("sortOrder", sortOrder); + params.put("sort_by", sortBy); + params.put("sort_order", sortOrder); Map result = dynamicFormService.getFormDataList(screenId, params); return ResponseEntity.ok(ApiResponse.success(result)); @@ -304,7 +304,7 @@ public class DynamicFormController { try { List> columns = dynamicFormService.getTableColumns(tableName); Map data = new LinkedHashMap<>(); - data.put("tableName", tableName); + data.put("table_name", tableName); data.put("columns", columns); return ResponseEntity.ok(ApiResponse.success(data)); } catch (Exception e) { @@ -339,7 +339,7 @@ public class DynamicFormController { public ResponseEntity> validateFormData( @RequestBody Map body) { - String tableName = (String) body.get("tableName"); + String tableName = (String) body.get("table_name"); Map data = (Map) body.get("data"); if (tableName == null || data == null) { @@ -362,7 +362,7 @@ public class DynamicFormController { @GetMapping("/location-history/{tripId}") public ResponseEntity> getLocationHistory( @PathVariable String tripId, - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam(required = false) String userId, @RequestParam(required = false) String startDate, @RequestParam(required = false) String endDate, @@ -370,11 +370,11 @@ public class DynamicFormController { try { Map params = new LinkedHashMap<>(); - params.put("companyCode", companyCode); - params.put("tripId", tripId); - if (userId != null) params.put("userId", userId); - if (startDate != null) params.put("startDate", startDate); - if (endDate != null) params.put("endDate", endDate); + params.put("company_code", companyCode); + params.put("trip_id", tripId); + if (userId != null) params.put("user_id", userId); + if (startDate != null) params.put("start_date", startDate); + if (endDate != null) params.put("end_date", endDate); params.put("limit", limit != null ? limit : 1000); List> result = dynamicFormService.getLocationHistory(params); @@ -395,8 +395,8 @@ public class DynamicFormController { @PostMapping("/location-history") public ResponseEntity> saveLocationHistory( - @RequestAttribute("userId") String loginUserId, - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("user_id") String loginUserId, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { Double latitude = body.get("latitude") != null ? ((Number) body.get("latitude")).doubleValue() : null; @@ -407,25 +407,25 @@ public class DynamicFormController { .body(ApiResponse.error("필수 필드가 누락되었습니다. (latitude, longitude)")); } - String userId = body.containsKey("userId") ? (String) body.get("userId") : loginUserId; + String userId = body.containsKey("user_id") ? (String) body.get("user_id") : loginUserId; Map params = new LinkedHashMap<>(); - params.put("userId", userId); - params.put("companyCode", companyCode); + params.put("user_id", userId); + params.put("company_code", companyCode); params.put("latitude", latitude); params.put("longitude", longitude); params.put("accuracy", body.get("accuracy")); params.put("altitude", body.get("altitude")); params.put("speed", body.get("speed")); params.put("heading", body.get("heading")); - params.put("tripId", body.get("tripId")); - params.put("tripStatus", body.getOrDefault("tripStatus", "active")); + params.put("trip_id", body.get("trip_id")); + params.put("trip_status", body.getOrDefault("trip_status", "active")); params.put("departure", body.get("departure")); params.put("arrival", body.get("arrival")); - params.put("departureName", body.get("departureName")); - params.put("destinationName", body.get("destinationName")); - params.put("recordedAt", body.getOrDefault("recordedAt", new java.util.Date().toInstant().toString())); - params.put("vehicleId", body.get("vehicleId")); + params.put("departure_name", body.get("departure_name")); + params.put("destination_name", body.get("destination_name")); + params.put("recorded_at", body.getOrDefault("recorded_at", new java.util.Date().toInstant().toString())); + params.put("vehicle_id", body.get("vehicle_id")); try { Map result = dynamicFormService.saveLocationHistory(params); diff --git a/backend-spring/src/main/java/com/erp/controller/EntityJoinController.java b/backend-spring/src/main/java/com/erp/controller/EntityJoinController.java index 4804dbbf..71d46d74 100644 --- a/backend-spring/src/main/java/com/erp/controller/EntityJoinController.java +++ b/backend-spring/src/main/java/com/erp/controller/EntityJoinController.java @@ -38,11 +38,11 @@ public class EntityJoinController { @GetMapping("/tables/{tableName}/data-with-joins") public ResponseEntity>> getTableDataWithJoins( @PathVariable String tableName, - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map queryParams) { Map options = new HashMap<>(queryParams); - options.put("companyCode", companyCode); + options.put("company_code", companyCode); // search 파라미터 JSON 파싱 Object searchRaw = queryParams.get("search"); @@ -56,17 +56,17 @@ public class EntityJoinController { } // autoFilter 파싱 (멀티테넌시) - Object autoFilterRaw = queryParams.get("autoFilter"); + Object autoFilterRaw = queryParams.get("auto_filter"); if (autoFilterRaw instanceof String af && !af.isBlank()) { try { Map autoFilter = objectMapper.readValue(af, new TypeReference<>() {}); Boolean enabled = (Boolean) autoFilter.getOrDefault("enabled", false); if (Boolean.TRUE.equals(enabled)) { - String filterColumn = (String) autoFilter.getOrDefault("filterColumn", "company_code"); + String filterColumn = (String) autoFilter.getOrDefault("filter_column", "company_code"); Map search = getOrCreateSearch(options); String finalCode = companyCode; - if ("*".equals(companyCode) && autoFilter.get("companyCodeOverride") != null) { - finalCode = (String) autoFilter.get("companyCodeOverride"); + if ("*".equals(companyCode) && autoFilter.get("company_code_override") != null) { + finalCode = (String) autoFilter.get("company_code_override"); } search.put(filterColumn, finalCode); options.put("search", search); @@ -91,14 +91,14 @@ public class EntityJoinController { @GetMapping("/tables/{tableName}/entity-joins") public ResponseEntity>> getEntityJoinConfigs( @PathVariable String tableName, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { List> joinConfigs = entityJoinService.detectEntityJoins(tableName, null, companyCode); Map data = new HashMap<>(); - data.put("tableName", tableName); - data.put("joinConfigs", joinConfigs); + data.put("table_name", tableName); + data.put("join_configs", joinConfigs); data.put("count", joinConfigs.size()); return ResponseEntity.ok(ApiResponse.success(data, "Entity 조인 설정 조회 성공")); } @@ -111,12 +111,12 @@ public class EntityJoinController { public ResponseEntity>> updateEntitySettings( @PathVariable String tableName, @PathVariable String columnName, - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - String webType = (String) body.get("webType"); - String referenceTable = (String) body.get("referenceTable"); - String referenceColumn = (String) body.get("referenceColumn"); + String webType = (String) body.get("web_type"); + String referenceTable = (String) body.get("reference_table"); + String referenceColumn = (String) body.get("reference_column"); if ("entity".equals(webType) && (referenceTable == null || referenceColumn == null)) { return ResponseEntity.badRequest() @@ -127,19 +127,19 @@ public class EntityJoinController { // 관련 캐시 무효화 if ("entity".equals(webType) && referenceTable != null) { - String displayColumn = (String) body.get("displayColumn"); - String referenceColVal = (String) body.get("referenceColumn"); + String displayColumn = (String) body.get("display_column"); + String referenceColVal = (String) body.get("reference_column"); entityJoinService.invalidateCache(referenceTable, referenceColVal, displayColumn); } Map data = new HashMap<>(); - data.put("tableName", tableName); - data.put("columnName", columnName); + data.put("table_name", tableName); + data.put("column_name", columnName); data.put("settings", Map.of( - "webType", webType != null ? webType : "", - "referenceTable", referenceTable != null ? referenceTable : "", - "referenceColumn", referenceColumn != null ? referenceColumn : "", - "displayColumn", body.getOrDefault("displayColumn", ""))); + "web_type", webType != null ? webType : "", + "reference_table", referenceTable != null ? referenceTable : "", + "reference_column", referenceColumn != null ? referenceColumn : "", + "display_column", body.getOrDefault("display_column", ""))); return ResponseEntity.ok(ApiResponse.success(data, "Entity 설정 업데이트 성공")); } @@ -154,7 +154,7 @@ public class EntityJoinController { @GetMapping("/tables/{tableName}/entity-join-columns") public ResponseEntity>> getEntityJoinColumns( @PathVariable String tableName, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { Map result = entityJoinService.getEntityJoinColumns(tableName, companyCode); return ResponseEntity.ok(ApiResponse.success(result, "Entity 조인 컬럼 조회 성공")); @@ -167,13 +167,13 @@ public class EntityJoinController { @GetMapping("/reference-tables/{tableName}/columns") public ResponseEntity>> getReferenceTableColumns( @PathVariable String tableName, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { List> columns = entityJoinService.getReferenceTableColumns(tableName, companyCode); Map data = new HashMap<>(); - data.put("tableName", tableName); + data.put("table_name", tableName); data.put("columns", columns); data.put("count", columns.size()); return ResponseEntity.ok(ApiResponse.success(data, "참조 테이블 컬럼 조회 성공")); @@ -223,7 +223,7 @@ public class EntityJoinController { @SuppressWarnings("unchecked") List> caches = (List>) cacheStatus.get("caches"); Map data = new HashMap<>(); - data.put("preloadedCaches", caches != null ? caches.size() : 0); + data.put("preloaded_caches", caches != null ? caches.size() : 0); data.put("caches", caches); return ResponseEntity.ok(ApiResponse.success(data, "공통 참조 테이블 캐싱 완료")); } diff --git a/backend-spring/src/main/java/com/erp/controller/EntityReferenceController.java b/backend-spring/src/main/java/com/erp/controller/EntityReferenceController.java index 86063937..587230e6 100644 --- a/backend-spring/src/main/java/com/erp/controller/EntityReferenceController.java +++ b/backend-spring/src/main/java/com/erp/controller/EntityReferenceController.java @@ -30,11 +30,11 @@ public class EntityReferenceController { @PathVariable String codeCategory, @RequestParam(required = false, defaultValue = "100") Integer limit, @RequestParam(required = false) String search, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { Map params = new HashMap<>(); - params.put("codeCategory", codeCategory); - params.put("companyCode", companyCode); + params.put("code_category", codeCategory); + params.put("company_code", companyCode); params.put("limit", limit); if (search != null) params.put("search", search); @@ -56,12 +56,12 @@ public class EntityReferenceController { @PathVariable String columnName, @RequestParam(required = false, defaultValue = "100") Integer limit, @RequestParam(required = false) String search, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("columnName", columnName); - params.put("companyCode", companyCode); + params.put("table_name", tableName); + params.put("column_name", columnName); + params.put("company_code", companyCode); params.put("limit", limit); if (search != null) params.put("search", search); diff --git a/backend-spring/src/main/java/com/erp/controller/EntitySearchController.java b/backend-spring/src/main/java/com/erp/controller/EntitySearchController.java index 77845dfe..fea1a04d 100644 --- a/backend-spring/src/main/java/com/erp/controller/EntitySearchController.java +++ b/backend-spring/src/main/java/com/erp/controller/EntitySearchController.java @@ -39,7 +39,7 @@ public class EntitySearchController { @RequestParam(defaultValue = "{}") String filterCondition, @RequestParam(defaultValue = "1") String page, @RequestParam(defaultValue = "20") String limit, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { if (tableName == null || tableName.isBlank() || "undefined".equals(tableName) || "null".equals(tableName)) { @@ -48,11 +48,11 @@ public class EntitySearchController { } Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("companyCode", companyCode); - params.put("searchText", searchText); - params.put("searchFields", searchFields); - params.put("filterCondition", filterCondition); + params.put("table_name", tableName); + params.put("company_code", companyCode); + params.put("search_text", searchText); + params.put("search_fields", searchFields); + params.put("filter_condition", filterCondition); params.put("page", page); params.put("limit", limit); @@ -83,7 +83,7 @@ public class EntitySearchController { @RequestParam(defaultValue = "name") String label, @RequestParam(required = false) String fields, @RequestParam(required = false) String filters, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { if (tableName == null || tableName.isBlank() || "undefined".equals(tableName) || "null".equals(tableName)) { @@ -91,8 +91,8 @@ public class EntitySearchController { } Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("companyCode", companyCode); + params.put("table_name", tableName); + params.put("company_code", companyCode); params.put("value", value); params.put("label", label); params.put("fields", fields); @@ -118,7 +118,7 @@ public class EntitySearchController { @PathVariable String columnName, @RequestParam(required = false) String labelColumn, @RequestParam(required = false) String filters, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { if (tableName == null || tableName.isBlank() || "undefined".equals(tableName) || "null".equals(tableName)) { @@ -130,10 +130,10 @@ public class EntitySearchController { } Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("columnName", columnName); - params.put("companyCode", companyCode); - params.put("labelColumn", labelColumn); + params.put("table_name", tableName); + params.put("column_name", columnName); + params.put("company_code", companyCode); + params.put("label_column", labelColumn); params.put("filters", filters); try { diff --git a/backend-spring/src/main/java/com/erp/controller/ExcelMappingController.java b/backend-spring/src/main/java/com/erp/controller/ExcelMappingController.java index 2cadd03c..f9e33343 100644 --- a/backend-spring/src/main/java/com/erp/controller/ExcelMappingController.java +++ b/backend-spring/src/main/java/com/erp/controller/ExcelMappingController.java @@ -18,46 +18,46 @@ public class ExcelMappingController { @PostMapping("/find") public ResponseEntity>> findMappingByColumns( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - if (body.get("tableName") == null || body.get("excelColumns") == null) { + if (body.get("table_name") == null || body.get("excel_columns") == null) { return ResponseEntity.status(400).body(ApiResponse.error("tableName과 excelColumns는 필수입니다.")); } - body.put("companyCode", companyCode); + body.put("company_code", companyCode); Map result = excelMappingService.findMappingByColumns(body); return ResponseEntity.ok(ApiResponse.success(result)); } @PostMapping("/save") public ResponseEntity>> saveMappingTemplate( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - if (body.get("tableName") == null || body.get("excelColumns") == null || body.get("columnMappings") == null) { + if (body.get("table_name") == null || body.get("excel_columns") == null || body.get("column_mappings") == null) { return ResponseEntity.status(400).body(ApiResponse.error("tableName, excelColumns, columnMappings는 필수입니다.")); } - body.put("companyCode", companyCode); + body.put("company_code", companyCode); Map result = excelMappingService.saveMappingTemplate(body); return ResponseEntity.ok(ApiResponse.success(result, "매핑 템플릿이 저장되었습니다.")); } @GetMapping("/list/{tableName}") public ResponseEntity>>> getMappingTemplates( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String tableName) { Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("companyCode", companyCode); + params.put("table_name", tableName); + params.put("company_code", companyCode); List> result = excelMappingService.getMappingTemplates(params); return ResponseEntity.ok(ApiResponse.success(result)); } @DeleteMapping("/{id}") public ResponseEntity>> deleteMappingTemplate( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); params.put("id", id); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); boolean deleted = excelMappingService.deleteMappingTemplate(params); if (!deleted) { return ResponseEntity.status(404).body(ApiResponse.error("매핑 템플릿을 찾을 수 없습니다.")); diff --git a/backend-spring/src/main/java/com/erp/controller/ExternalCallConfigController.java b/backend-spring/src/main/java/com/erp/controller/ExternalCallConfigController.java index d98b51c8..4bb3ef89 100644 --- a/backend-spring/src/main/java/com/erp/controller/ExternalCallConfigController.java +++ b/backend-spring/src/main/java/com/erp/controller/ExternalCallConfigController.java @@ -25,9 +25,9 @@ public class ExternalCallConfigController { */ @GetMapping public ResponseEntity>> getExternalCallConfigList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map queryParams) { - queryParams.put("companyCode", companyCode); + queryParams.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success( externalCallConfigService.getExternalCallConfigList(queryParams))); } @@ -39,7 +39,7 @@ public class ExternalCallConfigController { */ @GetMapping("/for-button-control") public ResponseEntity>>> getExternalCallConfigForButtonControl( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { return ResponseEntity.ok(ApiResponse.success( externalCallConfigService.getExternalCallConfigForButtonControl(companyCode))); } @@ -51,10 +51,10 @@ public class ExternalCallConfigController { */ @GetMapping("/{id}") public ResponseEntity>> getExternalCallConfigInfo( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); Map config = externalCallConfigService.getExternalCallConfigInfo(params); if (config == null) { @@ -71,10 +71,10 @@ public class ExternalCallConfigController { */ @PostMapping public ResponseEntity>> insertExternalCallConfig( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); body.put("created_by", userId); body.put("updated_by", userId); try { @@ -93,11 +93,11 @@ public class ExternalCallConfigController { */ @PutMapping("/{id}") public ResponseEntity>> updateExternalCallConfig( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable int id, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); body.put("updated_by", userId); body.put("id", id); try { @@ -117,13 +117,13 @@ public class ExternalCallConfigController { */ @DeleteMapping("/{id}") public ResponseEntity> deleteExternalCallConfig( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable int id) { Map params = new HashMap<>(); params.put("id", id); - params.put("companyCode", companyCode); - params.put("updatedBy", userId); + params.put("company_code", companyCode); + params.put("updated_by", userId); try { externalCallConfigService.deleteExternalCallConfig(params); return ResponseEntity.ok(ApiResponse.success(null, "외부 호출 설정이 성공적으로 삭제되었습니다.")); @@ -139,7 +139,7 @@ public class ExternalCallConfigController { */ @PostMapping("/{id}/test") public ResponseEntity>> testExternalCallConfig( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int id) { Map result = externalCallConfigService.testExternalCallConfig(id); String message = (String) result.get("message"); @@ -153,13 +153,13 @@ public class ExternalCallConfigController { */ @PostMapping("/{id}/execute") public ResponseEntity>> executeExternalCallConfig( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable int id, @RequestBody(required = false) Map body) { Map contextData = body != null ? new HashMap<>(body) : new HashMap<>(); - contextData.put("userId", userId); - contextData.put("companyCode", companyCode); + contextData.put("user_id", userId); + contextData.put("company_code", companyCode); Map result = externalCallConfigService.executeExternalCallConfig(id, contextData); String message = (String) result.get("message"); return ResponseEntity.ok(ApiResponse.success(result, message)); diff --git a/backend-spring/src/main/java/com/erp/controller/ExternalCallController.java b/backend-spring/src/main/java/com/erp/controller/ExternalCallController.java index c82ea772..d2981399 100644 --- a/backend-spring/src/main/java/com/erp/controller/ExternalCallController.java +++ b/backend-spring/src/main/java/com/erp/controller/ExternalCallController.java @@ -22,7 +22,7 @@ public class ExternalCallController { @SuppressWarnings("unchecked") @PostMapping("/test") public ResponseEntity>> testExternalCall( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { Map settings = (Map) body.get("settings"); @@ -41,20 +41,20 @@ public class ExternalCallController { } // 테스트 요청 생성 - Map templateData = (Map) body.get("templateData"); + Map templateData = (Map) body.get("template_data"); if (templateData == null) { templateData = Map.of( - "recordCount", 5, - "tableName", "test_table", + "record_count", 5, + "table_name", "test_table", "timestamp", new Date().toString() ); } Map request = new LinkedHashMap<>(); - request.put("diagramId", 0); - request.put("relationshipId", "test"); + request.put("diagram_id", 0); + request.put("relationship_id", "test"); request.put("settings", settings); - request.put("templateData", templateData); + request.put("template_data", templateData); Map result = service.executeExternalCall(request); boolean success = Boolean.TRUE.equals(result.get("success")); @@ -70,11 +70,11 @@ public class ExternalCallController { @SuppressWarnings("unchecked") @PostMapping("/execute") public ResponseEntity>> executeExternalCall( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - Object diagramId = body.get("diagramId"); - String relationshipId = (String) body.get("relationshipId"); + Object diagramId = body.get("diagram_id"); + String relationshipId = (String) body.get("relationship_id"); Map settings = (Map) body.get("settings"); if (diagramId == null || relationshipId == null || settings == null) { @@ -102,7 +102,7 @@ public class ExternalCallController { @GetMapping("/types") public ResponseEntity>> getExternalCallTypeList( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { Map types = service.getExternalCallTypeList(); return ResponseEntity.ok(ApiResponse.success(types, "지원되는 외부 호출 타입 목록")); } @@ -112,7 +112,7 @@ public class ExternalCallController { @SuppressWarnings("unchecked") @PostMapping("/validate") public ResponseEntity>> validateExternalCallSettings( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { Map settings = (Map) body.get("settings"); diff --git a/backend-spring/src/main/java/com/erp/controller/ExternalDbConnectionController.java b/backend-spring/src/main/java/com/erp/controller/ExternalDbConnectionController.java index 78ff1449..c8657c00 100644 --- a/backend-spring/src/main/java/com/erp/controller/ExternalDbConnectionController.java +++ b/backend-spring/src/main/java/com/erp/controller/ExternalDbConnectionController.java @@ -33,7 +33,7 @@ public class ExternalDbConnectionController { */ @GetMapping("/types/supported") public ResponseEntity>> getSupportedTypes( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { return ResponseEntity.ok( ApiResponse.success(service.getSupportedTypes(), "지원하는 DB 타입 목록을 조회했습니다.")); } @@ -45,9 +45,9 @@ public class ExternalDbConnectionController { */ @GetMapping("/pool-status") public ResponseEntity>> getPoolStatus( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { Map status = service.getPoolStatus(); - String msg = status.get("totalPools") + "개의 연결 풀 상태를 조회했습니다."; + String msg = status.get("total_pools") + "개의 연결 풀 상태를 조회했습니다."; return ResponseEntity.ok(ApiResponse.success(status, msg)); } @@ -58,7 +58,7 @@ public class ExternalDbConnectionController { */ @GetMapping("/grouped") public ResponseEntity>> getConnectionsGroupedByType( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map queryParams) { buildFilter(queryParams, companyCode, (String) queryParams.get("company_code")); Map grouped = service.getConnectionsGroupedByType(queryParams); @@ -73,7 +73,7 @@ public class ExternalDbConnectionController { */ @GetMapping("/control/active") public ResponseEntity>>> getActiveConnectionsForControl( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam(required = false) String company_code) { Map params = new HashMap<>(); buildFilter(params, companyCode, company_code); @@ -89,7 +89,7 @@ public class ExternalDbConnectionController { */ @GetMapping public ResponseEntity>>> getConnections( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map queryParams) { buildFilter(queryParams, companyCode, (String) queryParams.get("company_code")); List> list = service.getConnections(queryParams); @@ -104,7 +104,7 @@ public class ExternalDbConnectionController { */ @GetMapping("/{id}") public ResponseEntity>> getConnectionById( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable long id) { Map conn = service.getConnectionById(id); if (conn == null) { @@ -121,8 +121,8 @@ public class ExternalDbConnectionController { */ @PostMapping public ResponseEntity>> createConnection( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { body.put("created_by", userId); body.put("updated_by", userId); @@ -142,8 +142,8 @@ public class ExternalDbConnectionController { */ @PutMapping("/{id}") public ResponseEntity>> updateConnection( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable long id, @RequestBody Map body) { body.put("updated_by", userId); @@ -164,7 +164,7 @@ public class ExternalDbConnectionController { */ @DeleteMapping("/{id}") public ResponseEntity> deleteConnection( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable long id) { try { service.deleteConnection(id, companyCode); @@ -181,7 +181,7 @@ public class ExternalDbConnectionController { */ @PostMapping("/{id}/test") public ResponseEntity>> testConnection( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable long id, @RequestBody(required = false) Map body) { String testPassword = body != null ? (String) body.get("password") : null; @@ -197,7 +197,7 @@ public class ExternalDbConnectionController { */ @PostMapping("/{id}/execute") public ResponseEntity>>> executeQuery( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable long id, @RequestBody Map body) { String sql = (String) body.get("query"); @@ -225,7 +225,7 @@ public class ExternalDbConnectionController { */ @GetMapping("/{id}/tables") public ResponseEntity>>> getTables( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable long id) { try { List> tables = service.getTables(id); @@ -243,7 +243,7 @@ public class ExternalDbConnectionController { */ @GetMapping("/{id}/tables/{tableName}/columns") public ResponseEntity>>> getTableColumns( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable long id, @PathVariable String tableName) { if (tableName == null || tableName.isBlank()) { @@ -270,12 +270,12 @@ public class ExternalDbConnectionController { if ("*".equals(userCompanyCode)) { // SUPER_ADMIN: query param이 있으면 그것, 없으면 전체(null → WHERE 없음) if (queryCompanyCode != null && !queryCompanyCode.isBlank()) { - params.put("filterCompanyCode", queryCompanyCode); + params.put("filter_company_code", queryCompanyCode); } // filterCompanyCode 없으면 전체 조회 } else { // 일반 사용자: 강제 적용 - params.put("filterCompanyCode", userCompanyCode); + params.put("filter_company_code", userCompanyCode); } } } diff --git a/backend-spring/src/main/java/com/erp/controller/ExternalRestApiConnectionController.java b/backend-spring/src/main/java/com/erp/controller/ExternalRestApiConnectionController.java index 49b57bc6..b3b85425 100644 --- a/backend-spring/src/main/java/com/erp/controller/ExternalRestApiConnectionController.java +++ b/backend-spring/src/main/java/com/erp/controller/ExternalRestApiConnectionController.java @@ -21,9 +21,9 @@ public class ExternalRestApiConnectionController { @GetMapping public ResponseEntity>>> getConnections( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map queryParams) { - queryParams.put("companyCode", companyCode); + queryParams.put("company_code", companyCode); List> list = service.getExternalRestApiConnectionList(queryParams); return ResponseEntity.ok( ApiResponse.success(list, list.size() + "개의 REST API 연결을 조회했습니다.")); @@ -33,11 +33,11 @@ public class ExternalRestApiConnectionController { @GetMapping("/{id}") public ResponseEntity>> getConnectionById( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int id) { Map params = new HashMap<>(); params.put("id", id); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); Map conn = service.getExternalRestApiConnectionInfo(params); if (conn == null) { return ResponseEntity.status(404) @@ -50,11 +50,11 @@ public class ExternalRestApiConnectionController { @PostMapping public ResponseEntity>> createConnection( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { - body.put("companyCode", companyCode); - body.put("createdBy", userId); + body.put("company_code", companyCode); + body.put("created_by", userId); try { Map created = service.insertExternalRestApiConnection(body); return ResponseEntity.status(201) @@ -68,12 +68,12 @@ public class ExternalRestApiConnectionController { @PutMapping("/{id}") public ResponseEntity>> updateConnection( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable int id, @RequestBody Map body) { - body.put("companyCode", companyCode); - body.put("updatedBy", userId); + body.put("company_code", companyCode); + body.put("updated_by", userId); Map updated = service.updateExternalRestApiConnection(id, body); if (updated == null) { return ResponseEntity.status(404) @@ -86,10 +86,10 @@ public class ExternalRestApiConnectionController { @DeleteMapping("/{id}") public ResponseEntity> deleteConnection( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); boolean deleted = service.deleteExternalRestApiConnection(id, params); if (!deleted) { return ResponseEntity.status(404) @@ -102,7 +102,7 @@ public class ExternalRestApiConnectionController { @PostMapping("/test") public ResponseEntity>> testConnection( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { Map result = service.testConnection(body, companyCode); boolean success = Boolean.TRUE.equals(result.get("success")); @@ -114,7 +114,7 @@ public class ExternalRestApiConnectionController { @PostMapping("/{id}/test") public ResponseEntity>> testConnectionById( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int id, @RequestBody(required = false) Map body) { String endpoint = body != null ? (String) body.get("endpoint") : null; @@ -128,11 +128,11 @@ public class ExternalRestApiConnectionController { @PostMapping("/{id}/fetch") public ResponseEntity>> fetchData( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int id, @RequestBody(required = false) Map body) { Map params = body != null ? new HashMap<>(body) : new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); String endpoint = (String) params.get("endpoint"); String jsonPath = (String) params.get("json_path"); Map result = service.fetchData(id, endpoint, jsonPath, params); diff --git a/backend-spring/src/main/java/com/erp/controller/FileController.java b/backend-spring/src/main/java/com/erp/controller/FileController.java index 2580c59f..11241c5e 100644 --- a/backend-spring/src/main/java/com/erp/controller/FileController.java +++ b/backend-spring/src/main/java/com/erp/controller/FileController.java @@ -32,17 +32,17 @@ public class FileController { @GetMapping public ResponseEntity>> getFileList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(fileService.getFileList(params))); } @GetMapping("/list") public ResponseEntity>> getFileListAlias( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(fileService.getFileList(params))); } @@ -60,12 +60,12 @@ public class FileController { // 공개 응답: 메타데이터만 반환 Map result = new HashMap<>(); result.put("objid", fileInfo.get("objid")); - result.put("realFileName", fileInfo.get("realFileName")); - result.put("fileSize", fileInfo.get("fileSize")); - result.put("fileExt", fileInfo.get("fileExt")); - result.put("filePath", fileInfo.get("filePath")); + result.put("real_file_name", fileInfo.get("real_file_name")); + result.put("file_size", fileInfo.get("file_size")); + result.put("file_ext", fileInfo.get("file_ext")); + result.put("file_path", fileInfo.get("file_path")); result.put("regdate", fileInfo.get("regdate")); - result.put("isRepresentative", fileInfo.get("isRepresentative")); + result.put("is_representative", fileInfo.get("is_representative")); return ResponseEntity.ok(ApiResponse.success(result)); } @@ -73,12 +73,12 @@ public class FileController { @GetMapping("/linked/{tableName}/{recordId}") public ResponseEntity>>> getLinkedFiles( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String tableName, @PathVariable String recordId) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("targetObjid", tableName + ":" + recordId); + params.put("company_code", companyCode); + params.put("target_objid", tableName + ":" + recordId); return ResponseEntity.ok(ApiResponse.success(fileService.getFilesByTarget(params))); } @@ -86,13 +86,13 @@ public class FileController { @PostMapping("/upload") public ResponseEntity>>> uploadFiles( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @RequestParam("file") List files, @RequestParam Map params) { try { - params.put("companyCode", companyCode); - params.put("userId", userId != null ? userId : "system"); + params.put("company_code", companyCode); + params.put("user_id", userId != null ? userId : "system"); List> results = fileService.uploadFiles(files, params); return ResponseEntity.ok(ApiResponse.success(results, "파일 업로드 완료")); } catch (IllegalArgumentException e) { @@ -107,10 +107,10 @@ public class FileController { @GetMapping("/download/{objid}") public ResponseEntity downloadFile( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long objid) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("objid", objid); Map fileInfo = fileService.getFileInfo(params); if (fileInfo == null) { @@ -121,7 +121,7 @@ public class FileController { if (!Files.exists(filePath)) { return ResponseEntity.notFound().build(); } - String realFileName = (String) fileInfo.getOrDefault("realFileName", "download"); + String realFileName = (String) fileInfo.getOrDefault("real_file_name", "download"); String encodedName = URLEncoder.encode(realFileName, StandardCharsets.UTF_8) .replace("+", "%20"); Resource resource = new FileSystemResource(filePath); @@ -166,10 +166,10 @@ public class FileController { @DeleteMapping("/{objid}") public ResponseEntity>> deleteFile( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long objid) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("objid", objid); fileService.deleteFile(params); return ResponseEntity.ok(ApiResponse.success(null, "파일이 삭제되었습니다.")); diff --git a/backend-spring/src/main/java/com/erp/controller/FlowController.java b/backend-spring/src/main/java/com/erp/controller/FlowController.java index 19d912d7..85aae2b5 100644 --- a/backend-spring/src/main/java/com/erp/controller/FlowController.java +++ b/backend-spring/src/main/java/com/erp/controller/FlowController.java @@ -41,15 +41,15 @@ public class FlowController { @GetMapping("/definitions") public ResponseEntity>>> getFlowDefinitionList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(service.getFlowDefinitionList(params))); } @GetMapping("/definitions/{id}") public ResponseEntity>> getFlowDefinitionInfo( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable("id") int id) { Map detail = service.getFlowDefinitionInfo(id, companyCode); if (detail == null) { @@ -60,8 +60,8 @@ public class FlowController { @PostMapping("/definitions") public ResponseEntity>> insertFlowDefinition( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { if (body.get("name") == null) { @@ -69,8 +69,8 @@ public class FlowController { } // 테이블 존재 확인 (REST API / multi 제외) - String tableName = (String) body.get("tableName"); - String dbSource = (String) body.getOrDefault("dbSourceType", "internal"); + String tableName = (String) body.get("table_name"); + String dbSource = (String) body.getOrDefault("db_source_type", "internal"); boolean skipCheck = "restapi".equals(dbSource) || "multi_restapi".equals(dbSource) || "multi_external_db".equals(dbSource) @@ -95,7 +95,7 @@ public class FlowController { @PutMapping("/definitions/{id}") public ResponseEntity>> updateFlowDefinition( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable("id") int id, @RequestBody Map body) { if (service.getFlowDefinitionById(id, companyCode) == null) { @@ -114,7 +114,7 @@ public class FlowController { @DeleteMapping("/definitions/{id}") public ResponseEntity> deleteFlowDefinition( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable("id") int id) { boolean deleted = service.deleteFlowDefinition(id, companyCode); if (!deleted) { @@ -129,17 +129,17 @@ public class FlowController { @GetMapping("/definitions/{flowId}/steps") public ResponseEntity>>> getFlowStepList( - @PathVariable("flowId") int flowId) { + @PathVariable("flow_id") int flowId) { return ResponseEntity.ok(ApiResponse.success(service.getFlowStepList(flowId))); } @PostMapping("/definitions/{flowId}/steps") public ResponseEntity>> insertFlowStep( - @RequestAttribute("companyCode") String companyCode, - @PathVariable("flowId") int flowId, + @RequestAttribute("company_code") String companyCode, + @PathVariable("flow_id") int flowId, @RequestBody Map body) { - if (body.get("stepName") == null || body.get("stepOrder") == null) { + if (body.get("step_name") == null || body.get("step_order") == null) { return ResponseEntity.status(400) .body(ApiResponse.error("stepName and stepOrder are required")); } @@ -161,8 +161,8 @@ public class FlowController { @PutMapping("/steps/{stepId}") public ResponseEntity>> updateFlowStep( - @RequestAttribute("companyCode") String companyCode, - @PathVariable("stepId") int stepId, + @RequestAttribute("company_code") String companyCode, + @PathVariable("step_id") int stepId, @RequestBody Map body) { // 스텝 소유권 검증: 스텝이 속한 플로우가 요청자 회사 소유인지 확인 @@ -191,8 +191,8 @@ public class FlowController { @DeleteMapping("/steps/{stepId}") public ResponseEntity> deleteFlowStep( - @RequestAttribute("companyCode") String companyCode, - @PathVariable("stepId") int stepId) { + @RequestAttribute("company_code") String companyCode, + @PathVariable("step_id") int stepId) { Map existingStep = service.getFlowStepById(stepId); if (existingStep != null) { @@ -216,18 +216,18 @@ public class FlowController { @GetMapping("/connections/{flowId}") public ResponseEntity>>> getFlowConnectionList( - @PathVariable("flowId") int flowId) { + @PathVariable("flow_id") int flowId) { return ResponseEntity.ok(ApiResponse.success(service.getFlowConnectionList(flowId))); } @PostMapping("/connections") public ResponseEntity>> insertFlowConnection( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - Object flowDefIdRaw = body.get("flowDefinitionId"); - Object fromRaw = body.get("fromStepId"); - Object toRaw = body.get("toStepId"); + Object flowDefIdRaw = body.get("flow_definition_id"); + Object fromRaw = body.get("from_step_id"); + Object toRaw = body.get("to_step_id"); if (flowDefIdRaw == null || fromRaw == null || toRaw == null) { return ResponseEntity.status(400) @@ -264,8 +264,8 @@ public class FlowController { @DeleteMapping("/connections/{connectionId}") public ResponseEntity> deleteFlowConnection( - @RequestAttribute("companyCode") String companyCode, - @PathVariable("connectionId") int connectionId) { + @RequestAttribute("company_code") String companyCode, + @PathVariable("connection_id") int connectionId) { Map existingConn = service.getFlowConnectionById(connectionId); if (existingConn != null) { @@ -288,8 +288,8 @@ public class FlowController { @GetMapping("/{flowId}/step/{stepId}/count") public ResponseEntity>> getFlowStepDataCount( - @PathVariable("flowId") int flowId, - @PathVariable("stepId") int stepId) { + @PathVariable("flow_id") int flowId, + @PathVariable("step_id") int stepId) { try { return ResponseEntity.ok(ApiResponse.success(service.getFlowStepDataCount(flowId, stepId))); } catch (Exception e) { @@ -302,8 +302,8 @@ public class FlowController { @GetMapping("/{flowId}/step/{stepId}/list") public ResponseEntity> getFlowStepDataList( - @PathVariable("flowId") int flowId, - @PathVariable("stepId") int stepId, + @PathVariable("flow_id") int flowId, + @PathVariable("step_id") int stepId, @RequestParam(defaultValue = "1") int page, @RequestParam(defaultValue = "20") int pageSize) { try { @@ -319,8 +319,8 @@ public class FlowController { @GetMapping("/{flowId}/step/{stepId}/column-labels") public ResponseEntity>> getFlowColumnLabelList( - @PathVariable("flowId") int flowId, - @PathVariable("stepId") int stepId) { + @PathVariable("flow_id") int flowId, + @PathVariable("step_id") int stepId) { try { Map step = service.getFlowStepById(stepId); if (step == null) { @@ -342,7 +342,7 @@ public class FlowController { @GetMapping("/{flowId}/steps/counts") public ResponseEntity>> getFlowStepCountList( - @PathVariable("flowId") int flowId) { + @PathVariable("flow_id") int flowId) { try { return ResponseEntity.ok(ApiResponse.success(service.getFlowStepCountList(flowId))); } catch (Exception e) { @@ -355,11 +355,11 @@ public class FlowController { @PutMapping("/{flowId}/step/{stepId}/data/{recordId}") public ResponseEntity>> updateFlowStepData( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, - @PathVariable("flowId") int flowId, - @PathVariable("stepId") int stepId, - @PathVariable("recordId") String recordId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, + @PathVariable("flow_id") int flowId, + @PathVariable("step_id") int stepId, + @PathVariable("record_id") String recordId, @RequestBody Map updateData) { if (updateData == null || updateData.isEmpty()) { @@ -385,13 +385,13 @@ public class FlowController { @PostMapping("/move") public ResponseEntity> moveData( - @RequestAttribute("userId") String userId, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { - Object flowId = body.get("flowId"); - Object fromStepId = body.get("fromStepId"); - Object recordId = body.get("recordId"); - Object toStepId = body.get("toStepId"); + Object flowId = body.get("flow_id"); + Object fromStepId = body.get("from_step_id"); + Object recordId = body.get("record_id"); + Object toStepId = body.get("to_step_id"); if (flowId == null || fromStepId == null || recordId == null || toStepId == null) { return ResponseEntity.status(400) @@ -412,13 +412,13 @@ public class FlowController { @PostMapping("/move-batch") public ResponseEntity>> moveBatchData( - @RequestAttribute("userId") String userId, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { - Object flowId = body.get("flowId"); - Object fromStepId = body.get("fromStepId"); - Object toStepId = body.get("toStepId"); - Object dataIds = body.get("dataIds"); + Object flowId = body.get("flow_id"); + Object fromStepId = body.get("from_step_id"); + Object toStepId = body.get("to_step_id"); + Object dataIds = body.get("data_ids"); if (flowId == null || fromStepId == null || toStepId == null || !(dataIds instanceof List)) { @@ -449,8 +449,8 @@ public class FlowController { : successCount + "건 성공, " + failureCount + "건 실패"; Map data = new java.util.LinkedHashMap<>(); - data.put("successCount", successCount); - data.put("failureCount", failureCount); + data.put("success_count", successCount); + data.put("failure_count", failureCount); data.put("total", ids.size()); result.put("message", message); result.put("data", data); @@ -471,7 +471,7 @@ public class FlowController { /** GET /audit/:flowId — 플로우 전체 이력 */ @GetMapping("/audit/{flowId}") public ResponseEntity>>> getFlowAuditLogList( - @PathVariable("flowId") int flowId, + @PathVariable("flow_id") int flowId, @RequestParam(defaultValue = "100") int limit) { try { return ResponseEntity.ok(ApiResponse.success(service.getFlowAuditLogList(flowId, limit))); @@ -486,8 +486,8 @@ public class FlowController { /** GET /audit/:flowId/:recordId — 특정 레코드 이력 */ @GetMapping("/audit/{flowId}/{recordId}") public ResponseEntity>>> getFlowAuditLogListByRecord( - @PathVariable("flowId") int flowId, - @PathVariable("recordId") String recordId) { + @PathVariable("flow_id") int flowId, + @PathVariable("record_id") String recordId) { try { return ResponseEntity.ok(ApiResponse.success(service.getFlowAuditLogListByRecord(flowId, recordId))); } catch (Exception e) { diff --git a/backend-spring/src/main/java/com/erp/controller/FlowExternalDbConnectionController.java b/backend-spring/src/main/java/com/erp/controller/FlowExternalDbConnectionController.java index 7c712f5f..39b7b8d0 100644 --- a/backend-spring/src/main/java/com/erp/controller/FlowExternalDbConnectionController.java +++ b/backend-spring/src/main/java/com/erp/controller/FlowExternalDbConnectionController.java @@ -33,7 +33,7 @@ public class FlowExternalDbConnectionController { @GetMapping public ResponseEntity>>> getAll( - @RequestAttribute(value = "companyCode", required = false) String companyCode, + @RequestAttribute(value = "company_code", required = false) String companyCode, @RequestParam(required = false, defaultValue = "false") String activeOnly) { try { boolean active = "true".equalsIgnoreCase(activeOnly); @@ -49,7 +49,7 @@ public class FlowExternalDbConnectionController { @GetMapping("/{id}") public ResponseEntity>> getById( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int id) { try { Map conn = service.findById(id); @@ -67,12 +67,12 @@ public class FlowExternalDbConnectionController { @PostMapping public ResponseEntity>> create( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { // 필수 필드 검증 - if (isBlank(body, "name") || isBlank(body, "dbType") || isBlank(body, "db_type") && isBlank(body, "dbType") + if (isBlank(body, "name") || isBlank(body, "db_type") || isBlank(body, "db_type") && isBlank(body, "db_type") || isBlank(body, "host") || body.get("port") == null - || isBlank(body, "databaseName") && isBlank(body, "database_name") + || isBlank(body, "database_name") && isBlank(body, "database_name") || isBlank(body, "username") || isBlank(body, "password")) { return ResponseEntity.status(400) .body(ApiResponse.error("필수 필드가 누락되었습니다")); @@ -92,7 +92,7 @@ public class FlowExternalDbConnectionController { @PutMapping("/{id}") public ResponseEntity>> update( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int id, @RequestBody Map body) { try { @@ -113,7 +113,7 @@ public class FlowExternalDbConnectionController { @DeleteMapping("/{id}") public ResponseEntity> delete( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int id) { try { boolean deleted = service.delete(id); @@ -132,7 +132,7 @@ public class FlowExternalDbConnectionController { @PostMapping("/{id}/test") public ResponseEntity> testConnection( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int id) { try { Map result = service.testConnection(id); @@ -154,7 +154,7 @@ public class FlowExternalDbConnectionController { @GetMapping("/{id}/tables") public ResponseEntity getTables( - @RequestAttribute(value = "companyCode", required = false) String companyCode, + @RequestAttribute(value = "company_code", required = false) String companyCode, @PathVariable int id) { try { Map result = service.getTables(id); @@ -171,7 +171,7 @@ public class FlowExternalDbConnectionController { @GetMapping("/{id}/tables/{tableName}/columns") public ResponseEntity getTableColumns( - @RequestAttribute(value = "companyCode", required = false) String companyCode, + @RequestAttribute(value = "company_code", required = false) String companyCode, @PathVariable int id, @PathVariable String tableName) { try { diff --git a/backend-spring/src/main/java/com/erp/controller/LayoutController.java b/backend-spring/src/main/java/com/erp/controller/LayoutController.java index 9da05232..495ade00 100644 --- a/backend-spring/src/main/java/com/erp/controller/LayoutController.java +++ b/backend-spring/src/main/java/com/erp/controller/LayoutController.java @@ -24,9 +24,9 @@ public class LayoutController { */ @GetMapping public ResponseEntity>> getLayouts( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(layoutService.getLayouts(params))); } @@ -37,7 +37,7 @@ public class LayoutController { */ @GetMapping("/counts-by-category") public ResponseEntity>> getLayoutCountsByCategory( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { return ResponseEntity.ok(ApiResponse.success( layoutService.getLayoutCountsByCategory(companyCode))); } @@ -48,7 +48,7 @@ public class LayoutController { */ @GetMapping("/{id}") public ResponseEntity>> getLayoutById( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable("id") String layoutCode) { Map layout = layoutService.getLayoutById(layoutCode, companyCode); if (layout == null) { @@ -64,15 +64,15 @@ public class LayoutController { */ @PostMapping public ResponseEntity>> createLayout( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { - if (body.get("layoutName") == null || body.get("layoutType") == null || body.get("category") == null) { + if (body.get("layout_name") == null || body.get("layout_type") == null || body.get("category") == null) { return ResponseEntity.status(400) .body(ApiResponse.error("필수 필드가 누락되었습니다. (layoutName, layoutType, category)")); } - if (body.get("layoutConfig") == null || body.get("zonesConfig") == null) { + if (body.get("layout_config") == null || body.get("zones_config") == null) { return ResponseEntity.status(400) .body(ApiResponse.error("레이아웃 설정과 존 설정은 필수입니다.")); } @@ -94,8 +94,8 @@ public class LayoutController { */ @PutMapping("/{id}") public ResponseEntity>> updateLayout( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable("id") String layoutCode, @RequestBody Map body) { @@ -119,8 +119,8 @@ public class LayoutController { */ @DeleteMapping("/{id}") public ResponseEntity> deleteLayout( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable("id") String layoutCode) { try { @@ -142,12 +142,12 @@ public class LayoutController { */ @PostMapping("/{id}/duplicate") public ResponseEntity>> duplicateLayout( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable("id") String layoutCode, @RequestBody Map body) { - String newName = (String) body.get("newName"); + String newName = (String) body.get("new_name"); if (newName == null || newName.isBlank()) { return ResponseEntity.status(400) .body(ApiResponse.error("새 레이아웃 이름이 필요합니다.")); diff --git a/backend-spring/src/main/java/com/erp/controller/MailAccountFileController.java b/backend-spring/src/main/java/com/erp/controller/MailAccountFileController.java index 503a2a75..0e7ff582 100644 --- a/backend-spring/src/main/java/com/erp/controller/MailAccountFileController.java +++ b/backend-spring/src/main/java/com/erp/controller/MailAccountFileController.java @@ -17,46 +17,46 @@ public class MailAccountFileController { @GetMapping("/list") public ResponseEntity>> getMailAccountFileList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(mailAccountFileService.getMailAccountFileList(params))); } @GetMapping("/{id}") public ResponseEntity>> getMailAccountFileInfo( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success(mailAccountFileService.getMailAccountFileInfo(params))); } @PostMapping public ResponseEntity>> insertMailAccountFile( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(mailAccountFileService.insertMailAccountFile(body))); } @PutMapping("/{id}") public ResponseEntity>> updateMailAccountFile( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); body.put("id", id); return ResponseEntity.ok(ApiResponse.success(mailAccountFileService.updateMailAccountFile(body))); } @DeleteMapping("/{id}") public ResponseEntity>> deleteMailAccountFile( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success(mailAccountFileService.deleteMailAccountFile(params))); } diff --git a/backend-spring/src/main/java/com/erp/controller/MailReceiveBasicController.java b/backend-spring/src/main/java/com/erp/controller/MailReceiveBasicController.java index d9319963..50dc35e8 100644 --- a/backend-spring/src/main/java/com/erp/controller/MailReceiveBasicController.java +++ b/backend-spring/src/main/java/com/erp/controller/MailReceiveBasicController.java @@ -21,9 +21,9 @@ public class MailReceiveBasicController { /** GET /today-count → 오늘 수신 메일 수 */ @GetMapping("/today-count") public ResponseEntity>> getMailReceiveBasicTodayCount( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); int count = mailReceiveBasicService.getMailReceiveBasicTodayCount(params); Map data = new HashMap<>(); data.put("count", count); @@ -33,22 +33,22 @@ public class MailReceiveBasicController { /** GET /{accountId}/{seqno}/attachment/{index} → 첨부파일 다운로드 */ @GetMapping("/{accountId}/{seqno}/attachment/{index}") public ResponseEntity downloadMailReceiveBasicAttachment( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long accountId, @PathVariable String seqno, @PathVariable int index) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("accountId", accountId); + params.put("company_code", companyCode); + params.put("account_id", accountId); params.put("seqno", seqno); - params.put("attachIndex", index); + params.put("attach_index", index); Map attachment = mailReceiveBasicService.getMailReceiveBasicAttachment(params); if (attachment == null) { return ResponseEntity.notFound().build(); } - byte[] data = (byte[]) attachment.get("contentData"); - String fileName = (String) attachment.getOrDefault("fileName", "attachment"); - String contentType = (String) attachment.getOrDefault("contentType", "application/octet-stream"); + byte[] data = (byte[]) attachment.get("content_data"); + String fileName = (String) attachment.getOrDefault("file_name", "attachment"); + String contentType = (String) attachment.getOrDefault("content_type", "application/octet-stream"); return ResponseEntity.ok() .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + fileName + "\"") .contentType(MediaType.parseMediaType(contentType)) @@ -58,12 +58,12 @@ public class MailReceiveBasicController { /** POST /{accountId}/{seqno}/mark-read → 메일 읽음 처리 */ @PostMapping("/{accountId}/{seqno}/mark-read") public ResponseEntity>> markMailReceiveBasicAsRead( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long accountId, @PathVariable String seqno) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("accountId", accountId); + params.put("company_code", companyCode); + params.put("account_id", accountId); params.put("seqno", seqno); return ResponseEntity.ok(ApiResponse.success(mailReceiveBasicService.markMailReceiveBasicAsRead(params))); } @@ -71,12 +71,12 @@ public class MailReceiveBasicController { /** DELETE /{accountId}/{seqno} → 메일 삭제 */ @DeleteMapping("/{accountId}/{seqno}") public ResponseEntity>> deleteMailReceiveBasic( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long accountId, @PathVariable String seqno) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("accountId", accountId); + params.put("company_code", companyCode); + params.put("account_id", accountId); params.put("seqno", seqno); return ResponseEntity.ok(ApiResponse.success(mailReceiveBasicService.deleteMailReceiveBasic(params))); } @@ -84,12 +84,12 @@ public class MailReceiveBasicController { /** GET /{accountId}/{seqno} → 메일 상세 조회 */ @GetMapping("/{accountId}/{seqno}") public ResponseEntity>> getMailReceiveBasicInfo( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long accountId, @PathVariable String seqno) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("accountId", accountId); + params.put("company_code", companyCode); + params.put("account_id", accountId); params.put("seqno", seqno); return ResponseEntity.ok(ApiResponse.success(mailReceiveBasicService.getMailReceiveBasicInfo(params))); } @@ -97,22 +97,22 @@ public class MailReceiveBasicController { /** POST /{accountId}/test-imap → IMAP 연결 테스트 */ @PostMapping("/{accountId}/test-imap") public ResponseEntity>> testMailReceiveBasicImapConnection( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long accountId) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("accountId", accountId); + params.put("company_code", companyCode); + params.put("account_id", accountId); return ResponseEntity.ok(ApiResponse.success(mailReceiveBasicService.testMailReceiveBasicImapConnection(params))); } /** GET /{accountId} → 메일 목록 조회 */ @GetMapping("/{accountId}") public ResponseEntity>> getMailReceiveBasicList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long accountId, @RequestParam Map params) { - params.put("companyCode", companyCode); - params.put("accountId", accountId); + params.put("company_code", companyCode); + params.put("account_id", accountId); return ResponseEntity.ok(ApiResponse.success(mailReceiveBasicService.getMailReceiveBasicList(params))); } } diff --git a/backend-spring/src/main/java/com/erp/controller/MailSendSimpleController.java b/backend-spring/src/main/java/com/erp/controller/MailSendSimpleController.java index 6d1a797a..8a95bde5 100644 --- a/backend-spring/src/main/java/com/erp/controller/MailSendSimpleController.java +++ b/backend-spring/src/main/java/com/erp/controller/MailSendSimpleController.java @@ -32,7 +32,7 @@ public class MailSendSimpleController { @PostMapping(value = "/simple", consumes = {MediaType.MULTIPART_FORM_DATA_VALUE, MediaType.APPLICATION_FORM_URLENCODED_VALUE}) public ResponseEntity>> sendMail( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam(required = false) String accountId, @RequestParam(required = false) String templateId, @RequestParam(required = false) String modifiedTemplateComponents, @@ -46,17 +46,17 @@ public class MailSendSimpleController { @RequestPart(value = "attachments", required = false) List attachments) { Map params = new LinkedHashMap<>(); - params.put("companyCode", companyCode); - params.put("accountId", accountId); - params.put("templateId", templateId); - params.put("modifiedTemplateComponents", modifiedTemplateComponents); + params.put("company_code", companyCode); + params.put("account_id", accountId); + params.put("template_id", templateId); + params.put("modified_template_components", modifiedTemplateComponents); params.put("to", to); params.put("cc", cc); params.put("bcc", bcc); params.put("subject", subject); params.put("variables", variables); - params.put("customHtml", customHtml); - params.put("fileNames", fileNames); + params.put("custom_html", customHtml); + params.put("file_names", fileNames); params.put("attachments", attachments); return ResponseEntity.ok(ApiResponse.success( @@ -70,10 +70,10 @@ public class MailSendSimpleController { */ @PostMapping("/bulk") public ResponseEntity>> sendBulkMail( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); Map result = mailSendSimpleService.sendBulkMail(body); int successCount = ((Number) result.getOrDefault("success", 0)).intValue(); int total = ((Number) result.getOrDefault("total", 0)).intValue(); @@ -87,10 +87,10 @@ public class MailSendSimpleController { */ @PostMapping("/test-connection") public ResponseEntity>> testConnection( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success( mailSendSimpleService.testConnection(body))); } diff --git a/backend-spring/src/main/java/com/erp/controller/MailSentHistoryController.java b/backend-spring/src/main/java/com/erp/controller/MailSentHistoryController.java index b6060cde..aa8b5cd9 100644 --- a/backend-spring/src/main/java/com/erp/controller/MailSentHistoryController.java +++ b/backend-spring/src/main/java/com/erp/controller/MailSentHistoryController.java @@ -18,27 +18,27 @@ public class MailSentHistoryController { // GET /statistics — /{id} 보다 먼저 정의해야 매핑 우선순위 확보 @GetMapping("/statistics") public ResponseEntity>> getMailSentHistoryStatistics( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(mailSentHistoryService.getMailSentHistoryStatistics(params))); } // GET / — 목록 조회 (페이지네이션) @GetMapping public ResponseEntity>> getMailSentHistoryList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(mailSentHistoryService.getMailSentHistoryList(params))); } // POST /draft — 임시 저장 @PostMapping("/draft") public ResponseEntity>> saveMailSentHistoryDraft( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success( mailSentHistoryService.saveMailSentHistoryDraft(body), "임시 저장되었습니다.")); } @@ -46,10 +46,10 @@ public class MailSentHistoryController { // PUT /draft/{id} — 임시 저장 업데이트 @PutMapping("/draft/{id}") public ResponseEntity>> updateMailSentHistoryDraft( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String id, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); body.put("id", id); return ResponseEntity.ok(ApiResponse.success( mailSentHistoryService.updateMailSentHistoryDraft(body), "임시 저장이 업데이트되었습니다.")); @@ -58,37 +58,37 @@ public class MailSentHistoryController { // POST /bulk/delete — 일괄 소프트 삭제 @PostMapping("/bulk/delete") public ResponseEntity>> bulkDeleteMailSentHistory( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(mailSentHistoryService.bulkDeleteMailSentHistory(body))); } // POST /bulk/permanent-delete — 일괄 영구 삭제 @PostMapping("/bulk/permanent-delete") public ResponseEntity>> bulkPermanentDeleteMailSentHistory( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(mailSentHistoryService.bulkPermanentDeleteMailSentHistory(body))); } // POST /bulk/restore — 일괄 복구 @PostMapping("/bulk/restore") public ResponseEntity>> bulkRestoreMailSentHistory( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(mailSentHistoryService.bulkRestoreMailSentHistory(body))); } // POST /{id}/restore — 메일 복구 @PostMapping("/{id}/restore") public ResponseEntity>> restoreMailSentHistory( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success( mailSentHistoryService.restoreMailSentHistory(params), "메일이 복구되었습니다.")); @@ -97,10 +97,10 @@ public class MailSentHistoryController { // DELETE /{id}/permanent — 영구 삭제 @DeleteMapping("/{id}/permanent") public ResponseEntity>> permanentlyDeleteMailSentHistory( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success( mailSentHistoryService.permanentlyDeleteMailSentHistory(params), "메일이 영구 삭제되었습니다.")); @@ -109,10 +109,10 @@ public class MailSentHistoryController { // GET /{id} — 단건 조회 @GetMapping("/{id}") public ResponseEntity>> getMailSentHistoryInfo( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success(mailSentHistoryService.getMailSentHistoryInfo(params))); } @@ -120,10 +120,10 @@ public class MailSentHistoryController { // DELETE /{id} — 소프트 삭제 @DeleteMapping("/{id}") public ResponseEntity>> deleteMailSentHistory( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success( mailSentHistoryService.deleteMailSentHistory(params), "발송 이력이 삭제되었습니다.")); diff --git a/backend-spring/src/main/java/com/erp/controller/MailTemplateFileController.java b/backend-spring/src/main/java/com/erp/controller/MailTemplateFileController.java index a86c85f3..2e800d25 100644 --- a/backend-spring/src/main/java/com/erp/controller/MailTemplateFileController.java +++ b/backend-spring/src/main/java/com/erp/controller/MailTemplateFileController.java @@ -18,28 +18,28 @@ public class MailTemplateFileController { /** GET /list → 템플릿 목록 조회 (alias) */ @GetMapping("/list") public ResponseEntity>> getMailTemplateFileListAlias( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(mailTemplateFileService.getMailTemplateFileList(params))); } /** GET / → 템플릿 목록 조회 */ @GetMapping public ResponseEntity>> getMailTemplateFileList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(mailTemplateFileService.getMailTemplateFileList(params))); } /** GET /{id} → 템플릿 상세 조회 */ @GetMapping("/{id}") public ResponseEntity>> getMailTemplateFileInfo( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success(mailTemplateFileService.getMailTemplateFileInfo(params))); } @@ -47,19 +47,19 @@ public class MailTemplateFileController { /** POST / → 템플릿 생성 */ @PostMapping public ResponseEntity>> insertMailTemplateFile( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(mailTemplateFileService.insertMailTemplateFile(body))); } /** PUT /{id} → 템플릿 수정 */ @PutMapping("/{id}") public ResponseEntity>> updateMailTemplateFile( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); body.put("id", id); return ResponseEntity.ok(ApiResponse.success(mailTemplateFileService.updateMailTemplateFile(body))); } @@ -67,10 +67,10 @@ public class MailTemplateFileController { /** DELETE /{id} → 템플릿 삭제 */ @DeleteMapping("/{id}") public ResponseEntity>> deleteMailTemplateFile( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success(mailTemplateFileService.deleteMailTemplateFile(params))); } @@ -78,10 +78,10 @@ public class MailTemplateFileController { /** POST /{id}/preview → 템플릿 HTML 미리보기 */ @PostMapping("/{id}/preview") public ResponseEntity>> previewMailTemplateFile( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); body.put("id", id); Map result = mailTemplateFileService.previewMailTemplateFile(body); if (result.isEmpty()) { @@ -93,7 +93,7 @@ public class MailTemplateFileController { /** POST /{id}/preview-with-query → 쿼리 연동 미리보기 (미지원) */ @PostMapping("/{id}/preview-with-query") public ResponseEntity>> previewMailTemplateFileWithQuery( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { return ResponseEntity.status(501).body(ApiResponse.error("SQL 쿼리 연동 기능은 현재 지원하지 않습니다.")); } diff --git a/backend-spring/src/main/java/com/erp/controller/MapDataController.java b/backend-spring/src/main/java/com/erp/controller/MapDataController.java index b97d519f..66c03b3b 100644 --- a/backend-spring/src/main/java/com/erp/controller/MapDataController.java +++ b/backend-spring/src/main/java/com/erp/controller/MapDataController.java @@ -25,13 +25,13 @@ public class MapDataController { */ @GetMapping("/external/{connectionId}") public ResponseEntity>> getExternalMapData( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long connectionId, @RequestParam Map params) { - String tableName = (String) params.get("tableName"); - String latColumn = (String) params.get("latColumn"); - String lngColumn = (String) params.get("lngColumn"); + String tableName = (String) params.get("table_name"); + String latColumn = (String) params.get("lat_column"); + String lngColumn = (String) params.get("lng_column"); if (tableName == null || tableName.isBlank() || latColumn == null || latColumn.isBlank() @@ -52,12 +52,12 @@ public class MapDataController { */ @GetMapping("/internal") public ResponseEntity>> getInternalMapData( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - String tableName = (String) params.get("tableName"); - String latColumn = (String) params.get("latColumn"); - String lngColumn = (String) params.get("lngColumn"); + String tableName = (String) params.get("table_name"); + String latColumn = (String) params.get("lat_column"); + String lngColumn = (String) params.get("lng_column"); if (tableName == null || tableName.isBlank() || latColumn == null || latColumn.isBlank() diff --git a/backend-spring/src/main/java/com/erp/controller/MoldController.java b/backend-spring/src/main/java/com/erp/controller/MoldController.java index 08d6f604..f6890c47 100644 --- a/backend-spring/src/main/java/com/erp/controller/MoldController.java +++ b/backend-spring/src/main/java/com/erp/controller/MoldController.java @@ -20,27 +20,27 @@ public class MoldController { @GetMapping public ResponseEntity>> getMoldList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(moldService.getMoldList(params))); } @GetMapping("/list") public ResponseEntity>> getMoldListAlias( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(moldService.getMoldList(params))); } @GetMapping("/{moldCode}") public ResponseEntity>> getMoldDetail( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String moldCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("moldCode", moldCode); + params.put("company_code", companyCode); + params.put("mold_code", moldCode); Map result = moldService.getMoldInfo(params); if (result == null) return ResponseEntity.status(404).body(ApiResponse.error("금형을 찾을 수 없습니다.")); return ResponseEntity.ok(ApiResponse.success(result)); @@ -48,12 +48,12 @@ public class MoldController { @PostMapping public ResponseEntity>> createMold( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); body.put("writer", userId); - if (body.get("moldCode") == null || body.get("moldName") == null) { + if (body.get("mold_code") == null || body.get("mold_name") == null) { return ResponseEntity.status(400).body(ApiResponse.error("금형코드와 금형명은 필수입니다.")); } try { @@ -68,11 +68,11 @@ public class MoldController { @PutMapping("/{moldCode}") public ResponseEntity>> updateMold( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String moldCode, @RequestBody Map body) { - body.put("companyCode", companyCode); - body.put("moldCode", moldCode); + body.put("company_code", companyCode); + body.put("mold_code", moldCode); Map result = moldService.updateMold(body); if (result == null) return ResponseEntity.status(404).body(ApiResponse.error("금형을 찾을 수 없습니다.")); return ResponseEntity.ok(ApiResponse.success(result, "금형이 수정되었습니다.")); @@ -80,11 +80,11 @@ public class MoldController { @DeleteMapping("/{moldCode}") public ResponseEntity> deleteMold( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String moldCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("moldCode", moldCode); + params.put("company_code", companyCode); + params.put("mold_code", moldCode); if (!moldService.deleteMold(params)) { return ResponseEntity.status(404).body(ApiResponse.error("금형을 찾을 수 없습니다.")); } @@ -95,22 +95,22 @@ public class MoldController { @GetMapping("/{moldCode}/serials") public ResponseEntity>>> getMoldSerials( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String moldCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("moldCode", moldCode); + params.put("company_code", companyCode); + params.put("mold_code", moldCode); return ResponseEntity.ok(ApiResponse.success(moldService.getMoldSerialList(params))); } @PostMapping("/{moldCode}/serials") public ResponseEntity>> createMoldSerial( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable String moldCode, @RequestBody Map body) { - body.put("companyCode", companyCode); - body.put("moldCode", moldCode); + body.put("company_code", companyCode); + body.put("mold_code", moldCode); body.put("writer", userId); try { return ResponseEntity.ok(ApiResponse.success(moldService.insertMoldSerial(body), "일련번호가 등록되었습니다.")); @@ -124,10 +124,10 @@ public class MoldController { @DeleteMapping("/serials/{id}") public ResponseEntity> deleteMoldSerial( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); if (!moldService.deleteMoldSerial(params)) { return ResponseEntity.status(404).body(ApiResponse.error("일련번호를 찾을 수 없습니다.")); @@ -137,11 +137,11 @@ public class MoldController { @GetMapping("/{moldCode}/serial-summary") public ResponseEntity>> getMoldSerialSummary( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String moldCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("moldCode", moldCode); + params.put("company_code", companyCode); + params.put("mold_code", moldCode); return ResponseEntity.ok(ApiResponse.success(moldService.getMoldSerialSummary(params))); } @@ -149,24 +149,24 @@ public class MoldController { @GetMapping("/{moldCode}/inspections") public ResponseEntity>>> getMoldInspections( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String moldCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("moldCode", moldCode); + params.put("company_code", companyCode); + params.put("mold_code", moldCode); return ResponseEntity.ok(ApiResponse.success(moldService.getMoldInspectionList(params))); } @PostMapping("/{moldCode}/inspections") public ResponseEntity>> createMoldInspection( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable String moldCode, @RequestBody Map body) { - body.put("companyCode", companyCode); - body.put("moldCode", moldCode); + body.put("company_code", companyCode); + body.put("mold_code", moldCode); body.put("writer", userId); - if (body.get("inspectionItem") == null) { + if (body.get("inspection_item") == null) { return ResponseEntity.status(400).body(ApiResponse.error("점검항목명은 필수입니다.")); } return ResponseEntity.ok(ApiResponse.success(moldService.insertMoldInspection(body), "점검항목이 등록되었습니다.")); @@ -174,10 +174,10 @@ public class MoldController { @DeleteMapping("/inspections/{id}") public ResponseEntity> deleteMoldInspection( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); if (!moldService.deleteMoldInspection(params)) { return ResponseEntity.status(404).body(ApiResponse.error("점검항목을 찾을 수 없습니다.")); @@ -189,24 +189,24 @@ public class MoldController { @GetMapping("/{moldCode}/parts") public ResponseEntity>>> getMoldParts( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String moldCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("moldCode", moldCode); + params.put("company_code", companyCode); + params.put("mold_code", moldCode); return ResponseEntity.ok(ApiResponse.success(moldService.getMoldPartList(params))); } @PostMapping("/{moldCode}/parts") public ResponseEntity>> createMoldPart( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable String moldCode, @RequestBody Map body) { - body.put("companyCode", companyCode); - body.put("moldCode", moldCode); + body.put("company_code", companyCode); + body.put("mold_code", moldCode); body.put("writer", userId); - if (body.get("partName") == null) { + if (body.get("part_name") == null) { return ResponseEntity.status(400).body(ApiResponse.error("부품명은 필수입니다.")); } return ResponseEntity.ok(ApiResponse.success(moldService.insertMoldPart(body), "부품이 등록되었습니다.")); @@ -214,10 +214,10 @@ public class MoldController { @DeleteMapping("/parts/{id}") public ResponseEntity> deleteMoldPart( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); if (!moldService.deleteMoldPart(params)) { return ResponseEntity.status(404).body(ApiResponse.error("부품을 찾을 수 없습니다.")); diff --git a/backend-spring/src/main/java/com/erp/controller/MultiConnectionController.java b/backend-spring/src/main/java/com/erp/controller/MultiConnectionController.java index a7688362..a65717b5 100644 --- a/backend-spring/src/main/java/com/erp/controller/MultiConnectionController.java +++ b/backend-spring/src/main/java/com/erp/controller/MultiConnectionController.java @@ -21,7 +21,7 @@ public class MultiConnectionController { /** GET /connections/:connectionId/tables */ @GetMapping("/connections/{connectionId}/tables") public ResponseEntity>>> getTablesFromConnection( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int connectionId) { List> tables = multiConnectionService.getTablesFromConnection(connectionId); return ResponseEntity.ok(ApiResponse.success(tables, @@ -31,7 +31,7 @@ public class MultiConnectionController { /** GET /connections/:connectionId/tables/batch */ @GetMapping("/connections/{connectionId}/tables/batch") public ResponseEntity>>> getBatchTablesWithColumns( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int connectionId) { List> tables = multiConnectionService.getBatchTablesWithColumns(connectionId); return ResponseEntity.ok(ApiResponse.success(tables, @@ -41,7 +41,7 @@ public class MultiConnectionController { /** GET /connections/:connectionId/tables/:tableName/columns */ @GetMapping("/connections/{connectionId}/tables/{tableName}/columns") public ResponseEntity>>> getColumnsFromConnection( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int connectionId, @PathVariable String tableName) { if (tableName == null || tableName.isBlank()) { @@ -55,10 +55,10 @@ public class MultiConnectionController { /** POST /connections/:connectionId/query */ @PostMapping("/connections/{connectionId}/query") public ResponseEntity>>> fetchDataFromConnection( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int connectionId, @RequestBody Map body) { - if (body.get("tableName") == null) { + if (body.get("table_name") == null) { return ResponseEntity.badRequest().body(ApiResponse.error("테이블명이 입력되지 않았습니다.")); } List> data = multiConnectionService.fetchDataFromConnection(connectionId, body); @@ -69,10 +69,10 @@ public class MultiConnectionController { /** POST /connections/:connectionId/insert */ @PostMapping("/connections/{connectionId}/insert") public ResponseEntity>> insertDataToConnection( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int connectionId, @RequestBody Map body) { - if (body.get("tableName") == null || body.get("data") == null) { + if (body.get("table_name") == null || body.get("data") == null) { return ResponseEntity.badRequest().body(ApiResponse.error("테이블명과 데이터가 필요합니다.")); } Map result = multiConnectionService.insertDataToConnection(connectionId, body); @@ -82,10 +82,10 @@ public class MultiConnectionController { /** PUT /connections/:connectionId/update */ @PutMapping("/connections/{connectionId}/update") public ResponseEntity>>> updateDataToConnection( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int connectionId, @RequestBody Map body) { - if (body.get("tableName") == null || body.get("data") == null || body.get("conditions") == null) { + if (body.get("table_name") == null || body.get("data") == null || body.get("conditions") == null) { return ResponseEntity.badRequest().body(ApiResponse.error("테이블명, 데이터, 조건이 모두 필요합니다.")); } List> result = multiConnectionService.updateDataToConnection(connectionId, body); @@ -96,10 +96,10 @@ public class MultiConnectionController { /** DELETE /connections/:connectionId/delete */ @DeleteMapping("/connections/{connectionId}/delete") public ResponseEntity>>> deleteDataFromConnection( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int connectionId, @RequestBody Map body) { - if (body.get("tableName") == null || body.get("conditions") == null) { + if (body.get("table_name") == null || body.get("conditions") == null) { return ResponseEntity.badRequest().body(ApiResponse.error("테이블명과 삭제 조건이 필요합니다.")); } List> result = multiConnectionService.deleteDataFromConnection(connectionId, body); @@ -110,9 +110,9 @@ public class MultiConnectionController { /** POST /validate-self-operation */ @PostMapping("/validate-self-operation") public ResponseEntity>> validateSelfOperation( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - if (body.get("tableName") == null || body.get("operation") == null || body.get("conditions") == null) { + if (body.get("table_name") == null || body.get("operation") == null || body.get("conditions") == null) { return ResponseEntity.badRequest().body(ApiResponse.error("테이블명, 작업 타입, 조건이 모두 필요합니다.")); } String op = body.get("operation").toString(); diff --git a/backend-spring/src/main/java/com/erp/controller/MultilangController.java b/backend-spring/src/main/java/com/erp/controller/MultilangController.java index 51da1f06..6fd83a54 100644 --- a/backend-spring/src/main/java/com/erp/controller/MultilangController.java +++ b/backend-spring/src/main/java/com/erp/controller/MultilangController.java @@ -28,12 +28,12 @@ public class MultilangController { @RequestParam(required = false) String menuCode, @RequestParam(required = false) String userLang) { - String finalCompanyCode = companyCode != null ? companyCode : str(body.get("companyCode")); - String finalMenuCode = menuCode != null ? menuCode : str(body.get("menuCode")); - String finalUserLang = userLang != null ? userLang : str(body.get("userLang")); + String finalCompanyCode = companyCode != null ? companyCode : str(body.get("company_code")); + String finalMenuCode = menuCode != null ? menuCode : str(body.get("menu_code")); + String finalUserLang = userLang != null ? userLang : str(body.get("user_lang")); @SuppressWarnings("unchecked") - List langKeys = (List) body.get("langKeys"); + List langKeys = (List) body.get("lang_keys"); if (langKeys == null || langKeys.isEmpty()) { return ResponseEntity.badRequest().body(ApiResponse.error("langKeys 배열이 필요합니다.")); @@ -59,21 +59,21 @@ public class MultilangController { @PostMapping("/languages") public ResponseEntity>> createLanguage( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - String langCode = str(body.get("langCode")); - String langName = str(body.get("langName")); - String langNative = str(body.get("langNative")); + String langCode = str(body.get("lang_code")); + String langName = str(body.get("lang_name")); + String langNative = str(body.get("lang_native")); if (langCode.isEmpty() || langName.isEmpty() || langNative.isEmpty()) { return ResponseEntity.badRequest() .body(ApiResponse.error("언어 코드, 언어명, 원어명은 필수입니다.")); } - String userId = str(body.getOrDefault("createdBy", "system")); - body.put("createdBy", userId); - body.put("updatedBy", userId); + String userId = str(body.getOrDefault("created_by", "system")); + body.put("created_by", userId); + body.put("updated_by", userId); Map created = multilangService.createLanguage(body); return ResponseEntity.status(201) .body(ApiResponse.success(created, "언어가 성공적으로 생성되었습니다.")); @@ -81,19 +81,19 @@ public class MultilangController { @PutMapping("/languages/{langCode}") public ResponseEntity>> updateLanguage( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String langCode, @RequestBody Map body) { - String userId = str(body.getOrDefault("updatedBy", "system")); - body.put("updatedBy", userId); + String userId = str(body.getOrDefault("updated_by", "system")); + body.put("updated_by", userId); Map updated = multilangService.updateLanguage(langCode, body); return ResponseEntity.ok(ApiResponse.success(updated, "언어가 성공적으로 수정되었습니다.")); } @DeleteMapping("/languages/{langCode}") public ResponseEntity> deleteLanguage( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String langCode) { multilangService.deleteLanguage(langCode); @@ -102,7 +102,7 @@ public class MultilangController { @PutMapping("/languages/{langCode}/toggle") public ResponseEntity> toggleLanguage( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String langCode) { String result = multilangService.toggleLanguage(langCode); @@ -115,7 +115,7 @@ public class MultilangController { @GetMapping("/keys") public ResponseEntity>>> getLangKeys( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { List> keys = multilangService.getLangKeys(new HashMap<>(params)); @@ -124,7 +124,7 @@ public class MultilangController { @GetMapping("/keys/{keyId}/texts") public ResponseEntity>>> getLangTexts( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int keyId) { return ResponseEntity.ok(ApiResponse.success( @@ -133,17 +133,17 @@ public class MultilangController { @PostMapping("/keys") public ResponseEntity> createLangKey( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - if (str(body.get("companyCode")).isEmpty() || str(body.get("langKey")).isEmpty()) { + if (str(body.get("company_code")).isEmpty() || str(body.get("lang_key")).isEmpty()) { return ResponseEntity.badRequest() .body(ApiResponse.error("회사 코드와 언어 키는 필수입니다.")); } - String userId = str(body.getOrDefault("createdBy", "system")); - body.put("createdBy", userId); - body.put("updatedBy", userId); + String userId = str(body.getOrDefault("created_by", "system")); + body.put("created_by", userId); + body.put("updated_by", userId); int keyId = multilangService.createLangKey(body); return ResponseEntity.status(201) .body(ApiResponse.success(keyId, "다국어 키가 성공적으로 생성되었습니다.")); @@ -151,19 +151,19 @@ public class MultilangController { @PutMapping("/keys/{keyId}") public ResponseEntity> updateLangKey( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int keyId, @RequestBody Map body) { - String userId = str(body.getOrDefault("updatedBy", "system")); - body.put("updatedBy", userId); + String userId = str(body.getOrDefault("updated_by", "system")); + body.put("updated_by", userId); multilangService.updateLangKey(keyId, body); return ResponseEntity.ok(ApiResponse.success("수정 완료", "다국어 키가 성공적으로 수정되었습니다.")); } @DeleteMapping("/keys/{keyId}") public ResponseEntity> deleteLangKey( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int keyId) { multilangService.deleteLangKey(keyId); @@ -172,7 +172,7 @@ public class MultilangController { @PutMapping("/keys/{keyId}/toggle") public ResponseEntity> toggleLangKey( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int keyId) { String result = multilangService.toggleLangKey(keyId); @@ -185,7 +185,7 @@ public class MultilangController { @PostMapping("/keys/{keyId}/texts") public ResponseEntity> saveLangTexts( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int keyId, @RequestBody Map body) { @@ -195,10 +195,10 @@ public class MultilangController { return ResponseEntity.badRequest().body(ApiResponse.error("텍스트 데이터는 필수입니다.")); } - String userId = str(body.getOrDefault("updatedBy", "system")); + String userId = str(body.getOrDefault("updated_by", "system")); for (Map t : texts) { - if (t.get("createdBy") == null) t.put("createdBy", userId); - if (t.get("updatedBy") == null) t.put("updatedBy", userId); + if (t.get("created_by") == null) t.put("created_by", userId); + if (t.get("updated_by") == null) t.put("updated_by", userId); } multilangService.saveLangTexts(keyId, texts); return ResponseEntity.ok(ApiResponse.success("저장 완료", "다국어 텍스트가 성공적으로 저장되었습니다.")); @@ -234,7 +234,7 @@ public class MultilangController { @GetMapping("/categories") public ResponseEntity>>> getCategories( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { return ResponseEntity.ok(ApiResponse.success( multilangService.getCategories(), "카테고리 목록 조회 성공")); @@ -242,7 +242,7 @@ public class MultilangController { @GetMapping("/categories/{categoryId}") public ResponseEntity>> getCategoryById( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int categoryId) { Map category = multilangService.getCategoryById(categoryId); @@ -254,7 +254,7 @@ public class MultilangController { @GetMapping("/categories/{categoryId}/path") public ResponseEntity>>> getCategoryPath( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int categoryId) { return ResponseEntity.ok(ApiResponse.success( @@ -267,12 +267,12 @@ public class MultilangController { @PostMapping("/keys/generate") public ResponseEntity> generateKey( - @RequestAttribute("companyCode") String requestCompanyCode, + @RequestAttribute("company_code") String requestCompanyCode, @RequestBody Map body) { - String targetCompanyCode = str(body.get("companyCode")); - if (targetCompanyCode.isEmpty() || str(body.get("categoryId")).isEmpty() - || str(body.get("keyMeaning")).isEmpty()) { + String targetCompanyCode = str(body.get("company_code")); + if (targetCompanyCode.isEmpty() || str(body.get("category_id")).isEmpty() + || str(body.get("key_meaning")).isEmpty()) { return ResponseEntity.badRequest() .body(ApiResponse.error("회사 코드, 카테고리 ID, 키 의미는 필수입니다.")); } @@ -286,7 +286,7 @@ public class MultilangController { .body(ApiResponse.error("다른 회사의 키를 생성할 권한이 없습니다.")); } - body.put("createdBy", body.getOrDefault("createdBy", "system")); + body.put("created_by", body.getOrDefault("created_by", "system")); int keyId = multilangService.generateKey(body); return ResponseEntity.status(201) .body(ApiResponse.success(keyId, "키가 성공적으로 생성되었습니다.")); @@ -294,12 +294,12 @@ public class MultilangController { @PostMapping("/keys/preview") public ResponseEntity>> previewKey( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - Object categoryIdObj = body.get("categoryId"); - String keyMeaning = str(body.get("keyMeaning")); - String targetCompanyCode = str(body.get("companyCode")); + Object categoryIdObj = body.get("category_id"); + String keyMeaning = str(body.get("key_meaning")); + String targetCompanyCode = str(body.get("company_code")); if (categoryIdObj == null || keyMeaning.isEmpty() || targetCompanyCode.isEmpty()) { return ResponseEntity.badRequest() @@ -313,11 +313,11 @@ public class MultilangController { @PostMapping("/keys/override") public ResponseEntity> createOverrideKey( - @RequestAttribute("companyCode") String requestCompanyCode, + @RequestAttribute("company_code") String requestCompanyCode, @RequestBody Map body) { - String targetCompanyCode = str(body.get("companyCode")); - if (targetCompanyCode.isEmpty() || body.get("baseKeyId") == null) { + String targetCompanyCode = str(body.get("company_code")); + if (targetCompanyCode.isEmpty() || body.get("base_key_id") == null) { return ResponseEntity.badRequest() .body(ApiResponse.error("회사 코드와 원본 키 ID는 필수입니다.")); } @@ -330,7 +330,7 @@ public class MultilangController { .body(ApiResponse.error("다른 회사의 오버라이드 키를 생성할 권한이 없습니다.")); } - body.put("createdBy", body.getOrDefault("createdBy", "system")); + body.put("created_by", body.getOrDefault("created_by", "system")); int keyId = multilangService.createOverrideKey(body); return ResponseEntity.status(201) .body(ApiResponse.success(keyId, "오버라이드 키가 성공적으로 생성되었습니다.")); @@ -338,7 +338,7 @@ public class MultilangController { @GetMapping("/keys/overrides/{companyCode}") public ResponseEntity>>> getOverrideKeys( - @RequestAttribute("companyCode") String requestCompanyCode, + @RequestAttribute("company_code") String requestCompanyCode, @PathVariable String companyCode) { if (!"*".equals(requestCompanyCode) && !companyCode.equals(requestCompanyCode)) { @@ -355,10 +355,10 @@ public class MultilangController { @PostMapping("/screen-labels") public ResponseEntity>>> generateScreenLabelKeys( - @RequestAttribute("companyCode") String requestCompanyCode, + @RequestAttribute("company_code") String requestCompanyCode, @RequestBody Map body) { - Object screenIdObj = body.get("screenId"); + Object screenIdObj = body.get("screen_id"); @SuppressWarnings("unchecked") List> labels = (List>) body.get("labels"); @@ -370,14 +370,14 @@ public class MultilangController { } // companyCode, companyName이 body에 없으면 requestCompanyCode 사용 - if (!body.containsKey("companyCode") || str(body.get("companyCode")).isEmpty()) { - body.put("companyCode", requestCompanyCode); + if (!body.containsKey("company_code") || str(body.get("company_code")).isEmpty()) { + body.put("company_code", requestCompanyCode); } - if (!body.containsKey("companyName") || str(body.get("companyName")).isEmpty()) { - body.put("companyName", requestCompanyCode); + if (!body.containsKey("company_name") || str(body.get("company_name")).isEmpty()) { + body.put("company_name", requestCompanyCode); } - body.put("screenId", toInt(screenIdObj)); + body.put("screen_id", toInt(screenIdObj)); List> results = multilangService.generateScreenLabelKeys(body); return ResponseEntity.ok(ApiResponse.success( results, results.size() + "개의 다국어 키가 생성되었습니다.")); diff --git a/backend-spring/src/main/java/com/erp/controller/NodeExternalConnectionController.java b/backend-spring/src/main/java/com/erp/controller/NodeExternalConnectionController.java index 112bac5c..a00d2049 100644 --- a/backend-spring/src/main/java/com/erp/controller/NodeExternalConnectionController.java +++ b/backend-spring/src/main/java/com/erp/controller/NodeExternalConnectionController.java @@ -34,7 +34,7 @@ public class NodeExternalConnectionController { @GetMapping("/tested") public ResponseEntity>>> getTestedConnections( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { log.info("노드 플로우용 테스트 완료된 커넥션 조회 요청 - companyCode: {}", companyCode); List> valid = service.getTestedConnections(companyCode); @@ -54,7 +54,7 @@ public class NodeExternalConnectionController { @GetMapping("/{id}/tables") public ResponseEntity getTables( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int id) { try { log.info("외부 DB 테이블 목록 조회: connectionId={}", id); @@ -79,7 +79,7 @@ public class NodeExternalConnectionController { @GetMapping("/{id}/tables/{tableName}/columns") public ResponseEntity getTableColumns( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable int id, @PathVariable String tableName) { try { diff --git a/backend-spring/src/main/java/com/erp/controller/NodeFlowController.java b/backend-spring/src/main/java/com/erp/controller/NodeFlowController.java index 19a0d6bf..b4b7beb1 100644 --- a/backend-spring/src/main/java/com/erp/controller/NodeFlowController.java +++ b/backend-spring/src/main/java/com/erp/controller/NodeFlowController.java @@ -30,7 +30,7 @@ public class NodeFlowController { /** GET / */ @GetMapping public ResponseEntity>>> getFlowList( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { return ResponseEntity.ok(ApiResponse.success(service.getFlowList(companyCode))); } catch (Exception e) { @@ -47,7 +47,7 @@ public class NodeFlowController { @GetMapping("/{flowId}") public ResponseEntity>> getFlowById( @PathVariable int flowId, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { Map flow = service.getFlowById(flowId, companyCode); if (flow == null) { @@ -67,14 +67,14 @@ public class NodeFlowController { /** POST / */ @PostMapping public ResponseEntity>> createFlow( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, - @RequestAttribute("userName") String userName, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, + @RequestAttribute("user_name") String userName, @RequestBody Map body) { try { - body.put("companyCode", companyCode); - body.put("userId", userId); - body.put("userName", userName); + body.put("company_code", companyCode); + body.put("user_id", userId); + body.put("user_name", userName); return ResponseEntity.ok(ApiResponse.success(service.createFlow(body))); } catch (IllegalArgumentException e) { return ResponseEntity.status(400).body(ApiResponse.error(e.getMessage())); @@ -91,14 +91,14 @@ public class NodeFlowController { /** PUT / (flowId는 body에 포함) */ @PutMapping public ResponseEntity>> updateFlow( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, - @RequestAttribute("userName") String userName, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, + @RequestAttribute("user_name") String userName, @RequestBody Map body) { try { - body.put("companyCode", companyCode); - body.put("userId", userId); - body.put("userName", userName); + body.put("company_code", companyCode); + body.put("user_id", userId); + body.put("user_name", userName); return ResponseEntity.ok(ApiResponse.success(service.updateFlow(body))); } catch (IllegalArgumentException e) { return ResponseEntity.status(400).body(ApiResponse.error(e.getMessage())); @@ -116,9 +116,9 @@ public class NodeFlowController { @DeleteMapping("/{flowId}") public ResponseEntity> deleteFlow( @PathVariable int flowId, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, - @RequestAttribute("userName") String userName) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, + @RequestAttribute("user_name") String userName) { try { service.deleteFlow(flowId, companyCode, userId, userName); return ResponseEntity.ok(ApiResponse.success(null, "플로우가 삭제되었습니다.")); @@ -158,15 +158,15 @@ public class NodeFlowController { @PostMapping("/{flowId}/execute") public ResponseEntity>> executeFlow( @PathVariable int flowId, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, - @RequestAttribute("userName") String userName, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, + @RequestAttribute("user_name") String userName, @RequestBody(required = false) Map body) { try { Map contextData = body != null ? body : new java.util.LinkedHashMap<>(); - contextData.put("companyCode", companyCode); - contextData.put("userId", userId); - contextData.put("userName", userName); + contextData.put("company_code", companyCode); + contextData.put("user_id", userId); + contextData.put("user_name", userName); Map result = service.executeFlow(flowId, contextData); return ResponseEntity.ok(ApiResponse.success(result)); diff --git a/backend-spring/src/main/java/com/erp/controller/NumberingRuleController.java b/backend-spring/src/main/java/com/erp/controller/NumberingRuleController.java index 2a136757..dfd484b1 100644 --- a/backend-spring/src/main/java/com/erp/controller/NumberingRuleController.java +++ b/backend-spring/src/main/java/com/erp/controller/NumberingRuleController.java @@ -25,7 +25,7 @@ public class NumberingRuleController { /** GET / → 회사별 채번 규칙 전체 목록 */ @GetMapping public ResponseEntity>>> getRuleList( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { List> list = numberingRuleService.getRuleList(companyCode); return ResponseEntity.ok(ApiResponse.success(list, "채번 규칙 목록을 조회했습니다.")); } @@ -33,7 +33,7 @@ public class NumberingRuleController { /** GET /available → 메뉴 기반 사용 가능 규칙 (menuObjid 없음) */ @GetMapping("/available") public ResponseEntity>>> getAvailableRulesForMenu( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { List> list = numberingRuleService.getAvailableRulesForMenu(companyCode, null); return ResponseEntity.ok(ApiResponse.success(list, "사용 가능한 채번 규칙을 조회했습니다.")); } @@ -41,7 +41,7 @@ public class NumberingRuleController { /** GET /available/{menuObjid} → 메뉴 기반 사용 가능 규칙 */ @GetMapping("/available/{menuObjid}") public ResponseEntity>>> getAvailableRulesForMenuWithId( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Integer menuObjid) { List> list = numberingRuleService.getAvailableRulesForMenu(companyCode, menuObjid); return ResponseEntity.ok(ApiResponse.success(list, "사용 가능한 채번 규칙을 조회했습니다.")); @@ -50,7 +50,7 @@ public class NumberingRuleController { /** GET /available-for-screen?tableName= → 화면 기반 사용 가능 규칙 */ @GetMapping("/available-for-screen") public ResponseEntity>>> getAvailableRulesForScreen( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam(required = false) String tableName) { List> list = numberingRuleService.getAvailableRulesForScreen(companyCode, tableName); return ResponseEntity.ok(ApiResponse.success(list, "화면별 채번 규칙을 조회했습니다.")); @@ -59,7 +59,7 @@ public class NumberingRuleController { /** GET /by-column/{tableName}/{columnName} → 테이블+컬럼 기반 규칙 조회 */ @GetMapping("/by-column/{tableName}/{columnName}") public ResponseEntity>> getNumberingRuleByColumn( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String tableName, @PathVariable String columnName) { Map rule = numberingRuleService.getNumberingRuleByColumn( @@ -77,7 +77,7 @@ public class NumberingRuleController { /** GET /test/list → 테스트용 규칙 목록 */ @GetMapping("/test/list") public ResponseEntity>>> getRulesFromTest( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { List> list = numberingRuleService.getRulesFromTest(companyCode, null); return ResponseEntity.ok(ApiResponse.success(list, "테스트 채번 규칙 목록을 조회했습니다.")); } @@ -85,7 +85,7 @@ public class NumberingRuleController { /** GET /test/list/{menuObjid} → 테스트용 규칙 목록 (메뉴 필터) */ @GetMapping("/test/list/{menuObjid}") public ResponseEntity>>> getRulesFromTestWithMenu( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Integer menuObjid) { List> list = numberingRuleService.getRulesFromTest(companyCode, menuObjid); return ResponseEntity.ok(ApiResponse.success(list, "테스트 채번 규칙 목록을 조회했습니다.")); @@ -94,7 +94,7 @@ public class NumberingRuleController { /** GET /test/by-column/{tableName}/{columnName} → 테스트 테이블+컬럼 기반 조회 */ @GetMapping("/test/by-column/{tableName}/{columnName}") public ResponseEntity>> getTestRuleByColumn( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String tableName, @PathVariable String columnName) { Map rule = numberingRuleService.getNumberingRuleByColumn( @@ -108,9 +108,9 @@ public class NumberingRuleController { /** POST /test/save → UPSERT */ @PostMapping("/test/save") public ResponseEntity>> saveRuleToTest( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - if (body.get("ruleId") == null || body.get("ruleName") == null) { + if (body.get("rule_id") == null || body.get("rule_name") == null) { return ResponseEntity.badRequest().body(ApiResponse.error("ruleId와 ruleName이 필요합니다.")); } Map result = numberingRuleService.saveRuleToTest(body, companyCode); @@ -120,7 +120,7 @@ public class NumberingRuleController { /** DELETE /test/{ruleId} → 테스트 규칙 삭제 */ @DeleteMapping("/test/{ruleId}") public ResponseEntity> deleteRuleFromTest( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String ruleId) { numberingRuleService.deleteRuleFromTest(ruleId, companyCode); return ResponseEntity.ok(ApiResponse.success(null, "테스트 채번 규칙이 삭제되었습니다.")); @@ -129,12 +129,12 @@ public class NumberingRuleController { /** POST /test/{ruleId}/preview → 테스트 미리보기 */ @PostMapping("/test/{ruleId}/preview") public ResponseEntity>> previewCodeFromTest( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String ruleId, @RequestBody(required = false) Map body) { @SuppressWarnings("unchecked") - Map formData = body != null ? (Map) body.get("formData") : null; - String manualInputValue = body != null ? (String) body.get("manualInputValue") : null; + Map formData = body != null ? (Map) body.get("form_data") : null; + String manualInputValue = body != null ? (String) body.get("manual_input_value") : null; String code = numberingRuleService.previewCode(ruleId, companyCode, formData, manualInputValue); return ResponseEntity.ok(ApiResponse.success(Map.of("code", code), "미리보기 생성이 완료되었습니다.")); } @@ -146,7 +146,7 @@ public class NumberingRuleController { /** GET /{ruleId} → 단건 조회 */ @GetMapping("/{ruleId}") public ResponseEntity>> getRuleById( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String ruleId) { Map rule = numberingRuleService.getRuleById(ruleId, companyCode); if (rule == null) { @@ -158,13 +158,13 @@ public class NumberingRuleController { /** POST / → 규칙 생성 */ @PostMapping public ResponseEntity>> createRule( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @RequestBody Map body) { - if (body.get("ruleId") == null || body.get("ruleName") == null || body.get("parts") == null) { + if (body.get("rule_id") == null || body.get("rule_name") == null || body.get("parts") == null) { return ResponseEntity.badRequest().body(ApiResponse.error("ruleId, ruleName, parts가 필요합니다.")); } - if (userId != null) body.put("userId", userId); + if (userId != null) body.put("user_id", userId); Map result = numberingRuleService.createRule(body, companyCode); return ResponseEntity.status(201).body(ApiResponse.success(result, "채번 규칙이 생성되었습니다.")); } @@ -172,7 +172,7 @@ public class NumberingRuleController { /** PUT /{ruleId} → 규칙 수정 */ @PutMapping("/{ruleId}") public ResponseEntity>> updateRule( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String ruleId, @RequestBody Map body) { Map result = numberingRuleService.updateRule(ruleId, body, companyCode); @@ -182,7 +182,7 @@ public class NumberingRuleController { /** DELETE /{ruleId} → 규칙 삭제 */ @DeleteMapping("/{ruleId}") public ResponseEntity> deleteRule( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String ruleId) { numberingRuleService.deleteRule(ruleId, companyCode); return ResponseEntity.ok(ApiResponse.success(null, "채번 규칙이 삭제되었습니다.")); @@ -195,12 +195,12 @@ public class NumberingRuleController { /** POST /{ruleId}/preview → 미리보기 (순번 증가 없음) */ @PostMapping("/{ruleId}/preview") public ResponseEntity>> previewCode( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String ruleId, @RequestBody(required = false) Map body) { @SuppressWarnings("unchecked") - Map formData = body != null ? (Map) body.get("formData") : null; - String manualInputValue = body != null ? (String) body.get("manualInputValue") : null; + Map formData = body != null ? (Map) body.get("form_data") : null; + String manualInputValue = body != null ? (String) body.get("manual_input_value") : null; String code = numberingRuleService.previewCode(ruleId, companyCode, formData, manualInputValue); return ResponseEntity.ok(ApiResponse.success(Map.of("code", code), "미리보기 생성이 완료되었습니다.")); } @@ -208,12 +208,12 @@ public class NumberingRuleController { /** POST /{ruleId}/allocate → 코드 할당 (순번 증가) */ @PostMapping("/{ruleId}/allocate") public ResponseEntity>> allocateCode( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String ruleId, @RequestBody(required = false) Map body) { @SuppressWarnings("unchecked") - Map formData = body != null ? (Map) body.get("formData") : null; - String userInputCode = body != null ? (String) body.get("userInputCode") : null; + Map formData = body != null ? (Map) body.get("form_data") : null; + String userInputCode = body != null ? (String) body.get("user_input_code") : null; String code = numberingRuleService.allocateCode(ruleId, companyCode, formData, userInputCode); return ResponseEntity.ok(ApiResponse.success(Map.of("code", code), "코드 할당이 완료되었습니다.")); } @@ -221,7 +221,7 @@ public class NumberingRuleController { /** POST /{ruleId}/generate (deprecated) → allocateCode 위임 */ @PostMapping("/{ruleId}/generate") public ResponseEntity>> generateCode( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String ruleId) { String code = numberingRuleService.generateCode(ruleId, companyCode); return ResponseEntity.ok(ApiResponse.success(Map.of("code", code), "코드 생성이 완료되었습니다.")); @@ -230,7 +230,7 @@ public class NumberingRuleController { /** POST /{ruleId}/reset → 순번 초기화 */ @PostMapping("/{ruleId}/reset") public ResponseEntity> resetSequence( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String ruleId) { numberingRuleService.resetSequence(ruleId, companyCode); return ResponseEntity.ok(ApiResponse.success(null, "시퀀스가 초기화되었습니다.")); @@ -243,10 +243,10 @@ public class NumberingRuleController { /** POST /copy-for-company → 회사간 규칙 복제 (SUPER_ADMIN) */ @PostMapping("/copy-for-company") public ResponseEntity>> copyRulesForCompany( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - String sourceCompanyCode = (String) body.get("sourceCompanyCode"); - String targetCompanyCode = (String) body.get("targetCompanyCode"); + String sourceCompanyCode = (String) body.get("source_company_code"); + String targetCompanyCode = (String) body.get("target_company_code"); if (sourceCompanyCode == null || targetCompanyCode == null) { return ResponseEntity.badRequest() .body(ApiResponse.error("sourceCompanyCode와 targetCompanyCode가 필요합니다.")); diff --git a/backend-spring/src/main/java/com/erp/controller/OpenApiProxyController.java b/backend-spring/src/main/java/com/erp/controller/OpenApiProxyController.java index 7721d542..4c0909a8 100644 --- a/backend-spring/src/main/java/com/erp/controller/OpenApiProxyController.java +++ b/backend-spring/src/main/java/com/erp/controller/OpenApiProxyController.java @@ -16,46 +16,46 @@ public class OpenApiProxyController { @GetMapping("/list") public ResponseEntity>> getOpenApiProxyList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(openApiProxyService.getOpenApiProxyList(params))); } @GetMapping("/{id}") public ResponseEntity>> getOpenApiProxyInfo( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success(openApiProxyService.getOpenApiProxyInfo(params))); } @PostMapping public ResponseEntity> insertOpenApiProxy( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(openApiProxyService.insertOpenApiProxy(body))); } @PutMapping("/{id}") public ResponseEntity> updateOpenApiProxy( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); body.put("id", id); return ResponseEntity.ok(ApiResponse.success(openApiProxyService.updateOpenApiProxy(body))); } @DeleteMapping("/{id}") public ResponseEntity> deleteOpenApiProxy( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success(openApiProxyService.deleteOpenApiProxy(params))); } diff --git a/backend-spring/src/main/java/com/erp/controller/PackagingController.java b/backend-spring/src/main/java/com/erp/controller/PackagingController.java index f7bef5c8..fd4d3a5d 100644 --- a/backend-spring/src/main/java/com/erp/controller/PackagingController.java +++ b/backend-spring/src/main/java/com/erp/controller/PackagingController.java @@ -23,36 +23,36 @@ public class PackagingController { @GetMapping("/pkg-units") public ResponseEntity>>> getPkgUnits( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(packagingService.getPkgUnits(params))); } @PostMapping("/pkg-units") public ResponseEntity>> createPkgUnit( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.status(201).body(ApiResponse.success(packagingService.createPkgUnit(body))); } @PutMapping("/pkg-units/{id}") public ResponseEntity>> updatePkgUnit( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); body.put("id", id); return ResponseEntity.ok(ApiResponse.success(packagingService.updatePkgUnit(body))); } @DeleteMapping("/pkg-units/{id}") public ResponseEntity>> deletePkgUnit( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success(packagingService.deletePkgUnit(params))); } @@ -61,28 +61,28 @@ public class PackagingController { @GetMapping("/pkg-unit-items/{pkgCode}") public ResponseEntity>>> getPkgUnitItems( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String pkgCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("pkgCode", pkgCode); + params.put("company_code", companyCode); + params.put("pkg_code", pkgCode); return ResponseEntity.ok(ApiResponse.success(packagingService.getPkgUnitItems(params))); } @PostMapping("/pkg-unit-items") public ResponseEntity>> createPkgUnitItem( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.status(201).body(ApiResponse.success(packagingService.createPkgUnitItem(body))); } @DeleteMapping("/pkg-unit-items/{id}") public ResponseEntity>> deletePkgUnitItem( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success(packagingService.deletePkgUnitItem(params))); } @@ -91,36 +91,36 @@ public class PackagingController { @GetMapping("/loading-units") public ResponseEntity>>> getLoadingUnits( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(packagingService.getLoadingUnits(params))); } @PostMapping("/loading-units") public ResponseEntity>> createLoadingUnit( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.status(201).body(ApiResponse.success(packagingService.createLoadingUnit(body))); } @PutMapping("/loading-units/{id}") public ResponseEntity>> updateLoadingUnit( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); body.put("id", id); return ResponseEntity.ok(ApiResponse.success(packagingService.updateLoadingUnit(body))); } @DeleteMapping("/loading-units/{id}") public ResponseEntity>> deleteLoadingUnit( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success(packagingService.deleteLoadingUnit(params))); } @@ -129,28 +129,28 @@ public class PackagingController { @GetMapping("/loading-unit-pkgs/{loadingCode}") public ResponseEntity>>> getLoadingUnitPkgs( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String loadingCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("loadingCode", loadingCode); + params.put("company_code", companyCode); + params.put("loading_code", loadingCode); return ResponseEntity.ok(ApiResponse.success(packagingService.getLoadingUnitPkgs(params))); } @PostMapping("/loading-unit-pkgs") public ResponseEntity>> createLoadingUnitPkg( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.status(201).body(ApiResponse.success(packagingService.createLoadingUnitPkg(body))); } @DeleteMapping("/loading-unit-pkgs/{id}") public ResponseEntity>> deleteLoadingUnitPkg( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success(packagingService.deleteLoadingUnitPkg(params))); } diff --git a/backend-spring/src/main/java/com/erp/controller/PopActionController.java b/backend-spring/src/main/java/com/erp/controller/PopActionController.java index fa8ce4fa..a7b06d5e 100644 --- a/backend-spring/src/main/java/com/erp/controller/PopActionController.java +++ b/backend-spring/src/main/java/com/erp/controller/PopActionController.java @@ -23,13 +23,13 @@ public class PopActionController { */ @PostMapping("/execute-action") public ResponseEntity>> executeAction( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @RequestBody Map body) { try { Map result = popActionService.executeAction(body, companyCode, userId); String message = result.containsKey("message") ? result.get("message").toString() - : result.get("processedCount") + "건 처리 완료"; + : result.get("processed_count") + "건 처리 완료"; return ResponseEntity.ok(ApiResponse.success(result, message)); } catch (PopActionService.PreConditionFailException e) { return ResponseEntity.status(409).body(ApiResponse.error(e.getMessage())); diff --git a/backend-spring/src/main/java/com/erp/controller/PopProductionController.java b/backend-spring/src/main/java/com/erp/controller/PopProductionController.java index b75200ac..05c6bb77 100644 --- a/backend-spring/src/main/java/com/erp/controller/PopProductionController.java +++ b/backend-spring/src/main/java/com/erp/controller/PopProductionController.java @@ -19,19 +19,19 @@ public class PopProductionController { @PostMapping("/create-work-processes") public ResponseEntity>> createWorkProcesses( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { - body.put("companyCode", companyCode); - body.put("userId", userId); + body.put("company_code", companyCode); + body.put("user_id", userId); return ResponseEntity.ok(ApiResponse.success(popProductionService.createWorkProcesses(body))); } @PostMapping("/timer") public ResponseEntity>> controlTimer( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(popProductionService.controlTimer(body))); } } diff --git a/backend-spring/src/main/java/com/erp/controller/ProcessWorkStandardController.java b/backend-spring/src/main/java/com/erp/controller/ProcessWorkStandardController.java index 222d5c3e..458f7e85 100644 --- a/backend-spring/src/main/java/com/erp/controller/ProcessWorkStandardController.java +++ b/backend-spring/src/main/java/com/erp/controller/ProcessWorkStandardController.java @@ -16,160 +16,160 @@ public class ProcessWorkStandardController { @GetMapping("/items") public ResponseEntity>> getProcessWorkStandardItemList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(processWorkStandardService.getProcessWorkStandardItemList(params))); } @GetMapping("/items/{itemCode}/routings") public ResponseEntity>>> getProcessWorkStandardRoutingList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String itemCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("itemCode", itemCode); + params.put("company_code", companyCode); + params.put("item_code", itemCode); return ResponseEntity.ok(ApiResponse.success(processWorkStandardService.getProcessWorkStandardRoutingList(params))); } @PutMapping("/versions/{versionId}/set-default") public ResponseEntity>> setProcessWorkStandardDefaultVersion( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long versionId) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("versionId", versionId); + params.put("company_code", companyCode); + params.put("version_id", versionId); return ResponseEntity.ok(ApiResponse.success(processWorkStandardService.setProcessWorkStandardDefaultVersion(params))); } @PutMapping("/versions/{versionId}/unset-default") public ResponseEntity>> unsetProcessWorkStandardDefaultVersion( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long versionId) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("versionId", versionId); + params.put("company_code", companyCode); + params.put("version_id", versionId); return ResponseEntity.ok(ApiResponse.success(processWorkStandardService.unsetProcessWorkStandardDefaultVersion(params))); } @GetMapping("/routing-detail/{routingDetailId}/work-items") public ResponseEntity>>> getProcessWorkStandardWorkItemList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long routingDetailId) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("routingDetailId", routingDetailId); + params.put("company_code", companyCode); + params.put("routing_detail_id", routingDetailId); return ResponseEntity.ok(ApiResponse.success(processWorkStandardService.getProcessWorkStandardWorkItemList(params))); } @PostMapping("/work-items") public ResponseEntity>> insertProcessWorkStandardWorkItem( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(processWorkStandardService.insertProcessWorkStandardWorkItem(body))); } @PutMapping("/work-items/{id}") public ResponseEntity>> updateProcessWorkStandardWorkItem( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); body.put("id", id); return ResponseEntity.ok(ApiResponse.success(processWorkStandardService.updateProcessWorkStandardWorkItem(body))); } @DeleteMapping("/work-items/{id}") public ResponseEntity>> deleteProcessWorkStandardWorkItem( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success(processWorkStandardService.deleteProcessWorkStandardWorkItem(params))); } @GetMapping("/work-items/{workItemId}/details") public ResponseEntity>>> getProcessWorkStandardWorkItemDetailList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long workItemId) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("workItemId", workItemId); + params.put("company_code", companyCode); + params.put("work_item_id", workItemId); return ResponseEntity.ok(ApiResponse.success(processWorkStandardService.getProcessWorkStandardWorkItemDetailList(params))); } @PostMapping("/work-item-details") public ResponseEntity>> insertProcessWorkStandardWorkItemDetail( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(processWorkStandardService.insertProcessWorkStandardWorkItemDetail(body))); } @PutMapping("/work-item-details/{id}") public ResponseEntity>> updateProcessWorkStandardWorkItemDetail( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); body.put("id", id); return ResponseEntity.ok(ApiResponse.success(processWorkStandardService.updateProcessWorkStandardWorkItemDetail(body))); } @DeleteMapping("/work-item-details/{id}") public ResponseEntity>> deleteProcessWorkStandardWorkItemDetail( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success(processWorkStandardService.deleteProcessWorkStandardWorkItemDetail(params))); } @PutMapping("/save-all") public ResponseEntity>> saveAllProcessWorkStandard( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(processWorkStandardService.saveAllProcessWorkStandard(body))); } @GetMapping("/registered-items/{screenCode}") public ResponseEntity>>> getProcessWorkStandardRegisteredItemList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String screenCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("screenCode", screenCode); + params.put("company_code", companyCode); + params.put("screen_code", screenCode); return ResponseEntity.ok(ApiResponse.success(processWorkStandardService.getProcessWorkStandardRegisteredItemList(params))); } @PostMapping("/registered-items") public ResponseEntity>> insertProcessWorkStandardRegisteredItem( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(processWorkStandardService.insertProcessWorkStandardRegisteredItem(body))); } @PostMapping("/registered-items/batch") public ResponseEntity>> insertProcessWorkStandardRegisteredItemBatch( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody List> body) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("items", body); return ResponseEntity.ok(ApiResponse.success(processWorkStandardService.insertProcessWorkStandardRegisteredItemBatch(params))); } @DeleteMapping("/registered-items/{id}") public ResponseEntity>> deleteProcessWorkStandardRegisteredItem( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success(processWorkStandardService.deleteProcessWorkStandardRegisteredItem(params))); } diff --git a/backend-spring/src/main/java/com/erp/controller/ProductionController.java b/backend-spring/src/main/java/com/erp/controller/ProductionController.java index 4a6c36c9..e4ae90dd 100644 --- a/backend-spring/src/main/java/com/erp/controller/ProductionController.java +++ b/backend-spring/src/main/java/com/erp/controller/ProductionController.java @@ -21,29 +21,29 @@ public class ProductionController { @GetMapping("/order-summary") public ResponseEntity> getOrderSummary( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(productionService.getOrderSummary(params))); } @GetMapping("/stock-shortage") public ResponseEntity> getStockShortage( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { return ResponseEntity.ok(ApiResponse.success(productionService.getStockShortage(companyCode))); } @GetMapping("/plan/{id}") public ResponseEntity> getPlanById( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { return ResponseEntity.ok(ApiResponse.success(productionService.getPlanById(companyCode, id))); } @PutMapping("/plan/{id}") public ResponseEntity> updatePlan( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable Long id, @RequestBody Map body) { return ResponseEntity.ok(ApiResponse.success(productionService.updatePlan(companyCode, id, body, userId))); @@ -51,7 +51,7 @@ public class ProductionController { @DeleteMapping("/plan/{id}") public ResponseEntity> deletePlan( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { return ResponseEntity.ok(ApiResponse.success(productionService.deletePlan(companyCode, id))); } @@ -59,7 +59,7 @@ public class ProductionController { @PostMapping("/generate-schedule/preview") @SuppressWarnings("unchecked") public ResponseEntity> previewSchedule( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { List> items = (List>) body.get("items"); return ResponseEntity.ok(ApiResponse.success(productionService.previewSchedule(companyCode, items, body))); @@ -68,8 +68,8 @@ public class ProductionController { @PostMapping("/generate-schedule") @SuppressWarnings("unchecked") public ResponseEntity> generateSchedule( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { List> items = (List>) body.get("items"); return ResponseEntity.ok(ApiResponse.success(productionService.generateSchedule(companyCode, items, body, userId))); @@ -78,21 +78,21 @@ public class ProductionController { @PostMapping("/merge-schedules") @SuppressWarnings("unchecked") public ResponseEntity> mergeSchedules( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { - List rawIds = (List) body.get("scheduleIds"); + List rawIds = (List) body.get("schedule_ids"); List scheduleIds = rawIds.stream().map(Number::longValue).collect(Collectors.toList()); - String productType = body.get("productType") != null ? String.valueOf(body.get("productType")) : "완제품"; + String productType = body.get("product_type") != null ? String.valueOf(body.get("product_type")) : "완제품"; return ResponseEntity.ok(ApiResponse.success(productionService.mergeSchedules(companyCode, scheduleIds, productType, userId))); } @PostMapping("/generate-semi-schedule/preview") @SuppressWarnings("unchecked") public ResponseEntity> previewSemiSchedule( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - List rawIds = (List) body.get("planIds"); + List rawIds = (List) body.get("plan_ids"); List planIds = rawIds.stream().map(Number::longValue).collect(Collectors.toList()); return ResponseEntity.ok(ApiResponse.success(productionService.previewSemiSchedule(companyCode, planIds, body))); } @@ -100,21 +100,21 @@ public class ProductionController { @PostMapping("/generate-semi-schedule") @SuppressWarnings("unchecked") public ResponseEntity> generateSemiSchedule( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { - List rawIds = (List) body.get("planIds"); + List rawIds = (List) body.get("plan_ids"); List planIds = rawIds.stream().map(Number::longValue).collect(Collectors.toList()); return ResponseEntity.ok(ApiResponse.success(productionService.generateSemiSchedule(companyCode, planIds, body, userId))); } @PostMapping("/plan/{id}/split") public ResponseEntity> splitSchedule( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable Long id, @RequestBody Map body) { - double splitQty = toDouble(body.get("splitQty")); + double splitQty = toDouble(body.get("split_qty")); return ResponseEntity.ok(ApiResponse.success(productionService.splitSchedule(companyCode, id, splitQty, userId))); } diff --git a/backend-spring/src/main/java/com/erp/controller/ReportController.java b/backend-spring/src/main/java/com/erp/controller/ReportController.java index 9fb9fb2e..255a0b36 100644 --- a/backend-spring/src/main/java/com/erp/controller/ReportController.java +++ b/backend-spring/src/main/java/com/erp/controller/ReportController.java @@ -20,9 +20,9 @@ public class ReportController { @GetMapping("/external-connections") public ResponseEntity>>> getExternalConnections( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(reportService.getExternalConnections(params))); } @@ -35,18 +35,18 @@ public class ReportController { @PostMapping("/templates") public ResponseEntity>> createTemplate( - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute(value = "user_id", required = false) String userId, @RequestBody Map body) { - body.put("createdBy", userId); + body.put("created_by", userId); Map result = reportService.createTemplate(body); return ResponseEntity.status(201).body(ApiResponse.success(result)); } @PostMapping("/templates/create-from-layout") public ResponseEntity>> createTemplateFromLayout( - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute(value = "user_id", required = false) String userId, @RequestBody Map body) { - body.put("createdBy", userId); + body.put("created_by", userId); Map result = reportService.createTemplateFromLayout(body); return ResponseEntity.status(201).body(ApiResponse.success(result)); } @@ -55,7 +55,7 @@ public class ReportController { public ResponseEntity>> deleteTemplate( @PathVariable String templateId) { Map params = new HashMap<>(); - params.put("templateId", templateId); + params.put("template_id", templateId); return ResponseEntity.ok(ApiResponse.success(reportService.deleteTemplate(params))); } @@ -79,9 +79,9 @@ public class ReportController { @GetMapping public ResponseEntity>> getReportList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(reportService.getReportList(params))); } @@ -89,15 +89,15 @@ public class ReportController { @PostMapping public ResponseEntity>> createReport( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @RequestBody Map body) { - if (body.get("reportNameKor") == null || body.get("reportType") == null) { + if (body.get("report_name_kor") == null || body.get("report_type") == null) { return ResponseEntity.status(400).body( ApiResponse.error("리포트명과 리포트 타입은 필수입니다.")); } - body.put("companyCode", companyCode); - body.put("createdBy", userId); + body.put("company_code", companyCode); + body.put("created_by", userId); Map result = reportService.createReport(body); return ResponseEntity.status(201).body(ApiResponse.success(result, "리포트가 생성되었습니다.")); } @@ -106,13 +106,13 @@ public class ReportController { @PostMapping("/{reportId}/copy") public ResponseEntity>> copyReport( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @PathVariable String reportId) { Map params = new HashMap<>(); - params.put("reportId", reportId); - params.put("companyCode", companyCode); - params.put("userId", userId); + params.put("report_id", reportId); + params.put("company_code", companyCode); + params.put("user_id", userId); Map result = reportService.copyReport(params); if (result == null) { return ResponseEntity.status(404).body(ApiResponse.error("리포트를 찾을 수 없습니다.")); @@ -124,11 +124,11 @@ public class ReportController { @PostMapping("/{reportId}/save-as-template") public ResponseEntity>> saveAsTemplate( - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute(value = "user_id", required = false) String userId, @PathVariable String reportId, @RequestBody Map body) { - body.put("reportId", reportId); - body.put("userId", userId); + body.put("report_id", reportId); + body.put("user_id", userId); Map result = reportService.saveAsTemplate(body); return ResponseEntity.status(201).body(ApiResponse.success(result)); } @@ -138,7 +138,7 @@ public class ReportController { @GetMapping("/{reportId}/layout") public ResponseEntity>> getLayout( @PathVariable String reportId) { - Map params = Map.of("reportId", reportId); + Map params = Map.of("report_id", reportId); Map result = reportService.getLayout(params); if (result == null) { return ResponseEntity.status(404).body(ApiResponse.error("레이아웃을 찾을 수 없습니다.")); @@ -148,11 +148,11 @@ public class ReportController { @PutMapping("/{reportId}/layout") public ResponseEntity>> saveLayout( - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute(value = "user_id", required = false) String userId, @PathVariable String reportId, @RequestBody Map body) { - body.put("reportId", reportId); - body.put("userId", userId); + body.put("report_id", reportId); + body.put("user_id", userId); Map result = reportService.saveLayout(body); return ResponseEntity.ok(ApiResponse.success(result)); } @@ -164,8 +164,8 @@ public class ReportController { @PathVariable String reportId, @PathVariable String queryId, @RequestBody Map body) { - body.put("reportId", reportId); - body.put("queryId", queryId); + body.put("report_id", reportId); + body.put("query_id", queryId); Map result = reportService.executeQuery(body); return ResponseEntity.ok(ApiResponse.success(result)); } @@ -174,11 +174,11 @@ public class ReportController { @GetMapping("/{reportId}") public ResponseEntity>> getReportInfo( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String reportId) { Map params = new HashMap<>(); - params.put("reportId", reportId); - params.put("companyCode", companyCode); + params.put("report_id", reportId); + params.put("company_code", companyCode); Map result = reportService.getReportInfo(params); if (result == null) { return ResponseEntity.status(404).body(ApiResponse.error("리포트를 찾을 수 없습니다.")); @@ -188,23 +188,23 @@ public class ReportController { @PutMapping("/{reportId}") public ResponseEntity>> updateReport( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute(value = "userId", required = false) String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute(value = "user_id", required = false) String userId, @PathVariable String reportId, @RequestBody Map body) { - body.put("reportId", reportId); - body.put("companyCode", companyCode); - body.put("updatedBy", userId); + body.put("report_id", reportId); + body.put("company_code", companyCode); + body.put("updated_by", userId); return ResponseEntity.ok(ApiResponse.success(reportService.updateReport(body))); } @DeleteMapping("/{reportId}") public ResponseEntity>> deleteReport( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String reportId) { Map params = new HashMap<>(); - params.put("reportId", reportId); - params.put("companyCode", companyCode); + params.put("report_id", reportId); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(reportService.deleteReport(params))); } @@ -212,9 +212,9 @@ public class ReportController { @GetMapping("/list") public ResponseEntity>> getReportListLegacy( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(reportService.getReportList(params))); } } diff --git a/backend-spring/src/main/java/com/erp/controller/RiskAlertController.java b/backend-spring/src/main/java/com/erp/controller/RiskAlertController.java index d9a06805..49cf4315 100644 --- a/backend-spring/src/main/java/com/erp/controller/RiskAlertController.java +++ b/backend-spring/src/main/java/com/erp/controller/RiskAlertController.java @@ -19,46 +19,46 @@ public class RiskAlertController { /** GET / → 전체 알림 목록 */ @GetMapping public ResponseEntity>> getAllAlerts( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(riskAlertService.getAllAlerts(params))); } /** POST /refresh → 알림 새로고침 */ @PostMapping("/refresh") public ResponseEntity>> refreshAlerts( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody(required = false) Map body) { Map params = body != null ? new HashMap<>(body) : new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(riskAlertService.refreshAlerts(params))); } /** GET /weather → 기상 알림 목록 */ @GetMapping("/weather") public ResponseEntity>>> getWeatherAlerts( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(riskAlertService.getWeatherAlerts(params))); } /** GET /accidents → 사고 알림 목록 */ @GetMapping("/accidents") public ResponseEntity>>> getAccidentAlerts( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(riskAlertService.getAccidentAlerts(params))); } /** GET /roadworks → 공사 알림 목록 */ @GetMapping("/roadworks") public ResponseEntity>>> getRoadworkAlerts( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(riskAlertService.getRoadworkAlerts(params))); } } diff --git a/backend-spring/src/main/java/com/erp/controller/RoleController.java b/backend-spring/src/main/java/com/erp/controller/RoleController.java index 38d53589..e94b4288 100644 --- a/backend-spring/src/main/java/com/erp/controller/RoleController.java +++ b/backend-spring/src/main/java/com/erp/controller/RoleController.java @@ -29,7 +29,7 @@ public class RoleController { */ @GetMapping public ResponseEntity>>> getRoleGroups( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestAttribute("role") String role, @RequestParam Map params) { @@ -40,7 +40,7 @@ public class RoleController { // SUPER_ADMIN: 요청 파라미터의 companyCode 사용 (없으면 전체) // 그 외: 자신의 companyCode 강제 적용 if (!isSuperAdmin(role)) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); } return ResponseEntity.ok(ApiResponse.success(roleService.getRoleGroups(params), "권한 그룹 목록 조회 성공")); @@ -53,7 +53,7 @@ public class RoleController { @GetMapping("/{id}") public ResponseEntity>> getRoleGroupById( @PathVariable String id, - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestAttribute("role") String role) { if (!isAdmin(role)) { @@ -68,7 +68,7 @@ public class RoleController { return ResponseEntity.status(404).body(ApiResponse.error("권한 그룹을 찾을 수 없습니다.")); } - if (!isSuperAdmin(role) && !companyCode.equals(group.get("companyCode"))) { + if (!isSuperAdmin(role) && !companyCode.equals(group.get("company_code"))) { return ResponseEntity.status(403).body(ApiResponse.error("권한이 없습니다.")); } @@ -81,16 +81,16 @@ public class RoleController { */ @PostMapping public ResponseEntity>> createRoleGroup( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestAttribute("role") String role, - @RequestAttribute("userId") String userId, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { if (!isAdmin(role)) { return ResponseEntity.status(403).body(ApiResponse.error("관리자 권한이 필요합니다.")); } - String targetCompany = (String) body.get("companyCode"); + String targetCompany = (String) body.get("company_code"); if (!isSuperAdmin(role) && !companyCode.equals(targetCompany)) { return ResponseEntity.status(403).body(ApiResponse.error("다른 회사의 권한 그룹을 생성할 수 없습니다.")); } @@ -109,7 +109,7 @@ public class RoleController { @PutMapping("/{id}") public ResponseEntity>> updateRoleGroup( @PathVariable String id, - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestAttribute("role") String role, @RequestBody Map body) { @@ -123,7 +123,7 @@ public class RoleController { return ResponseEntity.status(404).body(ApiResponse.error("권한 그룹을 찾을 수 없습니다.")); } - if (!isSuperAdmin(role) && !companyCode.equals(existing.get("companyCode"))) { + if (!isSuperAdmin(role) && !companyCode.equals(existing.get("company_code"))) { return ResponseEntity.status(403).body(ApiResponse.error("권한이 없습니다.")); } @@ -141,7 +141,7 @@ public class RoleController { @DeleteMapping("/{id}") public ResponseEntity> deleteRoleGroup( @PathVariable String id, - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestAttribute("role") String role) { if (!isAdmin(role)) { @@ -154,7 +154,7 @@ public class RoleController { return ResponseEntity.status(404).body(ApiResponse.error("권한 그룹을 찾을 수 없습니다.")); } - if (!isSuperAdmin(role) && !companyCode.equals(existing.get("companyCode"))) { + if (!isSuperAdmin(role) && !companyCode.equals(existing.get("company_code"))) { return ResponseEntity.status(403).body(ApiResponse.error("권한이 없습니다.")); } @@ -174,12 +174,12 @@ public class RoleController { */ @GetMapping("/user/my-groups") public ResponseEntity>>> getMyRoleGroups( - @RequestAttribute("userId") String userId, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("user_id") String userId, + @RequestAttribute("company_code") String companyCode) { Map params = new HashMap<>(); - params.put("userId", userId); - params.put("companyCode", companyCode); + params.put("user_id", userId); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(roleService.getUserRoleGroups(params), "사용자 권한 그룹 조회 성공")); } @@ -189,9 +189,9 @@ public class RoleController { */ @GetMapping("/menus/all") public ResponseEntity>>> getAllMenus( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestAttribute("role") String role, - @RequestParam(value = "companyCode", required = false) String requestedCompanyCode) { + @RequestParam(value = "company_code", required = false) String requestedCompanyCode) { if (!isAdmin(role)) { return ResponseEntity.status(403).body(ApiResponse.error("관리자 권한이 필요합니다.")); @@ -200,9 +200,9 @@ public class RoleController { Map params = new HashMap<>(); if (isSuperAdmin(role)) { // SUPER_ADMIN: 쿼리 파라미터로 받은 companyCode 사용 (없으면 전체) - params.put("companyCode", requestedCompanyCode); + params.put("company_code", requestedCompanyCode); } else { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); } return ResponseEntity.ok(ApiResponse.success(roleService.getAllMenus(params), "메뉴 목록 조회 성공")); @@ -215,7 +215,7 @@ public class RoleController { @GetMapping("/{id}/members") public ResponseEntity>>> getRoleMembers( @PathVariable String id, - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestAttribute("role") String role) { if (!isAdmin(role)) { @@ -227,12 +227,12 @@ public class RoleController { if (group == null) { return ResponseEntity.status(404).body(ApiResponse.error("권한 그룹을 찾을 수 없습니다.")); } - if (!isSuperAdmin(role) && !companyCode.equals(group.get("companyCode"))) { + if (!isSuperAdmin(role) && !companyCode.equals(group.get("company_code"))) { return ResponseEntity.status(403).body(ApiResponse.error("권한이 없습니다.")); } Map params = new HashMap<>(); - params.put("masterObjid", parseLong(id)); + params.put("master_objid", parseLong(id)); return ResponseEntity.ok(ApiResponse.success(roleService.getRoleMembers(params), "권한 그룹 멤버 조회 성공")); } @@ -243,9 +243,9 @@ public class RoleController { @PostMapping("/{id}/members") public ResponseEntity> addRoleMembers( @PathVariable String id, - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestAttribute("role") String role, - @RequestAttribute("userId") String currentUserId, + @RequestAttribute("user_id") String currentUserId, @RequestBody Map body) { if (!isAdmin(role)) { @@ -257,12 +257,12 @@ public class RoleController { if (group == null) { return ResponseEntity.status(404).body(ApiResponse.error("권한 그룹을 찾을 수 없습니다.")); } - if (!isSuperAdmin(role) && !companyCode.equals(group.get("companyCode"))) { + if (!isSuperAdmin(role) && !companyCode.equals(group.get("company_code"))) { return ResponseEntity.status(403).body(ApiResponse.error("권한이 없습니다.")); } Map params = new HashMap<>(body); - params.put("masterObjid", parseLong(id)); + params.put("master_objid", parseLong(id)); params.put("writer", currentUserId); roleService.addRoleMembers(params); return ResponseEntity.ok(ApiResponse.success(null, "권한 그룹 멤버 추가 성공")); @@ -275,9 +275,9 @@ public class RoleController { @PutMapping("/{id}/members") public ResponseEntity> updateRoleMembers( @PathVariable String id, - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestAttribute("role") String role, - @RequestAttribute("userId") String currentUserId, + @RequestAttribute("user_id") String currentUserId, @RequestBody Map body) { if (!isAdmin(role)) { @@ -289,12 +289,12 @@ public class RoleController { if (group == null) { return ResponseEntity.status(404).body(ApiResponse.error("권한 그룹을 찾을 수 없습니다.")); } - if (!isSuperAdmin(role) && !companyCode.equals(group.get("companyCode"))) { + if (!isSuperAdmin(role) && !companyCode.equals(group.get("company_code"))) { return ResponseEntity.status(403).body(ApiResponse.error("권한이 없습니다.")); } Map params = new HashMap<>(body); - params.put("masterObjid", parseLong(id)); + params.put("master_objid", parseLong(id)); params.put("writer", currentUserId); roleService.updateRoleMembers(params); return ResponseEntity.ok(ApiResponse.success(null, "권한 그룹 멤버 업데이트 성공")); @@ -307,7 +307,7 @@ public class RoleController { @DeleteMapping("/{id}/members") public ResponseEntity> removeRoleMembers( @PathVariable String id, - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestAttribute("role") String role, @RequestBody Map body) { @@ -320,12 +320,12 @@ public class RoleController { if (group == null) { return ResponseEntity.status(404).body(ApiResponse.error("권한 그룹을 찾을 수 없습니다.")); } - if (!isSuperAdmin(role) && !companyCode.equals(group.get("companyCode"))) { + if (!isSuperAdmin(role) && !companyCode.equals(group.get("company_code"))) { return ResponseEntity.status(403).body(ApiResponse.error("권한이 없습니다.")); } Map params = new HashMap<>(body); - params.put("masterObjid", parseLong(id)); + params.put("master_objid", parseLong(id)); roleService.removeRoleMembers(params); return ResponseEntity.ok(ApiResponse.success(null, "권한 그룹 멤버 제거 성공")); } @@ -341,7 +341,7 @@ public class RoleController { @GetMapping("/{id}/menu-permissions") public ResponseEntity>>> getMenuPermissions( @PathVariable String id, - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestAttribute("role") String role) { if (!isAdmin(role)) { @@ -353,12 +353,12 @@ public class RoleController { if (group == null) { return ResponseEntity.status(404).body(ApiResponse.error("권한 그룹을 찾을 수 없습니다.")); } - if (!isSuperAdmin(role) && !companyCode.equals(group.get("companyCode"))) { + if (!isSuperAdmin(role) && !companyCode.equals(group.get("company_code"))) { return ResponseEntity.status(403).body(ApiResponse.error("권한이 없습니다.")); } Map params = new HashMap<>(); - params.put("authObjid", parseLong(id)); + params.put("auth_objid", parseLong(id)); return ResponseEntity.ok(ApiResponse.success(roleService.getMenuPermissions(params), "메뉴 권한 조회 성공")); } @@ -369,9 +369,9 @@ public class RoleController { @PutMapping("/{id}/menu-permissions") public ResponseEntity> setMenuPermissions( @PathVariable String id, - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestAttribute("role") String role, - @RequestAttribute("userId") String currentUserId, + @RequestAttribute("user_id") String currentUserId, @RequestBody Map body) { if (!isAdmin(role)) { @@ -383,12 +383,12 @@ public class RoleController { if (group == null) { return ResponseEntity.status(404).body(ApiResponse.error("권한 그룹을 찾을 수 없습니다.")); } - if (!isSuperAdmin(role) && !companyCode.equals(group.get("companyCode"))) { + if (!isSuperAdmin(role) && !companyCode.equals(group.get("company_code"))) { return ResponseEntity.status(403).body(ApiResponse.error("권한이 없습니다.")); } Map params = new HashMap<>(body); - params.put("authObjid", parseLong(id)); + params.put("auth_objid", parseLong(id)); params.put("writer", currentUserId); roleService.setMenuPermissions(params); return ResponseEntity.ok(ApiResponse.success(null, "메뉴 권한 설정 성공")); @@ -401,7 +401,7 @@ public class RoleController { @GetMapping("/user/{userId}/groups") public ResponseEntity>>> getUserRoleGroups( @PathVariable String userId, - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestAttribute("role") String role) { if (!isAdmin(role)) { @@ -409,8 +409,8 @@ public class RoleController { } Map params = new HashMap<>(); - params.put("userId", userId); - params.put("companyCode", isSuperAdmin(role) ? null : companyCode); + params.put("user_id", userId); + params.put("company_code", isSuperAdmin(role) ? null : companyCode); return ResponseEntity.ok(ApiResponse.success(roleService.getUserRoleGroups(params), "사용자 권한 그룹 조회 성공")); } diff --git a/backend-spring/src/main/java/com/erp/controller/SalesReportController.java b/backend-spring/src/main/java/com/erp/controller/SalesReportController.java index b3543e0b..49daf68d 100644 --- a/backend-spring/src/main/java/com/erp/controller/SalesReportController.java +++ b/backend-spring/src/main/java/com/erp/controller/SalesReportController.java @@ -19,25 +19,25 @@ public class SalesReportController { @GetMapping("/list") public ResponseEntity>> getSalesReportList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(salesReportService.getSalesReportList(params))); } @GetMapping("/summary") public ResponseEntity>> getSalesReportSummary( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(salesReportService.getSalesReportSummary(params))); } @GetMapping("/data") public ResponseEntity>> getSalesReportData( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(salesReportService.getSalesReportData(params))); } } diff --git a/backend-spring/src/main/java/com/erp/controller/ScheduleController.java b/backend-spring/src/main/java/com/erp/controller/ScheduleController.java index 0c394f78..2c98269b 100644 --- a/backend-spring/src/main/java/com/erp/controller/ScheduleController.java +++ b/backend-spring/src/main/java/com/erp/controller/ScheduleController.java @@ -18,9 +18,9 @@ public class ScheduleController { @GetMapping("/list") public ResponseEntity> getScheduleList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); List> list = scheduleService.getScheduleList(params); Map resp = new LinkedHashMap<>(); resp.put("success", true); @@ -31,11 +31,11 @@ public class ScheduleController { @GetMapping("/{scheduleId}") public ResponseEntity>> getScheduleInfo( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long scheduleId) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("scheduleId", scheduleId); + params.put("company_code", companyCode); + params.put("schedule_id", scheduleId); return ResponseEntity.ok(ApiResponse.success(scheduleService.getScheduleInfo(params))); } @@ -45,9 +45,9 @@ public class ScheduleController { */ @PostMapping("/preview") public ResponseEntity>> previewSchedule( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); try { Map preview = scheduleService.previewSchedule(body); return ResponseEntity.ok(ApiResponse.success(preview)); @@ -62,11 +62,11 @@ public class ScheduleController { */ @PostMapping("/apply") public ResponseEntity>> applySchedules( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { - body.put("companyCode", companyCode); - body.put("userId", userId); + body.put("company_code", companyCode); + body.put("user_id", userId); try { Map applied = scheduleService.applySchedules(body); String message = applied.get("created") + "건 생성, " + applied.get("deleted") + "건 삭제, " + applied.get("updated") + "건 수정되었습니다."; @@ -78,31 +78,31 @@ public class ScheduleController { @PostMapping public ResponseEntity> insertSchedule( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(scheduleService.insertSchedule(body))); } @PutMapping("/{scheduleId}") public ResponseEntity> updateSchedule( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long scheduleId, @RequestBody Map body) { - body.put("companyCode", companyCode); - body.put("scheduleId", scheduleId); + body.put("company_code", companyCode); + body.put("schedule_id", scheduleId); return ResponseEntity.ok(ApiResponse.success(scheduleService.updateSchedule(body))); } @DeleteMapping("/{scheduleId}") public ResponseEntity>> deleteSchedule( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable Long scheduleId) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("userId", userId); - params.put("scheduleId", scheduleId); + params.put("company_code", companyCode); + params.put("user_id", userId); + params.put("schedule_id", scheduleId); Map result = scheduleService.deleteSchedule(params); if (Boolean.FALSE.equals(result.get("success"))) { return ResponseEntity.status(404).body(ApiResponse.error((String) result.get("message"))); diff --git a/backend-spring/src/main/java/com/erp/controller/ScreenEmbeddingController.java b/backend-spring/src/main/java/com/erp/controller/ScreenEmbeddingController.java index d34b75be..7df85ddf 100644 --- a/backend-spring/src/main/java/com/erp/controller/ScreenEmbeddingController.java +++ b/backend-spring/src/main/java/com/erp/controller/ScreenEmbeddingController.java @@ -47,15 +47,15 @@ public class ScreenEmbeddingController { @GetMapping("/screen-embedding") public ResponseEntity>>> getScreenEmbeddingList( @RequestParam(required = false) Long parentScreenId, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { if (parentScreenId == null) { return ResponseEntity.status(400) .body(ApiResponse.error("부모 화면 ID가 필요합니다.")); } try { Map params = new HashMap<>(); - params.put("parentScreenId", parentScreenId); - params.put("companyCode", companyCode); + params.put("parent_screen_id", parentScreenId); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(service.getScreenEmbeddingList(params))); } catch (Exception e) { log.error("화면 임베딩 목록 조회 실패", e); @@ -67,11 +67,11 @@ public class ScreenEmbeddingController { @GetMapping("/screen-embedding/{id}") public ResponseEntity>> getScreenEmbeddingInfo( @PathVariable Long id, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { Map params = new HashMap<>(); params.put("id", id); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); Map result = service.getScreenEmbeddingInfo(params); if (result == null) { return ResponseEntity.status(404) @@ -88,14 +88,14 @@ public class ScreenEmbeddingController { @PostMapping("/screen-embedding") public ResponseEntity>> insertScreenEmbedding( @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { - if (body.get("parentScreenId") == null || body.get("childScreenId") == null + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { + if (body.get("parent_screen_id") == null || body.get("child_screen_id") == null || body.get("position") == null || body.get("mode") == null) { return ResponseEntity.status(400).body(ApiResponse.error("필수 필드가 누락되었습니다.")); } - body.put("companyCode", companyCode); - body.put("userId", userId); + body.put("company_code", companyCode); + body.put("user_id", userId); try { Map result = service.insertScreenEmbedding(body); return ResponseEntity.status(HttpStatus.CREATED).body(ApiResponse.success(result)); @@ -113,12 +113,12 @@ public class ScreenEmbeddingController { public ResponseEntity>> updateScreenEmbedding( @PathVariable Long id, @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { if (body.get("position") == null && body.get("mode") == null && body.get("config") == null) { return ResponseEntity.status(400).body(ApiResponse.error("수정할 내용이 없습니다.")); } body.put("id", id); - body.put("companyCode", companyCode); + body.put("company_code", companyCode); try { Map result = service.updateScreenEmbedding(body); if (result == null) { @@ -136,10 +136,10 @@ public class ScreenEmbeddingController { @DeleteMapping("/screen-embedding/{id}") public ResponseEntity> deleteScreenEmbedding( @PathVariable Long id, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { Map params = new HashMap<>(); params.put("id", id); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); try { boolean deleted = service.deleteScreenEmbedding(params); if (!deleted) { @@ -162,16 +162,16 @@ public class ScreenEmbeddingController { public ResponseEntity>> getScreenDataTransferInfo( @RequestParam(required = false) Long sourceScreenId, @RequestParam(required = false) Long targetScreenId, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { if (sourceScreenId == null || targetScreenId == null) { return ResponseEntity.status(400) .body(ApiResponse.error("소스 화면 ID와 타겟 화면 ID가 필요합니다.")); } try { Map params = new HashMap<>(); - params.put("sourceScreenId", sourceScreenId); - params.put("targetScreenId", targetScreenId); - params.put("companyCode", companyCode); + params.put("source_screen_id", sourceScreenId); + params.put("target_screen_id", targetScreenId); + params.put("company_code", companyCode); Map result = service.getScreenDataTransferInfo(params); if (result == null) { return ResponseEntity.status(404) @@ -188,14 +188,14 @@ public class ScreenEmbeddingController { @PostMapping("/screen-data-transfer") public ResponseEntity>> insertScreenDataTransfer( @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { - if (body.get("sourceScreenId") == null || body.get("targetScreenId") == null - || body.get("dataReceivers") == null) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { + if (body.get("source_screen_id") == null || body.get("target_screen_id") == null + || body.get("data_receivers") == null) { return ResponseEntity.status(400).body(ApiResponse.error("필수 필드가 누락되었습니다.")); } - body.put("companyCode", companyCode); - body.put("userId", userId); + body.put("company_code", companyCode); + body.put("user_id", userId); try { Map result = service.insertScreenDataTransfer(body); return ResponseEntity.status(HttpStatus.CREATED).body(ApiResponse.success(result)); @@ -213,12 +213,12 @@ public class ScreenEmbeddingController { public ResponseEntity>> updateScreenDataTransfer( @PathVariable Long id, @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode) { - if (body.get("dataReceivers") == null && body.get("buttonConfig") == null) { + @RequestAttribute("company_code") String companyCode) { + if (body.get("data_receivers") == null && body.get("button_config") == null) { return ResponseEntity.status(400).body(ApiResponse.error("수정할 내용이 없습니다.")); } body.put("id", id); - body.put("companyCode", companyCode); + body.put("company_code", companyCode); try { Map result = service.updateScreenDataTransfer(body); if (result == null) { @@ -236,10 +236,10 @@ public class ScreenEmbeddingController { @DeleteMapping("/screen-data-transfer/{id}") public ResponseEntity> deleteScreenDataTransfer( @PathVariable Long id, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { Map params = new HashMap<>(); params.put("id", id); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); try { boolean deleted = service.deleteScreenDataTransfer(params); if (!deleted) { @@ -261,11 +261,11 @@ public class ScreenEmbeddingController { @GetMapping("/screen-split-panel/{screenId}") public ResponseEntity>> getScreenSplitPanelInfo( @PathVariable Long screenId, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { Map params = new HashMap<>(); - params.put("screenId", screenId); - params.put("companyCode", companyCode); + params.put("screen_id", screenId); + params.put("company_code", companyCode); Map result = service.getScreenSplitPanelInfo(params); if (result == null) { return ResponseEntity.status(404) @@ -282,14 +282,14 @@ public class ScreenEmbeddingController { @PostMapping("/screen-split-panel") public ResponseEntity>> insertScreenSplitPanel( @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { - if (body.get("screenId") == null || body.get("leftEmbedding") == null - || body.get("rightEmbedding") == null || body.get("dataTransfer") == null) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { + if (body.get("screen_id") == null || body.get("left_embedding") == null + || body.get("right_embedding") == null || body.get("data_transfer") == null) { return ResponseEntity.status(400).body(ApiResponse.error("필수 필드가 누락되었습니다.")); } - body.put("companyCode", companyCode); - body.put("userId", userId); + body.put("company_code", companyCode); + body.put("user_id", userId); try { Map result = service.insertScreenSplitPanel(body); return ResponseEntity.status(HttpStatus.CREATED).body(ApiResponse.success(result)); @@ -304,12 +304,12 @@ public class ScreenEmbeddingController { public ResponseEntity>> updateScreenSplitPanel( @PathVariable Long id, @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode) { - if (body.get("layoutConfig") == null) { + @RequestAttribute("company_code") String companyCode) { + if (body.get("layout_config") == null) { return ResponseEntity.status(400).body(ApiResponse.error("수정할 내용이 없습니다.")); } body.put("id", id); - body.put("companyCode", companyCode); + body.put("company_code", companyCode); try { Map result = service.updateScreenSplitPanel(body); if (result == null) { @@ -327,10 +327,10 @@ public class ScreenEmbeddingController { @DeleteMapping("/screen-split-panel/{id}") public ResponseEntity> deleteScreenSplitPanel( @PathVariable Long id, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { Map params = new HashMap<>(); params.put("id", id); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); try { boolean deleted = service.deleteScreenSplitPanel(params); if (!deleted) { diff --git a/backend-spring/src/main/java/com/erp/controller/ScreenGroupController.java b/backend-spring/src/main/java/com/erp/controller/ScreenGroupController.java index 5bbbf17d..5911ccd0 100644 --- a/backend-spring/src/main/java/com/erp/controller/ScreenGroupController.java +++ b/backend-spring/src/main/java/com/erp/controller/ScreenGroupController.java @@ -34,18 +34,18 @@ public class ScreenGroupController { @RequestParam(required = false, defaultValue = "1") int page, @RequestParam(required = false, defaultValue = "20") int size, @RequestParam(required = false) String filterCompanyCode, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { String effectiveCompanyCode = ("*".equals(companyCode) && filterCompanyCode != null) ? filterCompanyCode : companyCode; Map params = new HashMap<>(); - params.put("companyCode", effectiveCompanyCode); + params.put("company_code", effectiveCompanyCode); params.put("page", page); params.put("size", size); if (search != null) params.put("search", search); - if (groupName != null) params.put("groupName", groupName); - if (parentGroupId != null) params.put("parentGroupId", parentGroupId); + if (groupName != null) params.put("group_name", groupName); + if (parentGroupId != null) params.put("parent_group_id", parentGroupId); // 페이지네이션 응답은 Node.js 동일 구조(total/page/size/totalPages) 유지 return ResponseEntity.ok(service.getScreenGroups(params)); @@ -60,11 +60,11 @@ public class ScreenGroupController { @GetMapping("/groups/{id}") public ResponseEntity>> getScreenGroup( @PathVariable Integer id, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { Map params = new HashMap<>(); params.put("id", id); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); Map group = service.getScreenGroup(params); if (group == null) { return ResponseEntity.status(404).body(ApiResponse.error("화면 그룹을 찾을 수 없습니다")); @@ -81,10 +81,10 @@ public class ScreenGroupController { @PostMapping("/groups") public ResponseEntity>> createScreenGroup( @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { - body.put("companyCode", companyCode); - body.put("userId", userId); + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { + body.put("company_code", companyCode); + body.put("user_id", userId); try { Map created = service.createScreenGroup(body); return ResponseEntity.status(HttpStatus.CREATED).body(ApiResponse.success(created)); @@ -103,11 +103,11 @@ public class ScreenGroupController { public ResponseEntity>> updateScreenGroup( @PathVariable Integer id, @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { body.put("id", id); - body.put("companyCode", companyCode); - body.put("userId", userId); + body.put("company_code", companyCode); + body.put("user_id", userId); try { return ResponseEntity.ok(ApiResponse.success(service.updateScreenGroup(body))); } catch (NoSuchElementException e) { @@ -128,13 +128,13 @@ public class ScreenGroupController { public ResponseEntity> deleteScreenGroup( @PathVariable Integer id, @RequestParam(required = false, defaultValue = "false") boolean deleteNumberingRules, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { Map params = new HashMap<>(); params.put("id", id); - params.put("companyCode", companyCode); - params.put("userId", userId); - params.put("deleteNumberingRules", deleteNumberingRules); + params.put("company_code", companyCode); + params.put("user_id", userId); + params.put("delete_numbering_rules", deleteNumberingRules); try { service.deleteScreenGroup(params); return ResponseEntity.ok(ApiResponse.success(null, "화면 그룹이 삭제되었습니다")); @@ -159,10 +159,10 @@ public class ScreenGroupController { @PostMapping("/group-screens") public ResponseEntity>> addScreenToGroup( @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { - body.put("companyCode", companyCode); - body.put("userId", userId); + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { + body.put("company_code", companyCode); + body.put("user_id", userId); try { return ResponseEntity.status(HttpStatus.CREATED) .body(ApiResponse.success(service.addScreenToGroup(body))); @@ -181,11 +181,11 @@ public class ScreenGroupController { public ResponseEntity>> updateScreenInGroup( @PathVariable Integer id, @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { body.put("id", id); - body.put("companyCode", companyCode); - body.put("userId", userId); + body.put("company_code", companyCode); + body.put("user_id", userId); try { return ResponseEntity.ok(ApiResponse.success(service.updateScreenInGroup(body))); } catch (NoSuchElementException e) { @@ -202,12 +202,12 @@ public class ScreenGroupController { @DeleteMapping("/group-screens/{id}") public ResponseEntity> removeScreenFromGroup( @PathVariable Integer id, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { Map params = new HashMap<>(); params.put("id", id); - params.put("companyCode", companyCode); - params.put("userId", userId); + params.put("company_code", companyCode); + params.put("user_id", userId); try { service.removeScreenFromGroup(params); return ResponseEntity.ok(ApiResponse.success(null, "화면 그룹 연결이 해제되었습니다")); @@ -230,12 +230,12 @@ public class ScreenGroupController { public ResponseEntity>>> getFieldJoins( @RequestParam(required = false) Integer groupId, @RequestParam(required = false) Integer screenId, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - if (groupId != null) params.put("groupId", groupId); - if (screenId != null) params.put("screenId", screenId); + params.put("company_code", companyCode); + if (groupId != null) params.put("group_id", groupId); + if (screenId != null) params.put("screen_id", screenId); return ResponseEntity.ok(ApiResponse.success(service.getFieldJoins(params))); } catch (Exception e) { log.error("필드 조인 목록 조회 실패", e); @@ -248,10 +248,10 @@ public class ScreenGroupController { @PostMapping("/field-joins") public ResponseEntity>> createFieldJoin( @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { - body.put("companyCode", companyCode); - body.put("userId", userId); + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { + body.put("company_code", companyCode); + body.put("user_id", userId); try { return ResponseEntity.status(HttpStatus.CREATED) .body(ApiResponse.success(service.createFieldJoin(body))); @@ -267,11 +267,11 @@ public class ScreenGroupController { public ResponseEntity>> updateFieldJoin( @PathVariable Integer id, @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { body.put("id", id); - body.put("companyCode", companyCode); - body.put("userId", userId); + body.put("company_code", companyCode); + body.put("user_id", userId); try { return ResponseEntity.ok(ApiResponse.success(service.updateFieldJoin(body))); } catch (NoSuchElementException e) { @@ -288,12 +288,12 @@ public class ScreenGroupController { @DeleteMapping("/field-joins/{id}") public ResponseEntity> deleteFieldJoin( @PathVariable Integer id, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { Map params = new HashMap<>(); params.put("id", id); - params.put("companyCode", companyCode); - params.put("userId", userId); + params.put("company_code", companyCode); + params.put("user_id", userId); try { service.deleteFieldJoin(params); return ResponseEntity.ok(ApiResponse.success(null, "필드 조인이 삭제되었습니다")); @@ -316,12 +316,12 @@ public class ScreenGroupController { public ResponseEntity>>> getDataFlows( @RequestParam(required = false) Integer groupId, @RequestParam(required = false) Integer screenId, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - if (groupId != null) params.put("groupId", groupId); - if (screenId != null) params.put("screenId", screenId); + params.put("company_code", companyCode); + if (groupId != null) params.put("group_id", groupId); + if (screenId != null) params.put("screen_id", screenId); return ResponseEntity.ok(ApiResponse.success(service.getDataFlows(params))); } catch (Exception e) { log.error("데이터 흐름 목록 조회 실패", e); @@ -334,10 +334,10 @@ public class ScreenGroupController { @PostMapping("/data-flows") public ResponseEntity>> createDataFlow( @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { - body.put("companyCode", companyCode); - body.put("userId", userId); + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { + body.put("company_code", companyCode); + body.put("user_id", userId); try { return ResponseEntity.status(HttpStatus.CREATED) .body(ApiResponse.success(service.createDataFlow(body))); @@ -353,11 +353,11 @@ public class ScreenGroupController { public ResponseEntity>> updateDataFlow( @PathVariable Integer id, @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { body.put("id", id); - body.put("companyCode", companyCode); - body.put("userId", userId); + body.put("company_code", companyCode); + body.put("user_id", userId); try { return ResponseEntity.ok(ApiResponse.success(service.updateDataFlow(body))); } catch (NoSuchElementException e) { @@ -374,12 +374,12 @@ public class ScreenGroupController { @DeleteMapping("/data-flows/{id}") public ResponseEntity> deleteDataFlow( @PathVariable Integer id, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { Map params = new HashMap<>(); params.put("id", id); - params.put("companyCode", companyCode); - params.put("userId", userId); + params.put("company_code", companyCode); + params.put("user_id", userId); try { service.deleteDataFlow(params); return ResponseEntity.ok(ApiResponse.success(null, "데이터 흐름이 삭제되었습니다")); @@ -402,12 +402,12 @@ public class ScreenGroupController { public ResponseEntity>>> getTableRelations( @RequestParam(required = false) Integer groupId, @RequestParam(required = false) Integer screenId, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - if (groupId != null) params.put("groupId", groupId); - if (screenId != null) params.put("screenId", screenId); + params.put("company_code", companyCode); + if (groupId != null) params.put("group_id", groupId); + if (screenId != null) params.put("screen_id", screenId); return ResponseEntity.ok(ApiResponse.success(service.getTableRelations(params))); } catch (Exception e) { log.error("화면-테이블 관계 목록 조회 실패", e); @@ -420,10 +420,10 @@ public class ScreenGroupController { @PostMapping("/table-relations") public ResponseEntity>> createTableRelation( @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { - body.put("companyCode", companyCode); - body.put("userId", userId); + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { + body.put("company_code", companyCode); + body.put("user_id", userId); try { return ResponseEntity.status(HttpStatus.CREATED) .body(ApiResponse.success(service.createTableRelation(body))); @@ -439,11 +439,11 @@ public class ScreenGroupController { public ResponseEntity>> updateTableRelation( @PathVariable Integer id, @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { body.put("id", id); - body.put("companyCode", companyCode); - body.put("userId", userId); + body.put("company_code", companyCode); + body.put("user_id", userId); try { return ResponseEntity.ok(ApiResponse.success(service.updateTableRelation(body))); } catch (NoSuchElementException e) { @@ -460,12 +460,12 @@ public class ScreenGroupController { @DeleteMapping("/table-relations/{id}") public ResponseEntity> deleteTableRelation( @PathVariable Integer id, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { Map params = new HashMap<>(); params.put("id", id); - params.put("companyCode", companyCode); - params.put("userId", userId); + params.put("company_code", companyCode); + params.put("user_id", userId); try { service.deleteTableRelation(params); return ResponseEntity.ok(ApiResponse.success(null, "화면-테이블 관계가 삭제되었습니다")); @@ -487,11 +487,11 @@ public class ScreenGroupController { @GetMapping("/layout-summary/{screenId}") public ResponseEntity>> getScreenLayoutSummary( @PathVariable Integer screenId, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { Map params = new HashMap<>(); - params.put("screenId", screenId); - params.put("companyCode", companyCode); + params.put("screen_id", screenId); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(service.getScreenLayoutSummary(params))); } catch (Exception e) { log.error("레이아웃 요약 조회 실패: screenId={}", screenId, e); @@ -504,10 +504,10 @@ public class ScreenGroupController { @PostMapping("/layout-summary/batch") public ResponseEntity>> getMultipleScreenLayoutSummary( @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { @SuppressWarnings("unchecked") - List screenIds = (List) body.get("screenIds"); + List screenIds = (List) body.get("screen_ids"); return ResponseEntity.ok(ApiResponse.success( service.getMultipleScreenLayoutSummary(screenIds))); } catch (Exception e) { @@ -525,10 +525,10 @@ public class ScreenGroupController { @PostMapping("/sub-tables/batch") public ResponseEntity>> getScreenSubTables( @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { @SuppressWarnings("unchecked") - List screenIds = (List) body.get("screenIds"); + List screenIds = (List) body.get("screen_ids"); return ResponseEntity.ok(ApiResponse.success( service.getScreenSubTables(screenIds))); } catch (Exception e) { @@ -546,7 +546,7 @@ public class ScreenGroupController { @GetMapping("/sync/status") public ResponseEntity>> getSyncStatus( @RequestParam(required = false) String filterCompanyCode, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { String effectiveCompanyCode = ("*".equals(companyCode) && filterCompanyCode != null) ? filterCompanyCode : companyCode; @@ -562,12 +562,12 @@ public class ScreenGroupController { @PostMapping("/sync/screen-to-menu") public ResponseEntity>> syncScreenGroupsToMenu( @RequestBody(required = false) Map body, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { try { String targetCompanyCode = companyCode; - if (body != null && body.get("companyCode") != null) { - targetCompanyCode = (String) body.get("companyCode"); + if (body != null && body.get("company_code") != null) { + targetCompanyCode = (String) body.get("company_code"); } Map result = service.syncScreenGroupsToMenu(targetCompanyCode, userId); return ResponseEntity.ok(ApiResponse.success(result)); @@ -582,12 +582,12 @@ public class ScreenGroupController { @PostMapping("/sync/menu-to-screen") public ResponseEntity>> syncMenuToScreenGroups( @RequestBody(required = false) Map body, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { try { String targetCompanyCode = companyCode; - if (body != null && body.get("companyCode") != null) { - targetCompanyCode = (String) body.get("companyCode"); + if (body != null && body.get("company_code") != null) { + targetCompanyCode = (String) body.get("company_code"); } Map result = service.syncMenuToScreenGroups(targetCompanyCode, userId); return ResponseEntity.ok(ApiResponse.success(result)); @@ -601,7 +601,7 @@ public class ScreenGroupController { /** POST /api/screen-groups/sync/all */ @PostMapping("/sync/all") public ResponseEntity>> syncAllCompanies( - @RequestAttribute("userId") String userId) { + @RequestAttribute("user_id") String userId) { try { return ResponseEntity.ok(ApiResponse.success(service.syncAllCompanies(userId))); } catch (Exception e) { @@ -619,12 +619,12 @@ public class ScreenGroupController { @GetMapping("/pop/groups") public ResponseEntity>>> getPopScreenGroups( @RequestParam(required = false) String filterCompanyCode, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { String effectiveCompanyCode = ("*".equals(companyCode) && filterCompanyCode != null) ? filterCompanyCode : companyCode; Map params = new HashMap<>(); - params.put("companyCode", effectiveCompanyCode); + params.put("company_code", effectiveCompanyCode); return ResponseEntity.ok(ApiResponse.success(service.getPopScreenGroups(params))); } catch (Exception e) { log.error("POP 화면 그룹 목록 조회 실패", e); @@ -637,10 +637,10 @@ public class ScreenGroupController { @PostMapping("/pop/groups") public ResponseEntity>> createPopScreenGroup( @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { - body.put("userCompanyCode", companyCode); - body.put("userId", userId); + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { + body.put("user_company_code", companyCode); + body.put("user_id", userId); try { return ResponseEntity.status(HttpStatus.CREATED) .body(ApiResponse.success(service.createPopScreenGroup(body))); @@ -662,11 +662,11 @@ public class ScreenGroupController { public ResponseEntity>> updatePopScreenGroup( @PathVariable Integer id, @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { body.put("id", id); - body.put("companyCode", companyCode); - body.put("userId", userId); + body.put("company_code", companyCode); + body.put("user_id", userId); try { return ResponseEntity.ok(ApiResponse.success(service.updatePopScreenGroup(body))); } catch (NoSuchElementException e) { @@ -686,12 +686,12 @@ public class ScreenGroupController { @DeleteMapping("/pop/groups/{id}") public ResponseEntity> deletePopScreenGroup( @PathVariable Integer id, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { Map params = new HashMap<>(); params.put("id", id); - params.put("companyCode", companyCode); - params.put("userId", userId); + params.put("company_code", companyCode); + params.put("user_id", userId); try { service.deletePopScreenGroup(params); return ResponseEntity.ok(ApiResponse.success(null, "POP 화면 그룹이 삭제되었습니다")); @@ -715,12 +715,12 @@ public class ScreenGroupController { @PostMapping("/pop/ensure-root") public ResponseEntity>> ensurePopRootGroup( @RequestBody(required = false) Map body, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { try { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("userId", userId); + params.put("company_code", companyCode); + params.put("user_id", userId); if (body != null) params.putAll(body); Map result = service.ensurePopRootGroup(params); return ResponseEntity.ok(ApiResponse.success(result)); diff --git a/backend-spring/src/main/java/com/erp/controller/ScreenManagementController.java b/backend-spring/src/main/java/com/erp/controller/ScreenManagementController.java index a2e8c89f..cd8a0984 100644 --- a/backend-spring/src/main/java/com/erp/controller/ScreenManagementController.java +++ b/backend-spring/src/main/java/com/erp/controller/ScreenManagementController.java @@ -24,11 +24,11 @@ public class ScreenManagementController { @GetMapping("/screens") public ResponseEntity>> getScreens( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", params.getOrDefault("companyCode", companyCode)); + params.put("company_code", params.getOrDefault("company_code", companyCode)); // 권한 확인: 최고 관리자가 아니면 자사 companyCode만 허용 - String targetCode = (String) params.get("companyCode"); + String targetCode = (String) params.get("company_code"); if (!"*".equals(companyCode) && !companyCode.equals(targetCode)) { return ResponseEntity.status(403) .body(ApiResponse.error("다른 회사의 화면을 조회할 권한이 없습니다.")); @@ -38,7 +38,7 @@ public class ScreenManagementController { @GetMapping("/screens/{id}") public ResponseEntity>> getScreen( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable("id") Integer screenId) { Map screen = service.getScreenById(screenId); if (screen == null) { @@ -49,7 +49,7 @@ public class ScreenManagementController { @GetMapping("/screens/{id}/menu") public ResponseEntity>> getScreenMenu( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable("id") Integer screenId) { Map menuInfo = service.getMenuByScreen(screenId, companyCode); return ResponseEntity.ok(ApiResponse.success(menuInfo)); @@ -59,8 +59,8 @@ public class ScreenManagementController { @PostMapping("/screens") public ResponseEntity>> createScreen( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { try { Map screen = service.createScreen(body, companyCode, userId); @@ -75,8 +75,8 @@ public class ScreenManagementController { @PutMapping("/screens/{id}") public ResponseEntity>> updateScreen( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable("id") Integer screenId, @RequestBody Map body) { try { @@ -91,8 +91,8 @@ public class ScreenManagementController { @PutMapping("/screens/{id}/info") public ResponseEntity>> updateScreenInfo( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable("id") Integer screenId, @RequestBody Map body) { try { @@ -107,10 +107,10 @@ public class ScreenManagementController { @PatchMapping("/screens/{screenId}/table-name") public ResponseEntity>> updateScreenTableName( - @RequestAttribute("userId") String userId, + @RequestAttribute("user_id") String userId, @PathVariable Integer screenId, @RequestBody Map body) { - String tableName = (String) body.get("tableName"); + String tableName = (String) body.get("table_name"); Map screen = service.updateScreenTableName(screenId, tableName, userId); if (screen == null) return ResponseEntity.status(404).body(ApiResponse.error("화면을 찾을 수 없습니다.")); return ResponseEntity.ok(ApiResponse.success(screen)); @@ -120,7 +120,7 @@ public class ScreenManagementController { @GetMapping("/screens/{id}/dependencies") public ResponseEntity>> checkScreenDependencies( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable("id") Integer screenId) { Map deps = service.checkScreenDependencies(screenId, companyCode); return ResponseEntity.ok(ApiResponse.success(deps)); @@ -128,7 +128,7 @@ public class ScreenManagementController { @GetMapping("/screens/{id}/linked-modals") public ResponseEntity>>> detectLinkedScreens( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable("id") Integer screenId) { List> linked = service.detectLinkedScreens(screenId, companyCode); return ResponseEntity.ok(ApiResponse.success(linked)); @@ -138,8 +138,8 @@ public class ScreenManagementController { @DeleteMapping("/screens/{id}") public ResponseEntity> deleteScreen( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable("id") Integer screenId, @RequestParam(required = false) String deleteReason) { try { @@ -153,11 +153,11 @@ public class ScreenManagementController { @DeleteMapping("/screens/bulk/delete") public ResponseEntity> bulkDeleteScreens( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { @SuppressWarnings("unchecked") - List screenIds = (List) body.get("screenIds"); + List screenIds = (List) body.get("screen_ids"); try { service.bulkSoftDeleteScreens(screenIds, userId, companyCode); return ResponseEntity.ok(ApiResponse.success(null, screenIds.size() + "개 화면이 삭제되었습니다.")); @@ -171,24 +171,24 @@ public class ScreenManagementController { @PostMapping("/screens/check-duplicate-name") public ResponseEntity>> checkDuplicateScreenName( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - String screenName = (String) body.get("screenName"); - String targetCode = body.containsKey("companyCode") ? (String) body.get("companyCode") : companyCode; + String screenName = (String) body.get("screen_name"); + String targetCode = body.containsKey("company_code") ? (String) body.get("company_code") : companyCode; boolean isDuplicate = service.checkDuplicateScreenName(screenName, targetCode); - return ResponseEntity.ok(ApiResponse.success(Map.of("isDuplicate", isDuplicate))); + return ResponseEntity.ok(ApiResponse.success(Map.of("is_duplicate", isDuplicate))); } // ─── 복사 ────────────────────────────────────────────────── @PostMapping("/screens/{id}/copy") public ResponseEntity>> copyScreen( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable("id") Integer screenId, @RequestBody(required = false) Map body) { try { - String newName = body != null ? (String) body.get("newName") : null; + String newName = body != null ? (String) body.get("new_name") : null; Map screen = service.copyScreen(screenId, newName, companyCode, userId); return ResponseEntity.status(201).body(ApiResponse.success(screen, "화면이 복사되었습니다.")); } catch (IllegalArgumentException e) { @@ -201,8 +201,8 @@ public class ScreenManagementController { @PostMapping("/screens/{id}/copy-with-modals") public ResponseEntity>> copyScreenWithModals( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable("id") Integer screenId, @RequestBody Map body) { try { @@ -218,9 +218,9 @@ public class ScreenManagementController { @GetMapping("/screens/trash/list") public ResponseEntity>>> getDeletedScreens( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); Map result = service.getDeletedScreens(params); @SuppressWarnings("unchecked") List> list = (List>) result.get("data"); @@ -229,8 +229,8 @@ public class ScreenManagementController { @PostMapping("/screens/{id}/restore") public ResponseEntity>> restoreScreen( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable("id") Integer screenId) { try { Map screen = service.restoreScreen(screenId, userId, companyCode); @@ -261,7 +261,7 @@ public class ScreenManagementController { public ResponseEntity> bulkPermanentDeleteScreens( @RequestBody Map body) { @SuppressWarnings("unchecked") - List screenIds = (List) body.get("screenIds"); + List screenIds = (List) body.get("screen_ids"); try { service.bulkPermanentDeleteScreens(screenIds); return ResponseEntity.ok(ApiResponse.success(null, screenIds.size() + "개 화면이 영구 삭제되었습니다.")); @@ -278,7 +278,7 @@ public class ScreenManagementController { @PathVariable String companyCode) { try { String code = service.generateScreenCode(companyCode); - return ResponseEntity.ok(ApiResponse.success(Map.of("screenCode", code))); + return ResponseEntity.ok(ApiResponse.success(Map.of("screen_code", code))); } catch (Exception e) { log.error("화면 코드 생성 실패", e); return ResponseEntity.status(500).body(ApiResponse.error("화면 코드 생성에 실패했습니다.")); @@ -288,11 +288,11 @@ public class ScreenManagementController { @PostMapping("/generate-screen-codes") public ResponseEntity>> generateMultipleScreenCodes( @RequestBody Map body) { - String companyCode = (String) body.get("companyCode"); + String companyCode = (String) body.get("company_code"); int count = body.get("count") != null ? Integer.parseInt(body.get("count").toString()) : 1; try { List codes = service.generateMultipleScreenCodes(companyCode, count); - return ResponseEntity.ok(ApiResponse.success(Map.of("screenCodes", codes))); + return ResponseEntity.ok(ApiResponse.success(Map.of("screen_codes", codes))); } catch (Exception e) { log.error("화면 코드 일괄 생성 실패", e); return ResponseEntity.status(500).body(ApiResponse.error("화면 코드 생성에 실패했습니다.")); @@ -316,7 +316,7 @@ public class ScreenManagementController { @GetMapping("/tables/{tableName}/columns") public ResponseEntity>> getTableColumns( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String tableName) { return ResponseEntity.ok(ApiResponse.success(service.getTableColumns(tableName, companyCode))); } @@ -325,7 +325,7 @@ public class ScreenManagementController { @PostMapping("/screens/{screenId}/layout") public ResponseEntity> saveLayout( - @RequestAttribute("userId") String userId, + @RequestAttribute("user_id") String userId, @PathVariable Integer screenId, @RequestBody Map body) { @SuppressWarnings("unchecked") @@ -342,14 +342,14 @@ public class ScreenManagementController { @GetMapping("/screens/{screenId}/layout") public ResponseEntity>> getLayout( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Integer screenId) { return ResponseEntity.ok(ApiResponse.success(service.getLayout(screenId, companyCode))); } @GetMapping("/screens/{screenId}/layout-v1") public ResponseEntity>> getLayoutV1( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Integer screenId) { Map result = service.getLayoutV1WithTransform(screenId, companyCode); if (result == null) { @@ -362,7 +362,7 @@ public class ScreenManagementController { @GetMapping("/screens/{screenId}/layout-v2") public ResponseEntity>> getLayoutV2( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Integer screenId, @RequestParam(required = false) Integer layerId) { Map layout = service.getLayoutV2(screenId, companyCode, layerId); @@ -371,8 +371,8 @@ public class ScreenManagementController { @PostMapping("/screens/{screenId}/layout-v2") public ResponseEntity> saveLayoutV2( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable Integer screenId, @RequestBody Map body) { try { @@ -388,15 +388,15 @@ public class ScreenManagementController { @GetMapping("/screens/{screenId}/layout-pop") public ResponseEntity>> getLayoutPop( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Integer screenId) { return ResponseEntity.ok(ApiResponse.success(service.getLayoutPop(screenId, companyCode))); } @PostMapping("/screens/{screenId}/layout-pop") public ResponseEntity> saveLayoutPop( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable Integer screenId, @RequestBody Map body) { try { @@ -410,7 +410,7 @@ public class ScreenManagementController { @DeleteMapping("/screens/{screenId}/layout-pop") public ResponseEntity> deleteLayoutPop( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Integer screenId) { service.deleteLayoutPop(screenId, companyCode); return ResponseEntity.ok(ApiResponse.success(null, "POP 레이아웃이 삭제되었습니다.")); @@ -418,7 +418,7 @@ public class ScreenManagementController { @GetMapping("/pop-layout-screen-ids") public ResponseEntity>>> getScreenIdsWithPopLayout( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { return ResponseEntity.ok(ApiResponse.success(service.getScreenIdsWithPopLayout(companyCode))); } @@ -426,14 +426,14 @@ public class ScreenManagementController { @GetMapping("/screens/{screenId}/layers") public ResponseEntity>>> getScreenLayers( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Integer screenId) { return ResponseEntity.ok(ApiResponse.success(service.getScreenLayers(screenId, companyCode))); } @GetMapping("/screens/{screenId}/layers/{layerId}/layout") public ResponseEntity>> getLayerLayout( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Integer screenId, @PathVariable Integer layerId) { Map layout = service.getLayerLayout(screenId, layerId, companyCode); @@ -442,7 +442,7 @@ public class ScreenManagementController { @DeleteMapping("/screens/{screenId}/layers/{layerId}") public ResponseEntity> deleteLayer( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Integer screenId, @PathVariable Integer layerId) { boolean deleted = service.deleteLayer(screenId, layerId, companyCode); @@ -452,7 +452,7 @@ public class ScreenManagementController { @PutMapping("/screens/{screenId}/layers/{layerId}/condition") public ResponseEntity> updateLayerCondition( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Integer screenId, @PathVariable Integer layerId, @RequestBody Map body) { @@ -464,14 +464,14 @@ public class ScreenManagementController { @GetMapping("/screens/{screenId}/zones") public ResponseEntity>>> getScreenZones( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Integer screenId) { return ResponseEntity.ok(ApiResponse.success(service.getScreenZones(screenId, companyCode))); } @PostMapping("/screens/{screenId}/zones") public ResponseEntity>> createZone( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Integer screenId, @RequestBody Map body) { try { @@ -485,7 +485,7 @@ public class ScreenManagementController { @PutMapping("/zones/{zoneId}") public ResponseEntity> updateZone( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Integer zoneId, @RequestBody Map body) { boolean updated = service.updateZone(zoneId, body, companyCode); @@ -495,7 +495,7 @@ public class ScreenManagementController { @DeleteMapping("/zones/{zoneId}") public ResponseEntity> deleteZone( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Integer zoneId) { boolean deleted = service.deleteZone(zoneId, companyCode); if (!deleted) return ResponseEntity.status(404).body(ApiResponse.error("Zone을 찾을 수 없습니다.")); @@ -504,7 +504,7 @@ public class ScreenManagementController { @PostMapping("/screens/{screenId}/zones/{zoneId}/layers") public ResponseEntity>> addLayerToZone( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Integer screenId, @PathVariable Integer zoneId, @RequestBody(required = false) Map body) { @@ -522,8 +522,8 @@ public class ScreenManagementController { @PostMapping("/screens/{screenId}/assign-menu") public ResponseEntity>> assignScreenToMenu( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable Integer screenId, @RequestBody Map body) { try { @@ -539,14 +539,14 @@ public class ScreenManagementController { @GetMapping("/menus/{menuObjid}/screens") public ResponseEntity>>> getScreensByMenu( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Integer menuObjid) { return ResponseEntity.ok(ApiResponse.success(service.getScreensByMenu(menuObjid, companyCode))); } @DeleteMapping("/screens/{screenId}/menus/{menuObjid}") public ResponseEntity> unassignScreenFromMenu( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Integer screenId, @PathVariable Integer menuObjid) { try { @@ -644,14 +644,14 @@ public class ScreenManagementController { @GetMapping("/screens/{screenId}/pop-links") public ResponseEntity>> analyzePopScreenLinks( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Integer screenId) { return ResponseEntity.ok(ApiResponse.success(service.analyzePopScreenLinks(screenId, companyCode))); } @PostMapping("/deploy-pop-screens") public ResponseEntity>> deployPopScreens( - @RequestAttribute("userId") String userId, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { try { Map result = service.deployPopScreens(body, userId); diff --git a/backend-spring/src/main/java/com/erp/controller/ShippingOrderController.java b/backend-spring/src/main/java/com/erp/controller/ShippingOrderController.java index 41468f47..33145305 100644 --- a/backend-spring/src/main/java/com/erp/controller/ShippingOrderController.java +++ b/backend-spring/src/main/java/com/erp/controller/ShippingOrderController.java @@ -21,59 +21,59 @@ public class ShippingOrderController { @GetMapping("/list") public ResponseEntity>>> getList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(shippingOrderService.getShippingOrderList(params))); } @GetMapping("/preview-no") public ResponseEntity>> previewNextNo( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(shippingOrderService.previewNextNo(params))); } @PostMapping("/save") public ResponseEntity>> save( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { - body.put("companyCode", companyCode); - body.put("userId", userId); + body.put("company_code", companyCode); + body.put("user_id", userId); return ResponseEntity.ok(ApiResponse.success(shippingOrderService.save(body))); } @PostMapping("/delete") public ResponseEntity>> remove( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(shippingOrderService.remove(body))); } @GetMapping("/source/shipment-plan") public ResponseEntity>> getShipmentPlanSource( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(shippingOrderService.getShipmentPlanSource(params))); } @GetMapping("/source/sales-order") public ResponseEntity>> getSalesOrderSource( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(shippingOrderService.getSalesOrderSource(params))); } @GetMapping("/source/item") public ResponseEntity>> getItemSource( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(shippingOrderService.getItemSource(params))); } } diff --git a/backend-spring/src/main/java/com/erp/controller/ShippingPlanController.java b/backend-spring/src/main/java/com/erp/controller/ShippingPlanController.java index e778928c..bbeb1d76 100644 --- a/backend-spring/src/main/java/com/erp/controller/ShippingPlanController.java +++ b/backend-spring/src/main/java/com/erp/controller/ShippingPlanController.java @@ -19,66 +19,66 @@ public class ShippingPlanController { @GetMapping("/list") public ResponseEntity>> getShippingPlanList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(shippingPlanService.getShippingPlanList(params))); } @GetMapping("/aggregate") public ResponseEntity>> getAggregate( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(shippingPlanService.getAggregate(params))); } @GetMapping("/{id}") public ResponseEntity>> getShippingPlanInfo( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success(shippingPlanService.getShippingPlanInfo(params))); } @PostMapping("/batch") public ResponseEntity>> batchSave( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { - body.put("companyCode", companyCode); - body.put("userId", userId); + body.put("company_code", companyCode); + body.put("user_id", userId); return ResponseEntity.ok(ApiResponse.success(shippingPlanService.batchSave(body))); } @PostMapping public ResponseEntity>> insertShippingPlan( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(shippingPlanService.insertShippingPlan(body))); } @PutMapping("/{id}") public ResponseEntity>> updateShippingPlan( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @PathVariable Long id, @RequestBody Map body) { - body.put("companyCode", companyCode); - body.put("updatedBy", userId); + body.put("company_code", companyCode); + body.put("updated_by", userId); body.put("id", id); return ResponseEntity.ok(ApiResponse.success(shippingPlanService.updateShippingPlan(body))); } @DeleteMapping("/{id}") public ResponseEntity>> deleteShippingPlan( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success(shippingPlanService.deleteShippingPlan(params))); } diff --git a/backend-spring/src/main/java/com/erp/controller/SystemNoticeController.java b/backend-spring/src/main/java/com/erp/controller/SystemNoticeController.java index 5f7bf88c..e7fef069 100644 --- a/backend-spring/src/main/java/com/erp/controller/SystemNoticeController.java +++ b/backend-spring/src/main/java/com/erp/controller/SystemNoticeController.java @@ -26,9 +26,9 @@ public class SystemNoticeController { */ @GetMapping public ResponseEntity>>> getSystemNoticeList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map queryParams) { - queryParams.put("companyCode", companyCode); + queryParams.put("company_code", companyCode); List> list = systemNoticeService.getSystemNoticeList(queryParams); return ResponseEntity.ok(ApiResponse.success(list)); } @@ -40,8 +40,8 @@ public class SystemNoticeController { @PostMapping public ResponseEntity>> insertSystemNotice( @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { String title = (String) body.get("title"); String content = (String) body.get("content"); @@ -54,8 +54,8 @@ public class SystemNoticeController { } Map params = new HashMap<>(body); - params.put("companyCode", companyCode); - params.put("createdBy", userId); + params.put("company_code", companyCode); + params.put("created_by", userId); try { Map created = systemNoticeService.insertSystemNotice(params); @@ -75,7 +75,7 @@ public class SystemNoticeController { public ResponseEntity>> updateSystemNotice( @PathVariable Long id, @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { String title = (String) body.get("title"); String content = (String) body.get("content"); @@ -89,7 +89,7 @@ public class SystemNoticeController { Map params = new HashMap<>(body); params.put("id", id); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); try { Map updated = systemNoticeService.updateSystemNotice(params); @@ -109,11 +109,11 @@ public class SystemNoticeController { @DeleteMapping("/{id}") public ResponseEntity> deleteSystemNotice( @PathVariable Long id, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { Map params = new HashMap<>(); params.put("id", id); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); try { systemNoticeService.deleteSystemNotice(params); diff --git a/backend-spring/src/main/java/com/erp/controller/TableCategoryValueController.java b/backend-spring/src/main/java/com/erp/controller/TableCategoryValueController.java index f43c4f97..ba47099b 100644 --- a/backend-spring/src/main/java/com/erp/controller/TableCategoryValueController.java +++ b/backend-spring/src/main/java/com/erp/controller/TableCategoryValueController.java @@ -27,10 +27,10 @@ public class TableCategoryValueController { /** GET /api/table-categories/all-columns */ @GetMapping("/all-columns") public ResponseEntity>>> getAllCategoryColumns( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(service.getAllCategoryColumns(params))); } catch (Exception e) { log.error("전체 카테고리 컬럼 조회 실패", e); @@ -43,11 +43,11 @@ public class TableCategoryValueController { @GetMapping("/{tableName}/columns") public ResponseEntity>>> getCategoryColumns( @PathVariable String tableName, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("companyCode", companyCode); + params.put("table_name", tableName); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(service.getCategoryColumns(params))); } catch (Exception e) { log.error("카테고리 컬럼 조회 실패: tableName={}", tableName, e); @@ -68,18 +68,18 @@ public class TableCategoryValueController { @RequestParam(required = false) String menuObjid, @RequestParam(required = false, defaultValue = "false") boolean includeInactive, @RequestParam(required = false) String filterCompanyCode, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { // SUPER_ADMIN 이 특정 회사 기준 필터링 요청 시 해당 companyCode 사용 String effectiveCompanyCode = ("*".equals(companyCode) && filterCompanyCode != null) ? filterCompanyCode : companyCode; Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("columnName", columnName); - params.put("companyCode", effectiveCompanyCode); - params.put("includeInactive", includeInactive); - if (menuObjid != null) params.put("menuObjid", Long.parseLong(menuObjid)); + params.put("table_name", tableName); + params.put("column_name", columnName); + params.put("company_code", effectiveCompanyCode); + params.put("include_inactive", includeInactive); + if (menuObjid != null) params.put("menu_objid", Long.parseLong(menuObjid)); return ResponseEntity.ok(ApiResponse.success(service.getCategoryValues(params))); } catch (Exception e) { @@ -97,13 +97,13 @@ public class TableCategoryValueController { @PostMapping("/values") public ResponseEntity>> addCategoryValue( @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { - if (body.get("menuObjid") == null) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { + if (body.get("menu_objid") == null) { return ResponseEntity.status(400).body(ApiResponse.error("menuObjid는 필수입니다")); } - body.put("companyCode", companyCode); - body.put("userId", userId); + body.put("company_code", companyCode); + body.put("user_id", userId); try { return ResponseEntity.status(HttpStatus.CREATED) .body(ApiResponse.success(service.addCategoryValue(body))); @@ -121,11 +121,11 @@ public class TableCategoryValueController { public ResponseEntity>> updateCategoryValue( @PathVariable Long valueId, @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { - body.put("valueId", valueId); - body.put("companyCode", companyCode); - body.put("userId", userId); + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { + body.put("value_id", valueId); + body.put("company_code", companyCode); + body.put("user_id", userId); try { return ResponseEntity.ok(ApiResponse.success(service.updateCategoryValue(body))); } catch (IllegalArgumentException e) { @@ -140,12 +140,12 @@ public class TableCategoryValueController { @DeleteMapping("/values/{valueId}") public ResponseEntity> deleteCategoryValue( @PathVariable Long valueId, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { Map params = new HashMap<>(); - params.put("valueId", valueId); - params.put("companyCode", companyCode); - params.put("userId", userId); + params.put("value_id", valueId); + params.put("company_code", companyCode); + params.put("user_id", userId); try { service.deleteCategoryValue(params); return ResponseEntity.ok(ApiResponse.success(null, "카테고리 값이 삭제되었습니다")); @@ -166,14 +166,14 @@ public class TableCategoryValueController { @PostMapping("/values/bulk-delete") public ResponseEntity> bulkDeleteCategoryValues( @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { - Object rawIds = body.get("valueIds"); + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { + Object rawIds = body.get("value_ids"); if (!(rawIds instanceof List) || ((List) rawIds).isEmpty()) { return ResponseEntity.status(400).body(ApiResponse.error("삭제할 값 ID 목록이 필요합니다")); } - body.put("companyCode", companyCode); - body.put("userId", userId); + body.put("company_code", companyCode); + body.put("user_id", userId); try { service.bulkDeleteCategoryValues(body); int count = ((List) rawIds).size(); @@ -189,12 +189,12 @@ public class TableCategoryValueController { @PostMapping("/values/reorder") public ResponseEntity> reorderCategoryValues( @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode) { - Object rawIds = body.get("orderedValueIds"); + @RequestAttribute("company_code") String companyCode) { + Object rawIds = body.get("ordered_value_ids"); if (!(rawIds instanceof List) || ((List) rawIds).isEmpty()) { return ResponseEntity.status(400).body(ApiResponse.error("순서 정보가 필요합니다")); } - body.put("companyCode", companyCode); + body.put("company_code", companyCode); try { service.reorderCategoryValues(body); return ResponseEntity.ok(ApiResponse.success(null, "카테고리 값 순서가 변경되었습니다")); @@ -212,12 +212,12 @@ public class TableCategoryValueController { @PostMapping("/labels-by-codes") public ResponseEntity>> getCategoryLabelsByCodes( @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode) { - Object rawCodes = body.get("valueCodes"); + @RequestAttribute("company_code") String companyCode) { + Object rawCodes = body.get("value_codes"); if (!(rawCodes instanceof List) || ((List) rawCodes).isEmpty()) { return ResponseEntity.ok(ApiResponse.success(new java.util.LinkedHashMap<>())); } - body.put("companyCode", companyCode); + body.put("company_code", companyCode); try { return ResponseEntity.ok(ApiResponse.success(service.getCategoryLabelsByCodes(body))); } catch (Exception e) { @@ -233,10 +233,10 @@ public class TableCategoryValueController { /** GET /api/table-categories/second-level-menus */ @GetMapping("/second-level-menus") public ResponseEntity>>> getSecondLevelMenus( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(service.getSecondLevelMenus(params))); } catch (Exception e) { log.error("2레벨 메뉴 목록 조회 실패", e); @@ -253,12 +253,12 @@ public class TableCategoryValueController { public ResponseEntity>> getColumnMapping( @PathVariable String tableName, @PathVariable Long menuObjid, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("menuObjid", menuObjid); - params.put("companyCode", companyCode); + params.put("table_name", tableName); + params.put("menu_objid", menuObjid); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(service.getColumnMapping(params))); } catch (Exception e) { log.error("컬럼 매핑 조회 실패: tableName={}, menuObjid={}", tableName, menuObjid, e); @@ -271,12 +271,12 @@ public class TableCategoryValueController { public ResponseEntity>>> getLogicalColumns( @PathVariable String tableName, @PathVariable Long menuObjid, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("menuObjid", menuObjid); - params.put("companyCode", companyCode); + params.put("table_name", tableName); + params.put("menu_objid", menuObjid); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(service.getLogicalColumns(params))); } catch (Exception e) { log.error("논리적 컬럼 목록 조회 실패: tableName={}, menuObjid={}", tableName, menuObjid, e); @@ -288,12 +288,12 @@ public class TableCategoryValueController { @PostMapping("/column-mapping") public ResponseEntity>> createColumnMapping( @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { - String tableName = (String) body.get("tableName"); - String logicalColumnName = (String) body.get("logicalColumnName"); - String physicalColumnName = (String) body.get("physicalColumnName"); - Object menuObjid = body.get("menuObjid"); + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { + String tableName = (String) body.get("table_name"); + String logicalColumnName = (String) body.get("logical_column_name"); + String physicalColumnName = (String) body.get("physical_column_name"); + Object menuObjid = body.get("menu_objid"); if (tableName == null || logicalColumnName == null || physicalColumnName == null || menuObjid == null) { @@ -301,10 +301,10 @@ public class TableCategoryValueController { "tableName, logicalColumnName, physicalColumnName, menuObjid는 필수입니다")); } - body.put("companyCode", companyCode); - body.put("userId", userId); + body.put("company_code", companyCode); + body.put("user_id", userId); // menuObjid를 Long으로 보장 - body.put("menuObjid", toLong(menuObjid)); + body.put("menu_objid", toLong(menuObjid)); try { return ResponseEntity.status(HttpStatus.CREATED) @@ -326,15 +326,15 @@ public class TableCategoryValueController { public ResponseEntity>> deleteColumnMappingsByColumn( @PathVariable String tableName, @PathVariable String columnName, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("columnName", columnName); - params.put("companyCode", companyCode); + params.put("table_name", tableName); + params.put("column_name", columnName); + params.put("company_code", companyCode); int deleted = service.deleteColumnMappingsByColumn(params); Map data = new HashMap<>(); - data.put("deletedCount", deleted); + data.put("deleted_count", deleted); return ResponseEntity.ok(ApiResponse.success(data, deleted + "개의 컬럼 매핑이 삭제되었습니다")); } catch (Exception e) { @@ -347,10 +347,10 @@ public class TableCategoryValueController { @DeleteMapping("/column-mapping/{mappingId}") public ResponseEntity> deleteColumnMapping( @PathVariable Long mappingId, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { Map params = new HashMap<>(); - params.put("mappingId", mappingId); - params.put("companyCode", companyCode); + params.put("mapping_id", mappingId); + params.put("company_code", companyCode); try { service.deleteColumnMapping(params); return ResponseEntity.ok(ApiResponse.success(null, "컬럼 매핑이 삭제되었습니다")); diff --git a/backend-spring/src/main/java/com/erp/controller/TableHistoryController.java b/backend-spring/src/main/java/com/erp/controller/TableHistoryController.java index fb82bb06..c71c956b 100644 --- a/backend-spring/src/main/java/com/erp/controller/TableHistoryController.java +++ b/backend-spring/src/main/java/com/erp/controller/TableHistoryController.java @@ -29,12 +29,12 @@ public class TableHistoryController { */ @GetMapping("/{tableName}/check") public ResponseEntity>> checkHistoryTableExists( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String tableName) { Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("companyCode", companyCode); + params.put("table_name", tableName); + params.put("company_code", companyCode); Map data = tableHistoryService.checkHistoryTableExists(params); String message = (String) data.remove("_message"); @@ -47,12 +47,12 @@ public class TableHistoryController { */ @GetMapping("/{tableName}/summary") public ResponseEntity>>> getTableHistorySummary( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String tableName) { Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("companyCode", companyCode); + params.put("table_name", tableName); + params.put("company_code", companyCode); try { List> data = tableHistoryService.getTableHistorySummary(params); @@ -71,12 +71,12 @@ public class TableHistoryController { */ @GetMapping("/{tableName}/all") public ResponseEntity>> getAllTableHistory( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String tableName, @RequestParam Map queryParams) { - queryParams.put("tableName", tableName); - queryParams.put("companyCode", companyCode); + queryParams.put("table_name", tableName); + queryParams.put("company_code", companyCode); try { Map data = tableHistoryService.getAllTableHistory(queryParams); @@ -95,14 +95,14 @@ public class TableHistoryController { */ @GetMapping("/{tableName}/{recordId}/timeline") public ResponseEntity>>> getRecordTimeline( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String tableName, @PathVariable String recordId) { Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("recordId", recordId); - params.put("companyCode", companyCode); + params.put("table_name", tableName); + params.put("record_id", recordId); + params.put("company_code", companyCode); try { List> data = tableHistoryService.getRecordTimeline(params); @@ -121,14 +121,14 @@ public class TableHistoryController { */ @GetMapping("/{tableName}/{recordId}") public ResponseEntity>> getRecordHistory( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String tableName, @PathVariable String recordId, @RequestParam Map queryParams) { - queryParams.put("tableName", tableName); - queryParams.put("recordId", recordId); - queryParams.put("companyCode", companyCode); + queryParams.put("table_name", tableName); + queryParams.put("record_id", recordId); + queryParams.put("company_code", companyCode); try { Map data = tableHistoryService.getRecordHistory(queryParams); diff --git a/backend-spring/src/main/java/com/erp/controller/TableManagementController.java b/backend-spring/src/main/java/com/erp/controller/TableManagementController.java index 264a7915..76346b8a 100644 --- a/backend-spring/src/main/java/com/erp/controller/TableManagementController.java +++ b/backend-spring/src/main/java/com/erp/controller/TableManagementController.java @@ -38,7 +38,7 @@ public class TableManagementController { public ResponseEntity>> getTableEntityRelations( @RequestParam String leftTable, @RequestParam String rightTable, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { return ResponseEntity.ok(ApiResponse.success( tableManagementService.getTableEntityRelations(leftTable, rightTable, companyCode))); } @@ -53,7 +53,7 @@ public class TableManagementController { @PathVariable String tableName, @RequestParam(defaultValue = "1") int page, @RequestParam(defaultValue = "50") int size, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { return ResponseEntity.ok(ApiResponse.success( tableManagementService.getColumnList(tableName, page, size, companyCode), "컬럼 목록을 성공적으로 조회했습니다.")); @@ -76,7 +76,7 @@ public class TableManagementController { public ResponseEntity> updateTableLabel( @PathVariable String tableName, @RequestBody Map body) { - String displayName = (String) body.get("displayName"); + String displayName = (String) body.get("display_name"); String description = (String) body.get("description"); if (displayName == null || displayName.isBlank()) { return ResponseEntity.status(400).body(ApiResponse.error("표시명이 필요합니다.")); @@ -105,7 +105,7 @@ public class TableManagementController { @PathVariable String tableName, @PathVariable String columnName, @RequestBody Map settings, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { return doUpdateColumnSettings(tableName, columnName, settings, companyCode); } @@ -115,7 +115,7 @@ public class TableManagementController { @PathVariable String tableName, @PathVariable String columnName, @RequestBody Map settings, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { return doUpdateColumnSettings(tableName, columnName, settings, companyCode); } @@ -136,7 +136,7 @@ public class TableManagementController { public ResponseEntity> updateAllColumnSettingsPost( @PathVariable String tableName, @RequestBody List> columnSettings, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { return doUpdateAllColumnSettings(tableName, columnSettings, companyCode); } @@ -145,7 +145,7 @@ public class TableManagementController { public ResponseEntity> updateAllColumnSettingsBatch( @PathVariable String tableName, @RequestBody List> columnSettings, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { return doUpdateAllColumnSettings(tableName, columnSettings, companyCode); } @@ -167,12 +167,12 @@ public class TableManagementController { @PathVariable String tableName, @PathVariable String columnName, @RequestBody Map body) { - String webType = (String) body.get("webType"); + String webType = (String) body.get("web_type"); if (webType == null || webType.isBlank()) { return ResponseEntity.status(400).body(ApiResponse.error("웹 타입이 필요합니다.")); } @SuppressWarnings("unchecked") - Map detailSettings = (Map) body.get("detailSettings"); + Map detailSettings = (Map) body.get("detail_settings"); tableManagementService.updateColumnWebType(tableName, columnName, webType, detailSettings); return ResponseEntity.ok(ApiResponse.success(null, "컬럼 웹타입이 설정되었습니다.")); } @@ -183,13 +183,13 @@ public class TableManagementController { @PathVariable String tableName, @PathVariable String columnName, @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode) { - String inputType = (String) body.get("inputType"); + @RequestAttribute("company_code") String companyCode) { + String inputType = (String) body.get("input_type"); if (tableName == null || columnName == null || inputType == null || inputType.isBlank()) { return ResponseEntity.status(400).body(ApiResponse.error("테이블명, 컬럼명, 입력 타입이 모두 필요합니다.")); } @SuppressWarnings("unchecked") - Map detailSettings = (Map) body.get("detailSettings"); + Map detailSettings = (Map) body.get("detail_settings"); tableManagementService.updateColumnInputType(tableName, columnName, inputType, companyCode, detailSettings); return ResponseEntity.ok(ApiResponse.success(null, "컬럼 입력 타입이 성공적으로 설정되었습니다.")); } @@ -219,7 +219,7 @@ public class TableManagementController { @GetMapping("/tables/{tableName}/web-types") public ResponseEntity>>> getColumnWebTypes( @PathVariable String tableName, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { return ResponseEntity.ok(ApiResponse.success( tableManagementService.getColumnInputTypes(tableName, companyCode), "컬럼 입력타입 정보를 성공적으로 조회했습니다.")); @@ -257,8 +257,8 @@ public class TableManagementController { public ResponseEntity> toggleTableIndex( @PathVariable String tableName, @RequestBody Map body) { - String columnName = (String) body.get("columnName"); - String indexType = (String) body.get("indexType"); + String columnName = (String) body.get("column_name"); + String indexType = (String) body.get("index_type"); String action = (String) body.get("action"); if (tableName == null || columnName == null || indexType == null || action == null) { return ResponseEntity.status(400).body(ApiResponse.error( @@ -281,7 +281,7 @@ public class TableManagementController { @PathVariable String tableName, @PathVariable String columnName, @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { Object nullableObj = body.get("nullable"); if (tableName == null || columnName == null || !(nullableObj instanceof Boolean)) { return ResponseEntity.status(400).body(ApiResponse.error("tableName, columnName, nullable(boolean)이 필요합니다.")); @@ -299,7 +299,7 @@ public class TableManagementController { @PathVariable String tableName, @PathVariable String columnName, @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { Object uniqueObj = body.get("unique"); if (tableName == null || columnName == null || !(uniqueObj instanceof Boolean)) { return ResponseEntity.status(400).body(ApiResponse.error("tableName, columnName, unique(boolean)이 필요합니다.")); @@ -330,9 +330,9 @@ public class TableManagementController { public ResponseEntity>> getTableRecord( @PathVariable String tableName, @RequestBody Map body) { - String filterColumn = (String) body.get("filterColumn"); - Object filterValue = body.get("filterValue"); - String displayColumn = (String) body.get("displayColumn"); + String filterColumn = (String) body.get("filter_column"); + Object filterValue = body.get("filter_value"); + String displayColumn = (String) body.get("display_column"); if (filterColumn == null || filterValue == null) { return ResponseEntity.status(400).body(ApiResponse.error( @@ -366,7 +366,7 @@ public class TableManagementController { public ResponseEntity>> addTableData( @PathVariable String tableName, @RequestBody Map data, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { if (data == null || data.isEmpty()) { return ResponseEntity.status(400).body(ApiResponse.error("추가할 데이터가 필요합니다.")); } @@ -390,7 +390,7 @@ public class TableManagementController { Map result = tableManagementService.addTableData(tableName, data); return ResponseEntity.status(201).body(ApiResponse.success( - Map.of("id", result.getOrDefault("insertedId", "")), + Map.of("id", result.getOrDefault("inserted_id", "")), "테이블 데이터를 성공적으로 추가했습니다.")); } @@ -399,11 +399,11 @@ public class TableManagementController { public ResponseEntity> editTableData( @PathVariable String tableName, @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { @SuppressWarnings("unchecked") - Map originalData = (Map) body.get("originalData"); + Map originalData = (Map) body.get("original_data"); @SuppressWarnings("unchecked") - Map updatedData = (Map) body.get("updatedData"); + Map updatedData = (Map) body.get("updated_data"); if (originalData == null || updatedData == null) { return ResponseEntity.status(400).body(ApiResponse.error("원본 데이터와 수정할 데이터가 모두 필요합니다.")); @@ -459,8 +459,8 @@ public class TableManagementController { @PathVariable String tableName, @RequestBody Map body) { @SuppressWarnings("unchecked") - List logColumns = (List) body.get("logColumns"); - boolean isActive = Boolean.TRUE.equals(body.get("isActive")); + List logColumns = (List) body.get("log_columns"); + boolean isActive = Boolean.TRUE.equals(body.get("is_active")); tableManagementService.createLogTable(tableName, logColumns, isActive); return ResponseEntity.ok(ApiResponse.success(null, "로그 테이블이 생성되었습니다.")); } @@ -488,7 +488,7 @@ public class TableManagementController { public ResponseEntity> toggleLogTable( @PathVariable String tableName, @RequestBody Map body) { - boolean isActive = Boolean.TRUE.equals(body.get("isActive")); + boolean isActive = Boolean.TRUE.equals(body.get("is_active")); tableManagementService.toggleLogTable(tableName, isActive); return ResponseEntity.ok(ApiResponse.success(null, isActive ? "로그가 활성화되었습니다." : "로그가 비활성화되었습니다.")); @@ -501,7 +501,7 @@ public class TableManagementController { /** GET /api/table-management/category-columns */ @GetMapping("/category-columns") public ResponseEntity>>> getCategoryColumnsByCompany( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { return ResponseEntity.ok(ApiResponse.success( tableManagementService.getCategoryColumnsByCompany(companyCode))); } @@ -509,7 +509,7 @@ public class TableManagementController { /** GET /api/table-management/numbering-columns */ @GetMapping("/numbering-columns") public ResponseEntity>>> getNumberingColumnsByCompany( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { return ResponseEntity.ok(ApiResponse.success( tableManagementService.getNumberingColumnsByCompany(companyCode))); } @@ -518,7 +518,7 @@ public class TableManagementController { @GetMapping("/menu/{menuObjid}/category-columns") public ResponseEntity>>> getCategoryColumnsByMenu( @PathVariable String menuObjid, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { return ResponseEntity.ok(ApiResponse.success( tableManagementService.getCategoryColumnsByMenu(companyCode, menuObjid))); } @@ -531,7 +531,7 @@ public class TableManagementController { @GetMapping("/columns/{tableName}/referenced-by") public ResponseEntity>>> getReferencedByTables( @PathVariable String tableName, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { return ResponseEntity.ok(ApiResponse.success( tableManagementService.getReferencedByTables(tableName, companyCode))); } @@ -544,7 +544,7 @@ public class TableManagementController { @PostMapping("/multi-table-save") public ResponseEntity>> multiTableSave( @RequestBody Map payload, - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { return ResponseEntity.ok(ApiResponse.success( tableManagementService.multiTableSave(payload, companyCode), "다중 테이블 저장이 완료되었습니다.")); @@ -554,8 +554,8 @@ public class TableManagementController { @PostMapping("/validate-excel") public ResponseEntity>> validateExcelData( @RequestBody Map body, - @RequestAttribute("companyCode") String companyCode) { - String tableName = (String) body.get("tableName"); + @RequestAttribute("company_code") String companyCode) { + String tableName = (String) body.get("table_name"); @SuppressWarnings("unchecked") List> rows = (List>) body.get("rows"); if (tableName == null || rows == null) { diff --git a/backend-spring/src/main/java/com/erp/controller/TaxInvoiceController.java b/backend-spring/src/main/java/com/erp/controller/TaxInvoiceController.java index 5d682617..64104b49 100644 --- a/backend-spring/src/main/java/com/erp/controller/TaxInvoiceController.java +++ b/backend-spring/src/main/java/com/erp/controller/TaxInvoiceController.java @@ -20,83 +20,83 @@ public class TaxInvoiceController { @GetMapping("/list") public ResponseEntity>> getTaxInvoiceList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(taxInvoiceService.getTaxInvoiceList(params))); } @GetMapping("/stats/monthly") public ResponseEntity>> getMonthlyStats( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(taxInvoiceService.getMonthlyStats(params))); } @GetMapping("/stats/cost-type") public ResponseEntity>> getCostTypeStats( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(taxInvoiceService.getCostTypeStats(params))); } @GetMapping("/{id}") public ResponseEntity>> getTaxInvoiceInfo( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success(taxInvoiceService.getTaxInvoiceInfo(params))); } @PostMapping public ResponseEntity>> insertTaxInvoice( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.status(201).body(ApiResponse.success(taxInvoiceService.insertTaxInvoice(body))); } @PutMapping("/{id}") public ResponseEntity>> updateTaxInvoice( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); body.put("id", id); return ResponseEntity.ok(ApiResponse.success(taxInvoiceService.updateTaxInvoice(body))); } @DeleteMapping("/{id}") public ResponseEntity>> deleteTaxInvoice( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success(taxInvoiceService.deleteTaxInvoice(params))); } @PostMapping("/{id}/issue") public ResponseEntity>> issueTaxInvoice( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success(taxInvoiceService.issueTaxInvoice(params))); } @PostMapping("/{id}/cancel") public ResponseEntity>> cancelTaxInvoice( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id, @RequestBody(required = false) Map body) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); if (body != null) params.putAll(body); return ResponseEntity.ok(ApiResponse.success(taxInvoiceService.cancelTaxInvoice(params))); diff --git a/backend-spring/src/main/java/com/erp/controller/TemplateStandardController.java b/backend-spring/src/main/java/com/erp/controller/TemplateStandardController.java index e5a0b63c..545dc735 100644 --- a/backend-spring/src/main/java/com/erp/controller/TemplateStandardController.java +++ b/backend-spring/src/main/java/com/erp/controller/TemplateStandardController.java @@ -23,10 +23,10 @@ public class TemplateStandardController { */ @GetMapping public ResponseEntity> getTemplateStandardList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.putIfAbsent("companyCode", companyCode); + params.putIfAbsent("company_code", companyCode); Map result = templateStandardService.getTemplateStandardList(params); @@ -38,7 +38,7 @@ public class TemplateStandardController { pagination.put("total", total); pagination.put("page", page); pagination.put("limit", limit); - pagination.put("totalPages", (int) Math.ceil((double) total / limit)); + pagination.put("total_pages", (int) Math.ceil((double) total / limit)); Map response = new LinkedHashMap<>(); response.put("success", true); @@ -54,7 +54,7 @@ public class TemplateStandardController { */ @GetMapping("/categories") public ResponseEntity>> getTemplateStandardCategoryList( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { List categories = templateStandardService.getTemplateStandardCategoryList(companyCode); return ResponseEntity.ok(ApiResponse.success(categories)); @@ -87,8 +87,8 @@ public class TemplateStandardController { */ @PostMapping("/import") public ResponseEntity>> importTemplateStandard( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { if (body.get("layout_config") == null) { @@ -135,14 +135,14 @@ public class TemplateStandardController { // DB 결과는 camelCase (map-underscore-to-camel-case: true) // 응답은 Node.js 호환을 위해 snake_case 키 사용 Map exportData = new LinkedHashMap<>(); - exportData.put("template_code", template.get("templateCode")); - exportData.put("template_name", template.get("templateName")); - exportData.put("template_name_eng", template.get("templateNameEng")); + exportData.put("template_code", template.get("template_code")); + exportData.put("template_name", template.get("template_name")); + exportData.put("template_name_eng", template.get("template_name_eng")); exportData.put("description", template.get("description")); exportData.put("category", template.get("category")); - exportData.put("icon_name", template.get("iconName")); - exportData.put("default_size", template.get("defaultSize")); - exportData.put("layout_config", template.get("layoutConfig")); + exportData.put("icon_name", template.get("icon_name")); + exportData.put("default_size", template.get("default_size")); + exportData.put("layout_config", template.get("layout_config")); return ResponseEntity.ok(ApiResponse.success(exportData)); } @@ -153,8 +153,8 @@ public class TemplateStandardController { */ @PostMapping public ResponseEntity>> insertTemplateStandard( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { if (body.get("template_code") == null || body.get("template_name") == null @@ -178,7 +178,7 @@ public class TemplateStandardController { @PutMapping("/{templateCode}") public ResponseEntity>> updateTemplateStandard( @PathVariable String templateCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { body.put("updated_by", userId); @@ -211,8 +211,8 @@ public class TemplateStandardController { @PostMapping("/{templateCode}/duplicate") public ResponseEntity>> duplicateTemplateStandard( @PathVariable String templateCode, - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { String newTemplateCode = (String) body.get("new_template_code"); @@ -223,9 +223,9 @@ public class TemplateStandardController { } Map params = new HashMap<>(); - params.put("originalCode", templateCode); - params.put("newCode", newTemplateCode); - params.put("newName", newTemplateName); + params.put("original_code", templateCode); + params.put("new_code", newTemplateCode); + params.put("new_name", newTemplateName); params.put("company_code", companyCode); params.put("created_by", userId); diff --git a/backend-spring/src/main/java/com/erp/controller/TestButtonDataflowController.java b/backend-spring/src/main/java/com/erp/controller/TestButtonDataflowController.java index ef8db9f6..72499cc7 100644 --- a/backend-spring/src/main/java/com/erp/controller/TestButtonDataflowController.java +++ b/backend-spring/src/main/java/com/erp/controller/TestButtonDataflowController.java @@ -38,7 +38,7 @@ public class TestButtonDataflowController { @GetMapping("/relationships/all") public ResponseEntity>>> getAllRelationships( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { try { return ResponseEntity.ok(ApiResponse.success(service.getAllRelationships(companyCode))); } catch (Exception e) { @@ -55,7 +55,7 @@ public class TestButtonDataflowController { @GetMapping("/test-status") public ResponseEntity>> getTestStatus( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { return ResponseEntity.ok(ApiResponse.success(service.getTestStatus(companyCode))); } } diff --git a/backend-spring/src/main/java/com/erp/controller/TodoController.java b/backend-spring/src/main/java/com/erp/controller/TodoController.java index 896ed7c7..83fadc7e 100644 --- a/backend-spring/src/main/java/com/erp/controller/TodoController.java +++ b/backend-spring/src/main/java/com/erp/controller/TodoController.java @@ -49,7 +49,7 @@ public class TodoController { @PostMapping("/reorder") public ResponseEntity>> reorderTodos( @RequestBody Map body) { - Object todoIdsObj = body.get("todoIds"); + Object todoIdsObj = body.get("todo_ids"); if (!(todoIdsObj instanceof List)) { return ResponseEntity.status(400).body( ApiResponse.error("todoIds는 배열이어야 합니다.")); diff --git a/backend-spring/src/main/java/com/erp/controller/VehicleController.java b/backend-spring/src/main/java/com/erp/controller/VehicleController.java index 599c5a9d..3558d8bc 100644 --- a/backend-spring/src/main/java/com/erp/controller/VehicleController.java +++ b/backend-spring/src/main/java/com/erp/controller/VehicleController.java @@ -16,63 +16,63 @@ public class VehicleController { @GetMapping("/list") public ResponseEntity>> getVehicleList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(vehicleService.getVehicleList(params))); } @GetMapping("/{id}") public ResponseEntity>> getVehicleInfo( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success(vehicleService.getVehicleInfo(params))); } @PostMapping public ResponseEntity>> insertVehicle( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(vehicleService.insertVehicle(body))); } @PutMapping("/{id}") public ResponseEntity>> updateVehicle( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); body.put("id", id); return ResponseEntity.ok(ApiResponse.success(vehicleService.updateVehicle(body))); } @DeleteMapping("/{id}") public ResponseEntity>> deleteVehicle( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success(vehicleService.deleteVehicle(params))); } @GetMapping("/locations") public ResponseEntity>> getVehicleLocationList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(vehicleService.getVehicleLocationList(params))); } @PostMapping("/move") public ResponseEntity>> moveVehicles( - @RequestAttribute("companyCode") String companyCode) { + @RequestAttribute("company_code") String companyCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(vehicleService.moveVehicles(params))); } } diff --git a/backend-spring/src/main/java/com/erp/controller/VehicleTripController.java b/backend-spring/src/main/java/com/erp/controller/VehicleTripController.java index b19a14b6..3f3de7bb 100644 --- a/backend-spring/src/main/java/com/erp/controller/VehicleTripController.java +++ b/backend-spring/src/main/java/com/erp/controller/VehicleTripController.java @@ -26,29 +26,29 @@ public class VehicleTripController { /** GET /list — 운행 목록 (alias) */ @GetMapping("/list") public ResponseEntity>> getVehicleTripListAlias( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(vehicleTripService.getTripList(params))); } /** GET /trips — 운행 이력 목록, 응답: { data, total } */ @GetMapping("/trips") public ResponseEntity>> getTripList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(vehicleTripService.getTripList(params))); } /** GET /trips/{tripId} — 운행 상세 (경로 포함) */ @GetMapping("/trips/{tripId}") public ResponseEntity>> getTripDetail( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable String tripId) { Map params = new LinkedHashMap<>(); - params.put("companyCode", companyCode); - params.put("tripId", tripId); + params.put("company_code", companyCode); + params.put("trip_id", tripId); Map result = vehicleTripService.getTripDetail(params); if (result == null) { return ResponseEntity.status(404).body(ApiResponse.error("운행 정보를 찾을 수 없습니다.")); @@ -61,71 +61,71 @@ public class VehicleTripController { /** GET /trip/active — 현재 진행 중 운행 조회 */ @GetMapping("/trip/active") public ResponseEntity>> getActiveTrip( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId) { + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId) { Map params = new LinkedHashMap<>(); - params.put("companyCode", companyCode); - params.put("userId", userId); + params.put("company_code", companyCode); + params.put("user_id", userId); return ResponseEntity.ok(ApiResponse.success(vehicleTripService.getActiveTrip(params))); } /** POST /trip/start — 운행 시작 */ @PostMapping("/trip/start") public ResponseEntity>> startTrip( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { if (body.get("latitude") == null || body.get("longitude") == null) { return ResponseEntity.status(400).body(ApiResponse.error("위치 정보(latitude, longitude)가 필요합니다.")); } - body.put("companyCode", companyCode); - body.put("userId", userId); + body.put("company_code", companyCode); + body.put("user_id", userId); return ResponseEntity.ok(ApiResponse.success(vehicleTripService.startTrip(body), "운행이 시작되었습니다.")); } /** POST /trip/end — 운행 종료 */ @PostMapping("/trip/end") public ResponseEntity>> endTrip( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { - if (body.get("tripId") == null) { + if (body.get("trip_id") == null) { return ResponseEntity.status(400).body(ApiResponse.error("tripId가 필요합니다.")); } if (body.get("latitude") == null || body.get("longitude") == null) { return ResponseEntity.status(400).body(ApiResponse.error("위치 정보(latitude, longitude)가 필요합니다.")); } - body.put("companyCode", companyCode); - body.put("userId", userId); + body.put("company_code", companyCode); + body.put("user_id", userId); return ResponseEntity.ok(ApiResponse.success(vehicleTripService.endTrip(body), "운행이 종료되었습니다.")); } /** POST /trip/location — 위치 기록 추가 */ @PostMapping("/trip/location") public ResponseEntity>> addTripLocation( - @RequestAttribute("companyCode") String companyCode, - @RequestAttribute("userId") String userId, + @RequestAttribute("company_code") String companyCode, + @RequestAttribute("user_id") String userId, @RequestBody Map body) { - if (body.get("tripId") == null) { + if (body.get("trip_id") == null) { return ResponseEntity.status(400).body(ApiResponse.error("tripId가 필요합니다.")); } if (body.get("latitude") == null || body.get("longitude") == null) { return ResponseEntity.status(400).body(ApiResponse.error("위치 정보(latitude, longitude)가 필요합니다.")); } - body.put("companyCode", companyCode); - body.put("userId", userId); + body.put("company_code", companyCode); + body.put("user_id", userId); return ResponseEntity.ok(ApiResponse.success(vehicleTripService.addLocation(body))); } /** POST /trip/cancel — 운행 취소 */ @PostMapping("/trip/cancel") public ResponseEntity>> cancelTrip( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - if (body.get("tripId") == null) { + if (body.get("trip_id") == null) { return ResponseEntity.status(400).body(ApiResponse.error("tripId가 필요합니다.")); } - body.put("companyCode", companyCode); + body.put("company_code", companyCode); Map result = vehicleTripService.cancelTrip(body); if (result == null) { return ResponseEntity.status(404).body(ApiResponse.error("취소할 운행을 찾을 수 없습니다.")); @@ -138,54 +138,54 @@ public class VehicleTripController { /** GET /reports/summary — 요약 통계 (period: today/week/month/year) */ @GetMapping("/reports/summary") public ResponseEntity>> getSummaryReport( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(vehicleTripService.getSummaryReport(params))); } /** GET /reports/daily — 일별 통계 */ @GetMapping("/reports/daily") public ResponseEntity>> getDailyReport( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(vehicleTripService.getDailyReport(params))); } /** GET /reports/weekly — 주별 통계 */ @GetMapping("/reports/weekly") public ResponseEntity>> getWeeklyReport( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(vehicleTripService.getWeeklyReport(params))); } /** GET /reports/monthly — 월별 통계 */ @GetMapping("/reports/monthly") public ResponseEntity>> getMonthlyReport( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(vehicleTripService.getMonthlyReport(params))); } /** GET /reports/by-driver — 운전자별 통계 */ @GetMapping("/reports/by-driver") public ResponseEntity>>> getDriverReport( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(vehicleTripService.getDriverReport(params))); } /** GET /reports/by-route — 구간별 통계 */ @GetMapping("/reports/by-route") public ResponseEntity>>> getRouteReport( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(vehicleTripService.getRouteReport(params))); } } diff --git a/backend-spring/src/main/java/com/erp/controller/WebTypeStandardController.java b/backend-spring/src/main/java/com/erp/controller/WebTypeStandardController.java index f9d001ce..4f97afa9 100644 --- a/backend-spring/src/main/java/com/erp/controller/WebTypeStandardController.java +++ b/backend-spring/src/main/java/com/erp/controller/WebTypeStandardController.java @@ -33,9 +33,9 @@ public class WebTypeStandardController { private final WebTypeStandardService service; private static final List UPDATABLE_FIELDS = Arrays.asList( - "typeName", "typeNameEng", "description", "category", - "componentName", "configPanel", "defaultConfig", "validationRules", - "defaultStyle", "inputProperties", "sortOrder", "isActive" + "type_name", "type_name_eng", "description", "category", + "component_name", "config_panel", "default_config", "validation_rules", + "default_style", "input_properties", "sort_order", "is_active" ); @GetMapping @@ -89,20 +89,20 @@ public class WebTypeStandardController { @PostMapping public ResponseEntity>> createWebType( @RequestBody Map body, - @RequestAttribute("userId") String userId) { - if (body.get("webType") == null && body.get("web_type") != null) { - body.put("webType", body.get("web_type")); + @RequestAttribute("user_id") String userId) { + if (body.get("web_type") == null && body.get("web_type") != null) { + body.put("web_type", body.get("web_type")); } - if (body.get("typeName") == null && body.get("type_name") != null) { - body.put("typeName", body.get("type_name")); + if (body.get("type_name") == null && body.get("type_name") != null) { + body.put("type_name", body.get("type_name")); } - if (body.get("webType") == null || body.get("typeName") == null) { + if (body.get("web_type") == null || body.get("type_name") == null) { return ResponseEntity.status(400) .body(ApiResponse.error("웹타입 코드와 이름은 필수입니다.")); } normalizeSnakeToCamel(body); - body.put("createdBy", userId); - body.put("updatedBy", userId); + body.put("created_by", userId); + body.put("updated_by", userId); try { Map result = service.createWebType(body); return ResponseEntity.status(HttpStatus.CREATED) @@ -125,14 +125,14 @@ public class WebTypeStandardController { public ResponseEntity>> updateWebType( @PathVariable String webType, @RequestBody Map body, - @RequestAttribute("userId") String userId) { + @RequestAttribute("user_id") String userId) { normalizeSnakeToCamel(body); boolean hasUpdates = UPDATABLE_FIELDS.stream().anyMatch(f -> body.get(f) != null); if (!hasUpdates) { return ResponseEntity.status(400).body(ApiResponse.error("수정할 내용이 없습니다.")); } - body.put("webType", webType); - body.put("updatedBy", userId); + body.put("web_type", webType); + body.put("updated_by", userId); try { Map result = service.updateWebType(body); if (result == null) { @@ -166,13 +166,13 @@ public class WebTypeStandardController { @PutMapping("/sort-order/bulk") public ResponseEntity> updateWebTypeSortOrder( @RequestBody Map body, - @RequestAttribute("userId") String userId) { - Object webTypes = body.get("webTypes"); + @RequestAttribute("user_id") String userId) { + Object webTypes = body.get("web_types"); if (!(webTypes instanceof List)) { return ResponseEntity.status(400) .body(ApiResponse.error("유효하지 않은 데이터 형식입니다.")); } - body.put("userId", userId); + body.put("user_id", userId); try { service.updateWebTypeSortOrder(body); return ResponseEntity.ok(ApiResponse.success(null, @@ -189,17 +189,17 @@ public class WebTypeStandardController { * 프론트엔드가 snake_case로 보내는 경우를 대비해 호환 처리 */ private void normalizeSnakeToCamel(Map body) { - mapField(body, "web_type", "webType"); - mapField(body, "type_name", "typeName"); - mapField(body, "type_name_eng", "typeNameEng"); - mapField(body, "component_name", "componentName"); - mapField(body, "config_panel", "configPanel"); - mapField(body, "default_config", "defaultConfig"); - mapField(body, "validation_rules", "validationRules"); - mapField(body, "default_style", "defaultStyle"); - mapField(body, "input_properties", "inputProperties"); - mapField(body, "sort_order", "sortOrder"); - mapField(body, "is_active", "isActive"); + mapField(body, "web_type", "web_type"); + mapField(body, "type_name", "type_name"); + mapField(body, "type_name_eng", "type_name_eng"); + mapField(body, "component_name", "component_name"); + mapField(body, "config_panel", "config_panel"); + mapField(body, "default_config", "default_config"); + mapField(body, "validation_rules", "validation_rules"); + mapField(body, "default_style", "default_style"); + mapField(body, "input_properties", "input_properties"); + mapField(body, "sort_order", "sort_order"); + mapField(body, "is_active", "is_active"); } private void mapField(Map body, String snakeKey, String camelKey) { diff --git a/backend-spring/src/main/java/com/erp/controller/YardLayoutController.java b/backend-spring/src/main/java/com/erp/controller/YardLayoutController.java index 0eb81565..34dae383 100644 --- a/backend-spring/src/main/java/com/erp/controller/YardLayoutController.java +++ b/backend-spring/src/main/java/com/erp/controller/YardLayoutController.java @@ -16,56 +16,56 @@ public class YardLayoutController { @GetMapping("/list") public ResponseEntity>> getYardLayoutList( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestParam Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(yardLayoutService.getYardLayoutList(params))); } @GetMapping("/{id}") public ResponseEntity>> getYardLayoutInfo( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success(yardLayoutService.getYardLayoutInfo(params))); } @PostMapping public ResponseEntity>> insertYardLayout( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); return ResponseEntity.ok(ApiResponse.success(yardLayoutService.insertYardLayout(body))); } @PutMapping("/{id}") public ResponseEntity>> updateYardLayout( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id, @RequestBody Map body) { - body.put("companyCode", companyCode); + body.put("company_code", companyCode); body.put("id", id); return ResponseEntity.ok(ApiResponse.success(yardLayoutService.updateYardLayout(body))); } @DeleteMapping("/{id}") public ResponseEntity>> deleteYardLayout( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success(yardLayoutService.deleteYardLayout(params))); } @PostMapping("/{id}/duplicate") public ResponseEntity>> duplicateYardLayout( - @RequestAttribute("companyCode") String companyCode, + @RequestAttribute("company_code") String companyCode, @PathVariable Long id) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("id", id); return ResponseEntity.ok(ApiResponse.success(yardLayoutService.duplicateYardLayout(params))); } @@ -74,7 +74,7 @@ public class YardLayoutController { public ResponseEntity>>> getYardPlacementList( @PathVariable Long id) { Map params = new HashMap<>(); - params.put("yardLayoutId", id); + params.put("yard_layout_id", id); return ResponseEntity.ok(ApiResponse.success(yardLayoutService.getYardPlacementList(params))); } @@ -82,7 +82,7 @@ public class YardLayoutController { public ResponseEntity>> insertYardPlacement( @PathVariable Long id, @RequestBody Map body) { - body.put("yardLayoutId", id); + body.put("yard_layout_id", id); return ResponseEntity.ok(ApiResponse.success(yardLayoutService.insertYardPlacement(body))); } diff --git a/backend-spring/src/main/java/com/erp/security/JwtAuthenticationFilter.java b/backend-spring/src/main/java/com/erp/security/JwtAuthenticationFilter.java index 3cb2040c..229afa90 100644 --- a/backend-spring/src/main/java/com/erp/security/JwtAuthenticationFilter.java +++ b/backend-spring/src/main/java/com/erp/security/JwtAuthenticationFilter.java @@ -31,14 +31,14 @@ public class JwtAuthenticationFilter extends OncePerRequestFilter { if (StringUtils.hasText(token) && jwtTokenProvider.validateToken(token)) { try { Claims claims = jwtTokenProvider.getClaims(token); - String userId = claims.get("userId", String.class); - String companyCode = claims.get("companyCode", String.class); - String userType = claims.get("userType", String.class); + String userId = claims.get("user_id", String.class); + String companyCode = claims.get("company_code", String.class); + String userType = claims.get("user_type", String.class); - request.setAttribute("userId", userId); - request.setAttribute("companyCode", companyCode); + request.setAttribute("user_id", userId); + request.setAttribute("company_code", companyCode); request.setAttribute("role", userType); - request.setAttribute("userType", userType); + request.setAttribute("user_type", userType); List authorities = List.of( new SimpleGrantedAuthority("ROLE_" + userType) diff --git a/backend-spring/src/main/java/com/erp/security/JwtTokenProvider.java b/backend-spring/src/main/java/com/erp/security/JwtTokenProvider.java index 6b13d038..dd7677a0 100644 --- a/backend-spring/src/main/java/com/erp/security/JwtTokenProvider.java +++ b/backend-spring/src/main/java/com/erp/security/JwtTokenProvider.java @@ -32,13 +32,13 @@ public class JwtTokenProvider { public String generateToken(Map personBean) { Date now = new Date(); return Jwts.builder() - .claim("userId", personBean.get("userId")) - .claim("userName", personBean.get("userName")) - .claim("deptName", personBean.get("deptName")) - .claim("companyCode", personBean.get("companyCode")) - .claim("companyName", personBean.get("companyName")) - .claim("userType", personBean.get("userType")) - .claim("userTypeName", personBean.get("userTypeName")) + .claim("user_id", personBean.get("user_id")) + .claim("user_name", personBean.get("user_name")) + .claim("dept_name", personBean.get("dept_name")) + .claim("company_code", personBean.get("company_code")) + .claim("company_name", personBean.get("company_name")) + .claim("user_type", personBean.get("user_type")) + .claim("user_type_name", personBean.get("user_type_name")) .issuedAt(now) .expiration(new Date(now.getTime() + expiration)) .audience().add("PMS-Users").and() @@ -65,14 +65,14 @@ public class JwtTokenProvider { } public String getUserId(String token) { - return getClaims(token).get("userId", String.class); + return getClaims(token).get("user_id", String.class); } public String getCompanyCode(String token) { - return getClaims(token).get("companyCode", String.class); + return getClaims(token).get("company_code", String.class); } public String getUserType(String token) { - return getClaims(token).get("userType", String.class); + return getClaims(token).get("user_type", String.class); } } diff --git a/backend-spring/src/main/java/com/erp/service/AdminService.java b/backend-spring/src/main/java/com/erp/service/AdminService.java index dc601495..e722cf78 100644 --- a/backend-spring/src/main/java/com/erp/service/AdminService.java +++ b/backend-spring/src/main/java/com/erp/service/AdminService.java @@ -24,16 +24,16 @@ public class AdminService extends BaseService { // ── 메뉴 관리 ────────────────────────────────────────────────────────── public List> getAdminMenuList(Map params) { - params.putIfAbsent("userLang", "ko"); + params.putIfAbsent("user_lang", "ko"); // String "false"/"true" → Boolean (OGNL !includeInactive 오작동 방지) - Object includeInactiveRaw = params.get("includeInactive"); - params.put("includeInactive", Boolean.TRUE.equals(includeInactiveRaw) || "true".equals(includeInactiveRaw)); - params.putIfAbsent("isManagementScreen", false); + Object includeInactiveRaw = params.get("include_inactive"); + params.put("include_inactive", Boolean.TRUE.equals(includeInactiveRaw) || "true".equals(includeInactiveRaw)); + params.putIfAbsent("is_management_screen", false); return sqlSession.selectList("admin.selectAdminMenuList", params); } public List> getUserMenuList(Map params) { - params.putIfAbsent("userLang", "ko"); + params.putIfAbsent("user_lang", "ko"); return sqlSession.selectList("admin.selectUserMenuList", params); } @@ -41,9 +41,9 @@ public class AdminService extends BaseService { Map result = new HashMap<>(); List> parents = sqlSession.selectList("admin.selectPopParentMenu", params); if (parents.isEmpty()) { - result.put("parentMenu", null); - result.put("childMenus", List.of()); - result.put("landingMenu", null); + result.put("parent_menu", null); + result.put("child_menus", List.of()); + result.put("landing_menu", null); return result; } Map parent = parents.get(0); @@ -51,8 +51,8 @@ public class AdminService extends BaseService { Object parentCompanyCode = parent.get("company_code"); Map childParams = new HashMap<>(); - childParams.put("parentObjid", parentObjid); - childParams.put("parentCompanyCode", parentCompanyCode); + childParams.put("parent_objid", parentObjid); + childParams.put("parent_company_code", parentCompanyCode); List> children = sqlSession.selectList("admin.selectPopChildMenus", childParams); Map landingMenu = children.stream() @@ -63,15 +63,15 @@ public class AdminService extends BaseService { .findFirst() .orElse(null); - result.put("parentMenu", parent); - result.put("childMenus", children); - result.put("landingMenu", landingMenu); + result.put("parent_menu", parent); + result.put("child_menus", children); + result.put("landing_menu", landingMenu); return result; } public Map getMenuInfo(String menuId) { Map params = new HashMap<>(); - params.put("menuId", menuId); + params.put("menu_id", menuId); return sqlSession.selectOne("admin.selectMenuById", params); } @@ -81,14 +81,14 @@ public class AdminService extends BaseService { } public Map updateMenu(String menuId, Map params) { - params.put("menuId", menuId); + params.put("menu_id", menuId); sqlSession.update("admin.updateMenu", params); return params; } public void deleteMenu(String menuId) { Map params = new HashMap<>(); - params.put("menuId", menuId); + params.put("menu_id", menuId); sqlSession.delete("admin.deleteMenu", params); } @@ -97,7 +97,7 @@ public class AdminService extends BaseService { if (current == null) throw new IllegalArgumentException("메뉴를 찾을 수 없습니다."); String newStatus = "active".equalsIgnoreCase((String) current.get("status")) ? "inactive" : "active"; Map params = new HashMap<>(); - params.put("menuId", menuId); + params.put("menu_id", menuId); params.put("status", newStatus); sqlSession.update("admin.updateMenuStatus", params); return Map.of("status", newStatus); @@ -123,37 +123,37 @@ public class AdminService extends BaseService { Map pagination = new HashMap<>(); pagination.put("page", page); pagination.put("limit", limit); - pagination.put("totalPages", totalPages); + pagination.put("total_pages", totalPages); Map result = new HashMap<>(); result.put("data", commonService.toCamelCaseKeysList(users)); result.put("total", total); - result.put("searchType", rawSearch != null ? "v2" : "none"); + result.put("search_type", rawSearch != null ? "v2" : "none"); result.put("pagination", pagination); return result; } public Map getUserInfo(String userId) { Map params = new HashMap<>(); - params.put("userId", userId); + params.put("user_id", userId); return sqlSession.selectOne("admin.selectUserById", params); } public List> getUserHistory(String userId, Map params) { - params.put("userId", userId); + params.put("user_id", userId); commonService.applyPagination(params); return sqlSession.selectList("admin.selectUserHistory", params); } @Transactional public Map saveUser(Map params) { - String userId = (String) params.get("userId"); - Map existing = sqlSession.selectOne("admin.selectUserById", Map.of("userId", userId)); + String userId = (String) params.get("user_id"); + Map existing = sqlSession.selectOne("admin.selectUserById", Map.of("user_id", userId)); if (existing != null) { sqlSession.update("admin.updateUser", params); } else { - String rawPw = (String) params.getOrDefault("userPassword", "Welcome1!"); - params.put("userPassword", passwordEncoder.encode(rawPw)); + String rawPw = (String) params.getOrDefault("user_password", "Welcome1!"); + params.put("user_password", passwordEncoder.encode(rawPw)); sqlSession.insert("admin.insertUser", params); } return params; @@ -161,7 +161,7 @@ public class AdminService extends BaseService { public void changeUserStatus(String userId, String status) { Map params = new HashMap<>(); - params.put("userId", userId); + params.put("user_id", userId); params.put("status", status); sqlSession.update("admin.updateUserStatus", params); } @@ -169,13 +169,13 @@ public class AdminService extends BaseService { public void resetUserPassword(String userId) { String defaultPw = passwordEncoder.encode("Welcome1!"); Map params = new HashMap<>(); - params.put("userId", userId); - params.put("userPassword", defaultPw); + params.put("user_id", userId); + params.put("user_password", defaultPw); sqlSession.update("admin.updateUserPassword", params); } public Map getUserLocale(String userId) { - Map row = sqlSession.selectOne("admin.selectUserLocale", Map.of("userId", userId)); + Map row = sqlSession.selectOne("admin.selectUserLocale", Map.of("user_id", userId)); Map result = new HashMap<>(); result.put("locale", row != null ? row.get("locale") : "KR"); return result; @@ -188,7 +188,7 @@ public class AdminService extends BaseService { throw new IllegalArgumentException("유효하지 않은 로케일입니다: " + locale); } Map params = new HashMap<>(); - params.put("userId", userId); + params.put("user_id", userId); params.put("locale", locale); sqlSession.update("admin.updateUserLocale", params); } @@ -204,79 +204,79 @@ public class AdminService extends BaseService { .filter(d -> !Boolean.TRUE.equals(d.get("is_primary"))) .collect(Collectors.toList()); Map result = new HashMap<>(); - result.put("userInfo", userInfo); - result.put("mainDept", mainDept); - result.put("subDepts", subDepts); + result.put("user_info", userInfo); + result.put("main_dept", mainDept); + result.put("sub_depts", subDepts); return result; } @Transactional public Map saveUserWithDept(Map body) { @SuppressWarnings("unchecked") - Map userInfoRaw = (Map) body.get("userInfo"); + Map userInfoRaw = (Map) body.get("user_info"); @SuppressWarnings("unchecked") - Map mainDept = (Map) body.get("mainDept"); + Map mainDept = (Map) body.get("main_dept"); @SuppressWarnings("unchecked") - List> subDepts = body.get("subDepts") != null - ? (List>) body.get("subDepts") : List.of(); - String companyCode = (String) body.get("companyCode"); + List> subDepts = body.get("sub_depts") != null + ? (List>) body.get("sub_depts") : List.of(); + String companyCode = (String) body.get("company_code"); if (userInfoRaw == null) throw new IllegalArgumentException("userInfo is required"); // snake_case / camelCase 양쪽 처리 - String userId = getField(userInfoRaw, "userId", "user_id"); + String userId = getField(userInfoRaw, "user_id", "user_id"); if (userId == null) throw new IllegalArgumentException("userId is required"); // 메인 부서 코드/이름/직위 결정 - String deptCode = mainDept != null ? getField(mainDept, "deptCode", "dept_code") : null; - if (deptCode == null) deptCode = getField(userInfoRaw, "deptCode", "dept_code"); - String deptName = mainDept != null ? getField(mainDept, "deptName", "dept_name") : null; - if (deptName == null) deptName = getField(userInfoRaw, "deptName", "dept_name"); - String positionName = mainDept != null ? getField(mainDept, "positionName", "position_name") : null; - if (positionName == null) positionName = getField(userInfoRaw, "positionName", "position_name"); + String deptCode = mainDept != null ? getField(mainDept, "dept_code", "dept_code") : null; + if (deptCode == null) deptCode = getField(userInfoRaw, "dept_code", "dept_code"); + String deptName = mainDept != null ? getField(mainDept, "dept_name", "dept_name") : null; + if (deptName == null) deptName = getField(userInfoRaw, "dept_name", "dept_name"); + String positionName = mainDept != null ? getField(mainDept, "position_name", "position_name") : null; + if (positionName == null) positionName = getField(userInfoRaw, "position_name", "position_name"); // camelCase params 빌드 Map saveParams = new HashMap<>(); - saveParams.put("userId", userId); - saveParams.put("userName", getField(userInfoRaw, "userName", "user_name")); - saveParams.put("userNameEng", getField(userInfoRaw, "userNameEng", "user_name_eng")); + saveParams.put("user_id", userId); + saveParams.put("user_name", getField(userInfoRaw, "user_name", "user_name")); + saveParams.put("user_name_eng", getField(userInfoRaw, "user_name_eng", "user_name_eng")); saveParams.put("email", userInfoRaw.getOrDefault("email", null)); saveParams.put("tel", userInfoRaw.getOrDefault("tel", null)); - saveParams.put("cellPhone", getField(userInfoRaw, "cellPhone", "cell_phone")); + saveParams.put("cell_phone", getField(userInfoRaw, "cell_phone", "cell_phone")); saveParams.put("sabun", userInfoRaw.getOrDefault("sabun", null)); - saveParams.put("userType", getField(userInfoRaw, "userType", "user_type")); - saveParams.put("userTypeName", getField(userInfoRaw, "userTypeName", "user_type_name")); + saveParams.put("user_type", getField(userInfoRaw, "user_type", "user_type")); + saveParams.put("user_type_name", getField(userInfoRaw, "user_type_name", "user_type_name")); saveParams.put("status", userInfoRaw.getOrDefault("status", "active")); saveParams.put("locale", userInfoRaw.getOrDefault("locale", null)); - saveParams.put("positionCode", getField(userInfoRaw, "positionCode", "position_code")); - saveParams.put("deptCode", deptCode); - saveParams.put("deptName", deptName); - saveParams.put("positionName", positionName); + saveParams.put("position_code", getField(userInfoRaw, "position_code", "position_code")); + saveParams.put("dept_code", deptCode); + saveParams.put("dept_name", deptName); + saveParams.put("position_name", positionName); String effectiveCompany = !"*".equals(companyCode) ? companyCode : null; - saveParams.put("companyCode", effectiveCompany); + saveParams.put("company_code", effectiveCompany); // 기존 사용자 확인 - Map existing = sqlSession.selectOne("admin.selectUserById", Map.of("userId", userId)); + Map existing = sqlSession.selectOne("admin.selectUserById", Map.of("user_id", userId)); boolean isUpdate = existing != null; if (isUpdate) { // 비밀번호가 제공된 경우만 업데이트 - String rawPw = getField(userInfoRaw, "userPassword", "user_password"); + String rawPw = getField(userInfoRaw, "user_password", "user_password"); if (rawPw != null && !rawPw.isBlank()) { - saveParams.put("userPassword", passwordEncoder.encode(rawPw)); + saveParams.put("user_password", passwordEncoder.encode(rawPw)); } sqlSession.update("admin.updateUserForDept", saveParams); } else { - String rawPw = getField(userInfoRaw, "userPassword", "user_password"); + String rawPw = getField(userInfoRaw, "user_password", "user_password"); if (rawPw == null || rawPw.isBlank()) rawPw = "Welcome1!"; - saveParams.put("userPassword", passwordEncoder.encode(rawPw)); + saveParams.put("user_password", passwordEncoder.encode(rawPw)); sqlSession.insert("admin.insertUser", saveParams); } // user_dept 처리 if (mainDept != null || !subDepts.isEmpty()) { // 1. 기존 부서 목록 조회 - List> existingDepts = sqlSession.selectList("admin.selectUserDeptList", Map.of("userId", userId)); + List> existingDepts = sqlSession.selectList("admin.selectUserDeptList", Map.of("user_id", userId)); Map existingMain = existingDepts.stream() .filter(d -> Boolean.TRUE.equals(d.get("is_primary"))) .findFirst().orElse(null); @@ -285,47 +285,47 @@ public class AdminService extends BaseService { if (mainDept != null && deptCode != null && existingMain != null) { String existingMainCode = (String) existingMain.get("dept_code"); if (existingMainCode != null && !existingMainCode.equals(deptCode)) { - sqlSession.update("admin.updateUserDeptNotPrimary", Map.of("userId", userId, "deptCode", existingMainCode)); + sqlSession.update("admin.updateUserDeptNotPrimary", Map.of("user_id", userId, "dept_code", existingMainCode)); } } // 3. 겸직 부서 전체 삭제 (새로 입력받은 것으로 교체) - sqlSession.delete("admin.deleteUserDeptSub", Map.of("userId", userId)); + sqlSession.delete("admin.deleteUserDeptSub", Map.of("user_id", userId)); // 4. 메인 부서 UPSERT if (mainDept != null && deptCode != null) { - String userName = (String) saveParams.get("userName"); + String userName = (String) saveParams.get("user_name"); Map dp = new HashMap<>(); - dp.put("userId", userId); - dp.put("deptCode", deptCode); - dp.put("isPrimary", true); - dp.put("deptName", deptName); - dp.put("userName", userName); - dp.put("positionName", positionName); - dp.put("companyCode", effectiveCompany); + dp.put("user_id", userId); + dp.put("dept_code", deptCode); + dp.put("is_primary", true); + dp.put("dept_name", deptName); + dp.put("user_name", userName); + dp.put("position_name", positionName); + dp.put("company_code", effectiveCompany); sqlSession.insert("admin.upsertUserDept", dp); } // 5. 겸직 부서 저장 - String userName = (String) saveParams.get("userName"); + String userName = (String) saveParams.get("user_name"); for (Map sub : subDepts) { - String subCode = getField(sub, "deptCode", "dept_code"); + String subCode = getField(sub, "dept_code", "dept_code"); if (subCode == null || subCode.equals(deptCode)) continue; Map dp = new HashMap<>(); - dp.put("userId", userId); - dp.put("deptCode", subCode); - dp.put("isPrimary", false); - dp.put("deptName", getField(sub, "deptName", "dept_name")); - dp.put("userName", userName); - dp.put("positionName", getField(sub, "positionName", "position_name")); - dp.put("companyCode", effectiveCompany); + dp.put("user_id", userId); + dp.put("dept_code", subCode); + dp.put("is_primary", false); + dp.put("dept_name", getField(sub, "dept_name", "dept_name")); + dp.put("user_name", userName); + dp.put("position_name", getField(sub, "position_name", "position_name")); + dp.put("company_code", effectiveCompany); sqlSession.insert("admin.upsertUserDept", dp); } } Map result = new HashMap<>(); - result.put("userId", userId); - result.put("isUpdate", isUpdate); + result.put("user_id", userId); + result.put("is_update", isUpdate); return result; } @@ -374,9 +374,9 @@ public class AdminService extends BaseService { Map result = new HashMap<>(); result.put("departments", rootDepts); - result.put("flatList", flatList); + result.put("flat_list", flatList); result.put("total", rawList.size()); - result.put("totalCount", rawList.size()); + result.put("total_count", rawList.size()); return result; } @@ -389,7 +389,7 @@ public class AdminService extends BaseService { } public Map getCompanyByCode(String companyCode) { - return sqlSession.selectOne("admin.selectCompanyByCode", Map.of("companyCode", companyCode)); + return sqlSession.selectOne("admin.selectCompanyByCode", Map.of("company_code", companyCode)); } @Transactional @@ -400,19 +400,19 @@ public class AdminService extends BaseService { @Transactional public Map updateCompanyInfo(String companyCode, Map params) { - params.put("companyCode", companyCode); + params.put("company_code", companyCode); sqlSession.update("admin.updateCompany", params); return params; } @Transactional public void deleteCompany(String companyCode) { - sqlSession.delete("admin.deleteCompany", Map.of("companyCode", companyCode)); + sqlSession.delete("admin.deleteCompany", Map.of("company_code", companyCode)); } // ── 테이블 스키마 ────────────────────────────────────────────────────── public List> getTableSchema(String tableName) { - return sqlSession.selectList("admin.selectTableSchema", Map.of("tableName", tableName)); + return sqlSession.selectList("admin.selectTableSchema", Map.of("table_name", tableName)); } } diff --git a/backend-spring/src/main/java/com/erp/service/AnalyticsReportService.java b/backend-spring/src/main/java/com/erp/service/AnalyticsReportService.java index f97d58c6..62ba30fa 100644 --- a/backend-spring/src/main/java/com/erp/service/AnalyticsReportService.java +++ b/backend-spring/src/main/java/com/erp/service/AnalyticsReportService.java @@ -16,7 +16,7 @@ public class AnalyticsReportService extends BaseService { private static final String NS = "analyticsReport."; public Map getProductionReportData(Map params) { - List> rows = sqlSession.selectList(NS + "getProductionReportData", params); + List> rows = sqlSession.selectList(NS + "get_production_report_data", params); Map filterOptions = new LinkedHashMap<>(); filterOptions.put("processes", extractFilterSet(rows, "process")); filterOptions.put("equipment", extractFilterSet(rows, "equipment")); @@ -24,13 +24,13 @@ public class AnalyticsReportService extends BaseService { filterOptions.put("workers", extractFilterSet(rows, "worker")); Map result = new LinkedHashMap<>(); result.put("rows", rows); - result.put("filterOptions", filterOptions); - result.put("totalCount", rows.size()); + result.put("filter_options", filterOptions); + result.put("total_count", rows.size()); return result; } public Map getInventoryReportData(Map params) { - List> rows = sqlSession.selectList(NS + "getInventoryReportData", params); + List> rows = sqlSession.selectList(NS + "get_inventory_report_data", params); Map filterOptions = new LinkedHashMap<>(); filterOptions.put("items", extractFilterSet(rows, "item")); filterOptions.put("warehouses", extractFilterSet(rows, "warehouse")); @@ -43,13 +43,13 @@ public class AnalyticsReportService extends BaseService { )); Map result = new LinkedHashMap<>(); result.put("rows", rows); - result.put("filterOptions", filterOptions); - result.put("totalCount", rows.size()); + result.put("filter_options", filterOptions); + result.put("total_count", rows.size()); return result; } public Map getPurchaseReportData(Map params) { - List> rows = sqlSession.selectList(NS + "getPurchaseReportData", params); + List> rows = sqlSession.selectList(NS + "get_purchase_report_data", params); Map filterOptions = new LinkedHashMap<>(); filterOptions.put("suppliers", extractFilterSet(rows, "supplier")); filterOptions.put("items", extractFilterSet(rows, "item")); @@ -57,16 +57,16 @@ public class AnalyticsReportService extends BaseService { filterOptions.put("statuses", extractFilterSet(rows, "status")); Map result = new LinkedHashMap<>(); result.put("rows", rows); - result.put("filterOptions", filterOptions); - result.put("totalCount", rows.size()); + result.put("filter_options", filterOptions); + result.put("total_count", rows.size()); return result; } public Map getQualityReportData(Map params) { - List> rows = sqlSession.selectList(NS + "getQualityReportData", params); + List> rows = sqlSession.selectList(NS + "get_quality_report_data", params); Map filterOptions = new LinkedHashMap<>(); filterOptions.put("items", extractFilterSet(rows, "item")); - filterOptions.put("defectTypes", List.of( + filterOptions.put("defect_types", List.of( Map.of("value", "외관불량", "label", "외관불량"), Map.of("value", "치수불량", "label", "치수불량"), Map.of("value", "기능불량", "label", "기능불량"), @@ -77,36 +77,36 @@ public class AnalyticsReportService extends BaseService { filterOptions.put("inspectors", extractFilterSet(rows, "inspector")); Map result = new LinkedHashMap<>(); result.put("rows", rows); - result.put("filterOptions", filterOptions); - result.put("totalCount", rows.size()); + result.put("filter_options", filterOptions); + result.put("total_count", rows.size()); return result; } public Map getEquipmentReportData(Map params) { - List> rows = sqlSession.selectList(NS + "getEquipmentReportData", params); + List> rows = sqlSession.selectList(NS + "get_equipment_report_data", params); Map filterOptions = new LinkedHashMap<>(); filterOptions.put("equipment", extractFilterSet(rows, "equipment")); - filterOptions.put("equipTypes", extractFilterSet(rows, "equipType")); + filterOptions.put("equip_types", extractFilterSet(rows, "equip_type")); filterOptions.put("lines", extractFilterSet(rows, "line")); filterOptions.put("managers", extractFilterSet(rows, "manager")); Map result = new LinkedHashMap<>(); result.put("rows", rows); - result.put("filterOptions", filterOptions); - result.put("totalCount", rows.size()); + result.put("filter_options", filterOptions); + result.put("total_count", rows.size()); return result; } public Map getMoldReportData(Map params) { - List> rows = sqlSession.selectList(NS + "getMoldReportData", params); + List> rows = sqlSession.selectList(NS + "get_mold_report_data", params); Map filterOptions = new LinkedHashMap<>(); filterOptions.put("molds", extractFilterSet(rows, "mold")); - filterOptions.put("moldTypes", extractFilterSet(rows, "moldType")); + filterOptions.put("mold_types", extractFilterSet(rows, "mold_type")); filterOptions.put("items", extractFilterSet(rows, "item")); filterOptions.put("makers", extractFilterSet(rows, "maker")); Map result = new LinkedHashMap<>(); result.put("rows", rows); - result.put("filterOptions", filterOptions); - result.put("totalCount", rows.size()); + result.put("filter_options", filterOptions); + result.put("total_count", rows.size()); return result; } diff --git a/backend-spring/src/main/java/com/erp/service/ApprovalService.java b/backend-spring/src/main/java/com/erp/service/ApprovalService.java index fe0f79c0..d3933f02 100644 --- a/backend-spring/src/main/java/com/erp/service/ApprovalService.java +++ b/backend-spring/src/main/java/com/erp/service/ApprovalService.java @@ -24,7 +24,7 @@ public class ApprovalService extends BaseService { public List> getDefinitions(Map params) { Object search = params.get("search"); if (search != null && !search.toString().isBlank()) { - params.put("searchLike", "%" + search + "%"); + params.put("search_like", "%" + search + "%"); } return sqlSession.selectList("approval.selectDefinitions", params); } @@ -39,28 +39,28 @@ public class ApprovalService extends BaseService { public Map createDefinition(Map params) { sqlSession.insert("approval.insertDefinition", params); Map fetch = new HashMap<>(); - fetch.put("definitionId", params.get("definitionId")); - fetch.put("companyCode", "*"); + fetch.put("definition_id", params.get("definition_id")); + fetch.put("company_code", "*"); return sqlSession.selectOne("approval.selectDefinitionById", fetch); } @Transactional public Map updateDefinition(Map params) { Map checkP = new HashMap<>(); - checkP.put("definitionId", params.get("definitionId")); - checkP.put("companyCode", params.get("companyCode")); + checkP.put("definition_id", params.get("definition_id")); + checkP.put("company_code", params.get("company_code")); if (sqlSession.selectOne("approval.selectDefinitionById", checkP) == null) throw new IllegalArgumentException("결재 유형을 찾을 수 없습니다."); sqlSession.update("approval.updateDefinition", params); - checkP.put("companyCode", "*"); + checkP.put("company_code", "*"); return sqlSession.selectOne("approval.selectDefinitionById", checkP); } @Transactional public void deleteDefinition(Map params) { Map checkP = new HashMap<>(); - checkP.put("definitionId", params.get("definitionId")); - checkP.put("companyCode", params.get("companyCode")); + checkP.put("definition_id", params.get("definition_id")); + checkP.put("company_code", params.get("company_code")); if (sqlSession.selectOne("approval.selectDefinitionById", checkP) == null) throw new IllegalArgumentException("결재 유형을 찾을 수 없습니다."); sqlSession.delete("approval.deleteDefinition", params); @@ -79,8 +79,8 @@ public class ApprovalService extends BaseService { if (template == null) throw new IllegalArgumentException("결재선 템플릿을 찾을 수 없습니다."); Map stepP = new HashMap<>(); - stepP.put("templateId", template.get("template_id")); - stepP.put("companyCode", params.get("companyCode")); + stepP.put("template_id", template.get("template_id")); + stepP.put("company_code", params.get("company_code")); template.put("steps", sqlSession.selectList("approval.selectTemplateSteps", stepP)); return template; } @@ -88,21 +88,21 @@ public class ApprovalService extends BaseService { @Transactional public Map createTemplate(Map params) { sqlSession.insert("approval.insertTemplate", params); - long templateId = toLong(params.get("templateId")); + long templateId = toLong(params.get("template_id")); List> steps = castList(params.get("steps")); - if (steps != null) insertTemplateSteps(templateId, steps, (String) params.get("companyCode")); + if (steps != null) insertTemplateSteps(templateId, steps, (String) params.get("company_code")); Map fetch = new HashMap<>(); - fetch.put("templateId", templateId); - fetch.put("companyCode", "*"); + fetch.put("template_id", templateId); + fetch.put("company_code", "*"); return sqlSession.selectOne("approval.selectTemplateById", fetch); } @Transactional public Map updateTemplate(Map params) { Map checkP = new HashMap<>(); - checkP.put("templateId", params.get("templateId")); - checkP.put("companyCode", params.get("companyCode")); + checkP.put("template_id", params.get("template_id")); + checkP.put("company_code", params.get("company_code")); if (sqlSession.selectOne("approval.selectTemplateById", checkP) == null) throw new IllegalArgumentException("결재선 템플릿을 찾을 수 없습니다."); @@ -110,26 +110,26 @@ public class ApprovalService extends BaseService { List> steps = castList(params.get("steps")); if (steps != null) { - String cc = (String) params.get("companyCode"); - long templateId = toLong(params.get("templateId")); + String cc = (String) params.get("company_code"); + long templateId = toLong(params.get("template_id")); Map delP = new HashMap<>(); - delP.put("templateId", templateId); - delP.put("companyCode", cc); + delP.put("template_id", templateId); + delP.put("company_code", cc); sqlSession.delete("approval.deleteTemplateStepsByTemplateId", delP); insertTemplateSteps(templateId, steps, cc); } Map fetch = new HashMap<>(); - fetch.put("templateId", params.get("templateId")); - fetch.put("companyCode", "*"); + fetch.put("template_id", params.get("template_id")); + fetch.put("company_code", "*"); return sqlSession.selectOne("approval.selectTemplateById", fetch); } @Transactional public void deleteTemplate(Map params) { Map checkP = new HashMap<>(); - checkP.put("templateId", params.get("templateId")); - checkP.put("companyCode", params.get("companyCode")); + checkP.put("template_id", params.get("template_id")); + checkP.put("company_code", params.get("company_code")); if (sqlSession.selectOne("approval.selectTemplateById", checkP) == null) throw new IllegalArgumentException("결재선 템플릿을 찾을 수 없습니다."); sqlSession.delete("approval.deleteTemplate", params); @@ -138,8 +138,8 @@ public class ApprovalService extends BaseService { private void insertTemplateSteps(long templateId, List> steps, String companyCode) { for (Map step : steps) { Map sp = new HashMap<>(step); - sp.put("templateId", templateId); - sp.put("companyCode", companyCode); + sp.put("template_id", templateId); + sp.put("company_code", companyCode); sqlSession.insert("approval.insertTemplateStep", sp); } } @@ -151,8 +151,8 @@ public class ApprovalService extends BaseService { public Map getRequests(Map params) { int page = toInt(params.getOrDefault("page", "1")); int limit = toInt(params.getOrDefault("limit", "20")); - params.put("pageLimit", limit); - params.put("pageOffset", (page - 1) * limit); + params.put("page_limit", limit); + params.put("page_offset", (page - 1) * limit); List> data = sqlSession.selectList("approval.selectRequests", params); Number totalNum = sqlSession.selectOne("approval.countRequests", params); @@ -171,18 +171,18 @@ public class ApprovalService extends BaseService { if (request == null) throw new IllegalArgumentException("결재 요청을 찾을 수 없습니다."); Map lineP = new HashMap<>(); - lineP.put("requestId", request.get("request_id")); - lineP.put("companyCode", params.get("companyCode")); + lineP.put("request_id", request.get("request_id")); + lineP.put("company_code", params.get("company_code")); request.put("lines", sqlSession.selectList("approval.selectLinesByRequestId", lineP)); return request; } @Transactional public Map createRequest(Map params) { - String companyCode = (String) params.get("companyCode"); - String userId = (String) params.get("userId"); - String userName = (String) params.getOrDefault("requesterName", userId); - String deptName = (String) params.getOrDefault("requesterDept", ""); + String companyCode = (String) params.get("company_code"); + String userId = (String) params.get("user_id"); + String userName = (String) params.getOrDefault("requester_name", userId); + String deptName = (String) params.getOrDefault("requester_dept", ""); String approvalType = (String) params.getOrDefault("approval_type", "escalation"); String title = (String) params.get("title"); @@ -205,8 +205,8 @@ public class ApprovalService extends BaseService { Object defId = params.get("definition_id"); if (defId != null) { Map defP = new HashMap<>(); - defP.put("definitionId", defId); - defP.put("companyCode", companyCode); + defP.put("definition_id", defId); + defP.put("company_code", companyCode); Map def = sqlSession.selectOne("approval.selectDefinitionById", defP); if (def != null) { Object allow = def.get("allow_self_approval"); @@ -218,9 +218,9 @@ public class ApprovalService extends BaseService { } Map insertP = buildRequestInsertParams(params, "approved", 1, "self", userId, userName, deptName, safeRecordId, recordDataJson, companyCode); - insertP.put("finalApproverId", userId); + insertP.put("final_approver_id", userId); sqlSession.insert("approval.insertRequest", insertP); - long requestId = toLong(insertP.get("requestId")); + long requestId = toLong(insertP.get("request_id")); Map lineP = buildLineInsertParams(requestId, 1, userId, userName, null, deptName, "자기결재", "approved", "approval", true, companyCode); @@ -240,60 +240,60 @@ public class ApprovalService extends BaseService { // 같은 step_order에 approval 타입 2명 이상 방지 Map>> groups = new LinkedHashMap<>(); for (Map a : normalized) { - int so = toInt(a.get("stepOrder")); + int so = toInt(a.get("step_order")); groups.computeIfAbsent(so, k -> new ArrayList<>()).add(a); } for (Map.Entry>> e : groups.entrySet()) { List> g = e.getValue(); - if (g.size() > 1 && g.stream().allMatch(a -> "approval".equals(a.get("stepType")))) + if (g.size() > 1 && g.stream().allMatch(a -> "approval".equals(a.get("step_type")))) throw new IllegalArgumentException( "step_order " + e.getKey() + "에 approval 타입 결재자가 2명 이상입니다. consensus로 지정해주세요."); } - int totalSteps = normalized.stream().mapToInt(a -> toInt(a.get("stepOrder"))).max().orElse(1); + int totalSteps = normalized.stream().mapToInt(a -> toInt(a.get("step_order"))).max().orElse(1); String storedType = hasExplicitStepType ? "escalation" : approvalType; String initialStatus = "post".equals(approvalType) ? "post_pending" : "requested"; Map insertP = buildRequestInsertParams(params, initialStatus, totalSteps, storedType, userId, userName, deptName, safeRecordId, recordDataJson, companyCode); sqlSession.insert("approval.insertRequest", insertP); - long requestId = toLong(insertP.get("requestId")); + long requestId = toLong(insertP.get("request_id")); List uniqueSteps = normalized.stream() - .map(a -> toInt(a.get("stepOrder"))).distinct().sorted().collect(Collectors.toList()); + .map(a -> toInt(a.get("step_order"))).distinct().sorted().collect(Collectors.toList()); int firstStep = uniqueSteps.get(0); for (Map approver : normalized) { - int so = toInt(approver.get("stepOrder")); + int so = toInt(approver.get("step_order")); String ls = (so == firstStep) ? "pending" : "waiting"; Map lp = buildLineInsertParams(requestId, so, - (String) approver.get("approverId"), (String) approver.get("approverName"), - (String) approver.get("approverPosition"), (String) approver.get("approverDept"), - (String) approver.get("approverLabel"), ls, (String) approver.get("stepType"), + (String) approver.get("approver_id"), (String) approver.get("approver_name"), + (String) approver.get("approver_position"), (String) approver.get("approver_dept"), + (String) approver.get("approver_label"), ls, (String) approver.get("step_type"), false, companyCode); sqlSession.insert("approval.insertLine", lp); } // 첫 step이 notification이면 자동 통과 String firstStepType = normalized.stream() - .filter(a -> toInt(a.get("stepOrder")) == firstStep) - .map(a -> (String) a.get("stepType")) + .filter(a -> toInt(a.get("step_order")) == firstStep) + .map(a -> (String) a.get("step_type")) .findFirst().orElse("approval"); if ("notification".equals(firstStepType)) { Map notifP = new HashMap<>(); - notifP.put("requestId", requestId); - notifP.put("stepOrder", firstStep); - notifP.put("companyCode", companyCode); + notifP.put("request_id", requestId); + notifP.put("step_order", firstStep); + notifP.put("company_code", companyCode); sqlSession.update("approval.approveNotificationLines", notifP); activateNextStep(requestId, firstStep, totalSteps, companyCode, userId, null); } if (!"post".equals(approvalType)) { Map statusP = new HashMap<>(); - statusP.put("requestId", requestId); + statusP.put("request_id", requestId); statusP.put("status", "in_progress"); - statusP.put("companyCode", companyCode); + statusP.put("company_code", companyCode); sqlSession.update("approval.updateRequestStatus", statusP); syncApprovalStatusToTarget(requestId, "in_progress", companyCode); } else { @@ -305,13 +305,13 @@ public class ApprovalService extends BaseService { @Transactional public void cancelRequest(Map params) { - long requestId = toLong(params.get("requestId")); - String companyCode = (String) params.get("companyCode"); - String userId = (String) params.get("userId"); + long requestId = toLong(params.get("request_id")); + String companyCode = (String) params.get("company_code"); + String userId = (String) params.get("user_id"); Map reqP = new HashMap<>(); - reqP.put("requestId", requestId); - reqP.put("companyCode", companyCode); + reqP.put("request_id", requestId); + reqP.put("company_code", companyCode); Map request = sqlSession.selectOne("approval.selectRequestById", reqP); if (request == null) throw new IllegalArgumentException("결재 요청을 찾을 수 없습니다."); if (!userId.equals(String.valueOf(request.get("requester_id")))) @@ -326,14 +326,14 @@ public class ApprovalService extends BaseService { @Transactional public void postApprove(Map params) { - long requestId = toLong(params.get("requestId")); - String companyCode = (String) params.get("companyCode"); - String userId = (String) params.get("userId"); + long requestId = toLong(params.get("request_id")); + String companyCode = (String) params.get("company_code"); + String userId = (String) params.get("user_id"); String comment = (String) params.get("comment"); Map reqP = new HashMap<>(); - reqP.put("requestId", requestId); - reqP.put("companyCode", companyCode); + reqP.put("request_id", requestId); + reqP.put("company_code", companyCode); Map request = sqlSession.selectOne("approval.selectRequestById", reqP); if (request == null) throw new IllegalArgumentException("결재 요청을 찾을 수 없습니다."); if (!"post".equals(request.get("approval_type"))) @@ -346,9 +346,9 @@ public class ApprovalService extends BaseService { if (pending > 0) throw new IllegalArgumentException("모든 결재자의 승인이 완료되지 않았습니다."); Map p = new HashMap<>(); - p.put("requestId", requestId); - p.put("companyCode", companyCode); - p.put("userId", userId); + p.put("request_id", requestId); + p.put("company_code", companyCode); + p.put("user_id", userId); p.put("comment", comment); sqlSession.update("approval.postApproveRequest", p); syncApprovalStatusToTarget(requestId, "approved", companyCode); @@ -364,16 +364,16 @@ public class ApprovalService extends BaseService { @Transactional public void processApproval(Map params) { - String companyCode = (String) params.get("companyCode"); - String userId = (String) params.get("userId"); - long lineId = toLong(params.get("lineId")); + String companyCode = (String) params.get("company_code"); + String userId = (String) params.get("user_id"); + long lineId = toLong(params.get("line_id")); String action = (String) params.get("action"); String comment = (String) params.get("comment"); String proxyReason = (String) params.get("proxy_reason"); Map lockP = new HashMap<>(); - lockP.put("lineId", lineId); - lockP.put("companyCode", companyCode); + lockP.put("line_id", lineId); + lockP.put("company_code", companyCode); Map line = sqlSession.selectOne("approval.selectLineByIdForUpdate", lockP); if (line == null) throw new IllegalArgumentException("결재 라인을 찾을 수 없습니다."); if (!"pending".equals(line.get("status"))) throw new IllegalArgumentException("대기 중인 결재만 처리할 수 있습니다."); @@ -391,9 +391,9 @@ public class ApprovalService extends BaseService { proxyReasonVal = proxyReason != null ? proxyReason : "최고관리자 대리 처리"; } else { Map proxyP = new HashMap<>(); - proxyP.put("originalUserId", approverId); - proxyP.put("proxyUserId", userId); - proxyP.put("companyCode", lineCC); + proxyP.put("original_user_id", approverId); + proxyP.put("proxy_user_id", userId); + proxyP.put("company_code", lineCC); Map proxy = sqlSession.selectOne("approval.selectActiveProxyForLine", proxyP); if (proxy == null) throw new IllegalArgumentException("본인이 결재자로 지정된 건만 처리할 수 있습니다."); proxyFor = approverId; @@ -404,16 +404,16 @@ public class ApprovalService extends BaseService { // 현재 라인 업데이트 Map updLineP = new HashMap<>(); - updLineP.put("lineId", lineId); + updLineP.put("line_id", lineId); updLineP.put("status", action); updLineP.put("comment", comment); - updLineP.put("proxyFor", proxyFor); - updLineP.put("proxyReason", proxyReasonVal); - updLineP.put("companyCode", lineCC); + updLineP.put("proxy_for", proxyFor); + updLineP.put("proxy_reason", proxyReasonVal); + updLineP.put("company_code", lineCC); sqlSession.update("approval.updateLine", updLineP); Map reqForUpdate = sqlSession.selectOne("approval.selectRequestByIdForUpdate", - Map.of("requestId", requestId, "companyCode", lineCC)); + Map.of("request_id", requestId, "company_code", lineCC)); if (reqForUpdate == null) return; int totalSteps = toInt(reqForUpdate.get("total_steps")); @@ -422,34 +422,34 @@ public class ApprovalService extends BaseService { if ("rejected".equals(action)) { Map rejP = new HashMap<>(); - rejP.put("requestId", requestId); - rejP.put("companyCode", lineCC); - rejP.put("userId", userId); + rejP.put("request_id", requestId); + rejP.put("company_code", lineCC); + rejP.put("user_id", userId); rejP.put("comment", comment); sqlSession.update("approval.rejectRequest", rejP); Map skipP = new HashMap<>(); - skipP.put("requestId", requestId); - skipP.put("lineId", lineId); - skipP.put("companyCode", lineCC); + skipP.put("request_id", requestId); + skipP.put("line_id", lineId); + skipP.put("company_code", lineCC); sqlSession.update("approval.skipRemainingLines", skipP); syncApprovalStatusToTarget(requestId, "rejected", lineCC); } else { if (isLegacy) { Number remainingNum = sqlSession.selectOne("approval.countRemainingLinesInStep", - Map.of("requestId", requestId, "stepOrder", stepOrder, "lineId", lineId, "companyCode", lineCC)); + Map.of("request_id", requestId, "step_order", stepOrder, "line_id", lineId, "company_code", lineCC)); int remaining = remainingNum != null ? remainingNum.intValue() : 0; if (remaining == 0) { Map complP = new HashMap<>(); - complP.put("requestId", requestId); - complP.put("companyCode", lineCC); - complP.put("userId", userId); + complP.put("request_id", requestId); + complP.put("company_code", lineCC); + complP.put("user_id", userId); complP.put("comment", comment); sqlSession.update("approval.completeRequest", complP); syncApprovalStatusToTarget(requestId, "approved", lineCC); } } else if ("consensus".equals(stepType)) { Number remainingNum = sqlSession.selectOne("approval.countRemainingLinesInStep", - Map.of("requestId", requestId, "stepOrder", stepOrder, "lineId", lineId, "companyCode", lineCC)); + Map.of("request_id", requestId, "step_order", stepOrder, "line_id", lineId, "company_code", lineCC)); int remaining = remainingNum != null ? remainingNum.intValue() : 0; if (remaining == 0) activateNextStep(requestId, stepOrder, totalSteps, lineCC, userId, comment); } else { @@ -484,7 +484,7 @@ public class ApprovalService extends BaseService { sqlSession.insert("approval.insertProxySetting", params); Map fetch = new HashMap<>(); fetch.put("id", params.get("id")); - fetch.put("companyCode", params.get("companyCode")); + fetch.put("company_code", params.get("company_code")); return sqlSession.selectOne("approval.selectProxyById", fetch); } @@ -492,7 +492,7 @@ public class ApprovalService extends BaseService { public Map updateProxySetting(Map params) { Map checkP = new HashMap<>(); checkP.put("id", params.get("id")); - checkP.put("companyCode", params.get("companyCode")); + checkP.put("company_code", params.get("company_code")); if (sqlSession.selectOne("approval.selectProxyById", checkP) == null) throw new IllegalArgumentException("대결 위임 설정을 찾을 수 없습니다."); sqlSession.update("approval.updateProxySetting", params); @@ -517,9 +517,9 @@ public class ApprovalService extends BaseService { String companyCode, String userId, String comment) { int nextStep = currentStep + 1; Map complP = new HashMap<>(); - complP.put("requestId", requestId); - complP.put("companyCode", companyCode); - complP.put("userId", userId); + complP.put("request_id", requestId); + complP.put("company_code", companyCode); + complP.put("user_id", userId); complP.put("comment", comment); if (nextStep > totalSteps) { @@ -529,7 +529,7 @@ public class ApprovalService extends BaseService { } List> nextLines = sqlSession.selectList("approval.selectLinesForStep", - Map.of("requestId", requestId, "stepOrder", nextStep, "companyCode", companyCode)); + Map.of("request_id", requestId, "step_order", nextStep, "company_code", companyCode)); if (nextLines.isEmpty()) { sqlSession.update("approval.completeRequest", complP); @@ -541,21 +541,21 @@ public class ApprovalService extends BaseService { if ("notification".equals(nextStepType)) { Map notifP = new HashMap<>(); - notifP.put("requestId", requestId); - notifP.put("stepOrder", nextStep); - notifP.put("companyCode", companyCode); + notifP.put("request_id", requestId); + notifP.put("step_order", nextStep); + notifP.put("company_code", companyCode); sqlSession.update("approval.approveNotificationLines", notifP); Map stepP = new HashMap<>(); - stepP.put("requestId", requestId); - stepP.put("nextStep", nextStep); - stepP.put("companyCode", companyCode); + stepP.put("request_id", requestId); + stepP.put("next_step", nextStep); + stepP.put("company_code", companyCode); sqlSession.update("approval.updateRequestCurrentStep", stepP); activateNextStep(requestId, nextStep, totalSteps, companyCode, userId, comment); } else { Map actP = new HashMap<>(); - actP.put("requestId", requestId); - actP.put("nextStep", nextStep); - actP.put("companyCode", companyCode); + actP.put("request_id", requestId); + actP.put("next_step", nextStep); + actP.put("company_code", companyCode); sqlSession.update("approval.activateNextStepLines", actP); sqlSession.update("approval.updateRequestCurrentStep", actP); } @@ -564,8 +564,8 @@ public class ApprovalService extends BaseService { private void syncApprovalStatusToTarget(long requestId, String newStatus, String companyCode) { try { Map syncP = new HashMap<>(); - syncP.put("requestId", requestId); - syncP.put("companyCode", companyCode); + syncP.put("request_id", requestId); + syncP.put("company_code", companyCode); Map req = sqlSession.selectOne("approval.selectRequestForSync", syncP); if (req == null) return; @@ -579,7 +579,7 @@ public class ApprovalService extends BaseService { if (safeTable.isEmpty()) return; Number hasColNum = sqlSession.selectOne("approval.checkTargetTableHasApprovalStatusColumn", - Map.of("tableName", safeTable)); + Map.of("table_name", safeTable)); int hasCol = hasColNum != null ? hasColNum.intValue() : 0; if (hasCol == 0) return; @@ -593,10 +593,10 @@ public class ApprovalService extends BaseService { String businessStatus = statusMap.getOrDefault(newStatus, newStatus); Map updP = new HashMap<>(); - updP.put("tableName", safeTable); - updP.put("approvalStatus", businessStatus); - updP.put("targetRecordId", targetRecordId); - updP.put("companyCode", companyCode); + updP.put("table_name", safeTable); + updP.put("approval_status", businessStatus); + updP.put("target_record_id", targetRecordId); + updP.put("company_code", companyCode); sqlSession.update("approval.updateTargetTableApprovalStatus", updP); if ("approved".equals(newStatus)) @@ -612,26 +612,26 @@ public class ApprovalService extends BaseService { for (int i = 0; i < approvers.size(); i++) { Map a = approvers.get(i); Map norm = new HashMap<>(); - norm.put("approverId", a.get("approver_id")); - norm.put("approverName", a.get("approver_name")); - norm.put("approverPosition", a.get("approver_position")); - norm.put("approverDept", a.get("approver_dept")); + norm.put("approver_id", a.get("approver_id")); + norm.put("approver_name", a.get("approver_name")); + norm.put("approver_position", a.get("approver_position")); + norm.put("approver_dept", a.get("approver_dept")); if ("consensus".equals(approvalType) && !hasExplicitStepType) { - norm.put("approverLabel", a.getOrDefault("approver_label", "합의 결재")); - norm.put("stepOrder", 1); - norm.put("stepType", "consensus"); + norm.put("approver_label", a.getOrDefault("approver_label", "합의 결재")); + norm.put("step_order", 1); + norm.put("step_type", "consensus"); } else if (hasExplicitStepType) { - norm.put("approverLabel", a.get("approver_label")); + norm.put("approver_label", a.get("approver_label")); Object so = a.get("step_order"); - norm.put("stepOrder", so != null ? toInt(so) : i + 1); - norm.put("stepType", a.getOrDefault("step_type", "approval")); + norm.put("step_order", so != null ? toInt(so) : i + 1); + norm.put("step_type", a.getOrDefault("step_type", "approval")); } else { Object label = a.get("approver_label"); - norm.put("approverLabel", label != null ? label : (i + 1) + "차 결재"); + norm.put("approver_label", label != null ? label : (i + 1) + "차 결재"); Object so = a.get("step_order"); - norm.put("stepOrder", so != null ? toInt(so) : i + 1); - norm.put("stepType", "approval"); + norm.put("step_order", so != null ? toInt(so) : i + 1); + norm.put("step_type", "approval"); } result.add(norm); } @@ -647,8 +647,8 @@ public class ApprovalService extends BaseService { private Map fetchRequest(long requestId) { Map p = new HashMap<>(); - p.put("requestId", requestId); - p.put("companyCode", "*"); + p.put("request_id", requestId); + p.put("company_code", "*"); return sqlSession.selectOne("approval.selectRequestById", p); } @@ -659,20 +659,20 @@ public class ApprovalService extends BaseService { Map p = new HashMap<>(); p.put("title", src.get("title")); p.put("description", src.get("description")); - p.put("definitionId", src.get("definition_id")); - p.put("templateId", src.get("template_id")); - p.put("targetTable", src.get("target_table")); - p.put("targetRecordId", safeRecordId); - p.put("targetRecordData", recordDataJson); + p.put("definition_id", src.get("definition_id")); + p.put("template_id", src.get("template_id")); + p.put("target_table", src.get("target_table")); + p.put("target_record_id", safeRecordId); + p.put("target_record_data", recordDataJson); p.put("status", status); - p.put("totalSteps", totalSteps); - p.put("approvalType", approvalType); - p.put("requesterId", userId); - p.put("requesterName", userName); - p.put("requesterDept", deptName); - p.put("screenId", src.get("screen_id")); - p.put("buttonComponentId", src.get("button_component_id")); - p.put("companyCode", companyCode); + p.put("total_steps", totalSteps); + p.put("approval_type", approvalType); + p.put("requester_id", userId); + p.put("requester_name", userName); + p.put("requester_dept", deptName); + p.put("screen_id", src.get("screen_id")); + p.put("button_component_id", src.get("button_component_id")); + p.put("company_code", companyCode); return p; } @@ -681,17 +681,17 @@ public class ApprovalService extends BaseService { String approverPosition, String approverDept, String approverLabel, String status, String stepType, boolean alreadyProcessed, String companyCode) { Map p = new HashMap<>(); - p.put("requestId", requestId); - p.put("stepOrder", stepOrder); - p.put("approverId", approverId); - p.put("approverName", approverName); - p.put("approverPosition", approverPosition); - p.put("approverDept", approverDept); - p.put("approverLabel", approverLabel); + p.put("request_id", requestId); + p.put("step_order", stepOrder); + p.put("approver_id", approverId); + p.put("approver_name", approverName); + p.put("approver_position", approverPosition); + p.put("approver_dept", approverDept); + p.put("approver_label", approverLabel); p.put("status", status); - p.put("stepType", stepType); - p.put("processedAt", alreadyProcessed ? Boolean.TRUE : null); - p.put("companyCode", companyCode); + p.put("step_type", stepType); + p.put("processed_at", alreadyProcessed ? Boolean.TRUE : null); + p.put("company_code", companyCode); return p; } diff --git a/backend-spring/src/main/java/com/erp/service/AuditLogService.java b/backend-spring/src/main/java/com/erp/service/AuditLogService.java index ebbbb8e5..0a8d08ec 100644 --- a/backend-spring/src/main/java/com/erp/service/AuditLogService.java +++ b/backend-spring/src/main/java/com/erp/service/AuditLogService.java @@ -51,14 +51,14 @@ public class AuditLogService extends BaseService { */ public Map getStats(String companyCode, int days) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("days", days); Map result = new HashMap<>(); - result.put("dailyCounts", sqlSession.selectList("auditLog.selectDailyCounts", params)); - result.put("resourceTypeCounts", sqlSession.selectList("auditLog.selectResourceTypeCounts", params)); - result.put("actionCounts", sqlSession.selectList("auditLog.selectActionCounts", params)); - result.put("topUsers", sqlSession.selectList("auditLog.selectTopUsers", params)); + result.put("daily_counts", sqlSession.selectList("auditLog.selectDailyCounts", params)); + result.put("resource_type_counts", sqlSession.selectList("auditLog.selectResourceTypeCounts", params)); + result.put("action_counts", sqlSession.selectList("auditLog.selectActionCounts", params)); + result.put("top_users", sqlSession.selectList("auditLog.selectTopUsers", params)); return result; } @@ -67,8 +67,8 @@ public class AuditLogService extends BaseService { */ public List> getAuditLogUsers(String companyCode, boolean isSuperAdmin) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("excludeWildcard", !isSuperAdmin); + params.put("company_code", companyCode); + params.put("exclude_wildcard", !isSuperAdmin); return sqlSession.selectList("auditLog.selectAuditLogUsers", params); } diff --git a/backend-spring/src/main/java/com/erp/service/AuthService.java b/backend-spring/src/main/java/com/erp/service/AuthService.java index 3e2f92a0..af2e6932 100644 --- a/backend-spring/src/main/java/com/erp/service/AuthService.java +++ b/backend-spring/src/main/java/com/erp/service/AuthService.java @@ -36,15 +36,15 @@ public class AuthService extends BaseService { * Node.js AuthService.processLogin() 포팅 */ public Map login(Map params) { - String userId = (String) params.get("userId"); + String userId = (String) params.get("user_id"); String password = (String) params.get("password"); - String remoteAddr = (String) params.getOrDefault("remoteAddr", "unknown"); + String remoteAddr = (String) params.getOrDefault("remote_addr", "unknown"); // 1. 비밀번호 검증 boolean loginSuccess = false; String errorReason = null; - Map pwRow = sqlSession.selectOne("auth.selectUserPassword", Map.of("userId", userId)); + Map pwRow = sqlSession.selectOne("auth.selectUserPassword", Map.of("user_id", userId)); if (pwRow == null) { errorReason = "사용자가 존재하지 않습니다."; } else { @@ -63,15 +63,15 @@ public class AuthService extends BaseService { // 2. 로그인 로그 기록 (실패해도 로그인 프로세스 유지) try { Map logParams = new HashMap<>(); - logParams.put("systemName", "PMS"); - logParams.put("userId", userId); - logParams.put("loginResult", loginSuccess); - logParams.put("errorMessage", errorReason); - logParams.put("remoteAddr", remoteAddr); - logParams.put("recptnDt", null); - logParams.put("recptnRsltDtl", null); - logParams.put("recptnRslt", null); - logParams.put("recptnRsltCd", null); + logParams.put("system_name", "PMS"); + logParams.put("user_id", userId); + logParams.put("login_result", loginSuccess); + logParams.put("error_message", errorReason); + logParams.put("remote_addr", remoteAddr); + logParams.put("recptn_dt", null); + logParams.put("recptn_rslt_dtl", null); + logParams.put("recptn_rslt", null); + logParams.put("recptn_rslt_cd", null); sqlSession.insert("auth.insertLoginLog", logParams); } catch (Exception e) { log.warn("로그인 로그 기록 실패 (무시): {}", e.getMessage()); @@ -79,17 +79,17 @@ public class AuthService extends BaseService { if (!loginSuccess) { Map result = new HashMap<>(); - result.put("loginFailed", true); - result.put("errorReason", errorReason); + result.put("login_failed", true); + result.put("error_reason", errorReason); return result; } // 3. 사용자 정보 조회 - Map userInfoRow = sqlSession.selectOne("auth.selectUserInfo", Map.of("userId", userId)); + Map userInfoRow = sqlSession.selectOne("auth.selectUserInfo", Map.of("user_id", userId)); if (userInfoRow == null) { Map result = new HashMap<>(); - result.put("loginFailed", true); - result.put("errorReason", "사용자 정보를 조회할 수 없습니다."); + result.put("login_failed", true); + result.put("error_reason", "사용자 정보를 조회할 수 없습니다."); return result; } @@ -101,29 +101,29 @@ public class AuthService extends BaseService { String companyName = ""; if (companyCode != null) { Map companyRow = sqlSession.selectOne("auth.selectCompanyName", - Map.of("companyCode", companyCode)); + Map.of("company_code", companyCode)); companyName = companyRow != null ? getStr(companyRow, "company_name", "") : ""; } // 5. JWT 토큰 생성 — Node.js 동일 페이로드 구조 Map personBean = new HashMap<>(); - personBean.put("userId", userId); - personBean.put("userName", getStr(userInfoRow, "user_name", "")); - personBean.put("deptName", getStr(userInfoRow, "dept_name", "")); - personBean.put("companyCode", companyCode); - personBean.put("companyName", companyName); - personBean.put("userType", userType); - personBean.put("userTypeName", getStr(userInfoRow, "user_type_name", "일반사용자")); + personBean.put("user_id", userId); + personBean.put("user_name", getStr(userInfoRow, "user_name", "")); + personBean.put("dept_name", getStr(userInfoRow, "dept_name", "")); + personBean.put("company_code", companyCode); + personBean.put("company_name", companyName); + personBean.put("user_type", userType); + personBean.put("user_type_name", getStr(userInfoRow, "user_type_name", "일반사용자")); String token = jwtTokenProvider.generateToken(personBean); // 6. firstMenuPath 계산 (Node.js authController 동일 로직) String firstMenuPath = null; try { Map menuParams = new HashMap<>(); - menuParams.put("companyCode", companyCode); - menuParams.put("userType", userType); - menuParams.put("userLang", "ko"); - List> menuList = sqlSession.selectList(NS_ADMIN + "selectUserMenuList", menuParams); + menuParams.put("company_code", companyCode); + menuParams.put("user_type", userType); + menuParams.put("user_lang", "ko"); + List> menuList = sqlSession.selectList(NS_ADMIN + "select_user_menu_list", menuParams); firstMenuPath = menuList.stream() .filter(m -> { Object levObj = m.get("lev"); @@ -141,14 +141,14 @@ public class AuthService extends BaseService { String popLandingPath = null; try { Map popParams = new HashMap<>(); - popParams.put("companyCode", companyCode); - popParams.put("userType", userType); - Map parentMenu = sqlSession.selectOne(NS_ADMIN + "selectPopParentMenu", popParams); + popParams.put("company_code", companyCode); + popParams.put("user_type", userType); + Map parentMenu = sqlSession.selectOne(NS_ADMIN + "select_pop_parent_menu", popParams); if (parentMenu != null) { Map childParams = new HashMap<>(); - childParams.put("parentObjid", parentMenu.get("objid")); - childParams.put("parentCompanyCode", parentMenu.get("company_code")); - List> childMenus = sqlSession.selectList(NS_ADMIN + "selectPopChildMenus", childParams); + childParams.put("parent_objid", parentMenu.get("objid")); + childParams.put("parent_company_code", parentMenu.get("company_code")); + List> childMenus = sqlSession.selectList(NS_ADMIN + "select_pop_child_menus", childParams); Map landingMenu = childMenus.stream() .filter(m -> { Object desc = m.get("menu_desc"); @@ -169,16 +169,16 @@ public class AuthService extends BaseService { // 8. 응답 data 구성 (Node.js 응답 형식 일치) Map userInfo = new HashMap<>(); - userInfo.put("userId", userId); - userInfo.put("userName", getStr(userInfoRow, "user_name", "")); - userInfo.put("deptName", getStr(userInfoRow, "dept_name", "")); - userInfo.put("companyCode", companyCode); + userInfo.put("user_id", userId); + userInfo.put("user_name", getStr(userInfoRow, "user_name", "")); + userInfo.put("dept_name", getStr(userInfoRow, "dept_name", "")); + userInfo.put("company_code", companyCode); Map data = new HashMap<>(); - data.put("userInfo", userInfo); + data.put("user_info", userInfo); data.put("token", token); - data.put("firstMenuPath", firstMenuPath); - data.put("popLandingPath", popLandingPath); + data.put("first_menu_path", firstMenuPath); + data.put("pop_landing_path", popLandingPath); log.info("로그인 성공: {} ({})", userId, remoteAddr); return data; @@ -191,13 +191,13 @@ public class AuthService extends BaseService { public Map refreshToken(String token) { Claims claims = jwtTokenProvider.getClaims(token); Map personBean = new HashMap<>(); - personBean.put("userId", claims.get("userId", String.class)); - personBean.put("userName", claims.get("userName", String.class)); - personBean.put("deptName", claims.get("deptName", String.class)); - personBean.put("companyCode", claims.get("companyCode", String.class)); - personBean.put("companyName", claims.get("companyName", String.class)); - personBean.put("userType", claims.get("userType", String.class)); - personBean.put("userTypeName", claims.get("userTypeName", String.class)); + personBean.put("user_id", claims.get("user_id", String.class)); + personBean.put("user_name", claims.get("user_name", String.class)); + personBean.put("dept_name", claims.get("dept_name", String.class)); + personBean.put("company_code", claims.get("company_code", String.class)); + personBean.put("company_name", claims.get("company_name", String.class)); + personBean.put("user_type", claims.get("user_type", String.class)); + personBean.put("user_type_name", claims.get("user_type_name", String.class)); String newToken = jwtTokenProvider.generateToken(personBean); @@ -212,17 +212,17 @@ public class AuthService extends BaseService { */ public Map getUserInfo(String token) { Claims claims = jwtTokenProvider.getClaims(token); - String userId = claims.get("userId", String.class); - String jwtCompanyCode = claims.get("companyCode", String.class); - String jwtUserType = claims.get("userType", String.class); + String userId = claims.get("user_id", String.class); + String jwtCompanyCode = claims.get("company_code", String.class); + String jwtUserType = claims.get("user_type", String.class); - Map dbUser = sqlSession.selectOne("auth.selectUserInfo", Map.of("userId", userId)); + Map dbUser = sqlSession.selectOne("auth.selectUserInfo", Map.of("user_id", userId)); if (dbUser == null) { return null; } // 권한명 목록 조회 - List> authList = sqlSession.selectList("auth.selectUserAuth", Map.of("userId", userId)); + List> authList = sqlSession.selectList("auth.selectUserAuth", Map.of("user_id", userId)); String authNames = authList.stream() .map(a -> getStr(a, "auth_name", "")) .collect(Collectors.joining(",")); @@ -240,19 +240,19 @@ public class AuthService extends BaseService { } Map result = new HashMap<>(); - result.put("userId", userId); - result.put("userName", getStr(dbUser, "user_name", "")); - result.put("deptName", getStr(dbUser, "dept_name", "")); - result.put("companyCode", companyCode); + result.put("user_id", userId); + result.put("user_name", getStr(dbUser, "user_name", "")); + result.put("dept_name", getStr(dbUser, "dept_name", "")); result.put("company_code", companyCode); - result.put("userType", userType); - result.put("userTypeName", getStr(dbUser, "user_type_name", "일반사용자")); + result.put("company_code", companyCode); + result.put("user_type", userType); + result.put("user_type_name", getStr(dbUser, "user_type_name", "일반사용자")); result.put("email", getStr(dbUser, "email", "")); result.put("photo", photoStr); result.put("locale", getStr(dbUser, "locale", "KR")); - result.put("deptCode", dbUser.get("dept_code")); - result.put("authName", authNames); - result.put("isAdmin", "ADMIN".equals(userType) || "SUPER_ADMIN".equals(userType) + result.put("dept_code", dbUser.get("dept_code")); + result.put("auth_name", authNames); + result.put("is_admin", "ADMIN".equals(userType) || "SUPER_ADMIN".equals(userType) || "COMPANY_ADMIN".equals(userType)); return result; } @@ -263,18 +263,18 @@ public class AuthService extends BaseService { public Map checkAuthStatus(String token) { Map result = new HashMap<>(); if (token == null || !jwtTokenProvider.validateToken(token)) { - result.put("isLoggedIn", false); - result.put("isAdmin", false); + result.put("is_logged_in", false); + result.put("is_admin", false); return result; } Claims claims = jwtTokenProvider.getClaims(token); - String userId = claims.get("userId", String.class); - String userType = claims.get("userType", String.class); + String userId = claims.get("user_id", String.class); + String userType = claims.get("user_type", String.class); boolean isAdmin = "plm_admin".equals(userId) || "ADMIN".equals(userType) || "SUPER_ADMIN".equals(userType); - result.put("isLoggedIn", true); - result.put("isAdmin", isAdmin); + result.put("is_logged_in", true); + result.put("is_admin", isAdmin); return result; } @@ -284,15 +284,15 @@ public class AuthService extends BaseService { public void logout(String userId, String remoteAddr) { try { Map logParams = new HashMap<>(); - logParams.put("systemName", "PMS"); - logParams.put("userId", userId); - logParams.put("loginResult", false); - logParams.put("errorMessage", "로그아웃"); - logParams.put("remoteAddr", remoteAddr); - logParams.put("recptnDt", null); - logParams.put("recptnRsltDtl", null); - logParams.put("recptnRslt", null); - logParams.put("recptnRsltCd", null); + logParams.put("system_name", "PMS"); + logParams.put("user_id", userId); + logParams.put("login_result", false); + logParams.put("error_message", "로그아웃"); + logParams.put("remote_addr", remoteAddr); + logParams.put("recptn_dt", null); + logParams.put("recptn_rslt_dtl", null); + logParams.put("recptn_rslt", null); + logParams.put("recptn_rslt_cd", null); sqlSession.insert("auth.insertLoginLog", logParams); log.info("로그아웃 완료: {} ({})", userId, remoteAddr); } catch (Exception e) { @@ -305,8 +305,8 @@ public class AuthService extends BaseService { */ public Map switchCompany(String token, String targetCompanyCode) { Claims claims = jwtTokenProvider.getClaims(token); - String userId = claims.get("userId", String.class); - String userType = claims.get("userType", String.class); + String userId = claims.get("user_id", String.class); + String userType = claims.get("user_type", String.class); if (!"SUPER_ADMIN".equals(userType)) { throw new IllegalArgumentException("회사 전환은 최고 관리자(SUPER_ADMIN)만 가능합니다."); @@ -315,26 +315,26 @@ public class AuthService extends BaseService { // 회사 코드 존재 여부 확인 ("*" 제외) if (!"*".equals(targetCompanyCode)) { Map company = sqlSession.selectOne("auth.selectCompanyByCode", - Map.of("companyCode", targetCompanyCode)); + Map.of("company_code", targetCompanyCode)); if (company == null) { throw new IllegalArgumentException("존재하지 않는 회사 코드입니다."); } } Map personBean = new HashMap<>(); - personBean.put("userId", userId); - personBean.put("userName", claims.get("userName", String.class)); - personBean.put("deptName", claims.get("deptName", String.class)); - personBean.put("companyCode", targetCompanyCode); - personBean.put("companyName", claims.get("companyName", String.class)); - personBean.put("userType", userType); - personBean.put("userTypeName", claims.get("userTypeName", String.class)); + personBean.put("user_id", userId); + personBean.put("user_name", claims.get("user_name", String.class)); + personBean.put("dept_name", claims.get("dept_name", String.class)); + personBean.put("company_code", targetCompanyCode); + personBean.put("company_name", claims.get("company_name", String.class)); + personBean.put("user_type", userType); + personBean.put("user_type_name", claims.get("user_type_name", String.class)); String newToken = jwtTokenProvider.generateToken(personBean); log.info("회사 전환 성공: {} → {}", userId, targetCompanyCode); Map result = new HashMap<>(); result.put("token", newToken); - result.put("companyCode", targetCompanyCode); + result.put("company_code", targetCompanyCode); return result; } @@ -343,15 +343,15 @@ public class AuthService extends BaseService { */ @Transactional public void signupDriver(Map params) { - String userId = (String) params.get("userId"); - String vehicleNumber = (String) params.get("vehicleNumber"); + String userId = (String) params.get("user_id"); + String vehicleNumber = (String) params.get("vehicle_number"); // 아이디 중복 확인 - if (sqlSession.selectOne("auth.selectUserById", Map.of("userId", userId)) != null) { + if (sqlSession.selectOne("auth.selectUserById", Map.of("user_id", userId)) != null) { throw new IllegalArgumentException("이미 존재하는 아이디입니다."); } // 차량번호 중복 확인 - if (sqlSession.selectOne("auth.selectVehicleByNumber", Map.of("vehicleNumber", vehicleNumber)) != null) { + if (sqlSession.selectOne("auth.selectVehicleByNumber", Map.of("vehicle_number", vehicleNumber)) != null) { throw new IllegalArgumentException("이미 등록된 차량번호입니다."); } @@ -359,8 +359,8 @@ public class AuthService extends BaseService { String hashedPassword = md5((String) params.get("password")); Map insertParams = new HashMap<>(params); - insertParams.put("userPassword", hashedPassword); - insertParams.put("signupCompanyCode", "COMPANY_13"); + insertParams.put("user_password", hashedPassword); + insertParams.put("signup_company_code", "COMPANY_13"); sqlSession.insert("auth.insertUserSignup", insertParams); sqlSession.insert("auth.insertVehicle", insertParams); diff --git a/backend-spring/src/main/java/com/erp/service/BarcodeLabelService.java b/backend-spring/src/main/java/com/erp/service/BarcodeLabelService.java index 3465ee8b..d4fba96f 100644 --- a/backend-spring/src/main/java/com/erp/service/BarcodeLabelService.java +++ b/backend-spring/src/main/java/com/erp/service/BarcodeLabelService.java @@ -20,7 +20,7 @@ public class BarcodeLabelService extends BaseService { // 라벨 목록 조회 // ────────────────────────────────────────────────────────────────────────── public Map getBarcodeLabelList(Map params) { - if (params.get("useYn") == null) params.put("useYn", "Y"); + if (params.get("use_yn") == null) params.put("use_yn", "Y"); commonService.applyPagination(params); Number cntNum = sqlSession.selectOne("barcodeLabel.getBarcodeLabelListCnt", params); int totalCount = cntNum != null ? cntNum.intValue() : 0; @@ -33,7 +33,7 @@ public class BarcodeLabelService extends BaseService { // ────────────────────────────────────────────────────────────────────────── public Map getBarcodeLabelInfo(String labelId) { Map params = new HashMap<>(); - params.put("labelId", labelId); + params.put("label_id", labelId); return sqlSession.selectOne("barcodeLabel.getBarcodeLabelInfo", params); } @@ -60,17 +60,17 @@ public class BarcodeLabelService extends BaseService { @Transactional public Map insertBarcodeLabel(Map params) { String labelId = "LBL_" + UUID.randomUUID().toString().replace("-", "").substring(0, 20); - params.put("labelId", labelId); + params.put("label_id", labelId); int widthMm = 50; int heightMm = 30; String layoutJson = null; // templateId가 있으면 템플릿 치수/레이아웃 적용 - Object templateId = params.get("templateId"); + Object templateId = params.get("template_id"); if (templateId != null && !templateId.toString().isBlank()) { Map tParams = new HashMap<>(); - tParams.put("templateId", templateId.toString().trim()); + tParams.put("template_id", templateId.toString().trim()); Map template = sqlSession.selectOne("barcodeLabel.getBarcodeLabelTemplateInfo", tParams); if (template != null) { widthMm = toInt(template.get("width_mm"), 50); @@ -92,14 +92,14 @@ public class BarcodeLabelService extends BaseService { } } - params.put("widthMm", widthMm); - params.put("heightMm", heightMm); - params.put("layoutJson", layoutJson); + params.put("width_mm", widthMm); + params.put("height_mm", heightMm); + params.put("layout_json", layoutJson); sqlSession.insert("barcodeLabel.insertBarcodeLabel", params); Map result = new LinkedHashMap<>(); - result.put("labelId", labelId); + result.put("label_id", labelId); return result; } @@ -108,7 +108,7 @@ public class BarcodeLabelService extends BaseService { // ────────────────────────────────────────────────────────────────────────── @Transactional public boolean updateBarcodeLabel(String labelId, Map params) { - params.put("labelId", labelId); + params.put("label_id", labelId); int updated = sqlSession.update("barcodeLabel.updateBarcodeLabel", params); return updated > 0; } @@ -127,11 +127,11 @@ public class BarcodeLabelService extends BaseService { throw new IllegalArgumentException("레이아웃 직렬화 실패: " + e.getMessage()); } Map params = new HashMap<>(); - params.put("labelId", labelId); - params.put("widthMm", widthMm); - params.put("heightMm", heightMm); - params.put("layoutJson", layoutJson); - params.put("updatedBy", userId); + params.put("label_id", labelId); + params.put("width_mm", widthMm); + params.put("height_mm", heightMm); + params.put("layout_json", layoutJson); + params.put("updated_by", userId); sqlSession.update("barcodeLabel.updateBarcodeLabelLayout", params); } @@ -141,7 +141,7 @@ public class BarcodeLabelService extends BaseService { @Transactional public boolean deleteBarcodeLabel(String labelId) { Map params = new HashMap<>(); - params.put("labelId", labelId); + params.put("label_id", labelId); int deleted = sqlSession.delete("barcodeLabel.deleteBarcodeLabel", params); return deleted > 0; } @@ -156,9 +156,9 @@ public class BarcodeLabelService extends BaseService { String newLabelId = "LBL_" + UUID.randomUUID().toString().replace("-", "").substring(0, 20); Map params = new HashMap<>(); - params.put("newLabelId", newLabelId); - params.put("labelId", labelId); - params.put("createdBy", userId); + params.put("new_label_id", newLabelId); + params.put("label_id", labelId); + params.put("created_by", userId); sqlSession.insert("barcodeLabel.copyBarcodeLabel", params); return newLabelId; @@ -176,7 +176,7 @@ public class BarcodeLabelService extends BaseService { // ────────────────────────────────────────────────────────────────────────── public Map getBarcodeLabelTemplateInfo(String templateId) { Map params = new HashMap<>(); - params.put("templateId", templateId); + params.put("template_id", templateId); Map template = sqlSession.selectOne("barcodeLabel.getBarcodeLabelTemplateInfo", params); if (template == null) return null; diff --git a/backend-spring/src/main/java/com/erp/service/BatchExecutionLogService.java b/backend-spring/src/main/java/com/erp/service/BatchExecutionLogService.java index dfee8d66..ee20002a 100644 --- a/backend-spring/src/main/java/com/erp/service/BatchExecutionLogService.java +++ b/backend-spring/src/main/java/com/erp/service/BatchExecutionLogService.java @@ -19,43 +19,43 @@ public class BatchExecutionLogService extends BaseService { public Map getBatchExecutionLogList(Map params) { commonService.applyCompanyCodeFilter(params); commonService.applyPagination(params); - Integer totalObj = sqlSession.selectOne(NS + "getBatchExecutionLogListCnt", params); + Integer totalObj = sqlSession.selectOne(NS + "get_batch_execution_log_list_cnt", params); int totalCount = totalObj != null ? totalObj : 0; - List> list = sqlSession.selectList(NS + "getBatchExecutionLogList", params); + List> list = sqlSession.selectList(NS + "get_batch_execution_log_list", params); return commonService.buildListResponse(list, totalCount, params); } public Map getBatchExecutionLogInfo(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.selectOne(NS + "getBatchExecutionLogInfo", params); + return sqlSession.selectOne(NS + "get_batch_execution_log_info", params); } @Transactional public Map insertBatchExecutionLog(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.insert(NS + "insertBatchExecutionLog", params); + sqlSession.insert(NS + "insert_batch_execution_log", params); return params; } @Transactional public Map updateBatchExecutionLog(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.update(NS + "updateBatchExecutionLog", params); + sqlSession.update(NS + "update_batch_execution_log", params); return params; } @Transactional public Map deleteBatchExecutionLog(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.delete(NS + "deleteBatchExecutionLog", params); + sqlSession.delete(NS + "delete_batch_execution_log", params); return params; } public Map getBatchExecutionLogLatest(Map params) { - return sqlSession.selectOne(NS + "getBatchExecutionLogLatest", params); + return sqlSession.selectOne(NS + "get_batch_execution_log_latest", params); } public Map getBatchExecutionLogStats(Map params) { - return sqlSession.selectOne(NS + "getBatchExecutionLogStats", params); + return sqlSession.selectOne(NS + "get_batch_execution_log_stats", params); } } diff --git a/backend-spring/src/main/java/com/erp/service/BatchManagementService.java b/backend-spring/src/main/java/com/erp/service/BatchManagementService.java index cd2d4a4c..5c962ffd 100644 --- a/backend-spring/src/main/java/com/erp/service/BatchManagementService.java +++ b/backend-spring/src/main/java/com/erp/service/BatchManagementService.java @@ -31,7 +31,7 @@ public class BatchManagementService extends BaseService { public Map getBatchStats(Map params) { commonService.applyCompanyCodeFilter(params); - Map stats = sqlSession.selectOne(NS + "getBatchManagementStats", params); + Map stats = sqlSession.selectOne(NS + "get_batch_management_stats", params); return stats != null ? stats : Collections.emptyMap(); } @@ -39,7 +39,7 @@ public class BatchManagementService extends BaseService { public List> getNodeFlows(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.selectList(NS + "getBatchManagementNodeFlowList", params); + return sqlSession.selectList(NS + "get_batch_management_node_flow_list", params); } // ── Connections / Tables / Columns ──────────────────────────────────────── @@ -120,25 +120,25 @@ public class BatchManagementService extends BaseService { long duration = System.currentTimeMillis() - startTime; Map result = new LinkedHashMap<>(); - result.put("batchName", batchName); - result.put("totalRecords", 0); - result.put("successRecords", 0); - result.put("failedRecords", 0); - result.put("executionTime", duration); + result.put("batch_name", batchName); + result.put("total_records", 0); + result.put("success_records", 0); + result.put("failed_records", 0); + result.put("execution_time", duration); return result; } // ── REST API Preview / Save ─────────────────────────────────────────────── public Map previewRestApiData(Map body) { - String apiUrl = str(body.get("apiUrl")); + String apiUrl = str(body.get("api_url")); String endpoint = str(body.get("endpoint")); String method = body.get("method") != null ? str(body.get("method")) : "GET"; - String apiKey = str(body.get("apiKey")); - String dataPath = str(body.get("dataArrayPath")); - String paramType = str(body.get("paramType")); - String paramName = str(body.get("paramName")); - String paramValue = str(body.get("paramValue")); + String apiKey = str(body.get("api_key")); + String dataPath = str(body.get("data_array_path")); + String paramType = str(body.get("param_type")); + String paramName = str(body.get("param_name")); + String paramValue = str(body.get("param_value")); if (isBlank(apiUrl) || isBlank(endpoint)) { throw new IllegalArgumentException("API URL과 엔드포인트는 필수입니다."); @@ -189,14 +189,14 @@ public class BatchManagementService extends BaseService { @Transactional public Map saveRestApiBatch(Map body) { - if (isBlank(str(body.get("batchName"))) || isBlank(str(body.get("cronSchedule")))) { + if (isBlank(str(body.get("batch_name"))) || isBlank(str(body.get("cron_schedule")))) { throw new IllegalArgumentException("필수 필드가 누락되었습니다. (batchName, cronSchedule)"); } convertCamelToSnake(body); if (body.get("created_by") == null) body.put("created_by", "system"); if (body.get("is_active") == null) body.put("is_active", "Y"); if (body.get("execution_type") == null) { - body.put("execution_type", body.getOrDefault("batchType", "mapping")); + body.put("execution_type", body.getOrDefault("batch_type", "mapping")); } return batchService.insertBatch(body); } @@ -205,35 +205,35 @@ public class BatchManagementService extends BaseService { public List getAuthServiceNames(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.selectList(NS + "getBatchManagementAuthServiceList", params); + return sqlSession.selectList(NS + "get_batch_management_auth_service_list", params); } // ── Sparkline / Recent Logs ─────────────────────────────────────────────── public List> getBatchSparkline(Map params) { - return sqlSession.selectList(NS + "getBatchManagementSparklineData", params); + return sqlSession.selectList(NS + "get_batch_management_sparkline_data", params); } public List> getBatchRecentLogs(Map params) { - return sqlSession.selectList(NS + "getBatchManagementRecentLogList", params); + return sqlSession.selectList(NS + "get_batch_management_recent_log_list", params); } // ── Private Helpers ─────────────────────────────────────────────────────── /** camelCase 요청 필드 → batch_configs 테이블 컬럼명(snake_case) 변환 */ private void convertCamelToSnake(Map params) { - remap(params, "batchName", "batch_name"); - remap(params, "cronSchedule", "cron_schedule"); - remap(params, "isActive", "is_active"); - remap(params, "saveMode", "save_mode"); - remap(params, "conflictKey", "conflict_key"); - remap(params, "authServiceName", "auth_service_name"); - remap(params, "dataArrayPath", "data_array_path"); - remap(params, "executionType", "execution_type"); - remap(params, "nodeFlowId", "node_flow_id"); - remap(params, "nodeFlowContext", "node_flow_context"); - remap(params, "batchType", "execution_type"); - remap(params, "apiMappings", "mappings"); + remap(params, "batch_name", "batch_name"); + remap(params, "cron_schedule", "cron_schedule"); + remap(params, "is_active", "is_active"); + remap(params, "save_mode", "save_mode"); + remap(params, "conflict_key", "conflict_key"); + remap(params, "auth_service_name", "auth_service_name"); + remap(params, "data_array_path", "data_array_path"); + remap(params, "execution_type", "execution_type"); + remap(params, "node_flow_id", "node_flow_id"); + remap(params, "node_flow_context", "node_flow_context"); + remap(params, "batch_type", "execution_type"); + remap(params, "api_mappings", "mappings"); remap(params, "description", "description"); } @@ -288,7 +288,7 @@ public class BatchManagementService extends BaseService { Map result = new LinkedHashMap<>(); result.put("fields", fields); result.put("samples", samples); - result.put("totalCount", dataList.size()); + result.put("total_count", dataList.size()); return result; } } diff --git a/backend-spring/src/main/java/com/erp/service/BatchService.java b/backend-spring/src/main/java/com/erp/service/BatchService.java index 543ebca4..8cd64b12 100644 --- a/backend-spring/src/main/java/com/erp/service/BatchService.java +++ b/backend-spring/src/main/java/com/erp/service/BatchService.java @@ -21,25 +21,25 @@ public class BatchService extends BaseService { public Map getBatchList(Map params) { commonService.applyCompanyCodeFilter(params); commonService.applyPagination(params); - Integer totalObj = sqlSession.selectOne(NS + "getBatchListCnt", params); + Integer totalObj = sqlSession.selectOne(NS + "get_batch_list_cnt", params); int totalCount = totalObj != null ? totalObj : 0; - List> list = sqlSession.selectList(NS + "getBatchList", params); + List> list = sqlSession.selectList(NS + "get_batch_list", params); return commonService.buildListResponse(list, totalCount, params); } public Map getBatchInfo(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.selectOne(NS + "getBatchInfo", params); + return sqlSession.selectOne(NS + "get_batch_info", params); } @Transactional public Map insertBatch(Map params) { - sqlSession.insert(NS + "insertBatch", params); + sqlSession.insert(NS + "insert_batch", params); Long id = params.get("id") != null ? Long.parseLong(params.get("id").toString()) : null; if (id != null) { Map infoParams = new HashMap<>(); infoParams.put("id", id); - return sqlSession.selectOne(NS + "getBatchInfo", infoParams); + return sqlSession.selectOne(NS + "get_batch_info", infoParams); } return params; } @@ -47,16 +47,16 @@ public class BatchService extends BaseService { @Transactional public Map updateBatch(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.update(NS + "updateBatch", params); + sqlSession.update(NS + "update_batch", params); Map infoParams = new HashMap<>(); infoParams.put("id", params.get("id")); - return sqlSession.selectOne(NS + "getBatchInfo", infoParams); + return sqlSession.selectOne(NS + "get_batch_info", infoParams); } @Transactional public int deleteBatch(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.delete(NS + "deleteBatch", params); + return sqlSession.delete(NS + "delete_batch", params); } public List> getConnections(String companyCode) { @@ -70,16 +70,16 @@ public class BatchService extends BaseService { try { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("is_active", "Y"); commonService.applyCompanyCodeFilter(params); - List> externalConns = sqlSession.selectList(EXT_NS + "getExternalDbConnectionList", params); + List> externalConns = sqlSession.selectList(EXT_NS + "get_external_db_connection_list", params); for (Map conn : externalConns) { Map item = new LinkedHashMap<>(); item.put("id", conn.get("id")); item.put("name", conn.get("connection_name")); item.put("type", "external"); - item.put("dbType", conn.get("db_type")); + item.put("db_type", conn.get("db_type")); result.add(item); } } catch (Exception e) { @@ -91,7 +91,7 @@ public class BatchService extends BaseService { public List> getTables(String type, Long connectionId) { if ("internal".equals(type)) { - return sqlSession.selectList(NS + "getInternalTables"); + return sqlSession.selectList(NS + "get_internal_tables"); } return new ArrayList<>(); } @@ -99,8 +99,8 @@ public class BatchService extends BaseService { public List> getColumns(String type, Long connectionId, String tableName) { if ("internal".equals(type)) { Map params = new HashMap<>(); - params.put("tableName", tableName); - return sqlSession.selectList(NS + "getInternalTableColumns", params); + params.put("table_name", tableName); + return sqlSession.selectList(NS + "get_internal_table_columns", params); } return new ArrayList<>(); } diff --git a/backend-spring/src/main/java/com/erp/service/BomService.java b/backend-spring/src/main/java/com/erp/service/BomService.java index a0edba02..3dace3a7 100644 --- a/backend-spring/src/main/java/com/erp/service/BomService.java +++ b/backend-spring/src/main/java/com/erp/service/BomService.java @@ -25,34 +25,34 @@ public class BomService extends BaseService { public Map getBomList(Map params) { commonService.applyCompanyCodeFilter(params); commonService.applyPagination(params); - int totalCount = sqlSession.selectOne(NS + "getBomListCnt", params); - List> list = sqlSession.selectList(NS + "getBomList", params); + int totalCount = sqlSession.selectOne(NS + "get_bom_list_cnt", params); + List> list = sqlSession.selectList(NS + "get_bom_list", params); return commonService.buildListResponse(list, totalCount, params); } public Map getBomInfo(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.selectOne(NS + "getBomInfo", params); + return sqlSession.selectOne(NS + "get_bom_info", params); } @Transactional public Map insertBom(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.insert(NS + "insertBom", params); + sqlSession.insert(NS + "insert_bom", params); return params; } @Transactional public Map updateBom(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.update(NS + "updateBom", params); + sqlSession.update(NS + "update_bom", params); return params; } @Transactional public Map deleteBom(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.delete(NS + "deleteBom", params); + sqlSession.delete(NS + "delete_bom", params); return params; } @@ -125,7 +125,7 @@ public class BomService extends BaseService { Map result = new LinkedHashMap<>(); result.put("versions", versions); - result.put("currentVersionId", currentVersionId); + result.put("current_version_id", currentVersionId); return result; } @@ -213,7 +213,7 @@ public class BomService extends BaseService { Map result = new HashMap<>(); result.put("restored", true); - result.put("versionName", versionName); + result.put("version_name", versionName); return result; } @@ -236,7 +236,7 @@ public class BomService extends BaseService { Map result = new HashMap<>(); result.put("activated", true); - result.put("versionName", versionName); + result.put("version_name", versionName); return result; } @@ -253,7 +253,7 @@ public class BomService extends BaseService { currentVersionId, bomId ); Map result = new HashMap<>(); - result.put("versionId", currentVersionId); + result.put("version_id", currentVersionId); result.put("created", false); return result; } @@ -270,7 +270,7 @@ public class BomService extends BaseService { "UPDATE bom SET current_version_id = ? WHERE id = ? AND current_version_id IS NULL", existId, bomId ); Map result = new HashMap<>(); - result.put("versionId", existId); + result.put("version_id", existId); result.put("created", false); return result; } @@ -289,8 +289,8 @@ public class BomService extends BaseService { jdbcTemplate.update("UPDATE bom SET current_version_id = ? WHERE id = ?", versionId, bomId); Map result = new HashMap<>(); - result.put("versionId", versionId); - result.put("versionName", versionName); + result.put("version_id", versionId); + result.put("version_name", versionName); result.put("created", true); return result; } @@ -316,15 +316,15 @@ public class BomService extends BaseService { public Map createBomFromExcel(String companyCode, String userId, List> rows) { Map result = new LinkedHashMap<>(); result.put("success", false); - result.put("insertedCount", 0); - result.put("skippedCount", 0); + result.put("inserted_count", 0); + result.put("skipped_count", 0); result.put("errors", new ArrayList()); - result.put("unmatchedItems", new ArrayList()); + result.put("unmatched_items", new ArrayList()); @SuppressWarnings("unchecked") List errors = (List) result.get("errors"); @SuppressWarnings("unchecked") - List unmatchedItems = (List) result.get("unmatchedItems"); + List unmatchedItems = (List) result.get("unmatched_items"); if (rows == null || rows.isEmpty()) { errors.add("업로드할 데이터가 없습니다"); @@ -445,8 +445,8 @@ public class BomService extends BaseService { ); result.put("success", true); - result.put("insertedCount", insertedCount); - result.put("createdBomId", newBomId); + result.put("inserted_count", insertedCount); + result.put("created_bom_id", newBomId); return result; } @@ -454,20 +454,20 @@ public class BomService extends BaseService { public Map createBomVersionFromExcel(String bomId, String companyCode, String userId, List> rows, String versionName) { Map result = new LinkedHashMap<>(); result.put("success", false); - result.put("insertedCount", 0); - result.put("skippedCount", 0); + result.put("inserted_count", 0); + result.put("skipped_count", 0); result.put("errors", new ArrayList()); - result.put("unmatchedItems", new ArrayList()); + result.put("unmatched_items", new ArrayList()); @SuppressWarnings("unchecked") List errors = (List) result.get("errors"); @SuppressWarnings("unchecked") - List unmatchedItems = (List) result.get("unmatchedItems"); + List unmatchedItems = (List) result.get("unmatched_items"); if (rows == null || rows.isEmpty()) { errors.add("업로드할 데이터가 없습니다"); return result; } List> detailRows = rows.stream().filter(r -> toInt(r.get("level")) > 0).collect(Collectors.toList()); - result.put("skippedCount", rows.size() - detailRows.size()); + result.put("skipped_count", rows.size() - detailRows.size()); if (detailRows.isEmpty()) { errors.add("하위품목이 없습니다"); return result; } List> bomCheck = jdbcTemplate.queryForList( @@ -554,8 +554,8 @@ public class BomService extends BaseService { ); result.put("success", true); - result.put("insertedCount", insertedCount); - result.put("createdBomId", bomId); + result.put("inserted_count", insertedCount); + result.put("created_bom_id", bomId); return result; } diff --git a/backend-spring/src/main/java/com/erp/service/BookingService.java b/backend-spring/src/main/java/com/erp/service/BookingService.java index bbd8be0b..c012910d 100644 --- a/backend-spring/src/main/java/com/erp/service/BookingService.java +++ b/backend-spring/src/main/java/com/erp/service/BookingService.java @@ -31,8 +31,8 @@ public class BookingService extends BaseService { Map result = new LinkedHashMap<>(); result.put("bookings", list); - result.put("newCount", newCount); - result.put("totalCount", totalCount); + result.put("new_count", newCount); + result.put("total_count", totalCount); return result; } diff --git a/backend-spring/src/main/java/com/erp/service/ButtonActionStandardService.java b/backend-spring/src/main/java/com/erp/service/ButtonActionStandardService.java index 81b00a5f..d0afffd6 100644 --- a/backend-spring/src/main/java/com/erp/service/ButtonActionStandardService.java +++ b/backend-spring/src/main/java/com/erp/service/ButtonActionStandardService.java @@ -23,7 +23,7 @@ public class ButtonActionStandardService extends BaseService { * 버튼 액션 목록 조회 (동적 필터) */ public List> getButtonActions(Map params) { - List> rows = sqlSession.selectList(NS + "selectButtonActions", params); + List> rows = sqlSession.selectList(NS + "select_button_actions", params); rows.forEach(this::parseJsonFields); return rows; } @@ -32,7 +32,7 @@ public class ButtonActionStandardService extends BaseService { * 버튼 액션 단건 조회 */ public Map getButtonAction(Map params) { - Map row = sqlSession.selectOne(NS + "selectButtonActionByType", params); + Map row = sqlSession.selectOne(NS + "select_button_action_by_type", params); if (row != null) parseJsonFields(row); return row; } @@ -43,7 +43,7 @@ public class ButtonActionStandardService extends BaseService { @Transactional public Map createButtonAction(Map params) { // 중복 체크 - Map existing = sqlSession.selectOne(NS + "selectButtonActionByType", params); + Map existing = sqlSession.selectOne(NS + "select_button_action_by_type", params); if (existing != null) { throw new IllegalArgumentException("이미 존재하는 액션 타입입니다: " + params.get("action_type")); } @@ -59,11 +59,11 @@ public class ButtonActionStandardService extends BaseService { params.putIfAbsent("sort_order", 0); params.putIfAbsent("is_active", "Y"); - sqlSession.insert(NS + "insertButtonAction", params); + sqlSession.insert(NS + "insert_button_action", params); // 삽입된 행 조회 후 반환 (actionType 키로 조회) - params.put("actionType", params.get("action_type")); - Map created = sqlSession.selectOne(NS + "selectButtonActionByType", params); + params.put("action_type", params.get("action_type")); + Map created = sqlSession.selectOne(NS + "select_button_action_by_type", params); if (created != null) parseJsonFields(created); return created; } @@ -74,7 +74,7 @@ public class ButtonActionStandardService extends BaseService { @Transactional public Map updateButtonAction(Map params) { // 존재 여부 확인 - Map existing = sqlSession.selectOne(NS + "selectButtonActionByType", params); + Map existing = sqlSession.selectOne(NS + "select_button_action_by_type", params); if (existing == null) { return null; } @@ -83,9 +83,9 @@ public class ButtonActionStandardService extends BaseService { serializeJsonField(params, "validation_rules"); serializeJsonField(params, "action_config"); - sqlSession.update(NS + "updateButtonAction", params); + sqlSession.update(NS + "update_button_action", params); - Map updated = sqlSession.selectOne(NS + "selectButtonActionByType", params); + Map updated = sqlSession.selectOne(NS + "select_button_action_by_type", params); if (updated != null) parseJsonFields(updated); return updated; } @@ -95,11 +95,11 @@ public class ButtonActionStandardService extends BaseService { */ @Transactional public boolean deleteButtonAction(Map params) { - Map existing = sqlSession.selectOne(NS + "selectButtonActionByType", params); + Map existing = sqlSession.selectOne(NS + "select_button_action_by_type", params); if (existing == null) { return false; } - sqlSession.delete(NS + "deleteButtonAction", params); + sqlSession.delete(NS + "delete_button_action", params); return true; } @@ -110,7 +110,7 @@ public class ButtonActionStandardService extends BaseService { public void updateSortOrder(List> items, String userId) { for (Map item : items) { item.put("updated_by", userId); - sqlSession.update(NS + "updateSortOrderItem", item); + sqlSession.update(NS + "update_sort_order_item", item); } } @@ -118,7 +118,7 @@ public class ButtonActionStandardService extends BaseService { * 카테고리 목록 조회 (카운트 포함) */ public List> getCategories(Map params) { - List> rows = sqlSession.selectList(NS + "selectCategories", params); + List> rows = sqlSession.selectList(NS + "select_categories", params); // count 필드를 Integer로 변환 rows.forEach(row -> { Object cnt = row.get("count"); diff --git a/backend-spring/src/main/java/com/erp/service/ButtonDataflowService.java b/backend-spring/src/main/java/com/erp/service/ButtonDataflowService.java index 49617f43..1a375ebe 100644 --- a/backend-spring/src/main/java/com/erp/service/ButtonDataflowService.java +++ b/backend-spring/src/main/java/com/erp/service/ButtonDataflowService.java @@ -32,14 +32,14 @@ public class ButtonDataflowService extends BaseService { public Map getButtonDataflowConfig(String buttonId) { // Node 코드와 동일한 mock 구조 Map config = new LinkedHashMap<>(); - config.put("controlMode", "simple"); - config.put("selectedDiagramId", 1); - config.put("selectedRelationshipId", "rel-123"); + config.put("control_mode", "simple"); + config.put("selected_diagram_id", 1); + config.put("selected_relationship_id", "rel-123"); Map opts = new LinkedHashMap<>(); - opts.put("rollbackOnError", true); - opts.put("enableLogging", true); - opts.put("asyncExecution", true); - config.put("executionOptions", opts); + opts.put("rollback_on_error", true); + opts.put("enable_logging", true); + opts.put("async_execution", true); + config.put("execution_options", opts); return config; } @@ -54,7 +54,7 @@ public class ButtonDataflowService extends BaseService { public List> getAvailableDiagrams(String companyCode) { Map params = new LinkedHashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("page", 1); params.put("size", 100); @@ -121,8 +121,8 @@ public class ButtonDataflowService extends BaseService { preview.put("relationship", relationship); preview.put("control", control); preview.put("plan", plan); - preview.put("conditionsCount", conditionsCount); - preview.put("actionsCount", actionsCount); + preview.put("conditions_count", conditionsCount); + preview.put("actions_count", actionsCount); return preview; } @@ -135,8 +135,8 @@ public class ButtonDataflowService extends BaseService { * timing: after | before | replace */ public Map executeOptimizedButton(Map params) { - String buttonId = (String) params.get("buttonId"); - String actionType = (String) params.get("actionType"); + String buttonId = (String) params.get("button_id"); + String actionType = (String) params.get("action_type"); String timing = params.get("timing") != null ? (String) params.get("timing") : "after"; long startTime = System.currentTimeMillis(); @@ -148,18 +148,18 @@ public class ButtonDataflowService extends BaseService { Map immediateResult = new LinkedHashMap<>(); immediateResult.put("success", true); immediateResult.put("message", actionType + " 액션이 완료되었습니다."); - immediateResult.put("actionType", actionType); + immediateResult.put("action_type", actionType); immediateResult.put("timestamp", new java.util.Date().toString()); long responseTime = System.currentTimeMillis() - startTime; log.info("버튼 실행 ({}): {}ms, jobId={}", timing, responseTime, jobId); Map data = new LinkedHashMap<>(); - data.put("jobId", jobId); - data.put("immediateResult", immediateResult); - data.put("isBackground", true); + data.put("job_id", jobId); + data.put("immediate_result", immediateResult); + data.put("is_background", true); data.put("timing", timing); - data.put("responseTime", responseTime); + data.put("response_time", responseTime); return data; } @@ -167,13 +167,13 @@ public class ButtonDataflowService extends BaseService { * 단순 데이터플로우 즉시 실행 (Node 코드 executeSimpleDataflow 동일 구조) */ public Map executeSimpleDataflow(Map params) { - String companyCode = (String) params.getOrDefault("companyCode", "*"); + String companyCode = (String) params.getOrDefault("company_code", "*"); log.info("단순 데이터플로우 실행: companyCode={}", companyCode); // Node 코드와 동일한 응답 구조 Map result = new LinkedHashMap<>(); result.put("success", true); - result.put("executedActions", 0); + result.put("executed_actions", 0); result.put("message", "0개의 액션이 실행되었습니다."); result.put("results", Collections.emptyList()); return result; @@ -187,7 +187,7 @@ public class ButtonDataflowService extends BaseService { // Node 코드와 동일한 mock 응답 Map innerResult = new LinkedHashMap<>(); innerResult.put("success", true); - innerResult.put("executedActions", 2); + innerResult.put("executed_actions", 2); innerResult.put("message", "백그라운드 처리가 완료되었습니다."); Map status = new LinkedHashMap<>(); @@ -205,9 +205,9 @@ public class ButtonDataflowService extends BaseService { log.info("조인 관계 조회: {}.* → {}.* (company={})", mainTable, detailTable, companyCode); Map qParams = new HashMap<>(); - qParams.put("mainTable", mainTable); - qParams.put("detailTable", detailTable); - qParams.put("companyCode", companyCode != null ? companyCode : "*"); + qParams.put("main_table", mainTable); + qParams.put("detail_table", detailTable); + qParams.put("company_code", companyCode != null ? companyCode : "*"); Map row = sqlSession.selectOne("buttonDataflow.getButtonDataflowJoinRelationship", qParams); @@ -238,9 +238,9 @@ public class ButtonDataflowService extends BaseService { Map result = new LinkedHashMap<>(); result.put("found", true); - result.put("mainColumn", mainColumn); - result.put("detailColumn", detailColumn); - result.put("relationshipType", row.get("relationship_type")); + result.put("main_column", mainColumn); + result.put("detail_column", detailColumn); + result.put("relationship_type", row.get("relationship_type")); return result; } diff --git a/backend-spring/src/main/java/com/erp/service/CascadingAutoFillService.java b/backend-spring/src/main/java/com/erp/service/CascadingAutoFillService.java index c801bc72..021cd4f8 100644 --- a/backend-spring/src/main/java/com/erp/service/CascadingAutoFillService.java +++ b/backend-spring/src/main/java/com/erp/service/CascadingAutoFillService.java @@ -23,20 +23,20 @@ public class CascadingAutoFillService extends BaseService { public Map getCascadingAutoFillGroupList(Map params) { commonService.applyCompanyCodeFilter(params); commonService.applyPagination(params); - int totalCount = sqlSession.selectOne(NS + "getCascadingAutoFillGroupListCnt", params); - List> list = sqlSession.selectList(NS + "getCascadingAutoFillGroupList", params); + int totalCount = sqlSession.selectOne(NS + "get_cascading_auto_fill_group_list_cnt", params); + List> list = sqlSession.selectList(NS + "get_cascading_auto_fill_group_list", params); return commonService.buildListResponse(list, totalCount, params); } public Map getCascadingAutoFillGroupDetail(Map params) { commonService.applyCompanyCodeFilter(params); - Map group = sqlSession.selectOne(NS + "getCascadingAutoFillGroupByCode", params); + Map group = sqlSession.selectOne(NS + "get_cascading_auto_fill_group_by_code", params); if (group == null) return null; Map mappingParams = new HashMap<>(); - mappingParams.put("groupCode", params.get("groupCode")); - mappingParams.put("companyCode", group.get("company_code")); - List> mappings = sqlSession.selectList(NS + "getCascadingAutoFillMappingList", mappingParams); + mappingParams.put("group_code", params.get("group_code")); + mappingParams.put("company_code", group.get("company_code")); + List> mappings = sqlSession.selectList(NS + "get_cascading_auto_fill_mapping_list", mappingParams); Map result = new HashMap<>(group); result.put("mappings", mappings); @@ -46,23 +46,23 @@ public class CascadingAutoFillService extends BaseService { @Transactional public Map insertCascadingAutoFillGroup(Map params) { commonService.applyCompanyCodeFilter(params); - String companyCode = (String) params.get("companyCode"); + String companyCode = (String) params.get("company_code"); // Generate group code: AF_{timestamp_base36}_{count:03d} Map countParams = new HashMap<>(); - countParams.put("companyCode", companyCode); - Number cntNum = sqlSession.selectOne(NS + "getCascadingAutoFillGroupCount", countParams); + countParams.put("company_code", companyCode); + Number cntNum = sqlSession.selectOne(NS + "get_cascading_auto_fill_group_count", countParams); int count = (cntNum != null ? cntNum.intValue() : 0) + 1; String timestamp = Long.toString(System.currentTimeMillis(), 36).toUpperCase(); String suffix = timestamp.substring(Math.max(0, timestamp.length() - 4)); String groupCode = "AF_" + suffix + "_" + String.format("%03d", count); - params.put("groupCode", groupCode); + params.put("group_code", groupCode); - if (params.get("isActive") == null) { - params.put("isActive", "Y"); + if (params.get("is_active") == null) { + params.put("is_active", "Y"); } - sqlSession.insert(NS + "insertCascadingAutoFillGroup", params); + sqlSession.insert(NS + "insert_cascading_auto_fill_group", params); // Insert mappings Object mappingsObj = params.get("mappings"); @@ -74,12 +74,12 @@ public class CascadingAutoFillService extends BaseService { @SuppressWarnings("unchecked") Map mapping = (Map) m; Map mp = new HashMap<>(mapping); - mp.put("groupCode", groupCode); - mp.put("companyCode", companyCode); - if (mp.get("isEditable") == null) mp.put("isEditable", "Y"); - if (mp.get("isRequired") == null) mp.put("isRequired", "N"); - if (mp.get("sortOrder") == null) mp.put("sortOrder", i + 1); - sqlSession.insert(NS + "insertCascadingAutoFillMapping", mp); + mp.put("group_code", groupCode); + mp.put("company_code", companyCode); + if (mp.get("is_editable") == null) mp.put("is_editable", "Y"); + if (mp.get("is_required") == null) mp.put("is_required", "N"); + if (mp.get("sort_order") == null) mp.put("sort_order", i + 1); + sqlSession.insert(NS + "insert_cascading_auto_fill_mapping", mp); } } } @@ -89,22 +89,22 @@ public class CascadingAutoFillService extends BaseService { @Transactional public Map updateCascadingAutoFillGroup(Map params) { commonService.applyCompanyCodeFilter(params); - String groupCode = (String) params.get("groupCode"); + String groupCode = (String) params.get("group_code"); - Map existing = sqlSession.selectOne(NS + "getCascadingAutoFillGroupByCode", params); + Map existing = sqlSession.selectOne(NS + "get_cascading_auto_fill_group_by_code", params); if (existing == null) return null; String actualCompanyCode = (String) existing.get("company_code"); - params.put("companyCode", actualCompanyCode); + params.put("company_code", actualCompanyCode); - sqlSession.update(NS + "updateCascadingAutoFillGroup", params); + sqlSession.update(NS + "update_cascading_auto_fill_group", params); // Replace mappings if provided if (params.containsKey("mappings")) { Map delParams = new HashMap<>(); - delParams.put("groupCode", groupCode); - delParams.put("companyCode", actualCompanyCode); - sqlSession.delete(NS + "deleteCascadingAutoFillMappings", delParams); + delParams.put("group_code", groupCode); + delParams.put("company_code", actualCompanyCode); + sqlSession.delete(NS + "delete_cascading_auto_fill_mappings", delParams); Object mappingsObj = params.get("mappings"); if (mappingsObj instanceof List) { @@ -115,12 +115,12 @@ public class CascadingAutoFillService extends BaseService { @SuppressWarnings("unchecked") Map mapping = (Map) m; Map mp = new HashMap<>(mapping); - mp.put("groupCode", groupCode); - mp.put("companyCode", actualCompanyCode); - if (mp.get("isEditable") == null) mp.put("isEditable", "Y"); - if (mp.get("isRequired") == null) mp.put("isRequired", "N"); - if (mp.get("sortOrder") == null) mp.put("sortOrder", i + 1); - sqlSession.insert(NS + "insertCascadingAutoFillMapping", mp); + mp.put("group_code", groupCode); + mp.put("company_code", actualCompanyCode); + if (mp.get("is_editable") == null) mp.put("is_editable", "Y"); + if (mp.get("is_required") == null) mp.put("is_required", "N"); + if (mp.get("sort_order") == null) mp.put("sort_order", i + 1); + sqlSession.insert(NS + "insert_cascading_auto_fill_mapping", mp); } } } @@ -131,27 +131,27 @@ public class CascadingAutoFillService extends BaseService { @Transactional public boolean deleteCascadingAutoFillGroup(Map params) { commonService.applyCompanyCodeFilter(params); - Map existing = sqlSession.selectOne(NS + "getCascadingAutoFillGroupByCode", params); + Map existing = sqlSession.selectOne(NS + "get_cascading_auto_fill_group_by_code", params); if (existing == null) return false; - String groupCode = (String) params.get("groupCode"); + String groupCode = (String) params.get("group_code"); String companyCode = (String) existing.get("company_code"); Map delParams = new HashMap<>(); - delParams.put("groupCode", groupCode); - delParams.put("companyCode", companyCode); - sqlSession.delete(NS + "deleteCascadingAutoFillMappings", delParams); - sqlSession.delete(NS + "deleteCascadingAutoFillGroup", delParams); + delParams.put("group_code", groupCode); + delParams.put("company_code", companyCode); + sqlSession.delete(NS + "delete_cascading_auto_fill_mappings", delParams); + sqlSession.delete(NS + "delete_cascading_auto_fill_group", delParams); return true; } public List> getAutoFillMasterOptions(Map params) { commonService.applyCompanyCodeFilter(params); - String companyCode = (String) params.get("companyCode"); + String companyCode = (String) params.get("company_code"); Map groupParams = new HashMap<>(params); - groupParams.put("isActive", "Y"); - Map group = sqlSession.selectOne(NS + "getCascadingAutoFillGroupByCode", groupParams); + groupParams.put("is_active", "Y"); + Map group = sqlSession.selectOne(NS + "get_cascading_auto_fill_group_by_code", groupParams); if (group == null) return null; String masterTable = sanitizeIdentifier((String) group.get("master_table")); @@ -179,20 +179,20 @@ public class CascadingAutoFillService extends BaseService { public Map getAutoFillData(Map params) { commonService.applyCompanyCodeFilter(params); - String groupCode = (String) params.get("groupCode"); - String masterValue = (String) params.get("masterValue"); - String companyCode = (String) params.get("companyCode"); + String groupCode = (String) params.get("group_code"); + String masterValue = (String) params.get("master_value"); + String companyCode = (String) params.get("company_code"); Map groupParams = new HashMap<>(params); - groupParams.put("isActive", "Y"); - Map group = sqlSession.selectOne(NS + "getCascadingAutoFillGroupByCode", groupParams); + groupParams.put("is_active", "Y"); + Map group = sqlSession.selectOne(NS + "get_cascading_auto_fill_group_by_code", groupParams); if (group == null) return null; String actualCompanyCode = (String) group.get("company_code"); Map mappingParams = new HashMap<>(); - mappingParams.put("groupCode", groupCode); - mappingParams.put("companyCode", actualCompanyCode); - List> mappings = sqlSession.selectList(NS + "getCascadingAutoFillMappingList", mappingParams); + mappingParams.put("group_code", groupCode); + mappingParams.put("company_code", actualCompanyCode); + List> mappings = sqlSession.selectList(NS + "get_cascading_auto_fill_mapping_list", mappingParams); if (mappings.isEmpty()) { Map empty = new HashMap<>(); @@ -236,11 +236,11 @@ public class CascadingAutoFillService extends BaseService { autoFillData.put(targetField, finalValue); Map info = new LinkedHashMap<>(); - info.put("targetField", targetField); - info.put("targetLabel", mapping.get("target_label")); + info.put("target_field", targetField); + info.put("target_label", mapping.get("target_label")); info.put("value", finalValue); - info.put("isEditable", "Y".equals(mapping.get("is_editable"))); - info.put("isRequired", "Y".equals(mapping.get("is_required"))); + info.put("is_editable", "Y".equals(mapping.get("is_editable"))); + info.put("is_required", "Y".equals(mapping.get("is_required"))); mappingInfo.add(info); } diff --git a/backend-spring/src/main/java/com/erp/service/CascadingConditionService.java b/backend-spring/src/main/java/com/erp/service/CascadingConditionService.java index 4249131b..d1190b90 100644 --- a/backend-spring/src/main/java/com/erp/service/CascadingConditionService.java +++ b/backend-spring/src/main/java/com/erp/service/CascadingConditionService.java @@ -24,56 +24,56 @@ public class CascadingConditionService extends BaseService { public Map getCascadingConditionList(Map params) { commonService.applyCompanyCodeFilter(params); commonService.applyPagination(params); - int totalCount = sqlSession.selectOne(NS + "getCascadingConditionListCnt", params); - List> list = sqlSession.selectList(NS + "getCascadingConditionList", params); + int totalCount = sqlSession.selectOne(NS + "get_cascading_condition_list_cnt", params); + List> list = sqlSession.selectList(NS + "get_cascading_condition_list", params); return commonService.buildListResponse(list, totalCount, params); } public Map getCascadingConditionInfo(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.selectOne(NS + "getCascadingConditionInfo", params); + return sqlSession.selectOne(NS + "get_cascading_condition_info", params); } @Transactional public Map insertCascadingCondition(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.insert(NS + "insertCascadingCondition", params); + sqlSession.insert(NS + "insert_cascading_condition", params); return params; } @Transactional public Map updateCascadingCondition(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.update(NS + "updateCascadingCondition", params); + sqlSession.update(NS + "update_cascading_condition", params); return params; } @Transactional public Map deleteCascadingCondition(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.delete(NS + "deleteCascadingCondition", params); + sqlSession.delete(NS + "delete_cascading_condition", params); return params; } public Map getFilteredOptions(Map params) { commonService.applyCompanyCodeFilter(params); - String companyCode = (String) params.get("companyCode"); - String conditionFieldValue = params.get("conditionFieldValue") != null - ? String.valueOf(params.get("conditionFieldValue")) : null; - String parentValue = params.get("parentValue") != null - ? String.valueOf(params.get("parentValue")) : null; + String companyCode = (String) params.get("company_code"); + String conditionFieldValue = params.get("condition_field_value") != null + ? String.valueOf(params.get("condition_field_value")) : null; + String parentValue = params.get("parent_value") != null + ? String.valueOf(params.get("parent_value")) : null; // 1. 연쇄 관계 조회 - Map relation = sqlSession.selectOne(NS_RELATION + "getCascadingRelationByCode", params); + Map relation = sqlSession.selectOne(NS_RELATION + "get_cascading_relation_by_code", params); if (relation == null) { Map empty = new LinkedHashMap<>(); empty.put("data", Collections.emptyList()); - empty.put("appliedCondition", null); + empty.put("applied_condition", null); return empty; } // 2. 조건 규칙 조회 (우선순위 내림차순) - List> conditions = sqlSession.selectList(NS + "getCascadingConditionsByRelationCode", params); + List> conditions = sqlSession.selectList(NS + "get_cascading_conditions_by_relation_code", params); // 3. 매칭 조건 탐색 Map matchedCondition = null; @@ -149,11 +149,11 @@ public class CascadingConditionService extends BaseService { result.put("data", options); if (matchedCondition != null) { Map applied = new HashMap<>(); - applied.put("conditionId", matchedCondition.get("condition_id")); - applied.put("conditionName", matchedCondition.get("condition_name")); - result.put("appliedCondition", applied); + applied.put("condition_id", matchedCondition.get("condition_id")); + applied.put("condition_name", matchedCondition.get("condition_name")); + result.put("applied_condition", applied); } else { - result.put("appliedCondition", null); + result.put("applied_condition", null); } return result; } diff --git a/backend-spring/src/main/java/com/erp/service/CascadingHierarchyService.java b/backend-spring/src/main/java/com/erp/service/CascadingHierarchyService.java index ce42016a..b7992e2d 100644 --- a/backend-spring/src/main/java/com/erp/service/CascadingHierarchyService.java +++ b/backend-spring/src/main/java/com/erp/service/CascadingHierarchyService.java @@ -21,20 +21,20 @@ public class CascadingHierarchyService extends BaseService { public Map getCascadingHierarchyGroupList(Map params) { commonService.applyCompanyCodeFilter(params); commonService.applyPagination(params); - int totalCount = sqlSession.selectOne(NS + "getCascadingHierarchyGroupListCnt", params); - List> list = sqlSession.selectList(NS + "getCascadingHierarchyGroupList", params); + int totalCount = sqlSession.selectOne(NS + "get_cascading_hierarchy_group_list_cnt", params); + List> list = sqlSession.selectList(NS + "get_cascading_hierarchy_group_list", params); return commonService.buildListResponse(list, totalCount, params); } public Map getCascadingHierarchyGroupDetail(Map params) { commonService.applyCompanyCodeFilter(params); - Map group = sqlSession.selectOne(NS + "getCascadingHierarchyGroupByCode", params); + Map group = sqlSession.selectOne(NS + "get_cascading_hierarchy_group_by_code", params); if (group == null) return null; Map levelParams = new HashMap<>(); - levelParams.put("groupCode", params.get("groupCode")); - levelParams.put("companyCode", group.get("company_code")); - List> levels = sqlSession.selectList(NS + "getCascadingHierarchyLevelList", levelParams); + levelParams.put("group_code", params.get("group_code")); + levelParams.put("company_code", group.get("company_code")); + List> levels = sqlSession.selectList(NS + "get_cascading_hierarchy_level_list", levelParams); Map result = new HashMap<>(group); result.put("levels", levels); @@ -44,47 +44,47 @@ public class CascadingHierarchyService extends BaseService { @Transactional public Map insertCascadingHierarchyGroup(Map params) { commonService.applyCompanyCodeFilter(params); - String companyCode = (String) params.get("companyCode"); - String userId = (String) params.getOrDefault("userId", "system"); + String companyCode = (String) params.get("company_code"); + String userId = (String) params.getOrDefault("user_id", "system"); // Generate group code: HG_{timestamp_base36}_{count:03d} Map countParams = new HashMap<>(); - countParams.put("companyCode", companyCode); - Number cntNum = sqlSession.selectOne(NS + "getCascadingHierarchyGroupCount", countParams); + countParams.put("company_code", companyCode); + Number cntNum = sqlSession.selectOne(NS + "get_cascading_hierarchy_group_count", countParams); int count = (cntNum != null ? cntNum.intValue() : 0) + 1; String timestamp = Long.toString(System.currentTimeMillis(), 36).toUpperCase(); String suffix = timestamp.substring(Math.max(0, timestamp.length() - 4)); String groupCode = "HG_" + suffix + "_" + String.format("%03d", count); - params.put("groupCode", groupCode); - params.put("createdBy", userId); + params.put("group_code", groupCode); + params.put("created_by", userId); - if (params.get("hierarchyType") == null) params.put("hierarchyType", "MULTI_TABLE"); - if (params.get("isFixedLevels") == null) params.put("isFixedLevels", "Y"); - if (params.get("emptyMessage") == null) params.put("emptyMessage", "선택해주세요"); - if (params.get("noOptionsMessage") == null) params.put("noOptionsMessage", "옵션이 없습니다"); - if (params.get("loadingMessage") == null) params.put("loadingMessage", "로딩 중..."); + if (params.get("hierarchy_type") == null) params.put("hierarchy_type", "MULTI_TABLE"); + if (params.get("is_fixed_levels") == null) params.put("is_fixed_levels", "Y"); + if (params.get("empty_message") == null) params.put("empty_message", "선택해주세요"); + if (params.get("no_options_message") == null) params.put("no_options_message", "옵션이 없습니다"); + if (params.get("loading_message") == null) params.put("loading_message", "로딩 중..."); - sqlSession.insert(NS + "insertCascadingHierarchyGroup", params); + sqlSession.insert(NS + "insert_cascading_hierarchy_group", params); // Insert levels for MULTI_TABLE type Object levelsObj = params.get("levels"); - if ("MULTI_TABLE".equals(params.get("hierarchyType")) && levelsObj instanceof List) { + if ("MULTI_TABLE".equals(params.get("hierarchy_type")) && levelsObj instanceof List) { List levels = (List) levelsObj; for (Object l : levels) { if (l instanceof Map) { @SuppressWarnings("unchecked") Map level = (Map) l; Map lp = new HashMap<>(level); - lp.put("groupCode", groupCode); - lp.put("companyCode", companyCode); - if (lp.get("orderDirection") == null) lp.put("orderDirection", "ASC"); - if (lp.get("isRequired") == null) lp.put("isRequired", "Y"); - if (lp.get("isSearchable") == null) lp.put("isSearchable", "N"); - if (lp.get("placeholder") == null && lp.get("levelName") != null) { - lp.put("placeholder", lp.get("levelName") + " 선택"); + lp.put("group_code", groupCode); + lp.put("company_code", companyCode); + if (lp.get("order_direction") == null) lp.put("order_direction", "ASC"); + if (lp.get("is_required") == null) lp.put("is_required", "Y"); + if (lp.get("is_searchable") == null) lp.put("is_searchable", "N"); + if (lp.get("placeholder") == null && lp.get("level_name") != null) { + lp.put("placeholder", lp.get("level_name") + " 선택"); } - sqlSession.insert(NS + "insertCascadingHierarchyLevel", lp); + sqlSession.insert(NS + "insert_cascading_hierarchy_level", lp); } } } @@ -94,81 +94,81 @@ public class CascadingHierarchyService extends BaseService { @Transactional public Map updateCascadingHierarchyGroup(Map params) { commonService.applyCompanyCodeFilter(params); - params.put("updatedBy", params.getOrDefault("userId", "system")); + params.put("updated_by", params.getOrDefault("user_id", "system")); - Map existing = sqlSession.selectOne(NS + "getCascadingHierarchyGroupByCode", params); + Map existing = sqlSession.selectOne(NS + "get_cascading_hierarchy_group_by_code", params); if (existing == null) return null; - params.put("companyCode", existing.get("company_code")); - sqlSession.update(NS + "updateCascadingHierarchyGroup", params); + params.put("company_code", existing.get("company_code")); + sqlSession.update(NS + "update_cascading_hierarchy_group", params); return params; } @Transactional public boolean deleteCascadingHierarchyGroup(Map params) { commonService.applyCompanyCodeFilter(params); - Map existing = sqlSession.selectOne(NS + "getCascadingHierarchyGroupByCode", params); + Map existing = sqlSession.selectOne(NS + "get_cascading_hierarchy_group_by_code", params); if (existing == null) return false; - String groupCode = (String) params.get("groupCode"); + String groupCode = (String) params.get("group_code"); String companyCode = (String) existing.get("company_code"); Map delParams = new HashMap<>(); - delParams.put("groupCode", groupCode); - delParams.put("companyCode", companyCode); - sqlSession.delete(NS + "deleteCascadingHierarchyLevels", delParams); - sqlSession.delete(NS + "deleteCascadingHierarchyGroup", delParams); + delParams.put("group_code", groupCode); + delParams.put("company_code", companyCode); + sqlSession.delete(NS + "delete_cascading_hierarchy_levels", delParams); + sqlSession.delete(NS + "delete_cascading_hierarchy_group", delParams); return true; } @Transactional public Map addCascadingHierarchyLevel(Map params) { commonService.applyCompanyCodeFilter(params); - String groupCode = (String) params.get("groupCode"); + String groupCode = (String) params.get("group_code"); Map groupParams = new HashMap<>(); - groupParams.put("groupCode", groupCode); - groupParams.put("companyCode", params.get("companyCode")); - Map group = sqlSession.selectOne(NS + "getCascadingHierarchyGroupByCode", groupParams); + groupParams.put("group_code", groupCode); + groupParams.put("company_code", params.get("company_code")); + Map group = sqlSession.selectOne(NS + "get_cascading_hierarchy_group_by_code", groupParams); if (group == null) return null; - params.put("companyCode", group.get("company_code")); - if (params.get("orderDirection") == null) params.put("orderDirection", "ASC"); - if (params.get("isRequired") == null) params.put("isRequired", "Y"); - if (params.get("isSearchable") == null) params.put("isSearchable", "N"); - if (params.get("placeholder") == null && params.get("levelName") != null) { - params.put("placeholder", params.get("levelName") + " 선택"); + params.put("company_code", group.get("company_code")); + if (params.get("order_direction") == null) params.put("order_direction", "ASC"); + if (params.get("is_required") == null) params.put("is_required", "Y"); + if (params.get("is_searchable") == null) params.put("is_searchable", "N"); + if (params.get("placeholder") == null && params.get("level_name") != null) { + params.put("placeholder", params.get("level_name") + " 선택"); } - sqlSession.insert(NS + "insertCascadingHierarchyLevel", params); + sqlSession.insert(NS + "insert_cascading_hierarchy_level", params); return params; } @Transactional public Map updateCascadingHierarchyLevel(Map params) { commonService.applyCompanyCodeFilter(params); - Map existing = sqlSession.selectOne(NS + "getCascadingHierarchyLevelInfo", params); + Map existing = sqlSession.selectOne(NS + "get_cascading_hierarchy_level_info", params); if (existing == null) return null; - sqlSession.update(NS + "updateCascadingHierarchyLevel", params); + sqlSession.update(NS + "update_cascading_hierarchy_level", params); return params; } @Transactional public boolean deleteCascadingHierarchyLevel(Map params) { commonService.applyCompanyCodeFilter(params); - Map existing = sqlSession.selectOne(NS + "getCascadingHierarchyLevelInfo", params); + Map existing = sqlSession.selectOne(NS + "get_cascading_hierarchy_level_info", params); if (existing == null) return false; - sqlSession.delete(NS + "deleteCascadingHierarchyLevel", params); + sqlSession.delete(NS + "delete_cascading_hierarchy_level", params); return true; } public Map getLevelOptions(Map params) { commonService.applyCompanyCodeFilter(params); - String companyCode = (String) params.get("companyCode"); + String companyCode = (String) params.get("company_code"); - Map level = sqlSession.selectOne(NS + "getCascadingHierarchyLevelForOptions", params); + Map level = sqlSession.selectOne(NS + "get_cascading_hierarchy_level_for_options", params); if (level == null) return null; String tableName = sanitizeIdentifier((String) level.get("table_name")); @@ -184,7 +184,7 @@ public class CascadingHierarchyService extends BaseService { List sqlParams = new ArrayList<>(); // Parent value filter (level 2+) - Object parentValue = params.get("parentValue"); + Object parentValue = params.get("parent_value"); Object parentKeyColumn = level.get("parent_key_column"); if (parentKeyColumn != null && !parentKeyColumn.toString().isEmpty() && parentValue != null) { sql.append(" AND ").append(sanitizeIdentifier(parentKeyColumn.toString())).append(" = ?"); @@ -219,15 +219,15 @@ public class CascadingHierarchyService extends BaseService { List> options = jdbcTemplate.queryForList(sql.toString(), sqlParams.toArray()); Map levelInfo = new LinkedHashMap<>(); - levelInfo.put("levelId", level.get("level_id")); - levelInfo.put("levelName", level.get("level_name")); + levelInfo.put("level_id", level.get("level_id")); + levelInfo.put("level_name", level.get("level_name")); levelInfo.put("placeholder", level.get("placeholder")); - levelInfo.put("isRequired", level.get("is_required")); - levelInfo.put("isSearchable", level.get("is_searchable")); + levelInfo.put("is_required", level.get("is_required")); + levelInfo.put("is_searchable", level.get("is_searchable")); Map result = new HashMap<>(); result.put("data", options); - result.put("levelInfo", levelInfo); + result.put("level_info", levelInfo); return result; } diff --git a/backend-spring/src/main/java/com/erp/service/CascadingMutualExclusionService.java b/backend-spring/src/main/java/com/erp/service/CascadingMutualExclusionService.java index e0d07de9..bd38370b 100644 --- a/backend-spring/src/main/java/com/erp/service/CascadingMutualExclusionService.java +++ b/backend-spring/src/main/java/com/erp/service/CascadingMutualExclusionService.java @@ -21,46 +21,46 @@ public class CascadingMutualExclusionService extends BaseService { public Map getCascadingMutualExclusionList(Map params) { commonService.applyCompanyCodeFilter(params); commonService.applyPagination(params); - int totalCount = sqlSession.selectOne(NS + "getCascadingMutualExclusionListCnt", params); - List> list = sqlSession.selectList(NS + "getCascadingMutualExclusionList", params); + int totalCount = sqlSession.selectOne(NS + "get_cascading_mutual_exclusion_list_cnt", params); + List> list = sqlSession.selectList(NS + "get_cascading_mutual_exclusion_list", params); return commonService.buildListResponse(list, totalCount, params); } public Map getCascadingMutualExclusionInfo(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.selectOne(NS + "getCascadingMutualExclusionInfo", params); + return sqlSession.selectOne(NS + "get_cascading_mutual_exclusion_info", params); } @Transactional public Map insertCascadingMutualExclusion(Map params) { commonService.applyCompanyCodeFilter(params); - if (params.get("exclusionType") == null) params.put("exclusionType", "SAME_VALUE"); - if (params.get("errorMessage") == null) params.put("errorMessage", "동일한 값을 선택할 수 없습니다"); + if (params.get("exclusion_type") == null) params.put("exclusion_type", "SAME_VALUE"); + if (params.get("error_message") == null) params.put("error_message", "동일한 값을 선택할 수 없습니다"); // 배제 코드 자동 생성: EX_XXXX_NNN - String companyCode = (String) params.get("companyCode"); + String companyCode = (String) params.get("company_code"); Map countParams = new LinkedHashMap<>(); - countParams.put("companyCode", companyCode); - int count = sqlSession.selectOne(NS + "getCascadingMutualExclusionCount", countParams); + countParams.put("company_code", companyCode); + int count = sqlSession.selectOne(NS + "get_cascading_mutual_exclusion_count", countParams); String ts = Long.toString(System.currentTimeMillis(), 36).toUpperCase(); ts = ts.substring(Math.max(0, ts.length() - 4)); - params.put("exclusionCode", String.format("EX_%s_%03d", ts, count + 1)); + params.put("exclusion_code", String.format("EX_%s_%03d", ts, count + 1)); - sqlSession.insert(NS + "insertCascadingMutualExclusion", params); + sqlSession.insert(NS + "insert_cascading_mutual_exclusion", params); return params; } @Transactional public Map updateCascadingMutualExclusion(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.update(NS + "updateCascadingMutualExclusion", params); + sqlSession.update(NS + "update_cascading_mutual_exclusion", params); return params; } @Transactional public Map deleteCascadingMutualExclusion(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.delete(NS + "deleteCascadingMutualExclusion", params); + sqlSession.delete(NS + "delete_cascading_mutual_exclusion", params); return params; } @@ -69,11 +69,11 @@ public class CascadingMutualExclusionService extends BaseService { */ public Map validateCascadingMutualExclusion(Map params) { commonService.applyCompanyCodeFilter(params); - Map exclusion = sqlSession.selectOne(NS + "getCascadingMutualExclusionByCode", params); + Map exclusion = sqlSession.selectOne(NS + "get_cascading_mutual_exclusion_by_code", params); if (exclusion == null) throw new NoSuchElementException("상호 배제 규칙을 찾을 수 없습니다."); @SuppressWarnings("unchecked") - Map fieldValues = (Map) params.getOrDefault("fieldValues", Collections.emptyMap()); + Map fieldValues = (Map) params.getOrDefault("field_values", Collections.emptyMap()); String fieldNamesStr = (String) exclusion.get("field_names"); String[] fields = fieldNamesStr != null ? fieldNamesStr.split(",") : new String[0]; @@ -112,9 +112,9 @@ public class CascadingMutualExclusionService extends BaseService { } Map result = new LinkedHashMap<>(); - result.put("isValid", isValid); - result.put("errorMessage", isValid ? null : errorMessage); - result.put("conflictingFields", conflictingFields); + result.put("is_valid", isValid); + result.put("error_message", isValid ? null : errorMessage); + result.put("conflicting_fields", conflictingFields); return result; } @@ -123,9 +123,9 @@ public class CascadingMutualExclusionService extends BaseService { */ public List> getExcludedOptions(Map params) { commonService.applyCompanyCodeFilter(params); - String companyCode = (String) params.get("companyCode"); + String companyCode = (String) params.get("company_code"); - Map exclusion = sqlSession.selectOne(NS + "getCascadingMutualExclusionByCode", params); + Map exclusion = sqlSession.selectOne(NS + "get_cascading_mutual_exclusion_by_code", params); if (exclusion == null) throw new NoSuchElementException("상호 배제 규칙을 찾을 수 없습니다."); String sourceTable = (String) exclusion.get("source_table"); @@ -148,7 +148,7 @@ public class CascadingMutualExclusionService extends BaseService { queryParams.add(companyCode); } - Object selectedValuesParam = params.get("selectedValues"); + Object selectedValuesParam = params.get("selected_values"); if (selectedValuesParam != null) { List excludeValues = new ArrayList<>(); for (String v : selectedValuesParam.toString().split(",")) { diff --git a/backend-spring/src/main/java/com/erp/service/CascadingRelationService.java b/backend-spring/src/main/java/com/erp/service/CascadingRelationService.java index e3184828..fed26ac4 100644 --- a/backend-spring/src/main/java/com/erp/service/CascadingRelationService.java +++ b/backend-spring/src/main/java/com/erp/service/CascadingRelationService.java @@ -22,62 +22,62 @@ public class CascadingRelationService extends BaseService { public Map getCascadingRelationList(Map params) { commonService.applyCompanyCodeFilter(params); commonService.applyPagination(params); - int totalCount = sqlSession.selectOne(NS + "getCascadingRelationListCnt", params); - List> list = sqlSession.selectList(NS + "getCascadingRelationList", params); + int totalCount = sqlSession.selectOne(NS + "get_cascading_relation_list_cnt", params); + List> list = sqlSession.selectList(NS + "get_cascading_relation_list", params); return commonService.buildListResponse(list, totalCount, params); } public Map getCascadingRelationInfo(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.selectOne(NS + "getCascadingRelationInfo", params); + return sqlSession.selectOne(NS + "get_cascading_relation_info", params); } public Map getCascadingRelationByCode(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.selectOne(NS + "getCascadingRelationByCode", params); + return sqlSession.selectOne(NS + "get_cascading_relation_by_code", params); } @Transactional public Map insertCascadingRelation(Map params) { commonService.applyCompanyCodeFilter(params); - if (params.get("emptyParentMessage") == null) - params.put("emptyParentMessage", "상위 항목을 먼저 선택하세요"); - if (params.get("noOptionsMessage") == null) - params.put("noOptionsMessage", "선택 가능한 항목이 없습니다"); - if (params.get("loadingMessage") == null) - params.put("loadingMessage", "로딩 중..."); - if (params.get("childOrderDirection") == null) - params.put("childOrderDirection", "ASC"); - Object clearOnParentChange = params.get("clearOnParentChange"); + if (params.get("empty_parent_message") == null) + params.put("empty_parent_message", "상위 항목을 먼저 선택하세요"); + if (params.get("no_options_message") == null) + params.put("no_options_message", "선택 가능한 항목이 없습니다"); + if (params.get("loading_message") == null) + params.put("loading_message", "로딩 중..."); + if (params.get("child_order_direction") == null) + params.put("child_order_direction", "ASC"); + Object clearOnParentChange = params.get("clear_on_parent_change"); if (clearOnParentChange == null) { - params.put("clearOnParentChange", "Y"); + params.put("clear_on_parent_change", "Y"); } else if (clearOnParentChange instanceof Boolean) { - params.put("clearOnParentChange", Boolean.TRUE.equals(clearOnParentChange) ? "Y" : "N"); + params.put("clear_on_parent_change", Boolean.TRUE.equals(clearOnParentChange) ? "Y" : "N"); } - params.put("isActive", "Y"); - sqlSession.insert(NS + "insertCascadingRelation", params); + params.put("is_active", "Y"); + sqlSession.insert(NS + "insert_cascading_relation", params); return params; } @Transactional public Map updateCascadingRelation(Map params) { commonService.applyCompanyCodeFilter(params); - Object isActive = params.get("isActive"); + Object isActive = params.get("is_active"); if (isActive instanceof Boolean) { - params.put("isActive", Boolean.TRUE.equals(isActive) ? "Y" : "N"); + params.put("is_active", Boolean.TRUE.equals(isActive) ? "Y" : "N"); } - Object clearOnParentChange = params.get("clearOnParentChange"); + Object clearOnParentChange = params.get("clear_on_parent_change"); if (clearOnParentChange instanceof Boolean) { - params.put("clearOnParentChange", Boolean.TRUE.equals(clearOnParentChange) ? "Y" : "N"); + params.put("clear_on_parent_change", Boolean.TRUE.equals(clearOnParentChange) ? "Y" : "N"); } - sqlSession.update(NS + "updateCascadingRelation", params); + sqlSession.update(NS + "update_cascading_relation", params); return params; } @Transactional public Map deleteCascadingRelation(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.update(NS + "deleteCascadingRelation", params); + sqlSession.update(NS + "delete_cascading_relation", params); return params; } @@ -85,9 +85,9 @@ public class CascadingRelationService extends BaseService { * 부모 옵션 조회: relation_code로 관계 조회 후 parent_table에서 동적 쿼리 */ public List> getParentOptions(Map params) { - String companyCode = (String) params.get("companyCode"); + String companyCode = (String) params.get("company_code"); - Map relation = sqlSession.selectOne(NS + "getCascadingRelationByCode", params); + Map relation = sqlSession.selectOne(NS + "get_cascading_relation_by_code", params); if (relation == null) { throw new NoSuchElementException("연쇄 관계를 찾을 수 없습니다."); } @@ -127,9 +127,9 @@ public class CascadingRelationService extends BaseService { * parentValue(단일) 또는 parentValues(콤마 구분 다중) 지원 */ public List> getCascadingOptions(Map params) { - String companyCode = (String) params.get("companyCode"); - Object parentValueParam = params.get("parentValue"); - Object parentValuesParam = params.get("parentValues"); + String companyCode = (String) params.get("company_code"); + Object parentValueParam = params.get("parent_value"); + Object parentValuesParam = params.get("parent_values"); List parentValueArray = new ArrayList<>(); if (parentValuesParam != null) { @@ -145,7 +145,7 @@ public class CascadingRelationService extends BaseService { return Collections.emptyList(); } - Map relation = sqlSession.selectOne(NS + "getCascadingRelationByCode", params); + Map relation = sqlSession.selectOne(NS + "get_cascading_relation_by_code", params); if (relation == null) { throw new NoSuchElementException("연쇄 관계를 찾을 수 없습니다."); } diff --git a/backend-spring/src/main/java/com/erp/service/CategoryTreeService.java b/backend-spring/src/main/java/com/erp/service/CategoryTreeService.java index cdde499c..cb5beb83 100644 --- a/backend-spring/src/main/java/com/erp/service/CategoryTreeService.java +++ b/backend-spring/src/main/java/com/erp/service/CategoryTreeService.java @@ -24,10 +24,10 @@ public class CategoryTreeService extends BaseService { */ public List> getCategoryTreeList(String companyCode, String tableName, String columnName) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("tableName", tableName); - params.put("columnName", columnName); - List> flatList = sqlSession.selectList(NS + "getCategoryTreeList", params); + params.put("company_code", companyCode); + params.put("table_name", tableName); + params.put("column_name", columnName); + List> flatList = sqlSession.selectList(NS + "get_category_tree_list", params); return buildTree(flatList); } @@ -36,10 +36,10 @@ public class CategoryTreeService extends BaseService { */ public List> getCategoryTreeFlatList(String companyCode, String tableName, String columnName) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("tableName", tableName); - params.put("columnName", columnName); - return sqlSession.selectList(NS + "getCategoryTreeList", params); + params.put("company_code", companyCode); + params.put("table_name", tableName); + params.put("column_name", columnName); + return sqlSession.selectList(NS + "get_category_tree_list", params); } /** @@ -47,9 +47,9 @@ public class CategoryTreeService extends BaseService { */ public Map getCategoryTreeInfo(String companyCode, int valueId) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("valueId", valueId); - return sqlSession.selectOne(NS + "getCategoryTreeInfo", params); + params.put("company_code", companyCode); + params.put("value_id", valueId); + return sqlSession.selectOne(NS + "get_category_tree_info", params); } /** @@ -57,15 +57,15 @@ public class CategoryTreeService extends BaseService { */ @Transactional public Map insertCategoryTree(Map body, String companyCode, String createdBy) { - String tableName = (String) body.get("tableName"); - String columnName = (String) body.get("columnName"); - String valueCode = (String) body.get("valueCode"); - String valueLabel = (String) body.get("valueLabel"); + String tableName = (String) body.get("table_name"); + String columnName = (String) body.get("column_name"); + String valueCode = (String) body.get("value_code"); + String valueLabel = (String) body.get("value_label"); - Object valueOrderRaw = body.get("valueOrder"); + Object valueOrderRaw = body.get("value_order"); int valueOrder = valueOrderRaw != null ? ((Number) valueOrderRaw).intValue() : 0; - Object parentValueIdRaw = body.get("parentValueId"); + Object parentValueIdRaw = body.get("parent_value_id"); // depth / path 계산 int depth = 1; @@ -73,9 +73,9 @@ public class CategoryTreeService extends BaseService { if (parentValueIdRaw != null) { Map parentParams = new HashMap<>(); - parentParams.put("companyCode", companyCode); - parentParams.put("valueId", ((Number) parentValueIdRaw).intValue()); - Map parent = sqlSession.selectOne(NS + "getCategoryTreeInfo", parentParams); + parentParams.put("company_code", companyCode); + parentParams.put("value_id", ((Number) parentValueIdRaw).intValue()); + Map parent = sqlSession.selectOne(NS + "get_category_tree_info", parentParams); if (parent != null) { depth = ((Number) parent.get("depth")).intValue() + 1; if (depth > 3) { @@ -87,33 +87,33 @@ public class CategoryTreeService extends BaseService { } Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("columnName", columnName); - params.put("valueCode", valueCode); - params.put("valueLabel", valueLabel); - params.put("valueOrder", valueOrder); - params.put("parentValueId", parentValueIdRaw); + params.put("table_name", tableName); + params.put("column_name", columnName); + params.put("value_code", valueCode); + params.put("value_label", valueLabel); + params.put("value_order", valueOrder); + params.put("parent_value_id", parentValueIdRaw); params.put("depth", depth); params.put("path", path); params.put("description", body.get("description")); params.put("color", body.get("color")); params.put("icon", body.get("icon")); - Object isActiveRaw = body.get("isActive"); - Object isDefaultRaw = body.get("isDefault"); - params.put("isActive", isActiveRaw != null ? isActiveRaw : true); - params.put("isDefault", isDefaultRaw != null ? isDefaultRaw : false); + Object isActiveRaw = body.get("is_active"); + Object isDefaultRaw = body.get("is_default"); + params.put("is_active", isActiveRaw != null ? isActiveRaw : true); + params.put("is_default", isDefaultRaw != null ? isDefaultRaw : false); - params.put("companyCode", companyCode); - params.put("createdBy", createdBy); + params.put("company_code", companyCode); + params.put("created_by", createdBy); - sqlSession.insert(NS + "insertCategoryTree", params); + sqlSession.insert(NS + "insert_category_tree", params); - // useGeneratedKeys → params.get("valueId") 에 생성된 ID 저장 + // useGeneratedKeys → params.get("value_id") 에 생성된 ID 저장 Map fetchParams = new HashMap<>(); - fetchParams.put("companyCode", companyCode); - fetchParams.put("valueId", params.get("valueId")); - return sqlSession.selectOne(NS + "getCategoryTreeInfo", fetchParams); + fetchParams.put("company_code", companyCode); + fetchParams.put("value_id", params.get("value_id")); + return sqlSession.selectOne(NS + "get_category_tree_info", fetchParams); } /** @@ -123,9 +123,9 @@ public class CategoryTreeService extends BaseService { public Map updateCategoryTree(String companyCode, int valueId, Map body, String updatedBy) { Map currentParams = new HashMap<>(); - currentParams.put("companyCode", companyCode); - currentParams.put("valueId", valueId); - Map current = sqlSession.selectOne(NS + "getCategoryTreeInfo", currentParams); + currentParams.put("company_code", companyCode); + currentParams.put("value_id", valueId); + Map current = sqlSession.selectOne(NS + "get_category_tree_info", currentParams); if (current == null) return null; String currentLabel = (String) current.get("value_label"); @@ -133,22 +133,22 @@ public class CategoryTreeService extends BaseService { String currentPath = (String) current.get("path"); Object currentParentId = current.get("parent_value_id"); - String newLabel = body.containsKey("valueLabel") ? (String) body.get("valueLabel") : currentLabel; + String newLabel = body.containsKey("value_label") ? (String) body.get("value_label") : currentLabel; int newDepth = currentDepth; String newPath = currentPath; - Object newParentId = body.containsKey("parentValueId") ? body.get("parentValueId") : currentParentId; + Object newParentId = body.containsKey("parent_value_id") ? body.get("parent_value_id") : currentParentId; - boolean labelChanged = body.containsKey("valueLabel") + boolean labelChanged = body.containsKey("value_label") && !Objects.equals(newLabel, currentLabel); - boolean parentChanged = body.containsKey("parentValueId") - && !Objects.equals(toLong(body.get("parentValueId")), toLong(currentParentId)); + boolean parentChanged = body.containsKey("parent_value_id") + && !Objects.equals(toLong(body.get("parent_value_id")), toLong(currentParentId)); if (parentChanged) { - if (body.get("parentValueId") != null) { + if (body.get("parent_value_id") != null) { Map newParentParams = new HashMap<>(); - newParentParams.put("companyCode", companyCode); - newParentParams.put("valueId", ((Number) body.get("parentValueId")).intValue()); - Map newParent = sqlSession.selectOne(NS + "getCategoryTreeInfo", newParentParams); + newParentParams.put("company_code", companyCode); + newParentParams.put("value_id", ((Number) body.get("parent_value_id")).intValue()); + Map newParent = sqlSession.selectOne(NS + "get_category_tree_info", newParentParams); if (newParent != null) { newDepth = ((Number) newParent.get("depth")).intValue() + 1; if (newDepth > 3) { @@ -164,9 +164,9 @@ public class CategoryTreeService extends BaseService { } else if (labelChanged) { if (currentParentId != null) { Map parentParams = new HashMap<>(); - parentParams.put("companyCode", companyCode); - parentParams.put("valueId", ((Number) currentParentId).intValue()); - Map parent = sqlSession.selectOne(NS + "getCategoryTreeInfo", parentParams); + parentParams.put("company_code", companyCode); + parentParams.put("value_id", ((Number) currentParentId).intValue()); + Map parent = sqlSession.selectOne(NS + "get_category_tree_info", parentParams); String parentPath = parent != null ? (String) parent.get("path") : null; newPath = parentPath != null ? parentPath + "/" + newLabel : newLabel; } else { @@ -175,22 +175,22 @@ public class CategoryTreeService extends BaseService { } Map updateParams = new HashMap<>(); - updateParams.put("companyCode", companyCode); - updateParams.put("valueId", valueId); - updateParams.put("valueCode", body.get("valueCode")); - updateParams.put("valueLabel", body.containsKey("valueLabel") ? newLabel : null); - updateParams.put("valueOrder", body.get("valueOrder")); - updateParams.put("parentValueId", newParentId); + updateParams.put("company_code", companyCode); + updateParams.put("value_id", valueId); + updateParams.put("value_code", body.get("value_code")); + updateParams.put("value_label", body.containsKey("value_label") ? newLabel : null); + updateParams.put("value_order", body.get("value_order")); + updateParams.put("parent_value_id", newParentId); updateParams.put("depth", newDepth); updateParams.put("path", newPath); updateParams.put("description", body.get("description")); updateParams.put("color", body.get("color")); updateParams.put("icon", body.get("icon")); - updateParams.put("isActive", body.get("isActive")); - updateParams.put("isDefault", body.get("isDefault")); - updateParams.put("updatedBy", updatedBy); + updateParams.put("is_active", body.get("is_active")); + updateParams.put("is_default", body.get("is_default")); + updateParams.put("updated_by", updatedBy); - int affected = sqlSession.update(NS + "updateCategoryTree", updateParams); + int affected = sqlSession.update(NS + "update_category_tree", updateParams); if (affected == 0) return null; if (labelChanged || parentChanged) { @@ -198,9 +198,9 @@ public class CategoryTreeService extends BaseService { } Map fetchParams = new HashMap<>(); - fetchParams.put("companyCode", companyCode); - fetchParams.put("valueId", valueId); - return sqlSession.selectOne(NS + "getCategoryTreeInfo", fetchParams); + fetchParams.put("company_code", companyCode); + fetchParams.put("value_id", valueId); + return sqlSession.selectOne(NS + "get_category_tree_info", fetchParams); } /** @@ -210,35 +210,35 @@ public class CategoryTreeService extends BaseService { Map value = getCategoryTreeInfo(companyCode, valueId); if (value == null) { Map res = new LinkedHashMap<>(); - res.put("canDelete", false); + res.put("can_delete", false); res.put("reason", "카테고리 값을 찾을 수 없습니다"); return res; } Map childParams = new HashMap<>(); - childParams.put("valueId", valueId); - childParams.put("companyCode", companyCode); - Integer childCountObj = sqlSession.selectOne(NS + "getCategoryTreeChildrenCnt", childParams); + childParams.put("value_id", valueId); + childParams.put("company_code", companyCode); + Integer childCountObj = sqlSession.selectOne(NS + "get_category_tree_children_cnt", childParams); int childCount = childCountObj != null ? childCountObj : 0; if (childCount > 0) { Map res = new LinkedHashMap<>(); - res.put("canDelete", false); + res.put("can_delete", false); res.put("reason", "하위 카테고리가 " + childCount + "개 존재합니다. 하위 카테고리를 먼저 삭제해주세요."); return res; } Map usage = checkCategoryValueInUse(companyCode, value); - boolean inUse = Boolean.TRUE.equals(usage.get("inUse")); + boolean inUse = Boolean.TRUE.equals(usage.get("in_use")); if (inUse) { int count = ((Number) usage.get("count")).intValue(); Map res = new LinkedHashMap<>(); - res.put("canDelete", false); + res.put("can_delete", false); res.put("reason", "이 카테고리 값(" + value.get("value_label") + ")은 " + count + "건의 데이터에서 사용 중이므로 삭제할 수 없습니다."); return res; } Map res = new LinkedHashMap<>(); - res.put("canDelete", true); + res.put("can_delete", true); return res; } @@ -252,9 +252,9 @@ public class CategoryTreeService extends BaseService { // 1. 자식 존재 여부 Map childParams = new HashMap<>(); - childParams.put("valueId", valueId); - childParams.put("companyCode", companyCode); - Integer childCountObj = sqlSession.selectOne(NS + "getCategoryTreeChildrenCnt", childParams); + childParams.put("value_id", valueId); + childParams.put("company_code", companyCode); + Integer childCountObj = sqlSession.selectOne(NS + "get_category_tree_children_cnt", childParams); int childCount = childCountObj != null ? childCountObj : 0; if (childCount > 0) { throw new IllegalStateException( @@ -263,7 +263,7 @@ public class CategoryTreeService extends BaseService { // 2. 실제 데이터 사용 여부 Map usage = checkCategoryValueInUse(companyCode, value); - boolean inUse = Boolean.TRUE.equals(usage.get("inUse")); + boolean inUse = Boolean.TRUE.equals(usage.get("in_use")); if (inUse) { int count = ((Number) usage.get("count")).intValue(); throw new IllegalStateException( @@ -273,9 +273,9 @@ public class CategoryTreeService extends BaseService { // 3. 삭제 Map deleteParams = new HashMap<>(); - deleteParams.put("companyCode", companyCode); - deleteParams.put("valueId", valueId); - return sqlSession.delete(NS + "deleteCategoryTree", deleteParams) > 0; + deleteParams.put("company_code", companyCode); + deleteParams.put("value_id", valueId); + return sqlSession.delete(NS + "delete_category_tree", deleteParams) > 0; } /** @@ -283,9 +283,9 @@ public class CategoryTreeService extends BaseService { */ public List> getCategoryTreeColumnList(String companyCode, String tableName) { Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("companyCode", companyCode); - return sqlSession.selectList(NS + "getCategoryTreeColumnList", params); + params.put("table_name", tableName); + params.put("company_code", companyCode); + return sqlSession.selectList(NS + "get_category_tree_column_list", params); } /** @@ -293,8 +293,8 @@ public class CategoryTreeService extends BaseService { */ public List> getCategoryTreeKeyList(String companyCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - return sqlSession.selectList(NS + "getCategoryTreeKeyList", params); + params.put("company_code", companyCode); + return sqlSession.selectList(NS + "get_category_tree_key_list", params); } // ─── private helpers ──────────────────────────────────────────────────────── @@ -333,18 +333,18 @@ public class CategoryTreeService extends BaseService { */ private void updateChildrenPaths(String companyCode, int parentValueId, String parentPath) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("parentValueId", parentValueId); + params.put("company_code", companyCode); + params.put("parent_value_id", parentValueId); - List> children = sqlSession.selectList(NS + "getCategoryTreeChildrenList", params); + List> children = sqlSession.selectList(NS + "get_category_tree_children_list", params); for (Map child : children) { String valueLabel = (String) child.get("value_label"); String newPath = parentPath + "/" + valueLabel; Map updateParams = new HashMap<>(); - updateParams.put("valueId", child.get("value_id")); + updateParams.put("value_id", child.get("value_id")); updateParams.put("path", newPath); - sqlSession.update(NS + "updateCategoryTreeChildPath", updateParams); + sqlSession.update(NS + "update_category_tree_child_path", updateParams); int childId = ((Number) child.get("value_id")).intValue(); updateChildrenPaths(companyCode, childId, newPath); @@ -360,50 +360,50 @@ public class CategoryTreeService extends BaseService { String columnName = (String) value.get("column_name"); String valueCode = (String) value.get("value_code"); - Map notInUse = Map.of("inUse", false, "count", 0); + Map notInUse = Map.of("in_use", false, "count", 0); try { // 1. 테이블 존재 확인 Map tableParams = new HashMap<>(); - tableParams.put("tableName", tableName); - Integer teObj = sqlSession.selectOne(NS + "checkTableExists", tableParams); + tableParams.put("table_name", tableName); + Integer teObj = sqlSession.selectOne(NS + "check_table_exists", tableParams); if (teObj == null || teObj == 0) return notInUse; // 2. 컬럼 존재 확인 Map colParams = new HashMap<>(); - colParams.put("tableName", tableName); - colParams.put("columnName", columnName); - Integer ceObj = sqlSession.selectOne(NS + "checkColumnExists", colParams); + colParams.put("table_name", tableName); + colParams.put("column_name", columnName); + Integer ceObj = sqlSession.selectOne(NS + "check_column_exists", colParams); if (ceObj == null || ceObj == 0) return notInUse; // 3. company_code 컬럼 존재 확인 Map companyColParams = new HashMap<>(); - companyColParams.put("tableName", tableName); - companyColParams.put("columnName", "company_code"); - Integer ccObj = sqlSession.selectOne(NS + "checkColumnExists", companyColParams); + companyColParams.put("table_name", tableName); + companyColParams.put("column_name", "company_code"); + Integer ccObj = sqlSession.selectOne(NS + "check_column_exists", companyColParams); boolean hasCompanyCode = ccObj != null && ccObj > 0; // 4. 사용 건수 조회 int count; if (hasCompanyCode && !"*".equals(companyCode)) { Map countParams = new HashMap<>(); - countParams.put("tableName", tableName); - countParams.put("columnName", columnName); - countParams.put("companyCode", companyCode); - countParams.put("valueCode", valueCode); - Integer cntObj = sqlSession.selectOne(NS + "countCategoryUsageWithCompany", countParams); + countParams.put("table_name", tableName); + countParams.put("column_name", columnName); + countParams.put("company_code", companyCode); + countParams.put("value_code", valueCode); + Integer cntObj = sqlSession.selectOne(NS + "count_category_usage_with_company", countParams); count = cntObj != null ? cntObj : 0; } else { Map countParams = new HashMap<>(); - countParams.put("tableName", tableName); - countParams.put("columnName", columnName); - countParams.put("valueCode", valueCode); - Integer cntObj = sqlSession.selectOne(NS + "countCategoryUsage", countParams); + countParams.put("table_name", tableName); + countParams.put("column_name", columnName); + countParams.put("value_code", valueCode); + Integer cntObj = sqlSession.selectOne(NS + "count_category_usage", countParams); count = cntObj != null ? cntObj : 0; } Map result = new HashMap<>(); - result.put("inUse", count > 0); + result.put("in_use", count > 0); result.put("count", count); return result; diff --git a/backend-spring/src/main/java/com/erp/service/CategoryValueCascadingService.java b/backend-spring/src/main/java/com/erp/service/CategoryValueCascadingService.java index 5aadb3b0..a3288458 100644 --- a/backend-spring/src/main/java/com/erp/service/CategoryValueCascadingService.java +++ b/backend-spring/src/main/java/com/erp/service/CategoryValueCascadingService.java @@ -23,57 +23,57 @@ public class CategoryValueCascadingService extends BaseService { public Map getCategoryValueCascadingGroupList(Map params) { commonService.applyCompanyCodeFilter(params); commonService.applyPagination(params); - int totalCount = sqlSession.selectOne(NS + "getCategoryValueCascadingGroupListCnt", params); - List> list = sqlSession.selectList(NS + "getCategoryValueCascadingGroupList", params); + int totalCount = sqlSession.selectOne(NS + "get_category_value_cascading_group_list_cnt", params); + List> list = sqlSession.selectList(NS + "get_category_value_cascading_group_list", params); return commonService.buildListResponse(list, totalCount, params); } public Map getCategoryValueCascadingGroupInfo(Map params) { commonService.applyCompanyCodeFilter(params); - Map group = sqlSession.selectOne(NS + "getCategoryValueCascadingGroupInfo", params); + Map group = sqlSession.selectOne(NS + "get_category_value_cascading_group_info", params); if (group == null) return null; - List> mappings = sqlSession.selectList(NS + "getCategoryValueCascadingMappingsByGroupId", params); + List> mappings = sqlSession.selectList(NS + "get_category_value_cascading_mappings_by_group_id", params); Map>> mappingsByParent = new LinkedHashMap<>(); for (Map m : mappings) { String parentKey = String.valueOf(m.get("parent_value_code")); mappingsByParent.computeIfAbsent(parentKey, k -> new ArrayList<>()).add(Map.of( - "childValueCode", m.getOrDefault("child_value_code", ""), - "childValueLabel", m.getOrDefault("child_value_label", ""), - "displayOrder", m.getOrDefault("display_order", 0) + "child_value_code", m.getOrDefault("child_value_code", ""), + "child_value_label", m.getOrDefault("child_value_label", ""), + "display_order", m.getOrDefault("display_order", 0) )); } Map result = new LinkedHashMap<>(group); result.put("mappings", mappings); - result.put("mappingsByParent", mappingsByParent); + result.put("mappings_by_parent", mappingsByParent); return result; } public Map getCategoryValueCascadingGroupByCode(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.selectOne(NS + "getCategoryValueCascadingGroupByCode", params); + return sqlSession.selectOne(NS + "get_category_value_cascading_group_by_code", params); } @Transactional public Map insertCategoryValueCascadingGroup(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.insert(NS + "insertCategoryValueCascadingGroup", params); + sqlSession.insert(NS + "insert_category_value_cascading_group", params); return params; } @Transactional public Map updateCategoryValueCascadingGroup(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.update(NS + "updateCategoryValueCascadingGroup", params); + sqlSession.update(NS + "update_category_value_cascading_group", params); return params; } @Transactional public Map deleteCategoryValueCascadingGroup(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.update(NS + "deleteCategoryValueCascadingGroup", params); + sqlSession.update(NS + "delete_category_value_cascading_group", params); return params; } @@ -81,10 +81,10 @@ public class CategoryValueCascadingService extends BaseService { @SuppressWarnings("unchecked") public Map saveCategoryValueCascadingMappings(Map params) { commonService.applyCompanyCodeFilter(params); - String companyCode = (String) params.get("companyCode"); - Object groupId = params.get("groupId"); + String companyCode = (String) params.get("company_code"); + Object groupId = params.get("group_id"); - sqlSession.delete(NS + "deleteCategoryValueCascadingMappingsByGroupId", params); + sqlSession.delete(NS + "delete_category_value_cascading_mappings_by_group_id", params); int savedCount = 0; Object mappingsObj = params.get("mappings"); @@ -92,24 +92,24 @@ public class CategoryValueCascadingService extends BaseService { List> mappings = (List>) mappingsObj; for (Map mapping : mappings) { Map mappingParams = new HashMap<>(mapping); - mappingParams.put("groupId", groupId); - mappingParams.put("companyCode", companyCode); - sqlSession.insert(NS + "insertCategoryValueCascadingMapping", mappingParams); + mappingParams.put("group_id", groupId); + mappingParams.put("company_code", companyCode); + sqlSession.insert(NS + "insert_category_value_cascading_mapping", mappingParams); savedCount++; } } Map result = new LinkedHashMap<>(); - result.put("savedCount", savedCount); - result.put("groupId", groupId); + result.put("saved_count", savedCount); + result.put("group_id", groupId); return result; } public Map getCategoryValueCascadingParentOptions(Map params) { commonService.applyCompanyCodeFilter(params); - String companyCode = (String) params.get("companyCode"); + String companyCode = (String) params.get("company_code"); - Map group = sqlSession.selectOne(NS + "getCategoryValueCascadingGroupByCode", params); + Map group = sqlSession.selectOne(NS + "get_category_value_cascading_group_by_code", params); if (group == null) { Map result = new LinkedHashMap<>(); result.put("data", Collections.emptyList()); @@ -143,9 +143,9 @@ public class CategoryValueCascadingService extends BaseService { public Map getCategoryValueCascadingChildOptions(Map params) { commonService.applyCompanyCodeFilter(params); - String companyCode = (String) params.get("companyCode"); + String companyCode = (String) params.get("company_code"); - Map group = sqlSession.selectOne(NS + "getCategoryValueCascadingGroupByCode", params); + Map group = sqlSession.selectOne(NS + "get_category_value_cascading_group_by_code", params); if (group == null) { Map result = new LinkedHashMap<>(); result.put("data", Collections.emptyList()); @@ -180,8 +180,8 @@ public class CategoryValueCascadingService extends BaseService { public Map getCategoryValueCascadingOptions(Map params) { commonService.applyCompanyCodeFilter(params); - String parentValuesStr = params.get("parentValues") != null ? String.valueOf(params.get("parentValues")) : null; - String parentValue = params.get("parentValue") != null ? String.valueOf(params.get("parentValue")) : null; + String parentValuesStr = params.get("parent_values") != null ? String.valueOf(params.get("parent_values")) : null; + String parentValue = params.get("parent_value") != null ? String.valueOf(params.get("parent_value")) : null; List parentValueArray = new ArrayList<>(); if (parentValuesStr != null && !parentValuesStr.isEmpty()) { @@ -199,7 +199,7 @@ public class CategoryValueCascadingService extends BaseService { return result; } - Map group = sqlSession.selectOne(NS + "getCategoryValueCascadingGroupByCode", params); + Map group = sqlSession.selectOne(NS + "get_category_value_cascading_group_by_code", params); if (group == null) { Map result = new LinkedHashMap<>(); result.put("data", Collections.emptyList()); @@ -223,14 +223,14 @@ public class CategoryValueCascadingService extends BaseService { List> options = jdbcTemplate.queryForList(sql, sqlParams.toArray()); Map result = new LinkedHashMap<>(); result.put("data", options); - result.put("showGroupLabel", "Y".equals(showGroupLabel)); + result.put("show_group_label", "Y".equals(showGroupLabel)); return result; } public Map getCategoryValueCascadingMappingsByTable(Map params) { commonService.applyCompanyCodeFilter(params); - String companyCode = (String) params.get("companyCode"); - String tableName = (String) params.get("tableName"); + String companyCode = (String) params.get("company_code"); + String tableName = (String) params.get("table_name"); StringBuilder groupSql = new StringBuilder( "SELECT group_id, relation_code, child_column_name" + diff --git a/backend-spring/src/main/java/com/erp/service/CodeMergeService.java b/backend-spring/src/main/java/com/erp/service/CodeMergeService.java index 4fbe86c6..4939c5a9 100644 --- a/backend-spring/src/main/java/com/erp/service/CodeMergeService.java +++ b/backend-spring/src/main/java/com/erp/service/CodeMergeService.java @@ -27,8 +27,8 @@ public class CodeMergeService extends BaseService { */ public Map getTablesWithColumn(String columnName) { Map params = new HashMap<>(); - params.put("columnName", columnName); - List> rows = sqlSession.selectList(NS + "getTablesWithColumn", params); + params.put("column_name", columnName); + List> rows = sqlSession.selectList(NS + "get_tables_with_column", params); List tables = rows.stream() .map(r -> { @@ -39,7 +39,7 @@ public class CodeMergeService extends BaseService { .collect(Collectors.toList()); Map result = new LinkedHashMap<>(); - result.put("columnName", columnName); + result.put("column_name", columnName); result.put("tables", tables); result.put("count", tables.size()); return result; @@ -52,9 +52,9 @@ public class CodeMergeService extends BaseService { * columnName + oldValue 기준으로 영향받을 테이블/행 수 미리보기 (DB 변경 없음) */ public Map previewCodeMerge(Map body) { - String columnName = str(body.get("columnName")); - String oldValue = str(body.get("oldValue")); - String companyCode = str(body.get("companyCode")); + String columnName = str(body.get("column_name")); + String oldValue = str(body.get("old_value")); + String companyCode = str(body.get("company_code")); if (isBlank(columnName) || isBlank(oldValue)) { throw new IllegalArgumentException("필수 필드가 누락되었습니다. (columnName, oldValue)"); @@ -63,8 +63,8 @@ public class CodeMergeService extends BaseService { log.info("코드 병합 미리보기: column={}, oldValue={}, company={}", columnName, oldValue, companyCode); Map params = new HashMap<>(); - params.put("columnName", columnName); - List> tableRows = sqlSession.selectList(NS + "getTablesWithColumn", params); + params.put("column_name", columnName); + List> tableRows = sqlSession.selectList(NS + "get_tables_with_column", params); List> preview = new ArrayList<>(); int totalRows = 0; @@ -82,8 +82,8 @@ public class CodeMergeService extends BaseService { Integer count = jdbcTemplate.queryForObject(countSql, Integer.class, oldValue, companyCode); if (count != null && count > 0) { Map item = new LinkedHashMap<>(); - item.put("tableName", tableName); - item.put("affectedRows", count); + item.put("table_name", tableName); + item.put("affected_rows", count); preview.add(item); totalRows += count; } @@ -93,10 +93,10 @@ public class CodeMergeService extends BaseService { } Map result = new LinkedHashMap<>(); - result.put("columnName", columnName); - result.put("oldValue", oldValue); + result.put("column_name", columnName); + result.put("old_value", oldValue); result.put("preview", preview); - result.put("totalAffectedRows", totalRows); + result.put("total_affected_rows", totalRows); return result; } @@ -108,10 +108,10 @@ public class CodeMergeService extends BaseService { */ @Transactional public Map mergeAllTables(Map body) { - String columnName = str(body.get("columnName")); - String oldValue = str(body.get("oldValue")); - String newValue = str(body.get("newValue")); - String companyCode = str(body.get("companyCode")); + String columnName = str(body.get("column_name")); + String oldValue = str(body.get("old_value")); + String newValue = str(body.get("new_value")); + String companyCode = str(body.get("company_code")); if (isBlank(columnName) || isBlank(oldValue) || isBlank(newValue)) { throw new IllegalArgumentException("필수 필드가 누락되었습니다. (columnName, oldValue, newValue)"); @@ -132,19 +132,19 @@ public class CodeMergeService extends BaseService { List> affectedTables = rows.stream().map(r -> { Map item = new LinkedHashMap<>(); - item.put("tableName", r.get("table_name")); - item.put("rowsUpdated", r.get("rows_updated") != null ? ((Number) r.get("rows_updated")).intValue() : 0); + item.put("table_name", r.get("table_name")); + item.put("rows_updated", r.get("rows_updated") != null ? ((Number) r.get("rows_updated")).intValue() : 0); return item; }).collect(Collectors.toList()); log.info("코드 병합 완료: 영향 테이블 {}개, 총 {}행", affectedTables.size(), totalRows); Map result = new LinkedHashMap<>(); - result.put("columnName", columnName); - result.put("oldValue", oldValue); - result.put("newValue", newValue); - result.put("affectedTables", affectedTables); - result.put("totalRowsUpdated", totalRows); + result.put("column_name", columnName); + result.put("old_value", oldValue); + result.put("new_value", newValue); + result.put("affected_tables", affectedTables); + result.put("total_rows_updated", totalRows); return result; } @@ -157,9 +157,9 @@ public class CodeMergeService extends BaseService { */ @Transactional public Map mergeByValue(Map body) { - String oldValue = str(body.get("oldValue")); - String newValue = str(body.get("newValue")); - String companyCode = str(body.get("companyCode")); + String oldValue = str(body.get("old_value")); + String newValue = str(body.get("new_value")); + String companyCode = str(body.get("company_code")); if (isBlank(oldValue) || isBlank(newValue)) { throw new IllegalArgumentException("필수 필드가 누락되었습니다. (oldValue, newValue)"); @@ -180,19 +180,19 @@ public class CodeMergeService extends BaseService { List> affectedData = rows.stream().map(r -> { Map item = new LinkedHashMap<>(); - item.put("tableName", r.get("out_table_name")); - item.put("columnName", r.get("out_column_name")); - item.put("rowsUpdated", r.get("out_rows_updated") != null ? ((Number) r.get("out_rows_updated")).intValue() : 0); + item.put("table_name", r.get("out_table_name")); + item.put("column_name", r.get("out_column_name")); + item.put("rows_updated", r.get("out_rows_updated") != null ? ((Number) r.get("out_rows_updated")).intValue() : 0); return item; }).collect(Collectors.toList()); log.info("값 기반 코드 병합 완료: {} → {}, 총 {}행", oldValue, newValue, totalRows); Map result = new LinkedHashMap<>(); - result.put("oldValue", oldValue); - result.put("newValue", newValue); - result.put("affectedData", affectedData); - result.put("totalRowsUpdated", totalRows); + result.put("old_value", oldValue); + result.put("new_value", newValue); + result.put("affected_data", affectedData); + result.put("total_rows_updated", totalRows); return result; } @@ -203,8 +203,8 @@ public class CodeMergeService extends BaseService { * PostgreSQL 함수 preview_merge_code_by_value(oldValue, companyCode) 호출 */ public Map previewByValue(Map body) { - String oldValue = str(body.get("oldValue")); - String companyCode = str(body.get("companyCode")); + String oldValue = str(body.get("old_value")); + String companyCode = str(body.get("company_code")); if (isBlank(oldValue)) { throw new IllegalArgumentException("필수 필드가 누락되었습니다. (oldValue)"); @@ -222,16 +222,16 @@ public class CodeMergeService extends BaseService { List> preview = rows.stream().map(r -> { Map item = new LinkedHashMap<>(); - item.put("tableName", r.get("out_table_name")); - item.put("columnName", r.get("out_column_name")); - item.put("affectedRows", r.get("out_affected_rows") != null ? ((Number) r.get("out_affected_rows")).intValue() : 0); + item.put("table_name", r.get("out_table_name")); + item.put("column_name", r.get("out_column_name")); + item.put("affected_rows", r.get("out_affected_rows") != null ? ((Number) r.get("out_affected_rows")).intValue() : 0); return item; }).collect(Collectors.toList()); Map result = new LinkedHashMap<>(); - result.put("oldValue", oldValue); + result.put("old_value", oldValue); result.put("preview", preview); - result.put("totalAffectedRows", totalRows); + result.put("total_affected_rows", totalRows); return result; } diff --git a/backend-spring/src/main/java/com/erp/service/CollectionService.java b/backend-spring/src/main/java/com/erp/service/CollectionService.java index 2a180599..59af0efa 100644 --- a/backend-spring/src/main/java/com/erp/service/CollectionService.java +++ b/backend-spring/src/main/java/com/erp/service/CollectionService.java @@ -48,17 +48,17 @@ public class CollectionService extends BaseService { @Transactional public Map executeCollection(Map params) { Map job = new HashMap<>(); - job.put("configId", params.get("id")); - job.put("jobStatus", "running"); + job.put("config_id", params.get("id")); + job.put("job_status", "running"); sqlSession.insert("collection.insertCollectionJob", job); try { - job.put("jobStatus", "completed"); - job.put("recordsProcessed", 0); + job.put("job_status", "completed"); + job.put("records_processed", 0); sqlSession.update("collection.updateCollectionJob", job); return job; } catch (Exception e) { - job.put("jobStatus", "failed"); - job.put("errorMessage", e.getMessage()); + job.put("job_status", "failed"); + job.put("error_message", e.getMessage()); sqlSession.update("collection.updateCollectionJob", job); throw e; } diff --git a/backend-spring/src/main/java/com/erp/service/CommonCodeService.java b/backend-spring/src/main/java/com/erp/service/CommonCodeService.java index f4c43000..d30d4b84 100644 --- a/backend-spring/src/main/java/com/erp/service/CommonCodeService.java +++ b/backend-spring/src/main/java/com/erp/service/CommonCodeService.java @@ -31,11 +31,11 @@ public class CommonCodeService extends BaseService { params.put("limit", size); params.put("offset", (page - 1) * size); - Object isActiveRaw = params.get("isActive"); - if (isActiveRaw != null) params.put("isActive", toActiveStr(isActiveRaw)); + Object isActiveRaw = params.get("is_active"); + if (isActiveRaw != null) params.put("is_active", toActiveStr(isActiveRaw)); - List> categories = sqlSession.selectList(NS + "getCommonCodeCategoryList", params); - Integer totalObj = sqlSession.selectOne(NS + "getCommonCodeCategoryListCnt", params); + List> categories = sqlSession.selectList(NS + "get_common_code_category_list", params); + Integer totalObj = sqlSession.selectOne(NS + "get_common_code_category_list_cnt", params); int total = totalObj != null ? totalObj : 0; Map result = new LinkedHashMap<>(); @@ -52,21 +52,21 @@ public class CommonCodeService extends BaseService { String excludeCode, String companyCode) { if (value == null || value.trim().isEmpty()) { Map result = new LinkedHashMap<>(); - result.put("isDuplicate", false); + result.put("is_duplicate", false); result.put("message", "값을 입력해주세요."); return result; } Map params = new HashMap<>(); - params.put("field", field != null ? field : "categoryCode"); + params.put("field", field != null ? field : "category_code"); params.put("value", value.trim()); - params.put("excludeCode", excludeCode); - params.put("companyCode", companyCode); - Integer countObj = sqlSession.selectOne(NS + "getCommonCodeCategoryDuplicateByField", params); + params.put("exclude_code", excludeCode); + params.put("company_code", companyCode); + Integer countObj = sqlSession.selectOne(NS + "get_common_code_category_duplicate_by_field", params); boolean isDuplicate = countObj != null && countObj > 0; Map result = new LinkedHashMap<>(); - result.put("isDuplicate", isDuplicate); + result.put("is_duplicate", isDuplicate); result.put("message", isDuplicate ? "이미 사용 중인 값입니다." : "사용 가능한 값입니다."); return result; } @@ -78,23 +78,23 @@ public class CommonCodeService extends BaseService { @Transactional public Map insertCommonCodeCategory(Map body, String companyCode, String userId) { Map params = new HashMap<>(); - params.put("categoryCode", body.get("categoryCode")); - params.put("categoryName", body.get("categoryName")); - params.put("categoryNameEng", body.getOrDefault("categoryNameEng", null)); + params.put("category_code", body.get("category_code")); + params.put("category_name", body.get("category_name")); + params.put("category_name_eng", body.getOrDefault("category_name_eng", null)); params.put("description", body.getOrDefault("description", null)); - params.put("sortOrder", body.getOrDefault("sortOrder", 0)); - params.put("isActive", toActiveStr(body.getOrDefault("isActive", true))); - params.put("menuObjid", body.getOrDefault("menuObjid", DEFAULT_MENU_OBJID)); - params.put("companyCode", companyCode); - params.put("createdBy", userId); - params.put("updatedBy", userId); + params.put("sort_order", body.getOrDefault("sort_order", 0)); + params.put("is_active", toActiveStr(body.getOrDefault("is_active", true))); + params.put("menu_objid", body.getOrDefault("menu_objid", DEFAULT_MENU_OBJID)); + params.put("company_code", companyCode); + params.put("created_by", userId); + params.put("updated_by", userId); - sqlSession.insert(NS + "insertCommonCodeCategory", params); + sqlSession.insert(NS + "insert_common_code_category", params); Map q = new HashMap<>(); - q.put("categoryCode", params.get("categoryCode")); - q.put("companyCode", companyCode); - return sqlSession.selectOne(NS + "getCommonCodeCategoryInfo", q); + q.put("category_code", params.get("category_code")); + q.put("company_code", companyCode); + return sqlSession.selectOne(NS + "get_common_code_category_info", q); } // ══════════════════════════════════════════════════════════════ @@ -105,23 +105,23 @@ public class CommonCodeService extends BaseService { public Map updateCommonCodeCategory(String categoryCode, Map body, String companyCode, String userId) { Map params = new HashMap<>(); - params.put("categoryCode", categoryCode); - params.put("companyCode", companyCode); - params.put("updatedBy", userId); + params.put("category_code", categoryCode); + params.put("company_code", companyCode); + params.put("updated_by", userId); - if (body.containsKey("categoryName")) params.put("categoryName", body.get("categoryName")); - if (body.containsKey("categoryNameEng")) params.put("categoryNameEng", body.get("categoryNameEng")); + if (body.containsKey("category_name")) params.put("category_name", body.get("category_name")); + if (body.containsKey("category_name_eng")) params.put("category_name_eng", body.get("category_name_eng")); if (body.containsKey("description")) params.put("description", body.get("description")); - if (body.containsKey("sortOrder")) params.put("sortOrder", body.get("sortOrder")); - if (body.containsKey("isActive")) params.put("isActive", toActiveStr(body.get("isActive"))); + if (body.containsKey("sort_order")) params.put("sort_order", body.get("sort_order")); + if (body.containsKey("is_active")) params.put("is_active", toActiveStr(body.get("is_active"))); - int updated = sqlSession.update(NS + "updateCommonCodeCategory", params); + int updated = sqlSession.update(NS + "update_common_code_category", params); if (updated == 0) return null; Map q = new HashMap<>(); - q.put("categoryCode", categoryCode); - q.put("companyCode", companyCode); - return sqlSession.selectOne(NS + "getCommonCodeCategoryInfo", q); + q.put("category_code", categoryCode); + q.put("company_code", companyCode); + return sqlSession.selectOne(NS + "get_common_code_category_info", q); } // ══════════════════════════════════════════════════════════════ @@ -131,9 +131,9 @@ public class CommonCodeService extends BaseService { @Transactional public void deleteCommonCodeCategory(String categoryCode, String companyCode) { Map params = new HashMap<>(); - params.put("categoryCode", categoryCode); - params.put("companyCode", companyCode); - int deleted = sqlSession.delete(NS + "deleteCommonCodeCategory", params); + params.put("category_code", categoryCode); + params.put("company_code", companyCode); + int deleted = sqlSession.delete(NS + "delete_common_code_category", params); if (deleted == 0) throw new IllegalArgumentException("카테고리를 찾을 수 없습니다."); } @@ -144,15 +144,15 @@ public class CommonCodeService extends BaseService { public Map getCommonCodeList(String categoryCode, Map params) { int page = toInt(params.get("page"), 1); int size = toInt(params.get("size"), 20); - params.put("categoryCode", categoryCode); + params.put("category_code", categoryCode); params.put("limit", size); params.put("offset", (page - 1) * size); - Object isActiveRaw = params.get("isActive"); - if (isActiveRaw != null) params.put("isActive", toActiveStr(isActiveRaw)); + Object isActiveRaw = params.get("is_active"); + if (isActiveRaw != null) params.put("is_active", toActiveStr(isActiveRaw)); - List> rawList = sqlSession.selectList(NS + "getCommonCodeList", params); - Integer totalObj = sqlSession.selectOne(NS + "getCommonCodeListCnt", params); + List> rawList = sqlSession.selectList(NS + "get_common_code_list", params); + Integer totalObj = sqlSession.selectOne(NS + "get_common_code_list_cnt", params); int total = totalObj != null ? totalObj : 0; List> codes = new ArrayList<>(); @@ -174,22 +174,22 @@ public class CommonCodeService extends BaseService { String excludeCode, String companyCode) { if (value == null || value.trim().isEmpty()) { Map result = new LinkedHashMap<>(); - result.put("isDuplicate", false); + result.put("is_duplicate", false); result.put("message", "값을 입력해주세요."); return result; } Map params = new HashMap<>(); - params.put("categoryCode", categoryCode); - params.put("field", field != null ? field : "codeValue"); + params.put("category_code", categoryCode); + params.put("field", field != null ? field : "code_value"); params.put("value", value.trim()); - params.put("excludeCode", excludeCode); - params.put("companyCode", companyCode); - Integer countObj = sqlSession.selectOne(NS + "getCommonCodeDuplicateByField", params); + params.put("exclude_code", excludeCode); + params.put("company_code", companyCode); + Integer countObj = sqlSession.selectOne(NS + "get_common_code_duplicate_by_field", params); boolean isDuplicate = countObj != null && countObj > 0; Map result = new LinkedHashMap<>(); - result.put("isDuplicate", isDuplicate); + result.put("is_duplicate", isDuplicate); result.put("message", isDuplicate ? "이미 사용 중인 값입니다." : "사용 가능한 값입니다."); return result; } @@ -202,39 +202,39 @@ public class CommonCodeService extends BaseService { public Map insertCommonCode(String categoryCode, Map body, String companyCode, String userId) { // parentCodeValue 기반 depth 자동 계산 - Object parentCodeValueRaw = body.getOrDefault("parentCodeValue", null); + Object parentCodeValueRaw = body.getOrDefault("parent_code_value", null); int depth = 1; if (parentCodeValueRaw != null && !parentCodeValueRaw.toString().isEmpty()) { Map parentParams = new HashMap<>(); - parentParams.put("categoryCode", categoryCode); - parentParams.put("codeValue", parentCodeValueRaw.toString()); - parentParams.put("companyCode", companyCode); - Integer parentDepth = sqlSession.selectOne(NS + "getCommonCodeParentDepth", parentParams); + parentParams.put("category_code", categoryCode); + parentParams.put("code_value", parentCodeValueRaw.toString()); + parentParams.put("company_code", companyCode); + Integer parentDepth = sqlSession.selectOne(NS + "get_common_code_parent_depth", parentParams); depth = (parentDepth != null ? parentDepth : 0) + 1; } Map params = new HashMap<>(); - params.put("categoryCode", categoryCode); - params.put("codeValue", body.get("codeValue")); - params.put("codeName", body.get("codeName")); - params.put("codeNameEng", body.getOrDefault("codeNameEng", null)); + params.put("category_code", categoryCode); + params.put("code_value", body.get("code_value")); + params.put("code_name", body.get("code_name")); + params.put("code_name_eng", body.getOrDefault("code_name_eng", null)); params.put("description", body.getOrDefault("description", null)); - params.put("sortOrder", body.getOrDefault("sortOrder", 0)); - params.put("isActive", toActiveStr(body.getOrDefault("isActive", true))); - params.put("menuObjid", body.getOrDefault("menuObjid", DEFAULT_MENU_OBJID)); - params.put("companyCode", companyCode); - params.put("parentCodeValue", parentCodeValueRaw); + params.put("sort_order", body.getOrDefault("sort_order", 0)); + params.put("is_active", toActiveStr(body.getOrDefault("is_active", true))); + params.put("menu_objid", body.getOrDefault("menu_objid", DEFAULT_MENU_OBJID)); + params.put("company_code", companyCode); + params.put("parent_code_value", parentCodeValueRaw); params.put("depth", depth); - params.put("createdBy", userId); - params.put("updatedBy", userId); + params.put("created_by", userId); + params.put("updated_by", userId); - sqlSession.insert(NS + "insertCommonCode", params); + sqlSession.insert(NS + "insert_common_code", params); Map q = new HashMap<>(); - q.put("categoryCode", categoryCode); - q.put("codeValue", params.get("codeValue")); - q.put("companyCode", companyCode); - Map raw = sqlSession.selectOne(NS + "getCommonCodeInfo", q); + q.put("category_code", categoryCode); + q.put("code_value", params.get("code_value")); + q.put("company_code", companyCode); + Map raw = sqlSession.selectOne(NS + "get_common_code_info", q); return raw != null ? transformCode(raw) : null; } @@ -246,11 +246,11 @@ public class CommonCodeService extends BaseService { public void updateCommonCodeOrder(String categoryCode, List> codes, String companyCode) { for (Map code : codes) { Map params = new HashMap<>(); - params.put("categoryCode", categoryCode); - params.put("codeValue", code.get("codeValue")); - params.put("sortOrder", code.get("sortOrder")); - params.put("companyCode", companyCode); - sqlSession.update(NS + "updateCommonCodeSortOrder", params); + params.put("category_code", categoryCode); + params.put("code_value", code.get("code_value")); + params.put("sort_order", code.get("sort_order")); + params.put("company_code", companyCode); + sqlSession.update(NS + "update_common_code_sort_order", params); } } @@ -259,15 +259,15 @@ public class CommonCodeService extends BaseService { // ══════════════════════════════════════════════════════════════ public List> getCommonCodeHierarchicalList(String categoryCode, Map params) { - params.put("categoryCode", categoryCode); + params.put("category_code", categoryCode); - Object isActiveRaw = params.get("isActive"); - if (isActiveRaw != null) params.put("isActive", toActiveStr(isActiveRaw)); - else params.remove("isActive"); + Object isActiveRaw = params.get("is_active"); + if (isActiveRaw != null) params.put("is_active", toActiveStr(isActiveRaw)); + else params.remove("is_active"); // parentCodeValue, depth 필터는 params에 그대로 전달 (XML에서 처리) - List> rawList = sqlSession.selectList(NS + "getCommonCodeHierarchicalList", params); + List> rawList = sqlSession.selectList(NS + "get_common_code_hierarchical_list", params); List> result = new ArrayList<>(); for (Map raw : rawList) { result.add(transformCode(raw)); @@ -281,10 +281,10 @@ public class CommonCodeService extends BaseService { public Map getCommonCodeTree(String categoryCode, String companyCode) { Map params = new HashMap<>(); - params.put("categoryCode", categoryCode); - params.put("companyCode", companyCode); + params.put("category_code", categoryCode); + params.put("company_code", companyCode); - List> flatList = sqlSession.selectList(NS + "getCommonCodeTreeList", params); + List> flatList = sqlSession.selectList(NS + "get_common_code_tree_list", params); List> flatTransformed = new ArrayList<>(); for (Map raw : flatList) { @@ -303,14 +303,14 @@ public class CommonCodeService extends BaseService { public Map hasChildren(String categoryCode, String codeValue, String companyCode) { Map params = new HashMap<>(); - params.put("categoryCode", categoryCode); - params.put("codeValue", codeValue); - params.put("companyCode", companyCode); - Integer countObj = sqlSession.selectOne(NS + "getCommonCodeChildrenCnt", params); + params.put("category_code", categoryCode); + params.put("code_value", codeValue); + params.put("company_code", companyCode); + Integer countObj = sqlSession.selectOne(NS + "get_common_code_children_cnt", params); int count = countObj != null ? countObj : 0; Map result = new LinkedHashMap<>(); - result.put("hasChildren", count > 0); + result.put("has_children", count > 0); return result; } @@ -322,27 +322,27 @@ public class CommonCodeService extends BaseService { public Map updateCommonCode(String categoryCode, String codeValue, Map body, String companyCode, String userId) { Map params = new HashMap<>(); - params.put("categoryCode", categoryCode); - params.put("codeValue", codeValue); - params.put("companyCode", companyCode); - params.put("updatedBy", userId); + params.put("category_code", categoryCode); + params.put("code_value", codeValue); + params.put("company_code", companyCode); + params.put("updated_by", userId); - if (body.containsKey("codeName")) params.put("codeName", body.get("codeName")); - if (body.containsKey("codeNameEng")) params.put("codeNameEng", body.get("codeNameEng")); + if (body.containsKey("code_name")) params.put("code_name", body.get("code_name")); + if (body.containsKey("code_name_eng")) params.put("code_name_eng", body.get("code_name_eng")); if (body.containsKey("description")) params.put("description", body.get("description")); - if (body.containsKey("sortOrder")) params.put("sortOrder", body.get("sortOrder")); - if (body.containsKey("isActive")) params.put("isActive", toActiveStr(body.get("isActive"))); + if (body.containsKey("sort_order")) params.put("sort_order", body.get("sort_order")); + if (body.containsKey("is_active")) params.put("is_active", toActiveStr(body.get("is_active"))); - if (body.containsKey("parentCodeValue")) { - Object newParent = body.get("parentCodeValue"); - params.put("parentCodeValue", newParent); + if (body.containsKey("parent_code_value")) { + Object newParent = body.get("parent_code_value"); + params.put("parent_code_value", newParent); // parentCodeValue 변경 시 depth 재계산 if (newParent != null && !newParent.toString().isEmpty()) { Map parentParams = new HashMap<>(); - parentParams.put("categoryCode", categoryCode); - parentParams.put("codeValue", newParent.toString()); - parentParams.put("companyCode", companyCode); - Integer parentDepth = sqlSession.selectOne(NS + "getCommonCodeParentDepth", parentParams); + parentParams.put("category_code", categoryCode); + parentParams.put("code_value", newParent.toString()); + parentParams.put("company_code", companyCode); + Integer parentDepth = sqlSession.selectOne(NS + "get_common_code_parent_depth", parentParams); params.put("depth", (parentDepth != null ? parentDepth : 0) + 1); } else { params.put("depth", 1); @@ -351,14 +351,14 @@ public class CommonCodeService extends BaseService { params.put("depth", body.get("depth")); } - int updated = sqlSession.update(NS + "updateCommonCode", params); + int updated = sqlSession.update(NS + "update_common_code", params); if (updated == 0) return null; Map q = new HashMap<>(); - q.put("categoryCode", categoryCode); - q.put("codeValue", codeValue); - q.put("companyCode", companyCode); - Map raw = sqlSession.selectOne(NS + "getCommonCodeInfo", q); + q.put("category_code", categoryCode); + q.put("code_value", codeValue); + q.put("company_code", companyCode); + Map raw = sqlSession.selectOne(NS + "get_common_code_info", q); return raw != null ? transformCode(raw) : null; } @@ -369,10 +369,10 @@ public class CommonCodeService extends BaseService { @Transactional public void deleteCommonCode(String categoryCode, String codeValue, String companyCode) { Map params = new HashMap<>(); - params.put("categoryCode", categoryCode); - params.put("codeValue", codeValue); - params.put("companyCode", companyCode); - int deleted = sqlSession.delete(NS + "deleteCommonCode", params); + params.put("category_code", categoryCode); + params.put("code_value", codeValue); + params.put("company_code", companyCode); + int deleted = sqlSession.delete(NS + "delete_common_code", params); if (deleted == 0) throw new IllegalArgumentException("코드를 찾을 수 없습니다."); } @@ -381,19 +381,19 @@ public class CommonCodeService extends BaseService { // ══════════════════════════════════════════════════════════════ public List> getCommonCodeOptionList(String categoryCode, Map params) { - params.put("categoryCode", categoryCode); + params.put("category_code", categoryCode); - Object isActiveRaw = params.get("isActive"); + Object isActiveRaw = params.get("is_active"); // 미지정 시 활성 코드만 반환 (드롭다운 기본 동작) - params.put("isActive", isActiveRaw != null ? toActiveStr(isActiveRaw) : "Y"); + params.put("is_active", isActiveRaw != null ? toActiveStr(isActiveRaw) : "Y"); - List> rawList = sqlSession.selectList(NS + "getCommonCodeOptionList", params); + List> rawList = sqlSession.selectList(NS + "get_common_code_option_list", params); List> options = new ArrayList<>(); for (Map raw : rawList) { Map opt = new LinkedHashMap<>(); opt.put("value", raw.get("code_value")); opt.put("label", raw.get("code_name")); - opt.put("labelEng", raw.get("code_name_eng")); + opt.put("label_eng", raw.get("code_name_eng")); options.add(opt); } return options; @@ -406,19 +406,19 @@ public class CommonCodeService extends BaseService { /** snake_case 원본 + camelCase 별칭을 모두 포함하는 Map 반환 */ private Map transformCode(Map raw) { Map item = new LinkedHashMap<>(raw); - item.put("codeValue", raw.get("code_value")); - item.put("codeName", raw.get("code_name")); - item.put("codeNameEng", raw.get("code_name_eng")); - item.put("codeCategory", raw.get("code_category")); - item.put("sortOrder", raw.get("sort_order")); - item.put("isActive", raw.get("is_active")); - item.put("menuObjid", raw.get("menu_objid")); - item.put("companyCode", raw.get("company_code")); - item.put("parentCodeValue", raw.get("parent_code_value")); - item.put("createdBy", raw.get("created_by")); - item.put("updatedBy", raw.get("updated_by")); - item.put("createdDate", raw.get("created_date")); - item.put("updatedDate", raw.get("updated_date")); + item.put("code_value", raw.get("code_value")); + item.put("code_name", raw.get("code_name")); + item.put("code_name_eng", raw.get("code_name_eng")); + item.put("code_category", raw.get("code_category")); + item.put("sort_order", raw.get("sort_order")); + item.put("is_active", raw.get("is_active")); + item.put("menu_objid", raw.get("menu_objid")); + item.put("company_code", raw.get("company_code")); + item.put("parent_code_value", raw.get("parent_code_value")); + item.put("created_by", raw.get("created_by")); + item.put("updated_by", raw.get("updated_by")); + item.put("created_date", raw.get("created_date")); + item.put("updated_date", raw.get("updated_date")); return item; } diff --git a/backend-spring/src/main/java/com/erp/service/CommonService.java b/backend-spring/src/main/java/com/erp/service/CommonService.java index 9e28c1d1..2631fdc8 100644 --- a/backend-spring/src/main/java/com/erp/service/CommonService.java +++ b/backend-spring/src/main/java/com/erp/service/CommonService.java @@ -20,9 +20,9 @@ public class CommonService extends BaseService { * company_code 필터 적용: SUPER_ADMIN("*")은 전체 조회, 나머지는 자사 데이터만 */ public void applyCompanyCodeFilter(Map params) { - String companyCode = (String) params.get("companyCode"); + String companyCode = (String) params.get("company_code"); if ("*".equals(companyCode)) { - params.put("companyCode", "*"); + params.put("company_code", "*"); } } @@ -48,7 +48,7 @@ public class CommonService extends BaseService { public Map buildListResponse(List> list, int totalCount, Map params) { Map result = new HashMap<>(); result.put("list", list); - result.put("totalCount", totalCount); + result.put("total_count", totalCount); Object limitObj = params.get("limit"); Object pageObj = params.get("page"); if (limitObj != null) { @@ -56,7 +56,7 @@ public class CommonService extends BaseService { int page = pageObj != null ? Integer.parseInt(pageObj.toString()) : 1; result.put("limit", limit); result.put("page", page); - result.put("totalPage", (int) Math.ceil((double) totalCount / limit)); + result.put("total_page", (int) Math.ceil((double) totalCount / limit)); } return result; } @@ -95,6 +95,6 @@ public class CommonService extends BaseService { */ public List> getCodeList(Map params) { applyCompanyCodeFilter(params); - return sqlSession.selectList(NS + "selectCodeList", params); + return sqlSession.selectList(NS + "select_code_list", params); } } diff --git a/backend-spring/src/main/java/com/erp/service/CompanyManagementService.java b/backend-spring/src/main/java/com/erp/service/CompanyManagementService.java index 84bbb241..98734ff5 100644 --- a/backend-spring/src/main/java/com/erp/service/CompanyManagementService.java +++ b/backend-spring/src/main/java/com/erp/service/CompanyManagementService.java @@ -34,12 +34,12 @@ public class CompanyManagementService extends BaseService { @Transactional public Map deleteCompany(Map params) { - String companyCode = (String) params.get("companyCode"); - boolean createBackup = !Boolean.FALSE.equals(params.get("createBackup")); // 기본 true + String companyCode = (String) params.get("company_code"); + boolean createBackup = !Boolean.FALSE.equals(params.get("create_backup")); // 기본 true // 1. 회사 존재 확인 Map existing = sqlSession.selectOne("companyManagement.selectCompanyByCode", - Map.of("companyCode", companyCode)); + Map.of("company_code", companyCode)); if (existing == null) { throw new IllegalArgumentException("존재하지 않는 회사입니다."); } @@ -56,14 +56,14 @@ public class CompanyManagementService extends BaseService { } // 3. DB soft delete - sqlSession.update("companyManagement.softDeleteCompany", Map.of("companyCode", companyCode)); + sqlSession.update("companyManagement.softDeleteCompany", Map.of("company_code", companyCode)); log.info("회사 삭제 완료: companyCode={}, companyName={}", companyCode, companyName); Map data = new LinkedHashMap<>(); - data.put("companyCode", companyCode); - data.put("companyName", companyName); - data.put("backupCreated", createBackup); - data.put("deletedAt", Instant.now().toString()); + data.put("company_code", companyCode); + data.put("company_name", companyName); + data.put("backup_created", createBackup); + data.put("deleted_at", Instant.now().toString()); return data; } @@ -76,11 +76,11 @@ public class CompanyManagementService extends BaseService { long[] stats = calculateDirStats(companyDir); Map data = new LinkedHashMap<>(); - data.put("companyCode", companyCode); - data.put("fileCount", stats[0]); - data.put("totalSize", stats[1]); - data.put("totalSizeMB", toMB(stats[1])); - data.put("lastChecked", Instant.now().toString()); + data.put("company_code", companyCode); + data.put("file_count", stats[0]); + data.put("total_size", stats[1]); + data.put("total_size_mb", toMB(stats[1])); + data.put("last_checked", Instant.now().toString()); return data; } @@ -103,10 +103,10 @@ public class CompanyManagementService extends BaseService { long[] stats = calculateDirStats(dir); Map entry = new LinkedHashMap<>(); - entry.put("companyCode", code); - entry.put("fileCount", stats[0]); - entry.put("totalSize", stats[1]); - entry.put("totalSizeMB", toMB(stats[1])); + entry.put("company_code", code); + entry.put("file_count", stats[0]); + entry.put("total_size", stats[1]); + entry.put("total_size_mb", toMB(stats[1])); companies.add(entry); totalFiles += stats[0]; @@ -114,15 +114,15 @@ public class CompanyManagementService extends BaseService { } Map summary = new LinkedHashMap<>(); - summary.put("totalCompanies", companies.size()); - summary.put("totalFiles", totalFiles); - summary.put("totalSize", totalSize); - summary.put("totalSizeMB", toMB(totalSize)); + summary.put("total_companies", companies.size()); + summary.put("total_files", totalFiles); + summary.put("total_size", totalSize); + summary.put("total_size_mb", toMB(totalSize)); Map data = new LinkedHashMap<>(); data.put("companies", companies); data.put("summary", summary); - data.put("lastChecked", Instant.now().toString()); + data.put("last_checked", Instant.now().toString()); return data; } diff --git a/backend-spring/src/main/java/com/erp/service/ComponentStandardService.java b/backend-spring/src/main/java/com/erp/service/ComponentStandardService.java index e53de99b..dddd43da 100644 --- a/backend-spring/src/main/java/com/erp/service/ComponentStandardService.java +++ b/backend-spring/src/main/java/com/erp/service/ComponentStandardService.java @@ -45,19 +45,19 @@ public class ComponentStandardService extends BaseService { // 정렬 컬럼 화이트리스트 검증 String sort = str(params.getOrDefault("sort", "sort_order")); - params.put("sortColumn", VALID_SORT_COLUMNS.contains(sort) ? sort : "sort_order"); - params.put("sortOrder", "desc".equalsIgnoreCase(str(params.get("order"))) ? "DESC" : "ASC"); + params.put("sort_column", VALID_SORT_COLUMNS.contains(sort) ? sort : "sort_order"); + params.put("sort_order", "desc".equalsIgnoreCase(str(params.get("order"))) ? "DESC" : "ASC"); // 검색 패턴 if (params.get("search") != null) { - params.put("searchPattern", "%" + params.get("search") + "%"); + params.put("search_pattern", "%" + params.get("search") + "%"); } // 페이지네이션 commonService.applyPagination(params); - List> components = sqlSession.selectList(NS + "selectComponentList", params); - Integer totalObj = sqlSession.selectOne(NS + "countComponents", params); + List> components = sqlSession.selectList(NS + "select_component_list", params); + Integer totalObj = sqlSession.selectOne(NS + "count_components", params); int total = totalObj != null ? totalObj : 0; Map result = new LinkedHashMap<>(); @@ -74,7 +74,7 @@ public class ComponentStandardService extends BaseService { public Map getComponent(String componentCode) { Map params = Map.of("component_code", componentCode); - Map component = sqlSession.selectOne(NS + "selectComponent", params); + Map component = sqlSession.selectOne(NS + "select_component", params); if (component == null) { throw new RuntimeException("컴포넌트를 찾을 수 없습니다: " + componentCode); } @@ -88,7 +88,7 @@ public class ComponentStandardService extends BaseService { @Transactional public Map createComponent(Map params) { // 중복 코드 확인 - if (sqlSession.selectOne(NS + "checkDuplicate", params) != null) { + if (sqlSession.selectOne(NS + "check_duplicate", params) != null) { throw new RuntimeException("이미 존재하는 컴포넌트 코드입니다: " + params.get("component_code")); } @@ -105,8 +105,8 @@ public class ComponentStandardService extends BaseService { // JSONB 필드 직렬화 serializeJsonFields(params); - sqlSession.insert(NS + "insertComponent", params); - return sqlSession.selectOne(NS + "selectComponent", Map.of("component_code", params.get("component_code"))); + sqlSession.insert(NS + "insert_component", params); + return sqlSession.selectOne(NS + "select_component", Map.of("component_code", params.get("component_code"))); } // ══════════════════════════════════════════════════════════ @@ -126,8 +126,8 @@ public class ComponentStandardService extends BaseService { data.put("component_code", componentCode); serializeJsonFields(data); - sqlSession.update(NS + "updateComponent", data); - return sqlSession.selectOne(NS + "selectComponent", Map.of("component_code", componentCode)); + sqlSession.update(NS + "update_component", data); + return sqlSession.selectOne(NS + "select_component", Map.of("component_code", componentCode)); } // ══════════════════════════════════════════════════════════ @@ -137,7 +137,7 @@ public class ComponentStandardService extends BaseService { @Transactional public Map deleteComponent(String componentCode) { getComponent(componentCode); // 존재 확인 - sqlSession.delete(NS + "deleteComponent", Map.of("component_code", componentCode)); + sqlSession.delete(NS + "delete_component", Map.of("component_code", componentCode)); return Map.of("message", "컴포넌트가 삭제되었습니다: " + componentCode); } @@ -148,7 +148,7 @@ public class ComponentStandardService extends BaseService { @Transactional public Map updateSortOrder(List> updates) { for (Map item : updates) { - sqlSession.update(NS + "updateSortOrder", item); + sqlSession.update(NS + "update_sort_order", item); } return Map.of("message", "정렬 순서가 업데이트되었습니다."); } @@ -164,7 +164,7 @@ public class ComponentStandardService extends BaseService { // 새 코드 중복 확인 Map dupCheck = new HashMap<>(); dupCheck.put("component_code", newCode); - if (sqlSession.selectOne(NS + "checkDuplicate", dupCheck) != null) { + if (sqlSession.selectOne(NS + "check_duplicate", dupCheck) != null) { throw new RuntimeException("이미 존재하는 컴포넌트 코드입니다: " + newCode); } @@ -173,8 +173,8 @@ public class ComponentStandardService extends BaseService { newComponent.put("component_name", newName); serializeJsonFields(newComponent); - sqlSession.insert(NS + "insertComponent", newComponent); - return sqlSession.selectOne(NS + "selectComponent", Map.of("component_code", newCode)); + sqlSession.insert(NS + "insert_component", newComponent); + return sqlSession.selectOne(NS + "select_component", Map.of("component_code", newCode)); } // ══════════════════════════════════════════════════════════ @@ -182,7 +182,7 @@ public class ComponentStandardService extends BaseService { // ══════════════════════════════════════════════════════════ public List getCategories(Map params) { - List> rows = sqlSession.selectList(NS + "selectCategories", params); + List> rows = sqlSession.selectList(NS + "select_categories", params); List categories = new ArrayList<>(); for (Map row : rows) { Object cat = row.get("category"); @@ -196,10 +196,10 @@ public class ComponentStandardService extends BaseService { // ══════════════════════════════════════════════════════════ public Map getStatistics(Map params) { - Integer totalObj = sqlSession.selectOne(NS + "countStatisticsTotal", params); + Integer totalObj = sqlSession.selectOne(NS + "count_statistics_total", params); int total = totalObj != null ? totalObj : 0; - List> byCategoryRaw = sqlSession.selectList(NS + "selectStatisticsByCategory", params); + List> byCategoryRaw = sqlSession.selectList(NS + "select_statistics_by_category", params); List> byCategory = new ArrayList<>(); for (Map row : byCategoryRaw) { Map item = new LinkedHashMap<>(); @@ -208,7 +208,7 @@ public class ComponentStandardService extends BaseService { byCategory.add(item); } - List> byStatusRaw = sqlSession.selectList(NS + "selectStatisticsByStatus"); + List> byStatusRaw = sqlSession.selectList(NS + "select_statistics_by_status"); List> byStatus = new ArrayList<>(); for (Map row : byStatusRaw) { Map item = new LinkedHashMap<>(); @@ -219,8 +219,8 @@ public class ComponentStandardService extends BaseService { Map result = new LinkedHashMap<>(); result.put("total", total); - result.put("byCategory", byCategory); - result.put("byStatus", byStatus); + result.put("by_category", byCategory); + result.put("by_status", byStatus); return result; } @@ -229,7 +229,7 @@ public class ComponentStandardService extends BaseService { // ══════════════════════════════════════════════════════════ public boolean checkDuplicate(Map params) { - return sqlSession.selectOne(NS + "checkDuplicate", params) != null; + return sqlSession.selectOne(NS + "check_duplicate", params) != null; } // ══ private helpers ═══════════════════════════════════════ diff --git a/backend-spring/src/main/java/com/erp/service/DashboardService.java b/backend-spring/src/main/java/com/erp/service/DashboardService.java index 5e90842a..38cd4d86 100644 --- a/backend-spring/src/main/java/com/erp/service/DashboardService.java +++ b/backend-spring/src/main/java/com/erp/service/DashboardService.java @@ -19,7 +19,7 @@ public class DashboardService extends BaseService { // ── 목록 조회 ──────────────────────────────────────────────────────────────── public Map getDashboardList(Map params) { - String companyCode = (String) params.getOrDefault("companyCode", "*"); + String companyCode = (String) params.getOrDefault("company_code", "*"); String search = (String) params.get("search"); String category = (String) params.get("category"); int page = toInt(params.get("page"), 1); @@ -73,7 +73,7 @@ public class DashboardService extends BaseService { pagination.put("page", page); pagination.put("limit", limit); pagination.put("total", total); - pagination.put("totalPages", (int) Math.ceil((double) total / limit)); + pagination.put("total_pages", (int) Math.ceil((double) total / limit)); result.put("pagination", pagination); return result; } @@ -107,7 +107,7 @@ public class DashboardService extends BaseService { String dashboardId = UUID.randomUUID().toString(); String title = String.valueOf(params.get("title")); String description = (String) params.get("description"); - boolean isPublic = Boolean.TRUE.equals(params.get("isPublic")) || "true".equals(String.valueOf(params.get("isPublic"))); + boolean isPublic = Boolean.TRUE.equals(params.get("is_public")) || "true".equals(String.valueOf(params.get("is_public"))); String tagsJson = toJson(params.getOrDefault("tags", new ArrayList<>())); String category = (String) params.get("category"); String settingsJson = toJson(params.getOrDefault("settings", new HashMap<>())); @@ -129,9 +129,9 @@ public class DashboardService extends BaseService { if (params.containsKey("title")) { sets.add("title = ?"); args.add(params.get("title")); } if (params.containsKey("description")) { sets.add("description = ?"); args.add(params.get("description")); } - if (params.containsKey("isPublic")) { + if (params.containsKey("is_public")) { sets.add("is_public = ?"); - args.add(Boolean.TRUE.equals(params.get("isPublic")) || "true".equals(String.valueOf(params.get("isPublic")))); + args.add(Boolean.TRUE.equals(params.get("is_public")) || "true".equals(String.valueOf(params.get("is_public")))); } if (params.containsKey("tags")) { sets.add("tags = ?::jsonb"); args.add(toJson(params.get("tags"))); } if (params.containsKey("category")) { sets.add("category = ?"); args.add(params.get("category")); } @@ -180,7 +180,7 @@ public class DashboardService extends BaseService { Map result = new LinkedHashMap<>(); result.put("columns", columns); result.put("rows", rows); - result.put("rowCount", rows.size()); + result.put("row_count", rows.size()); return result; } @@ -197,7 +197,7 @@ public class DashboardService extends BaseService { String command = trimmed.toUpperCase().split("\\s+")[0]; int rowCount = jdbcTemplate.update(trimmed); Map result = new LinkedHashMap<>(); - result.put("rowCount", rowCount); + result.put("row_count", rowCount); result.put("command", command); return result; } @@ -228,14 +228,14 @@ public class DashboardService extends BaseService { Map c = new LinkedHashMap<>(); c.put("name", col.get("column_name")); c.put("type", col.get("data_type")); - c.put("udtName", col.get("udt_name")); + c.put("udt_name", col.get("udt_name")); columns.add(c); } Map result = new LinkedHashMap<>(); - result.put("tableName", tableName); + result.put("table_name", tableName); result.put("columns", columns); - result.put("dateColumns", dateColumns); + result.put("date_columns", dateColumns); return result; } @@ -260,14 +260,14 @@ public class DashboardService extends BaseService { el.get("type"), el.get("subtype"), toInt(position.get("x"), 0), toInt(position.get("y"), 0), toInt(size.get("width"), 4), toInt(size.get("height"), 3), - el.get("title"), el.get("customTitle"), - !Boolean.FALSE.equals(el.get("showHeader")), + el.get("title"), el.get("custom_title"), + !Boolean.FALSE.equals(el.get("show_header")), el.get("content"), - toJson(el.getOrDefault("dataSource", new HashMap<>())), - toJson(el.getOrDefault("chartConfig", new HashMap<>())), - el.get("listConfig") != null ? toJson(el.get("listConfig")) : null, - el.get("yardConfig") != null ? toJson(el.get("yardConfig")) : null, - el.get("customMetricConfig") != null ? toJson(el.get("customMetricConfig")) : null, + toJson(el.getOrDefault("data_source", new HashMap<>())), + toJson(el.getOrDefault("chart_config", new HashMap<>())), + el.get("list_config") != null ? toJson(el.get("list_config")) : null, + el.get("yard_config") != null ? toJson(el.get("yard_config")) : null, + el.get("custom_metric_config") != null ? toJson(el.get("custom_metric_config")) : null, i); } } @@ -277,17 +277,17 @@ public class DashboardService extends BaseService { d.put("id", row.get("id")); d.put("title", row.get("title")); d.put("description", row.get("description")); - d.put("thumbnailUrl", row.get("thumbnail_url")); - d.put("isPublic", row.get("is_public")); - d.put("createdBy", row.get("created_by")); - d.put("createdByName", row.get("created_by_name") != null ? row.get("created_by_name") : row.get("created_by")); - d.put("createdAt", row.get("created_at")); - d.put("updatedAt", row.get("updated_at")); + d.put("thumbnail_url", row.get("thumbnail_url")); + d.put("is_public", row.get("is_public")); + d.put("created_by", row.get("created_by")); + d.put("created_by_name", row.get("created_by_name") != null ? row.get("created_by_name") : row.get("created_by")); + d.put("created_at", row.get("created_at")); + d.put("updated_at", row.get("updated_at")); d.put("tags", parseJson(row.get("tags"), new ArrayList<>())); d.put("category", row.get("category")); - d.put("viewCount", toInt(row.get("view_count"), 0)); - d.put("companyCode", row.get("company_code")); - if (row.containsKey("elements_count")) d.put("elementsCount", toInt(row.get("elements_count"), 0)); + d.put("view_count", toInt(row.get("view_count"), 0)); + d.put("company_code", row.get("company_code")); + if (row.containsKey("elements_count")) d.put("elements_count", toInt(row.get("elements_count"), 0)); if (includeSettings) d.put("settings", parseJson(row.get("settings"), null)); return d; } @@ -306,14 +306,14 @@ public class DashboardService extends BaseService { size.put("height", row.get("height")); el.put("size", size); el.put("title", row.get("title")); - el.put("customTitle", row.get("custom_title")); - el.put("showHeader", !Boolean.FALSE.equals(row.get("show_header"))); + el.put("custom_title", row.get("custom_title")); + el.put("show_header", !Boolean.FALSE.equals(row.get("show_header"))); el.put("content", row.get("content")); - el.put("dataSource", parseJson(row.get("data_source_config"), new HashMap<>())); - el.put("chartConfig", parseJson(row.get("chart_config"), new HashMap<>())); - if (row.get("list_config") != null) el.put("listConfig", parseJson(row.get("list_config"), null)); - if (row.get("yard_config") != null) el.put("yardConfig", parseJson(row.get("yard_config"), null)); - if (row.get("custom_metric_config") != null) el.put("customMetricConfig", parseJson(row.get("custom_metric_config"), null)); + el.put("data_source", parseJson(row.get("data_source_config"), new HashMap<>())); + el.put("chart_config", parseJson(row.get("chart_config"), new HashMap<>())); + if (row.get("list_config") != null) el.put("list_config", parseJson(row.get("list_config"), null)); + if (row.get("yard_config") != null) el.put("yard_config", parseJson(row.get("yard_config"), null)); + if (row.get("custom_metric_config") != null) el.put("custom_metric_config", parseJson(row.get("custom_metric_config"), null)); return el; } diff --git a/backend-spring/src/main/java/com/erp/service/DataAdvancedService.java b/backend-spring/src/main/java/com/erp/service/DataAdvancedService.java index 83c22077..c26fbb08 100644 --- a/backend-spring/src/main/java/com/erp/service/DataAdvancedService.java +++ b/backend-spring/src/main/java/com/erp/service/DataAdvancedService.java @@ -46,7 +46,7 @@ public class DataAdvancedService extends BaseService { @SuppressWarnings("unchecked") public Map autoDetectMultiTable(Map params) { - String rootTable = (String) params.get("rootTable"); + String rootTable = (String) params.get("root_table"); if (rootTable == null || !IDENTIFIER.matcher(rootTable).matches()) { throw new IllegalArgumentException("유효한 rootTable 파라미터가 필요합니다."); } @@ -57,7 +57,7 @@ public class DataAdvancedService extends BaseService { throw new IllegalArgumentException("테이블이 존재하지 않습니다: " + rootTable); } - String companyCode = (String) params.get("companyCode"); + String companyCode = (String) params.get("company_code"); List> levels = new ArrayList<>(); buildLevelChain(rootTable, companyCode, levels, 0, 3); @@ -72,7 +72,7 @@ public class DataAdvancedService extends BaseService { mode.put("id", "level_" + depth); mode.put("label", levelNames + " 업로드"); mode.put("description", levelNames + " 데이터를 일괄 업로드합니다."); - mode.put("activeLevels", activeLevels); + mode.put("active_levels", activeLevels); uploadModes.add(mode); } @@ -81,14 +81,14 @@ public class DataAdvancedService extends BaseService { config.put("name", rootTable + " 체인 업로드"); config.put("description", "자동 감지된 테이블 체인"); config.put("levels", levels); - config.put("uploadModes", uploadModes); + config.put("upload_modes", uploadModes); return config; } private void buildLevelChain(String tableName, String companyCode, List> levels, int depth, int maxDepth) { if (depth >= maxDepth) return; - boolean alreadyAdded = levels.stream().anyMatch(l -> tableName.equals(l.get("tableName"))); + boolean alreadyAdded = levels.stream().anyMatch(l -> tableName.equals(l.get("table_name"))); if (alreadyAdded) return; List> dbCols = jdbcTemplate.queryForList( @@ -100,8 +100,8 @@ public class DataAdvancedService extends BaseService { .filter(c -> !SYSTEM_COLUMNS.contains(c.get("column_name"))) .map(c -> { Map col = new LinkedHashMap<>(); - col.put("dbColumn", c.get("column_name")); - col.put("excelHeader", c.get("column_name")); + col.put("db_column", c.get("column_name")); + col.put("excel_header", c.get("column_name")); col.put("required", false); return col; }) @@ -110,21 +110,21 @@ public class DataAdvancedService extends BaseService { String parentFkColumn = null; String parentRefColumn = null; if (depth > 0 && !levels.isEmpty()) { - String parentTable = (String) levels.get(levels.size() - 1).get("tableName"); + String parentTable = (String) levels.get(levels.size() - 1).get("table_name"); Map fkInfo = findFkColumn(tableName, parentTable); if (fkInfo != null) { - parentFkColumn = fkInfo.get("fkColumn"); - parentRefColumn = fkInfo.get("refColumn"); + parentFkColumn = fkInfo.get("fk_column"); + parentRefColumn = fkInfo.get("ref_column"); } } Map level = new LinkedHashMap<>(); - level.put("tableName", tableName); + level.put("table_name", tableName); level.put("label", tableName); - level.put("parentFkColumn", parentFkColumn); - level.put("parentRefColumn", parentRefColumn); - level.put("upsertMode", "upsert"); - level.put("upsertKeyColumns", Collections.emptyList()); + level.put("parent_fk_column", parentFkColumn); + level.put("parent_ref_column", parentRefColumn); + level.put("upsert_mode", "upsert"); + level.put("upsert_key_columns", Collections.emptyList()); level.put("columns", columns); levels.add(level); @@ -158,8 +158,8 @@ public class DataAdvancedService extends BaseService { parentTable, childTable); if (result.isEmpty()) return null; Map fk = new HashMap<>(); - fk.put("fkColumn", (String) result.get(0).get("fk_col")); - fk.put("refColumn", (String) result.get(0).get("ref_col")); + fk.put("fk_column", (String) result.get(0).get("fk_col")); + fk.put("ref_column", (String) result.get(0).get("ref_col")); return fk; } @@ -167,7 +167,7 @@ public class DataAdvancedService extends BaseService { @SuppressWarnings("unchecked") public Map getMasterDetailRelation(Map params) { - String screenIdStr = String.valueOf(params.get("screenId")); + String screenIdStr = String.valueOf(params.get("screen_id")); int screenId; try { screenId = Integer.parseInt(screenIdStr); @@ -192,11 +192,11 @@ public class DataAdvancedService extends BaseService { try { String configJson = (String) layoutRows.get(0).get("config"); Map config = objectMapper.readValue(configJson, Map.class); - Map leftPanel = (Map) config.get("leftPanel"); - Map rightPanel = (Map) config.get("rightPanel"); + Map leftPanel = (Map) config.get("left_panel"); + Map rightPanel = (Map) config.get("right_panel"); - String masterTable = leftPanel != null ? (String) leftPanel.get("tableName") : null; - String detailTable = rightPanel != null ? (String) rightPanel.get("tableName") : null; + String masterTable = leftPanel != null ? (String) leftPanel.get("table_name") : null; + String detailTable = rightPanel != null ? (String) rightPanel.get("table_name") : null; if (masterTable == null || detailTable == null) { Map result = new LinkedHashMap<>(); @@ -213,11 +213,11 @@ public class DataAdvancedService extends BaseService { List keys = (List) relationCfg.get("keys"); if (keys != null && !keys.isEmpty()) { Map firstKey = (Map) keys.get(0); - masterKeyColumn = (String) firstKey.get("leftColumn"); - detailFkColumn = (String) firstKey.get("rightColumn"); + masterKeyColumn = (String) firstKey.get("left_column"); + detailFkColumn = (String) firstKey.get("right_column"); } else { - masterKeyColumn = (String) relationCfg.get("leftColumn"); - detailFkColumn = (String) relationCfg.get("foreignKey"); + masterKeyColumn = (String) relationCfg.get("left_column"); + detailFkColumn = (String) relationCfg.get("foreign_key"); } } @@ -251,8 +251,8 @@ public class DataAdvancedService extends BaseService { Map ci = new LinkedHashMap<>(); ci.put("name", colName); ci.put("label", masterLabels.getOrDefault(colName, colName)); - ci.put("inputType", "text"); - ci.put("isFromMaster", true); + ci.put("input_type", "text"); + ci.put("is_from_master", true); masterColumns.add(ci); } @@ -266,18 +266,18 @@ public class DataAdvancedService extends BaseService { Map ci = new LinkedHashMap<>(); ci.put("name", colName); ci.put("label", detailLabels.getOrDefault(colName, colName)); - ci.put("inputType", "text"); - ci.put("isFromMaster", false); + ci.put("input_type", "text"); + ci.put("is_from_master", false); detailColumns.add(ci); } Map result = new LinkedHashMap<>(); - result.put("masterTable", masterTable); - result.put("detailTable", detailTable); - result.put("masterKeyColumn", masterKeyColumn); - result.put("detailFkColumn", detailFkColumn); - result.put("masterColumns", masterColumns); - result.put("detailColumns", detailColumns); + result.put("master_table", masterTable); + result.put("detail_table", detailTable); + result.put("master_key_column", masterKeyColumn); + result.put("detail_fk_column", detailFkColumn); + result.put("master_columns", masterColumns); + result.put("detail_columns", detailColumns); return result; } catch (Exception e) { @@ -308,18 +308,18 @@ public class DataAdvancedService extends BaseService { @SuppressWarnings("unchecked") public Map downloadMasterDetail(Map params) { Map relation = getMasterDetailRelation(params); - if (relation.get("masterTable") == null) { + if (relation.get("master_table") == null) { throw new IllegalArgumentException( (String) relation.getOrDefault("message", "마스터-디테일 구조가 아닙니다.")); } - String masterTable = (String) relation.get("masterTable"); - String detailTable = (String) relation.get("detailTable"); - String masterKeyColumn = (String) relation.get("masterKeyColumn"); - String detailFkColumn = (String) relation.get("detailFkColumn"); - List> masterColumns = (List>) relation.get("masterColumns"); - List> detailColumns = (List>) relation.get("detailColumns"); - String companyCode = (String) params.get("companyCode"); + String masterTable = (String) relation.get("master_table"); + String detailTable = (String) relation.get("detail_table"); + String masterKeyColumn = (String) relation.get("master_key_column"); + String detailFkColumn = (String) relation.get("detail_fk_column"); + List> masterColumns = (List>) relation.get("master_columns"); + List> detailColumns = (List>) relation.get("detail_columns"); + String companyCode = (String) params.get("company_code"); Map filters = params.get("filters") instanceof Map ? (Map) params.get("filters") : null; @@ -384,9 +384,9 @@ public class DataAdvancedService extends BaseService { result.put("headers", headers); result.put("columns", columns); result.put("data", data); - result.put("masterColumns", masterColNames); - result.put("detailColumns", detailColNames); - result.put("joinKey", masterKeyColumn); + result.put("master_columns", masterColNames); + result.put("detail_columns", detailColNames); + result.put("join_key", masterKeyColumn); return result; } @@ -396,18 +396,18 @@ public class DataAdvancedService extends BaseService { @SuppressWarnings("unchecked") public Map uploadMasterDetail(Map params) { Map relation = getMasterDetailRelation(params); - if (relation.get("masterTable") == null) { + if (relation.get("master_table") == null) { throw new IllegalArgumentException( (String) relation.getOrDefault("message", "마스터-디테일 구조가 아닙니다.")); } - String masterTable = (String) relation.get("masterTable"); - String detailTable = (String) relation.get("detailTable"); - String masterKeyColumn = (String) relation.get("masterKeyColumn"); - String detailFkColumn = (String) relation.get("detailFkColumn"); - List> masterCols = (List>) relation.get("masterColumns"); - String companyCode = (String) params.get("companyCode"); - String userId = (String) params.get("userId"); + String masterTable = (String) relation.get("master_table"); + String detailTable = (String) relation.get("detail_table"); + String masterKeyColumn = (String) relation.get("master_key_column"); + String detailFkColumn = (String) relation.get("detail_fk_column"); + List> masterCols = (List>) relation.get("master_columns"); + String companyCode = (String) params.get("company_code"); + String userId = (String) params.get("user_id"); List data = (List) params.get("data"); if (data == null) throw new IllegalArgumentException("data 배열이 필요합니다."); @@ -466,11 +466,11 @@ public class DataAdvancedService extends BaseService { } Map result = new LinkedHashMap<>(); - result.put("masterInserted", masterInserted); - result.put("masterUpdated", masterUpdated); - result.put("detailInserted", detailInserted); - result.put("detailUpdated", 0); - result.put("detailDeleted", 0); + result.put("master_inserted", masterInserted); + result.put("master_updated", masterUpdated); + result.put("detail_inserted", detailInserted); + result.put("detail_updated", 0); + result.put("detail_deleted", 0); result.put("errors", errors); result.put("success", errors.isEmpty()); return result; @@ -482,21 +482,21 @@ public class DataAdvancedService extends BaseService { @SuppressWarnings("unchecked") public Map uploadMasterDetailSimple(Map params) { Map relation = getMasterDetailRelation(params); - if (relation.get("masterTable") == null) { + if (relation.get("master_table") == null) { throw new IllegalArgumentException( (String) relation.getOrDefault("message", "마스터-디테일 구조가 아닙니다.")); } - String masterTable = (String) relation.get("masterTable"); - String detailTable = (String) relation.get("detailTable"); - String masterKeyColumn = (String) relation.get("masterKeyColumn"); - String detailFkColumn = (String) relation.get("detailFkColumn"); - String companyCode = (String) params.get("companyCode"); - String userId = (String) params.get("userId"); - List detailData = (List) params.get("detailData"); - Map masterFieldValues = params.get("masterFieldValues") instanceof Map - ? (Map) params.get("masterFieldValues") : new HashMap<>(); - Object numberingRuleId = params.get("numberingRuleId"); + String masterTable = (String) relation.get("master_table"); + String detailTable = (String) relation.get("detail_table"); + String masterKeyColumn = (String) relation.get("master_key_column"); + String detailFkColumn = (String) relation.get("detail_fk_column"); + String companyCode = (String) params.get("company_code"); + String userId = (String) params.get("user_id"); + List detailData = (List) params.get("detail_data"); + Map masterFieldValues = params.get("master_field_values") instanceof Map + ? (Map) params.get("master_field_values") : new HashMap<>(); + Object numberingRuleId = params.get("numbering_rule_id"); if (detailData == null) throw new IllegalArgumentException("detailData 배열이 필요합니다."); Set masterValidCols = getValidColumns(masterTable); @@ -538,9 +538,9 @@ public class DataAdvancedService extends BaseService { } Map result = new LinkedHashMap<>(); - result.put("masterInserted", 1); - result.put("detailInserted", detailInserted); - result.put("generatedKey", generatedKey); + result.put("master_inserted", 1); + result.put("detail_inserted", detailInserted); + result.put("generated_key", generatedKey); result.put("errors", errors); result.put("success", errors.isEmpty()); return result; @@ -553,10 +553,10 @@ public class DataAdvancedService extends BaseService { public Map uploadMultiTable(Map params) { Map config = params.get("config") instanceof Map ? (Map) params.get("config") : null; - String modeId = (String) params.get("modeId"); + String modeId = (String) params.get("mode_id"); List rows = (List) params.get("rows"); - String companyCode = (String) params.get("companyCode"); - String userId = (String) params.get("userId"); + String companyCode = (String) params.get("company_code"); + String userId = (String) params.get("user_id"); if (config == null || modeId == null || rows == null) { throw new IllegalArgumentException("config, modeId, rows 배열이 필요합니다."); @@ -564,8 +564,8 @@ public class DataAdvancedService extends BaseService { List allLevels = config.get("levels") instanceof List ? (List) config.get("levels") : Collections.emptyList(); - List uploadModes = config.get("uploadModes") instanceof List - ? (List) config.get("uploadModes") : Collections.emptyList(); + List uploadModes = config.get("upload_modes") instanceof List + ? (List) config.get("upload_modes") : Collections.emptyList(); Map mode = null; for (Object m : uploadModes) { @@ -576,7 +576,7 @@ public class DataAdvancedService extends BaseService { } if (mode == null) throw new IllegalArgumentException("업로드 모드를 찾을 수 없습니다: " + modeId); - List activeLevelIndices = (List) mode.get("activeLevels"); + List activeLevelIndices = (List) mode.get("active_levels"); if (activeLevelIndices == null || activeLevelIndices.isEmpty()) { throw new IllegalArgumentException("활성화된 테이블 레벨이 없습니다."); } @@ -590,7 +590,7 @@ public class DataAdvancedService extends BaseService { List> results = new ArrayList<>(); for (Map lv : activeLevels) { Map lr = new LinkedHashMap<>(); - lr.put("tableName", lv.get("tableName")); + lr.put("table_name", lv.get("table_name")); lr.put("inserted", 0); lr.put("updated", 0); results.add(lr); @@ -598,7 +598,7 @@ public class DataAdvancedService extends BaseService { Map> colsCache = new LinkedHashMap<>(); for (Map lv : activeLevels) { - String tbl = (String) lv.get("tableName"); + String tbl = (String) lv.get("table_name"); colsCache.put(tbl, getValidColumns(tbl)); } @@ -617,7 +617,7 @@ public class DataAdvancedService extends BaseService { for (int lvlIdx = 0; lvlIdx < activeLevels.size(); lvlIdx++) { Map lv = activeLevels.get(lvlIdx); - String tableName = (String) lv.get("tableName"); + String tableName = (String) lv.get("table_name"); Set existingCols = colsCache.get(tableName); Map levelResult = results.get(lvlIdx); @@ -626,21 +626,21 @@ public class DataAdvancedService extends BaseService { if (colDefs != null) { for (Object colObj : colDefs) { Map colDef = (Map) colObj; - String excelHeader = (String) colDef.get("excelHeader"); - String dbCol = (String) colDef.get("dbColumn"); + String excelHeader = (String) colDef.get("excel_header"); + String dbCol = (String) colDef.get("db_column"); Object val = row.get(excelHeader); if (val != null && !val.toString().isEmpty()) { levelData.put(dbCol, val); - } else if (colDef.get("defaultValue") != null) { - levelData.put(dbCol, colDef.get("defaultValue")); + } else if (colDef.get("default_value") != null) { + levelData.put(dbCol, colDef.get("default_value")); } } } if (levelData.isEmpty() && lvlIdx > 0) break; - String parentFkColumn = (String) lv.get("parentFkColumn"); - String parentRefColumn = (String) lv.get("parentRefColumn"); + String parentFkColumn = (String) lv.get("parent_fk_column"); + String parentRefColumn = (String) lv.get("parent_ref_column"); if (lvlIdx > 0 && parentFkColumn != null && parentId != null) { if (parentRefColumn != null && !"id".equals(parentRefColumn) && parentLevelData.containsKey(parentRefColumn)) { @@ -657,8 +657,8 @@ public class DataAdvancedService extends BaseService { levelData.put("writer", userId); } - String upsertMode = (String) lv.get("upsertMode"); - List upsertKeyCols = (List) lv.get("upsertKeyColumns"); + String upsertMode = (String) lv.get("upsert_mode"); + List upsertKeyCols = (List) lv.get("upsert_key_columns"); String upsertKey = null; if (upsertKeyCols != null && !upsertKeyCols.isEmpty()) { upsertKey = upsertKeyCols.stream() @@ -696,7 +696,7 @@ public class DataAdvancedService extends BaseService { Map result = new LinkedHashMap<>(); result.put("success", success); result.put("results", results); - result.put("totalRows", rows.size()); + result.put("total_rows", rows.size()); result.put("errors", errors); return result; } @@ -755,7 +755,7 @@ public class DataAdvancedService extends BaseService { private Object upsertRowForChain(String tableName, Map level, Map data, Set existingCols, String companyCode, Map levelResult) { - List upsertKeyCols = (List) level.get("upsertKeyColumns"); + List upsertKeyCols = (List) level.get("upsert_key_columns"); if (upsertKeyCols == null || upsertKeyCols.isEmpty()) { Object id = insertRow(tableName, data, existingCols); levelResult.put("inserted", ((Number) levelResult.get("inserted")).intValue() + 1); diff --git a/backend-spring/src/main/java/com/erp/service/DataService.java b/backend-spring/src/main/java/com/erp/service/DataService.java index 39031c6d..a9279e62 100644 --- a/backend-spring/src/main/java/com/erp/service/DataService.java +++ b/backend-spring/src/main/java/com/erp/service/DataService.java @@ -86,13 +86,13 @@ public class DataService extends BaseService { // ── 목록 조회 ───────────────────────────────────────────────────────────── @SuppressWarnings("unchecked") public Map getTableData(Map params) { - String tableName = (String) params.get("tableName"); + String tableName = (String) params.get("table_name"); validateTable(tableName); if (!tableExists(tableName)) { throw new IllegalArgumentException("테이블을 찾을 수 없습니다: " + tableName); } - String companyCode = (String) params.get("companyCode"); + String companyCode = (String) params.get("company_code"); boolean hasCC = hasCompanyCodeColumn(tableName); int page = toInt(params.get("page"), 1); @@ -133,7 +133,7 @@ public class DataService extends BaseService { // search 파라미터 String search = (String) params.get("search"); - String searchColumn = (String) params.get("searchColumn"); + String searchColumn = (String) params.get("search_column"); if (search != null && !search.isBlank() && searchColumn != null && !searchColumn.isBlank()) { validateColumn(searchColumn); Set validCols = getValidColumns(tableName); @@ -144,8 +144,8 @@ public class DataService extends BaseService { } // ORDER BY - String orderBy = (String) params.get("orderBy"); - String orderDir = "DESC".equalsIgnoreCase((String) params.get("orderDir")) ? "DESC" : "ASC"; + String orderBy = (String) params.get("order_by"); + String orderDir = "DESC".equalsIgnoreCase((String) params.get("order_dir")) ? "DESC" : "ASC"; String orderClause = ""; if (orderBy != null && !orderBy.isBlank() && IDENTIFIER.matcher(orderBy).matches()) { orderClause = " ORDER BY \"" + orderBy + "\" " + orderDir; @@ -175,7 +175,7 @@ public class DataService extends BaseService { result.put("total", total); result.put("page", page); result.put("limit", limit); - result.put("totalPages", (int) Math.ceil((double) total / limit)); + result.put("total_pages", (int) Math.ceil((double) total / limit)); return result; } @@ -199,29 +199,29 @@ public class DataService extends BaseService { return cols.stream().map(col -> { Map c = new LinkedHashMap<>(); String colName = String.valueOf(col.get("column_name")); - c.put("columnName", colName); - c.put("dataType", col.get("data_type")); - c.put("udtName", col.get("udt_name")); + c.put("column_name", colName); + c.put("data_type", col.get("data_type")); + c.put("udt_name", col.get("udt_name")); c.put("nullable", "YES".equals(col.get("is_nullable"))); - c.put("defaultValue", col.get("column_default")); - c.put("isPk", pkList.contains(colName)); - c.put("columnLabel", colName); + c.put("default_value", col.get("column_default")); + c.put("is_pk", pkList.contains(colName)); + c.put("column_label", colName); return c; }).collect(Collectors.toList()); } // ── 단건 조회 ───────────────────────────────────────────────────────────── public Map getRecordDetail(Map params) { - String tableName = (String) params.get("tableName"); + String tableName = (String) params.get("table_name"); String id = String.valueOf(params.get("id")); validateTable(tableName); List pks = getPrimaryKeys(tableName); - String pkOverride = (String) params.get("primaryKeyColumn"); + String pkOverride = (String) params.get("primary_key_column"); String pkCol = pkOverride != null && !pkOverride.isBlank() ? pkOverride : (pks.isEmpty() ? "id" : pks.get(0)); - String companyCode = (String) params.get("companyCode"); + String companyCode = (String) params.get("company_code"); boolean hasCC = hasCompanyCodeColumn(tableName); List args = new ArrayList<>(); @@ -242,12 +242,12 @@ public class DataService extends BaseService { @Transactional @SuppressWarnings("unchecked") public Map createRecord(Map params) { - String tableName = (String) params.get("tableName"); + String tableName = (String) params.get("table_name"); validateTable(tableName); Set validCols = getValidColumns(tableName); boolean hasCC = hasCompanyCodeColumn(tableName); - String companyCode = (String) params.get("companyCode"); + String companyCode = (String) params.get("company_code"); // data 키가 있으면 그 안을 사용, 없으면 params 전체에서 메타 키 제거 Map data; @@ -255,8 +255,8 @@ public class DataService extends BaseService { data = (Map) params.get("data"); } else { data = new LinkedHashMap<>(params); - data.remove("tableName"); - data.remove("companyCode"); + data.remove("table_name"); + data.remove("company_code"); } if (hasCC && companyCode != null && !companyCode.isEmpty() && !"*".equals(companyCode)) { @@ -286,7 +286,7 @@ public class DataService extends BaseService { @Transactional @SuppressWarnings("unchecked") public Map updateRecord(Map params) { - String tableName = (String) params.get("tableName"); + String tableName = (String) params.get("table_name"); String id = String.valueOf(params.get("id")); validateTable(tableName); @@ -294,7 +294,7 @@ public class DataService extends BaseService { List pks = getPrimaryKeys(tableName); String pkCol = pks.isEmpty() ? "id" : pks.get(0); - String companyCode = (String) params.get("companyCode"); + String companyCode = (String) params.get("company_code"); boolean hasCC = hasCompanyCodeColumn(tableName); Map data; @@ -302,8 +302,8 @@ public class DataService extends BaseService { data = (Map) params.get("data"); } else { data = new LinkedHashMap<>(params); - data.remove("tableName"); - data.remove("companyCode"); + data.remove("table_name"); + data.remove("company_code"); data.remove("id"); } @@ -337,10 +337,10 @@ public class DataService extends BaseService { Object relInfoRaw = params.get("_relationInfo"); if (relInfoRaw instanceof Map && updated != null) { Map relInfo = (Map) relInfoRaw; - String relatedTable = (String) relInfo.get("relatedTable"); - String foreignKey = (String) relInfo.get("foreignKey"); - Object oldValue = relInfo.get("oldValue"); - Object newValue = relInfo.get("newValue"); + String relatedTable = (String) relInfo.get("related_table"); + String foreignKey = (String) relInfo.get("foreign_key"); + Object oldValue = relInfo.get("old_value"); + Object newValue = relInfo.get("new_value"); if (relatedTable != null && foreignKey != null && oldValue != null && newValue != null) { try { validateTable(relatedTable); @@ -360,14 +360,14 @@ public class DataService extends BaseService { // ── 삭제 ────────────────────────────────────────────────────────────────── @Transactional public Map deleteRecord(Map params) { - String tableName = (String) params.get("tableName"); + String tableName = (String) params.get("table_name"); String id = String.valueOf(params.get("id")); validateTable(tableName); List pks = getPrimaryKeys(tableName); String pkCol = pks.isEmpty() ? "id" : pks.get(0); - String companyCode = (String) params.get("companyCode"); + String companyCode = (String) params.get("company_code"); boolean hasCC = hasCompanyCodeColumn(tableName); List args = new ArrayList<>(); @@ -386,20 +386,20 @@ public class DataService extends BaseService { // ── JOIN 조회 ───────────────────────────────────────────────────────────── @SuppressWarnings("unchecked") public List> getJoinData(Map params) { - String leftTable = (String) params.get("leftTable"); - String rightTable = (String) params.get("rightTable"); + String leftTable = (String) params.get("left_table"); + String rightTable = (String) params.get("right_table"); // Node.js는 leftColumn/rightColumn, 내부 호출은 leftKey/rightKey — 둘 다 지원 - String leftKey = params.get("leftKey") != null - ? (String) params.get("leftKey") : (String) params.get("leftColumn"); - String rightKey = params.get("rightKey") != null - ? (String) params.get("rightKey") : (String) params.get("rightColumn"); + String leftKey = params.get("left_key") != null + ? (String) params.get("left_key") : (String) params.get("left_column"); + String rightKey = params.get("right_key") != null + ? (String) params.get("right_key") : (String) params.get("right_column"); validateTable(leftTable); validateTable(rightTable); validateColumn(leftKey); validateColumn(rightKey); - String companyCode = (String) params.get("companyCode"); + String companyCode = (String) params.get("company_code"); boolean hasCC = hasCompanyCodeColumn(leftTable); List args = new ArrayList<>(); @@ -410,7 +410,7 @@ public class DataService extends BaseService { args.add(companyCode); } // leftValue: Node.js가 특정 값으로 필터링할 때 사용 - String leftValue = (String) params.get("leftValue"); + String leftValue = (String) params.get("left_value"); if (leftValue != null && !leftValue.isBlank()) { where.append(" AND l.\"").append(leftKey).append("\" = ?"); args.add(leftValue); @@ -441,18 +441,18 @@ public class DataService extends BaseService { @Transactional @SuppressWarnings("unchecked") public Map upsertGroupedRecords(Map params) { - String tableName = (String) params.get("tableName"); + String tableName = (String) params.get("table_name"); validateTable(tableName); Set validCols = getValidColumns(tableName); - String companyCode = (String) params.get("companyCode"); + String companyCode = (String) params.get("company_code"); boolean hasCC = hasCompanyCodeColumn(tableName); - Map parentKeys = params.get("parentKeys") instanceof Map - ? (Map) params.get("parentKeys") : new HashMap<>(); + Map parentKeys = params.get("parent_keys") instanceof Map + ? (Map) params.get("parent_keys") : new HashMap<>(); List records = params.get("records") instanceof List ? (List) params.get("records") : new ArrayList<>(); - boolean deleteOrphans = Boolean.TRUE.equals(params.get("deleteOrphans")); + boolean deleteOrphans = Boolean.TRUE.equals(params.get("delete_orphans")); List pks = getPrimaryKeys(tableName); String pkCol = pks.isEmpty() ? "id" : pks.get(0); @@ -582,7 +582,7 @@ public class DataService extends BaseService { result.put("inserted", inserted); result.put("updated", updated); result.put("deleted", deleted); - result.put("savedIds", savedIds); + result.put("saved_ids", savedIds); return result; } @@ -590,10 +590,10 @@ public class DataService extends BaseService { @Transactional @SuppressWarnings("unchecked") public Map deleteByCompositeKey(Map params) { - String tableName = (String) params.get("tableName"); + String tableName = (String) params.get("table_name"); validateTable(tableName); - String companyCode = (String) params.get("companyCode"); + String companyCode = (String) params.get("company_code"); boolean hasCC = hasCompanyCodeColumn(tableName); // keys: { colName: value, ... } @@ -631,10 +631,10 @@ public class DataService extends BaseService { @Transactional @SuppressWarnings("unchecked") public Map deleteGroupRecords(Map params) { - String tableName = (String) params.get("tableName"); + String tableName = (String) params.get("table_name"); validateTable(tableName); - String companyCode = (String) params.get("companyCode"); + String companyCode = (String) params.get("company_code"); boolean hasCC = hasCompanyCodeColumn(tableName); Map filters = params.get("filters") instanceof Map @@ -671,9 +671,9 @@ public class DataService extends BaseService { @SuppressWarnings("unchecked") private List> deduplicateData(List> rows, Map config) { - String groupByColumn = (String) config.get("groupByColumn"); - String keepStrategy = config.get("keepStrategy") != null - ? (String) config.get("keepStrategy") : "latest"; + String groupByColumn = (String) config.get("group_by_column"); + String keepStrategy = config.get("keep_strategy") != null + ? (String) config.get("keep_strategy") : "latest"; if (groupByColumn == null || groupByColumn.isBlank()) return rows; Map> grouped = new LinkedHashMap<>(); diff --git a/backend-spring/src/main/java/com/erp/service/DataflowDiagramService.java b/backend-spring/src/main/java/com/erp/service/DataflowDiagramService.java index 6a710590..ec89a055 100644 --- a/backend-spring/src/main/java/com/erp/service/DataflowDiagramService.java +++ b/backend-spring/src/main/java/com/erp/service/DataflowDiagramService.java @@ -49,7 +49,7 @@ public class DataflowDiagramService extends BaseService { pagination.put("page", page); pagination.put("size", size); pagination.put("total", total); - pagination.put("totalPages", totalPages); + pagination.put("total_pages", totalPages); Map result = new LinkedHashMap<>(); result.put("diagrams", diagrams); @@ -64,7 +64,7 @@ public class DataflowDiagramService extends BaseService { public Map getDataflowDiagramById(int diagramId, String companyCode) { Map params = new HashMap<>(); params.put("diagram_id", diagramId); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); Map row = sqlSession.selectOne("dataflowDiagram.selectById", params); parseJsonbFields(row); return row; @@ -79,7 +79,7 @@ public class DataflowDiagramService extends BaseService { String companyCode, String userId) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("created_by", userId); params.put("updated_by", userId); params.put("diagram_name", body.get("diagram_name")); @@ -111,7 +111,7 @@ public class DataflowDiagramService extends BaseService { Map params = new HashMap<>(); params.put("diagram_id", diagramId); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("updated_by", userId); // 단순 텍스트 필드 (null 이면 업데이트 안 함) @@ -123,10 +123,10 @@ public class DataflowDiagramService extends BaseService { params.put("relationships", toJsonString(body.get("relationships"))); } // nullable JSON 필드: containsKey 로 "명시적 전달" 여부 판단 - setNullableJsonField(params, body, "node_positions", "updateNodePositions"); - setNullableJsonField(params, body, "category", "updateCategory"); - setNullableJsonField(params, body, "control", "updateControl"); - setNullableJsonField(params, body, "plan", "updatePlan"); + setNullableJsonField(params, body, "node_positions", "update_node_positions"); + setNullableJsonField(params, body, "category", "update_category"); + setNullableJsonField(params, body, "control", "update_control"); + setNullableJsonField(params, body, "plan", "update_plan"); sqlSession.update("dataflowDiagram.update", params); @@ -144,7 +144,7 @@ public class DataflowDiagramService extends BaseService { } Map params = new HashMap<>(); params.put("diagram_id", diagramId); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); sqlSession.delete("dataflowDiagram.delete", params); return true; } @@ -168,7 +168,7 @@ public class DataflowDiagramService extends BaseService { : generateCopyName(original, companyCode); Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("created_by", userId); params.put("updated_by", userId); params.put("diagram_name", copyName); @@ -204,7 +204,7 @@ public class DataflowDiagramService extends BaseService { // baseName 으로 시작하는 이름 목록 조회 Map queryParams = new HashMap<>(); queryParams.put("pattern", baseName + "%"); - queryParams.put("companyCode", companyCode); + queryParams.put("company_code", companyCode); List> existing = sqlSession.selectList("dataflowDiagram.selectNamesLike", queryParams); // 가장 큰 (n) 번호 탐색 diff --git a/backend-spring/src/main/java/com/erp/service/DataflowExecutionService.java b/backend-spring/src/main/java/com/erp/service/DataflowExecutionService.java index b85a54c6..65ff26ca 100644 --- a/backend-spring/src/main/java/com/erp/service/DataflowExecutionService.java +++ b/backend-spring/src/main/java/com/erp/service/DataflowExecutionService.java @@ -45,13 +45,13 @@ public class DataflowExecutionService extends BaseService { * params: { tableName, data, actionType, connection, companyCode } */ public Map executeDataAction(Map params) { - String tableName = (String) params.get("tableName"); + String tableName = (String) params.get("table_name"); @SuppressWarnings("unchecked") Map data = (Map) params.get("data"); - String actionType = (String) params.get("actionType"); + String actionType = (String) params.get("action_type"); @SuppressWarnings("unchecked") Map connection = (Map) params.get("connection"); - String companyCode = (String) params.get("companyCode"); + String companyCode = (String) params.get("company_code"); if (tableName == null || tableName.isBlank()) throw new IllegalArgumentException("tableName 은 필수입니다."); if (data == null) throw new IllegalArgumentException("data 는 필수입니다."); @@ -213,7 +213,7 @@ public class DataflowExecutionService extends BaseService { "DELETE 액션은 아직 지원되지 않습니다. 조건 설정이 필요합니다."); // 연결 정보 조회 - Map connInfo = sqlSession.selectOne("dataflowExecution.selectExternalConnection", Map.of("connectionId", connId)); + Map connInfo = sqlSession.selectOne("dataflowExecution.selectExternalConnection", Map.of("connection_id", connId)); if (connInfo == null) throw new IllegalArgumentException("커넥션을 찾을 수 없습니다: " + connId); String dbType = String.valueOf(connInfo.get("db_type")).toLowerCase(Locale.ROOT); @@ -276,14 +276,14 @@ public class DataflowExecutionService extends BaseService { Map result = new LinkedHashMap<>(); result.put("success", true); result.put("action", action); - result.put("tableName", tableName); + result.put("table_name", tableName); result.put("data", rows); - result.put("affectedRows", rows.size()); + result.put("affected_rows", rows.size()); return result; } private String resolvePrimaryKey(String safeTable) { - List pks = sqlSession.selectList("dataflowExecution.selectPrimaryKeys", Map.of("tableName", safeTable)); + List pks = sqlSession.selectList("dataflowExecution.selectPrimaryKeys", Map.of("table_name", safeTable)); if (pks == null || pks.isEmpty()) throw new IllegalStateException("테이블 " + safeTable + "의 기본키를 찾을 수 없습니다."); return pks.get(0); } diff --git a/backend-spring/src/main/java/com/erp/service/DataflowService.java b/backend-spring/src/main/java/com/erp/service/DataflowService.java index 7f056205..c623d132 100644 --- a/backend-spring/src/main/java/com/erp/service/DataflowService.java +++ b/backend-spring/src/main/java/com/erp/service/DataflowService.java @@ -30,34 +30,34 @@ public class DataflowService extends BaseService { public Map insertTableRelationship(Map body, String companyCode, String userId) { - String relationshipName = str(body.get("relationshipName")); - String fromTableName = str(body.get("fromTableName")); - String fromColumnName = str(body.get("fromColumnName")); - String toTableName = str(body.get("toTableName")); - String toColumnName = str(body.get("toColumnName")); - String relationshipType = body.getOrDefault("relationshipType", "one-to-one").toString(); - String connectionType = body.getOrDefault("connectionType", "simple-key").toString(); + String relationshipName = str(body.get("relationship_name")); + String fromTableName = str(body.get("from_table_name")); + String fromColumnName = str(body.get("from_column_name")); + String toTableName = str(body.get("to_table_name")); + String toColumnName = str(body.get("to_column_name")); + String relationshipType = body.getOrDefault("relationship_type", "one-to-one").toString(); + String connectionType = body.getOrDefault("connection_type", "simple-key").toString(); // diagram_id 결정: 전달된 값 or max+1 int diagramId; - Object diagramIdObj = body.get("diagramId"); + Object diagramIdObj = body.get("diagram_id"); if (diagramIdObj != null) { diagramId = toInt(diagramIdObj); } else { Map maxParams = new HashMap<>(); - maxParams.put("companyCode", companyCode); + maxParams.put("company_code", companyCode); Map maxRow = sqlSession.selectOne("dataflow.getMaxDiagramId", maxParams); diagramId = toInt(maxRow != null ? maxRow.get("max_diagram_id") : null) + 1; } // 중복 확인 Map checkParams = new HashMap<>(); - checkParams.put("diagramId", diagramId); - checkParams.put("fromTableName", fromTableName); - checkParams.put("fromColumnName", fromColumnName); - checkParams.put("toTableName", toTableName); - checkParams.put("toColumnName", toColumnName); - checkParams.put("companyCode", companyCode); + checkParams.put("diagram_id", diagramId); + checkParams.put("from_table_name", fromTableName); + checkParams.put("from_column_name", fromColumnName); + checkParams.put("to_table_name", toTableName); + checkParams.put("to_column_name", toColumnName); + checkParams.put("company_code", companyCode); if (sqlSession.selectOne("dataflow.getExistingRelationshipInfo", checkParams) != null) { throw new IllegalArgumentException( "이미 존재하는 관계입니다: " + fromTableName + "." + fromColumnName @@ -65,36 +65,36 @@ public class DataflowService extends BaseService { } Map params = new HashMap<>(); - params.put("diagramId", diagramId); - params.put("relationshipName", relationshipName); - params.put("fromTableName", fromTableName); - params.put("fromColumnName", fromColumnName); - params.put("toTableName", toTableName); - params.put("toColumnName", toColumnName); - params.put("relationshipType", relationshipType); - params.put("connectionType", connectionType); - params.put("companyCode", companyCode); + params.put("diagram_id", diagramId); + params.put("relationship_name", relationshipName); + params.put("from_table_name", fromTableName); + params.put("from_column_name", fromColumnName); + params.put("to_table_name", toTableName); + params.put("to_column_name", toColumnName); + params.put("relationship_type", relationshipType); + params.put("connection_type", connectionType); + params.put("company_code", companyCode); params.put("settings", toJsonString(body.get("settings"))); - params.put("createdBy", userId); + params.put("created_by", userId); sqlSession.insert("dataflow.insertTableRelationship", params); Map idParams = new HashMap<>(); - idParams.put("relationshipId", params.get("relationshipId")); - idParams.put("companyCode", companyCode); + idParams.put("relationship_id", params.get("relationship_id")); + idParams.put("company_code", companyCode); return sqlSession.selectOne("dataflow.getTableRelationshipInfo", idParams); } public List> getTableRelationshipList(String companyCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return sqlSession.selectList("dataflow.getTableRelationshipList", params); } public Map getTableRelationshipInfo(int relationshipId, String companyCode) { Map params = new HashMap<>(); - params.put("relationshipId", relationshipId); - params.put("companyCode", companyCode); + params.put("relationship_id", relationshipId); + params.put("company_code", companyCode); return sqlSession.selectOne("dataflow.getTableRelationshipInfo", params); } @@ -106,17 +106,17 @@ public class DataflowService extends BaseService { if (getTableRelationshipInfo(relationshipId, companyCode) == null) return null; Map params = new HashMap<>(); - params.put("relationshipId", relationshipId); - params.put("companyCode", companyCode); - params.put("updatedBy", userId); + params.put("relationship_id", relationshipId); + params.put("company_code", companyCode); + params.put("updated_by", userId); - copyIfPresent(updateData, params, "relationshipName"); - copyIfPresent(updateData, params, "fromTableName"); - copyIfPresent(updateData, params, "fromColumnName"); - copyIfPresent(updateData, params, "toTableName"); - copyIfPresent(updateData, params, "toColumnName"); - copyIfPresent(updateData, params, "relationshipType"); - copyIfPresent(updateData, params, "connectionType"); + copyIfPresent(updateData, params, "relationship_name"); + copyIfPresent(updateData, params, "from_table_name"); + copyIfPresent(updateData, params, "from_column_name"); + copyIfPresent(updateData, params, "to_table_name"); + copyIfPresent(updateData, params, "to_column_name"); + copyIfPresent(updateData, params, "relationship_type"); + copyIfPresent(updateData, params, "connection_type"); if (updateData.containsKey("settings")) { params.put("settings", toJsonString(updateData.get("settings"))); } @@ -130,8 +130,8 @@ public class DataflowService extends BaseService { if (getTableRelationshipInfo(relationshipId, companyCode) == null) return false; Map params = new HashMap<>(); - params.put("relationshipId", relationshipId); - params.put("companyCode", companyCode); + params.put("relationship_id", relationshipId); + params.put("company_code", companyCode); sqlSession.update("dataflow.softDeleteTableRelationship", params); return true; } @@ -145,37 +145,37 @@ public class DataflowService extends BaseService { String companyCode, String userId) { Map params = new HashMap<>(); - params.put("relationshipId", toInt(body.get("relationshipId"))); - params.put("fromTableName", body.get("fromTableName")); - params.put("fromColumnName", body.get("fromColumnName")); - params.put("toTableName", body.get("toTableName")); - params.put("toColumnName", body.get("toColumnName")); - params.put("connectionType", body.get("connectionType")); - params.put("companyCode", companyCode); - params.put("bridgeData", toJsonString(body.get("bridgeData"))); - params.put("createdBy", userId); + params.put("relationship_id", toInt(body.get("relationship_id"))); + params.put("from_table_name", body.get("from_table_name")); + params.put("from_column_name", body.get("from_column_name")); + params.put("to_table_name", body.get("to_table_name")); + params.put("to_column_name", body.get("to_column_name")); + params.put("connection_type", body.get("connection_type")); + params.put("company_code", companyCode); + params.put("bridge_data", toJsonString(body.get("bridge_data"))); + params.put("created_by", userId); sqlSession.insert("dataflow.insertDataLink", params); // useGeneratedKeys 로 bridgeId 자동 채워짐 Map result = new LinkedHashMap<>(params); - result.put("bridge_id", params.get("bridgeId")); + result.put("bridge_id", params.get("bridge_id")); return result; } public List> getDataLinkList(int relationshipId, String companyCode) { Map params = new HashMap<>(); - params.put("relationshipId", relationshipId); - params.put("companyCode", companyCode); + params.put("relationship_id", relationshipId); + params.put("company_code", companyCode); return sqlSession.selectList("dataflow.getDataLinkList", params); } @Transactional public void deleteDataLink(int bridgeId, String companyCode, String deletedBy) { Map params = new HashMap<>(); - params.put("bridgeId", bridgeId); - params.put("companyCode", companyCode); + params.put("bridge_id", bridgeId); + params.put("company_code", companyCode); sqlSession.update("dataflow.softDeleteDataLink", params); } @@ -198,20 +198,20 @@ public class DataflowService extends BaseService { // 테이블 존재 확인 Map checkParams = new HashMap<>(); - checkParams.put("tableName", tableName.toLowerCase()); + checkParams.put("table_name", tableName.toLowerCase()); List> tableInfo = sqlSession.selectList("dataflow.checkTableExists", checkParams); if (tableInfo == null || tableInfo.isEmpty()) { throw new IllegalArgumentException("테이블 '" + tableName + "'이 존재하지 않습니다."); } Map params = new HashMap<>(); - params.put("tableName", tableName); + params.put("table_name", tableName); params.put("limit", limit); params.put("offset", (page - 1) * limit); if (search != null && !search.isEmpty() && searchColumn != null && !searchColumn.isEmpty()) { params.put("search", search); - params.put("searchColumn", searchColumn); + params.put("search_column", searchColumn); } Number totalNum = sqlSession.selectOne("dataflow.countTableData", params); @@ -223,9 +223,9 @@ public class DataflowService extends BaseService { pagination.put("page", page); pagination.put("limit", limit); pagination.put("total", total); - pagination.put("totalPages", totalPages); - pagination.put("hasNext", page < totalPages); - pagination.put("hasPrev", page > 1); + pagination.put("total_pages", totalPages); + pagination.put("has_next", page < totalPages); + pagination.put("has_prev", page > 1); Map result = new LinkedHashMap<>(); result.put("data", data); @@ -241,9 +241,9 @@ public class DataflowService extends BaseService { int page, int size, String searchTerm) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); if (searchTerm != null && !searchTerm.isEmpty()) { - params.put("searchTerm", searchTerm); + params.put("search_term", searchTerm); } List> rows = sqlSession.selectList("dataflow.getRelationshipForDiagramList", params); @@ -258,15 +258,15 @@ public class DataflowService extends BaseService { if (!diagramMap.containsKey(diagramId)) { Map d = new LinkedHashMap<>(); - d.put("diagramId", diagramId); - d.put("diagramName", rel.get("relationship_name")); - d.put("connectionType", rel.get("connection_type")); - d.put("relationshipType", rel.get("relationship_type")); - d.put("relationshipCount", 0); - d.put("createdAt", rel.get("created_date")); - d.put("createdBy", rel.get("created_by")); - d.put("updatedAt", rel.get("updated_date")); - d.put("updatedBy", rel.get("updated_by")); + d.put("diagram_id", diagramId); + d.put("diagram_name", rel.get("relationship_name")); + d.put("connection_type", rel.get("connection_type")); + d.put("relationship_type", rel.get("relationship_type")); + d.put("relationship_count", 0); + d.put("created_at", rel.get("created_date")); + d.put("created_by", rel.get("created_by")); + d.put("updated_at", rel.get("updated_date")); + d.put("updated_by", rel.get("updated_by")); diagramMap.put(diagramId, d); tableSetMap.put(diagramId, new LinkedHashSet<>()); } @@ -274,7 +274,7 @@ public class DataflowService extends BaseService { Map d = diagramMap.get(diagramId); Set tables = tableSetMap.get(diagramId); - d.put("relationshipCount", toInt(d.get("relationshipCount")) + 1); + d.put("relationship_count", toInt(d.get("relationship_count")) + 1); if (rel.get("from_table_name") != null) tables.add(rel.get("from_table_name").toString()); if (rel.get("to_table_name") != null) tables.add(rel.get("to_table_name").toString()); } @@ -282,7 +282,7 @@ public class DataflowService extends BaseService { // tableCount / tables 설정 diagramMap.forEach((id, d) -> { Set tables = tableSetMap.get(id); - d.put("tableCount", tables.size()); + d.put("table_count", tables.size()); d.put("tables", new ArrayList<>(tables)); }); @@ -299,31 +299,31 @@ public class DataflowService extends BaseService { result.put("total", total); result.put("page", page); result.put("size", size); - result.put("totalPages", (int) Math.ceil((double) total / size)); + result.put("total_pages", (int) Math.ceil((double) total / size)); return result; } public List> getDiagramRelationshipList(String companyCode, String diagramName) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("diagramName", diagramName); + params.put("company_code", companyCode); + params.put("diagram_name", diagramName); return sqlSession.selectList("dataflow.getDiagramRelationshipListByName", params); } public List> getDiagramRelationshipListByDiagramId(String companyCode, int diagramId) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("diagramId", diagramId); + params.put("company_code", companyCode); + params.put("diagram_id", diagramId); return sqlSession.selectList("dataflow.getDiagramRelationshipListByDiagramId", params); } public List> getDiagramRelationshipListByRelationshipId(String companyCode, int relationshipId) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("relationshipId", relationshipId); + params.put("company_code", companyCode); + params.put("relationship_id", relationshipId); return sqlSession.selectList("dataflow.getDiagramRelationshipListByRelationshipId", params); } @@ -331,8 +331,8 @@ public class DataflowService extends BaseService { public String copyDiagram(String companyCode, String diagramName) { // 원본 조회 Map queryParams = new HashMap<>(); - queryParams.put("companyCode", companyCode); - queryParams.put("diagramName", diagramName); + queryParams.put("company_code", companyCode); + queryParams.put("diagram_name", diagramName); List> existing = sqlSession.selectList("dataflow.getDiagramRelationshipListByName", queryParams); if (existing == null || existing.isEmpty()) { @@ -341,7 +341,7 @@ public class DataflowService extends BaseService { // 새 diagram_id 생성 Map maxParams = new HashMap<>(); - maxParams.put("companyCode", companyCode); + maxParams.put("company_code", companyCode); Map maxRow = sqlSession.selectOne("dataflow.getMaxDiagramId", maxParams); int newDiagramId = toInt(maxRow != null ? maxRow.get("max_diagram_id") : null) + 1; @@ -353,7 +353,7 @@ public class DataflowService extends BaseService { // baseName으로 시작하는 기존 이름 조회 Map nameCheckParams = new HashMap<>(); nameCheckParams.put("pattern", baseName + "%"); - nameCheckParams.put("companyCode", companyCode); + nameCheckParams.put("company_code", companyCode); List> existingNames = sqlSession.selectList("dataflow.getDiagramNameExists", nameCheckParams); // 가장 큰 (n) 번호 탐색 @@ -371,17 +371,17 @@ public class DataflowService extends BaseService { for (Map rel : existing) { Map insertParams = new HashMap<>(); - insertParams.put("diagramId", newDiagramId); - insertParams.put("relationshipName", newDiagramName); - insertParams.put("fromTableName", rel.get("from_table_name")); - insertParams.put("fromColumnName", rel.get("from_column_name")); - insertParams.put("toTableName", rel.get("to_table_name")); - insertParams.put("toColumnName", rel.get("to_column_name")); - insertParams.put("relationshipType", rel.get("relationship_type")); - insertParams.put("connectionType", rel.get("connection_type")); - insertParams.put("companyCode", companyCode); + insertParams.put("diagram_id", newDiagramId); + insertParams.put("relationship_name", newDiagramName); + insertParams.put("from_table_name", rel.get("from_table_name")); + insertParams.put("from_column_name", rel.get("from_column_name")); + insertParams.put("to_table_name", rel.get("to_table_name")); + insertParams.put("to_column_name", rel.get("to_column_name")); + insertParams.put("relationship_type", rel.get("relationship_type")); + insertParams.put("connection_type", rel.get("connection_type")); + insertParams.put("company_code", companyCode); insertParams.put("settings", toJsonString(rel.get("settings"))); - insertParams.put("createdBy", "system"); + insertParams.put("created_by", "system"); sqlSession.insert("dataflow.insertTableRelationship", insertParams); } @@ -391,8 +391,8 @@ public class DataflowService extends BaseService { @Transactional public int deleteDiagram(String companyCode, String diagramName) { Map queryParams = new HashMap<>(); - queryParams.put("companyCode", companyCode); - queryParams.put("diagramName", diagramName); + queryParams.put("company_code", companyCode); + queryParams.put("diagram_name", diagramName); List> existing = sqlSession.selectList("dataflow.getDiagramRelationshipListByName", queryParams); if (existing == null || existing.isEmpty()) return 0; @@ -400,8 +400,8 @@ public class DataflowService extends BaseService { int diagramId = toInt(existing.get(0).get("diagram_id")); Map deleteParams = new HashMap<>(); - deleteParams.put("diagramId", diagramId); - deleteParams.put("companyCode", companyCode); + deleteParams.put("diagram_id", diagramId); + deleteParams.put("company_code", companyCode); sqlSession.update("dataflow.softDeleteDiagramByDiagramId", deleteParams); return existing.size(); diff --git a/backend-spring/src/main/java/com/erp/service/DbTypeCategoryService.java b/backend-spring/src/main/java/com/erp/service/DbTypeCategoryService.java index da0cd1cf..a7a8fbe4 100644 --- a/backend-spring/src/main/java/com/erp/service/DbTypeCategoryService.java +++ b/backend-spring/src/main/java/com/erp/service/DbTypeCategoryService.java @@ -16,13 +16,13 @@ public class DbTypeCategoryService extends BaseService { private static final String NS = "dbTypeCategory."; public List> getAllCategories() { - return sqlSession.selectList(NS + "selectAllCategories"); + return sqlSession.selectList(NS + "select_all_categories"); } public Map getCategoryByTypeCode(String typeCode) { Map params = new HashMap<>(); - params.put("typeCode", typeCode); - return sqlSession.selectOne(NS + "selectCategoryByTypeCode", params); + params.put("type_code", typeCode); + return sqlSession.selectOne(NS + "select_category_by_type_code", params); } @Transactional @@ -30,46 +30,46 @@ public class DbTypeCategoryService extends BaseService { String typeCode = (String) params.get("type_code"); Map checkParams = new HashMap<>(); - checkParams.put("typeCode", typeCode); - Integer existing = sqlSession.selectOne(NS + "countByTypeCode", checkParams); + checkParams.put("type_code", typeCode); + Integer existing = sqlSession.selectOne(NS + "count_by_type_code", checkParams); if (existing != null && existing > 0) { throw new IllegalArgumentException("이미 존재하는 DB 타입 코드입니다."); } - sqlSession.insert(NS + "insertCategory", params); - return sqlSession.selectOne(NS + "selectCategoryByTypeCode", checkParams); + sqlSession.insert(NS + "insert_category", params); + return sqlSession.selectOne(NS + "select_category_by_type_code", checkParams); } @Transactional public Map updateCategory(String typeCode, Map params) { - params.put("typeCode", typeCode); - sqlSession.update(NS + "updateCategory", params); + params.put("type_code", typeCode); + sqlSession.update(NS + "update_category", params); Map checkParams = new HashMap<>(); - checkParams.put("typeCode", typeCode); - return sqlSession.selectOne(NS + "selectCategoryByTypeCode", checkParams); + checkParams.put("type_code", typeCode); + return sqlSession.selectOne(NS + "select_category_by_type_code", checkParams); } @Transactional public void deleteCategory(String typeCode) { Map params = new HashMap<>(); - params.put("typeCode", typeCode); + params.put("type_code", typeCode); - Integer connectionCount = sqlSession.selectOne(NS + "countConnectionsByType", params); + Integer connectionCount = sqlSession.selectOne(NS + "count_connections_by_type", params); if (connectionCount != null && connectionCount > 0) { throw new IllegalStateException( "해당 DB 타입을 사용하는 연결이 " + connectionCount + "개 있어 삭제할 수 없습니다."); } - sqlSession.update(NS + "deactivateCategory", params); + sqlSession.update(NS + "deactivate_category", params); } public List> getConnectionStatsByType() { - return sqlSession.selectList(NS + "selectConnectionStatsByType"); + return sqlSession.selectList(NS + "select_connection_stats_by_type"); } @Transactional public void initializeDefaultCategories() { - sqlSession.insert(NS + "insertDefaultCategories", null); + sqlSession.insert(NS + "insert_default_categories", null); } } diff --git a/backend-spring/src/main/java/com/erp/service/DdlService.java b/backend-spring/src/main/java/com/erp/service/DdlService.java index 7d096687..7fa3c0ac 100644 --- a/backend-spring/src/main/java/com/erp/service/DdlService.java +++ b/backend-spring/src/main/java/com/erp/service/DdlService.java @@ -52,19 +52,19 @@ public class DdlService extends BaseService { String companyCode, String userId, String description) { // 1. 검증 Map validation = validateTableCreation(tableName, columns); - if (!(Boolean) validation.get("isValid")) { + if (!(Boolean) validation.get("is_valid")) { @SuppressWarnings("unchecked") List errors = (List) validation.get("errors"); String errorMsg = "테이블 생성 검증 실패: " + String.join(", ", errors); logDdlOperation(userId, companyCode, "CREATE_TABLE", tableName, "VALIDATION_FAILED", false, errorMsg); - return Map.of("success", false, "message", errorMsg, "errorCode", "VALIDATION_FAILED"); + return Map.of("success", false, "message", errorMsg, "error_code", "VALIDATION_FAILED"); } // 2. 테이블 존재 여부 확인 if (tableExists(tableName)) { String errorMsg = "테이블 '" + tableName + "'이 이미 존재합니다."; logDdlOperation(userId, companyCode, "CREATE_TABLE", tableName, "TABLE_EXISTS", false, errorMsg); - return Map.of("success", false, "message", errorMsg, "errorCode", "TABLE_EXISTS"); + return Map.of("success", false, "message", errorMsg, "error_code", "TABLE_EXISTS"); } // 3. DDL 쿼리 생성 @@ -90,16 +90,16 @@ public class DdlService extends BaseService { return Map.of( "success", true, "message", "테이블 '" + tableName + "'이 성공적으로 생성되었습니다.", - "tableName", tableName, - "columnCount", columns.size(), - "executedQuery", ddlQuery + "table_name", tableName, + "column_count", columns.size(), + "executed_query", ddlQuery ); } catch (Exception e) { String errorMsg = "테이블 생성 실패: " + e.getMessage(); logDdlOperation(userId, companyCode, "CREATE_TABLE", tableName, "FAILED: " + e.getMessage(), false, errorMsg); log.error("테이블 생성 실패: {}, 사용자: {}, 오류: {}", tableName, userId, e.getMessage(), e); - return Map.of("success", false, "message", errorMsg, "errorCode", "EXECUTION_FAILED"); + return Map.of("success", false, "message", errorMsg, "error_code", "EXECUTION_FAILED"); } } @@ -114,14 +114,14 @@ public class DdlService extends BaseService { if (!errors.isEmpty()) { String errorMsg = "컬럼 추가 검증 실패: " + String.join(", ", errors); logDdlOperation(userId, companyCode, "ADD_COLUMN", tableName, "VALIDATION_FAILED", false, errorMsg); - return Map.of("success", false, "message", errorMsg, "errorCode", "VALIDATION_FAILED"); + return Map.of("success", false, "message", errorMsg, "error_code", "VALIDATION_FAILED"); } // 2. 테이블 존재 여부 확인 if (!tableExists(tableName)) { String errorMsg = "테이블 '" + tableName + "'이 존재하지 않습니다."; logDdlOperation(userId, companyCode, "ADD_COLUMN", tableName, "TABLE_NOT_EXISTS", false, errorMsg); - return Map.of("success", false, "message", errorMsg, "errorCode", "TABLE_NOT_EXISTS"); + return Map.of("success", false, "message", errorMsg, "error_code", "TABLE_NOT_EXISTS"); } // 3. 컬럼 존재 여부 확인 @@ -129,7 +129,7 @@ public class DdlService extends BaseService { if (columnExists(tableName, colName)) { String errorMsg = "컬럼 '" + colName + "'이 이미 존재합니다."; logDdlOperation(userId, companyCode, "ADD_COLUMN", tableName, "COLUMN_EXISTS", false, errorMsg); - return Map.of("success", false, "message", errorMsg, "errorCode", "COLUMN_EXISTS"); + return Map.of("success", false, "message", errorMsg, "error_code", "COLUMN_EXISTS"); } // 4. DDL 쿼리 생성 @@ -140,8 +140,8 @@ public class DdlService extends BaseService { transactionTemplate.execute(status -> { jdbcTemplate.execute(ddlQuery); String inputType = convertToInputType(column); - String detailSettings = column.containsKey("detailSettings") - ? column.get("detailSettings").toString() : "{}"; + String detailSettings = column.containsKey("detail_settings") + ? column.get("detail_settings").toString() : "{}"; Integer maxOrder = jdbcTemplate.queryForObject( "SELECT COALESCE(MAX(display_order), 0) FROM table_type_columns " + "WHERE table_name = ? AND company_code = ?", @@ -158,16 +158,16 @@ public class DdlService extends BaseService { return Map.of( "success", true, "message", "컬럼 '" + colName + "'이 성공적으로 추가되었습니다.", - "tableName", tableName, - "columnName", colName, - "executedQuery", ddlQuery + "table_name", tableName, + "column_name", colName, + "executed_query", ddlQuery ); } catch (Exception e) { String errorMsg = "컬럼 추가 실패: " + e.getMessage(); logDdlOperation(userId, companyCode, "ADD_COLUMN", tableName, "FAILED: " + e.getMessage(), false, errorMsg); log.error("컬럼 추가 실패: {}.{}, 사용자: {}, 오류: {}", tableName, colName, userId, e.getMessage(), e); - return Map.of("success", false, "message", errorMsg, "errorCode", "EXECUTION_FAILED"); + return Map.of("success", false, "message", errorMsg, "error_code", "EXECUTION_FAILED"); } } @@ -181,14 +181,14 @@ public class DdlService extends BaseService { String errorMsg = "'" + tableName + "'은 시스템 테이블이므로 삭제할 수 없습니다."; logDdlOperation(userId, companyCode, "DROP_TABLE", tableName, "SYSTEM_TABLE_PROTECTED", false, errorMsg); - return Map.of("success", false, "message", errorMsg, "errorCode", "SYSTEM_TABLE_PROTECTED"); + return Map.of("success", false, "message", errorMsg, "error_code", "SYSTEM_TABLE_PROTECTED"); } // 2. 테이블 존재 여부 확인 if (!tableExists(tableName)) { String errorMsg = "테이블 '" + tableName + "'이 존재하지 않습니다."; logDdlOperation(userId, companyCode, "DROP_TABLE", tableName, "TABLE_NOT_FOUND", false, errorMsg); - return Map.of("success", false, "message", errorMsg, "errorCode", "TABLE_NOT_FOUND"); + return Map.of("success", false, "message", errorMsg, "error_code", "TABLE_NOT_FOUND"); } String ddlQuery = "DROP TABLE IF EXISTS \"" + sanitize(tableName) + "\" CASCADE"; @@ -207,15 +207,15 @@ public class DdlService extends BaseService { return Map.of( "success", true, "message", "테이블 '" + tableName + "'이 성공적으로 삭제되었습니다.", - "tableName", tableName, - "executedQuery", ddlQuery + "table_name", tableName, + "executed_query", ddlQuery ); } catch (Exception e) { String errorMsg = "테이블 삭제 실패: " + e.getMessage(); logDdlOperation(userId, companyCode, "DROP_TABLE", tableName, "FAILED: " + e.getMessage(), false, errorMsg); log.error("테이블 삭제 실패: {}, 사용자: {}, 오류: {}", tableName, userId, e.getMessage(), e); - return Map.of("success", false, "message", errorMsg, "errorCode", "EXECUTION_FAILED"); + return Map.of("success", false, "message", errorMsg, "error_code", "EXECUTION_FAILED"); } } @@ -249,7 +249,7 @@ public class DdlService extends BaseService { int colCount = columns != null ? columns.size() : 0; return Map.of( - "isValid", errors.isEmpty(), + "is_valid", errors.isEmpty(), "errors", errors, "warnings", warnings, "summary", buildValidationSummary(tableName, colCount, errors, warnings) @@ -263,20 +263,20 @@ public class DdlService extends BaseService { public List> getDdlLogs(int limit, String userId, String ddlType) { Map params = new HashMap<>(); params.put("limit", Math.min(limit, 200)); - params.put("userId", userId); - params.put("ddlType", ddlType); - return sqlSession.selectList(NS + "selectDdlLogs", params); + params.put("user_id", userId); + params.put("ddl_type", ddlType); + return sqlSession.selectList(NS + "select_ddl_logs", params); } public Map getDdlStatistics(String fromDate, String toDate) { Map params = new HashMap<>(); - params.put("fromDate", fromDate); - params.put("toDate", toDate); + params.put("from_date", fromDate); + params.put("to_date", toDate); - Map totalStats = sqlSession.selectOne(NS + "selectDdlTotalStats", params); - List> byType = sqlSession.selectList(NS + "selectDdlStatsByType", params); - List> byUser = sqlSession.selectList(NS + "selectDdlStatsByUser", params); - List> recentFailures = sqlSession.selectList(NS + "selectRecentFailures", params); + Map totalStats = sqlSession.selectOne(NS + "select_ddl_total_stats", params); + List> byType = sqlSession.selectList(NS + "select_ddl_stats_by_type", params); + List> byUser = sqlSession.selectList(NS + "select_ddl_stats_by_user", params); + List> recentFailures = sqlSession.selectList(NS + "select_recent_failures", params); Map byDdlType = new LinkedHashMap<>(); for (Map row : byType) { @@ -288,35 +288,35 @@ public class DdlService extends BaseService { } return Map.of( - "totalExecutions", toLong(totalStats != null ? totalStats.get("total_executions") : null), - "successfulExecutions", toLong(totalStats != null ? totalStats.get("successful_executions") : null), - "failedExecutions", toLong(totalStats != null ? totalStats.get("failed_executions") : null), - "byDDLType", byDdlType, - "byUser", byUserMap, - "recentFailures", recentFailures + "total_executions", toLong(totalStats != null ? totalStats.get("total_executions") : null), + "successful_executions", toLong(totalStats != null ? totalStats.get("successful_executions") : null), + "failed_executions", toLong(totalStats != null ? totalStats.get("failed_executions") : null), + "by_ddl_type", byDdlType, + "by_user", byUserMap, + "recent_failures", recentFailures ); } public List> getTableDdlHistory(String tableName) { Map params = new HashMap<>(); - params.put("tableName", tableName); - return sqlSession.selectList(NS + "selectTableDdlHistory", params); + params.put("table_name", tableName); + return sqlSession.selectList(NS + "select_table_ddl_history", params); } public Map getTableInfo(String tableName) { Map params = new HashMap<>(); - params.put("tableName", tableName); - Map tableInfo = sqlSession.selectOne(NS + "selectTableInfo", params); + params.put("table_name", tableName); + Map tableInfo = sqlSession.selectOne(NS + "select_table_info", params); if (tableInfo == null) return null; - List> columns = sqlSession.selectList(NS + "selectTableColumns", params); - return Map.of("tableInfo", tableInfo, "columns", columns); + List> columns = sqlSession.selectList(NS + "select_table_columns", params); + return Map.of("table_info", tableInfo, "columns", columns); } public int cleanupOldLogs(int retentionDays) { LocalDateTime cutoff = LocalDateTime.now().minusDays(retentionDays); Map params = new HashMap<>(); - params.put("cutoffDate", cutoff.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME)); - int deleted = sqlSession.delete(NS + "deleteOldDdlLogs", params); + params.put("cutoff_date", cutoff.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME)); + int deleted = sqlSession.delete(NS + "delete_old_ddl_logs", params); log.info("DDL 로그 정리 완료: {}개 삭제, 보존 기간: {}일", deleted, retentionDays); return deleted; } @@ -338,8 +338,8 @@ public class DdlService extends BaseService { sb.append(",\n \"").append(sanitize((String) col.get("name"))).append("\" varchar(500)"); Boolean nullable = col.containsKey("nullable") ? (Boolean) col.get("nullable") : true; if (Boolean.FALSE.equals(nullable)) sb.append(" NOT NULL"); - if (col.get("defaultValue") != null && !col.get("defaultValue").toString().isBlank()) { - sb.append(" DEFAULT '").append(col.get("defaultValue").toString().replace("'", "''")).append("'"); + if (col.get("default_value") != null && !col.get("default_value").toString().isBlank()) { + sb.append(" DEFAULT '").append(col.get("default_value").toString().replace("'", "''")).append("'"); } } sb.append("\n);"); @@ -352,8 +352,8 @@ public class DdlService extends BaseService { sb.append("\"").append(sanitize((String) column.get("name"))).append("\" varchar(500)"); Boolean nullable = column.containsKey("nullable") ? (Boolean) column.get("nullable") : true; if (Boolean.FALSE.equals(nullable)) sb.append(" NOT NULL"); - if (column.get("defaultValue") != null && !column.get("defaultValue").toString().isBlank()) { - sb.append(" DEFAULT '").append(column.get("defaultValue").toString().replace("'", "''")).append("'"); + if (column.get("default_value") != null && !column.get("default_value").toString().isBlank()) { + sb.append(" DEFAULT '").append(column.get("default_value").toString().replace("'", "''")).append("'"); } sb.append(";"); return sb.toString(); @@ -408,8 +408,8 @@ public class DdlService extends BaseService { // 사용자 정의 컬럼 for (int i = 0; i < columns.size(); i++) { Map col = columns.get(i); - String detailSettings = col.containsKey("detailSettings") - ? col.get("detailSettings").toString() : "{}"; + String detailSettings = col.containsKey("detail_settings") + ? col.get("detail_settings").toString() : "{}"; saveColumnMeta(tableName, (String) col.get("name"), companyCode, convertToInputType(col), detailSettings, i); } @@ -501,8 +501,8 @@ public class DdlService extends BaseService { } private String convertToInputType(Map col) { - Object inputType = col.get("inputType"); - Object webType = col.get("webType"); + Object inputType = col.get("input_type"); + Object webType = col.get("web_type"); String type = inputType != null ? inputType.toString() : (webType != null ? webType.toString() : "text"); return switch (type) { @@ -521,14 +521,14 @@ public class DdlService extends BaseService { String tableName, String ddlQuery, boolean success, String errorMessage) { try { Map params = new HashMap<>(); - params.put("userId", userId); - params.put("companyCode", companyCode); - params.put("ddlType", ddlType); - params.put("tableName", tableName); - params.put("ddlQuery", ddlQuery); + params.put("user_id", userId); + params.put("company_code", companyCode); + params.put("ddl_type", ddlType); + params.put("table_name", tableName); + params.put("ddl_query", ddlQuery); params.put("success", success); - params.put("errorMessage", errorMessage); - sqlSession.insert(NS + "insertDdlLog", params); + params.put("error_message", errorMessage); + sqlSession.insert(NS + "insert_ddl_log", params); } catch (Exception e) { log.error("DDL 로그 기록 실패: userId={}, ddlType={}, tableName={}", userId, ddlType, tableName, e); } diff --git a/backend-spring/src/main/java/com/erp/service/DeliveryService.java b/backend-spring/src/main/java/com/erp/service/DeliveryService.java index 789f7f86..213298a2 100644 --- a/backend-spring/src/main/java/com/erp/service/DeliveryService.java +++ b/backend-spring/src/main/java/com/erp/service/DeliveryService.java @@ -20,31 +20,31 @@ public class DeliveryService extends BaseService { public Map getDeliveryStatus(Map params) { commonService.applyCompanyCodeFilter(params); - List> deliveries = sqlSession.selectList(NS + "getDeliveryList", params); - List> issues = sqlSession.selectList(NS + "getCustomerIssueList", params); - Map todayStats = sqlSession.selectOne(NS + "getDeliveryTodayStats", params); + List> deliveries = sqlSession.selectList(NS + "get_delivery_list", params); + List> issues = sqlSession.selectList(NS + "get_customer_issue_list", params); + Map todayStats = sqlSession.selectOne(NS + "get_delivery_today_stats", params); Map result = new HashMap<>(); result.put("deliveries", deliveries); result.put("issues", issues); - result.put("todayStats", todayStats); + result.put("today_stats", todayStats); return result; } public List> getDelayedDeliveries(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.selectList(NS + "getDelayedDeliveryList", params); + return sqlSession.selectList(NS + "get_delayed_delivery_list", params); } public List> getCustomerIssues(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.selectList(NS + "getCustomerIssueList", params); + return sqlSession.selectList(NS + "get_customer_issue_list", params); } @Transactional public void updateDeliveryStatus(Map params) { commonService.applyCompanyCodeFilter(params); - int rows = sqlSession.update(NS + "updateDeliveryStatus", params); + int rows = sqlSession.update(NS + "update_delivery_status", params); if (rows == 0) { throw new IllegalArgumentException("Delivery not found: " + params.get("id")); } @@ -53,7 +53,7 @@ public class DeliveryService extends BaseService { @Transactional public void updateIssueStatus(Map params) { commonService.applyCompanyCodeFilter(params); - int rows = sqlSession.update(NS + "updateCustomerIssueStatus", params); + int rows = sqlSession.update(NS + "update_customer_issue_status", params); if (rows == 0) { throw new IllegalArgumentException("Customer issue not found: " + params.get("id")); } diff --git a/backend-spring/src/main/java/com/erp/service/DepartmentService.java b/backend-spring/src/main/java/com/erp/service/DepartmentService.java index 25365913..68e130eb 100644 --- a/backend-spring/src/main/java/com/erp/service/DepartmentService.java +++ b/backend-spring/src/main/java/com/erp/service/DepartmentService.java @@ -19,16 +19,16 @@ public class DepartmentService extends BaseService { public List> getDepartments(String companyCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); List> departments = sqlSession.selectList("department.selectDepartments", params); // member_count를 int로 변환 for (Map dept : departments) { Object cnt = dept.get("member_count"); if (cnt != null) { - dept.put("memberCount", ((Number) cnt).intValue()); + dept.put("member_count", ((Number) cnt).intValue()); } else { - dept.put("memberCount", 0); + dept.put("member_count", 0); } } return departments; @@ -36,22 +36,22 @@ public class DepartmentService extends BaseService { public Map getDepartment(String deptCode) { Map params = new HashMap<>(); - params.put("deptCode", deptCode); + params.put("dept_code", deptCode); return sqlSession.selectOne("department.selectDepartmentByCode", params); } @Transactional public Map createDepartment(String companyCode, Map body) { // 프론트엔드는 snake_case로 전송 (Node.js 호환) - String deptName = trimString(bodyParam(body, "dept_name", "deptName")); + String deptName = trimString(bodyParam(body, "dept_name", "dept_name")); if (deptName == null || deptName.isEmpty()) { throw new IllegalArgumentException("부서명을 입력해주세요."); } // 중복 부서명 확인 Map dupParams = new HashMap<>(); - dupParams.put("companyCode", companyCode); - dupParams.put("deptName", deptName); + dupParams.put("company_code", companyCode); + dupParams.put("dept_name", deptName); Map duplicate = sqlSession.selectOne("department.selectDuplicateDeptName", dupParams); if (duplicate != null) { throw new DuplicateDeptNameException("\"" + deptName + "\" 부서가 이미 존재합니다."); @@ -59,7 +59,7 @@ public class DepartmentService extends BaseService { // 회사명 조회 Map companyParams = new HashMap<>(); - companyParams.put("companyCode", companyCode); + companyParams.put("company_code", companyCode); Map company = sqlSession.selectOne("department.selectCompanyName", companyParams); String companyName = (company != null && company.get("company_name") != null) ? (String) company.get("company_name") @@ -71,34 +71,34 @@ public class DepartmentService extends BaseService { String deptCode = "DEPT_" + nextNumber; // 부서 생성 - Object parentDeptCode = bodyParam(body, "parent_dept_code", "parentDeptCode"); + Object parentDeptCode = bodyParam(body, "parent_dept_code", "parent_dept_code"); Map insertParams = new HashMap<>(); - insertParams.put("deptCode", deptCode); - insertParams.put("deptName", deptName); - insertParams.put("companyCode", companyCode); - insertParams.put("companyName", companyName); - insertParams.put("parentDeptCode", parentDeptCode); + insertParams.put("dept_code", deptCode); + insertParams.put("dept_name", deptName); + insertParams.put("company_code", companyCode); + insertParams.put("company_name", companyName); + insertParams.put("parent_dept_code", parentDeptCode); sqlSession.insert("department.insertDepartment", insertParams); log.info("부서 생성 성공: deptCode={}, deptName={}", deptCode, deptName); Map findParams = new HashMap<>(); - findParams.put("deptCode", deptCode); + findParams.put("dept_code", deptCode); return sqlSession.selectOne("department.selectDepartmentByCode", findParams); } @Transactional public Map updateDepartment(String deptCode, Map body) { - String deptName = trimString(bodyParam(body, "dept_name", "deptName")); + String deptName = trimString(bodyParam(body, "dept_name", "dept_name")); if (deptName == null || deptName.isEmpty()) { throw new IllegalArgumentException("부서명을 입력해주세요."); } - Object parentDeptCode = bodyParam(body, "parent_dept_code", "parentDeptCode"); + Object parentDeptCode = bodyParam(body, "parent_dept_code", "parent_dept_code"); Map params = new HashMap<>(); - params.put("deptCode", deptCode); - params.put("deptName", deptName); - params.put("parentDeptCode", parentDeptCode); + params.put("dept_code", deptCode); + params.put("dept_name", deptName); + params.put("parent_dept_code", parentDeptCode); int updated = sqlSession.update("department.updateDepartment", params); if (updated == 0) { @@ -107,7 +107,7 @@ public class DepartmentService extends BaseService { log.info("부서 수정 성공: deptCode={}", deptCode); Map findParams = new HashMap<>(); - findParams.put("deptCode", deptCode); + findParams.put("dept_code", deptCode); return sqlSession.selectOne("department.selectDepartmentByCode", findParams); } @@ -115,7 +115,7 @@ public class DepartmentService extends BaseService { public int deleteDepartment(String deptCode) { // 하위 부서 확인 Map childParams = new HashMap<>(); - childParams.put("deptCode", deptCode); + childParams.put("dept_code", deptCode); Number childCountNum = sqlSession.selectOne("department.selectChildDeptCount", childParams); int childCount = childCountNum != null ? childCountNum.intValue() : 0; if (childCount > 0) { @@ -124,12 +124,12 @@ public class DepartmentService extends BaseService { // 부서원 삭제 Map memberParams = new HashMap<>(); - memberParams.put("deptCode", deptCode); + memberParams.put("dept_code", deptCode); int memberCount = sqlSession.delete("department.deleteUserDeptByDeptCode", memberParams); // 부서 삭제 Map deptParams = new HashMap<>(); - deptParams.put("deptCode", deptCode); + deptParams.put("dept_code", deptCode); int deleted = sqlSession.delete("department.deleteDepartment", deptParams); if (deleted == 0) { return -1; // not found @@ -145,13 +145,13 @@ public class DepartmentService extends BaseService { public List> getDeptMembers(String deptCode) { Map params = new HashMap<>(); - params.put("deptCode", deptCode); + params.put("dept_code", deptCode); return sqlSession.selectList("department.selectDeptMembers", params); } public List> searchUsers(String companyCode, String search) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("search", "%" + search + "%"); return sqlSession.selectList("department.searchUsers", params); } @@ -160,7 +160,7 @@ public class DepartmentService extends BaseService { public void addDeptMember(String deptCode, String userId) { // 사용자 존재 확인 Map userParams = new HashMap<>(); - userParams.put("userId", userId); + userParams.put("user_id", userId); Map user = sqlSession.selectOne("department.selectUserById", userParams); if (user == null) { throw new IllegalArgumentException("사용자를 찾을 수 없습니다."); @@ -168,8 +168,8 @@ public class DepartmentService extends BaseService { // 이미 부서원인지 확인 Map existParams = new HashMap<>(); - existParams.put("userId", userId); - existParams.put("deptCode", deptCode); + existParams.put("user_id", userId); + existParams.put("dept_code", deptCode); Map existing = sqlSession.selectOne("department.selectExistingMember", existParams); if (existing != null) { throw new DuplicateMemberException("이미 해당 부서의 부서원입니다."); @@ -177,14 +177,14 @@ public class DepartmentService extends BaseService { // 주 부서가 있는지 확인 Map primaryParams = new HashMap<>(); - primaryParams.put("userId", userId); + primaryParams.put("user_id", userId); Map hasPrimary = sqlSession.selectOne("department.selectUserPrimaryDept", primaryParams); // 부서원 추가 Map insertParams = new HashMap<>(); - insertParams.put("userId", userId); - insertParams.put("deptCode", deptCode); - insertParams.put("isPrimary", hasPrimary == null); + insertParams.put("user_id", userId); + insertParams.put("dept_code", deptCode); + insertParams.put("is_primary", hasPrimary == null); sqlSession.insert("department.insertDeptMember", insertParams); log.info("부서원 추가 성공: userId={}, deptCode={}", userId, deptCode); @@ -193,8 +193,8 @@ public class DepartmentService extends BaseService { @Transactional public boolean removeDeptMember(String deptCode, String userId) { Map params = new HashMap<>(); - params.put("userId", userId); - params.put("deptCode", deptCode); + params.put("user_id", userId); + params.put("dept_code", deptCode); int deleted = sqlSession.delete("department.deleteDeptMember", params); if (deleted == 0) { return false; @@ -207,13 +207,13 @@ public class DepartmentService extends BaseService { public void setPrimaryDept(String deptCode, String userId) { // 다른 부서의 주 부서 해제 Map clearParams = new HashMap<>(); - clearParams.put("userId", userId); + clearParams.put("user_id", userId); sqlSession.update("department.clearUserPrimaryDept", clearParams); // 해당 부서를 주 부서로 설정 Map setParams = new HashMap<>(); - setParams.put("userId", userId); - setParams.put("deptCode", deptCode); + setParams.put("user_id", userId); + setParams.put("dept_code", deptCode); sqlSession.update("department.setUserPrimaryDept", setParams); log.info("주 부서 설정 성공: userId={}, deptCode={}", userId, deptCode); diff --git a/backend-spring/src/main/java/com/erp/service/DesignService.java b/backend-spring/src/main/java/com/erp/service/DesignService.java index 2b4f9d4e..ce26c175 100644 --- a/backend-spring/src/main/java/com/erp/service/DesignService.java +++ b/backend-spring/src/main/java/com/erp/service/DesignService.java @@ -47,11 +47,11 @@ public class DesignService extends BaseService { @Transactional public Map createDesignRequest(Map body, String companyCode, String userId) { Map params = new HashMap<>(body); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("writer", userId); - if (params.get("sourceType") == null && params.get("source_type") != null) - params.put("sourceType", params.get("source_type")); - if (params.get("sourceType") == null) params.put("sourceType", "dr"); + if (params.get("source_type") == null && params.get("source_type") != null) + params.put("source_type", params.get("source_type")); + if (params.get("source_type") == null) params.put("source_type", "dr"); if (params.get("priority") == null) params.put("priority", "보통"); if (params.get("status") == null) params.put("status", "신규접수"); if (params.get("urgency") == null) params.put("urgency", "보통"); @@ -129,7 +129,7 @@ public class DesignService extends BaseService { public boolean deleteDesignRequest(String id, String companyCode) { Map params = new HashMap<>(); params.put("id", id); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return sqlSession.delete("design.deleteDesignRequest", params) > 0; } @@ -173,7 +173,7 @@ public class DesignService extends BaseService { @Transactional public Map createProject(Map body, String companyCode, String userId) { Map params = new HashMap<>(body); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("writer", userId); if (params.get("status") == null) params.put("status", "계획"); if (params.get("progress") == null) params.put("progress", "0"); @@ -220,7 +220,7 @@ public class DesignService extends BaseService { public boolean deleteProject(String id, String companyCode) { Map params = new HashMap<>(); params.put("id", id); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return sqlSession.delete("design.deleteProject", params) > 0; } @@ -420,7 +420,7 @@ public class DesignService extends BaseService { @Transactional public Map createEcn(Map body, String companyCode, String userId) { Map params = new HashMap<>(body); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("writer", userId); if (params.get("status") == null) params.put("status", "ECN발행"); sqlSession.insert("design.insertEcn", params); @@ -490,7 +490,7 @@ public class DesignService extends BaseService { public boolean deleteEcn(String id, String companyCode) { Map params = new HashMap<>(); params.put("id", id); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); return sqlSession.delete("design.deleteEcn", params) > 0; } diff --git a/backend-spring/src/main/java/com/erp/service/DigitalTwinService.java b/backend-spring/src/main/java/com/erp/service/DigitalTwinService.java index 5c48fc45..077784d1 100644 --- a/backend-spring/src/main/java/com/erp/service/DigitalTwinService.java +++ b/backend-spring/src/main/java/com/erp/service/DigitalTwinService.java @@ -39,7 +39,7 @@ public class DigitalTwinService extends BaseService { if (layout == null) return null; Map objectParams = new HashMap<>(); - objectParams.put("layoutId", params.get("id")); + objectParams.put("layout_id", params.get("id")); List> objects = sqlSession.selectList("digitalTwin.getDigitalTwinObjectListByLayoutId", objectParams); Map result = new LinkedHashMap<>(); @@ -59,13 +59,13 @@ public class DigitalTwinService extends BaseService { List> objects = (List>) params.remove("objects"); // hierarchyConfig: Map → JSON string - Object hierarchyConfig = params.get("hierarchyConfig"); + Object hierarchyConfig = params.get("hierarchy_config"); if (hierarchyConfig instanceof Map || hierarchyConfig instanceof List) { try { - params.put("hierarchyConfig", objectMapper.writeValueAsString(hierarchyConfig)); + params.put("hierarchy_config", objectMapper.writeValueAsString(hierarchyConfig)); } catch (Exception e) { log.warn("hierarchyConfig 직렬화 실패: {}", e.getMessage()); - params.put("hierarchyConfig", null); + params.put("hierarchy_config", null); } } @@ -78,7 +78,7 @@ public class DigitalTwinService extends BaseService { Map infoParams = new HashMap<>(); infoParams.put("id", layoutId); - infoParams.put("companyCode", params.get("companyCode")); + infoParams.put("company_code", params.get("company_code")); return getDigitalTwinLayoutInfo(infoParams); } @@ -93,13 +93,13 @@ public class DigitalTwinService extends BaseService { List> objects = (List>) params.remove("objects"); // hierarchyConfig: Map → JSON string - Object hierarchyConfig = params.get("hierarchyConfig"); + Object hierarchyConfig = params.get("hierarchy_config"); if (hierarchyConfig instanceof Map || hierarchyConfig instanceof List) { try { - params.put("hierarchyConfig", objectMapper.writeValueAsString(hierarchyConfig)); + params.put("hierarchy_config", objectMapper.writeValueAsString(hierarchyConfig)); } catch (Exception e) { log.warn("hierarchyConfig 직렬화 실패: {}", e.getMessage()); - params.put("hierarchyConfig", null); + params.put("hierarchy_config", null); } } @@ -110,7 +110,7 @@ public class DigitalTwinService extends BaseService { // 기존 객체 전체 삭제 후 재저장 Map delParams = new HashMap<>(); - delParams.put("layoutId", layoutId); + delParams.put("layout_id", layoutId); sqlSession.delete("digitalTwin.deleteDigitalTwinObjectsByLayoutId", delParams); if (objects != null && !objects.isEmpty()) { @@ -119,7 +119,7 @@ public class DigitalTwinService extends BaseService { Map infoParams = new HashMap<>(); infoParams.put("id", layoutId); - infoParams.put("companyCode", params.get("companyCode")); + infoParams.put("company_code", params.get("company_code")); return getDigitalTwinLayoutInfo(infoParams); } @@ -174,7 +174,7 @@ public class DigitalTwinService extends BaseService { Map infoParams = new HashMap<>(); infoParams.put("id", params.get("id")); - infoParams.put("companyCode", params.get("companyCode")); + infoParams.put("company_code", params.get("company_code")); return sqlSession.selectOne("digitalTwin.getDigitalTwinTemplateInfo", infoParams); } @@ -183,8 +183,8 @@ public class DigitalTwinService extends BaseService { // ────────────────────────────────────────────────────────────────────────── @SuppressWarnings("unchecked") public Map getHierarchyData(Map body) { - long connectionId = toLong(body.get("externalDbConnectionId")); - Object rawConfig = body.get("hierarchyConfig"); + long connectionId = toLong(body.get("external_db_connection_id")); + Object rawConfig = body.get("hierarchy_config"); Map config = toMap(rawConfig); Map result = new LinkedHashMap<>(); @@ -195,7 +195,7 @@ public class DigitalTwinService extends BaseService { // 창고 데이터 Map whConfig = toMap(config.get("warehouse")); if (whConfig != null) { - String tableName = str(whConfig, "tableName"); + String tableName = str(whConfig, "table_name"); List> rows = queryExternal(connectionId, "SELECT * FROM " + tableName + " LIMIT 100"); result.put("warehouse", rows); @@ -208,7 +208,7 @@ public class DigitalTwinService extends BaseService { for (Object levelObj : (List) levelsObj) { Map level = toMap(levelObj); if (level == null) continue; - String tableName = str(level, "tableName"); + String tableName = str(level, "table_name"); List> rows = queryExternal(connectionId, "SELECT * FROM " + tableName + " LIMIT 1000"); Map levelData = new LinkedHashMap<>(); @@ -223,8 +223,8 @@ public class DigitalTwinService extends BaseService { // 자재 데이터 (개수) Map matConfig = toMap(config.get("material")); if (matConfig != null) { - String tableName = str(matConfig, "tableName"); - String locCol = str(matConfig, "locationKeyColumn"); + String tableName = str(matConfig, "table_name"); + String locCol = str(matConfig, "location_key_column"); List> rows = queryExternal(connectionId, "SELECT " + locCol + " AS location_key, COUNT(*) AS count" + " FROM " + tableName + @@ -240,12 +240,12 @@ public class DigitalTwinService extends BaseService { // ────────────────────────────────────────────────────────────────────────── @SuppressWarnings("unchecked") public List> getChildrenData(Map body) { - long connectionId = toLong(body.get("externalDbConnectionId")); - Map config = toMap(body.get("hierarchyConfig")); - int parentLevel = body.get("parentLevel") instanceof Number - ? ((Number) body.get("parentLevel")).intValue() - : Integer.parseInt(body.get("parentLevel").toString()); - String parentKey = body.get("parentKey").toString(); + long connectionId = toLong(body.get("external_db_connection_id")); + Map config = toMap(body.get("hierarchy_config")); + int parentLevel = body.get("parent_level") instanceof Number + ? ((Number) body.get("parent_level")).intValue() + : Integer.parseInt(body.get("parent_level").toString()); + String parentKey = body.get("parent_key").toString(); Object levelsObj = config.get("levels"); if (!(levelsObj instanceof List)) return Collections.emptyList(); @@ -264,8 +264,8 @@ public class DigitalTwinService extends BaseService { } if (nextLevel == null) return Collections.emptyList(); - String tableName = str(nextLevel, "tableName"); - String parentKeyColumn = str(nextLevel, "parentKeyColumn"); + String tableName = str(nextLevel, "table_name"); + String parentKeyColumn = str(nextLevel, "parent_key_column"); return queryExternal(connectionId, "SELECT * FROM " + tableName + " WHERE " + parentKeyColumn + " = '" + parentKey + "' LIMIT 1000"); @@ -328,9 +328,9 @@ public class DigitalTwinService extends BaseService { // ────────────────────────────────────────────────────────────────────────── @SuppressWarnings("unchecked") public List> getMaterialCounts(Map body) { - long connectionId = toLong(body.get("externalDbConnectionId")); - String tableName = str(body, "tableName"); - List locationKeys = (List) body.get("locationKeys"); + long connectionId = toLong(body.get("external_db_connection_id")); + String tableName = str(body, "table_name"); + List locationKeys = (List) body.get("location_keys"); String keysString = locationKeys.stream() .map(k -> "'" + k + "'") @@ -362,7 +362,7 @@ public class DigitalTwinService extends BaseService { // 1단계: parentId 없는 부모 객체 먼저 저장 for (Map obj : objects) { - if (obj.get("parentId") == null) { + if (obj.get("parent_id") == null) { Map p = buildObjectParams(layoutId, obj, null); sqlSession.insert("digitalTwin.insertDigitalTwinObject", p); Long dbId = toLong(p.get("id")); @@ -374,8 +374,8 @@ public class DigitalTwinService extends BaseService { // 2단계: parentId 있는 자식 객체 저장 (매핑된 실제 ID 사용) for (Map obj : objects) { - if (obj.get("parentId") != null) { - Long realParentId = idMapping.get(obj.get("parentId")); + if (obj.get("parent_id") != null) { + Long realParentId = idMapping.get(obj.get("parent_id")); Map p = buildObjectParams(layoutId, obj, realParentId); sqlSession.insert("digitalTwin.insertDigitalTwinObject", p); } @@ -385,36 +385,36 @@ public class DigitalTwinService extends BaseService { @SuppressWarnings("unchecked") private Map buildObjectParams(Long layoutId, Map obj, Long parentDbId) { Map p = new HashMap<>(); - p.put("layoutId", layoutId); + p.put("layout_id", layoutId); p.put("type", obj.get("type")); p.put("name", obj.get("name")); Map position = toMap(obj.get("position")); - p.put("posX", position != null ? position.get("x") : null); - p.put("posY", position != null ? position.get("y") : null); - p.put("posZ", position != null ? position.get("z") : null); + p.put("pos_x", position != null ? position.get("x") : null); + p.put("pos_y", position != null ? position.get("y") : null); + p.put("pos_z", position != null ? position.get("z") : null); Map size = toMap(obj.get("size")); - p.put("sizeX", size != null ? size.get("x") : null); - p.put("sizeY", size != null ? size.get("y") : null); - p.put("sizeZ", size != null ? size.get("z") : null); + p.put("size_x", size != null ? size.get("x") : null); + p.put("size_y", size != null ? size.get("y") : null); + p.put("size_z", size != null ? size.get("z") : null); p.put("rotation", obj.get("rotation")); p.put("color", obj.get("color")); - p.put("areaKey", obj.get("areaKey")); - p.put("locaKey", obj.get("locaKey")); - p.put("locType", obj.get("locType")); - p.put("materialCount", obj.get("materialCount")); + p.put("area_key", obj.get("area_key")); + p.put("loca_key", obj.get("loca_key")); + p.put("loc_type", obj.get("loc_type")); + p.put("material_count", obj.get("material_count")); - Map materialPreview = toMap(obj.get("materialPreview")); - p.put("materialPreviewHeight", materialPreview != null ? materialPreview.get("height") : null); + Map materialPreview = toMap(obj.get("material_preview")); + p.put("material_preview_height", materialPreview != null ? materialPreview.get("height") : null); - p.put("parentDbId", parentDbId); - p.put("displayOrder", obj.get("displayOrder")); + p.put("parent_db_id", parentDbId); + p.put("display_order", obj.get("display_order")); p.put("locked", obj.get("locked")); - p.put("hierarchyLevel", obj.get("hierarchyLevel")); - p.put("parentKey", obj.get("parentKey")); - p.put("externalKey", obj.get("externalKey")); + p.put("hierarchy_level", obj.get("hierarchy_level")); + p.put("parent_key", obj.get("parent_key")); + p.put("external_key", obj.get("external_key")); return p; } diff --git a/backend-spring/src/main/java/com/erp/service/DriverService.java b/backend-spring/src/main/java/com/erp/service/DriverService.java index 6feaec5b..51f2dd5c 100644 --- a/backend-spring/src/main/java/com/erp/service/DriverService.java +++ b/backend-spring/src/main/java/com/erp/service/DriverService.java @@ -30,14 +30,14 @@ public class DriverService extends BaseService { Map vehicle = sqlSession.selectOne("driver.getDriverVehicle", params); Map result = new LinkedHashMap<>(); - result.put("userId", userInfo.get("user_id")); - result.put("userName", userInfo.get("user_name")); - result.put("phoneNumber", userInfo.get("cell_phone")); - result.put("licenseNumber", userInfo.get("license_number")); - result.put("vehicleNumber", userInfo.get("vehicle_number")); - result.put("vehicleType", vehicle != null ? vehicle.get("vehicle_type") : null); - result.put("vehicleStatus", vehicle != null ? vehicle.get("status") : null); - result.put("branchName", userInfo.get("branch_name")); + result.put("user_id", userInfo.get("user_id")); + result.put("user_name", userInfo.get("user_name")); + result.put("phone_number", userInfo.get("cell_phone")); + result.put("license_number", userInfo.get("license_number")); + result.put("vehicle_number", userInfo.get("vehicle_number")); + result.put("vehicle_type", vehicle != null ? vehicle.get("vehicle_type") : null); + result.put("vehicle_status", vehicle != null ? vehicle.get("status") : null); + result.put("branch_name", userInfo.get("branch_name")); return result; } @@ -69,16 +69,16 @@ public class DriverService extends BaseService { throw new IllegalArgumentException("사용자를 찾을 수 없습니다."); } // user_info에서 이름/전화번호 보완 - if (params.get("userName") == null) params.put("userName", userInfo.get("user_name")); - if (params.get("phoneNumber") == null) params.put("phoneNumber", userInfo.get("cell_phone")); - if (params.get("companyCode") == null) params.put("companyCode", userInfo.get("company_code")); + if (params.get("user_name") == null) params.put("user_name", userInfo.get("user_name")); + if (params.get("phone_number") == null) params.put("phone_number", userInfo.get("cell_phone")); + if (params.get("company_code") == null) params.put("company_code", userInfo.get("company_code")); sqlSession.insert("driver.insertDriverVehicle", params); // user_info.vehicle_number 업데이트 Map updateParams = new HashMap<>(); - updateParams.put("userId", params.get("userId")); - updateParams.put("vehicleNumber", params.get("vehicleNumber")); + updateParams.put("user_id", params.get("user_id")); + updateParams.put("vehicle_number", params.get("vehicle_number")); sqlSession.update("driver.updateDriverUserInfo", updateParams); } diff --git a/backend-spring/src/main/java/com/erp/service/DynamicFormService.java b/backend-spring/src/main/java/com/erp/service/DynamicFormService.java index 21f12b05..ab4b1de0 100644 --- a/backend-spring/src/main/java/com/erp/service/DynamicFormService.java +++ b/backend-spring/src/main/java/com/erp/service/DynamicFormService.java @@ -41,14 +41,14 @@ public class DynamicFormService extends BaseService { */ public String resolveBaseTable(String tableName) { try { - Map params = Map.of("tableName", tableName); - Map tableInfo = sqlSession.selectOne(NS + "selectTableType", params); + Map params = Map.of("table_name", tableName); + Map tableInfo = sqlSession.selectOne(NS + "select_table_type", params); if (tableInfo == null || !"VIEW".equals(tableInfo.get("table_type"))) { return tableName; } - Map viewDef = sqlSession.selectOne(NS + "selectViewDefinition", params); + Map viewDef = sqlSession.selectOne(NS + "select_view_definition", params); if (viewDef != null) { String definition = (String) viewDef.get("view_definition"); if (definition != null) { @@ -70,8 +70,8 @@ public class DynamicFormService extends BaseService { * 테이블 컬럼명 목록 조회 */ private List getColumnNames(String tableName) { - Map params = Map.of("tableName", tableName); - List> rows = sqlSession.selectList(NS + "selectColumnNames", params); + Map params = Map.of("table_name", tableName); + List> rows = sqlSession.selectList(NS + "select_column_names", params); return rows.stream() .map(r -> (String) r.get("column_name")) .collect(Collectors.toList()); @@ -81,8 +81,8 @@ public class DynamicFormService extends BaseService { * 테이블 컬럼 타입 맵 (column_name → data_type) */ private Map getColumnTypeMap(String tableName) { - Map params = Map.of("tableName", tableName); - List> rows = sqlSession.selectList(NS + "selectColumnTypes", params); + Map params = Map.of("table_name", tableName); + List> rows = sqlSession.selectList(NS + "select_column_types", params); Map result = new LinkedHashMap<>(); for (Map row : rows) { result.put((String) row.get("column_name"), (String) row.get("data_type")); @@ -94,8 +94,8 @@ public class DynamicFormService extends BaseService { * 테이블 기본키 목록 조회 */ private List getPrimaryKeyList(String tableName) { - Map params = Map.of("tableName", tableName); - List> rows = sqlSession.selectList(NS + "selectPrimaryKeys", params); + Map params = Map.of("table_name", tableName); + List> rows = sqlSession.selectList(NS + "select_primary_keys", params); return rows.stream() .map(r -> (String) r.get("column_name")) .collect(Collectors.toList()); @@ -242,8 +242,8 @@ public class DynamicFormService extends BaseService { } keysToRemove.add(entry.getKey()); Map repeaterMeta = new LinkedHashMap<>(); - repeaterMeta.put("componentId", entry.getKey()); - repeaterMeta.put("targetTable", targetTable); + repeaterMeta.put("component_id", entry.getKey()); + repeaterMeta.put("target_table", targetTable); repeaterMeta.put("data", actualItems); if (targetTable != null && !targetTable.equals(tableName)) { @@ -300,7 +300,7 @@ public class DynamicFormService extends BaseService { // 별도 테이블 Repeater 저장 for (Map repeater : separateRepeaters) { - String targetTable = (String) repeater.get("targetTable"); + String targetTable = (String) repeater.get("target_table"); validateName(targetTable); List targetCols = getColumnNames(targetTable); List targetPks = getPrimaryKeyList(targetTable); @@ -328,13 +328,13 @@ public class DynamicFormService extends BaseService { Map result = new LinkedHashMap<>(); result.put("id", insertedRecord.getOrDefault("id", insertedRecord.get("objid"))); - result.put("screenId", screenId); - result.put("tableName", tableName); + result.put("screen_id", screenId); + result.put("table_name", tableName); result.put("data", insertedRecord); - result.put("createdAt", insertedRecord.get("created_date")); - result.put("updatedAt", insertedRecord.get("updated_date")); - result.put("createdBy", insertedRecord.getOrDefault("created_by", createdBy)); - result.put("updatedBy", insertedRecord.getOrDefault("updated_by", updatedBy)); + result.put("created_at", insertedRecord.get("created_date")); + result.put("updated_at", insertedRecord.get("updated_date")); + result.put("created_by", insertedRecord.getOrDefault("created_by", createdBy)); + result.put("updated_by", insertedRecord.getOrDefault("updated_by", updatedBy)); return result; } @@ -436,13 +436,13 @@ public class DynamicFormService extends BaseService { Map result = new LinkedHashMap<>(); result.put("id", updated.getOrDefault("id", updated.getOrDefault("objid", id))); - result.put("screenId", 0); - result.put("tableName", tableName); + result.put("screen_id", 0); + result.put("table_name", tableName); result.put("data", updated); - result.put("createdAt", updated.get("created_date")); - result.put("updatedAt", updated.get("updated_date")); - result.put("createdBy", updated.get("created_by")); - result.put("updatedBy", updated.getOrDefault("updated_by", updatedBy)); + result.put("created_at", updated.get("created_date")); + result.put("updated_at", updated.get("updated_date")); + result.put("created_by", updated.get("created_by")); + result.put("updated_by", updated.getOrDefault("updated_by", updatedBy)); return result; } @@ -533,7 +533,7 @@ public class DynamicFormService extends BaseService { String actualTable = resolveBaseTable(tableName); validateName(actualTable); - Map pkInfo = sqlSession.selectOne(NS + "selectPrimaryKeyWithType", Map.of("tableName", actualTable)); + Map pkInfo = sqlSession.selectOne(NS + "select_primary_key_with_type", Map.of("table_name", actualTable)); if (pkInfo == null) { throw new IllegalStateException("테이블 " + actualTable + "의 기본키를 찾을 수 없습니다."); } @@ -556,7 +556,7 @@ public class DynamicFormService extends BaseService { public Map getFormData(int id) { Map params = Map.of("id", id); - Map row = sqlSession.selectOne(NS + "selectFormData", params); + Map row = sqlSession.selectOne(NS + "select_form_data", params); if (row == null) return null; // form_data jsonb를 Map으로 파싱 @@ -569,13 +569,13 @@ public class DynamicFormService extends BaseService { Map result = new LinkedHashMap<>(); result.put("id", row.get("id")); - result.put("screenId", row.get("screen_id")); - result.put("tableName", row.get("table_name")); + result.put("screen_id", row.get("screen_id")); + result.put("table_name", row.get("table_name")); result.put("data", row.get("form_data")); - result.put("createdAt", row.get("created_date")); - result.put("updatedAt", row.get("updated_date")); - result.put("createdBy", row.get("created_by")); - result.put("updatedBy", row.get("updated_by")); + result.put("created_at", row.get("created_date")); + result.put("updated_at", row.get("updated_date")); + result.put("created_by", row.get("created_by")); + result.put("updated_by", row.get("updated_by")); return result; } @@ -585,22 +585,22 @@ public class DynamicFormService extends BaseService { int page = ((Number) queryParams.getOrDefault("page", 1)).intValue(); int size = ((Number) queryParams.getOrDefault("size", 10)).intValue(); String search = (String) queryParams.get("search"); - String sortBy = (String) queryParams.getOrDefault("sortBy", "created_date"); - String sortOrder = (String) queryParams.getOrDefault("sortOrder", "desc"); + String sortBy = (String) queryParams.getOrDefault("sort_by", "created_date"); + String sortOrder = (String) queryParams.getOrDefault("sort_order", "desc"); int offset = (page - 1) * size; String searchParam = (search != null && !search.isEmpty()) ? "%" + search + "%" : null; Map params = new LinkedHashMap<>(); - params.put("screenId", screenId); + params.put("screen_id", screenId); params.put("search", searchParam); - params.put("sortBy", sortBy); - params.put("sortOrder", sortOrder); + params.put("sort_by", sortBy); + params.put("sort_order", sortOrder); params.put("size", size); params.put("offset", offset); - List> rows = sqlSession.selectList(NS + "selectFormDataList", params); - Integer totalObj = sqlSession.selectOne(NS + "countFormDataList", params); + List> rows = sqlSession.selectList(NS + "select_form_data_list", params); + Integer totalObj = sqlSession.selectOne(NS + "count_form_data_list", params); int total = totalObj != null ? totalObj : 0; // form_data 파싱 @@ -613,13 +613,13 @@ public class DynamicFormService extends BaseService { } Map item = new LinkedHashMap<>(); item.put("id", row.get("id")); - item.put("screenId", row.get("screen_id")); - item.put("tableName", row.get("table_name")); + item.put("screen_id", row.get("screen_id")); + item.put("table_name", row.get("table_name")); item.put("data", row.get("form_data")); - item.put("createdAt", row.get("created_date")); - item.put("updatedAt", row.get("updated_date")); - item.put("createdBy", row.get("created_by")); - item.put("updatedBy", row.get("updated_by")); + item.put("created_at", row.get("created_date")); + item.put("updated_at", row.get("updated_date")); + item.put("created_by", row.get("created_by")); + item.put("updated_by", row.get("updated_by")); return item; }).collect(Collectors.toList()); @@ -627,9 +627,9 @@ public class DynamicFormService extends BaseService { Map result = new LinkedHashMap<>(); result.put("content", content); - result.put("totalElements", total); - result.put("totalPages", totalPages); - result.put("currentPage", page); + result.put("total_elements", total); + result.put("total_pages", totalPages); + result.put("current_page", page); result.put("size", size); return result; } @@ -647,14 +647,14 @@ public class DynamicFormService extends BaseService { // ── 테이블 컬럼 조회 ────────────────────────────────────────────────────── public List> getTableColumns(String tableName) { - Map params = Map.of("tableName", tableName); - List> columns = sqlSession.selectList(NS + "selectTableColumns", params); - List> pks = sqlSession.selectList(NS + "selectPrimaryKeys", params); + Map params = Map.of("table_name", tableName); + List> columns = sqlSession.selectList(NS + "select_table_columns", params); + List> pks = sqlSession.selectList(NS + "select_primary_keys", params); Set pkSet = pks.stream().map(r -> (String) r.get("column_name")).collect(Collectors.toSet()); return columns.stream().map(col -> { Map item = new LinkedHashMap<>(col); - item.put("primaryKey", pkSet.contains(col.get("column_name"))); + item.put("primary_key", pkSet.contains(col.get("column_name"))); item.put("nullable", "YES".equals(col.get("is_nullable"))); return item; }).collect(Collectors.toList()); @@ -709,7 +709,7 @@ public class DynamicFormService extends BaseService { int affected = jdbcTemplate.update(sql, params.toArray()); Map result = new LinkedHashMap<>(); - result.put("affectedRows", affected); + result.put("affected_rows", affected); return result; } @@ -719,20 +719,20 @@ public class DynamicFormService extends BaseService { public Map saveLocationHistory(Map data) { Map params = new HashMap<>(data); // recordedAt String → Date - Object recAt = params.get("recordedAt"); + Object recAt = params.get("recorded_at"); if (recAt instanceof String) { try { - params.put("recordedAt", new java.util.Date( + params.put("recorded_at", new java.util.Date( java.time.Instant.parse((String) recAt).toEpochMilli())); } catch (Exception e) { - params.put("recordedAt", new java.util.Date()); + params.put("recorded_at", new java.util.Date()); } } else if (recAt == null) { - params.put("recordedAt", new java.util.Date()); + params.put("recorded_at", new java.util.Date()); } - if (!params.containsKey("tripStatus")) params.put("tripStatus", "active"); + if (!params.containsKey("trip_status")) params.put("trip_status", "active"); - sqlSession.insert(NS + "insertLocationHistory", params); + sqlSession.insert(NS + "insert_location_history", params); Map result = new LinkedHashMap<>(); result.put("id", params.get("id")); @@ -742,9 +742,9 @@ public class DynamicFormService extends BaseService { public List> getLocationHistory(Map params) { if (!params.containsKey("limit")) params.put("limit", 1000); // startDate / endDate String → Date if present - convertDateParam(params, "startDate"); - convertDateParam(params, "endDate"); - return sqlSession.selectList(NS + "selectLocationHistory", params); + convertDateParam(params, "start_date"); + convertDateParam(params, "end_date"); + return sqlSession.selectList(NS + "select_location_history", params); } private void convertDateParam(Map params, String key) { diff --git a/backend-spring/src/main/java/com/erp/service/EntityJoinService.java b/backend-spring/src/main/java/com/erp/service/EntityJoinService.java index 5c8c7776..fbaaf0ea 100644 --- a/backend-spring/src/main/java/com/erp/service/EntityJoinService.java +++ b/backend-spring/src/main/java/com/erp/service/EntityJoinService.java @@ -46,9 +46,9 @@ public class EntityJoinService extends BaseService { int offset = (page - 1) * size; boolean enableEntityJoin = !"false".equalsIgnoreCase( - String.valueOf(options.getOrDefault("enableEntityJoin", "true"))); + String.valueOf(options.getOrDefault("enable_entity_join", "true"))); - String companyCode = (String) options.get("companyCode"); + String companyCode = (String) options.get("company_code"); List> joinConfigs = enableEntityJoin ? detectEntityJoins(tableName, null, companyCode) @@ -59,8 +59,8 @@ public class EntityJoinService extends BaseService { ? (Map) options.get("search") : Collections.emptyMap(); - String sortBy = (String) options.get("sortBy"); - String sortOrder = (String) options.getOrDefault("sortOrder", "asc"); + String sortBy = (String) options.get("sort_by"); + String sortOrder = (String) options.getOrDefault("sort_order", "asc"); List whereParams = new ArrayList<>(); String whereClause = buildWhereClause(tableName, searchConditions, whereParams); @@ -83,16 +83,16 @@ public class EntityJoinService extends BaseService { result.put("total", total); result.put("page", page); result.put("size", size); - result.put("totalPages", totalPages); + result.put("total_pages", totalPages); if (enableEntityJoin && !joinConfigs.isEmpty()) { Map entityJoinInfo = new HashMap<>(); - entityJoinInfo.put("joinConfigs", joinConfigs); + entityJoinInfo.put("join_configs", joinConfigs); entityJoinInfo.put("strategy", "full_join"); Map perf = new HashMap<>(); - perf.put("queryTime", System.currentTimeMillis() - startTime); + perf.put("query_time", System.currentTimeMillis() - startTime); entityJoinInfo.put("performance", perf); - result.put("entityJoinInfo", entityJoinInfo); + result.put("entity_join_info", entityJoinInfo); } return result; @@ -104,24 +104,24 @@ public class EntityJoinService extends BaseService { String companyCode) { Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("companyCode", companyCode); + params.put("table_name", tableName); + params.put("company_code", companyCode); - List> entityColumns = sqlSession.selectList(NS + "selectEntityColumns", params); + List> entityColumns = sqlSession.selectList(NS + "select_entity_columns", params); List> joinConfigs = new ArrayList<>(); Map writerCheck = new HashMap<>(); - writerCheck.put("tableName", tableName); - writerCheck.put("columnName", "writer"); - if (sqlSession.selectOne(NS + "selectColumnExists", writerCheck) != null) { + writerCheck.put("table_name", tableName); + writerCheck.put("column_name", "writer"); + if (sqlSession.selectOne(NS + "select_column_exists", writerCheck) != null) { Map writerConfig = new LinkedHashMap<>(); - writerConfig.put("sourceTable", tableName); - writerConfig.put("sourceColumn", "writer"); - writerConfig.put("referenceTable", "user_info"); - writerConfig.put("referenceColumn", "user_id"); - writerConfig.put("displayColumn", "user_name"); - writerConfig.put("displayColumns", List.of("user_name")); - writerConfig.put("aliasColumn", "writer_name"); + writerConfig.put("source_table", tableName); + writerConfig.put("source_column", "writer"); + writerConfig.put("reference_table", "user_info"); + writerConfig.put("reference_column", "user_id"); + writerConfig.put("display_column", "user_name"); + writerConfig.put("display_columns", List.of("user_name")); + writerConfig.put("alias_column", "writer_name"); writerConfig.put("separator", " - "); if (validateJoinConfig(writerConfig)) { joinConfigs.add(writerConfig); @@ -153,13 +153,13 @@ public class EntityJoinService extends BaseService { String aliasColumn = columnName + "_" + finalDisplayCol; Map joinConfig = new LinkedHashMap<>(); - joinConfig.put("sourceTable", tableName); - joinConfig.put("sourceColumn", columnName); - joinConfig.put("referenceTable", refTable); - joinConfig.put("referenceColumn", refCol); - joinConfig.put("displayColumn", finalDisplayCol); - joinConfig.put("displayColumns", List.of(finalDisplayCol)); - joinConfig.put("aliasColumn", aliasColumn); + joinConfig.put("source_table", tableName); + joinConfig.put("source_column", columnName); + joinConfig.put("reference_table", refTable); + joinConfig.put("reference_column", refCol); + joinConfig.put("display_column", finalDisplayCol); + joinConfig.put("display_columns", List.of(finalDisplayCol)); + joinConfig.put("alias_column", aliasColumn); joinConfig.put("separator", " - "); if (validateJoinConfig(joinConfig)) { @@ -173,13 +173,13 @@ public class EntityJoinService extends BaseService { public List> getReferenceTableColumns(String tableName, String companyCode) { Map schemaParams = new HashMap<>(); - schemaParams.put("tableName", tableName); - List> schemaCols = sqlSession.selectList(NS + "selectTableSchemaColumns", schemaParams); + schemaParams.put("table_name", tableName); + List> schemaCols = sqlSession.selectList(NS + "select_table_schema_columns", schemaParams); Map metaParams = new HashMap<>(); - metaParams.put("tableName", tableName); - metaParams.put("companyCode", companyCode); - List> metaCols = sqlSession.selectList(NS + "selectColumnMetadata", metaParams); + metaParams.put("table_name", tableName); + metaParams.put("company_code", companyCode); + List> metaCols = sqlSession.selectList(NS + "select_column_metadata", metaParams); Map> metaByCol = metaCols.stream() .collect(Collectors.toMap( m -> (String) m.get("column_name"), @@ -195,10 +195,10 @@ public class EntityJoinService extends BaseService { String inputType = (String) meta.get("input_type"); Map item = new LinkedHashMap<>(); - item.put("columnName", colName); - item.put("displayName", label); - item.put("dataType", dataType); - item.put("inputType", inputType); + item.put("column_name", colName); + item.put("display_name", label); + item.put("data_type", dataType); + item.put("input_type", inputType); result.add(item); } return result; @@ -207,25 +207,25 @@ public class EntityJoinService extends BaseService { public void updateColumnEntitySettings(String tableName, String columnName, Map settings, String companyCode) { Map params = new HashMap<>(settings); - params.put("tableName", tableName); - params.put("columnName", columnName); - params.put("companyCode", companyCode); - sqlSession.update(NS + "upsertColumnEntitySettings", params); + params.put("table_name", tableName); + params.put("column_name", columnName); + params.put("company_code", companyCode); + sqlSession.update(NS + "upsert_column_entity_settings", params); log.info("Entity 설정 업데이트: {}.{}", tableName, columnName); } public Map getEntityJoinColumns(String tableName, String companyCode) { List> allJoinConfigs = detectEntityJoins(tableName, null, companyCode); List> joinConfigs = allJoinConfigs.stream() - .filter(c -> !"category_values".equals(c.get("referenceTable"))) + .filter(c -> !"category_values".equals(c.get("reference_table"))) .collect(Collectors.toList()); if (joinConfigs.isEmpty()) { Map empty = new LinkedHashMap<>(); - empty.put("tableName", tableName); - empty.put("joinTables", Collections.emptyList()); - empty.put("availableColumns", Collections.emptyList()); - empty.put("summary", Map.of("totalJoinTables", 0, "totalAvailableColumns", 0)); + empty.put("table_name", tableName); + empty.put("join_tables", Collections.emptyList()); + empty.put("available_columns", Collections.emptyList()); + empty.put("summary", Map.of("total_join_tables", 0, "total_available_columns", 0)); return empty; } @@ -234,54 +234,54 @@ public class EntityJoinService extends BaseService { Set generatedAliases = new HashSet<>(); for (Map config : joinConfigs) { - String refTable = (String) config.get("referenceTable"); - String srcCol = (String) config.get("sourceColumn"); - String currentDisp = (String) config.get("displayColumn"); + String refTable = (String) config.get("reference_table"); + String srcCol = (String) config.get("source_column"); + String currentDisp = (String) config.get("display_column"); List> availCols = getReferenceTableColumns(refTable, companyCode); List> colInfoList = availCols.stream() .map(c -> { Map ci = new LinkedHashMap<>(); - ci.put("columnName", c.get("columnName")); - ci.put("columnLabel", c.get("displayName")); - ci.put("dataType", c.get("dataType")); - ci.put("inputType", c.get("inputType")); - ci.put("isNullable", true); + ci.put("column_name", c.get("column_name")); + ci.put("column_label", c.get("display_name")); + ci.put("data_type", c.get("data_type")); + ci.put("input_type", c.get("input_type")); + ci.put("is_nullable", true); return ci; }).collect(Collectors.toList()); Map joinTableInfo = new LinkedHashMap<>(); - joinTableInfo.put("joinConfig", config); - joinTableInfo.put("tableName", refTable); - joinTableInfo.put("currentDisplayColumn", currentDisp); - joinTableInfo.put("availableColumns", colInfoList); + joinTableInfo.put("join_config", config); + joinTableInfo.put("table_name", refTable); + joinTableInfo.put("current_display_column", currentDisp); + joinTableInfo.put("available_columns", colInfoList); joinTablesInfo.add(joinTableInfo); for (Map col : colInfoList) { - String colName = (String) col.get("columnName"); + String colName = (String) col.get("column_name"); String joinAlias = srcCol + "_" + colName; if (!generatedAliases.add(joinAlias)) continue; Map avail = new LinkedHashMap<>(); - avail.put("tableName", refTable); - avail.put("columnName", colName); - avail.put("columnLabel", col.get("columnLabel")); - avail.put("dataType", col.get("dataType")); - avail.put("inputType", col.get("inputType")); - avail.put("joinAlias", joinAlias); - avail.put("suggestedLabel", col.get("columnLabel")); + avail.put("table_name", refTable); + avail.put("column_name", colName); + avail.put("column_label", col.get("column_label")); + avail.put("data_type", col.get("data_type")); + avail.put("input_type", col.get("input_type")); + avail.put("join_alias", joinAlias); + avail.put("suggested_label", col.get("column_label")); allAvailableColumns.add(avail); } } Map result = new LinkedHashMap<>(); - result.put("tableName", tableName); - result.put("joinTables", joinTablesInfo); - result.put("availableColumns", allAvailableColumns); + result.put("table_name", tableName); + result.put("join_tables", joinTablesInfo); + result.put("available_columns", allAvailableColumns); result.put("summary", Map.of( - "totalJoinTables", joinConfigs.size(), - "totalAvailableColumns", allAvailableColumns.size())); + "total_join_tables", joinConfigs.size(), + "total_available_columns", allAvailableColumns.size())); return result; } @@ -292,10 +292,10 @@ public class EntityJoinService extends BaseService { for (Map.Entry e : cacheStats.entrySet()) { CacheStats s = e.getValue(); Map info = new LinkedHashMap<>(); - info.put("cacheKey", e.getKey()); + info.put("cache_key", e.getKey()); info.put("size", s.dataSize); - info.put("hitRate", s.getHitRate()); - info.put("lastUpdated", s.lastUpdated.toString()); + info.put("hit_rate", s.getHitRate()); + info.put("last_updated", s.lastUpdated.toString()); caches.add(info); } double overall = cacheStats.values().stream() @@ -303,12 +303,12 @@ public class EntityJoinService extends BaseService { int totalSize = cacheStats.values().stream().mapToInt(s -> s.dataSize).sum(); Map result = new LinkedHashMap<>(); - result.put("overallHitRate", overall); + result.put("overall_hit_rate", overall); result.put("caches", caches); result.put("summary", Map.of( - "totalCaches", caches.size(), - "totalSize", totalSize, - "averageHitRate", overall)); + "total_caches", caches.size(), + "total_size", totalSize, + "average_hit_rate", overall)); return result; } @@ -370,24 +370,24 @@ public class EntityJoinService extends BaseService { } private boolean validateJoinConfig(Map config) { - String refTable = (String) config.get("referenceTable"); - String refCol = (String) config.get("referenceColumn"); - String displayCol = (String) config.get("displayColumn"); + String refTable = (String) config.get("reference_table"); + String refCol = (String) config.get("reference_column"); + String displayCol = (String) config.get("display_column"); Map p = new HashMap<>(); - p.put("tableName", refTable); - if (sqlSession.selectOne(NS + "selectTableExists", p) == null) { + p.put("table_name", refTable); + if (sqlSession.selectOne(NS + "select_table_exists", p) == null) { log.warn("참조 테이블 없음: {}", refTable); return false; } Map cp = new HashMap<>(); - cp.put("tableName", refTable); - cp.put("columnName", refCol); - if (sqlSession.selectOne(NS + "selectColumnExists", cp) == null) { - cp.put("columnName", "id"); - if (sqlSession.selectOne(NS + "selectColumnExists", cp) != null) { - config.put("referenceColumn", "id"); + cp.put("table_name", refTable); + cp.put("column_name", refCol); + if (sqlSession.selectOne(NS + "select_column_exists", cp) == null) { + cp.put("column_name", "id"); + if (sqlSession.selectOne(NS + "select_column_exists", cp) != null) { + config.put("reference_column", "id"); } else { log.warn("참조 컬럼 없음: {}.{}", refTable, refCol); return false; @@ -396,9 +396,9 @@ public class EntityJoinService extends BaseService { if (notBlank(displayCol) && !"none".equals(displayCol)) { Map dp = new HashMap<>(); - dp.put("tableName", refTable); - dp.put("columnName", displayCol); - if (sqlSession.selectOne(NS + "selectColumnExists", dp) == null) { + dp.put("table_name", refTable); + dp.put("column_name", displayCol); + if (sqlSession.selectOne(NS + "select_column_exists", dp) == null) { log.warn("표시 컬럼 없음: {}.{}", refTable, displayCol); return false; } @@ -408,8 +408,8 @@ public class EntityJoinService extends BaseService { private String autoDetectDisplayColumn(String refTable, String refCol) { Map p = new HashMap<>(); - p.put("tableName", refTable); - List> cols = sqlSession.selectList(NS + "selectTableSchemaColumns", p); + p.put("table_name", refTable); + List> cols = sqlSession.selectList(NS + "select_table_schema_columns", p); List colNames = cols.stream() .map(c -> (String) c.get("column_name")) .collect(Collectors.toList()); @@ -427,8 +427,8 @@ public class EntityJoinService extends BaseService { Map aliasMap = new LinkedHashMap<>(); Set used = new HashSet<>(); for (Map config : joinConfigs) { - String refTable = (String) config.get("referenceTable"); - String srcCol = (String) config.get("sourceColumn"); + String refTable = (String) config.get("reference_table"); + String srcCol = (String) config.get("source_column"); String key = refTable + ":" + srcCol; if (!aliasMap.containsKey(key)) { String alias = generateAlias(refTable, used); @@ -455,10 +455,10 @@ public class EntityJoinService extends BaseService { Set generatedAliases = new HashSet<>(); for (Map config : joinConfigs) { - String refTable = (String) config.get("referenceTable"); - String srcCol = (String) config.get("sourceColumn"); - String displayCol = (String) config.get("displayColumn"); - String aliasCol = (String) config.get("aliasColumn"); + String refTable = (String) config.get("reference_table"); + String srcCol = (String) config.get("source_column"); + String displayCol = (String) config.get("display_column"); + String aliasCol = (String) config.get("alias_column"); String tblAlias = aliasMap.get(refTable + ":" + srcCol); if (tblAlias == null || displayCol == null) continue; @@ -477,9 +477,9 @@ public class EntityJoinService extends BaseService { Set addedJoins = new HashSet<>(); for (Map config : joinConfigs) { - String refTable = (String) config.get("referenceTable"); - String srcCol = (String) config.get("sourceColumn"); - String refCol = (String) config.get("referenceColumn"); + String refTable = (String) config.get("reference_table"); + String srcCol = (String) config.get("source_column"); + String refCol = (String) config.get("reference_column"); String joinKey = refTable + ":" + srcCol; String tblAlias = aliasMap.get(joinKey); if (tblAlias == null || !addedJoins.add(joinKey)) continue; @@ -518,9 +518,9 @@ public class EntityJoinService extends BaseService { Set addedJoins = new HashSet<>(); for (Map config : joinConfigs) { - String refTable = (String) config.get("referenceTable"); - String srcCol = (String) config.get("sourceColumn"); - String refCol = (String) config.get("referenceColumn"); + String refTable = (String) config.get("reference_table"); + String srcCol = (String) config.get("source_column"); + String refCol = (String) config.get("reference_column"); String joinKey = refTable + ":" + srcCol; String tblAlias = aliasMap.get(joinKey); if (tblAlias == null || !addedJoins.add(joinKey)) continue; diff --git a/backend-spring/src/main/java/com/erp/service/EntityReferenceService.java b/backend-spring/src/main/java/com/erp/service/EntityReferenceService.java index e4dd99db..ab97ef56 100644 --- a/backend-spring/src/main/java/com/erp/service/EntityReferenceService.java +++ b/backend-spring/src/main/java/com/erp/service/EntityReferenceService.java @@ -13,14 +13,14 @@ public class EntityReferenceService extends BaseService { private static final String NS = "entityReference."; public Map getEntityReferenceData(Map params) { - String tableName = (String) params.get("tableName"); - String columnName = (String) params.get("columnName"); - String companyCode = (String) params.get("companyCode"); + String tableName = (String) params.get("table_name"); + String columnName = (String) params.get("column_name"); + String companyCode = (String) params.get("company_code"); int limit = toInt(params.getOrDefault("limit", 100)); Object search = params.get("search"); - Map columnInfo = sqlSession.selectOne(NS + "selectColumnInfo", - Map.of("tableName", tableName, "columnName", columnName)); + Map columnInfo = sqlSession.selectOne(NS + "select_column_info", + Map.of("table_name", tableName, "column_name", columnName)); if (columnInfo == null) { throw new IllegalArgumentException( @@ -52,32 +52,32 @@ public class EntityReferenceService extends BaseService { throw new IllegalArgumentException("잘못된 참조 테이블/컬럼 이름입니다."); } - Integer tableExistsObj = sqlSession.selectOne(NS + "checkTableExistsInSchema", - Map.of("tableName", safeTable)); + Integer tableExistsObj = sqlSession.selectOne(NS + "check_table_exists_in_schema", + Map.of("table_name", safeTable)); int tableExists = tableExistsObj != null ? tableExistsObj : 0; if (tableExists == 0) { throw new IllegalStateException("참조 테이블 '" + safeTable + "'이 존재하지 않습니다."); } - Integer hasCompanyCodeObj = sqlSession.selectOne(NS + "checkTableHasCompanyCode", - Map.of("tableName", safeTable)); + Integer hasCompanyCodeObj = sqlSession.selectOne(NS + "check_table_has_company_code", + Map.of("table_name", safeTable)); int hasCompanyCode = hasCompanyCodeObj != null ? hasCompanyCodeObj : 0; Map queryParams = new HashMap<>(); - queryParams.put("tableName", safeTable); - queryParams.put("referenceColumn", safeRefCol); - queryParams.put("displayColumn", safeDispCol); - queryParams.put("companyCode", companyCode); - queryParams.put("hasCompanyCode", hasCompanyCode > 0); + queryParams.put("table_name", safeTable); + queryParams.put("reference_column", safeRefCol); + queryParams.put("display_column", safeDispCol); + queryParams.put("company_code", companyCode); + queryParams.put("has_company_code", hasCompanyCode > 0); queryParams.put("limit", limit); if (search != null && !search.toString().isBlank()) { - queryParams.put("searchLike", "%" + search + "%"); + queryParams.put("search_like", "%" + search + "%"); } log.info("엔티티 참조 데이터 조회: {}.{} -> {}.{} (display: {}), company={}", tableName, columnName, safeTable, safeRefCol, safeDispCol, companyCode); - List> rows = sqlSession.selectList(NS + "selectReferenceData", queryParams); + List> rows = sqlSession.selectList(NS + "select_reference_data", queryParams); List> options = new ArrayList<>(); for (Map row : rows) { @@ -90,33 +90,33 @@ public class EntityReferenceService extends BaseService { } Map referenceInfo = new LinkedHashMap<>(); - referenceInfo.put("referenceTable", safeTable); - referenceInfo.put("referenceColumn", safeRefCol); - referenceInfo.put("displayColumn", safeDispCol); + referenceInfo.put("reference_table", safeTable); + referenceInfo.put("reference_column", safeRefCol); + referenceInfo.put("display_column", safeDispCol); Map result = new LinkedHashMap<>(); result.put("options", options); - result.put("referenceInfo", referenceInfo); + result.put("reference_info", referenceInfo); return result; } public Map getCodeData(Map params) { - String codeCategory = (String) params.get("codeCategory"); - String companyCode = (String) params.get("companyCode"); + String codeCategory = (String) params.get("code_category"); + String companyCode = (String) params.get("company_code"); int limit = toInt(params.getOrDefault("limit", 100)); Object search = params.get("search"); Map queryParams = new HashMap<>(); - queryParams.put("codeCategory", codeCategory); - queryParams.put("companyCode", companyCode); + queryParams.put("code_category", codeCategory); + queryParams.put("company_code", companyCode); queryParams.put("limit", limit); if (search != null && !search.toString().isBlank()) { - queryParams.put("searchLike", "%" + search + "%"); + queryParams.put("search_like", "%" + search + "%"); } log.info("공통 코드 데이터 조회: category={}, company={}", codeCategory, companyCode); - List> rows = sqlSession.selectList(NS + "selectCodeData", queryParams); + List> rows = sqlSession.selectList(NS + "select_code_data", queryParams); List> options = new ArrayList<>(); for (Map row : rows) { @@ -128,7 +128,7 @@ public class EntityReferenceService extends BaseService { Map result = new LinkedHashMap<>(); result.put("options", options); - result.put("codeCategory", codeCategory); + result.put("code_category", codeCategory); return result; } diff --git a/backend-spring/src/main/java/com/erp/service/EntitySearchService.java b/backend-spring/src/main/java/com/erp/service/EntitySearchService.java index afa2296c..84fde89b 100644 --- a/backend-spring/src/main/java/com/erp/service/EntitySearchService.java +++ b/backend-spring/src/main/java/com/erp/service/EntitySearchService.java @@ -31,8 +31,8 @@ public class EntitySearchService extends BaseService { private Set fetchColumns(String tableName) { Map p = new HashMap<>(); - p.put("tableName", tableName); - List> rows = sqlSession.selectList(NS + "getTableColumnList", p); + p.put("table_name", tableName); + List> rows = sqlSession.selectList(NS + "get_table_column_list", p); return rows.stream() .map(r -> (String) r.get("column_name")) .filter(Objects::nonNull) @@ -140,7 +140,7 @@ public class EntitySearchService extends BaseService { whereClause.append(")"); } } - case "notIn" -> { + case "not_in" -> { List vals = toList(value); if (!vals.isEmpty()) { whereClause.append(" AND \"").append(safeCol).append("\" NOT IN ("); @@ -158,8 +158,8 @@ public class EntitySearchService extends BaseService { whereClause.append(" AND \"").append(safeCol).append("\"::text ILIKE #{condVal_").append(i).append("}"); params.put("condVal_" + i, "%" + value + "%"); } - case "isNull" -> whereClause.append(" AND \"").append(safeCol).append("\" IS NULL"); - case "isNotNull" -> whereClause.append(" AND \"").append(safeCol).append("\" IS NOT NULL"); + case "is_null" -> whereClause.append(" AND \"").append(safeCol).append("\" IS NULL"); + case "is_not_null" -> whereClause.append(" AND \"").append(safeCol).append("\" IS NOT NULL"); default -> { int i = idx.getAndIncrement(); whereClause.append(" AND \"").append(safeCol).append("\" = #{condVal_").append(i).append("}"); @@ -180,12 +180,12 @@ public class EntitySearchService extends BaseService { } public Map searchEntity(Map params) { - String tableName = sanitize((String) params.get("tableName")); + String tableName = sanitize((String) params.get("table_name")); if (tableName.isEmpty()) { throw new IllegalArgumentException("테이블명이 지정되지 않았습니다."); } - String companyCode = (String) params.get("companyCode"); + String companyCode = (String) params.get("company_code"); Set existingColumns = fetchColumns(tableName); StringBuilder whereClause = new StringBuilder(); @@ -198,8 +198,8 @@ public class EntitySearchService extends BaseService { qp.put("condVal_" + i, companyCode); } - String searchText = (String) params.getOrDefault("searchText", ""); - String searchFields = (String) params.getOrDefault("searchFields", ""); + String searchText = (String) params.getOrDefault("search_text", ""); + String searchFields = (String) params.getOrDefault("search_fields", ""); if (searchText != null && !searchText.isBlank()) { List fields = Arrays.stream(searchFields.split(",")) .map(String::trim).filter(f -> !f.isEmpty() && existingColumns.contains(f)) @@ -228,7 +228,7 @@ public class EntitySearchService extends BaseService { } } - String filterCondition = (String) params.getOrDefault("filterCondition", "{}"); + String filterCondition = (String) params.getOrDefault("filter_condition", "{}"); applyFilterCondition(filterCondition, existingColumns, whereClause, qp, idx, tableName); String orderByColumn = "1"; @@ -237,8 +237,8 @@ public class EntitySearchService extends BaseService { } else { try { Map pkp = new HashMap<>(); - pkp.put("tableName", tableName); - Map pk = sqlSession.selectOne(NS + "getPrimaryKeyInfo", pkp); + pkp.put("table_name", tableName); + Map pk = sqlSession.selectOne(NS + "get_primary_key_info", pkp); if (pk != null && pk.get("column_name") != null) { orderByColumn = "\"" + sanitize((String) pk.get("column_name")) + "\""; } @@ -251,14 +251,14 @@ public class EntitySearchService extends BaseService { int limit = parseIntOrDefault(params.get("limit"), 20); int offset = (page - 1) * limit; - qp.put("tableName", tableName); - qp.put("whereClause", whereClause.toString()); - qp.put("orderByColumn", orderByColumn); - qp.put("pageLimit", limit); - qp.put("pageOffset", offset); + qp.put("table_name", tableName); + qp.put("where_clause", whereClause.toString()); + qp.put("order_by_column", orderByColumn); + qp.put("page_limit", limit); + qp.put("page_offset", offset); - List> data = sqlSession.selectList(NS + "getEntitySearchList", qp); - Integer totalObj = sqlSession.selectOne(NS + "getEntitySearchListCnt", qp); + List> data = sqlSession.selectList(NS + "get_entity_search_list", qp); + Integer totalObj = sqlSession.selectOne(NS + "get_entity_search_list_cnt", qp); int total = totalObj != null ? totalObj : 0; Map result = new LinkedHashMap<>(); @@ -272,12 +272,12 @@ public class EntitySearchService extends BaseService { } public List> getEntityOptions(Map params) { - String tableName = sanitize((String) params.get("tableName")); + String tableName = sanitize((String) params.get("table_name")); if (tableName.isEmpty()) { throw new IllegalArgumentException("테이블명이 지정되지 않았습니다."); } - String companyCode = (String) params.get("companyCode"); + String companyCode = (String) params.get("company_code"); String requestedValue = sanitize((String) params.getOrDefault("value", "id")); String requestedLabel = sanitize((String) params.getOrDefault("label", "name")); String fieldsParam = (String) params.get("fields"); @@ -320,23 +320,23 @@ public class EntitySearchService extends BaseService { applyFilters(filtersJson, existingColumns, whereClause, qp, idx, tableName); - qp.put("tableName", tableName); - qp.put("selectColumns", "\"" + valueCol + "\" AS value, \"" + labelCol + "\" AS label" + extraColsExpr); - qp.put("whereClause", whereClause.toString()); - qp.put("labelColumn", "\"" + labelCol + "\""); + qp.put("table_name", tableName); + qp.put("select_columns", "\"" + valueCol + "\" AS value, \"" + labelCol + "\" AS label" + extraColsExpr); + qp.put("where_clause", whereClause.toString()); + qp.put("label_column", "\"" + labelCol + "\""); - return sqlSession.selectList(NS + "getEntityOptionList", qp); + return sqlSession.selectList(NS + "get_entity_option_list", qp); } public List> getDistinctColumnValues(Map params) { - String tableName = sanitize((String) params.get("tableName")); - String columnName = sanitize((String) params.get("columnName")); + String tableName = sanitize((String) params.get("table_name")); + String columnName = sanitize((String) params.get("column_name")); if (tableName.isEmpty()) throw new IllegalArgumentException("테이블명이 지정되지 않았습니다."); if (columnName.isEmpty()) throw new IllegalArgumentException("컬럼명이 지정되지 않았습니다."); - String companyCode = (String) params.get("companyCode"); - String labelColReq = sanitize((String) params.getOrDefault("labelColumn", "")); + String companyCode = (String) params.get("company_code"); + String labelColReq = sanitize((String) params.getOrDefault("label_column", "")); String filtersJson = (String) params.get("filters"); Set existingColumns = fetchColumns(tableName); @@ -361,12 +361,12 @@ public class EntitySearchService extends BaseService { applyFilters(filtersJson, existingColumns, whereClause, qp, idx, tableName); - qp.put("tableName", tableName); - qp.put("valueColumn", "\"" + columnName + "\""); - qp.put("labelColumn", "\"" + effectiveLabelCol + "\""); - qp.put("whereClause", whereClause.toString()); + qp.put("table_name", tableName); + qp.put("value_column", "\"" + columnName + "\""); + qp.put("label_column", "\"" + effectiveLabelCol + "\""); + qp.put("where_clause", whereClause.toString()); - List> rows = sqlSession.selectList(NS + "getDistinctValueList", qp); + List> rows = sqlSession.selectList(NS + "get_distinct_value_list", qp); if (rows.isEmpty()) return rows; @@ -378,11 +378,11 @@ public class EntitySearchService extends BaseService { try { Map cvp = new HashMap<>(); - cvp.put("tableName", tableName); - cvp.put("columnName", columnName); - cvp.put("rawValues", rawValues); - cvp.put("companyCode", companyCode); - List> cvRows = sqlSession.selectList(NS + "getCategoryValueList", cvp); + cvp.put("table_name", tableName); + cvp.put("column_name", columnName); + cvp.put("raw_values", rawValues); + cvp.put("company_code", companyCode); + List> cvRows = sqlSession.selectList(NS + "get_category_value_list", cvp); for (Map r : cvRows) { labelMap.put((String) r.get("value_code"), (String) r.get("value_label")); } @@ -392,17 +392,17 @@ public class EntitySearchService extends BaseService { try { Map ttcp = new HashMap<>(); - ttcp.put("tableName", tableName); - ttcp.put("columnName", columnName); - Map ttcRow = sqlSession.selectOne(NS + "getCodeCategoryInfo", ttcp); + ttcp.put("table_name", tableName); + ttcp.put("column_name", columnName); + Map ttcRow = sqlSession.selectOne(NS + "get_code_category_info", ttcp); String codeCategory = ttcRow != null ? (String) ttcRow.get("code_category") : null; if (codeCategory != null) { Map cip = new HashMap<>(); - cip.put("codeCategory", codeCategory); - cip.put("rawValues", rawValues); - cip.put("companyCode", companyCode); - List> ciRows = sqlSession.selectList(NS + "getCodeInfoList", cip); + cip.put("code_category", codeCategory); + cip.put("raw_values", rawValues); + cip.put("company_code", companyCode); + List> ciRows = sqlSession.selectList(NS + "get_code_info_list", cip); for (Map r : ciRows) { String codeValue = (String) r.get("code_value"); if (!labelMap.containsKey(codeValue)) { diff --git a/backend-spring/src/main/java/com/erp/service/ExcelMappingService.java b/backend-spring/src/main/java/com/erp/service/ExcelMappingService.java index c8295383..29535438 100644 --- a/backend-spring/src/main/java/com/erp/service/ExcelMappingService.java +++ b/backend-spring/src/main/java/com/erp/service/ExcelMappingService.java @@ -37,15 +37,15 @@ public class ExcelMappingService extends BaseService { * 엑셀 컬럼 구조로 매핑 템플릿 조회 */ public Map findMappingByColumns(Map params) { - String tableName = String.valueOf(params.get("tableName")); - List excelColumns = toStringList(params.get("excelColumns")); - String companyCode = (String) params.getOrDefault("companyCode", "*"); + String tableName = String.valueOf(params.get("table_name")); + List excelColumns = toStringList(params.get("excel_columns")); + String companyCode = (String) params.getOrDefault("company_code", "*"); String hash = generateColumnsHash(excelColumns); Map qp = new HashMap<>(); - qp.put("tableName", tableName); - qp.put("excelColumnsHash", hash); - qp.put("companyCode", companyCode); + qp.put("table_name", tableName); + qp.put("excel_columns_hash", hash); + qp.put("company_code", companyCode); if ("*".equals(companyCode)) { return sqlSession.selectOne("excelMapping.findExcelMappingByHash", qp); @@ -59,10 +59,10 @@ public class ExcelMappingService extends BaseService { */ @Transactional public Map saveMappingTemplate(Map params) { - String tableName = String.valueOf(params.get("tableName")); - List excelColumns = toStringList(params.get("excelColumns")); - Object columnMappings = params.get("columnMappings"); - String companyCode = (String) params.getOrDefault("companyCode", "*"); + String tableName = String.valueOf(params.get("table_name")); + List excelColumns = toStringList(params.get("excel_columns")); + Object columnMappings = params.get("column_mappings"); + String companyCode = (String) params.getOrDefault("company_code", "*"); String hash = generateColumnsHash(excelColumns); @@ -78,18 +78,18 @@ public class ExcelMappingService extends BaseService { } Map qp = new HashMap<>(); - qp.put("tableName", tableName); - qp.put("excelColumns", excelColumnsJson); - qp.put("excelColumnsHash", hash); - qp.put("columnMappings", columnMappingsJson); - qp.put("companyCode", companyCode); + qp.put("table_name", tableName); + qp.put("excel_columns", excelColumnsJson); + qp.put("excel_columns_hash", hash); + qp.put("column_mappings", columnMappingsJson); + qp.put("company_code", companyCode); sqlSession.insert("excelMapping.upsertExcelMapping", qp); // 저장 후 조회 return findMappingByColumns(Map.of( - "tableName", tableName, - "excelColumns", excelColumns, - "companyCode", companyCode + "table_name", tableName, + "excel_columns", excelColumns, + "company_code", companyCode )); } @@ -97,11 +97,11 @@ public class ExcelMappingService extends BaseService { * 테이블의 매핑 템플릿 목록 조회 */ public List> getMappingTemplates(Map params) { - String tableName = String.valueOf(params.get("tableName")); - String companyCode = (String) params.getOrDefault("companyCode", "*"); + String tableName = String.valueOf(params.get("table_name")); + String companyCode = (String) params.getOrDefault("company_code", "*"); Map qp = new HashMap<>(); - qp.put("tableName", tableName); - qp.put("companyCode", companyCode); + qp.put("table_name", tableName); + qp.put("company_code", companyCode); if ("*".equals(companyCode)) { return sqlSession.selectList("excelMapping.getExcelMappingListByTable", qp); @@ -115,7 +115,7 @@ public class ExcelMappingService extends BaseService { */ @Transactional public boolean deleteMappingTemplate(Map params) { - String companyCode = (String) params.getOrDefault("companyCode", "*"); + String companyCode = (String) params.getOrDefault("company_code", "*"); int deleted; if ("*".equals(companyCode)) { deleted = sqlSession.delete("excelMapping.deleteExcelMapping", params); diff --git a/backend-spring/src/main/java/com/erp/service/ExternalCallConfigService.java b/backend-spring/src/main/java/com/erp/service/ExternalCallConfigService.java index 061e7ab3..4f42808f 100644 --- a/backend-spring/src/main/java/com/erp/service/ExternalCallConfigService.java +++ b/backend-spring/src/main/java/com/erp/service/ExternalCallConfigService.java @@ -36,7 +36,7 @@ public class ExternalCallConfigService extends BaseService { public List> getExternalCallConfigForButtonControl(String companyCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("is_active", "Y"); commonService.applyCompanyCodeFilter(params); List> configs = sqlSession.selectList("externalCallConfig.getExternalCallConfigList", params); @@ -53,14 +53,14 @@ public class ExternalCallConfigService extends BaseService { @SuppressWarnings("unchecked") Map cd = (Map) configData; @SuppressWarnings("unchecked") - Map restApi = (Map) cd.getOrDefault("restApiSettings", new HashMap<>()); - simplified.put("apiUrl", restApi.getOrDefault("apiUrl", "")); - simplified.put("method", restApi.getOrDefault("httpMethod", "GET")); - simplified.put("hasDataMapping", cd.containsKey("dataMappingConfig")); + Map restApi = (Map) cd.getOrDefault("rest_api_settings", new HashMap<>()); + simplified.put("api_url", restApi.getOrDefault("api_url", "")); + simplified.put("method", restApi.getOrDefault("http_method", "GET")); + simplified.put("has_data_mapping", cd.containsKey("data_mapping_config")); } else { - simplified.put("apiUrl", ""); + simplified.put("api_url", ""); simplified.put("method", "GET"); - simplified.put("hasDataMapping", false); + simplified.put("has_data_mapping", false); } result.add(simplified); } @@ -162,17 +162,17 @@ public class ExternalCallConfigService extends BaseService { // Node.js와 동일한 검증 로직 if ("discord".equals(apiType) || "slack".equals(apiType)) { - if (!configData.containsKey("webhookUrl")) { + if (!configData.containsKey("webhook_url")) { return resultMap(false, ("discord".equals(apiType) ? "Discord" : "Slack") + " 웹훅 URL이 필요합니다."); } } else if ("kakao-talk".equals(apiType)) { - if (!configData.containsKey("accessToken")) { + if (!configData.containsKey("access_token")) { return resultMap(false, "카카오톡 액세스 토큰이 필요합니다."); } } else if ("rest-api".equals(callType)) { @SuppressWarnings("unchecked") - Map restApi = (Map) configData.getOrDefault("restApiSettings", new HashMap<>()); - if (restApi.get("apiUrl") == null) { + Map restApi = (Map) configData.getOrDefault("rest_api_settings", new HashMap<>()); + if (restApi.get("api_url") == null) { return resultMap(false, "API URL이 필요합니다."); } } @@ -190,30 +190,30 @@ public class ExternalCallConfigService extends BaseService { if (config == null) { Map r = resultMap(false, "외부 호출 설정을 찾을 수 없습니다: ID " + id); - r.put("executionTime", System.currentTimeMillis() - startTime); + r.put("execution_time", System.currentTimeMillis() - startTime); return r; } Object configDataRaw = config.get("config_data"); if (!(configDataRaw instanceof Map)) { Map r = resultMap(false, "config_data가 유효하지 않습니다."); - r.put("executionTime", System.currentTimeMillis() - startTime); + r.put("execution_time", System.currentTimeMillis() - startTime); return r; } @SuppressWarnings("unchecked") Map configData = (Map) configDataRaw; @SuppressWarnings("unchecked") - Map restApi = (Map) configData.getOrDefault("restApiSettings", new HashMap<>()); + Map restApi = (Map) configData.getOrDefault("rest_api_settings", new HashMap<>()); - String apiUrl = str(restApi, "apiUrl"); + String apiUrl = str(restApi, "api_url"); if (apiUrl == null || apiUrl.isBlank()) { Map r = resultMap(false, "REST API URL이 설정되지 않았습니다."); - r.put("executionTime", System.currentTimeMillis() - startTime); + r.put("execution_time", System.currentTimeMillis() - startTime); return r; } - String httpMethod = str(restApi, "httpMethod"); + String httpMethod = str(restApi, "http_method"); if (httpMethod == null) httpMethod = "GET"; try { @@ -248,13 +248,13 @@ public class ExternalCallConfigService extends BaseService { result.put("success", success); result.put("message", success ? "외부호출 '" + config.get("config_name") + "' 실행 완료" : "외부호출 실행 실패"); result.put("data", responseData); - result.put("executionTime", executionTime); + result.put("execution_time", executionTime); return result; } catch (Exception e) { log.error("외부호출 실행 오류 (id={}): {}", id, e.getMessage()); Map result = resultMap(false, "외부호출 실행 실패: " + e.getMessage()); - result.put("executionTime", System.currentTimeMillis() - startTime); + result.put("execution_time", System.currentTimeMillis() - startTime); result.put("error", e.getMessage()); return result; } diff --git a/backend-spring/src/main/java/com/erp/service/ExternalCallService.java b/backend-spring/src/main/java/com/erp/service/ExternalCallService.java index a2f90d0d..72b63b61 100644 --- a/backend-spring/src/main/java/com/erp/service/ExternalCallService.java +++ b/backend-spring/src/main/java/com/erp/service/ExternalCallService.java @@ -31,9 +31,9 @@ public class ExternalCallService extends BaseService { long startTime = System.currentTimeMillis(); try { Map settings = (Map) request.get("settings"); - Map templateData = (Map) request.get("templateData"); + Map templateData = (Map) request.get("template_data"); - String callType = (String) settings.get("callType"); + String callType = (String) settings.get("call_type"); Map result; switch (callType) { @@ -44,14 +44,14 @@ public class ExternalCallService extends BaseService { default -> throw new IllegalArgumentException("지원되지 않는 호출 타입: " + callType); } - result.put("executionTime", System.currentTimeMillis() - startTime); + result.put("execution_time", System.currentTimeMillis() - startTime); result.put("timestamp", new Date()); return result; } catch (Exception e) { Map errorResult = new LinkedHashMap<>(); errorResult.put("success", false); errorResult.put("error", e.getMessage()); - errorResult.put("executionTime", System.currentTimeMillis() - startTime); + errorResult.put("execution_time", System.currentTimeMillis() - startTime); errorResult.put("timestamp", new Date()); return errorResult; } @@ -62,7 +62,7 @@ public class ExternalCallService extends BaseService { @SuppressWarnings("unchecked") private Map executeRestApiCall(Map settings, Map templateData) { - String apiType = (String) settings.getOrDefault("apiType", "generic"); + String apiType = (String) settings.getOrDefault("api_type", "generic"); return switch (apiType) { case "slack" -> executeSlackWebhook(settings, templateData); case "kakao-talk" -> executeKakaoTalkApi(settings, templateData); @@ -81,13 +81,13 @@ public class ExternalCallService extends BaseService { payload.put("text", message); payload.put("channel", settings.get("channel")); payload.put("username", settings.getOrDefault("username", "DataFlow Bot")); - payload.put("icon_emoji", settings.getOrDefault("iconEmoji", ":robot_face:")); + payload.put("icon_emoji", settings.getOrDefault("icon_emoji", ":robot_face:")); Map headers = Map.of("Content-Type", "application/json"); int timeout = getTimeout(settings); return makeHttpRequest( - (String) settings.get("webhookUrl"), "POST", headers, + (String) settings.get("webhook_url"), "POST", headers, toJsonString(payload), timeout); } @@ -108,7 +108,7 @@ public class ExternalCallService extends BaseService { String body = "template_object=" + URLEncoder.encode(toJsonString(payload), StandardCharsets.UTF_8); Map headers = Map.of( - "Authorization", "Bearer " + settings.get("accessToken"), + "Authorization", "Bearer " + settings.get("access_token"), "Content-Type", "application/x-www-form-urlencoded" ); int timeout = getTimeout(settings); @@ -127,15 +127,15 @@ public class ExternalCallService extends BaseService { Map payload = new LinkedHashMap<>(); payload.put("content", message); payload.put("username", settings.getOrDefault("username", "시스템 알리미")); - if (settings.get("avatarUrl") != null) { - payload.put("avatar_url", settings.get("avatarUrl")); + if (settings.get("avatar_url") != null) { + payload.put("avatar_url", settings.get("avatar_url")); } Map headers = Map.of("Content-Type", "application/json"); int timeout = getTimeout(settings); return makeHttpRequest( - (String) settings.get("webhookUrl"), "POST", headers, + (String) settings.get("webhook_url"), "POST", headers, toJsonString(payload), timeout); } @@ -163,7 +163,7 @@ public class ExternalCallService extends BaseService { String authType = (String) auth.getOrDefault("type", "none"); switch (authType) { case "api-key" -> { - String apiKey = (String) auth.get("apiKey"); + String apiKey = (String) auth.get("api_key"); if (apiKey != null) headers.put("X-API-Key", apiKey); } case "basic" -> { @@ -180,8 +180,8 @@ public class ExternalCallService extends BaseService { if (token != null) headers.put("Authorization", "Bearer " + token); } case "custom" -> { - String headerName = (String) auth.get("headerName"); - String headerValue = (String) auth.get("headerValue"); + String headerName = (String) auth.get("header_name"); + String headerValue = (String) auth.get("header_value"); if (headerName != null && headerValue != null) { headers.put(headerName, headerValue); } @@ -224,7 +224,7 @@ public class ExternalCallService extends BaseService { Map result = new LinkedHashMap<>(); result.put("success", success); - result.put("statusCode", response.getStatusCode().value()); + result.put("status_code", response.getStatusCode().value()); result.put("response", response.getBody()); return result; } catch (Exception e) { @@ -241,20 +241,20 @@ public class ExternalCallService extends BaseService { public Map validateExternalCallSettings(Map settings) { List errors = new ArrayList<>(); - String callType = (String) settings.get("callType"); + String callType = (String) settings.get("call_type"); if ("rest-api".equals(callType)) { - String apiType = (String) settings.getOrDefault("apiType", "generic"); + String apiType = (String) settings.getOrDefault("api_type", "generic"); switch (apiType) { case "slack" -> { - if (isBlank(settings, "webhookUrl")) errors.add("슬랙 웹훅 URL이 필요합니다."); + if (isBlank(settings, "webhook_url")) errors.add("슬랙 웹훅 URL이 필요합니다."); if (isBlank(settings, "message")) errors.add("슬랙 메시지가 필요합니다."); } case "kakao-talk" -> { - if (isBlank(settings, "accessToken")) errors.add("카카오톡 액세스 토큰이 필요합니다."); + if (isBlank(settings, "access_token")) errors.add("카카오톡 액세스 토큰이 필요합니다."); if (isBlank(settings, "message")) errors.add("카카오톡 메시지가 필요합니다."); } case "discord" -> { - if (isBlank(settings, "webhookUrl")) errors.add("디스코드 웹훅 URL이 필요합니다."); + if (isBlank(settings, "webhook_url")) errors.add("디스코드 웹훅 URL이 필요합니다."); if (isBlank(settings, "message")) errors.add("디스코드 메시지가 필요합니다."); } default -> { @@ -263,8 +263,8 @@ public class ExternalCallService extends BaseService { } } } else if ("email".equals(callType)) { - if (isBlank(settings, "smtpHost")) errors.add("SMTP 호스트가 필요합니다."); - if (isBlank(settings, "toEmail")) errors.add("수신 이메일이 필요합니다."); + if (isBlank(settings, "smtp_host")) errors.add("SMTP 호스트가 필요합니다."); + if (isBlank(settings, "to_email")) errors.add("수신 이메일이 필요합니다."); if (isBlank(settings, "subject")) errors.add("이메일 제목이 필요합니다."); } diff --git a/backend-spring/src/main/java/com/erp/service/ExternalDbConnectionService.java b/backend-spring/src/main/java/com/erp/service/ExternalDbConnectionService.java index 6e878666..ef319b94 100644 --- a/backend-spring/src/main/java/com/erp/service/ExternalDbConnectionService.java +++ b/backend-spring/src/main/java/com/erp/service/ExternalDbConnectionService.java @@ -69,7 +69,7 @@ public class ExternalDbConnectionService extends BaseService { Map m = new LinkedHashMap<>(); m.put("value", value); m.put("label", label); - m.put("defaultPort", defaultPort); + m.put("default_port", defaultPort); return m; } @@ -77,8 +77,8 @@ public class ExternalDbConnectionService extends BaseService { public Map getPoolStatus() { Map result = new LinkedHashMap<>(); - result.put("totalPools", 0); - result.put("activePools", 0); + result.put("total_pools", 0); + result.put("active_pools", 0); result.put("pools", Collections.emptyList()); return result; } @@ -124,11 +124,11 @@ public class ExternalDbConnectionService extends BaseService { // 기타 그룹 grouped.computeIfAbsent("other", k -> { Map otherCat = new LinkedHashMap<>(); - otherCat.put("typeCode", "other"); - otherCat.put("displayName", "기타"); + otherCat.put("type_code", "other"); + otherCat.put("display_name", "기타"); otherCat.put("icon", "database"); otherCat.put("color", "#6B7280"); - otherCat.put("sortOrder", 999); + otherCat.put("sort_order", 999); Map entry = new LinkedHashMap<>(); entry.put("category", otherCat); entry.put("connections", new ArrayList<>()); @@ -181,8 +181,8 @@ public class ExternalDbConnectionService extends BaseService { // 이름 중복 확인 Map dupCheck = new HashMap<>(); - dupCheck.put("connectionName", name); - dupCheck.put("companyCode", companyCode); + dupCheck.put("connection_name", name); + dupCheck.put("company_code", companyCode); if (sqlSession.selectOne("externalDbConnection.getExternalDbConnectionByName", dupCheck) != null) { throw new IllegalArgumentException("이미 존재하는 연결명입니다."); } @@ -220,9 +220,9 @@ public class ExternalDbConnectionService extends BaseService { String companyCode = str(body, "company_code"); if (name != null && companyCode != null) { Map dupCheck = new HashMap<>(); - dupCheck.put("connectionName", name); - dupCheck.put("companyCode", companyCode); - dupCheck.put("excludeId", id); + dupCheck.put("connection_name", name); + dupCheck.put("company_code", companyCode); + dupCheck.put("exclude_id", id); if (sqlSession.selectOne("externalDbConnection.getExternalDbConnectionByNameExclude", dupCheck) != null) { throw new IllegalArgumentException("이미 존재하는 연결명입니다."); } @@ -256,7 +256,7 @@ public class ExternalDbConnectionService extends BaseService { params.put("id", id); // SUPER_ADMIN("*")은 모든 연결 삭제 가능, 일반 사용자는 자사만 if (!"*".equals(userCompanyCode)) { - params.put("companyCode", userCompanyCode); + params.put("company_code", userCompanyCode); } int deleted = sqlSession.delete("externalDbConnection.deleteExternalDbConnection", params); if (deleted == 0) { @@ -315,8 +315,8 @@ public class ExternalDbConnectionService extends BaseService { Properties props = new Properties(); props.setProperty("user", username); props.setProperty("password", password); - props.setProperty("connectTimeout", String.valueOf(connTimeout)); - props.setProperty("socketTimeout", "30"); + props.setProperty("connect_timeout", String.valueOf(connTimeout)); + props.setProperty("socket_timeout", "30"); if ("Y".equalsIgnoreCase(sslEnabled)) { props.setProperty("ssl", "true"); props.setProperty("sslmode", "require"); @@ -512,16 +512,16 @@ public class ExternalDbConnectionService extends BaseService { // 메인 DB를 첫 번째로 추가 Map mainDb = new LinkedHashMap<>(); mainDb.put("id", 0); - mainDb.put("connectionName", "메인 데이터베이스 (현재 시스템)"); + mainDb.put("connection_name", "메인 데이터베이스 (현재 시스템)"); mainDb.put("description", "현재 시스템의 PostgreSQL 데이터베이스"); - mainDb.put("dbType", "postgresql"); + mainDb.put("db_type", "postgresql"); mainDb.put("host", "localhost"); mainDb.put("port", 5432); - mainDb.put("databaseName", "erp_database"); + mainDb.put("database_name", "erp_database"); mainDb.put("username", "system"); mainDb.put("password", "***"); - mainDb.put("isActive", "Y"); - mainDb.put("companyCode", "*"); + mainDb.put("is_active", "Y"); + mainDb.put("company_code", "*"); List> result = new ArrayList<>(); result.add(mainDb); @@ -556,8 +556,8 @@ public class ExternalDbConnectionService extends BaseService { props.setProperty("user", username != null ? username : ""); props.setProperty("password", password != null ? password : ""); int connTimeout = toInt(conn, "connection_timeout", 30); - props.setProperty("connectTimeout", String.valueOf(connTimeout)); - props.setProperty("socketTimeout", "60"); + props.setProperty("connect_timeout", String.valueOf(connTimeout)); + props.setProperty("socket_timeout", "60"); String ssl = str(conn, "ssl_enabled"); if ("Y".equalsIgnoreCase(ssl)) { props.setProperty("ssl", "true"); diff --git a/backend-spring/src/main/java/com/erp/service/ExternalRestApiConnectionService.java b/backend-spring/src/main/java/com/erp/service/ExternalRestApiConnectionService.java index 4fa1bd54..8b062cda 100644 --- a/backend-spring/src/main/java/com/erp/service/ExternalRestApiConnectionService.java +++ b/backend-spring/src/main/java/com/erp/service/ExternalRestApiConnectionService.java @@ -49,12 +49,12 @@ public class ExternalRestApiConnectionService extends BaseService { } String filterCompany = (String) params.get("filter_company_code"); if (filterCompany != null) { - params.put("filterCompanyCode", filterCompany); + params.put("filter_company_code", filterCompany); } String isActive = (String) params.get("is_active"); - if (isActive != null) params.put("isActive", isActive); + if (isActive != null) params.put("is_active", isActive); String authType = (String) params.get("auth_type"); - if (authType != null) params.put("authType", authType); + if (authType != null) params.put("auth_type", authType); commonService.applyCompanyCodeFilter(params); List> connections = sqlSession.selectList("externalRestApiConnection.getExternalRestApiConnectionList", params); @@ -88,14 +88,14 @@ public class ExternalRestApiConnectionService extends BaseService { encryptAuthConfig(params); if (params.get("timeout") == null) params.put("timeout", 30000); - if (params.get("retryCount") == null) params.put("retryCount", 0); - if (params.get("retryDelay") == null) params.put("retryDelay", 1000); - if (params.get("isActive") == null) params.put("isActive", "Y"); - if (params.get("defaultMethod") == null) params.put("defaultMethod", "GET"); - if (params.get("saveToHistory") == null) params.put("saveToHistory", "N"); + if (params.get("retry_count") == null) params.put("retry_count", 0); + if (params.get("retry_delay") == null) params.put("retry_delay", 1000); + if (params.get("is_active") == null) params.put("is_active", "Y"); + if (params.get("default_method") == null) params.put("default_method", "GET"); + if (params.get("save_to_history") == null) params.put("save_to_history", "N"); sqlSession.insert("externalRestApiConnection.insertExternalRestApiConnection", params); - log.info("REST API 연결 생성 성공: {}", params.get("connectionName")); + log.info("REST API 연결 생성 성공: {}", params.get("connection_name")); return params; } @@ -115,8 +115,8 @@ public class ExternalRestApiConnectionService extends BaseService { serializeJsonFields(params); encryptAuthConfig(params); - if (params.containsKey("defaultBody")) { - params.put("hasDefaultBody", "Y"); + if (params.containsKey("default_body")) { + params.put("has_default_body", "Y"); } sqlSession.update("externalRestApiConnection.updateExternalRestApiConnection", params); @@ -234,8 +234,8 @@ public class ExternalRestApiConnectionService extends BaseService { try { Map updateParams = new HashMap<>(); updateParams.put("id", id); - updateParams.put("lastTestResult", Boolean.TRUE.equals(result.get("success")) ? "Y" : "N"); - updateParams.put("lastTestMessage", result.get("message")); + updateParams.put("last_test_result", Boolean.TRUE.equals(result.get("success")) ? "Y" : "N"); + updateParams.put("last_test_message", result.get("message")); sqlSession.update("externalRestApiConnection.updateExternalRestApiConnectionTestResult", updateParams); } catch (Exception e) { log.warn("테스트 결과 저장 실패: {}", e.getMessage()); @@ -300,24 +300,24 @@ public class ExternalRestApiConnectionService extends BaseService { Map firstItem = (Map) dataArray.get(0); for (Map.Entry entry : firstItem.entrySet()) { Map col = new LinkedHashMap<>(); - col.put("columnName", entry.getKey()); - col.put("columnLabel", entry.getKey()); - col.put("dataType", entry.getValue() != null ? entry.getValue().getClass().getSimpleName() : "String"); + col.put("column_name", entry.getKey()); + col.put("column_label", entry.getKey()); + col.put("data_type", entry.getValue() != null ? entry.getValue().getClass().getSimpleName() : "String"); columns.add(col); } } Map connectionInfo = new LinkedHashMap<>(); - connectionInfo.put("connectionId", conn.get("id")); - connectionInfo.put("connectionName", conn.get("connection_name")); - connectionInfo.put("baseUrl", conn.get("base_url")); + connectionInfo.put("connection_id", conn.get("id")); + connectionInfo.put("connection_name", conn.get("connection_name")); + connectionInfo.put("base_url", conn.get("base_url")); connectionInfo.put("endpoint", effectiveEndpoint); Map data = new LinkedHashMap<>(); data.put("rows", dataArray); data.put("columns", columns); data.put("total", dataArray.size()); - data.put("connectionInfo", connectionInfo); + data.put("connection_info", connectionInfo); Map result = new LinkedHashMap<>(); result.put("success", true); @@ -367,9 +367,9 @@ public class ExternalRestApiConnectionService extends BaseService { } } case "api-key" -> { - String keyLocation = (String) authConfig.getOrDefault("keyLocation", "header"); - String keyName = (String) authConfig.get("keyName"); - String keyValue = (String) authConfig.get("keyValue"); + String keyLocation = (String) authConfig.getOrDefault("key_location", "header"); + String keyName = (String) authConfig.get("key_name"); + String keyValue = (String) authConfig.get("key_value"); if ("header".equals(keyLocation) && keyName != null && keyValue != null) { httpHeaders.set(keyName, keyValue); } @@ -393,8 +393,8 @@ public class ExternalRestApiConnectionService extends BaseService { } private void validateConnectionData(Map params) { - String name = (String) params.get("connectionName"); - String baseUrl = (String) params.get("baseUrl"); + String name = (String) params.get("connection_name"); + String baseUrl = (String) params.get("base_url"); if (name == null || name.isBlank()) throw new IllegalArgumentException("연결명은 필수입니다."); if (baseUrl == null || baseUrl.isBlank()) throw new IllegalArgumentException("기본 URL은 필수입니다."); } @@ -418,22 +418,22 @@ public class ExternalRestApiConnectionService extends BaseService { @SuppressWarnings("unchecked") private void serializeJsonFields(Map params) { - Object headers = params.get("defaultHeaders"); + Object headers = params.get("default_headers"); if (headers != null && !(headers instanceof String)) { try { - params.put("defaultHeaders", objectMapper.writeValueAsString(headers)); + params.put("default_headers", objectMapper.writeValueAsString(headers)); } catch (JsonProcessingException e) { - params.put("defaultHeaders", "{}"); + params.put("default_headers", "{}"); } } - if (params.get("defaultHeaders") == null) { - params.put("defaultHeaders", "{}"); + if (params.get("default_headers") == null) { + params.put("default_headers", "{}"); } } @SuppressWarnings("unchecked") private void encryptAuthConfig(Map params) { - Object authConfigObj = params.get("authConfig"); + Object authConfigObj = params.get("auth_config"); if (authConfigObj == null) return; Map authConfig; @@ -449,13 +449,13 @@ public class ExternalRestApiConnectionService extends BaseService { return; } - encryptField(authConfig, "keyValue"); + encryptField(authConfig, "key_value"); encryptField(authConfig, "token"); encryptField(authConfig, "password"); - encryptField(authConfig, "clientSecret"); + encryptField(authConfig, "client_secret"); try { - params.put("authConfig", objectMapper.writeValueAsString(authConfig)); + params.put("auth_config", objectMapper.writeValueAsString(authConfig)); } catch (JsonProcessingException e) { log.error("authConfig 직렬화 실패", e); } @@ -474,10 +474,10 @@ public class ExternalRestApiConnectionService extends BaseService { } try { - decryptField(authConfig, "keyValue"); + decryptField(authConfig, "key_value"); decryptField(authConfig, "token"); decryptField(authConfig, "password"); - decryptField(authConfig, "clientSecret"); + decryptField(authConfig, "client_secret"); row.put("auth_config", authConfig); } catch (Exception e) { log.warn("민감 정보 복호화 실패 (암호화되지 않은 데이터일 수 있음)"); diff --git a/backend-spring/src/main/java/com/erp/service/FileService.java b/backend-spring/src/main/java/com/erp/service/FileService.java index 7566c395..b426af35 100644 --- a/backend-spring/src/main/java/com/erp/service/FileService.java +++ b/backend-spring/src/main/java/com/erp/service/FileService.java @@ -35,9 +35,9 @@ public class FileService extends BaseService { public Map getFileList(Map params) { commonService.applyCompanyCodeFilter(params); commonService.applyPagination(params); - Integer totalObj = sqlSession.selectOne(NS + "getFileListCnt", params); + Integer totalObj = sqlSession.selectOne(NS + "get_file_list_cnt", params); int totalCount = totalObj != null ? totalObj : 0; - List> list = sqlSession.selectList(NS + "getFileList", params); + List> list = sqlSession.selectList(NS + "get_file_list", params); return commonService.buildListResponse(list, totalCount, params); } @@ -45,19 +45,19 @@ public class FileService extends BaseService { public Map getFileInfo(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.selectOne(NS + "getFileInfo", params); + return sqlSession.selectOne(NS + "get_file_info", params); } public Map getFileInfoPublic(Map params) { // public 접근 — company_code 필터 없음 - return sqlSession.selectOne(NS + "getFileInfo", params); + return sqlSession.selectOne(NS + "get_file_info", params); } // ── 타겟별 파일 목록 ──────────────────────────────────────────────────── public List> getFilesByTarget(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.selectList(NS + "getFilesByTarget", params); + return sqlSession.selectList(NS + "get_files_by_target", params); } // ── 업로드 ──────────────────────────────────────────────────────────────── @@ -65,11 +65,11 @@ public class FileService extends BaseService { @Transactional public List> uploadFiles(List files, Map params) throws IOException { - String companyCode = (String) params.get("companyCode"); - String writer = (String) params.getOrDefault("userId", "system"); - String targetObjid = (String) params.getOrDefault("targetObjid", null); - String docType = (String) params.getOrDefault("docType", "DOCUMENT"); - String docTypeName = (String) params.getOrDefault("docTypeName", "일반 문서"); + String companyCode = (String) params.get("company_code"); + String writer = (String) params.getOrDefault("user_id", "system"); + String targetObjid = (String) params.getOrDefault("target_objid", null); + String docType = (String) params.getOrDefault("doc_type", "DOCUMENT"); + String docTypeName = (String) params.getOrDefault("doc_type_name", "일반 문서"); LocalDate today = LocalDate.now(); String datePath = today.format(DateTimeFormatter.ofPattern("yyyy/MM/dd")); @@ -105,29 +105,29 @@ public class FileService extends BaseService { Map fileParams = new HashMap<>(); fileParams.put("objid", objid); - fileParams.put("targetObjid", targetObjid); - fileParams.put("savedFileName", savedFileName); - fileParams.put("realFileName", originalName); - fileParams.put("docType", docType); - fileParams.put("docTypeName", docTypeName); - fileParams.put("fileSize", file.getSize()); - fileParams.put("fileExt", ext); - fileParams.put("filePath", filePath); - fileParams.put("companyCode", companyCode); + fileParams.put("target_objid", targetObjid); + fileParams.put("saved_file_name", savedFileName); + fileParams.put("real_file_name", originalName); + fileParams.put("doc_type", docType); + fileParams.put("doc_type_name", docTypeName); + fileParams.put("file_size", file.getSize()); + fileParams.put("file_ext", ext); + fileParams.put("file_path", filePath); + fileParams.put("company_code", companyCode); fileParams.put("writer", writer); fileParams.put("status", "ACTIVE"); - fileParams.put("isRepresentative", false); + fileParams.put("is_representative", false); - sqlSession.insert(NS + "insertFile", fileParams); + sqlSession.insert(NS + "insert_file", fileParams); Map result = new HashMap<>(); result.put("objid", objid); - result.put("realFileName", originalName); - result.put("savedFileName", savedFileName); - result.put("fileSize", file.getSize()); - result.put("fileExt", ext); - result.put("filePath", filePath); - result.put("docType", docType); + result.put("real_file_name", originalName); + result.put("saved_file_name", savedFileName); + result.put("file_size", file.getSize()); + result.put("file_ext", ext); + result.put("file_path", filePath); + result.put("doc_type", docType); results.add(result); } @@ -137,7 +137,7 @@ public class FileService extends BaseService { // ── 다운로드용 파일 경로 조회 ───────────────────────────────────────────── public Path resolveFilePath(Map fileInfo) { - String filePath = (String) fileInfo.get("filePath"); + String filePath = (String) fileInfo.get("file_path"); if (filePath == null) throw new IllegalStateException("파일 경로 정보가 없습니다."); // filePath: /companyDir/YYYY/MM/DD/savedFileName if (filePath.startsWith("/")) filePath = filePath.substring(1); @@ -149,6 +149,6 @@ public class FileService extends BaseService { @Transactional public void deleteFile(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.update(NS + "softDeleteFile", params); + sqlSession.update(NS + "soft_delete_file", params); } } diff --git a/backend-spring/src/main/java/com/erp/service/FlowExternalDbConnectionService.java b/backend-spring/src/main/java/com/erp/service/FlowExternalDbConnectionService.java index 2853a7bd..eceb7e5a 100644 --- a/backend-spring/src/main/java/com/erp/service/FlowExternalDbConnectionService.java +++ b/backend-spring/src/main/java/com/erp/service/FlowExternalDbConnectionService.java @@ -40,7 +40,7 @@ public class FlowExternalDbConnectionService extends BaseService { public List> findAll(boolean activeOnly) { Map params = new HashMap<>(); - params.put("activeOnly", activeOnly); + params.put("active_only", activeOnly); List> rows = sqlSession.selectList("flowExternalDbConnection.selectAll", params); rows.forEach(this::parseJsonFields); return rows; @@ -65,17 +65,17 @@ public class FlowExternalDbConnectionService extends BaseService { // 비밀번호 암호화 String plainPassword = (String) params.get("password"); - params.put("passwordEncrypted", encryption.encrypt(plainPassword)); + params.put("password_encrypted", encryption.encrypt(plainPassword)); params.remove("password"); // connectionOptions → JSON string - if (params.get("connectionOptions") != null && !(params.get("connectionOptions") instanceof String)) { - params.put("connectionOptions", toJson(params.get("connectionOptions"))); + if (params.get("connection_options") != null && !(params.get("connection_options") instanceof String)) { + params.put("connection_options", toJson(params.get("connection_options"))); } - params.putIfAbsent("sslEnabled", false); - params.put("createdBy", userId); - params.put("updatedBy", userId); + params.putIfAbsent("ssl_enabled", false); + params.put("created_by", userId); + params.put("updated_by", userId); sqlSession.insert("flowExternalDbConnection.insert", params); @@ -92,17 +92,17 @@ public class FlowExternalDbConnectionService extends BaseService { Map params = new HashMap<>(request); normalize(params); params.put("id", id); - params.put("updatedBy", userId); + params.put("updated_by", userId); // 새 비밀번호 제공 시 암호화 if (params.get("password") != null) { - params.put("passwordEncrypted", encryption.encrypt((String) params.get("password"))); + params.put("password_encrypted", encryption.encrypt((String) params.get("password"))); params.remove("password"); } // connectionOptions → JSON string - if (params.get("connectionOptions") != null && !(params.get("connectionOptions") instanceof String)) { - params.put("connectionOptions", toJson(params.get("connectionOptions"))); + if (params.get("connection_options") != null && !(params.get("connection_options") instanceof String)) { + params.put("connection_options", toJson(params.get("connection_options"))); } int affected = sqlSession.update("flowExternalDbConnection.update", params); @@ -228,13 +228,13 @@ public class FlowExternalDbConnectionService extends BaseService { /** snake_case 요청 필드를 camelCase params 로 정규화 */ private void normalize(Map p) { - mapField(p, "db_type", "dbType"); - mapField(p, "database_name", "databaseName"); - mapField(p, "ssl_enabled", "sslEnabled"); - mapField(p, "connection_options", "connectionOptions"); - mapField(p, "is_active", "isActive"); - mapField(p, "created_by", "createdBy"); - mapField(p, "updated_by", "updatedBy"); + mapField(p, "db_type", "db_type"); + mapField(p, "database_name", "database_name"); + mapField(p, "ssl_enabled", "ssl_enabled"); + mapField(p, "connection_options", "connection_options"); + mapField(p, "is_active", "is_active"); + mapField(p, "created_by", "created_by"); + mapField(p, "updated_by", "updated_by"); } private void mapField(Map p, String from, String to) { diff --git a/backend-spring/src/main/java/com/erp/service/FlowService.java b/backend-spring/src/main/java/com/erp/service/FlowService.java index 2b3f2b63..ecc74355 100644 --- a/backend-spring/src/main/java/com/erp/service/FlowService.java +++ b/backend-spring/src/main/java/com/erp/service/FlowService.java @@ -28,11 +28,11 @@ public class FlowService extends BaseService { } public Map getFlowDefinitionInfo(int id, String companyCode) { - Map params = Map.of("id", id, "companyCode", companyCode); + Map params = Map.of("id", id, "company_code", companyCode); Map definition = sqlSession.selectOne("flow.getFlowDefinitionInfo", params); if (definition == null) return null; - Map stepParams = Map.of("flowId", id); + Map stepParams = Map.of("flow_id", id); List> steps = sqlSession.selectList("flow.getFlowStepList", stepParams); List> connections = sqlSession.selectList("flow.getFlowConnectionList", stepParams); @@ -45,11 +45,11 @@ public class FlowService extends BaseService { /** company_code 에 상관없이 단순 존재 확인 (소유권 검증용) */ public Map getFlowDefinitionById(int id, String companyCode) { - return sqlSession.selectOne("flow.getFlowDefinitionInfo", Map.of("id", id, "companyCode", companyCode)); + return sqlSession.selectOne("flow.getFlowDefinitionInfo", Map.of("id", id, "company_code", companyCode)); } public boolean checkTableExists(String tableName) { - Number n = sqlSession.selectOne("flow.checkTableExists", Map.of("tableName", tableName)); + Number n = sqlSession.selectOne("flow.checkTableExists", Map.of("table_name", tableName)); return (n != null ? n.intValue() : 0) > 0; } @@ -58,18 +58,18 @@ public class FlowService extends BaseService { String userId, String companyCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("createdBy", userId); + params.put("company_code", companyCode); + params.put("created_by", userId); params.put("name", body.get("name")); params.put("description", body.get("description")); - params.put("tableName", body.get("tableName")); - params.put("dbSourceType", body.getOrDefault("dbSourceType", "internal")); - params.put("dbConnectionId", body.get("dbConnectionId")); - params.put("restApiConnectionId", body.get("restApiConnectionId")); - params.put("restApiEndpoint", body.get("restApiEndpoint")); - params.put("restApiJsonPath", body.get("restApiJsonPath")); - params.put("restApiConnections", toJsonString(body.get("restApiConnections"))); - params.put("isActive", body.getOrDefault("isActive", true)); + params.put("table_name", body.get("table_name")); + params.put("db_source_type", body.getOrDefault("db_source_type", "internal")); + params.put("db_connection_id", body.get("db_connection_id")); + params.put("rest_api_connection_id", body.get("rest_api_connection_id")); + params.put("rest_api_endpoint", body.get("rest_api_endpoint")); + params.put("rest_api_json_path", body.get("rest_api_json_path")); + params.put("rest_api_connections", toJsonString(body.get("rest_api_connections"))); + params.put("is_active", body.getOrDefault("is_active", true)); sqlSession.insert("flow.insertFlowDefinition", params); return getFlowDefinitionById(toInt(params.get("id"), 0), companyCode); @@ -81,10 +81,10 @@ public class FlowService extends BaseService { String companyCode) { Map params = new HashMap<>(); params.put("id", id); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); if (body.containsKey("name")) params.put("name", body.get("name")); if (body.containsKey("description")) params.put("description", body.get("description")); - if (body.containsKey("isActive")) params.put("isActive", body.get("isActive")); + if (body.containsKey("is_active")) params.put("is_active", body.get("is_active")); sqlSession.update("flow.updateFlowDefinition", params); return getFlowDefinitionById(id, companyCode); @@ -93,7 +93,7 @@ public class FlowService extends BaseService { @Transactional public boolean deleteFlowDefinition(int id, String companyCode) { if (getFlowDefinitionById(id, companyCode) == null) return false; - sqlSession.delete("flow.deleteFlowDefinition", Map.of("id", id, "companyCode", companyCode)); + sqlSession.delete("flow.deleteFlowDefinition", Map.of("id", id, "company_code", companyCode)); return true; } @@ -102,7 +102,7 @@ public class FlowService extends BaseService { // ══════════════════════════════════════════════════════════ public List> getFlowStepList(int flowId) { - return sqlSession.selectList("flow.getFlowStepList", Map.of("flowId", flowId)); + return sqlSession.selectList("flow.getFlowStepList", Map.of("flow_id", flowId)); } public Map getFlowStepById(int id) { @@ -113,22 +113,22 @@ public class FlowService extends BaseService { public Map insertFlowStep(int flowDefinitionId, Map body) { Map params = new HashMap<>(); - params.put("flowDefinitionId", flowDefinitionId); - params.put("stepName", body.get("stepName")); - params.put("stepOrder", body.get("stepOrder")); - params.put("tableName", body.get("tableName")); - params.put("conditionJson", toJsonString(body.get("conditionJson"))); + params.put("flow_definition_id", flowDefinitionId); + params.put("step_name", body.get("step_name")); + params.put("step_order", body.get("step_order")); + params.put("table_name", body.get("table_name")); + params.put("condition_json", toJsonString(body.get("condition_json"))); params.put("color", body.get("color")); - params.put("positionX", body.get("positionX")); - params.put("positionY", body.get("positionY")); - params.put("moveType", body.get("moveType")); - params.put("statusColumn", body.get("statusColumn")); - params.put("statusValue", body.get("statusValue")); - params.put("targetTable", body.get("targetTable")); - params.put("fieldMappings", toJsonString(body.get("fieldMappings"))); - params.put("integrationType", body.get("integrationType")); - params.put("integrationConfig",toJsonString(body.get("integrationConfig"))); - params.put("displayConfig", toJsonString(body.get("displayConfig"))); + params.put("position_x", body.get("position_x")); + params.put("position_y", body.get("position_y")); + params.put("move_type", body.get("move_type")); + params.put("status_column", body.get("status_column")); + params.put("status_value", body.get("status_value")); + params.put("target_table", body.get("target_table")); + params.put("field_mappings", toJsonString(body.get("field_mappings"))); + params.put("integration_type", body.get("integration_type")); + params.put("integration_config",toJsonString(body.get("integration_config"))); + params.put("display_config", toJsonString(body.get("display_config"))); sqlSession.insert("flow.insertFlowStep", params); return getFlowStepById(toInt(params.get("id"), 0)); @@ -138,22 +138,22 @@ public class FlowService extends BaseService { public Map updateFlowStep(int stepId, Map body) { Map params = new HashMap<>(); params.put("id", stepId); - copyIfPresent(body, params, "stepName"); - copyIfPresent(body, params, "stepOrder"); - copyIfPresent(body, params, "tableName"); + copyIfPresent(body, params, "step_name"); + copyIfPresent(body, params, "step_order"); + copyIfPresent(body, params, "table_name"); copyIfPresent(body, params, "color"); - copyIfPresent(body, params, "positionX"); - copyIfPresent(body, params, "positionY"); - copyIfPresent(body, params, "moveType"); - copyIfPresent(body, params, "statusColumn"); - copyIfPresent(body, params, "statusValue"); - copyIfPresent(body, params, "targetTable"); - copyIfPresent(body, params, "integrationType"); + copyIfPresent(body, params, "position_x"); + copyIfPresent(body, params, "position_y"); + copyIfPresent(body, params, "move_type"); + copyIfPresent(body, params, "status_column"); + copyIfPresent(body, params, "status_value"); + copyIfPresent(body, params, "target_table"); + copyIfPresent(body, params, "integration_type"); // JSON 필드 - if (body.containsKey("conditionJson")) params.put("conditionJson", toJsonString(body.get("conditionJson"))); - if (body.containsKey("fieldMappings")) params.put("fieldMappings", toJsonString(body.get("fieldMappings"))); - if (body.containsKey("integrationConfig")) params.put("integrationConfig", toJsonString(body.get("integrationConfig"))); - if (body.containsKey("displayConfig")) params.put("displayConfig", toJsonString(body.get("displayConfig"))); + if (body.containsKey("condition_json")) params.put("condition_json", toJsonString(body.get("condition_json"))); + if (body.containsKey("field_mappings")) params.put("field_mappings", toJsonString(body.get("field_mappings"))); + if (body.containsKey("integration_config")) params.put("integration_config", toJsonString(body.get("integration_config"))); + if (body.containsKey("display_config")) params.put("display_config", toJsonString(body.get("display_config"))); int affected = sqlSession.update("flow.updateFlowStep", params); if (affected == 0) return null; @@ -172,7 +172,7 @@ public class FlowService extends BaseService { // ══════════════════════════════════════════════════════════ public List> getFlowConnectionList(int flowId) { - return sqlSession.selectList("flow.getFlowConnectionList", Map.of("flowId", flowId)); + return sqlSession.selectList("flow.getFlowConnectionList", Map.of("flow_id", flowId)); } public Map getFlowConnectionById(int id) { @@ -182,9 +182,9 @@ public class FlowService extends BaseService { @Transactional public Map insertFlowConnection(Map body) { Map params = new HashMap<>(); - params.put("flowDefinitionId", toInt(body.get("flowDefinitionId"), 0)); - params.put("fromStepId", toInt(body.get("fromStepId"), 0)); - params.put("toStepId", toInt(body.get("toStepId"), 0)); + params.put("flow_definition_id", toInt(body.get("flow_definition_id"), 0)); + params.put("from_step_id", toInt(body.get("from_step_id"), 0)); + params.put("to_step_id", toInt(body.get("to_step_id"), 0)); params.put("label", body.get("label")); sqlSession.insert("flow.insertFlowConnection", params); return getFlowConnectionById(toInt(params.get("id"), 0)); @@ -232,7 +232,7 @@ public class FlowService extends BaseService { if (tableName == null) return Map.of(); - List> rows = sqlSession.selectList("flow.getFlowColumnLabelList", Map.of("tableName", tableName)); + List> rows = sqlSession.selectList("flow.getFlowColumnLabelList", Map.of("table_name", tableName)); Map labels = new LinkedHashMap<>(); for (Map row : rows) { String colName = (String) row.get("column_name"); @@ -258,9 +258,9 @@ public class FlowService extends BaseService { continue; } Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("statusColumn", step.get("status_column")); - params.put("statusValue", step.get("status_value")); + params.put("table_name", tableName); + params.put("status_column", step.get("status_column")); + params.put("status_value", step.get("status_value")); try { Number cntNum = sqlSession.selectOne("flow.getFlowStepDataListCnt", params); int cntVal = cntNum != null ? cntNum.intValue() : 0; @@ -289,13 +289,13 @@ public class FlowService extends BaseService { String col = entry.getKey(); Object val = entry.getValue(); Map params = new HashMap<>(); - params.put("tableName", info.tableName()); - params.put("statusColumn", col); - params.put("toStatusValue", val != null ? val.toString() : null); - params.put("recordId", recordId); + params.put("table_name", info.tableName()); + params.put("status_column", col); + params.put("to_status_value", val != null ? val.toString() : null); + params.put("record_id", recordId); sqlSession.update("flow.updateFlowRecordStatus", params); } - return Map.of("updated", true, "recordId", recordId); + return Map.of("updated", true, "record_id", recordId); } // ══════════════════════════════════════════════════════════ @@ -325,22 +325,22 @@ public class FlowService extends BaseService { if (statusColumn != null && toStatusValue != null) { Map updateParams = new HashMap<>(); - updateParams.put("tableName", tableName); - updateParams.put("statusColumn", statusColumn); - updateParams.put("toStatusValue", toStatusValue); - updateParams.put("recordId", recordId); + updateParams.put("table_name", tableName); + updateParams.put("status_column", statusColumn); + updateParams.put("to_status_value", toStatusValue); + updateParams.put("record_id", recordId); sqlSession.update("flow.updateFlowRecordStatus", updateParams); } // 감사 로그 Map logParams = new HashMap<>(); - logParams.put("flowDefinitionId", flowId); - logParams.put("recordId", recordId); - logParams.put("fromStepId", fromStepId); - logParams.put("toStepId", toStepId); - logParams.put("fromStepName", fromStep.get("step_name")); - logParams.put("toStepName", toStep.get("step_name")); - logParams.put("movedBy", userId); + logParams.put("flow_definition_id", flowId); + logParams.put("record_id", recordId); + logParams.put("from_step_id", fromStepId); + logParams.put("to_step_id", toStepId); + logParams.put("from_step_name", fromStep.get("step_name")); + logParams.put("to_step_name", toStep.get("step_name")); + logParams.put("moved_by", userId); logParams.put("note", note); logParams.put("metadata", null); sqlSession.insert("flow.insertFlowAuditLog", logParams); @@ -374,12 +374,12 @@ public class FlowService extends BaseService { // ══════════════════════════════════════════════════════════ public List> getFlowAuditLogListByRecord(int flowId, String recordId) { - return sqlSession.selectList("flow.getFlowAuditLogListByRecord", Map.of("flowId", flowId, "recordId", recordId)); + return sqlSession.selectList("flow.getFlowAuditLogListByRecord", Map.of("flow_id", flowId, "record_id", recordId)); } public List> getFlowAuditLogList(int flowId, int limit) { Map params = new HashMap<>(); - params.put("flowId", flowId); + params.put("flow_id", flowId); params.put("limit", limit); return sqlSession.selectList("flow.getFlowAuditLogList", params); } @@ -424,9 +424,9 @@ public class FlowService extends BaseService { private record StepTableInfo(String tableName, String statusColumn, String statusValue) { Map toParams() { Map p = new HashMap<>(); - p.put("tableName", tableName); - p.put("statusColumn", statusColumn); - p.put("statusValue", statusValue); + p.put("table_name", tableName); + p.put("status_column", statusColumn); + p.put("status_value", statusValue); return p; } } diff --git a/backend-spring/src/main/java/com/erp/service/LayoutService.java b/backend-spring/src/main/java/com/erp/service/LayoutService.java index b7ec06d6..bee1208b 100644 --- a/backend-spring/src/main/java/com/erp/service/LayoutService.java +++ b/backend-spring/src/main/java/com/erp/service/LayoutService.java @@ -34,14 +34,14 @@ public class LayoutService extends BaseService { int size = toInt(params.getOrDefault("size", 20), 20); // includePublic: String "true"/"false" → Boolean - Object ipRaw = params.get("includePublic"); + Object ipRaw = params.get("include_public"); boolean includePublic = ipRaw == null || "true".equalsIgnoreCase(ipRaw.toString()); params.put("page", page); params.put("size", size); params.put("limit", size); params.put("offset", (page - 1) * size); - params.put("includePublic", includePublic); + params.put("include_public", includePublic); List> data = sqlSession.selectList("layout.selectLayouts", params); int total = sqlSession.selectOne("layout.countLayouts", params); @@ -51,7 +51,7 @@ public class LayoutService extends BaseService { result.put("total", total); result.put("page", page); result.put("size", size); - result.put("totalPages", (int) Math.ceil((double) total / size)); + result.put("total_pages", (int) Math.ceil((double) total / size)); return result; } @@ -61,8 +61,8 @@ public class LayoutService extends BaseService { public Map getLayoutById(String layoutCode, String companyCode) { Map params = new HashMap<>(); - params.put("layoutCode", layoutCode); - params.put("companyCode", companyCode); + params.put("layout_code", layoutCode); + params.put("company_code", companyCode); return sqlSession.selectOne("layout.selectLayoutByCode", params); } @@ -74,23 +74,23 @@ public class LayoutService extends BaseService { public Map createLayout(Map body, String companyCode, String userId) { - String layoutType = (String) body.get("layoutType"); + String layoutType = (String) body.get("layout_type"); String layoutCode = generateLayoutCode(layoutType, companyCode); Map params = new HashMap<>(); - params.put("layoutCode", layoutCode); - params.put("companyCode", companyCode); - params.put("userId", userId); - params.put("layoutName", body.get("layoutName")); - params.put("layoutNameEng", body.get("layoutNameEng")); + params.put("layout_code", layoutCode); + params.put("company_code", companyCode); + params.put("user_id", userId); + params.put("layout_name", body.get("layout_name")); + params.put("layout_name_eng", body.get("layout_name_eng")); params.put("description", body.get("description")); - params.put("layoutType", layoutType); + params.put("layout_type", layoutType); params.put("category", body.get("category")); - params.put("iconName", body.get("iconName")); - params.put("defaultSize", toJsonString(body.get("defaultSize"))); - params.put("layoutConfig", toJsonString(body.get("layoutConfig"))); - params.put("zonesConfig", toJsonString(body.get("zonesConfig"))); - params.put("isPublic", toBooleanYN(body.get("isPublic"))); + params.put("icon_name", body.get("icon_name")); + params.put("default_size", toJsonString(body.get("default_size"))); + params.put("layout_config", toJsonString(body.get("layout_config"))); + params.put("zones_config", toJsonString(body.get("zones_config"))); + params.put("is_public", toBooleanYN(body.get("is_public"))); sqlSession.insert("layout.insertLayout", params); @@ -108,32 +108,32 @@ public class LayoutService extends BaseService { String userId) { // 소유권 확인 (is_public 무관, 자사 레이아웃만 수정 가능) Map checkParams = new HashMap<>(); - checkParams.put("layoutCode", layoutCode); - checkParams.put("companyCode", companyCode); + checkParams.put("layout_code", layoutCode); + checkParams.put("company_code", companyCode); if (sqlSession.selectOne("layout.selectLayoutByCodeAndCompany", checkParams) == null) { return null; // Controller 에서 404 처리 } Map params = new HashMap<>(); - params.put("layoutCode", layoutCode); - params.put("companyCode", companyCode); - params.put("userId", userId); + params.put("layout_code", layoutCode); + params.put("company_code", companyCode); + params.put("user_id", userId); // 존재하는 필드만 params 에 추가 - copyIfPresent(body, params, "layoutName"); - copyIfPresent(body, params, "layoutNameEng"); + copyIfPresent(body, params, "layout_name"); + copyIfPresent(body, params, "layout_name_eng"); copyIfPresent(body, params, "description"); - copyIfPresent(body, params, "layoutType"); + copyIfPresent(body, params, "layout_type"); copyIfPresent(body, params, "category"); - copyIfPresent(body, params, "iconName"); + copyIfPresent(body, params, "icon_name"); // JSON 필드는 직렬화 후 추가 - if (body.containsKey("defaultSize")) params.put("defaultSize", toJsonString(body.get("defaultSize"))); - if (body.containsKey("layoutConfig")) params.put("layoutConfig", toJsonString(body.get("layoutConfig"))); - if (body.containsKey("zonesConfig")) params.put("zonesConfig", toJsonString(body.get("zonesConfig"))); + if (body.containsKey("default_size")) params.put("default_size", toJsonString(body.get("default_size"))); + if (body.containsKey("layout_config")) params.put("layout_config", toJsonString(body.get("layout_config"))); + if (body.containsKey("zones_config")) params.put("zones_config", toJsonString(body.get("zones_config"))); // boolean → Y/N - if (body.containsKey("isPublic")) params.put("isPublic", toBooleanYN(body.get("isPublic"))); + if (body.containsKey("is_public")) params.put("is_public", toBooleanYN(body.get("is_public"))); sqlSession.update("layout.updateLayout", params); return getLayoutById(layoutCode, companyCode); @@ -146,16 +146,16 @@ public class LayoutService extends BaseService { @Transactional public void deleteLayout(String layoutCode, String companyCode, String userId) { Map checkParams = new HashMap<>(); - checkParams.put("layoutCode", layoutCode); - checkParams.put("companyCode", companyCode); + checkParams.put("layout_code", layoutCode); + checkParams.put("company_code", companyCode); if (sqlSession.selectOne("layout.selectLayoutByCodeAndCompany", checkParams) == null) { throw new IllegalArgumentException("레이아웃을 찾을 수 없거나 삭제 권한이 없습니다."); } Map params = new HashMap<>(); - params.put("layoutCode", layoutCode); - params.put("companyCode", companyCode); - params.put("userId", userId); + params.put("layout_code", layoutCode); + params.put("company_code", companyCode); + params.put("user_id", userId); sqlSession.update("layout.softDeleteLayout", params); } @@ -175,20 +175,20 @@ public class LayoutService extends BaseService { // DB 결과는 snake_case → createLayout 이 요구하는 camelCase 로 변환 Map body = new HashMap<>(); - body.put("layoutName", newName); - body.put("layoutType", original.get("layout_type")); + body.put("layout_name", newName); + body.put("layout_type", original.get("layout_type")); body.put("category", original.get("category")); body.put("description", original.get("description")); - body.put("iconName", original.get("icon_name")); - body.put("defaultSize", original.get("default_size")); - body.put("layoutConfig", original.get("layout_config")); - body.put("zonesConfig", original.get("zones_config")); - body.put("isPublic", "N"); + body.put("icon_name", original.get("icon_name")); + body.put("default_size", original.get("default_size")); + body.put("layout_config", original.get("layout_config")); + body.put("zones_config", original.get("zones_config")); + body.put("is_public", "N"); // layoutNameEng 에 "Copy" 접미사 Object engName = original.get("layout_name_eng"); if (engName != null) { - body.put("layoutNameEng", engName + " Copy"); + body.put("layout_name_eng", engName + " Copy"); } return createLayout(body, companyCode, userId); @@ -200,7 +200,7 @@ public class LayoutService extends BaseService { public Map getLayoutCountsByCategory(String companyCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); List> rows = sqlSession.selectList( "layout.selectCountsByCategory", params); diff --git a/backend-spring/src/main/java/com/erp/service/MailAccountFileService.java b/backend-spring/src/main/java/com/erp/service/MailAccountFileService.java index 5c9540b3..ceaa4374 100644 --- a/backend-spring/src/main/java/com/erp/service/MailAccountFileService.java +++ b/backend-spring/src/main/java/com/erp/service/MailAccountFileService.java @@ -19,34 +19,34 @@ public class MailAccountFileService extends BaseService { public Map getMailAccountFileList(Map params) { commonService.applyCompanyCodeFilter(params); commonService.applyPagination(params); - int totalCount = sqlSession.selectOne(NS + "getMailAccountFileListCnt", params); - List> list = sqlSession.selectList(NS + "getMailAccountFileList", params); + int totalCount = sqlSession.selectOne(NS + "get_mail_account_file_list_cnt", params); + List> list = sqlSession.selectList(NS + "get_mail_account_file_list", params); return commonService.buildListResponse(list, totalCount, params); } public Map getMailAccountFileInfo(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.selectOne(NS + "getMailAccountFileInfo", params); + return sqlSession.selectOne(NS + "get_mail_account_file_info", params); } @Transactional public Map insertMailAccountFile(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.insert(NS + "insertMailAccountFile", params); + sqlSession.insert(NS + "insert_mail_account_file", params); return params; } @Transactional public Map updateMailAccountFile(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.update(NS + "updateMailAccountFile", params); + sqlSession.update(NS + "update_mail_account_file", params); return params; } @Transactional public Map deleteMailAccountFile(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.delete(NS + "deleteMailAccountFile", params); + sqlSession.delete(NS + "delete_mail_account_file", params); return params; } } diff --git a/backend-spring/src/main/java/com/erp/service/MailReceiveBasicService.java b/backend-spring/src/main/java/com/erp/service/MailReceiveBasicService.java index 8df81a63..bee72b28 100644 --- a/backend-spring/src/main/java/com/erp/service/MailReceiveBasicService.java +++ b/backend-spring/src/main/java/com/erp/service/MailReceiveBasicService.java @@ -22,43 +22,43 @@ public class MailReceiveBasicService extends BaseService { public Map getMailReceiveBasicList(Map params) { commonService.applyCompanyCodeFilter(params); commonService.applyPagination(params); - int totalCount = sqlSession.selectOne(NS + "getMailReceiveBasicListCnt", params); - List> list = sqlSession.selectList(NS + "getMailReceiveBasicList", params); + int totalCount = sqlSession.selectOne(NS + "get_mail_receive_basic_list_cnt", params); + List> list = sqlSession.selectList(NS + "get_mail_receive_basic_list", params); return commonService.buildListResponse(list, totalCount, params); } public int getMailReceiveBasicTodayCount(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.selectOne(NS + "getMailReceiveBasicTodayCount", params); + return sqlSession.selectOne(NS + "get_mail_receive_basic_today_count", params); } public Map getMailReceiveBasicInfo(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.selectOne(NS + "getMailReceiveBasicInfo", params); + return sqlSession.selectOne(NS + "get_mail_receive_basic_info", params); } @Transactional public Map markMailReceiveBasicAsRead(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.update(NS + "updateMailReceiveBasicAsRead", params); + sqlSession.update(NS + "update_mail_receive_basic_as_read", params); return params; } @Transactional public Map deleteMailReceiveBasic(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.update(NS + "deleteMailReceiveBasic", params); + sqlSession.update(NS + "delete_mail_receive_basic", params); return params; } public Map getMailReceiveBasicAttachment(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.selectOne(NS + "getMailReceiveBasicAttachment", params); + return sqlSession.selectOne(NS + "get_mail_receive_basic_attachment", params); } public Map testMailReceiveBasicImapConnection(Map params) { commonService.applyCompanyCodeFilter(params); - Map account = sqlSession.selectOne(NS + "getMailReceiveBasicAccountInfo", params); + Map account = sqlSession.selectOne(NS + "get_mail_receive_basic_account_info", params); if (account == null) { Map result = new HashMap<>(); result.put("success", false); diff --git a/backend-spring/src/main/java/com/erp/service/MailSendSimpleService.java b/backend-spring/src/main/java/com/erp/service/MailSendSimpleService.java index d6ccd961..51ae3017 100644 --- a/backend-spring/src/main/java/com/erp/service/MailSendSimpleService.java +++ b/backend-spring/src/main/java/com/erp/service/MailSendSimpleService.java @@ -49,25 +49,25 @@ public class MailSendSimpleService extends BaseService { */ @SuppressWarnings("unchecked") public Map sendMail(Map params) { - String accountId = str(params.get("accountId")); - String companyCode = str(params.get("companyCode")); - String templateId = str(params.get("templateId")); + String accountId = str(params.get("account_id")); + String companyCode = str(params.get("company_code")); + String templateId = str(params.get("template_id")); String subject = str(params.get("subject")); - String customHtml = str(params.get("customHtml")); + String customHtml = str(params.get("custom_html")); // JSON 문자열 → List 파싱 (multipart form-data의 JSON 문자열 필드) List to = parseJsonList(str(params.get("to"))); List cc = parseJsonList(str(params.get("cc"))); List bcc = parseJsonList(str(params.get("bcc"))); Map variables = parseJsonMap(str(params.get("variables"))); - List modifiedComponents = parseJsonObjectList(str(params.get("modifiedTemplateComponents"))); + List modifiedComponents = parseJsonObjectList(str(params.get("modified_template_components"))); List attachments = (List) params.get("attachments"); // 계정 조회 Map accountParams = new HashMap<>(); - accountParams.put("accountId", accountId); - accountParams.put("companyCode", companyCode); - Map account = sqlSession.selectOne(NS_SEND + "getMailAccount", accountParams); + accountParams.put("account_id", accountId); + accountParams.put("company_code", companyCode); + Map account = sqlSession.selectOne(NS_SEND + "get_mail_account", accountParams); if (account == null) { throw new IllegalArgumentException("메일 계정을 찾을 수 없습니다."); } @@ -81,8 +81,8 @@ public class MailSendSimpleService extends BaseService { if (templateId != null && !templateId.isBlank()) { Map tplParams = new HashMap<>(); tplParams.put("id", templateId); - tplParams.put("companyCode", companyCode); - Map template = sqlSession.selectOne(NS_TEMPLATE + "getMailTemplateFileInfo", tplParams); + tplParams.put("company_code", companyCode); + Map template = sqlSession.selectOne(NS_TEMPLATE + "get_mail_template_file_info", tplParams); if (template == null) throw new IllegalArgumentException("템플릿을 찾을 수 없습니다."); templateName = str(template.get("name")); if (modifiedComponents != null && !modifiedComponents.isEmpty()) { @@ -124,7 +124,7 @@ public class MailSendSimpleService extends BaseService { // 첨부파일 if (attachments != null) { - List parsedFileNames = parseJsonList(str(params.get("fileNames"))); + List parsedFileNames = parseJsonList(str(params.get("file_names"))); for (int i = 0; i < attachments.size(); i++) { MultipartFile file = attachments.get(i); String filename = (i < parsedFileNames.size() && !parsedFileNames.get(i).isBlank()) @@ -156,7 +156,7 @@ public class MailSendSimpleService extends BaseService { if (success) { Map result = new LinkedHashMap<>(); result.put("success", true); - result.put("messageId", messageId); + result.put("message_id", messageId); result.put("accepted", accepted); result.put("rejected", rejected); return result; @@ -173,10 +173,10 @@ public class MailSendSimpleService extends BaseService { */ @SuppressWarnings("unchecked") public Map sendBulkMail(Map body) { - String accountId = str(body.get("accountId")); - String companyCode = str(body.get("companyCode")); - String templateId = str(body.get("templateId")); - String customHtml = str(body.get("customHtml")); + String accountId = str(body.get("account_id")); + String companyCode = str(body.get("company_code")); + String templateId = str(body.get("template_id")); + String customHtml = str(body.get("custom_html")); String subject = str(body.get("subject")); List> recipients; @@ -203,10 +203,10 @@ public class MailSendSimpleService extends BaseService { ? (Map) recipient.get("variables") : Collections.emptyMap(); Map sendParams = new LinkedHashMap<>(); - sendParams.put("companyCode", companyCode); - sendParams.put("accountId", accountId); - sendParams.put("templateId", templateId); - sendParams.put("customHtml", customHtml); + sendParams.put("company_code", companyCode); + sendParams.put("account_id", accountId); + sendParams.put("template_id", templateId); + sendParams.put("custom_html", customHtml); sendParams.put("to", "[\"" + email + "\"]"); sendParams.put("subject", subject); try { @@ -218,7 +218,7 @@ public class MailSendSimpleService extends BaseService { try { Map r = sendMail(sendParams); item.put("success", true); - item.put("messageId", r.get("messageId")); + item.put("message_id", r.get("message_id")); successCount++; } catch (Exception e) { item.put("success", false); @@ -249,13 +249,13 @@ public class MailSendSimpleService extends BaseService { * POST /test-connection */ public Map testConnection(Map body) { - String accountId = str(body.get("accountId")); - String companyCode = str(body.get("companyCode")); + String accountId = str(body.get("account_id")); + String companyCode = str(body.get("company_code")); Map params = new HashMap<>(); - params.put("accountId", accountId); - params.put("companyCode", companyCode); - Map account = sqlSession.selectOne(NS_SEND + "getMailAccount", params); + params.put("account_id", accountId); + params.put("company_code", companyCode); + Map account = sqlSession.selectOne(NS_SEND + "get_mail_account", params); if (account == null) { Map r = new LinkedHashMap<>(); r.put("success", false); @@ -322,26 +322,26 @@ public class MailSendSimpleService extends BaseService { List accepted, List rejected, String errorMsg) { try { Map h = new LinkedHashMap<>(); - h.put("companyCode", companyCode); - h.put("accountId", account.get("id")); - h.put("accountName", account.get("name")); - h.put("accountEmail", account.get("email")); - h.put("toAddresses", String.join(",", to)); - h.put("ccAddresses", cc.isEmpty() ? null : String.join(",", cc)); - h.put("bccAddresses", bcc.isEmpty() ? null : String.join(",", bcc)); + h.put("company_code", companyCode); + h.put("account_id", account.get("id")); + h.put("account_name", account.get("name")); + h.put("account_email", account.get("email")); + h.put("to_addresses", String.join(",", to)); + h.put("cc_addresses", cc.isEmpty() ? null : String.join(",", cc)); + h.put("bcc_addresses", bcc.isEmpty() ? null : String.join(",", bcc)); h.put("subject", subject); - h.put("htmlContent", htmlContent); - h.put("templateId", templateId); - h.put("templateName", templateName); + h.put("html_content", htmlContent); + h.put("template_id", templateId); + h.put("template_name", templateName); h.put("status", status); - h.put("messageId", messageId); + h.put("message_id", messageId); h.put("accepted", accepted.isEmpty() ? null : String.join(",", accepted)); h.put("rejected", rejected.isEmpty() ? null : String.join(",", rejected)); - h.put("errorMessage", errorMsg); + h.put("error_message", errorMsg); if (attachments != null && !attachments.isEmpty()) { - h.put("attachmentCount", attachments.size()); + h.put("attachment_count", attachments.size()); } - sqlSession.insert(NS_HISTORY + "insertMailSentHistory", h); + sqlSession.insert(NS_HISTORY + "insert_mail_sent_history", h); } catch (Exception e) { log.warn("발송 이력 저장 실패 (무시됨): {}", e.getMessage()); } @@ -383,15 +383,15 @@ public class MailSendSimpleService extends BaseService { String content = replaceVariables(str(comp.get("content")), variables); html.append("
").append(content != null ? content : "").append("
\n"); } case "button" -> { String btnText = replaceVariables(str(comp.get("text")), variables); Object styles = comp.get("styles"); Map stylesMap = styles instanceof Map ? (Map) styles : Collections.emptyMap(); - String bgColor = str(stylesMap.getOrDefault("backgroundColor", comp.getOrDefault("backgroundColor", "#007bff"))); - String textColor = str(stylesMap.getOrDefault("color", comp.getOrDefault("textColor", "#fff"))); + String bgColor = str(stylesMap.getOrDefault("background_color", comp.getOrDefault("background_color", "#007bff"))); + String textColor = str(stylesMap.getOrDefault("color", comp.getOrDefault("text_color", "#fff"))); html.append("
\n"); case "footer" -> { html.append("
"); - if (comp.get("companyName") != null) - html.append("
").append(str(comp.get("companyName"))).append("
"); + if (comp.get("company_name") != null) + html.append("
").append(str(comp.get("company_name"))).append("
"); if (comp.get("copyright") != null) html.append("
").append(str(comp.get("copyright"))).append("
"); html.append("
\n"); diff --git a/backend-spring/src/main/java/com/erp/service/MailSentHistoryService.java b/backend-spring/src/main/java/com/erp/service/MailSentHistoryService.java index 18250bd8..d98f60b3 100644 --- a/backend-spring/src/main/java/com/erp/service/MailSentHistoryService.java +++ b/backend-spring/src/main/java/com/erp/service/MailSentHistoryService.java @@ -19,32 +19,32 @@ public class MailSentHistoryService extends BaseService { public Map getMailSentHistoryList(Map params) { // String "true"/"false" → Boolean 변환 (RequestParam은 String으로 들어옴) - params.put("includeDeleted", - "true".equals(String.valueOf(params.getOrDefault("includeDeleted", "false")))); - params.put("onlyDeleted", - "true".equals(String.valueOf(params.getOrDefault("onlyDeleted", "false")))); + params.put("include_deleted", + "true".equals(String.valueOf(params.getOrDefault("include_deleted", "false")))); + params.put("only_deleted", + "true".equals(String.valueOf(params.getOrDefault("only_deleted", "false")))); // sortBy → SQL 컬럼명 매핑 (동적 ORDER BY 인젝션 방지) - String sortBy = (String) params.getOrDefault("sortBy", "sentAt"); + String sortBy = (String) params.getOrDefault("sort_by", "sent_at"); String sortColumn = switch (sortBy) { case "subject" -> "subject"; - case "updatedAt" -> "updated_date"; + case "updated_at" -> "updated_date"; default -> "sent_at"; }; - params.put("sortColumn", sortColumn); - String sortOrder = (String) params.getOrDefault("sortOrder", "desc"); - params.put("sortDirection", "asc".equalsIgnoreCase(sortOrder) ? "ASC" : "DESC"); + params.put("sort_column", sortColumn); + String sortOrder = (String) params.getOrDefault("sort_order", "desc"); + params.put("sort_direction", "asc".equalsIgnoreCase(sortOrder) ? "ASC" : "DESC"); commonService.applyCompanyCodeFilter(params); commonService.applyPagination(params); - int totalCount = sqlSession.selectOne(NS + "getMailSentHistoryListCnt", params); - List> list = sqlSession.selectList(NS + "getMailSentHistoryList", params); + int totalCount = sqlSession.selectOne(NS + "get_mail_sent_history_list_cnt", params); + List> list = sqlSession.selectList(NS + "get_mail_sent_history_list", params); return commonService.buildListResponse(list, totalCount, params); } public Map getMailSentHistoryInfo(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.selectOne(NS + "getMailSentHistoryInfo", params); + return sqlSession.selectOne(NS + "get_mail_sent_history_info", params); } @Transactional @@ -55,49 +55,49 @@ public class MailSentHistoryService extends BaseService { params.put("id", id); } params.put("status", "draft"); - params.put("isDraft", true); - if (params.get("sentAt") == null) { - params.put("sentAt", new Timestamp(System.currentTimeMillis())); + params.put("is_draft", true); + if (params.get("sent_at") == null) { + params.put("sent_at", new Timestamp(System.currentTimeMillis())); } Map lookupParams = new HashMap<>(); lookupParams.put("id", id); - lookupParams.put("companyCode", params.get("companyCode")); - Map existing = sqlSession.selectOne(NS + "getMailSentHistoryInfo", lookupParams); + lookupParams.put("company_code", params.get("company_code")); + Map existing = sqlSession.selectOne(NS + "get_mail_sent_history_info", lookupParams); if (existing != null) { - sqlSession.update(NS + "updateMailSentHistory", params); + sqlSession.update(NS + "update_mail_sent_history", params); } else { - sqlSession.insert(NS + "insertMailSentHistory", params); + sqlSession.insert(NS + "insert_mail_sent_history", params); } - return sqlSession.selectOne(NS + "getMailSentHistoryInfo", lookupParams); + return sqlSession.selectOne(NS + "get_mail_sent_history_info", lookupParams); } @Transactional public Map updateMailSentHistoryDraft(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.update(NS + "updateMailSentHistory", params); - return sqlSession.selectOne(NS + "getMailSentHistoryInfo", params); + sqlSession.update(NS + "update_mail_sent_history", params); + return sqlSession.selectOne(NS + "get_mail_sent_history_info", params); } @Transactional public Map deleteMailSentHistory(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.update(NS + "softDeleteMailSentHistory", params); + sqlSession.update(NS + "soft_delete_mail_sent_history", params); return params; } @Transactional public Map permanentlyDeleteMailSentHistory(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.delete(NS + "permanentDeleteMailSentHistory", params); + sqlSession.delete(NS + "permanent_delete_mail_sent_history", params); return params; } @Transactional public Map restoreMailSentHistory(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.update(NS + "restoreMailSentHistory", params); + sqlSession.update(NS + "restore_mail_sent_history", params); return params; } @@ -106,10 +106,10 @@ public class MailSentHistoryService extends BaseService { @SuppressWarnings("unchecked") List ids = (List) params.get("ids"); if (ids == null || ids.isEmpty()) { - return Map.of("successCount", 0, "failCount", 0); + return Map.of("success_count", 0, "fail_count", 0); } - int successCount = sqlSession.update(NS + "bulkSoftDeleteMailSentHistory", params); - return Map.of("successCount", successCount, "failCount", Math.max(0, ids.size() - successCount)); + int successCount = sqlSession.update(NS + "bulk_soft_delete_mail_sent_history", params); + return Map.of("success_count", successCount, "fail_count", Math.max(0, ids.size() - successCount)); } @Transactional @@ -117,10 +117,10 @@ public class MailSentHistoryService extends BaseService { @SuppressWarnings("unchecked") List ids = (List) params.get("ids"); if (ids == null || ids.isEmpty()) { - return Map.of("successCount", 0, "failCount", 0); + return Map.of("success_count", 0, "fail_count", 0); } - int successCount = sqlSession.delete(NS + "bulkPermanentDeleteMailSentHistory", params); - return Map.of("successCount", successCount, "failCount", Math.max(0, ids.size() - successCount)); + int successCount = sqlSession.delete(NS + "bulk_permanent_delete_mail_sent_history", params); + return Map.of("success_count", successCount, "fail_count", Math.max(0, ids.size() - successCount)); } @Transactional @@ -128,21 +128,21 @@ public class MailSentHistoryService extends BaseService { @SuppressWarnings("unchecked") List ids = (List) params.get("ids"); if (ids == null || ids.isEmpty()) { - return Map.of("successCount", 0, "failCount", 0); + return Map.of("success_count", 0, "fail_count", 0); } - int successCount = sqlSession.update(NS + "bulkRestoreMailSentHistory", params); - return Map.of("successCount", successCount, "failCount", Math.max(0, ids.size() - successCount)); + int successCount = sqlSession.update(NS + "bulk_restore_mail_sent_history", params); + return Map.of("success_count", successCount, "fail_count", Math.max(0, ids.size() - successCount)); } public Map getMailSentHistoryStatistics(Map params) { commonService.applyCompanyCodeFilter(params); - Map stats = sqlSession.selectOne(NS + "getMailSentHistoryStatistics", params); + Map stats = sqlSession.selectOne(NS + "get_mail_sent_history_statistics", params); if (stats == null) stats = new HashMap<>(); long totalSent = toLong(stats.get("total_sent")); long successCount = toLong(stats.get("success_count")); long successRate = totalSent > 0 ? Math.round((double) successCount / totalSent * 100) : 0; - stats.put("successRate", successRate); + stats.put("success_rate", successRate); return stats; } @@ -152,10 +152,10 @@ public class MailSentHistoryService extends BaseService { if (params.get("id") == null) { params.put("id", UUID.randomUUID().toString()); } - if (params.get("sentAt") == null) { - params.put("sentAt", new Timestamp(System.currentTimeMillis())); + if (params.get("sent_at") == null) { + params.put("sent_at", new Timestamp(System.currentTimeMillis())); } - sqlSession.insert(NS + "insertMailSentHistory", params); + sqlSession.insert(NS + "insert_mail_sent_history", params); return params; } diff --git a/backend-spring/src/main/java/com/erp/service/MailTemplateFileService.java b/backend-spring/src/main/java/com/erp/service/MailTemplateFileService.java index de3c79e4..b60843ba 100644 --- a/backend-spring/src/main/java/com/erp/service/MailTemplateFileService.java +++ b/backend-spring/src/main/java/com/erp/service/MailTemplateFileService.java @@ -24,21 +24,21 @@ public class MailTemplateFileService extends BaseService { public Map getMailTemplateFileList(Map params) { commonService.applyCompanyCodeFilter(params); commonService.applyPagination(params); - int totalCount = sqlSession.selectOne(NS + "getMailTemplateFileListCnt", params); - List> list = sqlSession.selectList(NS + "getMailTemplateFileList", params); + int totalCount = sqlSession.selectOne(NS + "get_mail_template_file_list_cnt", params); + List> list = sqlSession.selectList(NS + "get_mail_template_file_list", params); return commonService.buildListResponse(list, totalCount, params); } public Map getMailTemplateFileInfo(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.selectOne(NS + "getMailTemplateFileInfo", params); + return sqlSession.selectOne(NS + "get_mail_template_file_info", params); } @Transactional public Map insertMailTemplateFile(Map params) { commonService.applyCompanyCodeFilter(params); serializeJsonFields(params); - sqlSession.insert(NS + "insertMailTemplateFile", params); + sqlSession.insert(NS + "insert_mail_template_file", params); return params; } @@ -46,21 +46,21 @@ public class MailTemplateFileService extends BaseService { public Map updateMailTemplateFile(Map params) { commonService.applyCompanyCodeFilter(params); serializeJsonFields(params); - sqlSession.update(NS + "updateMailTemplateFile", params); + sqlSession.update(NS + "update_mail_template_file", params); return params; } @Transactional public Map deleteMailTemplateFile(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.delete(NS + "deleteMailTemplateFile", params); + sqlSession.delete(NS + "delete_mail_template_file", params); return params; } @SuppressWarnings("unchecked") public Map previewMailTemplateFile(Map params) { commonService.applyCompanyCodeFilter(params); - Map template = sqlSession.selectOne(NS + "getMailTemplateFileInfo", params); + Map template = sqlSession.selectOne(NS + "get_mail_template_file_info", params); if (template == null) { return Collections.emptyMap(); } @@ -69,7 +69,7 @@ public class MailTemplateFileService extends BaseService { String renderedHtml = renderTemplateToHtml(componentsJson); String subject = (String) template.get("subject"); - Map sampleData = (Map) params.get("sampleData"); + Map sampleData = (Map) params.get("sample_data"); if (sampleData != null && !sampleData.isEmpty()) { renderedHtml = replaceVariables(renderedHtml, sampleData); subject = replaceVariables(subject, sampleData); @@ -78,12 +78,12 @@ public class MailTemplateFileService extends BaseService { Map result = new HashMap<>(); result.put("subject", subject); result.put("html", renderedHtml); - result.put("sampleData", sampleData); + result.put("sample_data", sampleData); return result; } private void serializeJsonFields(Map params) { - for (String field : new String[]{"components", "queryConfig", "recipientConfig"}) { + for (String field : new String[]{"components", "query_config", "recipient_config"}) { Object val = params.get(field); if (val != null && !(val instanceof String)) { try { @@ -115,7 +115,7 @@ public class MailTemplateFileService extends BaseService { case "text" -> html.append("
") .append(comp.getOrDefault("content", "")).append("
"); case "button" -> { - String bg = rawStyles.containsKey("backgroundColor") ? String.valueOf(rawStyles.get("backgroundColor")) : "#007bff"; + String bg = rawStyles.containsKey("background_color") ? String.valueOf(rawStyles.get("background_color")) : "#007bff"; String color = rawStyles.containsKey("color") ? String.valueOf(rawStyles.get("color")) : "#fff"; html.append("
") .append("
"); case "spacer" -> html.append("
"); case "header" -> { - String headerBg = (String) comp.getOrDefault("headerBgColor", "#f8f9fa"); - String logoSrc = (String) comp.get("logoSrc"); - String brandName = String.valueOf(comp.getOrDefault("brandName", "")); - String sendDate = String.valueOf(comp.getOrDefault("sendDate", "")); + String headerBg = (String) comp.getOrDefault("header_bg_color", "#f8f9fa"); + String logoSrc = (String) comp.get("logo_src"); + String brandName = String.valueOf(comp.getOrDefault("brand_name", "")); + String sendDate = String.valueOf(comp.getOrDefault("send_date", "")); html.append("
") .append("
") @@ -141,8 +141,8 @@ public class MailTemplateFileService extends BaseService { .append("") .append(sendDate).append("
"); } - case "infoTable" -> { - String tableTitle = (String) comp.get("tableTitle"); + case "info_table" -> { + String tableTitle = (String) comp.get("table_title"); List> rows = comp.get("rows") instanceof List ? (List>) comp.get("rows") : new ArrayList<>(); html.append("
") @@ -156,9 +156,9 @@ public class MailTemplateFileService extends BaseService { } html.append("
"); } - case "alertBox" -> { - String alertType = (String) comp.getOrDefault("alertType", "info"); - String alertTitle = (String) comp.get("alertTitle"); + case "alert_box" -> { + String alertType = (String) comp.getOrDefault("alert_type", "info"); + String alertTitle = (String) comp.get("alert_title"); String content = String.valueOf(comp.getOrDefault("content", "")); Map bgMap = Map.of("info", "#eff6ff", "warning", "#fffbeb", "danger", "#fef2f2", "success", "#ecfdf5"); Map borderMap = Map.of("info", "#3b82f6", "warning", "#f59e0b", "danger", "#ef4444", "success", "#10b981"); @@ -171,9 +171,9 @@ public class MailTemplateFileService extends BaseService { } case "divider" -> html.append("
"); case "footer" -> { - String companyName = (String) comp.get("companyName"); - String ceoName = (String) comp.get("ceoName"); - String businessNumber = (String) comp.get("businessNumber"); + String companyName = (String) comp.get("company_name"); + String ceoName = (String) comp.get("ceo_name"); + String businessNumber = (String) comp.get("business_number"); String address = (String) comp.get("address"); String phone = (String) comp.get("phone"); String email = (String) comp.get("email"); @@ -192,10 +192,10 @@ public class MailTemplateFileService extends BaseService { .append(copyright != null ? "
" + copyright + "
" : "") .append(""); } - case "numberedList" -> { - String listTitle = (String) comp.get("listTitle"); - List listItems = comp.get("listItems") instanceof List - ? (List) comp.get("listItems") : new ArrayList<>(); + case "numbered_list" -> { + String listTitle = (String) comp.get("list_title"); + List listItems = comp.get("list_items") instanceof List + ? (List) comp.get("list_items") : new ArrayList<>(); html.append("
") .append(listTitle != null ? "
" + listTitle + "
" : "") .append("
    "); diff --git a/backend-spring/src/main/java/com/erp/service/MapDataService.java b/backend-spring/src/main/java/com/erp/service/MapDataService.java index f086f75c..11877361 100644 --- a/backend-spring/src/main/java/com/erp/service/MapDataService.java +++ b/backend-spring/src/main/java/com/erp/service/MapDataService.java @@ -61,13 +61,13 @@ public class MapDataService extends BaseService { * tableName, latColumn, lngColumn 필수 / labelColumn, statusColumn, additionalColumns 선택 */ private String buildSql(Map params) { - String tableName = validateIdentifier((String) params.get("tableName")); - String latColumn = validateIdentifier((String) params.get("latColumn")); - String lngColumn = validateIdentifier((String) params.get("lngColumn")); - String labelColumn = (String) params.get("labelColumn"); - String statusColumn = (String) params.get("statusColumn"); - String additionalColumnsStr = (String) params.get("additionalColumns"); - String whereClause = (String) params.get("whereClause"); + String tableName = validateIdentifier((String) params.get("table_name")); + String latColumn = validateIdentifier((String) params.get("lat_column")); + String lngColumn = validateIdentifier((String) params.get("lng_column")); + String labelColumn = (String) params.get("label_column"); + String statusColumn = (String) params.get("status_column"); + String additionalColumnsStr = (String) params.get("additional_columns"); + String whereClause = (String) params.get("where_clause"); // 중복 없는 컬럼 집합 구성 Set columnSet = new LinkedHashSet<>(); @@ -119,11 +119,11 @@ public class MapDataService extends BaseService { private List> convertToMarkers( List> rows, Map params) { - String latColumn = (String) params.get("latColumn"); - String lngColumn = (String) params.get("lngColumn"); - String labelColumn = (String) params.get("labelColumn"); - String statusColumn = (String) params.get("statusColumn"); - String additionalColumnsStr = (String) params.get("additionalColumns"); + String latColumn = (String) params.get("lat_column"); + String lngColumn = (String) params.get("lng_column"); + String labelColumn = (String) params.get("label_column"); + String statusColumn = (String) params.get("status_column"); + String additionalColumnsStr = (String) params.get("additional_columns"); List additionalColumns = new ArrayList<>(); if (additionalColumnsStr != null && !additionalColumnsStr.isBlank()) { @@ -169,7 +169,7 @@ public class MapDataService extends BaseService { } } if (!additionalInfo.isEmpty()) { - marker.put("additionalInfo", additionalInfo); + marker.put("additional_info", additionalInfo); } } diff --git a/backend-spring/src/main/java/com/erp/service/MoldService.java b/backend-spring/src/main/java/com/erp/service/MoldService.java index 8146c252..0e915eb7 100644 --- a/backend-spring/src/main/java/com/erp/service/MoldService.java +++ b/backend-spring/src/main/java/com/erp/service/MoldService.java @@ -90,7 +90,7 @@ public class MoldService extends BaseService { @Transactional public Map insertMoldInspection(Map params) { commonService.applyCompanyCodeFilter(params); - if (params.get("isActive") == null) params.put("isActive", "Y"); + if (params.get("is_active") == null) params.put("is_active", "Y"); sqlSession.insert("mold.insertMoldInspection", params); return params; } diff --git a/backend-spring/src/main/java/com/erp/service/MultiConnectionService.java b/backend-spring/src/main/java/com/erp/service/MultiConnectionService.java index 222e2593..be26b75b 100644 --- a/backend-spring/src/main/java/com/erp/service/MultiConnectionService.java +++ b/backend-spring/src/main/java/com/erp/service/MultiConnectionService.java @@ -53,10 +53,10 @@ public class MultiConnectionService extends BaseService { if (tableName != null) { try { List> cols = getColumnsFromConnection(connectionId, tableName); - table.put("columnCount", cols.size()); + table.put("column_count", cols.size()); } catch (Exception e) { log.warn("컬럼 수 조회 실패 (table={}): {}", tableName, e.getMessage()); - table.put("columnCount", 0); + table.put("column_count", 0); } } } @@ -104,8 +104,8 @@ public class MultiConnectionService extends BaseService { int rows = connectionId == 0 ? dmlMainDb(sql, values) : dmlExtDb(connectionId, sql, values); Map result = new LinkedHashMap<>(); - result.put("rowsAffected", rows); - result.put("tableName", tableName); + result.put("rows_affected", rows); + result.put("table_name", tableName); result.put("data", data); return result; } @@ -135,8 +135,8 @@ public class MultiConnectionService extends BaseService { int rows = connectionId == 0 ? dmlMainDb(sql, values) : dmlExtDb(connectionId, sql, values); Map result = new LinkedHashMap<>(); - result.put("rowsAffected", rows); - result.put("tableName", tableName); + result.put("rows_affected", rows); + result.put("table_name", tableName); return List.of(result); } @@ -149,7 +149,7 @@ public class MultiConnectionService extends BaseService { @SuppressWarnings("unchecked") List> conditions = (List>) body.getOrDefault("conditions", Collections.emptyList()); - int maxDeleteCount = toInt(body.getOrDefault("maxDeleteCount", 100)); + int maxDeleteCount = toInt(body.getOrDefault("max_delete_count", 100)); List values = extractValues(conditions); String countSql = "SELECT COUNT(*) FROM " + sanitizeIdentifier(tableName) + buildWhere(conditions); @@ -166,8 +166,8 @@ public class MultiConnectionService extends BaseService { int rows = connectionId == 0 ? dmlMainDb(sql, values) : dmlExtDb(connectionId, sql, values); Map result = new LinkedHashMap<>(); - result.put("rowsAffected", rows); - result.put("tableName", tableName); + result.put("rows_affected", rows); + result.put("table_name", tableName); return List.of(result); } @@ -188,8 +188,8 @@ public class MultiConnectionService extends BaseService { Map result = new LinkedHashMap<>(); result.put("valid", true); - result.put("affectedCount", affectedCount); - result.put("tableName", tableName); + result.put("affected_count", affectedCount); + result.put("table_name", tableName); result.put("operation", operation); result.put("message", "검증이 완료되었습니다. 영향받는 행: " + affectedCount + "건"); return result; @@ -310,8 +310,8 @@ public class MultiConnectionService extends BaseService { String pwd = str(connInfo, "_decryptedPwd"); if (pwd == null) pwd = str(connInfo, "password"); props.setProperty("password", pwd != null ? pwd : ""); - props.setProperty("connectTimeout", "30"); - props.setProperty("socketTimeout", "30"); + props.setProperty("connect_timeout", "30"); + props.setProperty("socket_timeout", "30"); return DriverManager.getConnection(url, props); } @@ -383,7 +383,7 @@ public class MultiConnectionService extends BaseService { // ══════════════════════════════════════════════════════════════════════ private String requireTableName(Map body) { - Object t = body.get("tableName"); + Object t = body.get("table_name"); if (t == null || t.toString().isBlank()) { throw new IllegalArgumentException("테이블명이 입력되지 않았습니다."); } diff --git a/backend-spring/src/main/java/com/erp/service/MultilangService.java b/backend-spring/src/main/java/com/erp/service/MultilangService.java index 47b617c4..ea8b6753 100644 --- a/backend-spring/src/main/java/com/erp/service/MultilangService.java +++ b/backend-spring/src/main/java/com/erp/service/MultilangService.java @@ -14,146 +14,146 @@ public class MultilangService extends BaseService { private static final String NS = "multilang."; public List> getLanguages() { - return sqlSession.selectList(NS + "getMultilangLanguageList", new HashMap<>()); + return sqlSession.selectList(NS + "get_multilang_language_list", new HashMap<>()); } public Map createLanguage(Map params) { - String langCode = str(params.get("langCode")); - Map check = Map.of("langCode", langCode); - if (sqlSession.selectOne(NS + "getMultilangLanguageInfo", check) != null) { + String langCode = str(params.get("lang_code")); + Map check = Map.of("lang_code", langCode); + if (sqlSession.selectOne(NS + "get_multilang_language_info", check) != null) { throw new IllegalArgumentException("이미 존재하는 언어 코드입니다: " + langCode); } - if (params.get("isActive") == null) params.put("isActive", "Y"); - if (params.get("sortOrder") == null) params.put("sortOrder", 0); - sqlSession.insert(NS + "insertMultilangLanguage", params); - return sqlSession.selectOne(NS + "getMultilangLanguageInfo", check); + if (params.get("is_active") == null) params.put("is_active", "Y"); + if (params.get("sort_order") == null) params.put("sort_order", 0); + sqlSession.insert(NS + "insert_multilang_language", params); + return sqlSession.selectOne(NS + "get_multilang_language_info", check); } public Map updateLanguage(String langCode, Map params) { - params.put("langCode", langCode); - Map check = Map.of("langCode", langCode); - if (sqlSession.selectOne(NS + "getMultilangLanguageInfo", check) == null) { + params.put("lang_code", langCode); + Map check = Map.of("lang_code", langCode); + if (sqlSession.selectOne(NS + "get_multilang_language_info", check) == null) { throw new IllegalArgumentException("언어를 찾을 수 없습니다: " + langCode); } - sqlSession.update(NS + "updateMultilangLanguage", params); - return sqlSession.selectOne(NS + "getMultilangLanguageInfo", check); + sqlSession.update(NS + "update_multilang_language", params); + return sqlSession.selectOne(NS + "get_multilang_language_info", check); } public String toggleLanguage(String langCode) { - Map check = Map.of("langCode", langCode); - Map current = sqlSession.selectOne(NS + "getMultilangLanguageInfo", check); + Map check = Map.of("lang_code", langCode); + Map current = sqlSession.selectOne(NS + "get_multilang_language_info", check); if (current == null) { throw new IllegalArgumentException("언어를 찾을 수 없습니다: " + langCode); } String newStatus = "Y".equals(current.get("is_active")) ? "N" : "Y"; Map params = new HashMap<>(); - params.put("langCode", langCode); - params.put("newStatus", newStatus); - params.put("updatedBy", "system"); - sqlSession.update(NS + "updateMultilangLanguageStatus", params); + params.put("lang_code", langCode); + params.put("new_status", newStatus); + params.put("updated_by", "system"); + sqlSession.update(NS + "update_multilang_language_status", params); return "Y".equals(newStatus) ? "활성화" : "비활성화"; } @Transactional public void deleteLanguage(String langCode) { - Map check = Map.of("langCode", langCode); - if (sqlSession.selectOne(NS + "getMultilangLanguageInfo", check) == null) { + Map check = Map.of("lang_code", langCode); + if (sqlSession.selectOne(NS + "get_multilang_language_info", check) == null) { throw new IllegalArgumentException("언어를 찾을 수 없습니다: " + langCode); } - Map params = Map.of("langCode", langCode); - sqlSession.delete(NS + "deleteMultilangTextByLangCode", params); - sqlSession.delete(NS + "deleteMultilangLanguage", params); + Map params = Map.of("lang_code", langCode); + sqlSession.delete(NS + "delete_multilang_text_by_lang_code", params); + sqlSession.delete(NS + "delete_multilang_language", params); } public List> getLangKeys(Map params) { - if (params.containsKey("companyCode")) { - params.put("filterCompanyCode", params.get("companyCode")); + if (params.containsKey("company_code")) { + params.put("filter_company_code", params.get("company_code")); } - return sqlSession.selectList(NS + "getMultilangKeyList", params); + return sqlSession.selectList(NS + "get_multilang_key_list", params); } public List> getLangTexts(int keyId) { - return sqlSession.selectList(NS + "getMultilangTextList", Map.of("keyId", keyId)); + return sqlSession.selectList(NS + "get_multilang_text_list", Map.of("key_id", keyId)); } public int createLangKey(Map params) { - String companyCode = str(params.get("companyCode")); - String langKey = str(params.get("langKey")); - Map dupCheck = Map.of("companyCode", companyCode, "langKey", langKey); - if (sqlSession.selectOne(NS + "getMultilangKeyByCompanyAndKey", dupCheck) != null) { + String companyCode = str(params.get("company_code")); + String langKey = str(params.get("lang_key")); + Map dupCheck = Map.of("company_code", companyCode, "lang_key", langKey); + if (sqlSession.selectOne(NS + "get_multilang_key_by_company_and_key", dupCheck) != null) { throw new IllegalArgumentException("동일한 회사에 이미 존재하는 언어키입니다: " + langKey); } - if (params.get("isActive") == null) params.put("isActive", "Y"); - sqlSession.insert(NS + "insertMultilangKey", params); - return toInt(params.get("keyId")); + if (params.get("is_active") == null) params.put("is_active", "Y"); + sqlSession.insert(NS + "insert_multilang_key", params); + return toInt(params.get("key_id")); } public void updateLangKey(int keyId, Map params) { - params.put("keyId", keyId); - if (sqlSession.selectOne(NS + "getMultilangKeyInfo", Map.of("keyId", keyId)) == null) { + params.put("key_id", keyId); + if (sqlSession.selectOne(NS + "get_multilang_key_info", Map.of("key_id", keyId)) == null) { throw new IllegalArgumentException("다국어 키를 찾을 수 없습니다: " + keyId); } - String companyCode = str(params.get("companyCode")); - String langKey = str(params.get("langKey")); + String companyCode = str(params.get("company_code")); + String langKey = str(params.get("lang_key")); if (!companyCode.isEmpty() && !langKey.isEmpty()) { - Map dupCheck = Map.of("companyCode", companyCode, "langKey", langKey, "keyId", keyId); - if (sqlSession.selectOne(NS + "getMultilangKeyByCompanyAndKeyExclude", dupCheck) != null) { + Map dupCheck = Map.of("company_code", companyCode, "lang_key", langKey, "key_id", keyId); + if (sqlSession.selectOne(NS + "get_multilang_key_by_company_and_key_exclude", dupCheck) != null) { throw new IllegalArgumentException("동일한 회사에 이미 존재하는 언어키입니다: " + langKey); } } - sqlSession.update(NS + "updateMultilangKey", params); + sqlSession.update(NS + "update_multilang_key", params); } @Transactional public void deleteLangKey(int keyId) { - if (sqlSession.selectOne(NS + "getMultilangKeyInfo", Map.of("keyId", keyId)) == null) { + if (sqlSession.selectOne(NS + "get_multilang_key_info", Map.of("key_id", keyId)) == null) { throw new IllegalArgumentException("다국어 키를 찾을 수 없습니다: " + keyId); } - Map params = Map.of("keyId", keyId); - sqlSession.delete(NS + "deleteMultilangTextByKeyId", params); - sqlSession.delete(NS + "deleteMultilangKey", params); + Map params = Map.of("key_id", keyId); + sqlSession.delete(NS + "delete_multilang_text_by_key_id", params); + sqlSession.delete(NS + "delete_multilang_key", params); } public String toggleLangKey(int keyId) { - Map current = sqlSession.selectOne(NS + "getMultilangKeyInfo", Map.of("keyId", keyId)); + Map current = sqlSession.selectOne(NS + "get_multilang_key_info", Map.of("key_id", keyId)); if (current == null) { throw new IllegalArgumentException("다국어 키를 찾을 수 없습니다: " + keyId); } String newStatus = "Y".equals(current.get("is_active")) ? "N" : "Y"; Map params = new HashMap<>(); - params.put("keyId", keyId); - params.put("newStatus", newStatus); - params.put("updatedBy", "system"); - sqlSession.update(NS + "updateMultilangKeyStatus", params); + params.put("key_id", keyId); + params.put("new_status", newStatus); + params.put("updated_by", "system"); + sqlSession.update(NS + "update_multilang_key_status", params); return "Y".equals(newStatus) ? "활성화" : "비활성화"; } @Transactional public void saveLangTexts(int keyId, List> texts) { - if (sqlSession.selectOne(NS + "getMultilangKeyInfo", Map.of("keyId", keyId)) == null) { + if (sqlSession.selectOne(NS + "get_multilang_key_info", Map.of("key_id", keyId)) == null) { throw new IllegalArgumentException("다국어 키를 찾을 수 없습니다: " + keyId); } - sqlSession.delete(NS + "deleteMultilangTextByKeyId", Map.of("keyId", keyId)); + sqlSession.delete(NS + "delete_multilang_text_by_key_id", Map.of("key_id", keyId)); for (Map text : texts) { Map params = new HashMap<>(text); - params.put("keyId", keyId); - if (params.get("isActive") == null) params.put("isActive", "Y"); - sqlSession.insert(NS + "insertMultilangText", params); + params.put("key_id", keyId); + if (params.get("is_active") == null) params.put("is_active", "Y"); + sqlSession.insert(NS + "insert_multilang_text", params); } } public String getUserText(String companyCode, String menuCode, String langKey, String userLang) { Map params = Map.of( - "companyCode", companyCode, "menuCode", menuCode, - "langKey", langKey, "userLang", userLang); - Map result = sqlSession.selectOne(NS + "getMultilangUserText", params); + "company_code", companyCode, "menu_code", menuCode, + "lang_key", langKey, "user_lang", userLang); + Map result = sqlSession.selectOne(NS + "get_multilang_user_text", params); return result != null ? str(result.get("lang_text")) : langKey; } public String getLangText(String companyCode, String langKey, String langCode) { Map params = Map.of( - "companyCode", companyCode, "langKey", langKey, "langCode", langCode); - Map result = sqlSession.selectOne(NS + "getMultilangSingleText", params); + "company_code", companyCode, "lang_key", langKey, "lang_code", langCode); + Map result = sqlSession.selectOne(NS + "get_multilang_single_text", params); return result != null ? str(result.get("lang_text")) : langKey; } @@ -161,11 +161,11 @@ public class MultilangService extends BaseService { String userLang, List langKeys) { if (langKeys == null || langKeys.isEmpty()) return new LinkedHashMap<>(); Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("menuCode", menuCode); - params.put("userLang", userLang); - params.put("langKeys", langKeys); - List> translations = sqlSession.selectList(NS + "getMultilangBatchTranslationList", params); + params.put("company_code", companyCode); + params.put("menu_code", menuCode); + params.put("user_lang", userLang); + params.put("lang_keys", langKeys); + List> translations = sqlSession.selectList(NS + "get_multilang_batch_translation_list", params); Map result = new LinkedHashMap<>(); Set processed = new HashSet<>(); for (Map t : translations) { @@ -178,9 +178,9 @@ public class MultilangService extends BaseService { List missingKeys = langKeys.stream().filter(k -> !processed.contains(k)).toList(); if (!missingKeys.isEmpty() && !"KR".equals(userLang)) { Map fallbackParams = new HashMap<>(); - fallbackParams.put("companyCode", companyCode); - fallbackParams.put("missingKeys", missingKeys); - List> fallback = sqlSession.selectList(NS + "getMultilangFallbackTranslationList", fallbackParams); + fallbackParams.put("company_code", companyCode); + fallbackParams.put("missing_keys", missingKeys); + List> fallback = sqlSession.selectList(NS + "get_multilang_fallback_translation_list", fallbackParams); Set fbProcessed = new HashSet<>(); for (Map t : fallback) { String key = str(t.get("lang_key")); @@ -195,16 +195,16 @@ public class MultilangService extends BaseService { } public List> getCategories() { - List> flat = sqlSession.selectList(NS + "getMultilangCategoryList", new HashMap<>()); + List> flat = sqlSession.selectList(NS + "get_multilang_category_list", new HashMap<>()); return buildCategoryTree(flat); } public Map getCategoryById(int categoryId) { - return sqlSession.selectOne(NS + "getMultilangCategoryInfo", Map.of("categoryId", categoryId)); + return sqlSession.selectOne(NS + "get_multilang_category_info", Map.of("category_id", categoryId)); } public List> getCategoryPath(int categoryId) { - return sqlSession.selectList(NS + "getMultilangCategoryPath", Map.of("categoryId", categoryId)); + return sqlSession.selectList(NS + "get_multilang_category_path", Map.of("category_id", categoryId)); } private List> buildCategoryTree(List> flat) { @@ -236,35 +236,35 @@ public class MultilangService extends BaseService { @Transactional public int generateKey(Map params) { - int categoryId = toInt(params.get("categoryId")); - String keyMeaning = str(params.get("keyMeaning")); - String companyCode = str(params.get("companyCode")); + int categoryId = toInt(params.get("category_id")); + String keyMeaning = str(params.get("key_meaning")); + String companyCode = str(params.get("company_code")); List> categoryPath = getCategoryPath(categoryId); if (categoryPath.isEmpty()) throw new IllegalArgumentException("존재하지 않는 카테고리입니다"); String langKey = buildLangKey(categoryPath, keyMeaning); - if (sqlSession.selectOne(NS + "getMultilangKeyByCompanyAndKey", Map.of("companyCode", companyCode, "langKey", langKey)) != null) { + if (sqlSession.selectOne(NS + "get_multilang_key_by_company_and_key", Map.of("company_code", companyCode, "lang_key", langKey)) != null) { throw new IllegalArgumentException("이미 존재하는 키입니다: " + langKey); } Map insertParams = new HashMap<>(); - insertParams.put("companyCode", companyCode); - insertParams.put("langKey", langKey); - insertParams.put("categoryId", categoryId); - insertParams.put("keyMeaning", keyMeaning); - insertParams.put("usageNote", params.get("usageNote")); - insertParams.put("description", params.get("usageNote")); - insertParams.put("createdBy", params.getOrDefault("createdBy", "system")); - sqlSession.insert(NS + "insertMultilangKeyWithCategory", insertParams); - int keyId = toInt(insertParams.get("keyId")); + insertParams.put("company_code", companyCode); + insertParams.put("lang_key", langKey); + insertParams.put("category_id", categoryId); + insertParams.put("key_meaning", keyMeaning); + insertParams.put("usage_note", params.get("usage_note")); + insertParams.put("description", params.get("usage_note")); + insertParams.put("created_by", params.getOrDefault("created_by", "system")); + sqlSession.insert(NS + "insert_multilang_key_with_category", insertParams); + int keyId = toInt(insertParams.get("key_id")); @SuppressWarnings("unchecked") List> texts = (List>) params.get("texts"); if (texts != null) { for (Map text : texts) { Map tp = new HashMap<>(text); - tp.put("keyId", keyId); - if (tp.get("isActive") == null) tp.put("isActive", "Y"); - if (tp.get("createdBy") == null) tp.put("createdBy", params.getOrDefault("createdBy", "system")); - if (tp.get("updatedBy") == null) tp.put("updatedBy", params.getOrDefault("createdBy", "system")); - sqlSession.insert(NS + "insertMultilangText", tp); + tp.put("key_id", keyId); + if (tp.get("is_active") == null) tp.put("is_active", "Y"); + if (tp.get("created_by") == null) tp.put("created_by", params.getOrDefault("created_by", "system")); + if (tp.get("updated_by") == null) tp.put("updated_by", params.getOrDefault("created_by", "system")); + sqlSession.insert(NS + "insert_multilang_text", tp); } } return keyId; @@ -274,66 +274,66 @@ public class MultilangService extends BaseService { List> categoryPath = getCategoryPath(categoryId); if (categoryPath.isEmpty()) throw new IllegalArgumentException("존재하지 않는 카테고리입니다"); String langKey = buildLangKey(categoryPath, keyMeaning); - Map commonKey = sqlSession.selectOne(NS + "getMultilangKeyByCompanyAndKey", Map.of("companyCode", "*", "langKey", langKey)); - Map companyKey = sqlSession.selectOne(NS + "getMultilangKeyByCompanyAndKey", Map.of("companyCode", companyCode, "langKey", langKey)); + Map commonKey = sqlSession.selectOne(NS + "get_multilang_key_by_company_and_key", Map.of("company_code", "*", "lang_key", langKey)); + Map companyKey = sqlSession.selectOne(NS + "get_multilang_key_by_company_and_key", Map.of("company_code", companyCode, "lang_key", langKey)); Map result = new LinkedHashMap<>(); - result.put("langKey", langKey); + result.put("lang_key", langKey); result.put("exists", companyKey != null); - result.put("isOverride", commonKey != null && companyKey == null); - if (commonKey != null) result.put("baseKeyId", toInt(commonKey.get("key_id"))); + result.put("is_override", commonKey != null && companyKey == null); + if (commonKey != null) result.put("base_key_id", toInt(commonKey.get("key_id"))); return result; } @Transactional public int createOverrideKey(Map params) { - int baseKeyId = toInt(params.get("baseKeyId")); - String companyCode = str(params.get("companyCode")); - Map baseKey = sqlSession.selectOne(NS + "getMultilangBaseKeyInfo", Map.of("keyId", baseKeyId)); + int baseKeyId = toInt(params.get("base_key_id")); + String companyCode = str(params.get("company_code")); + Map baseKey = sqlSession.selectOne(NS + "get_multilang_base_key_info", Map.of("key_id", baseKeyId)); if (baseKey == null) throw new IllegalArgumentException("원본 키를 찾을 수 없습니다"); if (!"*".equals(str(baseKey.get("company_code")))) throw new IllegalArgumentException("공통 키(*)만 오버라이드 할 수 있습니다"); String langKey = str(baseKey.get("lang_key")); - if (sqlSession.selectOne(NS + "getMultilangKeyByCompanyAndKey", Map.of("companyCode", companyCode, "langKey", langKey)) != null) { + if (sqlSession.selectOne(NS + "get_multilang_key_by_company_and_key", Map.of("company_code", companyCode, "lang_key", langKey)) != null) { throw new IllegalArgumentException("이미 해당 회사의 오버라이드 키가 존재합니다"); } Map insertParams = new HashMap<>(); - insertParams.put("companyCode", companyCode); - insertParams.put("langKey", langKey); - insertParams.put("categoryId", baseKey.get("category_id")); - insertParams.put("keyMeaning", baseKey.get("key_meaning")); - insertParams.put("baseKeyId", baseKeyId); - insertParams.put("createdBy", params.getOrDefault("createdBy", "system")); - sqlSession.insert(NS + "insertMultilangOverrideKey", insertParams); - int keyId = toInt(insertParams.get("keyId")); + insertParams.put("company_code", companyCode); + insertParams.put("lang_key", langKey); + insertParams.put("category_id", baseKey.get("category_id")); + insertParams.put("key_meaning", baseKey.get("key_meaning")); + insertParams.put("base_key_id", baseKeyId); + insertParams.put("created_by", params.getOrDefault("created_by", "system")); + sqlSession.insert(NS + "insert_multilang_override_key", insertParams); + int keyId = toInt(insertParams.get("key_id")); @SuppressWarnings("unchecked") List> texts = (List>) params.get("texts"); if (texts != null) { for (Map text : texts) { Map tp = new HashMap<>(text); - tp.put("keyId", keyId); - if (tp.get("isActive") == null) tp.put("isActive", "Y"); - if (tp.get("createdBy") == null) tp.put("createdBy", params.getOrDefault("createdBy", "system")); - if (tp.get("updatedBy") == null) tp.put("updatedBy", params.getOrDefault("createdBy", "system")); - sqlSession.insert(NS + "insertMultilangText", tp); + tp.put("key_id", keyId); + if (tp.get("is_active") == null) tp.put("is_active", "Y"); + if (tp.get("created_by") == null) tp.put("created_by", params.getOrDefault("created_by", "system")); + if (tp.get("updated_by") == null) tp.put("updated_by", params.getOrDefault("created_by", "system")); + sqlSession.insert(NS + "insert_multilang_text", tp); } } return keyId; } public List> getOverrideKeys(String companyCode) { - return sqlSession.selectList(NS + "getMultilangOverrideKeyList", Map.of("companyCode", companyCode)); + return sqlSession.selectList(NS + "get_multilang_override_key_list", Map.of("company_code", companyCode)); } @Transactional public List> generateScreenLabelKeys(Map params) { - int screenId = toInt(params.get("screenId")); - Map screenInfo = sqlSession.selectOne(NS + "getMultilangScreenCompanyCode", Map.of("screenId", screenId)); + int screenId = toInt(params.get("screen_id")); + Map screenInfo = sqlSession.selectOne(NS + "get_multilang_screen_company_code", Map.of("screen_id", screenId)); String companyCode = (screenInfo != null && !str(screenInfo.get("company_code")).isEmpty()) - ? str(screenInfo.get("company_code")) : str(params.getOrDefault("companyCode", "*")); + ? str(screenInfo.get("company_code")) : str(params.getOrDefault("company_code", "*")); String companyName; if ("*".equals(companyCode)) { companyName = "공통"; } else { - Map companyInfo = sqlSession.selectOne(NS + "getMultilangCompanyName", Map.of("companyCode", companyCode)); + Map companyInfo = sqlSession.selectOne(NS + "get_multilang_company_name", Map.of("company_code", companyCode)); companyName = (companyInfo != null) ? str(companyInfo.get("company_name")) : companyCode; } List groupPath = getScreenGroupPath(screenId); @@ -346,41 +346,41 @@ public class MultilangService extends BaseService { List> results = new ArrayList<>(); for (Map labelInfo : labels) { String label = str(labelInfo.get("label")); - String componentId = str(labelInfo.get("componentId")); + String componentId = str(labelInfo.get("component_id")); String keyMeaning = labelToKeyMeaning(label); List parts = new ArrayList<>(keyPrefixParts); parts.add(keyMeaning); String langKey = String.join(".", parts); - Map existing = sqlSession.selectOne(NS + "getMultilangKeyByCompanyAndKey", Map.of("companyCode", companyCode, "langKey", langKey)); + Map existing = sqlSession.selectOne(NS + "get_multilang_key_by_company_and_key", Map.of("company_code", companyCode, "lang_key", langKey)); int keyId; if (existing != null) { keyId = toInt(existing.get("key_id")); } else { Map insertParams = new HashMap<>(); - insertParams.put("companyCode", companyCode); - insertParams.put("langKey", langKey); + insertParams.put("company_code", companyCode); + insertParams.put("lang_key", langKey); insertParams.put("description", "화면 " + screenId + "의 " + str(labelInfo.getOrDefault("type", "라벨")) + ": " + label); - insertParams.put("isActive", "Y"); - insertParams.put("categoryId", categoryId); - insertParams.put("keyMeaning", keyMeaning); - sqlSession.insert(NS + "insertMultilangKeyWithCategory", insertParams); - keyId = toInt(insertParams.get("keyId")); - sqlSession.update(NS + "upsertMultilangText", Map.of("keyId", keyId, "langCode", "KR", "langText", label)); + insertParams.put("is_active", "Y"); + insertParams.put("category_id", categoryId); + insertParams.put("key_meaning", keyMeaning); + sqlSession.insert(NS + "insert_multilang_key_with_category", insertParams); + keyId = toInt(insertParams.get("key_id")); + sqlSession.update(NS + "upsert_multilang_text", Map.of("key_id", keyId, "lang_code", "KR", "lang_text", label)); } Map entry = new LinkedHashMap<>(); - entry.put("componentId", componentId); - entry.put("keyId", keyId); - entry.put("langKey", langKey); + entry.put("component_id", componentId); + entry.put("key_id", keyId); + entry.put("lang_key", langKey); results.add(entry); } return results; } private List getScreenGroupPath(int screenId) { - Map groupRow = sqlSession.selectOne(NS + "getMultilangScreenGroupId", Map.of("screenId", screenId)); + Map groupRow = sqlSession.selectOne(NS + "get_multilang_screen_group_id", Map.of("screen_id", screenId)); if (groupRow == null) return Collections.emptyList(); int groupId = toInt(groupRow.get("group_id")); - List> groups = sqlSession.selectList(NS + "getMultilangScreenGroupPath", Map.of("groupId", groupId)); + List> groups = sqlSession.selectList(NS + "get_multilang_screen_group_path", Map.of("group_id", groupId)); List path = new ArrayList<>(); for (Map g : groups) path.add(str(g.get("group_name"))); return path; @@ -391,20 +391,20 @@ public class MultilangService extends BaseService { int parentId = ensureCompanyCategory(companyCode, companyName); int currentLevel = 3; for (String groupName : groupPath) { - Map existing = sqlSession.selectOne(NS + "getMultilangCategoryByNameAndParent", Map.of("categoryName", groupName, "parentId", parentId)); + Map existing = sqlSession.selectOne(NS + "get_multilang_category_by_name_and_parent", Map.of("category_name", groupName, "parent_id", parentId)); if (existing != null) { parentId = toInt(existing.get("category_id")); } else { Map insertParams = new HashMap<>(); - insertParams.put("categoryCode", (companyCode + "_GROUP_" + groupName).replace("\\s+", "_")); - insertParams.put("categoryName", groupName); - insertParams.put("parentId", parentId); + insertParams.put("category_code", (companyCode + "_GROUP_" + groupName).replace("\\s+", "_")); + insertParams.put("category_name", groupName); + insertParams.put("parent_id", parentId); insertParams.put("level", currentLevel); - insertParams.put("keyPrefix", groupName.toLowerCase().replace("\\s+", "_")); + insertParams.put("key_prefix", groupName.toLowerCase().replace("\\s+", "_")); insertParams.put("description", groupName + " 화면 그룹의 다국어"); - insertParams.put("sortOrder", 0); - sqlSession.insert(NS + "insertMultilangCategory", insertParams); - parentId = toInt(insertParams.get("categoryId")); + insertParams.put("sort_order", 0); + sqlSession.insert(NS + "insert_multilang_category", insertParams); + parentId = toInt(insertParams.get("category_id")); } currentLevel++; } @@ -413,35 +413,35 @@ public class MultilangService extends BaseService { private int ensureCompanyCategory(String companyCode, String companyName) { int screenRootId = ensureScreenRootCategory(); - Map existing = sqlSession.selectOne(NS + "getMultilangCategoryByCodeAndParent", Map.of("categoryCode", companyCode, "parentId", screenRootId)); + Map existing = sqlSession.selectOne(NS + "get_multilang_category_by_code_and_parent", Map.of("category_code", companyCode, "parent_id", screenRootId)); if (existing != null) return toInt(existing.get("category_id")); String displayName = "*".equals(companyCode) ? "공통" : companyName; String keyPrefix = "*".equals(companyCode) ? "common" : companyCode.toLowerCase(); Map insertParams = new HashMap<>(); - insertParams.put("categoryCode", companyCode); - insertParams.put("categoryName", displayName); - insertParams.put("parentId", screenRootId); + insertParams.put("category_code", companyCode); + insertParams.put("category_name", displayName); + insertParams.put("parent_id", screenRootId); insertParams.put("level", 2); - insertParams.put("keyPrefix", keyPrefix); + insertParams.put("key_prefix", keyPrefix); insertParams.put("description", displayName + " 회사의 화면 다국어"); - insertParams.put("sortOrder", "*".equals(companyCode) ? 0 : 10); - sqlSession.insert(NS + "insertMultilangCategory", insertParams); - return toInt(insertParams.get("categoryId")); + insertParams.put("sort_order", "*".equals(companyCode) ? 0 : 10); + sqlSession.insert(NS + "insert_multilang_category", insertParams); + return toInt(insertParams.get("category_id")); } private int ensureScreenRootCategory() { - Map existing = sqlSession.selectOne(NS + "getMultilangRootCategoryByCode", Map.of("categoryCode", "screen")); + Map existing = sqlSession.selectOne(NS + "get_multilang_root_category_by_code", Map.of("category_code", "screen")); if (existing != null) return toInt(existing.get("category_id")); Map insertParams = new HashMap<>(); - insertParams.put("categoryCode", "screen"); - insertParams.put("categoryName", "화면"); - insertParams.put("parentId", null); + insertParams.put("category_code", "screen"); + insertParams.put("category_name", "화면"); + insertParams.put("parent_id", null); insertParams.put("level", 1); - insertParams.put("keyPrefix", "screen"); + insertParams.put("key_prefix", "screen"); insertParams.put("description", "화면 디자이너에서 자동 생성된 다국어 키"); - insertParams.put("sortOrder", 100); - sqlSession.insert(NS + "insertMultilangCategory", insertParams); - return toInt(insertParams.get("categoryId")); + insertParams.put("sort_order", 100); + sqlSession.insert(NS + "insert_multilang_category", insertParams); + return toInt(insertParams.get("category_id")); } private String buildLangKey(List> categoryPath, String keyMeaning) { diff --git a/backend-spring/src/main/java/com/erp/service/NodeExternalConnectionService.java b/backend-spring/src/main/java/com/erp/service/NodeExternalConnectionService.java index 63e599ea..c900c9c6 100644 --- a/backend-spring/src/main/java/com/erp/service/NodeExternalConnectionService.java +++ b/backend-spring/src/main/java/com/erp/service/NodeExternalConnectionService.java @@ -42,7 +42,7 @@ public class NodeExternalConnectionService extends BaseService { */ public List> getTestedConnections(String companyCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); List> connections = sqlSession.selectList("nodeExternalConnection.selectActiveConnections", params); List> valid = new ArrayList<>(); diff --git a/backend-spring/src/main/java/com/erp/service/NodeFlowService.java b/backend-spring/src/main/java/com/erp/service/NodeFlowService.java index 97e7ba53..573c61a8 100644 --- a/backend-spring/src/main/java/com/erp/service/NodeFlowService.java +++ b/backend-spring/src/main/java/com/erp/service/NodeFlowService.java @@ -32,15 +32,15 @@ public class NodeFlowService extends BaseService { public List> getFlowList(String companyCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); List> flows = sqlSession.selectList("nodeFlow.getNodeFlowList", params); // flow_data 없이 summary 추가 (Node 동일 로직) return flows.stream().map(flow -> { Map result = new LinkedHashMap<>(flow); - result.put("summary", Map.of("nodeCount", 0, "edgeCount", 0, - "nodeTypes", Map.of(), "topology", null)); + result.put("summary", Map.of("node_count", 0, "edge_count", 0, + "node_types", Map.of(), "topology", null)); return result; }).collect(Collectors.toList()); } @@ -51,8 +51,8 @@ public class NodeFlowService extends BaseService { public Map getFlowById(int flowId, String companyCode) { Map params = new HashMap<>(); - params.put("flowId", flowId); - params.put("companyCode", companyCode); + params.put("flow_id", flowId); + params.put("company_code", companyCode); Map flow = sqlSession.selectOne("nodeFlow.getNodeFlowInfo", params); if (flow == null) return null; @@ -68,35 +68,35 @@ public class NodeFlowService extends BaseService { @Transactional public Map createFlow(Map params) { - String companyCode = (String) params.get("companyCode"); - String flowName = (String) params.get("flowName"); + String companyCode = (String) params.get("company_code"); + String flowName = (String) params.get("flow_name"); - if (flowName == null || params.get("flowData") == null) { + if (flowName == null || params.get("flow_data") == null) { throw new IllegalArgumentException("플로우 이름과 데이터는 필수입니다."); } // flowDescription null 방지 - params.putIfAbsent("flowDescription", ""); + params.putIfAbsent("flow_description", ""); // flowData 직렬화 serializeFlowData(params); - sqlSession.insert("nodeFlow.insertNodeFlow", params); // useGeneratedKeys → params.get("flowId") 주입 + sqlSession.insert("nodeFlow.insertNodeFlow", params); // useGeneratedKeys → params.get("flow_id") 주입 - Object flowId = params.get("flowId"); + Object flowId = params.get("flow_id"); log.info("플로우 저장 성공: {} (회사: {})", flowId, companyCode); // 감사 로그 - insertAuditLog(companyCode, (String) params.get("userId"), - (String) params.get("userName"), + insertAuditLog(companyCode, (String) params.get("user_id"), + (String) params.get("user_name"), "CREATE", String.valueOf(flowId), flowName, "노드 플로우 \"" + flowName + "\" 생성", - Map.of("after", Map.of("flowName", flowName, - "flowDescription", params.getOrDefault("flowDescription", ""))), + Map.of("after", Map.of("flow_name", flowName, + "flow_description", params.getOrDefault("flow_description", ""))), null); Map result = new LinkedHashMap<>(); - result.put("flowId", flowId); + result.put("flow_id", flowId); return result; } @@ -106,19 +106,19 @@ public class NodeFlowService extends BaseService { @Transactional public Map updateFlow(Map params) { - Object flowId = params.get("flowId"); - String flowName = (String) params.get("flowName"); + Object flowId = params.get("flow_id"); + String flowName = (String) params.get("flow_name"); - if (flowId == null || flowName == null || params.get("flowData") == null) { + if (flowId == null || flowName == null || params.get("flow_data") == null) { throw new IllegalArgumentException("플로우 ID, 이름, 데이터는 필수입니다."); } // 수정 전 기존 값 조회 (감사 로그용) Map oldFlow = sqlSession.selectOne("nodeFlow.getNodeFlowForAudit", - Map.of("flowId", toInt(flowId, 0))); + Map.of("flow_id", toInt(flowId, 0))); // flowDescription null 방지 - params.putIfAbsent("flowDescription", ""); + params.putIfAbsent("flow_description", ""); // flowData 직렬화 serializeFlowData(params); @@ -127,21 +127,21 @@ public class NodeFlowService extends BaseService { log.info("플로우 수정 성공: {}", flowId); // 감사 로그 - String companyCode = (String) params.get("companyCode"); + String companyCode = (String) params.get("company_code"); Map changes = new LinkedHashMap<>(); if (oldFlow != null) changes.put("before", Map.of( - "flowName", oldFlow.getOrDefault("flow_name", ""), - "flowDescription", oldFlow.getOrDefault("flow_description", ""))); - changes.put("after", Map.of("flowName", flowName, - "flowDescription", params.getOrDefault("flowDescription", ""))); + "flow_name", oldFlow.getOrDefault("flow_name", ""), + "flow_description", oldFlow.getOrDefault("flow_description", ""))); + changes.put("after", Map.of("flow_name", flowName, + "flow_description", params.getOrDefault("flow_description", ""))); - insertAuditLog(companyCode, (String) params.get("userId"), - (String) params.get("userName"), + insertAuditLog(companyCode, (String) params.get("user_id"), + (String) params.get("user_name"), "UPDATE", String.valueOf(flowId), flowName, "노드 플로우 \"" + flowName + "\" 수정", changes, null); Map result = new LinkedHashMap<>(); - result.put("flowId", flowId); + result.put("flow_id", flowId); return result; } @@ -152,9 +152,9 @@ public class NodeFlowService extends BaseService { @Transactional public void deleteFlow(int flowId, String companyCode, String userId, String userName) { // 삭제 전 기존 값 조회 (감사 로그용) - Map oldFlow = sqlSession.selectOne("nodeFlow.getNodeFlowForAudit", Map.of("flowId", flowId)); + Map oldFlow = sqlSession.selectOne("nodeFlow.getNodeFlowForAudit", Map.of("flow_id", flowId)); - sqlSession.delete("nodeFlow.deleteNodeFlow", Map.of("flowId", flowId)); + sqlSession.delete("nodeFlow.deleteNodeFlow", Map.of("flow_id", flowId)); log.info("플로우 삭제 성공: {}", flowId); String flowName = oldFlow != null @@ -163,8 +163,8 @@ public class NodeFlowService extends BaseService { Map changes = new LinkedHashMap<>(); if (oldFlow != null) changes.put("before", Map.of( - "flowName", oldFlow.getOrDefault("flow_name", ""), - "flowDescription", oldFlow.getOrDefault("flow_description", ""))); + "flow_name", oldFlow.getOrDefault("flow_name", ""), + "flow_description", oldFlow.getOrDefault("flow_description", ""))); insertAuditLog(companyCode, userId, userName, "DELETE", String.valueOf(flowId), flowName, @@ -176,7 +176,7 @@ public class NodeFlowService extends BaseService { // ══════════════════════════════════════════════════════════════ public Map getSourceTable(int flowId) { - Map row = sqlSession.selectOne("nodeFlow.getNodeFlowData", Map.of("flowId", flowId)); + Map row = sqlSession.selectOne("nodeFlow.getNodeFlowData", Map.of("flow_id", flowId)); if (row == null) return null; Map flowData = parseJsonToMap(row.get("flow_data")); @@ -185,34 +185,34 @@ public class NodeFlowService extends BaseService { // tableSource 또는 externalDBSource 타입의 첫 노드 탐색 Map sourceNode = nodes.stream() - .filter(n -> "tableSource".equals(n.get("type")) || "externalDBSource".equals(n.get("type"))) + .filter(n -> "table_source".equals(n.get("type")) || "external_db_source".equals(n.get("type"))) .findFirst().orElse(null); Map result = new LinkedHashMap<>(); if (sourceNode == null) { - result.put("sourceTable", null); - result.put("sourceNodeType", null); + result.put("source_table", null); + result.put("source_node_type", null); result.put("message", "소스 노드가 없거나 테이블명이 설정되지 않았습니다."); return result; } @SuppressWarnings("unchecked") Map nodeData = (Map) sourceNode.getOrDefault("data", Map.of()); - String tableName = (String) nodeData.get("tableName"); + String tableName = (String) nodeData.get("table_name"); if (tableName == null) { - result.put("sourceTable", null); - result.put("sourceNodeType", null); + result.put("source_table", null); + result.put("source_node_type", null); result.put("message", "소스 노드가 없거나 테이블명이 설정되지 않았습니다."); return result; } log.info("플로우 소스 테이블 조회: flowId={}, table={}", flowId, tableName); - result.put("sourceTable", tableName); - result.put("sourceNodeType", sourceNode.get("type")); - result.put("sourceNodeId", sourceNode.get("id")); - result.put("displayName", nodeData.get("displayName")); + result.put("source_table", tableName); + result.put("source_node_type", sourceNode.get("type")); + result.put("source_node_id", sourceNode.get("id")); + result.put("display_name", nodeData.get("display_name")); return result; } @@ -226,7 +226,7 @@ public class NodeFlowService extends BaseService { log.info("플로우 실행 시작: flowId={}", flowId); - Map row = sqlSession.selectOne("nodeFlow.getNodeFlowData", Map.of("flowId", flowId)); + Map row = sqlSession.selectOne("nodeFlow.getNodeFlowData", Map.of("flow_id", flowId)); if (row == null) throw new IllegalArgumentException("플로우를 찾을 수 없습니다: flowId=" + flowId); Map flowData = parseJsonToMap(row.get("flow_data")); @@ -248,13 +248,13 @@ public class NodeFlowService extends BaseService { List executionOrder = new ArrayList<>(); @SuppressWarnings("unchecked") - List> sourceData = contextData.get("sourceData") instanceof List - ? (List>) contextData.get("sourceData") + List> sourceData = contextData.get("source_data") instanceof List + ? (List>) contextData.get("source_data") : List.of(); - String companyCode = (String) contextData.getOrDefault("companyCode", + String companyCode = (String) contextData.getOrDefault("company_code", contextData.getOrDefault("context.companyCode", "*")); - String userId = (String) contextData.getOrDefault("userId", + String userId = (String) contextData.getOrDefault("user_id", contextData.getOrDefault("context.userId", "system")); // ── 레벨별 순차 실행 (레벨 내부는 독립 실행 — 실패 시 전체 롤백) @@ -368,30 +368,30 @@ public class NodeFlowService extends BaseService { Map data = (Map) node.getOrDefault("data", Map.of()); return switch (type) { - case "tableSource", "externalDBSource" -> + case "table_source", "external_db_source" -> executeTableSource(data, inputData); - case "insertAction" -> + case "insert_action" -> executeInsertAction(data, inputData, companyCode, userId); - case "updateAction" -> + case "update_action" -> executeUpdateAction(data, inputData, companyCode, userId); - case "deleteAction" -> + case "delete_action" -> executeDeleteAction(data, inputData); - case "upsertAction" -> + case "upsert_action" -> executeUpsertAction(data, inputData, companyCode, userId); case "condition" -> executeCondition(data, inputData); - case "dataTransform", "aggregate", "formulaTransform" -> + case "data_transform", "aggregate", "formula_transform" -> // 변환 노드: 입력 데이터 그대로 통과 (단순 pass-through) inputData; case "comment", "log" -> { - log.info("{} 노드: {}", type, data.getOrDefault("displayName", node.get("id"))); + log.info("{} 노드: {}", type, data.getOrDefault("display_name", node.get("id"))); yield Map.of("message", "Logged"); } @@ -406,9 +406,9 @@ public class NodeFlowService extends BaseService { @SuppressWarnings("unchecked") private Object executeTableSource(Map data, Object inputData) { - String dataSourceType = (String) data.getOrDefault("dataSourceType", "context-data"); + String dataSourceType = (String) data.getOrDefault("data_source_type", "context-data"); if ("table-all".equals(dataSourceType)) { - String tableName = (String) data.get("tableName"); + String tableName = (String) data.get("table_name"); if (tableName == null || tableName.isBlank()) return List.of(); String safeName = sanitize(tableName); List> rows = jdbcTemplate.queryForList( @@ -426,9 +426,9 @@ public class NodeFlowService extends BaseService { @SuppressWarnings("unchecked") private Object executeInsertAction(Map data, Object inputData, String companyCode, String userId) { - String tableName = (String) data.get("targetTable"); + String tableName = (String) data.get("target_table"); List> fieldMappings = - (List>) data.getOrDefault("fieldMappings", List.of()); + (List>) data.getOrDefault("field_mappings", List.of()); if (tableName == null || fieldMappings.isEmpty()) return List.of(); @@ -441,12 +441,12 @@ public class NodeFlowService extends BaseService { List values = new ArrayList<>(); for (Map mapping : fieldMappings) { - String targetField = (String) mapping.get("targetField"); + String targetField = (String) mapping.get("target_field"); Object value; - if (mapping.get("staticValue") != null) { - value = mapping.get("staticValue"); + if (mapping.get("static_value") != null) { + value = mapping.get("static_value"); } else { - value = row.get(mapping.get("sourceField")); + value = row.get(mapping.get("source_field")); } cols.add("\"" + sanitize(targetField) + "\""); values.add(value); @@ -480,9 +480,9 @@ public class NodeFlowService extends BaseService { @SuppressWarnings("unchecked") private Object executeUpdateAction(Map data, Object inputData, String companyCode, String userId) { - String tableName = (String) data.get("targetTable"); + String tableName = (String) data.get("target_table"); List> fieldMappings = - (List>) data.getOrDefault("fieldMappings", List.of()); + (List>) data.getOrDefault("field_mappings", List.of()); if (tableName == null) return List.of(); @@ -500,11 +500,11 @@ public class NodeFlowService extends BaseService { List setValues = new ArrayList<>(); for (Map mapping : fieldMappings) { - String targetField = (String) mapping.get("targetField"); + String targetField = (String) mapping.get("target_field"); if (targetField.equals(pkCol)) continue; // PK 제외 - Object value = mapping.get("staticValue") != null - ? mapping.get("staticValue") - : row.get(mapping.get("sourceField")); + Object value = mapping.get("static_value") != null + ? mapping.get("static_value") + : row.get(mapping.get("source_field")); setCols.add("\"" + sanitize(targetField) + "\" = ?"); setValues.add(value); } @@ -524,7 +524,7 @@ public class NodeFlowService extends BaseService { // ─── DELETE ────────────────────────────────────────────────── private Object executeDeleteAction(Map data, Object inputData) { - String tableName = (String) data.get("targetTable"); + String tableName = (String) data.get("target_table"); if (tableName == null) return List.of(); String safeTable = sanitize(tableName); @@ -562,10 +562,10 @@ public class NodeFlowService extends BaseService { // 단순 pass-through 구현 (Node의 복잡한 조건 평가는 미구현) List> all = toList(inputData); Map result = new LinkedHashMap<>(); - result.put("conditionResult", true); - result.put("trueData", all); - result.put("falseData", List.of()); - result.put("allData", all); + result.put("condition_result", true); + result.put("true_data", all); + result.put("false_data", List.of()); + result.put("all_data", all); return result; } @@ -591,9 +591,9 @@ public class NodeFlowService extends BaseService { String status = nr != null ? (String) nr.get("status") : "pending"; Map summary = new LinkedHashMap<>(); - summary.put("nodeId", nodeId); - summary.put("nodeName", getNodeDisplayName(nodeInfo, nodeId)); - summary.put("nodeType", nodeInfo.get("type")); + summary.put("node_id", nodeId); + summary.put("node_name", getNodeDisplayName(nodeInfo, nodeId)); + summary.put("node_type", nodeInfo.get("type")); summary.put("status", status); if (nr != null && nr.get("error") != null) summary.put("error", nr.get("error")); nodeSummaries.add(summary); @@ -614,7 +614,7 @@ public class NodeFlowService extends BaseService { Map result = new LinkedHashMap<>(); result.put("success", allOk); result.put("message", allOk ? "플로우 실행이 완료되었습니다." : "플로우 실행 중 오류가 발생했습니다."); - result.put("executionTime", executionTime); + result.put("execution_time", executionTime); result.put("nodes", nodeSummaries); result.put("summary", summaryMap); return result; @@ -639,13 +639,13 @@ public class NodeFlowService extends BaseService { Map edge = edges.stream() .filter(e -> pid.equals(e.get("source")) && nodeId.equals(e.get("target"))) .findFirst().orElse(null); - if (edge != null && data instanceof Map && ((Map) data).containsKey("conditionResult")) { + if (edge != null && data instanceof Map && ((Map) data).containsKey("condition_result")) { @SuppressWarnings("unchecked") Map condData = (Map) data; - String handle = (String) edge.get("sourceHandle"); - if ("true".equals(handle)) return condData.getOrDefault("trueData", List.of()); - if ("false".equals(handle)) return condData.getOrDefault("falseData", List.of()); - return condData.getOrDefault("allData", data); + String handle = (String) edge.get("source_handle"); + if ("true".equals(handle)) return condData.getOrDefault("true_data", List.of()); + if ("false".equals(handle)) return condData.getOrDefault("false_data", List.of()); + return condData.getOrDefault("all_data", data); } return data != null ? data : sourceData; } @@ -682,7 +682,7 @@ public class NodeFlowService extends BaseService { @SuppressWarnings("unchecked") private String getNodeDisplayName(Map node, String fallback) { Map data = (Map) node.getOrDefault("data", Map.of()); - Object name = data.get("displayName"); + Object name = data.get("display_name"); return name != null ? name.toString() : fallback; } @@ -708,8 +708,8 @@ public class NodeFlowService extends BaseService { @SuppressWarnings("unchecked") private String findPkColumn(List> fieldMappings) { return fieldMappings.stream() - .filter(m -> Boolean.TRUE.equals(m.get("isPrimaryKey"))) - .map(m -> (String) m.get("targetField")) + .filter(m -> Boolean.TRUE.equals(m.get("is_primary_key"))) + .map(m -> (String) m.get("target_field")) .findFirst().orElse("id"); } @@ -741,14 +741,14 @@ public class NodeFlowService extends BaseService { } private void serializeFlowData(Map params) { - Object flowData = params.get("flowData"); + Object flowData = params.get("flow_data"); if (flowData == null) return; if (flowData instanceof String) return; // 이미 문자열 try { - params.put("flowData", objectMapper.writeValueAsString(flowData)); + params.put("flow_data", objectMapper.writeValueAsString(flowData)); } catch (Exception e) { log.warn("flowData 직렬화 실패: {}", e.getMessage()); - params.put("flowData", "{}"); + params.put("flow_data", "{}"); } } @@ -757,17 +757,17 @@ public class NodeFlowService extends BaseService { String summary, Object changes, String ipAddress) { try { Map params = new LinkedHashMap<>(); - params.put("companyCode", companyCode); - params.put("userId", userId); - params.put("userName", userName); + params.put("company_code", companyCode); + params.put("user_id", userId); + params.put("user_name", userName); params.put("action", action); - params.put("resourceType", "NODE_FLOW"); - params.put("resourceId", resourceId); - params.put("resourceName", resourceName); - params.put("tableName", "node_flows"); + params.put("resource_type", "NODE_FLOW"); + params.put("resource_id", resourceId); + params.put("resource_name", resourceName); + params.put("table_name", "node_flows"); params.put("summary", summary); params.put("changes", changes); - params.put("ipAddress", ipAddress); + params.put("ip_address", ipAddress); auditLogService.insertAuditLog(params); } catch (Exception e) { log.warn("감사 로그 삽입 실패: {}", e.getMessage()); diff --git a/backend-spring/src/main/java/com/erp/service/NumberingRuleService.java b/backend-spring/src/main/java/com/erp/service/NumberingRuleService.java index e1098818..b9fb1f7b 100644 --- a/backend-spring/src/main/java/com/erp/service/NumberingRuleService.java +++ b/backend-spring/src/main/java/com/erp/service/NumberingRuleService.java @@ -29,8 +29,8 @@ public class NumberingRuleService extends BaseService { /** GET / → 회사별 채번 규칙 전체 목록 (parts 포함) */ public List> getRuleList(String companyCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - List> rules = sqlSession.selectList(NS + "getRuleList", params); + params.put("company_code", companyCode); + List> rules = sqlSession.selectList(NS + "get_rule_list", params); loadPartsForRules(rules, companyCode); return rules; } @@ -38,9 +38,9 @@ public class NumberingRuleService extends BaseService { /** GET /:ruleId → 단건 조회 (parts 포함) */ public Map getRuleById(String ruleId, String companyCode) { Map params = new HashMap<>(); - params.put("ruleId", ruleId); - params.put("companyCode", companyCode); - Map rule = sqlSession.selectOne(NS + "getRuleById", params); + params.put("rule_id", ruleId); + params.put("company_code", companyCode); + Map rule = sqlSession.selectOne(NS + "get_rule_by_id", params); if (rule == null) return null; loadPartsForRule(rule, companyCode); return rule; @@ -50,48 +50,48 @@ public class NumberingRuleService extends BaseService { @Transactional public Map createRule(Map body, String companyCode) { Map params = new HashMap<>(); - params.put("ruleId", body.get("ruleId")); - params.put("ruleName", body.get("ruleName")); + params.put("rule_id", body.get("rule_id")); + params.put("rule_name", body.get("rule_name")); params.put("description", body.get("description")); params.put("separator", body.getOrDefault("separator", "-")); - params.put("resetPeriod", body.getOrDefault("resetPeriod", "none")); - params.put("currentSequence", body.getOrDefault("currentSequence", 1)); - params.put("tableName", body.get("tableName")); - params.put("columnName", body.get("columnName")); - params.put("companyCode", companyCode); - params.put("categoryColumn", body.get("categoryColumn")); - params.put("categoryValueId", body.get("categoryValueId")); - params.put("createdBy", body.get("userId")); + params.put("reset_period", body.getOrDefault("reset_period", "none")); + params.put("current_sequence", body.getOrDefault("current_sequence", 1)); + params.put("table_name", body.get("table_name")); + params.put("column_name", body.get("column_name")); + params.put("company_code", companyCode); + params.put("category_column", body.get("category_column")); + params.put("category_value_id", body.get("category_value_id")); + params.put("created_by", body.get("user_id")); - sqlSession.insert(NS + "insertRule", params); + sqlSession.insert(NS + "insert_rule", params); // parts 삽입 Object partsObj = body.get("parts"); if (partsObj instanceof List) { @SuppressWarnings("unchecked") List> parts = (List>) partsObj; - insertParts(parts, (String) body.get("ruleId"), companyCode); + insertParts(parts, (String) body.get("rule_id"), companyCode); } - return getRuleById((String) body.get("ruleId"), companyCode); + return getRuleById((String) body.get("rule_id"), companyCode); } /** PUT /:ruleId → 규칙 수정 */ @Transactional public Map updateRule(String ruleId, Map body, String companyCode) { Map params = new HashMap<>(body); - params.put("ruleId", ruleId); - params.put("companyCode", companyCode); - int updated = sqlSession.update(NS + "updateRule", params); + params.put("rule_id", ruleId); + params.put("company_code", companyCode); + int updated = sqlSession.update(NS + "update_rule", params); if (updated == 0) throw new RuntimeException("규칙을 찾을 수 없거나 권한이 없습니다"); // parts 교체 (있는 경우) Object partsObj = body.get("parts"); if (partsObj instanceof List) { Map delParams = new HashMap<>(); - delParams.put("ruleId", ruleId); - delParams.put("companyCode", companyCode); - sqlSession.delete(NS + "deleteRulePartsByRuleId", delParams); + delParams.put("rule_id", ruleId); + delParams.put("company_code", companyCode); + sqlSession.delete(NS + "delete_rule_parts_by_rule_id", delParams); @SuppressWarnings("unchecked") List> parts = (List>) partsObj; @@ -106,11 +106,11 @@ public class NumberingRuleService extends BaseService { public void deleteRule(String ruleId, String companyCode) { // parts 먼저 삭제 (FK 제약이 없을 경우 대비) Map params = new HashMap<>(); - params.put("ruleId", ruleId); - params.put("companyCode", companyCode); - sqlSession.delete(NS + "deleteRulePartsByRuleId", params); - sqlSession.delete(NS + "deleteSequencesByRuleId", params); - int deleted = sqlSession.delete(NS + "deleteRule", params); + params.put("rule_id", ruleId); + params.put("company_code", companyCode); + sqlSession.delete(NS + "delete_rule_parts_by_rule_id", params); + sqlSession.delete(NS + "delete_sequences_by_rule_id", params); + int deleted = sqlSession.delete(NS + "delete_rule", params); if (deleted == 0) throw new RuntimeException("규칙을 찾을 수 없거나 권한이 없습니다"); } @@ -169,10 +169,10 @@ public class NumberingRuleService extends BaseService { allocatedSequence = incrementSequenceForPrefix(ruleId, companyCode, prefixKey); // numbering_rules.current_sequence 동기화 Map seqParams = new HashMap<>(); - seqParams.put("ruleId", ruleId); - seqParams.put("companyCode", companyCode); - seqParams.put("currentSequence", allocatedSequence); - sqlSession.update(NS + "updateCurrentSequenceInRule", seqParams); + seqParams.put("rule_id", ruleId); + seqParams.put("company_code", companyCode); + seqParams.put("current_sequence", allocatedSequence); + sqlSession.update(NS + "update_current_sequence_in_rule", seqParams); } // 수동 파트 값 적용 @@ -193,11 +193,11 @@ public class NumberingRuleService extends BaseService { @Transactional public void resetSequence(String ruleId, String companyCode) { Map params = new HashMap<>(); - params.put("ruleId", ruleId); - params.put("companyCode", companyCode); - params.put("currentSequence", 0); - sqlSession.delete(NS + "deleteSequencesByRuleId", params); - sqlSession.update(NS + "updateCurrentSequenceInRule", params); + params.put("rule_id", ruleId); + params.put("company_code", companyCode); + params.put("current_sequence", 0); + sqlSession.delete(NS + "delete_sequences_by_rule_id", params); + sqlSession.update(NS + "update_current_sequence_in_rule", params); log.info("시퀀스 초기화 완료: ruleId={}, companyCode={}", ruleId, companyCode); } @@ -208,9 +208,9 @@ public class NumberingRuleService extends BaseService { /** GET /available/:menuObjid? → 메뉴별 사용 가능한 규칙 목록 */ public List> getAvailableRulesForMenu(String companyCode, Integer menuObjid) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - if (menuObjid != null) params.put("menuObjid", menuObjid); - List> rules = sqlSession.selectList(NS + "getAvailableRulesForMenu", params); + params.put("company_code", companyCode); + if (menuObjid != null) params.put("menu_objid", menuObjid); + List> rules = sqlSession.selectList(NS + "get_available_rules_for_menu", params); loadPartsForRules(rules, companyCode); return rules; } @@ -218,9 +218,9 @@ public class NumberingRuleService extends BaseService { /** GET /available-for-screen?tableName= → 화면별 사용 가능한 규칙 목록 */ public List> getAvailableRulesForScreen(String companyCode, String tableName) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("tableName", tableName); - List> rules = sqlSession.selectList(NS + "getAvailableRulesForScreen", params); + params.put("company_code", companyCode); + params.put("table_name", tableName); + List> rules = sqlSession.selectList(NS + "get_available_rules_for_screen", params); loadPartsForRules(rules, companyCode); return rules; } @@ -234,23 +234,23 @@ public class NumberingRuleService extends BaseService { public Map getNumberingRuleByColumn(String companyCode, String tableName, String columnName) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("tableName", tableName); - params.put("columnName", columnName); + params.put("company_code", companyCode); + params.put("table_name", tableName); + params.put("column_name", columnName); - Map rule = sqlSession.selectOne(NS + "getRuleByColumn", params); + Map rule = sqlSession.selectOne(NS + "get_rule_by_column", params); // fallback: column_name이 비어있는 레거시 규칙 if (rule == null) { - rule = sqlSession.selectOne(NS + "getRuleByColumnFallback", params); + rule = sqlSession.selectOne(NS + "get_rule_by_column_fallback", params); if (rule != null) { // column_name 자동 업데이트 (레거시 마이그레이션) Map upParams = new HashMap<>(); - upParams.put("ruleId", rule.get("rule_id")); - upParams.put("companyCode", companyCode); - upParams.put("columnName", columnName); - sqlSession.update(NS + "updateRuleColumnName", upParams); - rule.put("columnName", columnName); + upParams.put("rule_id", rule.get("rule_id")); + upParams.put("company_code", companyCode); + upParams.put("column_name", columnName); + sqlSession.update(NS + "update_rule_column_name", upParams); + rule.put("column_name", columnName); } } @@ -272,22 +272,22 @@ public class NumberingRuleService extends BaseService { /** POST /test/save → UPSERT 규칙 */ @Transactional public Map saveRuleToTest(Map body, String companyCode) { - String ruleId = (String) body.get("ruleId"); + String ruleId = (String) body.get("rule_id"); Map lookupParams = new HashMap<>(); - lookupParams.put("ruleId", ruleId); - lookupParams.put("companyCode", companyCode); - Map existing = sqlSession.selectOne(NS + "getRuleById", lookupParams); + lookupParams.put("rule_id", ruleId); + lookupParams.put("company_code", companyCode); + Map existing = sqlSession.selectOne(NS + "get_rule_by_id", lookupParams); if (existing != null) { // 업데이트 Map upParams = new HashMap<>(body); - upParams.put("ruleId", ruleId); - upParams.put("companyCode", companyCode); - sqlSession.update(NS + "updateRule", upParams); + upParams.put("rule_id", ruleId); + upParams.put("company_code", companyCode); + sqlSession.update(NS + "update_rule", upParams); // parts 교체 - sqlSession.delete(NS + "deleteRulePartsByRuleId", lookupParams); + sqlSession.delete(NS + "delete_rule_parts_by_rule_id", lookupParams); } else { // 신규 등록 createRule(body, companyCode); @@ -319,8 +319,8 @@ public class NumberingRuleService extends BaseService { public Map copyRulesForCompany(String sourceCompanyCode, String targetCompanyCode) { Map srcParams = new HashMap<>(); - srcParams.put("companyCode", sourceCompanyCode); - List> sourceRules = sqlSession.selectList(NS + "getRulesForCopy", srcParams); + srcParams.put("company_code", sourceCompanyCode); + List> sourceRules = sqlSession.selectList(NS + "get_rules_for_copy", srcParams); int copied = 0; int skipped = 0; @@ -330,9 +330,9 @@ public class NumberingRuleService extends BaseService { // 대상 회사에 이미 존재하는지 확인 Map checkParams = new HashMap<>(); - checkParams.put("ruleId", ruleId); - checkParams.put("companyCode", targetCompanyCode); - Map existing = sqlSession.selectOne(NS + "getRuleById", checkParams); + checkParams.put("rule_id", ruleId); + checkParams.put("company_code", targetCompanyCode); + Map existing = sqlSession.selectOne(NS + "get_rule_by_id", checkParams); if (existing != null) { skipped++; @@ -341,16 +341,16 @@ public class NumberingRuleService extends BaseService { // 규칙 복사 Map insertParams = new HashMap<>(rule); - insertParams.put("companyCode", targetCompanyCode); - insertParams.put("currentSequence", 0); - insertParams.put("createdBy", "system"); - sqlSession.insert(NS + "insertRule", insertParams); + insertParams.put("company_code", targetCompanyCode); + insertParams.put("current_sequence", 0); + insertParams.put("created_by", "system"); + sqlSession.insert(NS + "insert_rule", insertParams); // parts 복사 Map partsParams = new HashMap<>(); - partsParams.put("ruleId", ruleId); - partsParams.put("companyCode", sourceCompanyCode); - List> parts = sqlSession.selectList(NS + "getRulePartsForCopy", partsParams); + partsParams.put("rule_id", ruleId); + partsParams.put("company_code", sourceCompanyCode); + List> parts = sqlSession.selectList(NS + "get_rule_parts_for_copy", partsParams); insertParts(parts, ruleId, targetCompanyCode); copied++; @@ -370,19 +370,19 @@ public class NumberingRuleService extends BaseService { private void insertParts(List> parts, String ruleId, String companyCode) { for (Map part : parts) { Map partParams = new HashMap<>(part); - partParams.put("ruleId", ruleId); - partParams.put("companyCode", companyCode); + partParams.put("rule_id", ruleId); + partParams.put("company_code", companyCode); // auto_config: separatorAfter 통합 Map autoConfig = parseAutoConfig(part.get("auto_config")); - Object sepAfter = part.getOrDefault("separatorAfter", "-"); - autoConfig.put("separatorAfter", sepAfter); - partParams.put("autoConfig", toJsonString(autoConfig)); + Object sepAfter = part.getOrDefault("separator_after", "-"); + autoConfig.put("separator_after", sepAfter); + partParams.put("auto_config", toJsonString(autoConfig)); - Map manualConfig = parseAutoConfig(part.get("manualConfig")); - partParams.put("manualConfig", toJsonString(manualConfig)); + Map manualConfig = parseAutoConfig(part.get("manual_config")); + partParams.put("manual_config", toJsonString(manualConfig)); - sqlSession.insert(NS + "insertRulePart", partParams); + sqlSession.insert(NS + "insert_rule_part", partParams); } } @@ -395,14 +395,14 @@ public class NumberingRuleService extends BaseService { private void loadPartsForRule(Map rule, String companyCode) { String ruleId = (String) rule.get("rule_id"); Map params = new HashMap<>(); - params.put("ruleId", ruleId); - params.put("companyCode", companyCode); - List> parts = sqlSession.selectList(NS + "getRulePartsByRuleId", params); + params.put("rule_id", ruleId); + params.put("company_code", companyCode); + List> parts = sqlSession.selectList(NS + "get_rule_parts_by_rule_id", params); // autoConfig에서 separatorAfter 추출 for (Map part : parts) { Map ac = parseAutoConfig(part.get("auto_config")); - if (ac.containsKey("separatorAfter")) { - part.put("separatorAfter", ac.get("separatorAfter")); + if (ac.containsKey("separator_after")) { + part.put("separator_after", ac.get("separator_after")); } } rule.put("parts", parts); @@ -417,10 +417,10 @@ public class NumberingRuleService extends BaseService { /** 순번 조회 (없으면 0 반환) */ private long getSequenceForPrefix(String ruleId, String companyCode, String prefixKey) { Map params = new HashMap<>(); - params.put("ruleId", ruleId); - params.put("companyCode", companyCode); - params.put("prefixKey", prefixKey); - Map row = sqlSession.selectOne(NS + "getSequenceForPrefix", params); + params.put("rule_id", ruleId); + params.put("company_code", companyCode); + params.put("prefix_key", prefixKey); + Map row = sqlSession.selectOne(NS + "get_sequence_for_prefix", params); if (row == null) return 0L; Object seq = row.get("current_sequence"); return seq == null ? 0L : ((Number) seq).longValue(); @@ -492,8 +492,8 @@ public class NumberingRuleService extends BaseService { if ("manual".equals(generationMethod)) { values.add(isPreview ? "____" : ""); } else if ("sequence".equals(partType)) { - int length = toInt(ac.get("sequenceLength"), 3); - int startFrom = toInt(ac.get("startFrom"), 1); + int length = toInt(ac.get("sequence_length"), 3); + int startFrom = toInt(ac.get("start_from"), 1); long seq = isPreview ? (nextSequence - 1 + startFrom) : nextSequence; values.add(String.format("%0" + length + "d", seq)); } else { @@ -522,7 +522,7 @@ public class NumberingRuleService extends BaseService { manualIndex++; values.add(val != null ? val : ""); } else if ("sequence".equals(partType)) { - int length = toInt(ac.get("sequenceLength"), 3); + int length = toInt(ac.get("sequence_length"), 3); values.add(String.format("%0" + length + "d", allocatedSequence)); } else { values.add(computeSinglePartValue(partType, ac, formData)); @@ -536,19 +536,19 @@ public class NumberingRuleService extends BaseService { Map ac, Map formData) { return switch (partType) { - case "text" -> String.valueOf(ac.getOrDefault("textValue", "TEXT")); + case "text" -> String.valueOf(ac.getOrDefault("text_value", "TEXT")); case "number" -> { - int length = toInt(ac.get("numberLength"), 3); - int value = toInt(ac.get("numberValue"), 1); + int length = toInt(ac.get("number_length"), 3); + int value = toInt(ac.get("number_value"), 1); yield String.format("%0" + length + "d", value); } case "date" -> { - String dateFormat = (String) ac.getOrDefault("dateFormat", "YYYYMMDD"); - if (Boolean.TRUE.equals(ac.get("useColumnValue")) - && ac.get("sourceColumnName") != null && formData != null) { - Object colVal = formData.get(ac.get("sourceColumnName")); + String dateFormat = (String) ac.getOrDefault("date_format", "YYYYMMDD"); + if (Boolean.TRUE.equals(ac.get("use_column_value")) + && ac.get("source_column_name") != null && formData != null) { + Object colVal = formData.get(ac.get("source_column_name")); if (colVal != null) { try { LocalDate ld = LocalDate.parse(colVal.toString().substring(0, 10)); @@ -562,7 +562,7 @@ public class NumberingRuleService extends BaseService { case "category" -> resolveCategoryFormat(ac, formData); case "reference" -> { - String refCol = (String) ac.get("referenceColumnName"); + String refCol = (String) ac.get("reference_column_name"); if (refCol != null && formData != null && formData.containsKey(refCol)) { yield String.valueOf(formData.get(refCol)); } @@ -575,7 +575,7 @@ public class NumberingRuleService extends BaseService { /** category 파트 format 해석 */ private String resolveCategoryFormat(Map ac, Map formData) { - String categoryKey = (String) ac.get("categoryKey"); + String categoryKey = (String) ac.get("category_key"); if (categoryKey == null || formData == null) return ""; String colName = categoryKey.contains(".") ? categoryKey.split("\\.")[1] : categoryKey; @@ -586,12 +586,12 @@ public class NumberingRuleService extends BaseService { @SuppressWarnings("unchecked") List> mappings = - (List>) ac.getOrDefault("categoryMappings", new ArrayList<>()); + (List>) ac.getOrDefault("category_mappings", new ArrayList<>()); Map match = mappings.stream().filter(m -> { - Object vid = m.get("categoryValueId"); - Object code = m.get("categoryValueCode"); - Object label = m.get("categoryValueLabel"); + Object vid = m.get("category_value_id"); + Object code = m.get("category_value_code"); + Object label = m.get("category_value_label"); if (vid != null && vid.toString().equals(selectedStr)) return true; if (code != null && code.toString().equals(selectedStr)) return true; if (label != null && label.toString().equals(selectedStr)) return true; @@ -609,8 +609,8 @@ public class NumberingRuleService extends BaseService { String resolvedId = String.valueOf(row.get("value_id")); String resolvedLabel = String.valueOf(row.get("value_label")); match = mappings.stream().filter(m -> { - Object vid = m.get("categoryValueId"); - Object lbl = m.get("categoryValueLabel"); + Object vid = m.get("category_value_id"); + Object lbl = m.get("category_value_label"); if (vid != null && vid.toString().equals(resolvedId)) return true; if (lbl != null && lbl.toString().equals(resolvedLabel)) return true; return false; @@ -631,8 +631,8 @@ public class NumberingRuleService extends BaseService { if (i < values.size() - 1) { Map part = sortedParts.get(i); Map ac = parseAutoConfig(part.get("auto_config")); - Object sep = part.containsKey("separatorAfter") ? part.get("separatorAfter") - : ac.getOrDefault("separatorAfter", globalSeparator != null ? globalSeparator : ""); + Object sep = part.containsKey("separator_after") ? part.get("separator_after") + : ac.getOrDefault("separator_after", globalSeparator != null ? globalSeparator : ""); sb.append(sep != null ? sep.toString() : ""); } } diff --git a/backend-spring/src/main/java/com/erp/service/PackagingService.java b/backend-spring/src/main/java/com/erp/service/PackagingService.java index 95429a2a..3a3bda43 100644 --- a/backend-spring/src/main/java/com/erp/service/PackagingService.java +++ b/backend-spring/src/main/java/com/erp/service/PackagingService.java @@ -22,28 +22,28 @@ public class PackagingService extends BaseService { public List> getPkgUnits(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.selectList(NS + "getPkgUnits", params); + return sqlSession.selectList(NS + "get_pkg_units", params); } @Transactional public Map createPkgUnit(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.insert(NS + "insertPkgUnit", params); + sqlSession.insert(NS + "insert_pkg_unit", params); return params; } @Transactional public Map updatePkgUnit(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.update(NS + "updatePkgUnit", params); + sqlSession.update(NS + "update_pkg_unit", params); return params; } @Transactional public Map deletePkgUnit(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.delete(NS + "deletePkgUnitItemsByUnitId", params); - sqlSession.delete(NS + "deletePkgUnit", params); + sqlSession.delete(NS + "delete_pkg_unit_items_by_unit_id", params); + sqlSession.delete(NS + "delete_pkg_unit", params); return params; } @@ -51,20 +51,20 @@ public class PackagingService extends BaseService { public List> getPkgUnitItems(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.selectList(NS + "getPkgUnitItems", params); + return sqlSession.selectList(NS + "get_pkg_unit_items", params); } @Transactional public Map createPkgUnitItem(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.insert(NS + "insertPkgUnitItem", params); + sqlSession.insert(NS + "insert_pkg_unit_item", params); return params; } @Transactional public Map deletePkgUnitItem(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.delete(NS + "deletePkgUnitItem", params); + sqlSession.delete(NS + "delete_pkg_unit_item", params); return params; } @@ -72,28 +72,28 @@ public class PackagingService extends BaseService { public List> getLoadingUnits(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.selectList(NS + "getLoadingUnits", params); + return sqlSession.selectList(NS + "get_loading_units", params); } @Transactional public Map createLoadingUnit(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.insert(NS + "insertLoadingUnit", params); + sqlSession.insert(NS + "insert_loading_unit", params); return params; } @Transactional public Map updateLoadingUnit(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.update(NS + "updateLoadingUnit", params); + sqlSession.update(NS + "update_loading_unit", params); return params; } @Transactional public Map deleteLoadingUnit(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.delete(NS + "deleteLoadingUnitPkgsByUnitId", params); - sqlSession.delete(NS + "deleteLoadingUnit", params); + sqlSession.delete(NS + "delete_loading_unit_pkgs_by_unit_id", params); + sqlSession.delete(NS + "delete_loading_unit", params); return params; } @@ -101,20 +101,20 @@ public class PackagingService extends BaseService { public List> getLoadingUnitPkgs(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.selectList(NS + "getLoadingUnitPkgs", params); + return sqlSession.selectList(NS + "get_loading_unit_pkgs", params); } @Transactional public Map createLoadingUnitPkg(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.insert(NS + "insertLoadingUnitPkg", params); + sqlSession.insert(NS + "insert_loading_unit_pkg", params); return params; } @Transactional public Map deleteLoadingUnitPkg(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.delete(NS + "deleteLoadingUnitPkg", params); + sqlSession.delete(NS + "delete_loading_unit_pkg", params); return params; } } diff --git a/backend-spring/src/main/java/com/erp/service/PopActionService.java b/backend-spring/src/main/java/com/erp/service/PopActionService.java index 14dbda4b..af0240c8 100644 --- a/backend-spring/src/main/java/com/erp/service/PopActionService.java +++ b/backend-spring/src/main/java/com/erp/service/PopActionService.java @@ -40,17 +40,17 @@ public class PopActionService extends BaseService { List> tasks = (List>) body.get("tasks"); Map data = body.get("data") != null ? (Map) body.get("data") : new HashMap<>(); Map mappings = body.get("mappings") != null ? (Map) body.get("mappings") : new HashMap<>(); - List> statusChanges = body.get("statusChanges") != null - ? (List>) body.get("statusChanges") : new ArrayList<>(); - Map cartChanges = (Map) body.get("cartChanges"); + List> statusChanges = body.get("status_changes") != null + ? (List>) body.get("status_changes") : new ArrayList<>(); + Map cartChanges = (Map) body.get("cart_changes"); List> items = data.get("items") != null ? (List>) data.get("items") : new ArrayList<>(); - Map fieldValues = data.get("fieldValues") != null - ? (Map) data.get("fieldValues") : new HashMap<>(); + Map fieldValues = data.get("field_values") != null + ? (Map) data.get("field_values") : new HashMap<>(); - Map cardMapping = mappings.get("cardList") != null - ? (Map) mappings.get("cardList") : null; + Map cardMapping = mappings.get("card_list") != null + ? (Map) mappings.get("card_list") : null; Map fieldMapping = mappings.get("field") != null ? (Map) mappings.get("field") : null; @@ -101,10 +101,10 @@ public class PopActionService extends BaseService { processedCount, insertedCount, deletedCount); Map result = new LinkedHashMap<>(); - result.put("processedCount", processedCount); - result.put("insertedCount", insertedCount); - result.put("deletedCount", deletedCount); - result.put("generatedCodes", generatedCodes); + result.put("processed_count", processedCount); + result.put("inserted_count", insertedCount); + result.put("deleted_count", deletedCount); + result.put("generated_codes", generatedCodes); return result; } @@ -117,35 +117,35 @@ public class PopActionService extends BaseService { String companyCode, String userId, List> generatedCodes) { if (cardMapping == null) return 0; - String targetTable = str(cardMapping.get("targetTable"), ""); - Map columnMapping = (Map) cardMapping.get("columnMapping"); + String targetTable = str(cardMapping.get("target_table"), ""); + Map columnMapping = (Map) cardMapping.get("column_mapping"); if (targetTable.isEmpty() || columnMapping == null || columnMapping.isEmpty()) return 0; if (!isSafeIdentifier(targetTable)) throw new IllegalArgumentException("유효하지 않은 테이블명: " + targetTable); - List> cardAutoGen = safeList(cardMapping.get("autoGenMappings")); - List> fieldAutoGen = fieldMapping != null ? safeList(fieldMapping.get("autoGenMappings")) : new ArrayList<>(); + List> cardAutoGen = safeList(cardMapping.get("auto_gen_mappings")); + List> fieldAutoGen = fieldMapping != null ? safeList(fieldMapping.get("auto_gen_mappings")) : new ArrayList<>(); List> allAutoGen = new ArrayList<>(fieldAutoGen); allAutoGen.addAll(cardAutoGen); - List> cardHidden = safeList(cardMapping.get("hiddenMappings")); - List> fieldHidden = fieldMapping != null ? safeList(fieldMapping.get("hiddenMappings")) : new ArrayList<>(); + List> cardHidden = safeList(cardMapping.get("hidden_mappings")); + List> fieldHidden = fieldMapping != null ? safeList(fieldMapping.get("hidden_mappings")) : new ArrayList<>(); List> allHidden = new ArrayList<>(fieldHidden); allHidden.addAll(cardHidden); // shareAcrossItems=true 일괄 채번 Map sharedCodes = new HashMap<>(); for (Map ag : allAutoGen) { - if (!Boolean.TRUE.equals(ag.get("shareAcrossItems"))) continue; - String ruleId = str(ag.get("numberingRuleId"), ""); - String targetCol = str(ag.get("targetColumn"), ""); + if (!Boolean.TRUE.equals(ag.get("share_across_items"))) continue; + String ruleId = str(ag.get("numbering_rule_id"), ""); + String targetCol = str(ag.get("target_column"), ""); if (ruleId.isEmpty() || targetCol.isEmpty() || !isSafeIdentifier(targetCol)) continue; try { Map ctx = new HashMap<>(fieldValues); if (!items.isEmpty()) ctx.putAll(items.get(0)); String code = numberingRuleService.allocateCode(ruleId, companyCode, ctx, null); sharedCodes.put(targetCol, code); - generatedCodes.add(codeEntry(targetCol, code, Boolean.TRUE.equals(ag.get("showResultModal")))); + generatedCodes.add(codeEntry(targetCol, code, Boolean.TRUE.equals(ag.get("show_result_modal")))); } catch (Exception e) { log.error("[pop/execute-action] 일괄 채번 실패: ruleId={}, err={}", ruleId, e.getMessage()); } @@ -166,8 +166,8 @@ public class PopActionService extends BaseService { // fieldMapping columns (동일 테이블 한정) if (fieldMapping != null) { - String fieldTable = str(fieldMapping.get("targetTable"), ""); - Map fColMap = (Map) fieldMapping.get("columnMapping"); + String fieldTable = str(fieldMapping.get("target_table"), ""); + Map fColMap = (Map) fieldMapping.get("column_mapping"); if (targetTable.equals(fieldTable) && fColMap != null) { for (Map.Entry e : fColMap.entrySet()) { if (!isSafeIdentifier(e.getValue())) continue; @@ -180,7 +180,7 @@ public class PopActionService extends BaseService { // hidden mappings for (Map hm : allHidden) { - String tc = str(hm.get("targetColumn"), ""); + String tc = str(hm.get("target_column"), ""); if (tc.isEmpty() || !isSafeIdentifier(tc) || cols.contains("\"" + tc + "\"")) continue; cols.add("\"" + tc + "\""); vals.add(resolveHiddenValue(hm, item, fieldValues)); @@ -188,18 +188,18 @@ public class PopActionService extends BaseService { // auto-gen mappings for (Map ag : allAutoGen) { - String ruleId = str(ag.get("numberingRuleId"), ""); - String tc = str(ag.get("targetColumn"), ""); + String ruleId = str(ag.get("numbering_rule_id"), ""); + String tc = str(ag.get("target_column"), ""); if (ruleId.isEmpty() || tc.isEmpty() || !isSafeIdentifier(tc) || cols.contains("\"" + tc + "\"")) continue; - if (Boolean.TRUE.equals(ag.get("shareAcrossItems")) && sharedCodes.containsKey(tc)) { + if (Boolean.TRUE.equals(ag.get("share_across_items")) && sharedCodes.containsKey(tc)) { cols.add("\"" + tc + "\""); vals.add(sharedCodes.get(tc)); - } else if (!Boolean.TRUE.equals(ag.get("shareAcrossItems"))) { + } else if (!Boolean.TRUE.equals(ag.get("share_across_items"))) { try { Map ctx = new HashMap<>(fieldValues); ctx.putAll(item); String code = numberingRuleService.allocateCode(ruleId, companyCode, ctx, null); cols.add("\"" + tc + "\""); vals.add(code); - generatedCodes.add(codeEntry(tc, code, Boolean.TRUE.equals(ag.get("showResultModal")))); + generatedCodes.add(codeEntry(tc, code, Boolean.TRUE.equals(ag.get("show_result_modal")))); } catch (Exception e) { log.error("[pop/execute-action] 채번 실패: ruleId={}, err={}", ruleId, e.getMessage()); } @@ -223,8 +223,8 @@ public class PopActionService extends BaseService { // fieldMapping 별도 테이블 INSERT if (fieldMapping != null) { - String fieldTable = str(fieldMapping.get("targetTable"), ""); - Map fColMap = (Map) fieldMapping.get("columnMapping"); + String fieldTable = str(fieldMapping.get("target_table"), ""); + Map fColMap = (Map) fieldMapping.get("column_mapping"); if (!fieldTable.isEmpty() && !fieldTable.equals(targetTable) && fColMap != null && !fColMap.isEmpty()) { if (!isSafeIdentifier(fieldTable)) throw new IllegalArgumentException("유효하지 않은 테이블명: " + fieldTable); @@ -256,24 +256,24 @@ public class PopActionService extends BaseService { @SuppressWarnings("unchecked") private int processDataUpdate(Map task, List> items, Map fieldValues, String companyCode, String userId) { - String targetTable = str(task.get("targetTable"), ""); - String targetColumn = str(task.get("targetColumn"), ""); + String targetTable = str(task.get("target_table"), ""); + String targetColumn = str(task.get("target_column"), ""); if (targetTable.isEmpty() || targetColumn.isEmpty()) return 0; if (!isSafeIdentifier(targetTable) || !isSafeIdentifier(targetColumn)) return 0; - String opType = str(task.get("operationType"), "assign"); - String valSource = str(task.get("valueSource"), "fixed"); - String lookupMode = str(task.get("lookupMode"), "auto"); - Map preCondition = (Map) task.get("preCondition"); - Map conditionalValue = (Map) task.get("conditionalValue"); - String fixedValue = str(task.get("fixedValue"), ""); + String opType = str(task.get("operation_type"), "assign"); + String valSource = str(task.get("value_source"), "fixed"); + String lookupMode = str(task.get("lookup_mode"), "auto"); + Map preCondition = (Map) task.get("pre_condition"); + Map conditionalValue = (Map) task.get("conditional_value"); + String fixedValue = str(task.get("fixed_value"), ""); String itemField; String pkColumn; - if ("manual".equals(lookupMode) && task.get("manualItemField") != null && task.get("manualPkColumn") != null) { - String manualPk = str(task.get("manualPkColumn"), ""); + if ("manual".equals(lookupMode) && task.get("manual_item_field") != null && task.get("manual_pk_column") != null) { + String manualPk = str(task.get("manual_pk_column"), ""); if (!isSafeIdentifier(manualPk)) return 0; - itemField = str(task.get("manualItemField"), ""); + itemField = str(task.get("manual_item_field"), ""); pkColumn = manualPk; } else if ("cart_items".equals(targetTable)) { itemField = "__cart_id"; pkColumn = "id"; @@ -299,19 +299,19 @@ public class PopActionService extends BaseService { String pcCol = str(preCondition.get("column"), ""); if (!isSafeIdentifier(pcCol)) throw new IllegalArgumentException("유효하지 않은 preCondition 컬럼: " + pcCol); whereSql += " AND \"" + pcCol + "\" = ?"; - params.add(preCondition.get("expectedValue")); + params.add(preCondition.get("expected_value")); } int rows = jdbcTemplate.update( "UPDATE \"" + targetTable + "\" SET \"" + targetColumn + "\" = ?" + autoUpd + " " + whereSql, params.toArray()); if (preCondition != null && rows == 0) - throw new PreConditionFailException(str(preCondition.get("failMessage"), "조건이 일치하지 않아 처리할 수 없습니다.")); + throw new PreConditionFailException(str(preCondition.get("fail_message"), "조건이 일치하지 않아 처리할 수 없습니다.")); processed++; } } else if ("db-conditional".equals(opType)) { - String compareCol = str(task.get("compareColumn"), ""); - String compareOp = str(task.get("compareOperator"), "="); - String compareWith = str(task.get("compareWith"), ""); + String compareCol = str(task.get("compare_column"), ""); + String compareOp = str(task.get("compare_operator"), "="); + String compareWith = str(task.get("compare_with"), ""); if (compareCol.isEmpty() || compareWith.isEmpty() || !isSafeIdentifier(compareCol) || !isSafeIdentifier(compareWith)) return 0; String[] valid = {"=", "!=", ">", "<", ">=", "<="}; boolean validOp = Arrays.stream(valid).anyMatch(op -> op.equals(compareOp)); @@ -320,8 +320,8 @@ public class PopActionService extends BaseService { String caseSql = "CASE WHEN COALESCE(\"" + compareCol + "\"::numeric, 0) " + compareOp + " COALESCE(\"" + compareWith + "\"::numeric, 0) THEN ? ELSE ? END"; List params = new ArrayList<>(); - params.add(str(task.get("dbThenValue"), "")); - params.add(str(task.get("dbElseValue"), "")); + params.add(str(task.get("db_then_value"), "")); + params.add(str(task.get("db_else_value"), "")); params.add(companyCode); params.addAll(lookupValues); jdbcTemplate.update( @@ -334,7 +334,7 @@ public class PopActionService extends BaseService { Map item = i < items.size() ? items.get(i) : new HashMap<>(); Object value; if ("linked".equals(valSource)) { - value = item.get(str(task.get("sourceField"), "")); + value = item.get(str(task.get("source_field"), "")); } else { String raw = fixedValue; if ("__CURRENT_USER__".equals(raw)) value = userId; @@ -368,13 +368,13 @@ public class PopActionService extends BaseService { String pcCol = str(preCondition.get("column"), ""); if (!isSafeIdentifier(pcCol)) throw new IllegalArgumentException("유효하지 않은 preCondition 컬럼: " + pcCol); whereSql += " AND \"" + pcCol + "\" = ?"; - params.add(preCondition.get("expectedValue")); + params.add(preCondition.get("expected_value")); } int rows = jdbcTemplate.update( "UPDATE \"" + targetTable + "\" SET " + setSql + autoUpd + " " + whereSql, params.toArray()); if (preCondition != null && rows == 0) - throw new PreConditionFailException(str(preCondition.get("failMessage"), "조건이 일치하지 않아 처리할 수 없습니다.")); + throw new PreConditionFailException(str(preCondition.get("fail_message"), "조건이 일치하지 않아 처리할 수 없습니다.")); processed++; } } @@ -387,7 +387,7 @@ public class PopActionService extends BaseService { // data-delete // ────────────────────────────────────────────────────────────────────────── private int processDataDelete(Map task, List> items, String companyCode) { - String targetTable = str(task.get("targetTable"), ""); + String targetTable = str(task.get("target_table"), ""); if (targetTable.isEmpty() || !isSafeIdentifier(targetTable)) return 0; String pkCol = getPkColumn(targetTable); List deleteKeys = new ArrayList<>(); @@ -411,9 +411,9 @@ public class PopActionService extends BaseService { @SuppressWarnings("unchecked") private int[] processCartSave(Map cartChanges, String companyCode) { int inserted = 0, updated = 0, deleted = 0; - List> toCreate = safeList(cartChanges.get("toCreate")); - List> toUpdate = safeList(cartChanges.get("toUpdate")); - List toDelete = (List) cartChanges.get("toDelete"); + List> toCreate = safeList(cartChanges.get("to_create")); + List> toUpdate = safeList(cartChanges.get("to_update")); + List toDelete = (List) cartChanges.get("to_delete"); for (Map item : toCreate) { List cols = new ArrayList<>(); @@ -468,23 +468,23 @@ public class PopActionService extends BaseService { List> items, String companyCode) { int count = 0; for (Map rule : statusChanges) { - String targetTable = str(rule.get("targetTable"), ""); - String targetColumn = str(rule.get("targetColumn"), ""); + String targetTable = str(rule.get("target_table"), ""); + String targetColumn = str(rule.get("target_column"), ""); if (targetTable.isEmpty() || targetColumn.isEmpty() || !isSafeIdentifier(targetTable) || !isSafeIdentifier(targetColumn)) continue; - String valueType = str(rule.get("valueType"), "fixed"); - Object fvRaw = rule.get("fixedValue") != null ? rule.get("fixedValue") : rule.get("value"); + String valueType = str(rule.get("value_type"), "fixed"); + Object fvRaw = rule.get("fixed_value") != null ? rule.get("fixed_value") : rule.get("value"); String fixedValue = str(fvRaw, ""); - String lookupMode = str(rule.get("lookupMode"), "auto"); - Map conditionalValue = (Map) rule.get("conditionalValue"); + String lookupMode = str(rule.get("lookup_mode"), "auto"); + Map conditionalValue = (Map) rule.get("conditional_value"); String itemField; String pkColumn; - if ("manual".equals(lookupMode) && rule.get("manualItemField") != null && rule.get("manualPkColumn") != null) { - String manualPk = str(rule.get("manualPkColumn"), ""); + if ("manual".equals(lookupMode) && rule.get("manual_item_field") != null && rule.get("manual_pk_column") != null) { + String manualPk = str(rule.get("manual_pk_column"), ""); if (!isSafeIdentifier(manualPk)) continue; - itemField = str(rule.get("manualItemField"), ""); + itemField = str(rule.get("manual_item_field"), ""); pkColumn = manualPk; } else if ("cart_items".equals(targetTable)) { itemField = "__cart_id"; pkColumn = "id"; @@ -545,11 +545,11 @@ public class PopActionService extends BaseService { Map conditionalValue, Map item) { if (!"conditional".equals(valueType) || conditionalValue == null) return fixedValue; List> conditions = (List>) conditionalValue.get("conditions"); - if (conditions == null) return str(conditionalValue.get("defaultValue"), fixedValue); + if (conditions == null) return str(conditionalValue.get("default_value"), fixedValue); for (Map cond : conditions) { - String actual = str(item.get(str(cond.get("whenColumn"), "")), ""); - String expected = str(cond.get("whenValue"), ""); + String actual = str(item.get(str(cond.get("when_column"), "")), ""); + String expected = str(cond.get("when_value"), ""); String op = str(cond.get("operator"), "="); boolean match; switch (op) { @@ -560,24 +560,24 @@ public class PopActionService extends BaseService { case "<=": match = toDouble(actual) <= toDouble(expected); break; default: match = actual.equals(expected); } - if (match) return str(cond.get("thenValue"), ""); + if (match) return str(cond.get("then_value"), ""); } - return str(conditionalValue.get("defaultValue"), fixedValue); + return str(conditionalValue.get("default_value"), fixedValue); } @SuppressWarnings("unchecked") private Object resolveHiddenValue(Map hm, Map item, Map fieldValues) { - String valueSource = str(hm.get("valueSource"), ""); - if ("static".equals(valueSource)) return hm.get("staticValue"); + String valueSource = str(hm.get("value_source"), ""); + if ("static".equals(valueSource)) return hm.get("static_value"); if ("json_extract".equals(valueSource)) { - String srcCol = str(hm.get("sourceJsonColumn"), ""); - String srcKey = str(hm.get("sourceJsonKey"), ""); + String srcCol = str(hm.get("source_json_column"), ""); + String srcKey = str(hm.get("source_json_key"), ""); Object jsonCol = item.get(srcCol); if (jsonCol instanceof Map) return ((Map) jsonCol).get(srcKey); return null; } if ("db_column".equals(valueSource)) { - String srcDbCol = str(hm.get("sourceDbColumn"), ""); + String srcDbCol = str(hm.get("source_db_column"), ""); Object v = item.get(srcDbCol); return v != null ? v : fieldValues.get(srcDbCol); } @@ -597,9 +597,9 @@ public class PopActionService extends BaseService { private Map codeEntry(String col, String code, boolean showModal) { Map m = new LinkedHashMap<>(); - m.put("targetColumn", col); + m.put("target_column", col); m.put("code", code); - m.put("showResultModal", showModal); + m.put("show_result_modal", showModal); return m; } diff --git a/backend-spring/src/main/java/com/erp/service/PopProductionService.java b/backend-spring/src/main/java/com/erp/service/PopProductionService.java index 02715a87..f2dfc5fb 100644 --- a/backend-spring/src/main/java/com/erp/service/PopProductionService.java +++ b/backend-spring/src/main/java/com/erp/service/PopProductionService.java @@ -21,8 +21,8 @@ public class PopProductionService extends BaseService { */ @Transactional public Map createWorkProcesses(Map params) { - String companyCode = (String) params.get("companyCode"); - String userId = (String) params.get("userId"); + String companyCode = (String) params.get("company_code"); + String userId = (String) params.get("user_id"); Object workInstructionId = params.get("work_instruction_id"); Object routingVersionId = params.get("routing_version_id"); Object planQty = params.get("plan_qty"); @@ -139,7 +139,7 @@ public class PopProductionService extends BaseService { * D-BE2: 타이머 API (시작/일시정지/재시작) */ public Map controlTimer(Map params) { - String companyCode = (String) params.get("companyCode"); + String companyCode = (String) params.get("company_code"); Object workOrderProcessId = params.get("work_order_process_id"); String action = (String) params.get("action"); diff --git a/backend-spring/src/main/java/com/erp/service/ProcessWorkStandardService.java b/backend-spring/src/main/java/com/erp/service/ProcessWorkStandardService.java index 90a7f3e1..65ae366d 100644 --- a/backend-spring/src/main/java/com/erp/service/ProcessWorkStandardService.java +++ b/backend-spring/src/main/java/com/erp/service/ProcessWorkStandardService.java @@ -19,80 +19,80 @@ public class ProcessWorkStandardService extends BaseService { public Map getProcessWorkStandardItemList(Map params) { commonService.applyCompanyCodeFilter(params); commonService.applyPagination(params); - Integer totalObj = sqlSession.selectOne(NS + "getProcessWorkStandardItemListCnt", params); + Integer totalObj = sqlSession.selectOne(NS + "get_process_work_standard_item_list_cnt", params); int totalCount = totalObj != null ? totalObj : 0; - List> list = sqlSession.selectList(NS + "getProcessWorkStandardItemList", params); + List> list = sqlSession.selectList(NS + "get_process_work_standard_item_list", params); return commonService.buildListResponse(list, totalCount, params); } public List> getProcessWorkStandardRoutingList(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.selectList(NS + "getProcessWorkStandardRoutingList", params); + return sqlSession.selectList(NS + "get_process_work_standard_routing_list", params); } @Transactional public Map setProcessWorkStandardDefaultVersion(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.update(NS + "setProcessWorkStandardDefaultVersion", params); + sqlSession.update(NS + "set_process_work_standard_default_version", params); return params; } @Transactional public Map unsetProcessWorkStandardDefaultVersion(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.update(NS + "unsetProcessWorkStandardDefaultVersion", params); + sqlSession.update(NS + "unset_process_work_standard_default_version", params); return params; } public List> getProcessWorkStandardWorkItemList(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.selectList(NS + "getProcessWorkStandardWorkItemList", params); + return sqlSession.selectList(NS + "get_process_work_standard_work_item_list", params); } @Transactional public Map insertProcessWorkStandardWorkItem(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.insert(NS + "insertProcessWorkStandardWorkItem", params); + sqlSession.insert(NS + "insert_process_work_standard_work_item", params); return params; } @Transactional public Map updateProcessWorkStandardWorkItem(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.update(NS + "updateProcessWorkStandardWorkItem", params); + sqlSession.update(NS + "update_process_work_standard_work_item", params); return params; } @Transactional public Map deleteProcessWorkStandardWorkItem(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.delete(NS + "deleteProcessWorkStandardWorkItem", params); + sqlSession.delete(NS + "delete_process_work_standard_work_item", params); return params; } public List> getProcessWorkStandardWorkItemDetailList(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.selectList(NS + "getProcessWorkStandardWorkItemDetailList", params); + return sqlSession.selectList(NS + "get_process_work_standard_work_item_detail_list", params); } @Transactional public Map insertProcessWorkStandardWorkItemDetail(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.insert(NS + "insertProcessWorkStandardWorkItemDetail", params); + sqlSession.insert(NS + "insert_process_work_standard_work_item_detail", params); return params; } @Transactional public Map updateProcessWorkStandardWorkItemDetail(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.update(NS + "updateProcessWorkStandardWorkItemDetail", params); + sqlSession.update(NS + "update_process_work_standard_work_item_detail", params); return params; } @Transactional public Map deleteProcessWorkStandardWorkItemDetail(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.delete(NS + "deleteProcessWorkStandardWorkItemDetail", params); + sqlSession.delete(NS + "delete_process_work_standard_work_item_detail", params); return params; } @@ -100,24 +100,24 @@ public class ProcessWorkStandardService extends BaseService { @SuppressWarnings("unchecked") public Map saveAllProcessWorkStandard(Map params) { commonService.applyCompanyCodeFilter(params); - List> workItems = (List>) params.get("workItems"); + List> workItems = (List>) params.get("work_items"); if (workItems != null) { for (Map workItem : workItems) { - workItem.put("companyCode", params.get("companyCode")); + workItem.put("company_code", params.get("company_code")); if (workItem.get("id") != null) { - sqlSession.update(NS + "updateProcessWorkStandardWorkItem", workItem); + sqlSession.update(NS + "update_process_work_standard_work_item", workItem); } else { - sqlSession.insert(NS + "insertProcessWorkStandardWorkItem", workItem); + sqlSession.insert(NS + "insert_process_work_standard_work_item", workItem); } List> details = (List>) workItem.get("details"); if (details != null) { for (Map detail : details) { - detail.put("companyCode", params.get("companyCode")); - detail.put("workItemId", workItem.get("id")); + detail.put("company_code", params.get("company_code")); + detail.put("work_item_id", workItem.get("id")); if (detail.get("id") != null) { - sqlSession.update(NS + "updateProcessWorkStandardWorkItemDetail", detail); + sqlSession.update(NS + "update_process_work_standard_work_item_detail", detail); } else { - sqlSession.insert(NS + "insertProcessWorkStandardWorkItemDetail", detail); + sqlSession.insert(NS + "insert_process_work_standard_work_item_detail", detail); } } } @@ -128,13 +128,13 @@ public class ProcessWorkStandardService extends BaseService { public List> getProcessWorkStandardRegisteredItemList(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.selectList(NS + "getProcessWorkStandardRegisteredItemList", params); + return sqlSession.selectList(NS + "get_process_work_standard_registered_item_list", params); } @Transactional public Map insertProcessWorkStandardRegisteredItem(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.insert(NS + "insertProcessWorkStandardRegisteredItem", params); + sqlSession.insert(NS + "insert_process_work_standard_registered_item", params); return params; } @@ -145,17 +145,17 @@ public class ProcessWorkStandardService extends BaseService { List> items = (List>) params.get("items"); if (items != null) { for (Map item : items) { - item.put("companyCode", params.get("companyCode")); + item.put("company_code", params.get("company_code")); } } - sqlSession.insert(NS + "insertProcessWorkStandardRegisteredItemBatch", params); + sqlSession.insert(NS + "insert_process_work_standard_registered_item_batch", params); return params; } @Transactional public Map deleteProcessWorkStandardRegisteredItem(Map params) { commonService.applyCompanyCodeFilter(params); - sqlSession.delete(NS + "deleteProcessWorkStandardRegisteredItem", params); + sqlSession.delete(NS + "delete_process_work_standard_registered_item", params); return params; } } diff --git a/backend-spring/src/main/java/com/erp/service/ProductionService.java b/backend-spring/src/main/java/com/erp/service/ProductionService.java index 59b65617..a7da0726 100644 --- a/backend-spring/src/main/java/com/erp/service/ProductionService.java +++ b/backend-spring/src/main/java/com/erp/service/ProductionService.java @@ -26,10 +26,10 @@ public class ProductionService extends BaseService { // ─── 수주 데이터 조회 (품목별 그룹핑) ─── public List> getOrderSummary(Map params) { - String companyCode = (String) params.get("companyCode"); - String itemCode = (String) params.get("itemCode"); - String itemName = (String) params.get("itemName"); - boolean excludePlanned = "true".equals(String.valueOf(params.getOrDefault("excludePlanned", "false"))); + String companyCode = (String) params.get("company_code"); + String itemCode = (String) params.get("item_code"); + String itemName = (String) params.get("item_name"); + boolean excludePlanned = "true".equals(String.valueOf(params.getOrDefault("exclude_planned", "false"))); List conditions = new ArrayList<>(); List args = new ArrayList<>(); @@ -308,8 +308,8 @@ public class ProductionService extends BaseService { Map result = new LinkedHashMap<>(); result.put("summary", summary); result.put("previews", previews); - result.put("deletedSchedules", deletedSchedules); - result.put("keptSchedules", keptSchedules); + result.put("deleted_schedules", deletedSchedules); + result.put("kept_schedules", keptSchedules); log.info("자동 스케줄 미리보기: companyCode={}, summary={}", companyCode, summary); return result; } @@ -326,7 +326,7 @@ public class ProductionService extends BaseService { int deletedCount = 0; int keptCount = 0; List> newSchedules = new ArrayList<>(); - String todayStr = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")); + String todayStr = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy_m_mdd")); for (Map item : items) { String itemCode = (String) item.get("item_code"); @@ -486,8 +486,8 @@ public class ProductionService extends BaseService { // ─── 반제품 계획 미리보기 ─── public Map previewSemiSchedule(String companyCode, List planIds, Map options) { - boolean considerStock = Boolean.TRUE.equals(options.get("considerStock")) || - "true".equals(String.valueOf(options.getOrDefault("considerStock", "false"))); + boolean considerStock = Boolean.TRUE.equals(options.get("consider_stock")) || + "true".equals(String.valueOf(options.getOrDefault("consider_stock", "false"))); String placeholders = planIds.stream().map(i -> "?").collect(Collectors.joining(", ")); List args = new ArrayList<>(); @@ -572,8 +572,8 @@ public class ProductionService extends BaseService { Map result = new LinkedHashMap<>(); result.put("summary", summary); result.put("previews", previews); - result.put("deletedSchedules", deletedSchedules); - result.put("keptSchedules", keptSchedules); + result.put("deleted_schedules", deletedSchedules); + result.put("kept_schedules", keptSchedules); return result; } @@ -581,8 +581,8 @@ public class ProductionService extends BaseService { @Transactional public Map generateSemiSchedule(String companyCode, List planIds, Map options, String createdBy) { - boolean considerStock = Boolean.TRUE.equals(options.get("considerStock")) || - "true".equals(String.valueOf(options.getOrDefault("considerStock", "false"))); + boolean considerStock = Boolean.TRUE.equals(options.get("consider_stock")) || + "true".equals(String.valueOf(options.getOrDefault("consider_stock", "false"))); String placeholders = planIds.stream().map(i -> "?").collect(Collectors.joining(", ")); List args = new ArrayList<>(); @@ -602,7 +602,7 @@ public class ProductionService extends BaseService { } List> newSemiPlans = new ArrayList<>(); - String todayStr = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")); + String todayStr = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy_m_mdd")); for (Map plan : plans) { String itemCode = (String) plan.get("item_code"); diff --git a/backend-spring/src/main/java/com/erp/service/ReportService.java b/backend-spring/src/main/java/com/erp/service/ReportService.java index 55fd160b..c5a7c43d 100644 --- a/backend-spring/src/main/java/com/erp/service/ReportService.java +++ b/backend-spring/src/main/java/com/erp/service/ReportService.java @@ -39,8 +39,8 @@ public class ReportService extends BaseService { Map report = sqlSession.selectOne("report.getReportInfo", params); if (report == null) return null; - String reportId = String.valueOf(params.get("reportId")); - Map qp = Map.of("reportId", reportId); + String reportId = String.valueOf(params.get("report_id")); + Map qp = Map.of("report_id", reportId); Map layout = sqlSession.selectOne("report.getReportLayout", qp); List> queries = sqlSession.selectList("report.getReportQueryList", qp); @@ -55,20 +55,20 @@ public class ReportService extends BaseService { Map result = new LinkedHashMap<>(report); result.put("layout", layout); result.put("queries", queries != null ? queries : List.of()); - result.put("menuObjids", menuObjids); + result.put("menu_objids", menuObjids); return result; } @Transactional public Map createReport(Map params) { String reportId = "RPT_" + UUID.randomUUID().toString().replace("-", "").substring(0, 20); - params.put("reportId", reportId); + params.put("report_id", reportId); sqlSession.insert("report.insertReport", params); // 템플릿이 있으면 레이아웃 복사 - String templateId = (String) params.get("templateId"); + String templateId = (String) params.get("template_id"); if (templateId != null && !templateId.isEmpty()) { - Map tp = Map.of("templateId", templateId); + Map tp = Map.of("template_id", templateId); Map template = sqlSession.selectOne("report.getReportTemplateById", tp); if (template != null && template.get("layout_config") != null) { String layoutJson = String.valueOf(template.get("layout_config")); @@ -77,17 +77,17 @@ public class ReportService extends BaseService { layoutJson, new TypeReference<>() {}); String layoutId = "LAY_" + UUID.randomUUID().toString().replace("-", "").substring(0, 20); Map lp = new HashMap<>(); - lp.put("layoutId", layoutId); - lp.put("reportId", reportId); - lp.put("canvasWidth", layoutConfig.getOrDefault("width", 210)); - lp.put("canvasHeight", layoutConfig.getOrDefault("height", 297)); - lp.put("pageOrientation", layoutConfig.getOrDefault("orientation", "portrait")); - lp.put("marginTop", 20); - lp.put("marginBottom", 20); - lp.put("marginLeft", 20); - lp.put("marginRight", 20); + lp.put("layout_id", layoutId); + lp.put("report_id", reportId); + lp.put("canvas_width", layoutConfig.getOrDefault("width", 210)); + lp.put("canvas_height", layoutConfig.getOrDefault("height", 297)); + lp.put("page_orientation", layoutConfig.getOrDefault("orientation", "portrait")); + lp.put("margin_top", 20); + lp.put("margin_bottom", 20); + lp.put("margin_left", 20); + lp.put("margin_right", 20); lp.put("components", "[]"); - lp.put("createdBy", params.get("createdBy")); + lp.put("created_by", params.get("created_by")); sqlSession.insert("report.insertReportLayout", lp); } catch (Exception e) { log.warn("템플릿 레이아웃 복사 실패: {}", e.getMessage()); @@ -96,7 +96,7 @@ public class ReportService extends BaseService { } Map result = new LinkedHashMap<>(); - result.put("reportId", reportId); + result.put("report_id", reportId); return result; } @@ -108,8 +108,8 @@ public class ReportService extends BaseService { @Transactional public Map deleteReport(Map params) { - String reportId = String.valueOf(params.get("reportId")); - Map rp = Map.of("reportId", reportId); + String reportId = String.valueOf(params.get("report_id")); + Map rp = Map.of("report_id", reportId); sqlSession.delete("report.deleteReportQueriesByReportId", rp); sqlSession.delete("report.deleteReportLayout", rp); sqlSession.delete("report.deleteReportMenuMappingsByReportId", rp); @@ -119,48 +119,48 @@ public class ReportService extends BaseService { @Transactional public Map copyReport(Map params) { - String reportId = String.valueOf(params.get("reportId")); - String userId = (String) params.getOrDefault("userId", "SYSTEM"); - Map qp = Map.of("reportId", reportId, "companyCode", params.getOrDefault("companyCode", "*")); + String reportId = String.valueOf(params.get("report_id")); + String userId = (String) params.getOrDefault("user_id", "SYSTEM"); + Map qp = Map.of("report_id", reportId, "company_code", params.getOrDefault("company_code", "*")); Map original = sqlSession.selectOne("report.getReportInfo", qp); if (original == null) return null; String newReportId = "RPT_" + UUID.randomUUID().toString().replace("-", "").substring(0, 20); Map newReport = new HashMap<>(original); - newReport.put("reportId", newReportId); - newReport.put("reportNameKor", original.get("report_name_kor") + " (복사)"); + newReport.put("report_id", newReportId); + newReport.put("report_name_kor", original.get("report_name_kor") + " (복사)"); Object eng = original.get("report_name_eng"); - newReport.put("reportNameEng", eng != null ? eng + " (Copy)" : null); - newReport.put("createdBy", userId); + newReport.put("report_name_eng", eng != null ? eng + " (Copy)" : null); + newReport.put("created_by", userId); sqlSession.insert("report.insertReport", newReport); - Map origLayout = sqlSession.selectOne("report.getReportLayout", Map.of("reportId", reportId)); + Map origLayout = sqlSession.selectOne("report.getReportLayout", Map.of("report_id", reportId)); if (origLayout != null) { String newLayoutId = "LAY_" + UUID.randomUUID().toString().replace("-", "").substring(0, 20); Map lp = new HashMap<>(origLayout); - lp.put("layoutId", newLayoutId); - lp.put("reportId", newReportId); - lp.put("createdBy", userId); + lp.put("layout_id", newLayoutId); + lp.put("report_id", newReportId); + lp.put("created_by", userId); lp.put("components", origLayout.getOrDefault("components", "[]")); sqlSession.insert("report.insertReportLayout", lp); } - List> origQueries = sqlSession.selectList("report.getReportQueryList", Map.of("reportId", reportId)); + List> origQueries = sqlSession.selectList("report.getReportQueryList", Map.of("report_id", reportId)); if (origQueries != null) { for (Map q : origQueries) { String newQueryId = "QRY_" + UUID.randomUUID().toString().replace("-", "").substring(0, 20); Map qNew = new HashMap<>(q); - qNew.put("queryId", newQueryId); - qNew.put("reportId", newReportId); - qNew.put("createdBy", userId); + qNew.put("query_id", newQueryId); + qNew.put("report_id", newReportId); + qNew.put("created_by", userId); qNew.put("parameters", q.getOrDefault("parameters", "[]")); sqlSession.insert("report.insertReportQuery", qNew); } } Map result = new LinkedHashMap<>(); - result.put("reportId", newReportId); + result.put("report_id", newReportId); return result; } @@ -172,11 +172,11 @@ public class ReportService extends BaseService { @Transactional public Map saveLayout(Map params) { - String reportId = String.valueOf(params.get("reportId")); - String userId = (String) params.getOrDefault("userId", "SYSTEM"); + String reportId = String.valueOf(params.get("report_id")); + String userId = (String) params.getOrDefault("user_id", "SYSTEM"); // layoutConfig 파싱 - Object layoutConfigObj = params.get("layoutConfig"); + Object layoutConfigObj = params.get("layout_config"); Map layoutConfig = new HashMap<>(); if (layoutConfigObj instanceof Map) { layoutConfig = (Map) layoutConfigObj; @@ -203,24 +203,24 @@ public class ReportService extends BaseService { } // layout upsert - Map existing = sqlSession.selectOne("report.getReportLayout", Map.of("reportId", reportId)); + Map existing = sqlSession.selectOne("report.getReportLayout", Map.of("report_id", reportId)); Map lp = new HashMap<>(); - lp.put("reportId", reportId); - lp.put("canvasWidth", canvasWidth); - lp.put("canvasHeight", canvasHeight); - lp.put("pageOrientation", orientation); - lp.put("marginTop", toInt(margins.getOrDefault("top", 20))); - lp.put("marginBottom", toInt(margins.getOrDefault("bottom", 20))); - lp.put("marginLeft", toInt(margins.getOrDefault("left", 20))); - lp.put("marginRight", toInt(margins.getOrDefault("right", 20))); + lp.put("report_id", reportId); + lp.put("canvas_width", canvasWidth); + lp.put("canvas_height", canvasHeight); + lp.put("page_orientation", orientation); + lp.put("margin_top", toInt(margins.getOrDefault("top", 20))); + lp.put("margin_bottom", toInt(margins.getOrDefault("bottom", 20))); + lp.put("margin_left", toInt(margins.getOrDefault("left", 20))); + lp.put("margin_right", toInt(margins.getOrDefault("right", 20))); lp.put("components", componentsJson); - lp.put("updatedBy", userId); - lp.put("createdBy", userId); + lp.put("updated_by", userId); + lp.put("created_by", userId); if (existing != null) { sqlSession.update("report.updateReportLayout", lp); } else { - lp.put("layoutId", "LAY_" + UUID.randomUUID().toString().replace("-", "").substring(0, 20)); + lp.put("layout_id", "LAY_" + UUID.randomUUID().toString().replace("-", "").substring(0, 20)); sqlSession.insert("report.insertReportLayout", lp); } @@ -229,17 +229,17 @@ public class ReportService extends BaseService { if (queriesObj instanceof List) { List> queries = (List>) queriesObj; if (!queries.isEmpty()) { - sqlSession.delete("report.deleteReportQueriesByReportId", Map.of("reportId", reportId)); + sqlSession.delete("report.deleteReportQueriesByReportId", Map.of("report_id", reportId)); for (int i = 0; i < queries.size(); i++) { Map q = queries.get(i); String queryId = q.get("id") != null ? String.valueOf(q.get("id")) : "QRY_" + UUID.randomUUID().toString().replace("-", "").substring(0, 20); Map qp = new HashMap<>(); - qp.put("queryId", queryId); - qp.put("reportId", reportId); - qp.put("queryName", q.get("name")); - qp.put("queryType", q.get("type")); - qp.put("sqlQuery", q.get("sqlQuery")); + qp.put("query_id", queryId); + qp.put("report_id", reportId); + qp.put("query_name", q.get("name")); + qp.put("query_type", q.get("type")); + qp.put("sql_query", q.get("sql_query")); Object paramList = q.get("parameters"); try { qp.put("parameters", paramList != null @@ -247,38 +247,38 @@ public class ReportService extends BaseService { } catch (Exception e) { qp.put("parameters", "[]"); } - qp.put("externalConnectionId", q.get("externalConnectionId")); - qp.put("displayOrder", i); - qp.put("createdBy", userId); + qp.put("external_connection_id", q.get("external_connection_id")); + qp.put("display_order", i); + qp.put("created_by", userId); sqlSession.insert("report.insertReportQuery", qp); } } } // 메뉴 매핑 저장 - Object menuObjidsObj = params.get("menuObjids"); + Object menuObjidsObj = params.get("menu_objids"); if (menuObjidsObj instanceof List) { List menuObjids = (List) menuObjidsObj; - sqlSession.delete("report.deleteReportMenuMappingsByReportId", Map.of("reportId", reportId)); + sqlSession.delete("report.deleteReportMenuMappingsByReportId", Map.of("report_id", reportId)); if (!menuObjids.isEmpty()) { // 회사코드 조회 Map rInfo = sqlSession.selectOne("report.getReportInfo", - Map.of("reportId", reportId, "companyCode", "*")); + Map.of("report_id", reportId, "company_code", "*")); String companyCode = rInfo != null ? String.valueOf(rInfo.getOrDefault("company_code", "*")) : "*"; for (Object menuObjid : menuObjids) { Map mp = new HashMap<>(); - mp.put("reportId", reportId); - mp.put("menuObjid", menuObjid); - mp.put("companyCode", companyCode); - mp.put("createdBy", userId); + mp.put("report_id", reportId); + mp.put("menu_objid", menuObjid); + mp.put("company_code", companyCode); + mp.put("created_by", userId); sqlSession.insert("report.insertReportMenuMapping", mp); } } } Map result = new LinkedHashMap<>(); - result.put("reportId", reportId); + result.put("report_id", reportId); result.put("success", true); return result; } @@ -286,12 +286,12 @@ public class ReportService extends BaseService { // ── Query Execution ─────────────────────────────────────────────────────── public Map executeQuery(Map params) { - String reportId = String.valueOf(params.get("reportId")); - String queryId = String.valueOf(params.get("queryId")); + String reportId = String.valueOf(params.get("report_id")); + String queryId = String.valueOf(params.get("query_id")); Map parameters = params.get("parameters") instanceof Map ? (Map) params.get("parameters") : new HashMap<>(); - String directSql = (String) params.get("sqlQuery"); - Object extConnObj = params.get("externalConnectionId"); + String directSql = (String) params.get("sql_query"); + Object extConnObj = params.get("external_connection_id"); String sqlQuery; Long connectionId = null; @@ -301,7 +301,7 @@ public class ReportService extends BaseService { connectionId = extConnObj != null ? toLong(extConnObj) : null; } else { Map qRow = sqlSession.selectOne("report.getReportQueryById", - Map.of("queryId", queryId, "reportId", reportId)); + Map.of("query_id", queryId, "report_id", reportId)); if (qRow == null) throw new NoSuchElementException("쿼리를 찾을 수 없습니다."); sqlQuery = String.valueOf(qRow.get("sql_query")); Object extId = qRow.get("external_connection_id"); @@ -350,13 +350,13 @@ public class ReportService extends BaseService { @Transactional public Map createTemplate(Map params) { String templateId = "TPL_" + UUID.randomUUID().toString().replace("-", "").substring(0, 20); - params.put("templateId", templateId); + params.put("template_id", templateId); // layoutConfig/defaultQueries가 객체면 JSON 문자열로 변환 - serializeJsonField(params, "layoutConfig"); - serializeJsonField(params, "defaultQueries"); + serializeJsonField(params, "layout_config"); + serializeJsonField(params, "default_queries"); sqlSession.insert("report.insertReportTemplate", params); Map result = new LinkedHashMap<>(); - result.put("templateId", templateId); + result.put("template_id", templateId); return result; } @@ -373,17 +373,17 @@ public class ReportService extends BaseService { @Transactional public Map saveAsTemplate(Map params) { - String reportId = String.valueOf(params.get("reportId")); - String userId = (String) params.getOrDefault("userId", "SYSTEM"); - Map companyFilter = Map.of("reportId", reportId, "companyCode", "*"); + String reportId = String.valueOf(params.get("report_id")); + String userId = (String) params.getOrDefault("user_id", "SYSTEM"); + Map companyFilter = Map.of("report_id", reportId, "company_code", "*"); Map report = sqlSession.selectOne("report.getReportInfo", companyFilter); if (report == null) throw new NoSuchElementException("리포트를 찾을 수 없습니다."); - Map layout = sqlSession.selectOne("report.getReportLayout", Map.of("reportId", reportId)); + Map layout = sqlSession.selectOne("report.getReportLayout", Map.of("report_id", reportId)); if (layout == null) throw new IllegalStateException("레이아웃을 찾을 수 없습니다."); - List> queries = sqlSession.selectList("report.getReportQueryList", Map.of("reportId", reportId)); + List> queries = sqlSession.selectList("report.getReportQueryList", Map.of("report_id", reportId)); Map layoutConfig = new LinkedHashMap<>(); layoutConfig.put("width", layout.get("canvas_width")); @@ -408,24 +408,24 @@ public class ReportService extends BaseService { Map dq = new LinkedHashMap<>(); dq.put("name", q.get("query_name")); dq.put("type", q.get("query_type")); - dq.put("sqlQuery", q.get("sql_query")); + dq.put("sql_query", q.get("sql_query")); dq.put("parameters", q.getOrDefault("parameters", "[]")); - dq.put("externalConnectionId", q.get("external_connection_id")); - dq.put("displayOrder", q.get("display_order")); + dq.put("external_connection_id", q.get("external_connection_id")); + dq.put("display_order", q.get("display_order")); defaultQueries.add(dq); } } Map tp = new HashMap<>(params); - tp.put("templateType", report.get("report_type")); - tp.put("createdBy", userId); - tp.put("sortOrder", 999); + tp.put("template_type", report.get("report_type")); + tp.put("created_by", userId); + tp.put("sort_order", 999); try { - tp.put("layoutConfig", objectMapper.writeValueAsString(layoutConfig)); - tp.put("defaultQueries", objectMapper.writeValueAsString(defaultQueries)); + tp.put("layout_config", objectMapper.writeValueAsString(layoutConfig)); + tp.put("default_queries", objectMapper.writeValueAsString(defaultQueries)); } catch (Exception e) { - tp.put("layoutConfig", "{}"); - tp.put("defaultQueries", "[]"); + tp.put("layout_config", "{}"); + tp.put("default_queries", "[]"); } return createTemplate(tp); } diff --git a/backend-spring/src/main/java/com/erp/service/RiskAlertService.java b/backend-spring/src/main/java/com/erp/service/RiskAlertService.java index db1922a2..59e380b4 100644 --- a/backend-spring/src/main/java/com/erp/service/RiskAlertService.java +++ b/backend-spring/src/main/java/com/erp/service/RiskAlertService.java @@ -34,10 +34,10 @@ public class RiskAlertService extends BaseService { Map result = new LinkedHashMap<>(); result.put("refreshed", true); - result.put("weatherCount", weatherCount); - result.put("accidentCount", accidentCount); - result.put("roadworkCount", roadworkCount); - result.put("totalCount", weatherCount + accidentCount + roadworkCount); + result.put("weather_count", weatherCount); + result.put("accident_count", accidentCount); + result.put("roadwork_count", roadworkCount); + result.put("total_count", weatherCount + accidentCount + roadworkCount); return result; } @@ -45,8 +45,8 @@ public class RiskAlertService extends BaseService { // 기상 알림 조회 // ────────────────────────────────────────────────────────────────────────── public List> getWeatherAlerts(Map params) { - params.put("alertType", "weather"); - params.put("isActive", "Y"); + params.put("alert_type", "weather"); + params.put("is_active", "Y"); return sqlSession.selectList("riskAlert.getAlertsByType", params); } @@ -54,8 +54,8 @@ public class RiskAlertService extends BaseService { // 사고 알림 조회 // ────────────────────────────────────────────────────────────────────────── public List> getAccidentAlerts(Map params) { - params.put("alertType", "accident"); - params.put("isActive", "Y"); + params.put("alert_type", "accident"); + params.put("is_active", "Y"); return sqlSession.selectList("riskAlert.getAlertsByType", params); } @@ -63,8 +63,8 @@ public class RiskAlertService extends BaseService { // 공사 알림 조회 // ────────────────────────────────────────────────────────────────────────── public List> getRoadworkAlerts(Map params) { - params.put("alertType", "roadwork"); - params.put("isActive", "Y"); + params.put("alert_type", "roadwork"); + params.put("is_active", "Y"); return sqlSession.selectList("riskAlert.getAlertsByType", params); } @@ -73,8 +73,8 @@ public class RiskAlertService extends BaseService { // ────────────────────────────────────────────────────────────────────────── private Map buildTypeParams(Map base, String alertType) { Map p = new HashMap<>(base); - p.put("alertType", alertType); - p.put("isActive", "Y"); + p.put("alert_type", alertType); + p.put("is_active", "Y"); return p; } } diff --git a/backend-spring/src/main/java/com/erp/service/RoleService.java b/backend-spring/src/main/java/com/erp/service/RoleService.java index 5b4da3d9..2390a008 100644 --- a/backend-spring/src/main/java/com/erp/service/RoleService.java +++ b/backend-spring/src/main/java/com/erp/service/RoleService.java @@ -47,11 +47,11 @@ public class RoleService extends BaseService { Object objid = params.get("objid"); // 연관 데이터 먼저 삭제 Map memberParams = new HashMap<>(); - memberParams.put("masterObjid", objid); + memberParams.put("master_objid", objid); sqlSession.delete("role.deleteAllRoleMembers", memberParams); Map menuParams = new HashMap<>(); - menuParams.put("authObjid", objid); + menuParams.put("auth_objid", objid); sqlSession.delete("role.deleteMenuPermissions", menuParams); sqlSession.delete("role.deleteRoleGroup", params); @@ -68,23 +68,23 @@ public class RoleService extends BaseService { @Transactional public void addRoleMembers(Map params) { - List userIds = getStringList(params, "userIds"); + List userIds = getStringList(params, "user_ids"); if (userIds.isEmpty()) return; Map insertParams = new HashMap<>(params); - insertParams.put("userIds", userIds); + insertParams.put("user_ids", userIds); sqlSession.insert("role.insertRoleMembers", insertParams); } @Transactional public void updateRoleMembers(Map params) { - Object masterObjid = params.get("masterObjid"); - List newUserIds = getStringList(params, "userIds"); + Object masterObjid = params.get("master_objid"); + List newUserIds = getStringList(params, "user_ids"); String writer = (String) params.getOrDefault("writer", "SYSTEM"); // 기존 멤버 조회 Map findParams = new HashMap<>(); - findParams.put("masterObjid", masterObjid); + findParams.put("master_objid", masterObjid); List> existingMembers = sqlSession.selectList("role.getRoleMemberList", findParams); List existingIds = existingMembers.stream() .map(m -> (String) m.get("user_id")) @@ -101,15 +101,15 @@ public class RoleService extends BaseService { if (!toAdd.isEmpty()) { Map addParams = new HashMap<>(); - addParams.put("masterObjid", masterObjid); - addParams.put("userIds", toAdd); + addParams.put("master_objid", masterObjid); + addParams.put("user_ids", toAdd); addParams.put("writer", writer); sqlSession.insert("role.insertRoleMembers", addParams); } if (!toRemove.isEmpty()) { Map removeParams = new HashMap<>(); - removeParams.put("masterObjid", masterObjid); - removeParams.put("userIds", toRemove); + removeParams.put("master_objid", masterObjid); + removeParams.put("user_ids", toRemove); sqlSession.delete("role.deleteRoleMembers", removeParams); } log.info("권한 그룹 멤버 업데이트: masterObjid={}, added={}, removed={}", @@ -118,11 +118,11 @@ public class RoleService extends BaseService { @Transactional public void removeRoleMembers(Map params) { - List userIds = getStringList(params, "userIds"); + List userIds = getStringList(params, "user_ids"); if (userIds.isEmpty()) return; Map deleteParams = new HashMap<>(params); - deleteParams.put("userIds", userIds); + deleteParams.put("user_ids", userIds); sqlSession.delete("role.deleteRoleMembers", deleteParams); } @@ -136,18 +136,18 @@ public class RoleService extends BaseService { @Transactional public void setMenuPermissions(Map params) { - Object authObjid = params.get("authObjid"); + Object authObjid = params.get("auth_objid"); List permissions = (List) params.get("permissions"); String writer = (String) params.getOrDefault("writer", "SYSTEM"); // 기존 권한 전체 삭제 후 재등록 Map deleteParams = new HashMap<>(); - deleteParams.put("authObjid", authObjid); + deleteParams.put("auth_objid", authObjid); sqlSession.delete("role.deleteMenuPermissions", deleteParams); if (permissions != null && !permissions.isEmpty()) { Map insertParams = new HashMap<>(); - insertParams.put("authObjid", authObjid); + insertParams.put("auth_objid", authObjid); insertParams.put("permissions", permissions); insertParams.put("writer", writer); sqlSession.insert("role.insertMenuPermissions", insertParams); diff --git a/backend-spring/src/main/java/com/erp/service/SalesReportService.java b/backend-spring/src/main/java/com/erp/service/SalesReportService.java index 8a393d67..d9c01eb7 100644 --- a/backend-spring/src/main/java/com/erp/service/SalesReportService.java +++ b/backend-spring/src/main/java/com/erp/service/SalesReportService.java @@ -23,8 +23,8 @@ public class SalesReportService extends BaseService { public Map getSalesReportList(Map params) { commonService.applyCompanyCodeFilter(params); commonService.applyPagination(params); - int totalCount = sqlSession.selectOne(NS + "getSalesReportListCnt", params); - List> list = sqlSession.selectList(NS + "getSalesReportList", params); + int totalCount = sqlSession.selectOne(NS + "get_sales_report_list_cnt", params); + List> list = sqlSession.selectList(NS + "get_sales_report_list", params); for (Map row : list) { row.put("unit_price", DecimalUtils.toBigDecimal(row.get("unit_price"))); row.put("order_amt", DecimalUtils.toBigDecimal(row.get("order_amt"))); @@ -36,7 +36,7 @@ public class SalesReportService extends BaseService { public Map getSalesReportSummary(Map params) { commonService.applyCompanyCodeFilter(params); - Map summary = sqlSession.selectOne(NS + "getSalesReportSummary", params); + Map summary = sqlSession.selectOne(NS + "get_sales_report_summary", params); if (summary != null) { summary.put("total_amount", DecimalUtils.toBigDecimal(summary.get("total_amount"))); summary.put("avg_unit_price", DecimalUtils.toBigDecimal(summary.get("avg_unit_price"))); @@ -48,15 +48,15 @@ public class SalesReportService extends BaseService { public Map getSalesReportData(Map params) { commonService.applyCompanyCodeFilter(params); - List> rows = sqlSession.selectList(NS + "getSalesReportDataRows", params); + List> rows = sqlSession.selectList(NS + "get_sales_report_data_rows", params); for (Map row : rows) { row.put("unit_price", DecimalUtils.toBigDecimal(row.get("unit_price"))); row.put("order_amt", DecimalUtils.toBigDecimal(row.get("order_amt"))); row.put("order_qty", DecimalUtils.toBigDecimal(row.get("order_qty"))); row.put("ship_qty", DecimalUtils.toBigDecimal(row.get("ship_qty"))); } - List> customers = sqlSession.selectList(NS + "getSalesReportCustomers", params); - List> statuses = sqlSession.selectList(NS + "getSalesReportStatuses", params); + List> customers = sqlSession.selectList(NS + "get_sales_report_customers", params); + List> statuses = sqlSession.selectList(NS + "get_sales_report_statuses", params); // 데이터에서 품목 목록 추출 (중복 제거) Map itemSet = new LinkedHashMap<>(); @@ -82,8 +82,8 @@ public class SalesReportService extends BaseService { Map result = new HashMap<>(); result.put("rows", rows); - result.put("filterOptions", filterOptions); - result.put("totalCount", rows.size()); + result.put("filter_options", filterOptions); + result.put("total_count", rows.size()); return result; } } diff --git a/backend-spring/src/main/java/com/erp/service/ScheduleService.java b/backend-spring/src/main/java/com/erp/service/ScheduleService.java index 746cb061..800c1ac6 100644 --- a/backend-spring/src/main/java/com/erp/service/ScheduleService.java +++ b/backend-spring/src/main/java/com/erp/service/ScheduleService.java @@ -21,12 +21,12 @@ public class ScheduleService extends BaseService { public List> getScheduleList(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.selectList(NS + "getScheduleList", params); + return sqlSession.selectList(NS + "get_schedule_list", params); } public Map getScheduleInfo(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.selectOne(NS + "getScheduleInfo", params); + return sqlSession.selectOne(NS + "get_schedule_info", params); } /** @@ -35,11 +35,11 @@ public class ScheduleService extends BaseService { @SuppressWarnings("unchecked") public Map previewSchedule(Map params) { Map config = (Map) params.get("config"); - List> sourceData = (List>) params.get("sourceData"); + List> sourceData = (List>) params.get("source_data"); Map period = (Map) params.get("period"); - String companyCode = (String) params.get("companyCode"); + String companyCode = (String) params.get("company_code"); - if (config == null || config.get("scheduleType") == null) { + if (config == null || config.get("schedule_type") == null) { throw new IllegalArgumentException("스케줄 설정(config)이 필요합니다."); } if (sourceData == null || sourceData.isEmpty()) { @@ -53,17 +53,17 @@ public class ScheduleService extends BaseService { period.put("end", now.withDayOfMonth(now.lengthOfMonth()).toString()); } - String scheduleType = (String) config.get("scheduleType"); + String scheduleType = (String) config.get("schedule_type"); Map source = (Map) config.get("source"); Map resource = (Map) config.get("resource"); Map rules = config.containsKey("rules") ? (Map) config.get("rules") : new HashMap<>(); - String quantityField = source != null ? (String) source.get("quantityField") : null; - String dueDateField = source != null ? (String) source.get("dueDateField") : null; - String resourceIdField = resource != null ? (String) resource.get("idField") : null; - String resourceNameField = resource != null ? (String) resource.get("nameField") : null; + String quantityField = source != null ? (String) source.get("quantity_field") : null; + String dueDateField = source != null ? (String) source.get("due_date_field") : null; + String resourceIdField = resource != null ? (String) resource.get("id_field") : null; + String resourceNameField = resource != null ? (String) resource.get("name_field") : null; String resourceType = resource != null ? (String) resource.get("type") : null; - int leadTimeDays = rules.containsKey("leadTimeDays") ? ((Number) rules.get("leadTimeDays")).intValue() : 3; + int leadTimeDays = rules.containsKey("lead_time_days") ? ((Number) rules.get("lead_time_days")).intValue() : 3; String periodEnd = (String) period.get("end"); // 소스 데이터를 리소스별(+기준일)로 그룹화 @@ -132,7 +132,7 @@ public class ScheduleService extends BaseService { schedule.put("due_date", effectiveDueDate); schedule.put("plan_qty", qty); schedule.put("status", "PLANNED"); - schedule.put("source_table", source != null ? source.get("tableName") : null); + schedule.put("source_table", source != null ? source.get("table_name") : null); schedule.put("source_group_key", resId); schedule.put("auto_generated", true); toCreate.add(schedule); @@ -144,28 +144,28 @@ public class ScheduleService extends BaseService { List resourceIds = grouped.keySet().stream() .map(k -> k.split("\\|")[0]).distinct().collect(Collectors.toList()); Map existParams = new HashMap<>(); - existParams.put("companyCode", companyCode); - existParams.put("scheduleType", scheduleType); - existParams.put("resourceIds", resourceIds); - existParams.put("periodStart", period.get("start")); - existParams.put("periodEnd", period.get("end")); + existParams.put("company_code", companyCode); + existParams.put("schedule_type", scheduleType); + existParams.put("resource_ids", resourceIds); + existParams.put("period_start", period.get("start")); + existParams.put("period_end", period.get("end")); try { - toDelete = sqlSession.selectList(NS + "getExistingScheduleList", existParams); + toDelete = sqlSession.selectList(NS + "get_existing_schedule_list", existParams); } catch (Exception e) { log.warn("기존 스케줄 조회 실패: {}", e.getMessage()); } } Map summary = new LinkedHashMap<>(); - summary.put("createCount", toCreate.size()); - summary.put("deleteCount", toDelete.size()); - summary.put("updateCount", 0); - summary.put("totalQty", totalQty); + summary.put("create_count", toCreate.size()); + summary.put("delete_count", toDelete.size()); + summary.put("update_count", 0); + summary.put("total_qty", totalQty); Map preview = new LinkedHashMap<>(); - preview.put("toCreate", toCreate); - preview.put("toDelete", toDelete); - preview.put("toUpdate", Collections.emptyList()); + preview.put("to_create", toCreate); + preview.put("to_delete", toDelete); + preview.put("to_update", Collections.emptyList()); preview.put("summary", summary); return preview; } @@ -178,16 +178,16 @@ public class ScheduleService extends BaseService { public Map applySchedules(Map params) { Map preview = (Map) params.get("preview"); Map options = (Map) params.get("options"); - String companyCode = (String) params.get("companyCode"); - String userId = params.containsKey("userId") ? (String) params.get("userId") : "system"; + String companyCode = (String) params.get("company_code"); + String userId = params.containsKey("user_id") ? (String) params.get("user_id") : "system"; if (preview == null) { throw new IllegalArgumentException("미리보기(preview)가 필요합니다."); } - List> toDelete = (List>) preview.getOrDefault("toDelete", Collections.emptyList()); - List> toCreate = (List>) preview.getOrDefault("toCreate", Collections.emptyList()); - boolean deleteExisting = options == null || !Boolean.FALSE.equals(options.get("deleteExisting")); + List> toDelete = (List>) preview.getOrDefault("to_delete", Collections.emptyList()); + List> toCreate = (List>) preview.getOrDefault("to_create", Collections.emptyList()); + boolean deleteExisting = options == null || !Boolean.FALSE.equals(options.get("delete_existing")); int deleted = 0; if (deleteExisting && !toDelete.isEmpty()) { @@ -199,9 +199,9 @@ public class ScheduleService extends BaseService { .filter(Objects::nonNull).collect(Collectors.toList()); if (!deleteIds.isEmpty()) { Map deleteParams = new HashMap<>(); - deleteParams.put("companyCode", companyCode); - deleteParams.put("idList", deleteIds); - sqlSession.delete(NS + "deleteSchedulesByIdList", deleteParams); + deleteParams.put("company_code", companyCode); + deleteParams.put("id_list", deleteIds); + sqlSession.delete(NS + "delete_schedules_by_id_list", deleteParams); deleted = deleteIds.size(); } } @@ -209,11 +209,11 @@ public class ScheduleService extends BaseService { int created = 0; for (Map schedule : toCreate) { Map insertParams = new HashMap<>(schedule); - insertParams.put("companyCode", companyCode); + insertParams.put("company_code", companyCode); insertParams.put("generated_by", userId); insertParams.put("created_by", userId); insertParams.put("updated_by", userId); - sqlSession.insert(NS + "insertSchedule", insertParams); + sqlSession.insert(NS + "insert_schedule", insertParams); created++; } @@ -226,19 +226,19 @@ public class ScheduleService extends BaseService { @Transactional public int insertSchedule(Map params) { - return sqlSession.insert(NS + "insertSchedule", params); + return sqlSession.insert(NS + "insert_schedule", params); } @Transactional public int updateSchedule(Map params) { commonService.applyCompanyCodeFilter(params); - return sqlSession.update(NS + "updateSchedule", params); + return sqlSession.update(NS + "update_schedule", params); } @Transactional public Map deleteSchedule(Map params) { commonService.applyCompanyCodeFilter(params); - int affected = sqlSession.delete(NS + "deleteSchedule", params); + int affected = sqlSession.delete(NS + "delete_schedule", params); if (affected == 0) { Map result = new HashMap<>(); result.put("success", false); @@ -247,11 +247,11 @@ public class ScheduleService extends BaseService { } try { Map historyParams = new HashMap<>(); - historyParams.put("companyCode", params.get("companyCode")); - historyParams.put("scheduleId", params.get("scheduleId")); + historyParams.put("company_code", params.get("company_code")); + historyParams.put("schedule_id", params.get("schedule_id")); historyParams.put("action", "DELETE"); - historyParams.put("changedBy", params.getOrDefault("userId", "system")); - sqlSession.insert(NS + "insertScheduleHistory", historyParams); + historyParams.put("changed_by", params.getOrDefault("user_id", "system")); + sqlSession.insert(NS + "insert_schedule_history", historyParams); } catch (Exception e) { log.warn("스케줄 이력 저장 실패 (무시): {}", e.getMessage()); } diff --git a/backend-spring/src/main/java/com/erp/service/ScreenEmbeddingService.java b/backend-spring/src/main/java/com/erp/service/ScreenEmbeddingService.java index 5d10a86f..44e86e51 100644 --- a/backend-spring/src/main/java/com/erp/service/ScreenEmbeddingService.java +++ b/backend-spring/src/main/java/com/erp/service/ScreenEmbeddingService.java @@ -46,7 +46,7 @@ public class ScreenEmbeddingService extends BaseService { log.info("화면 임베딩 생성: id={}", id); Map result = sqlSession.selectOne( "screenEmbedding.getScreenEmbeddingInfo", - Map.of("id", id, "companyCode", params.get("companyCode"))); + Map.of("id", id, "company_code", params.get("company_code"))); if (result != null) parseJsonFields(result, "config"); return result; } @@ -64,7 +64,7 @@ public class ScreenEmbeddingService extends BaseService { log.info("화면 임베딩 수정: id={}", id); Map result = sqlSession.selectOne( "screenEmbedding.getScreenEmbeddingInfo", - Map.of("id", id, "companyCode", params.get("companyCode"))); + Map.of("id", id, "company_code", params.get("company_code"))); if (result != null) parseJsonFields(result, "config"); return result; } @@ -91,25 +91,25 @@ public class ScreenEmbeddingService extends BaseService { @Transactional public Map insertScreenDataTransfer(Map params) { - params.put("dataReceivers", toJsonString(params.get("dataReceivers"))); - params.put("buttonConfig", toJsonString(params.getOrDefault("buttonConfig", new HashMap<>()))); + params.put("data_receivers", toJsonString(params.get("data_receivers"))); + params.put("button_config", toJsonString(params.getOrDefault("button_config", new HashMap<>()))); sqlSession.insert("screenEmbedding.insertScreenDataTransfer", params); long id = toLong(params.get("id")); log.info("데이터 전달 설정 생성: id={}", id); Map result = sqlSession.selectOne( "screenEmbedding.getScreenDataTransferInfoById", - Map.of("id", id, "companyCode", params.get("companyCode"))); + Map.of("id", id, "company_code", params.get("company_code"))); if (result != null) parseJsonFields(result, "data_receivers", "button_config"); return result; } @Transactional public Map updateScreenDataTransfer(Map params) { - if (params.get("dataReceivers") != null) { - params.put("dataReceivers", toJsonString(params.get("dataReceivers"))); + if (params.get("data_receivers") != null) { + params.put("data_receivers", toJsonString(params.get("data_receivers"))); } - if (params.get("buttonConfig") != null) { - params.put("buttonConfig", toJsonString(params.get("buttonConfig"))); + if (params.get("button_config") != null) { + params.put("button_config", toJsonString(params.get("button_config"))); } int updated = sqlSession.update( "screenEmbedding.updateScreenDataTransfer", params); @@ -119,7 +119,7 @@ public class ScreenEmbeddingService extends BaseService { log.info("데이터 전달 설정 수정: id={}", id); Map result = sqlSession.selectOne( "screenEmbedding.getScreenDataTransferInfoById", - Map.of("id", id, "companyCode", params.get("companyCode"))); + Map.of("id", id, "company_code", params.get("company_code"))); if (result != null) parseJsonFields(result, "data_receivers", "button_config"); return result; } @@ -146,62 +146,62 @@ public class ScreenEmbeddingService extends BaseService { @Transactional public Map insertScreenSplitPanel(Map params) { - String companyCode = (String) params.get("companyCode"); - String userId = (String) params.get("userId"); - Object screenId = params.get("screenId"); + String companyCode = (String) params.get("company_code"); + String userId = (String) params.get("user_id"); + Object screenId = params.get("screen_id"); @SuppressWarnings("unchecked") - Map leftEmb = (Map) params.get("leftEmbedding"); + Map leftEmb = (Map) params.get("left_embedding"); @SuppressWarnings("unchecked") - Map rightEmb = (Map) params.get("rightEmbedding"); + Map rightEmb = (Map) params.get("right_embedding"); @SuppressWarnings("unchecked") - Map dt = (Map) params.get("dataTransfer"); + Map dt = (Map) params.get("data_transfer"); // 1. 좌측 임베딩 생성 Map leftP = new HashMap<>(); - leftP.put("parentScreenId", screenId); - leftP.put("childScreenId", leftEmb.get("childScreenId")); + leftP.put("parent_screen_id", screenId); + leftP.put("child_screen_id", leftEmb.get("child_screen_id")); leftP.put("position", leftEmb.get("position")); leftP.put("mode", leftEmb.get("mode")); leftP.put("config", toJsonString(leftEmb.getOrDefault("config", new HashMap<>()))); - leftP.put("companyCode", companyCode); - leftP.put("userId", userId); + leftP.put("company_code", companyCode); + leftP.put("user_id", userId); sqlSession.insert("screenEmbedding.insertScreenEmbedding", leftP); long leftEmbeddingId = toLong(leftP.get("id")); // 2. 우측 임베딩 생성 Map rightP = new HashMap<>(); - rightP.put("parentScreenId", screenId); - rightP.put("childScreenId", rightEmb.get("childScreenId")); + rightP.put("parent_screen_id", screenId); + rightP.put("child_screen_id", rightEmb.get("child_screen_id")); rightP.put("position", rightEmb.get("position")); rightP.put("mode", rightEmb.get("mode")); rightP.put("config", toJsonString(rightEmb.getOrDefault("config", new HashMap<>()))); - rightP.put("companyCode", companyCode); - rightP.put("userId", userId); + rightP.put("company_code", companyCode); + rightP.put("user_id", userId); sqlSession.insert("screenEmbedding.insertScreenEmbedding", rightP); long rightEmbeddingId = toLong(rightP.get("id")); // 3. 데이터 전달 설정 생성 Map dtP = new HashMap<>(); - dtP.put("sourceScreenId", dt.get("sourceScreenId")); - dtP.put("targetScreenId", dt.get("targetScreenId")); - dtP.put("sourceComponentId", dt.get("sourceComponentId")); - dtP.put("sourceComponentType", dt.get("sourceComponentType")); - dtP.put("dataReceivers", toJsonString(dt.get("dataReceivers"))); - dtP.put("buttonConfig", toJsonString(dt.getOrDefault("buttonConfig", new HashMap<>()))); - dtP.put("companyCode", companyCode); - dtP.put("userId", userId); + dtP.put("source_screen_id", dt.get("source_screen_id")); + dtP.put("target_screen_id", dt.get("target_screen_id")); + dtP.put("source_component_id", dt.get("source_component_id")); + dtP.put("source_component_type", dt.get("source_component_type")); + dtP.put("data_receivers", toJsonString(dt.get("data_receivers"))); + dtP.put("button_config", toJsonString(dt.getOrDefault("button_config", new HashMap<>()))); + dtP.put("company_code", companyCode); + dtP.put("user_id", userId); sqlSession.insert("screenEmbedding.insertScreenDataTransfer", dtP); long dataTransferId = toLong(dtP.get("id")); // 4. 분할 패널 생성 Map spP = new HashMap<>(); - spP.put("screenId", screenId); - spP.put("leftEmbeddingId", leftEmbeddingId); - spP.put("rightEmbeddingId", rightEmbeddingId); - spP.put("dataTransferId", dataTransferId); - spP.put("layoutConfig", toJsonString(params.getOrDefault("layoutConfig", new HashMap<>()))); - spP.put("companyCode", companyCode); + spP.put("screen_id", screenId); + spP.put("left_embedding_id", leftEmbeddingId); + spP.put("right_embedding_id", rightEmbeddingId); + spP.put("data_transfer_id", dataTransferId); + spP.put("layout_config", toJsonString(params.getOrDefault("layout_config", new HashMap<>()))); + spP.put("company_code", companyCode); sqlSession.insert("screenEmbedding.insertScreenSplitPanel", spP); long splitPanelId = toLong(spP.get("id")); @@ -209,7 +209,7 @@ public class ScreenEmbeddingService extends BaseService { Map fetchP = new HashMap<>(); fetchP.put("id", splitPanelId); - fetchP.put("companyCode", companyCode); + fetchP.put("company_code", companyCode); Map result = sqlSession.selectOne( "screenEmbedding.getScreenSplitPanelInfoById", fetchP); if (result != null) parseJsonFields(result, "layout_config"); @@ -218,7 +218,7 @@ public class ScreenEmbeddingService extends BaseService { @Transactional public Map updateScreenSplitPanel(Map params) { - params.put("layoutConfig", toJsonString(params.get("layoutConfig"))); + params.put("layout_config", toJsonString(params.get("layout_config"))); int updated = sqlSession.update( "screenEmbedding.updateScreenSplitPanel", params); if (updated == 0) return null; @@ -227,7 +227,7 @@ public class ScreenEmbeddingService extends BaseService { log.info("분할 패널 수정: id={}", id); Map fetchP = new HashMap<>(); fetchP.put("id", id); - fetchP.put("companyCode", params.get("companyCode")); + fetchP.put("company_code", params.get("company_code")); Map result = sqlSession.selectOne( "screenEmbedding.getScreenSplitPanelInfoById", fetchP); if (result != null) parseJsonFields(result, "layout_config"); @@ -241,7 +241,7 @@ public class ScreenEmbeddingService extends BaseService { "screenEmbedding.getScreenSplitPanelInfoById", params); if (panel == null) return false; - String companyCode = (String) params.get("companyCode"); + String companyCode = (String) params.get("company_code"); // 2. 분할 패널 삭제 sqlSession.delete("screenEmbedding.deleteScreenSplitPanel", params); @@ -254,19 +254,19 @@ public class ScreenEmbeddingService extends BaseService { if (leftId != null) { Map p = new HashMap<>(); p.put("id", leftId); - p.put("companyCode", companyCode); + p.put("company_code", companyCode); sqlSession.delete("screenEmbedding.deleteScreenEmbedding", p); } if (rightId != null) { Map p = new HashMap<>(); p.put("id", rightId); - p.put("companyCode", companyCode); + p.put("company_code", companyCode); sqlSession.delete("screenEmbedding.deleteScreenEmbedding", p); } if (dtId != null) { Map p = new HashMap<>(); p.put("id", dtId); - p.put("companyCode", companyCode); + p.put("company_code", companyCode); sqlSession.delete("screenEmbedding.deleteScreenDataTransfer", p); } @@ -282,56 +282,56 @@ public class ScreenEmbeddingService extends BaseService { private Map buildSplitPanelResponse(Map row) { Map result = new LinkedHashMap<>(); result.put("id", row.get("id")); - result.put("screenId", row.get("screenId")); - result.put("leftEmbeddingId", row.get("leftEmbeddingId")); - result.put("rightEmbeddingId", row.get("rightEmbeddingId")); - result.put("dataTransferId", row.get("dataTransferId")); - result.put("layoutConfig", parseJson(row.get("layoutConfig"))); - result.put("companyCode", row.get("companyCode")); - result.put("createdAt", row.get("createdAt")); - result.put("updatedAt", row.get("updatedAt")); + result.put("screen_id", row.get("screen_id")); + result.put("left_embedding_id", row.get("left_embedding_id")); + result.put("right_embedding_id", row.get("right_embedding_id")); + result.put("data_transfer_id", row.get("data_transfer_id")); + result.put("layout_config", parseJson(row.get("layout_config"))); + result.put("company_code", row.get("company_code")); + result.put("created_at", row.get("created_at")); + result.put("updated_at", row.get("updated_at")); // 좌측 임베딩 - if (row.get("leChildScreenId") != null) { + if (row.get("le_child_screen_id") != null) { Map le = new LinkedHashMap<>(); - le.put("id", row.get("leftEmbeddingId")); - le.put("parentScreenId", row.get("leParentScreenId")); - le.put("childScreenId", row.get("leChildScreenId")); - le.put("position", row.get("lePosition")); - le.put("mode", row.get("leMode")); - le.put("config", parseJson(row.get("leConfig"))); - result.put("leftEmbedding", le); + le.put("id", row.get("left_embedding_id")); + le.put("parent_screen_id", row.get("le_parent_screen_id")); + le.put("child_screen_id", row.get("le_child_screen_id")); + le.put("position", row.get("le_position")); + le.put("mode", row.get("le_mode")); + le.put("config", parseJson(row.get("le_config"))); + result.put("left_embedding", le); } else { - result.put("leftEmbedding", null); + result.put("left_embedding", null); } // 우측 임베딩 - if (row.get("reChildScreenId") != null) { + if (row.get("re_child_screen_id") != null) { Map re = new LinkedHashMap<>(); - re.put("id", row.get("rightEmbeddingId")); - re.put("parentScreenId", row.get("reParentScreenId")); - re.put("childScreenId", row.get("reChildScreenId")); - re.put("position", row.get("rePosition")); - re.put("mode", row.get("reMode")); - re.put("config", parseJson(row.get("reConfig"))); - result.put("rightEmbedding", re); + re.put("id", row.get("right_embedding_id")); + re.put("parent_screen_id", row.get("re_parent_screen_id")); + re.put("child_screen_id", row.get("re_child_screen_id")); + re.put("position", row.get("re_position")); + re.put("mode", row.get("re_mode")); + re.put("config", parseJson(row.get("re_config"))); + result.put("right_embedding", re); } else { - result.put("rightEmbedding", null); + result.put("right_embedding", null); } // 데이터 전달 - if (row.get("sourceScreenId") != null) { + if (row.get("source_screen_id") != null) { Map dt = new LinkedHashMap<>(); - dt.put("id", row.get("dataTransferId")); - dt.put("sourceScreenId", row.get("sourceScreenId")); - dt.put("targetScreenId", row.get("targetScreenId")); - dt.put("sourceComponentId", row.get("sourceComponentId")); - dt.put("sourceComponentType", row.get("sourceComponentType")); - dt.put("dataReceivers", parseJson(row.get("dataReceivers"))); - dt.put("buttonConfig", parseJson(row.get("buttonConfig"))); - result.put("dataTransfer", dt); + dt.put("id", row.get("data_transfer_id")); + dt.put("source_screen_id", row.get("source_screen_id")); + dt.put("target_screen_id", row.get("target_screen_id")); + dt.put("source_component_id", row.get("source_component_id")); + dt.put("source_component_type", row.get("source_component_type")); + dt.put("data_receivers", parseJson(row.get("data_receivers"))); + dt.put("button_config", parseJson(row.get("button_config"))); + result.put("data_transfer", dt); } else { - result.put("dataTransfer", null); + result.put("data_transfer", null); } return result; diff --git a/backend-spring/src/main/java/com/erp/service/ScreenFileService.java b/backend-spring/src/main/java/com/erp/service/ScreenFileService.java index a723753d..7553335c 100644 --- a/backend-spring/src/main/java/com/erp/service/ScreenFileService.java +++ b/backend-spring/src/main/java/com/erp/service/ScreenFileService.java @@ -20,7 +20,7 @@ public class ScreenFileService extends BaseService { log.info("화면 컴포넌트 파일 조회 시작: screenId={}", screenId); Map params = new HashMap<>(); - params.put("targetObjidPattern", "screen_files:" + screenId + ":%"); + params.put("target_objid_pattern", "screen_files:" + screenId + ":%"); List> files = sqlSession.selectList( "screenFile.selectScreenComponentFiles", params); @@ -45,9 +45,9 @@ public class ScreenFileService extends BaseService { Map result = new LinkedHashMap<>(); result.put("success", true); - result.put("componentFiles", componentFiles); - result.put("totalFiles", files.size()); - result.put("componentCount", componentFiles.size()); + result.put("component_files", componentFiles); + result.put("total_files", files.size()); + result.put("component_count", componentFiles.size()); return result; } @@ -59,7 +59,7 @@ public class ScreenFileService extends BaseService { log.info("컴포넌트 파일 조회: screenId={}, componentId={}", screenId, componentId); Map params = new HashMap<>(); - params.put("targetObjidPattern", "screen_files:" + screenId + ":" + componentId + ":%"); + params.put("target_objid_pattern", "screen_files:" + screenId + ":" + componentId + ":%"); List> files = sqlSession.selectList( "screenFile.selectComponentFiles", params); @@ -74,8 +74,8 @@ public class ScreenFileService extends BaseService { Map result = new LinkedHashMap<>(); result.put("success", true); result.put("files", fileList); - result.put("componentId", componentId); - result.put("screenId", screenId); + result.put("component_id", componentId); + result.put("screen_id", screenId); return result; } @@ -84,18 +84,18 @@ public class ScreenFileService extends BaseService { Map mapped = new LinkedHashMap<>(); Object objid = file.get("objid"); mapped.put("objid", objid != null ? objid.toString() : null); - mapped.put("savedFileName", file.get("saved_file_name")); - mapped.put("realFileName", file.get("real_file_name")); + mapped.put("saved_file_name", file.get("saved_file_name")); + mapped.put("real_file_name", file.get("real_file_name")); Object fileSize = file.get("file_size"); - mapped.put("fileSize", fileSize != null ? ((Number) fileSize).longValue() : null); + mapped.put("file_size", fileSize != null ? ((Number) fileSize).longValue() : null); - mapped.put("fileExt", file.get("file_ext")); - mapped.put("filePath", file.get("file_path")); - mapped.put("docType", file.get("doc_type")); - mapped.put("docTypeName", file.get("doc_type_name")); - mapped.put("targetObjid", file.get("target_objid")); - mapped.put("parentTargetObjid", file.get("parent_target_objid")); + mapped.put("file_ext", file.get("file_ext")); + mapped.put("file_path", file.get("file_path")); + mapped.put("doc_type", file.get("doc_type")); + mapped.put("doc_type_name", file.get("doc_type_name")); + mapped.put("target_objid", file.get("target_objid")); + mapped.put("parent_target_objid", file.get("parent_target_objid")); mapped.put("writer", file.get("writer")); Object regdate = file.get("created_date"); diff --git a/backend-spring/src/main/java/com/erp/service/ScreenGroupService.java b/backend-spring/src/main/java/com/erp/service/ScreenGroupService.java index 549218e5..0930f521 100644 --- a/backend-spring/src/main/java/com/erp/service/ScreenGroupService.java +++ b/backend-spring/src/main/java/com/erp/service/ScreenGroupService.java @@ -26,8 +26,8 @@ public class ScreenGroupService extends BaseService { params.put("limit", size); params.put("offset", (page - 1) * size); - int total = sqlSession.selectOne(NS + "countScreenGroups", params); - List> groups = sqlSession.selectList(NS + "selectScreenGroups", params); + int total = sqlSession.selectOne(NS + "count_screen_groups", params); + List> groups = sqlSession.selectList(NS + "select_screen_groups", params); // screens 조립 (별도 쿼리) if (!groups.isEmpty()) { @@ -35,10 +35,10 @@ public class ScreenGroupService extends BaseService { .map(g -> g.get("id")) .collect(Collectors.toList()); Map screenParams = new HashMap<>(); - screenParams.put("groupIds", groupIds); - List> allScreens = sqlSession.selectList(NS + "selectGroupScreensByGroupIds", screenParams); + screenParams.put("group_ids", groupIds); + List> allScreens = sqlSession.selectList(NS + "select_group_screens_by_group_ids", screenParams); Map>> byGroup = allScreens.stream() - .collect(Collectors.groupingBy(s -> s.get("groupId"))); + .collect(Collectors.groupingBy(s -> s.get("group_id"))); for (Map g : groups) { g.put("screens", byGroup.getOrDefault(g.get("id"), Collections.emptyList())); } @@ -50,18 +50,18 @@ public class ScreenGroupService extends BaseService { result.put("total", total); result.put("page", page); result.put("size", size); - result.put("totalPages", (int) Math.ceil((double) total / size)); + result.put("total_pages", (int) Math.ceil((double) total / size)); return result; } public Map getScreenGroup(Map params) { - Map group = sqlSession.selectOne(NS + "selectScreenGroupById", params); + Map group = sqlSession.selectOne(NS + "select_screen_group_by_id", params); if (group == null) return null; List groupIds = Collections.singletonList(group.get("id")); Map sp = new HashMap<>(); - sp.put("groupIds", groupIds); - List> screens = sqlSession.selectList(NS + "selectGroupScreensByGroupIds", sp); + sp.put("group_ids", groupIds); + List> screens = sqlSession.selectList(NS + "select_group_screens_by_group_ids", sp); group.put("screens", screens); return group; } @@ -69,22 +69,22 @@ public class ScreenGroupService extends BaseService { @Transactional public Map createScreenGroup(Map params) { // 부모 그룹 계층 계산 - Object parentGroupId = params.get("parentGroupId"); + Object parentGroupId = params.get("parent_group_id"); int groupLevel = 0; String parentHierarchyPath = ""; if (parentGroupId != null) { Map pp = new HashMap<>(); - pp.put("parentGroupId", parentGroupId); - Map parent = sqlSession.selectOne(NS + "selectParentGroupById", pp); + pp.put("parent_group_id", parentGroupId); + Map parent = sqlSession.selectOne(NS + "select_parent_group_by_id", pp); if (parent != null) { groupLevel = toInt(parent.getOrDefault("group_level", 0)) + 1; parentHierarchyPath = (String) parent.getOrDefault("hierarchy_path", "/" + parentGroupId + "/"); } } - params.put("groupLevel", groupLevel); + params.put("group_level", groupLevel); - sqlSession.insert(NS + "insertScreenGroup", params); + sqlSession.insert(NS + "insert_screen_group", params); Object newId = params.get("id"); // hierarchy_path 업데이트 @@ -96,19 +96,19 @@ public class ScreenGroupService extends BaseService { } Map hp = new HashMap<>(); hp.put("id", newId); - hp.put("hierarchyPath", hierarchyPath); - sqlSession.update(NS + "updateScreenGroupHierarchyPath", hp); + hp.put("hierarchy_path", hierarchyPath); + sqlSession.update(NS + "update_screen_group_hierarchy_path", hp); Map sp = new HashMap<>(); sp.put("id", newId); - return sqlSession.selectOne(NS + "selectScreenGroupById", sp); + return sqlSession.selectOne(NS + "select_screen_group_by_id", sp); } @Transactional public Map updateScreenGroup(Map params) { Object id = params.get("id"); - String userCompanyCode = (String) params.get("companyCode"); - Object parentGroupId = params.get("parentGroupId"); + String userCompanyCode = (String) params.get("company_code"); + Object parentGroupId = params.get("parent_group_id"); // 자기 자신을 부모로 지정하는 것 방지 if (parentGroupId != null && toInt(parentGroupId) == toInt(id)) { @@ -120,8 +120,8 @@ public class ScreenGroupService extends BaseService { String hierarchyPath = "/" + id + "/"; if (parentGroupId != null) { Map pp = new HashMap<>(); - pp.put("parentGroupId", parentGroupId); - Map parent = sqlSession.selectOne(NS + "selectParentGroupById", pp); + pp.put("parent_group_id", parentGroupId); + Map parent = sqlSession.selectOne(NS + "select_parent_group_by_id", pp); if (parent != null) { String parentPath = (String) parent.getOrDefault("hierarchy_path", "/" + parentGroupId + "/"); @@ -133,33 +133,33 @@ public class ScreenGroupService extends BaseService { hierarchyPath = (parentPath + id + "/").replace("//", "/"); } } - params.put("groupLevel", groupLevel); - params.put("hierarchyPath", hierarchyPath); + params.put("group_level", groupLevel); + params.put("hierarchy_path", hierarchyPath); // 최고관리자가 회사 변경하는 경우 - Object targetCompanyCode = params.get("targetCompanyCode"); + Object targetCompanyCode = params.get("target_company_code"); int rows; if ("*".equals(userCompanyCode) && targetCompanyCode != null) { - rows = sqlSession.update(NS + "updateScreenGroupWithCompany", params); + rows = sqlSession.update(NS + "update_screen_group_with_company", params); } else { - rows = sqlSession.update(NS + "updateScreenGroup", params); + rows = sqlSession.update(NS + "update_screen_group", params); } if (rows == 0) { throw new NoSuchElementException("화면 그룹을 찾을 수 없거나 권한이 없습니다."); } Map sp = new HashMap<>(); sp.put("id", id); - return sqlSession.selectOne(NS + "selectScreenGroupById", sp); + return sqlSession.selectOne(NS + "select_screen_group_by_id", sp); } @Transactional public void deleteScreenGroup(Map params) { Object id = params.get("id"); - String companyCode = (String) params.get("companyCode"); - boolean deleteNumberingRules = Boolean.TRUE.equals(params.get("deleteNumberingRules")); + String companyCode = (String) params.get("company_code"); + boolean deleteNumberingRules = Boolean.TRUE.equals(params.get("delete_numbering_rules")); // 대상 그룹의 company_code 확인 - Map target = sqlSession.selectOne(NS + "selectScreenGroupForDelete", params); + Map target = sqlSession.selectOne(NS + "select_screen_group_for_delete", params); if (target == null) { throw new NoSuchElementException("화면 그룹을 찾을 수 없습니다."); } @@ -173,42 +173,42 @@ public class ScreenGroupService extends BaseService { // 하위 그룹 ID 수집 (재귀) Map cp = new HashMap<>(); cp.put("id", id); - cp.put("targetCompanyCode", targetCompanyCode); - List> children = sqlSession.selectList(NS + "selectAllChildGroupIds", cp); + cp.put("target_company_code", targetCompanyCode); + List> children = sqlSession.selectList(NS + "select_all_child_group_ids", cp); List groupIds = children.stream().map(c -> c.get("id")).collect(Collectors.toList()); if (!groupIds.isEmpty()) { // 연결된 메뉴 조회 및 삭제 Map mp = new HashMap<>(); - mp.put("groupIds", groupIds); - mp.put("targetCompanyCode", targetCompanyCode); - List> menus = sqlSession.selectList(NS + "selectMenusByGroupIds", mp); + mp.put("group_ids", groupIds); + mp.put("target_company_code", targetCompanyCode); + List> menus = sqlSession.selectList(NS + "select_menus_by_group_ids", mp); List menuObjids = menus.stream().map(m -> m.get("objid")).collect(Collectors.toList()); if (!menuObjids.isEmpty()) { Map delp = new HashMap<>(); - delp.put("menuObjids", menuObjids); - delp.put("targetCompanyCode", targetCompanyCode); - sqlSession.delete(NS + "deleteScreenMenuAssignmentsByMenuObjids", delp); - sqlSession.delete(NS + "deleteMenusByGroupIds", mp); + delp.put("menu_objids", menuObjids); + delp.put("target_company_code", targetCompanyCode); + sqlSession.delete(NS + "delete_screen_menu_assignments_by_menu_objids", delp); + sqlSession.delete(NS + "delete_menus_by_group_ids", mp); } // 채번 규칙 삭제 (최상위 그룹 + 명시 요청) if (deleteNumberingRules) { Map rp = new HashMap<>(); rp.put("id", id); - int isRoot = sqlSession.selectOne(NS + "isRootGroupById", rp); + int isRoot = sqlSession.selectOne(NS + "is_root_group_by_id", rp); if (isRoot > 0) { Map nrp = new HashMap<>(); - nrp.put("targetCompanyCode", targetCompanyCode); - sqlSession.delete(NS + "deleteNumberingRuleParts", nrp); - sqlSession.delete(NS + "deleteNumberingRules", nrp); + nrp.put("target_company_code", targetCompanyCode); + sqlSession.delete(NS + "delete_numbering_rule_parts", nrp); + sqlSession.delete(NS + "delete_numbering_rules", nrp); } } } // 그룹 삭제 - int deleted = sqlSession.delete(NS + "deleteScreenGroupById", cp); + int deleted = sqlSession.delete(NS + "delete_screen_group_by_id", cp); if (deleted == 0) { throw new NoSuchElementException("화면 그룹을 찾을 수 없거나 권한이 없습니다."); } @@ -220,28 +220,28 @@ public class ScreenGroupService extends BaseService { @Transactional public Map addScreenToGroup(Map params) { - sqlSession.insert(NS + "insertGroupScreen", params); + sqlSession.insert(NS + "insert_group_screen", params); // 삽입 후 조회 - List ids = Collections.singletonList(params.get("groupId")); + List ids = Collections.singletonList(params.get("group_id")); Map sp = new HashMap<>(); - sp.put("groupIds", ids); - List> screens = sqlSession.selectList(NS + "selectGroupScreensByGroupIds", sp); + sp.put("group_ids", ids); + List> screens = sqlSession.selectList(NS + "select_group_screens_by_group_ids", sp); return screens.stream() - .filter(s -> Objects.equals(s.get("screen_id"), params.get("screenId"))) + .filter(s -> Objects.equals(s.get("screen_id"), params.get("screen_id"))) .findFirst() .orElse(params); } @Transactional public Map updateScreenInGroup(Map params) { - int rows = sqlSession.update(NS + "updateGroupScreen", params); + int rows = sqlSession.update(NS + "update_group_screen", params); if (rows == 0) throw new NoSuchElementException("연결을 찾을 수 없거나 권한이 없습니다."); return params; } @Transactional public void removeScreenFromGroup(Map params) { - int rows = sqlSession.delete(NS + "deleteGroupScreen", params); + int rows = sqlSession.delete(NS + "delete_group_screen", params); if (rows == 0) throw new NoSuchElementException("연결을 찾을 수 없거나 권한이 없습니다."); } @@ -250,25 +250,25 @@ public class ScreenGroupService extends BaseService { // ══════════════════════════════════════════════════════════════ public List> getFieldJoins(Map params) { - return sqlSession.selectList(NS + "selectFieldJoins", params); + return sqlSession.selectList(NS + "select_field_joins", params); } @Transactional public Map createFieldJoin(Map params) { - sqlSession.insert(NS + "insertFieldJoin", params); + sqlSession.insert(NS + "insert_field_join", params); return params; } @Transactional public Map updateFieldJoin(Map params) { - int rows = sqlSession.update(NS + "updateFieldJoin", params); + int rows = sqlSession.update(NS + "update_field_join", params); if (rows == 0) throw new NoSuchElementException("필드 조인을 찾을 수 없거나 권한이 없습니다."); return params; } @Transactional public void deleteFieldJoin(Map params) { - int rows = sqlSession.delete(NS + "deleteFieldJoin", params); + int rows = sqlSession.delete(NS + "delete_field_join", params); if (rows == 0) throw new NoSuchElementException("필드 조인을 찾을 수 없거나 권한이 없습니다."); } @@ -277,28 +277,28 @@ public class ScreenGroupService extends BaseService { // ══════════════════════════════════════════════════════════════ public List> getDataFlows(Map params) { - return sqlSession.selectList(NS + "selectDataFlows", params); + return sqlSession.selectList(NS + "select_data_flows", params); } @Transactional public Map createDataFlow(Map params) { // data_mapping을 JSON 문자열로 변환 - convertToJsonString(params, "dataMapping"); - sqlSession.insert(NS + "insertDataFlow", params); + convertToJsonString(params, "data_mapping"); + sqlSession.insert(NS + "insert_data_flow", params); return params; } @Transactional public Map updateDataFlow(Map params) { - convertToJsonString(params, "dataMapping"); - int rows = sqlSession.update(NS + "updateDataFlow", params); + convertToJsonString(params, "data_mapping"); + int rows = sqlSession.update(NS + "update_data_flow", params); if (rows == 0) throw new NoSuchElementException("데이터 흐름을 찾을 수 없거나 권한이 없습니다."); return params; } @Transactional public void deleteDataFlow(Map params) { - int rows = sqlSession.delete(NS + "deleteDataFlow", params); + int rows = sqlSession.delete(NS + "delete_data_flow", params); if (rows == 0) throw new NoSuchElementException("데이터 흐름을 찾을 수 없거나 권한이 없습니다."); } @@ -307,25 +307,25 @@ public class ScreenGroupService extends BaseService { // ══════════════════════════════════════════════════════════════ public List> getTableRelations(Map params) { - return sqlSession.selectList(NS + "selectTableRelations", params); + return sqlSession.selectList(NS + "select_table_relations", params); } @Transactional public Map createTableRelation(Map params) { - sqlSession.insert(NS + "insertTableRelation", params); + sqlSession.insert(NS + "insert_table_relation", params); return params; } @Transactional public Map updateTableRelation(Map params) { - int rows = sqlSession.update(NS + "updateTableRelation", params); + int rows = sqlSession.update(NS + "update_table_relation", params); if (rows == 0) throw new NoSuchElementException("화면-테이블 관계를 찾을 수 없거나 권한이 없습니다."); return params; } @Transactional public void deleteTableRelation(Map params) { - int rows = sqlSession.delete(NS + "deleteTableRelation", params); + int rows = sqlSession.delete(NS + "delete_table_relation", params); if (rows == 0) throw new NoSuchElementException("화면-테이블 관계를 찾을 수 없거나 권한이 없습니다."); } @@ -334,7 +334,7 @@ public class ScreenGroupService extends BaseService { // ══════════════════════════════════════════════════════════════ public Map getScreenLayoutSummary(Map params) { - List> rows = sqlSession.selectList(NS + "selectLayoutComponents", params); + List> rows = sqlSession.selectList(NS + "select_layout_components", params); Map widgetCounts = new LinkedHashMap<>(); List labels = new ArrayList<>(); @@ -349,8 +349,8 @@ public class ScreenGroupService extends BaseService { labels.add(label); Map field = new LinkedHashMap<>(); field.put("label", label); - field.put("widgetType", widgetType); - field.put("fieldName", row.get("field_name")); + field.put("widget_type", widgetType); + field.put("field_name", row.get("field_name")); fields.add(field); } } @@ -366,10 +366,10 @@ public class ScreenGroupService extends BaseService { } Map data = new LinkedHashMap<>(); - data.put("screenId", toInt(params.get("screenId"))); - data.put("screenType", screenType); - data.put("widgetCounts", widgetCounts); - data.put("totalComponents", rows.size()); + data.put("screen_id", toInt(params.get("screen_id"))); + data.put("screen_type", screenType); + data.put("widget_counts", widgetCounts); + data.put("total_components", rows.size()); data.put("fields", fields.subList(0, Math.min(fields.size(), 10))); data.put("labels", labels.subList(0, Math.min(labels.size(), 8))); return data; @@ -379,20 +379,20 @@ public class ScreenGroupService extends BaseService { if (screenIds == null || screenIds.isEmpty()) return new LinkedHashMap<>(); Map params = new HashMap<>(); - params.put("screenIds", screenIds); - List> rows = sqlSession.selectList(NS + "selectMultipleLayoutComponents", params); + params.put("screen_ids", screenIds); + List> rows = sqlSession.selectList(NS + "select_multiple_layout_components", params); // 화면별 summary 초기화 Map> summaryMap = new LinkedHashMap<>(); for (Integer sid : screenIds) { Map s = new LinkedHashMap<>(); - s.put("screenId", sid); - s.put("screenType", "form"); - s.put("widgetCounts", new LinkedHashMap()); - s.put("totalComponents", 0); - s.put("layoutItems", new ArrayList>()); - s.put("canvasWidth", 0); - s.put("canvasHeight", 0); + s.put("screen_id", sid); + s.put("screen_type", "form"); + s.put("widget_counts", new LinkedHashMap()); + s.put("total_components", 0); + s.put("layout_items", new ArrayList>()); + s.put("canvas_width", 0); + s.put("canvas_height", 0); summaryMap.put(sid, s); } @@ -407,42 +407,42 @@ public class ScreenGroupService extends BaseService { String widgetType = row.get("widget_type") != null ? (String) row.get("widget_type") : "text"; @SuppressWarnings("unchecked") - Map wc = (Map) summary.get("widgetCounts"); + Map wc = (Map) summary.get("widget_counts"); wc.merge(componentKind, 1, Integer::sum); - summary.put("totalComponents", toInt(summary.get("totalComponents")) + 1); + summary.put("total_components", toInt(summary.get("total_components")) + 1); Map item = new LinkedHashMap<>(); item.put("x", row.getOrDefault("position_x", 0)); item.put("y", row.getOrDefault("position_y", 0)); item.put("width", row.getOrDefault("width", 100)); item.put("height", row.getOrDefault("height", 30)); - item.put("componentKind", componentKind); - item.put("widgetType", widgetType); + item.put("component_kind", componentKind); + item.put("widget_type", widgetType); item.put("label", row.get("label")); - item.put("bindField", row.get("bind_field")); - item.put("usedColumns", new ArrayList<>()); - item.put("joinColumns", new ArrayList<>()); + item.put("bind_field", row.get("bind_field")); + item.put("used_columns", new ArrayList<>()); + item.put("join_columns", new ArrayList<>()); @SuppressWarnings("unchecked") - List> layoutItems = (List>) summary.get("layoutItems"); + List> layoutItems = (List>) summary.get("layout_items"); layoutItems.add(item); int rightEdge = toInt(row.getOrDefault("position_x", 0)) + toInt(row.getOrDefault("width", 100)); int bottomEdge = toInt(row.getOrDefault("position_y", 0)) + toInt(row.getOrDefault("height", 30)); - if (rightEdge > toInt(summary.get("canvasWidth"))) summary.put("canvasWidth", rightEdge); - if (bottomEdge > toInt(summary.get("canvasHeight"))) summary.put("canvasHeight", bottomEdge); + if (rightEdge > toInt(summary.get("canvas_width"))) summary.put("canvas_width", rightEdge); + if (bottomEdge > toInt(summary.get("canvas_height"))) summary.put("canvas_height", bottomEdge); } // 화면 타입 추론 summaryMap.values().forEach(summary -> { @SuppressWarnings("unchecked") - Map wc = (Map) summary.get("widgetCounts"); + Map wc = (Map) summary.get("widget_counts"); if (wc.getOrDefault("table-list", 0) > 0) { - summary.put("screenType", "grid"); + summary.put("screen_type", "grid"); } else if (wc.getOrDefault("table-search-widget", 0) > 1) { - summary.put("screenType", "dashboard"); - } else if (toInt(summary.get("totalComponents")) <= 5 && wc.getOrDefault("button-primary", 0) > 0) { - summary.put("screenType", "action"); + summary.put("screen_type", "dashboard"); + } else if (toInt(summary.get("total_components")) <= 5 && wc.getOrDefault("button-primary", 0) > 0) { + summary.put("screen_type", "action"); } }); @@ -459,10 +459,10 @@ public class ScreenGroupService extends BaseService { if (screenIds == null || screenIds.isEmpty()) return new LinkedHashMap<>(); Map p = new HashMap<>(); - p.put("screenIds", screenIds); + p.put("screen_ids", screenIds); // ── 1. 컴포넌트 config 기반 서브 테이블 수집 ───────────────── - List> compRows = sqlSession.selectList(NS + "selectSubTableComponentConfigs", p); + List> compRows = sqlSession.selectList(NS + "select_sub_table_component_configs", p); // column label lookup 수집 List> columnPairs = new ArrayList<>(); @@ -474,11 +474,11 @@ public class ScreenGroupService extends BaseService { String mainTable = (String) row.get("main_table"); String subTable = (String) row.get("sub_table"); fieldMappings.forEach(fm -> { - if (fm.get("sourceField") != null && subTable != null) { - columnPairs.add(pairOf(subTable, (String) fm.get("sourceField"))); + if (fm.get("source_field") != null && subTable != null) { + columnPairs.add(pairOf(subTable, (String) fm.get("source_field"))); } - if (fm.get("targetField") != null && mainTable != null) { - columnPairs.add(pairOf(mainTable, (String) fm.get("targetField"))); + if (fm.get("target_field") != null && mainTable != null) { + columnPairs.add(pairOf(mainTable, (String) fm.get("target_field"))); } }); } @@ -489,7 +489,7 @@ public class ScreenGroupService extends BaseService { if (!columnPairs.isEmpty()) { Map lp = new HashMap<>(); lp.put("pairs", columnPairs); - sqlSession.>selectList(NS + "selectColumnLabelsByPairs", lp) + sqlSession.>selectList(NS + "select_column_labels_by_pairs", lp) .forEach(r -> colLabelMap.put(r.get("table_name") + "." + r.get("column_name"), (String) r.get("column_label"))); } @@ -506,8 +506,8 @@ public class ScreenGroupService extends BaseService { @SuppressWarnings("unchecked") List> subTables = (List>) - screenSubTables.get(sid).get("subTables"); - boolean exists = subTables.stream().anyMatch(st -> subTable.equals(st.get("tableName"))); + screenSubTables.get(sid).get("sub_tables"); + boolean exists = subTables.stream().anyMatch(st -> subTable.equals(st.get("table_name"))); if (exists) return; String componentType = (String) row.get("component_type"); @@ -515,15 +515,15 @@ public class ScreenGroupService extends BaseService { List> fieldMappings = buildFieldMappings(row, subTable, mainTable, colLabelMap); Map stEntry = new LinkedHashMap<>(); - stEntry.put("tableName", subTable); - stEntry.put("componentType", componentType); - stEntry.put("relationType", relationType); - if (fieldMappings != null) stEntry.put("fieldMappings", fieldMappings); + stEntry.put("table_name", subTable); + stEntry.put("component_type", componentType); + stEntry.put("relation_type", relationType); + if (fieldMappings != null) stEntry.put("field_mappings", fieldMappings); subTables.add(stEntry); }); // ── 2. reference_table 기반 참조 서브 테이블 ────────────────── - sqlSession.>selectList(NS + "selectReferenceColumns", p).forEach(row -> { + sqlSession.>selectList(NS + "select_reference_columns", p).forEach(row -> { int sid = toInt(row.get("screen_id")); String mainTable = (String) row.get("main_table"); String refTable = (String) row.get("reference_table"); @@ -532,37 +532,37 @@ public class ScreenGroupService extends BaseService { ensureScreenEntry(screenSubTables, sid, (String) row.get("screen_name"), mainTable); @SuppressWarnings("unchecked") List> subTables = (List>) - screenSubTables.get(sid).get("subTables"); + screenSubTables.get(sid).get("sub_tables"); Map existing = subTables.stream() - .filter(st -> refTable.equals(st.get("tableName"))).findFirst().orElse(null); + .filter(st -> refTable.equals(st.get("table_name"))).findFirst().orElse(null); Map mapping = new LinkedHashMap<>(); - mapping.put("sourceField", row.get("column_name")); - mapping.put("targetField", row.getOrDefault("reference_column", "id")); - mapping.put("sourceDisplayName", row.getOrDefault("source_display_name", row.get("column_name"))); - mapping.put("targetDisplayName", row.getOrDefault("target_display_name", row.getOrDefault("reference_column", "id"))); + mapping.put("source_field", row.get("column_name")); + mapping.put("target_field", row.getOrDefault("reference_column", "id")); + mapping.put("source_display_name", row.getOrDefault("source_display_name", row.get("column_name"))); + mapping.put("target_display_name", row.getOrDefault("target_display_name", row.getOrDefault("reference_column", "id"))); if (existing != null) { @SuppressWarnings("unchecked") - List> fms = (List>) existing.get("fieldMappings"); - if (fms != null && fms.stream().noneMatch(fm -> row.get("column_name").equals(fm.get("sourceField")))) { + List> fms = (List>) existing.get("field_mappings"); + if (fms != null && fms.stream().noneMatch(fm -> row.get("column_name").equals(fm.get("source_field")))) { fms.add(mapping); } } else { Map stEntry = new LinkedHashMap<>(); - stEntry.put("tableName", refTable); - stEntry.put("componentType", "column_reference"); - stEntry.put("relationType", "reference"); + stEntry.put("table_name", refTable); + stEntry.put("component_type", "column_reference"); + stEntry.put("relation_type", "reference"); List> fms = new ArrayList<>(); fms.add(mapping); - stEntry.put("fieldMappings", fms); + stEntry.put("field_mappings", fms); subTables.add(stEntry); } }); // ── 3. parentDataMapping ─────────────────────────────────── - sqlSession.>selectList(NS + "selectParentDataMappingConfigs", p).forEach(row -> { + sqlSession.>selectList(NS + "select_parent_data_mapping_configs", p).forEach(row -> { int sid = toInt(row.get("screen_id")); String mainTable = (String) row.get("main_table"); String compType = (String) row.get("component_type"); @@ -572,46 +572,46 @@ public class ScreenGroupService extends BaseService { ensureScreenEntry(screenSubTables, sid, (String) row.get("screen_name"), mainTable); @SuppressWarnings("unchecked") List> subTables = (List>) - screenSubTables.get(sid).get("subTables"); + screenSubTables.get(sid).get("sub_tables"); @SuppressWarnings("unchecked") List> mappings = (List>) pdm; mappings.forEach(mapping -> { - String sourceTable = (String) mapping.get("sourceTable"); + String sourceTable = (String) mapping.get("source_table"); if (sourceTable == null || sourceTable.equals(mainTable)) return; Map newMapping = new LinkedHashMap<>(); - newMapping.put("sourceTable", sourceTable); - newMapping.put("sourceField", mapping.getOrDefault("sourceField", "")); - newMapping.put("targetField", mapping.getOrDefault("targetField", "")); - newMapping.put("sourceDisplayName", mapping.getOrDefault("sourceField", "")); - newMapping.put("targetDisplayName", mapping.getOrDefault("targetField", "")); + newMapping.put("source_table", sourceTable); + newMapping.put("source_field", mapping.getOrDefault("source_field", "")); + newMapping.put("target_field", mapping.getOrDefault("target_field", "")); + newMapping.put("source_display_name", mapping.getOrDefault("source_field", "")); + newMapping.put("target_display_name", mapping.getOrDefault("target_field", "")); Map existing = subTables.stream() - .filter(st -> sourceTable.equals(st.get("tableName"))).findFirst().orElse(null); + .filter(st -> sourceTable.equals(st.get("table_name"))).findFirst().orElse(null); if (existing != null) { @SuppressWarnings("unchecked") - List> fms = (List>) existing.computeIfAbsent("fieldMappings", k -> new ArrayList<>()); - String sf = (String) newMapping.get("sourceField"); - String tf = (String) newMapping.get("targetField"); + List> fms = (List>) existing.computeIfAbsent("field_mappings", k -> new ArrayList<>()); + String sf = (String) newMapping.get("source_field"); + String tf = (String) newMapping.get("target_field"); boolean exists = fms.stream().anyMatch(fm -> - sf.equals(fm.get("sourceField")) && tf.equals(fm.get("targetField"))); + sf.equals(fm.get("source_field")) && tf.equals(fm.get("target_field"))); if (!exists) fms.add(newMapping); } else { Map stEntry = new LinkedHashMap<>(); - stEntry.put("tableName", sourceTable); - stEntry.put("componentType", compType); - stEntry.put("relationType", "parentMapping"); + stEntry.put("table_name", sourceTable); + stEntry.put("component_type", compType); + stEntry.put("relation_type", "parent_mapping"); List> fms = new ArrayList<>(); fms.add(newMapping); - stEntry.put("fieldMappings", fms); + stEntry.put("field_mappings", fms); subTables.add(stEntry); } }); }); // ── 4. rightPanel.relation ───────────────────────────────── - List> rpRows = sqlSession.selectList(NS + "selectRightPanelRelations", p); + List> rpRows = sqlSession.selectList(NS + "select_right_panel_relations", p); // rightPanel columns에서 dot-notation 참조 테이블 수집 Map> rpJoinedTables = new HashMap<>(); rpRows.forEach(row -> { @@ -624,7 +624,7 @@ public class ScreenGroupService extends BaseService { String key = sid + "_" + rpTable; columns.forEach(col -> { String colName = (String) col.getOrDefault("name", - col.getOrDefault("columnName", col.get("field"))); + col.getOrDefault("column_name", col.get("field"))); if (colName != null && colName.contains(".")) { rpJoinedTables.computeIfAbsent(key, k -> new HashSet<>()).add(colName.split("\\.")[0]); } @@ -643,14 +643,14 @@ public class ScreenGroupService extends BaseService { if (subTable == null && relation instanceof Map) { @SuppressWarnings("unchecked") Map rel = (Map) relation; - subTable = (String) rel.getOrDefault("targetTable", rel.get("tableName")); + subTable = (String) rel.getOrDefault("target_table", rel.get("table_name")); } if (subTable == null || subTable.equals(mainTable)) return; ensureScreenEntry(screenSubTables, sid, (String) row.get("screen_name"), mainTable); @SuppressWarnings("unchecked") List> subTables = (List>) - screenSubTables.get(sid).get("subTables"); + screenSubTables.get(sid).get("sub_tables"); String key = sid + "_" + subTable; List joinedTables = rpJoinedTables.containsKey(key) @@ -660,23 +660,23 @@ public class ScreenGroupService extends BaseService { if (relation instanceof Map) { @SuppressWarnings("unchecked") Map rel = (Map) relation; - if (rel.get("sourceField") != null && rel.get("targetField") != null) { + if (rel.get("source_field") != null && rel.get("target_field") != null) { Map fm = new LinkedHashMap<>(); - fm.put("sourceField", rel.get("sourceField")); - fm.put("targetField", rel.get("targetField")); - fm.put("sourceDisplayName", rel.get("sourceField")); - fm.put("targetDisplayName", rel.get("targetField")); + fm.put("source_field", rel.get("source_field")); + fm.put("target_field", rel.get("target_field")); + fm.put("source_display_name", rel.get("source_field")); + fm.put("target_display_name", rel.get("target_field")); fieldMappings.add(fm); } - if (rel.get("fieldMappings") instanceof List) { + if (rel.get("field_mappings") instanceof List) { @SuppressWarnings("unchecked") - List> rfms = (List>) rel.get("fieldMappings"); + List> rfms = (List>) rel.get("field_mappings"); rfms.forEach(rfm -> { Map fm = new LinkedHashMap<>(); - fm.put("sourceField", rfm.getOrDefault("sourceField", rfm.get("source_field"))); - fm.put("targetField", rfm.getOrDefault("targetField", rfm.get("target_field"))); - fm.put("sourceDisplayName", fm.get("sourceField")); - fm.put("targetDisplayName", fm.get("targetField")); + fm.put("source_field", rfm.getOrDefault("source_field", rfm.get("source_field"))); + fm.put("target_field", rfm.getOrDefault("target_field", rfm.get("target_field"))); + fm.put("source_display_name", fm.get("source_field")); + fm.put("target_display_name", fm.get("target_field")); fieldMappings.add(fm); }); } @@ -684,30 +684,30 @@ public class ScreenGroupService extends BaseService { final String subTableFinal = subTable; Map existing = subTables.stream() - .filter(st -> subTableFinal.equals(st.get("tableName"))).findFirst().orElse(null); + .filter(st -> subTableFinal.equals(st.get("table_name"))).findFirst().orElse(null); if (existing != null) { @SuppressWarnings("unchecked") List> fms = (List>) - existing.computeIfAbsent("fieldMappings", k -> new ArrayList<>()); + existing.computeIfAbsent("field_mappings", k -> new ArrayList<>()); fieldMappings.forEach(fm -> { boolean dup = fms.stream().anyMatch(e -> - Objects.equals(fm.get("sourceField"), e.get("sourceField")) && - Objects.equals(fm.get("targetField"), e.get("targetField"))); + Objects.equals(fm.get("source_field"), e.get("source_field")) && + Objects.equals(fm.get("target_field"), e.get("target_field"))); if (!dup) fms.add(fm); }); } else { Map stEntry = new LinkedHashMap<>(); - stEntry.put("tableName", subTable); - stEntry.put("componentType", compType); - stEntry.put("relationType", "rightPanelRelation"); - if (!joinedTables.isEmpty()) stEntry.put("joinedTables", joinedTables); - if (!fieldMappings.isEmpty()) stEntry.put("fieldMappings", fieldMappings); + stEntry.put("table_name", subTable); + stEntry.put("component_type", compType); + stEntry.put("relation_type", "right_panel_relation"); + if (!joinedTables.isEmpty()) stEntry.put("joined_tables", joinedTables); + if (!fieldMappings.isEmpty()) stEntry.put("field_mappings", fieldMappings); if (relation instanceof Map) { @SuppressWarnings("unchecked") Map rel = (Map) relation; - if (rel.get("type") != null) stEntry.put("originalRelationType", rel.get("type")); - if (rel.get("foreignKey") != null) stEntry.put("foreignKey", rel.get("foreignKey")); - if (rel.get("leftColumn") != null) stEntry.put("leftColumn", rel.get("leftColumn")); + if (rel.get("type") != null) stEntry.put("original_relation_type", rel.get("type")); + if (rel.get("foreign_key") != null) stEntry.put("foreign_key", rel.get("foreign_key")); + if (rel.get("left_column") != null) stEntry.put("left_column", rel.get("left_column")); } subTables.add(stEntry); } @@ -718,47 +718,47 @@ public class ScreenGroupService extends BaseService { Set refTableNamesSet = new HashSet<>(); screenSubTables.values().forEach(sd -> { @SuppressWarnings("unchecked") - List> sts = (List>) sd.get("subTables"); + List> sts = (List>) sd.get("sub_tables"); sts.forEach(st -> { - Object jt = st.get("joinedTables"); + Object jt = st.get("joined_tables"); if (jt instanceof List) { @SuppressWarnings("unchecked") List joinedList = (List) jt; - subTableNamesSet.add((String) st.get("tableName")); + subTableNamesSet.add((String) st.get("table_name")); refTableNamesSet.addAll(joinedList); } }); }); if (!subTableNamesSet.isEmpty() && !refTableNamesSet.isEmpty()) { Map fkp = new HashMap<>(); - fkp.put("subTableNames", new ArrayList<>(subTableNamesSet)); - fkp.put("refTableNames", new ArrayList<>(refTableNamesSet)); + fkp.put("sub_table_names", new ArrayList<>(subTableNamesSet)); + fkp.put("ref_table_names", new ArrayList<>(refTableNamesSet)); Map>> joinColRefs = new HashMap<>(); - sqlSession.>selectList(NS + "selectFKColumnsForJoinedTables", fkp).forEach(row -> { + sqlSession.>selectList(NS + "select_fk_columns_for_joined_tables", fkp).forEach(row -> { String tbl = (String) row.get("table_name"); joinColRefs.computeIfAbsent(tbl, k -> new ArrayList<>()); String col = (String) row.get("column_name"); String ref = (String) row.get("reference_table"); boolean dup = joinColRefs.get(tbl).stream().anyMatch(r -> - col.equals(r.get("column")) && ref.equals(r.get("refTable"))); + col.equals(r.get("column")) && ref.equals(r.get("ref_table"))); if (!dup) { Map ref2 = new LinkedHashMap<>(); ref2.put("column", col); - ref2.put("columnLabel", row.getOrDefault("column_label", col)); - ref2.put("refTable", ref); - ref2.put("refTableLabel", row.getOrDefault("reference_table_label", ref)); - ref2.put("refColumn", row.getOrDefault("reference_column", "id")); + ref2.put("column_label", row.getOrDefault("column_label", col)); + ref2.put("ref_table", ref); + ref2.put("ref_table_label", row.getOrDefault("reference_table_label", ref)); + ref2.put("ref_column", row.getOrDefault("reference_column", "id")); joinColRefs.get(tbl).add(ref2); } }); screenSubTables.values().forEach(sd -> { @SuppressWarnings("unchecked") - List> sts = (List>) sd.get("subTables"); + List> sts = (List>) sd.get("sub_tables"); sts.forEach(st -> { - List> refs = joinColRefs.get(st.get("tableName")); + List> refs = joinColRefs.get(st.get("table_name")); if (refs != null) { - st.put("joinColumns", refs.stream().map(r -> r.get("column")).collect(Collectors.toList())); - st.put("joinColumnRefs", refs); + st.put("join_columns", refs.stream().map(r -> r.get("column")).collect(Collectors.toList())); + st.put("join_column_refs", refs); } }); }); @@ -775,19 +775,19 @@ public class ScreenGroupService extends BaseService { ensureScreenEntry(screenSubTables, sid, (String) row.get("screen_name"), mainTable); @SuppressWarnings("unchecked") List> sts = (List>) - screenSubTables.get(sid).get("subTables"); - if (sts.stream().noneMatch(st -> subTable.equals(st.get("tableName")))) { + screenSubTables.get(sid).get("sub_tables"); + if (sts.stream().noneMatch(st -> subTable.equals(st.get("table_name")))) { Map stEntry = new LinkedHashMap<>(); - stEntry.put("tableName", subTable); - stEntry.put("componentType", "v2-repeater"); - stEntry.put("relationType", "rightPanelRelation"); + stEntry.put("table_name", subTable); + stEntry.put("component_type", "v2-repeater"); + stEntry.put("relation_type", "right_panel_relation"); if (fk != null) { Map fm = new LinkedHashMap<>(); - fm.put("sourceField", "id"); - fm.put("targetField", fk); - fm.put("sourceDisplayName", "ID"); - fm.put("targetDisplayName", fk); - stEntry.put("fieldMappings", Collections.singletonList(fm)); + fm.put("source_field", "id"); + fm.put("target_field", fk); + fm.put("source_display_name", "ID"); + fm.put("target_display_name", fk); + stEntry.put("field_mappings", Collections.singletonList(fm)); } sts.add(stEntry); } @@ -804,26 +804,26 @@ public class ScreenGroupService extends BaseService { ensureScreenEntry(screenSubTables, sid, (String) row.get("screen_name"), mainTable); @SuppressWarnings("unchecked") List> sts = (List>) - screenSubTables.get(sid).get("subTables"); - if (sts.stream().noneMatch(st -> subTable.equals(st.get("tableName")))) { + screenSubTables.get(sid).get("sub_tables"); + if (sts.stream().noneMatch(st -> subTable.equals(st.get("table_name")))) { Map stEntry = new LinkedHashMap<>(); - stEntry.put("tableName", subTable); - stEntry.put("componentType", row.getOrDefault("component_type", "v2-bom-tree")); - stEntry.put("relationType", "rightPanelRelation"); + stEntry.put("table_name", subTable); + stEntry.put("component_type", row.getOrDefault("component_type", "v2-bom-tree")); + stEntry.put("relation_type", "right_panel_relation"); if (fk != null) { Map fm = new LinkedHashMap<>(); - fm.put("sourceField", "id"); - fm.put("targetField", fk); - fm.put("sourceDisplayName", "ID"); - fm.put("targetDisplayName", fk); - stEntry.put("fieldMappings", Collections.singletonList(fm)); + fm.put("source_field", "id"); + fm.put("target_field", fk); + fm.put("source_display_name", "ID"); + fm.put("target_display_name", fk); + stEntry.put("field_mappings", Collections.singletonList(fm)); } sts.add(stEntry); } }); // ── 8. Save Tables ──────────────────────────────────────── - sqlSession.>selectList(NS + "selectSaveTableActions", p).forEach(row -> { + sqlSession.>selectList(NS + "select_save_table_actions", p).forEach(row -> { int sid = toInt(row.get("screen_id")); String mainTable = (String) row.get("main_table"); String actionType = (String) row.get("action_type"); @@ -838,29 +838,29 @@ public class ScreenGroupService extends BaseService { Map sd = screenSubTables.get(sid); @SuppressWarnings("unchecked") List> saveTables = (List>) - sd.computeIfAbsent("saveTables", k -> new ArrayList<>()); + sd.computeIfAbsent("save_tables", k -> new ArrayList<>()); boolean dup = saveTables.stream().anyMatch(st -> - targetTable.equals(st.get("tableName")) && actionType.equals(st.get("saveType"))); + targetTable.equals(st.get("table_name")) && actionType.equals(st.get("save_type"))); if (!dup) { Map stEntry = new LinkedHashMap<>(); - stEntry.put("tableName", targetTable); - stEntry.put("saveType", actionType); - stEntry.put("componentType", compType); - stEntry.put("isMainTable", targetTable.equals(mainTable)); + stEntry.put("table_name", targetTable); + stEntry.put("save_type", actionType); + stEntry.put("component_type", compType); + stEntry.put("is_main_table", targetTable.equals(mainTable)); saveTables.add(stEntry); } }); // ── 9. 전역 메인 테이블 목록 ────────────────────────────── - List globalMainTables = sqlSession.>selectList(NS + "selectGlobalMainTables", p).stream() + List globalMainTables = sqlSession.>selectList(NS + "select_global_main_tables", p).stream() .map(r -> (String) r.get("main_table")) .filter(t -> t != null && !t.isEmpty()) .collect(Collectors.toList()); Map result = new LinkedHashMap<>(); result.put("data", screenSubTables); - result.put("globalMainTables", globalMainTables); + result.put("global_main_tables", globalMainTables); return result; } @@ -869,12 +869,12 @@ public class ScreenGroupService extends BaseService { // ══════════════════════════════════════════════════════════════ public List> getPopScreenGroups(Map params) { - List> groups = sqlSession.selectList(NS + "selectPopScreenGroups", params); + List> groups = sqlSession.selectList(NS + "select_pop_screen_groups", params); if (!groups.isEmpty()) { List groupIds = groups.stream().map(g -> g.get("id")).collect(Collectors.toList()); Map sp = new HashMap<>(); - sp.put("groupIds", groupIds); - List> allScreens = sqlSession.selectList(NS + "selectPopGroupScreens", sp); + sp.put("group_ids", groupIds); + List> allScreens = sqlSession.selectList(NS + "select_pop_group_screens", sp); Map>> byGroup = allScreens.stream() .collect(Collectors.groupingBy(s -> s.get("group_id"))); groups.forEach(g -> g.put("screens", byGroup.getOrDefault(g.get("id"), Collections.emptyList()))); @@ -884,62 +884,62 @@ public class ScreenGroupService extends BaseService { @Transactional public Map createPopScreenGroup(Map params) { - String userCompanyCode = (String) params.get("userCompanyCode"); - String effectiveCompanyCode = (String) params.getOrDefault("targetCompanyCode", userCompanyCode); + String userCompanyCode = (String) params.get("user_company_code"); + String effectiveCompanyCode = (String) params.getOrDefault("target_company_code", userCompanyCode); if (!"*".equals(userCompanyCode) && !effectiveCompanyCode.equals(userCompanyCode)) { throw new SecurityException("다른 회사의 그룹을 생성할 권한이 없습니다."); } - params.put("companyCode", effectiveCompanyCode); + params.put("company_code", effectiveCompanyCode); // hierarchy_path 계산 - Object parentGroupId = params.get("parentGroupId"); + Object parentGroupId = params.get("parent_group_id"); String hierarchyPath; if (parentGroupId != null) { Map pp = new HashMap<>(); - pp.put("parentGroupId", parentGroupId); - Map parent = sqlSession.selectOne(NS + "selectParentGroupById", pp); + pp.put("parent_group_id", parentGroupId); + Map parent = sqlSession.selectOne(NS + "select_parent_group_by_id", pp); if (parent != null) { - hierarchyPath = parent.get("hierarchy_path") + "/" + params.get("groupCode"); + hierarchyPath = parent.get("hierarchy_path") + "/" + params.get("group_code"); } else { - hierarchyPath = "POP/" + params.get("groupCode"); + hierarchyPath = "POP/" + params.get("group_code"); } } else { - hierarchyPath = "POP/" + params.get("groupCode"); + hierarchyPath = "POP/" + params.get("group_code"); } - params.put("hierarchyPath", hierarchyPath); + params.put("hierarchy_path", hierarchyPath); // 중복 체크 - int dupCount = sqlSession.selectOne(NS + "countGroupByCode", params); + int dupCount = sqlSession.selectOne(NS + "count_group_by_code", params); if (dupCount > 0) { throw new IllegalArgumentException("동일한 그룹코드가 이미 존재합니다."); } - sqlSession.insert(NS + "insertPopScreenGroup", params); + sqlSession.insert(NS + "insert_pop_screen_group", params); Map sp = new HashMap<>(); sp.put("id", params.get("id")); - return sqlSession.selectOne(NS + "selectScreenGroupById", sp); + return sqlSession.selectOne(NS + "select_screen_group_by_id", sp); } @Transactional public Map updatePopScreenGroup(Map params) { - Map existing = sqlSession.selectOne(NS + "selectScreenGroupForUpdate", params); + Map existing = sqlSession.selectOne(NS + "select_screen_group_for_update", params); if (existing == null) throw new NoSuchElementException("그룹을 찾을 수 없습니다."); String hierarchyPath = (String) existing.get("hierarchy_path"); if (hierarchyPath == null || !hierarchyPath.startsWith("POP")) { throw new IllegalArgumentException("POP 그룹만 수정할 수 있습니다."); } - sqlSession.update(NS + "updatePopScreenGroup", params); + sqlSession.update(NS + "update_pop_screen_group", params); Map sp = new HashMap<>(); sp.put("id", params.get("id")); - return sqlSession.selectOne(NS + "selectScreenGroupById", sp); + return sqlSession.selectOne(NS + "select_screen_group_by_id", sp); } @Transactional public void deletePopScreenGroup(Map params) { - Map existing = sqlSession.selectOne(NS + "selectScreenGroupForUpdate", params); + Map existing = sqlSession.selectOne(NS + "select_screen_group_for_update", params); if (existing == null) { - Map any = sqlSession.selectOne(NS + "selectAnyScreenGroupById", params); + Map any = sqlSession.selectOne(NS + "select_any_screen_group_by_id", params); if (any != null) { String ownerCode = (String) any.get("company_code"); throw new SecurityException("이 그룹은 " + ("*".equals(ownerCode) ? "최고관리자" : ownerCode) @@ -951,26 +951,26 @@ public class ScreenGroupService extends BaseService { if (hierarchyPath == null || !hierarchyPath.startsWith("POP")) { throw new IllegalArgumentException("POP 그룹만 삭제할 수 있습니다."); } - int childCount = sqlSession.selectOne(NS + "countChildGroupsByParentId", params); + int childCount = sqlSession.selectOne(NS + "count_child_groups_by_parent_id", params); if (childCount > 0) throw new IllegalArgumentException("하위 그룹이 " + childCount + "개 있어 삭제할 수 없습니다. 하위 그룹을 먼저 삭제해주세요."); - int screenCount = sqlSession.selectOne(NS + "countGroupScreensByGroupId", params); + int screenCount = sqlSession.selectOne(NS + "count_group_screens_by_group_id", params); if (screenCount > 0) throw new IllegalArgumentException("그룹에 연결된 화면이 " + screenCount + "개 있어 삭제할 수 없습니다. 화면을 먼저 제거해주세요."); Map dp = new HashMap<>(); dp.put("id", params.get("id")); - dp.put("targetCompanyCode", existing.get("company_code")); - sqlSession.delete(NS + "deleteScreenGroupById", dp); + dp.put("target_company_code", existing.get("company_code")); + sqlSession.delete(NS + "delete_screen_group_by_id", dp); } public Map ensurePopRootGroup(Map params) { - String companyCode = (String) params.get("companyCode"); - Map existing = sqlSession.selectOne(NS + "selectPopRootGroup", params); + String companyCode = (String) params.get("company_code"); + Map existing = sqlSession.selectOne(NS + "select_pop_root_group", params); if (existing != null) return existing; if (!"*".equals(companyCode)) return null; - sqlSession.insert(NS + "insertPopRootGroup", params); - return sqlSession.selectOne(NS + "selectPopRootGroup", params); + sqlSession.insert(NS + "insert_pop_root_group", params); + return sqlSession.selectOne(NS + "select_pop_root_group", params); } // ══════════════════════════════════════════════════════════════ @@ -985,9 +985,9 @@ public class ScreenGroupService extends BaseService { try { Map p = new HashMap<>(); - p.put("companyCode", companyCode); - List> groups = sqlSession.selectList(NS + "selectScreenGroupsForSync", p); - List> existingMenus = sqlSession.selectList(NS + "selectExistingMenusForSync", p); + p.put("company_code", companyCode); + List> groups = sqlSession.selectList(NS + "select_screen_groups_for_sync", p); + List> existingMenus = sqlSession.selectList(NS + "select_existing_menus_for_sync", p); // path/name → menu 매핑 (screen_group_id 없는 것만) Map> menuByPath = new LinkedHashMap<>(); @@ -1005,7 +1005,7 @@ public class ScreenGroupService extends BaseService { }); // 사용자 메뉴 루트 확보 - Map rootMenu = sqlSession.selectOne(NS + "selectUserMenuRoot", p); + Map rootMenu = sqlSession.selectOne(NS + "select_user_menu_root", p); long userMenuRootObjid; if (rootMenu != null) { userMenuRootObjid = toLong(rootMenu.get("objid")); @@ -1013,9 +1013,9 @@ public class ScreenGroupService extends BaseService { long rootObjid = System.currentTimeMillis(); Map rp = new HashMap<>(); rp.put("objid", rootObjid); - rp.put("companyCode", companyCode); - rp.put("userId", userId); - sqlSession.insert(NS + "insertUserMenuRoot", rp); + rp.put("company_code", companyCode); + rp.put("user_id", userId); + sqlSession.insert(NS + "insert_user_menu_root", rp); userMenuRootObjid = rootObjid; } @@ -1053,7 +1053,7 @@ public class ScreenGroupService extends BaseService { continue; } else { Map cp = new HashMap<>(); cp.put("id", gid); - sqlSession.update(NS + "clearScreenGroupMenuObjid", cp); + sqlSession.update(NS + "clear_screen_group_menu_objid", cp); } } @@ -1067,19 +1067,19 @@ public class ScreenGroupService extends BaseService { if (matchedMenu != null) { long mObjid = toLong(matchedMenu.get("objid")); - Map up = new HashMap<>(); up.put("menuObjid", mObjid); up.put("id", gid); - sqlSession.update(NS + "updateScreenGroupMenuObjid", up); - Map up2 = new HashMap<>(); up2.put("groupId", gid); up2.put("objid", mObjid); - sqlSession.update(NS + "updateMenuScreenGroupId", up2); + Map up = new HashMap<>(); up.put("menu_objid", mObjid); up.put("id", gid); + sqlSession.update(NS + "update_screen_group_menu_objid", up); + Map up2 = new HashMap<>(); up2.put("group_id", gid); up2.put("objid", mObjid); + sqlSession.update(NS + "update_menu_screen_group_id", up2); // URL 업데이트 - Map dp = new HashMap<>(); dp.put("groupId", gid); dp.put("companyCode", companyCode); - Map defaultScreen = sqlSession.selectOne(NS + "selectDefaultScreenForGroup", dp); + Map dp = new HashMap<>(); dp.put("group_id", gid); dp.put("company_code", companyCode); + Map defaultScreen = sqlSession.selectOne(NS + "select_default_screen_for_group", dp); if (defaultScreen != null) { Map urlp = new HashMap<>(); - urlp.put("menuUrl", "/screens/" + defaultScreen.get("screen_id")); - urlp.put("screenCode", defaultScreen.get("screen_code")); + urlp.put("menu_url", "/screens/" + defaultScreen.get("screen_id")); + urlp.put("screen_code", defaultScreen.get("screen_code")); urlp.put("objid", mObjid); - sqlSession.update(NS + "updateMenuUrlAndScreenCode", urlp); + sqlSession.update(NS + "update_menu_url_and_screen_code", urlp); } groupToMenuMap.put(gid, mObjid); linked++; @@ -1099,25 +1099,25 @@ public class ScreenGroupService extends BaseService { } } Map seqp = new HashMap<>(); - seqp.put("parentObjid", parentMenuObjid); - seqp.put("companyCode", companyCode); - int seq = sqlSession.selectOne(NS + "getNextMenuSeqUnderParent", seqp); + seqp.put("parent_objid", parentMenuObjid); + seqp.put("company_code", companyCode); + int seq = sqlSession.selectOne(NS + "get_next_menu_seq_under_parent", seqp); - Map dp = new HashMap<>(); dp.put("groupId", gid); dp.put("companyCode", companyCode); - Map defScreen = sqlSession.selectOne(NS + "selectDefaultScreenForGroup", dp); + Map dp = new HashMap<>(); dp.put("group_id", gid); dp.put("company_code", companyCode); + Map defScreen = sqlSession.selectOne(NS + "select_default_screen_for_group", dp); String menuUrl = defScreen != null ? "/screens/" + defScreen.get("screen_id") : null; String screenCode = defScreen != null ? (String) defScreen.get("screen_code") : null; Map ins = new HashMap<>(); - ins.put("objid", newObjid); ins.put("parentObjid", parentMenuObjid); - ins.put("groupName", gName); ins.put("groupCode", group.getOrDefault("group_code", gName)); - ins.put("seq", seq); ins.put("companyCode", companyCode); ins.put("userId", userId); - ins.put("groupId", gid); ins.put("description", group.get("description")); - ins.put("menuUrl", menuUrl); ins.put("screenCode", screenCode); ins.put("icon", group.get("icon")); - sqlSession.insert(NS + "insertMenuForGroup", ins); + ins.put("objid", newObjid); ins.put("parent_objid", parentMenuObjid); + ins.put("group_name", gName); ins.put("group_code", group.getOrDefault("group_code", gName)); + ins.put("seq", seq); ins.put("company_code", companyCode); ins.put("user_id", userId); + ins.put("group_id", gid); ins.put("description", group.get("description")); + ins.put("menu_url", menuUrl); ins.put("screen_code", screenCode); ins.put("icon", group.get("icon")); + sqlSession.insert(NS + "insert_menu_for_group", ins); - Map up = new HashMap<>(); up.put("menuObjid", newObjid); up.put("id", gid); - sqlSession.update(NS + "updateScreenGroupMenuObjid", up); + Map up = new HashMap<>(); up.put("menu_objid", newObjid); up.put("id", gid); + sqlSession.update(NS + "update_screen_group_menu_objid", up); groupToMenuMap.put(gid, newObjid); created++; @@ -1151,14 +1151,14 @@ public class ScreenGroupService extends BaseService { try { Map p = new HashMap<>(); - p.put("companyCode", companyCode); + p.put("company_code", companyCode); // 회사명 조회 - Map companyRow = sqlSession.selectOne(NS + "selectCompanyName", p); + Map companyRow = sqlSession.selectOne(NS + "select_company_name", p); String companyName = companyRow != null ? toStr(companyRow.get("company_name")) : companyCode; - List> menus = sqlSession.selectList(NS + "selectMenusForSync", p); - List> groups = sqlSession.selectList(NS + "selectGroupsForSync", p); + List> menus = sqlSession.selectList(NS + "select_menus_for_sync", p); + List> groups = sqlSession.selectList(NS + "select_groups_for_sync", p); // path/name → group 매핑 (menu_objid 없는 것만) Map> groupByPath = new LinkedHashMap<>(); @@ -1176,24 +1176,24 @@ public class ScreenGroupService extends BaseService { }); // 회사 폴더 확보 - Map folderRow = sqlSession.selectOne(NS + "selectRootCompanyFolder", p); + Map folderRow = sqlSession.selectOne(NS + "select_root_company_folder", p); int companyFolderId; if (folderRow != null) { companyFolderId = toInt(folderRow.get("id")); } else { - int maxOrder = sqlSession.selectOne(NS + "getMaxRootDisplayOrder", null); + int maxOrder = sqlSession.selectOne(NS + "get_max_root_display_order", null); Map fp = new HashMap<>(); - fp.put("companyName", companyName); - fp.put("groupCode", companyCode.toLowerCase()); - fp.put("displayOrder", maxOrder); - fp.put("companyCode", companyCode); - fp.put("userId", userId); - sqlSession.insert(NS + "insertCompanyFolder", fp); + fp.put("company_name", companyName); + fp.put("group_code", companyCode.toLowerCase()); + fp.put("display_order", maxOrder); + fp.put("company_code", companyCode); + fp.put("user_id", userId); + sqlSession.insert(NS + "insert_company_folder", fp); companyFolderId = toInt(fp.get("id")); Map hp = new HashMap<>(); hp.put("id", companyFolderId); - hp.put("hierarchyPath", "/" + companyFolderId + "/"); - sqlSession.update(NS + "updateGroupHierarchyPathById", hp); + hp.put("hierarchy_path", "/" + companyFolderId + "/"); + sqlSession.update(NS + "update_group_hierarchy_path_by_id", hp); } Map menuToGroupMap = new LinkedHashMap<>(); @@ -1220,10 +1220,10 @@ public class ScreenGroupService extends BaseService { if (matchedGroup != null) { int gid = toInt(matchedGroup.get("id")); - Map up = new HashMap<>(); up.put("menuObjid", mObjid); up.put("id", gid); - sqlSession.update(NS + "updateScreenGroupForMenuSync", up); - Map up2 = new HashMap<>(); up2.put("groupId", gid); up2.put("objid", mObjid); - sqlSession.update(NS + "updateMenuScreenGroupId", up2); + Map up = new HashMap<>(); up.put("menu_objid", mObjid); up.put("id", gid); + sqlSession.update(NS + "update_screen_group_for_menu_sync", up); + Map up2 = new HashMap<>(); up2.put("group_id", gid); up2.put("objid", mObjid); + sqlSession.update(NS + "update_menu_screen_group_id", up2); menuToGroupMap.put(mObjid, gid); linked++; details.add(detail("linked", mName, mObjid, gid, null)); @@ -1235,33 +1235,33 @@ public class ScreenGroupService extends BaseService { int parentGid = menuToGroupMap.getOrDefault(parentObjid, companyFolderId); // 부모 그룹 level + hierarchy_path 조회 Map pp = new HashMap<>(); - pp.put("parentGroupId", parentGid); - Map parentGroup = sqlSession.selectOne(NS + "selectParentGroupById", pp); + pp.put("parent_group_id", parentGid); + Map parentGroup = sqlSession.selectOne(NS + "select_parent_group_by_id", pp); int parentLevel = parentGroup != null ? toInt(parentGroup.getOrDefault("group_level", 0)) : 0; String parentPath = parentGroup != null ? toStr(parentGroup.get("hierarchy_path")) : "/" + parentGid + "/"; Map ins = new HashMap<>(); - ins.put("groupName", mName); - ins.put("groupCode", mNameLower.replaceAll("\\s+", "_")); - ins.put("parentGroupId", parentGid); - ins.put("groupLevel", parentLevel + 1); - ins.put("displayOrder", toInt(menu.getOrDefault("seq", 0))); - ins.put("companyCode", companyCode); - ins.put("userId", userId); - ins.put("hierarchyPath", parentPath + "0/"); - ins.put("menuObjid", mObjid); + ins.put("group_name", mName); + ins.put("group_code", mNameLower.replaceAll("\\s+", "_")); + ins.put("parent_group_id", parentGid); + ins.put("group_level", parentLevel + 1); + ins.put("display_order", toInt(menu.getOrDefault("seq", 0))); + ins.put("company_code", companyCode); + ins.put("user_id", userId); + ins.put("hierarchy_path", parentPath + "0/"); + ins.put("menu_objid", mObjid); ins.put("description", menu.get("menu_desc")); - sqlSession.insert(NS + "insertScreenGroupForSync", ins); + sqlSession.insert(NS + "insert_screen_group_for_sync", ins); int newGid = toInt(ins.get("id")); String hp = (parentPath + newGid + "/").replace("//", "/"); Map hpu = new HashMap<>(); hpu.put("id", newGid); - hpu.put("hierarchyPath", hp); - sqlSession.update(NS + "updateGroupHierarchyPathById", hpu); + hpu.put("hierarchy_path", hp); + sqlSession.update(NS + "update_group_hierarchy_path_by_id", hpu); - Map up2 = new HashMap<>(); up2.put("groupId", newGid); up2.put("objid", mObjid); - sqlSession.update(NS + "updateMenuScreenGroupId", up2); + Map up2 = new HashMap<>(); up2.put("group_id", newGid); up2.put("objid", mObjid); + sqlSession.update(NS + "update_menu_screen_group_id", up2); menuToGroupMap.put(mObjid, newGid); existingGroupIds.add(newGid); @@ -1290,11 +1290,11 @@ public class ScreenGroupService extends BaseService { public Map getSyncStatus(String companyCode) { Map p = new HashMap<>(); - p.put("companyCode", companyCode); - List> groupStats = sqlSession.selectList(NS + "selectSyncStatusGroups", p); - List> menuStats = sqlSession.selectList(NS + "selectSyncStatusMenus", p); + p.put("company_code", companyCode); + List> groupStats = sqlSession.selectList(NS + "select_sync_status_groups", p); + List> menuStats = sqlSession.selectList(NS + "select_sync_status_menus", p); Map status = new LinkedHashMap<>(); - status.put("companyCode", companyCode); + status.put("company_code", companyCode); status.put("groups", groupStats); status.put("menus", menuStats); return status; @@ -1305,7 +1305,7 @@ public class ScreenGroupService extends BaseService { // ══════════════════════════════════════════════════════════════ public Map syncAllCompanies(String userId) { - List> companies = sqlSession.selectList(NS + "selectAllCompanyCodes", null); + List> companies = sqlSession.selectList(NS + "select_all_company_codes", null); List> results = new ArrayList<>(); int successCount = 0, failedCount = 0; @@ -1313,14 +1313,14 @@ public class ScreenGroupService extends BaseService { String code = (String) company.get("company_code"); try { Map r = syncScreenGroupsToMenu(code, userId); - r.put("companyCode", code); + r.put("company_code", code); results.add(r); if (Boolean.TRUE.equals(r.get("success"))) successCount++; else failedCount++; } catch (Exception e) { failedCount++; Map r = new LinkedHashMap<>(); - r.put("companyCode", code); r.put("success", false); + r.put("company_code", code); r.put("success", false); r.put("error", e.getMessage()); results.add(r); } @@ -1328,9 +1328,9 @@ public class ScreenGroupService extends BaseService { Map res = new LinkedHashMap<>(); res.put("success", failedCount == 0); - res.put("totalCompanies", companies.size()); - res.put("successCount", successCount); - res.put("failedCount", failedCount); + res.put("total_companies", companies.size()); + res.put("success_count", successCount); + res.put("failed_count", failedCount); res.put("results", results); return res; } @@ -1343,10 +1343,10 @@ public class ScreenGroupService extends BaseService { String screenName, String mainTable) { if (!map.containsKey(sid)) { Map entry = new LinkedHashMap<>(); - entry.put("screenId", sid); - entry.put("screenName", screenName); - entry.put("mainTable", mainTable != null ? mainTable : ""); - entry.put("subTables", new ArrayList>()); + entry.put("screen_id", sid); + entry.put("screen_name", screenName); + entry.put("main_table", mainTable != null ? mainTable : ""); + entry.put("sub_tables", new ArrayList>()); map.put(sid, entry); } } @@ -1369,13 +1369,13 @@ public class ScreenGroupService extends BaseService { @SuppressWarnings("unchecked") List> fms = (List>) fmsObj; fms.forEach(fm -> { - String sf = toStr(fm.getOrDefault("sourceField", fm.get("source_field"))); - String tf = toStr(fm.getOrDefault("targetField", fm.get("target_field"))); + String sf = toStr(fm.getOrDefault("source_field", fm.get("source_field"))); + String tf = toStr(fm.getOrDefault("target_field", fm.get("target_field"))); Map m = new LinkedHashMap<>(); - m.put("sourceField", sf); - m.put("targetField", tf); - m.put("sourceDisplayName", colLabelMap.getOrDefault(subTable + "." + sf, sf)); - m.put("targetDisplayName", colLabelMap.getOrDefault(mainTable + "." + tf, tf)); + m.put("source_field", sf); + m.put("target_field", tf); + m.put("source_display_name", colLabelMap.getOrDefault(subTable + "." + sf, sf)); + m.put("target_display_name", colLabelMap.getOrDefault(mainTable + "." + tf, tf)); result.add(m); }); } else if (colsObj instanceof List) { @@ -1386,12 +1386,12 @@ public class ScreenGroupService extends BaseService { if (mapping instanceof Map) { @SuppressWarnings("unchecked") Map mp = (Map) mapping; - if ("source".equals(mp.get("type")) && mp.get("sourceField") != null) { + if ("source".equals(mp.get("type")) && mp.get("source_field") != null) { Map m = new LinkedHashMap<>(); - m.put("sourceField", col.getOrDefault("field", "")); - m.put("targetField", mp.get("sourceField")); - m.put("sourceDisplayName", col.getOrDefault("label", col.getOrDefault("field", ""))); - m.put("targetDisplayName", mp.get("sourceField")); + m.put("source_field", col.getOrDefault("field", "")); + m.put("target_field", mp.get("source_field")); + m.put("source_display_name", col.getOrDefault("label", col.getOrDefault("field", ""))); + m.put("target_display_name", mp.get("source_field")); result.add(m); } } @@ -1402,8 +1402,8 @@ public class ScreenGroupService extends BaseService { private Map pairOf(String tableName, String columnName) { Map m = new HashMap<>(); - m.put("tableName", tableName); - m.put("columnName", columnName); + m.put("table_name", tableName); + m.put("column_name", columnName); return m; } @@ -1411,9 +1411,9 @@ public class ScreenGroupService extends BaseService { Object targetId, String reason) { Map d = new LinkedHashMap<>(); d.put("action", action); - d.put("sourceName", name); - d.put("sourceId", sourceId); - if (targetId != null) d.put("targetId", targetId); + d.put("source_name", name); + d.put("source_id", sourceId); + if (targetId != null) d.put("target_id", targetId); if (reason != null) d.put("reason", reason); return d; } diff --git a/backend-spring/src/main/java/com/erp/service/ScreenManagementService.java b/backend-spring/src/main/java/com/erp/service/ScreenManagementService.java index cfbe558d..8754b77f 100644 --- a/backend-spring/src/main/java/com/erp/service/ScreenManagementService.java +++ b/backend-spring/src/main/java/com/erp/service/ScreenManagementService.java @@ -38,19 +38,19 @@ public class ScreenManagementService extends BaseService { params.put("offset", (page - 1) * size); // searchTerm → searchLike (ILIKE 용 와일드카드) - Object searchTerm = params.get("searchTerm"); + Object searchTerm = params.get("search_term"); if (searchTerm != null && !searchTerm.toString().isBlank()) { - params.put("searchLike", "%" + searchTerm + "%"); + params.put("search_like", "%" + searchTerm + "%"); } // excludePop: String "true" → Boolean - Object epRaw = params.get("excludePop"); + Object epRaw = params.get("exclude_pop"); if (epRaw != null) { - params.put("excludePop", "true".equalsIgnoreCase(epRaw.toString())); + params.put("exclude_pop", "true".equalsIgnoreCase(epRaw.toString())); } - List> data = sqlSession.selectList(NS + "selectScreenList", params); - int total = sqlSession.selectOne(NS + "countScreenList", params); + List> data = sqlSession.selectList(NS + "select_screen_list", params); + int total = sqlSession.selectOne(NS + "count_screen_list", params); // 테이블 레이블 병합 enrichWithTableLabels(data); @@ -60,54 +60,54 @@ public class ScreenManagementService extends BaseService { result.put("total", total); result.put("page", page); result.put("size", size); - result.put("totalPages", (int) Math.ceil((double) total / size)); + result.put("total_pages", (int) Math.ceil((double) total / size)); return result; } /** 단건 조회 (companyCode 무관) */ public Map getScreenById(Integer screenId) { Map params = new HashMap<>(); - params.put("screenId", screenId); - return sqlSession.selectOne(NS + "selectScreenById", params); + params.put("screen_id", screenId); + return sqlSession.selectOne(NS + "select_screen_by_id", params); } /** 화면에 할당된 메뉴 조회 */ public Map getMenuByScreen(Integer screenId, String companyCode) { Map params = new HashMap<>(); - params.put("screenId", screenId); - params.put("companyCode", companyCode); - return sqlSession.selectOne(NS + "selectMenuByScreen", params); + params.put("screen_id", screenId); + params.put("company_code", companyCode); + return sqlSession.selectOne(NS + "select_menu_by_screen", params); } /** 화면 생성 */ @Transactional public Map createScreen(Map body, String companyCode, String userId) { // 화면 코드 중복 체크 - String screenCode = (String) body.get("screenCode"); + String screenCode = (String) body.get("screen_code"); if (screenCode != null) { Map ckParams = new HashMap<>(); - ckParams.put("screenCode", screenCode); - int cnt = sqlSession.selectOne(NS + "checkScreenCodeExists", ckParams); + ckParams.put("screen_code", screenCode); + int cnt = sqlSession.selectOne(NS + "check_screen_code_exists", ckParams); if (cnt > 0) { throw new IllegalStateException("DUPLICATE_SCREEN_CODE"); } } Map params = new HashMap<>(); - params.put("screenName", body.get("screenName")); - params.put("screenCode", screenCode); - params.put("tableName", body.get("tableName")); - params.put("companyCode", companyCode); + params.put("screen_name", body.get("screen_name")); + params.put("screen_code", screenCode); + params.put("table_name", body.get("table_name")); + params.put("company_code", companyCode); params.put("description", body.get("description")); - params.put("createdBy", userId); - params.put("dbSourceType", body.get("dbSourceType")); - params.put("dbConnectionId", body.get("dbConnectionId")); - params.put("dataSourceType", body.get("dataSourceType")); - params.put("restApiConnectionId", body.get("restApiConnectionId")); - params.put("restApiEndpoint", body.get("restApiEndpoint")); - params.put("restApiJsonPath", body.get("restApiJsonPath")); + params.put("created_by", userId); + params.put("db_source_type", body.get("db_source_type")); + params.put("db_connection_id", body.get("db_connection_id")); + params.put("data_source_type", body.get("data_source_type")); + params.put("rest_api_connection_id", body.get("rest_api_connection_id")); + params.put("rest_api_endpoint", body.get("rest_api_endpoint")); + params.put("rest_api_json_path", body.get("rest_api_json_path")); - return sqlSession.selectOne(NS + "insertScreen", params); + return sqlSession.selectOne(NS + "insert_screen", params); } /** 화면 수정 */ @@ -115,13 +115,13 @@ public class ScreenManagementService extends BaseService { public Map updateScreen(Integer screenId, Map body, String companyCode, String userId) { Map params = new HashMap<>(); - params.put("screenId", screenId); - params.put("screenName", body.get("screenName")); + params.put("screen_id", screenId); + params.put("screen_name", body.get("screen_name")); params.put("description",body.get("description")); - params.put("isActive", body.getOrDefault("isActive", "Y")); - params.put("updatedBy", userId); + params.put("is_active", body.getOrDefault("is_active", "Y")); + params.put("updated_by", userId); - int updated = sqlSession.update(NS + "updateScreen", params); + int updated = sqlSession.update(NS + "update_screen", params); if (updated == 0) return null; return getScreenById(screenId); } @@ -131,19 +131,19 @@ public class ScreenManagementService extends BaseService { public Map updateScreenInfo(Integer screenId, Map body, String companyCode, String userId) { Map params = new HashMap<>(); - params.put("screenId", screenId); - params.put("screenName", body.get("screenName")); - params.put("tableName", body.get("tableName")); + params.put("screen_id", screenId); + params.put("screen_name", body.get("screen_name")); + params.put("table_name", body.get("table_name")); params.put("description", body.get("description")); - params.put("isActive", body.getOrDefault("isActive", "Y")); - params.put("dataSourceType", body.get("dataSourceType")); - params.put("dbSourceType", body.get("dbSourceType")); - params.put("dbConnectionId", body.get("dbConnectionId")); - params.put("restApiConnectionId", body.get("restApiConnectionId")); - params.put("restApiEndpoint", body.get("restApiEndpoint")); - params.put("restApiJsonPath", body.get("restApiJsonPath")); + params.put("is_active", body.getOrDefault("is_active", "Y")); + params.put("data_source_type", body.get("data_source_type")); + params.put("db_source_type", body.get("db_source_type")); + params.put("db_connection_id", body.get("db_connection_id")); + params.put("rest_api_connection_id", body.get("rest_api_connection_id")); + params.put("rest_api_endpoint", body.get("rest_api_endpoint")); + params.put("rest_api_json_path", body.get("rest_api_json_path")); - int updated = sqlSession.update(NS + "updateScreenInfo", params); + int updated = sqlSession.update(NS + "update_screen_info", params); if (updated == 0) return null; return getScreenById(screenId); } @@ -152,9 +152,9 @@ public class ScreenManagementService extends BaseService { @Transactional public Map updateScreenTableName(Integer screenId, String tableName, String userId) { Map params = new HashMap<>(); - params.put("screenId", screenId); - params.put("tableName", tableName); - int updated = sqlSession.update(NS + "updateScreenTableName", params); + params.put("screen_id", screenId); + params.put("table_name", tableName); + int updated = sqlSession.update(NS + "update_screen_table_name", params); if (updated == 0) return null; return getScreenById(screenId); } @@ -162,11 +162,11 @@ public class ScreenManagementService extends BaseService { /** 의존성 체크 */ public Map checkScreenDependencies(Integer screenId, String companyCode) { Map params = new HashMap<>(); - params.put("screenId", screenId); - params.put("companyCode", companyCode); + params.put("screen_id", screenId); + params.put("company_code", companyCode); - List> menuDeps = sqlSession.selectList(NS + "selectMenuAssignmentDeps", params); - List> layoutDeps = sqlSession.selectList(NS + "selectScreensWithLayouts", params); + List> menuDeps = sqlSession.selectList(NS + "select_menu_assignment_deps", params); + List> layoutDeps = sqlSession.selectList(NS + "select_screens_with_layouts", params); // 이 화면을 모달로 사용하는 레이아웃 탐색 List> linkedScreens = detectLinkedScreensInternal(screenId, companyCode); @@ -174,11 +174,11 @@ public class ScreenManagementService extends BaseService { boolean hasDependencies = !menuDeps.isEmpty() || !linkedScreens.isEmpty(); Map result = new LinkedHashMap<>(); - result.put("hasDependencies", hasDependencies); + result.put("has_dependencies", hasDependencies); Map deps = new LinkedHashMap<>(); - deps.put("menuAssignments", menuDeps); - deps.put("linkedScreens", linkedScreens); + deps.put("menu_assignments", menuDeps); + deps.put("linked_screens", linkedScreens); result.put("dependencies", deps); return result; } @@ -194,38 +194,38 @@ public class ScreenManagementService extends BaseService { String deleteReason) { // flow cleanup: 레이아웃 V2에서 flowId 수집 후 다른 화면에서 미사용 시 삭제 Map layoutParams = new HashMap<>(); - layoutParams.put("screenId", screenId); - layoutParams.put("companyCode", companyCode); + layoutParams.put("screen_id", screenId); + layoutParams.put("company_code", companyCode); List> layouts = sqlSession.selectList(NS + "selectLayoutsV2ForFlowCleanup", layoutParams); if (!layouts.isEmpty()) { Object layoutDataRaw = layouts.get(0).get("layout_data"); Set flowIds = collectFlowIds(layoutDataRaw); for (Integer flowId : flowIds) { Map usageParams = new HashMap<>(); - usageParams.put("screenId", screenId); - usageParams.put("companyCode", companyCode); - usageParams.put("flowId", flowId); - int usageCount = sqlSession.selectOne(NS + "countFlowUsageInOtherScreens", usageParams); + usageParams.put("screen_id", screenId); + usageParams.put("company_code", companyCode); + usageParams.put("flow_id", flowId); + int usageCount = sqlSession.selectOne(NS + "count_flow_usage_in_other_screens", usageParams); if (usageCount == 0) { Map fp = new HashMap<>(); - fp.put("flowId", flowId); - fp.put("companyCode", companyCode); - sqlSession.delete(NS + "deleteFlowStepConnections", fp); - sqlSession.delete(NS + "deleteFlowSteps", fp); - sqlSession.delete(NS + "deleteFlowDefinition", fp); - sqlSession.delete(NS + "deleteNodeFlowsByFlowId", fp); + fp.put("flow_id", flowId); + fp.put("company_code", companyCode); + sqlSession.delete(NS + "delete_flow_step_connections", fp); + sqlSession.delete(NS + "delete_flow_steps", fp); + sqlSession.delete(NS + "delete_flow_definition", fp); + sqlSession.delete(NS + "delete_node_flows_by_flow_id", fp); log.info("화면 삭제 시 플로우 삭제: screenId={}, flowId={}", screenId, flowId); } } } Map params = new HashMap<>(); - params.put("screenId", screenId); - params.put("deletedBy", userId); - params.put("deleteReason", deleteReason); - sqlSession.update(NS + "softDeleteScreen", params); - sqlSession.update(NS + "deactivateMenuAssignmentsByScreen", params); - sqlSession.delete(NS + "deleteScreenGroupLinks", params); + params.put("screen_id", screenId); + params.put("deleted_by", userId); + params.put("delete_reason", deleteReason); + sqlSession.update(NS + "soft_delete_screen", params); + sqlSession.update(NS + "deactivate_menu_assignments_by_screen", params); + sqlSession.delete(NS + "delete_screen_group_links", params); } /** 화면 일괄 소프트 삭제 */ @@ -239,9 +239,9 @@ public class ScreenManagementService extends BaseService { /** 화면명 중복 체크 */ public boolean checkDuplicateScreenName(String screenName, String companyCode) { Map params = new HashMap<>(); - params.put("screenName", screenName); - params.put("companyCode", companyCode); - int cnt = sqlSession.selectOne(NS + "checkDuplicateScreenName", params); + params.put("screen_name", screenName); + params.put("company_code", companyCode); + int cnt = sqlSession.selectOne(NS + "check_duplicate_screen_name", params); return cnt > 0; } @@ -256,8 +256,8 @@ public class ScreenManagementService extends BaseService { params.put("size", size); params.put("offset", (page - 1) * size); - List> data = sqlSession.selectList(NS + "selectDeletedScreenList", params); - int total = sqlSession.selectOne(NS + "countDeletedScreenList", params); + List> data = sqlSession.selectList(NS + "select_deleted_screen_list", params); + int total = sqlSession.selectOne(NS + "count_deleted_screen_list", params); data = commonService.toCamelCaseKeysList(data); Map result = new LinkedHashMap<>(); @@ -265,7 +265,7 @@ public class ScreenManagementService extends BaseService { result.put("total", total); result.put("page", page); result.put("size", size); - result.put("totalPages", (int) Math.ceil((double) total / size)); + result.put("total_pages", (int) Math.ceil((double) total / size)); return result; } @@ -279,19 +279,19 @@ public class ScreenManagementService extends BaseService { String screenCode = (String) screen.get("screen_code"); if (screenCode != null) { Map ckParams = new HashMap<>(); - ckParams.put("screenCode", screenCode); - ckParams.put("screenId", screenId); - int cnt = sqlSession.selectOne(NS + "checkScreenCodeForRestore", ckParams); + ckParams.put("screen_code", screenCode); + ckParams.put("screen_id", screenId); + int cnt = sqlSession.selectOne(NS + "check_screen_code_for_restore", ckParams); if (cnt > 0) { throw new IllegalStateException("SCREEN_CODE_CONFLICT"); } } Map params = new HashMap<>(); - params.put("screenId", screenId); - params.put("restoredBy", userId); - sqlSession.update(NS + "restoreScreen", params); - sqlSession.update(NS + "reactivateMenuAssignmentsByScreen", params); + params.put("screen_id", screenId); + params.put("restored_by", userId); + sqlSession.update(NS + "restore_screen", params); + sqlSession.update(NS + "reactivate_menu_assignments_by_screen", params); return getScreenById(screenId); } @@ -299,10 +299,10 @@ public class ScreenManagementService extends BaseService { @Transactional public void permanentDeleteScreen(Integer screenId) { Map params = new HashMap<>(); - params.put("screenId", screenId); + params.put("screen_id", screenId); sqlSession.delete(NS + "permanentDeleteLayoutV1", params); - sqlSession.delete(NS + "permanentDeleteMenuAssignmentsByScreen", params); - sqlSession.delete(NS + "permanentDeleteScreen", params); + sqlSession.delete(NS + "permanent_delete_menu_assignments_by_screen", params); + sqlSession.delete(NS + "permanent_delete_screen", params); } /** 영구 삭제 (일괄) */ @@ -323,8 +323,8 @@ public class ScreenManagementService extends BaseService { // Advisory lock int lockId = companyCode.chars().sum(); Map lockParams = new HashMap<>(); - lockParams.put("lockId", (long) lockId); - sqlSession.selectOne(NS + "pgAdvisoryXactLock", lockParams); + lockParams.put("lock_id", (long) lockId); + sqlSession.selectOne(NS + "pg_advisory_xact_lock", lockParams); return calcNextScreenCode(companyCode); } @@ -334,12 +334,12 @@ public class ScreenManagementService extends BaseService { public List generateMultipleScreenCodes(String companyCode, int count) { int lockId = companyCode.chars().sum(); Map lockParams = new HashMap<>(); - lockParams.put("lockId", (long) lockId); - sqlSession.selectOne(NS + "pgAdvisoryXactLock", lockParams); + lockParams.put("lock_id", (long) lockId); + sqlSession.selectOne(NS + "pg_advisory_xact_lock", lockParams); Map params = new HashMap<>(); params.put("pattern", companyCode + "_%"); - List> existing = sqlSession.selectList(NS + "selectScreenCodesByPattern", params); + List> existing = sqlSession.selectList(NS + "select_screen_codes_by_pattern", params); Pattern numPattern = Pattern.compile("^" + Pattern.quote(companyCode) + "_(\\d+)$"); int maxNumber = existing.stream() @@ -366,42 +366,42 @@ public class ScreenManagementService extends BaseService { @Transactional public Map copyScreen(Integer screenId, String newName, String companyCode, String userId) { - Map original = sqlSession.selectOne(NS + "selectScreenForCopy", Map.of("screenId", screenId)); + Map original = sqlSession.selectOne(NS + "select_screen_for_copy", Map.of("screen_id", screenId)); if (original == null) throw new IllegalArgumentException("복사할 화면을 찾을 수 없습니다."); String newCode = generateScreenCode(companyCode); Map insertParams = new HashMap<>(); - insertParams.put("screenName", newName != null ? newName : original.get("screen_name") + " Copy"); - insertParams.put("screenCode", newCode); - insertParams.put("tableName", original.get("table_name")); - insertParams.put("companyCode", companyCode); + insertParams.put("screen_name", newName != null ? newName : original.get("screen_name") + " Copy"); + insertParams.put("screen_code", newCode); + insertParams.put("table_name", original.get("table_name")); + insertParams.put("company_code", companyCode); insertParams.put("description", original.get("description")); - insertParams.put("createdBy", userId); - insertParams.put("dbSourceType", original.get("db_source_type")); - insertParams.put("dbConnectionId", original.get("db_connection_id")); - insertParams.put("dataSourceType", original.get("data_source_type")); - insertParams.put("restApiConnectionId", original.get("rest_api_connection_id")); - insertParams.put("restApiEndpoint", original.get("rest_api_endpoint")); - insertParams.put("restApiJsonPath", original.get("rest_api_json_path")); + insertParams.put("created_by", userId); + insertParams.put("db_source_type", original.get("db_source_type")); + insertParams.put("db_connection_id", original.get("db_connection_id")); + insertParams.put("data_source_type", original.get("data_source_type")); + insertParams.put("rest_api_connection_id", original.get("rest_api_connection_id")); + insertParams.put("rest_api_endpoint", original.get("rest_api_endpoint")); + insertParams.put("rest_api_json_path", original.get("rest_api_json_path")); - Map newScreen = sqlSession.selectOne(NS + "insertScreenCopy", insertParams); + Map newScreen = sqlSession.selectOne(NS + "insert_screen_copy", insertParams); Integer newScreenId = toInteger(newScreen.get("screen_id")); // Layout V1 복사 - List> v1Rows = sqlSession.selectList(NS + "selectLayoutV1ForCopy", Map.of("screenId", screenId)); + List> v1Rows = sqlSession.selectList(NS + "selectLayoutV1ForCopy", Map.of("screen_id", screenId)); for (Map row : v1Rows) { Map v1p = new HashMap<>(row); - v1p.put("screenId", newScreenId); + v1p.put("screen_id", newScreenId); sqlSession.insert(NS + "insertLayoutV1Copy", v1p); } // Layout V2 복사 - List> v2Rows = sqlSession.selectList(NS + "selectLayoutV2ForCopy", Map.of("screenId", screenId)); + List> v2Rows = sqlSession.selectList(NS + "selectLayoutV2ForCopy", Map.of("screen_id", screenId)); for (Map row : v2Rows) { Map v2p = new HashMap<>(row); - v2p.put("screenId", newScreenId); - v2p.put("companyCode", companyCode); + v2p.put("screen_id", newScreenId); + v2p.put("company_code", companyCode); sqlSession.insert(NS + "insertLayoutV2Copy", v2p); } @@ -412,7 +412,7 @@ public class ScreenManagementService extends BaseService { @Transactional public Map copyScreenWithModals(Integer screenId, Map body, String companyCode, String userId) { - String newBaseName = (String) body.get("newBaseName"); + String newBaseName = (String) body.get("new_base_name"); // 메인 화면 복사 Map mainScreen = copyScreen(screenId, newBaseName, companyCode, userId); @@ -438,9 +438,9 @@ public class ScreenManagementService extends BaseService { } Map result = new LinkedHashMap<>(); - result.put("mainScreen", mainScreen); - result.put("copiedScreens", copiedScreens); - result.put("idMapping", idMapping); + result.put("main_screen", mainScreen); + result.put("copied_screens", copiedScreens); + result.put("id_mapping", idMapping); return result; } @@ -449,26 +449,26 @@ public class ScreenManagementService extends BaseService { // ═══════════════════════════════════════════════════════════ public List> getTables() { - return sqlSession.selectList(NS + "selectPublicTables", new HashMap<>()); + return sqlSession.selectList(NS + "select_public_tables", new HashMap<>()); } public Map getTableInfo(String tableName) { Map params = new HashMap<>(); - params.put("tableName", tableName); - return sqlSession.selectOne(NS + "selectTableInfoByName", params); + params.put("table_name", tableName); + return sqlSession.selectOne(NS + "select_table_info_by_name", params); } public Map getTableColumns(String tableName, String companyCode) { Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("companyCode", companyCode); + params.put("table_name", tableName); + params.put("company_code", companyCode); - List> columns = sqlSession.selectList(NS + "selectTableColumnsInfo", params); - List> typeColumns = sqlSession.selectList(NS + "selectTableTypeColumnsInfo", params); + List> columns = sqlSession.selectList(NS + "select_table_columns_info", params); + List> typeColumns = sqlSession.selectList(NS + "select_table_type_columns_info", params); Map result = new LinkedHashMap<>(); result.put("columns", columns); - result.put("typeColumns", typeColumns); + result.put("type_columns", typeColumns); return result; } @@ -479,14 +479,14 @@ public class ScreenManagementService extends BaseService { @Transactional public void saveLayout(Integer screenId, List> components, String userId) { Map params = new HashMap<>(); - params.put("screenId", screenId); + params.put("screen_id", screenId); sqlSession.delete(NS + "deleteAllLayoutV1", params); for (int i = 0; i < components.size(); i++) { Map comp = components.get(i); Map ip = new HashMap<>(comp); - ip.put("screenId", screenId); - ip.put("displayOrder", toInt(comp.getOrDefault("displayOrder", i), i)); + ip.put("screen_id", screenId); + ip.put("display_order", toInt(comp.getOrDefault("display_order", i), i)); if (ip.get("properties") != null && !(ip.get("properties") instanceof String)) { ip.put("properties", toJsonString(ip.get("properties"))); } @@ -496,7 +496,7 @@ public class ScreenManagementService extends BaseService { public List> getLayoutV1(Integer screenId) { Map params = new HashMap<>(); - params.put("screenId", screenId); + params.put("screen_id", screenId); return sqlSession.selectList(NS + "selectLayoutV1ByScreen", params); } @@ -507,8 +507,8 @@ public class ScreenManagementService extends BaseService { if (screen == null) return null; Map params = new HashMap<>(); - params.put("screenId", screenId); - params.put("companyCode", companyCode); + params.put("screen_id", screenId); + params.put("company_code", companyCode); List> layouts = sqlSession.selectList(NS + "selectLayoutV1FromV1Table", params); List> components = new ArrayList<>(); @@ -543,20 +543,20 @@ public class ScreenManagementService extends BaseService { Map comp = new LinkedHashMap<>(); comp.put("id", layout.get("component_id")); comp.put("type", componentType); - comp.put("componentType", componentType); - comp.put("componentUrl", componentUrl); + comp.put("component_type", componentType); + comp.put("component_url", componentUrl); comp.put("position", position); comp.put("size", size); - comp.put("parentId", layout.get("parent_id")); - comp.put("componentConfig", componentConfig); + comp.put("parent_id", layout.get("parent_id")); + comp.put("component_config", componentConfig); components.add(comp); } Map result = new LinkedHashMap<>(); result.put("components", components); - result.put("gridSettings", buildDefaultGridSettings()); - result.put("screenResolution", null); - result.put("tableName", screen.get("table_name")); + result.put("grid_settings", buildDefaultGridSettings()); + result.put("screen_resolution", null); + result.put("table_name", screen.get("table_name")); return result; } @@ -583,10 +583,10 @@ public class ScreenManagementService extends BaseService { } if (v2 != null) { - if (!v2.containsKey("gridSettings") || v2.get("gridSettings") == null) { - v2.put("gridSettings", buildDefaultGridSettings()); + if (!v2.containsKey("grid_settings") || v2.get("grid_settings") == null) { + v2.put("grid_settings", buildDefaultGridSettings()); } - if (!v2.containsKey("screenResolution") || v2.get("screenResolution") == null) { + if (!v2.containsKey("screen_resolution") || v2.get("screen_resolution") == null) { Object compsObj = v2.get("components"); if (compsObj instanceof List && !((List) compsObj).isEmpty()) { List> comps = (List>) compsObj; @@ -606,7 +606,7 @@ public class ScreenManagementService extends BaseService { Map res = new LinkedHashMap<>(); res.put("width", Math.max(1200, maxRight + 100)); res.put("height", Math.max(800, maxBottom + 100)); - v2.put("screenResolution", res); + v2.put("screen_resolution", res); } } return v2; @@ -615,8 +615,8 @@ public class ScreenManagementService extends BaseService { List> v1 = getLayoutV1(screenId); Map result = new LinkedHashMap<>(); result.put("components", v1 != null ? v1 : Collections.emptyList()); - result.put("gridSettings", buildDefaultGridSettings()); - result.put("screenResolution", null); + result.put("grid_settings", buildDefaultGridSettings()); + result.put("screen_resolution", null); return result; } @@ -625,8 +625,8 @@ public class ScreenManagementService extends BaseService { gs.put("columns", 12); gs.put("gap", 16); gs.put("padding", 16); - gs.put("snapToGrid", true); - gs.put("showGrid", true); + gs.put("snap_to_grid", true); + gs.put("show_grid", true); return gs; } @@ -637,9 +637,9 @@ public class ScreenManagementService extends BaseService { @SuppressWarnings("unchecked") public Map getLayoutV2(Integer screenId, String companyCode, Integer layerId) { Map params = new HashMap<>(); - params.put("screenId", screenId); - params.put("companyCode", companyCode); - if (layerId != null) params.put("layerId", layerId); + params.put("screen_id", screenId); + params.put("company_code", companyCode); + if (layerId != null) params.put("layer_id", layerId); Map row = sqlSession.selectOne(NS + "selectLayoutV2", params); if (row == null) return null; @@ -658,9 +658,9 @@ public class ScreenManagementService extends BaseService { @SuppressWarnings("unchecked") private Map getLayoutV2Exact(Integer screenId, String companyCode, Integer layerId) { Map params = new HashMap<>(); - params.put("screenId", screenId); - params.put("companyCode", companyCode); - if (layerId != null) params.put("layerId", layerId); + params.put("screen_id", screenId); + params.put("company_code", companyCode); + if (layerId != null) params.put("layer_id", layerId); Map row = sqlSession.selectOne(NS + "selectLayoutV2Exact", params); if (row == null) return null; @@ -679,32 +679,32 @@ public class ScreenManagementService extends BaseService { @Transactional public void saveLayoutV2(Integer screenId, Map body, String companyCode, String userId) { - String layoutData = toJsonString(body.get("layoutData")); - Integer layerId = toInt(body.getOrDefault("layerId", 1), 1); - String layerName = (String) body.getOrDefault("layerName", "기본 레이어"); + String layoutData = toJsonString(body.get("layout_data")); + Integer layerId = toInt(body.getOrDefault("layer_id", 1), 1); + String layerName = (String) body.getOrDefault("layer_name", "기본 레이어"); Map params = new HashMap<>(); - params.put("screenId", screenId); - params.put("companyCode", companyCode); - params.put("layerId", layerId); - params.put("layerName", layerName); - params.put("layoutData", layoutData); + params.put("screen_id", screenId); + params.put("company_code", companyCode); + params.put("layer_id", layerId); + params.put("layer_name", layerName); + params.put("layout_data", layoutData); - Object conditionConfig = body.get("conditionConfig"); + Object conditionConfig = body.get("condition_config"); if (conditionConfig != null) { - params.put("conditionConfig", toJsonString(conditionConfig)); + params.put("condition_config", toJsonString(conditionConfig)); sqlSession.insert(NS + "upsertLayoutV2WithCondition", params); } else { sqlSession.insert(NS + "upsertLayoutV2", params); } // 메인 테이블 추출 - Object tableName = body.get("mainTableName"); + Object tableName = body.get("main_table_name"); if (tableName != null) { Map tp = new HashMap<>(); - tp.put("screenId", screenId); - tp.put("tableName", tableName); - sqlSession.update(NS + "updateScreenMainTable", tp); + tp.put("screen_id", screenId); + tp.put("table_name", tableName); + sqlSession.update(NS + "update_screen_main_table", tp); } } @@ -714,35 +714,35 @@ public class ScreenManagementService extends BaseService { public Map getLayoutPop(Integer screenId, String companyCode) { Map params = new HashMap<>(); - params.put("screenId", screenId); - params.put("companyCode", companyCode); - return sqlSession.selectOne(NS + "selectLayoutPop", params); + params.put("screen_id", screenId); + params.put("company_code", companyCode); + return sqlSession.selectOne(NS + "select_layout_pop", params); } @Transactional public void saveLayoutPop(Integer screenId, Map body, String companyCode, String userId) { - String layoutData = toJsonString(body.get("layoutData")); + String layoutData = toJsonString(body.get("layout_data")); Map params = new HashMap<>(); - params.put("screenId", screenId); - params.put("companyCode", companyCode); - params.put("layoutData", layoutData); - params.put("userId", userId); - sqlSession.insert(NS + "upsertLayoutPop", params); + params.put("screen_id", screenId); + params.put("company_code", companyCode); + params.put("layout_data", layoutData); + params.put("user_id", userId); + sqlSession.insert(NS + "upsert_layout_pop", params); } @Transactional public void deleteLayoutPop(Integer screenId, String companyCode) { Map params = new HashMap<>(); - params.put("screenId", screenId); - params.put("companyCode", companyCode); - sqlSession.delete(NS + "deleteLayoutPopByScreen", params); + params.put("screen_id", screenId); + params.put("company_code", companyCode); + sqlSession.delete(NS + "delete_layout_pop_by_screen", params); } public List> getScreenIdsWithPopLayout(String companyCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - return sqlSession.selectList(NS + "selectScreenIdsWithPopLayout", params); + params.put("company_code", companyCode); + return sqlSession.selectList(NS + "select_screen_ids_with_pop_layout", params); } // ═══════════════════════════════════════════════════════════ @@ -751,38 +751,38 @@ public class ScreenManagementService extends BaseService { public List> getScreenLayers(Integer screenId, String companyCode) { Map params = new HashMap<>(); - params.put("screenId", screenId); - params.put("companyCode", companyCode); - return sqlSession.selectList(NS + "selectLayersByScreen", params); + params.put("screen_id", screenId); + params.put("company_code", companyCode); + return sqlSession.selectList(NS + "select_layers_by_screen", params); } public Map getLayerLayout(Integer screenId, Integer layerId, String companyCode) { Map params = new HashMap<>(); - params.put("screenId", screenId); - params.put("layerId", layerId); - params.put("companyCode", companyCode); - return sqlSession.selectOne(NS + "selectLayerLayout", params); + params.put("screen_id", screenId); + params.put("layer_id", layerId); + params.put("company_code", companyCode); + return sqlSession.selectOne(NS + "select_layer_layout", params); } @Transactional public boolean deleteLayer(Integer screenId, Integer layerId, String companyCode) { Map params = new HashMap<>(); - params.put("screenId", screenId); - params.put("layerId", layerId); - params.put("companyCode", companyCode); - return sqlSession.delete(NS + "deleteLayerById", params) > 0; + params.put("screen_id", screenId); + params.put("layer_id", layerId); + params.put("company_code", companyCode); + return sqlSession.delete(NS + "delete_layer_by_id", params) > 0; } @Transactional public void updateLayerCondition(Integer screenId, Integer layerId, Map body, String companyCode) { Map params = new HashMap<>(); - params.put("screenId", screenId); - params.put("layerId", layerId); - params.put("companyCode", companyCode); - params.put("conditionConfig", toJsonString(body.get("conditionConfig"))); - if (body.containsKey("layerName")) params.put("layerName", body.get("layerName")); - sqlSession.update(NS + "updateLayerCondition", params); + params.put("screen_id", screenId); + params.put("layer_id", layerId); + params.put("company_code", companyCode); + params.put("condition_config", toJsonString(body.get("condition_config"))); + if (body.containsKey("layer_name")) params.put("layer_name", body.get("layer_name")); + sqlSession.update(NS + "update_layer_condition", params); } // ═══════════════════════════════════════════════════════════ @@ -791,63 +791,63 @@ public class ScreenManagementService extends BaseService { public List> getScreenZones(Integer screenId, String companyCode) { Map params = new HashMap<>(); - params.put("screenId", screenId); - params.put("companyCode", companyCode); - return sqlSession.selectList(NS + "selectZonesByScreen", params); + params.put("screen_id", screenId); + params.put("company_code", companyCode); + return sqlSession.selectList(NS + "select_zones_by_screen", params); } @Transactional public Map createZone(Integer screenId, Map body, String companyCode) { Map params = new HashMap<>(); - params.put("screenId", screenId); - params.put("companyCode", companyCode); - params.put("zoneName", body.get("zoneName")); + params.put("screen_id", screenId); + params.put("company_code", companyCode); + params.put("zone_name", body.get("zone_name")); params.put("x", body.get("x")); params.put("y", body.get("y")); params.put("width", body.get("width")); params.put("height", body.get("height")); - params.put("triggerComponentId", body.get("triggerComponentId")); - params.put("triggerOperator", body.get("triggerOperator")); + params.put("trigger_component_id", body.get("trigger_component_id")); + params.put("trigger_operator", body.get("trigger_operator")); - Map zone = sqlSession.selectOne(NS + "insertZone", params); + Map zone = sqlSession.selectOne(NS + "insert_zone", params); // 새 레이어 생성 (zone에 연결) Integer newLayerId = calcNextLayerId(screenId, companyCode); Map layerParams = new HashMap<>(); - layerParams.put("screenId", screenId); - layerParams.put("companyCode", companyCode); - layerParams.put("layerId", newLayerId); - layerParams.put("layerName", body.getOrDefault("zoneName", "새 레이어")); - layerParams.put("layoutData", "{\"components\":[]}"); - layerParams.put("conditionConfig", "{}"); - sqlSession.insert(NS + "insertLayerForZone", layerParams); + layerParams.put("screen_id", screenId); + layerParams.put("company_code", companyCode); + layerParams.put("layer_id", newLayerId); + layerParams.put("layer_name", body.getOrDefault("zone_name", "새 레이어")); + layerParams.put("layout_data", "{\"components\":[]}"); + layerParams.put("condition_config", "{}"); + sqlSession.insert(NS + "insert_layer_for_zone", layerParams); Map result = new LinkedHashMap<>(); result.put("zone", zone); - result.put("layerId", newLayerId); + result.put("layer_id", newLayerId); return result; } @Transactional public boolean updateZone(Integer zoneId, Map body, String companyCode) { Map params = new HashMap<>(body); - params.put("zoneId", zoneId); - params.put("companyCode", companyCode); - return sqlSession.update(NS + "updateZone", params) > 0; + params.put("zone_id", zoneId); + params.put("company_code", companyCode); + return sqlSession.update(NS + "update_zone", params) > 0; } @Transactional public boolean deleteZone(Integer zoneId, String companyCode) { // zone_id를 참조하는 condition_config 초기화 Map clearParams = new HashMap<>(); - clearParams.put("zoneIdStr", String.valueOf(zoneId)); - clearParams.put("companyCode", companyCode); - sqlSession.update(NS + "clearZoneConditionConfigs", clearParams); + clearParams.put("zone_id_str", String.valueOf(zoneId)); + clearParams.put("company_code", companyCode); + sqlSession.update(NS + "clear_zone_condition_configs", clearParams); Map params = new HashMap<>(); - params.put("zoneId", zoneId); - params.put("companyCode", companyCode); - return sqlSession.delete(NS + "deleteZoneById", params) > 0; + params.put("zone_id", zoneId); + params.put("company_code", companyCode); + return sqlSession.delete(NS + "delete_zone_by_id", params) > 0; } @Transactional @@ -855,17 +855,17 @@ public class ScreenManagementService extends BaseService { Map body, String companyCode) { Integer newLayerId = calcNextLayerId(screenId, companyCode); Map params = new HashMap<>(); - params.put("screenId", screenId); - params.put("companyCode", companyCode); - params.put("layerId", newLayerId); - params.put("layerName", body.getOrDefault("layerName", "새 레이어")); - params.put("layoutData", "{\"components\":[]}"); - params.put("conditionConfig", toJsonString(body.getOrDefault("conditionConfig", new HashMap<>()))); - sqlSession.insert(NS + "insertLayerForZone", params); + params.put("screen_id", screenId); + params.put("company_code", companyCode); + params.put("layer_id", newLayerId); + params.put("layer_name", body.getOrDefault("layer_name", "새 레이어")); + params.put("layout_data", "{\"components\":[]}"); + params.put("condition_config", toJsonString(body.getOrDefault("condition_config", new HashMap<>()))); + sqlSession.insert(NS + "insert_layer_for_zone", params); Map result = new LinkedHashMap<>(); - result.put("layerId", newLayerId); - result.put("zoneId", zoneId); + result.put("layer_id", newLayerId); + result.put("zone_id", zoneId); return result; } @@ -876,68 +876,68 @@ public class ScreenManagementService extends BaseService { @Transactional public Map assignScreenToMenu(Integer screenId, Map body, String companyCode, String userId) { - Integer menuObjid = toInteger(body.get("menuObjid")); + Integer menuObjid = toInteger(body.get("menu_objid")); // 기존 할당 체크 Map ckParams = new HashMap<>(); - ckParams.put("screenId", screenId); - ckParams.put("menuObjid", menuObjid); - ckParams.put("companyCode", companyCode); - Map existing = sqlSession.selectOne(NS + "checkMenuAssignmentExists", ckParams); + ckParams.put("screen_id", screenId); + ckParams.put("menu_objid", menuObjid); + ckParams.put("company_code", companyCode); + Map existing = sqlSession.selectOne(NS + "check_menu_assignment_exists", ckParams); if (existing != null) throw new IllegalStateException("ALREADY_ASSIGNED"); Map params = new HashMap<>(); - params.put("screenId", screenId); - params.put("menuObjid", menuObjid); - params.put("companyCode", companyCode); - params.put("displayOrder", body.getOrDefault("displayOrder", 0)); - params.put("createdBy", userId); - sqlSession.insert(NS + "insertMenuAssignment", params); + params.put("screen_id", screenId); + params.put("menu_objid", menuObjid); + params.put("company_code", companyCode); + params.put("display_order", body.getOrDefault("display_order", 0)); + params.put("created_by", userId); + sqlSession.insert(NS + "insert_menu_assignment", params); // screen_code 조회 → menu_info 업데이트 - Map screenCodeRow = sqlSession.selectOne(NS + "selectScreenCode", Map.of("screenId", screenId)); + Map screenCodeRow = sqlSession.selectOne(NS + "select_screen_code", Map.of("screen_id", screenId)); String screenCode = screenCodeRow != null ? (String) screenCodeRow.get("screen_code") : null; - Map menuTypeRow = sqlSession.selectOne(NS + "selectMenuType", Map.of("menuObjid", menuObjid)); + Map menuTypeRow = sqlSession.selectOne(NS + "select_menu_type", Map.of("menu_objid", menuObjid)); String menuType = menuTypeRow != null ? (String) menuTypeRow.get("menu_type") : null; if (screenCode != null) { String menuUrl = "/screen/" + screenCode; Map updateParams = new HashMap<>(); - updateParams.put("menuObjid", menuObjid); - updateParams.put("menuUrl", menuUrl); - updateParams.put("screenCode", screenCode); - sqlSession.update(NS + "updateMenuInfoAssign", updateParams); + updateParams.put("menu_objid", menuObjid); + updateParams.put("menu_url", menuUrl); + updateParams.put("screen_code", screenCode); + sqlSession.update(NS + "update_menu_info_assign", updateParams); } Map result = new LinkedHashMap<>(); - result.put("screenId", screenId); - result.put("menuObjid", menuObjid); - result.put("companyCode", companyCode); - result.put("screenCode", screenCode); + result.put("screen_id", screenId); + result.put("menu_objid", menuObjid); + result.put("company_code", companyCode); + result.put("screen_code", screenCode); return result; } public List> getScreensByMenu(Integer menuObjid, String companyCode) { Map params = new HashMap<>(); - params.put("menuObjid", menuObjid); - params.put("companyCode", companyCode); - return sqlSession.selectList(NS + "selectScreensByMenu", params); + params.put("menu_objid", menuObjid); + params.put("company_code", companyCode); + return sqlSession.selectList(NS + "select_screens_by_menu", params); } @Transactional public void unassignScreenFromMenu(Integer screenId, Integer menuObjid, String companyCode) { Map params = new HashMap<>(); - params.put("screenId", screenId); - params.put("menuObjid", menuObjid); - params.put("companyCode", companyCode); - sqlSession.delete(NS + "deleteMenuAssignment", params); - sqlSession.update(NS + "updateMenuInfoUnassign", Map.of("menuObjid", menuObjid)); + params.put("screen_id", screenId); + params.put("menu_objid", menuObjid); + params.put("company_code", companyCode); + sqlSession.delete(NS + "delete_menu_assignment", params); + sqlSession.update(NS + "update_menu_info_unassign", Map.of("menu_objid", menuObjid)); } @Transactional public int cleanupDeletedMenuAssignments() { - return sqlSession.update(NS + "cleanupDeletedMenuAssignments", new HashMap<>()); + return sqlSession.update(NS + "cleanup_deleted_menu_assignments", new HashMap<>()); } // ═══════════════════════════════════════════════════════════ @@ -947,10 +947,10 @@ public class ScreenManagementService extends BaseService { @Transactional public void updateTabScreenReferences(Map body) { @SuppressWarnings("unchecked") - Map idMappingRaw = (Map) body.get("idMapping"); + Map idMappingRaw = (Map) body.get("id_mapping"); @SuppressWarnings("unchecked") - List screenIds = (List) body.get("screenIds"); - String companyCode = (String) body.get("companyCode"); + List screenIds = (List) body.get("screen_ids"); + String companyCode = (String) body.get("company_code"); if (idMappingRaw == null || screenIds == null) return; @@ -969,25 +969,25 @@ public class ScreenManagementService extends BaseService { @Transactional public int copyScreenMenuAssignments(Map body) { @SuppressWarnings("unchecked") - List screenIds = (List) body.get("screenIds"); - String sourceCompanyCode = (String) body.get("sourceCompanyCode"); - String targetCompanyCode = (String) body.get("targetCompanyCode"); - String userId = (String) body.get("userId"); + List screenIds = (List) body.get("screen_ids"); + String sourceCompanyCode = (String) body.get("source_company_code"); + String targetCompanyCode = (String) body.get("target_company_code"); + String userId = (String) body.get("user_id"); Map params = new HashMap<>(); - params.put("screenIds", screenIds); - params.put("sourceCompanyCode", sourceCompanyCode); - List> assignments = sqlSession.selectList(NS + "selectMenuAssignmentsForCopy", params); + params.put("screen_ids", screenIds); + params.put("source_company_code", sourceCompanyCode); + List> assignments = sqlSession.selectList(NS + "select_menu_assignments_for_copy", params); int count = 0; for (Map a : assignments) { Map ip = new HashMap<>(); - ip.put("screenId", a.get("screen_id")); - ip.put("menuObjid", a.get("menu_objid")); - ip.put("companyCode", targetCompanyCode); - ip.put("displayOrder", a.get("display_order")); - ip.put("createdBy", userId); - sqlSession.insert(NS + "insertMenuAssignmentCopy", ip); + ip.put("screen_id", a.get("screen_id")); + ip.put("menu_objid", a.get("menu_objid")); + ip.put("company_code", targetCompanyCode); + ip.put("display_order", a.get("display_order")); + ip.put("created_by", userId); + sqlSession.insert(NS + "insert_menu_assignment_copy", ip); count++; } return count; @@ -995,28 +995,28 @@ public class ScreenManagementService extends BaseService { @Transactional public int copyCodeCategoryAndCodes(Map body) { - String sourceCompanyCode = (String) body.get("sourceCompanyCode"); - String targetCompanyCode = (String) body.get("targetCompanyCode"); - String userId = (String) body.get("userId"); + String sourceCompanyCode = (String) body.get("source_company_code"); + String targetCompanyCode = (String) body.get("target_company_code"); + String userId = (String) body.get("user_id"); Map params = new HashMap<>(); - params.put("sourceCompanyCode", sourceCompanyCode); + params.put("source_company_code", sourceCompanyCode); - List> categories = sqlSession.selectList(NS + "selectCodeCategoryForCopy", params); + List> categories = sqlSession.selectList(NS + "select_code_category_for_copy", params); int count = 0; for (Map cat : categories) { Map cp = new HashMap<>(cat); - cp.put("targetCompanyCode", targetCompanyCode); - sqlSession.insert(NS + "upsertCodeCategory", cp); + cp.put("target_company_code", targetCompanyCode); + sqlSession.insert(NS + "upsert_code_category", cp); Map codeParams = new HashMap<>(); - codeParams.put("sourceCompanyCode", sourceCompanyCode); - codeParams.put("codeCategory", cat.get("category_code")); - List> codes = sqlSession.selectList(NS + "selectCodeInfoForCopy", codeParams); + codeParams.put("source_company_code", sourceCompanyCode); + codeParams.put("code_category", cat.get("category_code")); + List> codes = sqlSession.selectList(NS + "select_code_info_for_copy", codeParams); for (Map code : codes) { Map cop = new HashMap<>(code); - cop.put("targetCompanyCode", targetCompanyCode); - sqlSession.insert(NS + "upsertCodeInfo", cop); + cop.put("target_company_code", targetCompanyCode); + sqlSession.insert(NS + "upsert_code_info", cop); count++; } } @@ -1025,58 +1025,58 @@ public class ScreenManagementService extends BaseService { @Transactional public int copyCategoryMapping(Map body) { - String sourceCompanyCode = (String) body.get("sourceCompanyCode"); - String targetCompanyCode = (String) body.get("targetCompanyCode"); + String sourceCompanyCode = (String) body.get("source_company_code"); + String targetCompanyCode = (String) body.get("target_company_code"); Map params = new HashMap<>(); - params.put("sourceCompanyCode", sourceCompanyCode); + params.put("source_company_code", sourceCompanyCode); - List> trees = sqlSession.selectList(NS + "selectCategoryTreeForCopy", params); + List> trees = sqlSession.selectList(NS + "select_category_tree_for_copy", params); for (Map t : trees) { Map tp = new HashMap<>(t); - tp.put("targetCompanyCode", targetCompanyCode); - sqlSession.insert(NS + "upsertCategoryTree", tp); + tp.put("target_company_code", targetCompanyCode); + sqlSession.insert(NS + "upsert_category_tree", tp); } - List> values = sqlSession.selectList(NS + "selectCategoryValueForCopy", params); + List> values = sqlSession.selectList(NS + "select_category_value_for_copy", params); for (Map v : values) { Map vp = new HashMap<>(v); - vp.put("targetCompanyCode", targetCompanyCode); - sqlSession.insert(NS + "upsertCategoryValue", vp); + vp.put("target_company_code", targetCompanyCode); + sqlSession.insert(NS + "upsert_category_value", vp); } return trees.size() + values.size(); } @Transactional public int copyTableTypeColumns(Map body) { - String sourceCompanyCode = (String) body.get("sourceCompanyCode"); - String targetCompanyCode = (String) body.get("targetCompanyCode"); + String sourceCompanyCode = (String) body.get("source_company_code"); + String targetCompanyCode = (String) body.get("target_company_code"); Map params = new HashMap<>(); - params.put("sourceCompanyCode", sourceCompanyCode); + params.put("source_company_code", sourceCompanyCode); - List> cols = sqlSession.selectList(NS + "selectTableTypeColumnsForCopy", params); + List> cols = sqlSession.selectList(NS + "select_table_type_columns_for_copy", params); for (Map col : cols) { Map cp = new HashMap<>(col); - cp.put("targetCompanyCode", targetCompanyCode); - sqlSession.insert(NS + "upsertTableTypeColumn", cp); + cp.put("target_company_code", targetCompanyCode); + sqlSession.insert(NS + "upsert_table_type_column", cp); } return cols.size(); } @Transactional public int copyCascadingRelation(Map body) { - String sourceCompanyCode = (String) body.get("sourceCompanyCode"); - String targetCompanyCode = (String) body.get("targetCompanyCode"); + String sourceCompanyCode = (String) body.get("source_company_code"); + String targetCompanyCode = (String) body.get("target_company_code"); Map params = new HashMap<>(); - params.put("sourceCompanyCode", sourceCompanyCode); + params.put("source_company_code", sourceCompanyCode); - List> rels = sqlSession.selectList(NS + "selectCascadingRelationForCopy", params); + List> rels = sqlSession.selectList(NS + "select_cascading_relation_for_copy", params); for (Map rel : rels) { Map rp = new HashMap<>(rel); - rp.put("targetCompanyCode", targetCompanyCode); - sqlSession.insert(NS + "upsertCascadingRelation", rp); + rp.put("target_company_code", targetCompanyCode); + sqlSession.insert(NS + "upsert_cascading_relation", rp); } return rels.size(); } @@ -1087,9 +1087,9 @@ public class ScreenManagementService extends BaseService { public Map analyzePopScreenLinks(Integer screenId, String companyCode) { Map params = new HashMap<>(); - params.put("screenId", screenId); - params.put("companyCode", companyCode); - Map popLayout = sqlSession.selectOne(NS + "selectLayoutPop", params); + params.put("screen_id", screenId); + params.put("company_code", companyCode); + Map popLayout = sqlSession.selectOne(NS + "select_layout_pop", params); List linkedScreenIds = new ArrayList<>(); if (popLayout != null) { @@ -1101,12 +1101,12 @@ public class ScreenManagementService extends BaseService { if (!linkedScreenIds.isEmpty()) { Map idsParams = new HashMap<>(); idsParams.put("ids", linkedScreenIds); - linkedScreens = sqlSession.selectList(NS + "selectScreensByIds", idsParams); + linkedScreens = sqlSession.selectList(NS + "select_screens_by_ids", idsParams); } Map result = new LinkedHashMap<>(); - result.put("screenId", screenId); - result.put("linkedScreens", linkedScreens); + result.put("screen_id", screenId); + result.put("linked_screens", linkedScreens); return result; } @@ -1114,32 +1114,32 @@ public class ScreenManagementService extends BaseService { public Map deployPopScreens(Map body, String userId) { @SuppressWarnings("unchecked") List> screens = (List>) body.get("screens"); - String targetCompanyCode = (String) body.get("targetCompanyCode"); + String targetCompanyCode = (String) body.get("target_company_code"); List> deployed = new ArrayList<>(); for (Map screenDef : screens) { - String screenCode = (String) screenDef.get("screenCode"); - String sourceCompanyCode = (String) screenDef.get("sourceCompanyCode"); + String screenCode = (String) screenDef.get("screen_code"); + String sourceCompanyCode = (String) screenDef.get("source_company_code"); // 대상 회사에 화면 이미 있는지 체크 Map existsParams = new HashMap<>(); - existsParams.put("screenCode", screenCode); - existsParams.put("companyCode", targetCompanyCode); - Map existing = sqlSession.selectOne(NS + "selectScreenByCode", existsParams); + existsParams.put("screen_code", screenCode); + existsParams.put("company_code", targetCompanyCode); + Map existing = sqlSession.selectOne(NS + "select_screen_by_code", existsParams); Integer targetScreenId; if (existing == null) { // 화면 생성 Map insertParams = new HashMap<>(); - insertParams.put("screenName", screenDef.get("screenName")); - insertParams.put("screenCode", screenCode); - insertParams.put("tableName", screenDef.get("tableName")); - insertParams.put("companyCode", targetCompanyCode); + insertParams.put("screen_name", screenDef.get("screen_name")); + insertParams.put("screen_code", screenCode); + insertParams.put("table_name", screenDef.get("table_name")); + insertParams.put("company_code", targetCompanyCode); insertParams.put("description", screenDef.get("description")); - insertParams.put("createdBy", userId); - insertParams.put("dbSourceType", screenDef.get("dbSourceType")); - insertParams.put("dataSourceType", screenDef.get("dataSourceType")); - Map created = sqlSession.selectOne(NS + "insertScreenForDeploy", insertParams); + insertParams.put("created_by", userId); + insertParams.put("db_source_type", screenDef.get("db_source_type")); + insertParams.put("data_source_type", screenDef.get("data_source_type")); + Map created = sqlSession.selectOne(NS + "insert_screen_for_deploy", insertParams); targetScreenId = toInteger(created.get("screen_id")); } else { targetScreenId = toInteger(existing.get("screen_id")); @@ -1147,23 +1147,23 @@ public class ScreenManagementService extends BaseService { // POP 레이아웃 복사 Map sourceParams = new HashMap<>(); - sourceParams.put("screenId", toInteger(screenDef.get("screenId"))); - sourceParams.put("companyCode", sourceCompanyCode); - Map sourceLayout = sqlSession.selectOne(NS + "selectLayoutPop", sourceParams); + sourceParams.put("screen_id", toInteger(screenDef.get("screen_id"))); + sourceParams.put("company_code", sourceCompanyCode); + Map sourceLayout = sqlSession.selectOne(NS + "select_layout_pop", sourceParams); if (sourceLayout != null) { Map deployParams = new HashMap<>(); - deployParams.put("screenId", targetScreenId); - deployParams.put("companyCode", targetCompanyCode); - deployParams.put("layoutData", toJsonString(sourceLayout.get("layout_data"))); - deployParams.put("userId", userId); - sqlSession.insert(NS + "upsertPopLayoutDeploy", deployParams); + deployParams.put("screen_id", targetScreenId); + deployParams.put("company_code", targetCompanyCode); + deployParams.put("layout_data", toJsonString(sourceLayout.get("layout_data"))); + deployParams.put("user_id", userId); + sqlSession.insert(NS + "upsert_pop_layout_deploy", deployParams); } Map result = new LinkedHashMap<>(); - result.put("screenCode", screenCode); - result.put("screenId", targetScreenId); - result.put("companyCode", targetCompanyCode); + result.put("screen_code", screenCode); + result.put("screen_id", targetScreenId); + result.put("company_code", targetCompanyCode); deployed.add(result); } @@ -1180,8 +1180,8 @@ public class ScreenManagementService extends BaseService { /** 연결된 모달 화면 탐색 (V1 레이아웃 properties 내 screenId 참조) */ private List> detectLinkedScreensInternal(Integer screenId, String companyCode) { Map params = new HashMap<>(); - params.put("screenId", screenId); - List> layouts = sqlSession.selectList(NS + "selectLayoutsForLinkedModal", params); + params.put("screen_id", screenId); + List> layouts = sqlSession.selectList(NS + "select_layouts_for_linked_modal", params); Set linkedIds = new LinkedHashSet<>(); for (Map layout : layouts) { @@ -1198,14 +1198,14 @@ public class ScreenManagementService extends BaseService { Map idsParams = new HashMap<>(); idsParams.put("ids", new ArrayList<>(linkedIds)); - return sqlSession.selectList(NS + "selectScreensByIds", idsParams); + return sqlSession.selectList(NS + "select_screens_by_ids", idsParams); } /** JSON 노드 트리를 재귀 탐색하여 screenId 참조 수집 */ private void collectScreenIdRefs(JsonNode node, Set ids) { if (node == null) return; if (node.isObject()) { - JsonNode screenIdNode = node.get("screenId"); + JsonNode screenIdNode = node.get("screen_id"); if (screenIdNode != null && screenIdNode.isNumber()) { ids.add(screenIdNode.asInt()); } @@ -1236,22 +1236,22 @@ public class ScreenManagementService extends BaseService { private void collectFlowIdFromComponent(JsonNode comp, Set ids) { if (comp == null) return; // overrides.flowId - extractFlowIdFromPath(comp, ids, "overrides", "flowId"); + extractFlowIdFromPath(comp, ids, "overrides", "flow_id"); // overrides.webTypeConfig.dataflowConfig.flowConfig.flowId - extractFlowIdFromPath(comp, ids, "overrides", "webTypeConfig", "dataflowConfig", "flowConfig", "flowId"); + extractFlowIdFromPath(comp, ids, "overrides", "web_type_config", "dataflow_config", "flow_config", "flow_id"); // overrides.webTypeConfig.dataflowConfig.flowControls[].flowId - JsonNode controls = navigatePath(comp, "overrides", "webTypeConfig", "dataflowConfig", "flowControls"); + JsonNode controls = navigatePath(comp, "overrides", "web_type_config", "dataflow_config", "flow_controls"); if (controls != null && controls.isArray()) { for (JsonNode ctrl : controls) { - JsonNode fid = ctrl.get("flowId"); + JsonNode fid = ctrl.get("flow_id"); if (fid != null && fid.isNumber()) ids.add(fid.asInt()); } } // overrides.action.excelAfterUploadFlows[].flowId - JsonNode flows = navigatePath(comp, "overrides", "action", "excelAfterUploadFlows"); + JsonNode flows = navigatePath(comp, "overrides", "action", "excel_after_upload_flows"); if (flows != null && flows.isArray()) { for (JsonNode f : flows) { - JsonNode fid = f.get("flowId"); + JsonNode fid = f.get("flow_id"); if (fid != null && fid.isNumber()) ids.add(fid.asInt()); } } @@ -1292,7 +1292,7 @@ public class ScreenManagementService extends BaseService { String companyCode) { for (Integer sid : screenIds) { Map p = new HashMap<>(); - p.put("screenId", sid); + p.put("screen_id", sid); // V1 List> v1Layouts = sqlSession.selectList(NS + "selectLayoutsV1ForScreen", p); @@ -1302,7 +1302,7 @@ public class ScreenManagementService extends BaseService { String updated = replaceScreenIdsInJson(propsRaw.toString(), idMapping); if (updated != null) { Map up = new HashMap<>(); - up.put("layoutId", layout.get("layout_id")); + up.put("layout_id", layout.get("layout_id")); up.put("properties", updated); sqlSession.update(NS + "updateLayoutV1Properties", up); } @@ -1316,10 +1316,10 @@ public class ScreenManagementService extends BaseService { String updated = replaceScreenIdsInJson(dataRaw.toString(), idMapping); if (updated != null) { Map up = new HashMap<>(); - up.put("screenId", layout.get("screen_id")); - up.put("layerId", layout.get("layer_id")); - up.put("companyCode", layout.get("company_code")); - up.put("layoutData", updated); + up.put("screen_id", layout.get("screen_id")); + up.put("layer_id", layout.get("layer_id")); + up.put("company_code", layout.get("company_code")); + up.put("layout_data", updated); sqlSession.update(NS + "updateLayoutV2Data", up); } } @@ -1351,16 +1351,16 @@ public class ScreenManagementService extends BaseService { if (tableNames.isEmpty()) return; Map params = new HashMap<>(); - params.put("tableNames", new ArrayList<>(tableNames)); + params.put("table_names", new ArrayList<>(tableNames)); try { - List> labels = sqlSession.selectList(NS + "selectTableLabelsByNames", params); + List> labels = sqlSession.selectList(NS + "select_table_labels_by_names", params); Map labelMap = new HashMap<>(); for (Map row : labels) { labelMap.put((String) row.get("table_name"), (String) row.get("table_label")); } for (Map s : screens) { Object tn = s.get("table_name"); - if (tn != null) s.put("tableLabel", labelMap.get(tn.toString())); + if (tn != null) s.put("table_label", labelMap.get(tn.toString())); } } catch (Exception ignored) {} } @@ -1369,7 +1369,7 @@ public class ScreenManagementService extends BaseService { private String calcNextScreenCode(String companyCode) { Map params = new HashMap<>(); params.put("pattern", companyCode + "_%"); - List> existing = sqlSession.selectList(NS + "selectScreenCodesByPattern", params); + List> existing = sqlSession.selectList(NS + "select_screen_codes_by_pattern", params); Pattern numPattern = Pattern.compile("^" + Pattern.quote(companyCode) + "_(\\d+)$"); int maxNumber = existing.stream() @@ -1387,9 +1387,9 @@ public class ScreenManagementService extends BaseService { /** 다음 레이어 ID 계산 */ private int calcNextLayerId(Integer screenId, String companyCode) { Map params = new HashMap<>(); - params.put("screenId", screenId); - params.put("companyCode", companyCode); - Map row = sqlSession.selectOne(NS + "selectMaxLayerId", params); + params.put("screen_id", screenId); + params.put("company_code", companyCode); + Map row = sqlSession.selectOne(NS + "select_max_layer_id", params); int maxId = row != null ? toInt(row.getOrDefault("max_id", 1), 1) : 1; return maxId + 1; } diff --git a/backend-spring/src/main/java/com/erp/service/ShippingOrderService.java b/backend-spring/src/main/java/com/erp/service/ShippingOrderService.java index aedf771a..88593d80 100644 --- a/backend-spring/src/main/java/com/erp/service/ShippingOrderService.java +++ b/backend-spring/src/main/java/com/erp/service/ShippingOrderService.java @@ -40,15 +40,15 @@ public class ShippingOrderService extends BaseService { // ─── 다음 출하지시번호 미리보기 ───────────────────────────────────────────── public Map previewNextNo(Map params) { - String companyCode = (String) params.get("companyCode"); - String today = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")); + String companyCode = (String) params.get("company_code"); + String today = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy_m_mdd")); Map seqParams = new HashMap<>(); - seqParams.put("companyCode", companyCode); - seqParams.put("likePattern", "SI-" + today + "-%"); + seqParams.put("company_code", companyCode); + seqParams.put("like_pattern", "SI-" + today + "-%"); Map seqRow = sqlSession.selectOne("shippingOrder.getShippingOrderSeqNo", seqParams); long seq = seqRow != null ? ((Number) seqRow.get("seq")).longValue() : 1L; Map result = new HashMap<>(); - result.put("instructionNo", String.format("SI-%s-%03d", today, seq)); + result.put("instruction_no", String.format("SI-%s-%03d", today, seq)); return result; } @@ -56,8 +56,8 @@ public class ShippingOrderService extends BaseService { @Transactional public Map save(Map params) { - String companyCode = (String) params.get("companyCode"); - String userId = (String) params.get("userId"); + String companyCode = (String) params.get("company_code"); + String userId = (String) params.get("user_id"); Object editId = params.get("id"); @SuppressWarnings("unchecked") @@ -70,31 +70,31 @@ public class ShippingOrderService extends BaseService { // 수정 instructionId = ((Number) editId).longValue(); Map infoParams = new HashMap<>(); - infoParams.put("companyCode", companyCode); + infoParams.put("company_code", companyCode); infoParams.put("id", instructionId); Map existing = sqlSession.selectOne("shippingOrder.getShippingOrderInfo", infoParams); if (existing == null) { throw new IllegalArgumentException("출하지시를 찾을 수 없습니다"); } instructionNo = (String) existing.get("instruction_no"); - params.put("updatedBy", userId); + params.put("updated_by", userId); sqlSession.update("shippingOrder.updateShippingOrder", params); Map delParams = new HashMap<>(); - delParams.put("companyCode", companyCode); - delParams.put("instructionId", instructionId); + delParams.put("company_code", companyCode); + delParams.put("instruction_id", instructionId); sqlSession.delete("shippingOrder.deleteShippingOrderDetails", delParams); } else { // 신규 - 채번 생성 - String today = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")); + String today = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy_m_mdd")); Map seqParams = new HashMap<>(); - seqParams.put("companyCode", companyCode); - seqParams.put("likePattern", "SI-" + today + "-%"); + seqParams.put("company_code", companyCode); + seqParams.put("like_pattern", "SI-" + today + "-%"); Map seqRow = sqlSession.selectOne("shippingOrder.getShippingOrderSeqNo", seqParams); long seq = seqRow != null ? ((Number) seqRow.get("seq")).longValue() : 1L; instructionNo = String.format("SI-%s-%03d", today, seq); - params.put("instructionNo", instructionNo); - params.put("createdBy", userId); + params.put("instruction_no", instructionNo); + params.put("created_by", userId); sqlSession.insert("shippingOrder.insertShippingOrder", params); instructionId = ((Number) params.get("id")).longValue(); } @@ -103,27 +103,27 @@ public class ShippingOrderService extends BaseService { if (items != null) { for (Map item : items) { Map d = new HashMap<>(); - d.put("companyCode", companyCode); - d.put("instructionId", instructionId); - d.put("shipmentPlanId", item.get("shipmentPlanId")); - d.put("salesOrderId", item.get("salesOrderId")); - d.put("detailId", item.get("detailId")); - d.put("itemCode", item.get("itemCode")); - d.put("itemName", item.get("itemName")); + d.put("company_code", companyCode); + d.put("instruction_id", instructionId); + d.put("shipment_plan_id", item.get("shipment_plan_id")); + d.put("sales_order_id", item.get("sales_order_id")); + d.put("detail_id", item.get("detail_id")); + d.put("item_code", item.get("item_code")); + d.put("item_name", item.get("item_name")); d.put("spec", item.get("spec")); d.put("material", item.get("material")); - d.put("orderQty", item.getOrDefault("orderQty", 0)); - d.put("planQty", item.getOrDefault("planQty", 0)); - d.put("shipQty", item.getOrDefault("shipQty", 0)); - d.put("sourceType", item.getOrDefault("sourceType", "shipmentPlan")); - d.put("createdBy", userId); + d.put("order_qty", item.getOrDefault("order_qty", 0)); + d.put("plan_qty", item.getOrDefault("plan_qty", 0)); + d.put("ship_qty", item.getOrDefault("ship_qty", 0)); + d.put("source_type", item.getOrDefault("source_type", "shipment_plan")); + d.put("created_by", userId); sqlSession.insert("shippingOrder.insertShippingOrderDetail", d); } } Map result = new HashMap<>(); result.put("id", instructionId); - result.put("instructionNo", instructionNo); + result.put("instruction_no", instructionNo); return result; } @@ -133,7 +133,7 @@ public class ShippingOrderService extends BaseService { public Map remove(Map params) { int deletedCount = sqlSession.delete("shippingOrder.deleteShippingOrders", params); Map result = new HashMap<>(); - result.put("deletedCount", deletedCount); + result.put("deleted_count", deletedCount); return result; } @@ -167,9 +167,9 @@ public class ShippingOrderService extends BaseService { private void applySourcePagination(Map params) { int page = toInt(params.getOrDefault("page", 1), 1); - int pageSize = Math.min(100, Math.max(1, toInt(params.getOrDefault("pageSize", 20), 20))); + int pageSize = Math.min(100, Math.max(1, toInt(params.getOrDefault("page_size", 20), 20))); params.put("page", page); - params.put("pageSize", pageSize); + params.put("page_size", pageSize); params.put("offset", (page - 1) * pageSize); } @@ -177,9 +177,9 @@ public class ShippingOrderService extends BaseService { Map params) { Map result = new HashMap<>(); result.put("data", data); - result.put("totalCount", totalCount); + result.put("total_count", totalCount); result.put("page", params.get("page")); - result.put("pageSize", params.get("pageSize")); + result.put("page_size", params.get("page_size")); return result; } diff --git a/backend-spring/src/main/java/com/erp/service/ShippingPlanService.java b/backend-spring/src/main/java/com/erp/service/ShippingPlanService.java index 7285cccc..8ff614a7 100644 --- a/backend-spring/src/main/java/com/erp/service/ShippingPlanService.java +++ b/backend-spring/src/main/java/com/erp/service/ShippingPlanService.java @@ -71,7 +71,7 @@ public class ShippingPlanService extends BaseService { // ─── 품목별 집계 + 기존 출하계획 조회 ─── public Map getAggregate(Map params) { - String companyCode = (String) params.get("companyCode"); + String companyCode = (String) params.get("company_code"); String idsParam = (String) params.get("ids"); if (idsParam == null || idsParam.isBlank()) { @@ -168,12 +168,12 @@ public class ShippingPlanService extends BaseService { double inProductionQty = toDouble(prodRows.isEmpty() ? null : prodRows.get(0).get("in_production")); Map partResult = new LinkedHashMap<>(); - partResult.put("totalBalance", totalBalance); - partResult.put("totalPlanQty", totalPlanQty); - partResult.put("currentStock", currentStock); - partResult.put("availableStock", currentStock - totalPlanQty); - partResult.put("inProductionQty", inProductionQty); - partResult.put("existingPlans", existingPlans); + partResult.put("total_balance", totalBalance); + partResult.put("total_plan_qty", totalPlanQty); + partResult.put("current_stock", currentStock); + partResult.put("available_stock", currentStock - totalPlanQty); + partResult.put("in_production_qty", inProductionQty); + partResult.put("existing_plans", existingPlans); partResult.put("orders", partOrders); resultData.put(partCode, partResult); } @@ -242,8 +242,8 @@ public class ShippingPlanService extends BaseService { @Transactional public Map batchSave(Map params) { - String companyCode = (String) params.get("companyCode"); - String userId = (String) params.get("userId"); + String companyCode = (String) params.get("company_code"); + String userId = (String) params.get("user_id"); @SuppressWarnings("unchecked") List> plans = (List>) params.get("plans"); @@ -255,7 +255,7 @@ public class ShippingPlanService extends BaseService { if (source == null) { List sourceIds = plans.stream() - .map(p -> p.get("sourceId") != null ? p.get("sourceId").toString() : "") + .map(p -> p.get("source_id") != null ? p.get("source_id").toString() : "") .toList(); source = detectSource(sourceIds); } @@ -264,13 +264,13 @@ public class ShippingPlanService extends BaseService { final String detectedSource = source; for (Map plan : plans) { - String sourceId = plan.get("sourceId") != null ? plan.get("sourceId").toString() : null; + String sourceId = plan.get("source_id") != null ? plan.get("source_id").toString() : null; if (sourceId == null) continue; - double planQty = toDouble(plan.get("planQty")); + double planQty = toDouble(plan.get("plan_qty")); if (planQty <= 0) continue; - String planDate = plan.get("planDate") != null ? plan.get("planDate").toString() : null; + String planDate = plan.get("plan_date") != null ? plan.get("plan_date").toString() : null; if ("detail".equals(detectedSource)) { List> detailRows = jdbcTemplate.queryForList( @@ -359,7 +359,7 @@ public class ShippingPlanService extends BaseService { } Map result = new HashMap<>(); - result.put("savedCount", savedPlans.size()); + result.put("saved_count", savedPlans.size()); result.put("message", savedPlans.size() + "건 저장 완료"); result.put("data", savedPlans); return result; diff --git a/backend-spring/src/main/java/com/erp/service/SystemNoticeService.java b/backend-spring/src/main/java/com/erp/service/SystemNoticeService.java index a1dc920b..b2f15b08 100644 --- a/backend-spring/src/main/java/com/erp/service/SystemNoticeService.java +++ b/backend-spring/src/main/java/com/erp/service/SystemNoticeService.java @@ -24,11 +24,11 @@ public class SystemNoticeService extends BaseService { public List> getSystemNoticeList(Map params) { // is_active → isActive 키 변환 (프론트엔드 snake_case 호환) Object isActiveRaw = params.remove("is_active"); - if (isActiveRaw == null) isActiveRaw = params.get("isActive"); + if (isActiveRaw == null) isActiveRaw = params.get("is_active"); if (isActiveRaw instanceof String s && !s.isBlank()) { - params.put("isActive", "true".equalsIgnoreCase(s) || "1".equals(s)); + params.put("is_active", "true".equalsIgnoreCase(s) || "1".equals(s)); } else { - params.remove("isActive"); + params.remove("is_active"); } commonService.applyCompanyCodeFilter(params); @@ -47,7 +47,7 @@ public class SystemNoticeService extends BaseService { Object id = params.get("id"); Map fetchParams = new HashMap<>(); fetchParams.put("id", id); - fetchParams.put("companyCode", "*"); // 방금 생성한 row이므로 company_code 필터 없이 조회 + fetchParams.put("company_code", "*"); // 방금 생성한 row이므로 company_code 필터 없이 조회 return sqlSession.selectOne("systemNotice.getSystemNoticeInfo", fetchParams); } @@ -66,7 +66,7 @@ public class SystemNoticeService extends BaseService { Object id = params.get("id"); Map fetchParams = new HashMap<>(); fetchParams.put("id", id); - fetchParams.put("companyCode", "*"); + fetchParams.put("company_code", "*"); return sqlSession.selectOne("systemNotice.getSystemNoticeInfo", fetchParams); } diff --git a/backend-spring/src/main/java/com/erp/service/TableCategoryValueService.java b/backend-spring/src/main/java/com/erp/service/TableCategoryValueService.java index 60f2c91e..57ec87ff 100644 --- a/backend-spring/src/main/java/com/erp/service/TableCategoryValueService.java +++ b/backend-spring/src/main/java/com/erp/service/TableCategoryValueService.java @@ -20,13 +20,13 @@ public class TableCategoryValueService extends BaseService { public List> getCategoryColumns(Map params) { log.info("카테고리 컬럼 목록 조회: tableName={}, companyCode={}", - params.get("tableName"), params.get("companyCode")); - return sqlSession.selectList(NS + "getCategoryColumnList", params); + params.get("table_name"), params.get("company_code")); + return sqlSession.selectList(NS + "get_category_column_list", params); } public List> getAllCategoryColumns(Map params) { - log.info("전체 카테고리 컬럼 목록 조회: companyCode={}", params.get("companyCode")); - return sqlSession.selectList(NS + "getAllCategoryColumnList", params); + log.info("전체 카테고리 컬럼 목록 조회: companyCode={}", params.get("company_code")); + return sqlSession.selectList(NS + "get_all_category_column_list", params); } // ══════════════════════════════════════════════════════════════ @@ -35,9 +35,9 @@ public class TableCategoryValueService extends BaseService { public List> getCategoryValues(Map params) { log.info("카테고리 값 목록 조회: tableName={}, columnName={}, companyCode={}", - params.get("tableName"), params.get("columnName"), params.get("companyCode")); + params.get("table_name"), params.get("column_name"), params.get("company_code")); - List> flatList = sqlSession.selectList(NS + "getCategoryValueList", params); + List> flatList = sqlSession.selectList(NS + "get_category_value_list", params); List> hierarchy = buildHierarchy(flatList, null); log.info("카테고리 값 {}개 조회 완료 (평면)", flatList.size()); @@ -50,77 +50,77 @@ public class TableCategoryValueService extends BaseService { @Transactional public Map addCategoryValue(Map params) { - String tableName = (String) params.get("tableName"); - String columnName = (String) params.get("columnName"); - String valueCode = (String) params.get("valueCode"); - String valueLabel = (String) params.get("valueLabel"); - String companyCode = (String) params.get("companyCode"); + String tableName = (String) params.get("table_name"); + String columnName = (String) params.get("column_name"); + String valueCode = (String) params.get("value_code"); + String valueLabel = (String) params.get("value_label"); + String companyCode = (String) params.get("company_code"); log.info("카테고리 값 추가: tableName={}, columnName={}, valueCode={}, companyCode={}", tableName, columnName, valueCode, companyCode); - Integer codeDup = sqlSession.selectOne(NS + "countDuplicateCode", params); + Integer codeDup = sqlSession.selectOne(NS + "count_duplicate_code", params); if (codeDup != null && codeDup > 0) { throw new IllegalArgumentException("이미 존재하는 코드입니다"); } - Integer labelDup = sqlSession.selectOne(NS + "countDuplicateLabel", params); + Integer labelDup = sqlSession.selectOne(NS + "count_duplicate_label", params); if (labelDup != null && labelDup > 0) { throw new IllegalArgumentException( "이미 동일한 이름의 카테고리 값이 존재합니다: \"" + valueLabel + "\""); } - if (params.get("valueOrder") == null) params.put("valueOrder", 0); + if (params.get("value_order") == null) params.put("value_order", 0); if (params.get("depth") == null) params.put("depth", 1); - if (params.get("isActive") == null) params.put("isActive", true); - if (params.get("isDefault") == null) params.put("isDefault", false); + if (params.get("is_active") == null) params.put("is_active", true); + if (params.get("is_default") == null) params.put("is_default", false); - sqlSession.insert(NS + "insertCategoryValue", params); - long valueId = toLong(params.get("valueId")); + sqlSession.insert(NS + "insert_category_value", params); + long valueId = toLong(params.get("value_id")); log.info("카테고리 값 추가 완료: valueId={}", valueId); Map fetchP = new HashMap<>(); - fetchP.put("valueId", valueId); - return sqlSession.selectOne(NS + "getCategoryValueInfo", fetchP); + fetchP.put("value_id", valueId); + return sqlSession.selectOne(NS + "get_category_value_info", fetchP); } @Transactional public Map updateCategoryValue(Map params) { - long valueId = toLong(params.get("valueId")); - String companyCode = (String) params.get("companyCode"); + long valueId = toLong(params.get("value_id")); + String companyCode = (String) params.get("company_code"); log.info("카테고리 값 수정: valueId={}, companyCode={}", valueId, companyCode); - if (params.get("valueLabel") != null) { - Map current = sqlSession.selectOne(NS + "getCategoryValueLabelInfo", - Map.of("valueId", valueId)); + if (params.get("value_label") != null) { + Map current = sqlSession.selectOne(NS + "get_category_value_label_info", + Map.of("value_id", valueId)); if (current != null) { Map labelP = new HashMap<>(); - labelP.put("tableName", current.get("table_name")); - labelP.put("columnName", current.get("column_name")); - labelP.put("companyCode", current.get("company_code")); - labelP.put("valueLabel", params.get("valueLabel")); - labelP.put("valueId", valueId); - Integer dup = sqlSession.selectOne(NS + "countDuplicateLabelExcludeSelf", labelP); + labelP.put("table_name", current.get("table_name")); + labelP.put("column_name", current.get("column_name")); + labelP.put("company_code", current.get("company_code")); + labelP.put("value_label", params.get("value_label")); + labelP.put("value_id", valueId); + Integer dup = sqlSession.selectOne(NS + "count_duplicate_label_exclude_self", labelP); if (dup != null && dup > 0) { throw new IllegalArgumentException( "이미 동일한 이름의 카테고리 값이 존재합니다: \"" - + params.get("valueLabel") + "\""); + + params.get("value_label") + "\""); } } } - params.put("valueId", valueId); - Integer rows = sqlSession.selectOne(NS + "updateCategoryValue", params); + params.put("value_id", valueId); + Integer rows = sqlSession.selectOne(NS + "update_category_value", params); if (rows == null || rows == 0) { // update returns affected rows via selectOne workaround; use update method instead - sqlSession.update(NS + "updateCategoryValue", params); + sqlSession.update(NS + "update_category_value", params); } Map fetchP = new HashMap<>(); - fetchP.put("valueId", valueId); - return sqlSession.selectOne(NS + "getCategoryValueInfo", fetchP); + fetchP.put("value_id", valueId); + return sqlSession.selectOne(NS + "get_category_value_info", fetchP); } // ══════════════════════════════════════════════════════════════ @@ -129,12 +129,12 @@ public class TableCategoryValueService extends BaseService { @Transactional public void deleteCategoryValue(Map params) { - long valueId = toLong(params.get("valueId")); - String companyCode = (String) params.get("companyCode"); + long valueId = toLong(params.get("value_id")); + String companyCode = (String) params.get("company_code"); log.info("카테고리 값 삭제: valueId={}, companyCode={}", valueId, companyCode); - List> childRows = sqlSession.selectList(NS + "getChildValueIdList", params); + List> childRows = sqlSession.selectList(NS + "get_child_value_id_list", params); List allIds = new ArrayList<>(); allIds.add(valueId); childRows.forEach(r -> allIds.add(toLong(r.get("value_id")))); @@ -149,9 +149,9 @@ public class TableCategoryValueService extends BaseService { Collections.reverse(reversed); for (Long id : reversed) { Map delP = new HashMap<>(); - delP.put("valueId", id); - delP.put("companyCode", companyCode); - sqlSession.delete(NS + "deleteValueById", delP); + delP.put("value_id", id); + delP.put("company_code", companyCode); + sqlSession.delete(NS + "delete_value_by_id", delP); } log.info("카테고리 값 삭제 완료: totalDeleted={}", allIds.size()); @@ -160,23 +160,23 @@ public class TableCategoryValueService extends BaseService { @Transactional public void bulkDeleteCategoryValues(Map params) { log.info("카테고리 값 일괄 삭제: count={}, companyCode={}", - ((List) params.get("valueIds")).size(), params.get("companyCode")); - sqlSession.update(NS + "bulkSoftDeleteValues", params); + ((List) params.get("value_ids")).size(), params.get("company_code")); + sqlSession.update(NS + "bulk_soft_delete_values", params); } @Transactional public void reorderCategoryValues(Map params) { - List rawIds = (List) params.get("orderedValueIds"); - String companyCode = (String) params.get("companyCode"); + List rawIds = (List) params.get("ordered_value_ids"); + String companyCode = (String) params.get("company_code"); log.info("카테고리 값 순서 변경: count={}, companyCode={}", rawIds.size(), companyCode); for (int i = 0; i < rawIds.size(); i++) { Map p = new HashMap<>(); - p.put("valueId", toLong(rawIds.get(i))); - p.put("valueOrder", i + 1); - p.put("companyCode", companyCode); - sqlSession.update(NS + "updateValueOrder", p); + p.put("value_id", toLong(rawIds.get(i))); + p.put("value_order", i + 1); + p.put("company_code", companyCode); + sqlSession.update(NS + "update_value_order", p); } } @@ -186,9 +186,9 @@ public class TableCategoryValueService extends BaseService { public Map getColumnMapping(Map params) { log.info("컬럼 매핑 조회: tableName={}, menuObjid={}, companyCode={}", - params.get("tableName"), params.get("menuObjid"), params.get("companyCode")); + params.get("table_name"), params.get("menu_objid"), params.get("company_code")); - List> rows = sqlSession.selectList(NS + "getColumnMappingList", params); + List> rows = sqlSession.selectList(NS + "get_column_mapping_list", params); Map mapping = new LinkedHashMap<>(); for (Map row : rows) { @@ -201,21 +201,21 @@ public class TableCategoryValueService extends BaseService { @Transactional public Map createColumnMapping(Map params) { - String tableName = (String) params.get("tableName"); - String logicalColumnName = (String) params.get("logicalColumnName"); - String physicalColumnName = (String) params.get("physicalColumnName"); + String tableName = (String) params.get("table_name"); + String logicalColumnName = (String) params.get("logical_column_name"); + String physicalColumnName = (String) params.get("physical_column_name"); log.info("컬럼 매핑 생성: tableName={}, logical={}, physical={}, companyCode={}", - tableName, logicalColumnName, physicalColumnName, params.get("companyCode")); + tableName, logicalColumnName, physicalColumnName, params.get("company_code")); - Integer colExists = sqlSession.selectOne(NS + "checkPhysicalColumnExists", params); + Integer colExists = sqlSession.selectOne(NS + "check_physical_column_exists", params); if (colExists == null || colExists == 0) { throw new IllegalArgumentException( "테이블 " + tableName + "에 컬럼 " + physicalColumnName + "이(가) 존재하지 않습니다"); } - sqlSession.insert(NS + "upsertColumnMapping", params); - Map result = sqlSession.selectOne(NS + "getColumnMappingInfo", params); + sqlSession.insert(NS + "upsert_column_mapping", params); + Map result = sqlSession.selectOne(NS + "get_column_mapping_info", params); log.info("컬럼 매핑 생성 완료: mappingId={}", result != null ? result.get("mapping_id") : "?"); return result; @@ -223,24 +223,24 @@ public class TableCategoryValueService extends BaseService { public List> getLogicalColumns(Map params) { log.info("논리적 컬럼 목록 조회: tableName={}, menuObjid={}, companyCode={}", - params.get("tableName"), params.get("menuObjid"), params.get("companyCode")); - return sqlSession.selectList(NS + "getLogicalColumnList", params); + params.get("table_name"), params.get("menu_objid"), params.get("company_code")); + return sqlSession.selectList(NS + "get_logical_column_list", params); } @Transactional public void deleteColumnMapping(Map params) { - int deleted = sqlSession.delete(NS + "deleteColumnMappingById", params); + int deleted = sqlSession.delete(NS + "delete_column_mapping_by_id", params); if (deleted == 0) { throw new IllegalArgumentException("컬럼 매핑을 찾을 수 없거나 권한이 없습니다"); } - log.info("컬럼 매핑 삭제 완료: mappingId={}", params.get("mappingId")); + log.info("컬럼 매핑 삭제 완료: mappingId={}", params.get("mapping_id")); } @Transactional public int deleteColumnMappingsByColumn(Map params) { - int deleted = sqlSession.delete(NS + "deleteColumnMappingsByColumn", params); + int deleted = sqlSession.delete(NS + "delete_column_mappings_by_column", params); log.info("테이블+컬럼 기준 매핑 삭제 완료: tableName={}, columnName={}, deletedCount={}", - params.get("tableName"), params.get("columnName"), deleted); + params.get("table_name"), params.get("column_name"), deleted); return deleted; } @@ -249,15 +249,15 @@ public class TableCategoryValueService extends BaseService { // ══════════════════════════════════════════════════════════════ public Map getCategoryLabelsByCodes(Map params) { - Object rawCodes = params.get("valueCodes"); + Object rawCodes = params.get("value_codes"); if (!(rawCodes instanceof List) || ((List) rawCodes).isEmpty()) { return new LinkedHashMap<>(); } log.info("카테고리 코드로 라벨 조회: count={}, companyCode={}", - ((List) rawCodes).size(), params.get("companyCode")); + ((List) rawCodes).size(), params.get("company_code")); - List> rows = sqlSession.selectList(NS + "getLabelListByCodes", params); + List> rows = sqlSession.selectList(NS + "get_label_list_by_codes", params); Map labels = new LinkedHashMap<>(); for (Map row : rows) { @@ -275,13 +275,13 @@ public class TableCategoryValueService extends BaseService { // ══════════════════════════════════════════════════════════════ public List> getSecondLevelMenus(Map params) { - log.info("2레벨 메뉴 목록 조회: companyCode={}", params.get("companyCode")); + log.info("2레벨 메뉴 목록 조회: companyCode={}", params.get("company_code")); - Integer hasCC = sqlSession.selectOne(NS + "checkMenuInfoHasCompanyCode", null); - params.put("hasCompanyCode", hasCC != null && hasCC > 0); + Integer hasCC = sqlSession.selectOne(NS + "check_menu_info_has_company_code", null); + params.put("has_company_code", hasCC != null && hasCC > 0); log.info("menu_info.company_code 컬럼 존재 여부: {}", hasCC != null && hasCC > 0); - List> menus = sqlSession.selectList(NS + "getSecondLevelMenuList", params); + List> menus = sqlSession.selectList(NS + "get_second_level_menu_list", params); log.info("2레벨 메뉴 {}개 조회 완료", menus.size()); return menus; } @@ -292,10 +292,10 @@ public class TableCategoryValueService extends BaseService { private void checkNotInUse(long valueId, String companyCode) { Map p = new HashMap<>(); - p.put("valueId", valueId); - p.put("companyCode", companyCode); + p.put("value_id", valueId); + p.put("company_code", companyCode); - Map valueInfo = sqlSession.selectOne(NS + "getCategoryValueUsageInfo", p); + Map valueInfo = sqlSession.selectOne(NS + "get_category_value_usage_info", p); if (valueInfo == null) { throw new IllegalArgumentException("카테고리 값을 찾을 수 없습니다"); } @@ -310,20 +310,20 @@ public class TableCategoryValueService extends BaseService { if (safeTable.isEmpty() || safeColumn.isEmpty()) return; - Integer tableExists = sqlSession.selectOne(NS + "checkTableExistsForUsage", - Map.of("tableName", safeTable)); + Integer tableExists = sqlSession.selectOne(NS + "check_table_exists_for_usage", + Map.of("table_name", safeTable)); if (tableExists == null || tableExists == 0) return; Map countP = new HashMap<>(); - countP.put("safeTableName", safeTable); - countP.put("safeColumnName", safeColumn); - countP.put("valueCode", valueCode); - countP.put("companyCode", companyCode); - Integer count = sqlSession.selectOne(NS + "countValueUsageInTable", countP); + countP.put("safe_table_name", safeTable); + countP.put("safe_column_name", safeColumn); + countP.put("value_code", valueCode); + countP.put("company_code", companyCode); + Integer count = sqlSession.selectOne(NS + "count_value_usage_in_table", countP); if (count != null && count > 0) { - List> menus = sqlSession.selectList(NS + "getMenuListUsingTable", - Map.of("tableName", tableName, "companyCode", companyCode)); + List> menus = sqlSession.selectList(NS + "get_menu_list_using_table", + Map.of("table_name", tableName, "company_code", companyCode)); StringBuilder msg = new StringBuilder(); msg.append("카테고리 \"").append(valueLabel).append("\"을(를) 삭제할 수 없습니다.\n"); diff --git a/backend-spring/src/main/java/com/erp/service/TableHistoryService.java b/backend-spring/src/main/java/com/erp/service/TableHistoryService.java index 97348b94..189c07df 100644 --- a/backend-spring/src/main/java/com/erp/service/TableHistoryService.java +++ b/backend-spring/src/main/java/com/erp/service/TableHistoryService.java @@ -16,26 +16,26 @@ public class TableHistoryService extends BaseService { // ─── Public API ──────────────────────────────────────────────── public Map checkHistoryTableExists(Map params) { - String tableName = sanitizeTableName((String) params.get("tableName")); + String tableName = sanitizeTableName((String) params.get("table_name")); String logTableName = tableName + "_log"; - params.put("logTableName", logTableName); + params.put("log_table_name", logTableName); - Map row = sqlSession.selectOne(NS + "checkHistoryTableExists", params); + Map row = sqlSession.selectOne(NS + "check_history_table_exists", params); boolean exists = Boolean.TRUE.equals(row != null ? row.get("exists") : Boolean.FALSE); String message = exists ? "이력 테이블이 존재합니다." : "이력 테이블이 존재하지 않습니다."; Map result = new LinkedHashMap<>(); - result.put("tableName", tableName); - result.put("logTableName", logTableName); + result.put("table_name", tableName); + result.put("log_table_name", logTableName); result.put("exists", exists); - result.put("historyEnabled", exists); + result.put("history_enabled", exists); result.put("_message", message); return result; } public List> getTableHistorySummary(Map params) { prepareLogTableName(params); - return withTableNotFound(() -> sqlSession.selectList(NS + "selectTableHistorySummary", params)); + return withTableNotFound(() -> sqlSession.selectList(NS + "select_table_history_summary", params)); } public Map getAllTableHistory(Map params) { @@ -46,8 +46,8 @@ public class TableHistoryService extends BaseService { int limit = (int) params.get("limit"); int offset = (int) params.get("offset"); - List> records = withTableNotFound(() -> sqlSession.selectList(NS + "selectAllTableHistory", params)); - Integer totalObj = withTableNotFound(() -> sqlSession.selectOne(NS + "countAllTableHistory", params)); + List> records = withTableNotFound(() -> sqlSession.selectList(NS + "select_all_table_history", params)); + Integer totalObj = withTableNotFound(() -> sqlSession.selectOne(NS + "count_all_table_history", params)); int total = totalObj != null ? totalObj : 0; return buildPaginatedResult(records, total, limit, offset, (offset + limit) < total); @@ -61,8 +61,8 @@ public class TableHistoryService extends BaseService { int limit = (int) params.get("limit"); int offset = (int) params.get("offset"); - List> records = withTableNotFound(() -> sqlSession.selectList(NS + "selectRecordHistory", params)); - Integer totalObj = withTableNotFound(() -> sqlSession.selectOne(NS + "countRecordHistory", params)); + List> records = withTableNotFound(() -> sqlSession.selectList(NS + "select_record_history", params)); + Integer totalObj = withTableNotFound(() -> sqlSession.selectOne(NS + "count_record_history", params)); int total = totalObj != null ? totalObj : 0; return buildPaginatedResult(records, total, limit, offset, (offset + records.size()) < total); @@ -70,21 +70,21 @@ public class TableHistoryService extends BaseService { public List> getRecordTimeline(Map params) { prepareLogTableName(params); - return withTableNotFound(() -> sqlSession.selectList(NS + "selectRecordTimeline", params)); + return withTableNotFound(() -> sqlSession.selectList(NS + "select_record_timeline", params)); } // ─── Private helpers ─────────────────────────────────────────── private void prepareLogTableName(Map params) { - String tableName = sanitizeTableName((String) params.get("tableName")); - params.put("tableName", tableName); - params.put("logTableName", tableName + "_log"); + String tableName = sanitizeTableName((String) params.get("table_name")); + params.put("table_name", tableName); + params.put("log_table_name", tableName + "_log"); } private void prepareFilterParams(Map params) { - Object changedBy = params.get("changedBy"); + Object changedBy = params.get("changed_by"); if (changedBy != null && !changedBy.toString().isBlank()) { - params.put("changedByLike", "%" + changedBy + "%"); + params.put("changed_by_like", "%" + changedBy + "%"); } } @@ -99,7 +99,7 @@ public class TableHistoryService extends BaseService { pagination.put("total", total); pagination.put("limit", limit); pagination.put("offset", offset); - pagination.put("hasMore", hasMore); + pagination.put("has_more", hasMore); Map result = new LinkedHashMap<>(); result.put("records", records); diff --git a/backend-spring/src/main/java/com/erp/service/TableManagementService.java b/backend-spring/src/main/java/com/erp/service/TableManagementService.java index fcd29d4d..06cf4845 100644 --- a/backend-spring/src/main/java/com/erp/service/TableManagementService.java +++ b/backend-spring/src/main/java/com/erp/service/TableManagementService.java @@ -31,12 +31,12 @@ public class TableManagementService extends BaseService { // ────────────────────────────────────────────────── public List> getTableList() { - List> tables = sqlSession.selectList(NS + "getTableList"); + List> tables = sqlSession.selectList(NS + "get_table_list"); // columnCount Long → Integer 변환 (Node 호환) for (Map t : tables) { - Object cnt = t.get("columnCount"); + Object cnt = t.get("column_count"); if (cnt instanceof Number) { - t.put("columnCount", ((Number) cnt).intValue()); + t.put("column_count", ((Number) cnt).intValue()); } } return tables; @@ -48,19 +48,19 @@ public class TableManagementService extends BaseService { public Map getColumnList(String tableName, int page, int size, String companyCode) { Map params = new HashMap<>(); - params.put("tableName", tableName); + params.put("table_name", tableName); params.put("size", size); params.put("offset", (long) (page - 1) * size); - Integer totalObj = sqlSession.selectOne(NS + "getColumnListCnt", params); + Integer totalObj = sqlSession.selectOne(NS + "get_column_list_cnt", params); int total = totalObj != null ? totalObj : 0; List> columns; if (companyCode != null && !companyCode.isBlank()) { - params.put("companyCode", companyCode); - columns = sqlSession.selectList(NS + "getColumnListWithCompany", params); + params.put("company_code", companyCode); + columns = sqlSession.selectList(NS + "get_column_list_with_company", params); } else { - columns = sqlSession.selectList(NS + "getColumnList", params); + columns = sqlSession.selectList(NS + "get_column_list", params); } int totalPages = total == 0 ? 1 : (int) Math.ceil((double) total / size); @@ -69,7 +69,7 @@ public class TableManagementService extends BaseService { result.put("total", total); result.put("page", page); result.put("size", size); - result.put("totalPages", totalPages); + result.put("total_pages", totalPages); return result; } @@ -79,23 +79,23 @@ public class TableManagementService extends BaseService { public List> getTableSchema(String tableName) { Map params = new HashMap<>(); - params.put("tableName", tableName); - return sqlSession.selectList(NS + "getTableSchemaList", params); + params.put("table_name", tableName); + return sqlSession.selectList(NS + "get_table_schema_list", params); } public boolean checkTableExists(String tableName) { Map params = new HashMap<>(); - params.put("tableName", tableName); - Map result = sqlSession.selectOne(NS + "checkTableExists", params); + params.put("table_name", tableName); + Map result = sqlSession.selectOne(NS + "check_table_exists", params); Object exists = result != null ? result.get("exists") : null; return Boolean.TRUE.equals(exists); } public boolean hasColumn(String tableName, String columnName) { Map params = new HashMap<>(); - params.put("tableName", sanitize(tableName)); - params.put("columnName", sanitize(columnName)); - Integer cntObj = sqlSession.selectOne(NS + "checkTableHasColumn", params); + params.put("table_name", sanitize(tableName)); + params.put("column_name", sanitize(columnName)); + Integer cntObj = sqlSession.selectOne(NS + "check_table_has_column", params); return cntObj != null && cntObj > 0; } @@ -105,24 +105,24 @@ public class TableManagementService extends BaseService { public Map getTableLabels(String tableName) { Map params = new HashMap<>(); - params.put("tableName", tableName); - return sqlSession.selectOne(NS + "getTableLabelInfo", params); + params.put("table_name", tableName); + return sqlSession.selectOne(NS + "get_table_label_info", params); } @Transactional public void updateTableLabel(String tableName, String displayName, String description) { Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("displayName", displayName); + params.put("table_name", tableName); + params.put("display_name", displayName); params.put("description", description != null ? description : ""); - sqlSession.update(NS + "upsertTableLabel", params); + sqlSession.update(NS + "upsert_table_label", params); log.info("테이블 라벨 업데이트: {}", tableName); } private void ensureTableInLabels(String tableName) { Map params = new HashMap<>(); - params.put("tableName", tableName); - sqlSession.insert(NS + "insertTableLabelIfNotExists", params); + params.put("table_name", tableName); + sqlSession.insert(NS + "insert_table_label_if_not_exists", params); } // ────────────────────────────────────────────────── @@ -131,9 +131,9 @@ public class TableManagementService extends BaseService { public Map getColumnLabels(String tableName, String columnName) { Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("columnName", columnName); - return sqlSession.selectOne(NS + "getColumnLabelInfo", params); + params.put("table_name", tableName); + params.put("column_name", columnName); + return sqlSession.selectOne(NS + "get_column_label_info", params); } // ────────────────────────────────────────────────── @@ -145,23 +145,23 @@ public class TableManagementService extends BaseService { Map settings, String companyCode) { ensureTableInLabels(tableName); - String inputType = normalizeInputType((String) settings.get("inputType")); + String inputType = normalizeInputType((String) settings.get("input_type")); Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("columnName", columnName); - params.put("columnLabel", settings.get("columnLabel")); - params.put("inputType", inputType); - params.put("detailSettings", toJsonString(settings.get("detailSettings"))); - params.put("codeCategory", "code".equals(inputType) ? settings.get("codeCategory") : null); - params.put("codeValue", "code".equals(inputType) ? settings.get("codeValue") : null); - params.put("referenceTable", "entity".equals(inputType) ? settings.get("referenceTable") : null); - params.put("referenceColumn", "entity".equals(inputType) ? settings.get("referenceColumn") : null); - params.put("displayColumn", "entity".equals(inputType) ? settings.get("displayColumn") : null); - params.put("displayOrder", settings.getOrDefault("displayOrder", 0)); - params.put("isVisible", settings.getOrDefault("isVisible", true)); - params.put("companyCode", companyCode); - params.put("categoryRef", "category".equals(inputType) ? settings.get("categoryRef") : null); - sqlSession.update(NS + "upsertColumnSettings", params); + params.put("table_name", tableName); + params.put("column_name", columnName); + params.put("column_label", settings.get("column_label")); + params.put("input_type", inputType); + params.put("detail_settings", toJsonString(settings.get("detail_settings"))); + params.put("code_category", "code".equals(inputType) ? settings.get("code_category") : null); + params.put("code_value", "code".equals(inputType) ? settings.get("code_value") : null); + params.put("reference_table", "entity".equals(inputType) ? settings.get("reference_table") : null); + params.put("reference_column", "entity".equals(inputType) ? settings.get("reference_column") : null); + params.put("display_column", "entity".equals(inputType) ? settings.get("display_column") : null); + params.put("display_order", settings.getOrDefault("display_order", 0)); + params.put("is_visible", settings.getOrDefault("is_visible", true)); + params.put("company_code", companyCode); + params.put("category_ref", "category".equals(inputType) ? settings.get("category_ref") : null); + sqlSession.update(NS + "upsert_column_settings", params); // 화면 레이아웃 동기화 syncScreenLayouts(tableName, columnName, inputType, companyCode); @@ -173,7 +173,7 @@ public class TableManagementService extends BaseService { String companyCode) { ensureTableInLabels(tableName); for (Map colSetting : columnSettings) { - Object colName = colSetting.get("columnName"); + Object colName = colSetting.get("column_name"); if (colName != null && !colName.toString().isBlank()) { updateColumnSettings(tableName, colName.toString(), colSetting, companyCode); } @@ -186,15 +186,15 @@ public class TableManagementService extends BaseService { String webType, Map detailSettings) { String finalType = normalizeInputType(webType); Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("columnName", columnName); - params.put("inputType", finalType); - params.put("detailSettings", detailSettings != null ? toJsonString(detailSettings) : "{}"); - params.put("companyCode", "*"); - params.put("clearEntity", false); - params.put("clearCode", false); - params.put("clearCategory", false); - sqlSession.update(NS + "upsertColumnInputType", params); + params.put("table_name", tableName); + params.put("column_name", columnName); + params.put("input_type", finalType); + params.put("detail_settings", detailSettings != null ? toJsonString(detailSettings) : "{}"); + params.put("company_code", "*"); + params.put("clear_entity", false); + params.put("clear_code", false); + params.put("clear_category", false); + sqlSession.update(NS + "upsert_column_input_type", params); log.info("컬럼 웹타입 설정: {}.{} = {}", tableName, columnName, finalType); } @@ -204,24 +204,24 @@ public class TableManagementService extends BaseService { Map detailSettings) { String finalType = normalizeInputType(inputType); Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("columnName", columnName); - params.put("inputType", finalType); - params.put("detailSettings", detailSettings != null ? toJsonString(detailSettings) : "{}"); - params.put("companyCode", companyCode); - params.put("clearEntity", !"entity".equals(finalType)); - params.put("clearCode", !"code".equals(finalType)); - params.put("clearCategory", !"category".equals(finalType)); - sqlSession.update(NS + "upsertColumnInputType", params); + params.put("table_name", tableName); + params.put("column_name", columnName); + params.put("input_type", finalType); + params.put("detail_settings", detailSettings != null ? toJsonString(detailSettings) : "{}"); + params.put("company_code", companyCode); + params.put("clear_entity", !"entity".equals(finalType)); + params.put("clear_code", !"code".equals(finalType)); + params.put("clear_category", !"category".equals(finalType)); + sqlSession.update(NS + "upsert_column_input_type", params); syncScreenLayouts(tableName, columnName, finalType, companyCode); log.info("컬럼 입력타입 설정: {}.{} = {}, company={}", tableName, columnName, finalType, companyCode); } public List> getColumnInputTypes(String tableName, String companyCode) { Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("companyCode", companyCode); - return sqlSession.selectList(NS + "getColumnInputTypeList", params); + params.put("table_name", tableName); + params.put("company_code", companyCode); + return sqlSession.selectList(NS + "get_column_input_type_list", params); } // ────────────────────────────────────────────────── @@ -230,9 +230,9 @@ public class TableManagementService extends BaseService { public Map getTableConstraints(String tableName) { Map params = new HashMap<>(); - params.put("tableName", tableName); + params.put("table_name", tableName); - List> pkResult = sqlSession.selectList(NS + "getTablePrimaryKeyList", params); + List> pkResult = sqlSession.selectList(NS + "get_table_primary_key_list", params); Map primaryKey = new HashMap<>(); if (!pkResult.isEmpty()) { Map pk = pkResult.get(0); @@ -243,17 +243,17 @@ public class TableManagementService extends BaseService { primaryKey.put("columns", List.of()); } - List> indexResult = sqlSession.selectList(NS + "getTableIndexList", params); + List> indexResult = sqlSession.selectList(NS + "get_table_index_list", params); List> indexes = indexResult.stream().map(row -> { Map idx = new HashMap<>(); idx.put("name", row.get("index_name")); idx.put("columns", parseColumnArray(row.get("columns"))); - idx.put("isUnique", row.get("is_unique")); + idx.put("is_unique", row.get("is_unique")); return idx; }).collect(Collectors.toList()); Map result = new HashMap<>(); - result.put("primaryKey", primaryKey); + result.put("primary_key", primaryKey); result.put("indexes", indexes); return result; } @@ -263,8 +263,8 @@ public class TableManagementService extends BaseService { String safeTable = sanitize(tableName); // 기존 PK 삭제 Map params = new HashMap<>(); - params.put("tableName", safeTable); - List> existingPk = sqlSession.selectList(NS + "getTablePrimaryKeyList", params); + params.put("table_name", safeTable); + List> existingPk = sqlSession.selectList(NS + "get_table_primary_key_list", params); if (!existingPk.isEmpty()) { String constraintName = (String) existingPk.get(0).get("constraint_name"); jdbcTemplate.execute( @@ -311,11 +311,11 @@ public class TableManagementService extends BaseService { public void toggleColumnNullable(String tableName, String columnName, boolean nullable, String companyCode) { Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("columnName", columnName); - params.put("isNullable", nullable ? "Y" : "N"); - params.put("companyCode", companyCode); - sqlSession.update(NS + "upsertNullable", params); + params.put("table_name", tableName); + params.put("column_name", columnName); + params.put("is_nullable", nullable ? "Y" : "N"); + params.put("company_code", companyCode); + sqlSession.update(NS + "upsert_nullable", params); log.info("NOT NULL 토글: {}.{} nullable={}, company={}", tableName, columnName, nullable, companyCode); } @@ -323,11 +323,11 @@ public class TableManagementService extends BaseService { public void toggleColumnUnique(String tableName, String columnName, boolean unique, String companyCode) { Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("columnName", columnName); - params.put("isUnique", unique ? "Y" : "N"); - params.put("companyCode", companyCode); - sqlSession.update(NS + "upsertUnique", params); + params.put("table_name", tableName); + params.put("column_name", columnName); + params.put("is_unique", unique ? "Y" : "N"); + params.put("company_code", companyCode); + sqlSession.update(NS + "upsert_unique", params); log.info("UNIQUE 토글: {}.{} unique={}, company={}", tableName, columnName, unique, companyCode); } @@ -339,9 +339,9 @@ public class TableManagementService extends BaseService { Map data, String companyCode) { Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("companyCode", companyCode); - List> notNullCols = sqlSession.selectList(NS + "getNotNullColumnList", params); + params.put("table_name", tableName); + params.put("company_code", companyCode); + List> notNullCols = sqlSession.selectList(NS + "get_not_null_column_list", params); List violations = new ArrayList<>(); for (Map col : notNullCols) { @@ -359,9 +359,9 @@ public class TableManagementService extends BaseService { String companyCode, String excludeId) { Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("companyCode", companyCode); - List> uniqueCols = sqlSession.selectList(NS + "getUniqueColumnList", params); + params.put("table_name", tableName); + params.put("company_code", companyCode); + List> uniqueCols = sqlSession.selectList(NS + "get_unique_column_list", params); String safeTable = sanitize(tableName); List violations = new ArrayList<>(); @@ -411,8 +411,8 @@ public class TableManagementService extends BaseService { int offset = (page - 1) * size; @SuppressWarnings("unchecked") Map search = (Map) options.getOrDefault("search", Map.of()); - String sortBy = (String) options.get("sortBy"); - String sortOrder = "desc".equalsIgnoreCase((String) options.get("sortOrder")) ? "DESC" : "ASC"; + String sortBy = (String) options.get("sort_by"); + String sortOrder = "desc".equalsIgnoreCase((String) options.get("sort_order")) ? "DESC" : "ASC"; List conditions = new ArrayList<>(); List values = new ArrayList<>(); @@ -451,7 +451,7 @@ public class TableManagementService extends BaseService { result.put("total", total); result.put("page", page); result.put("size", size); - result.put("totalPages", totalPages); + result.put("total_pages", totalPages); return result; } @@ -497,8 +497,8 @@ public class TableManagementService extends BaseService { log.info("테이블 데이터 추가: {}, id={}", safeTable, insertedId); Map result = new HashMap<>(); - result.put("insertedId", insertedId); - result.put("savedColumns", existingCols); + result.put("inserted_id", insertedId); + result.put("saved_columns", existingCols); return result; } @@ -632,24 +632,24 @@ public class TableManagementService extends BaseService { // log_tables 설정 저장 Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("isActive", isActive); - params.put("logColumns", String.join(",", targetCols)); - sqlSession.update(NS + "upsertLogConfig", params); + params.put("table_name", tableName); + params.put("is_active", isActive); + params.put("log_columns", String.join(",", targetCols)); + sqlSession.update(NS + "upsert_log_config", params); log.info("로그 테이블 생성: {}", safeLog); } public Map getLogConfig(String tableName) { Map params = new HashMap<>(); - params.put("tableName", tableName); - return sqlSession.selectOne(NS + "getLogConfigInfo", params); + params.put("table_name", tableName); + return sqlSession.selectOne(NS + "get_log_config_info", params); } public Map getLogData(String tableName, int page, int size) { String logTableName = sanitize(tableName) + "_log"; if (!checkTableExists(logTableName)) { - return Map.of("data", List.of(), "total", 0, "page", page, "size", size, "totalPages", 0); + return Map.of("data", List.of(), "total", 0, "page", page, "size", size, "total_pages", 0); } int offset = (page - 1) * size; String countSql = String.format("SELECT COUNT(*) FROM \"%s\"", logTableName); @@ -667,17 +667,17 @@ public class TableManagementService extends BaseService { result.put("total", total); result.put("page", page); result.put("size", size); - result.put("totalPages", totalPages); + result.put("total_pages", totalPages); return result; } @Transactional public void toggleLogTable(String tableName, boolean isActive) { Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("isActive", isActive); - params.put("logColumns", ""); - sqlSession.update(NS + "upsertLogConfig", params); + params.put("table_name", tableName); + params.put("is_active", isActive); + params.put("log_columns", ""); + sqlSession.update(NS + "upsert_log_config", params); log.info("로그 테이블 토글: {} → {}", tableName, isActive); } @@ -687,7 +687,7 @@ public class TableManagementService extends BaseService { public Map checkDatabaseConnection() { try { - sqlSession.selectOne(NS + "checkDatabaseConnection", null); + sqlSession.selectOne(NS + "check_database_connection", null); return Map.of("connected", true, "message", "데이터베이스 연결 정상"); } catch (Exception e) { log.error("DB 연결 실패", e); @@ -701,21 +701,21 @@ public class TableManagementService extends BaseService { public List> getCategoryColumnsByCompany(String companyCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - return sqlSession.selectList(NS + "getCategoryColumnListByCompany", params); + params.put("company_code", companyCode); + return sqlSession.selectList(NS + "get_category_column_list_by_company", params); } public List> getNumberingColumnsByCompany(String companyCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - return sqlSession.selectList(NS + "getNumberingColumnListByCompany", params); + params.put("company_code", companyCode); + return sqlSession.selectList(NS + "get_numbering_column_list_by_company", params); } public List> getCategoryColumnsByMenu(String companyCode, Object menuObjid) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - params.put("menuObjid", menuObjid); - return sqlSession.selectList(NS + "getCategoryColumnListByMenu", params); + params.put("company_code", companyCode); + params.put("menu_objid", menuObjid); + return sqlSession.selectList(NS + "get_category_column_list_by_menu", params); } // ────────────────────────────────────────────────── @@ -725,22 +725,22 @@ public class TableManagementService extends BaseService { public Map getTableEntityRelations(String leftTable, String rightTable, String companyCode) { Map params = new HashMap<>(); - params.put("leftTable", leftTable); - params.put("rightTable", rightTable); - params.put("companyCode", companyCode); - List> relations = sqlSession.selectList(NS + "getEntityRelationList", params); + params.put("left_table", leftTable); + params.put("right_table", rightTable); + params.put("company_code", companyCode); + List> relations = sqlSession.selectList(NS + "get_entity_relation_list", params); Map result = new HashMap<>(); - result.put("leftTable", leftTable); - result.put("rightTable", rightTable); + result.put("left_table", leftTable); + result.put("right_table", rightTable); result.put("relations", relations); return result; } public List> getReferencedByTables(String tableName, String companyCode) { Map params = new HashMap<>(); - params.put("tableName", tableName); - params.put("companyCode", companyCode); - return sqlSession.selectList(NS + "getReferencedByTableList", params); + params.put("table_name", tableName); + params.put("company_code", companyCode); + return sqlSession.selectList(NS + "get_referenced_by_table_list", params); } // ────────────────────────────────────────────────── @@ -750,10 +750,10 @@ public class TableManagementService extends BaseService { @Transactional public Map multiTableSave(Map payload, String companyCode) { @SuppressWarnings("unchecked") - Map mainData = (Map) payload.get("mainData"); - String mainTable = (String) payload.get("mainTable"); + Map mainData = (Map) payload.get("main_data"); + String mainTable = (String) payload.get("main_table"); @SuppressWarnings("unchecked") - List> subTables = (List>) payload.get("subTables"); + List> subTables = (List>) payload.get("sub_tables"); if (mainTable == null || mainData == null) { throw new IllegalArgumentException("mainTable과 mainData가 필요합니다."); @@ -765,15 +765,15 @@ public class TableManagementService extends BaseService { } Map mainResult = addTableData(mainTable, mainData); - String mainId = (String) mainResult.get("insertedId"); + String mainId = (String) mainResult.get("inserted_id"); List> subResults = new ArrayList<>(); if (subTables != null) { for (Map subTable : subTables) { - String subTableName = (String) subTable.get("tableName"); + String subTableName = (String) subTable.get("table_name"); @SuppressWarnings("unchecked") List> rows = (List>) subTable.get("rows"); - String fkColumn = (String) subTable.get("fkColumn"); + String fkColumn = (String) subTable.get("fk_column"); if (subTableName == null || rows == null) continue; for (Map row : rows) { @@ -784,15 +784,15 @@ public class TableManagementService extends BaseService { addTableData(subTableName, row); } Map subResult = new HashMap<>(); - subResult.put("tableName", subTableName); - subResult.put("rowCount", rows.size()); + subResult.put("table_name", subTableName); + subResult.put("row_count", rows.size()); subResults.add(subResult); } } Map result = new HashMap<>(); - result.put("mainId", mainId); - result.put("subResults", subResults); + result.put("main_id", mainId); + result.put("sub_results", subResults); log.info("다중 테이블 저장 완료: mainTable={}, mainId={}", mainTable, mainId); return result; } @@ -818,7 +818,7 @@ public class TableManagementService extends BaseService { Map result = new HashMap<>(); result.put("valid", errors.isEmpty()); result.put("errors", errors); - result.put("totalRows", rows.size()); + result.put("total_rows", rows.size()); return result; } @@ -895,12 +895,12 @@ public class TableManagementService extends BaseService { String inputType, String companyCode) { try { Map p = new HashMap<>(); - p.put("tableName", tableName); - p.put("columnName", columnName); - p.put("inputType", inputType); - p.put("companyCode", companyCode); - p.put("componentId", mapInputTypeToComponentId(inputType)); - sqlSession.update(NS + "syncScreenLayoutsInputType", p); + p.put("table_name", tableName); + p.put("column_name", columnName); + p.put("input_type", inputType); + p.put("company_code", companyCode); + p.put("component_id", mapInputTypeToComponentId(inputType)); + sqlSession.update(NS + "sync_screen_layouts_input_type", p); } catch (Exception e) { log.warn("화면 레이아웃 동기화 실패 (무시됨): {}.{}", tableName, columnName); } diff --git a/backend-spring/src/main/java/com/erp/service/TaxInvoiceService.java b/backend-spring/src/main/java/com/erp/service/TaxInvoiceService.java index 6795128b..d854f44c 100644 --- a/backend-spring/src/main/java/com/erp/service/TaxInvoiceService.java +++ b/backend-spring/src/main/java/com/erp/service/TaxInvoiceService.java @@ -25,16 +25,16 @@ public class TaxInvoiceService extends BaseService { public Map getTaxInvoiceList(Map params) { commonService.applyCompanyCodeFilter(params); commonService.applyPagination(params); - int totalCount = sqlSession.selectOne(NS + "getTaxInvoiceListCnt", params); - List> list = sqlSession.selectList(NS + "getTaxInvoiceList", params); + int totalCount = sqlSession.selectOne(NS + "get_tax_invoice_list_cnt", params); + List> list = sqlSession.selectList(NS + "get_tax_invoice_list", params); return commonService.buildListResponse(list, totalCount, params); } public Map getTaxInvoiceInfo(Map params) { commonService.applyCompanyCodeFilter(params); - Map invoice = sqlSession.selectOne(NS + "getTaxInvoiceInfo", params); + Map invoice = sqlSession.selectOne(NS + "get_tax_invoice_info", params); if (invoice == null) return null; - List> items = sqlSession.selectList(NS + "getTaxInvoiceItems", params); + List> items = sqlSession.selectList(NS + "get_tax_invoice_items", params); Map result = new HashMap<>(); result.put("invoice", invoice); result.put("items", items); @@ -46,9 +46,9 @@ public class TaxInvoiceService extends BaseService { String yearMonth = String.format("%04d%02d", now.getYear(), now.getMonthValue()); String prefix = yearMonth + "-"; Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); params.put("prefix", prefix + "%"); - String lastNum = sqlSession.selectOne(NS + "getLastInvoiceNumber", params); + String lastNum = sqlSession.selectOne(NS + "get_last_invoice_number", params); int nextNum = 1; if (lastNum != null && !lastNum.isEmpty()) { String[] parts = lastNum.split("-"); @@ -69,21 +69,21 @@ public class TaxInvoiceService extends BaseService { params.put("supply_amount", DecimalUtils.toBigDecimal(params.get("supply_amount"))); params.put("tax_amount", DecimalUtils.toBigDecimal(params.get("tax_amount"))); params.put("total_amount", DecimalUtils.toBigDecimal(params.get("total_amount"))); - String invoiceNumber = generateInvoiceNumber((String) params.get("companyCode")); - params.put("invoiceNumber", invoiceNumber); - sqlSession.insert(NS + "insertTaxInvoice", params); + String invoiceNumber = generateInvoiceNumber((String) params.get("company_code")); + params.put("invoice_number", invoiceNumber); + sqlSession.insert(NS + "insert_tax_invoice", params); Object itemsObj = params.get("items"); if (itemsObj instanceof List itemsList) { for (int i = 0; i < itemsList.size(); i++) { @SuppressWarnings("unchecked") Map item = (Map) itemsList.get(i); - item.put("taxInvoiceId", params.get("id")); - item.put("companyCode", params.get("companyCode")); - item.put("itemSeq", i + 1); + item.put("tax_invoice_id", params.get("id")); + item.put("company_code", params.get("company_code")); + item.put("item_seq", i + 1); item.put("supply_amount", DecimalUtils.toBigDecimal(item.get("supply_amount"))); item.put("tax_amount", DecimalUtils.toBigDecimal(item.get("tax_amount"))); item.put("unit_price", DecimalUtils.toBigDecimal(item.get("unit_price"))); - sqlSession.insert(NS + "insertTaxInvoiceItem", item); + sqlSession.insert(NS + "insert_tax_invoice_item", item); } } return params; @@ -92,7 +92,7 @@ public class TaxInvoiceService extends BaseService { @Transactional public Map updateTaxInvoice(Map params) { commonService.applyCompanyCodeFilter(params); - Map existing = sqlSession.selectOne(NS + "getTaxInvoiceInfo", params); + Map existing = sqlSession.selectOne(NS + "get_tax_invoice_info", params); if (existing == null) { throw new RuntimeException("세금계산서를 찾을 수 없습니다."); } @@ -102,21 +102,21 @@ public class TaxInvoiceService extends BaseService { if (params.get("supply_amount") != null) params.put("supply_amount", DecimalUtils.toBigDecimal(params.get("supply_amount"))); if (params.get("tax_amount") != null) params.put("tax_amount", DecimalUtils.toBigDecimal(params.get("tax_amount"))); if (params.get("total_amount") != null) params.put("total_amount", DecimalUtils.toBigDecimal(params.get("total_amount"))); - sqlSession.update(NS + "updateTaxInvoice", params); + sqlSession.update(NS + "update_tax_invoice", params); Object itemsObj = params.get("items"); if (itemsObj != null) { - sqlSession.delete(NS + "deleteTaxInvoiceItemsByInvoiceId", params); + sqlSession.delete(NS + "delete_tax_invoice_items_by_invoice_id", params); if (itemsObj instanceof List itemsList) { for (int i = 0; i < itemsList.size(); i++) { @SuppressWarnings("unchecked") Map item = (Map) itemsList.get(i); - item.put("taxInvoiceId", params.get("id")); - item.put("companyCode", params.get("companyCode")); - item.put("itemSeq", i + 1); + item.put("tax_invoice_id", params.get("id")); + item.put("company_code", params.get("company_code")); + item.put("item_seq", i + 1); item.put("supply_amount", DecimalUtils.toBigDecimal(item.get("supply_amount"))); item.put("tax_amount", DecimalUtils.toBigDecimal(item.get("tax_amount"))); item.put("unit_price", DecimalUtils.toBigDecimal(item.get("unit_price"))); - sqlSession.insert(NS + "insertTaxInvoiceItem", item); + sqlSession.insert(NS + "insert_tax_invoice_item", item); } } } @@ -126,36 +126,36 @@ public class TaxInvoiceService extends BaseService { @Transactional public Map deleteTaxInvoice(Map params) { commonService.applyCompanyCodeFilter(params); - Map existing = sqlSession.selectOne(NS + "getTaxInvoiceInfo", params); + Map existing = sqlSession.selectOne(NS + "get_tax_invoice_info", params); if (existing == null) { throw new RuntimeException("세금계산서를 찾을 수 없습니다."); } if (!"draft".equals(existing.get("invoice_status"))) { throw new RuntimeException("발행된 세금계산서는 삭제할 수 없습니다."); } - sqlSession.delete(NS + "deleteTaxInvoiceItemsByInvoiceId", params); - sqlSession.delete(NS + "deleteTaxInvoice", params); + sqlSession.delete(NS + "delete_tax_invoice_items_by_invoice_id", params); + sqlSession.delete(NS + "delete_tax_invoice", params); return params; } @Transactional public Map issueTaxInvoice(Map params) { commonService.applyCompanyCodeFilter(params); - int updated = sqlSession.update(NS + "issueTaxInvoice", params); + int updated = sqlSession.update(NS + "issue_tax_invoice", params); if (updated == 0) { throw new RuntimeException("세금계산서를 찾을 수 없거나 이미 발행된 상태입니다."); } - return sqlSession.selectOne(NS + "getTaxInvoiceInfo", params); + return sqlSession.selectOne(NS + "get_tax_invoice_info", params); } @Transactional public Map cancelTaxInvoice(Map params) { commonService.applyCompanyCodeFilter(params); - int updated = sqlSession.update(NS + "cancelTaxInvoice", params); + int updated = sqlSession.update(NS + "cancel_tax_invoice", params); if (updated == 0) { throw new RuntimeException("세금계산서를 찾을 수 없거나 취소할 수 없는 상태입니다."); } - return sqlSession.selectOne(NS + "getTaxInvoiceInfo", params); + return sqlSession.selectOne(NS + "get_tax_invoice_info", params); } public Map getMonthlyStats(Map params) { @@ -165,9 +165,9 @@ public class TaxInvoiceService extends BaseService { String startDate = String.format("%04d-%02d-01", year, month); LocalDate firstDay = LocalDate.of(year, month, 1); String endDate = firstDay.withDayOfMonth(firstDay.lengthOfMonth()).toString(); - params.put("startDate", startDate); - params.put("endDate", endDate); - List> rows = sqlSession.selectList(NS + "getMonthlyStats", params); + params.put("start_date", startDate); + params.put("end_date", endDate); + List> rows = sqlSession.selectList(NS + "get_monthly_stats", params); Map sales = new HashMap<>(); sales.put("count", 0); sales.put("supply_amount", BigDecimal.ZERO); @@ -204,12 +204,12 @@ public class TaxInvoiceService extends BaseService { String startDate = String.format("%04d-%02d-01", yearInt, monthInt); LocalDate firstDay = LocalDate.of(yearInt, monthInt, 1); String endDate = firstDay.withDayOfMonth(firstDay.lengthOfMonth()).toString(); - params.put("startDate", startDate); - params.put("endDate", endDate); + params.put("start_date", startDate); + params.put("end_date", endDate); } - List> byCostType = sqlSession.selectList(NS + "getCostTypeStats", params); - List> byMonth = sqlSession.selectList(NS + "getCostTypeStatsByMonth", params); - Map summary = sqlSession.selectOne(NS + "getCostTypeStatsSummary", params); + List> byCostType = sqlSession.selectList(NS + "get_cost_type_stats", params); + List> byMonth = sqlSession.selectList(NS + "get_cost_type_stats_by_month", params); + Map summary = sqlSession.selectOne(NS + "get_cost_type_stats_summary", params); for (Map row : byCostType) { row.put("supply_amount", DecimalUtils.toBigDecimal(row.get("supply_amount"))); row.put("tax_amount", DecimalUtils.toBigDecimal(row.get("tax_amount"))); diff --git a/backend-spring/src/main/java/com/erp/service/TemplateStandardService.java b/backend-spring/src/main/java/com/erp/service/TemplateStandardService.java index 20c86c3d..386b7fd5 100644 --- a/backend-spring/src/main/java/com/erp/service/TemplateStandardService.java +++ b/backend-spring/src/main/java/com/erp/service/TemplateStandardService.java @@ -67,10 +67,10 @@ public class TemplateStandardService extends BaseService { params.put("limit", limit); params.put("offset", offset); - List> templates = sqlSession.selectList(NS + "getTemplateStandardList", params); + List> templates = sqlSession.selectList(NS + "get_template_standard_list", params); templates.forEach(this::deserializeJsonFields); - Integer totalObj = sqlSession.selectOne(NS + "getTemplateStandardListCnt", params); + Integer totalObj = sqlSession.selectOne(NS + "get_template_standard_list_cnt", params); int total = totalObj != null ? totalObj : 0; Map result = new LinkedHashMap<>(); @@ -86,8 +86,8 @@ public class TemplateStandardService extends BaseService { */ public Map getTemplateStandardInfo(String templateCode) { Map params = new HashMap<>(); - params.put("templateCode", templateCode); - Map row = sqlSession.selectOne(NS + "getTemplateStandardInfo", params); + params.put("template_code", templateCode); + Map row = sqlSession.selectOne(NS + "get_template_standard_info", params); deserializeJsonFields(row); return row; } @@ -100,8 +100,8 @@ public class TemplateStandardService extends BaseService { String templateCode = (String) params.get("template_code"); Map checkParams = new HashMap<>(); - checkParams.put("templateCode", templateCode); - if (sqlSession.selectOne(NS + "getTemplateStandardInfo", checkParams) != null) { + checkParams.put("template_code", templateCode); + if (sqlSession.selectOne(NS + "get_template_standard_info", checkParams) != null) { throw new IllegalArgumentException("템플릿 코드 '" + templateCode + "'는 이미 존재합니다."); } @@ -110,7 +110,7 @@ public class TemplateStandardService extends BaseService { params.putIfAbsent("is_public", "N"); serializeJsonFields(params); - sqlSession.insert(NS + "insertTemplateStandard", params); + sqlSession.insert(NS + "insert_template_standard", params); return getTemplateStandardInfo(templateCode); } @@ -120,10 +120,10 @@ public class TemplateStandardService extends BaseService { */ @Transactional public Map updateTemplateStandard(String templateCode, Map params) { - params.put("templateCode", templateCode); + params.put("template_code", templateCode); serializeJsonFields(params); - int updated = sqlSession.update(NS + "updateTemplateStandard", params); + int updated = sqlSession.update(NS + "update_template_standard", params); if (updated == 0) return null; return getTemplateStandardInfo(templateCode); @@ -135,8 +135,8 @@ public class TemplateStandardService extends BaseService { @Transactional public boolean deleteTemplateStandard(String templateCode) { Map params = new HashMap<>(); - params.put("templateCode", templateCode); - return sqlSession.delete(NS + "deleteTemplateStandard", params) > 0; + params.put("template_code", templateCode); + return sqlSession.delete(NS + "delete_template_standard", params) > 0; } /** @@ -145,7 +145,7 @@ public class TemplateStandardService extends BaseService { @Transactional public void updateTemplateStandardSortOrder(List> templates) { for (Map t : templates) { - sqlSession.update(NS + "updateTemplateStandardSortOrder", t); + sqlSession.update(NS + "update_template_standard_sort_order", t); } } @@ -154,9 +154,9 @@ public class TemplateStandardService extends BaseService { */ @Transactional public Map duplicateTemplateStandard(Map params) { - String originalCode = (String) params.get("originalCode"); - String newCode = (String) params.get("newCode"); - String newName = (String) params.get("newName"); + String originalCode = (String) params.get("original_code"); + String newCode = (String) params.get("new_code"); + String newName = (String) params.get("new_name"); String companyCode = (String) params.get("company_code"); String createdBy = (String) params.get("created_by"); @@ -166,8 +166,8 @@ public class TemplateStandardService extends BaseService { } Map checkParams = new HashMap<>(); - checkParams.put("templateCode", newCode); - if (sqlSession.selectOne(NS + "getTemplateStandardInfo", checkParams) != null) { + checkParams.put("template_code", newCode); + if (sqlSession.selectOne(NS + "get_template_standard_info", checkParams) != null) { throw new IllegalArgumentException("템플릿 코드 '" + newCode + "'는 이미 존재합니다."); } @@ -193,7 +193,7 @@ public class TemplateStandardService extends BaseService { // layout_config / default_size가 이미 Object이면 직렬화 serializeJsonFields(newTemplate); - sqlSession.insert(NS + "insertTemplateStandard", newTemplate); + sqlSession.insert(NS + "insert_template_standard", newTemplate); return getTemplateStandardInfo(newCode); } @@ -202,8 +202,8 @@ public class TemplateStandardService extends BaseService { */ public List getTemplateStandardCategoryList(String companyCode) { Map params = new HashMap<>(); - params.put("companyCode", companyCode); - List> rows = sqlSession.selectList(NS + "getTemplateStandardCategoryList", params); + params.put("company_code", companyCode); + List> rows = sqlSession.selectList(NS + "get_template_standard_category_list", params); List categories = new ArrayList<>(); for (Map row : rows) { Object cat = row.get("category"); diff --git a/backend-spring/src/main/java/com/erp/service/TestButtonDataflowService.java b/backend-spring/src/main/java/com/erp/service/TestButtonDataflowService.java index bd2882c5..f7928d28 100644 --- a/backend-spring/src/main/java/com/erp/service/TestButtonDataflowService.java +++ b/backend-spring/src/main/java/com/erp/service/TestButtonDataflowService.java @@ -38,7 +38,7 @@ public class TestButtonDataflowService extends BaseService { log.info("전체 관계 목록 조회 - companyCode: {}", companyCode); Map params = new HashMap<>(); - params.put("companyCode", companyCode); + params.put("company_code", companyCode); List> diagrams = sqlSession.selectList("testButtonDataflow.selectDiagramsForRelationships", params); List> result = new ArrayList<>(); @@ -49,15 +49,15 @@ public class TestButtonDataflowService extends BaseService { String targetTable = ""; // relationships.fromTable.tableName - Object fromTableRaw = relationships.get("fromTable"); + Object fromTableRaw = relationships.get("from_table"); if (fromTableRaw instanceof Map ft) { - Object tn = ft.get("tableName"); + Object tn = ft.get("table_name"); if (tn != null) sourceTable = tn.toString(); } // relationships.toTable.tableName - Object toTableRaw = relationships.get("toTable"); + Object toTableRaw = relationships.get("to_table"); if (toTableRaw instanceof Map tt) { - Object tn = tt.get("tableName"); + Object tn = tt.get("table_name"); if (tn != null) targetTable = tn.toString(); } @@ -68,8 +68,8 @@ public class TestButtonDataflowService extends BaseService { entry.put("id", diagId != null ? diagId.toString() : ""); entry.put("name", diagName != null ? diagName.toString() : "관계 " + (diagId != null ? diagId : "")); - entry.put("sourceTable", sourceTable); - entry.put("targetTable", targetTable); + entry.put("source_table", sourceTable); + entry.put("target_table", targetTable); entry.put("category", "데이터 흐름"); result.add(entry); } @@ -88,9 +88,9 @@ public class TestButtonDataflowService extends BaseService { */ public Map getTestStatus(String companyCode) { Map user = new LinkedHashMap<>(); - user.put("userId", "spring-test-user"); - user.put("userName", "Spring Test User"); - user.put("companyCode", companyCode); + user.put("user_id", "spring-test-user"); + user.put("user_name", "Spring Test User"); + user.put("company_code", companyCode); user.put("email", "test@example.com"); Map status = new LinkedHashMap<>(); diff --git a/backend-spring/src/main/java/com/erp/service/TodoService.java b/backend-spring/src/main/java/com/erp/service/TodoService.java index 61491827..fb022f7e 100644 --- a/backend-spring/src/main/java/com/erp/service/TodoService.java +++ b/backend-spring/src/main/java/com/erp/service/TodoService.java @@ -18,9 +18,9 @@ public class TodoService extends BaseService { public Map getTodoList(Map params) { commonService.applyPagination(params); - Integer totalObj = sqlSession.selectOne(NS + "getTodoListCnt", params); + Integer totalObj = sqlSession.selectOne(NS + "get_todo_list_cnt", params); int totalCount = totalObj != null ? totalObj : 0; - List> list = sqlSession.selectList(NS + "getTodoList", params); + List> list = sqlSession.selectList(NS + "get_todo_list", params); // stats 계산 Map stats = new LinkedHashMap<>(); @@ -30,7 +30,7 @@ public class TodoService extends BaseService { long completed = list.stream().filter(t -> "completed".equals(t.get("status"))).count(); long urgent = list.stream().filter(t -> Boolean.TRUE.equals(t.get("is_urgent"))).count(); stats.put("pending", pending); - stats.put("inProgress", inProgress); + stats.put("in_progress", inProgress); stats.put("completed", completed); stats.put("urgent", urgent); @@ -40,26 +40,26 @@ public class TodoService extends BaseService { } public Map getTodoInfo(Map params) { - return sqlSession.selectOne(NS + "getTodoInfo", params); + return sqlSession.selectOne(NS + "get_todo_info", params); } @Transactional public Map insertTodo(Map params) { String id = UUID.randomUUID().toString(); params.put("id", id); - sqlSession.insert(NS + "insertTodo", params); - return sqlSession.selectOne(NS + "getTodoInfo", Map.of("id", id)); + sqlSession.insert(NS + "insert_todo", params); + return sqlSession.selectOne(NS + "get_todo_info", Map.of("id", id)); } @Transactional public Map updateTodo(Map params) { - sqlSession.update(NS + "updateTodo", params); - return sqlSession.selectOne(NS + "getTodoInfo", Map.of("id", params.get("id"))); + sqlSession.update(NS + "update_todo", params); + return sqlSession.selectOne(NS + "get_todo_info", Map.of("id", params.get("id"))); } @Transactional public Map deleteTodo(Map params) { - sqlSession.delete(NS + "deleteTodo", params); + sqlSession.delete(NS + "delete_todo", params); return params; } @@ -68,8 +68,8 @@ public class TodoService extends BaseService { for (int i = 0; i < todoIds.size(); i++) { Map p = new HashMap<>(); p.put("id", todoIds.get(i)); - p.put("displayOrder", i); - sqlSession.update(NS + "updateTodoOrder", p); + p.put("display_order", i); + sqlSession.update(NS + "update_todo_order", p); } } } diff --git a/backend-spring/src/main/java/com/erp/service/VehicleTripService.java b/backend-spring/src/main/java/com/erp/service/VehicleTripService.java index cc0d7366..cfe71399 100644 --- a/backend-spring/src/main/java/com/erp/service/VehicleTripService.java +++ b/backend-spring/src/main/java/com/erp/service/VehicleTripService.java @@ -32,8 +32,8 @@ public class VehicleTripService extends BaseService { public Map startTrip(Map params) { String tripId = "TRIP-" + System.currentTimeMillis() + "-" + UUID.randomUUID().toString().substring(0, 8); - params.put("tripId", tripId); - params.put("tripStatus", "start"); + params.put("trip_id", tripId); + params.put("trip_status", "start"); // 1. vehicle_trip_summary INSERT sqlSession.insert("vehicleTrip.insertVehicleTrip", params); @@ -42,8 +42,8 @@ public class VehicleTripService extends BaseService { sqlSession.insert("vehicleTrip.insertVehicleTripLocation", params); Map result = new LinkedHashMap<>(); - result.put("tripId", tripId); - result.put("startLocation", Map.of( + result.put("trip_id", tripId); + result.put("start_location", Map.of( "latitude", params.get("latitude"), "longitude", params.get("longitude") )); @@ -63,12 +63,12 @@ public class VehicleTripService extends BaseService { // 2. 종료 위치 INSERT Map locParams = new LinkedHashMap<>(params); - locParams.put("vehicleId", activeTrip.get("vehicle_id")); - locParams.put("tripStatus", "end"); + locParams.put("vehicle_id", activeTrip.get("vehicle_id")); + locParams.put("trip_status", "end"); locParams.put("departure", activeTrip.get("departure")); locParams.put("arrival", activeTrip.get("arrival")); - locParams.put("departureName", activeTrip.get("departure_name")); - locParams.put("destinationName", activeTrip.get("destination_name")); + locParams.put("departure_name", activeTrip.get("departure_name")); + locParams.put("destination_name", activeTrip.get("destination_name")); sqlSession.insert("vehicleTrip.insertVehicleTripLocation", locParams); // 3. 통계 조회 (COUNT, duration) @@ -91,18 +91,18 @@ public class VehicleTripService extends BaseService { // 5. vehicle_trip_summary 업데이트 Map updateParams = new LinkedHashMap<>(); - updateParams.put("tripId", params.get("tripId")); - updateParams.put("companyCode", params.get("companyCode")); - updateParams.put("totalDistance", roundedDistance); - updateParams.put("durationMinutes", durationMinutes); - updateParams.put("locationCount", locationCount); + updateParams.put("trip_id", params.get("trip_id")); + updateParams.put("company_code", params.get("company_code")); + updateParams.put("total_distance", roundedDistance); + updateParams.put("duration_minutes", durationMinutes); + updateParams.put("location_count", locationCount); sqlSession.update("vehicleTrip.updateVehicleTripEnd", updateParams); Map result = new LinkedHashMap<>(); - result.put("tripId", params.get("tripId")); - result.put("totalDistance", roundedDistance); - result.put("durationMinutes", durationMinutes); - result.put("locationCount", locationCount); + result.put("trip_id", params.get("trip_id")); + result.put("total_distance", roundedDistance); + result.put("duration_minutes", durationMinutes); + result.put("location_count", locationCount); return result; } @@ -130,21 +130,21 @@ public class VehicleTripService extends BaseService { // 3. 위치 INSERT Map locParams = new LinkedHashMap<>(params); - locParams.put("vehicleId", activeTrip.get("vehicle_id")); - locParams.put("tripStatus", "tracking"); + locParams.put("vehicle_id", activeTrip.get("vehicle_id")); + locParams.put("trip_status", "tracking"); locParams.put("departure", activeTrip.get("departure")); locParams.put("arrival", activeTrip.get("arrival")); - locParams.put("departureName", activeTrip.get("departure_name")); - locParams.put("destinationName", activeTrip.get("destination_name")); - locParams.put("distanceFromPrev", distanceFromPrev > 0 ? distanceFromPrev : null); + locParams.put("departure_name", activeTrip.get("departure_name")); + locParams.put("destination_name", activeTrip.get("destination_name")); + locParams.put("distance_from_prev", distanceFromPrev > 0 ? distanceFromPrev : null); sqlSession.insert("vehicleTrip.insertVehicleTripLocation", locParams); // 4. location_count + 1 sqlSession.update("vehicleTrip.updateVehicleTripLocationCount", params); Map result = new LinkedHashMap<>(); - result.put("locationId", locParams.get("id")); - result.put("distanceFromPrev", distanceFromPrev); + result.put("location_id", locParams.get("id")); + result.put("distance_from_prev", distanceFromPrev); return result; } @@ -153,7 +153,7 @@ public class VehicleTripService extends BaseService { * 응답: { data: [...], total: N } */ public Map getTripList(Map params) { - convertToInt(params, "vehicleId"); + convertToInt(params, "vehicle_id"); commonService.applyPagination(params); Number cntNum = sqlSession.selectOne("vehicleTrip.getVehicleTripListCnt", params); int total = cntNum != null ? cntNum.intValue() : 0; @@ -188,7 +188,7 @@ public class VehicleTripService extends BaseService { Map trip = sqlSession.selectOne("vehicleTrip.getVehicleTripActiveByUser", params); Map result = new LinkedHashMap<>(); result.put("data", trip); - result.put("hasActiveTrip", trip != null); + result.put("has_active_trip", trip != null); return result; } @@ -210,26 +210,26 @@ public class VehicleTripService extends BaseService { /** GET /reports/daily — 일별 통계 (기본 최근 30일) */ public Map getDailyReport(Map params) { - convertToInt(params, "vehicleId"); + convertToInt(params, "vehicle_id"); LocalDate today = LocalDate.now(); - String startDate = params.get("startDate") != null && !params.get("startDate").toString().isBlank() - ? params.get("startDate").toString() : today.minusDays(30).toString(); - String endDate = params.get("endDate") != null && !params.get("endDate").toString().isBlank() - ? params.get("endDate").toString() : today.toString(); - params.put("startDate", startDate); - params.put("endDate", endDate); + String startDate = params.get("start_date") != null && !params.get("start_date").toString().isBlank() + ? params.get("start_date").toString() : today.minusDays(30).toString(); + String endDate = params.get("end_date") != null && !params.get("end_date").toString().isBlank() + ? params.get("end_date").toString() : today.toString(); + params.put("start_date", startDate); + params.put("end_date", endDate); List> data = sqlSession.selectList("vehicleTrip.getVehicleTripDailyReport", params); Map result = new LinkedHashMap<>(); - result.put("startDate", startDate); - result.put("endDate", endDate); + result.put("start_date", startDate); + result.put("end_date", endDate); result.put("data", data); return result; } /** GET /reports/weekly — 주별 통계 */ public Map getWeeklyReport(Map params) { - convertToInt(params, "vehicleId"); + convertToInt(params, "vehicle_id"); int year = params.get("year") != null ? toInt(params.get("year")) : LocalDate.now().getYear(); int month = params.get("month") != null @@ -247,7 +247,7 @@ public class VehicleTripService extends BaseService { /** GET /reports/monthly — 월별 통계 */ public Map getMonthlyReport(Map params) { - convertToInt(params, "vehicleId"); + convertToInt(params, "vehicle_id"); int year = params.get("year") != null ? toInt(params.get("year")) : LocalDate.now().getYear(); params.put("year", year); @@ -274,16 +274,16 @@ public class VehicleTripService extends BaseService { Map result = new LinkedHashMap<>(); result.put("period", params.get("period")); - result.put("totalTrips", totalTrips); - result.put("completedTrips", completedTrips); - result.put("activeTrips", toLong(row.get("active_trips"))); - result.put("cancelledTrips", toLong(row.get("cancelled_trips"))); - result.put("completionRate", completionRate); - result.put("totalDistance", toDouble(row.get("total_distance"))); - result.put("totalDuration", toLong(row.get("total_duration"))); - result.put("avgDistance", toDouble(row.get("avg_distance"))); - result.put("avgDuration", toDouble(row.get("avg_duration"))); - result.put("activeDrivers", toLong(row.get("active_drivers"))); + result.put("total_trips", totalTrips); + result.put("completed_trips", completedTrips); + result.put("active_trips", toLong(row.get("active_trips"))); + result.put("cancelled_trips", toLong(row.get("cancelled_trips"))); + result.put("completion_rate", completionRate); + result.put("total_distance", toDouble(row.get("total_distance"))); + result.put("total_duration", toLong(row.get("total_duration"))); + result.put("avg_distance", toDouble(row.get("avg_distance"))); + result.put("avg_duration", toDouble(row.get("avg_duration"))); + result.put("active_drivers", toLong(row.get("active_drivers"))); return result; } diff --git a/backend-spring/src/main/java/com/erp/service/WebTypeStandardService.java b/backend-spring/src/main/java/com/erp/service/WebTypeStandardService.java index 848161d5..a37104e6 100644 --- a/backend-spring/src/main/java/com/erp/service/WebTypeStandardService.java +++ b/backend-spring/src/main/java/com/erp/service/WebTypeStandardService.java @@ -22,15 +22,15 @@ public class WebTypeStandardService extends BaseService { // input params (camelCase) → DB 저장 시 직렬화용 private static final List JSONB_FIELDS = - Arrays.asList("defaultConfig", "validationRules", "defaultStyle", "inputProperties"); + Arrays.asList("default_config", "validation_rules", "default_style", "input_properties"); // DB 컬럼명(snake_case) → 응답 필드명(camelCase) 매핑 private static final Map JSONB_DB_TO_RESPONSE = new LinkedHashMap<>(); static { - JSONB_DB_TO_RESPONSE.put("default_config", "defaultConfig"); - JSONB_DB_TO_RESPONSE.put("validation_rules", "validationRules"); - JSONB_DB_TO_RESPONSE.put("default_style", "defaultStyle"); - JSONB_DB_TO_RESPONSE.put("input_properties", "inputProperties"); + JSONB_DB_TO_RESPONSE.put("default_config", "default_config"); + JSONB_DB_TO_RESPONSE.put("validation_rules", "validation_rules"); + JSONB_DB_TO_RESPONSE.put("default_style", "default_style"); + JSONB_DB_TO_RESPONSE.put("input_properties", "input_properties"); } // ── 목록 조회 ────────────────────────────────────────────────── @@ -53,7 +53,7 @@ public class WebTypeStandardService extends BaseService { // ── 단건 조회 ────────────────────────────────────────────────── public Map getWebType(String webType) { Map row = sqlSession.selectOne( - "webTypeStandard.selectWebType", Map.of("webType", webType)); + "webTypeStandard.selectWebType", Map.of("web_type", webType)); if (row != null) parseJsonFields(row); return row; } @@ -61,20 +61,20 @@ public class WebTypeStandardService extends BaseService { // ── 생성 ─────────────────────────────────────────────────────── @Transactional public Map createWebType(Map params) { - String webType = (String) params.get("webType"); + String webType = (String) params.get("web_type"); // 중복 체크 Map existing = sqlSession.selectOne( - "webTypeStandard.selectWebType", Map.of("webType", webType)); + "webTypeStandard.selectWebType", Map.of("web_type", webType)); if (existing != null) { throw new IllegalStateException("DUPLICATE"); } // 기본값 적용 params.putIfAbsent("category", "input"); - params.putIfAbsent("componentName", "TextWidget"); - params.putIfAbsent("sortOrder", 0); - params.putIfAbsent("isActive", "Y"); + params.putIfAbsent("component_name", "TextWidget"); + params.putIfAbsent("sort_order", 0); + params.putIfAbsent("is_active", "Y"); // JSONB 직렬화 serializeJsonbFields(params); @@ -83,7 +83,7 @@ public class WebTypeStandardService extends BaseService { log.info("웹타입 생성: web_type={}", webType); Map result = sqlSession.selectOne( - "webTypeStandard.selectWebType", Map.of("webType", webType)); + "webTypeStandard.selectWebType", Map.of("web_type", webType)); if (result != null) parseJsonFields(result); return result; } @@ -97,11 +97,11 @@ public class WebTypeStandardService extends BaseService { int updated = sqlSession.update("webTypeStandard.updateWebType", params); if (updated == 0) return null; - String webType = (String) params.get("webType"); + String webType = (String) params.get("web_type"); log.info("웹타입 수정: web_type={}", webType); Map result = sqlSession.selectOne( - "webTypeStandard.selectWebType", Map.of("webType", webType)); + "webTypeStandard.selectWebType", Map.of("web_type", webType)); if (result != null) parseJsonFields(result); return result; } @@ -110,7 +110,7 @@ public class WebTypeStandardService extends BaseService { @Transactional public boolean deleteWebType(String webType) { int deleted = sqlSession.delete( - "webTypeStandard.deleteWebType", Map.of("webType", webType)); + "webTypeStandard.deleteWebType", Map.of("web_type", webType)); if (deleted == 0) return false; log.info("웹타입 삭제: web_type={}", webType); return true; @@ -120,11 +120,11 @@ public class WebTypeStandardService extends BaseService { @Transactional public void updateWebTypeSortOrder(Map params) { @SuppressWarnings("unchecked") - List> webTypes = (List>) params.get("webTypes"); - String userId = (String) params.get("userId"); + List> webTypes = (List>) params.get("web_types"); + String userId = (String) params.get("user_id"); for (Map item : webTypes) { - item.put("userId", userId); + item.put("user_id", userId); sqlSession.update("webTypeStandard.updateSortOrder", item); } log.info("웹타입 정렬 순서 일괄 업데이트: {} 건", webTypes.size()); diff --git a/backend-spring/src/main/java/com/erp/service/WorkHistoryService.java b/backend-spring/src/main/java/com/erp/service/WorkHistoryService.java index b96ddcf9..1aa55734 100644 --- a/backend-spring/src/main/java/com/erp/service/WorkHistoryService.java +++ b/backend-spring/src/main/java/com/erp/service/WorkHistoryService.java @@ -58,12 +58,12 @@ public class WorkHistoryService extends BaseService { } Map result = new LinkedHashMap<>(); - result.put("todayTotal", todayStats != null ? todayStats.get("today_total") : 0); - result.put("todayCompleted", todayStats != null ? todayStats.get("today_completed") : 0); - result.put("totalWeight", totalStats != null ? totalStats.get("total_weight") : 0); - result.put("totalDistance", totalStats != null ? totalStats.get("total_distance") : 0); - result.put("onTimeRate", onTimeStats != null ? onTimeStats.get("on_time_rate") : 0); - result.put("typeDistribution", typeDistribution); + result.put("today_total", todayStats != null ? todayStats.get("today_total") : 0); + result.put("today_completed", todayStats != null ? todayStats.get("today_completed") : 0); + result.put("total_weight", totalStats != null ? totalStats.get("total_weight") : 0); + result.put("total_distance", totalStats != null ? totalStats.get("total_distance") : 0); + result.put("on_time_rate", onTimeStats != null ? onTimeStats.get("on_time_rate") : 0); + result.put("type_distribution", typeDistribution); return result; } diff --git a/backend-spring/src/main/java/com/erp/service/YardLayoutService.java b/backend-spring/src/main/java/com/erp/service/YardLayoutService.java index eb8157c4..2abae0aa 100644 --- a/backend-spring/src/main/java/com/erp/service/YardLayoutService.java +++ b/backend-spring/src/main/java/com/erp/service/YardLayoutService.java @@ -43,7 +43,7 @@ public class YardLayoutService extends BaseService { public Map deleteYardLayout(Map params) { commonService.applyCompanyCodeFilter(params); Map placementParams = new HashMap<>(); - placementParams.put("yardLayoutId", params.get("id")); + placementParams.put("yard_layout_id", params.get("id")); sqlSession.delete("yardLayout.deleteYardPlacementsByLayoutId", placementParams); sqlSession.delete("yardLayout.deleteYardLayout", params); return params; @@ -77,7 +77,7 @@ public class YardLayoutService extends BaseService { sqlSession.update("yardLayout.updateYardPlacement", placement); } Map result = new HashMap<>(); - result.put("updatedCount", placements.size()); + result.put("updated_count", placements.size()); return result; } @@ -91,21 +91,21 @@ public class YardLayoutService extends BaseService { Map newLayout = new HashMap<>(); newLayout.put("name", "Copy of " + original.get("name")); newLayout.put("description", original.get("description")); - newLayout.put("createdBy", original.get("created_by")); - newLayout.put("companyCode", params.get("companyCode")); + newLayout.put("created_by", original.get("created_by")); + newLayout.put("company_code", params.get("company_code")); sqlSession.insert("yardLayout.insertYardLayout", newLayout); Long newId = ((Number) newLayout.get("id")).longValue(); Map placementParams = new HashMap<>(); - placementParams.put("yardLayoutId", params.get("id")); + placementParams.put("yard_layout_id", params.get("id")); List> placements = sqlSession.selectList("yardLayout.getYardPlacementList", placementParams); for (Map p : placements) { Map newPlacement = new HashMap<>(p); newPlacement.remove("id"); - newPlacement.put("yardLayoutId", newId); + newPlacement.put("yard_layout_id", newId); sqlSession.insert("yardLayout.insertYardPlacement", newPlacement); } - newLayout.put("placementCount", placements.size()); + newLayout.put("placement_count", placements.size()); return newLayout; } } diff --git a/backend-spring/src/main/resources/application.yml b/backend-spring/src/main/resources/application.yml index 650fcc01..03ae66c7 100644 --- a/backend-spring/src/main/resources/application.yml +++ b/backend-spring/src/main/resources/application.yml @@ -14,7 +14,7 @@ spring: jackson: default-property-inclusion: always datasource: - url: jdbc:postgresql://39.117.244.52:11132/plm + url: jdbc:postgresql://39.117.244.52:11132/testvex username: postgres password: "ph0909!!" driver-class-name: org.postgresql.Driver diff --git a/backend-spring/src/main/resources/mapper/admin.xml b/backend-spring/src/main/resources/mapper/admin.xml index f5a79440..031fb82f 100644 --- a/backend-spring/src/main/resources/mapper/admin.xml +++ b/backend-spring/src/main/resources/mapper/admin.xml @@ -29,28 +29,28 @@ , ARRAY[MENU.OBJID] AS PATH FROM MENU_INFO MENU WHERE (MENU.PARENT_OBJ_ID IS NULL OR MENU.PARENT_OBJ_ID = '0') - + AND MENU.STATUS = 'active' - + AND MENU.COMPANY_CODE = '*' - - AND (MENU.COMPANY_CODE = #{companyCode} OR MENU.COMPANY_CODE = '*') + + AND (MENU.COMPANY_CODE = #{company_code} OR MENU.COMPANY_CODE = '*') - - AND MENU.MENU_TYPE = CAST(#{menuType} AS NUMERIC) + + AND MENU.MENU_TYPE = CAST(#{menu_type} AS NUMERIC) - + AND EXISTS ( SELECT 1 FROM REL_MENU_AUTH RMA JOIN AUTHORITY_MASTER AM ON RMA.AUTH_OBJID = AM.OBJID JOIN AUTHORITY_SUB_USER ASU ON AM.OBJID = ASU.MASTER_OBJID WHERE RMA.MENU_OBJID = MENU.OBJID - AND ASU.USER_ID = #{userId} + AND ASU.USER_ID = #{user_id} AND AM.STATUS = 'active' AND RMA.READ_YN = 'Y' ) @@ -79,25 +79,25 @@ JOIN V_MENU V ON S.PARENT_OBJ_ID = V.OBJID WHERE S.OBJID != ALL(V.PATH) - + AND S.STATUS = 'active' - + AND S.COMPANY_CODE = '*' - - AND (S.COMPANY_CODE = #{companyCode} OR S.COMPANY_CODE = '*') + + AND (S.COMPANY_CODE = #{company_code} OR S.COMPANY_CODE = '*') - + AND EXISTS ( SELECT 1 FROM REL_MENU_AUTH RMA JOIN AUTHORITY_MASTER AM ON RMA.AUTH_OBJID = AM.OBJID JOIN AUTHORITY_SUB_USER ASU ON AM.OBJID = ASU.MASTER_OBJID WHERE RMA.MENU_OBJID = S.OBJID - AND ASU.USER_ID = #{userId} + AND ASU.USER_ID = #{user_id} AND AM.STATUS = 'active' AND RMA.READ_YN = 'Y' ) @@ -127,7 +127,7 @@ JOIN MULTI_LANG_TEXT MLT ON MLKM.KEY_ID = MLT.KEY_ID WHERE MLKM.LANG_KEY = V.LANG_KEY - AND MLT.LANG_CODE = #{userLang} + AND MLT.LANG_CODE = #{user_lang} LIMIT 1), V.MENU_NAME_KOR ) AS TRANSLATED_NAME @@ -137,7 +137,7 @@ JOIN MULTI_LANG_TEXT MLT ON MLKM.KEY_ID = MLT.KEY_ID WHERE MLKM.LANG_KEY = V.LANG_KEY_DESC - AND MLT.LANG_CODE = #{userLang} + AND MLT.LANG_CODE = #{user_lang} LIMIT 1), COALESCE(V.MENU_DESC, '') ) AS TRANSLATED_DESC @@ -177,11 +177,11 @@ AND MENU.MENU_TYPE = '1' AND MENU.STATUS = 'active' - + AND MENU.COMPANY_CODE = '*' - AND (MENU.COMPANY_CODE = #{companyCode} OR MENU.COMPANY_CODE = '*') + AND (MENU.COMPANY_CODE = #{company_code} OR MENU.COMPANY_CODE = '*') @@ -234,7 +234,7 @@ JOIN MULTI_LANG_TEXT MLT ON MLKM.KEY_ID = MLT.KEY_ID WHERE MLKM.LANG_KEY = V.LANG_KEY - AND MLT.LANG_CODE = #{userLang} + AND MLT.LANG_CODE = #{user_lang} LIMIT 1), V.MENU_NAME_KOR ) AS TRANSLATED_NAME @@ -244,7 +244,7 @@ JOIN MULTI_LANG_TEXT MLT ON MLKM.KEY_ID = MLT.KEY_ID WHERE MLKM.LANG_KEY = V.LANG_KEY_DESC - AND MLT.LANG_CODE = #{userLang} + AND MLT.LANG_CODE = #{user_lang} LIMIT 1), COALESCE(V.MENU_DESC, '') ) AS TRANSLATED_DESC @@ -274,11 +274,11 @@ AND MENU_TYPE = '1' AND (MENU_DESC LIKE '%[POP]%' OR UPPER(MENU_NAME_KOR) LIKE '%POP%') - + AND COMPANY_CODE = '*' - AND COMPANY_CODE = #{companyCode} + AND COMPANY_CODE = #{company_code} ORDER BY SEQ @@ -296,9 +296,9 @@ , COMPANY_CODE , STATUS FROM MENU_INFO - WHERE PARENT_OBJ_ID = #{parentObjid} + WHERE PARENT_OBJ_ID = #{parent_objid} AND STATUS = 'active' - AND COMPANY_CODE = #{parentCompanyCode} + AND COMPANY_CODE = #{parent_company_code} ORDER BY SEQ @@ -310,7 +310,7 @@ FROM MENU_INFO M LEFT JOIN COMPANY_MNG C ON M.COMPANY_CODE = C.COMPANY_CODE - WHERE M.OBJID = #{menuId}::NUMERIC + WHERE M.OBJID = #{menu_id}::NUMERIC @@ -330,19 +330,19 @@ , LANG_KEY_DESC , MENU_ICON ) VALUES ( - #{menuType} - , #{parentObjId} - , #{menuNameKor} - , #{menuUrl} - , #{menuDesc} + #{menu_type} + , #{parent_obj_id} + , #{menu_name_kor} + , #{menu_url} + , #{menu_desc} , #{seq} , #{writer} , NOW() , COALESCE(#{status}, 'active') - , #{companyCode} - , #{langKey} - , #{langKeyDesc} - , #{menuIcon} + , #{company_code} + , #{lang_key} + , #{lang_key_desc} + , #{menu_icon} ) @@ -350,28 +350,28 @@ UPDATE MENU_INFO SET - MENU_NAME_KOR = #{menuNameKor} - , MENU_URL = #{menuUrl} - , MENU_DESC = #{menuDesc} + MENU_NAME_KOR = #{menu_name_kor} + , MENU_URL = #{menu_url} + , MENU_DESC = #{menu_desc} , SEQ = #{seq} , STATUS = #{status} - , LANG_KEY = #{langKey} - , LANG_KEY_DESC = #{langKeyDesc} - , MENU_ICON = #{menuIcon} - WHERE OBJID = #{menuId}::NUMERIC + , LANG_KEY = #{lang_key} + , LANG_KEY_DESC = #{lang_key_desc} + , MENU_ICON = #{menu_icon} + WHERE OBJID = #{menu_id}::NUMERIC DELETE FROM MENU_INFO - WHERE OBJID = #{menuId}::NUMERIC + WHERE OBJID = #{menu_id}::NUMERIC UPDATE MENU_INFO SET STATUS = #{status} - WHERE OBJID = #{menuId}::NUMERIC + WHERE OBJID = #{menu_id}::NUMERIC @@ -507,20 +507,20 @@ , STATUS , CREATED_DATE ) VALUES ( - #{userId} - , #{userPassword} - , #{userName} - , #{userNameEng} - , #{deptCode} - , #{deptName} - , #{positionCode} - , #{positionName} + #{user_id} + , #{user_password} + , #{user_name} + , #{user_name_eng} + , #{dept_code} + , #{dept_name} + , #{position_code} + , #{position_name} , #{email} , #{tel} - , #{cellPhone} - , #{userType} - , #{userTypeName} - , #{companyCode} + , #{cell_phone} + , #{user_type} + , #{user_type_name} + , #{company_code} , #{locale} , COALESCE(#{status}, 'active') , NOW() @@ -531,32 +531,32 @@ UPDATE USER_INFO SET - USER_NAME = #{userName} - , USER_NAME_ENG = #{userNameEng} - , DEPT_CODE = #{deptCode} - , DEPT_NAME = #{deptName} - , POSITION_CODE = #{positionCode} - , POSITION_NAME = #{positionName} + USER_NAME = #{user_name} + , USER_NAME_ENG = #{user_name_eng} + , DEPT_CODE = #{dept_code} + , DEPT_NAME = #{dept_name} + , POSITION_CODE = #{position_code} + , POSITION_NAME = #{position_name} , EMAIL = #{email} , TEL = #{tel} - , CELL_PHONE = #{cellPhone} - , USER_TYPE = #{userType} - , USER_TYPE_NAME = #{userTypeName} - WHERE USER_ID = #{userId} + , CELL_PHONE = #{cell_phone} + , USER_TYPE = #{user_type} + , USER_TYPE_NAME = #{user_type_name} + WHERE USER_ID = #{user_id} UPDATE USER_INFO SET STATUS = #{status} - WHERE USER_ID = #{userId} + WHERE USER_ID = #{user_id} UPDATE USER_INFO - SET USER_PASSWORD = #{userPassword} - WHERE USER_ID = #{userId} + SET USER_PASSWORD = #{user_password} + WHERE USER_ID = #{user_id} @@ -564,14 +564,14 @@ SELECT LOCALE FROM USER_INFO - WHERE USER_ID = #{userId} + WHERE USER_ID = #{user_id} UPDATE USER_INFO SET LOCALE = #{locale} - WHERE USER_ID = #{userId} + WHERE USER_ID = #{user_id} DELETE FROM USER_DEPT - WHERE USER_ID = #{userId} + WHERE USER_ID = #{user_id} AND IS_PRIMARY = FALSE @@ -754,25 +754,25 @@ UPDATE USER_INFO - USER_NAME = #{userName}, - USER_NAME_ENG = #{userNameEng}, + USER_NAME = #{user_name}, + USER_NAME_ENG = #{user_name_eng}, EMAIL = #{email}, TEL = #{tel}, - CELL_PHONE = #{cellPhone}, + CELL_PHONE = #{cell_phone}, SABUN = #{sabun}, - USER_TYPE = #{userType}, - USER_TYPE_NAME = #{userTypeName}, + USER_TYPE = #{user_type}, + USER_TYPE_NAME = #{user_type_name}, STATUS = #{status}, LOCALE = #{locale}, - DEPT_CODE = #{deptCode}, - DEPT_NAME = #{deptName}, - POSITION_CODE = #{positionCode}, - POSITION_NAME = #{positionName}, - COMPANY_CODE = #{companyCode}, - USER_PASSWORD = #{userPassword}, - USER_ID = #{userId} + DEPT_CODE = #{dept_code}, + DEPT_NAME = #{dept_name}, + POSITION_CODE = #{position_code}, + POSITION_NAME = #{position_name}, + COMPANY_CODE = #{company_code}, + USER_PASSWORD = #{user_password}, + USER_ID = #{user_id} - WHERE USER_ID = #{userId} + WHERE USER_ID = #{user_id} @@ -450,9 +450,9 @@ SET STATUS = 'approved', COMMENT = '자동 통보 처리', PROCESSED_AT = NOW() - WHERE REQUEST_ID = #{requestId} - AND STEP_ORDER = #{stepOrder} - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + WHERE REQUEST_ID = #{request_id} + AND STEP_ORDER = #{step_order} + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') @@ -480,14 +480,14 @@ FROM APPROVAL_PROXY_SETTINGS PS LEFT JOIN USER_INFO U1 ON PS.ORIGINAL_USER_ID = U1.USER_ID AND PS.COMPANY_CODE = U1.COMPANY_CODE LEFT JOIN USER_INFO U2 ON PS.PROXY_USER_ID = U2.USER_ID AND PS.COMPANY_CODE = U2.COMPANY_CODE - WHERE (PS.COMPANY_CODE = #{companyCode} OR PS.COMPANY_CODE = '*') + WHERE (PS.COMPANY_CODE = #{company_code} OR PS.COMPANY_CODE = '*') ORDER BY PS.CREATED_DATE DESC @@ -503,7 +503,7 @@ (ORIGINAL_USER_ID, PROXY_USER_ID, START_DATE, END_DATE, REASON, IS_ACTIVE, COMPANY_CODE) VALUES (#{original_user_id}, #{proxy_user_id}, #{start_date}, #{end_date}, - #{reason}, COALESCE(#{is_active}, 'Y'), #{companyCode}) + #{reason}, COALESCE(#{is_active}, 'Y'), #{company_code}) @@ -527,23 +527,23 @@ UPDATED_DATE = NOW() WHERE ID = #{id} - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') DELETE FROM APPROVAL_PROXY_SETTINGS WHERE ID = #{id} - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') @@ -551,11 +551,11 @@ SELECT PS.*, U.USER_NAME AS PROXY_USER_NAME FROM APPROVAL_PROXY_SETTINGS PS LEFT JOIN USER_INFO U ON PS.PROXY_USER_ID = U.USER_ID AND PS.COMPANY_CODE = U.COMPANY_CODE - WHERE PS.ORIGINAL_USER_ID = #{userId} + WHERE PS.ORIGINAL_USER_ID = #{user_id} AND PS.IS_ACTIVE = 'Y' AND PS.START_DATE <= CURRENT_DATE AND PS.END_DATE >= CURRENT_DATE - AND (PS.COMPANY_CODE = #{companyCode} OR PS.COMPANY_CODE = '*') + AND (PS.COMPANY_CODE = #{company_code} OR PS.COMPANY_CODE = '*') UPDATE ${tableName} - SET APPROVAL_STATUS = #{approvalStatus} - WHERE ID = #{targetRecordId} - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + SET APPROVAL_STATUS = #{approval_status} + WHERE ID = #{target_record_id} + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') diff --git a/backend-spring/src/main/resources/mapper/auditLog.xml b/backend-spring/src/main/resources/mapper/auditLog.xml index 20581399..24cf2584 100644 --- a/backend-spring/src/main/resources/mapper/auditLog.xml +++ b/backend-spring/src/main/resources/mapper/auditLog.xml @@ -9,26 +9,26 @@ FROM SYSTEM_AUDIT_LOG SAL LEFT JOIN COMPANY_MNG CI ON SAL.COMPANY_CODE = CI.COMPANY_CODE WHERE 1=1 - - AND (SAL.COMPANY_CODE = #{filterCompany} OR SAL.COMPANY_CODE = '*') + + AND (SAL.COMPANY_CODE = #{filter_company} OR SAL.COMPANY_CODE = '*') - - AND SAL.USER_ID = #{userId} + + AND SAL.USER_ID = #{user_id} - - AND SAL.RESOURCE_TYPE = #{resourceType} + + AND SAL.RESOURCE_TYPE = #{resource_type} AND SAL.ACTION = #{action} - - AND SAL.TABLE_NAME = #{tableName} + + AND SAL.TABLE_NAME = #{table_name} - - AND SAL.CREATED_DATE >= #{dateFrom}::TIMESTAMPTZ + + AND SAL.CREATED_DATE >= #{date_from}::TIMESTAMPTZ - - AND SAL.CREATED_DATE <= #{dateTo}::TIMESTAMPTZ + + AND SAL.CREATED_DATE <= #{date_to}::TIMESTAMPTZ AND (SAL.SUMMARY ILIKE CONCAT('%', #{search}, '%') @@ -44,26 +44,26 @@ SELECT COUNT(*) FROM SYSTEM_AUDIT_LOG SAL WHERE 1=1 - - AND (SAL.COMPANY_CODE = #{filterCompany} OR SAL.COMPANY_CODE = '*') + + AND (SAL.COMPANY_CODE = #{filter_company} OR SAL.COMPANY_CODE = '*') - - AND SAL.USER_ID = #{userId} + + AND SAL.USER_ID = #{user_id} - - AND SAL.RESOURCE_TYPE = #{resourceType} + + AND SAL.RESOURCE_TYPE = #{resource_type} AND SAL.ACTION = #{action} - - AND SAL.TABLE_NAME = #{tableName} + + AND SAL.TABLE_NAME = #{table_name} - - AND SAL.CREATED_DATE >= #{dateFrom}::TIMESTAMPTZ + + AND SAL.CREATED_DATE >= #{date_from}::TIMESTAMPTZ - - AND SAL.CREATED_DATE <= #{dateTo}::TIMESTAMPTZ + + AND SAL.CREATED_DATE <= #{date_to}::TIMESTAMPTZ AND (SAL.SUMMARY ILIKE CONCAT('%', #{search}, '%') @@ -77,8 +77,8 @@ SELECT DATE(CREATED_DATE) AS DATE, COUNT(*)::INT AS COUNT FROM SYSTEM_AUDIT_LOG WHERE CREATED_DATE >= NOW() - INTERVAL '1 day' * #{days} - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') GROUP BY DATE(CREATED_DATE) ORDER BY DATE DESC @@ -89,8 +89,8 @@ SELECT RESOURCE_TYPE, COUNT(*)::INT AS COUNT FROM SYSTEM_AUDIT_LOG WHERE CREATED_DATE >= NOW() - INTERVAL '1 day' * #{days} - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') GROUP BY RESOURCE_TYPE ORDER BY COUNT DESC @@ -101,8 +101,8 @@ SELECT ACTION, COUNT(*)::INT AS COUNT FROM SYSTEM_AUDIT_LOG WHERE CREATED_DATE >= NOW() - INTERVAL '1 day' * #{days} - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') GROUP BY ACTION ORDER BY COUNT DESC @@ -113,8 +113,8 @@ SELECT USER_ID, COALESCE(MAX(USER_NAME), USER_ID) AS USER_NAME, COUNT(*)::INT AS COUNT FROM SYSTEM_AUDIT_LOG WHERE CREATED_DATE >= NOW() - INTERVAL '1 day' * #{days} - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') GROUP BY USER_ID ORDER BY COUNT DESC @@ -134,10 +134,10 @@ GROUP BY USER_ID ) SAL ON U.USER_ID = SAL.USER_ID WHERE LOWER(U.STATUS) = 'active' - - AND (U.COMPANY_CODE = #{companyCode} OR U.COMPANY_CODE = '*') + + AND (U.COMPANY_CODE = #{company_code} OR U.COMPANY_CODE = '*') - + AND U.COMPANY_CODE != '*' ORDER BY COUNT DESC, U.USER_NAME ASC @@ -150,10 +150,10 @@ RESOURCE_ID, RESOURCE_NAME, TABLE_NAME, SUMMARY, CHANGES, IP_ADDRESS, REQUEST_PATH ) VALUES ( - #{companyCode}, #{userId}, #{userName}, #{action}, #{resourceType}, - #{resourceId}, #{resourceName}, #{tableName}, #{summary}, + #{company_code}, #{user_id}, #{user_name}, #{action}, #{resource_type}, + #{resource_id}, #{resource_name}, #{table_name}, #{summary}, CAST(#{changes} AS JSONB), - #{ipAddress}, #{requestPath} + #{ip_address}, #{request_path} ) diff --git a/backend-spring/src/main/resources/mapper/auth.xml b/backend-spring/src/main/resources/mapper/auth.xml index c7d95d66..2baed1f3 100644 --- a/backend-spring/src/main/resources/mapper/auth.xml +++ b/backend-spring/src/main/resources/mapper/auth.xml @@ -8,7 +8,7 @@ SELECT USER_PASSWORD FROM USER_INFO - WHERE USER_ID = #{userId} + WHERE USER_ID = #{user_id} @@ -33,7 +33,7 @@ , LOCALE , PHOTO FROM USER_INFO - WHERE UPPER(USER_ID) = UPPER(#{userId}) + WHERE UPPER(USER_ID) = UPPER(#{user_id}) @@ -43,7 +43,7 @@ FROM AUTHORITY_SUB_USER ASU INNER JOIN AUTHORITY_MASTER AM ON ASU.MASTER_OBJID = AM.OBJID - WHERE ASU.USER_ID = #{userId} + WHERE ASU.USER_ID = #{user_id} @@ -51,7 +51,7 @@ SELECT COMPANY_NAME FROM COMPANY_MNG - WHERE (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + WHERE (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') @@ -60,7 +60,7 @@ COMPANY_CODE , COMPANY_NAME FROM COMPANY_MNG - WHERE COMPANY_CODE = #{companyCode} + WHERE COMPANY_CODE = #{company_code} @@ -78,15 +78,15 @@ , RECPTN_RSLT_CD ) VALUES ( NOW() - , #{systemName} - , UPPER(#{userId}) - , #{loginResult} - , #{errorMessage} - , #{remoteAddr} - , #{recptnDt} - , #{recptnRsltDtl} - , #{recptnRslt} - , #{recptnRsltCd} + , #{system_name} + , UPPER(#{user_id}) + , #{login_result} + , #{error_message} + , #{remote_addr} + , #{recptn_dt} + , #{recptn_rslt_dtl} + , #{recptn_rslt} + , #{recptn_rslt_cd} ) @@ -95,7 +95,7 @@ SELECT USER_ID FROM USER_INFO - WHERE USER_ID = #{userId} + WHERE USER_ID = #{user_id} @@ -103,7 +103,7 @@ SELECT VEHICLE_NUMBER FROM VEHICLES - WHERE VEHICLE_NUMBER = #{vehicleNumber} + WHERE VEHICLE_NUMBER = #{vehicle_number} @@ -121,13 +121,13 @@ , STATUS , CREATED_DATE ) VALUES ( - #{userId} - , #{userPassword} - , #{userName} - , #{phoneNumber} - , #{licenseNumber} - , #{vehicleNumber} - , #{signupCompanyCode} + #{user_id} + , #{user_password} + , #{user_name} + , #{phone_number} + , #{license_number} + , #{vehicle_number} + , #{signup_company_code} , NULL , 'DRIVER' , 'active' @@ -148,13 +148,13 @@ , CREATED_DATE , UPDATED_DATE ) VALUES ( - #{vehicleNumber} - , #{vehicleType} - , #{userName} - , #{phoneNumber} + #{vehicle_number} + , #{vehicle_type} + , #{user_name} + , #{phone_number} , 'off' - , #{signupCompanyCode} - , #{userId} + , #{signup_company_code} + , #{user_id} , NOW() , NOW() ) diff --git a/backend-spring/src/main/resources/mapper/barcodeLabel.xml b/backend-spring/src/main/resources/mapper/barcodeLabel.xml index 92396198..21af81dd 100644 --- a/backend-spring/src/main/resources/mapper/barcodeLabel.xml +++ b/backend-spring/src/main/resources/mapper/barcodeLabel.xml @@ -5,12 +5,12 @@ - - AND (LABEL_NAME_KOR ILIKE '%' || #{searchText} || '%' - OR LABEL_NAME_ENG ILIKE '%' || #{searchText} || '%') + + AND (LABEL_NAME_KOR ILIKE '%' || #{search_text} || '%' + OR LABEL_NAME_ENG ILIKE '%' || #{search_text} || '%') - - AND USE_YN = #{useYn} + + AND USE_YN = #{use_yn} @@ -58,7 +58,7 @@ , UPDATED_DATE , UPDATED_BY FROM BARCODE_LABELS - WHERE LABEL_ID = #{labelId} + WHERE LABEL_ID = #{label_id} @@ -75,15 +75,15 @@ , CREATED_BY , CREATED_DATE ) VALUES ( - #{labelId} - , #{labelNameKor} - , #{labelNameEng} + #{label_id} + , #{label_name_kor} + , #{label_name_eng} , #{description} - , #{widthMm} - , #{heightMm} - , #{layoutJson} + , #{width_mm} + , #{height_mm} + , #{layout_json} , 'Y' - , #{createdBy} + , #{created_by} , NOW() ) @@ -92,32 +92,32 @@ UPDATE BARCODE_LABELS - LABEL_NAME_KOR = #{labelNameKor}, - LABEL_NAME_ENG = #{labelNameEng}, + LABEL_NAME_KOR = #{label_name_kor}, + LABEL_NAME_ENG = #{label_name_eng}, DESCRIPTION = #{description}, - USE_YN = #{useYn}, + USE_YN = #{use_yn}, UPDATED_DATE = NOW() - , UPDATED_BY = #{updatedBy} + , UPDATED_BY = #{updated_by} - WHERE LABEL_ID = #{labelId} + WHERE LABEL_ID = #{label_id} DELETE FROM BARCODE_LABELS - WHERE LABEL_ID = #{labelId} + WHERE LABEL_ID = #{label_id} UPDATE BARCODE_LABELS SET - WIDTH_MM = #{widthMm} - , HEIGHT_MM = #{heightMm} - , LAYOUT_JSON = #{layoutJson} + WIDTH_MM = #{width_mm} + , HEIGHT_MM = #{height_mm} + , LAYOUT_JSON = #{layout_json} , UPDATED_DATE = NOW() - , UPDATED_BY = #{updatedBy} - WHERE LABEL_ID = #{labelId} + , UPDATED_BY = #{updated_by} + WHERE LABEL_ID = #{label_id} @@ -135,7 +135,7 @@ , CREATED_DATE ) SELECT - #{newLabelId} + #{new_label_id} , LABEL_NAME_KOR || ' (복사)' , LABEL_NAME_ENG , DESCRIPTION @@ -143,10 +143,10 @@ , HEIGHT_MM , LAYOUT_JSON , 'Y' - , #{createdBy} + , #{created_by} , NOW() FROM BARCODE_LABELS - WHERE LABEL_ID = #{labelId} + WHERE LABEL_ID = #{label_id} @@ -174,7 +174,7 @@ , LAYOUT_JSON , SORT_ORDER FROM BARCODE_LABEL_TEMPLATES - WHERE TEMPLATE_ID = #{templateId} + WHERE TEMPLATE_ID = #{template_id} diff --git a/backend-spring/src/main/resources/mapper/batch.xml b/backend-spring/src/main/resources/mapper/batch.xml index c74fec12..43616f7c 100644 --- a/backend-spring/src/main/resources/mapper/batch.xml +++ b/backend-spring/src/main/resources/mapper/batch.xml @@ -63,7 +63,7 @@ #{is_active} 'Y' - , #{companyCode} + , #{company_code} , #{save_mode} 'INSERT' @@ -134,7 +134,7 @@ , COLUMN_DEFAULT FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'public' - AND TABLE_NAME = #{tableName} + AND TABLE_NAME = #{table_name} ORDER BY ORDINAL_POSITION diff --git a/backend-spring/src/main/resources/mapper/batchExecutionLog.xml b/backend-spring/src/main/resources/mapper/batchExecutionLog.xml index b71710cd..95c1ac67 100644 --- a/backend-spring/src/main/resources/mapper/batchExecutionLog.xml +++ b/backend-spring/src/main/resources/mapper/batchExecutionLog.xml @@ -4,17 +4,17 @@ - - AND bel.batch_config_id = #{batchConfigId} + + AND bel.batch_config_id = #{batch_config_id} - - AND bel.execution_status = #{executionStatus} + + AND bel.execution_status = #{execution_status} - - AND bel.start_time >= #{startDate}::timestamp + + AND bel.start_time >= #{start_date}::timestamp - - AND bel.start_time <= #{endDate}::timestamp + + AND bel.start_time <= #{end_date}::timestamp @@ -31,14 +31,14 @@ LEFT JOIN batch_configs bc ON bel.batch_config_id::INTEGER = bc.id WHERE 1=1 - - AND (bel.company_code = #{companyCode} OR bel.company_code = '*') + + AND (bel.company_code = #{company_code} OR bel.company_code = '*') - + ORDER BY ${sortColumn} - + ${sortDirection} @@ -57,8 +57,8 @@ LEFT JOIN batch_configs bc ON bel.batch_config_id::INTEGER = bc.id WHERE 1=1 - - AND (bel.company_code = #{companyCode} OR bel.company_code = '*') + + AND (bel.company_code = #{company_code} OR bel.company_code = '*') @@ -76,15 +76,15 @@ LEFT JOIN batch_configs bc ON bel.batch_config_id::INTEGER = bc.id WHERE bel.id = #{id} - - AND (bel.company_code = #{companyCode} OR bel.company_code = '*') + + AND (bel.company_code = #{company_code} OR bel.company_code = '*') @@ -123,34 +123,34 @@ total_records, success_records, failed_records, error_message, error_details, server_name, process_id ) VALUES ( - #{batchConfigId}, #{companyCode}, #{executionStatus}, - COALESCE(#{startTime}::timestamp, NOW()), - #{endTime}::timestamp, - #{durationMs}, - COALESCE(#{totalRecords}, '0'), - COALESCE(#{successRecords}, '0'), - COALESCE(#{failedRecords}, '0'), - #{errorMessage}, #{errorDetails}, - #{serverName}, #{processId} + #{batch_config_id}, #{company_code}, #{execution_status}, + COALESCE(#{start_time}::timestamp, NOW()), + #{end_time}::timestamp, + #{duration_ms}, + COALESCE(#{total_records}, '0'), + COALESCE(#{success_records}, '0'), + COALESCE(#{failed_records}, '0'), + #{error_message}, #{error_details}, + #{server_name}, #{process_id} ) UPDATE batch_execution_logs - execution_status = #{executionStatus}, - end_time = #{endTime}::timestamp, - duration_ms = #{durationMs}, - total_records = #{totalRecords}, - success_records = #{successRecords}, - failed_records = #{failedRecords}, - error_message = #{errorMessage}, - error_details = #{errorDetails}, + execution_status = #{execution_status}, + end_time = #{end_time}::timestamp, + duration_ms = #{duration_ms}, + total_records = #{total_records}, + success_records = #{success_records}, + failed_records = #{failed_records}, + error_message = #{error_message}, + error_details = #{error_details}, WHERE id = #{id} - - AND (company_code = #{companyCode} OR company_code = '*') + + AND (company_code = #{company_code} OR company_code = '*') @@ -158,8 +158,8 @@ DELETE FROM batch_execution_logs WHERE id = #{id} - - AND (company_code = #{companyCode} OR company_code = '*') + + AND (company_code = #{company_code} OR company_code = '*') diff --git a/backend-spring/src/main/resources/mapper/batchManagement.xml b/backend-spring/src/main/resources/mapper/batchManagement.xml index 92401921..414a215a 100644 --- a/backend-spring/src/main/resources/mapper/batchManagement.xml +++ b/backend-spring/src/main/resources/mapper/batchManagement.xml @@ -79,7 +79,7 @@ FROM batch_execution_log - WHERE batch_config_id = #{batchConfigId} + WHERE batch_config_id = #{batch_config_id} AND start_time >= NOW() - INTERVAL '24 hours' GROUP BY DATE_TRUNC('hour', start_time) @@ -102,7 +102,7 @@ FROM batch_execution_log - WHERE batch_config_id = #{batchConfigId} + WHERE batch_config_id = #{batch_config_id} ORDER BY start_time DESC LIMIT 20 diff --git a/backend-spring/src/main/resources/mapper/bom.xml b/backend-spring/src/main/resources/mapper/bom.xml index a5a5c62c..01e01d3d 100644 --- a/backend-spring/src/main/resources/mapper/bom.xml +++ b/backend-spring/src/main/resources/mapper/bom.xml @@ -14,11 +14,11 @@ LEFT JOIN ITEM_INFO II ON B.ITEM_ID = II.ID AND B.COMPANY_CODE = II.COMPANY_CODE WHERE 1=1 - - AND B.ITEM_CODE ILIKE '%' || #{itemCode} || '%' + + AND B.ITEM_CODE ILIKE '%' || #{item_code} || '%' - - AND COALESCE(B.ITEM_NAME, II.ITEM_NAME) ILIKE '%' || #{itemName} || '%' + + AND COALESCE(B.ITEM_NAME, II.ITEM_NAME) ILIKE '%' || #{item_name} || '%' AND B.STATUS = #{status} @@ -33,11 +33,11 @@ LEFT JOIN ITEM_INFO II ON B.ITEM_ID = II.ID AND B.COMPANY_CODE = II.COMPANY_CODE WHERE 1=1 - - AND B.ITEM_CODE ILIKE '%' || #{itemCode} || '%' + + AND B.ITEM_CODE ILIKE '%' || #{item_code} || '%' - - AND COALESCE(B.ITEM_NAME, II.ITEM_NAME) ILIKE '%' || #{itemName} || '%' + + AND COALESCE(B.ITEM_NAME, II.ITEM_NAME) ILIKE '%' || #{item_name} || '%' AND B.STATUS = #{status} @@ -63,7 +63,7 @@ COMPANY_CODE, ITEM_ID, ITEM_CODE, ITEM_NAME, BASE_QTY, UNIT, VERSION, STATUS, REMARK, WRITER , CREATED_DATE, UPDATED_DATE ) VALUES ( - #{companyCode}, #{itemId}, #{itemCode}, #{itemName}, #{baseQty}, #{unit}, + #{company_code}, #{item_id}, #{item_code}, #{item_name}, #{base_qty}, #{unit}, COALESCE(#{version}, '1.0'), COALESCE(#{status}, 'active'), #{remark}, #{writer} , NOW(), NOW() ) @@ -72,14 +72,14 @@ UPDATE BOM - - ITEM_CODE = #{itemCode}, + + ITEM_CODE = #{item_code}, - - ITEM_NAME = #{itemName}, + + ITEM_NAME = #{item_name}, - - BASE_QTY = #{baseQty}, + + BASE_QTY = #{base_qty}, UNIT = #{unit}, diff --git a/backend-spring/src/main/resources/mapper/booking.xml b/backend-spring/src/main/resources/mapper/booking.xml index 9cf2323f..4288db26 100644 --- a/backend-spring/src/main/resources/mapper/booking.xml +++ b/backend-spring/src/main/resources/mapper/booking.xml @@ -86,7 +86,7 @@ STATUS = 'rejected' , REJECTED_AT = NOW() , UPDATED_DATE = NOW() - , REJECTION_REASON = #{rejectionReason, jdbcType=VARCHAR} + , REJECTION_REASON = #{rejection_reason, jdbcType=VARCHAR} WHERE ID = #{id} diff --git a/backend-spring/src/main/resources/mapper/buttonActionStandard.xml b/backend-spring/src/main/resources/mapper/buttonActionStandard.xml index 6457fe42..d3f9183e 100644 --- a/backend-spring/src/main/resources/mapper/buttonActionStandard.xml +++ b/backend-spring/src/main/resources/mapper/buttonActionStandard.xml @@ -42,7 +42,7 @@ FROM button_action_standards - WHERE action_type = #{actionType} + WHERE action_type = #{action_type} LIMIT 1 @@ -87,14 +87,14 @@ updated_by = #{updated_by}, - WHERE action_type = #{actionType} + WHERE action_type = #{action_type} DELETE FROM button_action_standards - WHERE action_type = #{actionType} + WHERE action_type = #{action_type} diff --git a/backend-spring/src/main/resources/mapper/buttonDataflow.xml b/backend-spring/src/main/resources/mapper/buttonDataflow.xml index d0b136f1..abdea8f8 100644 --- a/backend-spring/src/main/resources/mapper/buttonDataflow.xml +++ b/backend-spring/src/main/resources/mapper/buttonDataflow.xml @@ -19,12 +19,12 @@ FROM TABLE_RELATIONSHIPS WHERE IS_ACTIVE = 'Y' AND ( - (FROM_TABLE_NAME = #{mainTable} AND TO_TABLE_NAME = #{detailTable}) + (FROM_TABLE_NAME = #{main_table} AND TO_TABLE_NAME = #{detail_table}) OR - (FROM_TABLE_NAME = #{detailTable} AND TO_TABLE_NAME = #{mainTable}) + (FROM_TABLE_NAME = #{detail_table} AND TO_TABLE_NAME = #{main_table}) ) - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') LIMIT 1 diff --git a/backend-spring/src/main/resources/mapper/cascadingAutoFill.xml b/backend-spring/src/main/resources/mapper/cascadingAutoFill.xml index 36ba9be5..1b63e267 100644 --- a/backend-spring/src/main/resources/mapper/cascadingAutoFill.xml +++ b/backend-spring/src/main/resources/mapper/cascadingAutoFill.xml @@ -7,8 +7,8 @@ AND (G.GROUP_NAME ILIKE '%' || #{keyword} || '%') - - AND G.IS_ACTIVE = #{isActive} + + AND G.IS_ACTIVE = #{is_active} @@ -18,8 +18,8 @@ LEFT JOIN CASCADING_AUTO_FILL_MAPPING M ON G.GROUP_CODE = M.GROUP_CODE AND G.COMPANY_CODE = M.COMPANY_CODE WHERE 1=1 - - AND (G.COMPANY_CODE = #{companyCode} OR G.COMPANY_CODE = '*') + + AND (G.COMPANY_CODE = #{company_code} OR G.COMPANY_CODE = '*') GROUP BY G.GROUP_ID @@ -31,8 +31,8 @@ SELECT COUNT(DISTINCT G.GROUP_ID) FROM CASCADING_AUTO_FILL_GROUP G WHERE 1=1 - - AND (G.COMPANY_CODE = #{companyCode} OR G.COMPANY_CODE = '*') + + AND (G.COMPANY_CODE = #{company_code} OR G.COMPANY_CODE = '*') @@ -40,27 +40,27 @@ @@ -69,14 +69,14 @@ MASTER_TABLE, MASTER_VALUE_COLUMN, MASTER_LABEL_COLUMN, COMPANY_CODE, IS_ACTIVE, CREATED_DATE ) VALUES ( - #{groupCode}, - #{groupName}, + #{group_code}, + #{group_name}, #{description, jdbcType=VARCHAR}, - #{masterTable}, - #{masterValueColumn}, - #{masterLabelColumn, jdbcType=VARCHAR}, - #{companyCode}, - #{isActive, jdbcType=VARCHAR}, + #{master_table}, + #{master_value_column}, + #{master_label_column, jdbcType=VARCHAR}, + #{company_code}, + #{is_active, jdbcType=VARCHAR}, CURRENT_TIMESTAMP ) @@ -86,42 +86,42 @@ GROUP_CODE, COMPANY_CODE, SOURCE_COLUMN, TARGET_FIELD, TARGET_LABEL, IS_EDITABLE, IS_REQUIRED, DEFAULT_VALUE, SORT_ORDER ) VALUES ( - #{groupCode}, - #{companyCode}, - #{sourceColumn}, - #{targetField}, - #{targetLabel, jdbcType=VARCHAR}, - #{isEditable, jdbcType=VARCHAR}, - #{isRequired, jdbcType=VARCHAR}, - #{defaultValue, jdbcType=VARCHAR}, - #{sortOrder} + #{group_code}, + #{company_code}, + #{source_column}, + #{target_field}, + #{target_label, jdbcType=VARCHAR}, + #{is_editable, jdbcType=VARCHAR}, + #{is_required, jdbcType=VARCHAR}, + #{default_value, jdbcType=VARCHAR}, + #{sort_order} ) UPDATE CASCADING_AUTO_FILL_GROUP SET - GROUP_NAME = COALESCE(#{groupName, jdbcType=VARCHAR}, GROUP_NAME), + GROUP_NAME = COALESCE(#{group_name, jdbcType=VARCHAR}, GROUP_NAME), DESCRIPTION = COALESCE(#{description, jdbcType=VARCHAR}, DESCRIPTION), - MASTER_TABLE = COALESCE(#{masterTable, jdbcType=VARCHAR}, MASTER_TABLE), - MASTER_VALUE_COLUMN = COALESCE(#{masterValueColumn, jdbcType=VARCHAR}, MASTER_VALUE_COLUMN), - MASTER_LABEL_COLUMN = COALESCE(#{masterLabelColumn, jdbcType=VARCHAR}, MASTER_LABEL_COLUMN), - IS_ACTIVE = COALESCE(#{isActive, jdbcType=VARCHAR}, IS_ACTIVE), + MASTER_TABLE = COALESCE(#{master_table, jdbcType=VARCHAR}, MASTER_TABLE), + MASTER_VALUE_COLUMN = COALESCE(#{master_value_column, jdbcType=VARCHAR}, MASTER_VALUE_COLUMN), + MASTER_LABEL_COLUMN = COALESCE(#{master_label_column, jdbcType=VARCHAR}, MASTER_LABEL_COLUMN), + IS_ACTIVE = COALESCE(#{is_active, jdbcType=VARCHAR}, IS_ACTIVE), UPDATED_DATE = CURRENT_TIMESTAMP - WHERE GROUP_CODE = #{groupCode} - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + WHERE GROUP_CODE = #{group_code} + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') DELETE FROM CASCADING_AUTO_FILL_MAPPING - WHERE GROUP_CODE = #{groupCode} - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + WHERE GROUP_CODE = #{group_code} + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') DELETE FROM CASCADING_AUTO_FILL_GROUP - WHERE GROUP_CODE = #{groupCode} - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + WHERE GROUP_CODE = #{group_code} + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') diff --git a/backend-spring/src/main/resources/mapper/cascadingCondition.xml b/backend-spring/src/main/resources/mapper/cascadingCondition.xml index f5fd876f..ae0515f8 100644 --- a/backend-spring/src/main/resources/mapper/cascadingCondition.xml +++ b/backend-spring/src/main/resources/mapper/cascadingCondition.xml @@ -7,14 +7,14 @@ AND CONDITION_NAME ILIKE '%' || #{keyword} || '%' - - AND IS_ACTIVE = #{isActive} + + AND IS_ACTIVE = #{is_active} - - AND RELATION_CODE = #{relationCode} + + AND RELATION_CODE = #{relation_code} - - AND RELATION_TYPE = #{relationType} + + AND RELATION_TYPE = #{relation_type} @@ -25,9 +25,9 @@ - + ORDER BY ${sortColumn} - + ${sortDirection} @@ -49,7 +49,7 @@ @@ -60,38 +60,38 @@ FILTER_COLUMN, FILTER_VALUES, PRIORITY, COMPANY_CODE, IS_ACTIVE, CREATED_DATE ) VALUES ( - COALESCE(#{relationType}, 'RELATION'), #{relationCode}, #{conditionName}, - #{conditionField}, COALESCE(#{conditionOperator}, 'EQ'), #{conditionValue}, - #{filterColumn}, #{filterValues}, COALESCE(#{priority}, 0), - #{companyCode}, COALESCE(#{isActive}, 'Y'), CURRENT_TIMESTAMP + COALESCE(#{relation_type}, 'RELATION'), #{relation_code}, #{condition_name}, + #{condition_field}, COALESCE(#{condition_operator}, 'EQ'), #{condition_value}, + #{filter_column}, #{filter_values}, COALESCE(#{priority}, 0), + #{company_code}, COALESCE(#{is_active}, 'Y'), CURRENT_TIMESTAMP ) UPDATE CASCADING_CONDITION SET - CONDITION_NAME = COALESCE(#{conditionName}, CONDITION_NAME), - CONDITION_FIELD = COALESCE(#{conditionField}, CONDITION_FIELD), - CONDITION_OPERATOR = COALESCE(#{conditionOperator}, CONDITION_OPERATOR), - CONDITION_VALUE = COALESCE(#{conditionValue}, CONDITION_VALUE), - FILTER_COLUMN = COALESCE(#{filterColumn}, FILTER_COLUMN), - FILTER_VALUES = COALESCE(#{filterValues}, FILTER_VALUES), + CONDITION_NAME = COALESCE(#{condition_name}, CONDITION_NAME), + CONDITION_FIELD = COALESCE(#{condition_field}, CONDITION_FIELD), + CONDITION_OPERATOR = COALESCE(#{condition_operator}, CONDITION_OPERATOR), + CONDITION_VALUE = COALESCE(#{condition_value}, CONDITION_VALUE), + FILTER_COLUMN = COALESCE(#{filter_column}, FILTER_COLUMN), + FILTER_VALUES = COALESCE(#{filter_values}, FILTER_VALUES), PRIORITY = COALESCE(#{priority}, PRIORITY), - IS_ACTIVE = COALESCE(#{isActive}, IS_ACTIVE), + IS_ACTIVE = COALESCE(#{is_active}, IS_ACTIVE), UPDATED_DATE = CURRENT_TIMESTAMP - WHERE CONDITION_ID = #{conditionId} + WHERE CONDITION_ID = #{condition_id} DELETE FROM CASCADING_CONDITION - WHERE CONDITION_ID = #{conditionId} + WHERE CONDITION_ID = #{condition_id} @@ -43,24 +43,24 @@ @@ -68,9 +68,9 @@ @@ -79,11 +79,11 @@ FROM CASCADING_HIERARCHY_LEVEL L JOIN CASCADING_HIERARCHY_GROUP G ON L.GROUP_CODE = G.GROUP_CODE AND L.COMPANY_CODE = G.COMPANY_CODE - WHERE L.GROUP_CODE = #{groupCode} - AND L.LEVEL_ORDER = #{levelOrder} + WHERE L.GROUP_CODE = #{group_code} + AND L.LEVEL_ORDER = #{level_order} AND L.IS_ACTIVE = 'Y' - - AND (L.COMPANY_CODE = #{companyCode} OR L.COMPANY_CODE = '*') + + AND (L.COMPANY_CODE = #{company_code} OR L.COMPANY_CODE = '*') @@ -98,33 +98,33 @@ EMPTY_MESSAGE, NO_OPTIONS_MESSAGE, LOADING_MESSAGE, COMPANY_CODE, IS_ACTIVE, CREATED_BY, CREATED_DATE ) VALUES ( - #{groupCode}, - #{groupName}, + #{group_code}, + #{group_name}, #{description, jdbcType=VARCHAR}, - #{hierarchyType}, - #{maxLevels, jdbcType=INTEGER}, - #{isFixedLevels, jdbcType=VARCHAR}, - #{selfRefTable, jdbcType=VARCHAR}, - #{selfRefIdColumn, jdbcType=VARCHAR}, - #{selfRefParentColumn, jdbcType=VARCHAR}, - #{selfRefValueColumn, jdbcType=VARCHAR}, - #{selfRefLabelColumn, jdbcType=VARCHAR}, - #{selfRefLevelColumn, jdbcType=VARCHAR}, - #{selfRefOrderColumn, jdbcType=VARCHAR}, - #{bomTable, jdbcType=VARCHAR}, - #{bomParentColumn, jdbcType=VARCHAR}, - #{bomChildColumn, jdbcType=VARCHAR}, - #{bomItemTable, jdbcType=VARCHAR}, - #{bomItemIdColumn, jdbcType=VARCHAR}, - #{bomItemLabelColumn, jdbcType=VARCHAR}, - #{bomQtyColumn, jdbcType=VARCHAR}, - #{bomLevelColumn, jdbcType=VARCHAR}, - #{emptyMessage, jdbcType=VARCHAR}, - #{noOptionsMessage, jdbcType=VARCHAR}, - #{loadingMessage, jdbcType=VARCHAR}, - #{companyCode}, + #{hierarchy_type}, + #{max_levels, jdbcType=INTEGER}, + #{is_fixed_levels, jdbcType=VARCHAR}, + #{self_ref_table, jdbcType=VARCHAR}, + #{self_ref_id_column, jdbcType=VARCHAR}, + #{self_ref_parent_column, jdbcType=VARCHAR}, + #{self_ref_value_column, jdbcType=VARCHAR}, + #{self_ref_label_column, jdbcType=VARCHAR}, + #{self_ref_level_column, jdbcType=VARCHAR}, + #{self_ref_order_column, jdbcType=VARCHAR}, + #{bom_table, jdbcType=VARCHAR}, + #{bom_parent_column, jdbcType=VARCHAR}, + #{bom_child_column, jdbcType=VARCHAR}, + #{bom_item_table, jdbcType=VARCHAR}, + #{bom_item_id_column, jdbcType=VARCHAR}, + #{bom_item_label_column, jdbcType=VARCHAR}, + #{bom_qty_column, jdbcType=VARCHAR}, + #{bom_level_column, jdbcType=VARCHAR}, + #{empty_message, jdbcType=VARCHAR}, + #{no_options_message, jdbcType=VARCHAR}, + #{loading_message, jdbcType=VARCHAR}, + #{company_code}, 'Y', - #{createdBy, jdbcType=VARCHAR}, + #{created_by, jdbcType=VARCHAR}, CURRENT_TIMESTAMP ) @@ -136,22 +136,22 @@ FILTER_COLUMN, FILTER_VALUE, ORDER_COLUMN, ORDER_DIRECTION, PLACEHOLDER, IS_REQUIRED, IS_SEARCHABLE, IS_ACTIVE, CREATED_DATE ) VALUES ( - #{groupCode}, - #{companyCode}, - #{levelOrder}, - #{levelName}, - #{levelCode, jdbcType=VARCHAR}, - #{tableName}, - #{valueColumn}, - #{labelColumn}, - #{parentKeyColumn, jdbcType=VARCHAR}, - #{filterColumn, jdbcType=VARCHAR}, - #{filterValue, jdbcType=VARCHAR}, - #{orderColumn, jdbcType=VARCHAR}, - #{orderDirection, jdbcType=VARCHAR}, + #{group_code}, + #{company_code}, + #{level_order}, + #{level_name}, + #{level_code, jdbcType=VARCHAR}, + #{table_name}, + #{value_column}, + #{label_column}, + #{parent_key_column, jdbcType=VARCHAR}, + #{filter_column, jdbcType=VARCHAR}, + #{filter_value, jdbcType=VARCHAR}, + #{order_column, jdbcType=VARCHAR}, + #{order_direction, jdbcType=VARCHAR}, #{placeholder, jdbcType=VARCHAR}, - #{isRequired, jdbcType=VARCHAR}, - #{isSearchable, jdbcType=VARCHAR}, + #{is_required, jdbcType=VARCHAR}, + #{is_searchable, jdbcType=VARCHAR}, 'Y', CURRENT_TIMESTAMP ) @@ -159,60 +159,60 @@ UPDATE CASCADING_HIERARCHY_GROUP SET - GROUP_NAME = COALESCE(#{groupName, jdbcType=VARCHAR}, GROUP_NAME), + GROUP_NAME = COALESCE(#{group_name, jdbcType=VARCHAR}, GROUP_NAME), DESCRIPTION = COALESCE(#{description, jdbcType=VARCHAR}, DESCRIPTION), - MAX_LEVELS = COALESCE(#{maxLevels, jdbcType=INTEGER}, MAX_LEVELS), - IS_FIXED_LEVELS = COALESCE(#{isFixedLevels, jdbcType=VARCHAR}, IS_FIXED_LEVELS), - EMPTY_MESSAGE = COALESCE(#{emptyMessage, jdbcType=VARCHAR}, EMPTY_MESSAGE), - NO_OPTIONS_MESSAGE = COALESCE(#{noOptionsMessage, jdbcType=VARCHAR}, NO_OPTIONS_MESSAGE), - LOADING_MESSAGE = COALESCE(#{loadingMessage, jdbcType=VARCHAR}, LOADING_MESSAGE), - IS_ACTIVE = COALESCE(#{isActive, jdbcType=VARCHAR}, IS_ACTIVE), - UPDATED_BY = #{updatedBy, jdbcType=VARCHAR}, + MAX_LEVELS = COALESCE(#{max_levels, jdbcType=INTEGER}, MAX_LEVELS), + IS_FIXED_LEVELS = COALESCE(#{is_fixed_levels, jdbcType=VARCHAR}, IS_FIXED_LEVELS), + EMPTY_MESSAGE = COALESCE(#{empty_message, jdbcType=VARCHAR}, EMPTY_MESSAGE), + NO_OPTIONS_MESSAGE = COALESCE(#{no_options_message, jdbcType=VARCHAR}, NO_OPTIONS_MESSAGE), + LOADING_MESSAGE = COALESCE(#{loading_message, jdbcType=VARCHAR}, LOADING_MESSAGE), + IS_ACTIVE = COALESCE(#{is_active, jdbcType=VARCHAR}, IS_ACTIVE), + UPDATED_BY = #{updated_by, jdbcType=VARCHAR}, UPDATED_DATE = CURRENT_TIMESTAMP - WHERE GROUP_CODE = #{groupCode} - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + WHERE GROUP_CODE = #{group_code} + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') UPDATE CASCADING_HIERARCHY_LEVEL SET - LEVEL_NAME = COALESCE(#{levelName, jdbcType=VARCHAR}, LEVEL_NAME), - TABLE_NAME = COALESCE(#{tableName, jdbcType=VARCHAR}, TABLE_NAME), - VALUE_COLUMN = COALESCE(#{valueColumn, jdbcType=VARCHAR}, VALUE_COLUMN), - LABEL_COLUMN = COALESCE(#{labelColumn, jdbcType=VARCHAR}, LABEL_COLUMN), - PARENT_KEY_COLUMN = COALESCE(#{parentKeyColumn, jdbcType=VARCHAR}, PARENT_KEY_COLUMN), - FILTER_COLUMN = COALESCE(#{filterColumn, jdbcType=VARCHAR}, FILTER_COLUMN), - FILTER_VALUE = COALESCE(#{filterValue, jdbcType=VARCHAR}, FILTER_VALUE), - ORDER_COLUMN = COALESCE(#{orderColumn, jdbcType=VARCHAR}, ORDER_COLUMN), - ORDER_DIRECTION = COALESCE(#{orderDirection, jdbcType=VARCHAR}, ORDER_DIRECTION), + LEVEL_NAME = COALESCE(#{level_name, jdbcType=VARCHAR}, LEVEL_NAME), + TABLE_NAME = COALESCE(#{table_name, jdbcType=VARCHAR}, TABLE_NAME), + VALUE_COLUMN = COALESCE(#{value_column, jdbcType=VARCHAR}, VALUE_COLUMN), + LABEL_COLUMN = COALESCE(#{label_column, jdbcType=VARCHAR}, LABEL_COLUMN), + PARENT_KEY_COLUMN = COALESCE(#{parent_key_column, jdbcType=VARCHAR}, PARENT_KEY_COLUMN), + FILTER_COLUMN = COALESCE(#{filter_column, jdbcType=VARCHAR}, FILTER_COLUMN), + FILTER_VALUE = COALESCE(#{filter_value, jdbcType=VARCHAR}, FILTER_VALUE), + ORDER_COLUMN = COALESCE(#{order_column, jdbcType=VARCHAR}, ORDER_COLUMN), + ORDER_DIRECTION = COALESCE(#{order_direction, jdbcType=VARCHAR}, ORDER_DIRECTION), PLACEHOLDER = COALESCE(#{placeholder, jdbcType=VARCHAR}, PLACEHOLDER), - IS_REQUIRED = COALESCE(#{isRequired, jdbcType=VARCHAR}, IS_REQUIRED), - IS_SEARCHABLE = COALESCE(#{isSearchable, jdbcType=VARCHAR}, IS_SEARCHABLE), - IS_ACTIVE = COALESCE(#{isActive, jdbcType=VARCHAR}, IS_ACTIVE), + IS_REQUIRED = COALESCE(#{is_required, jdbcType=VARCHAR}, IS_REQUIRED), + IS_SEARCHABLE = COALESCE(#{is_searchable, jdbcType=VARCHAR}, IS_SEARCHABLE), + IS_ACTIVE = COALESCE(#{is_active, jdbcType=VARCHAR}, IS_ACTIVE), UPDATED_DATE = CURRENT_TIMESTAMP - WHERE LEVEL_ID = #{levelId} + WHERE LEVEL_ID = #{level_id} DELETE FROM CASCADING_HIERARCHY_LEVEL - WHERE GROUP_CODE = #{groupCode} - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + WHERE GROUP_CODE = #{group_code} + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') DELETE FROM CASCADING_HIERARCHY_LEVEL - WHERE LEVEL_ID = #{levelId} - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + WHERE LEVEL_ID = #{level_id} + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') DELETE FROM CASCADING_HIERARCHY_GROUP - WHERE GROUP_CODE = #{groupCode} - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + WHERE GROUP_CODE = #{group_code} + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') diff --git a/backend-spring/src/main/resources/mapper/cascadingMutualExclusion.xml b/backend-spring/src/main/resources/mapper/cascadingMutualExclusion.xml index 25d47f3d..246396db 100644 --- a/backend-spring/src/main/resources/mapper/cascadingMutualExclusion.xml +++ b/backend-spring/src/main/resources/mapper/cascadingMutualExclusion.xml @@ -4,8 +4,8 @@ - - AND IS_ACTIVE = #{isActive} + + AND IS_ACTIVE = #{is_active} AND EXCLUSION_NAME ILIKE '%' || #{keyword} || '%' @@ -88,7 +88,7 @@ SELECT COUNT(*) FROM CASCADING_MUTUAL_EXCLUSION - WHERE (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + WHERE (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') UPDATE CASCADING_MUTUAL_EXCLUSION SET - EXCLUSION_NAME = COALESCE(#{exclusionName, jdbcType=VARCHAR}, EXCLUSION_NAME) - , FIELD_NAMES = COALESCE(#{fieldNames, jdbcType=VARCHAR}, FIELD_NAMES) - , SOURCE_TABLE = COALESCE(#{sourceTable, jdbcType=VARCHAR}, SOURCE_TABLE) - , VALUE_COLUMN = COALESCE(#{valueColumn, jdbcType=VARCHAR}, VALUE_COLUMN) - , LABEL_COLUMN = COALESCE(#{labelColumn, jdbcType=VARCHAR}, LABEL_COLUMN) - , EXCLUSION_TYPE = COALESCE(#{exclusionType, jdbcType=VARCHAR}, EXCLUSION_TYPE) - , ERROR_MESSAGE = COALESCE(#{errorMessage, jdbcType=VARCHAR}, ERROR_MESSAGE) - , IS_ACTIVE = COALESCE(#{isActive, jdbcType=VARCHAR}, IS_ACTIVE) + EXCLUSION_NAME = COALESCE(#{exclusion_name, jdbcType=VARCHAR}, EXCLUSION_NAME) + , FIELD_NAMES = COALESCE(#{field_names, jdbcType=VARCHAR}, FIELD_NAMES) + , SOURCE_TABLE = COALESCE(#{source_table, jdbcType=VARCHAR}, SOURCE_TABLE) + , VALUE_COLUMN = COALESCE(#{value_column, jdbcType=VARCHAR}, VALUE_COLUMN) + , LABEL_COLUMN = COALESCE(#{label_column, jdbcType=VARCHAR}, LABEL_COLUMN) + , EXCLUSION_TYPE = COALESCE(#{exclusion_type, jdbcType=VARCHAR}, EXCLUSION_TYPE) + , ERROR_MESSAGE = COALESCE(#{error_message, jdbcType=VARCHAR}, ERROR_MESSAGE) + , IS_ACTIVE = COALESCE(#{is_active, jdbcType=VARCHAR}, IS_ACTIVE) WHERE EXCLUSION_ID = #{id} diff --git a/backend-spring/src/main/resources/mapper/cascadingRelation.xml b/backend-spring/src/main/resources/mapper/cascadingRelation.xml index 84632ade..e6d186b4 100644 --- a/backend-spring/src/main/resources/mapper/cascadingRelation.xml +++ b/backend-spring/src/main/resources/mapper/cascadingRelation.xml @@ -30,8 +30,8 @@ - - AND IS_ACTIVE = #{isActive} + + AND IS_ACTIVE = #{is_active} AND (RELATION_NAME ILIKE '%' || #{keyword} || '%' @@ -98,25 +98,25 @@ , CREATED_BY , CREATED_DATE ) VALUES ( - #{relationCode, jdbcType=VARCHAR} - , #{relationName, jdbcType=VARCHAR} + #{relation_code, jdbcType=VARCHAR} + , #{relation_name, jdbcType=VARCHAR} , #{description, jdbcType=VARCHAR} - , #{parentTable, jdbcType=VARCHAR} - , #{parentValueColumn, jdbcType=VARCHAR} - , #{parentLabelColumn, jdbcType=VARCHAR} - , #{childTable, jdbcType=VARCHAR} - , #{childFilterColumn, jdbcType=VARCHAR} - , #{childValueColumn, jdbcType=VARCHAR} - , #{childLabelColumn, jdbcType=VARCHAR} - , #{childOrderColumn, jdbcType=VARCHAR} - , #{childOrderDirection, jdbcType=VARCHAR} - , #{emptyParentMessage, jdbcType=VARCHAR} - , #{noOptionsMessage, jdbcType=VARCHAR} - , #{loadingMessage, jdbcType=VARCHAR} - , #{clearOnParentChange, jdbcType=VARCHAR} - , #{companyCode} - , #{isActive, jdbcType=VARCHAR} - , #{userId, jdbcType=VARCHAR} + , #{parent_table, jdbcType=VARCHAR} + , #{parent_value_column, jdbcType=VARCHAR} + , #{parent_label_column, jdbcType=VARCHAR} + , #{child_table, jdbcType=VARCHAR} + , #{child_filter_column, jdbcType=VARCHAR} + , #{child_value_column, jdbcType=VARCHAR} + , #{child_label_column, jdbcType=VARCHAR} + , #{child_order_column, jdbcType=VARCHAR} + , #{child_order_direction, jdbcType=VARCHAR} + , #{empty_parent_message, jdbcType=VARCHAR} + , #{no_options_message, jdbcType=VARCHAR} + , #{loading_message, jdbcType=VARCHAR} + , #{clear_on_parent_change, jdbcType=VARCHAR} + , #{company_code} + , #{is_active, jdbcType=VARCHAR} + , #{user_id, jdbcType=VARCHAR} , CURRENT_TIMESTAMP ) @@ -124,23 +124,23 @@ UPDATE CASCADING_RELATION SET - RELATION_NAME = COALESCE(#{relationName, jdbcType=VARCHAR}, RELATION_NAME) + RELATION_NAME = COALESCE(#{relation_name, jdbcType=VARCHAR}, RELATION_NAME) , DESCRIPTION = COALESCE(#{description, jdbcType=VARCHAR}, DESCRIPTION) - , PARENT_TABLE = COALESCE(#{parentTable, jdbcType=VARCHAR}, PARENT_TABLE) - , PARENT_VALUE_COLUMN = COALESCE(#{parentValueColumn, jdbcType=VARCHAR}, PARENT_VALUE_COLUMN) - , PARENT_LABEL_COLUMN = COALESCE(#{parentLabelColumn, jdbcType=VARCHAR}, PARENT_LABEL_COLUMN) - , CHILD_TABLE = COALESCE(#{childTable, jdbcType=VARCHAR}, CHILD_TABLE) - , CHILD_FILTER_COLUMN = COALESCE(#{childFilterColumn, jdbcType=VARCHAR}, CHILD_FILTER_COLUMN) - , CHILD_VALUE_COLUMN = COALESCE(#{childValueColumn, jdbcType=VARCHAR}, CHILD_VALUE_COLUMN) - , CHILD_LABEL_COLUMN = COALESCE(#{childLabelColumn, jdbcType=VARCHAR}, CHILD_LABEL_COLUMN) - , CHILD_ORDER_COLUMN = COALESCE(#{childOrderColumn, jdbcType=VARCHAR}, CHILD_ORDER_COLUMN) - , CHILD_ORDER_DIRECTION = COALESCE(#{childOrderDirection, jdbcType=VARCHAR}, CHILD_ORDER_DIRECTION) - , EMPTY_PARENT_MESSAGE = COALESCE(#{emptyParentMessage, jdbcType=VARCHAR}, EMPTY_PARENT_MESSAGE) - , NO_OPTIONS_MESSAGE = COALESCE(#{noOptionsMessage, jdbcType=VARCHAR}, NO_OPTIONS_MESSAGE) - , LOADING_MESSAGE = COALESCE(#{loadingMessage, jdbcType=VARCHAR}, LOADING_MESSAGE) - , CLEAR_ON_PARENT_CHANGE = COALESCE(#{clearOnParentChange, jdbcType=VARCHAR}, CLEAR_ON_PARENT_CHANGE) - , IS_ACTIVE = COALESCE(#{isActive, jdbcType=VARCHAR}, IS_ACTIVE) - , UPDATED_BY = #{userId, jdbcType=VARCHAR} + , PARENT_TABLE = COALESCE(#{parent_table, jdbcType=VARCHAR}, PARENT_TABLE) + , PARENT_VALUE_COLUMN = COALESCE(#{parent_value_column, jdbcType=VARCHAR}, PARENT_VALUE_COLUMN) + , PARENT_LABEL_COLUMN = COALESCE(#{parent_label_column, jdbcType=VARCHAR}, PARENT_LABEL_COLUMN) + , CHILD_TABLE = COALESCE(#{child_table, jdbcType=VARCHAR}, CHILD_TABLE) + , CHILD_FILTER_COLUMN = COALESCE(#{child_filter_column, jdbcType=VARCHAR}, CHILD_FILTER_COLUMN) + , CHILD_VALUE_COLUMN = COALESCE(#{child_value_column, jdbcType=VARCHAR}, CHILD_VALUE_COLUMN) + , CHILD_LABEL_COLUMN = COALESCE(#{child_label_column, jdbcType=VARCHAR}, CHILD_LABEL_COLUMN) + , CHILD_ORDER_COLUMN = COALESCE(#{child_order_column, jdbcType=VARCHAR}, CHILD_ORDER_COLUMN) + , CHILD_ORDER_DIRECTION = COALESCE(#{child_order_direction, jdbcType=VARCHAR}, CHILD_ORDER_DIRECTION) + , EMPTY_PARENT_MESSAGE = COALESCE(#{empty_parent_message, jdbcType=VARCHAR}, EMPTY_PARENT_MESSAGE) + , NO_OPTIONS_MESSAGE = COALESCE(#{no_options_message, jdbcType=VARCHAR}, NO_OPTIONS_MESSAGE) + , LOADING_MESSAGE = COALESCE(#{loading_message, jdbcType=VARCHAR}, LOADING_MESSAGE) + , CLEAR_ON_PARENT_CHANGE = COALESCE(#{clear_on_parent_change, jdbcType=VARCHAR}, CLEAR_ON_PARENT_CHANGE) + , IS_ACTIVE = COALESCE(#{is_active, jdbcType=VARCHAR}, IS_ACTIVE) + , UPDATED_BY = #{user_id, jdbcType=VARCHAR} , UPDATED_DATE = CURRENT_TIMESTAMP WHERE RELATION_ID = #{id} @@ -151,7 +151,7 @@ UPDATE CASCADING_RELATION SET IS_ACTIVE = 'N' - , UPDATED_BY = #{userId, jdbcType=VARCHAR} + , UPDATED_BY = #{user_id, jdbcType=VARCHAR} , UPDATED_DATE = CURRENT_TIMESTAMP WHERE RELATION_ID = #{id} diff --git a/backend-spring/src/main/resources/mapper/categoryTree.xml b/backend-spring/src/main/resources/mapper/categoryTree.xml index dc65a051..0aca88cb 100644 --- a/backend-spring/src/main/resources/mapper/categoryTree.xml +++ b/backend-spring/src/main/resources/mapper/categoryTree.xml @@ -18,9 +18,9 @@ FROM category_values - WHERE (company_code = #{companyCode} OR company_code = '*') - AND table_name = #{tableName} - AND column_name = #{columnName} + WHERE (company_code = #{company_code} OR company_code = '*') + AND table_name = #{table_name} + AND column_name = #{column_name} ORDER BY depth ASC, value_order ASC, value_label ASC @@ -32,8 +32,8 @@ FROM category_values - WHERE (company_code = #{companyCode} OR company_code = '*') - AND value_id = #{valueId} + WHERE (company_code = #{company_code} OR company_code = '*') + AND value_id = #{value_id} @@ -44,9 +44,9 @@ parent_value_id, depth, path, description, color, icon, is_active, is_default, company_code, created_by, updated_by ) VALUES ( - #{tableName}, #{columnName}, #{valueCode}, #{valueLabel}, #{valueOrder}, - #{parentValueId}, #{depth}, #{path}, #{description}, #{color}, #{icon}, - #{isActive}, #{isDefault}, #{companyCode}, #{createdBy}, #{createdBy} + #{table_name}, #{column_name}, #{value_code}, #{value_label}, #{value_order}, + #{parent_value_id}, #{depth}, #{path}, #{description}, #{color}, #{icon}, + #{is_active}, #{is_default}, #{company_code}, #{created_by}, #{created_by} ) @@ -54,38 +54,38 @@ UPDATE category_values SET - value_code = COALESCE(#{valueCode}, value_code), - value_label = COALESCE(#{valueLabel}, value_label), - value_order = COALESCE(#{valueOrder}, value_order), - parent_value_id = #{parentValueId}, + value_code = COALESCE(#{value_code}, value_code), + value_label = COALESCE(#{value_label}, value_label), + value_order = COALESCE(#{value_order}, value_order), + parent_value_id = #{parent_value_id}, depth = #{depth}, path = #{path}, description = COALESCE(#{description}, description), color = COALESCE(#{color}, color), icon = COALESCE(#{icon}, icon), - is_active = COALESCE(#{isActive}, is_active), - is_default = COALESCE(#{isDefault}, is_default), + is_active = COALESCE(#{is_active}, is_active), + is_default = COALESCE(#{is_default}, is_default), UPDATED_DATE = NOW(), - updated_by = #{updatedBy} + updated_by = #{updated_by} - WHERE (company_code = #{companyCode} OR company_code = '*') - AND value_id = #{valueId} + WHERE (company_code = #{company_code} OR company_code = '*') + AND value_id = #{value_id} DELETE FROM category_values - WHERE (company_code = #{companyCode} OR company_code = '*') - AND value_id = #{valueId} + WHERE (company_code = #{company_code} OR company_code = '*') + AND value_id = #{value_id} @@ -93,7 +93,7 @@ SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = 'public' - AND table_name = #{tableName} + AND table_name = #{table_name} @@ -101,8 +101,8 @@ SELECT COUNT(*) FROM information_schema.columns WHERE table_schema = 'public' - AND table_name = #{tableName} - AND column_name = #{columnName} + AND table_name = #{table_name} + AND column_name = #{column_name} @@ -110,9 +110,9 @@ @@ -121,8 +121,8 @@ @@ -132,8 +132,8 @@ FROM category_values - WHERE (company_code = #{companyCode} OR company_code = '*') - AND parent_value_id = #{parentValueId} + WHERE (company_code = #{company_code} OR company_code = '*') + AND parent_value_id = #{parent_value_id} @@ -141,7 +141,7 @@ UPDATE category_values SET path = #{path}, UPDATED_DATE = NOW() - WHERE value_id = #{valueId} + WHERE value_id = #{value_id} @@ -150,9 +150,9 @@ FROM table_type_columns - WHERE table_name = #{tableName} + WHERE table_name = #{table_name} AND input_type = 'category' - AND (company_code = #{companyCode} OR company_code = '*') + AND (company_code = #{company_code} OR company_code = '*') ORDER BY column_name @@ -173,7 +173,7 @@ AND ttc.column_name = cv.column_name AND ttc.company_code = '*' - WHERE (cv.company_code = #{companyCode} OR cv.company_code = '*') + WHERE (cv.company_code = #{company_code} OR cv.company_code = '*') OR cv.company_code = '*' ORDER BY cv.table_name, cv.column_name diff --git a/backend-spring/src/main/resources/mapper/categoryValueCascading.xml b/backend-spring/src/main/resources/mapper/categoryValueCascading.xml index ea2e6c97..0716c2b7 100644 --- a/backend-spring/src/main/resources/mapper/categoryValueCascading.xml +++ b/backend-spring/src/main/resources/mapper/categoryValueCascading.xml @@ -7,8 +7,8 @@ AND (RELATION_NAME ILIKE '%' || #{keyword} || '%' OR RELATION_CODE ILIKE '%' || #{keyword} || '%') - - AND IS_ACTIVE = #{isActive} + + AND IS_ACTIVE = #{is_active} @@ -20,9 +20,9 @@ - + ORDER BY ${sortColumn} - + ${sortDirection} @@ -46,7 +46,7 @@ SELECT * FROM CATEGORY_VALUE_CASCADING_GROUP - WHERE GROUP_ID = #{groupId} + WHERE GROUP_ID = #{group_id} @@ -80,22 +80,22 @@ , CREATED_BY , CREATED_DATE ) VALUES ( - #{relationCode} - , #{relationName} + #{relation_code} + , #{relation_name} , #{description} - , #{parentTableName} - , #{parentColumnName} - , #{parentMenuObjid} - , #{childTableName} - , #{childColumnName} - , #{childMenuObjid} - , COALESCE(#{clearOnParentChange}, 'Y') - , COALESCE(#{showGroupLabel}, 'Y') - , COALESCE(#{emptyParentMessage}, '상위 항목을 먼저 선택하세요') - , COALESCE(#{noOptionsMessage}, '선택 가능한 항목이 없습니다') - , #{companyCode} + , #{parent_table_name} + , #{parent_column_name} + , #{parent_menu_objid} + , #{child_table_name} + , #{child_column_name} + , #{child_menu_objid} + , COALESCE(#{clear_on_parent_change}, 'Y') + , COALESCE(#{show_group_label}, 'Y') + , COALESCE(#{empty_parent_message}, '상위 항목을 먼저 선택하세요') + , COALESCE(#{no_options_message}, '선택 가능한 항목이 없습니다') + , #{company_code} , 'Y' - , #{createdBy} + , #{created_by} , NOW() ) @@ -103,22 +103,22 @@ UPDATE CATEGORY_VALUE_CASCADING_GROUP SET - RELATION_NAME = COALESCE(#{relationName}, RELATION_NAME) + RELATION_NAME = COALESCE(#{relation_name}, RELATION_NAME) , DESCRIPTION = COALESCE(#{description}, DESCRIPTION) - , PARENT_TABLE_NAME = COALESCE(#{parentTableName}, PARENT_TABLE_NAME) - , PARENT_COLUMN_NAME = COALESCE(#{parentColumnName}, PARENT_COLUMN_NAME) - , PARENT_MENU_OBJID = COALESCE(#{parentMenuObjid}, PARENT_MENU_OBJID) - , CHILD_TABLE_NAME = COALESCE(#{childTableName}, CHILD_TABLE_NAME) - , CHILD_COLUMN_NAME = COALESCE(#{childColumnName}, CHILD_COLUMN_NAME) - , CHILD_MENU_OBJID = COALESCE(#{childMenuObjid}, CHILD_MENU_OBJID) - , CLEAR_ON_PARENT_CHANGE = COALESCE(#{clearOnParentChange}, CLEAR_ON_PARENT_CHANGE) - , SHOW_GROUP_LABEL = COALESCE(#{showGroupLabel}, SHOW_GROUP_LABEL) - , EMPTY_PARENT_MESSAGE = COALESCE(#{emptyParentMessage}, EMPTY_PARENT_MESSAGE) - , NO_OPTIONS_MESSAGE = COALESCE(#{noOptionsMessage}, NO_OPTIONS_MESSAGE) - , IS_ACTIVE = COALESCE(#{isActive}, IS_ACTIVE) - , UPDATED_BY = #{updatedBy} + , PARENT_TABLE_NAME = COALESCE(#{parent_table_name}, PARENT_TABLE_NAME) + , PARENT_COLUMN_NAME = COALESCE(#{parent_column_name}, PARENT_COLUMN_NAME) + , PARENT_MENU_OBJID = COALESCE(#{parent_menu_objid}, PARENT_MENU_OBJID) + , CHILD_TABLE_NAME = COALESCE(#{child_table_name}, CHILD_TABLE_NAME) + , CHILD_COLUMN_NAME = COALESCE(#{child_column_name}, CHILD_COLUMN_NAME) + , CHILD_MENU_OBJID = COALESCE(#{child_menu_objid}, CHILD_MENU_OBJID) + , CLEAR_ON_PARENT_CHANGE = COALESCE(#{clear_on_parent_change}, CLEAR_ON_PARENT_CHANGE) + , SHOW_GROUP_LABEL = COALESCE(#{show_group_label}, SHOW_GROUP_LABEL) + , EMPTY_PARENT_MESSAGE = COALESCE(#{empty_parent_message}, EMPTY_PARENT_MESSAGE) + , NO_OPTIONS_MESSAGE = COALESCE(#{no_options_message}, NO_OPTIONS_MESSAGE) + , IS_ACTIVE = COALESCE(#{is_active}, IS_ACTIVE) + , UPDATED_BY = #{updated_by} , UPDATED_DATE = NOW() - WHERE GROUP_ID = #{groupId} + WHERE GROUP_ID = #{group_id} @@ -126,9 +126,9 @@ UPDATE CATEGORY_VALUE_CASCADING_GROUP SET IS_ACTIVE = 'N' - , UPDATED_BY = #{updatedBy} + , UPDATED_BY = #{updated_by} , UPDATED_DATE = NOW() - WHERE GROUP_ID = #{groupId} + WHERE GROUP_ID = #{group_id} @@ -142,14 +142,14 @@ , DISPLAY_ORDER , IS_ACTIVE FROM CATEGORY_VALUE_CASCADING_MAPPING - WHERE GROUP_ID = #{groupId} + WHERE GROUP_ID = #{group_id} AND IS_ACTIVE = 'Y' ORDER BY PARENT_VALUE_CODE, DISPLAY_ORDER, CHILD_VALUE_LABEL DELETE FROM CATEGORY_VALUE_CASCADING_MAPPING - WHERE GROUP_ID = #{groupId} + WHERE GROUP_ID = #{group_id} @@ -164,13 +164,13 @@ , IS_ACTIVE , CREATED_DATE ) VALUES ( - #{groupId} - , #{parentValueCode} - , #{parentValueLabel} - , #{childValueCode} - , #{childValueLabel} - , COALESCE(#{displayOrder}, 0) - , #{companyCode} + #{group_id} + , #{parent_value_code} + , #{parent_value_label} + , #{child_value_code} + , #{child_value_label} + , COALESCE(#{display_order}, 0) + , #{company_code} , 'Y' , NOW() ) diff --git a/backend-spring/src/main/resources/mapper/codeMerge.xml b/backend-spring/src/main/resources/mapper/codeMerge.xml index e6362027..efac5d45 100644 --- a/backend-spring/src/main/resources/mapper/codeMerge.xml +++ b/backend-spring/src/main/resources/mapper/codeMerge.xml @@ -15,7 +15,7 @@ JOIN information_schema.tables t ON c.table_name = t.table_name - WHERE c.column_name = #{columnName} + WHERE c.column_name = #{column_name} AND t.table_schema = 'public' AND t.table_type = 'BASE TABLE' AND EXISTS ( diff --git a/backend-spring/src/main/resources/mapper/collection.xml b/backend-spring/src/main/resources/mapper/collection.xml index 591cb8aa..df0d06f8 100644 --- a/backend-spring/src/main/resources/mapper/collection.xml +++ b/backend-spring/src/main/resources/mapper/collection.xml @@ -4,17 +4,17 @@ - - AND CONFIG_NAME ILIKE '%' || #{configName} || '%' + + AND CONFIG_NAME ILIKE '%' || #{config_name} || '%' - - AND SOURCE_CONNECTION_ID = #{sourceConnectionId} + + AND SOURCE_CONNECTION_ID = #{source_connection_id} - - AND COLLECTION_TYPE = #{collectionType} + + AND COLLECTION_TYPE = #{collection_type} - - AND IS_ACTIVE = (#{isActive} = 'Y') + + AND IS_ACTIVE = (#{is_active} = 'Y') AND (CONFIG_NAME ILIKE '%' || #{search} || '%' @@ -94,22 +94,22 @@ , CREATED_DATE , UPDATED_DATE ) VALUES ( - #{companyCode} - , #{configName} + #{company_code} + , #{config_name} , #{description} - , #{sourceConnectionId, jdbcType=INTEGER} - , #{collectionType} + , #{source_connection_id, jdbcType=INTEGER} + , #{collection_type} , - #{collectionOptions}::JSONB + #{collection_options}::JSONB NULL - , #{scheduleCron} + , #{schedule_cron} , - (#{isActive} = 'Y') + (#{is_active} = 'Y') TRUE - , #{createdBy} - , #{updatedBy} + , #{created_by} + , #{updated_by} , NOW() , NOW() ) @@ -118,18 +118,18 @@ UPDATE DATA_COLLECTION_CONFIGS SET - CONFIG_NAME = COALESCE(#{configName}, CONFIG_NAME) + CONFIG_NAME = COALESCE(#{config_name}, CONFIG_NAME) , DESCRIPTION = #{description} - , SOURCE_CONNECTION_ID = COALESCE(#{sourceConnectionId, jdbcType=INTEGER}, SOURCE_CONNECTION_ID) - , COLLECTION_TYPE = COALESCE(#{collectionType}, COLLECTION_TYPE) - , COLLECTION_OPTIONS = CASE WHEN #{collectionOptions} IS NOT NULL - THEN #{collectionOptions}::JSONB + , SOURCE_CONNECTION_ID = COALESCE(#{source_connection_id, jdbcType=INTEGER}, SOURCE_CONNECTION_ID) + , COLLECTION_TYPE = COALESCE(#{collection_type}, COLLECTION_TYPE) + , COLLECTION_OPTIONS = CASE WHEN #{collection_options} IS NOT NULL + THEN #{collection_options}::JSONB ELSE COLLECTION_OPTIONS END - , SCHEDULE_CRON = #{scheduleCron} - , IS_ACTIVE = CASE WHEN #{isActive} IS NOT NULL - THEN (#{isActive} = 'Y') + , SCHEDULE_CRON = #{schedule_cron} + , IS_ACTIVE = CASE WHEN #{is_active} IS NOT NULL + THEN (#{is_active} = 'Y') ELSE IS_ACTIVE END - , UPDATED_BY = #{updatedBy} + , UPDATED_BY = #{updated_by} , UPDATED_DATE = NOW() WHERE ID = #{id} @@ -148,8 +148,8 @@ , STARTED_AT , CREATED_DATE ) VALUES ( - #{configId} - , #{jobStatus} + #{config_id} + , #{job_status} , NOW() , NOW() ) @@ -158,10 +158,10 @@ UPDATE DATA_COLLECTION_JOBS SET - JOB_STATUS = #{jobStatus} + JOB_STATUS = #{job_status} , COMPLETED_AT = NOW() - , RECORDS_PROCESSED = #{recordsProcessed} - , ERROR_MESSAGE = #{errorMessage} + , RECORDS_PROCESSED = #{records_processed} + , ERROR_MESSAGE = #{error_message} WHERE ID = #{id} @@ -180,7 +180,7 @@ INNER JOIN DATA_COLLECTION_CONFIGS C ON C.ID = J.CONFIG_ID WHERE 1=1 - AND J.CONFIG_ID = #{configId} + AND J.CONFIG_ID = #{config_id} ORDER BY J.STARTED_AT DESC @@ -199,7 +199,7 @@ THEN EXTRACT(EPOCH FROM (COMPLETED_AT - STARTED_AT)) * 1000 ELSE NULL END AS EXECUTION_TIME_MS FROM DATA_COLLECTION_JOBS - WHERE CONFIG_ID = #{configId} + WHERE CONFIG_ID = #{config_id} ORDER BY STARTED_AT DESC LIMIT 50 diff --git a/backend-spring/src/main/resources/mapper/common.xml b/backend-spring/src/main/resources/mapper/common.xml index 96539b1d..48b7eefa 100644 --- a/backend-spring/src/main/resources/mapper/common.xml +++ b/backend-spring/src/main/resources/mapper/common.xml @@ -5,8 +5,8 @@ - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') @@ -20,9 +20,9 @@ - + ORDER BY ${sortColumn} - + ${sortDirection} @@ -42,12 +42,12 @@ CREATED_BY, CREATED_DATE, UPDATED_BY, UPDATED_DATE - #{createdBy}, NOW(), #{updatedBy}, NOW() + #{created_by}, NOW(), #{updated_by}, NOW() - UPDATED_BY = #{updatedBy}, UPDATED_DATE = NOW() + UPDATED_BY = #{updated_by}, UPDATED_DATE = NOW() @@ -55,8 +55,8 @@ SELECT * FROM COMMON_CODE WHERE 1=1 - - AND CODE_TYPE = #{codeType} + + AND CODE_TYPE = #{code_type} ORDER BY SORT_ORDER ASC diff --git a/backend-spring/src/main/resources/mapper/commonCode.xml b/backend-spring/src/main/resources/mapper/commonCode.xml index 37a73331..934b2373 100644 --- a/backend-spring/src/main/resources/mapper/commonCode.xml +++ b/backend-spring/src/main/resources/mapper/commonCode.xml @@ -33,11 +33,11 @@ OR LOWER(COALESCE(category_name_eng, '')) LIKE LOWER(CONCAT('%', #{search}, '%')) ) - - AND is_active = #{isActive} + + AND is_active = #{is_active} - - AND menu_objid = #{menuObjid} + + AND menu_objid = #{menu_objid} ORDER BY sort_order ASC, category_code ASC @@ -58,11 +58,11 @@ OR LOWER(COALESCE(category_name_eng, '')) LIKE LOWER(CONCAT('%', #{search}, '%')) ) - - AND is_active = #{isActive} + + AND is_active = #{is_active} - - AND menu_objid = #{menuObjid} + + AND menu_objid = #{menu_objid} @@ -83,7 +83,7 @@ FROM code_category - WHERE category_code = #{categoryCode} + WHERE category_code = #{category_code} @@ -102,16 +102,16 @@ created_date, updated_date ) VALUES ( - #{categoryCode}, - #{categoryName}, - #{categoryNameEng}, + #{category_code}, + #{category_name}, + #{category_name_eng}, #{description}, - #{sortOrder}, - #{isActive}, - #{menuObjid}, - #{companyCode}, - #{createdBy}, - #{updatedBy}, + #{sort_order}, + #{is_active}, + #{menu_objid}, + #{company_code}, + #{created_by}, + #{updated_by}, NOW(), NOW() ) @@ -120,23 +120,23 @@ UPDATE code_category - category_name = #{categoryName}, - category_name_eng = #{categoryNameEng}, + category_name = #{category_name}, + category_name_eng = #{category_name_eng}, description = #{description}, - sort_order = #{sortOrder}, - is_active = #{isActive}, - updated_by = #{updatedBy}, + sort_order = #{sort_order}, + is_active = #{is_active}, + updated_by = #{updated_by}, updated_date = NOW() - WHERE category_code = #{categoryCode} + WHERE category_code = #{category_code} DELETE FROM code_category - WHERE category_code = #{categoryCode} + WHERE category_code = #{category_code} @@ -145,7 +145,7 @@ FROM code_category - WHERE category_code = #{categoryCode} + WHERE category_code = #{category_code} @@ -162,8 +162,8 @@ AND category_name_eng = #{value} AND category_code = #{value} - - AND category_code != #{excludeCode} + + AND category_code != #{exclude_code} @@ -191,7 +191,7 @@ FROM code_info - WHERE code_category = #{categoryCode} + WHERE code_category = #{category_code} AND ( @@ -200,8 +200,8 @@ OR LOWER(COALESCE(code_name_eng, '')) LIKE LOWER(CONCAT('%', #{search}, '%')) ) - - AND is_active = #{isActive} + + AND is_active = #{is_active} ORDER BY sort_order ASC, code_value ASC @@ -213,7 +213,7 @@ FROM code_info - WHERE code_category = #{categoryCode} + WHERE code_category = #{category_code} AND ( @@ -222,8 +222,8 @@ OR LOWER(COALESCE(code_name_eng, '')) LIKE LOWER(CONCAT('%', #{search}, '%')) ) - - AND is_active = #{isActive} + + AND is_active = #{is_active} @@ -247,8 +247,8 @@ FROM code_info - WHERE code_category = #{categoryCode} - AND code_value = #{codeValue} + WHERE code_category = #{category_code} + AND code_value = #{code_value} @@ -270,19 +270,19 @@ created_date, updated_date ) VALUES ( - #{categoryCode}, - #{codeValue}, - #{codeName}, - #{codeNameEng}, + #{category_code}, + #{code_value}, + #{code_name}, + #{code_name_eng}, #{description}, - #{sortOrder}, - #{isActive}, - #{menuObjid}, - #{companyCode}, - #{parentCodeValue}, + #{sort_order}, + #{is_active}, + #{menu_objid}, + #{company_code}, + #{parent_code_value}, #{depth}, - #{createdBy}, - #{updatedBy}, + #{created_by}, + #{updated_by}, NOW(), NOW() ) @@ -291,37 +291,37 @@ UPDATE code_info - code_name = #{codeName}, - code_name_eng = #{codeNameEng}, + code_name = #{code_name}, + code_name_eng = #{code_name_eng}, description = #{description}, - sort_order = #{sortOrder}, - is_active = #{isActive}, - parent_code_value = #{parentCodeValue}, + sort_order = #{sort_order}, + is_active = #{is_active}, + parent_code_value = #{parent_code_value}, depth = #{depth}, - updated_by = #{updatedBy}, + updated_by = #{updated_by}, updated_date = NOW() - WHERE code_category = #{categoryCode} - AND code_value = #{codeValue} + WHERE code_category = #{category_code} + AND code_value = #{code_value} DELETE FROM code_info - WHERE code_category = #{categoryCode} - AND code_value = #{codeValue} + WHERE code_category = #{category_code} + AND code_value = #{code_value} UPDATE code_info - SET sort_order = #{sortOrder}, + SET sort_order = #{sort_order}, updated_date = NOW() - WHERE code_category = #{categoryCode} - AND code_value = #{codeValue} + WHERE code_category = #{category_code} + AND code_value = #{code_value} @@ -330,8 +330,8 @@ FROM code_info - WHERE code_category = #{categoryCode} - AND code_value = #{codeValue} + WHERE code_category = #{category_code} + AND code_value = #{code_value} @@ -340,7 +340,7 @@ FROM code_info - WHERE code_category = #{categoryCode} + WHERE code_category = #{category_code} AND code_value = #{value} @@ -348,8 +348,8 @@ AND code_name_eng = #{value} AND code_value = #{value} - - AND code_value != #{excludeCode} + + AND code_value != #{exclude_code} @@ -358,8 +358,8 @@ FROM code_info - WHERE code_category = #{categoryCode} - AND code_value = #{codeValue} + WHERE code_category = #{category_code} + AND code_value = #{code_value} @@ -368,8 +368,8 @@ FROM code_info - WHERE code_category = #{categoryCode} - AND parent_code_value = #{codeValue} + WHERE code_category = #{category_code} + AND parent_code_value = #{code_value} @@ -397,13 +397,13 @@ FROM code_info - WHERE code_category = #{categoryCode} + WHERE code_category = #{category_code} - - AND is_active = #{isActive} + + AND is_active = #{is_active} - - AND parent_code_value = #{parentCodeValue} + + AND parent_code_value = #{parent_code_value} AND depth = #{depth} @@ -432,7 +432,7 @@ FROM code_info - WHERE code_category = #{categoryCode} + WHERE code_category = #{category_code} ORDER BY depth ASC, sort_order ASC, code_value ASC @@ -446,10 +446,10 @@ FROM code_info - WHERE code_category = #{categoryCode} + WHERE code_category = #{category_code} - - AND is_active = #{isActive} + + AND is_active = #{is_active} ORDER BY sort_order ASC, code_value ASC diff --git a/backend-spring/src/main/resources/mapper/companyManagement.xml b/backend-spring/src/main/resources/mapper/companyManagement.xml index a3d4b9ee..2e3c02c0 100644 --- a/backend-spring/src/main/resources/mapper/companyManagement.xml +++ b/backend-spring/src/main/resources/mapper/companyManagement.xml @@ -7,14 +7,14 @@ UPDATE COMPANY_MNG SET STATUS = 'deleted' - WHERE (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + WHERE (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') diff --git a/backend-spring/src/main/resources/mapper/componentStandard.xml b/backend-spring/src/main/resources/mapper/componentStandard.xml index e13dc3ea..b0d7738e 100644 --- a/backend-spring/src/main/resources/mapper/componentStandard.xml +++ b/backend-spring/src/main/resources/mapper/componentStandard.xml @@ -27,21 +27,21 @@ AND is_public = #{is_public} - - AND (is_public = 'Y' OR (company_code = #{companyCode} OR company_code = '*')) + + AND (is_public = 'Y' OR (company_code = #{company_code} OR company_code = '*')) - - AND (component_name ILIKE #{searchPattern} - OR component_name_eng ILIKE #{searchPattern} - OR description ILIKE #{searchPattern}) + + AND (component_name ILIKE #{search_pattern} + OR component_name_eng ILIKE #{search_pattern} + OR description ILIKE #{search_pattern}) AND is_active = 'Y' - - AND (is_public = 'Y' OR (company_code = #{companyCode} OR company_code = '*')) + + AND (is_public = 'Y' OR (company_code = #{company_code} OR company_code = '*')) @@ -231,8 +231,8 @@ FROM component_standards WHERE component_code = #{component_code} - - AND (company_code = #{companyCode} OR company_code = '*') + + AND (company_code = #{company_code} OR company_code = '*') LIMIT 1 diff --git a/backend-spring/src/main/resources/mapper/dashboard.xml b/backend-spring/src/main/resources/mapper/dashboard.xml index 7096a0a5..bba1544e 100644 --- a/backend-spring/src/main/resources/mapper/dashboard.xml +++ b/backend-spring/src/main/resources/mapper/dashboard.xml @@ -40,7 +40,7 @@ , CREATED_DATE , UPDATED_DATE ) VALUES ( - #{companyCode} + #{company_code} , NOW() , NOW() ) diff --git a/backend-spring/src/main/resources/mapper/dataflow.xml b/backend-spring/src/main/resources/mapper/dataflow.xml index 9fd8e229..5c40b735 100644 --- a/backend-spring/src/main/resources/mapper/dataflow.xml +++ b/backend-spring/src/main/resources/mapper/dataflow.xml @@ -20,7 +20,7 @@ SELECT * FROM TABLE_RELATIONSHIPS - WHERE DIAGRAM_ID = #{diagramId} - AND FROM_TABLE_NAME = #{fromTableName} - AND FROM_COLUMN_NAME = #{fromColumnName} - AND TO_TABLE_NAME = #{toTableName} - AND TO_COLUMN_NAME = #{toColumnName} - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + WHERE DIAGRAM_ID = #{diagram_id} + AND FROM_TABLE_NAME = #{from_table_name} + AND FROM_COLUMN_NAME = #{from_column_name} + AND TO_TABLE_NAME = #{to_table_name} + AND TO_COLUMN_NAME = #{to_column_name} + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') AND IS_ACTIVE = 'Y' LIMIT 1 @@ -45,7 +45,7 @@ SELECT COALESCE(MAX(DIAGRAM_ID), 0) AS MAX_DIAGRAM_ID FROM TABLE_RELATIONSHIPS - WHERE (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + WHERE (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') @@ -68,22 +68,22 @@ , CREATED_DATE , UPDATED_DATE ) VALUES ( - #{diagramId} - , #{relationshipName} - , #{fromTableName} - , #{fromColumnName} - , #{toTableName} - , #{toColumnName} - , #{relationshipType} - , #{connectionType} - , #{companyCode} + #{diagram_id} + , #{relationship_name} + , #{from_table_name} + , #{from_column_name} + , #{to_table_name} + , #{to_column_name} + , #{relationship_type} + , #{connection_type} + , #{company_code} , #{settings}::JSONB '{}'::JSONB , 'Y' - , #{createdBy} - , #{createdBy} + , #{created_by} + , #{created_by} , NOW() , NOW() ) @@ -93,18 +93,18 @@ UPDATE TABLE_RELATIONSHIPS - UPDATED_BY = #{updatedBy}, + UPDATED_BY = #{updated_by}, UPDATED_DATE = NOW(), - RELATIONSHIP_NAME = #{relationshipName}, - FROM_TABLE_NAME = #{fromTableName}, - FROM_COLUMN_NAME = #{fromColumnName}, - TO_TABLE_NAME = #{toTableName}, - TO_COLUMN_NAME = #{toColumnName}, - RELATIONSHIP_TYPE = #{relationshipType}, - CONNECTION_TYPE = #{connectionType}, + RELATIONSHIP_NAME = #{relationship_name}, + FROM_TABLE_NAME = #{from_table_name}, + FROM_COLUMN_NAME = #{from_column_name}, + TO_TABLE_NAME = #{to_table_name}, + TO_COLUMN_NAME = #{to_column_name}, + RELATIONSHIP_TYPE = #{relationship_type}, + CONNECTION_TYPE = #{connection_type}, SETTINGS = #{settings}::JSONB, - WHERE RELATIONSHIP_ID = #{relationshipId} + WHERE RELATIONSHIP_ID = #{relationship_id} AND IS_ACTIVE = 'Y' @@ -115,7 +115,7 @@ SET IS_ACTIVE = 'N' , UPDATED_DATE = NOW() - WHERE RELATIONSHIP_ID = #{relationshipId} + WHERE RELATIONSHIP_ID = #{relationship_id} AND IS_ACTIVE = 'Y' @@ -140,11 +140,11 @@ , UPDATED_BY FROM TABLE_RELATIONSHIPS WHERE IS_ACTIVE = 'Y' - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') - - AND (RELATIONSHIP_NAME ILIKE '%' || #{searchTerm} || '%' - OR FROM_TABLE_NAME ILIKE '%' || #{searchTerm} || '%' - OR TO_TABLE_NAME ILIKE '%' || #{searchTerm} || '%') + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') + + AND (RELATIONSHIP_NAME ILIKE '%' || #{search_term} || '%' + OR FROM_TABLE_NAME ILIKE '%' || #{search_term} || '%' + OR TO_TABLE_NAME ILIKE '%' || #{search_term} || '%') ORDER BY DIAGRAM_ID ASC, CREATED_DATE DESC @@ -153,7 +153,7 @@ SELECT * FROM DATA_RELATIONSHIP_BRIDGE - WHERE RELATIONSHIP_ID = #{relationshipId} + WHERE RELATIONSHIP_ID = #{relationship_id} AND IS_ACTIVE = 'Y' ORDER BY CREATED_DATE DESC @@ -265,7 +265,7 @@ SET IS_ACTIVE = 'N' , UPDATED_DATE = NOW() - WHERE BRIDGE_ID = #{bridgeId} + WHERE BRIDGE_ID = #{bridge_id} AND IS_ACTIVE = 'Y' @@ -280,7 +280,7 @@ SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES - WHERE TABLE_NAME = #{tableName} + WHERE TABLE_NAME = #{table_name} AND TABLE_SCHEMA = 'public' LIMIT 1 @@ -290,7 +290,7 @@ SELECT COUNT(*) FROM "${tableName}" - + WHERE "${searchColumn}" ILIKE '%' || #{search} || '%' @@ -299,7 +299,7 @@ @@ -77,7 +77,7 @@ #{plan}::JSONB NULL - , #{companyCode} + , #{company_code} , #{created_by} , #{updated_by} , NOW() @@ -99,25 +99,25 @@ UPDATED_DATE = NOW(), DIAGRAM_NAME = #{diagram_name}, RELATIONSHIPS = #{relationships}::JSONB, - + NODE_POSITIONS = #{node_positions}::JSONB NULL , - + CATEGORY = #{category}::JSONB NULL , - + CONTROL = #{control}::JSONB NULL , - + PLAN = #{plan}::JSONB NULL diff --git a/backend-spring/src/main/resources/mapper/dataflowExecution.xml b/backend-spring/src/main/resources/mapper/dataflowExecution.xml index c2d7befc..d20f8155 100644 --- a/backend-spring/src/main/resources/mapper/dataflowExecution.xml +++ b/backend-spring/src/main/resources/mapper/dataflowExecution.xml @@ -13,7 +13,7 @@ FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS TC JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU ON TC.CONSTRAINT_NAME = KCU.CONSTRAINT_NAME - WHERE TC.TABLE_NAME = #{tableName} + WHERE TC.TABLE_NAME = #{table_name} AND TC.CONSTRAINT_TYPE = 'PRIMARY KEY' ORDER BY KCU.ORDINAL_POSITION @@ -31,7 +31,7 @@ , PASSWORD , CONNECTION_TIMEOUT FROM EXTERNAL_DB_CONNECTIONS - WHERE ID = #{connectionId} + WHERE ID = #{connection_id} diff --git a/backend-spring/src/main/resources/mapper/dbTypeCategory.xml b/backend-spring/src/main/resources/mapper/dbTypeCategory.xml index b1c2c6e4..d45bf8af 100644 --- a/backend-spring/src/main/resources/mapper/dbTypeCategory.xml +++ b/backend-spring/src/main/resources/mapper/dbTypeCategory.xml @@ -19,7 +19,7 @@ FROM db_type_categories - WHERE type_code = #{typeCode} + WHERE type_code = #{type_code} @@ -28,7 +28,7 @@ FROM db_type_categories - WHERE type_code = #{typeCode} + WHERE type_code = #{type_code} @@ -51,14 +51,14 @@ is_active = #{is_active}, UPDATED_DATE = NOW() - WHERE type_code = #{typeCode} + WHERE type_code = #{type_code} UPDATE db_type_categories SET is_active = FALSE, UPDATED_DATE = NOW() - WHERE type_code = #{typeCode} + WHERE type_code = #{type_code} @@ -67,7 +67,7 @@ FROM external_db_connections - WHERE db_type = #{typeCode} + WHERE db_type = #{type_code} AND is_active = 'Y' diff --git a/backend-spring/src/main/resources/mapper/ddl.xml b/backend-spring/src/main/resources/mapper/ddl.xml index 2af7314b..842854f9 100644 --- a/backend-spring/src/main/resources/mapper/ddl.xml +++ b/backend-spring/src/main/resources/mapper/ddl.xml @@ -14,13 +14,13 @@ , ERROR_MESSAGE , EXECUTED_AT ) VALUES ( - #{userId} - , #{companyCode} - , #{ddlType} - , #{tableName} - , #{ddlQuery} + #{user_id} + , #{company_code} + , #{ddl_type} + , #{table_name} + , #{ddl_query} , #{success} - , #{errorMessage} + , #{error_message} , NOW() ) @@ -42,11 +42,11 @@ END AS DDL_QUERY_PREVIEW FROM DDL_EXECUTION_LOG WHERE 1=1 - - AND USER_ID = #{userId} + + AND USER_ID = #{user_id} - - AND DDL_TYPE = #{ddlType} + + AND DDL_TYPE = #{ddl_type} ORDER BY EXECUTED_AT DESC LIMIT #{limit} @@ -60,11 +60,11 @@ , SUM(CASE WHEN SUCCESS = 'false' THEN 1 ELSE 0 END) AS FAILED_EXECUTIONS FROM DDL_EXECUTION_LOG WHERE 1=1 - - AND EXECUTED_AT >= CAST(#{fromDate} AS TIMESTAMP) + + AND EXECUTED_AT >= CAST(#{from_date} AS TIMESTAMP) - - AND EXECUTED_AT <= CAST(#{toDate} AS TIMESTAMP) + + AND EXECUTED_AT <= CAST(#{to_date} AS TIMESTAMP) @@ -75,11 +75,11 @@ , COUNT(*) AS COUNT FROM DDL_EXECUTION_LOG WHERE 1=1 - - AND EXECUTED_AT >= CAST(#{fromDate} AS TIMESTAMP) + + AND EXECUTED_AT >= CAST(#{from_date} AS TIMESTAMP) - - AND EXECUTED_AT <= CAST(#{toDate} AS TIMESTAMP) + + AND EXECUTED_AT <= CAST(#{to_date} AS TIMESTAMP) GROUP BY DDL_TYPE ORDER BY COUNT DESC @@ -92,11 +92,11 @@ , COUNT(*) AS COUNT FROM DDL_EXECUTION_LOG WHERE 1=1 - - AND EXECUTED_AT >= CAST(#{fromDate} AS TIMESTAMP) + + AND EXECUTED_AT >= CAST(#{from_date} AS TIMESTAMP) - - AND EXECUTED_AT <= CAST(#{toDate} AS TIMESTAMP) + + AND EXECUTED_AT <= CAST(#{to_date} AS TIMESTAMP) GROUP BY USER_ID ORDER BY COUNT DESC @@ -113,11 +113,11 @@ , EXECUTED_AT FROM DDL_EXECUTION_LOG WHERE SUCCESS = 'false' - - AND EXECUTED_AT >= CAST(#{fromDate} AS TIMESTAMP) + + AND EXECUTED_AT >= CAST(#{from_date} AS TIMESTAMP) - - AND EXECUTED_AT <= CAST(#{toDate} AS TIMESTAMP) + + AND EXECUTED_AT <= CAST(#{to_date} AS TIMESTAMP) ORDER BY EXECUTED_AT DESC LIMIT 10 @@ -134,7 +134,7 @@ , ERROR_MESSAGE , EXECUTED_AT FROM DDL_EXECUTION_LOG - WHERE TABLE_NAME = #{tableName} + WHERE TABLE_NAME = #{table_name} ORDER BY EXECUTED_AT DESC LIMIT 20 @@ -142,7 +142,7 @@ DELETE FROM DDL_EXECUTION_LOG - WHERE EXECUTED_AT < CAST(#{cutoffDate} AS TIMESTAMP) + WHERE EXECUTED_AT < CAST(#{cutoff_date} AS TIMESTAMP) @@ -154,14 +154,14 @@ , CREATED_DATE , UPDATED_DATE FROM TABLE_LABELS - WHERE TABLE_NAME = #{tableName} + WHERE TABLE_NAME = #{table_name} diff --git a/backend-spring/src/main/resources/mapper/delivery.xml b/backend-spring/src/main/resources/mapper/delivery.xml index 702beb16..1d2da47b 100644 --- a/backend-spring/src/main/resources/mapper/delivery.xml +++ b/backend-spring/src/main/resources/mapper/delivery.xml @@ -76,7 +76,7 @@ UPDATE DELIVERIES SET STATUS = #{status} - , DELAY_REASON = #{delayReason} + , DELAY_REASON = #{delay_reason} , UPDATED_DATE = NOW() WHERE ID = #{id} diff --git a/backend-spring/src/main/resources/mapper/department.xml b/backend-spring/src/main/resources/mapper/department.xml index 4bdf9f74..a49b97e4 100644 --- a/backend-spring/src/main/resources/mapper/department.xml +++ b/backend-spring/src/main/resources/mapper/department.xml @@ -13,7 +13,7 @@ COUNT(DISTINCT UD.USER_ID) AS MEMBER_COUNT FROM DEPT_INFO D LEFT JOIN USER_DEPT UD ON D.DEPT_CODE = UD.DEPT_CODE - WHERE (D.COMPANY_CODE = #{companyCode} OR D.COMPANY_CODE = '*') + WHERE (D.COMPANY_CODE = #{company_code} OR D.COMPANY_CODE = '*') GROUP BY D.DEPT_CODE, D.DEPT_NAME, D.COMPANY_CODE, D.PARENT_DEPT_CODE ORDER BY D.DEPT_NAME @@ -26,22 +26,22 @@ COMPANY_CODE, PARENT_DEPT_CODE FROM DEPT_INFO - WHERE DEPT_CODE = #{deptCode} + WHERE DEPT_CODE = #{dept_code} @@ -62,11 +62,11 @@ STATUS, CREATED_DATE ) VALUES ( - #{deptCode}, - #{deptName}, - #{companyCode}, - #{companyName}, - #{parentDeptCode}, + #{dept_code}, + #{dept_name}, + #{company_code}, + #{company_name}, + #{parent_dept_code}, 'active', NOW() ) @@ -76,28 +76,28 @@ UPDATE DEPT_INFO SET - DEPT_NAME = #{deptName}, - PARENT_DEPT_CODE = #{parentDeptCode} - WHERE DEPT_CODE = #{deptCode} + DEPT_NAME = #{dept_name}, + PARENT_DEPT_CODE = #{parent_dept_code} + WHERE DEPT_CODE = #{dept_code} DELETE FROM USER_DEPT - WHERE DEPT_CODE = #{deptCode} + WHERE DEPT_CODE = #{dept_code} DELETE FROM DEPT_INFO - WHERE DEPT_CODE = #{deptCode} + WHERE DEPT_CODE = #{dept_code} @@ -115,7 +115,7 @@ FROM USER_DEPT UD JOIN USER_INFO U ON UD.USER_ID = U.USER_ID JOIN DEPT_INFO D ON UD.DEPT_CODE = D.DEPT_CODE - WHERE UD.DEPT_CODE = #{deptCode} + WHERE UD.DEPT_CODE = #{dept_code} ORDER BY UD.IS_PRIMARY DESC, U.USER_NAME @@ -128,7 +128,7 @@ POSITION_NAME, COMPANY_CODE FROM USER_INFO - WHERE (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + WHERE (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') AND ( USER_ID ILIKE #{search} OR USER_NAME ILIKE #{search} @@ -141,51 +141,51 @@ INSERT INTO USER_DEPT (USER_ID, DEPT_CODE, IS_PRIMARY, CREATED_DATE) - VALUES (#{userId}, #{deptCode}, #{isPrimary}, NOW()) + VALUES (#{user_id}, #{dept_code}, #{is_primary}, NOW()) DELETE FROM USER_DEPT - WHERE USER_ID = #{userId} - AND DEPT_CODE = #{deptCode} + WHERE USER_ID = #{user_id} + AND DEPT_CODE = #{dept_code} UPDATE USER_DEPT SET IS_PRIMARY = FALSE - WHERE USER_ID = #{userId} + WHERE USER_ID = #{user_id} UPDATE USER_DEPT SET IS_PRIMARY = TRUE - WHERE USER_ID = #{userId} - AND DEPT_CODE = #{deptCode} + WHERE USER_ID = #{user_id} + AND DEPT_CODE = #{dept_code} diff --git a/backend-spring/src/main/resources/mapper/design.xml b/backend-spring/src/main/resources/mapper/design.xml index 17797ddb..cb00360f 100644 --- a/backend-spring/src/main/resources/mapper/design.xml +++ b/backend-spring/src/main/resources/mapper/design.xml @@ -5,8 +5,8 @@ - - AND r.source_type = #{sourceType} + + AND r.source_type = #{source_type} AND r.status = #{status} @@ -171,39 +171,39 @@ content, apply_timing, review_memo, project_id, ecn_no, writer, company_code ) VALUES ( - #{requestNo}, #{sourceType}, #{requestDate}, #{dueDate}, + #{request_no}, #{source_type}, #{request_date}, #{due_date}, COALESCE(#{priority}, 'NORMAL'), COALESCE(#{status}, 'PENDING'), - #{targetName}, #{customer}, #{reqDept}, #{requester}, #{designer}, #{orderNo}, - #{designType}, #{spec}, #{changeType}, #{drawingNo}, #{urgency}, #{reason}, - #{content}, #{applyTiming}, #{reviewMemo}, #{projectId, jdbcType=INTEGER}, #{ecnNo}, - #{writer}, #{companyCode} + #{target_name}, #{customer}, #{req_dept}, #{requester}, #{designer}, #{order_no}, + #{design_type}, #{spec}, #{change_type}, #{drawing_no}, #{urgency}, #{reason}, + #{content}, #{apply_timing}, #{review_memo}, #{project_id, jdbcType=INTEGER}, #{ecn_no}, + #{writer}, #{company_code} ) UPDATE dsn_design_request SET - source_type = #{sourceType}, - request_date = #{requestDate}, - due_date = #{dueDate}, + source_type = #{source_type}, + request_date = #{request_date}, + due_date = #{due_date}, priority = COALESCE(#{priority}, priority), status = COALESCE(#{status}, status), - target_name = COALESCE(#{targetName}, target_name), + target_name = COALESCE(#{target_name}, target_name), customer = #{customer}, - req_dept = #{reqDept}, + req_dept = #{req_dept}, requester = #{requester}, designer = #{designer}, - order_no = #{orderNo}, - design_type = #{designType}, + order_no = #{order_no}, + design_type = #{design_type}, spec = #{spec}, - change_type = #{changeType}, - drawing_no = #{drawingNo}, + change_type = #{change_type}, + drawing_no = #{drawing_no}, urgency = #{urgency}, reason = #{reason}, content = #{content}, - apply_timing = #{applyTiming}, - review_memo = #{reviewMemo}, - project_id = #{projectId, jdbcType=INTEGER}, - ecn_no = #{ecnNo}, + apply_timing = #{apply_timing}, + review_memo = #{review_memo}, + project_id = #{project_id, jdbcType=INTEGER}, + ecn_no = #{ecn_no}, updated_date = NOW() WHERE id = #{id} @@ -234,9 +234,9 @@ project_no, name, customer, description, status, manager, start_date, end_date, company_code, writer ) VALUES ( - #{projectNo}, #{name}, #{customer}, #{description}, + #{project_no}, #{name}, #{customer}, #{description}, COALESCE(#{status}, 'ACTIVE'), #{manager}, - #{startDate}, #{endDate}, #{companyCode}, #{writer} + #{start_date}, #{end_date}, #{company_code}, #{writer} ) @@ -247,8 +247,8 @@ description = #{description}, status = COALESCE(#{status}, status), manager = #{manager}, - start_date = #{startDate}, - end_date = #{endDate}, + start_date = #{start_date}, + end_date = #{end_date}, updated_date = NOW() WHERE id = #{id} @@ -279,9 +279,9 @@ ecn_no, target, description, change_reason, status, issued_by, apply_date, company_code, writer ) VALUES ( - #{ecnNo}, #{target}, #{description}, #{changeReason}, - COALESCE(#{status}, 'DRAFT'), #{issuedBy}, #{applyDate}, - #{companyCode}, #{writer} + #{ecn_no}, #{target}, #{description}, #{change_reason}, + COALESCE(#{status}, 'DRAFT'), #{issued_by}, #{apply_date}, + #{company_code}, #{writer} ) @@ -289,10 +289,10 @@ UPDATE dsn_ecn SET target = COALESCE(#{target}, target), description = #{description}, - change_reason = #{changeReason}, + change_reason = #{change_reason}, status = COALESCE(#{status}, status), - issued_by = #{issuedBy}, - apply_date = #{applyDate}, + issued_by = #{issued_by}, + apply_date = #{apply_date}, updated_date = NOW() WHERE id = #{id} diff --git a/backend-spring/src/main/resources/mapper/digitalTwin.xml b/backend-spring/src/main/resources/mapper/digitalTwin.xml index e591899c..99238851 100644 --- a/backend-spring/src/main/resources/mapper/digitalTwin.xml +++ b/backend-spring/src/main/resources/mapper/digitalTwin.xml @@ -9,11 +9,11 @@ AND (L.LAYOUT_NAME ILIKE '%' || #{keyword} || '%' OR L.DESCRIPTION ILIKE '%' || #{keyword} || '%') - - AND L.EXTERNAL_DB_CONNECTION_ID = #{externalDbConnectionId} + + AND L.EXTERNAL_DB_CONNECTION_ID = #{external_db_connection_id} - - AND L.WAREHOUSE_KEY = #{warehouseKey} + + AND L.WAREHOUSE_KEY = #{warehouse_key} @@ -32,8 +32,8 @@ LEFT JOIN DIGITAL_TWIN_OBJECTS O ON L.ID = O.LAYOUT_ID WHERE 1=1 - - AND (L.COMPANY_CODE = #{companyCode} OR L.COMPANY_CODE = '*') + + AND (L.COMPANY_CODE = #{company_code} OR L.COMPANY_CODE = '*') GROUP BY L.ID, U1.USER_NAME, U2.USER_NAME @@ -45,8 +45,8 @@ SELECT COUNT(DISTINCT L.ID) FROM DIGITAL_TWIN_LAYOUT L WHERE 1=1 - - AND (L.COMPANY_CODE = #{companyCode} OR L.COMPANY_CODE = '*') + + AND (L.COMPANY_CODE = #{company_code} OR L.COMPANY_CODE = '*') @@ -56,8 +56,8 @@ SELECT L.* FROM DIGITAL_TWIN_LAYOUT L WHERE L.ID = #{id} - - AND (L.COMPANY_CODE = #{companyCode} OR L.COMPANY_CODE = '*') + + AND (L.COMPANY_CODE = #{company_code} OR L.COMPANY_CODE = '*') @@ -65,7 +65,7 @@ @@ -83,17 +83,17 @@ , CREATED_DATE , UPDATED_DATE ) VALUES ( - #{companyCode} - , #{externalDbConnectionId} - , #{warehouseKey} - , #{layoutName} + #{company_code} + , #{external_db_connection_id} + , #{warehouse_key} + , #{layout_name} , #{description} , - #{hierarchyConfig}::jsonb + #{hierarchy_config}::jsonb NULL - , #{createdBy} - , #{createdBy} + , #{created_by} + , #{created_by} , NOW() , NOW() ) @@ -126,28 +126,28 @@ , EXTERNAL_KEY , CREATED_DATE ) VALUES ( - #{layoutId} + #{layout_id} , #{type} , #{name} - , #{posX} - , #{posY} - , #{posZ} - , #{sizeX} - , #{sizeY} - , #{sizeZ} + , #{pos_x} + , #{pos_y} + , #{pos_z} + , #{size_x} + , #{size_y} + , #{size_z} , COALESCE(#{rotation}, 0) , #{color} - , #{areaKey} - , #{locaKey} - , #{locType} - , COALESCE(#{materialCount}, 0) - , #{materialPreviewHeight} - , #{parentDbId} - , COALESCE(#{displayOrder}, 0) + , #{area_key} + , #{loca_key} + , #{loc_type} + , COALESCE(#{material_count}, 0) + , #{material_preview_height} + , #{parent_db_id} + , COALESCE(#{display_order}, 0) , COALESCE(#{locked}, FALSE) - , COALESCE(#{hierarchyLevel}, 1) - , #{parentKey} - , #{externalKey} + , COALESCE(#{hierarchy_level}, 1) + , #{parent_key} + , #{external_key} , NOW() ) @@ -156,20 +156,20 @@ UPDATE DIGITAL_TWIN_LAYOUT SET - LAYOUT_NAME = COALESCE(#{layoutName}, LAYOUT_NAME) + LAYOUT_NAME = COALESCE(#{layout_name}, LAYOUT_NAME) , DESCRIPTION = COALESCE(#{description}, DESCRIPTION) , HIERARCHY_CONFIG = - #{hierarchyConfig}::jsonb + #{hierarchy_config}::jsonb HIERARCHY_CONFIG - , EXTERNAL_DB_CONNECTION_ID = COALESCE(#{externalDbConnectionId}, EXTERNAL_DB_CONNECTION_ID) - , WAREHOUSE_KEY = COALESCE(#{warehouseKey}, WAREHOUSE_KEY) - , UPDATED_BY = COALESCE(#{updatedBy}, UPDATED_BY) + , EXTERNAL_DB_CONNECTION_ID = COALESCE(#{external_db_connection_id}, EXTERNAL_DB_CONNECTION_ID) + , WAREHOUSE_KEY = COALESCE(#{warehouse_key}, WAREHOUSE_KEY) + , UPDATED_BY = COALESCE(#{updated_by}, UPDATED_BY) , UPDATED_DATE = NOW() WHERE ID = #{id} - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') @@ -177,15 +177,15 @@ DELETE FROM DIGITAL_TWIN_LAYOUT WHERE ID = #{id} - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') DELETE FROM DIGITAL_TWIN_OBJECTS - WHERE LAYOUT_ID = #{layoutId} + WHERE LAYOUT_ID = #{layout_id} @@ -194,11 +194,11 @@ AND (NAME ILIKE '%' || #{keyword} || '%' OR DESCRIPTION ILIKE '%' || #{keyword} || '%') - - AND EXTERNAL_DB_CONNECTION_ID = #{externalDbConnectionId} + + AND EXTERNAL_DB_CONNECTION_ID = #{external_db_connection_id} - - AND LAYOUT_TYPE = #{layoutType} + + AND LAYOUT_TYPE = #{layout_type} @@ -243,15 +243,15 @@ , UPDATED_BY , UPDATED_DATE ) VALUES ( - #{companyCode} + #{company_code} , #{name} , #{description} - , #{externalDbConnectionId} - , COALESCE(#{layoutType}, 'yard-3d') + , #{external_db_connection_id} + , COALESCE(#{layout_type}, 'yard-3d') , #{config}::jsonb - , #{createdBy} + , #{created_by} , NOW() - , #{createdBy} + , #{created_by} , NOW() ) diff --git a/backend-spring/src/main/resources/mapper/driver.xml b/backend-spring/src/main/resources/mapper/driver.xml index d3a3eba8..f8d2c448 100644 --- a/backend-spring/src/main/resources/mapper/driver.xml +++ b/backend-spring/src/main/resources/mapper/driver.xml @@ -30,9 +30,9 @@ - + ORDER BY ${sortColumn} - + ${sortDirection} @@ -67,7 +67,7 @@ FROM USER_INFO - WHERE USER_ID = #{userId} + WHERE USER_ID = #{user_id} @@ -83,7 +83,7 @@ FROM VEHICLES - WHERE USER_ID = #{userId} + WHERE USER_ID = #{user_id} @@ -91,13 +91,13 @@ UPDATE USER_INFO SET - USER_NAME = COALESCE(#{userName}, USER_NAME) - , CELL_PHONE = COALESCE(#{phoneNumber}, CELL_PHONE) - , LICENSE_NUMBER = COALESCE(#{licenseNumber}, LICENSE_NUMBER) - , VEHICLE_NUMBER = COALESCE(#{vehicleNumber}, VEHICLE_NUMBER) - , BRANCH_NAME = COALESCE(#{branchName}, BRANCH_NAME) + USER_NAME = COALESCE(#{user_name}, USER_NAME) + , CELL_PHONE = COALESCE(#{phone_number}, CELL_PHONE) + , LICENSE_NUMBER = COALESCE(#{license_number}, LICENSE_NUMBER) + , VEHICLE_NUMBER = COALESCE(#{vehicle_number}, VEHICLE_NUMBER) + , BRANCH_NAME = COALESCE(#{branch_name}, BRANCH_NAME) - WHERE USER_ID = #{userId} + WHERE USER_ID = #{user_id} @@ -105,14 +105,14 @@ UPDATE VEHICLES SET - VEHICLE_NUMBER = COALESCE(#{vehicleNumber}, VEHICLE_NUMBER) - , VEHICLE_TYPE = COALESCE(#{vehicleType}, VEHICLE_TYPE) - , DRIVER_NAME = COALESCE(#{userName}, DRIVER_NAME) - , DRIVER_PHONE = COALESCE(#{phoneNumber}, DRIVER_PHONE) - , BRANCH_NAME = COALESCE(#{branchName}, BRANCH_NAME) + VEHICLE_NUMBER = COALESCE(#{vehicle_number}, VEHICLE_NUMBER) + , VEHICLE_TYPE = COALESCE(#{vehicle_type}, VEHICLE_TYPE) + , DRIVER_NAME = COALESCE(#{user_name}, DRIVER_NAME) + , DRIVER_PHONE = COALESCE(#{phone_number}, DRIVER_PHONE) + , BRANCH_NAME = COALESCE(#{branch_name}, BRANCH_NAME) , UPDATED_DATE = NOW() - WHERE USER_ID = #{userId} + WHERE USER_ID = #{user_id} @@ -123,7 +123,7 @@ STATUS = #{status} , UPDATED_DATE = NOW() - WHERE USER_ID = #{userId} + WHERE USER_ID = #{user_id} @@ -135,7 +135,7 @@ , STATUS = 'disabled' , UPDATED_DATE = NOW() - WHERE USER_ID = #{userId} + WHERE USER_ID = #{user_id} @@ -144,7 +144,7 @@ SET VEHICLE_NUMBER = NULL - WHERE USER_ID = #{userId} + WHERE USER_ID = #{user_id} @@ -161,14 +161,14 @@ , CREATED_DATE , UPDATED_DATE ) VALUES ( - #{vehicleNumber} - , #{vehicleType} - , #{userId} - , #{userName} - , #{phoneNumber} - , #{branchName} + #{vehicle_number} + , #{vehicle_type} + , #{user_id} + , #{user_name} + , #{phone_number} + , #{branch_name} , 'off' - , #{companyCode} + , #{company_code} , NOW() , NOW() ) @@ -178,14 +178,14 @@ DELETE FROM VEHICLES - WHERE USER_ID = #{userId} + WHERE USER_ID = #{user_id} DELETE FROM USER_INFO - WHERE USER_ID = #{userId} + WHERE USER_ID = #{user_id} diff --git a/backend-spring/src/main/resources/mapper/dynamicForm.xml b/backend-spring/src/main/resources/mapper/dynamicForm.xml index 8b7e4e27..05ea4377 100644 --- a/backend-spring/src/main/resources/mapper/dynamicForm.xml +++ b/backend-spring/src/main/resources/mapper/dynamicForm.xml @@ -30,18 +30,18 @@ , CREATED_BY , UPDATED_BY FROM DYNAMIC_FORM_DATA - WHERE SCREEN_ID = #{screenId} + WHERE SCREEN_ID = #{screen_id} AND (FORM_DATA::TEXT ILIKE #{search} OR TABLE_NAME ILIKE #{search}) ORDER BY - UPDATED_DATE - ID + UPDATED_DATE + ID CREATED_DATE - ASC + ASC DESC LIMIT #{size} OFFSET #{offset} @@ -51,7 +51,7 @@ SELECT COUNT(*) FROM DYNAMIC_FORM_DATA - WHERE SCREEN_ID = #{screenId} + WHERE SCREEN_ID = #{screen_id} AND (FORM_DATA::TEXT ILIKE #{search} OR TABLE_NAME ILIKE #{search}) @@ -67,7 +67,7 @@ , COLUMN_DEFAULT , CHARACTER_MAXIMUM_LENGTH FROM INFORMATION_SCHEMA.COLUMNS - WHERE TABLE_NAME = #{tableName} + WHERE TABLE_NAME = #{table_name} AND TABLE_SCHEMA = 'public' ORDER BY ORDINAL_POSITION @@ -78,7 +78,7 @@ FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS TC JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU ON TC.CONSTRAINT_NAME = KCU.CONSTRAINT_NAME - WHERE TC.TABLE_NAME = #{tableName} + WHERE TC.TABLE_NAME = #{table_name} AND TC.CONSTRAINT_TYPE = 'PRIMARY KEY' AND TC.TABLE_SCHEMA = 'public' @@ -87,7 +87,7 @@ SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS - WHERE TABLE_NAME = #{tableName} + WHERE TABLE_NAME = #{table_name} AND TABLE_SCHEMA = 'public' @@ -96,7 +96,7 @@ COLUMN_NAME , DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS - WHERE TABLE_NAME = #{tableName} + WHERE TABLE_NAME = #{table_name} AND TABLE_SCHEMA = 'public' @@ -104,7 +104,7 @@ SELECT TABLE_TYPE FROM INFORMATION_SCHEMA.TABLES - WHERE TABLE_NAME = #{tableName} + WHERE TABLE_NAME = #{table_name} AND TABLE_SCHEMA = 'public' LIMIT 1 @@ -113,7 +113,7 @@ SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS - WHERE TABLE_NAME = #{tableName} + WHERE TABLE_NAME = #{table_name} AND TABLE_SCHEMA = 'public' LIMIT 1 @@ -129,7 +129,7 @@ ON KCU.COLUMN_NAME = C.COLUMN_NAME AND KCU.TABLE_NAME = C.TABLE_NAME AND C.TABLE_SCHEMA = 'public' - WHERE TC.TABLE_NAME = #{tableName} + WHERE TC.TABLE_NAME = #{table_name} AND TC.CONSTRAINT_TYPE = 'PRIMARY KEY' AND TC.TABLE_SCHEMA = 'public' LIMIT 1 @@ -157,22 +157,22 @@ , RECORDED_AT , VEHICLE_ID ) VALUES ( - #{userId} - , #{companyCode} + #{user_id} + , #{company_code} , #{latitude} , #{longitude} , #{accuracy} , #{altitude} , #{speed} , #{heading} - , #{tripId} - , #{tripStatus} + , #{trip_id} + , #{trip_status} , #{departure} , #{arrival} - , #{departureName} - , #{destinationName} - , #{recordedAt} - , #{vehicleId} + , #{departure_name} + , #{destination_name} + , #{recorded_at} + , #{vehicle_id} ) @@ -198,20 +198,20 @@ , COMPANY_CODE FROM VEHICLE_LOCATION_HISTORY - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') - - AND TRIP_ID = #{tripId} + + AND TRIP_ID = #{trip_id} - - AND USER_ID = #{userId} + + AND USER_ID = #{user_id} - - AND RECORDED_AT >= #{startDate} + + AND RECORDED_AT >= #{start_date} - - AND RECORDED_AT <= #{endDate} + + AND RECORDED_AT <= #{end_date} ORDER BY RECORDED_AT ASC diff --git a/backend-spring/src/main/resources/mapper/entityJoin.xml b/backend-spring/src/main/resources/mapper/entityJoin.xml index 72e0aabb..4633ee9c 100644 --- a/backend-spring/src/main/resources/mapper/entityJoin.xml +++ b/backend-spring/src/main/resources/mapper/entityJoin.xml @@ -16,12 +16,12 @@ FROM table_type_columns - WHERE table_name = #{tableName} + WHERE table_name = #{table_name} AND input_type IN ('entity', 'category') AND reference_table IS NOT NULL AND reference_table != '' - - AND company_code IN (#{companyCode}, '*') + + AND company_code IN (#{company_code}, '*') ORDER BY column_name, @@ -36,9 +36,9 @@ FROM table_type_columns - WHERE table_name = #{tableName} - - AND company_code IN (#{companyCode}, '*') + WHERE table_name = #{table_name} + + AND company_code IN (#{company_code}, '*') ORDER BY column_name, @@ -57,11 +57,11 @@ display_order, is_visible, is_nullable, company_code, created_date, updated_date ) VALUES ( - #{tableName}, #{columnName}, - COALESCE(#{columnLabel}, #{columnName}), - COALESCE(#{webType}, 'text'), - #{referenceTable}, #{referenceColumn}, - #{displayColumn}, #{description}, + #{table_name}, #{column_name}, + COALESCE(#{column_label}, #{column_name}), + COALESCE(#{web_type}, 'text'), + #{reference_table}, #{reference_column}, + #{display_column}, #{description}, 0, TRUE, 'Y', '*', NOW(), NOW() ) @@ -84,7 +84,7 @@ FROM information_schema.tables WHERE table_schema = 'public' - AND table_name = #{tableName} + AND table_name = #{table_name} LIMIT 1 @@ -96,8 +96,8 @@ FROM information_schema.columns WHERE table_schema = 'public' - AND table_name = #{tableName} - AND column_name = #{columnName} + AND table_name = #{table_name} + AND column_name = #{column_name} LIMIT 1 @@ -109,7 +109,7 @@ FROM information_schema.columns WHERE table_schema = 'public' - AND table_name = #{tableName} + AND table_name = #{table_name} ORDER BY ordinal_position diff --git a/backend-spring/src/main/resources/mapper/entityReference.xml b/backend-spring/src/main/resources/mapper/entityReference.xml index 8a439c25..ca94a17f 100644 --- a/backend-spring/src/main/resources/mapper/entityReference.xml +++ b/backend-spring/src/main/resources/mapper/entityReference.xml @@ -13,8 +13,8 @@ FROM table_type_columns - WHERE table_name = #{tableName} - AND column_name = #{columnName} + WHERE table_name = #{table_name} + AND column_name = #{column_name} AND company_code = '*' LIMIT 1 @@ -27,7 +27,7 @@ FROM information_schema.tables WHERE table_schema = 'public' - AND table_name = #{tableName} + AND table_name = #{table_name} @@ -37,7 +37,7 @@ FROM information_schema.columns WHERE table_schema = 'public' - AND table_name = #{tableName} + AND table_name = #{table_name} AND column_name = 'company_code' @@ -52,11 +52,11 @@ FROM ${tableName} - - (company_code = #{companyCode} OR company_code = '*') + + (company_code = #{company_code} OR company_code = '*') - - AND ${displayColumn} ILIKE #{searchLike} + + AND ${displayColumn} ILIKE #{search_like} @@ -70,13 +70,13 @@ FROM code_info - WHERE code_category = #{codeCategory} + WHERE code_category = #{code_category} AND is_active = 'Y' - - AND (company_code = #{companyCode} OR company_code = '*') + + AND (company_code = #{company_code} OR company_code = '*') - - AND code_name ILIKE #{searchLike} + + AND code_name ILIKE #{search_like} ORDER BY code_name ASC diff --git a/backend-spring/src/main/resources/mapper/entitySearch.xml b/backend-spring/src/main/resources/mapper/entitySearch.xml index cade6981..ea7f0db2 100644 --- a/backend-spring/src/main/resources/mapper/entitySearch.xml +++ b/backend-spring/src/main/resources/mapper/entitySearch.xml @@ -13,7 +13,7 @@ FROM information_schema.columns WHERE table_schema = 'public' - AND table_name = #{tableName} + AND table_name = #{table_name} diff --git a/backend-spring/src/main/resources/mapper/externalCallConfig.xml b/backend-spring/src/main/resources/mapper/externalCallConfig.xml index 207af963..72f92273 100644 --- a/backend-spring/src/main/resources/mapper/externalCallConfig.xml +++ b/backend-spring/src/main/resources/mapper/externalCallConfig.xml @@ -89,7 +89,7 @@ '{}'::JSONB , #{description} - , #{companyCode} + , #{company_code} , #{is_active} 'Y' @@ -121,11 +121,11 @@ UPDATE EXTERNAL_CALL_CONFIGS SET IS_ACTIVE = 'N', - UPDATED_BY = #{updatedBy}, + UPDATED_BY = #{updated_by}, UPDATED_DATE = NOW() WHERE ID = #{id} - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') diff --git a/backend-spring/src/main/resources/mapper/externalDbConnection.xml b/backend-spring/src/main/resources/mapper/externalDbConnection.xml index c78a64b7..4dbac711 100644 --- a/backend-spring/src/main/resources/mapper/externalDbConnection.xml +++ b/backend-spring/src/main/resources/mapper/externalDbConnection.xml @@ -40,8 +40,8 @@ LEFT JOIN COMPANY_MNG C ON E.COMPANY_CODE = C.COMPANY_CODE - - AND (E.COMPANY_CODE = #{filterCompanyCode} OR E.COMPANY_CODE = '*') + + AND (E.COMPANY_CODE = #{filter_company_code} OR E.COMPANY_CODE = '*') AND E.DB_TYPE = #{db_type} @@ -123,8 +123,8 @@ @@ -132,9 +132,9 @@ @@ -215,8 +215,8 @@ DELETE FROM EXTERNAL_DB_CONNECTIONS WHERE ID = #{id} - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') diff --git a/backend-spring/src/main/resources/mapper/externalRestApiConnection.xml b/backend-spring/src/main/resources/mapper/externalRestApiConnection.xml index 69986a8b..9b4434e8 100644 --- a/backend-spring/src/main/resources/mapper/externalRestApiConnection.xml +++ b/backend-spring/src/main/resources/mapper/externalRestApiConnection.xml @@ -42,17 +42,17 @@ ON E.COMPANY_CODE = C.COMPANY_CODE WHERE 1=1 - - AND (E.COMPANY_CODE = #{companyCode} OR E.COMPANY_CODE = '*') + + AND (E.COMPANY_CODE = #{company_code} OR E.COMPANY_CODE = '*') - - AND (E.COMPANY_CODE = #{filterCompanyCode} OR E.COMPANY_CODE = '*') + + AND (E.COMPANY_CODE = #{filter_company_code} OR E.COMPANY_CODE = '*') - - AND E.IS_ACTIVE = #{isActive} + + AND E.IS_ACTIVE = #{is_active} - - AND E.AUTH_TYPE = #{authType} + + AND E.AUTH_TYPE = #{auth_type} AND ( @@ -93,22 +93,22 @@ , CREATED_BY , SAVE_TO_HISTORY ) VALUES ( - #{connectionName} + #{connection_name} , #{description} - , #{baseUrl} - , #{endpointPath} - , #{defaultHeaders,jdbcType=OTHER}::JSONB - , #{defaultMethod} - , #{defaultBody} - , #{authType} - , #{authConfig,jdbcType=OTHER}::JSONB + , #{base_url} + , #{endpoint_path} + , #{default_headers,jdbcType=OTHER}::JSONB + , #{default_method} + , #{default_body} + , #{auth_type} + , #{auth_config,jdbcType=OTHER}::JSONB , #{timeout} - , #{retryCount} - , #{retryDelay} - , #{companyCode} - , #{isActive} - , #{createdBy} - , #{saveToHistory} + , #{retry_count} + , #{retry_delay} + , #{company_code} + , #{is_active} + , #{created_by} + , #{save_to_history} ) @@ -117,21 +117,21 @@ UPDATE EXTERNAL_REST_API_CONNECTIONS UPDATED_DATE = NOW(), - CONNECTION_NAME = #{connectionName}, + CONNECTION_NAME = #{connection_name}, DESCRIPTION = #{description}, - BASE_URL = #{baseUrl}, - ENDPOINT_PATH = #{endpointPath}, - DEFAULT_HEADERS = #{defaultHeaders,jdbcType=OTHER}::JSONB, - DEFAULT_METHOD = #{defaultMethod}, - DEFAULT_REQUEST_BODY = #{defaultBody}, - AUTH_TYPE = #{authType}, - AUTH_CONFIG = #{authConfig,jdbcType=OTHER}::JSONB, + BASE_URL = #{base_url}, + ENDPOINT_PATH = #{endpoint_path}, + DEFAULT_HEADERS = #{default_headers,jdbcType=OTHER}::JSONB, + DEFAULT_METHOD = #{default_method}, + DEFAULT_REQUEST_BODY = #{default_body}, + AUTH_TYPE = #{auth_type}, + AUTH_CONFIG = #{auth_config,jdbcType=OTHER}::JSONB, TIMEOUT = #{timeout}, - RETRY_COUNT = #{retryCount}, - RETRY_DELAY = #{retryDelay}, - IS_ACTIVE = #{isActive}, - SAVE_TO_HISTORY = #{saveToHistory}, - UPDATED_BY = #{updatedBy}, + RETRY_COUNT = #{retry_count}, + RETRY_DELAY = #{retry_delay}, + IS_ACTIVE = #{is_active}, + SAVE_TO_HISTORY = #{save_to_history}, + UPDATED_BY = #{updated_by}, WHERE ID = #{id} @@ -149,8 +149,8 @@ UPDATE EXTERNAL_REST_API_CONNECTIONS SET LAST_TEST_DATE = NOW() - , LAST_TEST_RESULT = #{lastTestResult} - , LAST_TEST_MESSAGE = #{lastTestMessage} + , LAST_TEST_RESULT = #{last_test_result} + , LAST_TEST_MESSAGE = #{last_test_message} WHERE ID = #{id} @@ -159,9 +159,9 @@ @@ -50,20 +50,20 @@ ) VALUES ( #{name} , #{description} - , #{tableName} - , #{dbSourceType} - , #{dbConnectionId} - , #{restApiConnectionId} - , #{restApiEndpoint} - , #{restApiJsonPath} + , #{table_name} + , #{db_source_type} + , #{db_connection_id} + , #{rest_api_connection_id} + , #{rest_api_endpoint} + , #{rest_api_json_path} , - #{restApiConnections}::JSONB + #{rest_api_connections}::JSONB NULL - , #{companyCode} - , COALESCE(#{isActive}, TRUE) - , #{createdBy} - , #{createdBy} + , #{company_code} + , COALESCE(#{is_active}, TRUE) + , #{created_by} + , #{created_by} , NOW() , NOW() ) @@ -75,7 +75,7 @@ UPDATED_DATE = NOW(), NAME = #{name}, DESCRIPTION = #{description}, - IS_ACTIVE = #{isActive}, + IS_ACTIVE = #{is_active}, WHERE ID = #{id} @@ -92,7 +92,7 @@ COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'public' - AND TABLE_NAME = #{tableName} + AND TABLE_NAME = #{table_name} UPDATE ${tableName} - SET ${statusColumn} = #{toStatusValue} - WHERE ID = #{recordId} + SET ${statusColumn} = #{to_status_value} + WHERE ID = #{record_id} - + AND DELETED_DATE IS NOT NULL - + AND DELETED_DATE IS NULL @@ -26,23 +26,23 @@ - - AND ACCOUNT_ID = #{accountId} + + AND ACCOUNT_ID = #{account_id} - - AND SENT_AT >= #{startDate}::TIMESTAMP + + AND SENT_AT >= #{start_date}::TIMESTAMP - - AND SENT_AT <= #{endDate}::TIMESTAMP + + AND SENT_AT <= #{end_date}::TIMESTAMP - - AND (SUBJECT ILIKE '%' || #{searchTerm} || '%' - OR TO_EMAILS ILIKE '%' || #{searchTerm} || '%' - OR CC_EMAILS ILIKE '%' || #{searchTerm} || '%') + + AND (SUBJECT ILIKE '%' || #{search_term} || '%' + OR TO_EMAILS ILIKE '%' || #{search_term} || '%' + OR CC_EMAILS ILIKE '%' || #{search_term} || '%') @@ -150,25 +150,25 @@ , UPDATED_DATE ) VALUES ( #{id} - , #{companyCode} - , #{accountId} - , #{accountName} - , #{accountEmail} - , #{toEmails} - , #{ccEmails} - , #{bccEmails} + , #{company_code} + , #{account_id} + , #{account_name} + , #{account_email} + , #{to_emails} + , #{cc_emails} + , #{bcc_emails} , #{subject} - , #{htmlContent} - , #{templateId} - , #{templateName} + , #{html_content} + , #{template_id} + , #{template_name} , #{attachments} , #{status} - , #{messageId} - , #{errorMessage} + , #{message_id} + , #{error_message} , #{accepted} , #{rejected} - , #{isDraft} - , #{sentAt} + , #{is_draft} + , #{sent_at} , NOW() , NOW() ) @@ -181,19 +181,19 @@ UPDATE MAIL_SENT_HISTORY SUBJECT = #{subject}, - HTML_CONTENT = #{htmlContent}, - TO_EMAILS = #{toEmails}, - CC_EMAILS = #{ccEmails}, - BCC_EMAILS = #{bccEmails}, + HTML_CONTENT = #{html_content}, + TO_EMAILS = #{to_emails}, + CC_EMAILS = #{cc_emails}, + BCC_EMAILS = #{bcc_emails}, ATTACHMENTS = #{attachments}, STATUS = #{status}, - IS_DRAFT = #{isDraft}, - ACCOUNT_ID = #{accountId}, - ACCOUNT_NAME = #{accountName}, - ACCOUNT_EMAIL = #{accountEmail}, - TEMPLATE_ID = #{templateId}, - TEMPLATE_NAME = #{templateName}, - ERROR_MESSAGE = #{errorMessage}, + IS_DRAFT = #{is_draft}, + ACCOUNT_ID = #{account_id}, + ACCOUNT_NAME = #{account_name}, + ACCOUNT_EMAIL = #{account_email}, + TEMPLATE_ID = #{template_id}, + TEMPLATE_NAME = #{template_name}, + ERROR_MESSAGE = #{error_message}, UPDATED_DATE = NOW() WHERE ID = #{id} @@ -289,8 +289,8 @@ FROM MAIL_SENT_HISTORY WHERE DELETED_DATE IS NULL - - AND ACCOUNT_ID = #{accountId} + + AND ACCOUNT_ID = #{account_id} diff --git a/backend-spring/src/main/resources/mapper/mailTemplateFile.xml b/backend-spring/src/main/resources/mapper/mailTemplateFile.xml index e3e26d0c..2c0d1969 100644 --- a/backend-spring/src/main/resources/mapper/mailTemplateFile.xml +++ b/backend-spring/src/main/resources/mapper/mailTemplateFile.xml @@ -66,12 +66,12 @@ , CREATED_DATE , UPDATED_DATE ) VALUES ( - #{companyCode} + #{company_code} , #{name} , #{subject} , CAST(#{components} AS JSONB) - , CAST(#{queryConfig} AS JSONB) - , CAST(#{recipientConfig} AS JSONB) + , CAST(#{query_config} AS JSONB) + , CAST(#{recipient_config} AS JSONB) , #{category} , NOW() , NOW() @@ -84,8 +84,8 @@ NAME = #{name}, SUBJECT = #{subject}, COMPONENTS = CAST(#{components} AS JSONB), - QUERY_CONFIG = CAST(#{queryConfig} AS JSONB), - RECIPIENT_CONFIG = CAST(#{recipientConfig} AS JSONB), + QUERY_CONFIG = CAST(#{query_config} AS JSONB), + RECIPIENT_CONFIG = CAST(#{recipient_config} AS JSONB), CATEGORY = #{category}, UPDATED_DATE = NOW() diff --git a/backend-spring/src/main/resources/mapper/mold.xml b/backend-spring/src/main/resources/mapper/mold.xml index b6686fbd..68bd452e 100644 --- a/backend-spring/src/main/resources/mapper/mold.xml +++ b/backend-spring/src/main/resources/mapper/mold.xml @@ -53,7 +53,7 @@ FROM mold_mng - WHERE mold_code = #{moldCode} + WHERE mold_code = #{mold_code} LIMIT 1 @@ -67,34 +67,34 @@ cavity_count, shot_count, mold_quantity, base_input_qty, operation_status, remarks, image_path, memo, writer ) VALUES ( - #{companyCode}, #{moldCode}, #{moldName}, #{moldType}, #{category}, - #{manufacturer}, #{manufacturingNumber}, #{manufacturingDate}, - #{cavityCount, jdbcType=INTEGER}, #{shotCount, jdbcType=INTEGER}, - #{moldQuantity, jdbcType=INTEGER}, #{baseInputQty, jdbcType=INTEGER}, - #{operationStatus}, #{remarks}, #{imagePath}, #{memo}, #{writer} + #{company_code}, #{mold_code}, #{mold_name}, #{mold_type}, #{category}, + #{manufacturer}, #{manufacturing_number}, #{manufacturing_date}, + #{cavity_count, jdbcType=INTEGER}, #{shot_count, jdbcType=INTEGER}, + #{mold_quantity, jdbcType=INTEGER}, #{base_input_qty, jdbcType=INTEGER}, + #{operation_status}, #{remarks}, #{image_path}, #{memo}, #{writer} ) UPDATE mold_mng SET - mold_name = COALESCE(#{moldName}, mold_name), - mold_type = #{moldType}, + mold_name = COALESCE(#{mold_name}, mold_name), + mold_type = #{mold_type}, category = #{category}, manufacturer = #{manufacturer}, - manufacturing_number = #{manufacturingNumber}, - manufacturing_date = #{manufacturingDate}, - cavity_count = COALESCE(#{cavityCount, jdbcType=INTEGER}, cavity_count), - shot_count = COALESCE(#{shotCount, jdbcType=INTEGER}, shot_count), - mold_quantity = COALESCE(#{moldQuantity, jdbcType=INTEGER}, mold_quantity), - base_input_qty = COALESCE(#{baseInputQty, jdbcType=INTEGER}, base_input_qty), - operation_status = COALESCE(#{operationStatus}, operation_status), + manufacturing_number = #{manufacturing_number}, + manufacturing_date = #{manufacturing_date}, + cavity_count = COALESCE(#{cavity_count, jdbcType=INTEGER}, cavity_count), + shot_count = COALESCE(#{shot_count, jdbcType=INTEGER}, shot_count), + mold_quantity = COALESCE(#{mold_quantity, jdbcType=INTEGER}, mold_quantity), + base_input_qty = COALESCE(#{base_input_qty, jdbcType=INTEGER}, base_input_qty), + operation_status = COALESCE(#{operation_status}, operation_status), remarks = #{remarks}, - image_path = #{imagePath}, + image_path = #{image_path}, memo = #{memo}, updated_date = NOW() - WHERE mold_code = #{moldCode} + WHERE mold_code = #{mold_code} @@ -102,28 +102,28 @@ DELETE FROM mold_mng - WHERE mold_code = #{moldCode} + WHERE mold_code = #{mold_code} DELETE FROM mold_serial - WHERE mold_code = #{moldCode} + WHERE mold_code = #{mold_code} DELETE FROM mold_inspection_item - WHERE mold_code = #{moldCode} + WHERE mold_code = #{mold_code} DELETE FROM mold_part - WHERE mold_code = #{moldCode} + WHERE mold_code = #{mold_code} @@ -133,7 +133,7 @@ FROM mold_serial - WHERE mold_code = #{moldCode} + WHERE mold_code = #{mold_code} ORDER BY serial_number @@ -144,9 +144,9 @@ company_code, mold_code, serial_number, status, progress, work_description, manager, completion_date, remarks, writer ) VALUES ( - #{companyCode}, #{moldCode}, #{serialNumber}, #{status}, - #{progress, jdbcType=INTEGER}, #{workDescription}, #{manager}, - #{completionDate}, #{remarks}, #{writer} + #{company_code}, #{mold_code}, #{serial_number}, #{status}, + #{progress, jdbcType=INTEGER}, #{work_description}, #{manager}, + #{completion_date}, #{remarks}, #{writer} ) @@ -167,7 +167,7 @@ FROM mold_serial - WHERE mold_code = #{moldCode} + WHERE mold_code = #{mold_code} @@ -177,7 +177,7 @@ FROM mold_inspection_item - WHERE mold_code = #{moldCode} + WHERE mold_code = #{mold_code} ORDER BY created_date @@ -189,9 +189,9 @@ inspection_method, inspection_content, lower_limit, upper_limit, unit, is_active, checklist, remarks, writer ) VALUES ( - #{companyCode}, #{moldCode}, #{inspectionItem}, #{inspectionCycle}, - #{inspectionMethod}, #{inspectionContent}, #{lowerLimit}, #{upperLimit}, - #{unit}, #{isActive}, #{checklist}, #{remarks}, #{writer} + #{company_code}, #{mold_code}, #{inspection_item}, #{inspection_cycle}, + #{inspection_method}, #{inspection_content}, #{lower_limit}, #{upper_limit}, + #{unit}, #{is_active}, #{checklist}, #{remarks}, #{writer} ) @@ -208,7 +208,7 @@ FROM mold_part - WHERE mold_code = #{moldCode} + WHERE mold_code = #{mold_code} ORDER BY created_date @@ -220,9 +220,9 @@ unit, specification, manufacturer, manufacturer_code, image_path, remarks, writer ) VALUES ( - #{companyCode}, #{moldCode}, #{partName}, #{replacementCycle}, - #{unit}, #{specification}, #{manufacturer}, #{manufacturerCode}, - #{imagePath}, #{remarks}, #{writer} + #{company_code}, #{mold_code}, #{part_name}, #{replacement_cycle}, + #{unit}, #{specification}, #{manufacturer}, #{manufacturer_code}, + #{image_path}, #{remarks}, #{writer} ) diff --git a/backend-spring/src/main/resources/mapper/multiConnection.xml b/backend-spring/src/main/resources/mapper/multiConnection.xml index a336a742..51b621d8 100644 --- a/backend-spring/src/main/resources/mapper/multiConnection.xml +++ b/backend-spring/src/main/resources/mapper/multiConnection.xml @@ -36,7 +36,7 @@ INSERT INTO MULTI_CONNECTION (COMPANY_CODE, CREATED_DATE, UPDATED_DATE) - VALUES (#{companyCode}, NOW(), NOW()) + VALUES (#{company_code}, NOW(), NOW()) diff --git a/backend-spring/src/main/resources/mapper/multilang.xml b/backend-spring/src/main/resources/mapper/multilang.xml index a277db0c..e822d714 100644 --- a/backend-spring/src/main/resources/mapper/multilang.xml +++ b/backend-spring/src/main/resources/mapper/multilang.xml @@ -34,7 +34,7 @@ , UPDATED_DATE , UPDATED_BY FROM LANGUAGE_MASTER - WHERE LANG_CODE = #{langCode} + WHERE LANG_CODE = #{lang_code} @@ -47,46 +47,46 @@ , CREATED_BY , UPDATED_BY ) VALUES ( - #{langCode} - , #{langName} - , #{langNative} - , #{isActive} - , #{sortOrder} - , #{createdBy} - , #{updatedBy} + #{lang_code} + , #{lang_name} + , #{lang_native} + , #{is_active} + , #{sort_order} + , #{created_by} + , #{updated_by} ) UPDATE LANGUAGE_MASTER - LANG_NAME = #{langName}, - LANG_NATIVE = #{langNative}, - IS_ACTIVE = #{isActive}, - SORT_ORDER = #{sortOrder}, - UPDATED_BY = #{updatedBy}, + LANG_NAME = #{lang_name}, + LANG_NATIVE = #{lang_native}, + IS_ACTIVE = #{is_active}, + SORT_ORDER = #{sort_order}, + UPDATED_BY = #{updated_by}, UPDATED_DATE = NOW() - WHERE LANG_CODE = #{langCode} + WHERE LANG_CODE = #{lang_code} UPDATE LANGUAGE_MASTER SET - IS_ACTIVE = #{newStatus} - , UPDATED_BY = #{updatedBy} + IS_ACTIVE = #{new_status} + , UPDATED_BY = #{updated_by} , UPDATED_DATE = NOW() - WHERE LANG_CODE = #{langCode} + WHERE LANG_CODE = #{lang_code} DELETE FROM MULTI_LANG_TEXT - WHERE LANG_CODE = #{langCode} + WHERE LANG_CODE = #{lang_code} DELETE FROM LANGUAGE_MASTER - WHERE LANG_CODE = #{langCode} + WHERE LANG_CODE = #{lang_code} @@ -67,7 +67,7 @@ , FLOW_DESCRIPTION AS "flowDescription" , COMPANY_CODE AS "companyCode" FROM NODE_FLOWS - WHERE FLOW_ID = #{flowId} + WHERE FLOW_ID = #{flow_id} @@ -81,10 +81,10 @@ , FLOW_DATA , COMPANY_CODE ) VALUES ( - #{flowName} - , #{flowDescription} - , #{flowData}::JSONB - , #{companyCode} + #{flow_name} + , #{flow_description} + , #{flow_data}::JSONB + , #{company_code} ) @@ -94,11 +94,11 @@ UPDATE NODE_FLOWS SET - FLOW_NAME = #{flowName} - , FLOW_DESCRIPTION = #{flowDescription} - , FLOW_DATA = #{flowData}::JSONB + FLOW_NAME = #{flow_name} + , FLOW_DESCRIPTION = #{flow_description} + , FLOW_DATA = #{flow_data}::JSONB , UPDATED_DATE = NOW() - WHERE FLOW_ID = #{flowId} + WHERE FLOW_ID = #{flow_id} @@ -106,7 +106,7 @@ DELETE FROM NODE_FLOWS - WHERE FLOW_ID = #{flowId} + WHERE FLOW_ID = #{flow_id} diff --git a/backend-spring/src/main/resources/mapper/numberingRule.xml b/backend-spring/src/main/resources/mapper/numberingRule.xml index e1555a46..8d961b5c 100644 --- a/backend-spring/src/main/resources/mapper/numberingRule.xml +++ b/backend-spring/src/main/resources/mapper/numberingRule.xml @@ -38,8 +38,8 @@ WHERE 1=1 - - AND (company_code = #{companyCode} OR company_code = '*') + + AND (company_code = #{company_code} OR company_code = '*') ORDER BY CREATED_DATE DESC @@ -50,10 +50,10 @@ FROM numbering_rules - WHERE rule_id = #{ruleId} + WHERE rule_id = #{rule_id} - - AND (company_code = #{companyCode} OR company_code = '*') + + AND (company_code = #{company_code} OR company_code = '*') @@ -63,18 +63,18 @@ current_sequence, table_name, column_name, company_code, category_column, category_value_id, created_by, CREATED_DATE, UPDATED_DATE ) VALUES ( - #{ruleId}, - #{ruleName}, + #{rule_id}, + #{rule_name}, #{description, jdbcType=VARCHAR}, #{separator, jdbcType=VARCHAR}, - #{resetPeriod, jdbcType=VARCHAR}, - #{currentSequence, jdbcType=INTEGER}, - #{tableName, jdbcType=VARCHAR}, - #{columnName, jdbcType=VARCHAR}, - #{companyCode}, - #{categoryColumn, jdbcType=VARCHAR}, - #{categoryValueId, jdbcType=INTEGER}, - #{createdBy, jdbcType=VARCHAR}, + #{reset_period, jdbcType=VARCHAR}, + #{current_sequence, jdbcType=INTEGER}, + #{table_name, jdbcType=VARCHAR}, + #{column_name, jdbcType=VARCHAR}, + #{company_code}, + #{category_column, jdbcType=VARCHAR}, + #{category_value_id, jdbcType=INTEGER}, + #{created_by, jdbcType=VARCHAR}, NOW(), NOW() ) @@ -82,25 +82,25 @@ UPDATE numbering_rules SET - rule_name = COALESCE(#{ruleName, jdbcType=VARCHAR}, rule_name), + rule_name = COALESCE(#{rule_name, jdbcType=VARCHAR}, rule_name), description = COALESCE(#{description, jdbcType=VARCHAR}, description), separator = COALESCE(#{separator, jdbcType=VARCHAR}, separator), - reset_period = COALESCE(#{resetPeriod, jdbcType=VARCHAR}, reset_period), - table_name = COALESCE(#{tableName, jdbcType=VARCHAR}, table_name), - column_name = COALESCE(#{columnName, jdbcType=VARCHAR}, column_name), - category_column = COALESCE(#{categoryColumn, jdbcType=VARCHAR}, category_column), - category_value_id = COALESCE(#{categoryValueId, jdbcType=INTEGER}, category_value_id), + reset_period = COALESCE(#{reset_period, jdbcType=VARCHAR}, reset_period), + table_name = COALESCE(#{table_name, jdbcType=VARCHAR}, table_name), + column_name = COALESCE(#{column_name, jdbcType=VARCHAR}, column_name), + category_column = COALESCE(#{category_column, jdbcType=VARCHAR}, category_column), + category_value_id = COALESCE(#{category_value_id, jdbcType=INTEGER}, category_value_id), UPDATED_DATE = NOW() - WHERE rule_id = #{ruleId} - AND (company_code = #{companyCode} OR company_code = '*') + WHERE rule_id = #{rule_id} + AND (company_code = #{company_code} OR company_code = '*') DELETE FROM numbering_rules - WHERE rule_id = #{ruleId} - AND (company_code = #{companyCode} OR company_code = '*') + WHERE rule_id = #{rule_id} + AND (company_code = #{company_code} OR company_code = '*') @@ -110,10 +110,10 @@ FROM numbering_rule_parts - WHERE rule_id = #{ruleId} + WHERE rule_id = #{rule_id} - - AND (company_code = #{companyCode} OR company_code = '*') + + AND (company_code = #{company_code} OR company_code = '*') ORDER BY part_order @@ -124,13 +124,13 @@ rule_id, part_order, part_type, generation_method, auto_config, manual_config, company_code, CREATED_DATE ) VALUES ( - #{ruleId}, + #{rule_id}, #{order}, - #{partType}, - #{generationMethod}, - #{autoConfig}::jsonb, - #{manualConfig}::jsonb, - #{companyCode}, + #{part_type}, + #{generation_method}, + #{auto_config}::jsonb, + #{manual_config}::jsonb, + #{company_code}, NOW() ) @@ -138,8 +138,8 @@ DELETE FROM numbering_rule_parts - WHERE rule_id = #{ruleId} - AND (company_code = #{companyCode} OR company_code = '*') + WHERE rule_id = #{rule_id} + AND (company_code = #{company_code} OR company_code = '*') @@ -149,25 +149,25 @@ FROM numbering_rule_sequences - WHERE rule_id = #{ruleId} - AND (company_code = #{companyCode} OR company_code = '*') - AND prefix_key = #{prefixKey} + WHERE rule_id = #{rule_id} + AND (company_code = #{company_code} OR company_code = '*') + AND prefix_key = #{prefix_key} DELETE FROM numbering_rule_sequences - WHERE rule_id = #{ruleId} - AND (company_code = #{companyCode} OR company_code = '*') + WHERE rule_id = #{rule_id} + AND (company_code = #{company_code} OR company_code = '*') UPDATE numbering_rules - SET current_sequence = GREATEST(COALESCE(current_sequence, '0'), #{currentSequence}), + SET current_sequence = GREATEST(COALESCE(current_sequence, '0'), #{current_sequence}), UPDATED_DATE = NOW() - WHERE rule_id = #{ruleId} - AND (company_code = #{companyCode} OR company_code = '*') + WHERE rule_id = #{rule_id} + AND (company_code = #{company_code} OR company_code = '*') @@ -179,8 +179,8 @@ WHERE 1=1 - - AND (company_code = #{companyCode} OR company_code = '*') + + AND (company_code = #{company_code} OR company_code = '*') ORDER BY CREATED_DATE DESC @@ -193,11 +193,11 @@ WHERE 1=1 - - AND (company_code = #{companyCode} OR company_code = '*') + + AND (company_code = #{company_code} OR company_code = '*') - - AND table_name = #{tableName} + + AND table_name = #{table_name} ORDER BY CREATED_DATE DESC @@ -225,9 +225,9 @@ LEFT JOIN category_values cv ON r.category_value_id = cv.value_id - WHERE (r.company_code = #{companyCode} OR r.company_code = '*') - AND r.table_name = #{tableName} - AND r.column_name = #{columnName} + WHERE (r.company_code = #{company_code} OR r.company_code = '*') + AND r.table_name = #{table_name} + AND r.column_name = #{column_name} AND r.category_value_id IS NULL LIMIT 1 @@ -254,8 +254,8 @@ LEFT JOIN category_values cv ON r.category_value_id = cv.value_id - WHERE (r.company_code = #{companyCode} OR r.company_code = '*') - AND r.table_name = #{tableName} + WHERE (r.company_code = #{company_code} OR r.company_code = '*') + AND r.table_name = #{table_name} AND (r.column_name IS NULL OR r.column_name = '') AND r.category_value_id IS NULL @@ -265,10 +265,10 @@ UPDATE numbering_rules - SET column_name = #{columnName} + SET column_name = #{column_name} - WHERE rule_id = #{ruleId} - AND (company_code = #{companyCode} OR company_code = '*') + WHERE rule_id = #{rule_id} + AND (company_code = #{company_code} OR company_code = '*') @@ -278,7 +278,7 @@ FROM numbering_rules - WHERE (company_code = #{companyCode} OR company_code = '*') + WHERE (company_code = #{company_code} OR company_code = '*') ORDER BY CREATED_DATE @@ -288,8 +288,8 @@ FROM numbering_rule_parts - WHERE rule_id = #{ruleId} - AND (company_code = #{companyCode} OR company_code = '*') + WHERE rule_id = #{rule_id} + AND (company_code = #{company_code} OR company_code = '*') ORDER BY part_order diff --git a/backend-spring/src/main/resources/mapper/openApiProxy.xml b/backend-spring/src/main/resources/mapper/openApiProxy.xml index 59e2259f..3e2ef3d2 100644 --- a/backend-spring/src/main/resources/mapper/openApiProxy.xml +++ b/backend-spring/src/main/resources/mapper/openApiProxy.xml @@ -36,7 +36,7 @@ INSERT INTO OPEN_API_PROXY (COMPANY_CODE, CREATED_DATE, UPDATED_DATE) - VALUES (#{companyCode}, NOW(), NOW()) + VALUES (#{company_code}, NOW(), NOW()) diff --git a/backend-spring/src/main/resources/mapper/packaging.xml b/backend-spring/src/main/resources/mapper/packaging.xml index 371eec95..c9b30c19 100644 --- a/backend-spring/src/main/resources/mapper/packaging.xml +++ b/backend-spring/src/main/resources/mapper/packaging.xml @@ -11,12 +11,12 @@ SELECT * FROM pkg_unit WHERE 1=1 - - AND (company_code = #{companyCode} OR company_code = '*') + + AND (company_code = #{company_code} OR company_code = '*') ORDER BY - company_code, created_date DESC + company_code, created_date DESC created_date DESC @@ -26,7 +26,7 @@ (company_code, pkg_code, pkg_name, pkg_type, status, width_mm, length_mm, height_mm, self_weight_kg, max_load_kg, volume_l, remarks, writer) VALUES - (#{companyCode}, #{pkg_code}, #{pkg_name}, #{pkg_type}, + (#{company_code}, #{pkg_code}, #{pkg_name}, #{pkg_type}, COALESCE(#{status}, 'ACTIVE'), #{width_mm}, #{length_mm}, #{height_mm}, #{self_weight_kg}, #{max_load_kg}, #{volume_l}, #{remarks}, #{writer}) @@ -47,7 +47,7 @@ updated_date = NOW(), writer = #{writer} WHERE id = #{id} - AND (company_code = #{companyCode} OR company_code = '*') + AND (company_code = #{company_code} OR company_code = '*') @@ -56,15 +56,15 @@ SELECT pkg_code FROM pkg_unit WHERE id = #{id} - AND (company_code = #{companyCode} OR company_code = '*') + AND (company_code = #{company_code} OR company_code = '*') ) - AND (company_code = #{companyCode} OR company_code = '*') + AND (company_code = #{company_code} OR company_code = '*') DELETE FROM pkg_unit WHERE id = #{id} - AND (company_code = #{companyCode} OR company_code = '*') + AND (company_code = #{company_code} OR company_code = '*') @@ -199,7 +199,7 @@ , UPDATED_DATE , UPDATED_BY FROM REPORT_QUERY - WHERE REPORT_ID = #{reportId} + WHERE REPORT_ID = #{report_id} ORDER BY DISPLAY_ORDER ASC, CREATED_DATE ASC @@ -218,8 +218,8 @@ , UPDATED_DATE , UPDATED_BY FROM REPORT_QUERY - WHERE QUERY_ID = #{queryId} - AND REPORT_ID = #{reportId} + WHERE QUERY_ID = #{query_id} + AND REPORT_ID = #{report_id} @@ -234,21 +234,21 @@ , DISPLAY_ORDER , CREATED_BY ) VALUES ( - #{queryId} - , #{reportId} - , #{queryName} - , #{queryType} - , #{sqlQuery} + #{query_id} + , #{report_id} + , #{query_name} + , #{query_type} + , #{sql_query} , #{parameters}::jsonb - , #{externalConnectionId, jdbcType=BIGINT} - , #{displayOrder, jdbcType=INTEGER} - , #{createdBy} + , #{external_connection_id, jdbcType=BIGINT} + , #{display_order, jdbcType=INTEGER} + , #{created_by} ) DELETE FROM REPORT_QUERY - WHERE REPORT_ID = #{reportId} + WHERE REPORT_ID = #{report_id} @@ -293,7 +293,7 @@ , UPDATED_DATE , UPDATED_BY FROM REPORT_TEMPLATE - WHERE TEMPLATE_ID = #{templateId} + WHERE TEMPLATE_ID = #{template_id} @@ -310,23 +310,23 @@ , SORT_ORDER , CREATED_BY ) VALUES ( - #{templateId} - , #{templateNameKor} - , #{templateNameEng, jdbcType=VARCHAR} - , #{templateType} + #{template_id} + , #{template_name_kor} + , #{template_name_eng, jdbcType=VARCHAR} + , #{template_type} , 'N' , #{description, jdbcType=VARCHAR} - , #{layoutConfig}::jsonb - , #{defaultQueries}::jsonb + , #{layout_config}::jsonb + , #{default_queries}::jsonb , 'Y' - , COALESCE(#{sortOrder, jdbcType=INTEGER}, 999) - , #{createdBy} + , COALESCE(#{sort_order, jdbcType=INTEGER}, 999) + , #{created_by} ) DELETE FROM REPORT_TEMPLATE - WHERE TEMPLATE_ID = #{templateId} + WHERE TEMPLATE_ID = #{template_id} AND IS_SYSTEM = 'N' @@ -340,7 +340,7 @@ , CREATED_DATE , CREATED_BY FROM REPORT_MENU_MAPPING - WHERE REPORT_ID = #{reportId} + WHERE REPORT_ID = #{report_id} ORDER BY CREATED_DATE ASC @@ -351,16 +351,16 @@ , COMPANY_CODE , CREATED_BY ) VALUES ( - #{reportId} - , #{menuObjid} - , #{companyCode} - , #{createdBy} + #{report_id} + , #{menu_objid} + , #{company_code} + , #{created_by} ) DELETE FROM REPORT_MENU_MAPPING - WHERE REPORT_ID = #{reportId} + WHERE REPORT_ID = #{report_id} diff --git a/backend-spring/src/main/resources/mapper/riskAlert.xml b/backend-spring/src/main/resources/mapper/riskAlert.xml index 49246318..728cef7d 100644 --- a/backend-spring/src/main/resources/mapper/riskAlert.xml +++ b/backend-spring/src/main/resources/mapper/riskAlert.xml @@ -13,8 +13,8 @@ AND SEVERITY = #{severity} - - AND IS_ACTIVE = #{isActive} + + AND IS_ACTIVE = #{is_active} @@ -65,11 +65,11 @@ FROM RISK_ALERT WHERE 1=1 - - AND ALERT_TYPE = #{alertType} + + AND ALERT_TYPE = #{alert_type} - - AND IS_ACTIVE = #{isActive} + + AND IS_ACTIVE = #{is_active} ORDER BY CREATED_DATE DESC diff --git a/backend-spring/src/main/resources/mapper/role.xml b/backend-spring/src/main/resources/mapper/role.xml index 27a8b96b..bd465500 100644 --- a/backend-spring/src/main/resources/mapper/role.xml +++ b/backend-spring/src/main/resources/mapper/role.xml @@ -17,8 +17,8 @@ , CREATED_DATE FROM AUTHORITY_MASTER WHERE 1=1 - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') AND AUTH_NAME ILIKE '%' || #{search} || '%' @@ -51,9 +51,9 @@ , WRITER , CREATED_DATE ) VALUES ( - #{authName} - , #{authCode} - , #{companyCode} + #{auth_name} + , #{auth_code} + , #{company_code} , 'active' , #{writer} , NOW() @@ -64,11 +64,11 @@ UPDATE AUTHORITY_MASTER SET - - AUTH_NAME = #{authName}, + + AUTH_NAME = #{auth_name}, - - AUTH_CODE = #{authCode}, + + AUTH_CODE = #{auth_code}, STATUS = #{status}, @@ -98,7 +98,7 @@ , UI.EMAIL FROM AUTHORITY_SUB_USER ASU LEFT JOIN USER_INFO UI ON ASU.USER_ID = UI.USER_ID - WHERE ASU.MASTER_OBJID = #{masterObjid} + WHERE ASU.MASTER_OBJID = #{master_objid} ORDER BY ASU.CREATED_DATE ASC @@ -111,24 +111,24 @@ , CREATED_DATE ) VALUES - (#{masterObjid}, #{userId}, #{writer}, NOW()) + (#{master_objid}, #{user_id}, #{writer}, NOW()) DELETE FROM AUTHORITY_SUB_USER - WHERE MASTER_OBJID = #{masterObjid} + WHERE MASTER_OBJID = #{master_objid} AND USER_ID IN - #{userId} + #{user_id} DELETE FROM AUTHORITY_SUB_USER - WHERE MASTER_OBJID = #{masterObjid} + WHERE MASTER_OBJID = #{master_objid} DELETE FROM AUTHORITY_SUB_MENU - WHERE MASTER_OBJID = #{authObjid} + WHERE MASTER_OBJID = #{auth_objid} @@ -166,7 +166,7 @@ , CREATED_DATE ) VALUES - (#{authObjid}, #{perm.menuObjid}, #{writer}, NOW()) + (#{auth_objid}, #{perm.menuObjid}, #{writer}, NOW()) @@ -185,8 +185,8 @@ , USE_YN FROM MENU_INFO WHERE 1=1 - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') ORDER BY SORT_ORDER ASC, LEV ASC @@ -203,9 +203,9 @@ , AM.STATUS FROM AUTHORITY_MASTER AM INNER JOIN AUTHORITY_SUB_USER ASU ON AM.OBJID = ASU.MASTER_OBJID - WHERE ASU.USER_ID = #{userId} - - AND (AM.COMPANY_CODE = #{companyCode} OR AM.COMPANY_CODE = '*') + WHERE ASU.USER_ID = #{user_id} + + AND (AM.COMPANY_CODE = #{company_code} OR AM.COMPANY_CODE = '*') ORDER BY AM.AUTH_NAME ASC diff --git a/backend-spring/src/main/resources/mapper/salesReport.xml b/backend-spring/src/main/resources/mapper/salesReport.xml index f8edcb4e..341273be 100644 --- a/backend-spring/src/main/resources/mapper/salesReport.xml +++ b/backend-spring/src/main/resources/mapper/salesReport.xml @@ -24,14 +24,14 @@ - - AND (SOM.COMPANY_CODE = #{companyCode} OR SOM.COMPANY_CODE = '*') + + AND (SOM.COMPANY_CODE = #{company_code} OR SOM.COMPANY_CODE = '*') - - AND COALESCE(SOD.DUE_DATE, SOM.ORDER_DATE::TEXT, SOM.CREATED_DATE::DATE::TEXT) >= #{startDate} + + AND COALESCE(SOD.DUE_DATE, SOM.ORDER_DATE::TEXT, SOM.CREATED_DATE::DATE::TEXT) >= #{start_date} - - AND COALESCE(SOD.DUE_DATE, SOM.ORDER_DATE::TEXT, SOM.CREATED_DATE::DATE::TEXT) <= #{endDate} + + AND COALESCE(SOD.DUE_DATE, SOM.ORDER_DATE::TEXT, SOM.CREATED_DATE::DATE::TEXT) <= #{end_date} @@ -108,8 +108,8 @@ SELECT DISTINCT CUSTOMER_CODE AS VALUE, CUSTOMER_NAME AS LABEL FROM CUSTOMER_MNG WHERE 1=1 - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') ORDER BY CUSTOMER_NAME @@ -119,8 +119,8 @@ SELECT DISTINCT STATUS AS VALUE, STATUS AS LABEL FROM SALES_ORDER_MNG WHERE STATUS IS NOT NULL - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') ORDER BY STATUS @@ -135,30 +135,30 @@ SOM.UPDATED_DATE AS UPDATED_DATE FROM SALES_ORDER_MNG SOM WHERE SOM.ORDER_NO = #{id} - - AND (SOM.COMPANY_CODE = #{companyCode} OR SOM.COMPANY_CODE = '*') + + AND (SOM.COMPANY_CODE = #{company_code} OR SOM.COMPANY_CODE = '*') INSERT INTO SALES_ORDER_MNG (COMPANY_CODE, CREATED_DATE, UPDATED_DATE) - VALUES (#{companyCode}, NOW(), NOW()) + VALUES (#{company_code}, NOW(), NOW()) UPDATE SALES_ORDER_MNG SET UPDATED_DATE = NOW() WHERE ORDER_NO = #{id} - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') DELETE FROM SALES_ORDER_MNG WHERE ORDER_NO = #{id} - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') diff --git a/backend-spring/src/main/resources/mapper/schedule.xml b/backend-spring/src/main/resources/mapper/schedule.xml index 74f63a18..1ca1d5c3 100644 --- a/backend-spring/src/main/resources/mapper/schedule.xml +++ b/backend-spring/src/main/resources/mapper/schedule.xml @@ -4,20 +4,20 @@ - - AND schedule_type = #{scheduleType} + + AND schedule_type = #{schedule_type} - - AND resource_type = #{resourceType} + + AND resource_type = #{resource_type} - - AND resource_id = #{resourceId} + + AND resource_id = #{resource_id} - - AND end_date >= #{startDate}::date + + AND end_date >= #{start_date}::date - - AND start_date <= #{endDate}::date + + AND start_date <= #{end_date}::date AND status = #{status} @@ -55,7 +55,7 @@ @@ -63,15 +63,15 @@ @@ -86,7 +86,7 @@ auto_generated, generated_at, generated_by, metadata, created_by, updated_by ) VALUES ( - #{companyCode}, #{schedule_type}, #{schedule_name}, + #{company_code}, #{schedule_type}, #{schedule_name}, #{resource_type}, #{resource_id}, #{resource_name}, #{start_date}::timestamp, #{end_date}::timestamp, @@ -120,17 +120,17 @@ start_date = #{start_date}::timestamp, end_date = #{end_date}::timestamp, updated_by = #{updated_by}, - schedule_id = #{scheduleId} + schedule_id = #{schedule_id} - WHERE schedule_id = #{scheduleId} + WHERE schedule_id = #{schedule_id} DELETE FROM schedule_mng - WHERE schedule_id = #{scheduleId} + WHERE schedule_id = #{schedule_id} @@ -148,7 +148,7 @@ INSERT INTO schedule_history (company_code, schedule_id, action, changed_by) - VALUES (#{companyCode}, #{scheduleId}, #{action}, #{changedBy}) + VALUES (#{company_code}, #{schedule_id}, #{action}, #{changed_by}) diff --git a/backend-spring/src/main/resources/mapper/screenEmbedding.xml b/backend-spring/src/main/resources/mapper/screenEmbedding.xml index 6e4da2b1..cf547d84 100644 --- a/backend-spring/src/main/resources/mapper/screenEmbedding.xml +++ b/backend-spring/src/main/resources/mapper/screenEmbedding.xml @@ -15,7 +15,7 @@ FROM SCREEN_EMBEDDING SE LEFT JOIN SCREEN_DEFINITIONS PS ON SE.PARENT_SCREEN_ID = PS.SCREEN_ID LEFT JOIN SCREEN_DEFINITIONS CS ON SE.CHILD_SCREEN_ID = CS.SCREEN_ID - WHERE SE.PARENT_SCREEN_ID = #{parentScreenId} + WHERE SE.PARENT_SCREEN_ID = #{parent_screen_id} ORDER BY SE.POSITION, SE.CREATED_DATE @@ -38,8 +38,8 @@ PARENT_SCREEN_ID, CHILD_SCREEN_ID, POSITION, MODE, CONFIG, COMPANY_CODE, CREATED_BY, CREATED_DATE, UPDATED_DATE ) VALUES ( - #{parentScreenId}, #{childScreenId}, #{position}, #{mode}, - #{config}::JSONB, #{companyCode}, #{userId}, NOW(), NOW() + #{parent_screen_id}, #{child_screen_id}, #{position}, #{mode}, + #{config}::JSONB, #{company_code}, #{user_id}, NOW(), NOW() ) @@ -73,8 +73,8 @@ FROM SCREEN_DATA_TRANSFER SDT LEFT JOIN SCREEN_DEFINITIONS SS ON SDT.SOURCE_SCREEN_ID = SS.SCREEN_ID LEFT JOIN SCREEN_DEFINITIONS TS ON SDT.TARGET_SCREEN_ID = TS.SCREEN_ID - WHERE SDT.SOURCE_SCREEN_ID = #{sourceScreenId} - AND SDT.TARGET_SCREEN_ID = #{targetScreenId} + WHERE SDT.SOURCE_SCREEN_ID = #{source_screen_id} + AND SDT.TARGET_SCREEN_ID = #{target_screen_id} @@ -91,16 +91,16 @@ SOURCE_SCREEN_ID, TARGET_SCREEN_ID, SOURCE_COMPONENT_ID, SOURCE_COMPONENT_TYPE, DATA_RECEIVERS, BUTTON_CONFIG, COMPANY_CODE, CREATED_BY, CREATED_DATE, UPDATED_DATE ) VALUES ( - #{sourceScreenId}, #{targetScreenId}, #{sourceComponentId}, #{sourceComponentType}, - #{dataReceivers}::JSONB, #{buttonConfig}::JSONB, #{companyCode}, #{userId}, NOW(), NOW() + #{source_screen_id}, #{target_screen_id}, #{source_component_id}, #{source_component_type}, + #{data_receivers}::JSONB, #{button_config}::JSONB, #{company_code}, #{user_id}, NOW(), NOW() ) UPDATE SCREEN_DATA_TRANSFER - DATA_RECEIVERS = #{dataReceivers}::JSONB, - BUTTON_CONFIG = #{buttonConfig}::JSONB, + DATA_RECEIVERS = #{data_receivers}::JSONB, + BUTTON_CONFIG = #{button_config}::JSONB, UPDATED_DATE = NOW() WHERE ID = #{id} @@ -150,9 +150,9 @@ LEFT JOIN SCREEN_EMBEDDING LE ON SSP.LEFT_EMBEDDING_ID = LE.ID LEFT JOIN SCREEN_EMBEDDING RE ON SSP.RIGHT_EMBEDDING_ID = RE.ID LEFT JOIN SCREEN_DATA_TRANSFER SDT ON SSP.DATA_TRANSFER_ID = SDT.ID - WHERE SSP.SCREEN_ID = #{screenId} - - AND (SSP.COMPANY_CODE = #{companyCode} OR SSP.COMPANY_CODE = '*') + WHERE SSP.SCREEN_ID = #{screen_id} + + AND (SSP.COMPANY_CODE = #{company_code} OR SSP.COMPANY_CODE = '*') AND SSP.COMPANY_CODE != '*' @@ -162,8 +162,8 @@ SELECT * FROM SCREEN_SPLIT_PANEL WHERE ID = #{id} - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') AND COMPANY_CODE != '*' @@ -174,18 +174,18 @@ SCREEN_ID, LEFT_EMBEDDING_ID, RIGHT_EMBEDDING_ID, DATA_TRANSFER_ID, LAYOUT_CONFIG, COMPANY_CODE, CREATED_DATE, UPDATED_DATE ) VALUES ( - #{screenId}, #{leftEmbeddingId}, #{rightEmbeddingId}, #{dataTransferId}, - #{layoutConfig}::JSONB, #{companyCode}, NOW(), NOW() + #{screen_id}, #{left_embedding_id}, #{right_embedding_id}, #{data_transfer_id}, + #{layout_config}::JSONB, #{company_code}, NOW(), NOW() ) UPDATE SCREEN_SPLIT_PANEL - SET LAYOUT_CONFIG = #{layoutConfig}::JSONB, + SET LAYOUT_CONFIG = #{layout_config}::JSONB, UPDATED_DATE = NOW() WHERE ID = #{id} - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') AND COMPANY_CODE != '*' @@ -193,8 +193,8 @@ DELETE FROM SCREEN_SPLIT_PANEL WHERE ID = #{id} - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') AND COMPANY_CODE != '*' diff --git a/backend-spring/src/main/resources/mapper/screenFile.xml b/backend-spring/src/main/resources/mapper/screenFile.xml index 6b145454..d199c8af 100644 --- a/backend-spring/src/main/resources/mapper/screenFile.xml +++ b/backend-spring/src/main/resources/mapper/screenFile.xml @@ -23,7 +23,7 @@ , CREATED_DATE , STATUS FROM ATTACH_FILE_INFO - WHERE TARGET_OBJID LIKE #{targetObjidPattern} + WHERE TARGET_OBJID LIKE #{target_objid_pattern} AND STATUS = 'ACTIVE' ORDER BY CREATED_DATE DESC @@ -48,7 +48,7 @@ , CREATED_DATE , STATUS FROM ATTACH_FILE_INFO - WHERE TARGET_OBJID LIKE #{targetObjidPattern} + WHERE TARGET_OBJID LIKE #{target_objid_pattern} AND STATUS = 'ACTIVE' ORDER BY CREATED_DATE DESC diff --git a/backend-spring/src/main/resources/mapper/screenGroup.xml b/backend-spring/src/main/resources/mapper/screenGroup.xml index 2bfd0aba..08d3db69 100644 --- a/backend-spring/src/main/resources/mapper/screenGroup.xml +++ b/backend-spring/src/main/resources/mapper/screenGroup.xml @@ -11,17 +11,17 @@ SELECT COUNT(*) FROM SCREEN_GROUPS WHERE 1=1 - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') - + AND (HIERARCHY_PATH IS NULL OR (HIERARCHY_PATH NOT LIKE 'POP/%' AND HIERARCHY_PATH != 'POP')) - - AND (GROUP_NAME ILIKE '%' || #{searchTerm} || '%' - OR GROUP_CODE ILIKE '%' || #{searchTerm} || '%' - OR DESCRIPTION ILIKE '%' || #{searchTerm} || '%') + + AND (GROUP_NAME ILIKE '%' || #{search_term} || '%' + OR GROUP_CODE ILIKE '%' || #{search_term} || '%' + OR DESCRIPTION ILIKE '%' || #{search_term} || '%') @@ -36,17 +36,17 @@ ) AS SCREEN_COUNT FROM SCREEN_GROUPS SG WHERE 1=1 - - AND (SG.COMPANY_CODE = #{companyCode} OR SG.COMPANY_CODE = '*') + + AND (SG.COMPANY_CODE = #{company_code} OR SG.COMPANY_CODE = '*') - + AND (SG.HIERARCHY_PATH IS NULL OR (SG.HIERARCHY_PATH NOT LIKE 'POP/%' AND SG.HIERARCHY_PATH != 'POP')) - - AND (SG.GROUP_NAME ILIKE '%' || #{searchTerm} || '%' - OR SG.GROUP_CODE ILIKE '%' || #{searchTerm} || '%' - OR SG.DESCRIPTION ILIKE '%' || #{searchTerm} || '%') + + AND (SG.GROUP_NAME ILIKE '%' || #{search_term} || '%' + OR SG.GROUP_CODE ILIKE '%' || #{search_term} || '%' + OR SG.DESCRIPTION ILIKE '%' || #{search_term} || '%') ORDER BY SG.DISPLAY_ORDER ASC, SG.CREATED_DATE DESC @@ -79,15 +79,15 @@ SELECT * FROM SCREEN_GROUPS WHERE ID = #{id} - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') @@ -95,52 +95,52 @@ GROUP_NAME, GROUP_CODE, MAIN_TABLE_NAME, DESCRIPTION, ICON, DISPLAY_ORDER, IS_ACTIVE, COMPANY_CODE, WRITER, PARENT_GROUP_ID, GROUP_LEVEL ) VALUES ( - #{groupName}, #{groupCode}, #{mainTableName}, #{description}, #{icon}, - #{displayOrder}, #{isActive}, #{companyCode}, #{userId}, #{parentGroupId}, #{groupLevel} + #{group_name}, #{group_code}, #{main_table_name}, #{description}, #{icon}, + #{display_order}, #{is_active}, #{company_code}, #{user_id}, #{parent_group_id}, #{group_level} ) UPDATE SCREEN_GROUPS - SET HIERARCHY_PATH = #{hierarchyPath} + SET HIERARCHY_PATH = #{hierarchy_path} WHERE ID = #{id} UPDATE SCREEN_GROUPS - SET GROUP_NAME = #{groupName}, - GROUP_CODE = #{groupCode}, - MAIN_TABLE_NAME = #{mainTableName}, + SET GROUP_NAME = #{group_name}, + GROUP_CODE = #{group_code}, + MAIN_TABLE_NAME = #{main_table_name}, DESCRIPTION = #{description}, ICON = #{icon}, - DISPLAY_ORDER = #{displayOrder}, - IS_ACTIVE = #{isActive}, + DISPLAY_ORDER = #{display_order}, + IS_ACTIVE = #{is_active}, UPDATED_DATE = NOW(), - PARENT_GROUP_ID = #{parentGroupId}, - GROUP_LEVEL = #{groupLevel}, - HIERARCHY_PATH = #{hierarchyPath} + PARENT_GROUP_ID = #{parent_group_id}, + GROUP_LEVEL = #{group_level}, + HIERARCHY_PATH = #{hierarchy_path} WHERE ID = #{id} - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') UPDATE SCREEN_GROUPS - SET GROUP_NAME = #{groupName}, - GROUP_CODE = #{groupCode}, - MAIN_TABLE_NAME = #{mainTableName}, + SET GROUP_NAME = #{group_name}, + GROUP_CODE = #{group_code}, + MAIN_TABLE_NAME = #{main_table_name}, DESCRIPTION = #{description}, ICON = #{icon}, - DISPLAY_ORDER = #{displayOrder}, - IS_ACTIVE = #{isActive}, + DISPLAY_ORDER = #{display_order}, + IS_ACTIVE = #{is_active}, UPDATED_DATE = NOW(), - PARENT_GROUP_ID = #{parentGroupId}, - GROUP_LEVEL = #{groupLevel}, - HIERARCHY_PATH = #{hierarchyPath}, - (COMPANY_CODE = #{targetCompanyCode} OR COMPANY_CODE = '*') + PARENT_GROUP_ID = #{parent_group_id}, + GROUP_LEVEL = #{group_level}, + HIERARCHY_PATH = #{hierarchy_path}, + (COMPANY_CODE = #{target_company_code} OR COMPANY_CODE = '*') WHERE ID = #{id} @@ -156,7 +156,7 @@ SELECT ID, COMPANY_CODE FROM SCREEN_GROUPS WHERE ID = #{id} - AND (COMPANY_CODE = #{targetCompanyCode} OR COMPANY_CODE = '*') + AND (COMPANY_CODE = #{target_company_code} OR COMPANY_CODE = '*') UNION ALL @@ -175,7 +175,7 @@ #{gid} ) - AND (COMPANY_CODE = #{targetCompanyCode} OR COMPANY_CODE = '*') + AND (COMPANY_CODE = #{target_company_code} OR COMPANY_CODE = '*') @@ -185,7 +185,7 @@ #{objid} ) - AND (COMPANY_CODE = #{targetCompanyCode} OR COMPANY_CODE = '*') + AND (COMPANY_CODE = #{target_company_code} OR COMPANY_CODE = '*') @@ -195,7 +195,7 @@ #{gid} ) - AND (COMPANY_CODE = #{targetCompanyCode} OR COMPANY_CODE = '*') + AND (COMPANY_CODE = #{target_company_code} OR COMPANY_CODE = '*') - SELECT PG_ADVISORY_XACT_LOCK(#{lockId}) + SELECT PG_ADVISORY_XACT_LOCK(#{lock_id}) @@ -355,8 +355,8 @@ SELECT * FROM SCREEN_LAYOUTS_V1 - WHERE SCREEN_ID = #{screenId} - AND (COMPANY_CODE = #{companyCode} OR #{companyCode} = '*') + WHERE SCREEN_ID = #{screen_id} + AND (COMPANY_CODE = #{company_code} OR #{company_code} = '*') ORDER BY DISPLAY_ORDER ASC NULLS LAST, LAYOUT_ID ASC @@ -369,9 +369,9 @@ , CONDITION_CONFIG , COMPANY_CODE FROM SCREEN_LAYOUTS_V2 - WHERE SCREEN_ID = #{screenId} - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') - AND LAYER_ID = #{layerId} + WHERE SCREEN_ID = #{screen_id} + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') + AND LAYER_ID = #{layer_id} ORDER BY LAYER_ID ASC LIMIT 1 @@ -383,9 +383,9 @@ , CONDITION_CONFIG , COMPANY_CODE FROM SCREEN_LAYOUTS_V2 - WHERE SCREEN_ID = #{screenId} - AND COMPANY_CODE = #{companyCode} - AND LAYER_ID = #{layerId} + WHERE SCREEN_ID = #{screen_id} + AND COMPANY_CODE = #{company_code} + AND LAYER_ID = #{layer_id} ORDER BY LAYER_ID ASC LIMIT 1 @@ -400,11 +400,11 @@ , CREATED_DATE , UPDATED_DATE ) VALUES ( - #{screenId} - , #{companyCode} - , #{layerId} - , #{layerName} - , #{layoutData}::jsonb + #{screen_id} + , #{company_code} + , #{layer_id} + , #{layer_name} + , #{layout_data}::jsonb , NOW() , NOW() ) @@ -425,12 +425,12 @@ , CREATED_DATE , UPDATED_DATE ) VALUES ( - #{screenId} - , #{companyCode} - , #{layerId} - , #{layerName} - , #{conditionConfig}::jsonb - , #{layoutData}::jsonb + #{screen_id} + , #{company_code} + , #{layer_id} + , #{layer_name} + , #{condition_config}::jsonb + , #{layout_data}::jsonb , NOW() , NOW() ) @@ -444,9 +444,9 @@ UPDATE SCREEN_DEFINITIONS SET - TABLE_NAME = #{tableName} + TABLE_NAME = #{table_name} , UPDATED_DATE = NOW() - WHERE SCREEN_ID = #{screenId} + WHERE SCREEN_ID = #{screen_id} @@ -459,9 +459,9 @@ , JSONB_ARRAY_LENGTH(COALESCE(LAYOUT_DATA->'components', '[]'::jsonb)) AS COMPONENT_COUNT , UPDATED_DATE AS UPDATED_AT FROM SCREEN_LAYOUTS_V2 - WHERE SCREEN_ID = #{screenId} - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + WHERE SCREEN_ID = #{screen_id} + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') ORDER BY LAYER_ID @@ -476,11 +476,11 @@ , CREATED_DATE , UPDATED_DATE ) VALUES ( - #{screenId} - , #{companyCode} + #{screen_id} + , #{company_code} , 1 , '기본 레이어' - , #{layoutData}::jsonb + , #{layout_data}::jsonb , NOW() , NOW() ) @@ -493,37 +493,37 @@ , LAYER_NAME , CONDITION_CONFIG FROM SCREEN_LAYOUTS_V2 - WHERE SCREEN_ID = #{screenId} - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') - AND LAYER_ID = #{layerId} + WHERE SCREEN_ID = #{screen_id} + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') + AND LAYER_ID = #{layer_id} LIMIT 1 DELETE FROM SCREEN_LAYOUTS_V2 - WHERE SCREEN_ID = #{screenId} - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') - AND LAYER_ID = #{layerId} + WHERE SCREEN_ID = #{screen_id} + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') + AND LAYER_ID = #{layer_id} UPDATE SCREEN_LAYOUTS_V2 - CONDITION_CONFIG = #{conditionConfig}::jsonb, + CONDITION_CONFIG = #{condition_config}::jsonb, UPDATED_DATE = NOW() - , LAYER_NAME = #{layerName} + , LAYER_NAME = #{layer_name} - WHERE SCREEN_ID = #{screenId} - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') - AND LAYER_ID = #{layerId} + WHERE SCREEN_ID = #{screen_id} + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') + AND LAYER_ID = #{layer_id} @@ -535,12 +535,12 @@ , LAYER_NAME , CONDITION_CONFIG ) VALUES ( - #{screenId} - , #{companyCode} - , #{layoutData}::jsonb - , #{layerId} - , #{layerName} - , #{conditionConfig}::jsonb + #{screen_id} + , #{company_code} + , #{layout_data}::jsonb + , #{layer_id} + , #{layer_name} + , #{condition_config}::jsonb ) ON CONFLICT (SCREEN_ID, COMPANY_CODE, LAYER_ID) DO UPDATE SET LAYOUT_DATA = EXCLUDED.LAYOUT_DATA @@ -555,9 +555,9 @@ SELECT * FROM SCREEN_CONDITIONAL_ZONES - WHERE SCREEN_ID = #{screenId} - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + WHERE SCREEN_ID = #{screen_id} + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') ORDER BY ZONE_ID @@ -574,15 +574,15 @@ , TRIGGER_COMPONENT_ID , TRIGGER_OPERATOR ) VALUES ( - #{screenId} - , #{companyCode} - , #{zoneName} + #{screen_id} + , #{company_code} + , #{zone_name} , #{x} , #{y} , #{width} , #{height} - , #{triggerComponentId} - , #{triggerOperator} + , #{trigger_component_id} + , #{trigger_operator} ) RETURNING * @@ -591,22 +591,22 @@ UPDATE SCREEN_CONDITIONAL_ZONES UPDATED_DATE = NOW() - , ZONE_NAME = #{zoneName} + , ZONE_NAME = #{zone_name} , X = #{x} , Y = #{y} , WIDTH = #{width} , HEIGHT = #{height} - , TRIGGER_COMPONENT_ID = #{triggerComponentId} - , TRIGGER_OPERATOR = #{triggerOperator} + , TRIGGER_COMPONENT_ID = #{trigger_component_id} + , TRIGGER_OPERATOR = #{trigger_operator} - WHERE ZONE_ID = #{zoneId} - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + WHERE ZONE_ID = #{zone_id} + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') DELETE FROM SCREEN_CONDITIONAL_ZONES - WHERE ZONE_ID = #{zoneId} - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + WHERE ZONE_ID = #{zone_id} + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') @@ -614,16 +614,16 @@ SET CONDITION_CONFIG = NULL , UPDATED_DATE = NOW() - WHERE (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') - AND CONDITION_CONFIG->>'zone_id' = #{zoneIdStr} + WHERE (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') + AND CONDITION_CONFIG->>'zone_id' = #{zone_id_str} @@ -633,8 +633,8 @@ SELECT LAYOUT_DATA FROM SCREEN_LAYOUTS_POP - WHERE SCREEN_ID = #{screenId} - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + WHERE SCREEN_ID = #{screen_id} + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') LIMIT 1 @@ -648,13 +648,13 @@ , CREATED_BY , UPDATED_BY ) VALUES ( - #{screenId} - , #{companyCode} - , #{layoutData}::jsonb + #{screen_id} + , #{company_code} + , #{layout_data}::jsonb , NOW() , NOW() - , #{userId} - , #{userId} + , #{user_id} + , #{user_id} ) ON CONFLICT (SCREEN_ID, COMPANY_CODE) DO UPDATE SET LAYOUT_DATA = EXCLUDED.LAYOUT_DATA @@ -664,16 +664,16 @@ DELETE FROM SCREEN_LAYOUTS_POP - WHERE SCREEN_ID = #{screenId} - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + WHERE SCREEN_ID = #{screen_id} + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') @@ -683,9 +683,9 @@ SELECT ASSIGNMENT_ID FROM SCREEN_MENU_ASSIGNMENTS - WHERE SCREEN_ID = #{screenId} - AND MENU_OBJID = #{menuObjid} - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + WHERE SCREEN_ID = #{screen_id} + AND MENU_OBJID = #{menu_objid} + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') LIMIT 1 @@ -697,11 +697,11 @@ , DISPLAY_ORDER , CREATED_BY ) VALUES ( - #{screenId} - , #{menuObjid} - , #{companyCode} - , #{displayOrder} - , #{createdBy} + #{screen_id} + , #{menu_objid} + , #{company_code} + , #{display_order} + , #{created_by} ) @@ -709,7 +709,7 @@ SELECT SCREEN_CODE FROM SCREEN_DEFINITIONS - WHERE SCREEN_ID = #{screenId} + WHERE SCREEN_ID = #{screen_id} LIMIT 1 @@ -717,23 +717,23 @@ SELECT MENU_TYPE FROM MENU_INFO - WHERE OBJID = #{menuObjid} + WHERE OBJID = #{menu_objid} LIMIT 1 UPDATE MENU_INFO SET - MENU_URL = #{menuUrl} - , SCREEN_CODE = #{screenCode} - WHERE OBJID = #{menuObjid} + MENU_URL = #{menu_url} + , SCREEN_CODE = #{screen_code} + WHERE OBJID = #{menu_objid} DELETE FROM SCREEN_MENU_ASSIGNMENTS - WHERE SCREEN_ID = #{screenId} - AND MENU_OBJID = #{menuObjid} - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + WHERE SCREEN_ID = #{screen_id} + AND MENU_OBJID = #{menu_objid} + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') @@ -741,7 +741,7 @@ SET MENU_URL = NULL , SCREEN_CODE = NULL - WHERE OBJID = #{menuObjid} + WHERE OBJID = #{menu_objid} @@ -762,8 +762,8 @@ , MI.MENU_NAME_KOR FROM SCREEN_MENU_ASSIGNMENTS SMA LEFT JOIN MENU_INFO MI ON SMA.MENU_OBJID = MI.OBJID - WHERE SMA.SCREEN_ID = #{screenId} - AND (SMA.COMPANY_CODE = #{companyCode} OR SMA.COMPANY_CODE = '*') + WHERE SMA.SCREEN_ID = #{screen_id} + AND (SMA.COMPANY_CODE = #{company_code} OR SMA.COMPANY_CODE = '*') AND SMA.IS_ACTIVE = 'Y' ORDER BY SMA.CREATED_DATE ASC LIMIT 1 @@ -797,8 +797,8 @@ LEFT JOIN SCREEN_LAYOUTS SL ON SD.SCREEN_ID = SL.SCREEN_ID AND SL.COMPONENT_TYPE = 'component' WHERE SD.IS_ACTIVE != 'D' - - AND SD.COMPANY_CODE IN (#{companyCode}, '*') + + AND SD.COMPANY_CODE IN (#{company_code}, '*') @@ -809,7 +809,7 @@ , MI.MENU_NAME_KOR FROM SCREEN_MENU_ASSIGNMENTS SMA LEFT JOIN MENU_INFO MI ON SMA.MENU_OBJID = MI.OBJID - WHERE SMA.SCREEN_ID = #{screenId} + WHERE SMA.SCREEN_ID = #{screen_id} AND SMA.IS_ACTIVE = 'Y' @@ -818,7 +818,7 @@ LAYOUT_ID , PROPERTIES FROM SCREEN_LAYOUTS - WHERE SCREEN_ID = #{screenId} + WHERE SCREEN_ID = #{screen_id} AND COMPONENT_TYPE = 'component' AND PROPERTIES IS NOT NULL @@ -843,7 +843,7 @@ SELECT * FROM SCREEN_DEFINITIONS - WHERE SCREEN_ID = #{screenId} + WHERE SCREEN_ID = #{screen_id} LIMIT 1 @@ -862,18 +862,18 @@ , REST_API_ENDPOINT , REST_API_JSON_PATH ) VALUES ( - #{screenName} - , #{screenCode} - , #{tableName} - , #{companyCode} + #{screen_name} + , #{screen_code} + , #{table_name} + , #{company_code} , #{description} - , #{createdBy} - , #{dbSourceType} - , #{dbConnectionId} - , #{dataSourceType} - , #{restApiConnectionId} - , #{restApiEndpoint} - , #{restApiJsonPath} + , #{created_by} + , #{db_source_type} + , #{db_connection_id} + , #{data_source_type} + , #{rest_api_connection_id} + , #{rest_api_endpoint} + , #{rest_api_json_path} ) RETURNING SCREEN_ID @@ -897,7 +897,7 @@ SELECT * FROM SCREEN_LAYOUTS - WHERE SCREEN_ID = #{screenId} + WHERE SCREEN_ID = #{screen_id} ORDER BY DISPLAY_ORDER ASC NULLS LAST, LAYOUT_ID ASC @@ -914,16 +914,16 @@ , PROPERTIES , DISPLAY_ORDER ) VALUES ( - #{screenId} - , #{componentType} - , #{componentId} - , #{parentId} - , #{positionX} - , #{positionY} + #{screen_id} + , #{component_type} + , #{component_id} + , #{parent_id} + , #{position_x} + , #{position_y} , #{width} , #{height} , #{properties}::jsonb - , #{displayOrder} + , #{display_order} ) @@ -936,7 +936,7 @@ , CONDITION_CONFIG , LAYOUT_DATA FROM SCREEN_LAYOUTS_V2 - WHERE SCREEN_ID = #{screenId} + WHERE SCREEN_ID = #{screen_id} @@ -950,12 +950,12 @@ , CREATED_DATE , UPDATED_DATE ) VALUES ( - #{screenId} - , #{companyCode} - , #{layerId} - , #{layerName} - , #{conditionConfig}::jsonb - , #{layoutData}::jsonb + #{screen_id} + , #{company_code} + , #{layer_id} + , #{layer_name} + , #{condition_config}::jsonb + , #{layout_data}::jsonb , NOW() , NOW() ) @@ -971,7 +971,7 @@ LAYOUT_ID , PROPERTIES FROM SCREEN_LAYOUTS - WHERE SCREEN_ID = #{screenId} + WHERE SCREEN_ID = #{screen_id} AND COMPONENT_TYPE = 'component' AND PROPERTIES IS NOT NULL @@ -980,7 +980,7 @@ UPDATE SCREEN_LAYOUTS SET PROPERTIES = #{properties}::jsonb - WHERE LAYOUT_ID = #{layoutId} + WHERE LAYOUT_ID = #{layout_id} UPDATE SCREEN_LAYOUTS_V2 SET - LAYOUT_DATA = #{layoutData}::jsonb + LAYOUT_DATA = #{layout_data}::jsonb , UPDATED_DATE = NOW() - WHERE SCREEN_ID = #{screenId} - AND LAYER_ID = #{layerId} - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + WHERE SCREEN_ID = #{screen_id} + AND LAYER_ID = #{layer_id} + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') @@ -1010,9 +1010,9 @@ SELECT LAYOUT_DATA FROM SCREEN_LAYOUTS_V2 - WHERE SCREEN_ID = #{screenId} - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') - ORDER BY CASE WHEN COMPANY_CODE = #{companyCode} THEN 0 ELSE 1 END + WHERE SCREEN_ID = #{screen_id} + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') + ORDER BY CASE WHEN COMPANY_CODE = #{company_code} THEN 0 ELSE 1 END LIMIT 1 @@ -1020,40 +1020,40 @@ SELECT COUNT(*) FROM SCREEN_LAYOUTS_V2 SLV JOIN SCREEN_DEFINITIONS SD ON SLV.SCREEN_ID = SD.SCREEN_ID - WHERE SLV.SCREEN_ID != #{screenId} + WHERE SLV.SCREEN_ID != #{screen_id} AND SD.IS_ACTIVE != 'D' - - AND (SD.COMPANY_CODE = #{companyCode} OR SD.COMPANY_CODE = '*') + + AND (SD.COMPANY_CODE = #{company_code} OR SD.COMPANY_CODE = '*') AND ( - SLV.LAYOUT_DATA::text LIKE '%"flowId":' || #{flowId} || '%' - OR SLV.LAYOUT_DATA::text LIKE '%"flowId":"' || #{flowId} || '"%' + SLV.LAYOUT_DATA::text LIKE '%"flowId":' || #{flow_id} || '%' + OR SLV.LAYOUT_DATA::text LIKE '%"flowId":"' || #{flow_id} || '"%' ) DELETE FROM FLOW_STEP_CONNECTION - WHERE FLOW_DEFINITION_ID = #{flowId} + WHERE FLOW_DEFINITION_ID = #{flow_id} DELETE FROM FLOW_STEP - WHERE FLOW_DEFINITION_ID = #{flowId} + WHERE FLOW_DEFINITION_ID = #{flow_id} DELETE FROM FLOW_DEFINITION - WHERE ID = #{flowId} - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + WHERE ID = #{flow_id} + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') DELETE FROM NODE_FLOWS - WHERE FLOW_ID = #{flowId} - - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + WHERE FLOW_ID = #{flow_id} + + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') @@ -1067,7 +1067,7 @@ #{id} - AND (COMPANY_CODE = #{sourceCompanyCode} OR COMPANY_CODE = '*') + AND (COMPANY_CODE = #{source_company_code} OR COMPANY_CODE = '*') AND IS_ACTIVE = 'Y' @@ -1079,11 +1079,11 @@ , DISPLAY_ORDER , CREATED_BY ) VALUES ( - #{screenId} - , #{menuObjid} - , #{companyCode} - , #{displayOrder} - , #{createdBy} + #{screen_id} + , #{menu_objid} + , #{company_code} + , #{display_order} + , #{created_by} ) ON CONFLICT DO NOTHING @@ -1092,7 +1092,7 @@ SELECT * FROM CODE_CATEGORY - WHERE (COMPANY_CODE = #{sourceCompanyCode} OR COMPANY_CODE = '*') + WHERE (COMPANY_CODE = #{source_company_code} OR COMPANY_CODE = '*') @@ -1102,9 +1102,9 @@ , COMPANY_CODE , DESCRIPTION ) VALUES ( - #{categoryCode} - , #{categoryName} - , #{targetCompanyCode} + #{category_code} + , #{category_name} + , #{target_company_code} , #{description} ) ON CONFLICT (CATEGORY_CODE, COMPANY_CODE) DO UPDATE SET @@ -1116,8 +1116,8 @@ SELECT * FROM CODE_INFO - WHERE (COMPANY_CODE = #{sourceCompanyCode} OR COMPANY_CODE = '*') - AND CODE_CATEGORY = #{codeCategory} + WHERE (COMPANY_CODE = #{source_company_code} OR COMPANY_CODE = '*') + AND CODE_CATEGORY = #{code_category} @@ -1129,12 +1129,12 @@ , SORT_ORDER , IS_ACTIVE ) VALUES ( - #{codeCategory} - , #{codeValue} - , #{codeName} - , #{targetCompanyCode} - , #{sortOrder} - , #{isActive} + #{code_category} + , #{code_value} + , #{code_name} + , #{target_company_code} + , #{sort_order} + , #{is_active} ) ON CONFLICT (CODE_CATEGORY, CODE_VALUE, COMPANY_CODE) DO UPDATE SET CODE_NAME = EXCLUDED.CODE_NAME @@ -1146,7 +1146,7 @@ SELECT * FROM CATEGORY_TREE - WHERE (COMPANY_CODE = #{sourceCompanyCode} OR COMPANY_CODE = '*') + WHERE (COMPANY_CODE = #{source_company_code} OR COMPANY_CODE = '*') @@ -1157,11 +1157,11 @@ , COMPANY_CODE , SORT_ORDER ) VALUES ( - #{categoryCode} - , #{categoryName} - , #{parentCode} - , #{targetCompanyCode} - , #{sortOrder} + #{category_code} + , #{category_name} + , #{parent_code} + , #{target_company_code} + , #{sort_order} ) ON CONFLICT (CATEGORY_CODE, COMPANY_CODE) DO UPDATE SET CATEGORY_NAME = EXCLUDED.CATEGORY_NAME @@ -1173,7 +1173,7 @@ SELECT * FROM CATEGORY_VALUE - WHERE (COMPANY_CODE = #{sourceCompanyCode} OR COMPANY_CODE = '*') + WHERE (COMPANY_CODE = #{source_company_code} OR COMPANY_CODE = '*') @@ -1184,11 +1184,11 @@ , COMPANY_CODE , SORT_ORDER ) VALUES ( - #{categoryCode} - , #{valueCode} - , #{valueName} - , #{targetCompanyCode} - , #{sortOrder} + #{category_code} + , #{value_code} + , #{value_name} + , #{target_company_code} + , #{sort_order} ) ON CONFLICT (CATEGORY_CODE, VALUE_CODE, COMPANY_CODE) DO UPDATE SET VALUE_NAME = EXCLUDED.VALUE_NAME @@ -1199,7 +1199,7 @@ SELECT * FROM TABLE_TYPE_COLUMNS - WHERE (COMPANY_CODE = #{sourceCompanyCode} OR COMPANY_CODE = '*') + WHERE (COMPANY_CODE = #{source_company_code} OR COMPANY_CODE = '*') @@ -1213,14 +1213,14 @@ , DISPLAY_ORDER , IS_NULLABLE ) VALUES ( - #{tableName} - , #{columnName} - , #{columnLabel} - , #{inputType} - , #{targetCompanyCode} - , #{isVisible} - , #{displayOrder} - , #{isNullable} + #{table_name} + , #{column_name} + , #{column_label} + , #{input_type} + , #{target_company_code} + , #{is_visible} + , #{display_order} + , #{is_nullable} ) ON CONFLICT (TABLE_NAME, COLUMN_NAME, COMPANY_CODE) DO UPDATE SET COLUMN_LABEL = EXCLUDED.COLUMN_LABEL @@ -1233,7 +1233,7 @@ SELECT * FROM CASCADING_RELATION - WHERE (COMPANY_CODE = #{sourceCompanyCode} OR COMPANY_CODE = '*') + WHERE (COMPANY_CODE = #{source_company_code} OR COMPANY_CODE = '*') @@ -1244,11 +1244,11 @@ , CHILD_COLUMN , COMPANY_CODE ) VALUES ( - #{parentTable} - , #{parentColumn} - , #{childTable} - , #{childColumn} - , #{targetCompanyCode} + #{parent_table} + , #{parent_column} + , #{child_table} + , #{child_column} + , #{target_company_code} ) ON CONFLICT (PARENT_TABLE, PARENT_COLUMN, CHILD_TABLE, CHILD_COLUMN, COMPANY_CODE) DO NOTHING @@ -1260,8 +1260,8 @@ SELECT * FROM SCREEN_DEFINITIONS - WHERE SCREEN_CODE = #{screenCode} - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + WHERE SCREEN_CODE = #{screen_code} + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') AND IS_ACTIVE != 'D' LIMIT 1 @@ -1277,14 +1277,14 @@ , DB_SOURCE_TYPE , DATA_SOURCE_TYPE ) VALUES ( - #{screenName} - , #{screenCode} - , #{tableName} - , #{companyCode} + #{screen_name} + , #{screen_code} + , #{table_name} + , #{company_code} , #{description} - , #{createdBy} - , #{dbSourceType} - , #{dataSourceType} + , #{created_by} + , #{db_source_type} + , #{data_source_type} ) RETURNING SCREEN_ID @@ -1303,13 +1303,13 @@ , CREATED_BY , UPDATED_BY ) VALUES ( - #{screenId} - , #{companyCode} - , #{layoutData}::jsonb + #{screen_id} + , #{company_code} + , #{layout_data}::jsonb , NOW() , NOW() - , #{userId} - , #{userId} + , #{user_id} + , #{user_id} ) ON CONFLICT (SCREEN_ID, COMPANY_CODE) DO UPDATE SET LAYOUT_DATA = EXCLUDED.LAYOUT_DATA @@ -1335,7 +1335,7 @@ FROM INFORMATION_SCHEMA.TABLES T WHERE TABLE_SCHEMA = 'public' AND TABLE_TYPE = 'BASE TABLE' - AND TABLE_NAME = #{tableName} + AND TABLE_NAME = #{table_name} LIMIT 1 @@ -1350,7 +1350,7 @@ , C.NUMERIC_SCALE FROM INFORMATION_SCHEMA.COLUMNS C WHERE C.TABLE_SCHEMA = 'public' - AND C.TABLE_NAME = #{tableName} + AND C.TABLE_NAME = #{table_name} ORDER BY C.ORDINAL_POSITION @@ -1367,8 +1367,8 @@ , DISPLAY_ORDER , DESCRIPTION FROM TABLE_TYPE_COLUMNS - WHERE TABLE_NAME = #{tableName} - AND (COMPANY_CODE = #{companyCode} OR COMPANY_CODE = '*') + WHERE TABLE_NAME = #{table_name} + AND (COMPANY_CODE = #{company_code} OR COMPANY_CODE = '*') ORDER BY DISPLAY_ORDER NULLS LAST, COLUMN_NAME diff --git a/backend-spring/src/main/resources/mapper/shippingOrder.xml b/backend-spring/src/main/resources/mapper/shippingOrder.xml index 4544a25b..2b27b154 100644 --- a/backend-spring/src/main/resources/mapper/shippingOrder.xml +++ b/backend-spring/src/main/resources/mapper/shippingOrder.xml @@ -5,14 +5,14 @@ - - AND (si.company_code = #{companyCode} OR si.company_code = '*') + + AND (si.company_code = #{company_code} OR si.company_code = '*') - - AND si.instruction_date >= #{dateFrom}::date + + AND si.instruction_date >= #{date_from}::date - - AND si.instruction_date <= #{dateTo}::date + + AND si.instruction_date <= #{date_to}::date AND si.status = #{status} @@ -87,7 +87,7 @@ FROM shipment_instruction WHERE id = #{id} - AND (company_code = #{companyCode} OR company_code = '*') + AND (company_code = #{company_code} OR company_code = '*') @@ -106,11 +106,11 @@ arrival_time, delivery_address, created_date, created_by ) VALUES ( - #{companyCode}, #{instructionNo}, #{instructionDate}::date, #{partnerId}, + #{company_code}, #{instruction_no}, #{instruction_date}::date, #{partner_id}, COALESCE(#{status}, 'READY'), #{memo}, - #{carrierName}, #{vehicleNo}, #{driverName}, #{driverContact}, - #{arrivalTime}, #{deliveryAddress}, - NOW(), #{createdBy} + #{carrier_name}, #{vehicle_no}, #{driver_name}, #{driver_contact}, + #{arrival_time}, #{delivery_address}, + NOW(), #{created_by} ) @@ -118,34 +118,34 @@ UPDATE shipment_instruction SET - instruction_date = #{instructionDate}::date, - partner_id = #{partnerId}, + instruction_date = #{instruction_date}::date, + partner_id = #{partner_id}, status = COALESCE(#{status}, 'READY'), memo = #{memo}, - carrier_name = #{carrierName}, - vehicle_no = #{vehicleNo}, - driver_name = #{driverName}, - driver_contact = #{driverContact}, - arrival_time = #{arrivalTime}, - delivery_address = #{deliveryAddress}, + carrier_name = #{carrier_name}, + vehicle_no = #{vehicle_no}, + driver_name = #{driver_name}, + driver_contact = #{driver_contact}, + arrival_time = #{arrival_time}, + delivery_address = #{delivery_address}, updated_date = NOW(), - updated_by = #{updatedBy} + updated_by = #{updated_by} WHERE id = #{id} - AND (company_code = #{companyCode} OR company_code = '*') + AND (company_code = #{company_code} OR company_code = '*') DELETE FROM shipment_instruction_detail - WHERE instruction_id = #{instructionId} - AND (company_code = #{companyCode} OR company_code = '*') + WHERE instruction_id = #{instruction_id} + AND (company_code = #{company_code} OR company_code = '*') DELETE FROM shipment_instruction - WHERE (company_code = #{companyCode} OR company_code = '*') + WHERE (company_code = #{company_code} OR company_code = '*') AND id IN #{id} @@ -156,7 +156,7 @@ DELETE FROM shipment_instruction WHERE id = #{id} - AND (company_code = #{companyCode} OR company_code = '*') + AND (company_code = #{company_code} OR company_code = '*') @@ -167,11 +167,11 @@ order_qty, plan_qty, ship_qty, source_type, created_date, created_by ) VALUES ( - #{companyCode}, #{instructionId}, - #{shipmentPlanId}, #{salesOrderId}, #{detailId}, - #{itemCode}, #{itemName}, #{spec}, #{material}, - COALESCE(#{orderQty}, 0), COALESCE(#{planQty}, 0), COALESCE(#{shipQty}, 0), - COALESCE(#{sourceType}, 'shipmentPlan'), NOW(), #{createdBy} + #{company_code}, #{instruction_id}, + #{shipment_plan_id}, #{sales_order_id}, #{detail_id}, + #{item_code}, #{item_name}, #{spec}, #{material}, + COALESCE(#{order_qty}, 0), COALESCE(#{plan_qty}, 0), COALESCE(#{ship_qty}, 0), + COALESCE(#{source_type}, 'shipmentPlan'), NOW(), #{created_by} ) @@ -189,7 +189,7 @@ LEFT JOIN customer_mng c ON COALESCE(m.partner_id, d.delivery_partner_code) = c.customer_code AND sp.company_code = c.company_code - WHERE (sp.company_code = #{companyCode} OR sp.company_code = '*') + WHERE (sp.company_code = #{company_code} OR sp.company_code = '*') AND sp.status = 'READY' AND (COALESCE(d.part_code, m.part_code, '') ILIKE '%' || #{keyword} || '%' @@ -216,7 +216,7 @@ ORDER BY sp.created_date DESC - LIMIT #{pageSize} OFFSET #{offset} + LIMIT #{page_size} OFFSET #{offset} @@ -112,14 +112,14 @@ company_code, detail_id, sales_order_id, plan_qty, plan_date, status, memo, created_by, created_date ) VALUES ( - #{companyCode}, - #{detailId}, - #{salesOrderId}::integer, - #{planQty}::numeric, - COALESCE(#{planDate}::date, CURRENT_DATE), + #{company_code}, + #{detail_id}, + #{sales_order_id}::integer, + #{plan_qty}::numeric, + COALESCE(#{plan_date}::date, CURRENT_DATE), COALESCE(#{status}, 'READY'), #{memo}, - #{createdBy}, + #{created_by}, NOW() ) @@ -129,15 +129,15 @@ SET updated_date = NOW() - , updated_by = #{updatedBy} - , plan_qty = #{planQty}::numeric - , plan_date = #{planDate}::date + , updated_by = #{updated_by} + , plan_qty = #{plan_qty}::numeric + , plan_date = #{plan_date}::date , memo = #{memo} , status = #{status} WHERE id = #{id} - - AND (company_code = #{companyCode} OR company_code = '*') + + AND (company_code = #{company_code} OR company_code = '*') @@ -145,8 +145,8 @@ DELETE FROM shipment_plan WHERE id = #{id} - - AND (company_code = #{companyCode} OR company_code = '*') + + AND (company_code = #{company_code} OR company_code = '*') diff --git a/backend-spring/src/main/resources/mapper/systemNotice.xml b/backend-spring/src/main/resources/mapper/systemNotice.xml index cbd2d735..f90abe2e 100644 --- a/backend-spring/src/main/resources/mapper/systemNotice.xml +++ b/backend-spring/src/main/resources/mapper/systemNotice.xml @@ -17,8 +17,8 @@ FROM SYSTEM_NOTICE WHERE 1=1 - - AND IS_ACTIVE = #{isActive} + + AND IS_ACTIVE = #{is_active} ORDER BY CREATED_DATE DESC @@ -30,8 +30,8 @@ FROM SYSTEM_NOTICE WHERE 1=1 - - AND IS_ACTIVE = #{isActive} + + AND IS_ACTIVE = #{is_active} @@ -54,9 +54,9 @@ INSERT INTO SYSTEM_NOTICE (COMPANY_CODE, TITLE, CONTENT, IS_ACTIVE, CREATED_BY, CREATED_DATE, UPDATED_DATE) - VALUES (#{companyCode}, #{title}, #{content}, - COALESCE(#{isActive}, TRUE), - #{createdBy}, NOW(), NOW()) + VALUES (#{company_code}, #{title}, #{content}, + COALESCE(#{is_active}, TRUE), + #{created_by}, NOW(), NOW()) @@ -69,8 +69,8 @@ CONTENT = #{content}, - - IS_ACTIVE = #{isActive}, + + IS_ACTIVE = #{is_active}, UPDATED_DATE = NOW() diff --git a/backend-spring/src/main/resources/mapper/tableCategoryValue.xml b/backend-spring/src/main/resources/mapper/tableCategoryValue.xml index ec43f56f..7c6969b3 100644 --- a/backend-spring/src/main/resources/mapper/tableCategoryValue.xml +++ b/backend-spring/src/main/resources/mapper/tableCategoryValue.xml @@ -20,11 +20,11 @@ ON tc.table_name = cv.table_name AND tc.column_name = cv.column_name AND cv.is_active = TRUE - - AND (cv.company_code = #{companyCode} OR cv.company_code = '*') + + AND (cv.company_code = #{company_code} OR cv.company_code = '*') - WHERE tc.table_name = #{tableName} + WHERE tc.table_name = #{table_name} AND tc.input_type = 'category' GROUP BY tc.table_name, tc.column_name, tc.display_order @@ -50,8 +50,8 @@ SELECT table_name, column_name, COUNT(*) AS cnt FROM category_values WHERE is_active = TRUE - - AND (company_code = #{companyCode} OR company_code = '*') + + AND (company_code = #{company_code} OR company_code = '*') GROUP BY table_name, column_name ) cv_count @@ -89,17 +89,17 @@ FROM category_values - WHERE table_name = #{tableName} - AND column_name = #{columnName} + WHERE table_name = #{table_name} + AND column_name = #{column_name} - - AND (company_code = #{companyCode} OR company_code = '*') + + AND (company_code = #{company_code} OR company_code = '*') AND company_code = '*' - + AND is_active = TRUE @@ -130,7 +130,7 @@ FROM category_values - WHERE value_id = #{valueId} + WHERE value_id = #{value_id} @@ -143,9 +143,9 @@ FROM category_values - WHERE value_id = #{valueId} - - AND (company_code = #{companyCode} OR company_code = '*') + WHERE value_id = #{value_id} + + AND (company_code = #{company_code} OR company_code = '*') @@ -158,7 +158,7 @@ FROM category_values - WHERE value_id = #{valueId} + WHERE value_id = #{value_id} UPDATE category_values - value_label = #{valueLabel}, - value_order = #{valueOrder}, + value_label = #{value_label}, + value_order = #{value_order}, description = #{description}, color = #{color}, icon = #{icon}, - is_active = #{isActive}, - is_default = #{isDefault}, + is_active = #{is_active}, + is_default = #{is_default}, UPDATED_DATE = NOW(), - updated_by = #{userId} + updated_by = #{user_id} - WHERE value_id = #{valueId} - - AND (company_code = #{companyCode} OR company_code = '*') + WHERE value_id = #{value_id} + + AND (company_code = #{company_code} OR company_code = '*') @@ -237,7 +237,7 @@ @@ -377,8 +377,8 @@ table_name, logical_column_name, physical_column_name, menu_objid, company_code, description, created_by, updated_by ) VALUES ( - #{tableName}, #{logicalColumnName}, #{physicalColumnName}, - #{menuObjid}, #{companyCode}, #{description}, #{userId}, #{userId} + #{table_name}, #{logical_column_name}, #{physical_column_name}, + #{menu_objid}, #{company_code}, #{description}, #{user_id}, #{user_id} ) ON CONFLICT (table_name, logical_column_name, menu_objid, company_code) DO UPDATE SET @@ -393,26 +393,26 @@ FROM category_column_mapping - WHERE table_name = #{tableName} - AND logical_column_name = #{logicalColumnName} - AND menu_objid = #{menuObjid} - AND (company_code = #{companyCode} OR company_code = '*') + WHERE table_name = #{table_name} + AND logical_column_name = #{logical_column_name} + AND menu_objid = #{menu_objid} + AND (company_code = #{company_code} OR company_code = '*') DELETE FROM category_column_mapping - WHERE mapping_id = #{mappingId} - - AND (company_code = #{companyCode} OR company_code = '*') + WHERE mapping_id = #{mapping_id} + + AND (company_code = #{company_code} OR company_code = '*') DELETE FROM category_column_mapping - WHERE table_name = #{tableName} - AND logical_column_name = #{columnName} - - AND (company_code = #{companyCode} OR company_code = '*') + WHERE table_name = #{table_name} + AND logical_column_name = #{column_name} + + AND (company_code = #{company_code} OR company_code = '*') @@ -431,8 +431,8 @@ #{code} - - AND (company_code = #{companyCode} OR company_code = '*') + + AND (company_code = #{company_code} OR company_code = '*') @@ -460,8 +460,8 @@ WHERE m1.menu_type = '1' AND m1.status = 'active' AND m0.parent_obj_id = '0' - - AND (m1.company_code = #{companyCode} OR m1.company_code = '*') + + AND (m1.company_code = #{company_code} OR m1.company_code = '*') ORDER BY m0.seq, m1.seq diff --git a/backend-spring/src/main/resources/mapper/tableHistory.xml b/backend-spring/src/main/resources/mapper/tableHistory.xml index db4384e8..70e57867 100644 --- a/backend-spring/src/main/resources/mapper/tableHistory.xml +++ b/backend-spring/src/main/resources/mapper/tableHistory.xml @@ -21,23 +21,23 @@ - - AND operation_type = #{operationType} + + AND operation_type = #{operation_type} - - AND changed_by ILIKE #{changedByLike} + + AND changed_by ILIKE #{changed_by_like} - - AND changed_at >= #{startDate}::timestamp + + AND changed_at >= #{start_date}::timestamp - - AND changed_at <= #{endDate}::timestamp + + AND changed_at <= #{end_date}::timestamp - WHERE original_id = #{recordId} + WHERE original_id = #{record_id} @@ -47,7 +47,7 @@ SELECT EXISTS ( SELECT FROM information_schema.tables WHERE table_schema = 'public' - AND table_name = #{logTableName} + AND table_name = #{log_table_name} ) AS "exists" @@ -129,7 +129,7 @@ FROM ${logTableName} - WHERE original_id = #{recordId} + WHERE original_id = #{record_id} GROUP BY changed_at, changed_by, operation_type, ip_address, full_row_before, full_row_after diff --git a/backend-spring/src/main/resources/mapper/tableManagement.xml b/backend-spring/src/main/resources/mapper/tableManagement.xml index 4509247b..f183fb9a 100644 --- a/backend-spring/src/main/resources/mapper/tableManagement.xml +++ b/backend-spring/src/main/resources/mapper/tableManagement.xml @@ -30,7 +30,7 @@ SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS C - WHERE C.TABLE_NAME = #{tableName} + WHERE C.TABLE_NAME = #{table_name} @@ -61,7 +61,7 @@ FROM template_standards - WHERE template_code = #{templateCode} + WHERE template_code = #{template_code} @@ -101,14 +101,14 @@ updated_by = #{updated_by}, - WHERE template_code = #{templateCode} + WHERE template_code = #{template_code} DELETE FROM template_standards - WHERE template_code = #{templateCode} + WHERE template_code = #{template_code} @@ -125,7 +125,7 @@ FROM template_standards - WHERE (is_public = 'Y' OR (company_code = #{companyCode} OR company_code = '*')) + WHERE (is_public = 'Y' OR (company_code = #{company_code} OR company_code = '*')) AND is_active = 'Y' AND category IS NOT NULL diff --git a/backend-spring/src/main/resources/mapper/todo.xml b/backend-spring/src/main/resources/mapper/todo.xml index d2c52a01..2d2d71a9 100644 --- a/backend-spring/src/main/resources/mapper/todo.xml +++ b/backend-spring/src/main/resources/mapper/todo.xml @@ -14,8 +14,8 @@ AND PRIORITY = #{priority} - - AND ASSIGNED_TO = #{assignedTo} + + AND ASSIGNED_TO = #{assigned_to} @@ -93,9 +93,9 @@ , #{description, jdbcType=VARCHAR} , COALESCE(#{priority, jdbcType=VARCHAR}, 'normal') , COALESCE(#{status, jdbcType=VARCHAR}, 'pending') - , #{assignedTo, jdbcType=VARCHAR} - , #{dueDate, jdbcType=DATE} - , COALESCE(#{isUrgent, jdbcType=BOOLEAN}, FALSE) + , #{assigned_to, jdbcType=VARCHAR} + , #{due_date, jdbcType=DATE} + , COALESCE(#{is_urgent, jdbcType=BOOLEAN}, FALSE) , COALESCE((SELECT COALESCE(MAX(DISPLAY_ORDER), -1) + 1 FROM TODO_ITEMS), 0) , NOW() , NOW() @@ -112,9 +112,9 @@ , STATUS = #{status} , COMPLETED_AT = NOW() - , ASSIGNED_TO = #{assignedTo} - , DUE_DATE = #{dueDate} - , IS_URGENT = #{isUrgent} + , ASSIGNED_TO = #{assigned_to} + , DUE_DATE = #{due_date} + , IS_URGENT = #{is_urgent} WHERE ID = #{id} @@ -126,7 +126,7 @@ UPDATE TODO_ITEMS SET - DISPLAY_ORDER = #{displayOrder} + DISPLAY_ORDER = #{display_order} , UPDATED_DATE = NOW() WHERE ID = #{id} diff --git a/backend-spring/src/main/resources/mapper/vehicle.xml b/backend-spring/src/main/resources/mapper/vehicle.xml index 5f838860..621e7842 100644 --- a/backend-spring/src/main/resources/mapper/vehicle.xml +++ b/backend-spring/src/main/resources/mapper/vehicle.xml @@ -59,14 +59,14 @@ , CREATED_DATE , UPDATED_DATE ) VALUES ( - #{vehicleNumber} - , #{vehicleType} - , #{userId} - , #{driverName} - , #{driverPhone} - , #{branchName} + #{vehicle_number} + , #{vehicle_type} + , #{user_id} + , #{driver_name} + , #{driver_phone} + , #{branch_name} , COALESCE(#{status}, 'off') - , #{companyCode} + , #{company_code} , NOW() , NOW() ) @@ -76,11 +76,11 @@ UPDATE VEHICLES SET - VEHICLE_NUMBER = COALESCE(#{vehicleNumber}, VEHICLE_NUMBER) - , VEHICLE_TYPE = COALESCE(#{vehicleType}, VEHICLE_TYPE) - , DRIVER_NAME = COALESCE(#{driverName}, DRIVER_NAME) - , DRIVER_PHONE = COALESCE(#{driverPhone}, DRIVER_PHONE) - , BRANCH_NAME = COALESCE(#{branchName}, BRANCH_NAME) + VEHICLE_NUMBER = COALESCE(#{vehicle_number}, VEHICLE_NUMBER) + , VEHICLE_TYPE = COALESCE(#{vehicle_type}, VEHICLE_TYPE) + , DRIVER_NAME = COALESCE(#{driver_name}, DRIVER_NAME) + , DRIVER_PHONE = COALESCE(#{driver_phone}, DRIVER_PHONE) + , BRANCH_NAME = COALESCE(#{branch_name}, BRANCH_NAME) , STATUS = COALESCE(#{status}, STATUS) , UPDATED_DATE = NOW() diff --git a/backend-spring/src/main/resources/mapper/vehicleTrip.xml b/backend-spring/src/main/resources/mapper/vehicleTrip.xml index 2d60d45b..d6e85951 100644 --- a/backend-spring/src/main/resources/mapper/vehicleTrip.xml +++ b/backend-spring/src/main/resources/mapper/vehicleTrip.xml @@ -7,21 +7,21 @@ 동적 검색 조건 (getVehicleTripList / Cnt 공통) ═══════════════════════════════════════════════════ --> - AND (vts.company_code = #{companyCode} OR vts.company_code = '*') - - AND vts.user_id = #{userId} + AND (vts.company_code = #{company_code} OR vts.company_code = '*') + + AND vts.user_id = #{user_id} - - AND vts.vehicle_id = #{vehicleId} + + AND vts.vehicle_id = #{vehicle_id} AND vts.status = #{status} - - AND DATE(vts.start_time) >= #{startDate}::date + + AND DATE(vts.start_time) >= #{start_date}::date - - AND DATE(vts.start_time) <= #{endDate}::date + + AND DATE(vts.start_time) <= #{end_date}::date AND vts.departure = #{departure} @@ -75,8 +75,8 @@ LEFT JOIN user_info ui ON vts.user_id = ui.user_id LEFT JOIN vehicles v ON vts.vehicle_id = v.id - WHERE vts.trip_id = #{tripId} - AND (vts.company_code = #{companyCode} OR vts.company_code = '*') + WHERE vts.trip_id = #{trip_id} + AND (vts.company_code = #{company_code} OR vts.company_code = '*') @@ -87,8 +87,8 @@ FROM vehicle_location_history - WHERE trip_id = #{tripId} - AND (company_code = #{companyCode} OR company_code = '*') + WHERE trip_id = #{trip_id} + AND (company_code = #{company_code} OR company_code = '*') ORDER BY recorded_at ASC @@ -99,8 +99,8 @@ FROM vehicle_trip_summary - WHERE trip_id = #{tripId} - AND (company_code = #{companyCode} OR company_code = '*') + WHERE trip_id = #{trip_id} + AND (company_code = #{company_code} OR company_code = '*') AND status = 'active' @@ -110,8 +110,8 @@ FROM vehicle_trip_summary - WHERE user_id = #{userId} - AND (company_code = #{companyCode} OR company_code = '*') + WHERE user_id = #{user_id} + AND (company_code = #{company_code} OR company_code = '*') AND status = 'active' ORDER BY start_time DESC @@ -124,8 +124,8 @@ FROM vehicle_location_history - WHERE trip_id = #{tripId} - AND (company_code = #{companyCode} OR company_code = '*') + WHERE trip_id = #{trip_id} + AND (company_code = #{company_code} OR company_code = '*') ORDER BY recorded_at DESC LIMIT 1 @@ -137,8 +137,8 @@ FROM vehicle_location_history - WHERE trip_id = #{tripId} - AND (company_code = #{companyCode} OR company_code = '*') + WHERE trip_id = #{trip_id} + AND (company_code = #{company_code} OR company_code = '*') ORDER BY recorded_at ASC @@ -154,8 +154,8 @@ FROM vehicle_location_history - WHERE trip_id = #{tripId} - AND (company_code = #{companyCode} OR company_code = '*') + WHERE trip_id = #{trip_id} + AND (company_code = #{company_code} OR company_code = '*') @@ -227,8 +227,8 @@ status = 'cancelled', end_time = NOW() - WHERE trip_id = #{tripId} - AND (company_code = #{companyCode} OR company_code = '*') + WHERE trip_id = #{trip_id} + AND (company_code = #{company_code} OR company_code = '*') AND status = 'active' @@ -236,8 +236,8 @@ DELETE FROM vehicle_trip_summary - WHERE trip_id = #{tripId} - AND (company_code = #{companyCode} OR company_code = '*') + WHERE trip_id = #{trip_id} + AND (company_code = #{company_code} OR company_code = '*') @@ -247,7 +247,7 @@ SET location_count = COALESCE(location_count, '0')::INT + 1 - WHERE trip_id = #{tripId} + WHERE trip_id = #{trip_id} @@ -257,14 +257,14 @@ departure, arrival, departure_name, destination_name, start_time, status, company_code ) VALUES ( - #{tripId}, - #{userId}, - #{vehicleId, jdbcType=INTEGER}, + #{trip_id}, + #{user_id}, + #{vehicle_id, jdbcType=INTEGER}, #{departure, jdbcType=VARCHAR}, #{arrival, jdbcType=VARCHAR}, - #{departureName, jdbcType=VARCHAR}, - #{destinationName, jdbcType=VARCHAR}, - NOW(), 'active', #{companyCode} + #{departure_name, jdbcType=VARCHAR}, + #{destination_name, jdbcType=VARCHAR}, + NOW(), 'active', #{company_code} ) @@ -273,7 +273,7 @@ FROM vehicle_trip_summary - WHERE trip_id = #{tripId} + WHERE trip_id = #{trip_id} SELECT * FROM WEB_TYPE_STANDARDS - WHERE WEB_TYPE = #{webType} + WHERE WEB_TYPE = #{web_type} @@ -45,12 +45,12 @@ DEFAULT_STYLE, INPUT_PROPERTIES, SORT_ORDER, IS_ACTIVE, CREATED_BY, CREATED_DATE, UPDATED_BY, UPDATED_DATE ) VALUES ( - #{webType}, #{typeName}, #{typeNameEng}, #{description}, #{category}, - #{componentName}, #{configPanel}, - #{defaultConfig}::JSONB, #{validationRules}::JSONB, - #{defaultStyle}::JSONB, #{inputProperties}::JSONB, - #{sortOrder}, #{isActive}, - #{createdBy}, NOW(), #{updatedBy}, NOW() + #{web_type}, #{type_name}, #{type_name_eng}, #{description}, #{category}, + #{component_name}, #{config_panel}, + #{default_config}::JSONB, #{validation_rules}::JSONB, + #{default_style}::JSONB, #{input_properties}::JSONB, + #{sort_order}, #{is_active}, + #{created_by}, NOW(), #{updated_by}, NOW() ) @@ -58,34 +58,34 @@ UPDATE WEB_TYPE_STANDARDS - TYPE_NAME = #{typeName}, - TYPE_NAME_ENG = #{typeNameEng}, + TYPE_NAME = #{type_name}, + TYPE_NAME_ENG = #{type_name_eng}, DESCRIPTION = #{description}, CATEGORY = #{category}, - COMPONENT_NAME = #{componentName}, - CONFIG_PANEL = #{configPanel}, - DEFAULT_CONFIG = #{defaultConfig}::JSONB, - VALIDATION_RULES = #{validationRules}::JSONB, - DEFAULT_STYLE = #{defaultStyle}::JSONB, - INPUT_PROPERTIES = #{inputProperties}::JSONB, - SORT_ORDER = #{sortOrder}, - IS_ACTIVE = #{isActive}, - UPDATED_BY = #{updatedBy}, + COMPONENT_NAME = #{component_name}, + CONFIG_PANEL = #{config_panel}, + DEFAULT_CONFIG = #{default_config}::JSONB, + VALIDATION_RULES = #{validation_rules}::JSONB, + DEFAULT_STYLE = #{default_style}::JSONB, + INPUT_PROPERTIES = #{input_properties}::JSONB, + SORT_ORDER = #{sort_order}, + IS_ACTIVE = #{is_active}, + UPDATED_BY = #{updated_by}, UPDATED_DATE = NOW() - WHERE WEB_TYPE = #{webType} + WHERE WEB_TYPE = #{web_type} DELETE FROM WEB_TYPE_STANDARDS - WHERE WEB_TYPE = #{webType} + WHERE WEB_TYPE = #{web_type} UPDATE WEB_TYPE_STANDARDS SET SORT_ORDER = #{sort_order}, - UPDATED_BY = #{userId}, + UPDATED_BY = #{user_id}, UPDATED_DATE = NOW() WHERE WEB_TYPE = #{web_type} diff --git a/backend-spring/src/main/resources/mapper/yardLayout.xml b/backend-spring/src/main/resources/mapper/yardLayout.xml index ff3f769f..3b1fe7ba 100644 --- a/backend-spring/src/main/resources/mapper/yardLayout.xml +++ b/backend-spring/src/main/resources/mapper/yardLayout.xml @@ -45,7 +45,7 @@ INSERT INTO yard_layout (name, description, created_by, company_code, CREATED_DATE, UPDATED_DATE) - VALUES (#{name}, #{description}, #{createdBy}, #{companyCode}, NOW(), NOW()) + VALUES (#{name}, #{description}, #{created_by}, #{company_code}, NOW(), NOW()) @@ -73,7 +73,7 @@ FROM yard_material_placement - WHERE yard_layout_id = #{yardLayoutId} + WHERE yard_layout_id = #{yard_layout_id} ORDER BY id ASC @@ -86,11 +86,11 @@ color, data_source_type, data_source_config, data_binding, memo, CREATED_DATE, UPDATED_DATE ) VALUES ( - #{yardLayoutId}, #{materialCode}, #{materialName}, #{quantity}, #{unit}, - #{positionX}, #{positionY}, #{positionZ}, - #{sizeX}, #{sizeY}, #{sizeZ}, - #{color}, #{dataSourceType}, #{dataSourceConfig}, - #{dataBinding}, #{memo}, NOW(), NOW() + #{yard_layout_id}, #{material_code}, #{material_name}, #{quantity}, #{unit}, + #{position_x}, #{position_y}, #{position_z}, + #{size_x}, #{size_y}, #{size_z}, + #{color}, #{data_source_type}, #{data_source_config}, + #{data_binding}, #{memo}, NOW(), NOW() ) @@ -98,20 +98,20 @@ UPDATE yard_material_placement SET - material_code = COALESCE(#{materialCode}, material_code), - material_name = COALESCE(#{materialName}, material_name), + material_code = COALESCE(#{material_code}, material_code), + material_name = COALESCE(#{material_name}, material_name), quantity = COALESCE(#{quantity}, quantity), unit = COALESCE(#{unit}, unit), - position_x = COALESCE(#{positionX}, position_x), - position_y = COALESCE(#{positionY}, position_y), - position_z = COALESCE(#{positionZ}, position_z), - size_x = COALESCE(#{sizeX}, size_x), - size_y = COALESCE(#{sizeY}, size_y), - size_z = COALESCE(#{sizeZ}, size_z), + position_x = COALESCE(#{position_x}, position_x), + position_y = COALESCE(#{position_y}, position_y), + position_z = COALESCE(#{position_z}, position_z), + size_x = COALESCE(#{size_x}, size_x), + size_y = COALESCE(#{size_y}, size_y), + size_z = COALESCE(#{size_z}, size_z), color = COALESCE(#{color}, color), - data_source_type = COALESCE(#{dataSourceType}, data_source_type), - data_source_config = COALESCE(#{dataSourceConfig}, data_source_config), - data_binding = COALESCE(#{dataBinding}, data_binding), + data_source_type = COALESCE(#{data_source_type}, data_source_type), + data_source_config = COALESCE(#{data_source_config}, data_source_config), + data_binding = COALESCE(#{data_binding}, data_binding), memo = COALESCE(#{memo}, memo), UPDATED_DATE = NOW() @@ -127,7 +127,7 @@ DELETE FROM yard_material_placement - WHERE yard_layout_id = #{yardLayoutId} + WHERE yard_layout_id = #{yard_layout_id} diff --git a/frontend/components/admin/AdvancedBatchModal.tsx b/frontend/components/admin/AdvancedBatchModal.tsx index 54b86cbf..c00e2fc8 100644 --- a/frontend/components/admin/AdvancedBatchModal.tsx +++ b/frontend/components/admin/AdvancedBatchModal.tsx @@ -26,15 +26,15 @@ import { ExternalDbConnectionAPI } from "@/lib/api/externalDbConnection"; // BatchJobModal에서 사용하던 config_json 구조 확장 interface RestApiConfigJson { - sourceConnectionId?: number; - targetConnectionId?: number; - targetTable?: string; + source_connection_id?: number; + target_connection_id?: number; + target_table?: string; // REST API 관련 설정 - apiUrl?: string; - apiKey?: string; + api_url?: string; + api_key?: string; endpoint?: string; - httpMethod?: string; - apiBody?: string; // POST 요청용 Body + http_method?: string; + api_body?: string; // POST 요청용 Body // 매핑 정보 등 mappings?: any[]; } @@ -66,8 +66,8 @@ export default function AdvancedBatchModal({ // 상세 설정 (config_json 내부 값) 관리 const [configData, setConfigData] = useState({ - httpMethod: "GET", // 기본값 - apiBody: "", + http_method: "GET", // 기본값 + api_body: "", }); const [isLoading, setIsLoading] = useState(false); @@ -91,13 +91,13 @@ export default function AdvancedBatchModal({ const savedConfig = job.config_json as RestApiConfigJson; setConfigData({ ...savedConfig, - httpMethod: savedConfig.httpMethod || "GET", - apiBody: savedConfig.apiBody || "", + http_method: savedConfig.http_method || "GET", + api_body: savedConfig.api_body || "", }); // 타겟 연결이 있으면 테이블 목록 로드 - if (savedConfig.targetConnectionId) { - loadTables(savedConfig.targetConnectionId); + if (savedConfig.target_connection_id) { + loadTables(savedConfig.target_connection_id); } } else { // 생성 모드 @@ -110,8 +110,8 @@ export default function AdvancedBatchModal({ config_json: {}, }); setConfigData({ - httpMethod: "GET", - apiBody: "", + http_method: "GET", + api_body: "", }); } } @@ -158,13 +158,13 @@ export default function AdvancedBatchModal({ } // REST API URL 필수 체크 - if (!configData.apiUrl) { + if (!configData.api_url) { toast.error("API 서버 URL을 입력해주세요."); return; } // 타겟 DB 연결 필수 체크 (REST -> DB 인 경우) - if (formData.job_type === "rest_to_db" && !configData.targetConnectionId) { + if (formData.job_type === "rest_to_db" && !configData.target_connection_id) { toast.error("데이터를 저장할 대상 DB 연결을 선택해주세요."); return; } @@ -283,8 +283,8 @@ export default function AdvancedBatchModal({ setConfigData(prev => ({ ...prev, apiUrl: e.target.value }))} + value={configData.api_url || ""} + onChange={(e) => setConfigData(prev => ({ ...prev, api_url: e.target.value }))} placeholder="https://api.example.com" className="mt-1" /> @@ -295,8 +295,8 @@ export default function AdvancedBatchModal({ setConfigData(prev => ({ ...prev, apiKey: e.target.value }))} + value={configData.api_key || ""} + onChange={(e) => setConfigData(prev => ({ ...prev, api_key: e.target.value }))} placeholder="인증에 필요한 API Key가 있다면 입력하세요" className="mt-1" /> @@ -315,9 +315,9 @@ export default function AdvancedBatchModal({
    - setConfigData(prev => ({ ...prev, http_method: val }))} > @@ -332,13 +332,13 @@ export default function AdvancedBatchModal({
    {/* POST/PUT 일 때 Body 입력창 노출 */} - {(configData.httpMethod === "POST" || configData.httpMethod === "PUT") && ( + {(configData.http_method === "POST" || configData.http_method === "PUT") && (
    -