查询已办和发起

This commit is contained in:
ys.git 2025-12-25 11:38:43 +08:00
parent 0f80475cfe
commit aceec60115
3 changed files with 85 additions and 63 deletions

View File

@ -4,6 +4,8 @@ package com.xdap.self_development.controller;
import com.definesys.mpaas.common.http.Response; import com.definesys.mpaas.common.http.Response;
import com.xdap.self_development.controller.request.TodoReturnRequest; import com.xdap.self_development.controller.request.TodoReturnRequest;
import com.xdap.self_development.controller.request.TodoTaskRequest; 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.TodoTaskPojo;
import com.xdap.self_development.pojo.dto.EngineParamDetailDTO; import com.xdap.self_development.pojo.dto.EngineParamDetailDTO;
import com.xdap.self_development.pojo.dto.PageResultDTO; import com.xdap.self_development.pojo.dto.PageResultDTO;
@ -31,15 +33,23 @@ public class TodoTaskController {
*/ */
@PostMapping("/selectByPageByCreate") @PostMapping("/selectByPageByCreate")
public Response selectByPageByCreate(@RequestBody TodoTaskRequest todoTaskRequest){ public Response selectByPageByCreate(@RequestBody TodoTaskRequest todoTaskRequest){
PageResultDTO<TodoTaskPojo> page= todoTaskService.selectByPage(todoTaskRequest); PageResultDTO<InitiatedTaskPojo> page= todoTaskService.selectByPage(todoTaskRequest);
return Response.ok().data(page); return Response.ok().data(page);
} }
/** /**
* 查询用户待办或已办 * 查询用户待办
*/ */
@PostMapping("/selectByresPersonPage") @PostMapping("/selectByresPersonTodoPage")
public Response selectByresPersonPage(@RequestBody TodoTaskRequest todoTaskRequest){ public Response selectByresPersonTodoPage(@RequestBody TodoTaskRequest todoTaskRequest){
PageResultDTO<TodoTaskPojo> todoTaskPojos = todoTaskService.selectByresPersonPage(todoTaskRequest); PageResultDTO<TodoTaskPojo> todoTaskPojos = todoTaskService.selectByresPersonTodoPage(todoTaskRequest);
return Response.ok().data(todoTaskPojos);
}
/**
* 查询用户已办
*/
@PostMapping("/selectByresPersonCompletedPage")
public Response selectByresPersonCompletedPage(@RequestBody TodoTaskRequest todoTaskRequest){
PageResultDTO<CompletedTaskPojo> todoTaskPojos = todoTaskService.selectByresPersonCompletedPage(todoTaskRequest);
return Response.ok().data(todoTaskPojos); return Response.ok().data(todoTaskPojos);
} }
/** /**

View File

@ -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.TodoReturnRequest;
import com.xdap.self_development.controller.request.TodoTaskRequest; import com.xdap.self_development.controller.request.TodoTaskRequest;
import com.xdap.self_development.controller.request.YcGetTodoTaskRequest; 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.TodoTaskPojo;
import com.xdap.self_development.pojo.dto.*; import com.xdap.self_development.pojo.dto.*;
@ -20,9 +22,12 @@ import java.util.List;
public interface TodoTaskService { public interface TodoTaskService {
void batchInsert(List<TodoTaskPojo> taskPojo); void batchInsert(List<TodoTaskPojo> taskPojo);
PageResultDTO<TodoTaskPojo> selectByPage(TodoTaskRequest todoTaskRequest); //根据人员ID查询发起事项
PageResultDTO<InitiatedTaskPojo> selectByPage(TodoTaskRequest todoTaskRequest);
PageResultDTO<TodoTaskPojo> selectByresPersonPage(TodoTaskRequest todoTaskRequest); //根据人员ID查询待办
PageResultDTO<TodoTaskPojo> selectByresPersonTodoPage(TodoTaskRequest todoTaskRequest);
//根据人员ID查询已办
PageResultDTO<CompletedTaskPojo> selectByresPersonCompletedPage(TodoTaskRequest todoTaskRequest);
void createResPerson(List<EngineParamDetailDTO> paramDetailPojos, String userID); void createResPerson(List<EngineParamDetailDTO> paramDetailPojos, String userID);

View File

@ -69,22 +69,22 @@ public class TodoTaskServiceImpl implements TodoTaskService {
} }
@Override @Override
public PageResultDTO<TodoTaskPojo> selectByPage(TodoTaskRequest todoTaskRequest) { public PageResultDTO<InitiatedTaskPojo> selectByPage(TodoTaskRequest taskRequest) {
if (ObjectUtils.isEmpty(todoTaskRequest.getCreatedById())) { if (ObjectUtils.isEmpty(taskRequest.getCreatedById())) {
throw new RuntimeException("请传入申请"); throw new RuntimeException("请传入发起");
} }
List<TodoTaskPojo> tods = new ArrayList<>(); List<InitiatedTaskPojo> tods = new ArrayList<>();
PageResultDTO<TodoTaskPojo> todoTaskPojoPageResultDTO = new PageResultDTO<>(); PageResultDTO<InitiatedTaskPojo> taskPojoPageResultDTO = new PageResultDTO<>();
PageQueryResult<TodoTaskPojo> queryResult = sw.buildFromDatasource("xdap_app_223770822127386625") PageQueryResult<InitiatedTaskPojo> queryResult = sw.buildFromDatasource("xdap_app_223770822127386625")
.eq("created_by_id", todoTaskRequest.getCreatedById()) .eq("created_by_id", taskRequest.getCreatedById())
.distinct("document_no") .eq("is_delete", 0)
.orderBy("creation_date", "desc") .orderBy("creation_date", "desc")
.doPageQuery(todoTaskRequest.getPage(), todoTaskRequest.getSize(), TodoTaskPojo.class); .doPageQuery(taskRequest.getPage(), taskRequest.getSize(), InitiatedTaskPojo.class);
for (TodoTaskPojo todoTaskPojo : queryResult.getResult()) { for (InitiatedTaskPojo taskPojo : queryResult.getResult()) {
TodoTaskPojo todoTaskPojo1 = new TodoTaskPojo(); InitiatedTaskPojo taskPojo1 = new InitiatedTaskPojo();
String currentProcessor = todoTaskPojo.getCurrentProcessor(); String currentProcessor = taskPojo.getCurrentProcessor();
BeanUtils.copyProperties(todoTaskPojo, todoTaskPojo1); BeanUtils.copyProperties(taskPojo, taskPojo1);
List<String> strings = new ArrayList<>(); List<String> strings = new ArrayList<>();
if (ObjectUtils.isNotEmpty(currentProcessor)) { if (ObjectUtils.isNotEmpty(currentProcessor)) {
@ -102,55 +102,21 @@ public class TodoTaskServiceImpl implements TodoTaskService {
strings = Arrays.asList(currentProcessor); strings = Arrays.asList(currentProcessor);
} }
} }
todoTaskPojo1.setCurrentProcessor(String.join(",", strings)); taskPojo1.setCurrentProcessor(String.join(",", strings));
tods.add(todoTaskPojo1); tods.add(taskPojo1);
} }
todoTaskPojoPageResultDTO.setList(tods); taskPojoPageResultDTO.setList(tods);
todoTaskPojoPageResultDTO.setTotalCount(queryResult.getCount()); taskPojoPageResultDTO.setTotalCount(queryResult.getCount());
return todoTaskPojoPageResultDTO; return taskPojoPageResultDTO;
} }
@Override @Override
public PageResultDTO<TodoTaskPojo> selectByresPersonPage(TodoTaskRequest todoTaskRequest) { public PageResultDTO<TodoTaskPojo> selectByresPersonTodoPage(TodoTaskRequest todoTaskRequest) {
// List<DataEntryEngineModelPojo> modelPojos = sw.buildFromDatasource("test_demo")
// .eq("responsible_person_id", todoTaskRequest.getResOrfileByPersonId())
// .doQuery(DataEntryEngineModelPojo.class);
// List<String> strings = modelPojos.stream().map(x -> x.getId()).collect(Collectors.toList());
// ArrayList<TodoTaskPojo> taskPojos = new ArrayList<>();
// ArrayList<String> modelIds = new ArrayList<>();
// //查询待办 会传入责任人或填写人
// String resid = "";
// String filedById= "";
// resid = todoTaskRequest.getResPersonId();
// filedById = todoTaskRequest.getFilledByPersonId();
// //如果是填写人传进来
// if (StrUtil.isBlank(resid)&&StrUtil.isNotBlank(filedById)){
// List<EngineParamDetailPojo> detailPojos = engineParamDetailService.selectByfiledId(filedById);
// for (EngineParamDetailPojo detailPojo : detailPojos) {
// modelIds.add(detailPojo.getEngineModelId());
// }
// }else if (StrUtil.isBlank(filedById) && StrUtil.isNotBlank(resid)){
// //如果是责任人传过来
// List<EngineParamDetailPojo> detailPojos = engineParamDetailService.selectByResId(resid);
// for (EngineParamDetailPojo detailPojo : detailPojos) {
// modelIds.add(detailPojo.getEngineModelId());
// }
// } else if (StrUtil.isNotBlank(filedById) && StrUtil.isNotBlank(resid)) {
// //如果既是责任人也是填写人
// List<EngineParamDetailPojo> 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("查询异常,联系管理员");
}
PageResultDTO<TodoTaskPojo> pageResultDTO = new PageResultDTO<TodoTaskPojo>(); PageResultDTO<TodoTaskPojo> pageResultDTO = new PageResultDTO<TodoTaskPojo>();
PageQueryResult<TodoTaskPojo> queryResult = sw.buildFromDatasource("xdap_app_223770822127386625") PageQueryResult<TodoTaskPojo> queryResult = sw.buildFromDatasource("xdap_app_223770822127386625")
.eq("owner_id", todoTaskRequest.getPersonId()) .eq("owner_id", todoTaskRequest.getPersonId())
.eq("is_delete", dOrYTask) .eq("is_delete", 0)
.orderBy("creation_date", "desc") .orderBy("creation_date", "desc")
.doPageQuery(todoTaskRequest.getPage(), todoTaskRequest.getSize(), TodoTaskPojo.class); .doPageQuery(todoTaskRequest.getPage(), todoTaskRequest.getSize(), TodoTaskPojo.class);
@ -184,6 +150,47 @@ public class TodoTaskServiceImpl implements TodoTaskService {
return pageResultDTO; return pageResultDTO;
} }
@Override
public PageResultDTO<CompletedTaskPojo> selectByresPersonCompletedPage(TodoTaskRequest taskRequest) {
PageResultDTO<CompletedTaskPojo> pageResultDTO = new PageResultDTO<CompletedTaskPojo>();
PageQueryResult<CompletedTaskPojo> 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<CompletedTaskPojo> tods = new ArrayList<>();
for (CompletedTaskPojo taskPojo : queryResult.getResult()) {
CompletedTaskPojo taskPojo1 = new CompletedTaskPojo();
String currentProcessor = taskPojo.getCurrentProcessor();
BeanUtils.copyProperties(taskPojo, taskPojo1);
List<String> 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 @Override
public void createResPerson(List<EngineParamDetailDTO> paramDetailPojosAll, String userID) { public void createResPerson(List<EngineParamDetailDTO> paramDetailPojosAll, String userID) {