package com.ruoyi.web.controller.api; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.dto.AddLeaveDTO; import com.ruoyi.system.dto.AuditDTO; import com.ruoyi.system.model.*; import com.ruoyi.system.service.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.List; /** *
* 审批流程节点审核记录表 前端控制器 *
* * @author WuGuanFengYue * @since 2025-09-15 */ @RestController @RequestMapping("/oa-approval-flow-audit") @Api(tags = "通用审批接口") public class OaApprovalFlowAuditController { @Resource private OaApprovalTodoService approvalTodoService; @Resource private OaApprovalFlowAuditService approvalFlowAuditService; @Resource private OaApprovalApplicationStorageService approvalApplicationStorageService; @Resource private OaApprovalApplicationPurchaseService approvalApplicationPurchaseService; @Resource private OaApprovalApplicationAssetItemService approvalApplicationAssetItemService; @Resource private TokenService tokenService; @Resource private OaApprovalService approvalService; @Resource private OaApprovalApplicationsService approvalApplicationsService; @Resource private OaApprovalApplicationAdvertisementService approvalApplicationAdvertisementService; @Resource private OaApprovalApplicationContactService approvalApplicationContactService; @Resource private OaApprovalApplicationPaymentService approvalApplicationPaymentService; @Resource private OaApprovalApplicationContractService approvalApplicationContractService; @Resource private OaApprovalApplicationMoneyService approvalApplicationMoneyService; @Resource private AssetMainService assetMainService; @Resource private OaApprovalApplicationReimbursementService approvalApplicationReimbursementService; @Resource private OaApprovalApplicationReimbursementItemService approvalApplicationReimbursementItemService; @Resource private OaApprovalFlowNodeService approvalFlowNodeService; @Resource private OaApprovalApplicationAssetService approvalApplicationAssetService; @Resource private ISysUserService sysUserService; @Resource private OaApprovalApplicationDisposeService approvalApplicationDisposeService; @Resource private OaApprovalApplicationChangeService approvalApplicationChangeService; @Resource private OaApprovalApplicationAttendanceService approvalApplicationAttendanceService; @Resource private TDeptService deptService; @Resource private OaApprovalTodoService oaApprovalTodoService; @Resource private OaApprovalFlowService approvalFlowService; @Log(title = "审批-通用审批接口", businessType = BusinessType.INSERT) @ApiOperation(value = "通用审批接口") @PostMapping(value = "/audit") public R addLeave(@RequestBody AuditDTO dto) { OaApprovalApplications approvalApplications = approvalApplicationsService.getById(dto.getApprovalApplicationId()); Integer currentFlowNodeId = approvalApplications.getCurrentFlowNodeId(); Long userId = tokenService.getLoginUser().getUserId(); SysUser sysUser = sysUserService.selectUserById(userId); OaApprovalTodo approvalTodo = approvalTodoService.lambdaQuery().eq(OaApprovalTodo::getUserId, userId) .eq(OaApprovalTodo::getFlowNodeId, currentFlowNodeId) .eq(OaApprovalTodo::getApplicationId, approvalApplications.getId()) .last("limit 1").one(); approvalTodo.setStatus(1); approvalTodo.setHandleTime(LocalDateTime.now()); approvalTodoService.updateById(approvalTodo); OaApproval approval = approvalService.getById(approvalApplications.getApprovalId()); if (dto.getApprovalStatus()==0){ // 中断审批流程 approvalApplications.setApprovalStatus(3); approvalApplicationsService.updateById(approvalApplications); // 删除除当前审批人该申请单的未处理的所有待办 approvalTodoService.remove(new LambdaQueryWrapper