From ebda5e08f2c9e7a8c4fec39e59c2753c6bd45372 Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期四, 09 四月 2026 09:26:01 +0800
Subject: [PATCH] 灵活用工工资计算,修改bug

---
 cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs |   35 +++++++++++++++++++++++++++++++++--
 1 files changed, 33 insertions(+), 2 deletions(-)

diff --git a/cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs b/cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs
index 68eae2b..4719537 100644
--- a/cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs
+++ b/cylsg/cylsg.Application/Orders/OrderWorkerAppService.cs
@@ -724,7 +724,7 @@
                             DateTime now = DateTime.Now;
 
                             // 鍒涘缓涓�涓〃绀烘櫄涓�8鐐圭殑鏃堕棿锛堝亣瀹氫粖澶╋級
-                            DateTime eveningTime = new DateTime(now.Year, now.Month, now.Day, 20, 0, 0); // 20:00:0
+                            DateTime eveningTime = new DateTime(orderBiddingDetailChecks[i].Checktime.Value.Year, orderBiddingDetailChecks[i].Checktime.Value.Month, orderBiddingDetailChecks[i].Checktime.Value.Day, 20, 0, 0); // 20:00:0
                             //璁$畻鏄惁涓烘櫄涓�8鐐瑰悗鐨勫姞鐝椂闂�
                             if (orderBiddingDetailChecks[i].Checktime.Value > eveningTime)
                             {
@@ -885,6 +885,9 @@
                 int hours = 0;
                 int minutes = 0;
 
+                int jiabanhours = 0;
+                int jiabanminutes = 0;
+
                 for (int i = 0; i < orderBiddingDetailChecks.Count; i++)
                 {
  
@@ -894,18 +897,46 @@
                         hours += timeDifference.Hours;
                         minutes += timeDifference.Minutes;
 
+                        // 鑾峰彇褰撳墠鏃堕棿
+                        DateTime now = DateTime.Now;
+
+                        // 鍒涘缓涓�涓〃绀烘櫄涓�8鐐圭殑鏃堕棿锛堝亣瀹氫粖澶╋級
+                        DateTime eveningTime = new DateTime(orderBiddingDetailChecks[i].Checktime.Value.Year, orderBiddingDetailChecks[i].Checktime.Value.Month, orderBiddingDetailChecks[i].Checktime.Value.Day, 20, 0, 0); // 20:00:0
+                                                                                                                                                                                                                             //璁$畻鏄惁涓烘櫄涓�8鐐瑰悗鐨勫姞鐝椂闂�
+                        if (orderBiddingDetailChecks[i].Checktime.Value > eveningTime)
+                        {
+                            var timeDifferencejiaban = orderBiddingDetailChecks[i].Checktime.Value - eveningTime;
+                            jiabanhours += timeDifferencejiaban.Hours;
+                            jiabanminutes += timeDifferencejiaban.Minutes;
+                        }
+
                     }
                 }
                 //褰撳墠鏈夋晥鐨勫伐浠�
                 var orderBiddingWorkPrice = (await orderBiddingWorkPriceRepository.GetListAsync(x => x.OrderBiddingId == orderBidding.Id && x.IsEn == true && x.IsDeleted == false && x.EffectTime <= orderDakaMingxiDto.WorkDate)).OrderByDescending(x => x.Id).FirstOrDefault();
                 if (orderBiddingWorkPrice != null)
                 {
-                    orderDakaMingxiDto.WorkPrice = orderBiddingWorkPrice.WorkPrice;
+                    //濡傛灉涓哄崐鍥哄畾鐨勪复鏃跺伐锛屽伐浠峰浐瀹�11鍧�
+                    if (orderBidding != null && orderBidding.IsGuding.HasValue && orderBidding.IsGuding.Value == true)
+                    {
+                        orderDakaMingxiDto.WorkPrice = 11;
+                    }
+                    else
+                    {
+                        orderDakaMingxiDto.WorkPrice = orderBiddingWorkPrice.WorkPrice;
+                    }
+                   
                 }
                 orderDakaMingxiDto.WorkTime = hours + (minutes / 60);
                 if (orderDakaMingxiDto.WorkerType == 0)
                 {
                     orderDakaMingxiDto.TodaySalary = orderDakaMingxiDto.WorkTime * orderDakaMingxiDto.WorkPrice;
+                    //濡傛灉涓哄崐鍥哄畾鐨勪复鏃跺伐锛屽姞鐝瘡涓皬鏃跺鍔�4鍧楅挶
+                    if (orderBidding != null && orderBidding.IsGuding.HasValue && orderBidding.IsGuding.Value == true)
+                    {
+                        var jiabanshijian = jiabanhours + (jiabanminutes / 60);
+                        orderDakaMingxiDto.TodaySalary += (jiabanshijian * 4);
+                    }
                 }
                 else
                 {

--
Gitblit v1.9.1