diff --git a/Src/Dlhis.Basic/Organization/Controllers/GainfoMealController.cs b/Src/Dlhis.Basic/Organization/Controllers/GainfoMealController.cs
index b93a4490..ba1aa625 100644
--- a/Src/Dlhis.Basic/Organization/Controllers/GainfoMealController.cs
+++ b/Src/Dlhis.Basic/Organization/Controllers/GainfoMealController.cs
@@ -37,7 +37,7 @@ public class GainfoMealController : ControllerBase
///
/// 迁移
///
- [Authorize(Roles = "admin")]
+ ///
[Transactional]
[Authorize(Roles = "admin,tenant-admin")]
[HttpPost("migration")]
diff --git a/Src/Dlhis.Basic/Organization/Services/Implements/MealUserService.cs b/Src/Dlhis.Basic/Organization/Services/Implements/MealUserService.cs
index e9789d4c..6efd6968 100644
--- a/Src/Dlhis.Basic/Organization/Services/Implements/MealUserService.cs
+++ b/Src/Dlhis.Basic/Organization/Services/Implements/MealUserService.cs
@@ -54,6 +54,7 @@ public class MealUserService : IMealUserService
///
public async Task MigrationAsync(GainfoBalanceMigrationRequest request)
{
+ //只能针对离职人员
var gainfoLeave = await _dbContext.Queryable().Where(x => x.Code == request.BeforeCode).SingleAsync();
gainfoLeave.ThrowIfNull("需要对已离职人员迁移");
@@ -63,9 +64,6 @@ public class MealUserService : IMealUserService
return;
}
- var gainfo = await _dbContext.Queryable().Where(x => x.Code == request.NowCode).SingleAsync();
- gainfo.ThrowIfNull("目标人员不存在");
-
//清空余额
await _dbContext.Updateable()
.SetColumns(x => x.Balance == 0)
@@ -73,6 +71,10 @@ public class MealUserService : IMealUserService
.SetColumns(x => x.Version == x.Version + 1)
.Where(x => x.UserCode == request.BeforeCode) //不需要判断version
.ExecuteCommandAsync();
+
+ //转移到现有人员
+ var gainfo = await _dbContext.Queryable().Where(x => x.Code == request.NowCode).SingleAsync();
+ gainfo.ThrowIfNull("目标人员不存在");
var now = DateTime.Now;