From 67a0042c5f29e4bb0e0b82f6190f2bc51480b45c Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期二, 28 二月 2023 13:25:09 +0800
Subject: [PATCH] 工资绩效改版

---
 zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs |   85 ++++++++++++++++++++++++++++--------------
 1 files changed, 57 insertions(+), 28 deletions(-)

diff --git a/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs b/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs
index d200c1b..8ecf6f0 100644
--- a/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs
+++ b/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs
@@ -522,17 +522,22 @@
                                 }
                                 else
                                 {
-                                    if (dateBiJiaoDTOs[i].StartTime > dateBiJiaoDTOs[i - 1].EndTime)
-                                    {
-                                        kuanggong = true;
-                                        break;
-                                    }
-                                    else if (dateBiJiaoDTOs[i].EndTime > dateBiJiaoDTOs[i - 1].EndTime)
+                                    //if (dateBiJiaoDTOs[i].StartTime > dateBiJiaoDTOs[i - 1].EndTime)
+                                    //{
+                                    //    //kuanggong = true;
+                                    //    break;
+                                    //}
+                                    //else 
+                                    if (dateBiJiaoDTOs[i].EndTime > dateBiJiaoDTOs[i - 1].EndTime)
                                     {
                                         endttime = dateBiJiaoDTOs[i].EndTime;
                                     }
+                                    if (!starttime.HasValue)
+                                    {
+                                        starttime = dateBiJiaoDTOs[i].StartTime;
+                                    }
                                 }
-                                if (endttime>= StratTimeWorkingEnd)
+                                if (endttime >= StratTimeWorkingEnd && starttime.HasValue)
                                 {
                                     break;
                                 }
@@ -643,17 +648,22 @@
                                 }
                                 else
                                 {
-                                    if (dateBiJiaoDTOs[i].StartTime > dateBiJiaoDTOs[i - 1].EndTime)
-                                    {
-                                        kuanggong = true;
-                                        break;
-                                    }
-                                    else if (dateBiJiaoDTOs[i].EndTime > dateBiJiaoDTOs[i - 1].EndTime)
+                                    //if (dateBiJiaoDTOs[i].StartTime > dateBiJiaoDTOs[i - 1].EndTime)
+                                    //{
+                                    //    //kuanggong = true;
+                                    //    break;
+                                    //}
+                                    //else 
+                                    if (dateBiJiaoDTOs[i].EndTime > dateBiJiaoDTOs[i - 1].EndTime)
                                     {
                                         endttime = dateBiJiaoDTOs[i].EndTime;
                                     }
+                                    if (!starttime.HasValue)
+                                    {
+                                        starttime = dateBiJiaoDTOs[i].StartTime;
+                                    }
                                 }
-                                if (endttime >= StratTimeOffworkEnd)
+                                if (endttime >= StratTimeOffworkEnd && starttime.HasValue)
                                 {
                                     break;
                                 }
@@ -980,14 +990,19 @@
                                     }
                                     else
                                     {
-                                        if (dateBiJiaoDTOs[i].StartTime > dateBiJiaoDTOs[i - 1].EndTime)
-                                        {
-                                            kuanggong = true;
-                                            break;
-                                        }
-                                        else if (dateBiJiaoDTOs[i].EndTime > dateBiJiaoDTOs[i - 1].EndTime)
+                                        //if (dateBiJiaoDTOs[i].StartTime > dateBiJiaoDTOs[i - 1].EndTime)
+                                        //{
+                                        //    //kuanggong = true;
+                                        //    break;
+                                        //}
+                                        //else 
+                                        if (dateBiJiaoDTOs[i].EndTime > dateBiJiaoDTOs[i - 1].EndTime)
                                         {
                                             endttime = dateBiJiaoDTOs[i].EndTime;
+                                        }
+                                        if (!starttime.HasValue)
+                                        {
+                                            starttime = dateBiJiaoDTOs[i].StartTime;
                                         }
                                     }
                                 }
@@ -1097,14 +1112,19 @@
                                     }
                                     else
                                     {
-                                        if (dateBiJiaoDTOs[i].StartTime > dateBiJiaoDTOs[i - 1].EndTime)
-                                        {
-                                            kuanggong = true;
-                                            break;
-                                        }
-                                        else if (dateBiJiaoDTOs[i].EndTime > dateBiJiaoDTOs[i - 1].EndTime)
+                                        //if (dateBiJiaoDTOs[i].StartTime > dateBiJiaoDTOs[i - 1].EndTime)
+                                        //{
+                                        //    //kuanggong = true;
+                                        //    break;
+                                        //}
+                                        //else 
+                                        if (dateBiJiaoDTOs[i].EndTime > dateBiJiaoDTOs[i - 1].EndTime)
                                         {
                                             endttime = dateBiJiaoDTOs[i].EndTime;
+                                        }
+                                        if (!starttime.HasValue)
+                                        {
+                                            starttime = dateBiJiaoDTOs[i].StartTime;
                                         }
                                     }
                                 }
@@ -1655,7 +1675,12 @@
                                 hrSalaryDTO.Queqin += queqingkoukuan;
                             }
                         }
-                        hrSalaryDTO.Jiabangongzi += Math.Round((admAttendanceDTO.Jiaban / jiabangongzibiaozhun) * userList[i].ShiyongPrice.Value, 2);
+                        if (hrJibengongzi.Jiabangongzi.HasValue)
+                        {
+                            hrSalaryDTO.Jiabangongzi += Math.Round(admAttendanceDTO.Jiaban * hrJibengongzi.Jiabangongzi.Value, 2);  //(admAttendanceDTO.Jiaban / jiabangongzibiaozhun) * userList[i].ShiyongPrice.Value
+                        }
+
+                       
 
                         //宸ヤ綔璇勪环涓嶅悎鏍肩綒娆�
                         hrSalaryDTO.Fakuan += Math.Round(userList[i].ShiyongPrice.Value * admEvaluateDTOs.Count / admAttendanceDTO.Yingchuqin, 2);
@@ -1733,7 +1758,11 @@
                                 hrSalaryDTO.Queqin += queqingkoukuan;
                             }
                         }
-                        hrSalaryDTO.Jiabangongzi += Math.Round((admAttendanceDTO.Jiaban / jiabangongzibiaozhun) * BasicPrice, 2);
+                        if (hrJibengongzi.Jiabangongzi.HasValue)
+                        {
+                            hrSalaryDTO.Jiabangongzi += Math.Round(admAttendanceDTO.Jiaban * hrJibengongzi.Jiabangongzi.Value, 2);  //   hrSalaryDTO.Jiabangongzi += Math.Round((admAttendanceDTO.Jiaban / jiabangongzibiaozhun) * BasicPrice, 2);
+                        }
+                     
                     }
 
 

--
Gitblit v1.9.1