All systems / SYS-007
ProjectFlow
ระบบจัดการโครงการ
system.yml
162 lines# Skeleton created by `sysforge import-excel` (SPEC §13) for SYS-007.
# Core modules: • โมดูลอสังหาริมทรัพย์/สัญญาเช่า • โมดูลโครงการ/งาน/เป้าหมาย • โมดูลข้อมูลหลัก (Master Data)
# 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-007
name: ProjectFlow
title: { th: "ระบบจัดการโครงการ", en: "Project flow" }
description: { th: "ระบบจัดการโครงการ" }
domain: Enterprise & Business
package: com.sysforge.projectflow
version: 1.0.0
locale: { default: th }
timezone: Asia/Bangkok
database:
targets: [sqlserver, oracle, mysql, postgresql]
default: postgresql
tablePrefix: pr_
theme: {}
roles:
- code: ADMIN
title: { th: ผู้ดูแลระบบ, en: Administrator }
permissions: ["*"]
- code: STAFF
title: { th: เจ้าหน้าที่, en: Staff }
permissions:
- "Project:create"
- "Project:read"
- "Project:update"
- "Project:export"
- "Unit:create"
- "Unit:read"
- "Unit:update"
- "Unit:export"
- "LeaseContract:create"
- "LeaseContract:read"
- "LeaseContract:update"
- "LeaseContract:export"
- "Tenant:create"
- "Tenant:read"
- "Tenant:update"
- "Tenant:export"
- "Charge:create"
- "Charge:read"
- "Charge:update"
- "Charge:export"
- "Task:create"
- "Task:read"
- "Task:update"
- "Task:export"
- "Milestone:create"
- "Milestone:read"
- "Milestone:update"
- "Milestone:export"
- "Assignment:create"
- "Assignment:read"
- "Assignment:update"
- "Assignment:export"
- "KPI:create"
- "KPI:read"
- "KPI:update"
- "KPI:export"
entities:
- name: Project
title: { th: "Project", en: "Project" }
display: name
fields:
- { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น PR-0001", en: "e.g. PR-0001" } }
- { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น Project", en: "e.g. Project 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 เฉพาะของ Project
- name: Unit
title: { th: "Unit", en: "Unit" }
display: name
fields:
- { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น UN-0001", en: "e.g. UN-0001" } }
- { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น Unit", en: "e.g. Unit 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 เฉพาะของ Unit
- name: LeaseContract
title: { th: "Lease contract", en: "Lease contract" }
display: name
fields:
- { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น LC-0001", en: "e.g. LC-0001" } }
- { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น LeaseContract", en: "e.g. Lease contract 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 เฉพาะของ LeaseContract
- name: Tenant
title: { th: "Tenant", en: "Tenant" }
display: name
fields:
- { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น TE-0001", en: "e.g. TE-0001" } }
- { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น Tenant", en: "e.g. Tenant 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 เฉพาะของ Tenant
- name: Charge
title: { th: "Charge", en: "Charge" }
display: name
fields:
- { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น CH-0001", en: "e.g. CH-0001" } }
- { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น Charge", en: "e.g. Charge 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 เฉพาะของ Charge
- name: Task
title: { th: "Task", en: "Task" }
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: "เช่น Task", en: "e.g. Task 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 เฉพาะของ Task
- name: Milestone
title: { th: "Milestone", en: "Milestone" }
display: name
fields:
- { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น MI-0001", en: "e.g. MI-0001" } }
- { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น Milestone", en: "e.g. Milestone 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 เฉพาะของ Milestone
- name: Assignment
title: { th: "Assignment", en: "Assignment" }
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: "เช่น Assignment", en: "e.g. Assignment 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 เฉพาะของ Assignment
- 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
screens:
- { id: home, type: kpi-dashboard, title: { th: ภาพรวม, en: Overview } }
- { id: projects, type: crud, entity: Project, title: { th: "Project", en: "Project" }, defaultSort: { field: code, dir: asc } }
- { id: units, type: crud, entity: Unit, title: { th: "Unit", en: "Unit" }, defaultSort: { field: code, dir: asc } }
- { id: lease-contracts, type: crud, entity: LeaseContract, title: { th: "Lease contract", en: "Lease contract" }, defaultSort: { field: code, dir: asc } }
- { id: tenants, type: crud, entity: Tenant, title: { th: "Tenant", en: "Tenant" }, defaultSort: { field: code, dir: asc } }
- { id: charges, type: crud, entity: Charge, title: { th: "Charge", en: "Charge" }, defaultSort: { field: code, dir: asc } }
- { id: tasks, type: crud, entity: Task, title: { th: "Task", en: "Task" }, defaultSort: { field: code, dir: asc } }
- { id: milestones, type: crud, entity: Milestone, title: { th: "Milestone", en: "Milestone" }, defaultSort: { field: code, dir: asc } }
- { id: assignments, type: crud, entity: Assignment, title: { th: "Assignment", en: "Assignment" }, defaultSort: { field: code, dir: asc } }
- { id: kp-is, type: crud, entity: KPI, title: { th: "Kpi", en: "Kpi" }, defaultSort: { field: code, dir: asc } }
Details
- Code
- SYS-007
- 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.