|
@@ -1,23 +1,17 @@
|
|
|
package com.ym.mec.teacher.controller;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import io.swagger.annotations.Api;
|
|
|
+import io.swagger.annotations.ApiOperation;
|
|
|
|
|
|
-import org.apache.commons.lang.StringUtils;
|
|
|
import org.snaker.engine.SnakerEngine;
|
|
|
import org.snaker.engine.access.Page;
|
|
|
import org.snaker.engine.access.QueryFilter;
|
|
|
import org.snaker.engine.core.AccessService;
|
|
|
import org.snaker.engine.entity.HistoryOrder;
|
|
|
-import org.snaker.engine.entity.Task;
|
|
|
import org.snaker.engine.entity.WorkItem;
|
|
|
-import org.snaker.engine.model.TaskModel.TaskType;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.ui.ModelMap;
|
|
|
+import org.springframework.http.HttpStatus;
|
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
|
-import org.springframework.web.bind.annotation.PostMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
@@ -32,6 +26,7 @@ import com.ym.mec.common.controller.BaseController;
|
|
|
*/
|
|
|
@RestController
|
|
|
@RequestMapping(value = "/snaker/task")
|
|
|
+@Api(tags = "流程任务")
|
|
|
public class TaskController extends BaseController {
|
|
|
|
|
|
@Autowired
|
|
@@ -40,170 +35,89 @@ public class TaskController extends BaseController {
|
|
|
@Autowired
|
|
|
private SysUserFeignService SysUserFeignService;
|
|
|
|
|
|
- @GetMapping(value = "home")
|
|
|
- public Object homeTaskList() {
|
|
|
-
|
|
|
- SysUser user = SysUserFeignService.queryUserInfo();
|
|
|
-
|
|
|
- List<String> list = new ArrayList<String>();
|
|
|
- list.add(user.getUsername());
|
|
|
-
|
|
|
- String[] assignees = new String[list.size()];
|
|
|
- list.toArray(assignees);
|
|
|
-
|
|
|
- Page<WorkItem> majorPage = new Page<WorkItem>(5);
|
|
|
- Page<WorkItem> aidantPage = new Page<WorkItem>(3);
|
|
|
- Page<HistoryOrder> ccorderPage = new Page<HistoryOrder>(3);
|
|
|
- List<WorkItem> majorWorks = snakerEngine.query().getWorkItems(majorPage,
|
|
|
- new QueryFilter().setOperators(assignees).setTaskType(TaskType.Major.ordinal()));
|
|
|
- List<WorkItem> aidantWorks = snakerEngine.query().getWorkItems(aidantPage,
|
|
|
- new QueryFilter().setOperators(assignees).setTaskType(TaskType.Aidant.ordinal()));
|
|
|
- List<HistoryOrder> ccWorks = snakerEngine.query().getCCWorks(ccorderPage, new QueryFilter().setOperators(assignees).setState(1));
|
|
|
-
|
|
|
- ModelMap model = new ModelMap();
|
|
|
-
|
|
|
- model.addAttribute("majorWorks", majorWorks);
|
|
|
- model.addAttribute("majorTotal", majorPage.getTotalCount());
|
|
|
- model.addAttribute("aidantWorks", aidantWorks);
|
|
|
- model.addAttribute("aidantTotal", aidantPage.getTotalCount());
|
|
|
- model.addAttribute("ccorderWorks", ccWorks);
|
|
|
- model.addAttribute("ccorderTotal", ccorderPage.getTotalCount());
|
|
|
- return succeed(model);
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
- * 根据当前用户查询我发起的任务列表
|
|
|
+ * 查询我发起的任务列表
|
|
|
* @param model
|
|
|
* @return
|
|
|
*/
|
|
|
- @GetMapping(value = "queryCreatedList")
|
|
|
- public Object queryCreatedList(Page<HistoryOrder> page) {
|
|
|
+ @GetMapping(value = "queryMyCreatedList")
|
|
|
+ @ApiOperation("查询我发起的任务列表")
|
|
|
+ public Object queryMyCreatedList(Page<HistoryOrder> page) {
|
|
|
SysUser user = SysUserFeignService.queryUserInfo();
|
|
|
+ if (user == null) {
|
|
|
+ return failed(HttpStatus.FORBIDDEN, "请登录");
|
|
|
+ }
|
|
|
|
|
|
- snakerEngine.query().getHistoryOrders(page, new QueryFilter().setOperator(user.getUsername()));
|
|
|
+ snakerEngine.query().getHistoryOrders(page, new QueryFilter().setOperator(user.getId()+""));
|
|
|
return succeed(page);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 根据当前用户查询待办任务列表
|
|
|
+ * 查询我待办任务列表
|
|
|
* @param model
|
|
|
* @return
|
|
|
*/
|
|
|
@GetMapping(value = "queryWaitList")
|
|
|
+ @ApiOperation("查询我待办任务列表")
|
|
|
public Object queryWaitList(Page<WorkItem> page) {
|
|
|
SysUser user = SysUserFeignService.queryUserInfo();
|
|
|
+ if (user == null) {
|
|
|
+ return failed(HttpStatus.FORBIDDEN, "请登录");
|
|
|
+ }
|
|
|
|
|
|
snakerEngine.query().getWorkItems(page, new QueryFilter().setOperator(user.getUsername()));
|
|
|
return succeed(page);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 根据当前用户查询已办任务列表
|
|
|
+ * 查询我已办任务列表
|
|
|
* @param model
|
|
|
* @return
|
|
|
*/
|
|
|
- @GetMapping(value = "querypProcessedList")
|
|
|
- public Object querypProcessedList(Page<WorkItem> page) {
|
|
|
+ @GetMapping(value = "queryProcessedList")
|
|
|
+ @ApiOperation("查询我已办任务列表")
|
|
|
+ public Object queryProcessedList(Page<WorkItem> page) {
|
|
|
SysUser user = SysUserFeignService.queryUserInfo();
|
|
|
-
|
|
|
- snakerEngine.query().getHistoryWorkItems(page, new QueryFilter().setOperator(user.getUsername()));
|
|
|
- return succeed(page);
|
|
|
- }
|
|
|
-
|
|
|
- @PostMapping(value = "actor/add")
|
|
|
- public Object addTaskActor(String orderId, String taskName, String operator) {
|
|
|
- List<Task> tasks = snakerEngine.query().getActiveTasks(new QueryFilter().setOrderId(orderId));
|
|
|
- for (Task task : tasks) {
|
|
|
- if (task.getTaskName().equalsIgnoreCase(taskName) && StringUtils.isNotEmpty(operator)) {
|
|
|
- snakerEngine.task().addTaskActor(task.getId(), operator);
|
|
|
- }
|
|
|
- }
|
|
|
- return succeed();
|
|
|
- }
|
|
|
-
|
|
|
- @GetMapping(value = "tip")
|
|
|
- public Object addTaskActor(String orderId, String taskName) {
|
|
|
- List<Task> tasks = snakerEngine.query().getActiveTasks(new QueryFilter().setOrderId(orderId));
|
|
|
- StringBuilder builder = new StringBuilder();
|
|
|
- String createTime = "";
|
|
|
- for (Task task : tasks) {
|
|
|
- if (task.getTaskName().equalsIgnoreCase(taskName)) {
|
|
|
- String[] actors = snakerEngine.query().getTaskActorsByTaskId(task.getId());
|
|
|
- for (String actor : actors) {
|
|
|
- builder.append(actor).append(",");
|
|
|
- }
|
|
|
- createTime = task.getCreateTime();
|
|
|
- }
|
|
|
- }
|
|
|
- if (builder.length() > 0) {
|
|
|
- builder.deleteCharAt(builder.length() - 1);
|
|
|
+ if (user == null) {
|
|
|
+ return failed(HttpStatus.FORBIDDEN, "请登录");
|
|
|
}
|
|
|
- Map<String, String> data = new HashMap<String, String>();
|
|
|
- data.put("actors", builder.toString());
|
|
|
- data.put("createTime", createTime);
|
|
|
- return succeed(data);
|
|
|
- }
|
|
|
|
|
|
- /**
|
|
|
- * 活动任务查询列表
|
|
|
- * @param model
|
|
|
- * @return
|
|
|
- */
|
|
|
- @GetMapping(value = "active/more")
|
|
|
- public Object activeTaskList(Page<WorkItem> page, Integer taskType) {
|
|
|
- SysUser user = SysUserFeignService.queryUserInfo();
|
|
|
-
|
|
|
- List<String> list = new ArrayList<String>();
|
|
|
- list.add(user.getUsername());
|
|
|
-
|
|
|
- String[] assignees = new String[list.size()];
|
|
|
- list.toArray(assignees);
|
|
|
- snakerEngine.query().getWorkItems(page, new QueryFilter().setOperators(assignees).setTaskType(taskType));
|
|
|
+ snakerEngine.query().getHistoryWorkItems(page, new QueryFilter().setOperator(user.getId()+""));
|
|
|
return succeed(page);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 活动任务查询列表
|
|
|
+ * 抄送我的已读列表
|
|
|
* @param model
|
|
|
* @return
|
|
|
*/
|
|
|
- @GetMapping(value = "active/ccmore")
|
|
|
- public Object activeCCList(Page<HistoryOrder> page) {
|
|
|
+ @GetMapping(value = "queryCCReadList")
|
|
|
+ @ApiOperation("抄送我的已读列表")
|
|
|
+ public Object queryCCReadList(Page<HistoryOrder> page) {
|
|
|
SysUser user = SysUserFeignService.queryUserInfo();
|
|
|
+ if (user == null) {
|
|
|
+ return failed(HttpStatus.FORBIDDEN, "请登录");
|
|
|
+ }
|
|
|
|
|
|
- List<String> list = new ArrayList<String>();
|
|
|
- list.add(user.getUsername());
|
|
|
-
|
|
|
- String[] assignees = new String[list.size()];
|
|
|
- list.toArray(assignees);
|
|
|
- snakerEngine.query().getCCWorks(page, new QueryFilter().setOperators(assignees).setState(AccessService.STATE_ACTIVE));
|
|
|
+ snakerEngine.query().getCCWorks(page, new QueryFilter().setOperator(user.getId()+"").setState(AccessService.STATE_FINISH));
|
|
|
return succeed(page);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 活动任务的驳回
|
|
|
+ * 抄送我的未读列表
|
|
|
* @param model
|
|
|
- * @param taskId
|
|
|
* @return
|
|
|
*/
|
|
|
- @PostMapping(value = "reject")
|
|
|
- public Object activeTaskReject(String taskId) {
|
|
|
-
|
|
|
+ @GetMapping(value = "queryCCUnReadList")
|
|
|
+ @ApiOperation("抄送我的未读列表")
|
|
|
+ public Object queryCCUnReadList(Page<HistoryOrder> page) {
|
|
|
SysUser user = SysUserFeignService.queryUserInfo();
|
|
|
+ if (user == null) {
|
|
|
+ return failed(HttpStatus.FORBIDDEN, "请登录");
|
|
|
+ }
|
|
|
|
|
|
- snakerEngine.executeAndJumpTask(taskId, user.getUsername(), null, null);
|
|
|
- return succeed();
|
|
|
+ snakerEngine.query().getCCWorks(page, new QueryFilter().setOperator(user.getUsername()).setState(AccessService.STATE_ACTIVE));
|
|
|
+ return succeed(page);
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 历史任务撤回
|
|
|
- * @param orderId
|
|
|
- * @return
|
|
|
- */
|
|
|
- @PostMapping(value = "undo")
|
|
|
- public Object historyTaskUndo(String orderId) {
|
|
|
- SysUser user = SysUserFeignService.queryUserInfo();
|
|
|
- snakerEngine.order().withdraw(orderId, user.getUsername());
|
|
|
- return succeed();
|
|
|
- }
|
|
|
}
|