待办主题更改

This commit is contained in:
ys.git 2025-12-15 08:45:03 +08:00
parent 97a288581a
commit aab175a9d6
7 changed files with 146 additions and 95 deletions

View File

@ -0,0 +1,36 @@
package com.xdap.self_development.controller;
import com.definesys.mpaas.common.http.Response;
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.YcTodoTaskResultDTO;
import com.xdap.self_development.service.TodoTaskService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/custom/YcTaskResult")
public class YcTaskResultController {
@Autowired
TodoTaskService todoTaskService;
//返回待办给玉柴云
Response returnTodoTask(){
YcTodoTaskResultDTO dto = new YcTodoTaskResultDTO();
return Response.ok().data(dto);
}
//返回经办(已办)给玉柴云
Response returnCompleted(){
YcCompletedResultDTO dto = new YcCompletedResultDTO();
return Response.ok().data(dto);
}
//返回申请人所发起的给玉柴云
Response returnInitiator(){
YcInitiatorResultDTO dto = new YcInitiatorResultDTO();
return Response.ok().data(dto);
}
}

View File

@ -0,0 +1,5 @@
package com.xdap.self_development.pojo.dto;
//已办
public class YcCompletedResultDTO {
}

View File

@ -0,0 +1,5 @@
package com.xdap.self_development.pojo.dto;
//发起人
public class YcInitiatorResultDTO {
}

View File

@ -0,0 +1,5 @@
package com.xdap.self_development.pojo.dto;
//待办
public class YcTodoTaskResultDTO {
}

View File

