fix 移除学历比较(敏感信息)

This commit is contained in:
2025-07-04 11:49:48 +08:00
parent 3c8fe7c0bb
commit fe87266316
3 changed files with 54 additions and 56 deletions

View File

@@ -15,56 +15,56 @@ public class SapPersonComparer : IEqualityComparer<SapPersonItem>
if (ReferenceEquals(y, null)) return false;
return x.PERNR == y.PERNR
&& x.WERKS == y.WERKS
&& x.ORGEH == y.ORGEH
&& x.NAME == y.NAME
&& x.GBDAT == y.GBDAT
&& (x.ZZ_SFZH ?? string.Empty) == (y.ZZ_SFZH ?? string.Empty)
&& x.ZWORKCODE == y.ZWORKCODE
&& (x.ZMOBILE ?? string.Empty) == (y.ZMOBILE ?? string.Empty)
&& (x.ZSTATUS ?? string.Empty) == (y.ZSTATUS ?? string.Empty)
&& (x.KOSTL ?? string.Empty) == (y.KOSTL ?? string.Empty)
&& (x.ZZ_ZD ?? string.Empty) == (y.ZZ_ZD ?? string.Empty)
&& (x.Z_ZJ ?? string.Empty) == (y.Z_ZJ ?? string.Empty)
&& x.ZRZRQ == y.ZRZRQ
&& x.ZLZRQ == y.ZLZRQ
&& (x.STELL ?? string.Empty) == (y.STELL ?? string.Empty)
&& (x.STELL_NM ?? string.Empty) == (y.STELL_NM ?? string.Empty)
&& (x.MASSN ?? string.Empty) == (y.MASSN ?? string.Empty)
&& (x.MNTXT ?? string.Empty) == (y.MNTXT ?? string.Empty)
&& (x.ZXUELI ?? string.Empty).Trim() == (y.ZXUELI ?? string.Empty).Trim()
//&& (x.ZZ_KLX ?? string.Empty) == (y.ZZ_KLX ?? string.Empty)
&& (x.ZZ_GZDJD ?? string.Empty) == (y.ZZ_GZDJD ?? string.Empty)
&& (x.ZZ_GZDCQ ?? string.Empty) == (y.ZZ_GZDCQ ?? string.Empty)
&& x.WERKS == y.WERKS
&& x.ORGEH == y.ORGEH
&& x.NAME == y.NAME
&& x.GBDAT == y.GBDAT
&& (x.ZZ_SFZH ?? string.Empty) == (y.ZZ_SFZH ?? string.Empty)
&& x.ZWORKCODE == y.ZWORKCODE
&& (x.ZMOBILE ?? string.Empty) == (y.ZMOBILE ?? string.Empty)
&& (x.ZSTATUS ?? string.Empty) == (y.ZSTATUS ?? string.Empty)
&& (x.KOSTL ?? string.Empty) == (y.KOSTL ?? string.Empty)
&& (x.ZZ_ZD ?? string.Empty) == (y.ZZ_ZD ?? string.Empty)
&& (x.Z_ZJ ?? string.Empty) == (y.Z_ZJ ?? string.Empty)
&& x.ZRZRQ == y.ZRZRQ
&& x.ZLZRQ == y.ZLZRQ
&& (x.STELL ?? string.Empty) == (y.STELL ?? string.Empty)
&& (x.STELL_NM ?? string.Empty) == (y.STELL_NM ?? string.Empty)
&& (x.MASSN ?? string.Empty) == (y.MASSN ?? string.Empty)
&& (x.MNTXT ?? string.Empty) == (y.MNTXT ?? string.Empty)
//&& (x.ZXUELI ?? string.Empty).Trim() == (y.ZXUELI ?? string.Empty).Trim()
//&& (x.ZZ_KLX ?? string.Empty) == (y.ZZ_KLX ?? string.Empty)
&& (x.ZZ_GZDJD ?? string.Empty) == (y.ZZ_GZDJD ?? string.Empty)
&& (x.ZZ_GZDCQ ?? string.Empty) == (y.ZZ_GZDCQ ?? string.Empty)
;
}
public int GetHashCode(SapPersonItem obj)
{
var r = obj.PERNR.SafeGetHashCode()
^ obj.WERKS.SafeGetHashCode()
^ obj.ORGEH.SafeGetHashCode()
^ obj.NAME.SafeGetHashCode()
^ obj.GBDAT.SafeGetHashCode()
^ obj.ZZ_SFZH.SafeGetHashCode()
^ obj.ZWORKCODE.SafeGetHashCode()
^ obj.ZMOBILE.SafeGetHashCode()
^ obj.ZSTATUS.SafeGetHashCode()
^ obj.KOSTL.SafeGetHashCode()
^ obj.ZZ_ZD.SafeGetHashCode()
^ obj.Z_ZJ.SafeGetHashCode()
^ obj.ZRZRQ.SafeGetHashCode()
^ obj.ZLZRQ.SafeGetHashCode()
^ obj.STELL.SafeGetHashCode()
^ obj.STELL_NM.SafeGetHashCode()
^ obj.MASSN.SafeGetHashCode()
^ obj.MNTXT.SafeGetHashCode()
^ obj.ZXUELI.SafeGetHashCode()
//^ obj.ZZ_KLX.SafeGetHashCode()
^ obj.ZZ_GZDJD.SafeGetHashCode()
^ obj.ZZ_GZDCQ.SafeGetHashCode()
^ obj.WERKS.SafeGetHashCode()
^ obj.ORGEH.SafeGetHashCode()
^ obj.NAME.SafeGetHashCode()
^ obj.GBDAT.SafeGetHashCode()
^ obj.ZZ_SFZH.SafeGetHashCode()
^ obj.ZWORKCODE.SafeGetHashCode()
^ obj.ZMOBILE.SafeGetHashCode()
^ obj.ZSTATUS.SafeGetHashCode()
^ obj.KOSTL.SafeGetHashCode()
^ obj.ZZ_ZD.SafeGetHashCode()
^ obj.Z_ZJ.SafeGetHashCode()
^ obj.ZRZRQ.SafeGetHashCode()
^ obj.ZLZRQ.SafeGetHashCode()
^ obj.STELL.SafeGetHashCode()
^ obj.STELL_NM.SafeGetHashCode()
^ obj.MASSN.SafeGetHashCode()
^ obj.MNTXT.SafeGetHashCode()
//^ obj.ZXUELI.SafeGetHashCode()
//^ obj.ZZ_KLX.SafeGetHashCode()
^ obj.ZZ_GZDJD.SafeGetHashCode()
^ obj.ZZ_GZDCQ.SafeGetHashCode()
;
return r;
}
}
}

