mitao
1 天以前 03587b58b343956f910a653c37b9a7bcd84e4af9
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/OaApprovalApplicationsController.java
@@ -6,21 +6,54 @@
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.entity.TDept;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.dto.*;
import com.ruoyi.system.emums.ApprovalFlowNodeEnum;
import com.ruoyi.system.dto.AddAdvertisementDTO;
import com.ruoyi.system.dto.AddBusinessTripDTO;
import com.ruoyi.system.dto.AddContactDTO;
import com.ruoyi.system.dto.AddContractDTO;
import com.ruoyi.system.dto.AddLeaveDTO;
import com.ruoyi.system.dto.AddLeaveDestroyDTO;
import com.ruoyi.system.dto.AddMoneyDTO;
import com.ruoyi.system.dto.AddOutDTO;
import com.ruoyi.system.dto.AddPaymentDTO;
import com.ruoyi.system.dto.AddReimbursementDTO;
import com.ruoyi.system.emums.ApprovalStatusEnum;
import com.ruoyi.system.emums.ApprovalTypeEnum;
import com.ruoyi.system.model.*;
import com.ruoyi.system.service.*;
import com.ruoyi.system.model.OaApprovalApplicationAdvertisement;
import com.ruoyi.system.model.OaApprovalApplicationAttendance;
import com.ruoyi.system.model.OaApprovalApplicationContact;
import com.ruoyi.system.model.OaApprovalApplicationContract;
import com.ruoyi.system.model.OaApprovalApplicationMoney;
import com.ruoyi.system.model.OaApprovalApplicationPayment;
import com.ruoyi.system.model.OaApprovalApplicationReimbursement;
import com.ruoyi.system.model.OaApprovalApplicationReimbursementItem;
import com.ruoyi.system.model.OaApprovalApplications;
import com.ruoyi.system.model.OaApprovalFlowNode;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.system.service.OaApprovalApplicationAdvertisementService;
import com.ruoyi.system.service.OaApprovalApplicationAttendanceService;
import com.ruoyi.system.service.OaApprovalApplicationContactService;
import com.ruoyi.system.service.OaApprovalApplicationContractService;
import com.ruoyi.system.service.OaApprovalApplicationMoneyService;
import com.ruoyi.system.service.OaApprovalApplicationPaymentService;
import com.ruoyi.system.service.OaApprovalApplicationReimbursementItemService;
import com.ruoyi.system.service.OaApprovalApplicationReimbursementService;
import com.ruoyi.system.service.OaApprovalApplicationsService;
import com.ruoyi.system.service.OaApprovalFlowNodeService;
import com.ruoyi.system.service.OaApprovalService;
import com.ruoyi.system.service.OaApprovalTodoService;
import com.ruoyi.system.service.TDeptService;
import com.ruoyi.system.utils.UUIDUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import oshi.driver.mac.net.NetStat;
import javax.annotation.Resource;
import java.math.BigDecimal;
@@ -561,5 +594,23 @@
                Integer.valueOf(sysUser.getDeptId()));
        return R.ok();
    }
    @Log(title = "审批-撤回通用审批单", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "撤回审批单(通用接口)")
    @PutMapping(value = "/withdraw/{id}")
    public R<?> withdraw(@PathVariable Integer id) {
        OaApprovalApplications current = approvalApplicationsService.getById(id);
        if (current == null) {
            throw new ServiceException("审批单不存在");
        }
        if (!ApprovalStatusEnum.PENDING.getCode().equals(current.getApprovalStatus())) {
            throw new ServiceException("仅待审批状态可撤回");
        }
        OaApprovalApplications update = new OaApprovalApplications();
        update.setId(id);
        update.setApprovalStatus(ApprovalStatusEnum.CANCELED.getCode());
        approvalApplicationsService.updateById(update);
        return R.ok();
    }
}