审批+待办交互修改版本3.3(退回)

This commit is contained in:
ys.git 2025-12-26 09:50:27 +08:00
parent 80325ef2ea
commit 23f2c45fd9
2 changed files with 20 additions and 2 deletions

View File

@ -10,4 +10,6 @@ public class TodoReturnRequest {
private String steps;
//退回的待办ID
private String todoTaskId;
//退回人
private String modelID;
}

View File

@ -270,6 +270,7 @@ public class TodoTaskServiceImpl implements TodoTaskService {
}
@Override
@Transactional(rollbackFor = Exception.class)
public void todoReturn(TodoReturnRequest todoReturnRequest) {
String todoTaskId = todoReturnRequest.getTodoTaskId();
if (ObjectUtils.isEmpty(todoTaskId)) {
@ -283,6 +284,7 @@ public class TodoTaskServiceImpl implements TodoTaskService {
throw new RuntimeException("传入的单据查不到");
}
TodoTaskPojo todoTaskPojo1 = todoTaskPojos.get(0);
String modelID = todoReturnRequest.getModelID();
//如果是填写人退回 把填写人的待办删除 则为该条责任人添加待办 并且待办创建人改为退回人
if ("填写人退回".equals(todoReturnRequest.getSteps())) {
sw.buildFromDatasource("xdap_app_223770822127386625")
@ -291,22 +293,36 @@ public class TodoTaskServiceImpl implements TodoTaskService {
.eq("id", todoTaskId).doUpdate(TodoTaskPojo.class);
XdapUsers xdapUsersPojo = xdapDeptUsersService.selectUserByID(todoReturnRequest.getUserID());
//组装待办
TodoTaskPojo todoTaskPojo = new TodoTaskPojo();
todoTaskPojo.setCreatedById(todoReturnRequest.getUserID());
todoTaskPojo.setDocumentNo(UUID.randomUUID().toString());
todoTaskPojo.setProcessTitle(CurrentNodeEnum.JOBSPLIT.getDesc());
todoTaskPojo.setProcessTitle("分发责任人(填写人退回)");
todoTaskPojo.setCurrentNode("待分解");
todoTaskPojo.setStatusCode(null/*String.valueOf(ParamValueVersionEnum.DRAFT.getCode())*/);
todoTaskPojo.setModelName(todoTaskPojo1.getModelName());
todoTaskPojo.setModelId(todoTaskPojo1.getModelId());
todoTaskPojo.setCreationDate(Timestamp.valueOf(LocalDateTime.now()));
todoTaskPojo.setDataType(todoTaskPojo1.getDataType());
todoTaskPojo.setDataType(CurrentNodeEnum.JOBSPLIT.getDesc());
todoTaskPojo.setVersionNumber(todoTaskPojo1.getVersionNumber());
todoTaskPojo.setIsDelete(0);
todoTaskPojo.setCurrentProcessor(todoTaskPojo1.getCreatedById());
todoTaskPojo.setOwnerId(todoTaskPojo1.getCreatedById());
todoTaskPojo.setCreatedBy(ObjectUtils.isNotEmpty(xdapUsersPojo) ? xdapUsersPojo.getUsername() : "");
sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(todoTaskPojo);
//把相关参数中的填写人退回
List<EngineParamDetailPojo> pojoList = engineParamDetailService.selectByModelNewVersion(modelID);
List<EngineParamDetailPojo> pojos = pojoList.stream().filter(x -> x.getFilledBy().equals(todoReturnRequest.getUserID()))
.collect(Collectors.toList());
for (EngineParamDetailPojo pojo : pojos) {
sw.buildFromDatasource("xdap_app_223770822127386625")
.update("filled_by", null)
.eq("id",pojo.getId())
.doUpdate(pojo);
}
} else if ("责任人退回".equals(todoReturnRequest.getSteps())) {
//如果是责任人退回 则该条数据还是属于未分发状态
//暂时先不这么做处理责任人退回无法记录退回人容易重复提交分发