From 1de71f2a0c55b8161b15bdc06e090c87c0ec6840 Mon Sep 17 00:00:00 2001
From: joonhoekim <26rote@gmail.com>
Date: Mon, 13 Oct 2025 18:00:00 +0900
Subject: (김준회) 구매그룹코드 선택시 userCode 업데이트 처리, 선택기에서
사번은 보이지 않게 제거
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../purchase-group-code-multi-selector.tsx | 7 -------
.../purchase-group-code-selector.tsx | 7 -------
.../purchase-group-code-service.ts | 21 ++++++++++++++++-----
.../purchase-group-code-single-selector.tsx | 7 -------
4 files changed, 16 insertions(+), 26 deletions(-)
(limited to 'components/common/selectors/purchase-group-code')
diff --git a/components/common/selectors/purchase-group-code/purchase-group-code-multi-selector.tsx b/components/common/selectors/purchase-group-code/purchase-group-code-multi-selector.tsx
index f21a3ea7..22fca02d 100644
--- a/components/common/selectors/purchase-group-code/purchase-group-code-multi-selector.tsx
+++ b/components/common/selectors/purchase-group-code/purchase-group-code-multi-selector.tsx
@@ -212,13 +212,6 @@ export function PurchaseGroupCodeMultiSelector({
{row.getValue('DISPLAY_NAME')}
),
},
- {
- accessorKey: 'EMPLOYEE_NUMBER',
- header: '사번',
- cell: ({ row }) => (
- {row.getValue('EMPLOYEE_NUMBER')}
- ),
- },
], [handleCodeToggle, tempSelectedCodes, maxSelection])
// 구매그룹코드 테이블 설정
diff --git a/components/common/selectors/purchase-group-code/purchase-group-code-selector.tsx b/components/common/selectors/purchase-group-code/purchase-group-code-selector.tsx
index 4ca3e7ca..320c3b62 100644
--- a/components/common/selectors/purchase-group-code/purchase-group-code-selector.tsx
+++ b/components/common/selectors/purchase-group-code/purchase-group-code-selector.tsx
@@ -98,13 +98,6 @@ export function PurchaseGroupCodeSelector({
{row.getValue('DISPLAY_NAME')}
),
},
- {
- accessorKey: 'EMPLOYEE_NUMBER',
- header: '사번',
- cell: ({ row }) => (
- {row.getValue('EMPLOYEE_NUMBER')}
- ),
- },
{
id: 'actions',
header: '선택',
diff --git a/components/common/selectors/purchase-group-code/purchase-group-code-service.ts b/components/common/selectors/purchase-group-code/purchase-group-code-service.ts
index 191c9f85..0eee15ef 100644
--- a/components/common/selectors/purchase-group-code/purchase-group-code-service.ts
+++ b/components/common/selectors/purchase-group-code/purchase-group-code-service.ts
@@ -2,6 +2,7 @@
import { oracleKnex } from '@/lib/oracle-db/db'
import { getUserByEmployeeNumber } from '@/lib/users/service'
+import { updateUser } from '@/lib/users/repository'
// 구매그룹코드 타입 정의
export interface PurchaseGroupCode {
@@ -101,7 +102,8 @@ export async function getPurchaseGroupCodes(): Promise<{
}
/**
- * 구매그룹코드(들)에 사용자 정보 추가 (1개 또는 여러 개 처리)
+ * 구매그룹코드(들)에 사용자 정보 추가 및 userCode 업데이트 (1개 또는 여러 개 처리)
+ * 선택 시 해당 사용자의 userCode를 구매그룹코드로 업데이트
* @param codes - 단일 또는 배열 형태의 구매그룹코드
* @returns 사용자 정보가 포함된 구매그룹코드 배열
*/
@@ -112,20 +114,29 @@ export async function addUsersToCodesAsync(
// 배열로 정규화
const codesArray = Array.isArray(codes) ? codes : [codes]
- console.log(`👤 [addUsersToCodesAsync] ${codesArray.length}개 구매그룹코드에 대한 사용자 정보 조회 시작`)
+ console.log(`👤 [addUsersToCodesAsync] ${codesArray.length}개 구매그룹코드에 대한 사용자 정보 조회 및 userCode 업데이트 시작`)
- // 각 구매그룹코드에 대해 사용자 정보 조회
+ // 각 구매그룹코드에 대해 사용자 정보 조회 및 userCode 업데이트
const withUsers = await Promise.all(
codesArray.map(async (code) => {
console.log(` 🔍 [addUsersToCodesAsync] 사번 ${code.EMPLOYEE_NUMBER} 조회 중...`)
const user = await getUserByEmployeeNumber(code.EMPLOYEE_NUMBER)
-
+
if (user) {
console.log(` ✅ [addUsersToCodesAsync] 사번 ${code.EMPLOYEE_NUMBER} → 사용자 찾음: ${user.name}`)
+
+ // 사용자의 userCode를 구매그룹코드로 업데이트
+ try {
+ console.log(` 📝 [addUsersToCodesAsync] 사용자 ${user.id}의 userCode를 ${code.PURCHASE_GROUP_CODE}로 업데이트 중...`)
+ await updateUser(user.id, { userCode: code.PURCHASE_GROUP_CODE })
+ console.log(` ✅ [addUsersToCodesAsync] 사용자 ${user.id}의 userCode 업데이트 완료`)
+ } catch (updateError) {
+ console.error(` ❌ [addUsersToCodesAsync] 사용자 ${user.id}의 userCode 업데이트 실패:`, updateError)
+ }
} else {
console.log(` ⚠️ [addUsersToCodesAsync] 사번 ${code.EMPLOYEE_NUMBER} → 사용자 없음`)
}
-
+
return {
...code,
user: user ? {
diff --git a/components/common/selectors/purchase-group-code/purchase-group-code-single-selector.tsx b/components/common/selectors/purchase-group-code/purchase-group-code-single-selector.tsx
index 47a2c5f0..7848cf8f 100644
--- a/components/common/selectors/purchase-group-code/purchase-group-code-single-selector.tsx
+++ b/components/common/selectors/purchase-group-code/purchase-group-code-single-selector.tsx
@@ -125,13 +125,6 @@ export function PurchaseGroupCodeSingleSelector({
{row.getValue('DISPLAY_NAME')}
),
},
- {
- accessorKey: 'EMPLOYEE_NUMBER',
- header: '사번',
- cell: ({ row }) => (
- {row.getValue('EMPLOYEE_NUMBER')}
- ),
- },
{
id: 'actions',
header: '선택',
--
cgit v1.2.3