|
|
@@ -2,9 +2,11 @@ package com.cloud.sa.api;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.cloud.sa.flow.commom.common.model.StCodeMsg;
|
|
|
import com.cloud.sa.flow.commom.common.model.StResult;
|
|
|
import com.cloud.sa.flow.commom.domain.entity.*;
|
|
|
import com.cloud.sa.flow.commom.domain.virentity.DynamicDataParam;
|
|
|
+import com.cloud.sa.flow.commom.domain.virentity.FormLoadDataParam;
|
|
|
import com.cloud.sa.flow.commom.domain.virentity.StCommentVo;
|
|
|
import com.cloud.sa.flow.engine.service.form.StFormService;
|
|
|
import com.cloud.sa.flow.commom.domain.virentity.StFormModule;
|
|
|
@@ -12,6 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import java.util.List;
|
|
|
+import java.util.concurrent.CompletableFuture;
|
|
|
|
|
|
/**
|
|
|
* @author lc
|
|
|
@@ -37,15 +40,37 @@ public class FormEngineController {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * @param flowCode
|
|
|
- * @param taskid
|
|
|
* @return
|
|
|
*/
|
|
|
- @GetMapping("/getFormLoadTemplate")
|
|
|
- public StResult getFormLoadTemplate(String flowCode, String bizObjectID, String taskid, String type, String tag) {
|
|
|
- //说明是跟流程相关的
|
|
|
- StFormModule stFormModule = service.getFormLoadTemplate(flowCode, bizObjectID, taskid, type, tag);
|
|
|
- return StResult.success(stFormModule);
|
|
|
+ @PostMapping("/getFormLoadTemplate")
|
|
|
+ public StResult getFormLoadTemplate(@RequestBody FormLoadDataParam formLoadDataParam) {
|
|
|
+ CompletableFuture<StFormModule> formLoadTemplateFuture = CompletableFuture.supplyAsync(() -> {
|
|
|
+ return service.getFormLoadTemplate(formLoadDataParam.getFlowCode(),
|
|
|
+ formLoadDataParam.getBizObjectID(),
|
|
|
+ formLoadDataParam.getTaskid(),
|
|
|
+ formLoadDataParam.getType(),
|
|
|
+ formLoadDataParam.getTag());
|
|
|
+ });
|
|
|
+ CompletableFuture<JSONObject> dynamicDataFuture = CompletableFuture.supplyAsync(() -> {
|
|
|
+ DynamicDataParam dynamicDataParam = new DynamicDataParam();
|
|
|
+ dynamicDataParam.setStoredIds(formLoadDataParam.getStoredIds());
|
|
|
+ dynamicDataParam.setFlowCode(formLoadDataParam.getFlowCode());
|
|
|
+ dynamicDataParam.setIsMobile(formLoadDataParam.getType());
|
|
|
+ dynamicDataParam.setDicStoredFlag(formLoadDataParam.getDicStoredFlag());
|
|
|
+ return service.getDynamicData(dynamicDataParam);
|
|
|
+ });
|
|
|
+ CompletableFuture<StFormModule> combinedFuture = formLoadTemplateFuture.thenCombine(dynamicDataFuture, (stFormModule, dynamicData) -> {
|
|
|
+ stFormModule.setDynamicData(dynamicData);
|
|
|
+ return stFormModule;
|
|
|
+ });
|
|
|
+ try {
|
|
|
+ StFormModule result = combinedFuture.get();
|
|
|
+ return StResult.success(result);
|
|
|
+ } catch (Exception e) {
|
|
|
+ // 处理异常
|
|
|
+ e.printStackTrace();
|
|
|
+ return StResult.error(StCodeMsg.SERVER_EXCEPTION);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@PostMapping("/getDynamicData")
|