From f42b673fb1ac4ed6fdfde0e8d4a329c3a9e97186 Mon Sep 17 00:00:00 2001 From: ye1023 <12588209+ye1023@user.noreply.gitee.com> Date: Wed, 29 Apr 2026 17:42:26 +0800 Subject: [PATCH] =?UTF-8?q?yxk-20260429-=E5=A2=9E=E5=8A=A0/saveBpmForm?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=EF=BC=8C=E4=BF=9D=E5=AD=98=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=9A=84=E5=90=8C=E6=97=B6=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E7=9A=84json=5Fdata?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jeecg-module-supervision/pom.xml | 4 ++++ .../controller/BgPartymatterController.java | 19 +++++++++++++++ .../dto/BgPartymatterBpmSaveDTO.java | 23 +++++++++++++++++++ pom.xml | 6 +++++ 4 files changed, 52 insertions(+) create mode 100644 jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bgpartymatter/dto/BgPartymatterBpmSaveDTO.java diff --git a/jeecg-module-supervision/pom.xml b/jeecg-module-supervision/pom.xml index 43da533..75ddea8 100644 --- a/jeecg-module-supervision/pom.xml +++ b/jeecg-module-supervision/pom.xml @@ -17,6 +17,10 @@ org.jeecgframework.boot jeecg-boot-base-core + + org.jeecgframework.boot + jeecg-boot-module-bpm-flowable + diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bgpartymatter/controller/BgPartymatterController.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bgpartymatter/controller/BgPartymatterController.java index 5d6466d..b444ad2 100644 --- a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bgpartymatter/controller/BgPartymatterController.java +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bgpartymatter/controller/BgPartymatterController.java @@ -1,5 +1,7 @@ package org.jeecg.modules.demo.bgpartymatter.controller; +import com.alibaba.fastjson.JSONObject; +import org.flowable.engine.RuntimeService; import org.jeecg.common.system.query.QueryGenerator; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.jeecg.common.system.query.QueryRuleEnum; @@ -16,6 +18,7 @@ import org.springframework.web.servlet.ModelAndView; import java.util.Arrays; import java.util.HashMap; import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.demo.bgpartymatter.dto.BgPartymatterBpmSaveDTO; import org.jeecg.modules.demo.bgpartymatter.entity.BgPartymatterFeedback; import org.jeecg.modules.demo.bgpartymatter.entity.BgPartymatter; import org.jeecg.modules.demo.bgpartymatter.service.IBgPartymatterService; @@ -55,6 +58,8 @@ public class BgPartymatterController extends JeecgController saveBpmForm(@RequestBody BgPartymatterBpmSaveDTO dto) { + if (dto == null || dto.getFormData() == null || oConvertUtils.isEmpty(dto.getFormData().getId())) { + return Result.error("表单数据不存在"); + } + if (oConvertUtils.isEmpty(dto.getProcessInstanceId())) { + return Result.error("流程实例ID不能为空"); + } + String varField = oConvertUtils.isEmpty(dto.getVarField()) ? "json_data" : dto.getVarField(); + bgPartymatterService.updateById(dto.getFormData()); + runtimeService.setVariable(dto.getProcessInstanceId(), varField, JSONObject.toJSONString(dto.getFormData())); + return Result.OK("保存成功"); + } + /** * 通过id删除 * @param id diff --git a/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bgpartymatter/dto/BgPartymatterBpmSaveDTO.java b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bgpartymatter/dto/BgPartymatterBpmSaveDTO.java new file mode 100644 index 0000000..6100af2 --- /dev/null +++ b/jeecg-module-supervision/src/main/java/org/jeecg/modules/demo/bgpartymatter/dto/BgPartymatterBpmSaveDTO.java @@ -0,0 +1,23 @@ +package org.jeecg.modules.demo.bgpartymatter.dto; + +import java.io.Serializable; + +import org.jeecg.modules.demo.bgpartymatter.entity.BgPartymatter; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "BgPartymatter BPM form save DTO") +public class BgPartymatterBpmSaveDTO implements Serializable { + private static final long serialVersionUID = 1L; + + @Schema(description = "Process instance id") + private String processInstanceId; + + @Schema(description = "Process variable name") + private String varField; + + @Schema(description = "BgPartymatter form data") + private BgPartymatter formData; +} diff --git a/pom.xml b/pom.xml index 98f720a..890b2a6 100644 --- a/pom.xml +++ b/pom.xml @@ -263,6 +263,12 @@ ${jeecgProjectVersion} + + + org.jeecgframework.boot + jeecg-boot-module-bpm-flowable + ${jeecgProjectVersion} + org.jeecgframework.boot