View File

@@ -207,6 +207,7 @@ public class GainfoService : IGainfoService
if (gainfo == null)
{
//开启同步处理
//todo 逻辑错误,但是不影响使用
await _jinkoSapService.GetPersonsByCodeAsync(code);
gainfo = await _gainfoStore.Queryable().Where(x => x.Code == code).SingleAsync();
if (gainfo == null) return null;
@@ -273,7 +274,7 @@ public class GainfoService : IGainfoService
.Where(x => (x.IsEnterDoorArea && x.DoorStatus != VisitorAppointmentDetailStatusEnumType.Leave)
|| (x.IsEnterWorkplace && x.WorkplaceStatus != VisitorAppointmentDetailStatusEnumType.Leave))
.ToListAsync();
// 对每条未离开的访客预约明细,调用预约服务进行强制离开处理
foreach (var visitorAppointment in visitorAppointmentDetails)
{
@@ -287,7 +288,7 @@ public class GainfoService : IGainfoService
await _dbContext.Deleteable<GainfoGroupRelationshipEntity>().Where(x => x.UserNo == gainfo.No).ExecuteCommandAsync();
await _dbContext.Deleteable<DevicePermissionEntity>().Where(x => x.AssignType == AssignTypeEnumType.User && x.AssignValue == gainfo.No).ExecuteCommandAsync();
}
//先写入离职表
gainfo.IdentityUserId = (int)gainfo.Id; //记录原始id
gainfo.ResignationDate = request.Date;

View File

@@ -481,18 +481,19 @@ public class GainfoUpdateService : IGainfoUpdateService
{
return data.Select(person =>
{
var rzrq = person.ZRZRQ;
var lzrq = person.ZLZRQ;
var rmk = $"入职时间:{rzrq.ToString("yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture)} ";
var entryDate = person.ZRZRQ;
var resignDate = person.ZLZRQ;
if (lzrq != null && lzrq.Value.ToString("yyyy-MM-dd") != "1900-01-01")
rmk += $"离职时间:{lzrq.Value.ToString("yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture)} ";
var rmk = $"入职时间:{entryDate.ToString("yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture)} ";
if (resignDate != null && resignDate.Value.ToString("yyyy-MM-dd") != "1900-01-01")
rmk += $"离职时间:{resignDate.Value.ToString("yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture)} ";
if (!string.IsNullOrWhiteSpace(person.MGTXT))
rmk += $"变更原因:{person.MGTXT}";
var native = GetNative(person.ZZ_SFZH);
var sex = person.GESCH == "2" ? "F" : "M";
var gender = person.GESCH == "2" ? "F" : "M";
person.ZZ_SFZH = person.ZZ_SFZH.TrimStart();
GainfoSapEntity o = new()
@@ -518,14 +519,10 @@ public class GainfoUpdateService : IGainfoUpdateService
MNTXT = person.MNTXT,
remark = rmk,
native = native,
sex = sex,
sex = gender,
logdate = DateTime.Now,
isowner = int.Parse(person.ZSTATUS) < 5 ? "T" : "F",
@class = "C",
country = person.ZZ_COUNNM,
log_ip = "127.0.0.1",
log_shift = "1",
log_id = "XX",
address = "",
occupation = "99",
nation = "01",