using Dlhis.ScheduledTask.Common.Dto; using System.Text; namespace Dlhis.ScheduledTask.Common.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 == 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; } }