From 5421f9a6e5e2b28cc32aa8aa6dec9becd0c1eb3c Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期三, 04 一月 2023 10:19:57 +0800
Subject: [PATCH] 业务经理意向和合作客户只能1000,90天意向不转合作就制空业务经理,查询没有业务经理的档案客户和合作客户
---
zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs | 145 +++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 137 insertions(+), 8 deletions(-)
diff --git a/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs b/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs
index 335cc97..7430db2 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)
{
@@ -102,6 +104,11 @@
try
{
+ _logger.LogInformation("鎶婅秴杩�90澶╄繕娌℃湁杞寲鐨勬。妗堝鎴风殑涓氬姟缁忕悊褰掍负鏃�");
+ this.ywjlguiling();
+
+ _logger.LogInformation("鎶婅秴杩�90澶╄繕娌℃湁杞寲鐨勬。妗堝鎴风殑涓氬姟缁忕悊褰掍负鏃犳墽琛岀粨鏉�");
+
_logger.LogInformation("鍒ゆ柇鏄惁鏄浜斾釜宸ヤ綔鏃ョ粨鏉�");
DateTime diwutian = this.diwugongzuori();
//绗簲涓伐浣滄棩缁撴潫鍚庡紑濮嬭绠�
@@ -205,6 +212,20 @@
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);
+ }
+ }
+
//璁$畻鑰冨嫟
public void jisuankaoqin()
{
@@ -236,14 +257,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);
@@ -339,7 +366,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();
@@ -627,7 +654,7 @@
//璁$畻褰撳ぉ璇峰亣
List<DateBiJiaoDTO> qingjias = new List<DateBiJiaoDTO>();
- var feichuqinjia = admAskLeaveDTOMin.Where(x => x.Lavetype != "4" && x.Lavetype != "7" && x.Lavetype != "3").ToList();
+ var feichuqinjia = admAskLeaveDTOMin.Where(x => x.Lavetype != "4" && x.Lavetype != "7" && x.Lavetype != "3" && x.Lavetype != "9").ToList();
foreach (var admAskLeave in feichuqinjia)
{
@@ -1020,7 +1047,7 @@
//璁$畻褰撳ぉ璇峰亣
List<DateBiJiaoDTO> qingjias = new List<DateBiJiaoDTO>();
- var feichuqinjia = admAskLeaveDTOMin.Where(x => x.Lavetype != "4" && x.Lavetype != "7" && x.Lavetype != "3").ToList();
+ var feichuqinjia = admAskLeaveDTOMin.Where(x => x.Lavetype != "4" && x.Lavetype != "7" && x.Lavetype != "3" && x.Lavetype != "9").ToList();
foreach (var admAskLeave in feichuqinjia)
{
@@ -1296,8 +1323,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();
@@ -1825,6 +1859,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);
@@ -1869,8 +1947,12 @@
}
#endregion
+
+
+
+
#region 瀹㈡埛璧勬枡褰曞叆
-
+
var _intentionCustomerDTOs = _intentionCustomerService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin);
if (_intentionCustomerDTOs!=null && _intentionCustomerDTOs.Count > 0)
{
@@ -3452,6 +3534,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
+
}
--
Gitblit v1.9.1