From ad97a60eb0ff674a4e7419d2102e5a635c2122f2 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期四, 28 十月 2021 14:42:52 +0800 Subject: [PATCH] 提交 --- zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs | 169 ++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 132 insertions(+), 37 deletions(-) diff --git a/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs b/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs index 4924041..29e24f2 100644 --- a/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs +++ b/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs @@ -319,8 +319,8 @@ Offdays += 1; } } - - if(userList[a].Outdate.HasValue && dateminkaoqin >=userList[a].Outdate ) + //绂昏亴褰撳ぉ璁$畻鑰冨嫟 + if(userList[a].Zhiwustatus == "D" && userList[a].Outdate.HasValue && dateminkaoqin >userList[a].Outdate ) { dateminkaoqin = dateminkaoqin.AddDays(1); continue; @@ -448,6 +448,10 @@ endttime = dateBiJiaoDTOs[i].EndTime; } } + if (endttime>= StratTimeWorkingEnd) + { + break; + } } if (kuanggong) { @@ -565,6 +569,10 @@ endttime = dateBiJiaoDTOs[i].EndTime; } } + if (endttime >= StratTimeOffworkEnd) + { + break; + } } if (kuanggong) { @@ -619,7 +627,7 @@ //璁$畻褰撳ぉ璇峰亣 List<DateBiJiaoDTO> qingjias = new List<DateBiJiaoDTO>(); - var feichuqinjia = admAskLeaveDTOMin.Where(x => x.Lavetype != "4").ToList(); + var feichuqinjia = admAskLeaveDTOMin.Where(x => x.Lavetype != "4" && x.Lavetype != "7").ToList(); foreach (var admAskLeave in feichuqinjia) { @@ -1012,7 +1020,7 @@ //璁$畻褰撳ぉ璇峰亣 List<DateBiJiaoDTO> qingjias = new List<DateBiJiaoDTO>(); - var feichuqinjia = admAskLeaveDTOMin.Where(x => x.Lavetype != "4").ToList(); + var feichuqinjia = admAskLeaveDTOMin.Where(x => x.Lavetype != "4" && x.Lavetype != "7").ToList(); foreach (var admAskLeave in feichuqinjia) { @@ -1346,12 +1354,19 @@ //鏌ヨ褰撳墠鍛樺伐鑱屽姟鐨勫熀鏈伐璧勯厤缃� var hrJibengongzi = hrJibengongziDTOs.Where(x=>x.PostId == userList[i].HrPosition ).OrderByDescending(x=>x.Effecttime).FirstOrDefault(); - + if (hrJibengongzi == null) { _logger.LogInformation(userList[i].UserName + ": 鑱屽姟鎵�灞炶祫鏈伐璧勪负绌�"); continue; } + var shebaoDTO = _JibengongziService.GetListShebao().FirstOrDefault(); + if (shebaoDTO == null) + { + _logger.LogInformation(userList[i].UserName + ": 绀句繚缁存姢涓虹┖"); + continue; + } + hrSalaryDTO.Jibengongzi = Math.Round( hrJibengongzi.Jibengongzi.Value * chuqinlv, 2); hrSalaryDTO.Baomifei = Math.Round(hrJibengongzi.Baomifei.Value * chuqinlv, 2); //鏄惁鍦ㄨ瘯鐢ㄦ湡 @@ -1360,8 +1375,8 @@ { geshuiqizheng = userList[i].geshuiqizheng.Value; } - var Shebaodanwei = hrJibengongzi.Shebaodanwei.HasValue ? hrJibengongzi.Shebaodanwei.Value : 0; - var Shebaogeren = hrJibengongzi.Shebaogeren.HasValue ? hrJibengongzi.Shebaogeren.Value : 0; + var Shebaodanwei = shebaoDTO.Shebaodanwei.HasValue ? shebaoDTO.Shebaodanwei.Value : 0; + var Shebaogeren = shebaoDTO.Shebaogeren.HasValue ? shebaoDTO.Shebaogeren.Value : 0; decimal yingnashuie = 0; hrSalaryDTO.Queqin = 0; hrSalaryDTO.Fakuan = 0; @@ -1445,7 +1460,7 @@ - //yingnashuie = userList[i].ShiyongPrice.Value - Shebaogeren - geshuiqizheng; + @@ -1519,7 +1534,7 @@ - //yingnashuie = BasicPrice - Shebaogeren - geshuiqizheng; + } @@ -3525,32 +3540,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 +3594,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 +3603,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 +3611,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 +3619,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 +3627,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 +3668,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"; -- Gitblit v1.9.1