Commit 68a77ac3 by 王厚康

接口填充

parent 182b895e
......@@ -109,6 +109,8 @@ public class DeploymentController {
}catch (Exception e){
Log.error("删除失败",e);
resp.setSuccess(false);
resp.setMessage("删除失败"+e.getMessage());
resp.setCode(SysCode.SYS_ERROR);
}
return resp;
}
......@@ -136,6 +138,8 @@ public class DeploymentController {
} catch (Exception e) {
Log.error(modelId+"部署失败",e);
resp.setSuccess(false);
resp.setMessage("部署失败"+e.getMessage());
resp.setCode(SysCode.SYS_ERROR);
}
return resp;
......@@ -155,6 +159,8 @@ public class DeploymentController {
}catch (Exception e){
Log.error("删除失败",e);
resp.setSuccess(false);
resp.setMessage("删除失败"+e.getMessage());
resp.setCode(SysCode.SYS_ERROR);
}
return resp;
}
......@@ -187,7 +193,7 @@ public class DeploymentController {
} catch (Exception e) {
Log.error(req.getDeploymentId()+"发起流程实例失败",e);
resp.setSuccess(false);
resp.setMessage("发起流程实例失败");
resp.setMessage("发起流程实例失败"+e.getMessage());
resp.setCode(SysCode.SYS_ERROR);
}
return resp;
......
......@@ -4,11 +4,16 @@ import com.bbd.bpm.dto.SysCode;
import com.bbd.bpm.dto.request.PendingTaskListRequest;
import com.bbd.bpm.dto.response.ApprovedDetailBean;
import com.bbd.bpm.dto.response.BpmResponse;
import com.bbd.bpm.dto.response.CompletedTaskListBean;
import com.bbd.bpm.dto.response.PendingTaskListBean;
import com.bbd.bpm.util.validate.ValidateUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.activiti.engine.HistoryService;
import org.activiti.engine.TaskService;
import org.activiti.engine.history.HistoricActivityInstance;
import org.activiti.engine.history.HistoricProcessInstance;
import org.activiti.engine.history.HistoricTaskInstance;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Comment;
import org.activiti.engine.task.Task;
......@@ -83,4 +88,50 @@ public class TaskHistoryController {
}
return resp;
}
@ApiOperation(value = "查询已办理任务")
@GetMapping("/completedTaskList")
public BpmResponse completedTaskList( @RequestBody PendingTaskListRequest req) {
BpmResponse resp = new BpmResponse();
try{
//数据校验
String error = ValidateUtil.check_pendingTaskList(req);
if(error!=null){
Log.error("查询已办理任务,数据校验失败"+error);
resp.setCode(SysCode.VALIDATE_ERROR);
resp.setMessage(error);
resp.setSuccess(false);
return resp;
}
//任务办理人
List<HistoricTaskInstance> hisList = historyService.createHistoricTaskInstanceQuery().taskAssignee(req.getAssignee()).listPage(req.getPage().getPageNumber(),req.getPage().getPageSize());
if(hisList!=null && hisList.size()>0){
List<CompletedTaskListBean> dataList = new ArrayList<>();
for(HistoricTaskInstance hisTask : hisList){
HistoricProcessInstance pi =historyService.createHistoricProcessInstanceQuery().processInstanceId(hisTask.getProcessInstanceId()).singleResult();
CompletedTaskListBean bean = new CompletedTaskListBean();
bean.setBusinessKey(pi.getBusinessKey());
bean.setStartUserId(pi.getStartUserId());
bean.setPiStartTime(pi.getStartTime());
bean.setTaskId(hisTask.getId());
bean.setProcessInstanceId(hisTask.getProcessInstanceId());
bean.setTaskEndTime(hisTask.getEndTime());
bean.setTaskStartTime(hisTask.getStartTime());
bean.setPiEndTime(pi.getEndTime());
dataList.add(bean);
}
resp.setData(dataList);
}
resp.setSuccess(true);
resp.setCode(SysCode.SUCCESS_CODE);
resp.setMessage("查询已办理任务成功");
}catch (Exception e){
Log.error("查询已办理任务失败",e);
resp.setSuccess(false);
resp.setCode(SysCode.SYS_ERROR);
resp.setMessage("查询已办理任务失败"+e.getMessage());
}
return resp;
}
}
package com.bbd.bpm.controller.taskOperate;
import com.bbd.bpm.dto.SysCode;
import com.bbd.bpm.dto.request.CompleteTaskRequest;
import com.bbd.bpm.dto.request.PendingTaskListRequest;
import com.bbd.bpm.dto.request.QueryStartedPiByUserIdRequest;
import com.bbd.bpm.dto.response.BpmResponse;
......@@ -13,13 +14,16 @@ import org.activiti.engine.*;
import org.activiti.engine.history.HistoricProcessInstance;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Created by houkang on 2019/2/27.
......@@ -148,18 +152,34 @@ public class TaskOperateController {
@GetMapping("/appointTaskTo")
public BpmResponse appointTaskTo(String taskId,String userId) {
BpmResponse resp = new BpmResponse();
//todo
try{
//校验参数
if(StringUtils.isBlank(taskId)||StringUtils.isBlank(userId) ){
resp.setMessage("请求参数"+SysCode.NOT_ALLOW_NULL);
resp.setCode(SysCode.VALIDATE_ERROR);
resp.setSuccess(false);
return resp;
}
Task task=taskService.createTaskQuery().taskId(taskId).singleResult();
//校验参数
if(task==null || task.getId()==null){
resp.setMessage("任务不存在或已完成");
resp.setCode(SysCode.VALIDATE_ERROR);
resp.setSuccess(false);
return resp;
}
//任务处理人id
//String userId = UserUtil.getUserFromSession(session).getId();
taskService.claim(taskId, userId);
taskService.delegateTask(taskId, userId);
resp.setSuccess(true);
resp.setMessage("改变任务处理人成功");
resp.setCode(SysCode.SUCCESS_CODE);
}catch (Exception e){
Log.error("改变任务处理人失败",e);
resp.setSuccess(false);
resp.setMessage("改变任务处理人失败"+e.getMessage());
resp.setCode(SysCode.SYS_ERROR);
}
return resp;
}
......@@ -179,12 +199,50 @@ public class TaskOperateController {
return resp;
}
@ApiOperation(value = "任务理")
@GetMapping("/completeTask")
public BpmResponse completeTask(String taskId) {
@ApiOperation(value = "任务理")
@PostMapping("/completeTask")
public BpmResponse completeTask(@RequestBody CompleteTaskRequest req ) {
BpmResponse resp = new BpmResponse();
//todo
taskService.complete(taskId);
try{
//数据校验
String error = ValidateUtil.check_completeTask(req);
if(error!=null){
Log.error("任务办理,数据校验失败"+error);
resp.setCode(SysCode.VALIDATE_ERROR);
resp.setMessage(error);
resp.setSuccess(false);
return resp;
}
Task task=taskService.createTaskQuery().taskId(req.getTaskId()).singleResult();
//校验参数
if(task==null || task.getId()==null){
resp.setMessage("任务不存在或已完成");
resp.setCode(SysCode.VALIDATE_ERROR);
resp.setSuccess(false);
return resp;
}
//增加批注
if(req.getComments()!=null){
taskService.addComment(req.getTaskId(), null, req.getComments());
}
Map<String, Object> variables = null;
if(req.getVariables()==null){
variables = new HashMap<String, Object>();
}else{
variables = req.getVariables();
}
variables.put("userId",task.getAssignee());
taskService.complete(req.getTaskId(),variables);
resp.setSuccess(true);
resp.setMessage("任务办理成功");
resp.setCode(SysCode.SUCCESS_CODE);
}catch(Exception e){
Log.error("任务办理失败",e);
resp.setSuccess(false);
resp.setMessage("任务办理失败"+e.getMessage());
resp.setCode(SysCode.SYS_ERROR);
}
return resp;
}
}
package com.bbd.bpm.dto.request;
import java.util.Map;
/**
* Created by houkang on 2019/3/13.
*/
public class CompleteTaskRequest {
private String taskId;
private String comments;
private Map<String, Object> variables;
public String getTaskId() {
return taskId;
}
public void setTaskId(String taskId) {
this.taskId = taskId;
}
public String getComments() {
return comments;
}
public void setComments(String comments) {
this.comments = comments;
}
public Map<String, Object> getVariables() {
return variables;
}
public void setVariables(Map<String, Object> variables) {
this.variables = variables;
}
}
package com.bbd.bpm.dto.response;
import java.util.Date;
/**
* Created by houkang on 2019/3/13.
*/
public class CompletedTaskListBean {
private String businessKey;
private String processInstanceId;
private String startUserId;
private Date piStartTime;
private Date taskStartTime;
private String taskId;
private Date taskEndTime;
private Date piEndTime;
public String getBusinessKey() {
return businessKey;
}
public void setBusinessKey(String businessKey) {
this.businessKey = businessKey;
}
public String getProcessInstanceId() {
return processInstanceId;
}
public void setProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
}
public String getStartUserId() {
return startUserId;
}
public void setStartUserId(String startUserId) {
this.startUserId = startUserId;
}
public String getTaskId() {
return taskId;
}
public void setTaskId(String taskId) {
this.taskId = taskId;
}
public Date getTaskEndTime() {
return taskEndTime;
}
public void setTaskEndTime(Date taskEndTime) {
this.taskEndTime = taskEndTime;
}
public Date getPiEndTime() {
return piEndTime;
}
public void setPiEndTime(Date piEndTime) {
this.piEndTime = piEndTime;
}
public Date getPiStartTime() {
return piStartTime;
}
public void setPiStartTime(Date piStartTime) {
this.piStartTime = piStartTime;
}
public Date getTaskStartTime() {
return taskStartTime;
}
public void setTaskStartTime(Date taskStartTime) {
this.taskStartTime = taskStartTime;
}
}
package com.bbd.bpm.util.validate;
import com.bbd.bpm.dto.SysCode;
import com.bbd.bpm.dto.request.CompleteTaskRequest;
import com.bbd.bpm.dto.request.PendingTaskListRequest;
import com.bbd.bpm.dto.request.QueryStartedPiByUserIdRequest;
import com.bbd.bpm.dto.request.StartModelRequest;
......@@ -54,4 +55,14 @@ public class ValidateUtil {
}
return null;
}
public static String check_completeTask(CompleteTaskRequest req ){
if(req == null){
return SysCode.REQUEST_IS_NULL;
}
if(StringUtils.isBlank(req.getTaskId()) ){
return "任务id"+SysCode.NOT_ALLOW_NULL;
}
return null;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment