Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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);
            }
        }