/// <summary> /// 请假审批 /// </summary> public void Approval(LeaveApprovalDto input) { var leave = Get <LeaveOrder>(input.OrderId); if (null == leave) { throw new Exception("未找到请假申请信息!"); } var leaveApprove = Query <LeaveApprove>(p => p.OrderId.Equals(leave.Id) && p.ApproverId.Equals(input.CurrentUserId)).FirstOrDefaultAsync().Result; if (null == leaveApprove) { throw new Exception("您不可以审批,请假单异常!"); } if (leaveApprove.Result != 0) { throw new Exception("您已经审批过,不需要重复审批!"); } leaveApprove.Result = input.IsAgreed ? 1 : -1; leaveApprove.Opinion = input.Opinion; SetOrderStatus(leave); if (!input.IsAgreed) { ResetLimit(leave.LeaveerId, leave.LeaveDays); } SaveChanges(); }
public async Task <IActionResult> LeaveApproval(LeaveApprovalDto leaveApprovalDto) { try { var leave = await context.LeaveRequests.FirstOrDefaultAsync(x => x.Id == leaveApprovalDto.LeaveRequestId); if (leave == null) { return(BadRequest()); } leave.LeaveStatusId = leaveApprovalDto.LeaveStatusId; context.LeaveRequests.Update(leave); await context.SaveChangesAsync(); return(Ok()); } catch (Exception) { return(StatusCode(500)); } }