From 8e5d569d8362b0bc25b45a8003f8be6be65a8104 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期三, 15 十二月 2021 14:31:58 +0800 Subject: [PATCH] 提交 --- zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs | 189 +++++++++++++++++++++++++++++++---------------- 1 files changed, 124 insertions(+), 65 deletions(-) diff --git a/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs b/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs index 3b24406..83a593d 100644 --- a/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs +++ b/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs @@ -50,6 +50,7 @@ private readonly IHttpClientFactory _clientFactory; private readonly IAskService _askService; private readonly IAdmEvaluateService _admEvaluateService; + private readonly IExpertService _expertService; private readonly decimal jiabangongzibiaozhun = new decimal(21.5); public TimedBackgroundService(ILogger<TimedBackgroundService> logger, IServiceScopeFactory factory) @@ -83,6 +84,7 @@ _clientFactory = factory.CreateScope().ServiceProvider.GetRequiredService<IHttpClientFactory>(); _askService= factory.CreateScope().ServiceProvider.GetRequiredService<IAskService>(); _admEvaluateService = factory.CreateScope().ServiceProvider.GetRequiredService<IAdmEvaluateService>(); + _expertService = factory.CreateScope().ServiceProvider.GetRequiredService<IExpertService>(); } protected override async Task ExecuteAsync(CancellationToken stoppingToken) { @@ -1384,7 +1386,7 @@ hrSalaryDTO.Jiabangongzi = 0; decimal shiyongqichuqintianshu = 0; decimal shiyongqichuqinlv = 0; - + decimal yingfaheji = 0; decimal BasicPrice = 0; @@ -3452,6 +3454,53 @@ #endregion + + + + #region 涓撳褰曞叆 + + var zhuanjialuruDTOsyue = _expertService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin); + if (zhuanjialuruDTOsyue != null && zhuanjialuruDTOsyue.Count > 0) + { + var jijianidddd = fiPiecerateDTOs.Where(x => x.Project == "涓撳褰曞叆").FirstOrDefault(); + if (jijianidddd != null) + { + var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianidddd.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault(); + if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue) + { + if (jixiaotichengfangan.Renwustandard == "01") + { + decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = zhuanjialuruDTOsyue.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + + } + + } + else if (jixiaotichengfangan.Renwustandard == "02") + { + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = zhuanjialuruDTOsyue.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + + } + } + } + + } + } + #endregion + } @@ -3526,10 +3575,79 @@ } } + yingfaheji = jibengongzi + baomifei + gongzuobutie + jiabangongzi + shebao + quanqinjiang + jiaotngbutie + jixiaoticheng + jiangjin + bufagongzi - shebaokou + ((dianhuabutie - dianhuafei) <= 0 ? (dianhuabutie - dianhuafei) : 0) - queqin - fakuan + peichang + jiucuo; + + + hrSalaryDTO.Yufagongzi = userList[i].advancewages; + + if (userList[i].advancewages.HasValue && userList[i].advancewages.Value > 0) + { + hrSalaryDTO.Yufagongziheji = 0; + HrSalaryDTO hrSalaryDTOlast = _hrSalaryService.GetListByUser(userList[i].Id, dateminkaoqin.AddMonths(-1).Year, dateminkaoqin.AddMonths(-1).Month); + if (hrSalaryDTOlast != null && hrSalaryDTOlast.Yufagongziheji.HasValue) + { + hrSalaryDTO.Yufagongziheji = hrSalaryDTOlast.Yufagongziheji; + } + + if (hrSalaryDTO.Yufagongziheji > 0) + { + if (yingfaheji < (hrSalaryDTO.Yufagongzi+shebao- shebaokou)) + { + hrSalaryDTO.Yufagongziheji += (hrSalaryDTO.Yufagongzi + shebao - shebaokou - yingfaheji); + yingfaheji = (hrSalaryDTO.Yufagongzi.Value + shebao - shebaokou); + } + else if (yingfaheji > (hrSalaryDTO.Yufagongzi + shebao - shebaokou)) + { + if (hrSalaryDTO.Yufagongziheji >= (yingfaheji - (hrSalaryDTO.Yufagongzi + shebao - shebaokou))) + { + hrSalaryDTO.Yufagongziheji += ((hrSalaryDTO.Yufagongzi + shebao - shebaokou) - yingfaheji); + yingfaheji = (hrSalaryDTO.Yufagongzi.Value + shebao - shebaokou); + } + else + { + yingfaheji -= hrSalaryDTO.Yufagongziheji.Value; + hrSalaryDTO.Yufagongziheji = 0; + } + + + } + + } + else if (hrSalaryDTO.Yufagongziheji == 0) + { + hrSalaryDTO.Yufagongziheji += ((hrSalaryDTO.Yufagongzi + shebao - shebaokou) - yingfaheji); + if (yingfaheji < (hrSalaryDTO.Yufagongzi + shebao - shebaokou)) + { + yingfaheji = (hrSalaryDTO.Yufagongzi.Value + shebao - shebaokou); + } + } + else if (hrSalaryDTO.Yufagongziheji < 0) + { + if (yingfaheji < (hrSalaryDTO.Yufagongzi.Value + shebao - shebaokou)) + { + if (-hrSalaryDTO.Yufagongziheji >= ((hrSalaryDTO.Yufagongzi.Value + shebao - shebaokou) - yingfaheji)) + { + hrSalaryDTO.Yufagongziheji += ((hrSalaryDTO.Yufagongzi.Value + shebao - shebaokou) - yingfaheji); + yingfaheji = (hrSalaryDTO.Yufagongzi.Value + shebao - shebaokou); + } + else + { + yingfaheji += hrSalaryDTO.Yufagongziheji.Value; + hrSalaryDTO.Yufagongziheji = 0; + } + } + + } + + } - yingnashuie = jibengongzi + baomifei + gongzuobutie + jiabangongzi + shebao + quanqinjiang + jiaotngbutie + jixiaoticheng + jiangjin + bufagongzi - shebaokou + ( (dianhuabutie - dianhuafei)<=0? (dianhuabutie - dianhuafei) : 0) - queqin - fakuan + peichang + jiucuo - geshuiqizheng; + + + + + yingnashuie = yingfaheji - geshuiqizheng; hrSalaryDTO.Geshui = 0; @@ -3653,72 +3771,13 @@ } decimal geshui = hrSalaryDTO.Geshui.HasValue ? hrSalaryDTO.Geshui.Value : 0; - hrSalaryDTO.Daozhanggongzi += jibengongzi + baomifei + gongzuobutie + jiabangongzi + shebao + quanqinjiang + jiaotngbutie + jixiaoticheng + jiangjin + bufagongzi - shebaokou - geshui + ((dianhuabutie - dianhuafei) <= 0 ? (dianhuabutie - dianhuafei) : 0) - queqin - fakuan + peichang + jiucuo; + + + hrSalaryDTO.Daozhanggongzi = yingfaheji - geshui; - hrSalaryDTO.Yufagongzi = userList[i].advancewages; - - if (userList[i].advancewages.HasValue && userList[i].advancewages.Value>0) - { - hrSalaryDTO.Yufagongziheji = 0; - HrSalaryDTO hrSalaryDTOlast = _hrSalaryService.GetListByUser(userList[i].Id, dateminkaoqin.AddMonths(-1).Year, dateminkaoqin.AddMonths(-1).Month); - if(hrSalaryDTOlast!=null && hrSalaryDTOlast.Yufagongziheji.HasValue) - { - hrSalaryDTO.Yufagongziheji = hrSalaryDTOlast.Yufagongziheji; - } - - if (hrSalaryDTO.Yufagongziheji > 0) - { - 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"; hrSalaryDTO.Creater = "1"; -- Gitblit v1.9.1