From bf14008acffe7a9a7ac6e2eeb38ce3552b71b33a Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期二, 14 三月 2023 13:43:30 +0800 Subject: [PATCH] 提交 --- zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs | 2020 +++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 1,743 insertions(+), 277 deletions(-) diff --git a/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs b/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs index 8ecf6f0..5a71989 100644 --- a/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs +++ b/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs @@ -95,7 +95,7 @@ _logger.LogInformation("MyServiceA is starting."); //stoppingToken.Register(() => File.Create($"E:\\dotnetCore\\Practice\\Practice\\{DateTime.Now.Millisecond}.txt")); - + DateTime datenow = DateTime.Now.Date; while (!stoppingToken.IsCancellationRequested) { @@ -219,6 +219,85 @@ _logger.LogInformation("DateTime.Now" + DateTime.Now.Date); return diwutian; } + + + //璁$畻褰撳墠鏃ユ湡鏄惁鏄伐浣滄棩 + public Boolean shifougongzuori(DateTime workdate) + { + var admAttendanceRulesDtlDTOs = _attendanceRuleService.GetDtlList(""); + AdmAttendanceRuleDTO admAttendanceRuleDTO = _attendanceRuleService.Get(""); + var jiejiari = admAttendanceRulesDtlDTOs.Where(x => x.Name == "jiejiari").ToList(); + var tiaoxiuri = admAttendanceRulesDtlDTOs.Where(x => x.Name == "tiaoxiuri").ToList(); + var jiabanri = admAttendanceRulesDtlDTOs.Where(x => x.Name == "jiabanri").ToList(); + ////鑾峰彇鏈湀鐨勭浜斾釜宸ヤ綔鏃ユ棩鏈熴�� + //DateTime datemin = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); + //DateTime datemax = datemin.AddMonths(1); + //_logger.LogInformation("datemin" + datemin); + //_logger.LogInformation("datemax" + datemax); + Boolean shifoushangban = false; + + //鏄惁涓婄彮鏃ユ湡 + if ((int)workdate.DayOfWeek >= admAttendanceRuleDTO.WeekStart && (int)workdate.DayOfWeek <= admAttendanceRuleDTO.WeekEnd) + { + //鏄惁鑺傚亣鏃� + if (jiejiari.Exists(x => x.ValueStart <= workdate && x.ValueEnd >= workdate)) + { + shifoushangban = false; + } + else + { + shifoushangban = true; + } + + } + else + { + //鏄惁璋冧紤鏃� 璋冧紤鏃ラ渶瑕佷笂鐝� + if (tiaoxiuri.Exists(x => x.ValueStart <= workdate && x.ValueEnd >= workdate)) + { + shifoushangban = true; + } + //鏄惁鍔犵彮鏃� 鍔犵彮鏃ラ渶瑕佷笂鐝� + if (jiabanri.Exists(x => x.ValueStart <= workdate && x.ValueEnd >= workdate)) + { + shifoushangban = true; + } + } + + + + return shifoushangban; + } + + + //鑾峰彇鏃ユ湡鎵�鍦ㄥ懆鐨勮捣姝㈡棩鏈� + /// <summary> + /// 璁$畻鏈懆璧峰鏃ユ湡锛堟槦鏈熶竴锛� + /// </summary> + /// <param name="dateTime">璇ュ懆涓换鎰忎竴澶�</param> + /// <returns>杩斿洖绀兼嫓涓�鏃ユ湡锛屽悗闈㈢殑鍏蜂綋鏃躲�佸垎銆佺鍜屼紶鍏ュ�肩浉绛�</returns> + public DateTime CalculateFirstDateOfWeek(DateTime dateTime) + { + int i = dateTime.DayOfWeek - DayOfWeek.Monday; + if (i == -1) + i = 6; + TimeSpan ts = new TimeSpan(i, 0, 0, 0); + return dateTime.Subtract(ts); + } + + /// <summary> + /// 璁$畻鏈懆缁撴潫鏃ユ湡锛堢ぜ鎷滄棩鐨勬棩鏈燂級 + /// </summary> + /// <param name="dateTime"> 璇ュ懆涓换鎰忎竴澶�</param> + /// <returns>杩斿洖绀兼嫓鏃ユ棩鏈燂紝鍚庨潰鐨勫叿浣撴椂銆佸垎銆佺鍜屼紶鍏ュ�肩浉绛� </returns> + public DateTime CalculateLastDateOfWeek(DateTime dateTime) + { + int i = dateTime.DayOfWeek - DayOfWeek.Sunday; + if (i != 0) i = 7 - i; // 鍥犱负鏋氫妇鍘熷洜锛孲unday鎺掑湪鏈�鍓嶏紝鐩稿噺闂撮殧瑕佽7鍑忋�� + TimeSpan ts = new TimeSpan(i, 0, 0, 0); + return dateTime.Add(ts); + } + //鎶婅秴杩�90澶╄繕娌℃湁杞寲鐨勬。妗堝鎴风殑涓氬姟缁忕悊褰掍负鏃� @@ -1624,12 +1703,20 @@ - if (userList[i].ShiyongDate.HasValue && userList[i].ShiyongDateEnd.HasValue && dateminkaoqin>= userList[i].ShiyongDate.Value && dateminkaoqin <= userList[i].ShiyongDateEnd.Value) + if (userList[i].ShiyongDate.HasValue && userList[i].ShiyongDateEnd.HasValue && datemaxkaoqin> userList[i].ShiyongDate.Value && dateminkaoqin <= userList[i].ShiyongDateEnd.Value) { + hrSalaryDTO.Jibengongzi = Math.Round(hrJibengongzi.Jibengongzi.Value * chuqinlv * new decimal(0.8), 2) ; + hrSalaryDTO.Baomifei = Math.Round(hrJibengongzi.Baomifei.Value * chuqinlv * new decimal(0.8), 2) ; + decimal ShiyongPrice = 0; if (!userList[i].ShiyongPrice.HasValue) { - _logger.LogInformation(userList[i].UserName + ": 鍛樺伐澶勪簬璇曠敤鏈燂紝浣嗘槸璇曠敤鏈熷伐璧勪负绌�"); - continue; + ShiyongPrice = BasicPrice * new decimal(0.8); + _logger.LogInformation(userList[i].UserName + ": 鍛樺伐澶勪簬璇曠敤鏈燂紝浣嗘槸璇曠敤鏈熷伐璧勪负绌�,瀹氫负姝e紡宸ヨ祫鐨�0.8鍊�"); + + } + else + { + ShiyongPrice = userList[i].ShiyongPrice.Value; } //鏌ヨ鏄惁鏈変笉绉拌亴鐨勫伐浣滆�冭瘎 var admEvaluateDTOsshiyongqi = _admEvaluateService.GetListsalary(userList[i].Id, dateminkaoqin, userList[i].ShiyongDateEnd.Value.AddDays(1)).Where(x => x.EvaluateValue == "03").ToList(); @@ -1647,7 +1734,7 @@ shiyongqichuqintianshu += (1 - admAttendanceDtlDTO.Qingjia - admAttendanceDtlDTO.Kuanggongtianshu); if (admAttendanceDtlDTO.Kuanggongtianshu > 0) { - var queqingkoukuan = Math.Round(userList[i].ShiyongPrice.Value / jiabangongzibiaozhun * admAttendanceDtlDTO.Kuanggongtianshu * (admAttendanceRuleDTO.AbsenteeismPayment1 - 1), 2); + var queqingkoukuan = Math.Round(ShiyongPrice / jiabangongzibiaozhun * admAttendanceDtlDTO.Kuanggongtianshu * (admAttendanceRuleDTO.AbsenteeismPayment1 - 1), 2); if (queqingkoukuan > 0) { hrSalaryDTO.Queqin += queqingkoukuan; @@ -1662,14 +1749,14 @@ 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); + hrSalaryDTO.Fakuan += Math.Round(ShiyongPrice * admEvaluateDTOsshiyongqi.Count / admAttendanceDTO.Yingchuqin + BasicPrice * (admEvaluateDTOs.Count - admEvaluateDTOsshiyongqi.Count) / admAttendanceDTO.Yingchuqin, 2); } else { if (admAttendanceDTO.Kuanggong > 0) { - var queqingkoukuan = Math.Round(userList[i].ShiyongPrice.Value / jiabangongzibiaozhun * admAttendanceDTO.Kuanggong * (admAttendanceRuleDTO.AbsenteeismPayment1 - 1), 2); + var queqingkoukuan = Math.Round(ShiyongPrice / jiabangongzibiaozhun * admAttendanceDTO.Kuanggong * (admAttendanceRuleDTO.AbsenteeismPayment1 - 1), 2); if (queqingkoukuan > 0) { hrSalaryDTO.Queqin += queqingkoukuan; @@ -1683,13 +1770,13 @@ //宸ヤ綔璇勪环涓嶅悎鏍肩綒娆� - hrSalaryDTO.Fakuan += Math.Round(userList[i].ShiyongPrice.Value * admEvaluateDTOs.Count / admAttendanceDTO.Yingchuqin, 2); + hrSalaryDTO.Fakuan += Math.Round(ShiyongPrice * admEvaluateDTOs.Count / admAttendanceDTO.Yingchuqin, 2); } - hrSalaryDTO.Gongzuobutie += Math.Round( (userList[i].ShiyongPrice.Value - hrJibengongzi.Baomifei.Value- hrJibengongzi.Jibengongzi.Value ) * shiyongqichuqinlv, 2); + hrSalaryDTO.Gongzuobutie += Math.Round( (ShiyongPrice * shiyongqichuqinlv - hrSalaryDTO.Baomifei.Value- hrSalaryDTO.Jibengongzi.Value ) , 2); @@ -1767,7 +1854,7 @@ - hrSalaryDTO.Gongzuobutie += Math.Round((BasicPrice - hrJibengongzi.Baomifei.Value - hrJibengongzi.Jibengongzi.Value) * zhuanzhengchuqinlv, 2); + hrSalaryDTO.Gongzuobutie += Math.Round((BasicPrice * zhuanzhengchuqinlv - hrSalaryDTO.Baomifei.Value - hrSalaryDTO.Jibengongzi.Value) , 2); @@ -2075,16 +2162,43 @@ { if (jixiaotichengfangan.Renwustandard == "01") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; - if (jixiaotichengfangan.Tichengstandard == "01") + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while(kaishijisuan < datemaxkaoqin) { - decimal youxiaojijian = caigougonggaoDTOsyue.Count - renwujishu; - if (youxiaojijian > 0) + try { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var caigougonggaoDTOsri = caigougonggaoDTOsyue.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = caigougonggaoDTOsri.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + } + } + } - + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + //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") @@ -2109,7 +2223,8 @@ #region 閲囪喘椤圭洰褰曞叆 var projectDTOsyue = _projectService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin); - if (projectDTOsyue!=null && projectDTOsyue.Count > 0 ) + var zhengfuprojectDTOsyue = _projectService.GetListsalaryzhengfu(userList[i].Id, dateminkaoqin, datemaxkaoqin); + if ((projectDTOsyue!=null && projectDTOsyue.Count > 0 ) || (zhengfuprojectDTOsyue != null && zhengfuprojectDTOsyue.Count > 0)) { var jijianidddd = fiPiecerateDTOs.Where(x => x.Project == "閲囪喘椤圭洰褰曞叆").FirstOrDefault(); if (jijianidddd != null) @@ -2119,16 +2234,44 @@ { if (jixiaotichengfangan.Renwustandard == "01") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; - if (jixiaotichengfangan.Tichengstandard == "01") + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - decimal youxiaojijian = projectDTOsyue.Count - renwujishu; - if (youxiaojijian > 0) + try { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); - } + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var projectDTOri = projectDTOsyue.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + var zhengfuprojectDTOri = zhengfuprojectDTOsyue.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = projectDTOri.Count + zhengfuprojectDTOri.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + } + } + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + //decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; + //if (jixiaotichengfangan.Tichengstandard == "01") + //{ + // decimal youxiaojijian = projectDTOsyue.Count - renwujishu; + // if (youxiaojijian > 0) + // { + // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + // } + + //} } else if (jixiaotichengfangan.Renwustandard == "02") @@ -2136,7 +2279,7 @@ decimal renwujishu = jixiaotichengfangan.Renwu.Value; if (jixiaotichengfangan.Tichengstandard == "01") { - decimal youxiaojijian = projectDTOsyue.Count - renwujishu; + decimal youxiaojijian = projectDTOsyue.Count + zhengfuprojectDTOsyue.Count - renwujishu; if (youxiaojijian > 0) { hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); @@ -2167,16 +2310,43 @@ { if (jixiaotichengfangan.Renwustandard == "01") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; - if (jixiaotichengfangan.Tichengstandard == "01") + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - decimal youxiaojijian = _intentionCustomerDTOs.Count - renwujishu; - if (youxiaojijian > 0) + try { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); - } + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var _intentionCustomerDTOsri = _intentionCustomerDTOs.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = _intentionCustomerDTOsri.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + } + } + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + //decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; + //if (jixiaotichengfangan.Tichengstandard == "01") + //{ + // decimal youxiaojijian = _intentionCustomerDTOs.Count - renwujishu; + // if (youxiaojijian > 0) + // { + // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + // } + + //} } else if (jixiaotichengfangan.Renwustandard == "02") @@ -2213,16 +2383,43 @@ { if (jixiaotichengfangan.Renwustandard == "01") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; - if (jixiaotichengfangan.Tichengstandard == "01") + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - decimal youxiaojijian = groupTopicDTOs.Count - renwujishu; - if (youxiaojijian > 0) + try { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); - } + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var groupTopicDTOsri = groupTopicDTOs.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = groupTopicDTOsri.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + } + } + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + //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") @@ -2257,16 +2454,43 @@ { if (jixiaotichengfangan.Renwustandard == "01") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; - if (jixiaotichengfangan.Tichengstandard == "01") + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - decimal youxiaojijian = intentionVisitDTOs.Count - renwujishu; - if (youxiaojijian > 0) + try { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); - } + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var intentionVisitDTOsri = intentionVisitDTOs.Where(x => x.Vistime >= kaishijisuan && x.Vistime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = intentionVisitDTOsri.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + } + } + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + //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") @@ -2301,16 +2525,43 @@ { if (jixiaotichengfangan.Renwustandard == "01") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; - if (jixiaotichengfangan.Tichengstandard == "01") + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - decimal youxiaojijian = duanxinsyue.Count - renwujishu; - if (youxiaojijian > 0) + try { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); - } + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var duanxinsri = duanxinsyue.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = duanxinsri.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + } + } + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + //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") @@ -2332,6 +2583,80 @@ } #endregion + + #region 娣诲姞寰俊瀹㈡埛 + TongjiBaoBiaoDTO weixnDTO = new TongjiBaoBiaoDTO(); + weixnDTO.gongzuo = "娣诲姞寰俊瀹㈡埛"; + //鏈湀鏁伴噺 + var cooperweixinDTOsyue = _cooperatecustomCustomerService.GetListsalaryweixin(userList[i].Id, dateminkaoqin, datemaxkaoqin); + var intentionweixinDTOsyue = _intentionCustomerService.GetListsalaryweixin(userList[i].Id, dateminkaoqin, datemaxkaoqin); + var jijianiweixn = fiPiecerateDTOs.Where(x => x.Project == "娣诲姞寰俊瀹㈡埛").FirstOrDefault(); + if (jijianiweixn != null) + { + var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianiweixn.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault(); + if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue) + { + if (jixiaotichengfangan.Renwustandard == "01") + { + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) + { + try + { + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var cooperweixinDTOsri = cooperweixinDTOsyue.Where(x => x.Weixintime >= kaishijisuan && x.Weixintime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + var intentionweixinDTOsri = intentionweixinDTOsyue.Where(x => x.Weixintime >= kaishijisuan && x.Weixintime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = cooperweixinDTOsri.Count + intentionweixinDTOsri.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + } + } + + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); + } + //decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; + //if (jixiaotichengfangan.Tichengstandard == "01") + //{ + // decimal youxiaojijian = cooperweixinDTOsyue.Count+ intentionweixinDTOsyue.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 = cooperweixinDTOsyue.Count + intentionweixinDTOsyue.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(); @@ -2345,16 +2670,43 @@ { if (jixiaotichengfangan.Renwustandard == "01") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; - if (jixiaotichengfangan.Tichengstandard == "01") + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - decimal youxiaojijian = youjiansyue.Count - renwujishu; - if (youxiaojijian > 0) + try { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); - } + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var youjiansri = youjiansyue.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = youjiansri.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + } + } + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + //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") @@ -2389,16 +2741,43 @@ { if (jixiaotichengfangan.Renwustandard == "01") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; - if (jixiaotichengfangan.Tichengstandard == "01") + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - decimal youxiaojijian = yixiangsyue.Count - renwujishu; - if (youxiaojijian > 0) + try { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); - } + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var yixiangsri = yixiangsyue.Where(x => x.Yixiangtime >= kaishijisuan && x.Yixiangtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = yixiangsri.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + } + } + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + //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") @@ -2478,16 +2857,44 @@ { if (jixiaotichengfangan.Renwustandard == "01") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; - if (jixiaotichengfangan.Tichengstandard == "01") + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - decimal youxiaojijian = zhucehuiyuansyue.Count - renwujishu; - if (youxiaojijian > 0) + try { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); - } + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var zhucehuiyuansyueri = zhucehuiyuansyue.Where(x => x.CreatTime >= kaishijisuan && x.CreatTime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = zhucehuiyuansyueri.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + } + } + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + + //decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; + //if (jixiaotichengfangan.Tichengstandard == "01") + //{ + // decimal youxiaojijian = zhucehuiyuansyue.Count - renwujishu; + // if (youxiaojijian > 0) + // { + // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + // } + + //} } else if (jixiaotichengfangan.Renwustandard == "02") @@ -2523,16 +2930,44 @@ { if (jixiaotichengfangan.Renwustandard == "01") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; - if (jixiaotichengfangan.Tichengstandard == "01") + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - decimal youxiaojijian = qianyueDTOsyue.Count - renwujishu; - if (youxiaojijian > 0) + try { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); - } + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var qianyueDTOsri = qianyueDTOsyue.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = qianyueDTOsri.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + } + } + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + + //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") @@ -2568,16 +3003,44 @@ { if (jixiaotichengfangan.Renwustandard == "01") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; - if (jixiaotichengfangan.Tichengstandard == "01") + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - decimal youxiaojijian = intentionVisitDTOsshangmen.Count + cooperVisitDTOs.Count - renwujishu; - if (youxiaojijian > 0) + try { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); - } + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var cooperVisitDTOsri = cooperVisitDTOs.Where(x => x.Vistime >= kaishijisuan && x.Vistime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + var intentionVisitDTOsshangmenri = intentionVisitDTOsshangmen.Where(x => x.Vistime >= kaishijisuan && x.Vistime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = cooperVisitDTOsri.Count + intentionVisitDTOsshangmenri.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + } + } + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + //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") @@ -2591,6 +3054,42 @@ hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); } + } + } + + else if (jixiaotichengfangan.Renwustandard == "05") + { + + var cooperVisitDTOszhou = _cooperVisitService.GetListsalary(userList[i].Id, dateminkaoqin.AddMonths(-1), datemaxkaoqin).Where(x => x.VisType == "02").ToList(); + var intentionVisitDTOsshangmenzhou = _intentionVisitService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin).Where(x => x.VisType == "02").ToList(); + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) + { + var zhoukaishidate = CalculateFirstDateOfWeek(kaishijisuan); + var zhoujieshudate = CalculateLastDateOfWeek(kaishijisuan); + + try + { + if(zhoujieshudate < datemaxkaoqin) + { + var cooperVisitDTOsri = cooperVisitDTOszhou.Where(x => x.Vistime >= zhoukaishidate && x.Vistime < zhoujieshudate.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + var intentionVisitDTOsshangmenri = intentionVisitDTOsshangmenzhou.Where(x => x.Vistime >= zhoukaishidate && x.Vistime < zhoujieshudate.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = cooperVisitDTOsri.Count + intentionVisitDTOsshangmenri.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + } + } + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = zhoujieshudate.AddDays(1); } } } @@ -2618,16 +3117,43 @@ { if (jixiaotichengfangan.Renwustandard == "01") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; - if (jixiaotichengfangan.Tichengstandard == "01") + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - decimal youxiaojijian = dtChannelArticleNewsDTOs.Count - renwujishu; - if (youxiaojijian > 0) + try { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); - } + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var dtChannelArticleNewsDTOsri = dtChannelArticleNewsDTOs.Where(x => x.AddTime >= kaishijisuan && x.AddTime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = dtChannelArticleNewsDTOsri.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + } + } + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + //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") @@ -2668,16 +3194,43 @@ { if (jixiaotichengfangan.Renwustandard == "01") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; - if (jixiaotichengfangan.Tichengstandard == "01") + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - decimal youxiaojijian = dianxinanDTOs.Count - renwujishu; - if (youxiaojijian > 0) + try { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); - } + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var dianxinanDTOsri = dianxinanDTOs.Where(x => x.AddTime >= kaishijisuan && x.AddTime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = dianxinanDTOsri.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + } + } + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + //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") @@ -2718,16 +3271,43 @@ { if (jixiaotichengfangan.Renwustandard == "01") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; - if (jixiaotichengfangan.Tichengstandard == "01") + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - decimal youxiaojijian = zhengcaizhishiDTOs.Count - renwujishu; - if (youxiaojijian > 0) + try { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); - } + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var zhengcaizhishiDTOsri = zhengcaizhishiDTOs.Where(x => x.AddTime >= kaishijisuan && x.AddTime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = zhengcaizhishiDTOsri.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + } + } + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + //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") @@ -2762,16 +3342,43 @@ { if (jixiaotichengfangan.Renwustandard == "01") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; - if (jixiaotichengfangan.Tichengstandard == "01") + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - decimal youxiaojijian = xinzengwendaDTOsyue.Count - renwujishu; - if (youxiaojijian > 0) + try { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); - } + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var xinzengwendaDTOsri = xinzengwendaDTOsyue.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = xinzengwendaDTOsri.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + } + } + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + //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") @@ -2806,16 +3413,43 @@ { if (jixiaotichengfangan.Renwustandard == "01") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; - if (jixiaotichengfangan.Tichengstandard == "01") + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - decimal youxiaojijian = shenhewendaDTOsyue.Count - renwujishu; - if (youxiaojijian > 0) + try { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); - } + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var shenhewendaDTOsri = shenhewendaDTOsyue.Where(x => x.Shenhetime >= kaishijisuan && x.Shenhetime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = shenhewendaDTOsri.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + } + } + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + //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") @@ -2897,6 +3531,7 @@ #endregion //鍚堜綔瀹㈡埛璁㈠崟 List<CooperOrderDTO> cooperOrderDTOs = _cooperOrderService.GetList(userList[i].Id, dateminkaoqin, datemaxkaoqin); + List<CooperOrderDTO> cooperOrderDTOszhouyue = _cooperOrderService.GetList(userList[i].Id, dateminkaoqin.AddMinutes(-1), datemaxkaoqin); #region 鍥句功閿�鍞� var cooperOrdertushu = cooperOrderDTOs.Where(x => x.OrderType == "01").ToList(); @@ -2908,17 +3543,44 @@ { if(jixiaotichengfangan.Renwustandard == "01") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; - if(jixiaotichengfangan.Tichengstandard == "01") + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - decimal youxiaojijian = cooperOrdertushu.Count - renwujishu ; - if (youxiaojijian>0) + try { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var cooperOrdertushusri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = cooperOrdertushusri.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + } + } + } - + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } - + //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") { @@ -2935,19 +3597,49 @@ } 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) + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian* new decimal(0.01), 2); + try + { + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var cooperOrdertushusri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + var dingdanjine = cooperOrdertushusri.Sum(x => x.Money); + var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; + if (jixiaotichengfangan.Tichengstandard == "02") + { + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); + } + } + } + + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + //decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; + //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); + //} } } @@ -2966,6 +3658,44 @@ { hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); } + } + } + else if (jixiaotichengfangan.Renwustandard == "06") + { + + var cooperOrderDTOszhou = cooperOrderDTOszhouyue.Where(x => x.OrderType == "01").ToList(); + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) + { + var zhoukaishidate = CalculateFirstDateOfWeek(kaishijisuan); + var zhoujieshudate = CalculateLastDateOfWeek(kaishijisuan); + + try + { + if (zhoujieshudate < datemaxkaoqin) + { + var cooperOrdertushusri = cooperOrderDTOszhou.Where(x => x.Createtime >= zhoukaishidate && x.Createtime < zhoujieshudate.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + var dingdanjine = cooperOrdertushusri.Sum(x => x.Money); + var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; + if (jixiaotichengfangan.Tichengstandard == "02") + { + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); + } + } + + + + } + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = zhoujieshudate.AddDays(1); } } } @@ -2982,16 +3712,44 @@ { if (jixiaotichengfangan.Renwustandard == "01") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; - if (jixiaotichengfangan.Tichengstandard == "01") + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - decimal youxiaojijian = cooperOrdertushu.Count - renwujishu; - if (youxiaojijian > 0) + try { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); - } + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = cooperOrdertushuri.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + } + } + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + + //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") @@ -3009,19 +3767,49 @@ } 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) + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); + try + { + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + var dingdanjine = cooperOrdertushuri.Sum(x => x.Money); + var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; + if (jixiaotichengfangan.Tichengstandard == "02") + { + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); + } + } + } + + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + //decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; + //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); + //} } } @@ -3040,6 +3828,44 @@ { hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); } + } + } + else if (jixiaotichengfangan.Renwustandard == "06") + { + + var cooperOrderDTOszhou = cooperOrderDTOszhouyue.Where(x => x.OrderType == "02").ToList(); + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) + { + var zhoukaishidate = CalculateFirstDateOfWeek(kaishijisuan); + var zhoujieshudate = CalculateLastDateOfWeek(kaishijisuan); + + try + { + if (zhoujieshudate < datemaxkaoqin) + { + var cooperOrdertushusri = cooperOrderDTOszhou.Where(x => x.Createtime >= zhoukaishidate && x.Createtime < zhoujieshudate.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + var dingdanjine = cooperOrdertushusri.Sum(x => x.Money); + var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; + if (jixiaotichengfangan.Tichengstandard == "02") + { + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); + } + } + + + + } + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = zhoujieshudate.AddDays(1); } } } @@ -3057,16 +3883,44 @@ { if (jixiaotichengfangan.Renwustandard == "01") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; - if (jixiaotichengfangan.Tichengstandard == "01") + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - decimal youxiaojijian = cooperOrdertushu.Count - renwujishu; - if (youxiaojijian > 0) + try { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); - } + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = cooperOrdertushuri.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + } + } + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + + //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") @@ -3084,19 +3938,49 @@ } else if (jixiaotichengfangan.Renwustandard == "03") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; + //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) + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); + try + { + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + var dingdanjine = cooperOrdertushuri.Sum(x => x.Money); + var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; + if (jixiaotichengfangan.Tichengstandard == "02") + { + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); + } + } + } + + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + + //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); + //} } } @@ -3117,6 +4001,44 @@ } } } + else if (jixiaotichengfangan.Renwustandard == "06") + { + + var cooperOrderDTOszhou = cooperOrderDTOszhouyue.Where(x => x.OrderType == "03").ToList(); + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) + { + var zhoukaishidate = CalculateFirstDateOfWeek(kaishijisuan); + var zhoujieshudate = CalculateLastDateOfWeek(kaishijisuan); + + try + { + if (zhoujieshudate < datemaxkaoqin) + { + var cooperOrdertushusri = cooperOrderDTOszhou.Where(x => x.Createtime >= zhoukaishidate && x.Createtime < zhoujieshudate.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + var dingdanjine = cooperOrdertushusri.Sum(x => x.Money); + var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; + if (jixiaotichengfangan.Tichengstandard == "02") + { + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); + } + } + + + + } + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = zhoujieshudate.AddDays(1); + } + } } } @@ -3132,16 +4054,43 @@ { if (jixiaotichengfangan.Renwustandard == "01") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; - if (jixiaotichengfangan.Tichengstandard == "01") + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - decimal youxiaojijian = cooperOrdertushu.Count - renwujishu; - if (youxiaojijian > 0) + try { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); - } + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = cooperOrdertushuri.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + } + } + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + //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") @@ -3159,19 +4108,49 @@ } else if (jixiaotichengfangan.Renwustandard == "03") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; + //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) + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); + try + { + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + var dingdanjine = cooperOrdertushuri.Sum(x => x.Money); + var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; + if (jixiaotichengfangan.Tichengstandard == "02") + { + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); + } + } + } + + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + + //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); + //} } } @@ -3207,16 +4186,43 @@ { if (jixiaotichengfangan.Renwustandard == "01") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; - if (jixiaotichengfangan.Tichengstandard == "01") + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - decimal youxiaojijian = cooperOrdertushu.Count - renwujishu; - if (youxiaojijian > 0) + try { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); - } + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var cooperOrdertushusri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = cooperOrdertushusri.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + } + } + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + //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") @@ -3249,19 +4255,48 @@ } else if (jixiaotichengfangan.Renwustandard == "03") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; + //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) + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); + try + { + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + var dingdanjine = cooperOrdertushuri.Sum(x => x.Money); + var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; + if (jixiaotichengfangan.Tichengstandard == "02") + { + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); + } + } + } + + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + //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); + //} } } @@ -3282,6 +4317,47 @@ } } } + + else if (jixiaotichengfangan.Renwustandard == "05") + { + + var cooperOrderDTOszhou = cooperOrderDTOszhouyue.Where(x => x.OrderType == "05").OrderBy(x => x.Createtime).ToList(); + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) + { + var zhoukaishidate = CalculateFirstDateOfWeek(kaishijisuan); + var zhoujieshudate = CalculateLastDateOfWeek(kaishijisuan); + + try + { + if (zhoujieshudate < datemaxkaoqin) + { + var cooperOrdertushusri = cooperOrderDTOszhou.Where(x => x.Createtime >= zhoukaishidate && x.Createtime < zhoujieshudate.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + //if (jixiaotichengfangan.Tichengstandard == "02") + if (cooperOrdertushusri.Count > renwujishu) + { + List<CooperOrderDTO> cooperOrdertushuyouxiao = new List<CooperOrderDTO>(); + for (int j = Convert.ToInt32(renwujishu); j < cooperOrdertushusri.Count; j++) + { + cooperOrdertushuyouxiao.Add(cooperOrdertushusri[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); + } + + + + } + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = zhoujieshudate.AddDays(1); + } + } } } @@ -3297,14 +4373,41 @@ { if (jixiaotichengfangan.Renwustandard == "01") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; + //decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; if (jixiaotichengfangan.Tichengstandard == "01") { - decimal youxiaojijian = cooperOrdertushu.Count - renwujishu; - if (youxiaojijian > 0) + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + try + { + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = cooperOrdertushuri.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + } + } + + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + //decimal youxiaojijian = cooperOrdertushu.Count - renwujishu; + //if (youxiaojijian > 0) + //{ + // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + //} } @@ -3324,19 +4427,48 @@ } else if (jixiaotichengfangan.Renwustandard == "03") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; + //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) + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); + try + { + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + var dingdanjine = cooperOrdertushuri.Sum(x => x.Money); + var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; + if (jixiaotichengfangan.Tichengstandard == "02") + { + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); + } + } + } + + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + //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); + //} } } @@ -3372,14 +4504,42 @@ { if (jixiaotichengfangan.Renwustandard == "01") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; + //decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; if (jixiaotichengfangan.Tichengstandard == "01") { - decimal youxiaojijian = cooperOrdertushu.Count - renwujishu; - if (youxiaojijian > 0) + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + try + { + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = cooperOrdertushuri.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + } + } + + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + + //decimal youxiaojijian = cooperOrdertushu.Count - renwujishu; + //if (youxiaojijian > 0) + //{ + // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + //} } @@ -3399,19 +4559,50 @@ } else if (jixiaotichengfangan.Renwustandard == "03") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; + //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) + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); + try + { + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + var dingdanjine = cooperOrdertushuri.Sum(x => x.Money); + var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; + if (jixiaotichengfangan.Tichengstandard == "02") + { + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); + } + } + } + + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + + + //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); + //} } } @@ -3447,16 +4638,44 @@ { if (jixiaotichengfangan.Renwustandard == "01") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; - if (jixiaotichengfangan.Tichengstandard == "01") + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - decimal youxiaojijian = cooperOrdertushu.Count - renwujishu; - if (youxiaojijian > 0) + try { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); - } + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Wangongtime >= kaishijisuan && x.Wangongtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = cooperOrdertushuri.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + } + } + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + + //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") @@ -3474,19 +4693,48 @@ } else if (jixiaotichengfangan.Renwustandard == "03") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; + //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) + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); + try + { + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Wangongtime >= kaishijisuan && x.Wangongtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + var dingdanjine = cooperOrdertushuri.Sum(x => x.Money); + var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; + if (jixiaotichengfangan.Tichengstandard == "02") + { + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); + } + } + } + + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + //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); + //} } } @@ -3522,16 +4770,43 @@ { if (jixiaotichengfangan.Renwustandard == "01") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; - if (jixiaotichengfangan.Tichengstandard == "01") + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - decimal youxiaojijian = cooperOrdertushu.Count - renwujishu; - if (youxiaojijian > 0) + try { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); - } + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = cooperOrdertushuri.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + } + } + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + //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") @@ -3549,19 +4824,48 @@ } else if (jixiaotichengfangan.Renwustandard == "03") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; + //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) + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); + try + { + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + var dingdanjine = cooperOrdertushuri.Sum(x => x.Money); + var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; + if (jixiaotichengfangan.Tichengstandard == "02") + { + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); + } + } + } + + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + //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); + //} } } @@ -3597,16 +4901,43 @@ { if (jixiaotichengfangan.Renwustandard == "01") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; - if (jixiaotichengfangan.Tichengstandard == "01") + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - decimal youxiaojijian = cooperOrdertushu.Count - renwujishu; - if (youxiaojijian > 0) + try { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); - } + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = cooperOrdertushuri.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + } + } + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + //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") @@ -3624,19 +4955,48 @@ } else if (jixiaotichengfangan.Renwustandard == "03") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; + //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) + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); + try + { + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + var dingdanjine = cooperOrdertushuri.Sum(x => x.Money); + var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; + if (jixiaotichengfangan.Tichengstandard == "02") + { + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); + } + } + } + + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + //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); + //} } } @@ -3672,16 +5032,43 @@ { if (jixiaotichengfangan.Renwustandard == "01") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; - if (jixiaotichengfangan.Tichengstandard == "01") + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - decimal youxiaojijian = cooperOrdertushu.Count - renwujishu; - if (youxiaojijian > 0) + try { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); - } + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = cooperOrdertushuri.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + } + } + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + //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") @@ -3699,20 +5086,50 @@ } else if (jixiaotichengfangan.Renwustandard == "03") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; - if (jixiaotichengfangan.Tichengstandard == "02") + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - 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) + try { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var cooperOrdertushuri = cooperOrdertushu.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + var dingdanjine = cooperOrdertushuri.Sum(x => x.Money); + var dingdanjinezhenshi = dingdanjine.HasValue ? dingdanjine.Value : 0; + if (jixiaotichengfangan.Tichengstandard == "02") + { + decimal youxiaojijian = dingdanjinezhenshi - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian * new decimal(0.01), 2); + } + } + } + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + + //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") @@ -3753,16 +5170,44 @@ { if (jixiaotichengfangan.Renwustandard == "01") { - decimal renwujishu = admAttendanceDTO.Yingchuqin * jixiaotichengfangan.Renwu.Value; - if (jixiaotichengfangan.Tichengstandard == "01") + DateTime kaishijisuan = new DateTime(Year, Month, 1); + decimal renwujishu = jixiaotichengfangan.Renwu.Value; + while (kaishijisuan < datemaxkaoqin) { - decimal youxiaojijian = zhuanjialuruDTOsyue.Count - renwujishu; - if (youxiaojijian > 0) + try { - hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); - } + var gongzuoshijian = shifougongzuori(kaishijisuan); + if (gongzuoshijian) + { + var zhuanjialuruDTOsri = zhuanjialuruDTOsyue.Where(x => x.Createtime >= kaishijisuan && x.Createtime < kaishijisuan.AddDays(1)).ToList(); //_projectService.GetcaigougonggaoListsalary(userList[i].Id, kaishijisuan, kaishijisuan.AddDays(1)); + if (jixiaotichengfangan.Tichengstandard == "01") + { + decimal youxiaojijian = zhuanjialuruDTOsri.Count - renwujishu; + if (youxiaojijian > 0) + { + hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2); + } + } + } + } + catch (Exception ex) + { + _logger.LogInformation(ex.ToString()); + } + kaishijisuan = kaishijisuan.AddDays(1); } + + //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") @@ -3786,7 +5231,28 @@ } + //璇曠敤鏈熺哗鏁堜负0.8鍊� + if (hrSalaryDTO.Jixiaoticheng.HasValue) + { + if (userList[i].ShiyongDate.HasValue && userList[i].ShiyongDateEnd.HasValue && dateminkaoqin >= userList[i].ShiyongDate.Value && dateminkaoqin <= userList[i].ShiyongDateEnd.Value) + { + if (userList[i].ShiyongDateEnd.Value < datemaxkaoqin.AddDays(-1)) + { + var a = userList[i].ShiyongDateEnd.Value.Day; + var b = datemaxkaoqin.AddDays(-1).Day; + var shiyongqijixiao = new decimal(a) / new decimal(b) * hrSalaryDTO.Jixiaoticheng.Value * new decimal(0.8); + var zhengshijixiao =(new decimal(1) - new decimal(a) / new decimal(b)) * hrSalaryDTO.Jixiaoticheng.Value; + hrSalaryDTO.Jixiaoticheng = Math.Round(shiyongqijixiao + zhengshijixiao, 2); + + } + else + { + hrSalaryDTO.Jixiaoticheng = Math.Round(hrSalaryDTO.Jixiaoticheng.Value * new decimal(0.8), 2); + } + } + } + hrSalaryDTO.Daozhanggongzi = 0; -- Gitblit v1.9.1