Joget DX Application Tool Plugin Get Current Process id or Record Id - Purwana Tekno, Software Engineer
    Media Belajar membuat Software Aplikasi, Website, Game, & Multimedia untuk Pemula...

Post Top Ad

Jumat, 05 Juli 2024

Joget DX Application Tool Plugin Get Current Process id or Record Id

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.


Joget DX Application Tool Plugin Get Current Process id or Record Id - purwana.net


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\"}]";
    }
}


Post Top Ad