summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-07-02 00:45:49 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-07-02 00:45:49 +0000
commit2acf5f8966a40c1c9a97680c8dc263ee3f1ad3d1 (patch)
treef406b5c86f563347c7fd088a85fd1a82284dc5ff /config
parent6a9ca20deddcdcbe8495cf5a73ec7ea5f53f9b55 (diff)
(대표님/최겸) 20250702 변경사항 업데이트
Diffstat (limited to 'config')
-rw-r--r--config/dashboard-table.ts96
-rw-r--r--config/menuConfig.ts7
-rw-r--r--config/partners-dashboard-table.ts49
3 files changed, 151 insertions, 1 deletions
diff --git a/config/dashboard-table.ts b/config/dashboard-table.ts
new file mode 100644
index 00000000..ae74645c
--- /dev/null
+++ b/config/dashboard-table.ts
@@ -0,0 +1,96 @@
+import { TableConfig } from "@/types/dashboard";
+
+export const DASHBOARD_TABLES: TableConfig[] = [
+ {
+ tableName: 'b_rfqs',
+ displayName: '검토용 견적',
+ domain: 'procurement',
+ statusField: 'status',
+ statusMapping: {
+ 'DRAFT': 'pending',
+ 'Doc. Received': 'in_progress',
+ 'PIC Assigned': 'in_progress',
+ 'Doc. Confirmed': 'in_progress',
+ 'Init. RFQ Sent': 'in_progress',
+ 'Init. RFQ Answered': 'in_progress',
+ 'TBE started': 'in_progress',
+ 'TBE finished': 'in_progress',
+ 'Final RFQ Sent': 'in_progress',
+ 'Quotation Received': 'in_progress',
+ 'Vendor Selected': 'completed'
+ },
+ userFields: {
+ creator: 'created_by',
+ updater: 'updated_by',
+ // assignee: 'sent_by'
+ }
+ },
+ {
+ tableName: 'procurement_rfqs',
+ displayName: '발주용 견적',
+ domain: 'procurement',
+ statusField: 'status',
+ statusMapping: {
+ 'RFQ Created': 'pending',
+ 'RFQ Vendor Assignned': 'in_progress',
+ 'RFQ Sent': 'in_progress',
+ 'Quotation Analysis': 'in_progress',
+ 'PO Transfer': 'completed',
+ 'PO Create': 'completed'
+ },
+ userFields: {
+ creator: 'sent_by',
+ updater: 'updated_by',
+ // assignee: 'sent_by'
+ }
+ },
+ {
+ tableName: 'evaluation_targets',
+ displayName: '협력업체 평가대상 관리',
+ domain: 'procurement',
+ statusField: 'status',
+ statusMapping: {
+ 'PENDING': 'pending',
+ 'EXCLUDED': 'completed',
+ 'CONFIRMED': 'completed'
+ },
+ userFields: {
+ creator: 'confirmed_by',
+ // updater: 'updated_by',
+ // assignee: 'confirmed_by'
+ }
+ },
+
+ {
+ tableName: 'tech_sales_rfqs',
+ displayName: '기술영업 RFQ',
+ domain: 'sales',
+ statusField: 'status',
+ statusMapping: {
+ 'RFQ Created': 'pending',
+ 'RFQ Vendor Assignned': 'in_progress',
+ 'RFQ Sent': 'in_progress',
+ 'Quotation Analysist': 'in_progress',
+ 'Closed': 'completed'
+ },
+ userFields: {
+ creator: 'created_by',
+ updater: 'updated_by',
+ // assignee: 'confirmed_by'
+ }
+ },
+
+
+ ];
+
+
+ export const getTablesByDomain = (domain: string): TableConfig[] => {
+ if (domain === 'evcp') {
+ return DASHBOARD_TABLES; // 모든 테이블 반환
+ }
+ return DASHBOARD_TABLES.filter(table => table.domain === domain);
+ };
+
+ export const getAllDomains = (): string[] => {
+ return [...new Set(DASHBOARD_TABLES.map(table => table.domain))];
+ }; \ No newline at end of file
diff --git a/config/menuConfig.ts b/config/menuConfig.ts
index d9b272e1..3471284d 100644
--- a/config/menuConfig.ts
+++ b/config/menuConfig.ts
@@ -344,7 +344,12 @@ export const mainNav: MenuSection[] = [
{
title: "인포메이션 관리",
href: "/evcp/information",
- group: "정보시스템"
+ group: "메뉴"
+ },
+ {
+ title: "공지사항 관리",
+ href: "/evcp/notice",
+ group: "메뉴"
},
{
title: "메뉴 리스트",
diff --git a/config/partners-dashboard-table.ts b/config/partners-dashboard-table.ts
new file mode 100644
index 00000000..c7b38d5e
--- /dev/null
+++ b/config/partners-dashboard-table.ts
@@ -0,0 +1,49 @@
+import { TableConfig } from "@/types/dashboard";
+
+// Partners 전용 테이블 설정
+export const PARTNERS_DASHBOARD_TABLES: TableConfig[] = [
+ {
+ tableName: 'evaluation_submissions',
+ displayName: 'Evaluation Submissions',
+ domain: 'partners',
+ statusField: 'submission_status',
+ statusMapping: {
+ 'draft': 'pending',
+ 'submitted': 'completed'
+ },
+ userFields: {
+ creator: 'created_by',
+ updater: 'updated_by'
+ },
+ // Partners 전용: vendorId 필터링 설정
+ additionalFilters: {
+ // 이 필드는 서비스에서 동적으로 설정됨
+ }
+ },
+ {
+ tableName: 'vendor_attachment_responses',
+ displayName: 'RFQ Sumbmissions',
+ domain: 'partners',
+ statusField: 'response_status',
+ statusMapping: {
+ 'NOT_RESPONDED': 'pending',
+ 'REVISION_REQUESTED': 'in_progress',
+ 'WAIVED': 'completed',
+ 'RESPONDED': 'completed'
+ },
+ userFields: {
+ creator: 'contract_manager',
+ updater: 'last_updated_by'
+ }
+ }
+ // 다른 파트너 관련 테이블들...
+ ];
+
+ export const getPartnerTablesByDomain = (domain: string): TableConfig[] => {
+ return PARTNERS_DASHBOARD_TABLES.filter(table => table.domain === domain);
+ };
+
+ export const getAllPartnerDomains = (): string[] => {
+ return [...new Set(PARTNERS_DASHBOARD_TABLES.map(table => table.domain))];
+ };
+ \ No newline at end of file