@ -4,6 +4,7 @@ import com.definesys.mpaas.query.MpaasQueryFactory;
import com.xdap.api.moudle.user.pojo.XdapUsers;
import com.xdap.self_development.controller.request.ApprovalByPlatformRequest;
import com.xdap.self_development.controller.request.ApprovalNodeRequest;
import com.xdap.self_development.enums.ApprovalOrderEnum;
import com.xdap.self_development.enums.CurrentNodeEnum;
import com.xdap.self_development.enums.ParamOperation;
import com.xdap.self_development.enums.ParamValueVersionEnum;
@ -117,6 +118,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
return;
}
String userId = approvalNodeRequest.getUserId();
// 1. 获取第一个审批环节按nodeOrder排序取最小
ApprovalNodeDTO firstNode = approvalNodeRequest.getNodeList().stream()
.min(Comparator.comparingInt(ApprovalNodeDTO::getNodeOrder))
@ -129,7 +131,7 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
paramList = engineParamDetailService.selectByModelNewVersion(modelId)
.stream()
.filter(x -> ParamOperation.UPDATE.toString()
.equals(x.getOperation())).collect(Collectors.toList());
.equals(x.getOperation()) && userId.equals(x.getLastUpdatedBy() == null ? "" : x.getLastUpdatedBy())).collect(Collectors.toList());
if (ObjectUtils.isEmpty(paramList)) {
throw new RuntimeException();
}
@ -140,98 +142,97 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
String engineModelId = approvalNodeRequest.getModelId();
DataEntryEngineModelPojo modelPojoOld = dataEntryEngineModelService.selectBymodelId(engineModelId);
//获取提交人
String userId = approvalNodeRequest.getUserId();
XdapUsers XdapUsers = xdapDeptUsersService.selectUserByID(userId);
String createBy = ObjectUtils.isNotEmpty(XdapUsers) ? XdapUsers.getUsername() : null;
//根据子系统分别创建审批流
Map<String, List<EngineParamDetailPojo>> listBySubSystem = paramList.stream().collect(Collectors.groupingBy(EngineParamDetailPojo::getSubsystemName));
for (Map.Entry<String, List<EngineParamDetailPojo>> stringListEntry : listBySubSystem.entrySet()) {
String approvalId = UUID.randomUUID().toString();
//子系统
String subSystem = stringListEntry.getKey();
// Map<String, List<EngineParamDetailPojo>> listBySubSystem = paramList.stream().collect(Collectors.groupingBy(EngineParamDetailPojo::getSubsystemName));
// for (Map.Entry<String, List<EngineParamDetailPojo>> stringListEntry : listBySubSystem.entrySet()) {
String approvalId = UUID.randomUUID().toString();
//子系统
// String subSystem = stringListEntry.getKey();
EngineReviewListPojo engineReviewListPojo = new EngineReviewListPojo();
engineReviewListPojo.setId(approvalId);
engineReviewListPojo.setModelId(engineModelId);
engineReviewListPojo.setModelName(modelPojoOld.getModelName());
engineReviewListPojo.setYcOrOth(modelPojoOld.getYcOrOth());
engineReviewListPojo.setProcessTopic(processTopic);
engineReviewListPojo.setSubsystemName(subSystem);
engineReviewListPojo.setStatusCode(ParamValueVersionEnum.UNDER.getCode());
engineReviewListPojo.setApplicant(userId);
engineReviewListPojo.setStatusDescription(ParamValueVersionEnum.UNDER.getDesc());
engineReviewListPojo.setNodeName(firstNode.getNodeName());
engineReviewListPojo.setApproverPersons(String.join(",", firstNode.getAssignees()));
engineReviewListPojo.setReviewComment(approvalNodeRequest.getComment());
engineReviewListPojo.setCreationDate(new Date());
engineReviewListPojo.setCreatedBy(userId);
sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(engineReviewListPojo);
EngineReviewListPojo engineReviewListPojo = new EngineReviewListPojo();
engineReviewListPojo.setId(approvalId);
engineReviewListPojo.setModelId(engineModelId);
engineReviewListPojo.setModelName(modelPojoOld.getModelName());
engineReviewListPojo.setYcOrOth(modelPojoOld.getYcOrOth());
engineReviewListPojo.setProcessTopic(processTopic);
// engineReviewListPojo.setSubsystemName(subSystem);
engineReviewListPojo.setStatusCode(ParamValueVersionEnum.UNDER.getCode());
engineReviewListPojo.setApplicant(userId);
engineReviewListPojo.setStatusDescription(ParamValueVersionEnum.UNDER.getDesc());
engineReviewListPojo.setNodeName(firstNode.getNodeName());
engineReviewListPojo.setApproverPersons(String.join(",", firstNode.getAssignees()));
engineReviewListPojo.setReviewComment(approvalNodeRequest.getComment());
engineReviewListPojo.setCreationDate(new Date());
engineReviewListPojo.setCreatedBy(userId);
sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(engineReviewListPojo);
//根据子系统分发待办
for (String assigneeId : firstNode.getAssignees()) {
//分发待办
for (String assigneeId : firstNode.getAssignees()) {
TodoTaskPojo todoTaskPojo = new TodoTaskPojo();
todoTaskPojo.setDocumentNo(approvalId);
todoTaskPojo.setProcessTitle(subSystem);
todoTaskPojo.setCurrentNode(CurrentNodeEnum.DATAAPPROVAL.getDesc());
todoTaskPojo.setModelId(engineModelId);
todoTaskPojo.setVersionNumber(modelPojoOld.getVersionNumber());
todoTaskPojo.setOwnerId(assigneeId);
todoTaskPojo.setDataType(modelPojoOld.getYcOrOth());
todoTaskPojo.setModelName(modelPojoOld.getModelName());
todoTaskPojo.setCreatedById(userId);
todoTaskPojo.setCreatedBy(createBy);
todoTaskPojo.setCreationDate(new Date());
todoTaskPojo.setIsDelete(0);
sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(todoTaskPojo);
}
//将参数绑定到该机型审批流程中
for (EngineParamDetailPojo engineParamDetailPojo : stringListEntry.getValue()) {
sw.buildFromDatasource("xdap_app_223770822127386625")
.update("version_status", ParamValueVersionEnum.UNDER.getCode())
.update("approval_id", approvalId)
.update("last_update_date", new Date())
.eq("id", engineParamDetailPojo.getId())
.doUpdate(EngineParamDetailPojo.class);
}
boolean b = false;
// 保存审批环节配置
for (ApprovalNodeDTO nodeDTO : approvalNodeRequest.getNodeList()) {
if (ObjectUtils.isEmpty(nodeDTO.getAssignees())) {
b = true;
continue;
}
Integer nodeOrder = nodeDTO.getNodeOrder();
if (b) {
nodeOrder = nodeOrder - 1;
}
ApprovalConfigPojo config = new ApprovalConfigPojo();
config.setApprovalId(approvalId);
config.setNodeName(nodeDTO.getNodeName());
config.setAssignees(String.join(",", nodeDTO.getAssignees()));
config.setNodeOrder(nodeOrder);
config.setCreatedBy(userId);
config.setCreationDate(new Date());
sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(config);
b = false;
}
//记录审批提交操作
ParamApprovalRecordPojo record = new ParamApprovalRecordPojo();
record.setApprovalId(approvalId);
record.setAssignee(userId);
record.setOperator("提交");
record.setNodeName("提交");
record.setNodeOrder(0);
record.setOperateTime(new Date());
record.setCreationDate(new Date());
record.setApprovalComment("提交流程");
sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(record);
TodoTaskPojo todoTaskPojo = new TodoTaskPojo();
todoTaskPojo.setDocumentNo(approvalId);
todoTaskPojo.setProcessTitle(CurrentNodeEnum.DATAAPPROVAL.getDesc());
todoTaskPojo.setCurrentNode(ApprovalOrderEnum.PROOFREAD.getDesc());
todoTaskPojo.setModelId(engineModelId);
todoTaskPojo.setVersionNumber(modelPojoOld.getVersionNumber());
todoTaskPojo.setOwnerId(assigneeId);
todoTaskPojo.setDataType(modelPojoOld.getYcOrOth());
todoTaskPojo.setModelName(modelPojoOld.getModelName());
todoTaskPojo.setCreatedById(userId);
todoTaskPojo.setCreatedBy(createBy);
todoTaskPojo.setCreationDate(new Date());
todoTaskPojo.setIsDelete(0);
sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(todoTaskPojo);
}
//将参数绑定到该机型审批流程中
for (EngineParamDetailPojo engineParamDetailPojo : paramList) {
sw.buildFromDatasource("xdap_app_223770822127386625")
.update("version_status", ParamValueVersionEnum.UNDER.getCode())
.update("approval_id", approvalId)
.update("last_update_date", new Date())
.eq("id", engineParamDetailPojo.getId())
.doUpdate(EngineParamDetailPojo.class);
}
boolean b = false;
// 保存审批环节配置
for (ApprovalNodeDTO nodeDTO : approvalNodeRequest.getNodeList()) {
if (ObjectUtils.isEmpty(nodeDTO.getAssignees())) {
b = true;
continue;
}
Integer nodeOrder = nodeDTO.getNodeOrder();
if (b) {
nodeOrder = nodeOrder - 1;
}
ApprovalConfigPojo config = new ApprovalConfigPojo();
config.setApprovalId(approvalId);
config.setNodeName(nodeDTO.getNodeName());
config.setAssignees(String.join(",", nodeDTO.getAssignees()));
config.setNodeOrder(nodeOrder);
config.setCreatedBy(userId);
config.setCreationDate(new Date());
sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(config);
b = false;
}
//记录审批提交操作
ParamApprovalRecordPojo record = new ParamApprovalRecordPojo();
record.setApprovalId(approvalId);
record.setAssignee(userId);
record.setOperator("提交");
record.setNodeName("提交");
record.setNodeOrder(0);
record.setOperateTime(new Date());
record.setCreationDate(new Date());
record.setApprovalComment("提交流程");
sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(record);
// }
}
@ -347,8 +348,8 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
for (String nextAssId : Arrays.asList(approvalConfigPojo1.getAssignees().split(","))) {
TodoTaskPojo todoTaskPojo = new TodoTaskPojo();
todoTaskPojo.setDocumentNo(approvalId);
todoTaskPojo.setProcessTitle(reviewListPojo.getSubsystemName());
todoTaskPojo.setCurrentNode(CurrentNodeEnum.DATAAPPROVAL.getDesc());
todoTaskPojo.setProcessTitle(CurrentNodeEnum.DATAAPPROVAL.getDesc());
todoTaskPojo.setCurrentNode(approvalConfigPojo1.getNodeName());
todoTaskPojo.setModelId(reviewListPojo.getModelId());
todoTaskPojo.setVersionNumber(modelPojo.getVersionNumber());
todoTaskPojo.setOwnerId(nextAssId);
@ -359,7 +360,6 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
todoTaskPojo.setCreationDate(new Date());
todoTaskPojo.setIsDelete(0);
sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(todoTaskPojo);
}
//更新审批流到下个审批节点
sw.buildFromDatasource("xdap_app_223770822127386625")
@ -438,8 +438,8 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService {
for (String remainingAssignee : remainingAssignees) {
TodoTaskPojo todoTaskPojo = new TodoTaskPojo();
todoTaskPojo.setDocumentNo(approvalId);
todoTaskPojo.setProcessTitle(reviewListPojo.getSubsystemName());
todoTaskPojo.setCurrentNode(CurrentNodeEnum.DATAAPPROVAL.getDesc());
todoTaskPojo.setProcessTitle(CurrentNodeEnum.DATAAPPROVAL.getDesc());
todoTaskPojo.setCurrentNode(reviewListPojo.getNodeName());
todoTaskPojo.setModelId(reviewListPojo.getModelId());
todoTaskPojo.setVersionNumber(modelPojo.getVersionNumber());
todoTaskPojo.setOwnerId(remainingAssignee);

View File

@ -509,8 +509,8 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService {
TodoTaskPojo todoTaskPojo = new TodoTaskPojo();
todoTaskPojo.setCreatedById(userID);
todoTaskPojo.setDocumentNo(UUID.randomUUID().toString());
todoTaskPojo.setProcessTitle("填写发动机参数值");
todoTaskPojo.setCurrentNode(CurrentNodeEnum.REPAIR.getDesc());
todoTaskPojo.setProcessTitle(CurrentNodeEnum.REPAIR.getDesc());
todoTaskPojo.setCurrentNode("待维护");
todoTaskPojo.setStatusCode(null);
todoTaskPojo.setModelName(modelPojo.getModelName());
todoTaskPojo.setModelId(modelPojo.getId());

View File

@ -140,8 +140,8 @@ public class TodoTaskServiceImpl implements TodoTaskService {
TodoTaskPojo todoTaskPojo = new TodoTaskPojo();
todoTaskPojo.setCreatedById(userID);
todoTaskPojo.setDocumentNo(UUID.randomUUID().toString());
todoTaskPojo.setProcessTitle("管理员分发责任人");
todoTaskPojo.setCurrentNode(CurrentNodeEnum.JOBSPLIT.getDesc());
todoTaskPojo.setProcessTitle(CurrentNodeEnum.JOBSPLIT.getDesc());
todoTaskPojo.setCurrentNode("待分解");
todoTaskPojo.setStatusCode(null/*String.valueOf(ParamValueVersionEnum.DRAFT.getCode())*/);
todoTaskPojo.setModelName(ObjectUtils.isNotEmpty(modelPojo) ? modelPojo.getModelName() : "");
todoTaskPojo.setModelId(modelId);
@ -194,8 +194,8 @@ public class TodoTaskServiceImpl implements TodoTaskService {
TodoTaskPojo todoTaskPojo = new TodoTaskPojo();
todoTaskPojo.setCreatedById(todoReturnRequest.getUserID());
todoTaskPojo.setDocumentNo(UUID.randomUUID().toString());
todoTaskPojo.setProcessTitle("填写人退回");
todoTaskPojo.setCurrentNode(CurrentNodeEnum.JOBSPLIT.getDesc());
todoTaskPojo.setProcessTitle(CurrentNodeEnum.JOBSPLIT.getDesc());
todoTaskPojo.setCurrentNode("待分解");
todoTaskPojo.setStatusCode(null/*String.valueOf(ParamValueVersionEnum.DRAFT.getCode())*/);
todoTaskPojo.setModelName(todoTaskPojo1.getModelName());
todoTaskPojo.setModelId(todoTaskPojo1.getModelId());