summaryrefslogtreecommitdiff
path: root/lib/dashboard
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-07-22 02:57:00 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-07-22 02:57:00 +0000
commitee57cc221ff2edafd3c0f12a181214c602ed257e (patch)
tree148f552f503798f7a350d6eff936b889f16be49f /lib/dashboard
parent14f61e24947fb92dd71ec0a7196a6e815f8e66da (diff)
(대표님, 최겸) 이메일 템플릿, 벤더데이터 변경사항 대응, 기술영업 변경요구사항 구현
Diffstat (limited to 'lib/dashboard')
-rw-r--r--lib/dashboard/partners-service.ts28
-rw-r--r--lib/dashboard/service.ts9
2 files changed, 1 insertions, 36 deletions
diff --git a/lib/dashboard/partners-service.ts b/lib/dashboard/partners-service.ts
index 327a16a9..ac8ca920 100644
--- a/lib/dashboard/partners-service.ts
+++ b/lib/dashboard/partners-service.ts
@@ -73,7 +73,6 @@ export async function getPartnersTeamDashboardData(domain: string): Promise<Part
}
});
- console.log('📊 파트너 팀 대시보드 결과:', successfulResults);
return successfulResults;
} catch (error) {
console.error("파트너 팀 대시보드 데이터 조회 실패:", error);
@@ -98,7 +97,6 @@ export async function getPartnersUserDashboardData(domain: string): Promise<Part
return [];
}
- console.log(`👤 사용자 ID: ${userId}, 회사 ID: ${companyId}`);
// 병렬 처리로 성능 향상
const results = await Promise.allSettled(
@@ -176,7 +174,6 @@ export async function getPartnersDashboardData(domain: string): Promise<Partners
// Partners 테이블별 전체 통계 조회 (회사 필터링 포함)
async function getPartnersTableStats(config: TableConfig, companyId: string): Promise<PartnersDashboardStats> {
try {
- console.log(`\n🔍 파트너 테이블 ${config.tableName} 통계 조회 (회사: ${companyId})`);
// 1단계: 회사별 총 개수 확인
const totalQuery = `
@@ -184,10 +181,8 @@ async function getPartnersTableStats(config: TableConfig, companyId: string): Pr
FROM "${config.tableName}"
WHERE "vendor_id" = '${companyId}'
`;
- console.log("Total SQL:", totalQuery);
const totalResult = await db.execute(sql.raw(totalQuery));
- console.log("Total 결과:", totalResult.rows[0]);
// 2단계: 회사별 상태값 분포 확인
const statusQuery = `
@@ -197,10 +192,8 @@ async function getPartnersTableStats(config: TableConfig, companyId: string): Pr
GROUP BY "${config.statusField}"
ORDER BY count DESC
`;
- console.log("Status SQL:", statusQuery);
const statusResult = await db.execute(sql.raw(statusQuery));
- console.log("Status 결과:", statusResult.rows);
// 3단계: 상태별 개수 조회
const pendingValues = Object.entries(config.statusMapping)
@@ -215,11 +208,7 @@ async function getPartnersTableStats(config: TableConfig, companyId: string): Pr
.filter(([_, mapped]) => mapped === 'completed')
.map(([original]) => original);
- console.log("파트너 상태 매핑:");
- console.log("- pending:", pendingValues);
- console.log("- inProgress:", inProgressValues);
- console.log("- completed:", completedValues);
-
+
let pendingCount = 0;
let inProgressCount = 0;
let completedCount = 0;
@@ -235,7 +224,6 @@ async function getPartnersTableStats(config: TableConfig, companyId: string): Pr
const pendingResult = await db.execute(sql.raw(pendingQuery));
pendingCount = parseInt(pendingResult.rows[0]?.count || '0');
- console.log("Pending 개수:", pendingCount);
}
// In Progress 개수 (회사 필터 포함)
@@ -249,7 +237,6 @@ async function getPartnersTableStats(config: TableConfig, companyId: string): Pr
const inProgressResult = await db.execute(sql.raw(inProgressQuery));
inProgressCount = parseInt(inProgressResult.rows[0]?.count || '0');
- console.log("InProgress 개수:", inProgressCount);
}
// Completed 개수 (회사 필터 포함)
@@ -263,7 +250,6 @@ async function getPartnersTableStats(config: TableConfig, companyId: string): Pr
const completedResult = await db.execute(sql.raw(completedQuery));
completedCount = parseInt(completedResult.rows[0]?.count || '0');
- console.log("Completed 개수:", completedCount);
}
const stats = {
@@ -275,7 +261,6 @@ async function getPartnersTableStats(config: TableConfig, companyId: string): Pr
completed: completedCount
};
- console.log(`✅ 파트너 ${config.tableName} 최종 통계:`, stats);
return stats;
} catch (error) {
console.error(`❌ 파트너 테이블 ${config.tableName} 통계 조회 중 오류:`, error);
@@ -288,11 +273,9 @@ async function getPartnersUserTableStats(config: TableConfig, companyId: string,
try {
// 사용자 필드가 없는 경우 빈 통계 반환
if (!hasUserFields(config)) {
- console.log(`⚠️ 파트너 테이블 ${config.tableName}에 사용자 필드가 없습니다.`);
return createEmptyPartnersStats(config);
}
- console.log(`\n👤 파트너 사용자 ${userId}의 ${config.tableName} 통계 조회 (회사: ${companyId})`);
// 사용자 조건 생성 (회사 필터 포함)
const userConditions = [];
@@ -318,10 +301,8 @@ async function getPartnersUserTableStats(config: TableConfig, companyId: string,
FROM "${config.tableName}"
WHERE "vendor_id" = '${companyId}' AND (${userConditionStr})
`;
- console.log("User Total SQL:", userTotalQuery);
const userTotalResult = await db.execute(sql.raw(userTotalQuery));
- console.log("User Total 결과:", userTotalResult.rows[0]);
// 2. 사용자 + 회사 상태별 개수
const pendingValues = Object.entries(config.statusMapping)
@@ -351,7 +332,6 @@ async function getPartnersUserTableStats(config: TableConfig, companyId: string,
const userPendingResult = await db.execute(sql.raw(userPendingQuery));
userPendingCount = parseInt(userPendingResult.rows[0]?.count || '0');
- console.log("User Pending 개수:", userPendingCount);
}
// User + Company In Progress 개수
@@ -365,7 +345,6 @@ async function getPartnersUserTableStats(config: TableConfig, companyId: string,
const userInProgressResult = await db.execute(sql.raw(userInProgressQuery));
userInProgressCount = parseInt(userInProgressResult.rows[0]?.count || '0');
- console.log("User InProgress 개수:", userInProgressCount);
}
// User + Company Completed 개수
@@ -379,7 +358,6 @@ async function getPartnersUserTableStats(config: TableConfig, companyId: string,
const userCompletedResult = await db.execute(sql.raw(userCompletedQuery));
userCompletedCount = parseInt(userCompletedResult.rows[0]?.count || '0');
- console.log("User Completed 개수:", userCompletedCount);
}
const stats = {
@@ -391,7 +369,6 @@ async function getPartnersUserTableStats(config: TableConfig, companyId: string,
completed: userCompletedCount
};
- console.log(`✅ 파트너 사용자 ${config.tableName} 최종 통계:`, stats);
return stats;
} catch (error) {
console.error(`❌ 파트너 테이블 ${config.tableName} 사용자 통계 조회 중 오류:`, error);
@@ -418,12 +395,10 @@ function hasUserFields(config: TableConfig): boolean {
// 디버깅 함수: Partners 전용
export async function simplePartnersTest(tableName: string, statusField: string, companyId: string) {
try {
- console.log(`\n🧪 파트너 ${tableName} 간단한 테스트 (회사: ${companyId}):`);
// 1. 회사별 총 개수
const totalQuery = `SELECT COUNT(*) as total FROM "${tableName}" WHERE "vendor_id" = '${companyId}'`;
const totalResult = await db.execute(sql.raw(totalQuery));
- console.log("회사별 총 개수:", totalResult.rows[0]);
// 2. 회사별 상태 분포
const statusQuery = `
@@ -434,7 +409,6 @@ export async function simplePartnersTest(tableName: string, statusField: string,
ORDER BY count DESC
`;
const statusResult = await db.execute(sql.raw(statusQuery));
- console.log("회사별 상태 분포:", statusResult.rows);
return {
total: totalResult.rows[0],
diff --git a/lib/dashboard/service.ts b/lib/dashboard/service.ts
index 91ed5eb2..980938ad 100644
--- a/lib/dashboard/service.ts
+++ b/lib/dashboard/service.ts
@@ -64,7 +64,6 @@ export async function getTeamDashboardData(domain: string): Promise<DashboardSta
}
});
- console.log('📊 팀 대시보드 결과:', successfulResults);
return successfulResults;
} catch (error) {
@@ -90,7 +89,6 @@ export async function getUserDashboardData(domain: string): Promise<UserDashboar
return [];
}
- console.log(`👤 사용자 ID: ${userId}`);
// 병렬 처리로 성능 향상
const results = await Promise.allSettled(
@@ -259,7 +257,6 @@ async function getTableStats(config: TableConfig): Promise<DashboardStats> {
completed: completedCount
};
- console.log(`✅ ${config.tableName} 최종 통계:`, stats);
return stats;
} catch (error) {
console.error(`❌ 테이블 ${config.tableName} 통계 조회 중 오류:`, error);
@@ -273,11 +270,9 @@ async function getUserTableStats(config: TableConfig, userId: string): Promise<D
try {
// 사용자 필드가 없는 경우 빈 통계 반환
if (!hasUserFields(config)) {
- console.log(`⚠️ 테이블 ${config.tableName}에 사용자 필드가 없습니다.`);
return createEmptyStats(config);
}
- console.log(`\n👤 사용자 ${userId}의 ${config.tableName} 통계 조회`);
// 사용자 조건 생성
const userConditions = [];
@@ -334,7 +329,6 @@ async function getUserTableStats(config: TableConfig, userId: string): Promise<D
const userPendingResult = await db.execute(sql.raw(userPendingQuery));
userPendingCount = parseInt(userPendingResult.rows[0]?.count || '0');
- console.log("User Pending 개수:", userPendingCount);
}
// User In Progress 개수
@@ -411,16 +405,13 @@ export async function simpleTest(tableName: string, statusField: string) {
ORDER BY count DESC
`;
const statusResult = await db.execute(sql.raw(statusQuery));
- console.log("상태 분포:", statusResult.rows);
// 3. 특정 상태 테스트
const draftQuery = `SELECT COUNT(*) as count FROM "${tableName}" WHERE "${statusField}" = 'DRAFT'`;
const draftResult = await db.execute(sql.raw(draftQuery));
- console.log("DRAFT 개수:", draftResult.rows[0]);
const docConfirmedQuery = `SELECT COUNT(*) as count FROM "${tableName}" WHERE "${statusField}" = 'Doc. Confirmed'`;
const docConfirmedResult = await db.execute(sql.raw(docConfirmedQuery));
- console.log("Doc. Confirmed 개수:", docConfirmedResult.rows[0]);
return {
total: totalResult.rows[0],