using Dlhis.Basic.Organization.Services.Implements; using Dlhis.Jip.Api.Dto; namespace Dlhis.Basic.Organization.Comparers; /// /// 人员信息比较器 /// public class SapPersonComparer : IEqualityComparer { 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_GZDJDNM ?? string.Empty) == (y.ZZ_GZDJDNM ?? string.Empty) && (x.ZZ_GZDCQNM ?? string.Empty) == (y.ZZ_GZDCQNM ?? 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_GZDJDNM.SafeGetHashCode() ^ obj.ZZ_GZDCQNM.SafeGetHashCode() ; return r; } }