public IActionResult RecallOrder([FromBody] RecallCreateViewModel model)
        {
            var authUser = model.Auth.AuthUser(authService, currentUserService.CurrentUser?.Id);
            var ua       = userActionServices.Log(DAL.Entities.UserInfo.UserOperation.ModifyApply, authUser, $"召回{model.Data.Apply}");

            if (authUser != model.Data.HandleBy)
            {
                return(new JsonResult(model.Auth.PermitDenied()));
            }

            var recall = model.Data.ToVDto <RecallOrderVDto>();
            var result = recallOrderServices.Create(recall);

            userActionServices.Status(ua, true);
            return(new JsonResult(new APIResponseIdViewModel(result.Id, ActionStatusMessage.Success)));
        }
        public IActionResult ExecuteStatus([FromBody] RecallCreateViewModel model, string entityType)
        {
            var authUser = model.Auth.AuthUser(authService, usersService, currentUserService.CurrentUser?.Id);

            if (authUser.Id != model.Data.HandleBy)
            {
                return(new JsonResult(model.Auth.PermitDenied()));
            }
            var m = model.Data.ToVDto <ExecuteStatusVDto>();

            if (entityType == "vacation")
            {
                var apply      = applyService.GetById(m.Apply);
                var targetUser = apply.BaseInfo.From;
                var permit     = userActionServices.Permission(authUser.Application.Permission, DictionaryAllPermission.Apply.Default, Operation.Update, authUser.Id, targetUser.CompanyInfo.CompanyCode, $"确认{targetUser.Id}归队时间");
                if (!permit)
                {
                    return(new JsonResult(model.Auth.PermitDenied()));
                }
                var result = recallOrderServices.Create(apply.RequestInfo, apply.ExecuteStatus, m, false);
                apply.ExecuteStatus         = result.Item1;
                apply.ExecuteStatusDetailId = result.Item2.Id;
                context.Applies.Update(apply);
                context.SaveChanges();
                return(new JsonResult(new APIResponseIdViewModel(result.Item2.Id, ActionStatusMessage.Success)));
            }
            else
            {
                var apply      = applyInDayService.GetById(m.Apply);
                var targetUser = apply.BaseInfo.From;
                var permit     = userActionServices.Permission(authUser.Application.Permission, DictionaryAllPermission.Apply.InDayApply, Operation.Update, authUser.Id, targetUser.CompanyInfo.CompanyCode, $"确认{targetUser.Id}归队时间");
                if (!permit)
                {
                    return(new JsonResult(model.Auth.PermitDenied()));
                }
                var result = recallOrderServices.Create(apply.RequestInfo, apply.ExecuteStatus, m, true);
                apply.ExecuteStatus         = result.Item1;
                apply.ExecuteStatusDetailId = result.Item2.Id;
                context.AppliesInday.Update(apply);
                context.SaveChanges();
                return(new JsonResult(new APIResponseIdViewModel(result.Item2.Id, ActionStatusMessage.Success)));
            }
        }