All systems / SYS-021
DocumentFlow
ระบบจัดการเอกสาร
system.yml
171 lines# Skeleton created by `sysforge import-excel` (SPEC §13) for SYS-021.
# Core modules: • โมดูลจัดการเอกสาร/เนื้อหา • โมดูลข้อมูลหลัก (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-021
name: DocumentFlow
title: { th: "ระบบจัดการเอกสาร", en: "Document flow" }
description: { th: "ระบบจัดการเอกสาร" }
domain: Enterprise & Business
package: com.sysforge.documentflow
version: 1.0.0
locale: { default: th }
timezone: Asia/Bangkok
database:
targets: [sqlserver, oracle, mysql, postgresql]
default: postgresql
tablePrefix: do_
theme: {}
roles:
- code: ADMIN
title: { th: ผู้ดูแลระบบ, en: Administrator }
permissions: ["*"]
- code: STAFF
title: { th: เจ้าหน้าที่, en: Staff }
permissions:
- "Document:create"
- "Document:read"
- "Document:update"
- "Document:export"
- "DocumentVersion:create"
- "DocumentVersion:read"
- "DocumentVersion:update"
- "DocumentVersion:export"
- "Folder:create"
- "Folder:read"
- "Folder:update"
- "Folder:export"
- "Tag:create"
- "Tag:read"
- "Tag:update"
- "Tag:export"
- "RetentionPolicy:create"
- "RetentionPolicy:read"
- "RetentionPolicy:update"
- "RetentionPolicy: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: DocumentStage
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: Document
title: { th: "Document", en: "Document" }
display: name
fields:
- { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น DO-0001", en: "e.g. DO-0001" } }
- { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น Document", en: "e.g. Document 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: DocumentStage, required: true, default: NEW, searchable: true, label: { th: ขั้นตอน, en: Stage } }
# TODO(sysforge): ระบุ field เฉพาะของ Document
- name: DocumentVersion
title: { th: "Document version", en: "Document version" }
display: name
fields:
- { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น DV-0001", en: "e.g. DV-0001" } }
- { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น DocumentVersion", en: "e.g. Document version 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 เฉพาะของ DocumentVersion
- name: Folder
title: { th: "Folder", en: "Folder" }
display: name
fields:
- { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น FO-0001", en: "e.g. FO-0001" } }
- { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น Folder", en: "e.g. Folder 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 เฉพาะของ Folder
- name: Tag
title: { th: "Tag", en: "Tag" }
display: name
fields:
- { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น TA-0001", en: "e.g. TA-0001" } }
- { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น Tag", en: "e.g. Tag 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 เฉพาะของ Tag
- name: RetentionPolicy
title: { th: "Retention policy", en: "Retention policy" }
display: name
fields:
- { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น RP-0001", en: "e.g. RP-0001" } }
- { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น RetentionPolicy", en: "e.g. Retention policy 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 เฉพาะของ RetentionPolicy
- 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: documents, type: crud, entity: Document, title: { th: "Document", en: "Document" }, defaultSort: { field: code, dir: asc } }
- { id: document-versions, type: crud, entity: DocumentVersion, title: { th: "Document version", en: "Document version" }, defaultSort: { field: code, dir: asc } }
- { id: folders, type: crud, entity: Folder, title: { th: "Folder", en: "Folder" }, defaultSort: { field: code, dir: asc } }
- { id: tags, type: crud, entity: Tag, title: { th: "Tag", en: "Tag" }, defaultSort: { field: code, dir: asc } }
- { id: retention-policies, type: crud, entity: RetentionPolicy, title: { th: "Retention policy", en: "Retention policy" }, 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: documents-board, type: kanban, entity: Document, title: { th: "บอร์ดDocument", en: "Document board" }, options: { statusField: stage, cardTitle: name, cardSubtitle: code, allowDrag: true } }
Details
- Code
- SYS-021
- Domain
- Enterprise & Business
- Entities
- 9
- Source
- Excel import
- Status
- Has TODO — generates fine, replace the default fields before real use
- Description
- ระบบจัดการเอกสาร
Theme
Registered in salt "sysforge-v1": regenerating keeps this look.