fix 通行记录数据处理isError

This commit is contained in:
2025-03-05 15:47:13 +08:00
parent 639432234f
commit 2c8007d40d
6 changed files with 66 additions and 16 deletions

View File

@@ -142,14 +142,19 @@ public class WorkGridScheduleService : IWorkGridScheduleService
};
}
var t = request.IsError.ToString();
var filterString = $"IsError\":{t}";
return await _dbContext.Queryable<DeviceUploadLogEntity>()
.LeftJoin<DeviceEntity>((log, d) => log.DeviceUniqueNo == d.UniqueNo)
.LeftJoin<GainfoEntity>((log, d, ga) => log.UserUniqueNo == ga.Code)
.WhereIF(request.DateTimePeriod.HasValue(), log => log.RaiseDateTime >= request.DateTimePeriod.Start
&& log.RaiseDateTime <= request.DateTimePeriod.End)
.WhereIF(request.UserCode.IsPresent(), log => log.UserUniqueNo == request.UserCode)
.WhereIF(request.UserCode.IsEmpty(), log => SqlFunc.Subqueryable<WorkGridUserEntity>().Where(p => p.WorkGridCode == workGrid.Code && p.UserCode == log.UserUniqueNo).Any())
.Where(log => log.WorkGridInfo.StartsWith(filterString))
.OrderBy(log => log.RaiseDateTime)
.Select((log, d) => new WorkGridScheduleAttendancePageResponse
.Select((log, d, ga) => new WorkGridScheduleAttendancePageResponse
{
Id = log.Id,
OriginUserUniqueNo = log.UserUniqueNo,
@@ -158,8 +163,12 @@ public class WorkGridScheduleService : IWorkGridScheduleService
CreateTime = log.CreateTime,
SerialNo = log.SerialNo,
DeployPlace = d.DeployPlace,
UserCode = log.UserUniqueNo,
UserName = ga.Name,
Sync = log.Sync,
Status = log.Status
NeedUpload = log.NeedUpload,
Status = log.Status,
WorkGridInfo = log.WorkGridInfo,
})
.ToPageListAsync(request);
}
@@ -167,10 +176,12 @@ public class WorkGridScheduleService : IWorkGridScheduleService
/// <inheritdoc />
public async Task ManuallyUploadAsync(List<long> logIds)
{
const string filterString = $"IsError\":true";
var requests = await _dbContext.Queryable<DeviceUploadLogEntity>()
.LeftJoin<DeviceEntity>((x, device) => x.DeviceUniqueNo == device.UniqueNo)
.Where(x => logIds.Contains(x.Id))
.Where(x => x.NeedUpload && x.Sync == false)
.Where(x => logIds.Contains(x.Id) && x.Sync == false)
.Where(x => x.WorkGridInfo.StartsWith(filterString))
.Select((x, device) => new UploadAttendanceRequestItem
{
Id = x.Id,