Luồng Xử Lý Dữ Liệu Hồ Sơ Doanh Nghiệp (GCIF) Trong Hệ Thống Quản Lý
Trong hệ thống quản lý doanh nghiệp của EnterpriseNao Solutions, việc xử lý dữ liệu hồ sơ GCIF (Global Customer Information File) được chia thành nhiều bước cụ thể. Bài viết này sẽ mô tả chi tiết luồng xử lý dữ liệu theo từng bước, giúp lập trình viên hiểu rõ quy trình clone, cấu hình, và cập nhật dữ liệu.
🧩 Bước 1: Kiểm Tra Trạng Thái Hồ Sơ Hệ thống bắt đầu bằng việc kiểm tra trạng thái hồ sơ doanh nghiệp trong bảng EN_ENTERPRISE_GCIF.
🔄 Bước 2: Xử Lý Hồ Sơ Theo Loại Tùy vào loại cấu hình, hệ thống sẽ clone dữ liệu từ bản chính về bản tạm. Trường main_id trong bản tạm sẽ lưu lại ID của bản chính tương ứng.
✅ Clone Dữ Liệu Hồ Sơ:
Bảng Tạm → Bảng Chính EN_ENTERPRISE_GCIF_TEMP → EN_ENTERPRISE_GCIF EN_ENTERPRISE_TEMP → EN_ENTERPRISE GC_USER_TEMP → GC_USER GC_USER_DOCS_TEMP → GC_USER_DOCS 📂 Trường Hợp 1: Hồ Sơ Cấu Hình Thường GC_USER_ROLE → GC_USER_ROLE_TEMP
Lấy MAP<GC_USER_ROLE_ID, GC_USER_ROLE_TEMP_ID>
GC_USER_SERVICE → GC_USER_SERVICE_TEMP
Dựa vào map ở bước 1 để map lại user_role_id.
⚙️ Trường Hợp 2: Hồ Sơ Cấu Hình Đặc Biệt GC_ROLE → GC_ROLE_TEMP
Lấy MAP<GC_ROLE_ID, GC_ROLE_TEMP_ID>
GC_SERVICE_ROLE → GC_SERVICE_ROLE_TEMP
Map lại role_id từ map ở bước 1
GC_VARIANT_MATRIX → GC_VARIANT_MATRIX_TEMP
Lấy MAP<GC_VARIANT_ID, GC_VARIANT_TEMP_ID>
GC_MATRIX_RULE → GC_MATRIX_RULE_TEMP
Map lại role_id và variant_id từ các bước trước
GC_USER_ROLE → GC_USER_ROLE_TEMP
Map lại role_id và lấy MAP<GC_USER_ROLE_ID, GC_USER_ROLE_TEMP_ID>
GC_USER_SERVICE → GC_USER_SERVICE_TEMP
Map lại user_role_id từ bước 5
🔧 Bước 3: Khởi Tạo Dịch Vụ GCIF Gọi API:
http Sao chép Chỉnh sửa POST {BASE_URL}/micro/v1.0/admin/gcif/service/init ✍️ Bước 4: Khởi Tạo Ký Số Doanh Nghiệp Gọi API:
http Sao chép Chỉnh sửa POST {BASE_URL}/micro/v1.0/admin/enterprise-dsign/init 🧾 Bước 5: Trả Dữ Liệu Cho Client Sau khi hoàn thành các bước xử lý và cập nhật, hệ thống sẽ map dữ liệu cần thiết và trả về cho phía client.
❗ Xử Lý Ngoại Lệ (Exception Handling)
Loại Exception Mô tả BusinessException Không tìm thấy nhóm doanh nghiệp BusinessException Trạng thái nhóm không hợp lệ luồng xử lý dữ liệu: • bước 1: kiểm tra trạng thái hồ sơ trong bảng EN_ENTERPRISE_GCIF • bước 2: kiểm tra hồ sơ đang được cấu hình theo loạ và iclone từ bản chính về bản tạm (lưu id bản chính vào trường main_id trong bản tạm): o truy vấn dữ liệu trong bảng EN_ENTERPRÍE_GCIF_TEMP và thêm vào bảng EN_ENTERPRÍE_GCIF o truy vấn dữ liệu trong bảng EN_ENTERPRÍE_TEMP và thêm vào bảng EN_ENTERPRÍE o truy vấn dữ liệu trong bảng GC_USER_TEMP và thêm vào bảng GC_USER o truy vấn dữ liệu trong bảng GC_USER_DOCS_TEMP và thêm vào bảng GC_USER_DOCS o case 1 - cấu hình thường: ▪ b1: truy vấn dữ liệu trong bảng GC_USER_ROLE và thêm vào bảng GC_USER_ROLE_TEMP và lấy ra thông tin mã bản chính và mã bảng tạm (MAP<GC_USER_ROLE_ID, GC_USER_ROLE_TEMP_ID>) ▪ b2: truy vấn dữ liệu trong bảng GC_USER_SERVICE và thêm vào bảng GC_USER_SERVICE_TEMP (map lại user_role_id từ thông tin map lấy được ở “b1”) o case 2 – hồ sơ cấu hình đặc biệt: ▪ b1: truy vấn dữ liệu trong bảng GC_ROLE và thêm vào bảng GC_ROLE_TEMP và lấy ra thông tin mã bản chính và mã bảng tạm (MAP<GC_ROLE_ID, GC_ROLE_TEMP_ID>) ▪ b2: truy vấn dữ liệu trong bảng GC_SERVICE_ROLE và thêm vào bảng GC_SERVICE_ROLE_TEMP (map lại role_id từ thông tin map lấy được ở “b1”) TÀI LIỆU THIẾT KẾ CHI TIẾT API © Copyright 2016-2025 EnterpriseNao Solutions Jsc. 47 / 65 ▪ b3: truy vấn dữ liệu trong bảng GC_VARIANT_MATRIX và thêm vào bảng GC_VARIANT_MATRIX_TEMP và lấy ra thông tin mã bản chính và mã bảng tạm (MAP<GC_VARIANT_ID, GC_VARIANT_TEMP_ID>) ▪ b4: truy vấn dữ liệu trong bảng GC_MATRIX_RULE và thêm vào bảng GC_MATRIX_RULE_TEMP (map lại role_id từ thông tin map lấy được ở “b1”) (map lại variant_id từ thông tin map lấy được ở “b3”) ▪ b5: truy vấn dữ liệu trong bảng GC_USER_ROLEvà thêm vào bảng GC_USER_ROLE_TEMP (map lại role_id từ thông tin map lấy được ở “b1”) và lấy ra thông tin mã bản chính và mã bảng tạm (MAP<GC_USER_ROLE_ID, GC_USER_ROLE_TEMP_ID>) ▪ b6: truy vấn dữ liệu trong bảng GC_USER_SERVICE và thêm vào bảng GC_USER_SERVICE_TEMP (map lại user_role_id từ thông tin map lấy được ở “b5”) • bước 3: call sang {BASE_URL}/micro/v1.0/admin/gcif/service/init để cập nhật dịch vụ gcif • bước 4: call sang {BASE_URL}/micro/v1.0/admin/enterprise-dsign/init đẻ cập nhật ký số • Map dữ liệu và trả ra cho client. 2.9.8 EXCEPTION
- BusinessException → không tìm thấy nhóm doanh nghiệp
- BusinessException → trạng thái nhóm không hợp lệ
📌 Tổng Kết Luồng xử lý hồ sơ GCIF giúp chuẩn hóa dữ liệu doanh nghiệp giữa bản chính và bản tạm, đồng thời hỗ trợ cấu hình dịch vụ linh hoạt (cấu hình thường và đặc biệt). Việc phân chia rõ ràng các bước xử lý giúp hệ thống đảm bảo tính chính xác và đồng nhất khi thao tác với dữ liệu doanh nghiệp.
All rights reserved