username@email.com
2021-09-10 83c4efe25b7b5ee027a34987f8ee508a379c1d47
zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs
@@ -448,6 +448,10 @@
                                        endttime = dateBiJiaoDTOs[i].EndTime;
                                    }
                                }
                                if (endttime>= StratTimeWorkingEnd)
                                {
                                    break;
                                }
                            }
                            if (kuanggong)
                            {
@@ -564,6 +568,10 @@
                                    {
                                        endttime = dateBiJiaoDTOs[i].EndTime;
                                    }
                                }
                                if (endttime >= StratTimeOffworkEnd)
                                {
                                    break;
                                }
                            }
                            if (kuanggong)
@@ -3525,32 +3533,53 @@
                    decimal yingnashuie3 = 0;
                    decimal yingnashuie4 = 0;
                    decimal yingnashuie5 = 0;
                    if (yingnashuie > 39250)
                    decimal yingnashuie6 = 0;
                    decimal yingnashuie7 = 0;
                    if (yingnashuie > 80000)
                    {
                        yingnashuie1 = 4750;
                        yingnashuie2 = (9250 - 4750);
                        yingnashuie3 = (25250 - 9250);
                        yingnashuie4 = (39250 - 25250);
                        yingnashuie5 = (yingnashuie - 39250);
                        yingnashuie1 = 3000;
                        yingnashuie2 = (12000 - 3000);
                        yingnashuie3 = (25000 - 12000);
                        yingnashuie4 = (35000 - 25000);
                        yingnashuie5 = (55000 - 35000);
                        yingnashuie6 = (80000 - 55000);
                        yingnashuie7 = (yingnashuie - 55000);
                    }
                    else if (yingnashuie > 25250)
                    if (yingnashuie > 55000)
                    {
                        yingnashuie1 = 4750;
                        yingnashuie2 = (9250 - 4750);
                        yingnashuie3 = (25250 - 9250);
                        yingnashuie4 = (yingnashuie - 25250);
                        yingnashuie1 = 3000;
                        yingnashuie2 = (12000 - 3000);
                        yingnashuie3 = (25000 - 12000);
                        yingnashuie4 = (35000 - 25000);
                        yingnashuie5 = (55000 - 35000);
                        yingnashuie6 = (yingnashuie - 55000);
                    }
                    if (yingnashuie > 35000)
                    {
                        yingnashuie1 = 3000;
                        yingnashuie2 = (12000 - 3000);
                        yingnashuie3 = (25000 - 12000);
                        yingnashuie4 = (35000 - 25000);
                        yingnashuie5 = (yingnashuie - 35000);
                    }
                    else if (yingnashuie > 25000)
                    {
                        yingnashuie1 = 3000;
                        yingnashuie2 = (12000 - 3000);
                        yingnashuie3 = (25000 - 12000);
                        yingnashuie4 = (yingnashuie - 25000);
                    }
                    else if (yingnashuie > 9250)
                    else if (yingnashuie > 12000)
                    {
                        yingnashuie1 = 4750;
                        yingnashuie2 = (9250 - 4750);
                        yingnashuie3 = (yingnashuie - 9250);
                        yingnashuie1 = 3000;
                        yingnashuie2 = (12000 - 3000);
                        yingnashuie3 = (yingnashuie - 12000);
                    }
                    else if (yingnashuie > 4750)
                    else if (yingnashuie > 3000)
                    {
                        yingnashuie1 = 4750;
                        yingnashuie2 = (yingnashuie - 4750);
                        yingnashuie1 = 3000;
                        yingnashuie2 = (yingnashuie - 3000);
                    }
                    else
                    {
@@ -3558,7 +3587,7 @@
                    }
                    if (yingnashuie1 > 0)
                    {
                        var yingjiao1 = Math.Round(yingnashuie1 * new decimal(0.05) - 0, 2);
                        var yingjiao1 = Math.Round(yingnashuie1 * new decimal(0.03) - 0, 2);
                        if (yingjiao1 > 0)
                        {
                            hrSalaryDTO.Geshui += yingjiao1;
@@ -3567,7 +3596,7 @@
                    }
                    if (yingnashuie2 > 0)
                    {
                        var yingjiao2 = Math.Round(yingnashuie2 * new decimal(0.1) - 250, 2);
                        var yingjiao2 = Math.Round(yingnashuie2 * new decimal(0.1) - 0, 2);
                        if (yingjiao2 > 0)
                        {
                            hrSalaryDTO.Geshui += yingjiao2;
@@ -3575,7 +3604,7 @@
                    }
                    if (yingnashuie3 > 0)
                    {
                        var yingjiao3 = Math.Round(yingnashuie3 * new decimal(0.2) - 1250, 2);
                        var yingjiao3 = Math.Round(yingnashuie3 * new decimal(0.2) - 0, 2);
                        if (yingjiao3 > 0)
                        {
                            hrSalaryDTO.Geshui += yingjiao3;
@@ -3583,7 +3612,7 @@
                    }
                    if (yingnashuie4 > 0)
                    {
                        var yingjiao4 = Math.Round(yingnashuie4 * new decimal(0.3) - 4250, 2);
                        var yingjiao4 = Math.Round(yingnashuie4 * new decimal(0.25) - 0, 2);
                        if (yingjiao4 > 0)
                        {
                            hrSalaryDTO.Geshui += yingjiao4;
@@ -3591,14 +3620,28 @@
                    }
                    if (yingnashuie5 > 0)
                    {
                        var yingjiao5 = Math.Round(yingnashuie5 * new decimal(0.35) - 6750, 2);
                        var yingjiao5 = Math.Round(yingnashuie5 * new decimal(0.30) - 0, 2);
                        if (yingjiao5 > 0)
                        {
                            hrSalaryDTO.Geshui += yingjiao5;
                        }
                    }
                    if (yingnashuie6 > 0)
                    {
                        var yingjiao6 = Math.Round(yingnashuie6 * new decimal(0.35) - 0, 2);
                        if (yingjiao6 > 0)
                        {
                            hrSalaryDTO.Geshui += yingjiao6;
                        }
                    }
                    if (yingnashuie7 > 0)
                    {
                        var yingjiao7 = Math.Round(yingnashuie7 * new decimal(0.45) - 0, 2);
                        if (yingjiao7 > 0)
                        {
                            hrSalaryDTO.Geshui += yingjiao7;
                        }
                    }
                }
                decimal geshui = hrSalaryDTO.Geshui.HasValue ? hrSalaryDTO.Geshui.Value : 0;
@@ -3618,11 +3661,56 @@
                        hrSalaryDTO.Yufagongziheji = hrSalaryDTOlast.Yufagongziheji;
                    }
                    hrSalaryDTO.Yufagongziheji += (hrSalaryDTO.Yufagongzi - hrSalaryDTO.Daozhanggongzi );
                    if (hrSalaryDTO.Daozhanggongzi < hrSalaryDTO.Yufagongzi)
                    if (hrSalaryDTO.Yufagongziheji > 0)
                    {
                        hrSalaryDTO.Daozhanggongzi = hrSalaryDTO.Yufagongzi;
                        if (hrSalaryDTO.Daozhanggongzi < hrSalaryDTO.Yufagongzi)
                        {
                            hrSalaryDTO.Yufagongziheji += (hrSalaryDTO.Yufagongzi - hrSalaryDTO.Daozhanggongzi);
                            hrSalaryDTO.Daozhanggongzi = hrSalaryDTO.Yufagongzi;
                        }
                        else if (hrSalaryDTO.Daozhanggongzi > hrSalaryDTO.Yufagongzi)
                        {
                            if(hrSalaryDTO.Yufagongziheji>= (hrSalaryDTO.Daozhanggongzi - hrSalaryDTO.Yufagongzi))
                            {
                                hrSalaryDTO.Yufagongziheji += (hrSalaryDTO.Yufagongzi - hrSalaryDTO.Daozhanggongzi);
                                hrSalaryDTO.Daozhanggongzi = hrSalaryDTO.Yufagongzi;
                            }
                            else
                            {
                                hrSalaryDTO.Daozhanggongzi -= hrSalaryDTO.Yufagongziheji;
                                hrSalaryDTO.Yufagongziheji = 0;
                            }
                        }
                    }
                    else if (hrSalaryDTO.Yufagongziheji == 0)
                    {
                        hrSalaryDTO.Yufagongziheji += (hrSalaryDTO.Yufagongzi - hrSalaryDTO.Daozhanggongzi);
                        if (hrSalaryDTO.Daozhanggongzi < hrSalaryDTO.Yufagongzi)
                        {
                            hrSalaryDTO.Daozhanggongzi = hrSalaryDTO.Yufagongzi;
                        }
                    }
                    else if (hrSalaryDTO.Yufagongziheji < 0)
                    {
                        if (hrSalaryDTO.Daozhanggongzi < hrSalaryDTO.Yufagongzi)
                        {
                            if (-hrSalaryDTO.Yufagongziheji >= (hrSalaryDTO.Yufagongzi - hrSalaryDTO.Daozhanggongzi))
                            {
                                hrSalaryDTO.Yufagongziheji += (hrSalaryDTO.Yufagongzi - hrSalaryDTO.Daozhanggongzi);
                                hrSalaryDTO.Daozhanggongzi = hrSalaryDTO.Yufagongzi;
                            }
                            else
                            {
                                hrSalaryDTO.Daozhanggongzi += hrSalaryDTO.Yufagongziheji;
                                hrSalaryDTO.Yufagongziheji = 0;
                            }
                        }
                    }
                }
                hrSalaryDTO.RecStatus = "A";
                hrSalaryDTO.Islock = "D";