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);
|
|
|
}
|
|
}
|