修改任务分配方法

Insight
zhangbin 2024-11-20 14:12:45 +08:00
parent 2830f4acd7
commit f4dd699ce4
1 changed files with 16 additions and 11 deletions

View File

@ -69,19 +69,21 @@ namespace OpenAuth.App.ServiceApp
// 如果是最后一组并且剩余的少于1000将剩余的任务加到上一组 // 如果是最后一组并且剩余的少于1000将剩余的任务加到上一组
if (i == groupNum && lastGroupRemaining < 1000) if (i == groupNum && lastGroupRemaining < 1000)
{ {
everyNum = lastGroupRemaining; //everyNum = lastGroupRemaining;
if (i > 1) //if (i > 1)
{ //{
// 更新上一组的 EndNum // // 更新上一组的 EndNum
// var lastGroup = insTaskGroup.Last();
// lastGroup.EndNum += everyNum - i + 2;
//}
var lastGroup = insTaskGroup.Last(); var lastGroup = insTaskGroup.Last();
lastGroup.EndNum += everyNum - i + 2; lastGroup.EndNum = (int)aishp.ShpCount;
}
break; // 最后一组处理完毕,退出循环 break; // 最后一组处理完毕,退出循环
} }
// 计算每组的起始和结束数字 // 计算每组的起始和结束数字
int beginNum = i == 1 ? 1 : (i - 1) * 1000 + i - 1; int beginNum = i == 1 ? 1 : (i - 1) * 1000 + 1;
int endNum = beginNum == 1 ? 1000 : beginNum + everyNum; int endNum = beginNum == 1 ? 1000 : beginNum + 999;
insTaskGroup.Add(new InsTaskgroup insTaskGroup.Add(new InsTaskgroup
{ {
@ -173,8 +175,11 @@ namespace OpenAuth.App.ServiceApp
{ {
Id = a.Id.SelectAll(), Id = a.Id.SelectAll(),
ShpCount = b.ShpCount, ShpCount = b.ShpCount,
ReceiveShpCount = SqlFunc.Subqueryable<InsTaskgroup>().Where(r => r.TaskId == a.Id && !string.IsNullOrEmpty(r.ReciveUserId)).Sum(r => (r.EndNum - r.BeginNum + 1)), ReceiveShpCount = SqlFunc.Subqueryable<InsTaskgroup>().Where(r => r.TaskId == a.Id && !string.IsNullOrEmpty(r.ReciveUserId)).Sum(r =>
NoReceiveShpCount = SqlFunc.Subqueryable<InsTaskgroup>().Where(r => r.TaskId == a.Id && string.IsNullOrEmpty(r.ReciveUserId)).Sum(r => (r.EndNum - r.BeginNum + 1)), (r.EndNum - r.BeginNum + 1)
),
NoReceiveShpCount = SqlFunc.Subqueryable<InsTaskgroup>().Where(r => r.TaskId == a.Id && string.IsNullOrEmpty(r.ReciveUserId)).Sum(r =>
(r.EndNum - r.BeginNum + 1)),
}).ToPageListAsync(page, limit, totalCount); }).ToPageListAsync(page, limit, totalCount);
return new Response<PageInfo<List<InsTaskForAdminResp>>> return new Response<PageInfo<List<InsTaskForAdminResp>>>