玉柴获取待办接口开发 待测试

This commit is contained in:
ys.git 2025-12-17 10:45:40 +08:00
parent 6ed87c7c2e
commit f996bb5974
8 changed files with 170 additions and 72 deletions

View File

@ -3,9 +3,8 @@ package com.xdap.self_development.controller;
import com.definesys.mpaas.common.http.Response;
import com.xdap.self_development.controller.request.YcGetTodoTaskRequest;
import com.xdap.self_development.pojo.TodoTaskPojo;
import com.xdap.self_development.pojo.dto.YcCompletedResultDTO;
import com.xdap.self_development.pojo.dto.YcInitiatorResultDTO;
import com.xdap.self_development.pojo.dto.PageResultDTO;
import com.xdap.self_development.pojo.dto.YcTodoTaskCommonResultDTO;
import com.xdap.self_development.pojo.dto.YcTodoTaskResultDTO;
import com.xdap.self_development.service.TodoTaskService;
import org.springframework.beans.factory.annotation.Autowired;
@ -25,22 +24,22 @@ public class YcTaskResultController {
//返回待办给玉柴云
@PostMapping("/returnTodoTask")
public Response returnTodoTask(@RequestBody String userName) {
List<YcTodoTaskResultDTO> dtos = todoTaskService.returnTodoTask(userName);
public Response returnTodoTask(@RequestBody YcGetTodoTaskRequest ycGetTodoTaskRequest) {
List<YcTodoTaskResultDTO> dtos = todoTaskService.returnTodoTask(ycGetTodoTaskRequest);
return Response.ok().data(dtos);
}
//返回经办(已办)给玉柴云
@PostMapping("/returnCompleted")
public Response returnCompleted(@RequestBody YcGetTodoTaskRequest ycGetTodoTaskRequest) {
YcCompletedResultDTO dto = new YcCompletedResultDTO();
return Response.ok().data(dto);
PageResultDTO<YcTodoTaskCommonResultDTO> dtos = todoTaskService.returnCompleted(ycGetTodoTaskRequest);
return Response.ok().data(dtos);
}
//返回申请人所发起的给玉柴云
@PostMapping("/returnInitiator")
public Response returnInitiator(@RequestBody YcGetTodoTaskRequest ycGetTodoTaskRequest) {
YcInitiatorResultDTO dto = new YcInitiatorResultDTO();
return Response.ok().data(dto);
PageResultDTO<YcTodoTaskCommonResultDTO> dtos = todoTaskService.returnInitiator(ycGetTodoTaskRequest);
return Response.ok().data(dtos);
}
}

View File

@ -1,47 +0,0 @@
package com.xdap.self_development.pojo.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
//已办示例
//{
// "id": "966531",
// "title": "do et est incididunt"
// "createDate": "voluptate commodo esse mollit veniam",
// "activityName": "nulla",
// "type": "in aliquip sit in",
// "url": "in aliquip sit in",
// "urlMobileOA": "in aliquip sit in",
// "urlWx": "in aliquip sit in",
// "mobileSuit": "in aliquip sit in"
// }
@Data
@AllArgsConstructor
@NoArgsConstructor
public class YcCompletedResultDTO {
/*
员工编号
主题
经办时间
当前环节
类别玉柴云/OA/CRM/SRM/TC/法务平台
PC端流程地址
移动OA流程地址可以留空
企业微信流程地址可以留空
"是否支持移动化支持移动OA展示传入1
是否支持移动化支持企业微信传入2
是否支持移动化支持支持移动OA+企业微信传入3
可以留空"
*/
private String username;
private String title;
private String createDate;
private String activityName;
private String type;
private String url;
private String urlMobileOA;
private String urlWx;
private String mobileSuit;
}

View File

@ -8,7 +8,7 @@ import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class YcInitiatorResultDTO {
public class YcTodoTaskCommonResultDTO {
/*
* private String id string 非必须 流程唯一id
private String username string 非必须 员工编号

View File

@ -2,11 +2,11 @@ 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.TodoTaskPojo;
import com.xdap.self_development.pojo.dto.EngineParamDetailDTO;
import com.xdap.self_development.pojo.dto.PageResultDTO;
import com.xdap.self_development.pojo.dto.YcTodoTaskResultDTO;
import com.xdap.self_development.pojo.dto.*;
import java.util.ArrayList;
import java.util.List;
/**
@ -21,10 +21,17 @@ public interface TodoTaskService {
void batchInsert(List<TodoTaskPojo> taskPojo);
PageResultDTO<TodoTaskPojo> selectByPage(TodoTaskRequest todoTaskRequest);
PageResultDTO<TodoTaskPojo> selectByresPersonPage(TodoTaskRequest todoTaskRequest);
void createResPerson(List<EngineParamDetailDTO> paramDetailPojos, String userID);
void todoReturn(TodoReturnRequest todoReturnRequest);
//---------------------------------玉柴调用接口--------------------------------
List<YcTodoTaskResultDTO> returnTodoTask(String userName);
//---------------------------------玉柴调用接口--------------------------------
List<YcTodoTaskResultDTO> returnTodoTask(YcGetTodoTaskRequest ycGetTodoTaskRequest);
PageResultDTO<YcTodoTaskCommonResultDTO> returnCompleted(YcGetTodoTaskRequest ycGetTodoTaskRequest);
PageResultDTO<YcTodoTaskCommonResultDTO> returnInitiator(YcGetTodoTaskRequest ycGetTodoTaskRequest);
}

View File

@ -29,4 +29,6 @@ public interface XdapDeptUsersService {
XdapUsers selectUserByUserListAndDeptName(List<XdapUsers> xdapUsersPojos, XdapDepartments dpName);
//通过人员ID查找人员
XdapUsers selectUserByID(String userId);
//通过人工号查找人员
XdapUsers selectUserByCode(String userCode);
}

View File

@ -545,6 +545,7 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
.eq("model_id", engineModelId)
.eq("process_title", "任务分解")
.update("is_delete", 1)
.update("last_update_date", new Date())
.doUpdate(TodoTaskPojo.class);
// //机型的分发状态改为已分发
// DistributeStatusEnum byDesc = DistributeStatusEnum.getByDesc("已分发");

View File

@ -6,24 +6,24 @@ import com.definesys.mpaas.query.db.PageQueryResult;
import com.xdap.api.moudle.user.pojo.XdapUsers;
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.enums.CurrentNodeEnum;
import com.xdap.self_development.enums.DistributeStatusEnum;
import com.xdap.self_development.pojo.*;
import com.xdap.self_development.pojo.dto.EngineParamDetailDTO;
import com.xdap.self_development.pojo.dto.PageResultDTO;
import com.xdap.self_development.pojo.dto.*;
import com.xdap.self_development.service.DataEntryEngineModelService;
import com.xdap.self_development.service.EngineParamDetailService;
import com.xdap.self_development.service.TodoTaskService;
import com.xdap.self_development.service.XdapDeptUsersService;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -46,7 +46,18 @@ public class TodoTaskServiceImpl implements TodoTaskService {
@Autowired
private DataEntryEngineModelService dataEntryEngineModelService;
private Integer versionNumber = 0;
private final String SYSTEM = "研发数据管理平台";
private final String TODOTASKURL = "https://apaas-meim.app.yuchai.com/app/a5e8e08/ycgf-yf-rddata/223770822127386625/app/custom-page/" +
"apaas-custom-toDoList?appId=771297120740179968&title=%E6%88%91%E7%9A%84%E5%BE%85%E5%8A%9E&currentMenu=782242383386378240&url=apaas-custom-toDoList";
private final String COMPLETEDURL = "https://apaas-meim.app.yuchai.com/app/a5e8e08/ycgf-yf-rddata/223770822127386625/app/custom-page/" +
"apaas-custom-toDoList?appId=771297120740179968&title=%E6%88%91%E7%9A%84%E5%BE%85%E5%8A%9E&currentMenu=782242383386378240&url=apaas-custom-toDoList";
private final String INITIATORURL = "https://apaas-meim.app.yuchai.com/app/a5e8e08/ycgf-yf-rddata/223770822127386625/app/\n" +
"custom-page/apaas-custom-mySend?appId=771297120740179968&title=%E6%88%91%E5%8F%91%E8%B5%B7%E7%9A%84&\n" +
"currentMenu=788768456722874368&url=apaas-custom-mySend";
private static final String dateFormat = "YYYY-MM-DD hh:mm:ss";
@Override
public void batchInsert(List<TodoTaskPojo> taskPojos) {
@ -236,6 +247,116 @@ public class TodoTaskServiceImpl implements TodoTaskService {
}
@Override
public List<YcTodoTaskResultDTO> returnTodoTask(YcGetTodoTaskRequest ycGetTodoTaskRequest) {
String username = ycGetTodoTaskRequest.getUsername();
if (ObjectUtils.isEmpty(username)) {
return null;
}
ArrayList<YcTodoTaskResultDTO> dtos = new ArrayList<YcTodoTaskResultDTO>();
XdapUsers xdapUsers = xdapDeptUsersService.selectUserByCode(username);
if (ObjectUtils.isNotEmpty(xdapUsers)) {
String id = xdapUsers.getId();
List<TodoTaskPojo> todoTaskPojos = sw.buildFromDatasource("xdap_app_223770822127386625")
.eq("owner_id", id)
.eq("is_delete", 0)
.doQuery(TodoTaskPojo.class);
for (TodoTaskPojo todoTaskPojo : todoTaskPojos) {
YcTodoTaskResultDTO dto = new YcTodoTaskResultDTO();
dto.setTitle(todoTaskPojo.getProcessTitle());
dto.setSystemName(SYSTEM);
dto.setUpdateDate(todoTaskPojo.getCreationDate());
dto.setActivityLabel(todoTaskPojo.getCurrentNode());
dto.setUrl(TODOTASKURL);
dtos.add(dto);
}
return dtos;
}
return null;
}
@Override
public PageResultDTO<YcTodoTaskCommonResultDTO> returnCompleted(YcGetTodoTaskRequest ycGetTodoTaskRequest) {
return commonTodoTask(ycGetTodoTaskRequest, "已办");
}
@Override
public PageResultDTO<YcTodoTaskCommonResultDTO> returnInitiator(YcGetTodoTaskRequest ycGetTodoTaskRequest) {
return commonTodoTask(ycGetTodoTaskRequest, "发起");
}
private PageResultDTO<YcTodoTaskCommonResultDTO> commonTodoTask(YcGetTodoTaskRequest ycGetTodoTaskRequest, String o) {
if (ObjectUtils.isEmpty(ycGetTodoTaskRequest.getCreateDateStart())) {
throw new RuntimeException("开始时间为必填项");
}
String userCode = ObjectUtils.isEmpty(ycGetTodoTaskRequest.getUsername()) ? "" : ycGetTodoTaskRequest.getUsername();
String userid = ObjectUtils.isEmpty(xdapDeptUsersService.selectUserByCode(userCode)) ? "" : xdapDeptUsersService.selectUserByCode(userCode).getId();
List<TodoTaskPojo> todoTaskPojos = new ArrayList<>();
PageResultDTO<YcTodoTaskCommonResultDTO> ycCompletedResultDTOPageResultDTO = new PageResultDTO<>();
ArrayList<YcTodoTaskCommonResultDTO> ycCompletedResultDTOS = new ArrayList<>();
String str = "owner_id";
if (o.equals("发起")) {
str = "created_by_id";
}
if (ObjectUtils.isEmpty(ycGetTodoTaskRequest.getPage())
|| ObjectUtils.isEmpty(ycGetTodoTaskRequest.getPageSize())
) {
todoTaskPojos = sw.buildFromDatasource("xdap_app_223770822127386625")
.eq(str, userid)
.gt("creation_date", ycGetTodoTaskRequest.getCreateDateStart())
.lt("last_update_date", ycGetTodoTaskRequest.getCreateDateEnd())
.eq("process_title", ycGetTodoTaskRequest.getTitle())
.doQuery(TodoTaskPojo.class);
if (!o.equals("发起")) {
todoTaskPojos = todoTaskPojos.stream().filter(x -> x.getIsDelete() == 1).collect(Collectors.toList());
}
ycCompletedResultDTOPageResultDTO.setTotalCount(todoTaskPojos.size());
} else {
String page = ycGetTodoTaskRequest.getPage();
String pageSize = ycGetTodoTaskRequest.getPageSize();
int pageint = 0;
int pageSizeint = 999;
try {
pageint = Integer.parseInt(page);
pageSizeint = Integer.parseInt(pageSize);
} catch (NumberFormatException e) {
throw new RuntimeException("您的页码和页数非数字类型");
}
PageQueryResult<TodoTaskPojo> queryResult = sw.buildFromDatasource("xdap_app_223770822127386625")
.eq(str, userid)
.eq("is_delete", 1)
.gt("creation_date", ycGetTodoTaskRequest.getCreateDateStart())
.lt("last_update_date", ycGetTodoTaskRequest.getCreateDateEnd())
.eq("process_title", ycGetTodoTaskRequest.getTitle())
.doPageQuery(pageint, pageSizeint, TodoTaskPojo.class);
todoTaskPojos = queryResult.getResult();
if (!o.equals("发起")) {
todoTaskPojos = todoTaskPojos.stream().filter(x -> x.getIsDelete() == 1).collect(Collectors.toList());
}
}
for (TodoTaskPojo todoTaskPojo : todoTaskPojos) {
XdapUsers xdapUsers = xdapDeptUsersService.selectUserByID(todoTaskPojo.getOwnerId());
SimpleDateFormat format = new SimpleDateFormat(dateFormat);
YcTodoTaskCommonResultDTO ycCompletedResultDTO = new YcTodoTaskCommonResultDTO();
//TODO 已办页面还未提供
if (!o.equals("发起")) {
ycCompletedResultDTO.setUrl(COMPLETEDURL);
} else {
ycCompletedResultDTO.setUrl(INITIATORURL);
}
ycCompletedResultDTO.setTitle(todoTaskPojo.getProcessTitle());
ycCompletedResultDTO.setCreateDate(format.format(todoTaskPojo.getCreationDate()));
ycCompletedResultDTO.setUsername(xdapUsers.getUserNumber());
ycCompletedResultDTO.setType(SYSTEM);
ycCompletedResultDTOS.add(ycCompletedResultDTO);
}
ycCompletedResultDTOPageResultDTO.setList(ycCompletedResultDTOS);
return ycCompletedResultDTOPageResultDTO;
}
@Transactional(rollbackFor = Exception.class) // 发生任何异常都回滚
public void batchInsertTodoTask(List<TodoTaskPojo> todoTaskPojos) {
sw.buildFromDatasource("xdap_app_223770822127386625").doBatchInsert(todoTaskPojos);

View File

@ -141,4 +141,19 @@ public class XdapDeptUsersServiceImpl implements XdapDeptUsersService {
}
return null;
}
@Override
public XdapUsers selectUserByCode(String userCode) {
if (ObjectUtils.isEmpty(userCode)) {
return null;
}
List<XdapUsers> userPojos = runtimeDatasourceService.buildTenantMpaasQuery("xdap_app_223770822127386625")
.eq("user_number", userCode)
.doQuery(XdapUsers.class);
if (ObjectUtils.isNotEmpty(userPojos)) {
return userPojos.get(0);
}
return null;
}
}