diff options
Diffstat (limited to 'components/common/selectors/purchase-group-code/purchase-group-code-service.ts')
| -rw-r--r-- | components/common/selectors/purchase-group-code/purchase-group-code-service.ts | 21 |
1 files changed, 16 insertions, 5 deletions
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 ? { |
