protected override void OnLoaded() { bool changed = false; if (string.IsNullOrEmpty(this.公司名称)) { CompanyInfo company = CompanyInfo.Get(this.公司编号); if (company != null) { this.公司名称 = company.公司名称; changed = true; } } if (string.IsNullOrEmpty(this.薪等名称)) { SalaryGrade grade = SalaryGrade.Get(this.薪资集合, this.薪酬体系编号, this.薪等编号, new DateTime(this.年度, this.月份, 1)); if (grade != null) { this.薪等名称 = grade.薪等名称; changed = true; } } if (string.IsNullOrEmpty(this.薪资组名称)) { PayGroup group = PayGroup.Get(this.薪资组); if (group != null) { this.薪资组名称 = group.中文名; changed = true; } } //2018-2-11 if (string.IsNullOrEmpty(this.工资职等)) { this.工资职等 = GetGrade(this); changed = true; } if (changed) { this.Save(); } base.OnLoaded(); SALARY_RESULT_CACHE.Set(CacheKey, this, TimeSpan.FromHours(8)); }
private static bool SychSalaryResult(SalResult sr) { try { SalaryResult item = AddSalaryResult(sr.员工编号, sr.年度, sr.月份); #region 日历信息 item.日历组 = sr.日历组; item.期间 = sr.期间; #endregion item.姓名 = sr.姓名; item.员工类型 = sr.员工类型; item.身份证号 = sr.身份证号; #region 所属机构 item.公司编号 = sr.公司编号; item.机构编号 = sr.机构编号; item.部门编号 = sr.部门编号; item.公司名称 = sr.公司名称; item.部门名称 = sr.部门名称; #endregion #region 财务信息 item.银行账号 = sr.银行账号; item.帐户名称 = sr.帐户名称; GetSeq(sr, item); #endregion #region 薪酬体系 item.薪资组 = sr.薪资组.Trim(); item.薪资集合 = sr.薪资集合; item.薪酬体系编号 = sr.薪酬体系编号; item.薪等编号 = sr.薪等编号; item.薪级编号 = sr.薪级编号; SalaryGrade grade = SalaryGrade.Get(item.薪资集合, item.薪酬体系编号, item.薪等编号, new DateTime(item.年度, item.月份, 1)); if (grade != null) { item.薪等名称 = grade.薪等名称; } PayGroup group = PayGroup.Get(item.薪资组); if (group != null) { item.薪资组名称 = group.中文名; } #endregion #region 职务数据 item.职务代码 = sr.职务代码; item.职务等级 = sr.职务等级; item.职位编号 = sr.职位编号; item.班别 = sr.班别; #endregion #region 出勤情况 item.企业排班天数 = sr.企业排班天数; item.法定工作日天数 = sr.法定工作日天数; item.实际出勤天数 = sr.实际出勤天数; item.法定工作日出勤天数 = sr.法定工作日出勤天数; item.法定节假日出勤天数 = sr.法定节假日出勤天数; item.休息日出勤天数 = sr.休息日出勤天数; item.月综合出勤天数 = sr.月综合出勤天数; item.工作日延长出勤小时数 = sr.工作日延长出勤小时数; #endregion #region 出勤工资 item.法定工作日出勤工资 = sr.法定工作日出勤工资; item.法定节假日出勤工资 = sr.法定节假日出勤工资; item.休息日出勤工资 = sr.休息日出勤工资; item.月综合出勤工资 = sr.月综合出勤工资; item.工作日延长工作出勤工资 = sr.工作日延长工作出勤工资; #endregion item.未休年休假工资 = sr.未休年休假工资; item.特殊社保的基准工资 = sr.特殊社保的基准工资; item.基数等级与基准工资差额 = sr.基数等级与基准工资差额; item.交通餐饮补助 = sr.交通餐饮补助; #region 社保缴纳 item.养老保险个人缴纳金额 = sr.养老保险个人缴纳金额; item.医疗保险个人缴纳金额 = sr.医疗保险个人缴纳金额; item.失业保险个人缴纳金额 = sr.失业保险个人缴纳金额; item.住房公积金个人缴纳金额 = sr.住房公积金个人缴纳金额; item.大病医疗个人缴纳金额 = sr.大病医疗个人缴纳金额; //社保合计 item.社保个人缴纳金额 = sr.社保个人缴纳金额; item.社保公司缴纳金额 = sr.社保公司缴纳金额; #endregion #region 累加器 item.出勤工资 = sr.出勤工资; item.津贴补助 = sr.津贴补助; item.综合考核工资 = sr.综合考核工资; item.奖项 = sr.奖项; item.扣项 = sr.扣项; #endregion #region 工资类别小计 item.挂钩效益工资 = sr.挂钩效益工资; item.其他所得 = sr.其他所得; item.其他扣款 = sr.其他扣款; item.预留风险金 = sr.预留风险金; item.实得满勤奖 = sr.实得满勤奖; item.应得满勤奖 = sr.应得满勤奖; item.表工资 = sr.表工资; item.设定工资 = sr.设定工资; item.基准工资 = sr.基准工资; item.工资降级 = sr.工资降级; item.代垫费用 = sr.代垫费用; item.个人所得税金额 = sr.个人所得税金额; item.表工资总额 = sr.表工资总额; item.应税工资额 = sr.应税工资额; item.合计应税工资额 = sr.合计应税工资额; item.实发工资总额 = sr.实发工资总额; #endregion item.工资职等 = GetGrade(item); item.次同步时间 = DateTime.Now; item.Save(); return(true); } catch (Exception e) { YiKang.Common.WriteToEventLog("同步工资失败:" + e.ToString()); return(false); } }