From 265f38a3f69276ae97690da64fb8e42be3a940e5 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期五, 16 七月 2021 14:02:28 +0800 Subject: [PATCH] 提交 --- zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs | 951 ++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 776 insertions(+), 175 deletions(-) diff --git a/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs b/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs index fcac78b..7470711 100644 --- a/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs +++ b/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs @@ -37,6 +37,10 @@ private readonly ICooperVisitService _cooperVisitService; private readonly IIntentionCustomerService _intentionCustomerService; private readonly IIntentionVisitService _intentionVisitService; + private readonly IProjectService _projectService; + private readonly ICusFangwenjiluService _cusFangwenjiluService; + private readonly ILiaotianService _liaotianService; + private readonly IDtChannelArticleNewsService _dtChannelArticleNewsService; private readonly decimal jiabangongzibiaozhun = new decimal(21.5); public TimedBackgroundService(ILogger<TimedBackgroundService> logger, IServiceScopeFactory factory) @@ -61,6 +65,11 @@ _cooperVisitService = factory.CreateScope().ServiceProvider.GetRequiredService<ICooperVisitService>(); _intentionCustomerService = factory.CreateScope().ServiceProvider.GetRequiredService<IIntentionCustomerService>(); _intentionVisitService = factory.CreateScope().ServiceProvider.GetRequiredService<IIntentionVisitService>(); + + _projectService = factory.CreateScope().ServiceProvider.GetRequiredService<IProjectService>(); + _cusFangwenjiluService = factory.CreateScope().ServiceProvider.GetRequiredService<ICusFangwenjiluService>(); + _liaotianService = factory.CreateScope().ServiceProvider.GetRequiredService<ILiaotianService>(); + _dtChannelArticleNewsService = factory.CreateScope().ServiceProvider.GetRequiredService<IDtChannelArticleNewsService>(); } protected override async Task ExecuteAsync(CancellationToken stoppingToken) { @@ -1574,13 +1583,12 @@ //var feijijiandengji = fiPiecerateDTOs.Where(x => x.Standard == "A"); //var jijiandengji = fiPiecerateDTOs.Where(x => x.Standard == "A"); - #region 涓婇棬鎷滆瀹㈡埛 + #region 閲囪喘椤圭洰褰曞叆 - var cooperVisitDTOs = _cooperVisitService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin); - var intentionVisitDTOs = _intentionVisitService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin); - if ( cooperVisitDTOs.Count > 0 || intentionVisitDTOs.Count > 0) + var projectDTOsyue = _projectService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin); + if (projectDTOsyue!=null && projectDTOsyue.Count > 0 ) { - var jijianidddd = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "涓婇棬鎷滆瀹㈡埛").FirstOrDefault(); + 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(); @@ -1591,7 +1599,7 @@ decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; if (jixiaotichengfangan.Tichengstandard == "01") { - decimal youxiaojijian = intentionVisitDTOs.Count + cooperVisitDTOs.Count - renwujishu; + decimal youxiaojijian = projectDTOsyue.Count - renwujishu; if (youxiaojijian > 0) { hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); @@ -1605,51 +1613,7 @@ decimal renwujishu = jixiaotichengfangan.Renwu.Value; if (jixiaotichengfangan.Tichengstandard == "01") { - decimal youxiaojijian = intentionVisitDTOs.Count + cooperVisitDTOs.Count - renwujishu; - if (youxiaojijian > 0) - { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); - } - - } - } - } - - } - } - #endregion - - #region 鏂板姞缇ょ粍 - - var groupTopicDTOs = _groupTopicService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin); - if (groupTopicDTOs != null && groupTopicDTOs.Count > 0) - { - var jijianidddd = fiPiecerateDTOs.Where(x => x.Standard == "D" && 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 = groupTopicDTOs.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 = groupTopicDTOs.Count - renwujishu; + decimal youxiaojijian = projectDTOsyue.Count - renwujishu; if (youxiaojijian > 0) { hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); @@ -1664,58 +1628,11 @@ #endregion #region 瀹㈡埛璧勬枡褰曞叆 - var cooperatecustomCustomerDTOs = _cooperatecustomCustomerService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin); - var _intentionCustomerDTOs = _intentionCustomerService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin); - if ( cooperatecustomCustomerDTOs.Count > 0 || _intentionCustomerDTOs.Count > 0) - { - var jijianidddd = fiPiecerateDTOs.Where(x => x.Standard == "D" && 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 = _intentionCustomerDTOs.Count + cooperatecustomCustomerDTOs.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 = _intentionCustomerDTOs.Count + cooperatecustomCustomerDTOs.Count - renwujishu; - if (youxiaojijian > 0) - { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); - } - - } - } - } - } - } - - - #endregion - - - #region 褰曞叆瀹㈡埛绛惧崟 - - var cooperatecustomCustomers = _cooperatecustomCustomerService.GetListsalaryqiandan(userList[i].Id, dateminkaoqin, datemaxkaoqin); - if (cooperatecustomCustomers != null && cooperatecustomCustomers.Count > 0) + var _intentionCustomerDTOs = _intentionCustomerService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin); + if (_intentionCustomerDTOs!=null && _intentionCustomerDTOs.Count > 0) { - var jijianidddd = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "褰曞叆瀹㈡埛绛惧崟").FirstOrDefault(); + 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(); @@ -1726,7 +1643,7 @@ decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; if (jixiaotichengfangan.Tichengstandard == "01") { - decimal youxiaojijian = cooperatecustomCustomers.Count - renwujishu; + decimal youxiaojijian = _intentionCustomerDTOs.Count - renwujishu; if (youxiaojijian > 0) { hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); @@ -1740,7 +1657,7 @@ decimal renwujishu = jixiaotichengfangan.Renwu.Value; if (jixiaotichengfangan.Tichengstandard == "01") { - decimal youxiaojijian = cooperatecustomCustomers.Count - renwujishu; + decimal youxiaojijian = _intentionCustomerDTOs.Count - renwujishu; if (youxiaojijian > 0) { hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); @@ -1751,6 +1668,599 @@ } } } + + + + #endregion + + #region 鏂板姞缇ょ粍 + + var groupTopicDTOs = _groupTopicService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin); + if (groupTopicDTOs != null && groupTopicDTOs.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 = groupTopicDTOs.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 = groupTopicDTOs.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + + } + } + } + + } + } + #endregion + + #region 鐢佃瘽鎺ㄥ箍 + + var intentionVisitDTOs = _intentionVisitService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin).Where(x => x.VisType == "01").ToList(); + if (intentionVisitDTOs != null && intentionVisitDTOs.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 = intentionVisitDTOs.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 = intentionVisitDTOs.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + + } + } + } + + } + } + #endregion + + #region 缇ゅ彂鐭俊 + + var duanxinsyue = _cusFangwenjiluService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin).Where(x => x.Fasongfangshi == "01").ToList(); + if (duanxinsyue != null && duanxinsyue.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 = duanxinsyue.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 = duanxinsyue.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + + } + } + } + + } + } + #endregion + + #region 缇ゅ彂閭欢 + + var youjiansyue = _cusFangwenjiluService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin).Where(x => x.Fasongfangshi == "02").ToList(); + if (youjiansyue != null && youjiansyue.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 = youjiansyue.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 = youjiansyue.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + + } + } + } + + } + } + #endregion + + #region 鏂板鎰忓悜瀹㈡埛锛堣鍗曪級 + + var yixiangsyue = _intentionCustomerService.GetListsalaryyixiang(userList[i].Id, dateminkaoqin, datemaxkaoqin); + if (yixiangsyue != null && yixiangsyue.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 = yixiangsyue.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 = yixiangsyue.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + + } + } + } + + } + } + #endregion + + #region 鏂板绛剧害瀹㈡埛 + + var qianyueDTOsyue = _cooperatecustomCustomerService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin); + if (qianyueDTOsyue != null && qianyueDTOsyue.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 = qianyueDTOsyue.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 = qianyueDTOsyue.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + + } + } + } + + } + } + #endregion + + #region 涓婇棬鎷滆瀹㈡埛 + + var cooperVisitDTOs = _cooperVisitService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin).Where(x => x.VisType == "02").ToList(); + var intentionVisitDTOsshangmen = _intentionVisitService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin).Where(x => x.VisType == "02").ToList(); + if ( cooperVisitDTOs.Count > 0 || intentionVisitDTOsshangmen.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 = intentionVisitDTOsshangmen.Count + cooperVisitDTOs.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 = intentionVisitDTOsshangmen.Count + cooperVisitDTOs.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + + } + } + } + + } + } + #endregion + + #region 鏂伴椈璧勮 + //鏈湀鏁伴噺 + DtChannelArticleNewsDTOSearch searchEntity1 = new DtChannelArticleNewsDTOSearch(); + searchEntity1.EndTime = datemaxkaoqin; + searchEntity1.AddTime = dateminkaoqin; + searchEntity1.UserName = userList[i].UserSn; + searchEntity1.CategoryId = 3; + var dtChannelArticleNewsDTOs = _dtChannelArticleNewsService.GetList(searchEntity1); + + if (dtChannelArticleNewsDTOs != null && dtChannelArticleNewsDTOs.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 = dtChannelArticleNewsDTOs.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 = dtChannelArticleNewsDTOs.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + + } + } + } + + } + } + #endregion + + #region 鍏稿瀷妗堜緥 + //鏈湀鏁伴噺 + searchEntity1 = new DtChannelArticleNewsDTOSearch(); + searchEntity1.EndTime = datemaxkaoqin; + searchEntity1.AddTime = dateminkaoqin; + searchEntity1.UserName = userList[i].UserSn; + searchEntity1.CategoryId = 85; + var dianxinanDTOs = _dtChannelArticleNewsService.GetList(searchEntity1); + + if (dianxinanDTOs != null && dianxinanDTOs.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 = dianxinanDTOs.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 = dianxinanDTOs.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + + } + } + } + + } + } + #endregion + + #region 鏀块噰鐭ヨ瘑 + //鏈湀鏁伴噺 + searchEntity1 = new DtChannelArticleNewsDTOSearch(); + searchEntity1.EndTime = datemaxkaoqin; + searchEntity1.AddTime = dateminkaoqin; + searchEntity1.UserName = userList[i].UserSn; + searchEntity1.CategoryId = 73; + var zhengcaizhishiDTOs = _dtChannelArticleNewsService.GetList(searchEntity1); + + if (zhengcaizhishiDTOs != null && zhengcaizhishiDTOs.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 = zhengcaizhishiDTOs.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 = zhengcaizhishiDTOs.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + + } + } + } + + } + } + #endregion + + #region 鏂板灏忛噰闂 + + var xinzengwendaDTOsyue = _liaotianService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin); + if (xinzengwendaDTOsyue != null && xinzengwendaDTOsyue.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 = xinzengwendaDTOsyue.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 = xinzengwendaDTOsyue.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + + } + } + } + + } + } + #endregion + + #region 瀹℃牳灏忛噰绛旈棶 + + var shenhewendaDTOsyue = _liaotianService.GetListsalaryshenhe(userList[i].Id, dateminkaoqin, datemaxkaoqin); + if (shenhewendaDTOsyue != null && shenhewendaDTOsyue.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 = shenhewendaDTOsyue.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 = shenhewendaDTOsyue.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + + } + } + } + + } + } + #endregion + + #region 褰曞叆瀹㈡埛绛惧崟 + + //var cooperatecustomCustomers = _cooperatecustomCustomerService.GetListsalaryqiandan(userList[i].Id, dateminkaoqin, datemaxkaoqin); + // if (cooperatecustomCustomers != null && cooperatecustomCustomers.Count > 0) + // { + // var jijianidddd = fiPiecerateDTOs.Where(x => x.Standard == "D" && 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 = cooperatecustomCustomers.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 = cooperatecustomCustomers.Count - renwujishu; + // if (youxiaojijian > 0) + // { + // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + // } + + // } + // } + // } + // } + // } #endregion @@ -1773,7 +2283,7 @@ #region 鍥句功閿�鍞� var cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "01").ToList(); - var jijianid = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "鍥句功閿�鍞�").FirstOrDefault(); + var jijianid = fiPiecerateDTOs.Where(x => x.Project == "鍥句功閿�鍞�").FirstOrDefault(); if (jijianid != null && cooperOrdertushu.Count>0) { var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault(); @@ -1813,10 +2323,10 @@ { var dingdanjine = cooperOrdertushu.Sum(x => x.Money); var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; - var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); - var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; + //var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); + //var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; - decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu; + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; if (youxiaojijian > 0) { hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian* new decimal(0.01), 2); @@ -1831,10 +2341,10 @@ { var dingdanjine = cooperOrdertushu.Sum(x => x.Money); var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; - var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); - var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; + //var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); + //var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; - decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu; + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; if (youxiaojijian > 0) { hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); @@ -1847,7 +2357,7 @@ #region 鏀块噰鍜ㄨ cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "02").ToList(); - jijianid = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "鏀块噰鍜ㄨ").FirstOrDefault(); + jijianid = fiPiecerateDTOs.Where(x => x.Project == "鏀块噰鍜ㄨ").FirstOrDefault(); if (jijianid != null && cooperOrdertushu.Count > 0) { var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault(); @@ -1887,10 +2397,10 @@ { var dingdanjine = cooperOrdertushu.Sum(x => x.Money); var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; - var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); - var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; + //var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); + //var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; - decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu; + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; if (youxiaojijian > 0) { hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); @@ -1905,10 +2415,10 @@ { var dingdanjine = cooperOrdertushu.Sum(x => x.Money); var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; - var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); - var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; + //var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); + //var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; - decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu; + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; if (youxiaojijian > 0) { hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); @@ -1922,7 +2432,7 @@ #region 鏍囦功鍒朵綔璁㈠崟 cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "03").ToList(); - jijianid = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "鏍囦功鍒朵綔璁㈠崟").FirstOrDefault(); + jijianid = fiPiecerateDTOs.Where(x => x.Project == "鏍囦功鍒朵綔璁㈠崟").FirstOrDefault(); if (jijianid != null && cooperOrdertushu.Count > 0) { var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault(); @@ -1962,10 +2472,10 @@ { var dingdanjine = cooperOrdertushu.Sum(x => x.Money); var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; - var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); - var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; + //var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); + //var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; - decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu; + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; if (youxiaojijian > 0) { hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); @@ -1980,10 +2490,10 @@ { var dingdanjine = cooperOrdertushu.Sum(x => x.Money); var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; - var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); - var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; + //var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); + //var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; - decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu; + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; if (youxiaojijian > 0) { hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); @@ -1997,7 +2507,7 @@ #region 鍩硅 cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "04").ToList(); - jijianid = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "鍩硅").FirstOrDefault(); + jijianid = fiPiecerateDTOs.Where(x => x.Project == "鍩硅").FirstOrDefault(); if (jijianid != null && cooperOrdertushu.Count > 0) { var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault(); @@ -2037,10 +2547,10 @@ { var dingdanjine = cooperOrdertushu.Sum(x => x.Money); var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; - var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); - var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; + //var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); + //var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; - decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu; + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; if (youxiaojijian > 0) { hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); @@ -2055,10 +2565,10 @@ { var dingdanjine = cooperOrdertushu.Sum(x => x.Money); var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; - var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); - var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; + //var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); + //var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; - decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu; + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; if (youxiaojijian > 0) { hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); @@ -2071,8 +2581,8 @@ #endregion #region 濂楅浼氬憳 - cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "05").ToList(); - jijianid = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "濂楅浼氬憳").FirstOrDefault(); + cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "05").OrderBy(x=>x.Createtime).ToList(); + jijianid = fiPiecerateDTOs.Where(x => x.Project == "濂楅浼氬憳").FirstOrDefault(); if (jijianid != null && cooperOrdertushu.Count > 0) { var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault(); @@ -2104,6 +2614,21 @@ } } + else if (jixiaotichengfangan.Tichengstandard == "02") + { + + if (cooperOrdertushu.Count > renwujishu) + { + List<CooperOrderDTO> cooperOrdertushuyouxiao = new List<CooperOrderDTO>(); + for (int j = Convert.ToInt32(renwujishu); j < cooperOrdertushu.Count; j++) + { + cooperOrdertushuyouxiao.Add(cooperOrdertushu[j]); + } + var dingdanjine = cooperOrdertushuyouxiao.Sum(x => x.Money); + var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * dingdanjinezhenshi * new decimal(0.01), 2); + } + } } else if (jixiaotichengfangan.Renwustandard == "03") { @@ -2112,10 +2637,10 @@ { var dingdanjine = cooperOrdertushu.Sum(x => x.Money); var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; - var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); - var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; + //var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); + //var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; - decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu; + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; if (youxiaojijian > 0) { hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); @@ -2130,15 +2655,15 @@ { var dingdanjine = cooperOrdertushu.Sum(x => x.Money); var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; - var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); - var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; + //var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); + //var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; - decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu; + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; if (youxiaojijian > 0) { hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); } - } + } } } } @@ -2147,7 +2672,7 @@ #region 涓撳鐢宠 cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "06").ToList(); - jijianid = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "涓撳鐢宠").FirstOrDefault(); + jijianid = fiPiecerateDTOs.Where(x => x.Project == "涓撳鐢宠").FirstOrDefault(); if (jijianid != null && cooperOrdertushu.Count > 0) { var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault(); @@ -2187,10 +2712,10 @@ { var dingdanjine = cooperOrdertushu.Sum(x => x.Money); var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; - var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); - var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; + //var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); + //var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; - decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu; + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; if (youxiaojijian > 0) { hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); @@ -2205,10 +2730,10 @@ { var dingdanjine = cooperOrdertushu.Sum(x => x.Money); var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; - var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); - var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; + //var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); + //var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; - decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu; + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; if (youxiaojijian > 0) { hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); @@ -2222,7 +2747,7 @@ #region 灞ョ害绾犵悍 cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "07").ToList(); - jijianid = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "灞ョ害绾犵悍").FirstOrDefault(); + jijianid = fiPiecerateDTOs.Where(x => x.Project == "灞ョ害绾犵悍").FirstOrDefault(); if (jijianid != null && cooperOrdertushu.Count > 0) { var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault(); @@ -2262,10 +2787,10 @@ { var dingdanjine = cooperOrdertushu.Sum(x => x.Money); var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; - var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); - var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; + //var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); + //var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; - decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu; + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; if (youxiaojijian > 0) { hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); @@ -2280,10 +2805,10 @@ { var dingdanjine = cooperOrdertushu.Sum(x => x.Money); var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; - var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); - var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; + //var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); + //var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; - decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu; + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; if (youxiaojijian > 0) { hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); @@ -2297,7 +2822,7 @@ #region 椋庨櫓浠g悊 cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "08").ToList(); - jijianid = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "椋庨櫓浠g悊").FirstOrDefault(); + jijianid = fiPiecerateDTOs.Where(x => x.Project == "椋庨櫓浠g悊").FirstOrDefault(); if (jijianid != null && cooperOrdertushu.Count > 0) { var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault(); @@ -2337,10 +2862,10 @@ { var dingdanjine = cooperOrdertushu.Sum(x => x.Money); var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; - var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); - var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; + //var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); + //var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; - decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu; + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; if (youxiaojijian > 0) { hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); @@ -2355,10 +2880,10 @@ { var dingdanjine = cooperOrdertushu.Sum(x => x.Money); var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; - var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); - var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; + //var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); + //var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; - decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu; + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; if (youxiaojijian > 0) { hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); @@ -2372,7 +2897,7 @@ #region 杞欢閿�鍞彁鎴� cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "09").ToList(); - jijianid = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "杞欢閿�鍞彁鎴�").FirstOrDefault(); + jijianid = fiPiecerateDTOs.Where(x => x.Project == "杞欢閿�鍞彁鎴�").FirstOrDefault(); if (jijianid != null && cooperOrdertushu.Count > 0) { var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault(); @@ -2412,10 +2937,10 @@ { var dingdanjine = cooperOrdertushu.Sum(x => x.Money); var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; - var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); - var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; + //var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); + //var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; - decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu; + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; if (youxiaojijian > 0) { hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); @@ -2430,10 +2955,10 @@ { var dingdanjine = cooperOrdertushu.Sum(x => x.Money); var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; - var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); - var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; + //var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); + //var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; - decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu; + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; if (youxiaojijian > 0) { hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); @@ -2447,7 +2972,7 @@ #region 鍏朵粬涓氬姟 cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "10").ToList(); - jijianid = fiPiecerateDTOs.Where(x => x.Standard == "D" && x.Project == "鍏朵粬涓氬姟").FirstOrDefault(); + jijianid = fiPiecerateDTOs.Where(x => x.Project == "鍏朵粬涓氬姟").FirstOrDefault(); if (jijianid != null && cooperOrdertushu.Count > 0) { var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault(); @@ -2487,10 +3012,10 @@ { var dingdanjine = cooperOrdertushu.Sum(x => x.Money); var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; - var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); - var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; + //var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); + //var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; - decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu; + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; if (youxiaojijian > 0) { hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); @@ -2505,10 +3030,10 @@ { var dingdanjine = cooperOrdertushu.Sum(x => x.Money); var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; - var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); - var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; + //var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); + //var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; - decimal youxiaojijian = dingdanjinezhenshi - dingdanyouhuizhenshi - renwujishu; + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; if (youxiaojijian > 0) { hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); @@ -2519,6 +3044,82 @@ } #endregion + + #region 鏁版嵁鍒嗘瀽 + cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "11").ToList(); + jijianid = fiPiecerateDTOs.Where(x => x.Project == "鏁版嵁鍒嗘瀽").FirstOrDefault(); + if (jijianid != null && cooperOrdertushu.Count > 0) + { + var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianid.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 = cooperOrdertushu.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 = cooperOrdertushu.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + + } + } + else if (jixiaotichengfangan.Renwustandard == "03") + { + decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; + if (jixiaotichengfangan.Tichengstandard == "02") + { + var dingdanjine = cooperOrdertushu.Sum(x => x.Money); + var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; + //var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); + //var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; + + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); + } + } + + } + else if (jixiaotichengfangan.Renwustandard == "04") + { + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + if (jixiaotichengfangan.Tichengstandard == "02") + { + var dingdanjine = cooperOrdertushu.Sum(x => x.Money); + var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; + //var dingdanyouhui = cooperOrdertushu.Sum(x => x.Youhui); + //var dingdanyouhuizhenshi = dingdanyouhui.HasValue ? dingdanyouhui.Value : 0; + + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); + } + } + } + } + } + + #endregion + } -- Gitblit v1.9.1