[Prozess-Engine] ---Kostengenehmigungsprozess für den Springboot+Camunda-Fall

1. Fallbeschreibung

Im vorherigen Artikel wurde die einfache Integration von Camunda mit Springboot vorgestellt. Im folgenden Artikel wird die Verwendung von Camunda in bestimmten Fällen vorgestellt. Im Folgenden wird ein einfacher „Kostengenehmigungsprozess“
vorgestellt . Der Prozess durchläuft bis zum Ende nacheinander drei Ebenen der organisatorischen Überprüfung. Darunter kann jede Ebene der Organisationsstruktur mehrere Prüfer aufnehmen. Solange einer von ihnen die Prüfung besteht, gelangt der Prozess in die nächste Ebene der organisatorischen Prüfung.
Fügen Sie hier eine Bildbeschreibung ein

2. Fallbeschreibung

2.1. Hauptcode-Implementierung

Der Hauptcode lautet wie folgt

  /**
     *  http://localhost:8033/workflow/deployed-cases
     * 查询已部署的流程定义列表 【包括未启动、启动 的流程】
     */
    @GetMapping("/deployed-cases")
    public List<String> getDeployedCases() {
   
    
    
        // and convert it to a list of WorkflowCase objects
        //来自act_re_procdef表的数据
        List<ProcessDefinition> list = repositoryService.createProcessDefinitionQuery()
                .list();
        List<String> reList = list.stream().map(e -> e.getId() + "," + e.getName() + "," + e.getVersion()).collect(Collectors.toList());
        return reList;
    }

    /**
     * 部署流程案例
     * @param file
     * @param name
     * @return
     */
    @PostMapping("/uploadSubmit")
    public String deployCase(@RequestParam("file") MultipartFile file, @RequestParam("name") String name) {
   
    
    
        try (InputStream is = file.getInputStream()) {
   
    
    
            // 获取文件的名称
            String originalFilename = file.getOriginalFilename();

            Deployment deployment = repositoryService.createDeployment()
                    .addInputStream(originalFilename, is)
                    .name(name)
                    .deploy();
            return deployment.getId

おすすめ

転載: blog.csdn.net/xunmengyou1990/article/details/132381460