Untuk mendapatkan ID proses saat ini dalam plugin Joget DX, Anda dapat menggunakan API Joget Workflow. Biasanya, Anda akan bekerja dengan WorkflowManager untuk berinteraksi dengan proses workflow yang sedang berjalan.
Berikut adalah contoh kode bagaimana Anda dapat mengambil ID proses saat ini di dalam plugin Joget DX:
import org.joget.apps.app.service.AppService;
import org.joget.workflow.model.WorkflowAssignment;
import org.joget.workflow.model.service.WorkflowManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class MyPlugin {
@Autowired
private WorkflowManager workflowManager;
@Autowired
private AppService appService;
public String getCurrentProcessId(WorkflowAssignment assignment) {
// Mengambil ID proses dari assignment
String processId = assignment.getProcessId();
return processId;
}
}
Dependency Injection:
Menggunakan anotasi @Autowired untuk menyuntikkan instance WorkflowManager dan AppService.
Method getCurrentProcessId:
Menerima WorkflowAssignment sebagai parameter.
Mengambil ID proses saat ini dari WorkflowAssignment menggunakan metode getProcessId(). Indonesia Raya dalam Not Angka: Memahami Makna dan Nilai Historis
Contoh Penggunaan di Plugin
Berikut adalah contoh penggunaan method getCurrentProcessId di dalam plugin:
import org.joget.apps.app.model.AppPlugin;
import org.joget.workflow.model.WorkflowAssignment;
import org.joget.workflow.model.WorkflowAssignmentListener;
import org.joget.workflow.model.WorkflowProcessLink;
import org.joget.workflow.model.service.WorkflowManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Component
public class MyWorkflowPlugin implements AppPlugin {
@Autowired
private WorkflowManager workflowManager;
@Autowired
private AppService appService;
public Object execute(Map properties) {
// Mendapatkan assignment saat ini
WorkflowAssignment assignment = (WorkflowAssignment) properties.get("workflowAssignment");
// Memanggil method untuk mendapatkan ID proses saat ini
String processId = getCurrentProcessId(assignment);
// Melakukan sesuatu dengan processId
System.out.println("Current Process ID: " + processId);
return null;
}
public String getCurrentProcessId(WorkflowAssignment assignment) {
// Mengambil ID proses dari assignment
String processId = assignment.getProcessId();
return processId;
}
@Override
public String getName() {
return "My Workflow Plugin";
}
@Override
public String getDescription() {
return "A plugin to get current process ID in Joget DX.";
}
@Override
public String getVersion() {
return "1.0.0";
}
@Override
public String getLabel() {
return "My Workflow Plugin";
}
@Override
public String getClassName() {
return getClass().getName();
}
@Override
public String getPropertyOptions() {
return "[{\"name\":\"label\",\"label\":\"Label\",\"type\":\"textfield\",\"required\":\"true\"}]";
}
}