public static SalaryResult AddSalaryResult(string empNo, int year, int month) { SalaryResult sr = GetFromCache(empNo, year, month); if (sr == null) { sr = new SalaryResult(); sr.标识 = Guid.NewGuid(); sr.员工编号 = empNo; sr.年度 = year; sr.月份 = month; sr.Save(); } return(sr); }
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); } }