All systems / SYS-003

HRMaster

ระบบบริหารทรัพยากรบุคคล

system.yml

176 lines
# Skeleton created by `sysforge import-excel` (SPEC §13) for SYS-003.
# Core modules: • โมดูลข้อมูลบุคลากร • โมดูลเวลาทำงาน/กะ/การลา • โมดูลเงินเดือน • โมดูลสอบ/ประเมินผล
# 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-003
  name: HRMaster
  title: { th: "ระบบบริหารทรัพยากรบุคคล", en: "Hr master" }
  description: { th: "ระบบบริหารทรัพยากรบุคคล" }
  domain: Enterprise & Business
  package: com.sysforge.hrmaster
  version: 1.0.0
  locale: { default: th }
  timezone: Asia/Bangkok

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

theme: {}

roles:
  - code: ADMIN
    title: { th: ผู้ดูแลระบบ, en: Administrator }
    permissions: ["*"]
  - code: STAFF
    title: { th: เจ้าหน้าที่, en: Staff }
    permissions:
      - "Employee:create"
      - "Employee:read"
      - "Employee:update"
      - "Employee:export"
      - "Position:create"
      - "Position:read"
      - "Position:update"
      - "Position:export"
      - "OrgUnit:create"
      - "OrgUnit:read"
      - "OrgUnit:update"
      - "OrgUnit:export"
      - "EmploymentHistory:create"
      - "EmploymentHistory:read"
      - "EmploymentHistory:update"
      - "EmploymentHistory:export"
      - "TimeRecord:create"
      - "TimeRecord:read"
      - "TimeRecord:update"
      - "TimeRecord:export"
      - "Shift:create"
      - "Shift:read"
      - "Shift:update"
      - "Shift:export"
      - "LeaveRequest:create"
      - "LeaveRequest:read"
      - "LeaveRequest:update"
      - "LeaveRequest:export"
      - "OTRequest:create"
      - "OTRequest:read"
      - "OTRequest:update"
      - "OTRequest:export"
      - "LeaveBalance:create"
      - "LeaveBalance:read"
      - "LeaveBalance:update"
      - "LeaveBalance:export"
      - "PayrollPeriod:create"
      - "PayrollPeriod:read"
      - "PayrollPeriod:update"
      - "PayrollPeriod:export"

entities:
  - name: Employee
    title: { th: "Employee", en: "Employee" }
    display: name
    fields:
      - { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น EM-0001", en: "e.g. EM-0001" } }
      - { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น Employee", en: "e.g. Employee 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 เฉพาะของ Employee
  - name: Position
    title: { th: "Position", en: "Position" }
    display: name
    fields:
      - { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น PO-0001", en: "e.g. PO-0001" } }
      - { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น Position", en: "e.g. Position 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 เฉพาะของ Position
  - name: OrgUnit
    title: { th: "Org unit", en: "Org unit" }
    display: name
    fields:
      - { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น OU-0001", en: "e.g. OU-0001" } }
      - { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น OrgUnit", en: "e.g. Org 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 เฉพาะของ OrgUnit
  - name: EmploymentHistory
    title: { th: "Employment history", en: "Employment history" }
    display: name
    fields:
      - { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น EH-0001", en: "e.g. EH-0001" } }
      - { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น EmploymentHistory", en: "e.g. Employment history 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 เฉพาะของ EmploymentHistory
  - name: TimeRecord
    title: { th: "Time record", en: "Time record" }
    display: name
    fields:
      - { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น TR-0001", en: "e.g. TR-0001" } }
      - { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น TimeRecord", en: "e.g. Time record 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 เฉพาะของ TimeRecord
  - name: Shift
    title: { th: "Shift", en: "Shift" }
    display: name
    fields:
      - { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น SH-0001", en: "e.g. SH-0001" } }
      - { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น Shift", en: "e.g. Shift 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 เฉพาะของ Shift
  - name: LeaveRequest
    title: { th: "Leave request", en: "Leave request" }
    display: name
    fields:
      - { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น LR-0001", en: "e.g. LR-0001" } }
      - { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น LeaveRequest", en: "e.g. Leave request 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 เฉพาะของ LeaveRequest
  - name: OTRequest
    title: { th: "Ot request", en: "Ot request" }
    display: name
    fields:
      - { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น OTR-0001", en: "e.g. OTR-0001" } }
      - { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น OTRequest", en: "e.g. Ot request 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 เฉพาะของ OTRequest
  - name: LeaveBalance
    title: { th: "Leave balance", en: "Leave balance" }
    display: name
    fields:
      - { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น LB-0001", en: "e.g. LB-0001" } }
      - { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น LeaveBalance", en: "e.g. Leave balance 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 เฉพาะของ LeaveBalance
  - name: PayrollPeriod
    title: { th: "Payroll period", en: "Payroll period" }
    display: name
    fields:
      - { name: code, type: string, length: 30, required: true, unique: true, searchable: true, label: { th: รหัส, en: Code }, placeholder: { th: "เช่น PP-0001", en: "e.g. PP-0001" } }
      - { name: name, type: string, length: 200, required: true, searchable: true, label: { th: ชื่อ, en: Name }, placeholder: { th: "เช่น PayrollPeriod", en: "e.g. Payroll period 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 เฉพาะของ PayrollPeriod

screens:
  - { id: home, type: kpi-dashboard, title: { th: ภาพรวม, en: Overview } }
  - { id: employees, type: crud, entity: Employee, title: { th: "Employee", en: "Employee" }, defaultSort: { field: code, dir: asc } }
  - { id: positions, type: crud, entity: Position, title: { th: "Position", en: "Position" }, defaultSort: { field: code, dir: asc } }
  - { id: org-units, type: crud, entity: OrgUnit, title: { th: "Org unit", en: "Org unit" }, defaultSort: { field: code, dir: asc } }
  - { id: employment-histories, type: crud, entity: EmploymentHistory, title: { th: "Employment history", en: "Employment history" }, defaultSort: { field: code, dir: asc } }
  - { id: time-records, type: crud, entity: TimeRecord, title: { th: "Time record", en: "Time record" }, defaultSort: { field: code, dir: asc } }
  - { id: shifts, type: crud, entity: Shift, title: { th: "Shift", en: "Shift" }, defaultSort: { field: code, dir: asc } }
  - { id: leave-requests, type: crud, entity: LeaveRequest, title: { th: "Leave request", en: "Leave request" }, defaultSort: { field: code, dir: asc } }
  - { id: ot-requests, type: crud, entity: OTRequest, title: { th: "Ot request", en: "Ot request" }, defaultSort: { field: code, dir: asc } }
  - { id: leave-balances, type: crud, entity: LeaveBalance, title: { th: "Leave balance", en: "Leave balance" }, defaultSort: { field: code, dir: asc } }
  - { id: payroll-periods, type: crud, entity: PayrollPeriod, title: { th: "Payroll period", en: "Payroll period" }, defaultSort: { field: code, dir: asc } }

Details

Code
SYS-003
Domain
Enterprise & Business
Entities
10
Source
Excel import
Status
Has TODO — generates fine, replace the default fields before real use
Description
ระบบบริหารทรัพยากรบุคคล

Theme

Graphite Cyan · Floating · Tinted menu · home page Product · Soft corners · Comfortable

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

Remove