wang1
2023-06-28 81b3b7a41ec43af2d3d81b35da72d930483d4f26
主数据流程添加自定义需要的流程变量
已修改3个文件
22 ■■■■■ 文件已修改
Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/VCIFlowController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/FlowTaskDTO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/VCIFlowserviceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/VCIFlowController.java
@@ -36,7 +36,7 @@
    }
    /**
     * 流程预测,流程任务按钮
     * 流程预测,流程任务按钮,查出流程中常量,流程阶段属性
     */
    @PostMapping("next")
    public R<FlowTaskDTO> next(@RequestBody FlowTaskDTO flowTaskUserC) {
Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/entity/FlowTaskDTO.java
@@ -60,6 +60,9 @@
    private List<FlowTaskDTO> toTasks;//流程下一步按钮
    private Map<String, Object> variables;//流程参数
    //流程阶段绑定的属性
    private List<ProcessStageAttr> stageAttrs;
}
Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/service/impl/VCIFlowserviceImpl.java
@@ -16,12 +16,14 @@
 */
package com.vci.ubcs.flow.engine.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.vci.ubcs.flow.core.constant.ProcessConstant;
import com.vci.ubcs.flow.core.entity.BladeFlow;
import com.vci.ubcs.flow.core.utils.TaskUtil;
import com.vci.ubcs.flow.engine.entity.*;
import com.vci.ubcs.flow.engine.service.FlowEngineService;
import com.vci.ubcs.flow.engine.service.FlowTaskUserService;
import com.vci.ubcs.flow.engine.service.ProcessStageAttrService;
import com.vci.ubcs.flow.engine.service.VICFlowService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -33,6 +35,7 @@
import org.flowable.engine.runtime.ProcessInstance;
import org.flowable.task.api.Task;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.support.Kv;
@@ -56,6 +59,7 @@
    private final FlowTaskUserService flowTaskUserService;
    private final FlowEngineService flowEngineService;
    private final HistoryService historyService;
    private final ProcessStageAttrService processStageAttrService;
    private static String MODELKEY = "modelKey";//前端传过来的模型key
    @Override
@@ -217,10 +221,23 @@
                }
            }
        }
        //流程常量
        Map<String,Object> variables = runtimeService.getVariables(processInstanceId);
        if(!variables.isEmpty()){
            flowTaskDTO.setVariables(variables);
        }
        String templateId = variables.get("templateId").toString();
        //流程阶段
        Map<String, Object> m = new HashMap<>();
        m.put("template_id", templateId);
        m.put("task_id", crruentActivityId);
        m.put("model_key", modelKey);
        QueryWrapper q = Condition.getQueryWrapper(m, ProcessStageAttr.class)
            .select("attr_id attrId,attr_name attrName,attr_group attrGroup");
        List<ProcessStageAttr> stageAttrs = processStageAttrService.list(q);
        flowTaskDTO.setStageAttrs(stageAttrs);
        return flowTaskDTO;
    }
}