yangys
2025-07-23 71a55d8d0d886eb6e489a7b581eb799f3a8ad054
增加流程列表中 “文件”列的显示方式
已添加1个文件
已修改4个文件
140 ■■■■■ 文件已修改
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/constants/FlowContants.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/CureFlowService.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/FlowVO.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/constants/FlowContants.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
package org.springblade.mdm.flow.constants;
public class FlowContants {
    public static final String PROGRAM_IDS_KEY = "programids";
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/DispatchController.java
@@ -16,6 +16,7 @@
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringUtil;
import org.springblade.mdm.flow.constants.FlowContants;
import org.springblade.mdm.flow.entity.ApproveRecord;
import org.springblade.mdm.flow.excution.StartDispatcher;
import org.springblade.mdm.flow.service.ApproveRecordService;
@@ -70,9 +71,9 @@
            variables = Kv.create();
        }
        String programIds = null;
        if(variables.containsKey("programIds")){
        if(variables.containsKey(FlowContants.PROGRAM_IDS_KEY)){
            programIds = variables.get("programIds").toString();
            runtimeService.setVariable(taskId, "programIds", programIds);
            runtimeService.setVariable(taskId, FlowContants.PROGRAM_IDS_KEY, programIds);
        }
        if(StringUtils.isNotEmpty(programIds)) {
            processProgRefService.addRelations(processInstanceId,Func.toLongList(programIds));
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/CureFlowService.java
@@ -4,6 +4,7 @@
import org.flowable.engine.HistoryService;
import org.flowable.engine.IdentityService;
import org.flowable.engine.RuntimeService;
import org.flowable.engine.history.HistoricProcessInstance;
import org.flowable.engine.runtime.ProcessInstance;
import org.flowable.task.api.history.HistoricTaskInstance;
import org.springblade.core.secure.utils.AuthUtil;
@@ -67,22 +68,29 @@
     * @param prog æ•°æŽ§ç¨‹åºå®žä½“
     */
    public void startOne(NcProgram prog){
        Map<String, Object> vars = new HashMap<>();
        //NcProgram prog = programs.get(0);
        Machine machine = machineService.getByCode(prog.getMachineCode());
        vars.put("machineCode",prog.getMachineCode());
        vars.put("machineMode",machine.getName());
        vars.put("processEdition",prog.getProcessEdition());
        //该程序在计划任务时 èŽ·å–ç¼–åˆ¶ï¼Œæ ¡å¯¹ï¼Œå®¡æ‰¹çš„äººå‘˜ï¼Œä½œä¸ºé»˜è®¤ç”¨æˆ·ï¼Œå…¶ä¸­ç¼–åˆ¶æ—¶ç¬¬ä¸€ä¸ªå›ºå®šçš„ç”¨æˆ·
        Map<String, Object> vars = null;
            //该程序在计划任务时 èŽ·å–ç¼–åˆ¶ï¼Œæ ¡å¯¹ï¼Œå®¡æ‰¹çš„äººå‘˜ï¼Œä½œä¸ºé»˜è®¤ç”¨æˆ·ï¼Œå…¶ä¸­ç¼–åˆ¶æ—¶ç¬¬ä¸€ä¸ªå›ºå®šçš„ç”¨æˆ·
        ProcessProgRef preRef = processProgRefService.lastDispatchDataByNcProgramId(prog.getId());
        //获取审批用户
        List<HistoricTaskInstance> historicTasks = historyService.createHistoricTaskInstanceQuery()
            .processInstanceId(preRef.getProcessInstanceId())
            .orderByHistoricTaskInstanceEndTime().desc()
            .list();
        if(preRef != null) {
            //获取审批用户
            /*
            List<HistoricTaskInstance> historicTasks = historyService.createHistoricTaskInstanceQuery().includeProcessVariables()
                .processInstanceId(preRef.getProcessInstanceId())
                .orderByHistoricTaskInstanceEndTime().desc()
                .list();*/
            HistoricProcessInstance instance = historyService.createHistoricProcessInstanceQuery()
                .processInstanceId(preRef.getProcessInstanceId()).includeProcessVariables()
                .singleResult();
            if(instance != null) {//使用任务派工流程的变量
                vars = new HashMap<>(instance.getProcessVariables());
            }
        }
        if(vars == null){
            vars = new HashMap<>();
        }
        /*
        String programmer = null;
        String checker = null;
        String senior = null;
@@ -100,10 +108,10 @@
                senior = task.getAssignee();
            }
        }
        vars.put("programmer",programmer);
        vars.put("checker",checker);
        vars.put("senior",senior);
        }*/
        //vars.put("programmer",programmer);
        //vars.put("checker",checker);
        //vars.put("senior",senior);
        String businessKey = "0";//业务表key
@@ -115,7 +123,6 @@
        ref.setNcProgramId(prog.getId());
        processProgRefService.save(ref);
    }
    /**
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java
@@ -17,10 +17,13 @@
import org.springblade.core.tool.utils.*;
import org.springblade.mdm.basesetting.machine.MachineService;
import org.springblade.mdm.flow.constants.FlowContants;
import org.springblade.mdm.flow.entity.MdmFlowProcess;
import org.springblade.mdm.flow.util.MdmFlowCache;
import org.springblade.mdm.flow.vo.FlowVO;
import org.springblade.mdm.program.entity.NcProgram;
import org.springblade.mdm.program.entity.ProcessProgRef;
import org.springblade.mdm.program.service.NcProgramService;
import org.springblade.mdm.program.service.ProcessProgRefService;
import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.User;
@@ -48,7 +51,7 @@
    private final IUserClient userClient;
    private final ProcessProgRefService processProgRefService;
    private final ApproveRecordService approveRecordService;
    private final NcProgramService ncProgramService;
    /**
     * æŸ¥è¯¢æˆ‘的流程(个人待办列表)
     * @param page åˆ†é¡µä¿¡æ¯
@@ -290,6 +293,7 @@
            flow.setProcessDefinitionId(task.getProcessDefinitionId());
            flow.setFile(getNcFileString(String.valueOf(task.getProcessVariables().get("programIds"))));
            //flow.setProcessDefinitionKey(processDefinition.getKey());
            //flow.setProcessDefinitionVersion(processDefinition.getVersion());
            flow.setProcessInstanceId(task.getProcessInstanceId());
@@ -474,10 +478,10 @@
    /**
     * å·²å®Œç»“的流程分页列表
     * @param page
     * @param page åˆ†é¡µä¿¡æ¯
     * @param createTimeBegin
     * @param createTimeEnd
     * @param keyword
     * @param keyword å…³é”®å­—
     * @return
     */
    public IPage<FlowVO> selectFinishedPage(IPage<FlowVO> page, String processDefinitionKey,LocalDate createTimeBegin, LocalDate createTimeEnd, String keyword) {
@@ -511,6 +515,7 @@
            vo.setProcessCreateTime(processInstance.getStartTime());
            vo.setHistoryTaskEndTime(processInstance.getEndTime());
            vo.setFile(getNcFileString(String.valueOf(processInstance.getProcessVariables().get(FlowContants.PROGRAM_IDS_KEY))));
            records.add(vo);
        }
@@ -518,4 +523,13 @@
        return page;
    }
    String getNcFileString(String programIds){
        String result = "";
        if(Func.isNotEmpty(programIds)) {
            List<NcProgram> progList= ncProgramService.listByIds(Func.toLongList(programIds));
            result = String.join(",",progList.stream().map(NcProgram::getName).toList());
        }
        return result;
    }
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/vo/FlowVO.java
@@ -51,68 +51,57 @@
    /**
     * ä»»åŠ¡åç§°
     */
    @Schema(description = "任务名称/当前节点名称")
    private String taskName;
    /**
     * ä»»åŠ¡å®šä¹‰Key
     */
    @Schema(description = "任务定义Key")
    private String taskDefinitionKey;
    /**
     * ä»»åŠ¡æ‰§è¡Œäººç¼–å·
     */
    @Schema(description = "任务执行人编号")
    private String assignee;
    /**
     * ä»»åŠ¡æ‰§è¡Œäººåç§°
     */
    @Schema(description = "任务执行人名称")
    private String assigneeName;
    /**
     * æµç¨‹åˆ†ç±»
     */
    @Schema(description = "流程分类")
    private String category;
    /**
     * æµç¨‹åˆ†ç±»å
     */
    @Schema(description = "流程分类名")
    private String categoryName;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    @Schema(description = "任务创建时间")
    @Schema(description = "当前节点/任务创建时间")
    private Date createTime;
    /**
     * ç»“束时间
     */
    @Schema(description = "结束时间")
    private Date endTime;
    @Schema(description = "流程创建时间")
    private Date processCreateTime;
    @Schema(description = "流程启动用户姓名")
    private String startUserName;
    /**
     * ç­¾æ”¶æ—¶é—´
     */
    @Schema(description = "签收时间")
    private Date claimTime;
    /**
     * åŽ†å²ä»»åŠ¡ç»“æŸæ—¶é—´
     */
    private Date historyTaskEndTime;
    /**
     * æ‰§è¡ŒID
     */
    @Schema(description = "执行ID")
    private String executionId;
    /**
     * æµç¨‹å®žä¾‹ID
     */
    @Schema(description = "流程实例ID")
    private String processInstanceId;
    /**
     * æµç¨‹ID
     */
    @Schema(description = "流程ID")
    private String processDefinitionId;
    /**
     * æµç¨‹æ ‡è¯†
     */
    @Schema(description = "流程标识")
    private String processDefinitionKey;
    /**
     * æµç¨‹å
     */
    @Schema(description = "流程名")
    private String processDefinitionName;
    /**
     * æµç¨‹ç‰ˆæœ¬
@@ -162,6 +151,9 @@
     * ä»»åŠ¡çŠ¶æ€
     */
    private String status;
    @Schema(description = "文件(数控程序文件)")
    private String file;
    /**
     * ä»»åŠ¡æ„è§
     */