From 0d96ff4e0833d6a2813a969e1ae0a48f27eee497 Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期一, 27 三月 2023 14:24:05 +0800
Subject: [PATCH] 会员发送app后台消息

---
 zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs | 2052 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 1,770 insertions(+), 282 deletions(-)

diff --git a/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs b/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs
index 8ecf6f0..76d3848 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)
             {
@@ -139,14 +139,13 @@
                             jisuangonglinggongzi();
                         }
 
-
-                        _logger.LogInformation("鎶婅秴杩�90澶╄繕娌℃湁杞寲鐨勬。妗堝鎴风殑涓氬姟缁忕悊褰掍负鏃�");
-                        this.ywjlguiling();
-                        _logger.LogInformation("鎶婅秴杩�90澶╄繕娌℃湁杞寲鐨勬。妗堝鎴风殑涓氬姟缁忕悊褰掍负鏃犳墽琛岀粨鏉�");
-
                         _logger.LogInformation("鎶婁細鍛樼郴缁熷拰oa绯荤粺鎵嬫満鍙风浉鍚岀殑瀹㈡埛鍏宠仈璧锋潵");
                         this.huiyuanguanlian();
                         _logger.LogInformation("鎶婁細鍛樼郴缁熷拰oa绯荤粺鎵嬫満鍙风浉鍚岀殑瀹㈡埛鍏宠仈璧锋潵鎵ц缁撴潫");
+
+                        _logger.LogInformation("鎶婅秴杩�90澶╄繕娌℃湁杞寲鐨勬。妗堝鎴风殑涓氬姟缁忕悊褰掍负鏃�");
+                        this.ywjlguiling();
+                        _logger.LogInformation("鎶婅秴杩�90澶╄繕娌℃湁杞寲鐨勬。妗堝鎴风殑涓氬姟缁忕悊褰掍负鏃犳墽琛岀粨鏉�"); 
                     }
                     catch (Exception ex)
                     {
@@ -221,6 +220,85 @@
         }
 
 
+        //璁$畻褰撳墠鏃ユ湡鏄惁鏄伐浣滄棩
+        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澶╄繕娌℃湁杞寲鐨勬。妗堝鎴风殑涓氬姟缁忕悊褰掍负鏃�
         public void ywjlguiling()
         {
@@ -250,6 +328,18 @@
                         if (frameworkUser != null)
                         {
                             cooperatecustomCustomer.HuiyuanId = frameworkUser.Id.ToString();
+                            //2023-03-23 娣诲姞鍦ㄨ亴浼佷笟
+                            var customerGuanlianhuiyuan1 = _context.CustomerGuanlianhuiyuans.Where(x => x.Huiyuanid == cooperatecustomCustomer.HuiyuanId && x.Customerid == cooperatecustomCustomer.Id).FirstOrDefault();
+                            if (customerGuanlianhuiyuan1 == null)
+                            {
+                                CustomerGuanlianhuiyuan customerGuanlianhuiyuan = new CustomerGuanlianhuiyuan();
+                                customerGuanlianhuiyuan.Id = Guid.NewGuid().ToString();
+                                customerGuanlianhuiyuan.Huiyuanid = cooperatecustomCustomer.HuiyuanId;
+                                customerGuanlianhuiyuan.Customerid = cooperatecustomCustomer.Id;
+                                customerGuanlianhuiyuan.Customertype = "鍚堜綔瀹㈡埛";
+                                _context.CustomerGuanlianhuiyuans.Add(customerGuanlianhuiyuan);
+                            }
+
                         }
                     }
 
@@ -270,6 +360,17 @@
                         if (frameworkUser != null)
                         {
                             intentionCustomer.HuiyuanId = frameworkUser.Id.ToString();
+                            //2023-03-23 娣诲姞鍦ㄨ亴浼佷笟
+                            var customerGuanlianhuiyuan1 = _context.CustomerGuanlianhuiyuans.Where(x => x.Huiyuanid == intentionCustomer.HuiyuanId && x.Customerid == intentionCustomer.Id).FirstOrDefault();
+                            if (customerGuanlianhuiyuan1 == null)
+                            {
+                                CustomerGuanlianhuiyuan customerGuanlianhuiyuan = new CustomerGuanlianhuiyuan();
+                                customerGuanlianhuiyuan.Id = Guid.NewGuid().ToString();
+                                customerGuanlianhuiyuan.Huiyuanid = intentionCustomer.HuiyuanId;
+                                customerGuanlianhuiyuan.Customerid = intentionCustomer.Id;
+                                customerGuanlianhuiyuan.Customertype = "妗f瀹㈡埛";
+                                _context.CustomerGuanlianhuiyuans.Add(customerGuanlianhuiyuan);
+                            }      
                         }
                     }
 
@@ -1624,12 +1725,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 +1756,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 +1771,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 +1792,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 +1876,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 +2184,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 +2245,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 +2256,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 +2301,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 +2332,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 +2405,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 +2476,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 +2547,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 +2605,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 +2692,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 +2763,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 +2879,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 +2952,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 +3025,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 +3076,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 +3139,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 +3216,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 +3293,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 +3364,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 +3435,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 +3553,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 +3565,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 +3619,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 +3680,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 +3734,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 +3789,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 +3850,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 +3905,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 +3960,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 +4023,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 +4076,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 +4130,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 +4208,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 +4277,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 +4339,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 +4395,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 +4449,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 +4526,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 +4581,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 +4660,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 +4715,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 +4792,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 +4846,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 +4923,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 +4977,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 +5054,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 +5108,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 +5192,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 +5253,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