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

View File

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

View File

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