|
@@ -340,7 +340,7 @@ public class ActivitiController {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 获取待办
|
|
|
+ * 获取待办(不包括代签收,候选组的)
|
|
|
*
|
|
|
* @param pageNum
|
|
|
* @param pageSize
|
|
@@ -349,11 +349,66 @@ public class ActivitiController {
|
|
|
@GetMapping(value = "/my-task/page")
|
|
|
@ResponseBody
|
|
|
public R showTaskList(Integer pageNum, Integer pageSize) {
|
|
|
+ UserInfo userInfo = SecurityUtils.getUserInfo();
|
|
|
+ String userId = userInfo.getUserId();
|
|
|
+ List<Task> taskList = taskService.createTaskQuery().taskAssignee(userId).list();
|
|
|
+ taskList = taskList.stream().distinct().sorted(Comparator.comparing(Task::getCreateTime).reversed()).collect(Collectors.toList());
|
|
|
+ List<ActApplyInfo> tasks = new ArrayList<>();
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ long total = taskList.size();
|
|
|
+ int pages = (int) total / pageSize;
|
|
|
+ pages = total % pageSize == 0 ? pages : (pages + 1);
|
|
|
+ if (pageNum > pages) {
|
|
|
+ MyPage<ActApplyInfo> page = new MyPage<>(tasks);
|
|
|
+ page.setTotal(total);
|
|
|
+ page.setPages(pages);
|
|
|
+ page.setPageNum(pageNum);
|
|
|
+ page.setRows(tasks);
|
|
|
+ page.setPageSize(pageSize);
|
|
|
+ return R.success(page);
|
|
|
+ }
|
|
|
+ int startRow = pageNum > 0 ? (pageNum - 1) * pageSize : 0;
|
|
|
+ int endRow = startRow + pageSize * (pageNum > 0 ? 1 : 0);
|
|
|
+ endRow = endRow > taskList.size() ? taskList.size() : endRow;
|
|
|
+ for (int i = startRow; i < endRow; i++) {
|
|
|
+ Task task = taskList.get(i);
|
|
|
+ String taskId = task.getId();
|
|
|
+ map = taskService.getVariables(taskId);
|
|
|
+ ActApplyInfo applyInfo = (ActApplyInfo) map.get("data");
|
|
|
+ if(applyInfo == null){
|
|
|
+ applyInfo = new ActApplyInfo();
|
|
|
+ }
|
|
|
+ applyInfo.setProcessInstanceId(task.getProcessInstanceId());
|
|
|
+ applyInfo.setTaskId(task.getId());
|
|
|
+
|
|
|
+ /**如果是自己*/
|
|
|
+ if (userId.equals(applyInfo.getUserId())) {
|
|
|
+ applyInfo.setSelf(true);
|
|
|
+ }
|
|
|
+ tasks.add(applyInfo);
|
|
|
+ }
|
|
|
+ MyPage<ActApplyInfo> page = new MyPage<>(tasks);
|
|
|
+ page.setTotal(total);
|
|
|
+ page.setPages(pages);
|
|
|
+ page.setPageNum(pageNum);
|
|
|
+ page.setRows(tasks);
|
|
|
+ page.setPageSize(pageSize);
|
|
|
+ return R.success(page);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取待签收
|
|
|
+ *
|
|
|
+ * @param pageNum
|
|
|
+ * @param pageSize
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @GetMapping(value = "/my-task/claim/page")
|
|
|
+ @ResponseBody
|
|
|
+ public R showTaskListClaim(Integer pageNum, Integer pageSize) {
|
|
|
UserInfo userInfo = SecurityUtils.getUserInfo();
|
|
|
String userId = userInfo.getUserId();
|
|
|
List<Task> taskList = taskService.createTaskQuery().taskCandidateUser(userId).list();
|
|
|
- List<Task> assigneeList = taskService.createTaskQuery().taskAssignee(userId).list();
|
|
|
- taskList.addAll(assigneeList);
|
|
|
List<String> roleIds = userInfo.getRoleIds();
|
|
|
if (CollectionUtil.isNotEmpty(roleIds)) {
|
|
|
List<Task> candidateGroup = taskService.createTaskQuery().taskCandidateGroupIn(userInfo.getRoleIds()).list();
|
|
@@ -403,6 +458,64 @@ public class ActivitiController {
|
|
|
return R.success(page);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 获取已办
|
|
|
+ * @param pageNum
|
|
|
+ * @param pageSize
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @GetMapping(value = "/my-task/finish/page")
|
|
|
+ @ResponseBody
|
|
|
+ public R showTaskListFinish(Integer pageNum, Integer pageSize) {
|
|
|
+ UserInfo userInfo = SecurityUtils.getUserInfo();
|
|
|
+ String userId = userInfo.getUserId();
|
|
|
+ List<HistoricTaskInstance> taskList = historyService.createHistoricTaskInstanceQuery()
|
|
|
+ .taskAssignee(userId)
|
|
|
+ .finished()
|
|
|
+ .list();
|
|
|
+ List<ActApplyInfo> tasks = new ArrayList<>();
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ long total = taskList.size();
|
|
|
+ int pages = (int) total / pageSize;
|
|
|
+ pages = total % pageSize == 0 ? pages : (pages + 1);
|
|
|
+ if (pageNum > pages) {
|
|
|
+ MyPage<ActApplyInfo> page = new MyPage<>(tasks);
|
|
|
+ page.setTotal(total);
|
|
|
+ page.setPages(pages);
|
|
|
+ page.setPageNum(pageNum);
|
|
|
+ page.setRows(tasks);
|
|
|
+ page.setPageSize(pageSize);
|
|
|
+ return R.success(page);
|
|
|
+ }
|
|
|
+ int startRow = pageNum > 0 ? (pageNum - 1) * pageSize : 0;
|
|
|
+ int endRow = startRow + pageSize * (pageNum > 0 ? 1 : 0);
|
|
|
+ endRow = endRow > taskList.size() ? taskList.size() : endRow;
|
|
|
+ for (int i = startRow; i < endRow; i++) {
|
|
|
+ HistoricTaskInstance task = taskList.get(i);
|
|
|
+ String taskId = task.getId();
|
|
|
+ map = taskService.getVariables(taskId);
|
|
|
+ ActApplyInfo applyInfo = (ActApplyInfo) map.get("data");
|
|
|
+ if(applyInfo == null){
|
|
|
+ applyInfo = new ActApplyInfo();
|
|
|
+ }
|
|
|
+ applyInfo.setProcessInstanceId(task.getProcessInstanceId());
|
|
|
+ applyInfo.setTaskId(task.getId());
|
|
|
+
|
|
|
+ /**如果是自己*/
|
|
|
+ if (userId.equals(applyInfo.getUserId())) {
|
|
|
+ applyInfo.setSelf(true);
|
|
|
+ }
|
|
|
+ tasks.add(applyInfo);
|
|
|
+ }
|
|
|
+ MyPage<ActApplyInfo> page = new MyPage<>(tasks);
|
|
|
+ page.setTotal(total);
|
|
|
+ page.setPages(pages);
|
|
|
+ page.setPageNum(pageNum);
|
|
|
+ page.setRows(tasks);
|
|
|
+ page.setPageSize(pageSize);
|
|
|
+ return R.success(page);
|
|
|
+ }
|
|
|
+
|
|
|
@PostMapping("/audit")
|
|
|
@ResponseBody
|
|
|
public R audit(@RequestBody ActApplyInfoDTO applyInfoDTO) {
|