fix 优化数据比较

This commit is contained in:
2024-04-03 16:43:28 +08:00
parent 2776ac5218
commit c46ee953d1
3 changed files with 22 additions and 20 deletions

View File

@@ -1,5 +1,4 @@
using Dlhis.ScheduledTask.Common;
using Dlhis.ScheduledTask.Common.Dto;
using Dlhis.ScheduledTask.Common.Dto;
using System.Text;
namespace Dlhis.ScheduledTask.Common.Comparers;
@@ -17,9 +16,9 @@ public class SapPersonComparer : IEqualityComparer<SapPersonItem>
return x.PERNR == y.PERNR
&& x.WERKS == y.WERKS
&& SubString(x.ORGEH, 10) == SubString(y.ORGEH, 10)
&& x.ORGEH == y.ORGEH
&& SubString(x.NAME, 50) == SubString(y.NAME, 50)
&& SafeParseDate(x.GBDAT) == SafeParseDate(y.GBDAT)
&& x.GBDAT == y.GBDAT
&& SubString(x.ZZ_SFZH, 18) == SubString(y.ZZ_SFZH, 18)
&& SubString(x.ZWORKCODE, 50) == SubString(y.ZWORKCODE, 50)
&& SubString(x.ZMOBILE, 20) == SubString(y.ZMOBILE, 20)
@@ -28,7 +27,7 @@ public class SapPersonComparer : IEqualityComparer<SapPersonItem>
&& x.ZZ_ZD == y.ZZ_ZD
&& x.Z_ZJ == y.Z_ZJ
&& x.ZRZRQ == y.ZRZRQ
&& SafeParseDate(x.ZLZRQ) == SafeParseDate(y.ZLZRQ)
&& x.ZLZRQ == y.ZLZRQ
&& x.STELL == y.STELL
&& x.STELL_NM == y.STELL_NM
&& x.MASSN == y.MASSN
@@ -56,7 +55,7 @@ public class SapPersonComparer : IEqualityComparer<SapPersonItem>
^ obj.ZZ_ZD.SafeGetHashCode()
^ obj.Z_ZJ.SafeGetHashCode()
^ obj.ZRZRQ.SafeGetHashCode()
^ SafeParseDate(obj.ZLZRQ).SafeGetHashCode()
^ obj.ZLZRQ.SafeGetHashCode()
^ obj.STELL.SafeGetHashCode()
^ obj.STELL_NM.SafeGetHashCode()
^ obj.MASSN.SafeGetHashCode()

View File

@@ -4,7 +4,10 @@ public class SapPersonItem
{
public string KOSTL { get; set; }
public string ZLZRQ { get; set; }
/// <summary>
/// 离职日期
/// </summary>
public DateTime? ZLZRQ { get; set; }
public string ZZ_SFZH { get; set; }

View File

@@ -113,18 +113,18 @@ public class GainfoUpdateService : IGainfoUpdateService
_logger.LogInformation("SAP人员差异数量为:{count}", modifiedPersons.Count);
if (modifiedPersons.Count > 0)
{
var tenantResult = await _tenantApi.GetTenantsInternalAsync();
_tenants = tenantResult.Data;
//var tenantResult = await _tenantApi.GetTenantsInternalAsync();
//_tenants = tenantResult.Data;
var codes = modifiedPersons.Select(x => x.ZWORKCODE).ToList();
var userNos = await _dbContext.Queryable<GainfoEntity>().Where(x => codes.Contains(x.Code)).Select(x => x.No).ToListAsync();
var dtoResult = await _devicePermissionApi.GetPermissionUsersInfoAsync(userNos);
var dto = dtoResult.Data;
//var codes = modifiedPersons.Select(x => x.ZWORKCODE).ToList();
//var userNos = await _dbContext.Queryable<GainfoEntity>().Where(x => codes.Contains(x.Code)).Select(x => x.No).ToListAsync();
//var dtoResult = await _devicePermissionApi.GetPermissionUsersInfoAsync(userNos);
//var dto = dtoResult.Data;
await SavePersonAsync(modifiedPersons);
var rResult = await _devicePermissionApi.RePermissionUsersInfoAsync(dto);
var r = rResult.Data;
//var rResult = await _devicePermissionApi.RePermissionUsersInfoAsync(dto);
//var r = rResult.Data;
}
}
@@ -350,13 +350,13 @@ public class GainfoUpdateService : IGainfoUpdateService
NAME = x.gname,
ZWORKCODE = x.ename,
ZZ_SFZH = x.idno,
GBDAT = x.birthday?.ToString("yyyy-MM-dd"),
GBDAT = x.birthday.Value.ToString("yyyy-MM-dd"),
ZZ_KLX = x.ZZ_KLX,
ZXUELI = x.email?.Trim() ?? string.Empty,
ORGEH = x.appellation,
ZMOBILE = x.phone,
ZSTATUS = x.ZSTATUS,
ZRZRQ = x.createdate?.ToString("yyyy-MM-dd"),
ZRZRQ = x.createdate.Value.ToString("yyyy-MM-dd"),
PERNR = x.PERNR,
WERKS = x.WERKS,
KOSTL = x.KOSTL,
@@ -364,7 +364,7 @@ public class GainfoUpdateService : IGainfoUpdateService
Z_ZJ = x.Z_ZJ,
STELL = x.STELL,
STELL_NM = x.STELL_NM,
ZLZRQ = x.ZLZRQ?.ToString("yyyy-MM-dd"),
ZLZRQ = x.ZLZRQ,
MASSN = x.MASSN,
MNTXT = x.MNTXT,
ZZ_COUNNM = x.ZZ_COUNNM,
@@ -385,7 +385,7 @@ public class GainfoUpdateService : IGainfoUpdateService
//var position = _positions.FirstOrDefault(x => x.No == person.PLANS);
var rzrq = SafeParseDate(person.ZRZRQ);
var lzrq = SafeParseDate(person.ZLZRQ);
var lzrq = person.ZLZRQ;
var rmk = "";
if (rzrq != null)
rmk = $"入职时间:{rzrq.Value.ToString("yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture)} ";
@@ -419,7 +419,7 @@ public class GainfoUpdateService : IGainfoUpdateService
Z_ZJ = person.Z_ZJ,
STELL = person.STELL,
STELL_NM = person.STELL_NM,
ZLZRQ = SafeParseDate(person.ZLZRQ).Value,
ZLZRQ = person.ZLZRQ,
MASSN = person.MASSN,
MNTXT = person.MNTXT,
remark = rmk,