update 工作中心代码(未完成)
This commit is contained in:
+29
-29
@@ -1,16 +1,16 @@
|
||||
package com.jero.modules.activiti.controller;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.DictPoint;
|
||||
import com.jero.common.constant.enums.LanguageEnum;
|
||||
import com.jero.common.constant.enums.YesOrNoEnum;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.MessageUtils;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.entity.ProcessModelNode;
|
||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||
import com.jero.modules.activiti.entity.ProcessNode;
|
||||
import com.jero.modules.activiti.service.*;
|
||||
import com.jero.modules.laws.common.constant.ResultCommon;
|
||||
@@ -28,7 +28,6 @@ import org.activiti.engine.task.TaskQuery;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@@ -63,13 +62,15 @@ public class ActivitiController {
|
||||
private ProcessNodeLinkService processNodeLinkService;
|
||||
@Resource
|
||||
private ProcessAllService processAllService;
|
||||
@Resource
|
||||
private ProcessApprovalRecordService processApprovalRecordService;
|
||||
|
||||
@ApiOperation(value="启动流程")
|
||||
@PostMapping("/start")
|
||||
public Result<Map<String, String>> start(@RequestBody Map<String,Object> map) {
|
||||
String key = map.get("key").toString();
|
||||
String prcName = map.get("prcName").toString();
|
||||
String prcNum = map.get("prcNum").toString();
|
||||
String prcMes = map.get("prcMes").toString();
|
||||
Date dueTime = (Date) map.get("dueTime");
|
||||
// 1、创建ProcessEngine
|
||||
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
|
||||
@@ -80,12 +81,12 @@ public class ActivitiController {
|
||||
ProcessInstance processInstance = runtimeService
|
||||
.startProcessInstanceByKey(key, map);
|
||||
String processInstanceId = processInstance.getId();
|
||||
//更新流程总表
|
||||
//根据流程实例id更新流程总表
|
||||
ProcessAll process = processAllService.getByProcessInstanceId(processInstanceId);
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
process.setCreateUserId(loginUser.getId());
|
||||
process.setPrcName(prcName);
|
||||
process.setPrcNum(prcNum);
|
||||
process.setPrcMes(prcMes);
|
||||
process.setDueTime(dueTime);
|
||||
process.setProjectId("业务id");
|
||||
processAllService.updateById(process);
|
||||
@@ -108,16 +109,19 @@ public class ActivitiController {
|
||||
public Result<List<Map<String, String>>> testFindPersonalTaskList(@RequestParam(value = "assignee") String assignee,
|
||||
@RequestParam(value = "processKey") String processKey,
|
||||
@RequestParam(value = "group") String group) {
|
||||
// 根据流程key 和 任务负责人 查询任务
|
||||
//根据流程key 和 任务负责人 查询任务
|
||||
TaskQuery taskQuery = taskService.createTaskQuery();
|
||||
if (StringUtils.isNotBlank(assignee)) {
|
||||
taskQuery.taskAssignee(assignee);//只查询该任务负责人的任务
|
||||
//只查询该任务负责人的任务
|
||||
taskQuery.taskAssignee(assignee);
|
||||
}
|
||||
if (StringUtils.isNotBlank(group)) {
|
||||
taskQuery.taskCandidateGroup(group);//只查询该组的任务
|
||||
//只查询该组的任务
|
||||
taskQuery.taskCandidateGroup(group);
|
||||
}
|
||||
if (StringUtils.isNotBlank(processKey)) {
|
||||
taskQuery.processDefinitionKey(processKey); //流程Key
|
||||
//流程Key
|
||||
taskQuery.processDefinitionKey(processKey);
|
||||
}
|
||||
List<Task> list = taskQuery.list();
|
||||
List<Map<String, String>> result = new ArrayList<>();
|
||||
@@ -127,7 +131,6 @@ public class ActivitiController {
|
||||
map.put("任务id:", task.getId());
|
||||
map.put("任务负责人:", task.getAssignee());
|
||||
map.put("任务名称:", task.getName());
|
||||
//map.put("任务名称:", task.get);
|
||||
result.add(map);
|
||||
}
|
||||
return Result.OK(result);
|
||||
@@ -138,6 +141,10 @@ public class ActivitiController {
|
||||
public Result<Object> complete(@RequestBody Map<String,Object> map) {
|
||||
//todo 判断当前节点,执行不同的操作
|
||||
String taskId = map.get("taskId").toString();
|
||||
Integer commitFlag = Integer.valueOf(map.get("commitFlag").toString());
|
||||
String commitText = map.get("commitText").toString();
|
||||
String commitFile = map.get("commitFile").toString();
|
||||
|
||||
|
||||
Task task=taskService.createTaskQuery() // 创建任务查询
|
||||
.taskId(taskId) // 根据任务id查询
|
||||
@@ -145,18 +152,17 @@ public class ActivitiController {
|
||||
String taskName = task.getName();
|
||||
|
||||
if ("填写基本信息,在线编辑,分发其他起草人".equals(taskName)){
|
||||
// todo
|
||||
}else if ("其他起草人线下填写,上传".equals(taskName)){
|
||||
// todo
|
||||
}
|
||||
//Map<String, Object> vars = new HashMap<>();
|
||||
//List<String> otherDrafterList = new ArrayList<>();
|
||||
//otherDrafterList.add("zhangsan");
|
||||
//otherDrafterList.add("lisi");
|
||||
//otherDrafterList.add("wangwu");
|
||||
//vars.put("leaderList", otherDrafterList);
|
||||
//Map<String, Object> map = new HashMap<>();
|
||||
//map.put("status", 2);
|
||||
//更新审批表为完成,填充数据
|
||||
ProcessApprovalRecord approvalRecord = processApprovalRecordService.getByTaskId(taskId);
|
||||
approvalRecord.setCommitFlag(commitFlag);
|
||||
approvalRecord.setCommitText(commitText);
|
||||
approvalRecord.setCommitFile(commitFile);
|
||||
approvalRecord.setFinishFlag(YesOrNoEnum.YES.getInteger());
|
||||
approvalRecord.setEndTime(new Date());
|
||||
processApprovalRecordService.updateById(approvalRecord);
|
||||
//审批节点
|
||||
taskService.complete(taskId, map);
|
||||
return Result.OK();
|
||||
}
|
||||
@@ -205,7 +211,6 @@ public class ActivitiController {
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ApiOperation(value="签收任务")
|
||||
@PostMapping("/claim")
|
||||
public Result<Object> claim(@RequestBody Map<String,Object> map) {
|
||||
@@ -216,19 +221,14 @@ public class ActivitiController {
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 加签
|
||||
*
|
||||
* @param taskId
|
||||
* @param loginName
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value="加签/委托")
|
||||
@GetMapping("/delegateTask")
|
||||
public Result<Object> delegateTask(@RequestParam(value = "taskId") String taskId,
|
||||
@RequestParam(value = "loginName") String loginName) {
|
||||
taskService.delegateTask(taskId, loginName);
|
||||
@RequestParam(value = "userId") String userId) {
|
||||
taskService.delegateTask(taskId, userId);
|
||||
return Result.OK();
|
||||
}
|
||||
|
||||
|
||||
+100
-2
@@ -1,9 +1,30 @@
|
||||
package com.jero.modules.activiti.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.activiti.entity.ProcessAll;
|
||||
import com.jero.modules.activiti.service.ProcessAllService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.activiti.engine.RuntimeService;
|
||||
import org.activiti.engine.task.Task;
|
||||
import org.activiti.engine.task.TaskQuery;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author liJiaRao
|
||||
@@ -15,4 +36,81 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
@RequestMapping("/workCenter")
|
||||
public class WorkCenterController {
|
||||
|
||||
@Resource
|
||||
private ProcessAllService processAllService;
|
||||
|
||||
@ApiOperation(value = "查询待办流程列表")
|
||||
@GetMapping("/getTodoList")
|
||||
public Result<IPage<ProcessAll>> getTodoList(ProcessAll processAll,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<ProcessAll> queryWrapper = getProcessAllQueryWrapper(processAll);
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String userId = loginUser.getId();
|
||||
queryWrapper.eq("par.user_id",userId);
|
||||
queryWrapper.eq("par.finish_flag",0);
|
||||
|
||||
Page<ProcessAll> page = new Page<>(pageNo, pageSize);
|
||||
IPage<ProcessAll> todoList = processAllService.getTodoList(page, queryWrapper);
|
||||
return Result.OK(todoList);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "查询已办流程列表")
|
||||
@GetMapping("/getCompletedList")
|
||||
public Result<?> getCompletedList(ProcessAll processAll,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<ProcessAll> queryWrapper = getProcessAllQueryWrapper(processAll);
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String userId = loginUser.getId();
|
||||
queryWrapper.eq("par.user_id",userId);
|
||||
queryWrapper.eq("par.finish_flag",1);
|
||||
|
||||
Page<ProcessAll> page = new Page<>(pageNo, pageSize);
|
||||
IPage<ProcessAll> completedList = processAllService.getCompletedList(page, queryWrapper);
|
||||
return Result.OK(completedList);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "查询已发流程列表")
|
||||
@GetMapping("/getSentList")
|
||||
public Result<?> getSentList(ProcessAll processAll,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<ProcessAll> queryWrapper = getProcessAllQueryWrapper(processAll);
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String userId = loginUser.getId();
|
||||
queryWrapper.eq("pa.user_id",userId);
|
||||
|
||||
Page<ProcessAll> page = new Page<>(pageNo, pageSize);
|
||||
IPage<ProcessAll> sentList = processAllService.getSentList(page, queryWrapper);
|
||||
return Result.OK(sentList);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private QueryWrapper<ProcessAll> getProcessAllQueryWrapper(ProcessAll processAll) {
|
||||
String prcName = processAll.getPrcName();
|
||||
String prcNum = processAll.getPrcNum();
|
||||
Integer prcType = processAll.getPrcType();
|
||||
Integer prcStatus = processAll.getPrcStatus();
|
||||
QueryWrapper<ProcessAll> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.like(StringUtils.isNotBlank(prcName), "pa.prc_name", "%" + prcName + "%");
|
||||
queryWrapper.like(StringUtils.isNotBlank(prcNum), "pa.prc_num", "%" + prcNum + "%");
|
||||
queryWrapper.eq(prcType != null, "pa.prc_type", prcType);
|
||||
queryWrapper.eq(prcStatus != null, "pa.prc_status", prcStatus);
|
||||
|
||||
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "撤销流程")
|
||||
@PostMapping("/delete")
|
||||
public Result<?> delete(@RequestBody Map<String, String> map) {
|
||||
String processInstanceId = map.get("processInstanceId");
|
||||
|
||||
processAllService.delete(processInstanceId);
|
||||
return Result.OK();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user