From 002f9b7381aba29bcac862e34daaf672f4d2881e Mon Sep 17 00:00:00 2001
From: CRZ <1278080563@qq.com>
Date: 星期三, 19 十一月 2025 17:01:01 +0800
Subject: [PATCH] 添加销售出货单和销售退货通知单批号

---
 MES.Service/service/BasicData/MesStaffManager.cs |   39 +++++++++++++++++++++++++++++++++++----
 1 files changed, 35 insertions(+), 4 deletions(-)

diff --git a/MES.Service/service/BasicData/MesStaffManager.cs b/MES.Service/service/BasicData/MesStaffManager.cs
index 43c99cb..746abd7 100644
--- a/MES.Service/service/BasicData/MesStaffManager.cs
+++ b/MES.Service/service/BasicData/MesStaffManager.cs
@@ -52,7 +52,17 @@
             .Where(s => s.StaffNo == staffId).ExecuteCommand();
 
         if (result > 0)
+        {
+            // 鍚屾鏇存柊 SYS_USER 鐨� ISDEPARTURE 鐘舵��
+            // 濡傛灉鐘舵�佷负 'B'锛屽垯 ISDEPARTURE=1锛屽惁鍒欎负0
+            var isDeparture = status == "B" ? 1 : 0;
+            db.Updateable<SysUser>()
+                .SetColumns(s => s.Isdeparture == isDeparture)
+                .Where(s => s.Fcode == staffId)
+                .ExecuteCommand();
+            
             return true;
+        }
 
         throw new NotImplementedException(status == "A" ? "鍚敤澶辫触" : "绂佺敤澶辫触");
     }
@@ -66,6 +76,8 @@
         {
             var updateUser = db.Updateable<SysUser>()   
                 .SetColumns(s => s.Fname == sysUser.Fname)
+                .SetColumns(s => s.Departmentid == sysUser.Departmentid) // 鏇存柊閮ㄩ棬淇℃伅
+                .SetColumns(s => s.Isdeparture == sysUser.Isdeparture) // 鏇存柊绂昏亴鐘舵��
                 .Where(s => s.Fcode == sysUser.Fcode)
                 .ExecuteCommand();
             if (updateUser > 0)
@@ -120,9 +132,14 @@
             FforbidStatus = staff.FForbidStatus
         };
 
-        if (staff.FStaffStartDate != null)
-            entity.StartDate = DateTime.ParseExact(staff.FStaffStartDate,
-                "yyyy-MM-dd HH:mm:ss", null);
+        if (!string.IsNullOrWhiteSpace(staff.FStaffStartDate))
+        {
+            if (DateTime.TryParseExact(staff.FStaffStartDate,
+                "yyyy-MM-dd HH:mm:ss", null, System.Globalization.DateTimeStyles.None, out var date))
+            {
+                entity.StartDate = date;
+            }
+        }
 
         return entity;
     }
@@ -130,11 +147,15 @@
     // 灏� ErpStaff 瀵硅薄杞崲涓� SysUser 瀵硅薄鐨勬柟娉�
     private SysUser GetUser(ErpStaff staff)
     {
+        // 濡傛灉 FForbidStatus='B'锛屽垯 Isdeparture=1锛屽惁鍒欎负0
+        var isDeparture = staff.FForbidStatus == "B" ? 1 : 0;
+        
         return new SysUser
         {
             //Sid = Convert.ToDecimal(staff.Id),
             Fcode = staff.FStaffNumber,
             Fname = staff.FName,
+            Departmentid = staff.FPostDept, // 璁剧疆閮ㄩ棬淇℃伅
             Fpassword = "8+()./,", // 鍒濆瀵嗙爜
             Fsystem = "娑﹁揪",
             Lever = 0,
@@ -146,7 +167,7 @@
             ExpField9 = "1020",
             QmUser = 0,
             Status = 0,
-            Isdeparture = 0,
+            Isdeparture = isDeparture, // 鏍规嵁 FForbidStatus 璁剧疆绂昏亴鐘舵��
             CheckFlag = 0,
             ExpFiel12 = 0,
             Dev = 0,
@@ -223,7 +244,17 @@
             .Where(s => ids.Contains(s.StaffNo)).ExecuteCommand();
 
         if (result > 0)
+        {
+            // 鍚屾鏇存柊 SYS_USER 鐨� ISDEPARTURE 鐘舵��
+            // 濡傛灉鐘舵�佷负 'B'锛屽垯 ISDEPARTURE=1锛屽惁鍒欎负0
+            var isDeparture = status == "B" ? 1 : 0;
+            db.Updateable<SysUser>()
+                .SetColumns(s => s.Isdeparture == isDeparture)
+                .Where(s => ids.Contains(s.Fcode))
+                .ExecuteCommand();
+            
             return true;
+        }
 
         throw new NotImplementedException(status == "A" ? "鍚敤澶辫触" : "绂佺敤澶辫触");
     }

--
Gitblit v1.9.3