username@email.com
2021-08-11 8f735d11a4f03a4af3732eb97358ba6c350997a6
zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs
@@ -48,7 +48,8 @@
        private readonly IDtChannelArticleNewsService _dtChannelArticleNewsService;
        private readonly IConfiguration _configuration;
        private readonly IHttpClientFactory _clientFactory;
        private readonly IAskService _askService;
        private readonly IAskService _askService;
        private readonly IAdmEvaluateService _admEvaluateService;
        private readonly decimal jiabangongzibiaozhun = new decimal(21.5);
        public TimedBackgroundService(ILogger<TimedBackgroundService> logger, IServiceScopeFactory factory)
@@ -81,6 +82,7 @@
            _configuration = factory.CreateScope().ServiceProvider.GetRequiredService<IConfiguration>();
            _clientFactory = factory.CreateScope().ServiceProvider.GetRequiredService<IHttpClientFactory>();
            _askService= factory.CreateScope().ServiceProvider.GetRequiredService<IAskService>();
            _admEvaluateService = factory.CreateScope().ServiceProvider.GetRequiredService<IAdmEvaluateService>();
        }
        protected override async Task ExecuteAsync(CancellationToken stoppingToken)
        {
@@ -1336,8 +1338,10 @@
                searchEntity.AttendanceId = admAttendanceDTO.Id;
                List<AdmAttendanceDtlDTO> admAttendanceDtlDTOs = _admAttendanceDtlService.GetList(searchEntity).OrderBy(x => x.SgninDate).ToList();
                //查询是否有不称职的工作考评
               var admEvaluateDTOs = _admEvaluateService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin).Where(x=>x.EvaluateValue == "03").ToList();
                //当月出勤率
                decimal chuqinlv = Math.Round(admAttendanceDTO.Shijichuqin / admAttendanceDTO.Yingchuqin,4);
                decimal chuqinlv = Math.Round((admAttendanceDTO.Shijichuqin- admEvaluateDTOs.Count) / admAttendanceDTO.Yingchuqin,4);
                //查询当前员工职务的基本工资配置
@@ -1392,7 +1396,12 @@
                                    }
                            }
                        }
                        shiyongqichuqinlv = Math.Round(shiyongqichuqintianshu / admAttendanceDTO.Yingchuqin, 4);
                        //查询是否有不称职的工作考评
                        var admEvaluateDTOsshiyongqi = _admEvaluateService.GetListsalary(userList[i].Id, dateminkaoqin, userList[i].ShiyongDateEnd.Value.AddDays(1)).Where(x => x.EvaluateValue == "03").ToList();
                        shiyongqichuqinlv = Math.Round((shiyongqichuqintianshu- admEvaluateDTOsshiyongqi.Count) / admAttendanceDTO.Yingchuqin, 4);
                    }
                    else
                    {
@@ -1719,9 +1728,17 @@
                    hrSalaryDTO.Dianhuafei = SimCost.bill_amount;
                }
              
                if(admAttendanceDTO.Shijichuqin>=admAttendanceDTO.Yingchuqin
                    && hrSalaryDTO.Queqin <=0)
                {
                    hrSalaryDTO.Quanqinjiang = hrJibengongzi.Quanqingjiang;
                }
                else
                {
                    hrSalaryDTO.Quanqinjiang = 0;
                }
                hrSalaryDTO.Quanqinjiang = hrJibengongzi.Quanqingjiang;
                if ("A".Equals(userList[i].Istravelsubsidy))
                {
                    hrSalaryDTO.Jiaotngbutie = hrJibengongzi.Jiaotongbutie;
@@ -3426,7 +3443,7 @@
                decimal jiucuo = hrSalaryDTO.Jiucuo.HasValue ? hrSalaryDTO.Jiucuo.Value : 0;
                //计算保底年薪
                if (userList[i].Indate.HasValue && userList[i].miniyearsalary.HasValue)
                if (userList[i].Indate.HasValue && userList[i].miniyearsalary.HasValue && userList[i].miniyearsalary.Value>0)
                {
                    DateTime jixinue = userList[i].Indate.Value;
                    if (userList[i].Indate.Value.Day != 1)
@@ -3572,7 +3589,7 @@
                hrSalaryDTO.Yufagongzi = userList[i].advancewages;
                if (userList[i].advancewages.HasValue)
                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);
@@ -3581,7 +3598,7 @@
                        hrSalaryDTO.Yufagongziheji = hrSalaryDTOlast.Yufagongziheji;
                    }
                    hrSalaryDTO.Yufagongziheji += (hrSalaryDTO.Daozhanggongzi- hrSalaryDTO.Yufagongzi);
                    hrSalaryDTO.Yufagongziheji += (hrSalaryDTO.Yufagongzi - hrSalaryDTO.Daozhanggongzi );
                    if (hrSalaryDTO.Daozhanggongzi < hrSalaryDTO.Yufagongzi)
                    {
                        hrSalaryDTO.Daozhanggongzi = hrSalaryDTO.Yufagongzi;