| | |
| | | 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) |
| | |
| | | _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) |
| | | { |
| | |
| | | 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); |
| | | |
| | | //查询当前员工职务的基本工资配置 |
| | | |
| | |
| | | } |
| | | } |
| | | } |
| | | 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 |
| | | { |
| | |
| | | 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; |
| | |
| | | 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) |
| | |
| | | |
| | | 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); |
| | |
| | | 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; |