From d14ab4883276c158d3befc5a3d2856e357485e33 Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期二, 17 八月 2021 12:23:10 +0800
Subject: [PATCH] 提交
---
zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs | 67 ++++++++++++++++++++++++++-------
1 files changed, 52 insertions(+), 15 deletions(-)
diff --git a/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs b/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs
index 1444423..4924041 100644
--- a/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs
+++ b/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,6 +1338,8 @@
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);
@@ -1360,11 +1364,23 @@
var Shebaogeren = hrJibengongzi.Shebaogeren.HasValue ? hrJibengongzi.Shebaogeren.Value : 0;
decimal yingnashuie = 0;
hrSalaryDTO.Queqin = 0;
+ hrSalaryDTO.Fakuan = 0;
hrSalaryDTO.Gongzuobutie = 0;
hrSalaryDTO.Jiabangongzi = 0;
decimal shiyongqichuqintianshu = 0;
decimal shiyongqichuqinlv = 0;
-
+
+
+
+ decimal BasicPrice = 0;
+ if (!decimal.TryParse(userList[i].BasicPrice, out BasicPrice))
+ {
+ _logger.LogInformation(userList[i].UserName + ": 鍛樺伐娌℃湁缁存姢宸ヨ祫");
+ continue;
+ }
+
+
+
if (userList[i].ShiyongDate.HasValue && userList[i].ShiyongDateEnd.HasValue && dateminkaoqin>= userList[i].ShiyongDate.Value && dateminkaoqin <= userList[i].ShiyongDateEnd.Value)
{
if (!userList[i].ShiyongPrice.HasValue)
@@ -1372,6 +1388,10 @@
_logger.LogInformation(userList[i].UserName + ": 鍛樺伐澶勪簬璇曠敤鏈燂紝浣嗘槸璇曠敤鏈熷伐璧勪负绌�");
continue;
}
+ //鏌ヨ鏄惁鏈変笉绉拌亴鐨勫伐浣滆�冭瘎
+ var admEvaluateDTOsshiyongqi = _admEvaluateService.GetListsalary(userList[i].Id, dateminkaoqin, userList[i].ShiyongDateEnd.Value.AddDays(1)).Where(x => x.EvaluateValue == "03").ToList();
+
+
//璇曠敤鏈熺殑鍑哄嫟鐜�
shiyongqichuqinlv = chuqinlv;
if(userList[i].ShiyongDateEnd.Value< datemaxkaoqin.AddDays(-1))
@@ -1392,7 +1412,15 @@
}
}
}
+
+
+
+
shiyongqichuqinlv = Math.Round(shiyongqichuqintianshu / admAttendanceDTO.Yingchuqin, 4);
+
+ //宸ヤ綔璇勪环涓嶅悎鏍肩綒娆�
+ hrSalaryDTO.Fakuan += Math.Round(userList[i].ShiyongPrice.Value * admEvaluateDTOsshiyongqi.Count / admAttendanceDTO.Yingchuqin + BasicPrice * (admEvaluateDTOs.Count - admEvaluateDTOsshiyongqi.Count) / admAttendanceDTO.Yingchuqin, 2);
+
}
else
{
@@ -1405,6 +1433,9 @@
}
}
hrSalaryDTO.Jiabangongzi += Math.Round((admAttendanceDTO.Jiaban / jiabangongzibiaozhun) * userList[i].ShiyongPrice.Value, 2);
+
+ //宸ヤ綔璇勪环涓嶅悎鏍肩綒娆�
+ hrSalaryDTO.Fakuan += Math.Round(userList[i].ShiyongPrice.Value * admEvaluateDTOs.Count / admAttendanceDTO.Yingchuqin, 2);
}
@@ -1412,7 +1443,7 @@
hrSalaryDTO.Gongzuobutie += Math.Round( (userList[i].ShiyongPrice.Value - hrJibengongzi.Baomifei.Value- hrJibengongzi.Jibengongzi.Value ) * shiyongqichuqinlv, 2);
-
+
//yingnashuie = userList[i].ShiyongPrice.Value - Shebaogeren - geshuiqizheng;
@@ -1420,16 +1451,15 @@
}
+ else
+ {
+ //宸ヤ綔璇勪环缃氭
+ hrSalaryDTO.Fakuan += Math.Round(BasicPrice * admEvaluateDTOs.Count/ admAttendanceDTO.Yingchuqin , 2);
+ }
if(true)
{
- decimal BasicPrice = 0;
- if(!decimal.TryParse(userList[i].BasicPrice,out BasicPrice))
- {
- _logger.LogInformation(userList[i].UserName + ": 鍛樺伐娌℃湁缁存姢宸ヨ祫");
- continue;
- }
//杞鍚庣殑鍑哄嫟鐜�
decimal zhuanzhengchuqinlv = chuqinlv- shiyongqichuqinlv;
if (userList[i].ShiyongDate.HasValue && userList[i].ShiyongDateEnd.HasValue && userList[i].ShiyongDateEnd.Value >= dateminkaoqin && userList[i].ShiyongDateEnd.Value <= datemaxkaoqin.AddDays(-1))
@@ -1719,9 +1749,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;
@@ -1733,7 +1771,6 @@
- hrSalaryDTO.Fakuan = 0;
//宸ヤ綔瀹夋帓缃氭
List<AdmMemoBookDTO> admMemoBookDTOs = _DailyManageService.GetRemindsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin,"2");
if (admMemoBookDTOs.Count > 0)
@@ -3426,7 +3463,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 +3609,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 +3618,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;
--
Gitblit v1.9.1