Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


English

Users may wonder on what is the state of their submitted process applications. We are going to attempt to address this issue by creating a list that will show the application information together with the pending activity and the pending user. This way, the requesters/users would be able to tell on the state of their applications/process instances.

In this exercise, we are using the HR Expenses Claim App that is bundled together in the Joget Enterprise edition with MySQL as the database.


Thai

ผู้ใช้อาจสงสัยว่าสถานะของแอพพลิเคชันที่ส่งมานั้นเป็นอย่างไร เราจะพยายามแก้ไขปัญหานี้โดยสร้างรายการที่จะแสดงข้อมูลแอปพลิเคชันพร้อมกับกิจกรรมที่รอดำเนินการและผู้ใช้ที่รอดำเนินการ ด้วยวิธีนี้ผู้ร้องขอ / ผู้ใช้จะสามารถบอกสถานะของแอปพลิเคชัน / กระบวนการของพวกเขาได้

ในแบบฝึกหัดนี้เรากำลังใช้แอพเรียกร้องค่าใช้จ่ายการบริหารทรัพยากรบุคคลที่รวมอยู่ใน Joget Enterprise รุ่นที่มี MySQL เป็นฐานข้อมูล

...

Thai

รูปที่ 1: การดูแอปพลิเคชันที่ส่งผ่าน List

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

  1. Create a new DatalistList.

    Thai

    สร้างดาต้าลิสต์ใหม่

  2. Choose JDBC Datalist List Database Binder.

    Thai

    เลือกตัวยึดฐานข้อมูล JDBC DatalistList

  3. In "Configure JDBC Datalist List Database Binder", choose "Default Datasource" in "Datasource".

    Thai

    ใน "กำหนดค่า JDBC Datalist List Binder ฐานข้อมูล" เลือก "Default Datasource" ใน "Datasource"

  4. Apply the following query in "SQL SELECT Query"

    Thai

    ใช้แบบสอบถามต่อไปนี้ใน "SQL SELECT Query"

    Code Block
    langsql
    SELECT a.*, sact.Name AS activityName, GROUP_CONCAT(DISTINCT sass.ResourceId SEPARATOR ', ') AS assignee
    FROM app_fd_j_expense_claim a
    INNER JOIN wf_process_link wpl ON wpl.originProcessId = a.id
    INNER JOIN SHKActivities sact onON awpl.idprocessId = sact.ProcessId
    JOIN SHKActivityStates ssta ON ssta.oid = sact.State
    INNER JOIN SHKAssignmentsTable sass ON sact.Id = sass.ActivityId
    WHERE ssta.KeyValue = 'open.not_running.not_started'
    GROUP BY a.id

    Note: Please replace the code "app_fd_hr_expense_claim" with your own table name if you intend to use it for other application.

    Thai

    หมายเหตุ: โปรดแทนที่รหัส "app_fd_hr_expense_claim" ด้วยชื่อตารางของคุณเองหากคุณตั้งใจจะใช้สำหรับแอปพลิเคชันอื่น

  5.  Set "Primary Key" to "a.id"

    Thai

    ตั้งค่า "คีย์หลัก" เป็น "a.id"

  6.  Click OK.

    Thai

    คลิกตกลง

Image AddedImage Removed
Figure 2: Adding the columns into the List

...

The List will now list all the pending activities of everyone. Next, we are going filter the list List such that user will only see what they submitted.

Thai

รูปที่ 3: นักดาต้าลิสต์แสดงกิจกรรมและผู้รับมอบหมายที่รอดำเนินการ

List จะแสดงรายการกิจกรรมที่รอดำเนินการทั้งหมดของทุกคน ต่อไปเราจะกรองรายการตามที่ผู้ใช้จะเห็นเฉพาะสิ่งที่พวกเขาส่ง


Image AddedImage Removed
Figure 4: Retrieving the requester informationRequester Information

We may determine on who is the claimant by looking up the "claimant" field.

In the DatalistList's "SQL SELECT Query", modify the code to the following:-

...

With the changes made above, we will now be able to list down the records related to the currently logged in userLogged In User.

Thai

ด้วยการเปลี่ยนแปลงที่ทำไว้ข้างต้นตอนนี้เราจะสามารถบันทึกรายการที่เกี่ยวข้องกับผู้ใช้ที่เข้าสู่ระบบในปัจจุบัน

...