DataMaintenance
洁 任 2025-12-30 15:08:24 +08:00
parent 89686f639a
commit edf602bf38
1 changed files with 51 additions and 42 deletions

View File

@ -41,56 +41,65 @@ namespace OpenAuth.App.ServiceApp.FireManagement
{
var usertime = await db.FmUserTimeSlot.AsQueryable().Where(a => a.CreateId == id).ToListAsync();
var user = await db.User.GetFirstAsync(r => r.Id == id);
TimeSpan timeSpan = endTime.AddDays(1).Subtract(beginTime);
int days = (int)timeSpan.TotalDays;
List<UserPatrolInfoResp> upinfo = new List<UserPatrolInfoResp>();
var userpoint = await db.FmUserPointHistory.AsQueryable().Where(a => a.CreateTime >= beginTime && a.CreateTime <= endTime && a.CreateId == id)
.SplitTable(beginTime, endTime).ToListAsync();
var list = db.SysFrontendSettingConfig.AsQueryable().Where(r => r.Code == "TimeSlot").ToList();
for (int i = 0; i < days; i++)
{
if (usertime.Count > 0)
{
foreach (var item in usertime)
{
var begslot = item.TimeSlot.Split('-');
UserPatrolInfoResp resin = new UserPatrolInfoResp
{
CreateId = id,
Name = user.Name,
StartTime = beginTime.ToString("yyyy-MM-dd ") + begslot[0],
EndTime = beginTime.ToString("yyyy-MM-dd ") + begslot[1],
};
if (userpoint.Where(a => a.CreateTime >= DateTime.Parse(resin.StartTime) && a.CreateTime <= DateTime.Parse(resin.EndTime)).Count() > 0)
{
upinfo.Add(resin);
}
}
beginTime = beginTime.AddDays(1);
}
else
if (user != null)
{
TimeSpan timeSpan = endTime.AddDays(1).Subtract(beginTime);
int days = (int)timeSpan.TotalDays;
List<UserPatrolInfoResp> upinfo = new List<UserPatrolInfoResp>();
var userpoint = await db.FmUserPointHistory.AsQueryable().Where(a => a.CreateTime >= beginTime && a.CreateTime <= endTime && a.CreateId == id)
.SplitTable(beginTime, endTime).ToListAsync();
var list = db.SysFrontendSettingConfig.AsQueryable().Where(r => r.Code == "TimeSlot").ToList();
for (int i = 0; i < days; i++)
{
foreach (var item in list)
if (usertime.Count > 0)
{
var begslot = item.CodeValue.Split('-');
UserPatrolInfoResp resin = new UserPatrolInfoResp
foreach (var item in usertime)
{
CreateId = id,
Name = user.Name,
StartTime = beginTime.ToString("yyyy-MM-dd ") + begslot[0],
EndTime = beginTime.ToString("yyyy-MM-dd ") + begslot[1],
};
if (userpoint.Where(a => a.CreateTime >= DateTime.Parse(resin.StartTime) && a.CreateTime <= DateTime.Parse(resin.EndTime)).Count() > 0)
{
upinfo.Add(resin);
var begslot = item.TimeSlot.Split('-');
UserPatrolInfoResp resin = new UserPatrolInfoResp
{
CreateId = id,
Name = user.Name,
StartTime = beginTime.ToString("yyyy-MM-dd ") + begslot[0],
EndTime = beginTime.ToString("yyyy-MM-dd ") + begslot[1],
};
if (userpoint.Where(a => a.CreateTime >= DateTime.Parse(resin.StartTime) && a.CreateTime <= DateTime.Parse(resin.EndTime)).Count() > 0)
{
upinfo.Add(resin);
}
}
beginTime = beginTime.AddDays(1);
}
else
{
foreach (var item in list)
{
var begslot = item.CodeValue.Split('-');
UserPatrolInfoResp resin = new UserPatrolInfoResp
{
CreateId = id,
Name = user.Name,
StartTime = beginTime.ToString("yyyy-MM-dd ") + begslot[0],
EndTime = beginTime.ToString("yyyy-MM-dd ") + begslot[1],
};
if (userpoint.Where(a => a.CreateTime >= DateTime.Parse(resin.StartTime) && a.CreateTime <= DateTime.Parse(resin.EndTime)).Count() > 0)
{
upinfo.Add(resin);
}
}
beginTime = beginTime.AddDays(1);
}
beginTime = beginTime.AddDays(1);
}
upinfo = upinfo.OrderByDescending(r => r.StartTime).ToList();
return new Response<List<UserPatrolInfoResp>> { Result = upinfo, Message = "操作成功" };
}
upinfo = upinfo.OrderByDescending(r => r.StartTime).ToList();
return new Response<List<UserPatrolInfoResp>> { Result = upinfo, Message = "操作成功" };
else
{
throw new Exception("用户不存在");
}
}
}