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/Users/UserAppService.cs |   42 +++++++++++++++++++++++++-----------------
 1 files changed, 25 insertions(+), 17 deletions(-)

diff --git a/cylsg/cylsg.Application/Users/UserAppService.cs b/cylsg/cylsg.Application/Users/UserAppService.cs
index aea49ae..74cf154 100644
--- a/cylsg/cylsg.Application/Users/UserAppService.cs
+++ b/cylsg/cylsg.Application/Users/UserAppService.cs
@@ -73,21 +73,25 @@
                     IsGuDing = true;
                 }
             }
-            userDto.userWorker.IsLingHuoYongGong = IsGuDing;
-            decimal ab = (userDto.userWorker.TiXianZonge ?? 0) - (userDto.userWorker.YiTiXianJine ?? 0 );
-            userDto.userWorker.Balance =ab < 0 ? 0 : ab;
-            if (IsGuDing)
+            if (userDto.userWorker != null)
+                userDto.userWorker.IsLingHuoYongGong = IsGuDing;
+
+            decimal ab = (userDto.userWorker?.TiXianZonge ?? 0) - (userDto.userWorker?.YiTiXianJine ?? 0);
+            if (userDto.userWorker != null)
             {
-               
-                userDto.userWorker.AvailableBalance = (ab-300)<0 ? 0 : (ab - 300);
+                userDto.userWorker.Balance = ab < 0 ? 0 : ab;
+                if (IsGuDing)
+                {
 
+                    userDto.userWorker.AvailableBalance = (ab - 300) < 0 ? 0 : (ab - 300);
+
+                }
+                else
+
+                    userDto.userWorker.AvailableBalance = userDto.userWorker?.Balance ?? 0;
             }
-            else
 
-                userDto.userWorker.AvailableBalance = userDto.userWorker.Balance;
 
-          
-            
 
             var userCompany = await userCompanyRes.GetFirstAsync(p => p.UserId == userid);
             if (userCompany != null)
@@ -336,19 +340,23 @@
                     IsGuDing = true;
                 }
             }
+            if(userDto.userWorker != null)
             userDto.userWorker.IsLingHuoYongGong = IsGuDing;
           
-            decimal ab = (userDto.userWorker.TiXianZonge ?? 0) - (userDto.userWorker.YiTiXianJine ?? 0);
-            userDto.userWorker.Balance = ab < 0 ? 0 : ab;
-            if (IsGuDing)
+            decimal ab = (userDto.userWorker?.TiXianZonge ?? 0) - (userDto.userWorker?.YiTiXianJine ?? 0);
+            if (userDto.userWorker != null)
             {
+                userDto.userWorker.Balance = ab < 0 ? 0 : ab;
+                if (IsGuDing)
+                {
 
-                userDto.userWorker.AvailableBalance = (ab - 300) < 0 ? 0 : (ab - 300);
+                    userDto.userWorker.AvailableBalance = (ab - 300) < 0 ? 0 : (ab - 300);
 
+                }
+                else
+
+                    userDto.userWorker.AvailableBalance = userDto.userWorker?.Balance ?? 0;
             }
-            else
-
-                userDto.userWorker.AvailableBalance = userDto.userWorker.Balance;
 
 
 

--
Gitblit v1.9.1