新流程发起接口
This commit is contained in:
+52
@@ -9,6 +9,7 @@ import java.util.regex.Matcher;
|
|||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.ydw.bat.wkflow.business_activiti.dto.ProcessRollBackEO;
|
||||||
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService;
|
import com.ydw.bat.wkflow.business_auth.LawsUserInfoService;
|
||||||
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName;
|
import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessName;
|
||||||
import com.ydw.bat.wkflow.business_main.datas.entity.ResponseMessage;
|
import com.ydw.bat.wkflow.business_main.datas.entity.ResponseMessage;
|
||||||
@@ -25,6 +26,8 @@ import org.activiti.engine.runtime.ProcessInstance;
|
|||||||
import org.activiti.engine.task.Task;
|
import org.activiti.engine.task.Task;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import com.tmsps.fk.common.base.action.BaseAction;
|
import com.tmsps.fk.common.base.action.BaseAction;
|
||||||
@@ -195,6 +198,55 @@ public class ActivitDefineController extends BaseAction {
|
|||||||
return WrapMapper.ok(task.getId());
|
return WrapMapper.ok(task.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation(value = "启动流程-以流程定义id")
|
||||||
|
@ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "流程定义Id"),
|
||||||
|
@ApiImplicitParam(name = "userId", value = "流程发起人Id") })
|
||||||
|
@PostMapping("/activiti_define_start_user_rollBack")
|
||||||
|
public Wrapper<String> activiti_define_start_user_rollBack(@RequestBody ProcessRollBackEO processRollBackEO) {
|
||||||
|
// 创建查询对象
|
||||||
|
ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery();
|
||||||
|
// 使用流程定义的名称模糊查询
|
||||||
|
processDefinitionQuery.processDefinitionCategory("e05707228fa5ed7b549198208ab19d97");
|
||||||
|
long total = processDefinitionQuery.count();
|
||||||
|
List<ProcessDefinition> list = processDefinitionQuery.orderByProcessDefinitionKey().asc().list();
|
||||||
|
List<Map<String, Object>> definitions = ActivitiTools.turnProcessDefinitions(list);
|
||||||
|
String pid = "";
|
||||||
|
for(Map<String, Object> map:definitions){
|
||||||
|
if(map.get("key").toString().equals(processRollBackEO.getId())){
|
||||||
|
pid = map.get("id").toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ProcessDefinition pd = repositoryService.createProcessDefinitionQuery().processDefinitionId(pid).singleResult();
|
||||||
|
|
||||||
|
ProcessInstance pi = runtimeService.startProcessInstanceById(pid);
|
||||||
|
Task task = taskService.createTaskQuery().processInstanceId(pi.getId()).singleResult();
|
||||||
|
task.setAssignee(processRollBackEO.getUserId());
|
||||||
|
taskService.saveTask(task);
|
||||||
|
|
||||||
|
if(processRollBackEO.getBpnId() == null) {
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
BusProcessName busProcessName = new BusProcessName();
|
||||||
|
busProcessName.setPrcId(pi.getId());
|
||||||
|
busProcessName.setCreatTime(sdf.format(new Date()));
|
||||||
|
busProcessName.setCreatUser(processRollBackEO.getUserId());
|
||||||
|
ResponseMessage<UserVO> byId = lawsUserInfoService.getById(processRollBackEO.getUserId());
|
||||||
|
busProcessName.setCreatUserName(byId.getData().getUname());
|
||||||
|
busProcessName.setPrcNum(new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()));
|
||||||
|
busProcessName.setMes(processRollBackEO.getJson());
|
||||||
|
ibusprocessnameService.save(busProcessName);
|
||||||
|
}else {
|
||||||
|
QueryWrapper<BusProcessName> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq("ID", processRollBackEO.getBpnId());
|
||||||
|
BusProcessName one = ibusprocessnameService.getOne(queryWrapper);
|
||||||
|
one.setPrcNum(new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()));
|
||||||
|
one.setPrcId(pi.getId());
|
||||||
|
ibusprocessnameService.saveOrUpdate(one);
|
||||||
|
}
|
||||||
|
logger.info("启动流程实例,获取id-->{},实例名称-->{}", pi.getId(), pd.getName());
|
||||||
|
return WrapMapper.ok(task.getId());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 企标复审流程专用
|
* 企标复审流程专用
|
||||||
* @param id
|
* @param id
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
package com.ydw.bat.wkflow.business_activiti.dto;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class ProcessRollBackEO {
|
||||||
|
|
||||||
|
private String json;
|
||||||
|
|
||||||
|
private String type;
|
||||||
|
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
private String userId;
|
||||||
|
|
||||||
|
private String bpnId;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user