yangys
2025-08-16 66db2ddb74b0f1afba2ccb237ac949959501283f
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
package org.springblade.mdm.flow.service;
 
import lombok.AllArgsConstructor;
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.flow.constants.FlowContants;
import org.springblade.mdm.program.entity.NcNode;
import org.springblade.mdm.program.service.NcNodeService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
 
import java.util.HashMap;
import java.util.Map;
 
@AllArgsConstructor
@Service
public class LockFlowService {
    private final NcNodeService nodeService;
    private final RuntimeService runtimeService;
    private final IdentityService identityService;
    public static final String NODE_ID = "nodeId";
 
 
    /**
     * 启动解锁流程
     */
    @Transactional
    public void startUnlock(Long nodeId,String assignee){
        NcNode programPackage = nodeService.getById(nodeId);
        Map<String, Object> vars = new HashMap<>();
        vars.put(FlowContants.ASSIGNEE,assignee);//第一个审批用户
 
        vars.put(FlowContants.TITLE,programPackage.getName()+"程序替换");
 
        //机床编号
        vars.put(FlowContants.MACHINE_CODE,programPackage.getMachineCode());
        //Machine machine = machineService.getByCode(programPackge.getMachineCode());
        //机床型号
        //if(machine != null) {
            //vars.put(FlowContants.MACHINE_MODE, programPackge.getMachineMode());
        //}
        vars.put(FlowContants.PROCESS_NO,programPackage.getProcessNo());
        vars.put(FlowContants.PROCESS_NAME,programPackage.getProcessName());
        vars.put(FlowContants.PROCESS_EDITION,programPackage.getProcessEdition());
        vars.put(FlowContants.CRAFT_EDITION,programPackage.getCraftEdition());
 
        vars.put(FlowContants.DRAWING_NO,programPackage.getDrawingNo());
        vars.put(FlowContants.DRAWING_NO_EDITION,programPackage.getDrawingNoEdition());
 
        vars.put(FlowContants.PROGRAM_PACKAGE_NAME,programPackage.getName());
 
        vars.put(FlowContants.PRODUCT_MODEL,programPackage.getProductModel());
        vars.put(NODE_ID, nodeId);
 
        vars.put("comment", "add on start");
        identityService.setAuthenticatedUserId(String.valueOf(AuthUtil.getUserId()));//设置流程发起人
        ProcessInstance inst = runtimeService.startProcessInstanceByKey(FlowContants.REPLACE_PROCESS_KEY,nodeId+"",vars);
 
 
    }
 
}