This commit is contained in:
2025-08-12 19:02:49 +08:00
parent 505787c95c
commit 739f5ae2c0

View File

@@ -1,4 +1,6 @@
using Dlhis.Entity.Canteen.Entities;
using Dlhis.Entity.Basic.Entity;
using Dlhis.Entity.Basic.Enums;
using Dlhis.Entity.Canteen.Entities;
using Dlhis.Entity.Canteen.Enums;
using Dlhis.ScheduledTask.TaskAssignment.Request;
using Dlhis.ScheduledTask.TaskAssignment.Response;
@@ -71,15 +73,14 @@ public class AssignmentsController : ControllerBase
[IgnoreTenant]
public async Task Calc()
{
var userCodes = await _dbContext.Queryable<UserBalanceEntity>()
.Where(x => SqlFunc.Subqueryable<UserBalanceTmpEntity>().Where(p => p.UserCode == x.UserCode).NotAny())
.Select(x => x.UserCode)
var s = new DateTime(2025, 7, 1);
var e = new DateTime(2025, 8, 1);
var userCodes = await _dbContext.Queryable<GainfoLeaveEntity>().Where(x => x.ResignationDate.HasValue && x.ResignationDate >= s && x.ResignationDate <= e)
.Where(x => x.Type != GainfoUserTypeEnumType.External && x.Type != GainfoUserTypeEnumType.Outsource)
.Select(x => x.Code)
.Distinct()
.Take(5000)
.ToListAsync();
var d = new DateTime(2025, 6, 30);
foreach (var userCode in userCodes)
{
if (!await _dbContext.Queryable<UserBalanceTmpEntity>().Where(x => x.UserCode == userCode).AnyAsync())
@@ -96,7 +97,8 @@ public class AssignmentsController : ControllerBase
.Where(x => x.UserCode == userCode)
.Where(x => x.Status == BalanceRecordStatusEnumType.Valid)
.Where(x => !BalanceRecordSourceConstants.IgnoreSources.Contains(x.Source))
.Where(x => x.CostDate <= d)
.Where(x => x.CostDate >= s && x.CostDate <= e)
.Where(x => x.Type == BalanceRecordTypeEnumType.Out)
.SumAsync(x => x.Amount);
await _dbContext.Updateable<UserBalanceTmpEntity>()