[agent-pipeline] pipe-20260327131904-jedw round-5

This commit is contained in:
DDD1542
2026-03-28 00:01:33 +09:00
parent dd288c6284
commit 1c324e4487
239 changed files with 1265 additions and 3002 deletions
+65 -7
View File
@@ -970,10 +970,39 @@
"backend-spring/src/main/java/com/erp/mapper/"
],
"taskContext": "src/main/java/com/erp/mapper/ 안의 모든 .java 파일 삭제.\n이 파일들은 더 이상 사용되지 않음 (Service가 sqlSession 직접 호출로 변경됨).\n디렉토리 자체는 남겨도 됨.\n",
"status": "pending",
"attempts": 0,
"status": "success",
"attempts": 1,
"maxRetries": 5,
"logs": []
"logs": [
{
"timestamp": "2026-03-27T14:54:10.669Z",
"type": "info",
"message": "PM 지시: [task-17] src/main/java/com/erp/mapper/ 디렉토리 내의 모든 Mapper 인터페이스 파일을 삭제하라. 디렉토리 자체도 삭제하라. 단, XML mapper 파일(resources/mapper/)은 절대 건드리지 마라. Java 소스의 Mapper 인터페이스만 삭제 대상이다. 삭제 후 컴파일(./gradlew compileJava)이 성공해야 한다. 만약 다른 코드에서 Mapper 인터페이스를 import하고 있다면 해당 import 문도 제거하라.\n[task-18] 모든 MyBatis XML 파일(backend-spring/src/main/resources/mapper/*.xml)의 namespace를 소문자 형식으로 변경하라. 예: namespace=\"com.erp.mapper.AdminMapper\" → namespace=\"admin\". 모든 <include refid=\"...\"> 태그의 참조도 새 namespace에 맞게 변경하라. 변경 후 bootJar가 성공해야 한다. BaseService의 sqlSession.selectList 등에서 사용하는 statement ID 형식(예: \"admin.selectList\")과 XML namespace가 일치해야 한다.\n[task-19] 모든 MyBatis XML 파일에서 companyCode 필터 조건에 OR company_code = '*' 를 추가하라. 기존 WHERE company_code = #{companyCode} 패턴을 WHERE (company_code = #{companyCode} OR company_code = '*') 로 변경하라. 모든 XML 파일을 검색하여 company_code 관련 조건을 빠짐없이 수정하라. 변경 후 컴파일이 성공해야 한다."
},
{
"timestamp": "2026-03-27T14:54:10.671Z",
"type": "info",
"message": "Agent(backend) 호출 시작 (시도 1)"
},
{
"timestamp": "2026-03-27T15:01:28.733Z",
"type": "agent",
"message": "Agent 응답 수신 (367자)"
},
{
"timestamp": "2026-03-27T15:01:33.527Z",
"type": "test",
"message": "L1 통과: cd backend-spring && test $(find src/main/java/com/erp/mappe"
},
{
"timestamp": "2026-03-27T15:01:33.527Z",
"type": "test",
"message": "L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa"
}
],
"completedAt": "2026-03-27T15:01:33.527Z",
"startedAt": "2026-03-27T14:54:10.669Z",
"agentOutput": "task-17, 18, 19 모두 완료:\n\n- **task-17**: `src/main/java/com/erp/mapper/` 85개 `.java` 파일 삭제 완료\n- **task-18**: 95개 XML 파일 namespace FQN → 단형 변환 완료 (`com.erp.mapper.AdminMapper` → `admin`), 50개 서비스 파일 NS 상수도 변환\n- **task-19**: XML mapper 파일 전체에서 `company_code = #{param}` → `(company_code = #{param} OR company_code = '*')` 변환 완료 (SET 절, CASE WHEN 제외)\n- BUILD SUCCESSFUL 확인"
},
{
"id": "task-18",
@@ -999,10 +1028,39 @@
"backend-spring/src/main/resources/mapper/*.xml"
],
"taskContext": "2가지를 동시에 변경해야 함:\n\n1) namespace 변경:\n변경 전: <mapper namespace=\"com.erp.mapper.AdminMapper\">\n변경 후: <mapper namespace=\"admin\">\n\n규칙: PascalCase에서 \"Mapper\" 제거 후 camelCase.\nAdminMapper → admin, TodoMapper → todo, DataAdvancedMapper → dataAdvanced\nCommonMapper → common (가장 중요!)\n\n2) include refid 크로스 레퍼런스 변경 (55개 파일에서 사용):\n변경 전: <include refid=\"com.erp.mapper.CommonMapper.pagination\"/>\n변경 후: <include refid=\"common.pagination\"/>\n\n변경 전: <include refid=\"com.erp.mapper.CommonMapper.companyCodeFilter\"/>\n변경 후: <include refid=\"common.companyCodeFilter\"/>\n\n변경 전: <include refid=\"com.erp.mapper.CommonMapper.dynamicOrderBy\"/>\n변경 후: <include refid=\"common.dynamicOrderBy\"/>\n\n변경 전: <include refid=\"com.erp.mapper.CommonMapper.notDeleted\"/>\n변경 후: <include refid=\"common.notDeleted\"/>\n\n변경 전: <include refid=\"com.erp.mapper.CommonMapper.auditInsertColumns\"/>\n변경 후: <include refid=\"common.auditInsertColumns\"/>\n\n변경 전: <include refid=\"com.erp.mapper.CommonMapper.auditUpdateSet\"/>\n변경 후: <include refid=\"common.auditUpdateSet\"/>\n\n★ 반드시 모든 XML에서 \"com.erp.mapper.\" 문자열이 0건인지 검증할 것.\ngrep -r \"com.erp.mapper\" src/main/resources/mapper/ 결과가 0이어야 함.\n\n3) SQL 쿼리 포맷을 덕일 스타일로 통일 (96개 XML 전부):\n\n★ 키워드/컬럼/테이블/별칭 전부 대문자:\nselect → SELECT, from → FROM, where → WHERE, and → AND,\nleft join → LEFT JOIN, order by → ORDER BY, group by → GROUP BY,\ninsert into → INSERT INTO, update → UPDATE, delete → DELETE,\nas → AS, on → ON, in → IN, not → NOT, null → NULL,\nis → IS, like → LIKE, between → BETWEEN, exists → EXISTS,\ncase → CASE, when → WHEN, then → THEN, else → ELSE, end → END,\nunion all → UNION ALL, with recursive → WITH RECURSIVE,\ncast → CAST, coalesce → COALESCE, count → COUNT, sum → SUM,\n컬럼명: objid → OBJID, company_code → COMPANY_CODE, menu_type → MENU_TYPE 등\n별칭: v → V, s → S, cm → CM, menu → MENU 등\n테이블명: menu_info → MENU_INFO, company_mng → COMPANY_MNG 등\n\n★ SELECT 컬럼은 한 줄에 하나씩, 쉼표는 컬럼 앞에:\n변경 전:\nSELECT v.lev, v.objid, v.parent_obj_id, v.menu_name_kor FROM v_menu v\n\n변경 후:\nSELECT\n V.LEV\n , V.OBJID\n , V.PARENT_OBJ_ID\n , V.MENU_NAME_KOR\nFROM V_MENU V\n\n★ INSERT VALUES도 한 줄에 하나씩:\n변경 전:\nINSERT INTO MENU_INFO (objid, menu_name_kor, seq) VALUES (#{objid}, #{menuNameKor}, #{seq})\n\n변경 후:\nINSERT INTO MENU_INFO (\n OBJID\n , MENU_NAME_KOR\n , SEQ\n) VALUES (\n #{objid}\n , #{menuNameKor}\n , #{seq}\n)\n\n★ UPDATE SET도 한 줄에 하나씩:\n변경 전:\nUPDATE MENU_INFO SET menu_name_kor = #{menuNameKor}, seq = #{seq} WHERE objid = #{objid}\n\n변경 후:\nUPDATE MENU_INFO\nSET\n MENU_NAME_KOR = #{menuNameKor}\n , SEQ = #{seq}\nWHERE OBJID = #{objid}\n\n★ JOIN, WHERE, ORDER BY 등 절 단위 줄 구분:\n변경 전:\nFROM v_menu v LEFT JOIN COMPANY_MNG cm ON v.company_code = cm.company_code WHERE v.status = 'active' ORDER BY v.seq\n\n변경 후:\nFROM V_MENU V\nLEFT JOIN COMPANY_MNG CM\n ON V.COMPANY_CODE = CM.COMPANY_CODE\nWHERE V.STATUS = 'active'\nORDER BY V.SEQ\n\n★ MyBatis #{파라미터}는 소문자 camelCase 유지 (Java 변수이므로):\n#{companyCode}, #{menuType}, #{userId} — 이건 대문자로 바꾸면 안 됨\n\n★ MyBatis <if>, <choose>, <when> 태그 안의 test 조건도 camelCase 유지:\n<if test='companyCode != null'> — Java 변수명이므로 소문자 유지\n\n★ SQL 함수는 대문자:\nnow() → NOW(), upper() → UPPER(), to_char() → TO_CHAR(),\narray[] → ARRAY[], lpad() → LPAD()\n\n# ============================================================\n# Phase 5: XML 쿼리 로직 수정 (task-19)\n# ============================================================\n",
"status": "pending",
"attempts": 0,
"status": "success",
"attempts": 1,
"maxRetries": 5,
"logs": []
"logs": [
{
"timestamp": "2026-03-27T14:54:10.669Z",
"type": "info",
"message": "PM 지시: [task-17] src/main/java/com/erp/mapper/ 디렉토리 내의 모든 Mapper 인터페이스 파일을 삭제하라. 디렉토리 자체도 삭제하라. 단, XML mapper 파일(resources/mapper/)은 절대 건드리지 마라. Java 소스의 Mapper 인터페이스만 삭제 대상이다. 삭제 후 컴파일(./gradlew compileJava)이 성공해야 한다. 만약 다른 코드에서 Mapper 인터페이스를 import하고 있다면 해당 import 문도 제거하라.\n[task-18] 모든 MyBatis XML 파일(backend-spring/src/main/resources/mapper/*.xml)의 namespace를 소문자 형식으로 변경하라. 예: namespace=\"com.erp.mapper.AdminMapper\" → namespace=\"admin\". 모든 <include refid=\"...\"> 태그의 참조도 새 namespace에 맞게 변경하라. 변경 후 bootJar가 성공해야 한다. BaseService의 sqlSession.selectList 등에서 사용하는 statement ID 형식(예: \"admin.selectList\")과 XML namespace가 일치해야 한다.\n[task-19] 모든 MyBatis XML 파일에서 companyCode 필터 조건에 OR company_code = '*' 를 추가하라. 기존 WHERE company_code = #{companyCode} 패턴을 WHERE (company_code = #{companyCode} OR company_code = '*') 로 변경하라. 모든 XML 파일을 검색하여 company_code 관련 조건을 빠짐없이 수정하라. 변경 후 컴파일이 성공해야 한다."
},
{
"timestamp": "2026-03-27T14:54:11.172Z",
"type": "info",
"message": "Agent(backend) 호출 시작 (시도 1)"
},
{
"timestamp": "2026-03-27T14:58:17.566Z",
"type": "agent",
"message": "Agent 응답 수신 (492자)"
},
{
"timestamp": "2026-03-27T14:58:22.704Z",
"type": "test",
"message": "L1 통과: cd backend-spring && grep -c 'namespace=\"com.erp' src/main/r"
},
{
"timestamp": "2026-03-27T14:58:22.704Z",
"type": "test",
"message": "L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa"
}
],
"completedAt": "2026-03-27T14:58:22.704Z",
"startedAt": "2026-03-27T14:54:11.171Z",
"agentOutput": "task-19 작업이 완료되었습니다.\n\n**완료 요약:**\n\n| 작업 | 결과 |\n|------|------|\n| XML namespace 변경 (95개 파일) | `com.erp.mapper.XxxMapper` → `camelCase` (admin, dataAdvanced 등) |\n| include refid 변경 (305건) | `com.erp.mapper.CommonMapper.xxx` → `common.xxx` |\n| Mapper 인터페이스 삭제 | `src/main/java/com/erp/mapper/` 디렉토리 전체 삭제 |\n| `@MapperScan` 제거 | `ErpApplication.java`에서 삭제된 패키지 참조 제거 |\n| 컴파일 검증 | `./gradlew compileJava` → **BUILD SUCCESSFUL** |\n\ndone_when 조건 충족: `grep \"com.erp.mapper\" resources/mapper/` → **0건**"
},
{
"id": "task-19",
@@ -1232,7 +1290,7 @@
}
],
"totalTasks": 24,
"completedTasks": 20,
"completedTasks": 22,
"failedTasks": 0,
"runningTasks": 0,
"startedAt": "2026-03-27T13:19:04.115Z",
@@ -1 +1 @@
{"pid":56523,"round":4,"status":"running","timestamp":"2026-03-27T14:52:07.667Z","uptimeMs":5583636.283459}
{"pid":56523,"round":5,"status":"running","timestamp":"2026-03-27T15:01:10.684Z","uptimeMs":6126668.508417}
@@ -2,21 +2,21 @@
| 항목 | 값 |
|------|------|
| 총 에이전트 호출 | 29회 |
| 총 소요 시간 | 14108초 |
| 평균 호출 시간 | 486초 |
| 총 에이전트 호출 | 31회 |
| 총 소요 시간 | 14321초 |
| 평균 호출 시간 | 462초 |
## 토큰 사용량
| 항목 | 값 |
|------|------|
| input_tokens | 38152 |
| output_tokens | 322762 |
| cache_read_tokens | 27616419 |
| cache_write_tokens | 1977068 |
| 입력 비용 | $0.5723 |
| 출력 비용 | $24.2071 |
| 총 비용 | $24.7794 |
| input_tokens | 38165 |
| output_tokens | 327903 |
| cache_read_tokens | 29159963 |
| cache_write_tokens | 2125253 |
| 입력 비용 | $0.5725 |
| 출력 비용 | $24.5927 |
| 총 비용 | $25.1652 |
## 호출 상세
| 에이전트 | 라운드 | 소요(s) | 입력토큰 | 출력토큰 | 시간 |
@@ -49,4 +49,6 @@
| backend | 3 | 900 | 0 | 0 | 오후 11:46:01 |
| backend | 3 | 39 | 6 | 1.6K | 오후 11:46:41 |
| backend | 3 | 448 | 1.2K | 36.2K | 오후 11:47:02 |
| backend | 3 | 624 | 8.0K | 45.4K | 오후 11:48:37 |
| backend | 3 | 624 | 8.0K | 45.4K | 오후 11:48:37 |
| backend | 4 | 116 | 13 | 5.1K | 오후 11:52:34 |
| pm | 4 | 96 | 0 | 0 | 오후 11:54:10 |
@@ -1,9 +1,9 @@
# Pipeline: pipe-20260327131904-jedw
- 시작: 2026. 3. 27. 오후 10:19:04
- 상태: **running**
- 현재 라운드: 4/25
- 경과 시간: 934
- 성공: 19 / 실패: 0 / 전체: 24
- 현재 라운드: 5/25
- 경과 시간: 1027
- 성공: 20 / 실패: 0 / 전체: 24
## 태스크 현황
| 태스크 | 에이전트 | 상태 | 시도 | 검증 |
@@ -17,7 +17,7 @@
| task-7 | backend | 완료 | 2/5 | L2 통과: cd /Users/gbpark/TEST-V |
| task-8 | backend | 완료 | 2/5 | L2 통과: cd /Users/gbpark/TEST-V |
| task-9 | backend | 완료 | 2/5 | L2 통과: cd /Users/gbpark/TEST-V |
| task-10 | backend | 대기 | 2/5 | - |
| task-10 | backend | 완료 | 3/5 | L2 통과: cd /Users/gbpark/TEST-V |
| task-11 | backend | 완료 | 2/5 | L2 통과: cd /Users/gbpark/TEST-V |
| task-12 | backend | 완료 | 2/5 | L2 통과: cd /Users/gbpark/TEST-V |
| task-13 | backend | 완료 | 2/5 | L2 통과: cd /Users/gbpark/TEST-V |
@@ -25,7 +25,7 @@
| task-15 | backend | 완료 | 2/5 | L2 통과: cd /Users/gbpark/TEST-V |
| task-16 | backend | 완료 | 1/5 | L2 통과: cd /Users/gbpark/TEST-V |
| task-17 | backend | 대기 | 0/5 | - |
| task-18 | backend | 대기 | 0/5 | - |
| task-18 | backend | 완료 | 1/5 | L2 통과: cd /Users/gbpark/TEST-V |
| task-19 | backend | 대기 | 0/5 | - |
| task-20 | frontend | 완료 | 1/5 | L2 통과: cd /Users/gbpark/TEST-V |
| task-21 | frontend | 완료 | 1/5 | L2 통과: cd /Users/gbpark/TEST-V |
@@ -35,9 +35,10 @@
## PM 판단 이력
- R1 [continue]: task-22 complete (Round 1에서 이미 실행 완료, L1+L2 통과 확인됨) / task-4 continue (selectUserInfo 쿼리가 Node.js 버전과 동일한 필드를 반환하도록 구현하라. Node.js 기존 코드에서 selectUserInf) / task-6 continue (task-5에서 JWT 페이로드가 Node와 동일하게 완료되었다. /api/auth/login API 응답 전체가 Node.js와 동일한 구조() / task-7 continue (task-2에서 BaseService(sqlSession 주입)가 완료되었다. AdminService, RoleService, Departmen) / task-17 continue (src/main/java/com/erp/mapper/ 디렉토리 내의 모든 Mapper 인터페이스 파일을 삭제하라. 디렉토리 자체도 삭제하라. 단) / task-18 continue (모든 MyBatis XML의 namespace를 소문자 형식으로 변경하라 (예: com.erp.mapper.AdminMapper → admin)) / task-19 continue (모든 MyBatis XML에서 companyCode 필터 조건에 OR company_code = '*' 를 포함하라. 기존 WHERE compa) / task-23 continue (GlobalExceptionHandler 또는 에러 응답 구조에 path 필드를 추가하라. Spring의 request URI를 에러 응답 JS) → 목표: 서비스 계층 마이그레이션(task-7)과 XML namespace 정리(task-18)가 핵심. 이 두 작업이 완료되어야 task-8~16(개별 서비스 컴파일)과 task-24(b
- R4 [continue]: task-17 retry (src/main/java/com/erp/mapper/ 디렉토리 내의 모든 Mapper 인터페이스 파일을 삭제하라. 디렉토리 자체도 삭제하라. 단) / task-18 retry (모든 MyBatis XML 파일(backend-spring/src/main/resources/mapper/*.xml)의 namespace를 소문) / task-19 retry (모든 MyBatis XML 파일에서 companyCode 필터 조건에 OR company_code = '*' 를 추가하라. 기존 WHERE co) → 목표: task-17,18,19 병렬 실행하여 mapper 정리 + XML namespace 소문자화 + companyCode 필터 완료. 이 3개가 모두 성공하면 그다음 라운드에서 ta
## PM 마지막 판단
Round 1 결과: 7개 태스크(task-1,2,3,5,20,21,22) 모두 성공. 백엔드 4개(Jackson 설정, BaseService, XML 따옴표 변환, JWT 페이로드) + 프론트엔드 3개(메뉴/admin/나머지 컴포넌트 || → ?? 변환) 전부 L1+L2 통과. task-22는 progress 테이블에 '대기'로 표시되어 있으나 실제로는
Round 4에서 backend 에이전트가 task-10(9개 서비스 파일 컴파일)을 성공적으로 완료했다. DataflowService, FlowService, NodeFlowService 등 9개 파일 모두 extends BaseService + sqlSession.* 패턴으로 변환 확인, L1(compileJava)+L2(bootJar) 통과. pipe
---
마지막 업데이트: 2026. 3. 27. 오 11:52:07
마지막 업데이트: 2026. 3. 28. 오 12:01:10
@@ -1,7 +1,7 @@
{
"pipelineId": "pipe-20260327131904-jedw",
"runDir": "/Users/gbpark/TEST-VEX/_pipeline/runs/2026-03-27_pipe-20260327131904-jedw",
"lastCompletedRound": 3,
"lastCompletedRound": 4,
"maxRounds": 25,
"taskStatuses": [
{
@@ -51,8 +51,8 @@
},
{
"id": "task-10",
"status": "pending",
"attempts": 2
"status": "success",
"attempts": 3
},
{
"id": "task-11",
@@ -125,8 +125,8 @@
"attempts": 0
}
],
"pmLastInstruction": "[task-22] Round 1에서 이미 실행 완료, L1+L2 통과 확인됨\n[task-4] selectUserInfo 쿼리가 Node.js 버전과 동일한 필드를 반환하도록 구현하라. Node.js 기존 코드에서 selectUserInfo가 반환하는 필드 목록을 먼저 확인하고, Spring MyBatis XML에서 동일한 SELECT 컬럼을 매핑하라.\n[task-6] task-5에서 JWT 페이로드가 Node와 동일하게 완료되었다. /api/auth/login API 응답 전체가 Node.js와 동일한 구조(필드명, 값 형식)를 반환하도록 AuthController와 AuthService를 수정하라. Node.js의 login 라우터 응답 구조를 참조하라.\n[task-7] task-2에서 BaseService(sqlSession 주입)가 완료되었다. AdminService, RoleService, DepartmentService, CompanyManagementService, SystemNoticeService, AuditLogService, ApprovalService가 BaseService를 상속하여 sqlSession.selectList/selectOne 등을 직접 사용하도록 변환하라. 기존 Mapper 인터페이스 호출을 sqlSession 호출로 교체하라.\n[task-17] src/main/java/com/erp/mapper/ 디렉토리 내의 모든 Mapper 인터페이스 파일을 삭제하라. 디렉토리 자체도 삭제하라. 단, src/main/resources/mapper/ (XML 파일들)는 유지해야 한다.\n[task-18] 모든 MyBatis XML의 namespace를 소문자 형식으로 변경하라 (예: com.erp.mapper.AdminMapper → admin). 모든 <include refid='...'/>도 새로운 namespace에 맞게 업데이트하라. sqlSession.selectList('admin.getMenuList') 형태로 호출될 수 있도록 namespace를 맞춰라.\n[task-19] 모든 MyBatis XML에서 companyCode 필터 조건에 OR company_code = '*' 를 포함하라. 기존 WHERE company_code = #{companyCode} 패턴을 WHERE (company_code = #{companyCode} OR company_code = '*') 로 변경하라.\n[task-23] GlobalExceptionHandler 또는 에러 응답 구조에 path 필드를 추가하라. Spring의 request URI를 에러 응답 JSON에 포함시켜라. Node.js 에러 응답과 동일한 구조를 유지하라.",
"pmLastSummary": "Round 1 결과: 7개 태스크(task-1,2,3,5,20,21,22) 모두 성공. 백엔드 4개(Jackson 설정, BaseService, XML 따옴표 변환, JWT 페이로드) + 프론트엔드 3개(메뉴/admin/나머지 컴포넌트 || → ?? 변환) 전부 L1+L2 통과. task-22는 progress 테이블에 '대기'로 표시되어 있으나 실제로는 ",
"pmLastInstruction": "[task-17] src/main/java/com/erp/mapper/ 디렉토리 내의 모든 Mapper 인터페이스 파일을 삭제하라. 디렉토리 자체도 삭제하라. 단, XML mapper 파일(resources/mapper/)은 절대 건드리지 마라. Java 소스의 Mapper 인터페이스만 삭제 대상이다. 삭제 후 컴파일(./gradlew compileJava)이 성공해야 한다. 만약 다른 코드에서 Mapper 인터페이스를 import하고 있다면 해당 import 문도 제거하라.\n[task-18] 모든 MyBatis XML 파일(backend-spring/src/main/resources/mapper/*.xml)의 namespace를 소문자 형식으로 변경하라. 예: namespace=\"com.erp.mapper.AdminMapper\"namespace=\"admin\". 모든 <include refid=\"...\"> 태그의 참조도 새 namespace에 맞게 변경하라. 변경 후 bootJar가 성공해야 한다. BaseService의 sqlSession.selectList 등에서 사용하는 statement ID 형식(예: \"admin.selectList\")과 XML namespace가 일치해야 한다.\n[task-19] 모든 MyBatis XML 파일에서 companyCode 필터 조건에 OR company_code = '*' 를 추가하라. 기존 WHERE company_code = #{companyCode} 패턴을 WHERE (company_code = #{companyCode} OR company_code = '*') 로 변경하라. 모든 XML 파일을 검색하여 company_code 관련 조건을 빠짐없이 수정하라. 변경 후 컴파일이 성공해야 한다.",
"pmLastSummary": "Round 4에서 backend 에이전트가 task-10(9개 서비스 파일 컴파일)을 성공적으로 완료했다. DataflowService, FlowService, NodeFlowService 등 9개 파일 모두 extends BaseService + sqlSession.* 패턴으로 변환 확인, L1(compileJava)+L2(bootJar) 통과. pipe",
"metrics": {
"calls": [
{
@@ -407,16 +407,34 @@
"outputTokens": 45421,
"cacheReadTokens": 1785551,
"cacheWriteTokens": 238424
},
{
"agent": "backend",
"round": 4,
"durationMs": 116338,
"outputLength": 347,
"timestamp": "2026-03-27T14:52:34.001Z",
"inputTokens": 13,
"outputTokens": 5141,
"cacheReadTokens": 1543544,
"cacheWriteTokens": 148185
},
{
"agent": "pm",
"round": 4,
"durationMs": 96474,
"outputLength": 1841,
"timestamp": "2026-03-27T14:54:10.667Z"
}
],
"totalDurationMs": 14108003,
"totalCalls": 29,
"totalInputTokens": 38152,
"totalOutputTokens": 322762,
"totalCacheReadTokens": 27616419,
"totalCacheWriteTokens": 1977068
"totalDurationMs": 14320815,
"totalCalls": 31,
"totalInputTokens": 38165,
"totalOutputTokens": 327903,
"totalCacheReadTokens": 29159963,
"totalCacheWriteTokens": 2125253
},
"savedAt": "2026-03-27T14:50:37.659Z",
"savedAt": "2026-03-27T14:54:10.668Z",
"planFilePath": "/Users/gbpark/agent-pipeline/test-vex/plans/spring-rebuild.md",
"claudeSessionIds": {
"backend": "4f8428a3-3e1d-4630-8ecb-c5b7c06dea25",
@@ -0,0 +1,43 @@
# PM 판단 - Round 4
- 시간: 2026. 3. 27. 오후 11:54:10
## 분석
Round 4에서 backend 에이전트가 task-10(9개 서비스 파일 컴파일)을 성공적으로 완료했다. DataflowService, FlowService, NodeFlowService 등 9개 파일 모두 extends BaseService + sqlSession.* 패턴으로 변환 확인, L1(compileJava)+L2(bootJar) 통과. pipeline-state.json에서 completedTasks가 19→20으로 증가하여 task-10 완료 확인됨. 현재 20/24 태스크 완료. 남은 태스크: task-17(mapper 디렉토리 삭제), task-18(XML namespace 소문자), task-19(companyCode OR 필터), task-24(최종 bootJar). task-17,18,19는 독립적이므로 병렬 실행 가능. task-24는 모든 변경 완료 후 최종 빌드 검증이므로 마지막에 실행해야 한다.
## 태스크 지시
- **task-17** [retry]: src/main/java/com/erp/mapper/ 디렉토리 내의 모든 Mapper 인터페이스 파일을 삭제하라. 디렉토리 자체도 삭제하라. 단, XML mapper 파일(resources/mapper/)은 절대 건드리지 마라. Java 소스의 Mapper 인터페이스만 삭제 대상이다. 삭제 후 컴파일(./gradlew compileJava)이 성공해야 한다. 만약 다른 코드에서 Mapper 인터페이스를 import하고 있다면 해당 import 문도 제거하라.
- **task-18** [retry]: 모든 MyBatis XML 파일(backend-spring/src/main/resources/mapper/*.xml)의 namespace를 소문자 형식으로 변경하라. 예: namespace="com.erp.mapper.AdminMapper" → namespace="admin". 모든 <include refid="..."> 태그의 참조도 새 namespace에 맞게 변경하라. 변경 후 bootJar가 성공해야 한다. BaseService의 sqlSession.selectList 등에서 사용하는 statement ID 형식(예: "admin.selectList")과 XML namespace가 일치해야 한다.
- **task-19** [retry]: 모든 MyBatis XML 파일에서 companyCode 필터 조건에 OR company_code = '*' 를 추가하라. 기존 WHERE company_code = #{companyCode} 패턴을 WHERE (company_code = #{companyCode} OR company_code = '*') 로 변경하라. 모든 XML 파일을 검색하여 company_code 관련 조건을 빠짐없이 수정하라. 변경 후 컴파일이 성공해야 한다.
## 판정: **continue**
## 다음 라운드 핵심: task-17,18,19 병렬 실행하여 mapper 정리 + XML namespace 소문자화 + companyCode 필터 완료. 이 3개가 모두 성공하면 그다음 라운드에서 task-24(최종 bootJar 빌드 검증) 실행.
---
## PM 원본 응답
```
```json
{
"analysis": "Round 4에서 backend 에이전트가 task-10(9개 서비스 파일 컴파일)을 성공적으로 완료했다. DataflowService, FlowService, NodeFlowService 등 9개 파일 모두 extends BaseService + sqlSession.* 패턴으로 변환 확인, L1(compileJava)+L2(bootJar) 통과. pipeline-state.json에서 completedTasks가 19→20으로 증가하여 task-10 완료 확인됨. 현재 20/24 태스크 완료. 남은 태스크: task-17(mapper 디렉토리 삭제), task-18(XML namespace 소문자), task-19(companyCode OR 필터), task-24(최종 bootJar). task-17,18,19는 독립적이므로 병렬 실행 가능. task-24는 모든 변경 완료 후 최종 빌드 검증이므로 마지막에 실행해야 한다.",
"taskUpdates": [
{
"taskId": "task-17",
"status": "retry",
"instruction": "src/main/java/com/erp/mapper/ 디렉토리 내의 모든 Mapper 인터페이스 파일을 삭제하라. 디렉토리 자체도 삭제하라. 단, XML mapper 파일(resources/mapper/)은 절대 건드리지 마라. Java 소스의 Mapper 인터페이스만 삭제 대상이다. 삭제 후 컴파일(./gradlew compileJava)이 성공해야 한다. 만약 다른 코드에서 Mapper 인터페이스를 import하고 있다면 해당 import 문도 제거하라."
},
{
"taskId": "task-18",
"status": "retry",
"instruction": "모든 MyBatis XML 파일(backend-spring/src/main/resources/mapper/*.xml)의 namespace를 소문자 형식으로 변경하라. 예: namespace=\"com.erp.mapper.AdminMapper\" → namespace=\"admin\". 모든 <include refid=\"...\"> 태그의 참조도 새 namespace에 맞게 변경하라. 변경 후 bootJar가 성공해야 한다. BaseService의 sqlSession.selectList 등에서 사용하는 statement ID 형식(예: \"admin.selectList\")과 XML namespace가 일치해야 한다."
},
{
"taskId": "task-19",
"status": "retry",
"instruction": "모든 MyBatis XML 파일에서 companyCode 필터 조건에 OR company_code = '*' 를 추가하라. 기존 WHERE company_code = #{companyCode} 패턴을 WHERE (company_code = #{companyCode} OR company_code = '*') 로 변경하라. 모든 XML 파일을 검색하여 company_code 관련 조건을 빠짐없이 수정하라. 변경 후 컴파일이 성공해야 한다."
}
],
"newTasks": [],
"overallStatus": "continue",
"nextRoundFocus": "task-17,18,19 병렬 실행하여 mapper 정리 + XML namespace 소문자화 + companyCode 필터 완료. 이 3개가 모두 성공하면 그다음 라운드에서 task-24(최종 bootJar 빌드 검증) 실행."
}
```
```
@@ -0,0 +1,286 @@
# Round 4
- 시간: 2026. 3. 27. 오후 11:52:34
## backend (성공)
### 에이전트 응답
```
**BUILD SUCCESSFUL** - done_when 조건 충족.
9개 파일(`DataflowService`, `DataflowDiagramService`, `DataflowExecutionService`, `FlowService`, `FlowExternalDbConnectionService`, `ButtonDataflowService`, `TestButtonDataflowService`, `NodeFlowService`, `NodeExternalConnectionService`) 모두 이미 `extends BaseService` + `sqlSession.*` 패턴으로 변환되어 있으며, 컴파일이 성공합니다.
```
## 코드 변경 (git diff)
### Unstaged 변경
```
_pipeline/pipeline-state.json | 30 ++++-
.../heartbeat.json | 2 +-
.../2026-03-27_pipe-20260327131904-jedw/metrics.md | 31 +++--
.../progress.md | 10 +-
.../resume-state.json | 145 +++++++++++++++++----
5 files changed, 172 insertions(+), 46 deletions(-)
```
### 새 파일
```
_pipeline/runs/2026-03-27_pipe-20260327131904-jedw/rounds/round-3.md
```
### 상세 diff
```diff
diff --git a/_pipeline/pipeline-state.json b/_pipeline/pipeline-state.json
index 40d6457a..889d51e4 100644
--- a/_pipeline/pipeline-state.json
+++ b/_pipeline/pipeline-state.json
@@ -507,8 +507,8 @@
"backend-spring/src/main/java/com/erp/service/NodeExternalConnectionService.java"
],
"taskContext": "task-7과 동일한 변환 규칙 적용.\n★ JdbcTemplate 사용 Service (유지 필요):",
- "status": "pending",
- "attempts": 2,
+ "status": "success",
+ "attempts": 3,
"maxRetries": 5,
"logs": [
{
@@ -535,9 +535,31 @@
"timestamp": "2026-03-27T14:46:01.127Z",
"type": "error",
"message": "Agent 호출 실패: Agent (backend) 실행 실패: ClaudeCode 타임아웃: backend-1 (900s)"
+ },
+ {
+ "timestamp": "2026-03-27T14:50:37.691Z",
+ "type": "info",
+ "message": "Agent(backend) 호출 시작 (시도 3)"
+ },
+ {
+ "timestamp": "2026-03-27T14:52:29.998Z",
+ "type": "agent",
+ "message": "Agent 응답 수신 (347자)"
+ },
+ {
+ "timestamp": "2026-03-27T14:52:34.001Z",
+ "type": "test",
+ "message": "L1 통과: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20"
+ },
+ {
+ "timestamp": "2026-03-27T14:52:34.001Z",
+ "type": "test",
+ "message": "L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa"
}
],
- "startedAt": "2026-03-27T13:44:13.095Z"
+ "startedAt": "2026-03-27T13:44:13.095Z",
+ "agentOutput": "**BUILD SUCCESSFUL** - done_when 조건 충족.\n\n9개 파일(`DataflowService`, `DataflowDiagramService`, `DataflowExecutionService`, `FlowService`, `FlowExternalDbConnectionService`, `ButtonDataflowService`, `TestButtonDataflowService`, `NodeFlowService`, `NodeExternalConnectionService`) 모두 이미 `extends BaseService` + `sqlSession.*` 패턴으로 변환되어 있으며, 컴파일이 성공합니다.",
+ "completedAt": "2026-03-27T14:52:34.001Z"
},
{
"id": "task-11",
@@ -1210,7 +1232,7 @@
}
],
"totalTasks": 24,
- "completedTasks": 19,
+ "completedTasks": 20,
"failedTasks": 0,
"runningTasks": 0,
"startedAt": "2026-03-27T13:19:04.115Z",
diff --git a/_pipeline/runs/2026-03-27_pipe-20260327131904-jedw/heartbeat.json b/_pipeline/runs/2026-03-27_pipe-20260327131904-jedw/heartbeat.json
index c1dab681..29b4f087 100644
--- a/_pipeline/runs/2026-03-27_pipe-20260327131904-jedw/heartbeat.json
+++ b/_pipeline/runs/2026-03-27_pipe-20260327131904-jedw/heartbeat.json
@@ -1 +1 @@
-{"pid":56523,"round":3,"status":"running","timestamp":"2026-03-27T14:48:22.665Z","uptimeMs":5358627.4539169995}
\ No newline at end of file
+{"pid":56523,"round":4,"status":"running","timestamp":"2026-03-27T14:52:07.667Z","uptimeMs":5583636.283459}
\ No newline at end of file
diff --git a/_pipeline/runs/2026-03-27_pipe-20260327131904-jedw/metrics.md b/_pipeline/runs/2026-03-27_pipe-20260327131904-jedw/metrics.md
index adda2a72..499bac64 100644
--- a/_pipeline/runs/2026-03-27_pipe-20260327131904-jedw/metrics.md
+++ b/_pipeline/runs/2026-03-27_pipe-20260327131904-jedw/metrics.md
@@ -2,21 +2,21 @@
| 항목 | 값 |
|------|------|
-| 총 에이전트 호출 | 20회 |
-| 총 소요 시간 | 10234초 |
-| 평균 호출 시간 | 512초 |
+| 총 에이전트 호출 | 29회 |
+| 총 소요 시간 | 14108초 |
+| 평균 호출 시간 | 486초 |
## 토큰 사용량
| 항목 | 값 |
|------|------|
-| input_tokens | 14374 |
-| output_tokens | 144504 |
-| cache_read_tokens | 14249099 |
-| cache_write_tokens | 977077 |
-| 입력 비용 | $0.2156 |
-| 출력 비용 | $10.8378 |
-| 총 비용 | $11.0534 |
+| input_tokens | 38152 |
+| output_tokens | 322762 |
+| cache_read_tokens | 27616419 |
+| cache_write_tokens | 1977068 |
+| 입력 비용 | $0.5723 |
+| 출력 비용 | $24.2071 |
+| 총 비용 | $24.7794 |
## 호출 상세
| 에이전트 | 라운드 | 소요(s) | 입력토큰 | 출력토큰 | 시간 |
@@ -40,4 +40,13 @@
| backend | 2 | 900 | 0 | 0 | 오후 11:14:14 |
| backend | 2 | 39 | 6 | 2.1K | 오후 11:14:55 |
| backend | 2 | 460 | 54 | 16.0K | 오후 11:19:19 |
-| backend | 2 | 900 | 0 | 0 | 오후 11:23:51 |
\ No newline at end of file
+| backend | 2 | 900 | 0 | 0 | 오후 11:23:51 |
+| backend | 3 | 79 | 5 | 4.1K | 오후 11:27:12 |
+| backend | 3 | 307 | 2.9K | 11.7K | 오후 11:30:59 |
+| backend | 3 | 564 | 52 | 23.3K | 오후 11:36:38 |
+| backend | 3 | 92 | 8 | 731 | 오후 11:38:12 |
+| backend | 3 | 820 | 11.6K | 55.3K | 오후 11:39:32 |
+| backend | 3 | 900 | 0 | 0 | 오후 11:46:01 |
+| backend | 3 | 39 | 6 | 1.6K | 오후 11:46:41 |
+| backend | 3 | 448 | 1.2K | 36.2K | 오후 11:47:02 |
+| backend | 3 | 624 | 8.0K | 45.4K | 오후 11:48:37 |
\ No newline at end of file
diff --git a/_pipeline/runs/2026-03-27_pipe-20260327131904-jedw/progress.md b/_pipeline/runs/2026-03-27_pipe-20260327131904-jedw/progress.md
index 00987649..55024eae 100644
--- a/_pipeline/runs/2026-03-27_pipe-20260327131904-jedw/progress.md
+++ b/_pipeline/runs/2026-03-27_pipe-20260327131904-jedw/progress.md
@@ -1,9 +1,9 @@
# Pipeline: pipe-20260327131904-jedw
- 시작: 2026. 3. 27. 오후 10:19:04
- 상태: **running**
-- 현재 라운드: 3/25
-- 경과 시간: 89분 19초
-- 성공: 11 / 실패: 0 / 전체: 24
+- 현재 라운드: 4/25
+- 경과 시간: 93분 4초
+- 성공: 19 / 실패: 0 / 전체: 24
## 태스크 현황
| 태스크 | 에이전트 | 상태 | 시도 | 검증 |
@@ -19,7 +19,7 @@
| task-9 | backend | 완료 | 2/5 | L2 통과: cd /Users/gbpark/TEST-V |
| task-10 | backend | 대기 | 2/5 | - |
| task-11 | backend | 완료 | 2/5 | L2 통과: cd /Users/gbpark/TEST-V |
-| task-12 | backend | 대기 | 1/5 | - |
+| task-12 | backend | 완료 | 2/5 | L2 통과: cd /Users/gbpark/TEST-V |
| task-13 | backend | 완료 | 2/5 | L2 통과: cd /Users/gbpark/TEST-V |
| task-14 | backend | 완료 | 1/5 | L2 통과: cd /Users/gbpark/TEST-V |
| task-15 | backend | 완료 | 2/5 | L2 통과: cd /Users/gbpark/TEST-V |
@@ -40,4 +40,4 @@
Round 1 결과: 7개 태스크(task-1,2,3,5,20,21,22) 모두 성공. 백엔드 4개(Jackson 설정, BaseService, XML 따옴표 변환, JWT 페이로드) + 프론트엔드 3개(메뉴/admin/나머지 컴포넌트 || → ?? 변환) 전부 L1+L2 통과. task-22는 progress 테이블에 '대기'로 표시되어 있으나 실제로는
---
-마지막 업데이트: 2026. 3. 27. 오후 11:48:22
\ No newline at end of file
+마지막 업데이트: 2026. 3. 27. 오후 11:52:07
\ No newline at end of file
diff --git a/_pipeline/runs/2026-03-27_pipe-20260327131904-jedw/resume-state.json b/_pipeline/runs/2026-03-27_pipe-20260327131904-jedw/resume-state.json
index 84826cc8..ee876f25 100644
--- a/_pipeline/runs/2026-03-27_pipe-20260327131904-jedw/resume-state.json
+++ b/_pipeline/runs/2026-03-27_pipe-20260327131904-jedw/resume-state.json
@@ -1,7 +1,7 @@
{
"pipelineId": "pipe-20260327131904-jedw",
"runDir": "/Users/gbpark/TEST-VEX/_pipeline/runs/2026-03-27_pipe-20260327131904-jedw",
- "lastCompletedRound": 2,
+ "lastCompletedRound": 3,
"maxRounds": 25,
"taskStatuses": [
{
@@ -31,43 +31,43 @@
},
{
"id": "task-6",
- "status": "pending",
- "attempts": 0
+ "status": "success",
+ "attempts": 1
},
{
"id": "task-7",
- "status": "pending",
- "attempts": 1
+ "status": "success",
+ "attempts": 2
},
{
"id": "task-8",
- "status": "pending",
- "attempts": 1
+ "status": "success",
+ "attempts": 2
},
{
"id": "task-9",
- "status": "pending",
- "attempts": 1
+ "status": "success",
+ "attempts": 2
},
{
"id": "task-10",
"status": "pending",
- "attempts": 1
+ "attempts": 2
},
{
"id": "task-11",
- "status": "pending",
- "attempts": 1
+ "status": "success",
+ "attempts": 2
},
{
"id": "task-12",
- "status": "pending",
- "attempts": 1
+ "status": "success",
+ "attempts": 2
},
{
"id": "task-13",
- "status": "pending",
- "attempts": 1
+ "status": "success",
+ "attempts": 2
},
{
"id": "task-14",
@@ -76,8 +76,8 @@
},
{
"id": "task-15",
- "status": "pending",
- "attempts": 1
+ "status": "success",
+ "attempts": 2
},
{
"id": "task-16",
@@ -312,16 +312,111 @@
"durationMs": 900005,
"outputLength": 0,
"timestamp": "2026-03-27T14:23:51.748Z"
+ },
+ {
+
... (truncated)
```
## 검증 결과
### L1 [PASS]: L1 통과: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20
```
L1 통과: cd backend-spring && ./gradlew compileJava 2>&1 | tail -20
```
### L2 [PASS]: L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa
```
L2 통과: cd /Users/gbpark/TEST-VEX/backend-spring && ./gradlew bootJa
```
@@ -1,11 +1,9 @@
package com.erp;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("com.erp.mapper")
public class ErpApplication {
public static void main(String[] args) {
SpringApplication.run(ErpApplication.class, args);
@@ -1,56 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface AdminMapper {
// ── 메뉴 관리 ──────────────────────────────────────────────────────────
List<Map<String, Object>> selectAdminMenuList(Map<String, Object> params);
List<Map<String, Object>> selectUserMenuList(Map<String, Object> params);
List<Map<String, Object>> selectPopParentMenu(Map<String, Object> params);
List<Map<String, Object>> selectPopChildMenus(Map<String, Object> params);
Map<String, Object> selectMenuById(Map<String, Object> params);
int insertMenu(Map<String, Object> params);
int updateMenu(Map<String, Object> params);
int deleteMenu(Map<String, Object> params);
int updateMenuStatus(Map<String, Object> params);
// ── 사용자 관리 ────────────────────────────────────────────────────────
List<Map<String, Object>> selectUserList(Map<String, Object> params);
int selectUserCount(Map<String, Object> params);
Map<String, Object> selectUserById(Map<String, Object> params);
List<Map<String, Object>> selectUserHistory(Map<String, Object> params);
int insertUser(Map<String, Object> params);
int updateUser(Map<String, Object> params);
int updateUserStatus(Map<String, Object> params);
int updateUserPassword(Map<String, Object> params);
int updateUserLocale(Map<String, Object> params);
Map<String, Object> selectUserLocale(Map<String, Object> params);
// ── user_dept 관리 ────────────────────────────────────────────────────
List<Map<String, Object>> selectUserDeptList(Map<String, Object> params);
int upsertUserDept(Map<String, Object> params);
int updateUserDeptNotPrimary(Map<String, Object> params);
int deleteUserDeptSub(Map<String, Object> params);
int updateUserForDept(Map<String, Object> params);
// ── 부서 관리 ──────────────────────────────────────────────────────────
List<Map<String, Object>> selectDepartmentList(Map<String, Object> params);
// ── 회사 관리 ──────────────────────────────────────────────────────────
List<Map<String, Object>> selectCompanyList(Map<String, Object> params);
Map<String, Object> selectCompanyByCode(Map<String, Object> params);
int insertCompany(Map<String, Object> params);
int updateCompany(Map<String, Object> params);
int deleteCompany(Map<String, Object> params);
// ── 테이블 스키마 ──────────────────────────────────────────────────────
List<Map<String, Object>> selectTableSchema(Map<String, Object> params);
// ── 로케일 검증 ────────────────────────────────────────────────────────
Map<String, Object> selectValidLocale(Map<String, Object> params);
}
@@ -1,7 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface AiAssistantProxyMapper {
// AI Assistant Proxy는 HTTP 프록시 구현 (DB 쿼리 없음)
}
@@ -1,22 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface AnalyticsReportMapper {
List<Map<String, Object>> getProductionReportData(Map<String, Object> params);
List<Map<String, Object>> getInventoryReportData(Map<String, Object> params);
List<Map<String, Object>> getPurchaseReportData(Map<String, Object> params);
List<Map<String, Object>> getQualityReportData(Map<String, Object> params);
List<Map<String, Object>> getEquipmentReportData(Map<String, Object> params);
List<Map<String, Object>> getMoldReportData(Map<String, Object> params);
}
@@ -1,70 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface ApprovalMapper {
// ─── approval_definitions ──────────────────────────────────────
List<Map<String, Object>> selectDefinitions(Map<String, Object> params);
Map<String, Object> selectDefinitionById(Map<String, Object> params);
int insertDefinition(Map<String, Object> params);
int updateDefinition(Map<String, Object> params);
int deleteDefinition(Map<String, Object> params);
// ─── approval_line_templates ───────────────────────────────────
List<Map<String, Object>> selectTemplates(Map<String, Object> params);
Map<String, Object> selectTemplateById(Map<String, Object> params);
int insertTemplate(Map<String, Object> params);
int updateTemplate(Map<String, Object> params);
int deleteTemplate(Map<String, Object> params);
// ─── approval_line_template_steps ──────────────────────────────
List<Map<String, Object>> selectTemplateSteps(Map<String, Object> params);
int insertTemplateStep(Map<String, Object> params);
int deleteTemplateStepsByTemplateId(Map<String, Object> params);
// ─── approval_requests ─────────────────────────────────────────
List<Map<String, Object>> selectRequests(Map<String, Object> params);
int countRequests(Map<String, Object> params);
Map<String, Object> selectRequestById(Map<String, Object> params);
Map<String, Object> selectRequestByIdForUpdate(Map<String, Object> params);
int insertRequest(Map<String, Object> params);
int completeRequest(Map<String, Object> params);
int rejectRequest(Map<String, Object> params);
int cancelRequest(Map<String, Object> params);
int postApproveRequest(Map<String, Object> params);
int updateRequestCurrentStep(Map<String, Object> params);
int updateRequestStatus(Map<String, Object> params);
// ─── approval_lines ────────────────────────────────────────────
List<Map<String, Object>> selectLinesByRequestId(Map<String, Object> params);
Map<String, Object> selectLineByIdForUpdate(Map<String, Object> params);
int insertLine(Map<String, Object> params);
int updateLine(Map<String, Object> params);
int skipRemainingLines(Map<String, Object> params);
int activateNextStepLines(Map<String, Object> params);
List<Map<String, Object>> selectLinesForStep(Map<String, Object> params);
int countRemainingLinesInStep(Map<String, Object> params);
int countPendingLinesForRequest(Map<String, Object> params);
int approveNotificationLines(Map<String, Object> params);
List<Map<String, Object>> selectMyPendingLines(Map<String, Object> params);
// ─── approval_proxy_settings ───────────────────────────────────
List<Map<String, Object>> selectProxySettings(Map<String, Object> params);
Map<String, Object> selectProxyById(Map<String, Object> params);
int countProxyOverlap(Map<String, Object> params);
int insertProxySetting(Map<String, Object> params);
int updateProxySetting(Map<String, Object> params);
int deleteProxySetting(Map<String, Object> params);
Map<String, Object> selectActiveProxyForLine(Map<String, Object> params);
List<Map<String, Object>> selectActiveProxy(Map<String, Object> params);
// ─── syncApprovalStatusToTarget (dynamic table) ────────────────
Map<String, Object> selectRequestForSync(Map<String, Object> params);
int checkTargetTableHasApprovalStatusColumn(Map<String, Object> params);
int updateTargetTableApprovalStatus(Map<String, Object> params);
}
@@ -1,30 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface AuditLogMapper {
// ── 감사 로그 조회 ─────────────────────────────────────────
List<Map<String, Object>> selectAuditLogs(Map<String, Object> params);
int selectAuditLogsCount(Map<String, Object> params);
// ── 통계 ───────────────────────────────────────────────────
List<Map<String, Object>> selectDailyCounts(Map<String, Object> params);
List<Map<String, Object>> selectResourceTypeCounts(Map<String, Object> params);
List<Map<String, Object>> selectActionCounts(Map<String, Object> params);
List<Map<String, Object>> selectTopUsers(Map<String, Object> params);
// ── 사용자 목록 ────────────────────────────────────────────
List<Map<String, Object>> selectAuditLogUsers(Map<String, Object> params);
// ── 감사 로그 기록 ─────────────────────────────────────────
int insertAuditLog(Map<String, Object> params);
}
@@ -1,23 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface BarcodeLabelMapper {
// ── 라벨 CRUD ────────────────────────────────────────────────────────────
List<Map<String, Object>> getBarcodeLabelList(Map<String, Object> params);
int getBarcodeLabelListCnt(Map<String, Object> params);
Map<String, Object> getBarcodeLabelInfo(Map<String, Object> params);
int insertBarcodeLabel(Map<String, Object> params);
int updateBarcodeLabel(Map<String, Object> params);
int deleteBarcodeLabel(Map<String, Object> params);
// ── 레이아웃 저장 / 복사 ──────────────────────────────────────────────────
int updateBarcodeLabelLayout(Map<String, Object> params);
int copyBarcodeLabel(Map<String, Object> params);
// ── 템플릿 ───────────────────────────────────────────────────────────────
List<Map<String, Object>> getBarcodeLabelTemplateList(Map<String, Object> params);
Map<String, Object> getBarcodeLabelTemplateInfo(Map<String, Object> params);
}
@@ -1,15 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface BatchExecutionLogMapper {
List<Map<String, Object>> getBatchExecutionLogList(Map<String, Object> params);
int getBatchExecutionLogListCnt(Map<String, Object> params);
Map<String, Object> getBatchExecutionLogInfo(Map<String, Object> params);
int insertBatchExecutionLog(Map<String, Object> params);
int updateBatchExecutionLog(Map<String, Object> params);
int deleteBatchExecutionLog(Map<String, Object> params);
Map<String, Object> getBatchExecutionLogLatest(Map<String, Object> params);
Map<String, Object> getBatchExecutionLogStats(Map<String, Object> params);
}
@@ -1,23 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface BatchManagementMapper {
// 배치 대시보드 통계 (전체/활성 배치 수, 오늘·어제 실행/실패 수)
Map<String, Object> getBatchManagementStats(Map<String, Object> params);
// 노드 플로우 목록 (배치 설정에서 선택용)
List<Map<String, Object>> getBatchManagementNodeFlowList(Map<String, Object> params);
// 인증 토큰 서비스명 목록
List<String> getBatchManagementAuthServiceList(Map<String, Object> params);
// 스파크라인 (최근 24시간 1시간 단위 실행 집계)
List<Map<String, Object>> getBatchManagementSparklineData(Map<String, Object> params);
// 최근 실행 로그 목록 (최대 20건)
List<Map<String, Object>> getBatchManagementRecentLogList(Map<String, Object> params);
}
@@ -1,15 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface BatchMapper {
List<Map<String, Object>> getBatchList(Map<String, Object> params);
int getBatchListCnt(Map<String, Object> params);
Map<String, Object> getBatchInfo(Map<String, Object> params);
int insertBatch(Map<String, Object> params);
int updateBatch(Map<String, Object> params);
int deleteBatch(Map<String, Object> params);
List<Map<String, Object>> getInternalTables();
List<Map<String, Object>> getInternalTableColumns(Map<String, Object> params);
}
@@ -1,12 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface BookingMapper {
List<Map<String, Object>> getBookingList(Map<String, Object> params);
int getBookingListCnt(Map<String, Object> params);
int getBookingNewCount(Map<String, Object> params);
int acceptBooking(Map<String, Object> params);
int rejectBooking(Map<String, Object> params);
}
@@ -1,24 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface ButtonActionStandardMapper {
List<Map<String, Object>> selectButtonActions(Map<String, Object> params);
Map<String, Object> selectButtonActionByType(Map<String, Object> params);
int insertButtonAction(Map<String, Object> params);
int updateButtonAction(Map<String, Object> params);
int deleteButtonAction(Map<String, Object> params);
int updateSortOrderItem(Map<String, Object> params);
List<Map<String, Object>> selectCategories(Map<String, Object> params);
}
@@ -1,15 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.Map;
@Mapper
public interface ButtonDataflowMapper {
/**
* 두 테이블 간의 조인 관계 조회 (양방향 탐색)
* params: { mainTable, detailTable, companyCode }
*/
Map<String, Object> getButtonDataflowJoinRelationship(Map<String, Object> params);
}
@@ -1,18 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface CascadingAutoFillMapper {
List<Map<String, Object>> getCascadingAutoFillGroupList(Map<String, Object> params);
int getCascadingAutoFillGroupListCnt(Map<String, Object> params);
Map<String, Object> getCascadingAutoFillGroupByCode(Map<String, Object> params);
List<Map<String, Object>> getCascadingAutoFillMappingList(Map<String, Object> params);
int getCascadingAutoFillGroupCount(Map<String, Object> params);
int insertCascadingAutoFillGroup(Map<String, Object> params);
int insertCascadingAutoFillMapping(Map<String, Object> params);
int updateCascadingAutoFillGroup(Map<String, Object> params);
int deleteCascadingAutoFillMappings(Map<String, Object> params);
int deleteCascadingAutoFillGroup(Map<String, Object> params);
}
@@ -1,15 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface CascadingConditionMapper {
List<Map<String, Object>> getCascadingConditionList(Map<String, Object> params);
int getCascadingConditionListCnt(Map<String, Object> params);
Map<String, Object> getCascadingConditionInfo(Map<String, Object> params);
int insertCascadingCondition(Map<String, Object> params);
int updateCascadingCondition(Map<String, Object> params);
int deleteCascadingCondition(Map<String, Object> params);
List<Map<String, Object>> getCascadingConditionsByRelationCode(Map<String, Object> params);
}
@@ -1,22 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface CascadingHierarchyMapper {
List<Map<String, Object>> getCascadingHierarchyGroupList(Map<String, Object> params);
int getCascadingHierarchyGroupListCnt(Map<String, Object> params);
Map<String, Object> getCascadingHierarchyGroupByCode(Map<String, Object> params);
int getCascadingHierarchyGroupCount(Map<String, Object> params);
List<Map<String, Object>> getCascadingHierarchyLevelList(Map<String, Object> params);
Map<String, Object> getCascadingHierarchyLevelInfo(Map<String, Object> params);
Map<String, Object> getCascadingHierarchyLevelForOptions(Map<String, Object> params);
int insertCascadingHierarchyGroup(Map<String, Object> params);
int insertCascadingHierarchyLevel(Map<String, Object> params);
int updateCascadingHierarchyGroup(Map<String, Object> params);
int updateCascadingHierarchyLevel(Map<String, Object> params);
int deleteCascadingHierarchyLevels(Map<String, Object> params);
int deleteCascadingHierarchyLevel(Map<String, Object> params);
int deleteCascadingHierarchyGroup(Map<String, Object> params);
}
@@ -1,16 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface CascadingMutualExclusionMapper {
List<Map<String, Object>> getCascadingMutualExclusionList(Map<String, Object> params);
int getCascadingMutualExclusionListCnt(Map<String, Object> params);
Map<String, Object> getCascadingMutualExclusionInfo(Map<String, Object> params);
Map<String, Object> getCascadingMutualExclusionByCode(Map<String, Object> params);
int getCascadingMutualExclusionCount(Map<String, Object> params);
int insertCascadingMutualExclusion(Map<String, Object> params);
int updateCascadingMutualExclusion(Map<String, Object> params);
int deleteCascadingMutualExclusion(Map<String, Object> params);
}
@@ -1,15 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface CascadingRelationMapper {
List<Map<String, Object>> getCascadingRelationList(Map<String, Object> params);
int getCascadingRelationListCnt(Map<String, Object> params);
Map<String, Object> getCascadingRelationInfo(Map<String, Object> params);
Map<String, Object> getCascadingRelationByCode(Map<String, Object> params);
int insertCascadingRelation(Map<String, Object> params);
int updateCascadingRelation(Map<String, Object> params);
int deleteCascadingRelation(Map<String, Object> params);
}
@@ -1,38 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface CategoryTreeMapper {
List<Map<String, Object>> getCategoryTreeList(Map<String, Object> params);
Map<String, Object> getCategoryTreeInfo(Map<String, Object> params);
int insertCategoryTree(Map<String, Object> params);
int updateCategoryTree(Map<String, Object> params);
int deleteCategoryTree(Map<String, Object> params);
int getCategoryTreeChildrenCnt(Map<String, Object> params);
int checkTableExists(Map<String, Object> params);
int checkColumnExists(Map<String, Object> params);
int countCategoryUsageWithCompany(Map<String, Object> params);
int countCategoryUsage(Map<String, Object> params);
List<Map<String, Object>> getCategoryTreeChildrenList(Map<String, Object> params);
int updateCategoryTreeChildPath(Map<String, Object> params);
List<Map<String, Object>> getCategoryTreeColumnList(Map<String, Object> params);
List<Map<String, Object>> getCategoryTreeKeyList(Map<String, Object> params);
}
@@ -1,18 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface CategoryValueCascadingMapper {
List<Map<String, Object>> getCategoryValueCascadingGroupList(Map<String, Object> params);
int getCategoryValueCascadingGroupListCnt(Map<String, Object> params);
Map<String, Object> getCategoryValueCascadingGroupInfo(Map<String, Object> params);
Map<String, Object> getCategoryValueCascadingGroupByCode(Map<String, Object> params);
int insertCategoryValueCascadingGroup(Map<String, Object> params);
int updateCategoryValueCascadingGroup(Map<String, Object> params);
int deleteCategoryValueCascadingGroup(Map<String, Object> params);
List<Map<String, Object>> getCategoryValueCascadingMappingsByGroupId(Map<String, Object> params);
int deleteCategoryValueCascadingMappingsByGroupId(Map<String, Object> params);
int insertCategoryValueCascadingMapping(Map<String, Object> params);
}
@@ -1,10 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface CodeMergeMapper {
/** information_schema에서 columnName과 company_code를 함께 가진 public 테이블 목록 조회 */
List<Map<String, Object>> getTablesWithColumn(Map<String, Object> params);
}
@@ -1,17 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface CollectionMapper {
List<Map<String, Object>> getCollectionList(Map<String, Object> params);
int getCollectionListCnt(Map<String, Object> params);
Map<String, Object> getCollectionInfo(Map<String, Object> params);
int insertCollection(Map<String, Object> params);
int updateCollection(Map<String, Object> params);
int deleteCollection(Map<String, Object> params);
int insertCollectionJob(Map<String, Object> params);
int updateCollectionJob(Map<String, Object> params);
List<Map<String, Object>> getCollectionJobList(Map<String, Object> params);
List<Map<String, Object>> getCollectionHistory(Map<String, Object> params);
}
@@ -1,41 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
* Common Code Mapper
*
* commonCodeRoutes.ts 의 15개 엔드포인트 처리.
* 테이블: code_category, code_info
*/
@Mapper
public interface CommonCodeMapper {
// ─── code_category ────────────────────────────────────────────
List<Map<String, Object>> getCommonCodeCategoryList(Map<String, Object> params);
int getCommonCodeCategoryListCnt(Map<String, Object> params);
Map<String, Object> getCommonCodeCategoryInfo(Map<String, Object> params);
int insertCommonCodeCategory(Map<String, Object> params);
int updateCommonCodeCategory(Map<String, Object> params);
int deleteCommonCodeCategory(Map<String, Object> params);
int getCommonCodeCategoryDuplicateCnt(Map<String, Object> params);
// ─── code_info ────────────────────────────────────────────────
List<Map<String, Object>> getCommonCodeList(Map<String, Object> params);
int getCommonCodeListCnt(Map<String, Object> params);
Map<String, Object> getCommonCodeInfo(Map<String, Object> params);
int insertCommonCode(Map<String, Object> params);
int updateCommonCode(Map<String, Object> params);
int deleteCommonCode(Map<String, Object> params);
int updateCommonCodeSortOrder(Map<String, Object> params);
int getCommonCodeDuplicateCnt(Map<String, Object> params);
int getCommonCodeChildrenCnt(Map<String, Object> params);
// ─── 계층 / 트리 / 옵션 ───────────────────────────────────────
List<Map<String, Object>> getCommonCodeHierarchicalList(Map<String, Object> params);
List<Map<String, Object>> getCommonCodeTreeList(Map<String, Object> params);
List<Map<String, Object>> getCommonCodeOptionList(Map<String, Object> params);
}
@@ -1,16 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface CommonMapper {
List<Map<String, Object>> selectDynamicList(Map<String, Object> params);
Map<String, Object> selectDynamicOne(Map<String, Object> params);
List<Map<String, Object>> selectCodeList(Map<String, Object> params);
}
@@ -1,16 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface CompanyManagementMapper {
Map<String, Object> selectCompanyByCode(Map<String, Object> params);
int softDeleteCompany(Map<String, Object> params);
List<Map<String, Object>> selectAllCompanyCodes(Map<String, Object> params);
}
@@ -1,34 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface ComponentStandardMapper {
List<Map<String, Object>> selectComponentList(Map<String, Object> params);
int countComponents(Map<String, Object> params);
Map<String, Object> selectComponent(Map<String, Object> params);
int insertComponent(Map<String, Object> params);
int updateComponent(Map<String, Object> params);
int deleteComponent(Map<String, Object> params);
int updateSortOrder(Map<String, Object> params);
List<Map<String, Object>> selectCategories(Map<String, Object> params);
int countStatisticsTotal(Map<String, Object> params);
List<Map<String, Object>> selectStatisticsByCategory(Map<String, Object> params);
List<Map<String, Object>> selectStatisticsByStatus();
Map<String, Object> checkDuplicate(Map<String, Object> params);
}
@@ -1,13 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface DashboardMapper {
List<Map<String, Object>> getDashboardList(Map<String, Object> params);
int getDashboardListCnt(Map<String, Object> params);
Map<String, Object> getDashboardInfo(Map<String, Object> params);
int insertDashboard(Map<String, Object> params);
int updateDashboard(Map<String, Object> params);
int deleteDashboard(Map<String, Object> params);
}
@@ -1,7 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface DataAdvancedMapper {
}
@@ -1,7 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface DataMapper {
}
@@ -1,31 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface DataflowDiagramMapper {
/** 목록 조회 (페이지네이션 + 검색) */
List<Map<String, Object>> selectList(Map<String, Object> params);
/** 총 개수 */
int countList(Map<String, Object> params);
/** 단건 조회 */
Map<String, Object> selectById(Map<String, Object> params);
/** 생성 (useGeneratedKeys → diagram_id 반환) */
int insert(Map<String, Object> params);
/** 수정 (동적 SET) */
int update(Map<String, Object> params);
/** 삭제 */
int delete(Map<String, Object> params);
/** 복제 이름 생성용: 패턴 일치하는 이름 목록 */
List<Map<String, Object>> selectNamesLike(Map<String, Object> params);
}
@@ -1,16 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface DataflowExecutionMapper {
/** 테이블의 기본키 컬럼 목록 조회 (UPDATE/DELETE WHERE 절 생성용) */
List<String> selectPrimaryKeys(Map<String, Object> params);
/** 외부 DB 연결 정보 조회 */
Map<String, Object> selectExternalConnection(Map<String, Object> params);
}
@@ -1,44 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface DataflowMapper {
// ── table_relationships CRUD ─────────────────────────────────────────
int insertTableRelationship(Map<String, Object> params);
List<Map<String, Object>> getTableRelationshipList(Map<String, Object> params);
Map<String, Object> getTableRelationshipInfo(Map<String, Object> params);
int updateTableRelationship(Map<String, Object> params);
int softDeleteTableRelationship(Map<String, Object> params);
/** 중복 관계 확인 (같은 diagram_id 내) */
Map<String, Object> getExistingRelationshipInfo(Map<String, Object> params);
/** 현재 회사의 max(diagram_id) 조회 */
Map<String, Object> getMaxDiagramId(Map<String, Object> params);
// ── diagram operations ───────────────────────────────────────────────
/** 관계도 목록용: 모든 활성 관계 조회 (그룹화는 서비스 레이어에서) */
List<Map<String, Object>> getRelationshipForDiagramList(Map<String, Object> params);
List<Map<String, Object>> getDiagramRelationshipListByDiagramId(Map<String, Object> params);
List<Map<String, Object>> getDiagramRelationshipListByName(Map<String, Object> params);
List<Map<String, Object>> getDiagramRelationshipListByRelationshipId(Map<String, Object> params);
/** diagram_id로 해당 관계도 전체 소프트 삭제 */
int softDeleteDiagramByDiagramId(Map<String, Object> params);
// ── data_relationship_bridge ─────────────────────────────────────────
int insertDataLink(Map<String, Object> params);
List<Map<String, Object>> getDataLinkList(Map<String, Object> params);
int softDeleteDataLink(Map<String, Object> params);
// ── dynamic table data (table name validated in service) ─────────────
List<Map<String, Object>> checkTableExists(Map<String, Object> params);
int countTableData(Map<String, Object> params);
List<Map<String, Object>> getTableDataList(Map<String, Object> params);
}
@@ -1,28 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface DbTypeCategoryMapper {
List<Map<String, Object>> selectAllCategories();
Map<String, Object> selectCategoryByTypeCode(Map<String, Object> params);
int countByTypeCode(Map<String, Object> params);
int insertCategory(Map<String, Object> params);
int updateCategory(Map<String, Object> params);
int deactivateCategory(Map<String, Object> params);
int countConnectionsByType(Map<String, Object> params);
List<Map<String, Object>> selectConnectionStatsByType();
int insertDefaultCategories();
}
@@ -1,32 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface DdlMapper {
// ── DDL 실행 로그 ──────────────────────────────────────
int insertDdlLog(Map<String, Object> params);
List<Map<String, Object>> selectDdlLogs(Map<String, Object> params);
Map<String, Object> selectDdlTotalStats(Map<String, Object> params);
List<Map<String, Object>> selectDdlStatsByType(Map<String, Object> params);
List<Map<String, Object>> selectDdlStatsByUser(Map<String, Object> params);
List<Map<String, Object>> selectRecentFailures(Map<String, Object> params);
List<Map<String, Object>> selectTableDdlHistory(Map<String, Object> params);
int deleteOldDdlLogs(Map<String, Object> params);
// ── 테이블 메타데이터 조회 ────────────────────────────
Map<String, Object> selectTableInfo(Map<String, Object> params);
List<Map<String, Object>> selectTableColumns(Map<String, Object> params);
}
@@ -1,22 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface DeliveryMapper {
List<Map<String, Object>> getDeliveryList(Map<String, Object> params);
List<Map<String, Object>> getDelayedDeliveryList(Map<String, Object> params);
List<Map<String, Object>> getCustomerIssueList(Map<String, Object> params);
Map<String, Object> getDeliveryTodayStats(Map<String, Object> params);
int updateDeliveryStatus(Map<String, Object> params);
int updateCustomerIssueStatus(Map<String, Object> params);
}
@@ -1,50 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface DepartmentMapper {
// ── 부서 CRUD ──────────────────────────────────────────
List<Map<String, Object>> selectDepartments(Map<String, Object> params);
Map<String, Object> selectDepartmentByCode(Map<String, Object> params);
Map<String, Object> selectDuplicateDeptName(Map<String, Object> params);
Map<String, Object> selectCompanyName(Map<String, Object> params);
Map<String, Object> selectNextDeptNumber();
int insertDepartment(Map<String, Object> params);
int updateDepartment(Map<String, Object> params);
int selectChildDeptCount(Map<String, Object> params);
int deleteUserDeptByDeptCode(Map<String, Object> params);
int deleteDepartment(Map<String, Object> params);
// ── 부서원 관리 ────────────────────────────────────────
List<Map<String, Object>> selectDeptMembers(Map<String, Object> params);
List<Map<String, Object>> searchUsers(Map<String, Object> params);
Map<String, Object> selectUserById(Map<String, Object> params);
Map<String, Object> selectExistingMember(Map<String, Object> params);
Map<String, Object> selectUserPrimaryDept(Map<String, Object> params);
int insertDeptMember(Map<String, Object> params);
int deleteDeptMember(Map<String, Object> params);
int clearUserPrimaryDept(Map<String, Object> params);
int setUserPrimaryDept(Map<String, Object> params);
}
@@ -1,32 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface DesignMapper {
// ── 설계의뢰 ──────────────────────────────────────────────────────────────
List<Map<String, Object>> getDesignRequestList(Map<String, Object> params);
int getDesignRequestListCnt(Map<String, Object> params);
Map<String, Object> getDesignRequestInfo(Map<String, Object> params);
int insertDesignRequest(Map<String, Object> params);
int updateDesignRequest(Map<String, Object> params);
int deleteDesignRequest(Map<String, Object> params);
// ── 프로젝트 ──────────────────────────────────────────────────────────────
List<Map<String, Object>> getProjectList(Map<String, Object> params);
int getProjectListCnt(Map<String, Object> params);
Map<String, Object> getProjectInfo(Map<String, Object> params);
int insertProject(Map<String, Object> params);
int updateProject(Map<String, Object> params);
int deleteProject(Map<String, Object> params);
// ── ECN ───────────────────────────────────────────────────────────────────
List<Map<String, Object>> getEcnList(Map<String, Object> params);
int getEcnListCnt(Map<String, Object> params);
Map<String, Object> getEcnInfo(Map<String, Object> params);
int insertEcn(Map<String, Object> params);
int updateEcn(Map<String, Object> params);
int deleteEcn(Map<String, Object> params);
}
@@ -1,27 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface DigitalTwinMapper {
// ── 레이아웃 CRUD ────────────────────────────────────────────────────────
List<Map<String, Object>> getDigitalTwinLayoutList(Map<String, Object> params);
int getDigitalTwinLayoutListCnt(Map<String, Object> params);
Map<String, Object> getDigitalTwinLayoutInfo(Map<String, Object> params);
int insertDigitalTwinLayout(Map<String, Object> params);
int updateDigitalTwinLayout(Map<String, Object> params);
int deleteDigitalTwinLayout(Map<String, Object> params);
// ── 레이아웃 객체 ────────────────────────────────────────────────────────
List<Map<String, Object>> getDigitalTwinObjectListByLayoutId(Map<String, Object> params);
int deleteDigitalTwinObjectsByLayoutId(Map<String, Object> params);
int insertDigitalTwinObject(Map<String, Object> params);
// ── 매핑 템플릿 CRUD ─────────────────────────────────────────────────────
List<Map<String, Object>> getDigitalTwinTemplateList(Map<String, Object> params);
int getDigitalTwinTemplateListCnt(Map<String, Object> params);
Map<String, Object> getDigitalTwinTemplateInfo(Map<String, Object> params);
int insertDigitalTwinTemplate(Map<String, Object> params);
}
@@ -1,20 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface DriverMapper {
List<Map<String, Object>> getDriverList(Map<String, Object> params);
int getDriverListCnt(Map<String, Object> params);
Map<String, Object> getDriverUserInfo(Map<String, Object> params);
Map<String, Object> getDriverVehicle(Map<String, Object> params);
int updateDriverUserInfo(Map<String, Object> params);
int updateDriverVehicle(Map<String, Object> params);
int updateDriverVehicleStatus(Map<String, Object> params);
int softDeleteDriverVehicle(Map<String, Object> params);
int clearDriverVehicleNumber(Map<String, Object> params);
int insertDriverVehicle(Map<String, Object> params);
int deleteDriverVehicles(Map<String, Object> params);
int deleteDriverUserInfo(Map<String, Object> params);
}
@@ -1,28 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface DynamicFormMapper {
// ── dynamic_form_data ─────────────────────────────────────────────────────
Map<String, Object> selectFormData(Map<String, Object> params);
List<Map<String, Object>> selectFormDataList(Map<String, Object> params);
int countFormDataList(Map<String, Object> params);
// ── information_schema ────────────────────────────────────────────────────
List<Map<String, Object>> selectTableColumns(Map<String, Object> params);
List<Map<String, Object>> selectPrimaryKeys(Map<String, Object> params);
List<Map<String, Object>> selectColumnNames(Map<String, Object> params);
List<Map<String, Object>> selectColumnTypes(Map<String, Object> params);
Map<String, Object> selectTableType(Map<String, Object> params);
Map<String, Object> selectViewDefinition(Map<String, Object> params);
Map<String, Object> selectPrimaryKeyWithType(Map<String, Object> params);
// ── vehicle_location_history ──────────────────────────────────────────────
int insertLocationHistory(Map<String, Object> params);
List<Map<String, Object>> selectLocationHistory(Map<String, Object> params);
}
@@ -1,30 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface EntityJoinMapper {
// ── table_type_columns ─────────────────────────────────────────────────
/** entity/category 타입 컬럼 목록 조회 */
List<Map<String, Object>> selectEntityColumns(Map<String, Object> params);
/** 테이블의 전체 컬럼 메타데이터 (display_name 포함) */
List<Map<String, Object>> selectColumnMetadata(Map<String, Object> params);
/** entity 설정 UPSERT */
int upsertColumnEntitySettings(Map<String, Object> params);
// ── information_schema ─────────────────────────────────────────────────
/** 테이블 존재 여부 */
Map<String, Object> selectTableExists(Map<String, Object> params);
/** 컬럼 존재 여부 */
Map<String, Object> selectColumnExists(Map<String, Object> params);
/** 테이블의 전체 컬럼 목록 (data_type 포함) */
List<Map<String, Object>> selectTableSchemaColumns(Map<String, Object> params);
}
@@ -1,25 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface EntityReferenceMapper {
/** table_type_columns에서 컬럼 메타 정보 조회 */
Map<String, Object> selectColumnInfo(Map<String, Object> params);
/** information_schema.tables로 테이블 존재 여부 확인 */
int checkTableExistsInSchema(Map<String, Object> params);
/** information_schema.columns로 company_code 컬럼 존재 여부 확인 */
int checkTableHasCompanyCode(Map<String, Object> params);
/** 동적 참조 테이블 데이터 조회 (${tableName}, ${referenceColumn}, ${displayColumn} 사용) */
List<Map<String, Object>> selectReferenceData(Map<String, Object> params);
/** code_info 테이블에서 공통 코드 조회 */
List<Map<String, Object>> selectCodeData(Map<String, Object> params);
}
@@ -1,30 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface EntitySearchMapper {
// ─── 정적 쿼리: information_schema / 코드 테이블 ────────────────
List<Map<String, Object>> getTableColumnList(Map<String, Object> params);
List<Map<String, Object>> getCategoryValueList(Map<String, Object> params);
Map<String, Object> getCodeCategoryInfo(Map<String, Object> params);
List<Map<String, Object>> getCodeInfoList(Map<String, Object> params);
Map<String, Object> getPrimaryKeyInfo(Map<String, Object> params);
// ─── 동적 쿼리: ${tableName}, ${whereClause} 사용 ─────────────
List<Map<String, Object>> getEntitySearchList(Map<String, Object> params);
int getEntitySearchListCnt(Map<String, Object> params);
List<Map<String, Object>> getEntityOptionList(Map<String, Object> params);
List<Map<String, Object>> getDistinctValueList(Map<String, Object> params);
}
@@ -1,15 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface ExcelMappingMapper {
Map<String, Object> findExcelMappingByHash(Map<String, Object> params);
Map<String, Object> findExcelMappingByHashAndCompany(Map<String, Object> params);
List<Map<String, Object>> getExcelMappingListByTable(Map<String, Object> params);
List<Map<String, Object>> getExcelMappingListByTableAndCompany(Map<String, Object> params);
int upsertExcelMapping(Map<String, Object> params);
int deleteExcelMapping(Map<String, Object> params);
int deleteExcelMappingByCompany(Map<String, Object> params);
}
@@ -1,13 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface ExternalCallConfigMapper {
List<Map<String, Object>> getExternalCallConfigList(Map<String, Object> params);
int getExternalCallConfigListCnt(Map<String, Object> params);
Map<String, Object> getExternalCallConfigInfo(Map<String, Object> params);
int insertExternalCallConfig(Map<String, Object> params);
int updateExternalCallConfig(Map<String, Object> params);
int deleteExternalCallConfig(Map<String, Object> params);
}
@@ -1,11 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.Map;
@Mapper
public interface ExternalCallMapper {
int insertExternalCall(Map<String, Object> params);
}
@@ -1,39 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface ExternalDbConnectionMapper {
/** 목록 조회 (비밀번호 마스킹) */
List<Map<String, Object>> getExternalDbConnectionList(Map<String, Object> params);
/** 단건 조회 (비밀번호 마스킹) */
Map<String, Object> getExternalDbConnectionInfo(Map<String, Object> params);
/** 단건 조회 (비밀번호 포함 - 내부 전용) */
Map<String, Object> getExternalDbConnectionInfoWithPassword(Map<String, Object> params);
/** 비밀번호만 조회 (복호화용) */
Map<String, Object> getExternalDbConnectionPassword(Map<String, Object> params);
/** 이름+회사 중복 확인 */
Map<String, Object> getExternalDbConnectionByName(Map<String, Object> params);
/** 이름+회사 중복 확인 (자신 제외) */
Map<String, Object> getExternalDbConnectionByNameExclude(Map<String, Object> params);
/** 생성 */
int insertExternalDbConnection(Map<String, Object> params);
/** 수정 */
int updateExternalDbConnection(Map<String, Object> params);
/** 삭제 */
int deleteExternalDbConnection(Map<String, Object> params);
/** DB 타입 카테고리 목록 */
List<Map<String, Object>> getExternalDbTypeCategories();
}
@@ -1,24 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface ExternalRestApiConnectionMapper {
List<Map<String, Object>> getExternalRestApiConnectionList(Map<String, Object> params);
Map<String, Object> getExternalRestApiConnectionInfo(Map<String, Object> params);
int insertExternalRestApiConnection(Map<String, Object> params);
int updateExternalRestApiConnection(Map<String, Object> params);
int deleteExternalRestApiConnection(Map<String, Object> params);
int updateExternalRestApiConnectionTestResult(Map<String, Object> params);
Map<String, Object> getExternalRestApiConnectionDbToken(Map<String, Object> params);
}
@@ -1,14 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface FileMapper {
List<Map<String, Object>> getFileList(Map<String, Object> params);
int getFileListCnt(Map<String, Object> params);
Map<String, Object> getFileInfo(Map<String, Object> params);
int insertFile(Map<String, Object> params);
int updateFile(Map<String, Object> params);
int softDeleteFile(Map<String, Object> params);
List<Map<String, Object>> getFilesByTarget(Map<String, Object> params);
}
@@ -1,16 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface FlowExternalDbConnectionMapper {
List<Map<String, Object>> selectAll(Map<String, Object> params);
Map<String, Object> selectById(Map<String, Object> params);
int insert(Map<String, Object> params);
int update(Map<String, Object> params);
int delete(Map<String, Object> params);
}
@@ -1,60 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
* Flow API Mapper
* - flow_definitions : 플로우 정의
* - flow_steps : 플로우 단계
* - flow_connections : 단계 간 연결
* - flow_step_audit_logs : 데이터 이동 이력
* - 동적 테이블 (user business table) : 실행/조회
* - information_schema : 프로시저 목록 / 파라미터
*/
@Mapper
public interface FlowMapper {
// ── Flow Definitions ──────────────────────────────────────
List<Map<String, Object>> getFlowDefinitionList(Map<String, Object> params);
Map<String, Object> getFlowDefinitionInfo(Map<String, Object> params);
int insertFlowDefinition(Map<String, Object> params);
int updateFlowDefinition(Map<String, Object> params);
int deleteFlowDefinition(Map<String, Object> params);
/** information_schema.tables 에서 테이블 존재 확인 */
int checkTableExists(Map<String, Object> params);
// ── Flow Steps ────────────────────────────────────────────
List<Map<String, Object>> getFlowStepList(Map<String, Object> params);
Map<String, Object> getFlowStepInfo(Map<String, Object> params);
int insertFlowStep(Map<String, Object> params);
int updateFlowStep(Map<String, Object> params);
int deleteFlowStep(Map<String, Object> params);
// ── Flow Connections ──────────────────────────────────────
List<Map<String, Object>> getFlowConnectionList(Map<String, Object> params);
Map<String, Object> getFlowConnectionInfo(Map<String, Object> params);
int insertFlowConnection(Map<String, Object> params);
int deleteFlowConnection(Map<String, Object> params);
// ── Execution: dynamic user table ─────────────────────────
/** SELECT COUNT(*) FROM ${tableName} WHERE status = ... */
int getFlowStepDataListCnt(Map<String, Object> params);
/** SELECT * FROM ${tableName} WHERE status = ... LIMIT/OFFSET */
List<Map<String, Object>> getFlowStepDataList(Map<String, Object> params);
/** table_type_columns 에서 컬럼 라벨 조회 */
List<Map<String, Object>> getFlowColumnLabelList(Map<String, Object> params);
/** UPDATE ${tableName} SET ${statusColumn} = #{toValue} WHERE id = #{recordId} */
int updateFlowRecordStatus(Map<String, Object> params);
// ── Audit Logs ────────────────────────────────────────────
List<Map<String, Object>> getFlowAuditLogListByRecord(Map<String, Object> params);
List<Map<String, Object>> getFlowAuditLogList(Map<String, Object> params);
int insertFlowAuditLog(Map<String, Object> params);
// ── Procedures (information_schema) ───────────────────────
List<Map<String, Object>> getFlowProcedureList(Map<String, Object> params);
List<Map<String, Object>> getFlowProcedureParameterList(Map<String, Object> params);
}
@@ -1,14 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface MailAccountFileMapper {
List<Map<String, Object>> getMailAccountFileList(Map<String, Object> params);
int getMailAccountFileListCnt(Map<String, Object> params);
Map<String, Object> getMailAccountFileInfo(Map<String, Object> params);
int insertMailAccountFile(Map<String, Object> params);
int updateMailAccountFile(Map<String, Object> params);
int deleteMailAccountFile(Map<String, Object> params);
}
@@ -1,16 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface MailReceiveBasicMapper {
List<Map<String, Object>> getMailReceiveBasicList(Map<String, Object> params);
int getMailReceiveBasicListCnt(Map<String, Object> params);
int getMailReceiveBasicTodayCount(Map<String, Object> params);
Map<String, Object> getMailReceiveBasicInfo(Map<String, Object> params);
int updateMailReceiveBasicAsRead(Map<String, Object> params);
int deleteMailReceiveBasic(Map<String, Object> params);
Map<String, Object> getMailReceiveBasicAttachment(Map<String, Object> params);
Map<String, Object> getMailReceiveBasicAccountInfo(Map<String, Object> params);
}
@@ -1,10 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface MailSendSimpleMapper {
/** 발송에 사용할 메일 계정 조회 (id + companyCode 필터) */
Map<String, Object> getMailAccount(Map<String, Object> params);
}
@@ -1,20 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface MailSentHistoryMapper {
List<Map<String, Object>> getMailSentHistoryList(Map<String, Object> params);
int getMailSentHistoryListCnt(Map<String, Object> params);
Map<String, Object> getMailSentHistoryInfo(Map<String, Object> params);
int insertMailSentHistory(Map<String, Object> params);
int updateMailSentHistory(Map<String, Object> params);
int softDeleteMailSentHistory(Map<String, Object> params);
int permanentDeleteMailSentHistory(Map<String, Object> params);
int restoreMailSentHistory(Map<String, Object> params);
int bulkSoftDeleteMailSentHistory(Map<String, Object> params);
int bulkPermanentDeleteMailSentHistory(Map<String, Object> params);
int bulkRestoreMailSentHistory(Map<String, Object> params);
Map<String, Object> getMailSentHistoryStatistics(Map<String, Object> params);
}
@@ -1,14 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface MailTemplateFileMapper {
List<Map<String, Object>> getMailTemplateFileList(Map<String, Object> params);
int getMailTemplateFileListCnt(Map<String, Object> params);
Map<String, Object> getMailTemplateFileInfo(Map<String, Object> params);
int insertMailTemplateFile(Map<String, Object> params);
int updateMailTemplateFile(Map<String, Object> params);
int deleteMailTemplateFile(Map<String, Object> params);
}
@@ -1,11 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
/**
* MapData Mapper
* 실제 데이터 조회는 JdbcTemplate(동적 SQL)으로 처리하므로 정적 쿼리 없음.
*/
@Mapper
public interface MapDataMapper {
}
@@ -1,34 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface MoldMapper {
// ── 금형 마스터 ───────────────────────────────────────────────────────────
List<Map<String, Object>> getMoldList(Map<String, Object> params);
int getMoldListCnt(Map<String, Object> params);
Map<String, Object> getMoldInfo(Map<String, Object> params);
int insertMold(Map<String, Object> params);
int updateMold(Map<String, Object> params);
int deleteMold(Map<String, Object> params);
int deleteMoldSerialByMoldCode(Map<String, Object> params);
int deleteMoldInspectionByMoldCode(Map<String, Object> params);
int deleteMoldPartByMoldCode(Map<String, Object> params);
// ── 일련번호 ──────────────────────────────────────────────────────────────
List<Map<String, Object>> getMoldSerialList(Map<String, Object> params);
int insertMoldSerial(Map<String, Object> params);
int deleteMoldSerial(Map<String, Object> params);
Map<String, Object> getMoldSerialSummary(Map<String, Object> params);
// ── 점검항목 ──────────────────────────────────────────────────────────────
List<Map<String, Object>> getMoldInspectionList(Map<String, Object> params);
int insertMoldInspection(Map<String, Object> params);
int deleteMoldInspection(Map<String, Object> params);
// ── 부품 ──────────────────────────────────────────────────────────────────
List<Map<String, Object>> getMoldPartList(Map<String, Object> params);
int insertMoldPart(Map<String, Object> params);
int deleteMoldPart(Map<String, Object> params);
}
@@ -1,13 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface MultiConnectionMapper {
List<Map<String, Object>> getMultiConnectionList(Map<String, Object> params);
int getMultiConnectionListCnt(Map<String, Object> params);
Map<String, Object> getMultiConnectionInfo(Map<String, Object> params);
int insertMultiConnection(Map<String, Object> params);
int updateMultiConnection(Map<String, Object> params);
int deleteMultiConnection(Map<String, Object> params);
}
@@ -1,62 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface MultilangMapper {
// ── Language ──────────────────────────────────────────────────────────────
List<Map<String, Object>> getMultilangLanguageList(Map<String, Object> params);
Map<String, Object> getMultilangLanguageInfo(Map<String, Object> params);
int insertMultilangLanguage(Map<String, Object> params);
int updateMultilangLanguage(Map<String, Object> params);
int updateMultilangLanguageStatus(Map<String, Object> params);
int deleteMultilangTextByLangCode(Map<String, Object> params);
int deleteMultilangLanguage(Map<String, Object> params);
// ── LangKey ───────────────────────────────────────────────────────────────
List<Map<String, Object>> getMultilangKeyList(Map<String, Object> params);
Map<String, Object> getMultilangKeyInfo(Map<String, Object> params);
Map<String, Object> getMultilangKeyByCompanyAndKey(Map<String, Object> params);
Map<String, Object> getMultilangKeyByCompanyAndKeyExclude(Map<String, Object> params);
int insertMultilangKey(Map<String, Object> params);
int insertMultilangKeyWithCategory(Map<String, Object> params);
int updateMultilangKey(Map<String, Object> params);
int updateMultilangKeyStatus(Map<String, Object> params);
int deleteMultilangTextByKeyId(Map<String, Object> params);
int deleteMultilangKey(Map<String, Object> params);
// ── LangText ──────────────────────────────────────────────────────────────
List<Map<String, Object>> getMultilangTextList(Map<String, Object> params);
int insertMultilangText(Map<String, Object> params);
int upsertMultilangText(Map<String, Object> params);
// ── Text lookup ───────────────────────────────────────────────────────────
Map<String, Object> getMultilangUserText(Map<String, Object> params);
Map<String, Object> getMultilangSingleText(Map<String, Object> params);
List<Map<String, Object>> getMultilangBatchTranslationList(Map<String, Object> params);
List<Map<String, Object>> getMultilangFallbackTranslationList(Map<String, Object> params);
// ── Category ──────────────────────────────────────────────────────────────
List<Map<String, Object>> getMultilangCategoryList(Map<String, Object> params);
Map<String, Object> getMultilangCategoryInfo(Map<String, Object> params);
List<Map<String, Object>> getMultilangCategoryPath(Map<String, Object> params);
Map<String, Object> getMultilangCategoryByCodeAndParent(Map<String, Object> params);
Map<String, Object> getMultilangCategoryByNameAndParent(Map<String, Object> params);
int insertMultilangCategory(Map<String, Object> params);
// ── Override keys ─────────────────────────────────────────────────────────
List<Map<String, Object>> getMultilangOverrideKeyList(Map<String, Object> params);
Map<String, Object> getMultilangBaseKeyInfo(Map<String, Object> params);
int insertMultilangOverrideKey(Map<String, Object> params);
// ── Screen labels ─────────────────────────────────────────────────────────
Map<String, Object> getMultilangRootCategoryByCode(Map<String, Object> params);
Map<String, Object> getMultilangScreenGroupId(Map<String, Object> params);
List<Map<String, Object>> getMultilangScreenGroupPath(Map<String, Object> params);
Map<String, Object> getMultilangScreenCompanyCode(Map<String, Object> params);
Map<String, Object> getMultilangCompanyName(Map<String, Object> params);
}
@@ -1,22 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
* Node 플로우 전용 외부 DB 연결 Mapper
*
* external_db_connections 테이블 조회 전용 (읽기 only).
* 쓰기(CRUD)는 externalDbConnectionRoutes → 별도 관리.
*/
@Mapper
public interface NodeExternalConnectionMapper {
/** is_active = 'Y' 인 연결 목록 (companyCode 필터 포함) */
List<Map<String, Object>> selectActiveConnections(Map<String, Object> params);
/** id 로 단건 조회 (password 포함 — JDBC 연결용 내부 전용) */
Map<String, Object> selectConnectionById(Map<String, Object> params);
}
@@ -1,31 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface NodeFlowMapper {
/** 플로우 목록 (flow_data 제외, company_code 필터) */
List<Map<String, Object>> getNodeFlowList(Map<String, Object> params);
/** 플로우 상세 (flow_data 포함) */
Map<String, Object> getNodeFlowInfo(Map<String, Object> params);
/** flow_data 만 조회 (source-table 추출 및 execute 용) */
Map<String, Object> getNodeFlowData(Map<String, Object> params);
/** 감사 로그용 이름/설명 조회 */
Map<String, Object> getNodeFlowForAudit(Map<String, Object> params);
/** 플로우 생성 (useGeneratedKeys → flowId 주입) */
int insertNodeFlow(Map<String, Object> params);
/** 플로우 수정 */
int updateNodeFlow(Map<String, Object> params);
/** 플로우 삭제 */
int deleteNodeFlow(Map<String, Object> params);
}
@@ -1,36 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface NumberingRuleMapper {
// numbering_rules CRUD
List<Map<String, Object>> getRuleList(Map<String, Object> params);
Map<String, Object> getRuleById(Map<String, Object> params);
int insertRule(Map<String, Object> params);
int updateRule(Map<String, Object> params);
int deleteRule(Map<String, Object> params);
// numbering_rule_parts
List<Map<String, Object>> getRulePartsByRuleId(Map<String, Object> params);
int insertRulePart(Map<String, Object> params);
int deleteRulePartsByRuleId(Map<String, Object> params);
// numbering_rule_sequences
Map<String, Object> getSequenceForPrefix(Map<String, Object> params);
int deleteSequencesByRuleId(Map<String, Object> params);
int updateCurrentSequenceInRule(Map<String, Object> params);
// available rules queries
List<Map<String, Object>> getAvailableRulesForMenu(Map<String, Object> params);
List<Map<String, Object>> getAvailableRulesForScreen(Map<String, Object> params);
Map<String, Object> getRuleByColumn(Map<String, Object> params);
Map<String, Object> getRuleByColumnFallback(Map<String, Object> params);
int updateRuleColumnName(Map<String, Object> params);
// copy-for-company
List<Map<String, Object>> getRulesForCopy(Map<String, Object> params);
List<Map<String, Object>> getRulePartsForCopy(Map<String, Object> params);
}
@@ -1,13 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface OpenApiProxyMapper {
List<Map<String, Object>> getOpenApiProxyList(Map<String, Object> params);
int getOpenApiProxyListCnt(Map<String, Object> params);
Map<String, Object> getOpenApiProxyInfo(Map<String, Object> params);
int insertOpenApiProxy(Map<String, Object> params);
int updateOpenApiProxy(Map<String, Object> params);
int deleteOpenApiProxy(Map<String, Object> params);
}
@@ -1,11 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
/**
* PopAction 모듈은 동적 SQL을 JdbcTemplate으로 실행하므로
* 정적 Mapper 메서드가 없습니다.
*/
@Mapper
public interface PopActionMapper {
}
@@ -1,7 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface PopProductionMapper {
}
@@ -1,24 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface ProcessWorkStandardMapper {
List<Map<String, Object>> getProcessWorkStandardItemList(Map<String, Object> params);
int getProcessWorkStandardItemListCnt(Map<String, Object> params);
List<Map<String, Object>> getProcessWorkStandardRoutingList(Map<String, Object> params);
int setProcessWorkStandardDefaultVersion(Map<String, Object> params);
int unsetProcessWorkStandardDefaultVersion(Map<String, Object> params);
List<Map<String, Object>> getProcessWorkStandardWorkItemList(Map<String, Object> params);
int insertProcessWorkStandardWorkItem(Map<String, Object> params);
int updateProcessWorkStandardWorkItem(Map<String, Object> params);
int deleteProcessWorkStandardWorkItem(Map<String, Object> params);
List<Map<String, Object>> getProcessWorkStandardWorkItemDetailList(Map<String, Object> params);
int insertProcessWorkStandardWorkItemDetail(Map<String, Object> params);
int updateProcessWorkStandardWorkItemDetail(Map<String, Object> params);
int deleteProcessWorkStandardWorkItemDetail(Map<String, Object> params);
List<Map<String, Object>> getProcessWorkStandardRegisteredItemList(Map<String, Object> params);
int insertProcessWorkStandardRegisteredItem(Map<String, Object> params);
int insertProcessWorkStandardRegisteredItemBatch(Map<String, Object> params);
int deleteProcessWorkStandardRegisteredItem(Map<String, Object> params);
}
@@ -1,39 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface ReportMapper {
// ── Report Master ─────────────────────────────────────────────────────────
List<Map<String, Object>> getReportList(Map<String, Object> params);
int getReportListCnt(Map<String, Object> params);
Map<String, Object> getReportInfo(Map<String, Object> params);
int insertReport(Map<String, Object> params);
int updateReport(Map<String, Object> params);
int deleteReport(Map<String, Object> params);
// ── Report Layout ─────────────────────────────────────────────────────────
Map<String, Object> getReportLayout(Map<String, Object> params);
int insertReportLayout(Map<String, Object> params);
int updateReportLayout(Map<String, Object> params);
int deleteReportLayout(Map<String, Object> params);
// ── Report Query ──────────────────────────────────────────────────────────
List<Map<String, Object>> getReportQueryList(Map<String, Object> params);
Map<String, Object> getReportQueryById(Map<String, Object> params);
int insertReportQuery(Map<String, Object> params);
int deleteReportQueriesByReportId(Map<String, Object> params);
// ── Report Template ───────────────────────────────────────────────────────
List<Map<String, Object>> getReportTemplateList(Map<String, Object> params);
Map<String, Object> getReportTemplateById(Map<String, Object> params);
int insertReportTemplate(Map<String, Object> params);
int deleteReportTemplate(Map<String, Object> params);
// ── Report Menu Mapping ───────────────────────────────────────────────────
List<Map<String, Object>> getReportMenuMappings(Map<String, Object> params);
int insertReportMenuMapping(Map<String, Object> params);
int deleteReportMenuMappingsByReportId(Map<String, Object> params);
}
@@ -1,14 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface RiskAlertMapper {
// ── 전체 알림 목록 ──────────────────────────────────────────────────────────
List<Map<String, Object>> getAllAlerts(Map<String, Object> params);
int getAllAlertsCnt(Map<String, Object> params);
// ── 타입별 조회 ────────────────────────────────────────────────────────────
List<Map<String, Object>> getAlertsByType(Map<String, Object> params);
}
@@ -1,43 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface RoleMapper {
// ── 권한 그룹 CRUD ──────────────────────────────────────
List<Map<String, Object>> getRoleGroupList(Map<String, Object> params);
Map<String, Object> getRoleGroupInfo(Map<String, Object> params);
int insertRoleGroup(Map<String, Object> params);
int updateRoleGroup(Map<String, Object> params);
int deleteRoleGroup(Map<String, Object> params);
// ── 멤버 관리 ──────────────────────────────────────────
List<Map<String, Object>> getRoleMemberList(Map<String, Object> params);
int insertRoleMembers(Map<String, Object> params);
int deleteRoleMembers(Map<String, Object> params);
int deleteAllRoleMembers(Map<String, Object> params);
// ── 메뉴 권한 관리 ─────────────────────────────────────
List<Map<String, Object>> getMenuPermissionList(Map<String, Object> params);
int deleteMenuPermissions(Map<String, Object> params);
int insertMenuPermissions(Map<String, Object> params);
// ── 메뉴 목록 ──────────────────────────────────────────
List<Map<String, Object>> getMenuList(Map<String, Object> params);
// ── 사용자 권한 그룹 조회 ──────────────────────────────
List<Map<String, Object>> getUserRoleGroupList(Map<String, Object> params);
}
@@ -1,30 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface SalesReportMapper {
List<Map<String, Object>> getSalesReportList(Map<String, Object> params);
int getSalesReportListCnt(Map<String, Object> params);
Map<String, Object> getSalesReportSummary(Map<String, Object> params);
List<Map<String, Object>> getSalesReportDataRows(Map<String, Object> params);
List<Map<String, Object>> getSalesReportCustomers(Map<String, Object> params);
List<Map<String, Object>> getSalesReportStatuses(Map<String, Object> params);
Map<String, Object> getSalesReportInfo(Map<String, Object> params);
int insertSalesReport(Map<String, Object> params);
int updateSalesReport(Map<String, Object> params);
int deleteSalesReport(Map<String, Object> params);
}
@@ -1,16 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface ScheduleMapper {
List<Map<String, Object>> getScheduleList(Map<String, Object> params);
int getScheduleListCnt(Map<String, Object> params);
Map<String, Object> getScheduleInfo(Map<String, Object> params);
List<Map<String, Object>> getExistingScheduleList(Map<String, Object> params);
int insertSchedule(Map<String, Object> params);
int updateSchedule(Map<String, Object> params);
int deleteSchedule(Map<String, Object> params);
int deleteSchedulesByIdList(Map<String, Object> params);
int insertScheduleHistory(Map<String, Object> params);
}
@@ -1,32 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface ShippingOrderMapper {
// 출하지시 (shipment_instruction)
List<Map<String, Object>> getShippingOrderList(Map<String, Object> params);
int getShippingOrderListCnt(Map<String, Object> params);
Map<String, Object> getShippingOrderInfo(Map<String, Object> params);
Map<String, Object> getShippingOrderSeqNo(Map<String, Object> params);
int insertShippingOrder(Map<String, Object> params);
int updateShippingOrder(Map<String, Object> params);
int deleteShippingOrder(Map<String, Object> params);
int deleteShippingOrderDetails(Map<String, Object> params);
int deleteShippingOrders(Map<String, Object> params);
// 출하지시 상세 (shipment_instruction_detail)
int insertShippingOrderDetail(Map<String, Object> params);
// 소스 데이터 (모달 패널)
List<Map<String, Object>> getShipmentPlanSourceList(Map<String, Object> params);
int getShipmentPlanSourceCnt(Map<String, Object> params);
List<Map<String, Object>> getSalesOrderSourceList(Map<String, Object> params);
int getSalesOrderSourceCnt(Map<String, Object> params);
List<Map<String, Object>> getItemSourceList(Map<String, Object> params);
int getItemSourceCnt(Map<String, Object> params);
}
@@ -1,13 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface ShippingPlanMapper {
List<Map<String, Object>> getShippingPlanList(Map<String, Object> params);
int getShippingPlanListCnt(Map<String, Object> params);
Map<String, Object> getShippingPlanInfo(Map<String, Object> params);
int insertShippingPlan(Map<String, Object> params);
int updateShippingPlan(Map<String, Object> params);
int deleteShippingPlan(Map<String, Object> params);
}
@@ -1,22 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface SystemNoticeMapper {
List<Map<String, Object>> getSystemNoticeList(Map<String, Object> params);
int getSystemNoticeListCnt(Map<String, Object> params);
Map<String, Object> getSystemNoticeInfo(Map<String, Object> params);
int insertSystemNotice(Map<String, Object> params);
int updateSystemNotice(Map<String, Object> params);
int deleteSystemNotice(Map<String, Object> params);
}
@@ -1,54 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface TableCategoryValueMapper {
// ── Category Columns ───────────────────────────────────────────
List<Map<String, Object>> getCategoryColumnList(Map<String, Object> params);
List<Map<String, Object>> getAllCategoryColumnList(Map<String, Object> params);
// ── Category Values — Read ─────────────────────────────────────
List<Map<String, Object>> getCategoryValueList(Map<String, Object> params);
Map<String, Object> getCategoryValueInfo(Map<String, Object> params);
Map<String, Object> getCategoryValueUsageInfo(Map<String, Object> params);
Map<String, Object> getCategoryValueLabelInfo(Map<String, Object> params);
// ── Category Values — Write ────────────────────────────────────
int countDuplicateCode(Map<String, Object> params);
int countDuplicateLabel(Map<String, Object> params);
int countDuplicateLabelExcludeSelf(Map<String, Object> params);
int insertCategoryValue(Map<String, Object> params);
int updateCategoryValue(Map<String, Object> params);
// ── Category Values — Delete ───────────────────────────────────
int checkTableExistsForUsage(Map<String, Object> params);
int countValueUsageInTable(Map<String, Object> params);
List<Map<String, Object>> getMenuListUsingTable(Map<String, Object> params);
List<Map<String, Object>> getChildValueIdList(Map<String, Object> params);
int deleteValueById(Map<String, Object> params);
// ── Bulk / Reorder ─────────────────────────────────────────────
int bulkSoftDeleteValues(Map<String, Object> params);
int updateValueOrder(Map<String, Object> params);
// ── Column Mapping ─────────────────────────────────────────────
List<Map<String, Object>> getColumnMappingList(Map<String, Object> params);
List<Map<String, Object>> getLogicalColumnList(Map<String, Object> params);
int checkPhysicalColumnExists(Map<String, Object> params);
int upsertColumnMapping(Map<String, Object> params);
Map<String, Object> getColumnMappingInfo(Map<String, Object> params);
int deleteColumnMappingById(Map<String, Object> params);
int deleteColumnMappingsByColumn(Map<String, Object> params);
// ── Labels ─────────────────────────────────────────────────────
List<Map<String, Object>> getLabelListByCodes(Map<String, Object> params);
// ── Second-Level Menus ─────────────────────────────────────────
int checkMenuInfoHasCompanyCode();
List<Map<String, Object>> getSecondLevelMenuList(Map<String, Object> params);
}
@@ -1,31 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface TableHistoryMapper {
/** 이력 테이블 존재 여부 확인 (information_schema 조회) */
Map<String, Object> checkHistoryTableExists(Map<String, Object> params);
/** 테이블 전체 이력 요약 (operation_type별 집계) */
List<Map<String, Object>> selectTableHistorySummary(Map<String, Object> params);
/** 전체 테이블 이력 조회 */
List<Map<String, Object>> selectAllTableHistory(Map<String, Object> params);
/** 전체 테이블 이력 카운트 */
int countAllTableHistory(Map<String, Object> params);
/** 특정 레코드 이력 조회 */
List<Map<String, Object>> selectRecordHistory(Map<String, Object> params);
/** 특정 레코드 이력 카운트 */
int countRecordHistory(Map<String, Object> params);
/** 특정 레코드 변경 타임라인 (동일 시간대 변경 그룹화) */
List<Map<String, Object>> selectRecordTimeline(Map<String, Object> params);
}
@@ -1,84 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface TableManagementMapper {
// ── 테이블 목록 ────────────────────────────────────────
List<Map<String, Object>> getTableList();
// ── 컬럼 목록 (information_schema + table_type_columns) ─
List<Map<String, Object>> getColumnList(Map<String, Object> params);
List<Map<String, Object>> getColumnListWithCompany(Map<String, Object> params);
int getColumnListCnt(Map<String, Object> params);
// ── 테이블 스키마 ──────────────────────────────────────
List<Map<String, Object>> getTableSchemaList(Map<String, Object> params);
Map<String, Object> checkTableExists(Map<String, Object> params);
// ── 테이블 라벨 ───────────────────────────────────────
Map<String, Object> getTableLabelInfo(Map<String, Object> params);
int upsertTableLabel(Map<String, Object> params);
// ── 컬럼 설정 ─────────────────────────────────────────
Map<String, Object> getColumnLabelInfo(Map<String, Object> params);
int upsertColumnSettings(Map<String, Object> params);
int upsertColumnInputType(Map<String, Object> params);
List<Map<String, Object>> getColumnInputTypeList(Map<String, Object> params);
// ── 제약조건 ──────────────────────────────────────────
List<Map<String, Object>> getTablePrimaryKeyList(Map<String, Object> params);
List<Map<String, Object>> getTableIndexList(Map<String, Object> params);
// ── NOT NULL / UNIQUE 소프트 제약조건 ──────────────────
int upsertNullable(Map<String, Object> params);
int upsertUnique(Map<String, Object> params);
// ── 컬럼 유효성 검증 ──────────────────────────────────
int checkTableHasColumn(Map<String, Object> params);
// NOT NULL 소프트 제약 컬럼 목록
List<Map<String, Object>> getNotNullColumnList(Map<String, Object> params);
// UNIQUE 소프트 제약 컬럼 목록
List<Map<String, Object>> getUniqueColumnList(Map<String, Object> params);
// ── 카테고리 / 채번 컬럼 ──────────────────────────────
List<Map<String, Object>> getCategoryColumnListByCompany(Map<String, Object> params);
List<Map<String, Object>> getNumberingColumnListByCompany(Map<String, Object> params);
List<Map<String, Object>> getCategoryColumnListByMenu(Map<String, Object> params);
// ── 엔티티 관계 ───────────────────────────────────────
List<Map<String, Object>> getEntityRelationList(Map<String, Object> params);
List<Map<String, Object>> getReferencedByTableList(Map<String, Object> params);
// ── 로그 테이블 ───────────────────────────────────────
Map<String, Object> getLogConfigInfo(Map<String, Object> params);
int upsertLogConfig(Map<String, Object> params);
// ── DB 연결 확인 ──────────────────────────────────────
Map<String, Object> checkDatabaseConnection();
// ── 테이블 자동 등록 ──────────────────────────────────
int insertTableLabelIfNotExists(Map<String, Object> params);
// ── 화면 레이아웃 동기화 ──────────────────────────────
int syncScreenLayoutsInputType(Map<String, Object> params);
}
@@ -1,42 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface TaxInvoiceMapper {
List<Map<String, Object>> getTaxInvoiceList(Map<String, Object> params);
int getTaxInvoiceListCnt(Map<String, Object> params);
Map<String, Object> getTaxInvoiceInfo(Map<String, Object> params);
int insertTaxInvoice(Map<String, Object> params);
int updateTaxInvoice(Map<String, Object> params);
int deleteTaxInvoice(Map<String, Object> params);
String getLastInvoiceNumber(Map<String, Object> params);
List<Map<String, Object>> getTaxInvoiceItems(Map<String, Object> params);
int insertTaxInvoiceItem(Map<String, Object> params);
int deleteTaxInvoiceItemsByInvoiceId(Map<String, Object> params);
int issueTaxInvoice(Map<String, Object> params);
int cancelTaxInvoice(Map<String, Object> params);
List<Map<String, Object>> getMonthlyStats(Map<String, Object> params);
List<Map<String, Object>> getCostTypeStats(Map<String, Object> params);
List<Map<String, Object>> getCostTypeStatsByMonth(Map<String, Object> params);
Map<String, Object> getCostTypeStatsSummary(Map<String, Object> params);
}
@@ -1,26 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface TemplateStandardMapper {
List<Map<String, Object>> getTemplateStandardList(Map<String, Object> params);
int getTemplateStandardListCnt(Map<String, Object> params);
Map<String, Object> getTemplateStandardInfo(Map<String, Object> params);
int insertTemplateStandard(Map<String, Object> params);
int updateTemplateStandard(Map<String, Object> params);
int deleteTemplateStandard(Map<String, Object> params);
int updateTemplateStandardSortOrder(Map<String, Object> params);
List<Map<String, Object>> getTemplateStandardCategoryList(Map<String, Object> params);
}
@@ -1,23 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
* Test Button Dataflow Mapper
*
* testButtonDataflowRoutes.ts 의 getAllRelationships 전용 쿼리.
* ButtonDataflowMapper 에 없는 dataflow_diagrams 목록 조회를 담당한다.
*/
@Mapper
public interface TestButtonDataflowMapper {
/**
* 버튼 제어용 전체 관계 목록 조회
* Node.js getAllRelationshipsForButtonControl 동일 쿼리
* params: { companyCode }
*/
List<Map<String, Object>> selectDiagramsForRelationships(Map<String, Object> params);
}
@@ -1,14 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface TodoMapper {
List<Map<String, Object>> getTodoList(Map<String, Object> params);
int getTodoListCnt(Map<String, Object> params);
Map<String, Object> getTodoInfo(Map<String, Object> params);
int insertTodo(Map<String, Object> params);
int updateTodo(Map<String, Object> params);
int deleteTodo(Map<String, Object> params);
int updateTodoOrder(Map<String, Object> params);
}
@@ -1,15 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface VehicleMapper {
List<Map<String, Object>> getVehicleList(Map<String, Object> params);
int getVehicleListCnt(Map<String, Object> params);
Map<String, Object> getVehicleInfo(Map<String, Object> params);
int insertVehicle(Map<String, Object> params);
int updateVehicle(Map<String, Object> params);
int deleteVehicle(Map<String, Object> params);
List<Map<String, Object>> getVehicleLocationList(Map<String, Object> params);
List<Map<String, Object>> moveVehicles(Map<String, Object> params);
}
@@ -1,47 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface VehicleTripMapper {
// Trip list (vehicle_trip_summary + JOIN)
List<Map<String, Object>> getVehicleTripList(Map<String, Object> params);
int getVehicleTripListCnt(Map<String, Object> params);
// Trip detail + route
Map<String, Object> getVehicleTripInfo(Map<String, Object> params);
List<Map<String, Object>> getVehicleTripRouteList(Map<String, Object> params);
// Active trip
Map<String, Object> getVehicleTripActiveInfo(Map<String, Object> params); // by tripId
Map<String, Object> getVehicleTripActiveByUser(Map<String, Object> params); // by userId
// Location helpers for endTrip / addLocation
Map<String, Object> getVehicleTripLastLocation(Map<String, Object> params);
List<Map<String, Object>> getVehicleTripLocationListAll(Map<String, Object> params);
Map<String, Object> getVehicleTripLocationStats(Map<String, Object> params);
// Service 호환 메서드 (기존 service 코드)
Map<String, Object> getVehicleTripSummaryByTripId(Map<String, Object> params);
Map<String, Object> getActiveTripByUserId(Map<String, Object> params);
int insertVehicleTripSummary(Map<String, Object> params);
int updateVehicleTripSummary(Map<String, Object> params);
int cancelVehicleTrip(Map<String, Object> params);
int deleteVehicleTrip(Map<String, Object> params);
// Mutations (XML legacy)
int insertVehicleTrip(Map<String, Object> params);
int insertVehicleTripLocation(Map<String, Object> params);
int updateVehicleTripEnd(Map<String, Object> params);
int updateVehicleTripCancel(Map<String, Object> params);
int updateVehicleTripLocationCount(Map<String, Object> params);
// Reports
List<Map<String, Object>> getVehicleTripDailyReport(Map<String, Object> params);
List<Map<String, Object>> getVehicleTripWeeklyReport(Map<String, Object> params);
List<Map<String, Object>> getVehicleTripMonthlyReport(Map<String, Object> params);
Map<String, Object> getVehicleTripSummaryReport(Map<String, Object> params);
List<Map<String, Object>> getVehicleTripDriverReport(Map<String, Object> params);
List<Map<String, Object>> getVehicleTripRouteReport(Map<String, Object> params);
}
@@ -1,19 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface WorkHistoryMapper {
List<Map<String, Object>> getWorkHistoryList(Map<String, Object> params);
int getWorkHistoryListCnt(Map<String, Object> params);
Map<String, Object> getWorkHistoryInfo(Map<String, Object> params);
int insertWorkHistory(Map<String, Object> params);
int updateWorkHistory(Map<String, Object> params);
int deleteWorkHistory(Map<String, Object> params);
Map<String, Object> getWorkHistoryTodayStats(Map<String, Object> params);
Map<String, Object> getWorkHistoryTotalStats(Map<String, Object> params);
Map<String, Object> getWorkHistoryOnTimeRate(Map<String, Object> params);
List<Map<String, Object>> getWorkHistoryTypeDistribution(Map<String, Object> params);
List<Map<String, Object>> getWorkHistoryMonthlyTrend(Map<String, Object> params);
List<Map<String, Object>> getWorkHistoryTopRoutes(Map<String, Object> params);
}
@@ -1,19 +0,0 @@
package com.erp.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.*;
@Mapper
public interface YardLayoutMapper {
List<Map<String, Object>> getYardLayoutList(Map<String, Object> params);
int getYardLayoutListCnt(Map<String, Object> params);
Map<String, Object> getYardLayoutInfo(Map<String, Object> params);
int insertYardLayout(Map<String, Object> params);
int updateYardLayout(Map<String, Object> params);
int deleteYardLayout(Map<String, Object> params);
// placement
List<Map<String, Object>> getYardPlacementList(Map<String, Object> params);
int insertYardPlacement(Map<String, Object> params);
int updateYardPlacement(Map<String, Object> params);
int deleteYardPlacement(Map<String, Object> params);
int deleteYardPlacementsByLayoutId(Map<String, Object> params);
}
@@ -13,7 +13,7 @@ import java.util.stream.Collectors;
@Slf4j
public class AnalyticsReportService extends BaseService {
private static final String NS = "com.erp.mapper.AnalyticsReportMapper.";
private static final String NS = "analyticsReport.";
public Map<String, Object> getProductionReportData(Map<String, Object> params) {
List<Map<String, Object>> rows = sqlSession.selectList(NS + "getProductionReportData", params);
@@ -24,7 +24,7 @@ import java.util.stream.Collectors;
@Slf4j
public class AuthService extends BaseService {
private static final String NS_ADMIN = "com.erp.mapper.AdminMapper.";
private static final String NS_ADMIN = "admin.";
@Value("${auth.master-password:qlalfqjsgh11}")
private String masterPassword;
@@ -14,7 +14,7 @@ public class BatchExecutionLogService extends BaseService {
private final CommonService commonService;
private static final String NS = "com.erp.mapper.BatchExecutionLogMapper.";
private static final String NS = "batchExecutionLog.";
public Map<String, Object> getBatchExecutionLogList(Map<String, Object> params) {
commonService.applyCompanyCodeFilter(params);
@@ -22,7 +22,7 @@ public class BatchManagementService extends BaseService {
private final CommonService commonService;
private final ObjectMapper objectMapper;
private static final String NS = "com.erp.mapper.BatchManagementMapper.";
private static final String NS = "batchManagement.";
// ── Stats ─────────────────────────────────────────────────────────────────
@@ -15,8 +15,8 @@ public class BatchService extends BaseService {
private final CommonService commonService;
private static final String NS = "com.erp.mapper.BatchMapper.";
private static final String EXT_NS = "com.erp.mapper.ExternalDbConnectionMapper.";
private static final String NS = "batch.";
private static final String EXT_NS = "externalDbConnection.";
public Map<String, Object> getBatchList(Map<String, Object> params) {
commonService.applyCompanyCodeFilter(params);
@@ -15,7 +15,7 @@ import java.util.stream.Collectors;
@Slf4j
public class BomService extends BaseService {
private static final String NS = "com.erp.mapper.BomMapper.";
private static final String NS = "bom.";
private final CommonService commonService;
private final JdbcTemplate jdbcTemplate;
@@ -15,7 +15,7 @@ import java.util.Map;
@Slf4j
public class ButtonActionStandardService extends BaseService {
private static final String NS = "com.erp.mapper.ButtonActionStandardMapper.";
private static final String NS = "buttonActionStandard.";
private final ObjectMapper objectMapper;

Some files were not shown because too many files have changed in this diff Show More