yangys
2025-07-04 fc588c6e5ccac038cab378931d9bac3033e28f98
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package org.springblade.mdm.flow.service;
 
import org.flowable.engine.IdentityService;
import org.flowable.engine.RuntimeService;
import org.flowable.engine.runtime.ProcessInstance;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.mdm.basesetting.machine.MachineService;
import org.springblade.mdm.basesetting.machine.entity.Machine;
import org.springblade.mdm.flow.excution.AutoAssignUsersService;
import org.springblade.mdm.flow.vo.TaskAssignVO;
import org.springblade.mdm.program.entity.NcNode;
import org.springblade.mdm.program.entity.NcProgram;
import org.springblade.mdm.program.service.NcNodeService;
import org.springblade.mdm.program.service.NcProgramService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.util.HashMap;
import java.util.Map;
 
/**
 * 固化流程服务
 */
@Service
public class CureFlowService {
 
    @Autowired
    private RuntimeService runtimeService;
    @Autowired
    private AutoAssignUsersService autoAssignUsersService;
    @Autowired
    private IdentityService identityService;
 
    @Autowired
    private NcProgramService ncProgramService;
    @Autowired
    private NcNodeService ncNodeService;
    @Autowired
    private MachineService machineService;
    /**
     * 固化流程的key
     */
    private static final String PROCESS_KEY = "program-cure";
 
    /**
     * 启动固化流程
     * @param programId 程序id
     */
    public void start(long programId){
        Map<String, Object> vars = new HashMap<>();
        NcProgram prog = ncProgramService.getById(programId);
        NcNode progNode = ncNodeService.getById(programId);
        Machine machine = machineService.getByCode(progNode.getMachineCode());
        vars.put("machineCode",machine.getCode());
        vars.put("machineMode",machine.getName());
        vars.put("processEdition",prog.getProcessEdition());
        vars.put("programId",programId);
        vars.put("program",progNode);
 
 
        String businessKey = "0";//业务表key
 
        identityService.setAuthenticatedUserId(String.valueOf(AuthUtil.getUserId()));//设置流程发起人
        ProcessInstance pinst = runtimeService.startProcessInstanceByKey(PROCESS_KEY,businessKey,vars);
 
        int a=1;
        //log.info()
    }
 
}