From 3c86fc3958efa938d619de8b1d8e19ad48e0a1b5 Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期三, 16 六月 2021 13:32:44 +0800
Subject: [PATCH] 提交

---
 zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs |   46 +++++++++++++++++++++++++++++++++-------------
 1 files changed, 33 insertions(+), 13 deletions(-)

diff --git a/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs b/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs
index a2b31ad..4924041 100644
--- a/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs
+++ b/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs
@@ -1341,7 +1341,7 @@
                 //鏌ヨ鏄惁鏈変笉绉拌亴鐨勫伐浣滆�冭瘎
                var admEvaluateDTOs = _admEvaluateService.GetListsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin).Where(x=>x.EvaluateValue == "03").ToList();
                 //褰撴湀鍑哄嫟鐜�
-                decimal chuqinlv = Math.Round((admAttendanceDTO.Shijichuqin- admEvaluateDTOs.Count) / admAttendanceDTO.Yingchuqin,4); 
+                decimal chuqinlv = Math.Round(admAttendanceDTO.Shijichuqin / admAttendanceDTO.Yingchuqin,4); 
 
                 //鏌ヨ褰撳墠鍛樺伐鑱屽姟鐨勫熀鏈伐璧勯厤缃�
 
@@ -1364,11 +1364,23 @@
                 var Shebaogeren = hrJibengongzi.Shebaogeren.HasValue ? hrJibengongzi.Shebaogeren.Value : 0;
                 decimal yingnashuie = 0;
                 hrSalaryDTO.Queqin = 0;
+                hrSalaryDTO.Fakuan = 0;
                 hrSalaryDTO.Gongzuobutie = 0;
                 hrSalaryDTO.Jiabangongzi = 0;
                 decimal shiyongqichuqintianshu = 0;
                 decimal shiyongqichuqinlv = 0;
-                
+
+
+
+                decimal BasicPrice = 0;
+                if (!decimal.TryParse(userList[i].BasicPrice, out BasicPrice))
+                {
+                    _logger.LogInformation(userList[i].UserName + ": 鍛樺伐娌℃湁缁存姢宸ヨ祫");
+                    continue;
+                }
+
+
+
                 if (userList[i].ShiyongDate.HasValue && userList[i].ShiyongDateEnd.HasValue && dateminkaoqin>= userList[i].ShiyongDate.Value && dateminkaoqin <= userList[i].ShiyongDateEnd.Value)
                 {
                     if (!userList[i].ShiyongPrice.HasValue)
@@ -1376,6 +1388,10 @@
                         _logger.LogInformation(userList[i].UserName + ": 鍛樺伐澶勪簬璇曠敤鏈燂紝浣嗘槸璇曠敤鏈熷伐璧勪负绌�");
                         continue;
                     }
+                    //鏌ヨ鏄惁鏈変笉绉拌亴鐨勫伐浣滆�冭瘎
+                    var admEvaluateDTOsshiyongqi = _admEvaluateService.GetListsalary(userList[i].Id, dateminkaoqin, userList[i].ShiyongDateEnd.Value.AddDays(1)).Where(x => x.EvaluateValue == "03").ToList();
+
+
                     //璇曠敤鏈熺殑鍑哄嫟鐜�
                     shiyongqichuqinlv = chuqinlv;
                     if(userList[i].ShiyongDateEnd.Value< datemaxkaoqin.AddDays(-1))
@@ -1397,11 +1413,14 @@
                             }
                         }
 
-                        //鏌ヨ鏄惁鏈変笉绉拌亴鐨勫伐浣滆�冭瘎
-                        var admEvaluateDTOsshiyongqi = _admEvaluateService.GetListsalary(userList[i].Id, dateminkaoqin, userList[i].ShiyongDateEnd.Value.AddDays(1)).Where(x => x.EvaluateValue == "03").ToList();
+                      
 
 
-                        shiyongqichuqinlv = Math.Round((shiyongqichuqintianshu- admEvaluateDTOsshiyongqi.Count) / admAttendanceDTO.Yingchuqin, 4);
+                        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);
+                        
                     }
                     else
                     {
@@ -1414,6 +1433,9 @@
                             }
                         }
                         hrSalaryDTO.Jiabangongzi += Math.Round((admAttendanceDTO.Jiaban / jiabangongzibiaozhun) * userList[i].ShiyongPrice.Value, 2);
+
+                        //宸ヤ綔璇勪环涓嶅悎鏍肩綒娆�
+                        hrSalaryDTO.Fakuan += Math.Round(userList[i].ShiyongPrice.Value * admEvaluateDTOs.Count / admAttendanceDTO.Yingchuqin, 2);
                     }
 
 
@@ -1421,7 +1443,7 @@
 
                     hrSalaryDTO.Gongzuobutie += Math.Round( (userList[i].ShiyongPrice.Value - hrJibengongzi.Baomifei.Value- hrJibengongzi.Jibengongzi.Value ) * shiyongqichuqinlv, 2);
 
-                   
+
 
                     //yingnashuie = userList[i].ShiyongPrice.Value - Shebaogeren - geshuiqizheng;
 
@@ -1429,16 +1451,15 @@
 
 
                 }
+                else
+                {
+                    //宸ヤ綔璇勪环缃氭
+                    hrSalaryDTO.Fakuan += Math.Round(BasicPrice * admEvaluateDTOs.Count/ admAttendanceDTO.Yingchuqin , 2);
+                }
                 
 
                 if(true)
                 {
-                    decimal BasicPrice = 0;
-                    if(!decimal.TryParse(userList[i].BasicPrice,out BasicPrice))
-                    {
-                        _logger.LogInformation(userList[i].UserName + ": 鍛樺伐娌℃湁缁存姢宸ヨ祫");
-                        continue;
-                    }
                     //杞鍚庣殑鍑哄嫟鐜�
                     decimal zhuanzhengchuqinlv = chuqinlv- shiyongqichuqinlv;
                     if (userList[i].ShiyongDate.HasValue && userList[i].ShiyongDateEnd.HasValue && userList[i].ShiyongDateEnd.Value >= dateminkaoqin && userList[i].ShiyongDateEnd.Value <= datemaxkaoqin.AddDays(-1))
@@ -1750,7 +1771,6 @@
 
 
 
-                hrSalaryDTO.Fakuan = 0;
                 //宸ヤ綔瀹夋帓缃氭
                 List<AdmMemoBookDTO> admMemoBookDTOs =  _DailyManageService.GetRemindsalary(userList[i].Id, dateminkaoqin, datemaxkaoqin,"2");
                 if (admMemoBookDTOs.Count > 0)

--
Gitblit v1.9.1