Files
jinko.yikatong/Src/Dlhis.ScheduledTask/Common/Comparers/SapPersonComparer.cs

71 lines
2.3 KiB
C#

using Dlhis.ScheduledTask.Common.Dto;
using System.Text;
namespace Dlhis.ScheduledTask.Common.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 == y.ZZ_SFZH
&& x.ZWORKCODE == y.ZWORKCODE
&& x.ZMOBILE == y.ZMOBILE
&& x.ZSTATUS == y.ZSTATUS
&& x.KOSTL == y.KOSTL
&& x.ZZ_ZD == y.ZZ_ZD
&& x.Z_ZJ == y.Z_ZJ
&& x.ZRZRQ == y.ZRZRQ
&& x.ZLZRQ == y.ZLZRQ
&& x.STELL == y.STELL
&& x.STELL_NM == y.STELL_NM
&& x.MASSN == y.MASSN
&& x.MNTXT == y.MNTXT
&& (x.ZXUELI ?? string.Empty).Trim() == (y.ZXUELI ?? string.Empty).Trim()
&& (x.ZZ_KLX ?? string.Empty) == (y.ZZ_KLX ?? string.Empty)
&& x.ZZ_GZDJDNM == y.ZZ_GZDJDNM
&& x.ZZ_GZDCQNM == y.ZZ_GZDCQNM
;
}
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_GZDJDNM.SafeGetHashCode()
^ obj.ZZ_GZDCQNM.SafeGetHashCode()
;
return r;
}
}