| | |
| | | endttime = dateBiJiaoDTOs[i].EndTime; |
| | | } |
| | | } |
| | | if (endttime>= StratTimeWorkingEnd) |
| | | { |
| | | break; |
| | | } |
| | | } |
| | | if (kuanggong) |
| | | { |
| | |
| | | { |
| | | endttime = dateBiJiaoDTOs[i].EndTime; |
| | | } |
| | | } |
| | | if (endttime >= StratTimeOffworkEnd) |
| | | { |
| | | break; |
| | | } |
| | | } |
| | | if (kuanggong) |
| | |
| | | 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 |
| | | { |
| | |
| | | } |
| | | 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; |
| | |
| | | } |
| | | 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; |
| | |
| | | } |
| | | 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; |
| | |
| | | } |
| | | 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; |
| | |
| | | } |
| | | 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; |
| | |
| | | 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"; |