hubin 1 жил өмнө
parent
commit
6f539e356c

+ 7 - 2
src/main/java/com/aizuda/boot/modules/flw/service/IFlwProcessFormService.java

@@ -12,6 +12,11 @@ import com.aizuda.boot.modules.flw.entity.FlwProcessForm;
  */
 public interface IFlwProcessFormService extends IBaseService<FlwProcessForm> {
 
-    Page<FlwProcessForm> page(Page<FlwProcessForm> page, FlwProcessForm flwProcessForm);
-
+    /**
+     * 保存表单内容
+     *
+     * @param instanceId 流程实例ID
+     * @param content    表单内容
+     */
+    boolean saveForm(Long instanceId, String content);
 }

+ 5 - 13
src/main/java/com/aizuda/boot/modules/flw/service/impl/FlwProcessFormServiceImpl.java

@@ -1,13 +1,9 @@
 package com.aizuda.boot.modules.flw.service.impl;
 
-import com.aizuda.core.api.ApiAssert;
 import com.aizuda.boot.modules.flw.entity.FlwProcessForm;
 import com.aizuda.boot.modules.flw.mapper.FlwProcessFormMapper;
 import com.aizuda.boot.modules.flw.service.IFlwProcessFormService;
 import com.aizuda.service.service.BaseServiceImpl;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.springframework.stereotype.Service;
 
 /**
@@ -20,14 +16,10 @@ import org.springframework.stereotype.Service;
 public class FlwProcessFormServiceImpl extends BaseServiceImpl<FlwProcessFormMapper, FlwProcessForm> implements IFlwProcessFormService {
 
     @Override
-    public Page<FlwProcessForm> page(Page<FlwProcessForm> page, FlwProcessForm flwProcessForm) {
-        LambdaQueryWrapper<FlwProcessForm> lqw = Wrappers.lambdaQuery(flwProcessForm);
-        return super.page(page, lqw);
-    }
-
-    @Override
-    public boolean updateById(FlwProcessForm flwProcessForm) {
-        ApiAssert.fail(null == flwProcessForm.getId(), "主键不存在无法更新");
-        return super.updateById(flwProcessForm);
+    public boolean saveForm(Long instanceId, String content) {
+        FlwProcessForm fpf = new FlwProcessForm();
+        fpf.setInstanceId(instanceId);
+        fpf.setContent(content);
+        return super.save(fpf);
     }
 }

+ 4 - 2
src/main/java/com/aizuda/boot/modules/flw/service/impl/FlwProcessServiceImpl.java

@@ -16,6 +16,7 @@ import com.aizuda.service.web.UserSession;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.flowlong.bpm.engine.FlowLongEngine;
 import com.flowlong.bpm.engine.core.FlowCreator;
+import com.flowlong.bpm.engine.entity.FlwInstance;
 import com.flowlong.bpm.engine.entity.FlwProcess;
 import com.flowlong.bpm.engine.model.ModelHelper;
 import com.flowlong.bpm.engine.model.NodeAssignee;
@@ -42,6 +43,7 @@ public class FlwProcessServiceImpl extends ServiceImpl<FlwProcessMapper, FlwProc
     private IFlwProcessPermissionService flwProcessPermissionService;
     private IFlwProcessConfigureService flwProcessConfigureService;
     private IFlwProcessActorService flwProcessActorService;
+    private IFlwProcessFormService flwProcessFormService;
     private FlowlongMapper flowlongMapper;
     private FlowLongEngine flowLongEngine;
 
@@ -122,8 +124,8 @@ public class FlwProcessServiceImpl extends ServiceImpl<FlwProcessMapper, FlwProc
     @Transactional(rollbackFor = Exception.class)
     @Override
     public boolean launchProcess(ProcessStartDTO dto, FlowCreator flowCreator) {
-        // TODO 待保存表单
-        return flowLongEngine.startInstanceById(dto.getProcessId(), flowCreator).isPresent();
+        Optional<FlwInstance> opt = flowLongEngine.startInstanceById(dto.getProcessId(), flowCreator);
+        return opt.filter(flwInstance -> flwProcessFormService.saveForm(flwInstance.getId(), dto.getProcessForm())).isPresent();
     }
 
     @Override