From 177b0862f2c268725af5234ca10244c5088b2fc7 Mon Sep 17 00:00:00 2001 From: liguoyang Date: Wed, 21 Feb 2024 18:29:57 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E8=A1=A5=E5=85=85=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E5=92=8C=E5=8E=BB=E9=87=8D=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SyncSapInfo/Job/SyncPersonJob.cs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Src/Dlhis.ScheduledTask/SyncSapInfo/Job/SyncPersonJob.cs b/Src/Dlhis.ScheduledTask/SyncSapInfo/Job/SyncPersonJob.cs index 71969e5d..41c8f388 100644 --- a/Src/Dlhis.ScheduledTask/SyncSapInfo/Job/SyncPersonJob.cs +++ b/Src/Dlhis.ScheduledTask/SyncSapInfo/Job/SyncPersonJob.cs @@ -48,13 +48,16 @@ public class SyncPersonJob foreach (var searchCodes in workCodes.Chunk(4000)) { - var existsWorkCodes = await _dbContext.Queryable() - .Where(x => searchCodes.Contains(x.Code)) - .Select(x => x.Code) + var existsWorkCodes = await _dbContext.Queryable() + .Where(x => searchCodes.Contains(x.ename)) + .Select(x => x.ename) .ToListAsync(); var originUpdates = persons.Where(x => existsWorkCodes.Contains(x.ZWORKCODE)).ToList(); - var originInserts = persons.Where(x => searchCodes.Contains(x.ZWORKCODE)).Except(originUpdates, new SapPersonComparer()).ToList(); + _logger.LogInformation("SAP分批更新数:{count}", originUpdates.Count); + var existsUpdateWorkCodes = originUpdates.Select(x => x.ZWORKCODE).ToList(); + var originInserts = persons.Where(x => searchCodes.Contains(x.ZWORKCODE)).Where(x => !existsUpdateWorkCodes.Contains(x.ZWORKCODE)).ToList(); + _logger.LogInformation("SAP分批新增数:{count}", originInserts.Count); int i = 0; var currentTotal = originUpdates.Count + originInserts.Count;