All systems / SYS-026

BizAnalytics

ระบบวิเคราะห์ธุรกิจ

system.yml

171 lines
# Skeleton created by `sysforge import-excel` (SPEC §13) for SYS-026.
# Core modules: • โมดูลวิเคราะห์ข้อมูล/Dashboard • โมดูลข้อมูลหลัก (Master Data) • โมดูล Workflow/อนุมัติ
# TODO(sysforge): replace the default fields below with the real fields of each entity.
#                 Every field shown in a form needs a default or a placeholder (R-UI-1). Then run: sysforge validate

system:
  code: SYS-026
  name: BizAnalytics
  title: { th: "ระบบวิเคราะห์ธุรกิจ", en: "Biz analytics" }
  description: { th: "ระบบวิเคราะห์ธุรกิจ" }
  domain: Enterprise & Business
  package: com.sysforge.bizanalytics
  version: 1.0.0
  locale: { default: th }
  timezone: Asia/Bangkok

database:
  targets: [sqlserver, oracle, mysql, postgresql]
  default: postgresql
  tablePrefix: bi_

theme: {}

roles:
  - code: ADMIN
    title: { th: ผู้ดูแลระบบ, en: Administrator }
    permissions: ["*"]
  - code: STAFF
    title: { th: เจ้าหน้าที่, en: Staff }
    permissions:
      - "FactTable:create"
      - "FactTable:read"
      - "FactTable:update"
      - "FactTable:export"
      - "Dimension:create"
      - "Dimension:read"
      - "Dimension:update"
      - "Dimension:export"
      - "KPI:create"
      - "KPI:read"
      - "KPI:update"
      - "KPI:export"
      - "Dashboard:create"
      - "Dashboard:read"
      - "Dashboard:update"
      - "Dashboard:export"
      - "ScheduledReport:create"
      - "ScheduledReport:read"
      - "ScheduledReport:update"
      - "ScheduledReport:export"
      - "WorkflowDefinition:create"
      - "WorkflowDefinition:read"
      - "WorkflowDefinition:update"
      - "WorkflowDefinition:export"
      - "WorkflowInstance:create"
      - "WorkflowInstance:read"
      - "WorkflowInstance:update"
      - "WorkflowInstance:export"
      - "ApprovalStep:create"
      - "ApprovalStep:read"
      - "ApprovalStep:update"
      - "ApprovalStep:export"
      - "Delegation:create"
      - "Delegation:read"
      - "Delegation:update"
      - "Delegation:export"

enums:
  - name: FactTableStage
    values:
      - { code: NEW,         th: ใหม่,         en: New,         color: info }
      - { code: IN_PROGRESS, th: กำลังดำเนินการ, en: In progress, color: warning }
      - { code: DONE,        th: เสร็จสิ้น,      en: Done,        color: success }

