参数审批流撤回功能开发

This commit is contained in:
ys.git 2025-12-05 15:47:01 +08:00
parent d6af91ab65
commit f0e14fcbb9
3 changed files with 54 additions and 0 deletions

View File

@ -59,6 +59,12 @@ public class ActivitiProcessController {
PageResultDTO msg = engineReviewListService.selectEngineReviewListByUserId(userID,page,size,ycOrOth); PageResultDTO msg = engineReviewListService.selectEngineReviewListByUserId(userID,page,size,ycOrOth);
return Response.ok().data(msg); return Response.ok().data(msg);
}; };
//申请人退回审批
@GetMapping(value = "/returnApproval")
public Response returnApproval(@RequestParam(value = "approvalId") String approvalId) {
String msg = engineReviewListService.returnApproval(approvalId);
return Response.ok().data(msg);
};
// //
// //查询删除所有部署信息谨慎使用 // //查询删除所有部署信息谨慎使用

View File

@ -7,4 +7,7 @@ import com.xdap.self_development.pojo.dto.PageResultDTO;
public interface EngineReviewListService { public interface EngineReviewListService {
//查看机型审批列表 //查看机型审批列表
PageResultDTO<EngineReviewListPojo> selectEngineReviewListByUserId(String userId,Integer page,Integer size,String ycOrOth); PageResultDTO<EngineReviewListPojo> selectEngineReviewListByUserId(String userId,Integer page,Integer size,String ycOrOth);
//撤回审批只有发起人在没有被人审批时可以撤回
String returnApproval(String approvalId);
} }

View File

@ -2,7 +2,11 @@ package com.xdap.self_development.service.impl;
import com.definesys.mpaas.query.MpaasQueryFactory; import com.definesys.mpaas.query.MpaasQueryFactory;
import com.xdap.api.moudle.user.pojo.XdapUsers; import com.xdap.api.moudle.user.pojo.XdapUsers;
import com.xdap.self_development.enums.ParamValueVersionEnum;
import com.xdap.self_development.pojo.ApprovalConfigPojo;
import com.xdap.self_development.pojo.EngineReviewListPojo; import com.xdap.self_development.pojo.EngineReviewListPojo;
import com.xdap.self_development.pojo.ParamApprovalRecordPojo;
import com.xdap.self_development.pojo.TodoTaskPojo;
import com.xdap.self_development.pojo.dto.PageResultDTO; import com.xdap.self_development.pojo.dto.PageResultDTO;
import com.xdap.self_development.service.EngineReviewListService; import com.xdap.self_development.service.EngineReviewListService;
import com.xdap.self_development.service.XdapDeptUsersService; import com.xdap.self_development.service.XdapDeptUsersService;
@ -15,6 +19,7 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -72,4 +77,44 @@ public class EngineReviewListServiceImpl implements EngineReviewListService {
pageResultDTO.setTotalCount(totalCount); pageResultDTO.setTotalCount(totalCount);
return pageResultDTO; return pageResultDTO;
} }
//撤回审批
@Override
public String returnApproval(String approvalId) {
if (StringUtils.isEmpty(approvalId)) {
throw new RuntimeException("未传入审批流ID");
}
//如果这个审批流没有被审批过
boolean b = true;
List<EngineReviewListPojo> engineReviewListPojos = sw.buildFromDatasource("xdap_app_223770822127386625")
.eq("id", approvalId)
.doQuery(EngineReviewListPojo.class);
if (ObjectUtils.isEmpty(engineReviewListPojos)) {
throw new RuntimeException("审批流未找到");
}
String nodeName = engineReviewListPojos.get(0).getNodeName();
// 获取环节
List<ParamApprovalRecordPojo> paramApprovalRecordPojos = sw.buildFromDatasource("xdap_app_223770822127386625")
.eq("approval_id", approvalId)
.doQuery(ParamApprovalRecordPojo.class);
if (paramApprovalRecordPojos.stream().anyMatch(x -> x.getOperator().equals("同意"))) {
b = false;
}
if (b) {
// 更新审批流状态为已撤回
sw.buildFromDatasource("xdap_app_223770822127386625")
.update("status_code", ParamValueVersionEnum.WITHDRAWN.getCode())
.update("status_description", ParamValueVersionEnum.WITHDRAWN.getDesc())
.update("approver_persons", "")
.update("last_update_date", new Date())
.eq("id", approvalId).doUpdate(EngineReviewListPojo.class);
//删除审批人的待办
sw.buildFromDatasource("xdap_app_223770822127386625")
.update("is_delete", 1)
.update("last_update_date", new Date())
.eq("document_no", approvalId).doUpdate(TodoTaskPojo.class);
return "撤回成功";
}
return "已经进入审批无法撤回";
}
} }