//获取值列表 public static List <SalGrade> GetAll() { List <SalGrade> list = new List <SalGrade>(); OleDbConnection conn = new OleDbConnection(MyHelper.GetPsConnectionString()); using (conn) { OleDbDataReader rs = null; try { conn.Open(); using (OleDbCommand cmd = conn.CreateCommand()) { cmd.CommandText = "select setid, g.sal_admin_plan, g.grade, g.effdt, g.eff_status, g.descr, g.c_open_pay, g.c_gp_set_pay, g.c_anul_leav_pay, g.c_basic_pay, g.c_accum_fund, g.c_pension_fund, g.c_medical_fund,g.c_birth_fund, g.c_lose_job_fund, g.c_injury_fund from SYSADM.ps_SAL_GRADE_TBL g"; rs = cmd.ExecuteReader(); while (rs.Read()) { SalGrade salPlan = new SalGrade(); salPlan.集合 = (string)rs["setid"]; salPlan.薪酬体系 = (string)rs["sal_admin_plan"]; salPlan.薪等编号 = (string)rs["grade"]; salPlan.薪等名称 = (string)rs["descr"]; salPlan.生效日期 = Convert.ToDateTime(rs["effdt"]); salPlan.状态 = ((string)rs["eff_status"]).Trim(); salPlan.基准工资标准 = Convert.ToDecimal(rs["C_BASIC_PAY"]); salPlan.表工资标准 = Convert.ToDecimal(rs["C_OPEN_PAY"]); salPlan.设定工资标准 = Convert.ToDecimal(rs["C_GP_SET_PAY"]); salPlan.年休假工资 = Convert.ToDecimal(rs["C_ANUL_LEAV_PAY"]); salPlan.养老保险缴纳基数 = Convert.ToDecimal(rs["C_PENSION_FUND"]); salPlan.医疗保险缴纳基数 = Convert.ToDecimal(rs["C_MEDICAL_FUND"]); salPlan.生育保险缴纳基数 = Convert.ToDecimal(rs["C_BIRTH_FUND"]); salPlan.失业保险缴纳基数 = Convert.ToDecimal(rs["C_LOSE_JOB_FUND"]); salPlan.工伤保险缴纳基数 = Convert.ToDecimal(rs["C_INJURY_FUND"]); salPlan.公积金基数 = Convert.ToDecimal(rs["C_ACCUM_FUND"]); list.Add(salPlan); } } } finally { if (rs != null) { rs.Close(); } conn.Close(); } } return(list); }
public static void SychSalaryGrade() { foreach (SalGrade sg in SalGrade.薪酬等级表) { SalaryGrade salPlan = AddSalaryGrade(sg.集合, sg.薪酬体系, sg.薪等编号, sg.生效日期); salPlan.薪等名称 = sg.薪等名称; salPlan.状态 = sg.状态; salPlan.基准工资标准 = sg.基准工资标准; salPlan.表工资标准 = sg.表工资标准; salPlan.设定工资标准 = sg.设定工资标准; salPlan.年休假工资 = sg.年休假工资; salPlan.养老保险缴纳基数 = sg.养老保险缴纳基数; salPlan.医疗保险缴纳基数 = sg.医疗保险缴纳基数; salPlan.生育保险缴纳基数 = sg.生育保险缴纳基数; salPlan.失业保险缴纳基数 = sg.失业保险缴纳基数; salPlan.工伤保险缴纳基数 = sg.工伤保险缴纳基数; salPlan.公积金基数 = sg.公积金基数; salPlan.次同步时间 = DateTime.Now; salPlan.Save(); } //冲突处理:有VS无 / 有VS变 / 无VS有 foreach (SalaryGrade grade in GetAll()) { SalGrade found = SalGrade.薪酬等级表.Find(a => a.集合 == grade.集合 && a.薪酬体系 == grade.薪酬体系 && a.薪等编号 == grade.薪等编号 && a.生效日期 == grade.生效日期); if (found == null) { grade.Delete(); } } }