Skip to main content

รายการเครื่องมือ (Tool List) - Workflow

Production Ready

Tool List Workflow ใช้ Temporal.io backend เหมือนกับ Project Registration และ Work Permit workflows

Overview

Tool List workflow ช่วยให้ผู้รับเหมาสามารถจัดเตรียมและส่งรายการเครื่องมือที่ใช้ในการปฏิบัติงาน โดยเจ้าของงานจะเป็นผู้ตรวจสอบและอนุมัติ


Workflow Diagram


States

StateThai NameDescriptionExpected Role
Startedเริ่มต้นสถานะเริ่มต้น-
PrepareToolListจัดเตรียมรายการเครื่องมือผู้รับเหมากรอกรายการเครื่องมือผู้รับเหมา
ReviewByWorkOwnerเจ้าของงานตรวจสอบเจ้าของงานตรวจสอบและอนุมัติรายการเจ้าของงาน
Completedเสร็จสิ้นรายการเครื่องมือได้รับการอนุมัติแล้ว-
Rejectedปฏิเสธรายการเครื่องมือถูกปฏิเสธ-
Cancelledยกเลิกยกเลิกการจัดเตรียมรายการ-

Commands

CommandThai NameFrom StateTo State
SubmitToolListส่งรายการเครื่องมือPrepareToolListReviewByWorkOwner
CancelยกเลิกPrepareToolListCancelled
ApproveToolListอนุมัติรายการReviewByWorkOwnerCompleted
RequestChangeToolListส่งกลับแก้ไขReviewByWorkOwnerPrepareToolList
RejectToolListปฏิเสธReviewByWorkOwnerRejected

Form Edit Permissions

StateEditable DocumentsEditable ByLock Reason
PrepareToolListDoc 5 (Tool List)ผู้รับเหมา-
ReviewByWorkOwner(all locked)-เจ้าของงานกำลังตรวจสอบ
Completed(all locked)-อนุมัติแล้ว
Rejected(all locked)-ถูกปฏิเสธ
Cancelled(all locked)-ยกเลิกแล้ว

Document Forms

Doc IDDocumentThai NameDescription
5Tool List Formรายการเครื่องมือฟอร์มสำหรับบันทึกรายการเครื่องมือที่ใช้ในการปฏิบัติงาน

Form Fields

Tool List Form (Doc 5)

SectionFieldsDescription
ข้อมูลทั่วไปPOหมายเลขใบสั่งซื้อ
Contractorชื่อผู้รับเหมา
Projectชื่อโครงการ
Work Periodระยะเวลาปฏิบัติงาน (วันที่เริ่ม-สิ้นสุด)
รายการเครื่องมือตาราง 15 แถวรายละเอียดเครื่องมือแต่ละรายการ

Tool Items Table Columns

ColumnThai NameDescription
Tool Nameชื่อเครื่องมือชื่อหรือประเภทเครื่องมือ
Quantityจำนวนจำนวนเครื่องมือ
Entry Dateวันที่นำเข้าวันที่นำเครื่องมือเข้าพื้นที่
Inspection Resultผลการตรวจสอบผ่าน/ไม่ผ่าน
Exit Dateวันที่นำออกวันที่นำเครื่องมือออกจากพื้นที่
Remarksหมายเหตุหมายเหตุเพิ่มเติม
FieldThai NameDescription
Inspector Signatureลายเซ็นผู้ตรวจสอบเจ้าของงานลงนามตรวจสอบ
Dateวันที่วันที่ตรวจสอบ

Testing Instructions

เข้าถึง Prototype

  1. เข้าสู่ระบบด้วย role Contractor
  2. ไปที่ "งานของฉัน" (My Tasks)
  3. คลิก "สร้างงาน" → เลือก "รายการเครื่องมือ"

Test Scenarios

Scenario 1: ส่งรายการเครื่องมือสำเร็จ

  1. Contractor: สร้างงานใหม่ประเภท "รายการเครื่องมือ"
  2. Contractor: กรอกรายการเครื่องมือ (ชื่อ, จำนวน, วันที่นำเข้า)
  3. Contractor: คลิก "ส่งรายการเครื่องมือ"
  4. Work Owner: ตรวจสอบรายการเครื่องมือ
  5. Work Owner: คลิก "อนุมัติรายการ"
  6. สถานะเปลี่ยนเป็น "เสร็จสิ้น"

Scenario 2: ส่งกลับแก้ไข

  1. ทำขั้นตอน 1-4 จาก Scenario 1
  2. Work Owner: คลิก "ส่งกลับแก้ไข"
  3. Contractor: แก้ไขรายการเครื่องมือ
  4. Contractor: ส่งใหม่อีกครั้ง

Scenario 3: ยกเลิก

  1. ทำขั้นตอน 1-2 จาก Scenario 1
  2. Contractor: คลิก "ยกเลิก"
  3. สถานะเปลี่ยนเป็น "ยกเลิก"

สิ่งที่ต้องตรวจสอบ

  • สร้างงานใหม่ได้สำเร็จ
  • ปุ่มคำสั่งแสดงตามสถานะถูกต้อง
  • กรอกรายการเครื่องมือได้ (เพิ่ม/ลบแถว)
  • สถานะเปลี่ยนตามคำสั่งถูกต้อง
  • ฟอร์มล็อคเมื่ออยู่ในสถานะตรวจสอบ

Architecture Notes

Temporal.io Backend

Tool List ใช้ Temporal.io Workflow Engine เหมือนกับ Project Registration และ Work Permit:

  1. Workflow Project: SafetyApp.Workflows.ToolListPreparation
  2. State Machine: ToolListPreparationWorkflow.cs จัดการ state transitions
  3. Activities: ToolListPreparationActivities.cs ดำเนินการ database operations
  4. Commands: Backend คืนค่า commands ตาม current state ผ่าน Temporal Query

Key Backend Files

FilePurpose
ToolListPreparationWorkflow.csState machine with Temporal decorators
ToolListPreparationActivities.csDB operations (CreateTask, UpdateState, CreateLog)
ToolListPreparationWorkflowService.csAPI integration layer
ToolListPreparationWorkflowCommands.csCommands enum with Thai descriptions

Key Frontend Files

FilePurpose
tool-list-form.component.tsForm component
tool-list-form.model.tsForm data model
tool-list-svg-mapping.config.tsSVG workflow diagram mapping

Test Cases

ดูรายละเอียดขั้นตอนการทดสอบได้ที่: