Joget DX 8 Stable Released
The stable release for Joget DX 8 is now available, with a focus on UX and Governance.
English |
---|
You can use this code block and put into the Bean Shell for Process Participant in Map Participants to Users. In this piece of code, we will get all the users from the group with ID "G-001". Then, we will traverse through each user and obtain each user's assignment count. The first user with the least assignment count will be picked as the assignee of the current assignment. You may use this as a reference to your future coding needs. |
Thai |
---|
คุณสามารถใช้บล็อกรหัสนี้และใส่ลงใน Bean Shell for Process Participant ใน Map Participants to Users ในส่วนของรหัสนี้เราจะรับผู้ใช้ทั้งหมดจากกลุ่มที่มี ID "G-001" จากนั้นเราจะสำรวจผู้ใช้แต่ละคนและรับจำนวนการมอบหมายของผู้ใช้แต่ละคน ผู้ใช้รายแรกที่มีจำนวนการมอบหมายน้อยที่สุดจะถูกเลือกเป็นผู้รับโอนการมอบหมายปัจจุบัน คุณสามารถใช้สิ่งนี้เป็นการอ้างอิงถึงความต้องการการเข้ารหัสในอนาคตของคุณ |
Code Block | ||
---|---|---|
| ||
import java.util.Collection; import org.joget.apps.app.service.AppUtil; import org.joget.directory.model.User; import org.joget.directory.model.service.ExtDirectoryManager; import org.joget.workflow.shark.model.dao.WorkflowAssignmentDao; ExtDirectoryManager directoryManager = (ExtDirectoryManager) AppUtil.getApplicationContext().getBean("directoryManager"); WorkflowAssignmentDao workflowAssignmentDao = (WorkflowAssignmentDao) AppUtil.getApplicationContext().getBean("workflowAssignmentDao"); //set groupId String groupId = "G-001"; //Get users of the group using directory manager, sorted by firstName Collection userList = directoryManager.getUsers(null, null, null, null, groupId, null, null, "firstName", false, null, null); //initialize String assignTo = ""; int lowestAssignmentCount = -1; Collection assignees = new ArrayList(); //loop through the users for(Object u : userList){ User user = (User) u; //get open assignment count of the current user //refer to https://github.com/jogetworkflow/jw-community/blob/5.0-SNAPSHOT/wflow-wfengine/src/main/java/org/joget/workflow/shark/model/dao/WorkflowAssignmentDao.java#L198 to refine search conditions int userAssignmentSize = workflowAssignmentDao.getAssignmentSize(null, null, null, null, u.getUsername(), "open"); //System.out.println(u.getUsername() + " has " + userAssignmentSize); if(lowestAssignmentCount == -1){ //assign to the first person first lowestAssignmentCount = userAssignmentSize; assignTo = u.getUsername(); }else if(userAssignmentSize < lowestAssignmentCount){ assignTo = u.getUsername(); lowestAssignmentCount = userAssignmentSize; } } //System.out.println("Will assign to " + assignTo); assignees.add(assignTo); return assignees; |
Thai |
---|
องค์ประกอบที่เกี่ยวข้อง |