ครับ ในบทนี้จะพูดถึงการสร้าง Form ใน Activiti กัน การสร้าง Form ในระบบ Workflow นั้น มีความสำคัญเป็นอย่างมาก เช่น ในการสร้าง Flow การลาหยุดงาน ผู้ใช้งาน จำเป็นต้องมีการกรอกข้อมูลในการขอลาหยุดงานด้วย เช่น จำนวนวันที่ต้องการลาหยุด ลาหยุดจากวันไหนถึงวันไหน เป็นต้น เพื่อให้ผู้พิจารณา (Review) ได้ดูข้อมูลที่กรอกเข้ามาใน Form และพิจารณาอนุมัติงานต่อไป
ขอยกตัวอย่าง Workflow ในบทความที่ผ่านมานะครับ เป็น Workflow ง่ายๆ เมื่อ Start Flow แล้ว จะส่งงานจาก Task1 ไปที่ Task2 แล้วก็จบ Flow นะครับ

null

เริ่มเลยนะครับ ก่อนอื่นให้ทำการเปิด eclipse ขึ้นมาก่อน จากนั้น เปิด project ที่สร้างขึ้นมาจากบทความที่ผ่านมา (การสร้าง Alfresco Workflow โดย Activiti BPM 5.8)

คลิกขวาที่ diagrams เลือก New > File

null

ตั้งชื่อ File เป็น request.form นะครับ จากนั้นคลิกที่ปุ่ม Finish

null

การสร้าง Form ใน Activiti นั้นจะใช้ html tag ในการสร้างนะครับ โดยในบทความนี้ เราจะมาสร้าง Form สำหรับใบลากัน โดยจะประกอบไปด้วย Field ข้อมูล ดังต่อไปนี้

a. ชื่อพนักงาน
b. จำนวนวันที่ลา
c. วันที่เริ่มต้นลา
d. วันที่สิ้นสุดการลา
e. สาเหตุของการลา

พิมพ์ code ในตารางข้างล่าง ใน request.form (ซึ่งเมื่อนำไป run จะได้หน้าจอทางด้านขวา) จากนั้น Save

null

อธิบาย

1.เป็น Header แสดง Title
2. Name=”employeeName”  employeeName เป็นตัวแปร สามารถ reference ถึง form อื่นๆ ได้
3. ถ้าต้องการให้ employeeName เป็น required field ให้เพิ่ม hidden field ตามด้วยตัวแปร_required value=”true”
4. สามารถกำหนด type โดย เพิ่ม hidden field ตามด้วยตัวแปร _type = value=”integer” เป็นต้น

คลิกที่ icon Start event เพื่อระบุ form

null

โดยที่แถบ Properties ทางด้านล่าง ให้คลิกที่ Main Config จากนั้นในช่อง Form key: ให้ใส่ path/request.form เพื่อกำหนดให้ ผู้ที่ Start Flow ทำการกรอก Form ได้ทันที

null

ทำการสร้าง Form ชื่อ review.form เพื่อกำหนดให้กับ Task1 และ Task2 เพื่อทำการ review Workflow โดยพิมพ์ code ทางด้านล่างนี้ (ในตัวอย่างข้างล่าง จะเป็น Form ที่เหมือนกับ Form request.form ต่างกันเพียงนิดเดียว คือ จะมีการเพิ่มการอ้างอิงถึงค่าตัวแปรก่อนหน้านี้ เช่น ชื่อพนักงาน employeeName ซึ่งมีการกรอกข้อมูลมาตั้งแต่ตอนที่ Start form ดังนั้น เมื่อมาถึง Task1 ถ้าต้องการ ให้ค่าที่กรอกในขั้นตอนที่แล้วปรากฏขึ้นมา ให้เพิ่ม tag ดังนี้ คือ ${employeeName} เป็นต้น)

หลังจากพิมพ์ เสร็จ ให้ทำการ Save review.form และทำการ ใส่ค่า Form key: ใน Task1 และ Task2 ให้เป็น diagrams/review.form

null

จากนั้นทำการ create deployment artifacts และ deploy โดยใช้ activiti probe ทำการทดสอบ โดย Start flow ขึ้นมา

null

ปุ่มทางด้านขวาจะเปลี่ยนเป็น Show Start Form โดยเมื่อคลิกที่ปุ่ม Show Start Form จะปรากฏ Form ขึ้นมา ให้ทำการใส่ค่า ต่างๆ ลงไป จากนั้นคลิกที่ปุ่ม OK จากนั้นทำการ login เป็น kermit เพื่อเข้าไป review งาน ใน Task1 จะปรากฏมีงานเข้ามา ให้คลิกที่ปุ่ม Complete Form จะปรากฏ Form ขึ้นมา โดยค่าต่างๆ ที่พิมพ์เข้ามาใน ตอนแรก จะปรากฏขึ้นมาด้วย ดังรูป

null

คลิกที่ปุ่ม OK เพื่อ ส่ง Flow ไปที่ Task2 โดย Login เป็น Gonzo เพื่อทำการ Review ต่อไป

Comments are closed.