diff --git a/src/main/java/com/xdap/self_development/controller/TodoTaskController.java b/src/main/java/com/xdap/self_development/controller/TodoTaskController.java index d8bac6f..d99cc9f 100644 --- a/src/main/java/com/xdap/self_development/controller/TodoTaskController.java +++ b/src/main/java/com/xdap/self_development/controller/TodoTaskController.java @@ -4,6 +4,8 @@ package com.xdap.self_development.controller; import com.definesys.mpaas.common.http.Response; import com.xdap.self_development.controller.request.TodoReturnRequest; import com.xdap.self_development.controller.request.TodoTaskRequest; +import com.xdap.self_development.pojo.CompletedTaskPojo; +import com.xdap.self_development.pojo.InitiatedTaskPojo; import com.xdap.self_development.pojo.TodoTaskPojo; import com.xdap.self_development.pojo.dto.EngineParamDetailDTO; import com.xdap.self_development.pojo.dto.PageResultDTO; @@ -31,15 +33,23 @@ public class TodoTaskController { */ @PostMapping("/selectByPageByCreate") public Response selectByPageByCreate(@RequestBody TodoTaskRequest todoTaskRequest){ - PageResultDTO page= todoTaskService.selectByPage(todoTaskRequest); + PageResultDTO page= todoTaskService.selectByPage(todoTaskRequest); return Response.ok().data(page); } /** - * 查询用户待办或已办 + * 查询用户待办 */ - @PostMapping("/selectByresPersonPage") - public Response selectByresPersonPage(@RequestBody TodoTaskRequest todoTaskRequest){ - PageResultDTO todoTaskPojos = todoTaskService.selectByresPersonPage(todoTaskRequest); + @PostMapping("/selectByresPersonTodoPage") + public Response selectByresPersonTodoPage(@RequestBody TodoTaskRequest todoTaskRequest){ + PageResultDTO todoTaskPojos = todoTaskService.selectByresPersonTodoPage(todoTaskRequest); + return Response.ok().data(todoTaskPojos); + } + /** + * 查询用户已办 + */ + @PostMapping("/selectByresPersonCompletedPage") + public Response selectByresPersonCompletedPage(@RequestBody TodoTaskRequest todoTaskRequest){ + PageResultDTO todoTaskPojos = todoTaskService.selectByresPersonCompletedPage(todoTaskRequest); return Response.ok().data(todoTaskPojos); } /** diff --git a/src/main/java/com/xdap/self_development/service/TodoTaskService.java b/src/main/java/com/xdap/self_development/service/TodoTaskService.java index ea21004..1eca3cf 100644 --- a/src/main/java/com/xdap/self_development/service/TodoTaskService.java +++ b/src/main/java/com/xdap/self_development/service/TodoTaskService.java @@ -3,6 +3,8 @@ package com.xdap.self_development.service; import com.xdap.self_development.controller.request.TodoReturnRequest; import com.xdap.self_development.controller.request.TodoTaskRequest; import com.xdap.self_development.controller.request.YcGetTodoTaskRequest; +import com.xdap.self_development.pojo.CompletedTaskPojo; +import com.xdap.self_development.pojo.InitiatedTaskPojo; import com.xdap.self_development.pojo.TodoTaskPojo; import com.xdap.self_development.pojo.dto.*; @@ -20,9 +22,12 @@ import java.util.List; public interface TodoTaskService { void batchInsert(List taskPojo); - PageResultDTO selectByPage(TodoTaskRequest todoTaskRequest); - - PageResultDTO selectByresPersonPage(TodoTaskRequest todoTaskRequest); + //根据人员ID查询发起事项 + PageResultDTO selectByPage(TodoTaskRequest todoTaskRequest); + //根据人员ID查询待办 + PageResultDTO selectByresPersonTodoPage(TodoTaskRequest todoTaskRequest); + //根据人员ID查询已办 + PageResultDTO selectByresPersonCompletedPage(TodoTaskRequest todoTaskRequest); void createResPerson(List paramDetailPojos, String userID); diff --git a/src/main/java/com/xdap/self_development/service/impl/TodoTaskServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/TodoTaskServiceImpl.java index 46d8f67..ba4269a 100644 --- a/src/main/java/com/xdap/self_development/service/impl/TodoTaskServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/TodoTaskServiceImpl.java @@ -69,22 +69,22 @@ public class TodoTaskServiceImpl implements TodoTaskService { } @Override - public PageResultDTO selectByPage(TodoTaskRequest todoTaskRequest) { - if (ObjectUtils.isEmpty(todoTaskRequest.getCreatedById())) { - throw new RuntimeException("请传入申请人"); + public PageResultDTO selectByPage(TodoTaskRequest taskRequest) { + if (ObjectUtils.isEmpty(taskRequest.getCreatedById())) { + throw new RuntimeException("请传入发起人"); } - List tods = new ArrayList<>(); - PageResultDTO todoTaskPojoPageResultDTO = new PageResultDTO<>(); - PageQueryResult queryResult = sw.buildFromDatasource("xdap_app_223770822127386625") - .eq("created_by_id", todoTaskRequest.getCreatedById()) - .distinct("document_no") + List tods = new ArrayList<>(); + PageResultDTO taskPojoPageResultDTO = new PageResultDTO<>(); + PageQueryResult queryResult = sw.buildFromDatasource("xdap_app_223770822127386625") + .eq("created_by_id", taskRequest.getCreatedById()) + .eq("is_delete", 0) .orderBy("creation_date", "desc") - .doPageQuery(todoTaskRequest.getPage(), todoTaskRequest.getSize(), TodoTaskPojo.class); + .doPageQuery(taskRequest.getPage(), taskRequest.getSize(), InitiatedTaskPojo.class); - for (TodoTaskPojo todoTaskPojo : queryResult.getResult()) { - TodoTaskPojo todoTaskPojo1 = new TodoTaskPojo(); - String currentProcessor = todoTaskPojo.getCurrentProcessor(); - BeanUtils.copyProperties(todoTaskPojo, todoTaskPojo1); + for (InitiatedTaskPojo taskPojo : queryResult.getResult()) { + InitiatedTaskPojo taskPojo1 = new InitiatedTaskPojo(); + String currentProcessor = taskPojo.getCurrentProcessor(); + BeanUtils.copyProperties(taskPojo, taskPojo1); List strings = new ArrayList<>(); if (ObjectUtils.isNotEmpty(currentProcessor)) { @@ -102,55 +102,21 @@ public class TodoTaskServiceImpl implements TodoTaskService { strings = Arrays.asList(currentProcessor); } } - todoTaskPojo1.setCurrentProcessor(String.join(",", strings)); - tods.add(todoTaskPojo1); + taskPojo1.setCurrentProcessor(String.join(",", strings)); + tods.add(taskPojo1); } - todoTaskPojoPageResultDTO.setList(tods); - todoTaskPojoPageResultDTO.setTotalCount(queryResult.getCount()); - return todoTaskPojoPageResultDTO; + taskPojoPageResultDTO.setList(tods); + taskPojoPageResultDTO.setTotalCount(queryResult.getCount()); + return taskPojoPageResultDTO; } @Override - public PageResultDTO selectByresPersonPage(TodoTaskRequest todoTaskRequest) { -// List modelPojos = sw.buildFromDatasource("test_demo") -// .eq("responsible_person_id", todoTaskRequest.getResOrfileByPersonId()) -// .doQuery(DataEntryEngineModelPojo.class); -// List strings = modelPojos.stream().map(x -> x.getId()).collect(Collectors.toList()); -// ArrayList taskPojos = new ArrayList<>(); -// ArrayList modelIds = new ArrayList<>(); -// //查询待办 会传入责任人或填写人 -// String resid = ""; -// String filedById= ""; -// resid = todoTaskRequest.getResPersonId(); -// filedById = todoTaskRequest.getFilledByPersonId(); -// //如果是填写人传进来 -// if (StrUtil.isBlank(resid)&&StrUtil.isNotBlank(filedById)){ -// List detailPojos = engineParamDetailService.selectByfiledId(filedById); -// for (EngineParamDetailPojo detailPojo : detailPojos) { -// modelIds.add(detailPojo.getEngineModelId()); -// } -// }else if (StrUtil.isBlank(filedById) && StrUtil.isNotBlank(resid)){ -// //如果是责任人传过来 -// List detailPojos = engineParamDetailService.selectByResId(resid); -// for (EngineParamDetailPojo detailPojo : detailPojos) { -// modelIds.add(detailPojo.getEngineModelId()); -// } -// } else if (StrUtil.isNotBlank(filedById) && StrUtil.isNotBlank(resid)) { -// //如果既是责任人也是填写人 -// List detailPojos = engineParamDetailService.selectByfiledId(filedById); -// detailPojos.addAll(engineParamDetailService.selectByResId(resid)); -// for (EngineParamDetailPojo detailPojo : detailPojos) { -// modelIds.add(detailPojo.getEngineModelId()); -// } -// } - Integer dOrYTask = todoTaskRequest.getIsFinished(); - if (dOrYTask != 0 && dOrYTask != 1) { - throw new RuntimeException("查询异常,联系管理员"); - } + public PageResultDTO selectByresPersonTodoPage(TodoTaskRequest todoTaskRequest) { + PageResultDTO pageResultDTO = new PageResultDTO(); PageQueryResult queryResult = sw.buildFromDatasource("xdap_app_223770822127386625") .eq("owner_id", todoTaskRequest.getPersonId()) - .eq("is_delete", dOrYTask) + .eq("is_delete", 0) .orderBy("creation_date", "desc") .doPageQuery(todoTaskRequest.getPage(), todoTaskRequest.getSize(), TodoTaskPojo.class); @@ -184,6 +150,47 @@ public class TodoTaskServiceImpl implements TodoTaskService { return pageResultDTO; } + @Override + public PageResultDTO selectByresPersonCompletedPage(TodoTaskRequest taskRequest) { + + PageResultDTO pageResultDTO = new PageResultDTO(); + PageQueryResult queryResult = sw.buildFromDatasource("xdap_app_223770822127386625") + .eq("owner_id", taskRequest.getPersonId()) + .eq("is_delete", 0) + .orderBy("creation_date", "desc") + .doPageQuery(taskRequest.getPage(), taskRequest.getSize(), CompletedTaskPojo.class); + + List tods = new ArrayList<>(); + for (CompletedTaskPojo taskPojo : queryResult.getResult()) { + CompletedTaskPojo taskPojo1 = new CompletedTaskPojo(); + String currentProcessor = taskPojo.getCurrentProcessor(); + BeanUtils.copyProperties(taskPojo, taskPojo1); + + List strings = new ArrayList<>(); + if (ObjectUtils.isNotEmpty(currentProcessor)) { + try { + strings = JSON.parseArray(currentProcessor).toList(String.class).stream() + .map(x -> { + XdapUsers xdapUsers = xdapDeptUsersService.selectUserByID(x); + if (ObjectUtils.isNotEmpty(xdapUsers)) { + return xdapUsers.getUsername(); + } else { + return "未知用户名:" + x; + } + }).collect(Collectors.toList()); + } catch (Exception e) { + strings = Arrays.asList(currentProcessor); + } + } + taskPojo1.setCurrentProcessor(String.join(",", strings)); + tods.add(taskPojo1); + } + pageResultDTO.setList(tods); + pageResultDTO.setTotalCount(queryResult.getCount()); + return pageResultDTO; + + } + @Override public void createResPerson(List paramDetailPojosAll, String userID) {