From 688b1ea208da068bfd5911eacc4d2be023219a7c Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期五, 24 二月 2023 13:51:21 +0800
Subject: [PATCH] 1、APP和短信同时推送,没有加APP的只推短信。
2、有归属的客户就留客户经理的电话,没有归属的客户留公司400电话。
---
zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs | 572 +++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 456 insertions(+), 116 deletions(-)
diff --git a/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs b/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs
index 0b029b5..2574791 100644
--- a/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs
+++ b/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs
@@ -50,6 +50,9 @@
private readonly IHttpClientFactory _clientFactory;
private readonly IAskService _askService;
private readonly IAdmEvaluateService _admEvaluateService;
+ private readonly IExpertService _expertService;
+ private readonly zhengcaioaContext _context;
+ private readonly zcUserInfoN_dbContext _zcUsercontext;
private readonly decimal jiabangongzibiaozhun = new decimal(21.5);
public TimedBackgroundService(ILogger<TimedBackgroundService> logger, IServiceScopeFactory factory)
@@ -83,6 +86,9 @@
_clientFactory = factory.CreateScope().ServiceProvider.GetRequiredService<IHttpClientFactory>();
_askService= factory.CreateScope().ServiceProvider.GetRequiredService<IAskService>();
_admEvaluateService = factory.CreateScope().ServiceProvider.GetRequiredService<IAdmEvaluateService>();
+ _expertService = factory.CreateScope().ServiceProvider.GetRequiredService<IExpertService>();
+ _context = factory.CreateScope().ServiceProvider.GetRequiredService<zhengcaioaContext>();
+ _zcUsercontext = factory.CreateScope().ServiceProvider.GetRequiredService<zcUserInfoN_dbContext>();
}
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
@@ -132,6 +138,15 @@
{
jisuangonglinggongzi();
}
+
+
+ _logger.LogInformation("鎶婅秴杩�90澶╄繕娌℃湁杞寲鐨勬。妗堝鎴风殑涓氬姟缁忕悊褰掍负鏃�");
+ this.ywjlguiling();
+ _logger.LogInformation("鎶婅秴杩�90澶╄繕娌℃湁杞寲鐨勬。妗堝鎴风殑涓氬姟缁忕悊褰掍负鏃犳墽琛岀粨鏉�");
+
+ _logger.LogInformation("鎶婁細鍛樼郴缁熷拰oa绯荤粺鎵嬫満鍙风浉鍚岀殑瀹㈡埛鍏宠仈璧锋潵");
+ this.huiyuanguanlian();
+ _logger.LogInformation("鎶婁細鍛樼郴缁熷拰oa绯荤粺鎵嬫満鍙风浉鍚岀殑瀹㈡埛鍏宠仈璧锋潵鎵ц缁撴潫");
}
catch (Exception ex)
{
@@ -205,6 +220,65 @@
return diwutian;
}
+
+ //鎶婅秴杩�90澶╄繕娌℃湁杞寲鐨勬。妗堝鎴风殑涓氬姟缁忕悊褰掍负鏃�
+ public void ywjlguiling()
+ {
+ var intentionCustomerDTOs = _intentionCustomerService.GetList().Where(x=>x.Ywjltime < DateTime.Now.AddDays(-90)).ToList();
+
+ foreach(var intentionCustomerDTO in intentionCustomerDTOs)
+ {
+ intentionCustomerDTO.Ywjl = null;
+ intentionCustomerDTO.Ywjltime = null;
+ _intentionCustomerService.save(intentionCustomerDTO);
+ }
+ }
+
+
+ //鎶婁細鍛樼郴缁熷拰oa绯荤粺鎵嬫満鍙风浉鍚岀殑瀹㈡埛鍏宠仈璧锋潵
+ public void huiyuanguanlian()
+ {
+ var cooperatecustomCustomers = _context.CooperatecustomCustomers.Where(x => x.RecStatus == "A" && x.HuiyuanId == null).ToList();
+ var frameworkUsers = _zcUsercontext.FrameworkUsers.Where(x => x.IsValid == true).ToList();
+ if (cooperatecustomCustomers != null && cooperatecustomCustomers.Count > 0)
+ {
+ foreach (var cooperatecustomCustomer in cooperatecustomCustomers)
+ {
+ if (!string.IsNullOrEmpty(cooperatecustomCustomer.Tel))
+ {
+ var frameworkUser = frameworkUsers.Where(x => x.Itcode == cooperatecustomCustomer.Tel).FirstOrDefault();
+ if (frameworkUser != null)
+ {
+ cooperatecustomCustomer.HuiyuanId = frameworkUser.Id.ToString();
+ }
+ }
+
+ }
+ _context.SaveChanges();
+ }
+
+
+
+ var intentionCustomers = _context.IntentionCustomers.Where(x => x.RecStatus == "A" && x.HuiyuanId == null).ToList();
+ if (intentionCustomers != null && intentionCustomers.Count > 0)
+ {
+ foreach (var intentionCustomer in intentionCustomers)
+ {
+ if (!string.IsNullOrEmpty(intentionCustomer.Tel))
+ {
+ var frameworkUser = frameworkUsers.Where(x => x.Itcode == intentionCustomer.Tel).FirstOrDefault();
+ if (frameworkUser != null)
+ {
+ intentionCustomer.HuiyuanId = frameworkUser.Id.ToString();
+ }
+ }
+
+ }
+ _context.SaveChanges();
+ }
+
+ }
+
//璁$畻鑰冨嫟
public void jisuankaoqin()
{
@@ -236,14 +310,20 @@
ResultEntity resultEntity = new ResultEntity();
resultEntity.Result = false;
-
+ var Month = DateTime.Now.Month - 1;
+ var Year = DateTime.Now.Year;
+ if (Month == 0)
+ {
+ Month = 12;
+ Year = Year - 1;
+ }
//鏌ヨ鎵�鏈夌殑鏈夋晥浜哄憳
- List<PltUserDTO> userList = _userService.GetListjisuankaoqin(new DateTime(DateTime.Now.Year, DateTime.Now.Month - 1, 1), new DateTime(DateTime.Now.Year, DateTime.Now.Month - 1, 1).AddMonths(1));//.Where(x => x.UserSn == "yang").ToList();
+ List<PltUserDTO> userList = _userService.GetListjisuankaoqin(new DateTime(Year, Month, 1), new DateTime(Year, Month, 1).AddMonths(1));//.Where(x => x.UserSn == "yang").ToList();
for (int a = 0; a < userList.Count; a++)
{
_logger.LogInformation("寮�濮嬭绠�" + userList[a].UserName + "鑰冨嫟");
//寮�濮嬭绠楄�冨嫟
- DateTime dateminkaoqin = new DateTime(DateTime.Now.Year, DateTime.Now.Month - 1, 1);
+ DateTime dateminkaoqin = new DateTime(Year, Month, 1);
DateTime datemaxkaoqin = dateminkaoqin.AddMonths(1);
List<AdmAskLeaveDTO> admAskLeaveDTOs = _signinService.GetAskLeaveByUserId(userList[a].Id);
List<AdmAskLeaveOffDTO> admAskLeaveOffDTOs = _signinService.GetAskLeaveOffByUserId(userList[a].Id);
@@ -261,6 +341,7 @@
admAttendanceDTO.Qingjia = 0;
admAttendanceDTO.Jiaban = 0;
admAttendanceDTO.Xiaojia = 0;
+ admAttendanceDTO.Daixinjia = 0;
admAttendanceDTO.Chidao = 0;
admAttendanceDTO.Zaotui = 0;
admAttendanceDTO.Kuanggong = 0;
@@ -286,6 +367,7 @@
decimal Zaotui = 0;
decimal Kuanggong = 0;
decimal Xiaojia = 0;
+ decimal Daixinjia = 0;
while (dateminkaoqin < datemaxkaoqin)
{
@@ -339,7 +421,7 @@
admSignInDTO = new AdmSignInDTO();
}
//鏌ヨ璇峰亣 璇峰亣鏃堕棿涓嶈兘閲嶅彔
- List<AdmAskLeaveDTO> admAskLeaveDTOMin = admAskLeaveDTOs.Where(x =>x.Lavetype != "2" && x.StratTime < dateminkaoqin.AddDays(1) && x.EndTime > dateminkaoqin).OrderByDescending(x=>x.Createtime).ToList();
+ List<AdmAskLeaveDTO> admAskLeaveDTOMin = admAskLeaveDTOs.Where(x => x.Lavetype != "2" && x.StratTime < dateminkaoqin.AddDays(1) && x.EndTime > dateminkaoqin).OrderByDescending(x=>x.Createtime).ToList();
//鏌ヨ閿�鍋� 閿�鍋囨椂闂翠笉鑳介噸鍙�
List<AdmAskLeaveOffDTO> admAskLeaveOffDTOMin = admAskLeaveOffDTOs.Where(x => x.StratTime < dateminkaoqin.AddDays(1) && x.EndTime > dateminkaoqin).OrderByDescending(x => x.Createtime).ToList();
@@ -373,6 +455,8 @@
decimal Kuanggongtianshu = 0;
decimal dangtianqingjia = 0;
decimal dangtianxiaojia = 0;
+ decimal dangtiandaixinjia = 0;
+
string Iswork = "D";
if (iswork)
{
@@ -438,17 +522,22 @@
}
else
{
- if (dateBiJiaoDTOs[i].StartTime > dateBiJiaoDTOs[i - 1].EndTime)
- {
- kuanggong = true;
- break;
- }
- else if (dateBiJiaoDTOs[i].EndTime > dateBiJiaoDTOs[i - 1].EndTime)
+ //if (dateBiJiaoDTOs[i].StartTime > dateBiJiaoDTOs[i - 1].EndTime)
+ //{
+ // //kuanggong = true;
+ // break;
+ //}
+ //else
+ if (dateBiJiaoDTOs[i].EndTime > dateBiJiaoDTOs[i - 1].EndTime)
{
endttime = dateBiJiaoDTOs[i].EndTime;
}
+ if (!starttime.HasValue)
+ {
+ starttime = dateBiJiaoDTOs[i].StartTime;
+ }
}
- if (endttime>= StratTimeWorkingEnd)
+ if (endttime >= StratTimeWorkingEnd && starttime.HasValue)
{
break;
}
@@ -559,17 +648,22 @@
}
else
{
- if (dateBiJiaoDTOs[i].StartTime > dateBiJiaoDTOs[i - 1].EndTime)
- {
- kuanggong = true;
- break;
- }
- else if (dateBiJiaoDTOs[i].EndTime > dateBiJiaoDTOs[i - 1].EndTime)
+ //if (dateBiJiaoDTOs[i].StartTime > dateBiJiaoDTOs[i - 1].EndTime)
+ //{
+ // //kuanggong = true;
+ // break;
+ //}
+ //else
+ if (dateBiJiaoDTOs[i].EndTime > dateBiJiaoDTOs[i - 1].EndTime)
{
endttime = dateBiJiaoDTOs[i].EndTime;
}
+ if (!starttime.HasValue)
+ {
+ starttime = dateBiJiaoDTOs[i].StartTime;
+ }
}
- if (endttime >= StratTimeOffworkEnd)
+ if (endttime >= StratTimeOffworkEnd && starttime.HasValue)
{
break;
}
@@ -627,7 +721,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" && x.Lavetype != "3" && x.Lavetype != "9").ToList();
foreach (var admAskLeave in feichuqinjia)
{
@@ -688,6 +782,63 @@
}
Qingjia += dangtianqingjia;
+
+
+
+ //璁$畻褰撳ぉ甯﹁柂鍋�
+ List<DateBiJiaoDTO> daixinjias = new List<DateBiJiaoDTO>();
+
+ var chauxndaixinjias = admAskLeaveDTOMin.Where(x => x.Lavetype == "4" || x.Lavetype == "7" || x.Lavetype == "3" || x.Lavetype == "9").ToList();
+ foreach (var admAskLeave in chauxndaixinjias)
+ {
+
+ DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
+ dateBiJiaoDTO.StartTime = admAskLeave.StratTime;
+ dateBiJiaoDTO.EndTime = admAskLeave.EndTime;
+ daixinjias.Add(dateBiJiaoDTO);
+
+ }
+
+ foreach (var daixinjia in daixinjias)
+ {
+ if (daixinjia.StartTime < StratTimeWorkingStart)
+ {
+ daixinjia.StartTime = StratTimeWorkingStart;
+ }
+ if (daixinjia.StartTime > StratTimeWorkingEnd && daixinjia.StartTime < StratTimeOffworkStart)
+ {
+ daixinjia.StartTime = StratTimeOffworkStart;
+ }
+
+
+ if (daixinjia.EndTime > StratTimeWorkingEnd && daixinjia.EndTime < StratTimeOffworkStart)
+ {
+ daixinjia.EndTime = StratTimeWorkingEnd;
+ }
+
+
+ if (daixinjia.EndTime > StratTimeOffworkEnd)
+ {
+ daixinjia.EndTime = StratTimeOffworkEnd;
+ }
+ TimeSpan daixinjiashiijan = daixinjia.EndTime.Value.Subtract(daixinjia.StartTime.Value);
+ if (daixinjia.StartTime <= StratTimeWorkingEnd && daixinjia.EndTime >= StratTimeOffworkStart)
+ {
+ TimeSpan wuxiushijian = StratTimeOffworkStart.Subtract(StratTimeWorkingEnd);
+ dangtiandaixinjia += Math.Round(((decimal)(daixinjiashiijan.Hours * 60 + daixinjiashiijan.Minutes - wuxiushijian.Hours * 60 - wuxiushijian.Minutes)) / ((decimal)shangbanshijian), 2);
+ }
+ else
+ {
+ dangtiandaixinjia += Math.Round(((decimal)(daixinjiashiijan.Hours * 60 + daixinjiashiijan.Minutes)) / ((decimal)shangbanshijian), 2);
+ }
+
+
+
+ }
+
+ Daixinjia += dangtiandaixinjia;
+
+
//璁$畻褰撳ぉ鍑哄嫟澶╂暟
Shijichuqin += (1 - Kuanggongtianshu - dangtianqingjia);
@@ -764,10 +915,10 @@
{
jiabanshijian = admAskovertimeDTO.Overtime.Value;
}
-
-
-
-
+ if (jiabanshijian > new decimal(shangbanshijian) / 60)
+ {
+ jiabanshijian = new decimal(shangbanshijian) /60;
+ }
Jiaban += Math.Round(jiabanshijian * 60 / shangbanshijian, 2);
}
@@ -839,14 +990,19 @@
}
else
{
- if (dateBiJiaoDTOs[i].StartTime > dateBiJiaoDTOs[i - 1].EndTime)
- {
- kuanggong = true;
- break;
- }
- else if (dateBiJiaoDTOs[i].EndTime > dateBiJiaoDTOs[i - 1].EndTime)
+ //if (dateBiJiaoDTOs[i].StartTime > dateBiJiaoDTOs[i - 1].EndTime)
+ //{
+ // //kuanggong = true;
+ // break;
+ //}
+ //else
+ if (dateBiJiaoDTOs[i].EndTime > dateBiJiaoDTOs[i - 1].EndTime)
{
endttime = dateBiJiaoDTOs[i].EndTime;
+ }
+ if (!starttime.HasValue)
+ {
+ starttime = dateBiJiaoDTOs[i].StartTime;
}
}
}
@@ -956,14 +1112,19 @@
}
else
{
- if (dateBiJiaoDTOs[i].StartTime > dateBiJiaoDTOs[i - 1].EndTime)
- {
- kuanggong = true;
- break;
- }
- else if (dateBiJiaoDTOs[i].EndTime > dateBiJiaoDTOs[i - 1].EndTime)
+ //if (dateBiJiaoDTOs[i].StartTime > dateBiJiaoDTOs[i - 1].EndTime)
+ //{
+ // //kuanggong = true;
+ // break;
+ //}
+ //else
+ if (dateBiJiaoDTOs[i].EndTime > dateBiJiaoDTOs[i - 1].EndTime)
{
endttime = dateBiJiaoDTOs[i].EndTime;
+ }
+ if (!starttime.HasValue)
+ {
+ starttime = dateBiJiaoDTOs[i].StartTime;
}
}
}
@@ -1020,7 +1181,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" && x.Lavetype != "3" && x.Lavetype != "9").ToList();
foreach (var admAskLeave in feichuqinjia)
{
@@ -1081,6 +1242,64 @@
}
Qingjia += dangtianqingjia;
+
+
+
+ //璁$畻褰撳ぉ甯﹁柂鍋�
+ List<DateBiJiaoDTO> daixinjias = new List<DateBiJiaoDTO>();
+
+ var chauxndaixinjias = admAskLeaveDTOMin.Where(x => x.Lavetype == "4" || x.Lavetype == "7" || x.Lavetype == "3" || x.Lavetype == "9").ToList();
+ foreach (var admAskLeave in chauxndaixinjias)
+ {
+
+ DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
+ dateBiJiaoDTO.StartTime = admAskLeave.StratTime;
+ dateBiJiaoDTO.EndTime = admAskLeave.EndTime;
+ daixinjias.Add(dateBiJiaoDTO);
+
+ }
+
+ foreach (var daixinjia in daixinjias)
+ {
+ if (daixinjia.StartTime < StratTimeWorkingStart)
+ {
+ daixinjia.StartTime = StratTimeWorkingStart;
+ }
+ if (daixinjia.StartTime > StratTimeWorkingEnd && daixinjia.StartTime < StratTimeOffworkStart)
+ {
+ daixinjia.StartTime = StratTimeOffworkStart;
+ }
+
+
+ if (daixinjia.EndTime > StratTimeWorkingEnd && daixinjia.EndTime < StratTimeOffworkStart)
+ {
+ daixinjia.EndTime = StratTimeWorkingEnd;
+ }
+
+
+ if (daixinjia.EndTime > StratTimeOffworkEnd)
+ {
+ daixinjia.EndTime = StratTimeOffworkEnd;
+ }
+ TimeSpan daixinjiashiijan = daixinjia.EndTime.Value.Subtract(daixinjia.StartTime.Value);
+ if (daixinjia.StartTime <= StratTimeWorkingEnd && daixinjia.EndTime >= StratTimeOffworkStart)
+ {
+ TimeSpan wuxiushijian = StratTimeOffworkStart.Subtract(StratTimeWorkingEnd);
+ dangtiandaixinjia += Math.Round(((decimal)(daixinjiashiijan.Hours * 60 + daixinjiashiijan.Minutes - wuxiushijian.Hours * 60 - wuxiushijian.Minutes)) / ((decimal)shangbanshijian), 2);
+ }
+ else
+ {
+ dangtiandaixinjia += Math.Round(((decimal)(daixinjiashiijan.Hours * 60 + daixinjiashiijan.Minutes)) / ((decimal)shangbanshijian), 2);
+ }
+
+
+
+ }
+
+ Daixinjia += dangtiandaixinjia;
+
+
+
//璁$畻褰撳ぉ鍑哄嫟澶╂暟
Jiaban += (1 - Kuanggongtianshu - dangtianqingjia);
@@ -1161,10 +1380,10 @@
{
jiabanshijian = admAskovertimeDTO.Overtime.Value;
}
-
-
-
-
+ if (jiabanshijian > new decimal(shangbanshijian) / 60)
+ {
+ jiabanshijian = new decimal(shangbanshijian) / 60;
+ }
Jiaban += Math.Round(jiabanshijian * 60 / shangbanshijian, 2);
}
}
@@ -1192,7 +1411,7 @@
admAttendanceDtlDTO.OvertimeOut = admSignInDTO.OvertimeOut;
admAttendanceDtlDTO.Qingjia = dangtianqingjia;
admAttendanceDtlDTO.Xiaojia = dangtianxiaojia;
-
+ admAttendanceDtlDTO.Daixinjia = dangtiandaixinjia;
@@ -1228,6 +1447,7 @@
admAttendanceDtlDTO.OvertimeIn = admSignInDTO.OvertimeIn;
admAttendanceDtlDTO.OvertimeOut = admSignInDTO.OvertimeOut;
admAttendanceDtlDTO.Qingjia = dangtianqingjia;
+ admAttendanceDtlDTO.Daixinjia = dangtiandaixinjia;
admAttendanceDtlDTO.Xiaojia = dangtianxiaojia;
@@ -1279,6 +1499,7 @@
admAttendanceDTO.Qingjia = Qingjia;
+ admAttendanceDTO.Daixinjia = Daixinjia;
admAttendanceDTO.Xiaojia = Xiaojia;
admAttendanceDTO.Chidao = Chidao;
admAttendanceDTO.Islock = "A";
@@ -1296,8 +1517,15 @@
//璁$畻宸ヨ祫
public async Task jisuangongziAsync()
{
+ var Month = DateTime.Now.Month - 1;
+ var Year = DateTime.Now.Year;
+ if (Month == 0)
+ {
+ Month = 12;
+ Year = Year - 1;
+ }
//鏌ヨ鎵�鏈夌殑鏈夋晥浜哄憳
- DateTime dateminkaoqin = new DateTime(DateTime.Now.Year, DateTime.Now.Month - 1, 1);
+ DateTime dateminkaoqin = new DateTime(Year, Month, 1);
DateTime datemaxkaoqin = dateminkaoqin.AddMonths(1);
List<PltUserDTO> userList = _userService.GetListjisuankaoqin(dateminkaoqin, datemaxkaoqin);//.Where(x => x.UserSn == "yang").ToList();
List<HrJibengongziDTO> hrJibengongziDTOs = _JibengongziService.GetList().Where(x=> x.Effecttime < datemaxkaoqin).ToList();
@@ -1354,12 +1582,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);
//鏄惁鍦ㄨ瘯鐢ㄦ湡
@@ -1368,8 +1603,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;
@@ -1377,7 +1612,7 @@
hrSalaryDTO.Jiabangongzi = 0;
decimal shiyongqichuqintianshu = 0;
decimal shiyongqichuqinlv = 0;
-
+ decimal yingfaheji = 0;
decimal BasicPrice = 0;
@@ -1453,7 +1688,7 @@
- //yingnashuie = userList[i].ShiyongPrice.Value - Shebaogeren - geshuiqizheng;
+
@@ -1527,7 +1762,7 @@
- //yingnashuie = BasicPrice - Shebaogeren - geshuiqizheng;
+
}
@@ -1818,6 +2053,50 @@
//var feijijiandengji = fiPiecerateDTOs.Where(x => x.Standard == "A");
//var jijiandengji = fiPiecerateDTOs.Where(x => x.Standard == "A");
+ #region 閲囪喘鍏憡褰曞叆
+
+ var caigougonggaoDTOsyue = _projectService.GetcaigougonggaoListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin);
+ if (caigougonggaoDTOsyue != null && caigougonggaoDTOsyue.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 = caigougonggaoDTOsyue.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 = caigougonggaoDTOsyue.Count - renwujishu;
+ if (youxiaojijian > 0)
+ {
+ hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+ }
+
+ }
+ }
+ }
+
+ }
+ }
+ #endregion
+
#region 閲囪喘椤圭洰褰曞叆
var projectDTOsyue = _projectService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin);
@@ -1862,8 +2141,12 @@
}
#endregion
+
+
+
+
#region 瀹㈡埛璧勬枡褰曞叆
-
+
var _intentionCustomerDTOs = _intentionCustomerService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin);
if (_intentionCustomerDTOs!=null && _intentionCustomerDTOs.Count > 0)
{
@@ -3445,6 +3728,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
+
}
@@ -3508,21 +3838,90 @@
decimal peichang1 = hrSalaryDTO1.Peichang.HasValue ? hrSalaryDTO1.Peichang.Value : 0;
decimal jiucuo1 = hrSalaryDTO1.Jiucuo.HasValue ? hrSalaryDTO1.Jiucuo.Value : 0;
- baodinianxin += jibengongzi1 + baomifei1 + gongzuobutie1 + jiabangongzi1 + shebao1 + quanqinjiang1 + jiaotngbutie1 + jixiaoticheng1 + jiangjin1 + bufagongzi1 + jiucuo1;
+ baodinianxin += jibengongzi1 + baomifei1 + gongzuobutie1 + jiabangongzi1 + shebao1 + quanqinjiang1 + jiaotngbutie1 + jixiaoticheng1 + jiangjin1 + bufagongzi1 + jiucuo1+ peichang1;
}
}
- baodinianxin += jibengongzi + baomifei + gongzuobutie + jiabangongzi + shebao + quanqinjiang + jiaotngbutie + jixiaoticheng + jiangjin + bufagongzi + jiucuo;
- if(baodinianxin < userList[i].miniyearsalary.Value)
+ baodinianxin += jibengongzi + baomifei + gongzuobutie + jiabangongzi + shebao + quanqinjiang + jiaotngbutie + jixiaoticheng + jiangjin + bufagongzi + jiucuo + peichang;
+ if (baodinianxin < userList[i].miniyearsalary.Value)
{
jiucuo = userList[i].miniyearsalary.Value - baodinianxin;
}
}
}
+ 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;
@@ -3646,72 +4045,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