Skip to content

Org Master Data — Business Rules

Tổng quan

Domain này là lớp “internal master data” của settings, nhưng thực tế chỉ một phần nhỏ do settings sở hữu hoàn toàn. Nhiều màn hình chỉ là shell quản trị cho dữ liệu thuộc:

  • user domain: branch, department,
  • ecommerce domain: warehouse, service, region, invoice template,
  • fund domain: daily cost subtype.

Điểm quan trọng nhất:

  • settings ở đây là control surface,
  • ownership thật của data nằm rải ở các domain khác,
  • vì vậy đọc route tree không đủ để hiểu boundary dữ liệu.

Nhóm nghiệp vụ

NhómVai tròGhi chú
Branch / DepartmentQuản trị tổ chứcPage owner thật nằm ở user
Warehouse / Inventory configQuản trị khoData owner ở ecommerce
Service config by branchBật/tắt/cấu hình dịch vụ theo chi nhánhGắn branch_service_config
RegionGắn branch vào regionCross-domain giữa internal config và ecommerce
Invoice templateMẫu in hóa đơn, biến inOwner ở ecommerce print tables
Violation master dataSource / group / type của violationMaster data vận hành
Login deviceCấu hình thiết bị đăng nhậpCRUD table riêng
Daily costNhóm chi phí hằng ngàyThực chất là filtered finance master data

Quy tắc nghiệp vụ

Quy tắc
BR-OM-001Branch và department trong settings chỉ là route shell tới page của user, không phải settings-owned CRUD thuần.
BR-OM-002Warehouse/inventory trong settings là cấu hình tổ chức kho, không phải inventory operations runtime.
BR-OM-003Service config ở branch detail là layer cấu hình theo chi nhánh, khác với service master CRUD trong ecommerce.
BR-OM-004region_branch là master data gắn trực tiếp vào branch, nên dù UI ở settings nhưng DB lineage nằm ở ecommerce.
BR-OM-005daily cost không phải domain riêng; nó là fund_group_subtype được filter theo group daily_spending.
BR-OM-006Invoice template có 2 tab chính trong cùng page, không có route tree sâu riêng cho từng loại template.

Boundary

BoundaryGhi chú
userbranch, department, account enrichment, selector
ecommercewarehouse, service, region, invoice template
funddaily cost master data

Rủi ro / Findings

MứcFinding
P1Rất nhiều page trong subdomain này là proxy UI cho module khác, nên docs cũ dễ gán nhầm ownership cho settings.
P1Inventory settings đang quyết định path/quyền bằng roles[0], dễ lệch với effective role set.
P1region đang có dấu hiệu mismatch rõ giữa schema thật và cột hiển thị trên table.
P2invoice-template-report có route constant riêng nhưng thực tế chỉ là tab nội bộ, không phải route đầy đủ.
P2Nhiều shell page mang class/UI copy-paste sai ngữ nghĩa, cho thấy module bị tái sử dụng khá nặng.