71 lines
2.8 KiB
C#
71 lines
2.8 KiB
C#
using Dlhis.Basic.Organization.Services.Implements;
|
|
using Dlhis.Jip.Api.Dto;
|
|
|
|
namespace Dlhis.Basic.Organization.Comparers;
|
|
|
|
/// <summary>
|
|
/// 人员信息比较器
|
|
/// </summary>
|
|
public class SapPersonComparer : IEqualityComparer<SapPersonItem>
|
|
{
|
|
public bool Equals(SapPersonItem x, SapPersonItem y)
|
|
{
|
|
if (ReferenceEquals(x, y)) return true;
|
|
if (ReferenceEquals(x, null)) return false;
|
|
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)
|
|
;
|
|
}
|
|
|
|
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()
|
|
;
|
|
|
|
return r;
|
|
}
|
|
}
|