entities:
  - name: FactTable
    title: { th: "Fact table", en: "Fact table" }
    display: name
    fields:
      - { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น FT-0001", en: "e.g. FT-0001" } }
      - { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น FactTable", en: "e.g. Fact table name" } }
      - { name: description, type: text, label: { th: รายละเอียด, en: Description }, placeholder: { th: "รายละเอียดเพิ่มเติม", en: "Additional details" } }
      - { name: active, type: boolean, default: true, searchable: true, label: { th: ใช้งาน, en: Active } }
      - { name: stage, type: enum, enum: FactTableStage, required: true, default: NEW, searchable: true, label: { th: ขั้นตอน, en: Stage } }
    # TODO(sysforge): ระบุ field เฉพาะของ FactTable
  - name: Dimension
    title: { th: "Dimension", en: "Dimension" }
    display: name
    fields:
      - { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น DI-0001", en: "e.g. DI-0001" } }
      - { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น Dimension", en: "e.g. Dimension name" } }
      - { name: description, type: text, label: { th: รายละเอียด, en: Description }, placeholder: { th: "รายละเอียดเพิ่มเติม", en: "Additional details" } }
      - { name: active, type: boolean, default: true, searchable: true, label: { th: ใช้งาน, en: Active } }
    # TODO(sysforge): ระบุ field เฉพาะของ Dimension
  - name: KPI
    title: { th: "Kpi", en: "Kpi" }
    display: name
    fields:
      - { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น KPI-0001", en: "e.g. KPI-0001" } }
      - { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น KPI", en: "e.g. Kpi name" } }
      - { name: description, type: text, label: { th: รายละเอียด, en: Description }, placeholder: { th: "รายละเอียดเพิ่มเติม", en: "Additional details" } }
      - { name: active, type: boolean, default: true, searchable: true, label: { th: ใช้งาน, en: Active } }
    # TODO(sysforge): ระบุ field เฉพาะของ KPI
  - name: Dashboard
    title: { th: "Dashboard", en: "Dashboard" }
    display: name
    fields:
      - { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น DA-0001", en: "e.g. DA-0001" } }
      - { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น Dashboard", en: "e.g. Dashboard name" } }
      - { name: description, type: text, label: { th: รายละเอียด, en: Description }, placeholder: { th: "รายละเอียดเพิ่มเติม", en: "Additional details" } }
      - { name: active, type: boolean, default: true, searchable: true, label: { th: ใช้งาน, en: Active } }
    # TODO(sysforge): ระบุ field เฉพาะของ Dashboard
  - name: ScheduledReport
    title: { th: "Scheduled report", en: "Scheduled report" }
    display: name
    fields:
      - { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น SR-0001", en: "e.g. SR-0001" } }
      - { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น ScheduledReport", en: "e.g. Scheduled report name" } }
      - { name: description, type: text, label: { th: รายละเอียด, en: Description }, placeholder: { th: "รายละเอียดเพิ่มเติม", en: "Additional details" } }
      - { name: active, type: boolean, default: true, searchable: true, label: { th: ใช้งาน, en: Active } }
    # TODO(sysforge): ระบุ field เฉพาะของ ScheduledReport
  - name: WorkflowDefinition
    title: { th: "Workflow definition", en: "Workflow definition" }
    display: name
    fields:
      - { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น WD-0001", en: "e.g. WD-0001" } }
      - { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น WorkflowDefinition", en: "e.g. Workflow definition name" } }
      - { name: description, type: text, label: { th: รายละเอียด, en: Description }, placeholder: { th: "รายละเอียดเพิ่มเติม", en: "Additional details" } }
      - { name: active, type: boolean, default: true, searchable: true, label: { th: ใช้งาน, en: Active } }
    # TODO(sysforge): ระบุ field เฉพาะของ WorkflowDefinition
  - name: WorkflowInstance
    title: { th: "Workflow instance", en: "Workflow instance" }
    display: name
    fields:
      - { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น WI-0001", en: "e.g. WI-0001" } }
      - { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น WorkflowInstance", en: "e.g. Workflow instance name" } }
      - { name: description, type: text, label: { th: รายละเอียด, en: Description }, placeholder: { th: "รายละเอียดเพิ่มเติม", en: "Additional details" } }
      - { name: active, type: boolean, default: true, searchable: true, label: { th: ใช้งาน, en: Active } }
    # TODO(sysforge): ระบุ field เฉพาะของ WorkflowInstance
  - name: ApprovalStep
    title: { th: "Approval step", en: "Approval step" }
    display: name
    fields:
      - { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น AS-0001", en: "e.g. AS-0001" } }
      - { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น ApprovalStep", en: "e.g. Approval step name" } }
      - { name: description, type: text, label: { th: รายละเอียด, en: Description }, placeholder: { th: "รายละเอียดเพิ่มเติม", en: "Additional details" } }
      - { name: active, type: boolean, default: true, searchable: true, label: { th: ใช้งาน, en: Active } }
    # TODO(sysforge): ระบุ field เฉพาะของ ApprovalStep
  - name: Delegation
    title: { th: "Delegation", en: "Delegation" }
    display: name
    fields:
      - { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น DE-0001", en: "e.g. DE-0001" } }
      - { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น Delegation", en: "e.g. Delegation name" } }
      - { name: description, type: text, label: { th: รายละเอียด, en: Description }, placeholder: { th: "รายละเอียดเพิ่มเติม", en: "Additional details" } }
      - { name: active, type: boolean, default: true, searchable: true, label: { th: ใช้งาน, en: Active } }
    # TODO(sysforge): ระบุ field เฉพาะของ Delegation

screens:
  - { id: home, type: kpi-dashboard, title: { th: ภาพรวม, en: Overview } }
  - { id: fact-tables, type: crud, entity: FactTable, title: { th: "Fact table", en: "Fact table" }, defaultSort: { field: code, dir: asc } }
  - { id: dimensions, type: crud, entity: Dimension, title: { th: "Dimension", en: "Dimension" }, defaultSort: { field: code, dir: asc } }
  - { id: kp-is, type: crud, entity: KPI, title: { th: "Kpi", en: "Kpi" }, defaultSort: { field: code, dir: asc } }
  - { id: dashboards, type: crud, entity: Dashboard, title: { th: "Dashboard", en: "Dashboard" }, defaultSort: { field: code, dir: asc } }
  - { id: scheduled-reports, type: crud, entity: ScheduledReport, title: { th: "Scheduled report", en: "Scheduled report" }, defaultSort: { field: code, dir: asc } }
  - { id: workflow-definitions, type: crud, entity: WorkflowDefinition, title: { th: "Workflow definition", en: "Workflow definition" }, defaultSort: { field: code, dir: asc } }
  - { id: workflow-instances, type: crud, entity: WorkflowInstance, title: { th: "Workflow instance", en: "Workflow instance" }, defaultSort: { field: code, dir: asc } }
  - { id: approval-steps, type: crud, entity: ApprovalStep, title: { th: "Approval step", en: "Approval step" }, defaultSort: { field: code, dir: asc } }
  - { id: delegations, type: crud, entity: Delegation, title: { th: "Delegation", en: "Delegation" }, defaultSort: { field: code, dir: asc } }
  - { id: fact-tables-board, type: kanban, entity: FactTable, title: { th: "บอร์ดFact table", en: "Fact table board" }, options: { statusField: stage, cardTitle: name, cardSubtitle: code, allowDrag: true } }

Details

Code
SYS-026
Domain
Enterprise & Business
Entities
9
Source
Excel import
Status
Has TODO — generates fine, replace the default fields before real use
Description
ระบบวิเคราะห์ธุรกิจ

Theme

Graphite Cyan · Right side menu · Brand colour menu · home page Product · Square corners · Comfortable

Registered in salt "sysforge-v1": regenerating keeps this look.

Remove